com.lowagie.text.pdf
Class DocumentFont

java.lang.Object
  extended bycom.lowagie.text.pdf.BaseFont
      extended bycom.lowagie.text.pdf.DocumentFont

public class DocumentFont
extends BaseFont

Author:
psoares

Nested Class Summary
 
Nested classes inherited from class com.lowagie.text.pdf.BaseFont
BaseFont.StreamFont
 
Field Summary
(package private)  float Ascender
           
(package private)  float CapHeight
           
(package private)  String[] cjkEncs
           
(package private)  BaseFont cjkMirror
           
(package private)  String[] cjkNames
           
(package private)  float Descender
           
(package private)  PdfDictionary font
           
(package private)  String fontName
           
(package private)  float ItalicAngle
           
(package private)  float llx
           
(package private)  float lly
           
(package private)  PRIndirectReference refFont
           
(package private) static int[] stdEnc
           
(package private)  IntHashtable uni2byte
           
(package private)  float urx
           
(package private)  float ury
           
 
Fields inherited from class com.lowagie.text.pdf.BaseFont
ASCENT, AWT_ASCENT, AWT_DESCENT, AWT_LEADING, AWT_MAXADVANCE, BBOXLLX, BBOXLLY, BBOXURX, BBOXURY, BuiltinFonts14, CACHED, CAPHEIGHT, CID_NEWLINE, COURIER, COURIER_BOLD, COURIER_BOLDOBLIQUE, COURIER_OBLIQUE, CP1250, CP1252, CP1257, DESCENT, differences, directTextToByte, embedded, EMBEDDED, encoding, fastWinansi, FONT_TYPE_CJK, FONT_TYPE_DOCUMENT, FONT_TYPE_T1, FONT_TYPE_TT, FONT_TYPE_TTUNI, fontCache, fontSpecific, fontType, forceWidthsOutput, HELVETICA, HELVETICA_BOLD, HELVETICA_BOLDOBLIQUE, HELVETICA_OBLIQUE, IDENTITY_H, IDENTITY_V, ITALICANGLE, MACROMAN, NOT_CACHED, NOT_EMBEDDED, notdef, RESOURCE_PATH, subset, SYMBOL, TIMES_BOLD, TIMES_BOLDITALIC, TIMES_ITALIC, TIMES_ROMAN, unicodeDifferences, widths, WINANSI, ZAPFDINGBATS
 
Constructor Summary
(package private) DocumentFont(PRIndirectReference refFont)
          Creates a new instance of DocumentFont
 
Method Summary
 boolean charExists(char c)
          Checks if a character exists in this font.
(package private)  byte[] convertToBytes(String text)
          Converts a String to a byte array according to the font's encoding.
 void doType1TT()
           
(package private)  void fillEncoding(PdfName encoding)
           
(package private)  void fillFontDesc()
           
 String[][] getFamilyFontName()
          Gets the family name of the font.
 float getFontDescriptor(int key, float fontSize)
          Gets the font parameter identified by key.
 String[][] getFullFontName()
          Gets the full name of the font.
(package private)  PdfIndirectReference getIndirectReference()
           
 int getKerning(char char1, char char2)
          Gets the kerning between two Unicode chars.
 String getPostscriptFontName()
          Gets the postscript font name.
(package private)  int getRawWidth(int c, String name)
          Gets the width from the font according to the Unicode char c or the name.
 int getWidth(String text)
          Gets the width of a String in normalized 1000 units.
 boolean hasKernPairs()
          Checks if the font has any kerning pairs.
(package private)  void writeFont(PdfWriter writer, PdfIndirectReference ref, Object[] params)
          Outputs to the writer the font dictionaries and streams.
 
Methods inherited from class com.lowagie.text.pdf.BaseFont
createEncoding, createFont, createFont, createSubsetPrefix, enumerateTTCNames, enumerateTTCNames, getAllFontNames, getBaseName, getCidCode, getCodePagesSupported, getDifferences, getEncoding, getFontType, getFullFontName, getResourceStream, getResourceStream, getUnicodeDifferences, getUnicodeDifferences, getUnicodeEquivalent, getWidth, getWidthPoint, getWidthPoint, getWidthPointKerned, getWidths, isDirectTextToByte, isEmbedded, isFontSpecific, isForceWidthsOutput, isSubset, normalizeEncoding, setCharAdvance, setDirectTextToByte, setForceWidthsOutput, setSubset
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

fontName

String fontName

refFont

PRIndirectReference refFont

font

PdfDictionary font

uni2byte

IntHashtable uni2byte

Ascender

float Ascender

CapHeight

float CapHeight

Descender

float Descender

ItalicAngle

float ItalicAngle

llx

float llx

lly

float lly

urx

float urx

ury

float ury

cjkMirror

BaseFont cjkMirror

cjkNames

String[] cjkNames

cjkEncs

String[] cjkEncs

stdEnc

static final int[] stdEnc
Constructor Detail

DocumentFont

DocumentFont(PRIndirectReference refFont)
Creates a new instance of DocumentFont

Method Detail

doType1TT

public void doType1TT()

fillFontDesc

void fillFontDesc()

fillEncoding

void fillEncoding(PdfName encoding)

getFamilyFontName

public String[][] getFamilyFontName()
Gets the family name of the font. If it is a True Type font each array element will have {Platform ID, Platform Encoding ID, Language ID, font name}. The interpretation of this values can be found in the Open Type specification, chapter 2, in the 'name' table.
For the other fonts the array has a single element with {"", "", "", font name}.

Specified by:
getFamilyFontName in class BaseFont
Returns:
the family name of the font

getFontDescriptor

public float getFontDescriptor(int key,
                               float fontSize)
Gets the font parameter identified by key. Valid values for key are ASCENT, CAPHEIGHT, DESCENT, ITALICANGLE, BBOXLLX, BBOXLLY, BBOXURX and BBOXURY.

Specified by:
getFontDescriptor in class BaseFont
Parameters:
key - the parameter to be extracted
fontSize - the font size in points
Returns:
the parameter in points

getFullFontName

public String[][] getFullFontName()
Gets the full name of the font. If it is a True Type font each array element will have {Platform ID, Platform Encoding ID, Language ID, font name}. The interpretation of this values can be found in the Open Type specification, chapter 2, in the 'name' table.
For the other fonts the array has a single element with {"", "", "", font name}.

Specified by:
getFullFontName in class BaseFont
Returns:
the full name of the font

getKerning

public int getKerning(char char1,
                      char char2)
Gets the kerning between two Unicode chars.

Specified by:
getKerning in class BaseFont
Parameters:
char1 - the first char
char2 - the second char
Returns:
the kerning to be applied

getPostscriptFontName

public String getPostscriptFontName()
Gets the postscript font name.

Specified by:
getPostscriptFontName in class BaseFont
Returns:
the postscript font name

getRawWidth

int getRawWidth(int c,
                String name)
Gets the width from the font according to the Unicode char c or the name. If the name is null it's a symbolic font.

Specified by:
getRawWidth in class BaseFont
Parameters:
c - the unicode char
name - the glyph name
Returns:
the width of the char

hasKernPairs

public boolean hasKernPairs()
Checks if the font has any kerning pairs.

Specified by:
hasKernPairs in class BaseFont
Returns:
true if the font has any kerning pairs

writeFont

void writeFont(PdfWriter writer,
               PdfIndirectReference ref,
               Object[] params)
         throws DocumentException,
                IOException
Outputs to the writer the font dictionaries and streams.

Specified by:
writeFont in class BaseFont
Parameters:
writer - the writer for this document
ref - the font indirect reference
params - several parameters that depend on the font type
Throws:
IOException - on error
DocumentException - error in generating the object

getWidth

public int getWidth(String text)
Description copied from class: BaseFont
Gets the width of a String in normalized 1000 units.

Overrides:
getWidth in class BaseFont
Parameters:
text - the String to get the witdth of
Returns:
the width in normalized 1000 units

convertToBytes

byte[] convertToBytes(String text)
Description copied from class: BaseFont
Converts a String to a byte array according to the font's encoding.

Overrides:
convertToBytes in class BaseFont
Parameters:
text - the String to be converted
Returns:
an array of byte representing the conversion according to the font's encoding

getIndirectReference

PdfIndirectReference getIndirectReference()

charExists

public boolean charExists(char c)
Description copied from class: BaseFont
Checks if a character exists in this font.

Overrides:
charExists in class BaseFont
Parameters:
c - the character to check
Returns:
true if the character has a glyph, false otherwise