Package com.sun.pdfview.font.ttf
Class TrueTypeFont
- java.lang.Object
-
- com.sun.pdfview.font.ttf.TrueTypeFont
-
public class TrueTypeFont extends java.lang.Object
-
-
Constructor Summary
Constructors Constructor Description TrueTypeFont(int type)
Creates a new instance of TrueTypeParser
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addTable(java.lang.String tagString, TrueTypeTable table)
Add a table to the fontvoid
addTable(java.lang.String tagString, java.nio.ByteBuffer data)
Add a table to the fontprivate static int
calculateChecksum(java.lang.String tagString, java.nio.ByteBuffer data)
Calculate the checksum for a given tableshort
getEntrySelector()
Get the entry selectorprivate int
getLength()
Get the length of the fontshort
getNumTables()
Get the number of tablesshort
getRangeShift()
Get the range shiftshort
getSearchRange()
Get the search rangeTrueTypeTable
getTable(java.lang.String tagString)
Get a table by name.int
getType()
Get the type of this fontstatic void
main(java.lang.String[] args)
private static void
parseDirectories(java.nio.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(java.nio.ByteBuffer inBuf)
Parses a TrueType font from a byte buffervoid
removeTable(java.lang.String tagString)
Remove a table by namejava.lang.String
toString()
Write the font to a pretty stringprivate void
updateChecksumAdj(java.nio.ByteBuffer fontData)
Update the checksumAdj field in the head tablebyte[]
writeFont()
Write a font given the type and an array of Table Directory Entries
-
-
-
Method Detail
-
parseFont
public static TrueTypeFont parseFont(byte[] orig)
Parses a TrueType font from a byte array
-
parseFont
public static TrueTypeFont parseFont(java.nio.ByteBuffer inBuf)
Parses a TrueType font from a byte buffer
-
getType
public int getType()
Get the type of this font
-
addTable
public void addTable(java.lang.String tagString, java.nio.ByteBuffer data)
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
public void addTable(java.lang.String tagString, TrueTypeTable table)
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
public TrueTypeTable getTable(java.lang.String tagString)
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
public void removeTable(java.lang.String tagString)
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
private static int calculateChecksum(java.lang.String tagString, java.nio.ByteBuffer data)
Calculate the checksum for a given table- Parameters:
tagString
- the name of the datadata
- the data in the table
-
parseDirectories
private static void parseDirectories(java.nio.ByteBuffer data, int numTables, TrueTypeFont ttf)
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
private void updateChecksumAdj(java.nio.ByteBuffer fontData)
Update the checksumAdj field in the head table
-
toString
public java.lang.String toString()
Write the font to a pretty string- Overrides:
toString
in classjava.lang.Object
-
main
public static void main(java.lang.String[] args)
- Parameters:
args
- the command line arguments
-
-