Class TrueTypeFont

java.lang.Object
com.sun.pdfview.font.ttf.TrueTypeFont

public class TrueTypeFont extends Object
  • Field Details

  • Constructor Details

    • TrueTypeFont

      public TrueTypeFont(int type)
      Creates a new instance of TrueTypeParser
  • Method Details

    • parseFont

      public static TrueTypeFont parseFont(byte[] orig)
      Parses a TrueType font from a byte array
    • parseFont

      public static TrueTypeFont parseFont(ByteBuffer inBuf)
      Parses a TrueType font from a byte buffer
    • getType

      public int getType()
      Get the type of this font
    • addTable

      public void addTable(String tagString, 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(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(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(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(String tagString, ByteBuffer data)
      Calculate the checksum for a given table
      Parameters:
      tagString - the name of the data
      data - the data in the table
    • parseDirectories

      private static void parseDirectories(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(ByteBuffer fontData)
      Update the checksumAdj field in the head table
    • toString

      public String toString()
      Write the font to a pretty string
      Overrides:
      toString in class Object
    • main

      public static void main(String[] args)
      Parameters:
      args - the command line arguments