Class CIDFontType2


  • public class CIDFontType2
    extends TTFFont
    a font object derived from a CID font.
    • Field Detail

      • widths

        private java.util.Map<java.lang.Character,​java.lang.Float> widths
        The width of each glyph from the DW and W arrays
      • widthsVertical

        private java.util.Map<java.lang.Character,​java.lang.Float> widthsVertical
        The vertical width of each glyph from the DW2 and W2 arrays
      • defaultWidth

        private int defaultWidth
      • defaultWidthVertical

        private int defaultWidthVertical
      • cidToGidMap

        private java.nio.ByteBuffer cidToGidMap
        the CIDtoGID map, if any
    • Constructor Detail

      • CIDFontType2

        public CIDFontType2​(java.lang.String baseName,
                            PDFObject fontObj,
                            PDFFontDescriptor descriptor)
                     throws java.io.IOException
        create a new CIDFontType2 object based on the name of a built-in font and the font descriptor
        Parameters:
        baseName - the name of the font, from the PDF file
        fontObj - a dictionary that contains the DW (defaultWidth) and W (width) parameters
        descriptor - a descriptor for the font
        Throws:
        java.io.IOException
    • Method Detail

      • parseWidths

        private void parseWidths​(PDFObject fontObj)
                          throws java.io.IOException
        Parse the Widths array and DW object
        Throws:
        java.io.IOException
      • getDefaultWidth

        public int getDefaultWidth()
        Get the default width in text space
        Overrides:
        getDefaultWidth in class OutlineFont
      • getWidth

        public float getWidth​(char code,
                              java.lang.String name)
        Get the width of a given character
        Overrides:
        getWidth in class OutlineFont
      • getDefaultWidthVertical

        public int getDefaultWidthVertical()
        Get the default vertical width in text space
      • getWidthVertical

        public float getWidthVertical​(char code,
                                      java.lang.String name)
        Get the vertical width of a given character
      • getOutline

        protected java.awt.geom.GeneralPath getOutline​(char src,
                                                       float width)
        Get the outline of a character given the character code. We interpose here in order to avoid using the CMap of the font in a CID mapped font.
        Overrides:
        getOutline in class TTFFont
        Parameters:
        src - the character code of the desired glyph
        Returns:
        the glyph outline