Class Type1CharString

java.lang.Object
org.apache.fontbox.cff.Type1CharString
Direct Known Subclasses:
Type2CharString

public class Type1CharString extends Object
This class represents and renders a Type 1 CharString.
  • Field Details

    • LOG

      private static final org.apache.commons.logging.Log LOG
    • font

      private Type1CharStringReader font
    • fontName

      private final String fontName
    • glyphName

      private final String glyphName
    • path

      private GeneralPath path
    • width

      private int width
    • leftSideBearing

      private Point2D.Float leftSideBearing
    • current

      private Point2D.Float current
    • isFlex

      private boolean isFlex
    • flexPoints

      private final List<Point2D.Float> flexPoints
    • type1Sequence

      protected List<Object> type1Sequence
    • commandCount

      protected int commandCount
  • Constructor Details

    • Type1CharString

      public Type1CharString(Type1CharStringReader font, String fontName, String glyphName, List<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, String fontName, 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 Details

    • getName

      public String getName()
    • getBounds

      public 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 GeneralPath getPath()
      Returns the path of the character.
      Returns:
      the path
    • getType1Sequence

      public List<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 List<Number> handleCommand(List<Number> numbers, CharStringCommand command)
    • setcurrentpoint

      private void setcurrentpoint(Number x, 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(Number dx, Number dy)
      Relative moveto.
    • rlineTo

      private void rlineTo(Number dx, Number dy)
      Relative lineto.
    • rrcurveTo

      private void rrcurveTo(Number dx1, Number dy1, Number dx2, Number dy2, Number dx3, Number dy3)
      Relative curveto.
    • closeCharString1Path

      private void closeCharString1Path()
      Close path.
    • seac

      private void seac(Number asb, Number adx, Number ady, Number bchar, Number achar)
      Standard Encoding Accented Character Makes an accented character from two other characters.
      Parameters:
      asb -
    • toString

      public String toString()
      Overrides:
      toString in class Object