Package com.sun.pdfview.font
Class PDFFont
java.lang.Object
com.sun.pdfview.font.PDFFont
- Direct Known Subclasses:
OutlineFont
,Type0Font
,Type3Font
a Font definition for PDF files
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate String
the postscript name of this fonta cache of glyphs indexed by characterprivate PDFFontDescriptor
the font descriptorprivate PDFFontEncoding
the font encoding (maps character ids to glyphs)private String
the font SubType of this fontprivate PDFCMap
the CMap that maps this font to unicode values -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
PDFFont
(String baseFont, PDFFontDescriptor descriptor) Create a PDFFont given the base font name and the font descriptor -
Method Summary
Modifier and TypeMethodDescriptionboolean
Compare two fonts base on the baseFontGet the postscript name of this fontgetCachedGlyph
(char src, String name) Get a glyph for a given character code.Get the descriptor for this fontGet the encoding for this fontstatic PDFFont
get the PDFFont corresponding to the font described in a PDFObject.protected abstract PDFGlyph
Get the glyph for a given character code and name The preferred method of getting the glyph should be by name.Get the glyphs associated with a given String in this fontGet the subtype of this font.Get the CMap which maps the characters in this font to unicode namesint
hashCode()
Hash a font based on its base fontvoid
setBaseFont
(String baseFont) Set the postscript name of this fontvoid
setDescriptor
(PDFFontDescriptor descriptor) Set the descriptor font descriptorvoid
setEncoding
(PDFFontEncoding encoding) Set the encoding for this fontvoid
setSubtype
(String subtype) Set the font subtypevoid
setUnicodeMap
(PDFCMap unicodeMap) Set the CMap which maps the characters in this font to unicode namestoString()
Turn this font into a pretty String
-
Field Details
-
subtype
the font SubType of this font -
baseFont
the postscript name of this font -
encoding
the font encoding (maps character ids to glyphs) -
descriptor
the font descriptor -
unicodeMap
the CMap that maps this font to unicode values -
charCache
a cache of glyphs indexed by character
-
-
Constructor Details
-
PDFFont
Create a PDFFont given the base font name and the font descriptor- Parameters:
baseFont
- the postscript name of this fontdescriptor
- the descriptor for the font
-
-
Method Details
-
getFont
public static PDFFont getFont(PDFObject obj, HashMap<String, PDFObject> resources) throws IOExceptionget the PDFFont corresponding to the font described in a PDFObject. The object is actually a dictionary containing the following keys:
Type = "Font"
Subtype = (Type1 | TrueType | Type3 | Type0 | MMType1 | CIDFontType0 | CIDFontType2)
FirstChar = #
LastChar = #
Widths = array of #
Encoding = (some name representing a dictionary in the resources | an inline dictionary)For Type1 and TrueType fonts, the dictionary also contains:
BaseFont = (some name, or XXXXXX+Name as a subset of font Name)For Type3 font, the dictionary contains:
FontBBox = (rectangle)
FontMatrix = (array, typically [0.001, 0, 0, 0.001, 0, 0])
CharProcs = (dictionary) Resources = (dictionary)- Throws:
IOException
-
getSubtype
Get the subtype of this font.- Returns:
- the subtype, one of: Type0, Type1, TrueType or Type3
-
setSubtype
Set the font subtype -
getBaseFont
Get the postscript name of this font- Returns:
- the postscript name of this font
-
setBaseFont
Set the postscript name of this font- Parameters:
baseFont
- the postscript name of the font
-
getEncoding
Get the encoding for this font- Returns:
- the encoding which maps from this font to actual characters
-
setEncoding
Set the encoding for this font -
getDescriptor
Get the descriptor for this font- Returns:
- the font descriptor
-
setDescriptor
Set the descriptor font descriptor -
getUnicodeMap
Get the CMap which maps the characters in this font to unicode names -
setUnicodeMap
Set the CMap which maps the characters in this font to unicode names -
getGlyphs
Get the glyphs associated with a given String in this font- Parameters:
text
- the text to translate into glyphs
-
getCachedGlyph
Get a glyph for a given character code. The glyph is returned from the cache if available, or added to the cache if not- Parameters:
src
- the character code of this glyphname
- the name of the glyph, or null if the name is unknown- Returns:
- a glyph for this character
-
getGlyph
Get the glyph for a given character code and name The preferred method of getting the glyph should be by name. If the name is null or not valid, then the character code should be used. If the both the code and the name are invalid, the undefined glyph should be returned. Note this method must *always* return a glyph.- Parameters:
src
- the character code of this glyphname
- the name of this glyph or null if unknown- Returns:
- a glyph for this character
-
toString
Turn this font into a pretty String -
equals
Compare two fonts base on the baseFont -
hashCode
public int hashCode()Hash a font based on its base font
-