Class TTFParser

java.lang.Object
org.apache.fontbox.ttf.TTFParser
Direct Known Subclasses:
OTFParser

public class TTFParser extends Object
TrueType font file parser.
  • Field Details

    • LOG

      private static final org.apache.commons.logging.Log LOG
    • isEmbedded

      private boolean isEmbedded
  • Constructor Details

    • TTFParser

      public TTFParser()
      Constructor.
    • TTFParser

      public TTFParser(boolean isEmbedded)
      Constructor.
      Parameters:
      isEmbedded - true if the font is embedded in PDF
  • Method Details

    • parse

      public TrueTypeFont parse(RandomAccessRead randomAccessRead) throws IOException
      Parse a RandomAccessRead and return a TrueType font.
      Parameters:
      randomAccessRead - The RandomAccessREad to be read from. It will be closed before returning.
      Returns:
      A TrueType font.
      Throws:
      IOException - If there is an error parsing the TrueType font.
    • parseEmbedded

      public TrueTypeFont parseEmbedded(InputStream inputStream) throws IOException
      Parse an input stream and return a TrueType font that is to be embedded.
      Parameters:
      inputStream - The TTF data stream to parse from. It will be closed before returning.
      Returns:
      A TrueType font.
      Throws:
      IOException - If there is an error parsing the TrueType font.
    • parseTableHeaders

      public FontHeaders parseTableHeaders(RandomAccessRead randomAccessRead) throws IOException
      Parse a RandomAccessRead and return a TrueType font.
      Parameters:
      randomAccessRead - The RandomAccessREad to be read from. It will be closed before returning.
      Returns:
      TrueType font headers.
      Throws:
      IOException - If there is an error parsing the TrueType font.
    • createFontWithTables

      private TrueTypeFont createFontWithTables(TTFDataStream raf) throws IOException
      Parse a file and get a true type font.
      Parameters:
      raf - The TTF file.
      Returns:
      A TrueType font.
      Throws:
      IOException - If there is an error parsing the TrueType font.
    • parse

      Throws:
      IOException
    • newFont

    • parseTables

      private void parseTables(TrueTypeFont font) throws IOException
      Parse all tables and check if all needed tables are present.
      Parameters:
      font - the TrueTypeFont instance holding the parsed data.
      Throws:
      IOException - If there is an error parsing the TrueType font.
    • parseTableHeaders

      FontHeaders parseTableHeaders(TTFDataStream raf) throws IOException
      Based on
      invalid reference
      #parseTables()
      . Parse all table headers and check if all needed tables are present. This method can be optimized further by skipping unused portions inside each individual table parser
      Parameters:
      font - the TrueTypeFont instance holding the parsed data.
      Throws:
      IOException - If there is an error parsing the TrueType font.
    • allowCFF

      protected boolean allowCFF()
    • readTableDirectory

      private TTFTable readTableDirectory(TTFDataStream raf) throws IOException
      Throws:
      IOException
    • readTable

      protected TTFTable readTable(String tag)