public class CFFFontSubset extends CFFFont
CFFFont.DictNumberItem, CFFFont.DictOffsetItem, CFFFont.Font, CFFFont.IndexBaseItem, CFFFont.IndexMarkerItem, CFFFont.IndexOffsetItem, CFFFont.Item, CFFFont.MarkerItem, CFFFont.OffsetItem, CFFFont.RangeItem, CFFFont.StringItem, CFFFont.SubrMarkerItem, CFFFont.UInt16Item, CFFFont.UInt24Item, CFFFont.UInt32Item, CFFFont.UInt8Itemarg_count, args, buf, fonts, gsubrIndexOffset, gsubrOffsets, key, nameIndexOffset, nameOffsets, stringIndexOffset, stringOffsets, topdictIndexOffset, topdictOffsets| Constructor and Description |
|---|
CFFFontSubset(byte[] cff,
Set<Integer> GlyphsUsed)
C'tor for CFFFontSubset
|
| Modifier and Type | Method and Description |
|---|---|
protected byte[] |
AssembleIndex(int[] NewOffsets,
byte[] NewObjects)
Function creates the new index, inserting the count,offsetsize,offset array
and object array.
|
protected void |
BuildFDArrayUsed(int Font)
Function reads the FDSelect and builds the FDArrayUsed Map According to the glyphs used
|
protected void |
BuildFDSubrsOffsets(int Font,
int FD)
The function finds for the FD array processed the local subr offset and its
offset array.
|
protected void |
BuildGSubrsUsed(int Font)
Function scans the Glsubr used list to find recursive calls
to Gsubrs and adds to Map and list
|
protected void |
BuildIndexHeader(int Count,
int Offsize,
int First)
Function Build the header of an index
|
protected void |
BuildNewCharString(int FontIndex)
Function uses BuildNewIndex to create the new index of the subset charstrings
|
protected byte[] |
BuildNewFile(int Font)
The function builds the new output stream according to the subset process
|
protected byte[] |
BuildNewIndex(int[] Offsets,
Set<Integer> Used,
byte OperatorForUnusedEntries)
Function builds the new offset array, object array and assembles the index.
|
protected byte[] |
BuildNewIndexAndCopyAllGSubrs(int[] Offsets,
byte OperatorForUnusedEntries)
Function builds the new offset array, object array and assembles the index.
|
protected void |
BuildNewLGSubrs(int Font)
Function builds the new local and global subsrs indices.
|
protected void |
BuildSubrUsed(int Font,
int FD,
int SubrOffset,
int[] SubrsOffsets,
Set<Integer> hSubr,
List<Integer> lSubr)
Function uses ReadAsubr on the glyph used to build the LSubr and Gsubr Map.
|
protected int |
CalcBias(int Offset,
int Font)
Function calcs bias according to the CharString type and the count
of the subrs
|
protected int |
CalcHints(int begin,
int end,
int LBias,
int GBias,
int[] LSubrsOffsets)
The function reads the subroutine and returns the number of the hint in it.
|
protected void |
CopyHeader()
Function Copies the header from the original fileto the output list
|
protected int |
countEntireIndexRange(int indexOffset)
Function computes the size of an index
|
protected void |
CreateCharset(CFFFont.OffsetItem charsetRef,
int nglyphs)
Function creates new CharSet for non-CID fonts.
|
protected void |
CreateFDArray(CFFFont.OffsetItem fdarrayRef,
CFFFont.OffsetItem privateRef,
int Font)
Function creates new FDArray for non-CID fonts.
|
protected void |
CreateFDSelect(CFFFont.OffsetItem fdselectRef,
int nglyphs)
Function creates new FDSelect for non-CID fonts.
|
protected void |
CreateKeys(CFFFont.OffsetItem fdarrayRef,
CFFFont.OffsetItem fdselectRef,
CFFFont.OffsetItem charsetRef,
CFFFont.OffsetItem charstringsRef)
Function adds the keys into the TopDict
|
protected void |
CreateNewStringIndex(int Font)
Function takes the original string item and adds the new strings
to accommodate the CID rules
|
protected void |
EmptyStack()
Empty the Type2 Stack
|
protected void |
HandelStack()
Function Checks how the current operator effects the run time stack after being run
An operator may increase or decrease the stack size
|
protected void |
PopStack()
Pop one element from the stack
|
byte[] |
Process()
The Process function extracts one font out of the CFF file and returns a
subset version of the original with the first name.
|
byte[] |
Process(String fontName)
The Process function extracts one font out of the CFF file and returns a
subset version of the original.
|
protected void |
PushStack()
Add an item to the stack
|
protected void |
ReadASubr(int begin,
int end,
int GBias,
int LBias,
Set<Integer> hSubr,
List<Integer> lSubr,
int[] LSubrsOffsets)
The function reads a subrs (glyph info) between begin and end.
|
protected void |
ReadCommand()
The function reads the next command after the file pointer is set
|
protected void |
ReadFDArray(int Font)
Read the FDArray count, offsize and Offset array
|
protected void |
readFDSelect(int Font)
Read the FDSelect of the font and compute the array and its length
|
protected int |
StackOpp()
Function checks the key and return the change to the stack after the operator
|
exists, getCID, getDictItem, getEntireIndexRange, getNames, getString, isCIDprotected void readFDSelect(int Font)
Font - The index of the font being processedprotected void BuildFDArrayUsed(int Font)
Font - the Number of font being processedprotected void ReadFDArray(int Font)
Font - the Number of font being processedpublic byte[] Process(String fontName)
fontName - - The name of the font to be taken out of the CFFpublic byte[] Process()
protected int CalcBias(int Offset,
int Font)
Offset - The offset to the relevant subrs indexFont - the fontprotected void BuildNewCharString(int FontIndex)
throws IOException
FontIndex - the fontIOExceptionprotected void BuildNewLGSubrs(int Font)
throws IOException
Font - the fontIOExceptionprotected void BuildFDSubrsOffsets(int Font,
int FD)
Font - the fontFD - The FDARRAY processedprotected void BuildSubrUsed(int Font,
int FD,
int SubrOffset,
int[] SubrsOffsets,
Set<Integer> hSubr,
List<Integer> lSubr)
Font - the fontFD - FD array processed. 0 indicates function was called by non CID fontSubrOffset - the offset to the subr index to calc the biasSubrsOffsets - the offset array of the subr indexhSubr - Map of the subrs usedlSubr - list of the subrs usedprotected void BuildGSubrsUsed(int Font)
Font - the fontprotected void ReadASubr(int begin,
int end,
int GBias,
int LBias,
Set<Integer> hSubr,
List<Integer> lSubr,
int[] LSubrsOffsets)
begin - the start point of the subrend - the end point of the subrGBias - the bias of the Global SubrsLBias - the bias of the Local SubrshSubr - the Map for the lSubrslSubr - the list for the lSubrsLSubrsOffsets - protected void HandelStack()
protected int StackOpp()
protected void EmptyStack()
protected void PopStack()
protected void PushStack()
protected void ReadCommand()
protected int CalcHints(int begin,
int end,
int LBias,
int GBias,
int[] LSubrsOffsets)
begin - the start point of the subrend - the end point of the subrLBias - the bias of the Local SubrsGBias - the bias of the Global SubrsLSubrsOffsets - The Offsets array of the subroutinesprotected byte[] BuildNewIndex(int[] Offsets,
Set<Integer> Used,
byte OperatorForUnusedEntries)
throws IOException
Offsets - the offset array of the original indexUsed - the Map of the used objectsOperatorForUnusedEntries - the operator inserted into the data stream for unused entriesIOExceptionprotected byte[] BuildNewIndexAndCopyAllGSubrs(int[] Offsets,
byte OperatorForUnusedEntries)
throws IOException
Offsets - the offset array of the original indexOperatorForUnusedEntries - the operator inserted into the data stream for unused entriesIOExceptionprotected byte[] AssembleIndex(int[] NewOffsets,
byte[] NewObjects)
NewOffsets - the subsetted offset arrayNewObjects - the subsetted object arrayprotected byte[] BuildNewFile(int Font)
Font - the fontprotected void CopyHeader()
protected void BuildIndexHeader(int Count,
int Offsize,
int First)
Count - the count field of the indexOffsize - the offsize field of the indexFirst - the first offset of the indexprotected void CreateKeys(CFFFont.OffsetItem fdarrayRef, CFFFont.OffsetItem fdselectRef, CFFFont.OffsetItem charsetRef, CFFFont.OffsetItem charstringsRef)
fdarrayRef - OffsetItem for the FDArrayfdselectRef - OffsetItem for the FDSelectcharsetRef - OffsetItem for the CharSetcharstringsRef - OffsetItem for the CharStringprotected void CreateNewStringIndex(int Font)
Font - the fontprotected void CreateFDSelect(CFFFont.OffsetItem fdselectRef, int nglyphs)
fdselectRef - OffsetItem for the FDSelectnglyphs - the number of glyphs in the fontprotected void CreateCharset(CFFFont.OffsetItem charsetRef, int nglyphs)
charsetRef - OffsetItem for the CharSetnglyphs - the number of glyphs in the fontprotected void CreateFDArray(CFFFont.OffsetItem fdarrayRef, CFFFont.OffsetItem privateRef, int Font)
fdarrayRef - OffsetItem for the FDArrayprivateRef - OffsetItem for the Private DictFont - the fontprotected int countEntireIndexRange(int indexOffset)
indexOffset - The offset for the computed indexCopyright © 1998–2020 iText Group NV. All rights reserved.