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.ObjectThis class represents and renders a Type 1 CharString.
-
-
Field Summary
Fields Modifier and Type Field Description private intcommandCountprivate java.awt.geom.Point2D.Floatcurrentprivate java.util.List<java.awt.geom.Point2D.Float>flexPointsprivate Type1CharStringReaderfontprivate java.lang.StringfontNameprivate java.lang.StringglyphNameprivate booleanisFlexprivate java.awt.geom.Point2D.FloatleftSideBearingprivate static org.apache.commons.logging.LogLOGprivate java.awt.geom.GeneralPathpathprivate java.util.List<java.lang.Object>type1Sequenceprivate intwidth
-
Constructor Summary
Constructors Modifier Constructor Description protectedType1CharString(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 protected voidaddCommand(java.util.List<java.lang.Number> numbers, CharStringCommand command)Add a command to the type1 sequence.private voidcallothersubr(int num)Flex (via OtherSubrs)private voidcloseCharString1Path()Close path.java.awt.geom.Rectangle2DgetBounds()Returns the bounds of the renderer path.protected java.lang.ObjectgetLastSequenceEntry()Returns the last entry of the underlying type1 sequence.java.lang.StringgetName()java.awt.geom.GeneralPathgetPath()Returns the path of the character.intgetWidth()Returns the advance width of the glyph.private voidhandleType1Command(java.util.List<java.lang.Number> numbers, CharStringCommand command)protected booleanisSequenceEmpty()Indicates if the underlying type1 sequence is empty.private voidrender()Renders the Type 1 char string sequence to a GeneralPath.private voidrlineTo(java.lang.Number dx, java.lang.Number dy)Relative lineto.private voidrmoveTo(java.lang.Number dx, java.lang.Number dy)Relative moveto.private voidrrcurveTo(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 voidseac(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 voidsetcurrentpoint(java.lang.Number x, java.lang.Number y)Sets the current absolute point without performing a moveto.java.lang.StringtoString()
-
-
-
Field Detail
-
LOG
private static final org.apache.commons.logging.Log LOG
-
font
private final 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
private final java.util.List<java.lang.Object> type1Sequence
-
commandCount
private 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
-
render
private void render()
Renders the Type 1 char string sequence to a GeneralPath.
-
handleType1Command
private void handleType1Command(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.
-
closeCharString1Path
private void closeCharString1Path()
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-
-
addCommand
protected void addCommand(java.util.List<java.lang.Number> numbers, CharStringCommand command)Add a command to the type1 sequence.- Parameters:
numbers- the parameters of the command to be addedcommand- the command to be added
-
isSequenceEmpty
protected boolean isSequenceEmpty()
Indicates if the underlying type1 sequence is empty.- Returns:
- true if the sequence is empty
-
getLastSequenceEntry
protected java.lang.Object getLastSequenceEntry()
Returns the last entry of the underlying type1 sequence.- Returns:
- the last entry of the type 1 sequence or null if empty
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-