Package org.apache.fontbox.cff
Class Type2CharString
- java.lang.Object
-
- org.apache.fontbox.cff.Type1CharString
-
- org.apache.fontbox.cff.Type2CharString
-
- Direct Known Subclasses:
CIDKeyedType2CharString
public class Type2CharString extends Type1CharString
Represents a Type 2 CharString by converting it into an equivalent Type 1 CharString.
-
-
Field Summary
Fields Modifier and Type Field Description private floatdefWidthXprivate intgidprivate floatnominalWidthXprivate intpathCountprivate java.util.List<java.lang.Object>type2sequence-
Fields inherited from class org.apache.fontbox.cff.Type1CharString
commandCount, type1Sequence
-
-
Constructor Summary
Constructors Constructor Description Type2CharString(Type1CharStringReader font, java.lang.String fontName, java.lang.String glyphName, int gid, java.util.List<java.lang.Object> sequence, int defaultWidthX, int nomWidthX)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidaddCommand(java.util.List<java.lang.Number> numbers, CharStringCommand command)private voidaddCommandList(java.util.List<java.util.List<java.lang.Number>> numbers, CharStringCommand command)private java.util.List<java.lang.Number>clearStack(java.util.List<java.lang.Number> numbers, boolean flag)private voidcloseCharString2Path()private voidconvertType1ToType2(java.util.List<java.lang.Object> sequence)Converts a sequence of Type 2 commands into a sequence of Type 1 commands.private voiddrawAlternatingCurve(java.util.List<java.lang.Number> numbers, boolean horizontal)private voiddrawAlternatingLine(java.util.List<java.lang.Number> numbers, boolean horizontal)private voiddrawCurve(java.util.List<java.lang.Number> numbers, boolean horizontal)private voidexpandStemHints(java.util.List<java.lang.Number> numbers, boolean horizontal)intgetGID()Return the GID (glyph id) of this charstring.java.util.List<java.lang.Object>getType2Sequence()Returns the Type 2 charstring sequence.private java.util.List<java.lang.Number>handleCommand(java.util.List<java.lang.Number> numbers, CharStringCommand command)private voidmarkPath()private static <E> java.util.List<java.util.List<E>>split(java.util.List<E> list, int size)-
Methods inherited from class org.apache.fontbox.cff.Type1CharString
getBounds, getName, getPath, getType1Sequence, getWidth, toString
-
-
-
-
Constructor Detail
-
Type2CharString
public Type2CharString(Type1CharStringReader font, java.lang.String fontName, java.lang.String glyphName, int gid, java.util.List<java.lang.Object> sequence, int defaultWidthX, int nomWidthX)
Constructor.- Parameters:
font- Parent CFF fontfontName- font nameglyphName- glyph name (or CID as hex string)gid- GIDsequence- Type 2 char string sequencedefaultWidthX- default widthnomWidthX- nominal width
-
-
Method Detail
-
getGID
public int getGID()
Return the GID (glyph id) of this charstring.
-
getType2Sequence
public java.util.List<java.lang.Object> getType2Sequence()
Returns the Type 2 charstring sequence.
-
convertType1ToType2
private void convertType1ToType2(java.util.List<java.lang.Object> sequence)
Converts a sequence of Type 2 commands into a sequence of Type 1 commands.- Parameters:
sequence- the Type 2 char string sequence
-
handleCommand
private java.util.List<java.lang.Number> handleCommand(java.util.List<java.lang.Number> numbers, CharStringCommand command)
-
clearStack
private java.util.List<java.lang.Number> clearStack(java.util.List<java.lang.Number> numbers, boolean flag)
-
expandStemHints
private void expandStemHints(java.util.List<java.lang.Number> numbers, boolean horizontal)- Parameters:
numbers-horizontal-
-
markPath
private void markPath()
-
closeCharString2Path
private void closeCharString2Path()
-
drawAlternatingLine
private void drawAlternatingLine(java.util.List<java.lang.Number> numbers, boolean horizontal)
-
drawAlternatingCurve
private void drawAlternatingCurve(java.util.List<java.lang.Number> numbers, boolean horizontal)
-
drawCurve
private void drawCurve(java.util.List<java.lang.Number> numbers, boolean horizontal)
-
addCommandList
private void addCommandList(java.util.List<java.util.List<java.lang.Number>> numbers, CharStringCommand command)
-
addCommand
private void addCommand(java.util.List<java.lang.Number> numbers, CharStringCommand command)
-
split
private static <E> java.util.List<java.util.List<E>> split(java.util.List<E> list, int size)
-
-