Class Type2CharString

    • Field Detail

      • defWidthX

        private float defWidthX
      • nominalWidthX

        private float nominalWidthX
      • pathCount

        private int pathCount
      • type2sequence

        private final java.util.List<java.lang.Object> type2sequence
      • gid

        private final int gid
    • 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 font
        fontName - font name
        glyphName - glyph name (or CID as hex string)
        gid - GID
        sequence - Type 2 char string sequence
        defaultWidthX - default width
        nomWidthX - 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)