Class Type1CharString

  • Direct Known Subclasses:
    Type2CharString

    public class Type1CharString
    extends java.lang.Object
    This class represents and renders a Type 1 CharString.
    • 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
      protected void addCommand​(java.util.List<java.lang.Number> numbers, CharStringCommand command)
      Add a command to the type1 sequence.
      private void callothersubr​(int num)
      Flex (via OtherSubrs)
      private void closeCharString1Path()
      Close path.
      java.awt.geom.Rectangle2D getBounds()
      Returns the bounds of the renderer path.
      protected java.lang.Object getLastSequenceEntry()
      Returns the last entry of the underlying type1 sequence.
      java.lang.String getName()  
      java.awt.geom.GeneralPath getPath()
      Returns the path of the character.
      int getWidth()
      Returns the advance width of the glyph.
      private void handleType1Command​(java.util.List<java.lang.Number> numbers, CharStringCommand command)  
      protected boolean isSequenceEmpty()
      Indicates if the underlying type1 sequence is empty.
      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()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • LOG

        private static final org.apache.commons.logging.Log LOG
      • 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 added
        command - 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:
        toString in class java.lang.Object