Class CFFDataReader

java.lang.Object
org.docx4j.fonts.fop.fonts.cff.CFFDataReader

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

    • 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 Details

    • getPrivateDict

      public java.util.Map<java.lang.String,​CFFDataReader.DICTEntry> getPrivateDict​(CFFDataReader.DICTEntry privateEntry) throws java.io.IOException
      Throws:
      java.io.IOException
    • 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()
    • getNameIndex

      public CFFDataReader.CFFIndexData getNameIndex()
    • getTopDictIndex

      public CFFDataReader.CFFIndexData getTopDictIndex()
    • getTopDictEntries

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

      public CFFDataReader.CFFIndexData getStringIndex()
    • getGlobalIndexSubr

      public CFFDataReader.CFFIndexData getGlobalIndexSubr()
    • getLocalIndexSubr

      public CFFDataReader.CFFIndexData getLocalIndexSubr()
    • getCharStringIndex

      public CFFDataReader.CFFIndexData getCharStringIndex()
    • getCFFData

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

      public CFFDataReader.CustomEncoding getEncoding()
    • getFDSelect

      public CFFDataReader.FDSelect getFDSelect()
    • getFDFonts

      public java.util.List<CFFDataReader.FontDict> getFDFonts()
    • 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