Package org.apache.fontbox.cff
Class Type2CharStringParser
- java.lang.Object
-
- org.apache.fontbox.cff.Type2CharStringParser
-
public class Type2CharStringParser extends java.lang.ObjectThis class represents a converter for a mapping into a Type2-sequence.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classType2CharStringParser.GlyphData
-
Constructor Summary
Constructors Constructor Description Type2CharStringParser(java.lang.String fontName)Constructs a new Type1CharStringParser object for a Type 1-equivalent font.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private intcalculateSubrNumber(int operand, int subrIndexlength)private intcountNumbers(java.util.List<java.lang.Object> sequence)private intgetMaskLength(int hstemCount, int vstemCount)private byte[]getSubrBytes(byte[][] subrIndex, Type2CharStringParser.GlyphData glyphData)java.util.List<java.lang.Object>parse(byte[] bytes, byte[][] globalSubrIndex, byte[][] localSubrIndex, java.lang.String glyphName)The given byte array will be parsed and converted to a Type2 sequence.private voidparseSequence(byte[] bytes, byte[][] globalSubrIndex, byte[][] localSubrIndex, Type2CharStringParser.GlyphData glyphData)private voidprocessCallGSubr(byte[][] globalSubrIndex, byte[][] localSubrIndex, Type2CharStringParser.GlyphData glyphData)private voidprocessCallSubr(byte[][] globalSubrIndex, byte[][] localSubrIndex, Type2CharStringParser.GlyphData glyphData)private voidprocessSubr(byte[][] globalSubrIndex, byte[][] localSubrIndex, byte[] subrBytes, Type2CharStringParser.GlyphData glyphData)private CharStringCommandreadCommand(int b0, DataInput input, Type2CharStringParser.GlyphData glyphData)private java.lang.NumberreadNumber(int b0, DataInput input)java.lang.StringtoString()
-
-
-
Method Detail
-
parse
public java.util.List<java.lang.Object> parse(byte[] bytes, byte[][] globalSubrIndex, byte[][] localSubrIndex, java.lang.String glyphName) throws java.io.IOExceptionThe given byte array will be parsed and converted to a Type2 sequence.- Parameters:
bytes- the given mapping as byte arrayglobalSubrIndex- array containing all global subroutineslocalSubrIndex- array containing all local subroutinesglyphName- the name of the current glyph- Returns:
- the Type2 sequence
- Throws:
java.io.IOException- if an error occurs during reading
-
parseSequence
private void parseSequence(byte[] bytes, byte[][] globalSubrIndex, byte[][] localSubrIndex, Type2CharStringParser.GlyphData glyphData) throws java.io.IOException- Throws:
java.io.IOException
-
getSubrBytes
private byte[] getSubrBytes(byte[][] subrIndex, Type2CharStringParser.GlyphData glyphData)
-
processCallSubr
private void processCallSubr(byte[][] globalSubrIndex, byte[][] localSubrIndex, Type2CharStringParser.GlyphData glyphData) throws java.io.IOException- Throws:
java.io.IOException
-
processCallGSubr
private void processCallGSubr(byte[][] globalSubrIndex, byte[][] localSubrIndex, Type2CharStringParser.GlyphData glyphData) throws java.io.IOException- Throws:
java.io.IOException
-
processSubr
private void processSubr(byte[][] globalSubrIndex, byte[][] localSubrIndex, byte[] subrBytes, Type2CharStringParser.GlyphData glyphData) throws java.io.IOException- Throws:
java.io.IOException
-
calculateSubrNumber
private int calculateSubrNumber(int operand, int subrIndexlength)
-
readCommand
private CharStringCommand readCommand(int b0, DataInput input, Type2CharStringParser.GlyphData glyphData) throws java.io.IOException
- Throws:
java.io.IOException
-
readNumber
private java.lang.Number readNumber(int b0, DataInput input) throws java.io.IOException- Throws:
java.io.IOException
-
getMaskLength
private int getMaskLength(int hstemCount, int vstemCount)
-
countNumbers
private int countNumbers(java.util.List<java.lang.Object> sequence)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-