Package org.apache.fontbox.cff
Class Type1CharString
- java.lang.Object
-
- org.apache.fontbox.cff.Type1CharString
-
- Direct Known Subclasses:
Type2CharString
public class Type1CharString extends java.lang.Object
This class represents and renders a Type 1 CharString.
-
-
Field Summary
Fields Modifier and Type Field Description protected int
commandCount
private java.awt.geom.Point2D.Float
current
private java.util.List<java.awt.geom.Point2D.Float>
flexPoints
private Type1CharStringReader
font
private java.lang.String
fontName
private java.lang.String
glyphName
private boolean
isFlex
private java.awt.geom.Point2D.Float
leftSideBearing
private static org.apache.commons.logging.Log
LOG
private java.awt.geom.GeneralPath
path
protected java.util.List<java.lang.Object>
type1Sequence
private int
width
-
Constructor Summary
Constructors Modifier Constructor Description protected
Type1CharString(Type1CharStringReader font, java.lang.String fontName, java.lang.String glyphName)
Constructor for use in subclasses.Type1CharString(Type1CharStringReader font, java.lang.String fontName, java.lang.String glyphName, java.util.List<java.lang.Object> sequence)
Constructs a new Type1CharString object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
callothersubr(int num)
Flex (via OtherSubrs)private void
closepath()
Close path.java.awt.geom.Rectangle2D
getBounds()
Returns the bounds of the renderer path.java.lang.String
getName()
java.awt.geom.GeneralPath
getPath()
Returns the path of the character.java.util.List<java.lang.Object>
getType1Sequence()
Returns the Type 1 char string sequence.int
getWidth()
Returns the advance width of the glyph.private java.util.List<java.lang.Number>
handleCommand(java.util.List<java.lang.Number> numbers, CharStringCommand command)
private void
render()
Renders the Type 1 char string sequence to a GeneralPath.private void
rlineTo(java.lang.Number dx, java.lang.Number dy)
Relative lineto.private void
rmoveTo(java.lang.Number dx, java.lang.Number dy)
Relative moveto.private void
rrcurveTo(java.lang.Number dx1, java.lang.Number dy1, java.lang.Number dx2, java.lang.Number dy2, java.lang.Number dx3, java.lang.Number dy3)
Relative curveto.private void
seac(java.lang.Number asb, java.lang.Number adx, java.lang.Number ady, java.lang.Number bchar, java.lang.Number achar)
Standard Encoding Accented Character Makes an accented character from two other characters.private void
setcurrentpoint(java.lang.Number x, java.lang.Number y)
Sets the current absolute point without performing a moveto.java.lang.String
toString()
-
-
-
Field Detail
-
LOG
private static final org.apache.commons.logging.Log LOG
-
font
private Type1CharStringReader font
-
fontName
private final java.lang.String fontName
-
glyphName
private final java.lang.String glyphName
-
path
private java.awt.geom.GeneralPath path
-
width
private int width
-
leftSideBearing
private java.awt.geom.Point2D.Float leftSideBearing
-
current
private java.awt.geom.Point2D.Float current
-
isFlex
private boolean isFlex
-
flexPoints
private final java.util.List<java.awt.geom.Point2D.Float> flexPoints
-
type1Sequence
protected java.util.List<java.lang.Object> type1Sequence
-
commandCount
protected int commandCount
-
-
Constructor Detail
-
Type1CharString
public Type1CharString(Type1CharStringReader font, java.lang.String fontName, java.lang.String glyphName, java.util.List<java.lang.Object> sequence)
Constructs a new Type1CharString object.- Parameters:
font
- Parent Type 1 CharString font.fontName
- Name of the font.glyphName
- Name of the glyph.sequence
- Type 1 char string sequence
-
Type1CharString
protected Type1CharString(Type1CharStringReader font, java.lang.String fontName, java.lang.String glyphName)
Constructor for use in subclasses.- Parameters:
font
- Parent Type 1 CharString font.fontName
- Name of the font.glyphName
- Name of the glyph.
-
-
Method Detail
-
getName
public java.lang.String getName()
-
getBounds
public java.awt.geom.Rectangle2D getBounds()
Returns the bounds of the renderer path.- Returns:
- the bounds as Rectangle2D
-
getWidth
public int getWidth()
Returns the advance width of the glyph.- Returns:
- the width
-
getPath
public java.awt.geom.GeneralPath getPath()
Returns the path of the character.- Returns:
- the path
-
getType1Sequence
public java.util.List<java.lang.Object> getType1Sequence()
Returns the Type 1 char string sequence.- Returns:
- the Type 1 sequence
-
render
private void render()
Renders the Type 1 char string sequence to a GeneralPath.
-
handleCommand
private java.util.List<java.lang.Number> handleCommand(java.util.List<java.lang.Number> numbers, CharStringCommand command)
-
setcurrentpoint
private void setcurrentpoint(java.lang.Number x, java.lang.Number y)
Sets the current absolute point without performing a moveto. Used only with results from callothersubr
-
callothersubr
private void callothersubr(int num)
Flex (via OtherSubrs)- Parameters:
num
- OtherSubrs entry number
-
rmoveTo
private void rmoveTo(java.lang.Number dx, java.lang.Number dy)
Relative moveto.
-
rlineTo
private void rlineTo(java.lang.Number dx, java.lang.Number dy)
Relative lineto.
-
rrcurveTo
private void rrcurveTo(java.lang.Number dx1, java.lang.Number dy1, java.lang.Number dx2, java.lang.Number dy2, java.lang.Number dx3, java.lang.Number dy3)
Relative curveto.
-
closepath
private void closepath()
Close path.
-
seac
private void seac(java.lang.Number asb, java.lang.Number adx, java.lang.Number ady, java.lang.Number bchar, java.lang.Number achar)
Standard Encoding Accented Character Makes an accented character from two other characters.- Parameters:
asb
-
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-