Package org.loboevolution.pdfview.font
Class PDFFont
java.lang.Object
org.loboevolution.pdfview.font.PDFFont
- Direct Known Subclasses:
OutlineFont
,Type0Font
,Type3Font
a Font definition for PDF files
Author Mike Wessler
-
Constructor Summary
ModifierConstructorDescriptionprotected
PDFFont
(String baseFont, PDFFontDescriptor descriptor) Create a PDFFont given the base font name and the font descriptor -
Method Summary
Modifier and TypeMethodDescriptionboolean
getCachedGlyph
(char src, String name) Get a glyph for a given character code.static PDFFont
get the PDFFont corresponding to the font described in a PDFObject.protected abstract PDFGlyph
Get the glyph for a given character code and nameGet the glyphs associated with a given String in this fontint
hashCode()
toString()
-
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
get 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)- Parameters:
obj
- aPDFObject
object.resources
- aHashMap
object.- Returns:
- a
PDFFont
object. - Throws:
IOException
- if any.
-
getGlyphs
Get the glyphs associated with a given String in this font- Parameters:
text
- the text to translate into glyphs- Returns:
- a
List
object.
-
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 nameThe 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
-