|
fop 2.3 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.apache.fop.fonts.truetype.OpenFont
org.apache.fop.fonts.truetype.OTFFile
org.apache.fop.fonts.truetype.OTFSubSetWriter
org.apache.fop.fonts.truetype.OTFSubSetFile
public class OTFSubSetFile
Reads an OpenType CFF file and generates a subset The OpenType specification can be found at the Microsoft Typography site: http://www.microsoft.com/typography/otspec/
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.apache.fop.fonts.truetype.OpenFont |
---|
OpenFont.PostScriptVersion |
Field Summary | |
---|---|
protected CFFDataReader |
cffReader
The CFF reader object used to read data and offsets from the original font file |
protected java.lang.String |
embeddedName
The embedded name to change in the name table |
protected java.util.List<java.util.List<byte[]>> |
fdSubrs
For fonts which have an FDSelect or ROS flag in Top Dict, this is used to store the local subroutine indexes for each group as opposed to the above subsetLocalIndexSubr |
protected java.util.Map<java.lang.Integer,java.lang.Integer> |
gidToSID
A map of the new GID to SID used to construct the charset table |
protected CFFDataReader.CFFIndexData |
globalIndexSubr
|
protected java.util.List<java.lang.Integer> |
globalUniques
|
protected CFFDataReader.CFFIndexData |
localIndexSubr
|
protected java.util.List<java.lang.Integer> |
localUniques
A list of unique subroutines from the global / local subroutine indexes |
static int |
NUM_STANDARD_STRINGS
The number of standard strings in CFF |
protected java.util.List<byte[]> |
stringIndexData
An array used to hold the string index data for the subset font |
protected java.util.List<byte[]> |
subsetCharStringsIndex
A list of char string data for each glyph to be stored in the subset font |
protected java.util.List<byte[]> |
subsetGlobalIndexSubr
|
protected int |
subsetGlobalSubrCount
|
protected java.util.Map<java.lang.Integer,java.lang.Integer> |
subsetGlyphs
A map containing each glyph to be included in the subset with their existing and new GID's |
protected java.util.List<byte[]> |
subsetLocalIndexSubr
List of subroutines to write to the local / global indexes in the subset font |
protected int |
subsetLocalSubrCount
A store of the number of subroutines each global / local subroutine will store |
Fields inherited from class org.apache.fop.fonts.truetype.OTFSubSetWriter |
---|
currentPos, output |
Fields inherited from class org.apache.fop.fonts.truetype.OTFFile |
---|
fileFont |
Fields inherited from class org.apache.fop.fonts.truetype.OpenFont |
---|
advancedTableReader, cid, dirTabs, embedFontName, familyNames, fontFile, fullName, lastLoca, locaFormat, log, mtxTab, nhmtx, notice, numberOfGlyphs, postScriptName, subFamilyName, TRACE_ENABLED, unicodeMappings, useAdvanced, useKerning |
Constructor Summary | |
---|---|
OTFSubSetFile()
|
Method Summary | |
---|---|
protected void |
createCFF()
|
protected void |
createCharStringDataCID()
|
static byte[] |
createNewRef(int newRef,
int[] operatorCode,
int forceLength,
boolean isDict)
|
CFFDataReader |
getCFFReader()
Returns the parsed CFF data for the original font. |
protected java.util.List<java.lang.Integer> |
getUsedFDFonts()
|
void |
readFont(FontFileReader in,
java.lang.String embeddedName,
MultiByteFont mbFont)
Reads a font. |
protected java.util.List<java.lang.Integer> |
storeFDStrings(java.util.List<java.lang.Integer> uniqueNewRefs)
|
protected void |
updateCIDOffsets(org.apache.fop.fonts.truetype.OTFSubSetFile.Offsets offsets)
|
protected void |
updateFixedOffsets(java.util.Map<java.lang.String,CFFDataReader.DICTEntry> topDICT,
org.apache.fop.fonts.truetype.OTFSubSetFile.Offsets offsets)
|
protected void |
updateOffsets(org.apache.fop.fonts.truetype.OTFSubSetFile.Offsets offsets)
|
protected byte[] |
writeCIDCount(CFFDataReader.DICTEntry dictEntry)
|
protected java.util.List<java.lang.Integer> |
writeCIDDictsAndSubrs(java.util.List<java.lang.Integer> uniqueNewRefs)
|
protected int |
writeFDArray(java.util.List<java.lang.Integer> uniqueNewRefs,
java.util.List<java.lang.Integer> privateDictOffsets,
java.util.List<java.lang.Integer> fontNameSIDs)
|
protected void |
writeFDSelect()
|
protected int |
writeIndex(java.util.List<byte[]> dataArray)
|
protected int |
writeIndex(java.util.List<byte[]> dataArray,
int offSize)
|
protected void |
writePrivateDict()
|
protected int |
writeTopDICT()
|
Methods inherited from class org.apache.fop.fonts.truetype.OTFSubSetWriter |
---|
concatArray, getFontSubset, writeByte, writeBytes, writeCard16, writeThreeByteNumber, writeULong |
Methods inherited from class org.apache.fop.fonts.truetype.OTFFile |
---|
getCFFData, initializeFont, isType1, readName, updateBBoxAndOffset |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected java.util.Map<java.lang.Integer,java.lang.Integer> subsetGlyphs
protected java.util.Map<java.lang.Integer,java.lang.Integer> gidToSID
protected CFFDataReader.CFFIndexData localIndexSubr
protected CFFDataReader.CFFIndexData globalIndexSubr
protected java.util.List<byte[]> subsetLocalIndexSubr
protected java.util.List<byte[]> subsetGlobalIndexSubr
protected java.util.List<java.util.List<byte[]>> fdSubrs
protected java.util.List<java.lang.Integer> localUniques
protected java.util.List<java.lang.Integer> globalUniques
protected int subsetLocalSubrCount
protected int subsetGlobalSubrCount
protected java.util.List<byte[]> subsetCharStringsIndex
protected java.lang.String embeddedName
protected java.util.List<byte[]> stringIndexData
protected CFFDataReader cffReader
public static final int NUM_STANDARD_STRINGS
Constructor Detail |
---|
public OTFSubSetFile() throws java.io.IOException
java.io.IOException
Method Detail |
---|
public void readFont(FontFileReader in, java.lang.String embeddedName, MultiByteFont mbFont) throws java.io.IOException
OpenFont
readFont
in class OpenFont
in
- FontFileReader to read from
java.io.IOException
- in case of an I/O problemprotected void createCFF() throws java.io.IOException
java.io.IOException
protected java.util.List<java.lang.Integer> storeFDStrings(java.util.List<java.lang.Integer> uniqueNewRefs) throws java.io.IOException
java.io.IOException
protected int writeTopDICT() throws java.io.IOException
java.io.IOException
protected byte[] writeCIDCount(CFFDataReader.DICTEntry dictEntry) throws java.io.IOException
java.io.IOException
protected void createCharStringDataCID() throws java.io.IOException
java.io.IOException
protected void writeFDSelect()
protected java.util.List<java.lang.Integer> getUsedFDFonts()
protected java.util.List<java.lang.Integer> writeCIDDictsAndSubrs(java.util.List<java.lang.Integer> uniqueNewRefs) throws java.io.IOException
java.io.IOException
protected int writeFDArray(java.util.List<java.lang.Integer> uniqueNewRefs, java.util.List<java.lang.Integer> privateDictOffsets, java.util.List<java.lang.Integer> fontNameSIDs) throws java.io.IOException
java.io.IOException
public static byte[] createNewRef(int newRef, int[] operatorCode, int forceLength, boolean isDict)
protected int writeIndex(java.util.List<byte[]> dataArray)
protected int writeIndex(java.util.List<byte[]> dataArray, int offSize)
protected void writePrivateDict() throws java.io.IOException
java.io.IOException
protected void updateOffsets(org.apache.fop.fonts.truetype.OTFSubSetFile.Offsets offsets) throws java.io.IOException
java.io.IOException
protected void updateFixedOffsets(java.util.Map<java.lang.String,CFFDataReader.DICTEntry> topDICT, org.apache.fop.fonts.truetype.OTFSubSetFile.Offsets offsets) throws java.io.IOException
java.io.IOException
protected void updateCIDOffsets(org.apache.fop.fonts.truetype.OTFSubSetFile.Offsets offsets) throws java.io.IOException
java.io.IOException
public CFFDataReader getCFFReader()
|
fop 2.3 | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |