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 voidaddTable(java.lang.String tagString, TrueTypeTable table)Add a table to the fontvoidaddTable(java.lang.String tagString, java.nio.ByteBuffer data)Add a table to the fontprivate static intcalculateChecksum(java.lang.String tagString, java.nio.ByteBuffer data)Calculate the checksum for a given tableshortgetEntrySelector()Get the entry selectorprivate intgetLength()Get the length of the fontshortgetNumTables()Get the number of tablesshortgetRangeShift()Get the range shiftshortgetSearchRange()Get the search rangeTrueTypeTablegetTable(java.lang.String tagString)Get a table by name.intgetType()Get the type of this fontstatic voidmain(java.lang.String[] args)private static voidparseDirectories(java.nio.ByteBuffer data, int numTables, TrueTypeFont ttf)Get directory entries from a fontstatic TrueTypeFontparseFont(byte[] orig)Parses a TrueType font from a byte arraystatic TrueTypeFontparseFont(java.nio.ByteBuffer inBuf)Parses a TrueType font from a byte buffervoidremoveTable(java.lang.String tagString)Remove a table by namejava.lang.StringtoString()Write the font to a pretty stringprivate voidupdateChecksumAdj(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:
toStringin classjava.lang.Object
-
main
public static void main(java.lang.String[] args)
- Parameters:
args- the command line arguments
-
-