Package com.sun.pdfview.font.ttf
Class TrueTypeFont
java.lang.Object
com.sun.pdfview.font.ttf.TrueTypeFont
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addTable
(String tagString, TrueTypeTable table) Add a table to the fontvoid
addTable
(String tagString, ByteBuffer data) Add a table to the fontprivate static int
calculateChecksum
(String tagString, ByteBuffer data) Calculate the checksum for a given tableshort
Get the entry selectorprivate int
Get the length of the fontshort
Get the number of tablesshort
Get the range shiftshort
Get the search rangeGet a table by name.int
getType()
Get the type of this fontstatic void
private static void
parseDirectories
(ByteBuffer data, int numTables, TrueTypeFont ttf) Get directory entries from a fontstatic TrueTypeFont
parseFont
(byte[] orig) Parses a TrueType font from a byte arraystatic TrueTypeFont
parseFont
(ByteBuffer inBuf) Parses a TrueType font from a byte buffervoid
removeTable
(String tagString) Remove a table by nametoString()
Write the font to a pretty stringprivate void
updateChecksumAdj
(ByteBuffer fontData) Update the checksumAdj field in the head tablebyte[]
Write a font given the type and an array of Table Directory Entries
-
Field Details
-
type
private int type -
tables
-
-
Constructor Details
-
TrueTypeFont
public TrueTypeFont(int type) Creates a new instance of TrueTypeParser
-
-
Method Details
-
parseFont
Parses a TrueType font from a byte array -
parseFont
Parses a TrueType font from a byte buffer -
getType
public int getType()Get the type of this font -
addTable
Add a table to the font- Parameters:
tagString
- the name of this table, as a 4 character string (i.e. cmap or head)data
- the data for this table, as a byte buffer
-
addTable
Add a table to the font- Parameters:
tagString
- the name of this table, as a 4 character string (i.e. cmap or head)table
- the table
-
getTable
Get a table by name. This command causes the table in question to be parsed, if it has not already been parsed.- Parameters:
tagString
- the name of this table, as a 4 character string (i.e. cmap or head)
-
removeTable
Remove a table by name- Parameters:
tagString
- the name of this table, as a 4 character string (i.e. cmap or head)
-
getNumTables
public short getNumTables()Get the number of tables -
getSearchRange
public short getSearchRange()Get the search range -
getEntrySelector
public short getEntrySelector()Get the entry selector -
getRangeShift
public short getRangeShift()Get the range shift -
writeFont
public byte[] writeFont()Write a font given the type and an array of Table Directory Entries -
calculateChecksum
Calculate the checksum for a given table- Parameters:
tagString
- the name of the datadata
- the data in the table
-
parseDirectories
Get directory entries from a font -
getLength
private int getLength()Get the length of the font- Returns:
- the length of the entire font, in bytes
-
updateChecksumAdj
Update the checksumAdj field in the head table -
toString
Write the font to a pretty string -
main
- Parameters:
args
- the command line arguments
-