org.apache.pdfbox.pdmodel.font
Class PDType1CFont

java.lang.Object
  extended by org.apache.pdfbox.pdmodel.font.PDFont
      extended by org.apache.pdfbox.pdmodel.font.PDSimpleFont
          extended by org.apache.pdfbox.pdmodel.font.PDType1CFont
All Implemented Interfaces:
COSObjectable

public class PDType1CFont
extends PDSimpleFont

This class represents a CFF/Type2 Font (aka Type1C Font).

Version:
$Revision: 10.0$
Author:
Villu Ruusmann

Field Summary
 
Fields inherited from class org.apache.pdfbox.pdmodel.font.PDFont
cmap, cmapObjects, font, fontMatrix, resourceRootCMAP
 
Constructor Summary
PDType1CFont(COSDictionary fontDictionary)
          Constructor.
 
Method Summary
 java.lang.String encode(byte[] bytes, int offset, int length)
          This will perform the encoding of a character if needed.
 float getAverageFontWidth()
          This will get the average font width for all characters.
 java.awt.Font getawtFont()
          Looks up, creates, returns the AWT Font.
 PDRectangle getFontBoundingBox()
          This will get the fonts bounding box.
 float getFontHeight(byte[] bytes, int offset, int length)
          This will get the font height for a character.
 PDMatrix getFontMatrix()
          This will get the matrix that is used to transform glyph space to text space.
 float getFontWidth(byte[] bytes, int offset, int length)
          This will get the font width for a character.
 float getStringWidth(java.lang.String string)
          This will get the width of this string for this font.
 
Methods inherited from class org.apache.pdfbox.pdmodel.font.PDSimpleFont
determineEncoding, drawString, getToUnicode, setToUnicode, writeFont
 
Methods inherited from class org.apache.pdfbox.pdmodel.font.PDFont
clearResources, cmapEncoding, createString, equals, getAFM, getAverageFontWidthFromAFMFile, getBaseFont, getCodeFromArray, getCOSObject, getEncoding, getFirstChar, getFontDescriptor, getFontEncoding, getFontWidth, getFontWidthFromAFMFile, getLastChar, getSubType, getType, getWidths, hashCode, hasToUnicode, isType1Font, parseCmap, setBaseFont, setEncoding, setFirstChar, setFontDescriptor, setFontEncoding, setHasToUnicode, setLastChar, setWidths
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PDType1CFont

public PDType1CFont(COSDictionary fontDictionary)
             throws java.io.IOException
Constructor.

Parameters:
fontDictionary - the corresponding dictionary
Throws:
java.io.IOException
Method Detail

encode

public java.lang.String encode(byte[] bytes,
                               int offset,
                               int length)
                        throws java.io.IOException
This will perform the encoding of a character if needed.

Overrides:
encode in class PDFont
Parameters:
bytes - The character to encode.
offset - The offset into the array to get the data
length - The number of bytes to read.
Returns:
The value of the encoded character.
Throws:
java.io.IOException - If there is an error during the encoding.

getFontWidth

public float getFontWidth(byte[] bytes,
                          int offset,
                          int length)
                   throws java.io.IOException
This will get the font width for a character.

Overrides:
getFontWidth in class PDSimpleFont
Parameters:
bytes - The character code to get the width for.
offset - The offset into the array.
length - The length of the data.
Returns:
The width is in 1000 unit of text space, ie 333 or 777
Throws:
java.io.IOException - If an error occurs while parsing.

getFontHeight

public float getFontHeight(byte[] bytes,
                           int offset,
                           int length)
                    throws java.io.IOException
This will get the font height for a character.

Overrides:
getFontHeight in class PDSimpleFont
Parameters:
bytes - The character code to get the width for.
offset - The offset into the array.
length - The length of the data.
Returns:
The width is in 1000 unit of text space, ie 333 or 777
Throws:
java.io.IOException - If an error occurs while parsing.

getStringWidth

public float getStringWidth(java.lang.String string)
                     throws java.io.IOException
This will get the width of this string for this font.

Overrides:
getStringWidth in class PDFont
Parameters:
string - The string to get the width of.
Returns:
The width of the string in 1000 units of text space, ie 333 567...
Throws:
java.io.IOException - If there is an error getting the width information.

getAverageFontWidth

public float getAverageFontWidth()
                          throws java.io.IOException
This will get the average font width for all characters.

Overrides:
getAverageFontWidth in class PDSimpleFont
Returns:
The width is in 1000 unit of text space, ie 333 or 777
Throws:
java.io.IOException - If an error occurs while parsing.

getFontBoundingBox

public PDRectangle getFontBoundingBox()
                               throws java.io.IOException
This will get the fonts bounding box.

Overrides:
getFontBoundingBox in class PDSimpleFont
Returns:
The fonts bouding box.
Throws:
java.io.IOException - If there is an error getting the bounding box.

getFontMatrix

public PDMatrix getFontMatrix()
This will get the matrix that is used to transform glyph space to text space. By default there are 1000 glyph units to 1 text space unit, but type3 fonts can use any value. Note:If this is a type3 font then it can be modified via the PDType3Font.setFontMatrix, otherwise this is a read-only property.

Overrides:
getFontMatrix in class PDFont
Returns:
The matrix to transform from glyph space to text space.

getawtFont

public java.awt.Font getawtFont()
                         throws java.io.IOException
Looks up, creates, returns the AWT Font.

Overrides:
getawtFont in class PDSimpleFont
Throws:
java.io.IOException