Package org.apache.fop.fonts.cff
Class CFFDataReader
- java.lang.Object
-
- org.apache.fop.fonts.cff.CFFDataReader
-
public class CFFDataReader extends java.lang.Object
A class to read the CFF data from an OTF CFF font file.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description class
CFFDataReader.CFFIndexData
An object used to hold index data from the CFF dataclass
CFFDataReader.CFFSubTable
Parent class which provides the ability to retrieve byte data from a sub-table.class
CFFDataReader.CustomEncoding
static class
CFFDataReader.DICTEntry
A class containing data for a dictionary entryclass
CFFDataReader.FDSelect
class
CFFDataReader.FontDict
class
CFFDataReader.Format0Encoding
class
CFFDataReader.Format0FDSelect
class
CFFDataReader.Format1Encoding
class
CFFDataReader.Format3FDSelect
-
Constructor Summary
Constructors Constructor Description CFFDataReader()
CFFDataReader(byte[] cffDataArray)
Constructor for the CFF data reader which accepts the CFF byte data as an argument.CFFDataReader(FontFileReader fontFile)
Constructor for the CFF data reader which accepts a FontFileReader object which points to the original font file as an argument.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description org.apache.fontbox.cff.CFFDataInput
getCFFData()
CFFDataReader.CFFIndexData
getCharStringIndex()
CFFDataReader.CustomEncoding
getEncoding()
java.util.List<CFFDataReader.FontDict>
getFDFonts()
CFFDataReader.FDSelect
getFDSelect()
CFFDataReader.CFFIndexData
getGlobalIndexSubr()
byte[]
getHeader()
CFFDataReader.CFFIndexData
getLocalIndexSubr()
org.apache.fontbox.cff.CFFDataInput
getLocalSubrsForGlyph(int glyph)
CFFDataReader.CFFIndexData
getNameIndex()
java.util.Map<java.lang.String,CFFDataReader.DICTEntry>
getPrivateDict(CFFDataReader.DICTEntry privateEntry)
byte[]
getPrivateDictBytes(CFFDataReader.DICTEntry privateEntry)
int
getSIDFromGID(int charsetOffset, int gid)
Retrieves the SID for the given GID objectCFFDataReader.CFFIndexData
getStringIndex()
java.util.LinkedHashMap<java.lang.String,CFFDataReader.DICTEntry>
getTopDictEntries()
CFFDataReader.CFFIndexData
getTopDictIndex()
java.util.LinkedHashMap<java.lang.String,CFFDataReader.DICTEntry>
parseDictData(byte[] dictData)
Parses the dictionary data and returns a map of objects for each entryCFFDataReader.CFFIndexData
readCharStringIndex()
Parses the char string index from the CFF byte dataCFFDataReader.CFFIndexData
readIndex(int offset)
Reads a CFF index object are the specified offset positionCFFDataReader.CFFIndexData
readIndex(org.apache.fontbox.cff.CFFDataInput input)
Reads an index from the current position of the CFFDataInput object
-
-
-
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
-
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 datagid
- 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
-
-