org.pdfbox.pdmodel.font
Class PDCIDFont

java.lang.Object
  extended byorg.pdfbox.pdmodel.font.PDFont
      extended byorg.pdfbox.pdmodel.font.PDCIDFont
All Implemented Interfaces:
COSObjectable
Direct Known Subclasses:
PDCIDFontType0Font, PDCIDFontType2Font

public abstract class PDCIDFont
extends PDFont

This is implementation for the CIDFontType0/CIDFontType2 Fonts.

Version:
$Revision: 1.10 $
Author:
Ben Litchfield

Field Summary
 
Fields inherited from class org.pdfbox.pdmodel.font.PDFont
font
 
Constructor Summary
PDCIDFont()
          Constructor.
PDCIDFont(COSDictionary fontDictionary)
          Constructor.
 
Method Summary
 void drawString(String string, Graphics g, float fontSize, float xScale, float yScale, float x, float y)
          This will draw a string on a canvas using the font.
 float getAverageFontWidth()
          This will get the average font width for all characters.
 long getDefaultWidth()
          This will get the default width.
 PDRectangle getFontBoundingBox()
          This will get the fonts bouding box.
 PDFontDescriptor getFontDescriptor()
          Get the font descriptor associated with this CID font.
 float getFontHeight(byte[] c, int offset, int length)
          This will get the font height for a character.
 float getFontWidth(byte[] c, int offset, int length)
          This will get the font width for a character.
 void setDefaultWidth(long dw)
          This will set the default width for the glyphs of this font.
 void setFontDescriptor(PDFontDescriptorDictionary desc)
          Set the font descriptor associated with this CID Font.
 
Methods inherited from class org.pdfbox.pdmodel.font.PDFont
clearResources, encode, equals, getAFM, getAverageFontWidthFromAFMFile, getBaseFont, getCodeFromArray, getCOSObject, getEncoding, getFirstChar, getFontMatrix, getFontWidthFromAFMFile, getLastChar, getStringWidth, getSubType, getType, getWidths, hashCode, setBaseFont, setEncoding, setFirstChar, setLastChar, setWidths
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PDCIDFont

public PDCIDFont()
Constructor.


PDCIDFont

public PDCIDFont(COSDictionary fontDictionary)
Constructor.

Parameters:
fontDictionary - The font dictionary according to the PDF specification.
Method Detail

getFontDescriptor

public PDFontDescriptor getFontDescriptor()
Get the font descriptor associated with this CID font.

Returns:
The font descriptor.

setFontDescriptor

public void setFontDescriptor(PDFontDescriptorDictionary desc)
Set the font descriptor associated with this CID Font.

Parameters:
desc - The font descriptor.

drawString

public void drawString(String string,
                       Graphics g,
                       float fontSize,
                       float xScale,
                       float yScale,
                       float x,
                       float y)
This will draw a string on a canvas using the font.

Specified by:
drawString in class PDFont
Parameters:
string - The string to draw.
g - The graphics to draw onto.
fontSize - The size of the font to draw.
xScale - The x scaling percent.
yScale - The y scaling percent.
x - The x coordinate to draw at.
y - The y coordinate to draw at.

getFontBoundingBox

public PDRectangle getFontBoundingBox()
                               throws IOException
This will get the fonts bouding box.

Specified by:
getFontBoundingBox in class PDFont
Returns:
The fonts bouding box.
Throws:
IOException - If there is an error getting the font bounding box.

getDefaultWidth

public long getDefaultWidth()
This will get the default width. The default value for the default width is 1000.

Returns:
The default width for the glyphs in this font.

setDefaultWidth

public void setDefaultWidth(long dw)
This will set the default width for the glyphs of this font.

Parameters:
dw - The default width.

getFontWidth

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

Specified by:
getFontWidth in class PDFont
Parameters:
c - 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:
IOException - If an error occurs while parsing.

getFontHeight

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

Specified by:
getFontHeight in class PDFont
Parameters:
c - The character code to get the height 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:
IOException - If an error occurs while parsing.

getAverageFontWidth

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

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