Class CFFCIDFontProgram

  • All Implemented Interfaces:
    FontProgram

    public class CFFCIDFontProgram
    extends Object
    implements FontProgram
    Instance of this class represent a parser of CIDFont from FontSet of CFF file.
    Author:
    Sergey Shemyakov
    • Field Detail

      • attemptedParsing

        protected boolean attemptedParsing
      • successfullyParsed

        protected boolean successfullyParsed
      • DEFAULT_FONT_MATRIX

        protected static final float[] DEFAULT_FONT_MATRIX
      • globalSubrs

        protected CFFIndex globalSubrs
      • isSubset

        protected boolean isSubset
      • privateDictOffset

        protected long privateDictOffset
      • privateDictSize

        protected long privateDictSize
      • topDictBeginOffset

        protected long topDictBeginOffset
      • topDictEndOffset

        protected long topDictEndOffset
      • fontMatrix

        protected float[] fontMatrix
      • charStringsOffset

        protected long charStringsOffset
      • charSetOffset

        protected long charSetOffset
      • charStringType

        protected int charStringType
      • weight

        protected String weight
      • nGlyphs

        protected int nGlyphs
      • charStrings

        protected CFFIndex charStrings
      • defaultWidthX

        protected int defaultWidthX
      • nominalWidthX

        protected int nominalWidthX
      • subrsOffset

        protected long subrsOffset
      • definedNames

        protected CFFIndex definedNames
    • Method Detail

      • parseFont

        public void parseFont()
                       throws IOException
        This method does parsing of font, after it all the data needed should be extracted.
        Specified by:
        parseFont in interface FontProgram
        Throws:
        IOException - if error in font parsing occurs.
      • readTopDictTwoByteOps

        protected void readTopDictTwoByteOps​(int lastRead)
                                      throws IOException
        Throws:
        IOException
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • 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.
      • getSupplement

        public int getSupplement()
      • getRegistry

        public String getRegistry()
      • getOrdering

        public String getOrdering()
      • isAttemptedParsing

        public boolean isAttemptedParsing()
        Specified by:
        isAttemptedParsing in interface FontProgram
        Returns:
        true if font parsing has been attempted.
      • isSuccessfulParsing

        public boolean isSuccessfulParsing()
        Specified by:
        isSuccessfulParsing in interface FontProgram
        Returns:
        true if font was successfully parsed.
      • readTopDictOneByteOps

        protected void readTopDictOneByteOps​(int lastRead)
      • getNGlyphs

        public int getNGlyphs()
        Returns:
        amount of glyphs in the font.
      • getWeight

        public String getWeight()