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 float
defWidthX
private int
gid
private float
nominalWidthX
private int
pathCount
private 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 void
addCommand(java.util.List<java.lang.Number> numbers, CharStringCommand command)
private void
addCommandList(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 void
closePath()
private void
convertType1ToType2(java.util.List<java.lang.Object> sequence)
Converts a sequence of Type 2 commands into a sequence of Type 1 commands.private void
drawAlternatingCurve(java.util.List<java.lang.Number> numbers, boolean horizontal)
private void
drawAlternatingLine(java.util.List<java.lang.Number> numbers, boolean horizontal)
private void
drawCurve(java.util.List<java.lang.Number> numbers, boolean horizontal)
private void
expandStemHints(java.util.List<java.lang.Number> numbers, boolean horizontal)
int
getGID()
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 void
markPath()
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()
-
closePath
private void closePath()
-
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)
-
-