Class CFFDataReader


  • public class CFFDataReader
    extends java.lang.Object
    A class to read the CFF data from an OTF CFF font file.
    • Constructor Detail

      • CFFDataReader

        public CFFDataReader()
      • CFFDataReader

        public CFFDataReader​(byte[] cffDataArray)
                      throws java.io.IOException
        Constructor for the CFF data reader which accepts the CFF byte data as an argument.
        Parameters:
        cffDataArray - A byte array which holds the CFF data
        Throws:
        java.io.IOException
      • CFFDataReader

        public CFFDataReader​(FontFileReader fontFile)
                      throws java.io.IOException
        Constructor for the CFF data reader which accepts a FontFileReader object which points to the original font file as an argument.
        Parameters:
        fontFile - The font file as represented by a FontFileReader object
        Throws:
        java.io.IOException
    • Method Detail

      • getPrivateDictBytes

        public byte[] getPrivateDictBytes​(CFFDataReader.DICTEntry privateEntry)
                                   throws java.io.IOException
        Throws:
        java.io.IOException
      • parseDictData

        public java.util.LinkedHashMap<java.lang.String,​CFFDataReader.DICTEntry> parseDictData​(byte[] dictData)
                                                                                              throws java.io.IOException
        Parses the dictionary data and returns a map of objects for each entry
        Parameters:
        dictData - The data for the dictionary data
        Returns:
        Returns a map of type DICTEntry identified by the operand name
        Throws:
        java.io.IOException - Throws an IO Exception if an error occurs
      • readIndex

        public CFFDataReader.CFFIndexData readIndex​(int offset)
                                             throws java.io.IOException
        Reads a CFF index object are the specified offset position
        Parameters:
        offset - The position of the index object to read
        Returns:
        Returns an object representing the index
        Throws:
        java.io.IOException - Throws an IO Exception if an error occurs
      • readIndex

        public CFFDataReader.CFFIndexData readIndex​(org.apache.fontbox.cff.CFFDataInput input)
                                             throws java.io.IOException
        Reads an index from the current position of the CFFDataInput object
        Parameters:
        input - The object holding the CFF byte data
        Returns:
        Returns an object representing the index
        Throws:
        java.io.IOException - Throws an IO Exception if an error occurs
      • getSIDFromGID

        public int getSIDFromGID​(int charsetOffset,
                                 int gid)
                          throws java.io.IOException
        Retrieves the SID for the given GID object
        Parameters:
        charsetOffset - The offset of the charset data
        gid - The GID for which to retrieve the SID
        Returns:
        Returns the SID as an integer
        Throws:
        java.io.IOException
      • getHeader

        public byte[] getHeader()
      • getTopDictEntries

        public java.util.LinkedHashMap<java.lang.String,​CFFDataReader.DICTEntry> getTopDictEntries()
      • getCFFData

        public org.apache.fontbox.cff.CFFDataInput getCFFData()
      • getLocalSubrsForGlyph

        public org.apache.fontbox.cff.CFFDataInput getLocalSubrsForGlyph​(int glyph)
                                                                  throws java.io.IOException
        Throws:
        java.io.IOException
      • readCharStringIndex

        public CFFDataReader.CFFIndexData readCharStringIndex()
                                                       throws java.io.IOException
        Parses the char string index from the CFF byte data
        Returns:
        Returns the char string index object
        Throws:
        java.io.IOException - Throws an IO Exception if an error occurs