Class TrueTypeFontProgram

java.lang.Object
org.verapdf.pd.font.truetype.BaseTrueTypeProgram
org.verapdf.pd.font.truetype.TrueTypeFontProgram
All Implemented Interfaces:
FontProgram

public class TrueTypeFontProgram extends BaseTrueTypeProgram implements FontProgram
Represents TrueTypeFontProgram.
Author:
Sergey Shemyakov
  • Constructor Details

    • TrueTypeFontProgram

      public TrueTypeFontProgram(ASInputStream stream, boolean isSymbolic, COSObject encoding) throws IOException
      Constructor from stream containing font data, and encoding details.
      Parameters:
      stream - is stream containing font data.
      isSymbolic - is true if font is marked as symbolic.
      encoding - is value of /Encoding in font dictionary.
      Throws:
      IOException - if creation of @{link SeekableStream} fails.
  • Method Details

    • parseFont

      public void parseFont() throws IOException
      Description copied from class: BaseTrueTypeProgram
      Parses True Type font from given stream and extracts all the data needed.
      Specified by:
      parseFont in interface FontProgram
      Overrides:
      parseFont in class BaseTrueTypeProgram
      Throws:
      IOException - if stream-reading error occurs.
    • containsCode

      public boolean containsCode(int code)
      Checks if font contains character with given code.
      Specified by:
      containsCode in interface FontProgram
      Parameters:
      code - is character code.
      Returns:
      true if font contains character with given code.
    • getWidth

      public float getWidth(int code)
      Returns width of glyph for given character code.
      Specified by:
      getWidth in interface FontProgram
      Parameters:
      code - is code for glyph.
      Returns:
      width of corresponding glyph or -1 if glyph is not found.
    • getGlyphName

      public String getGlyphName(int code)
      Description copied from interface: FontProgram
      Returns glyph name for glyph with given code.
      Specified by:
      getGlyphName in interface FontProgram
      Parameters:
      code - is code of glyph.
      Returns:
      glyph name.
    • getWidth

      public float getWidth(String glyphName)
      Returns width of glyph for given glyph name.
      Specified by:
      getWidth in interface FontProgram
      Parameters:
      glyphName - is name for glyph.
      Returns:
      width of corresponding glyph or -1 if glyph is not found.
    • containsGlyph

      public boolean containsGlyph(String glyphName)
      Description copied from interface: FontProgram
      Checks if this font program has glyph for given glyph name.
      Specified by:
      containsGlyph in interface FontProgram
      Parameters:
      glyphName - is the name of glyph.
      Returns:
      true if this font program has glyph for given name.
    • isSymbolic

      public boolean isSymbolic()
      Returns:
      true if font is symbolic.
    • containsCID

      public boolean containsCID(int cid)
      Description copied from interface: FontProgram
      Method works only for fonts where cid notation is used.
      Specified by:
      containsCID in interface FontProgram
      Returns:
      true if font a is cid font and contains given cid.
    • getCIDList

      public List<Integer> getCIDList()
      Specified by:
      getCIDList in interface FontProgram