Class CharStringsWidths


  • public class CharStringsWidths
    extends Object
    This class handles obtaining glyph widths from cff charStrings. If font is a subset, then all charstrings are parsed at initialization, else each charstring is parsed separately in getter.
    Author:
    Sergey Shemyakov
    • Constructor Detail

      • CharStringsWidths

        public CharStringsWidths​(boolean isSubset,
                                 int charStringType,
                                 org.verapdf.pd.font.cff.CFFCharStringsHandler charStrings,
                                 float[][] fontMatrices,
                                 CFFIndex[] localSubrIndex,
                                 CFFIndex globalSubrs,
                                 int[] bias,
                                 int[] defaultWidths,
                                 int[] nominalWidths,
                                 int[] fdSelect)
        Initializes handler with given values.
        Parameters:
        isSubset - is true if font is subset. In this case all widths will be parsed during handler initialization.
        charStringType - is type of charstring.
        charStrings - is charstring handler with charstring data.
        fontMatrices - is array of font matrix for each FDArray element.
        localSubrIndex - is array of local subrs for each FDArray element.
        globalSubrs - is array of global subrs for each FDArray element.
        bias - is array of bias values for each FDArray element.
        defaultWidths - is array of default widths for each FDArray element.
        nominalWidths - is array of nominal widths for each FDArray element.
        fdSelect - is fd select array as specified in CFF font.
      • CharStringsWidths

        public CharStringsWidths​(boolean isSubset,
                                 int charStringType,
                                 org.verapdf.pd.font.cff.CFFCharStringsHandler charStrings,
                                 float[] fontMatrix,
                                 CFFIndex localSubrIndex,
                                 CFFIndex globalSubrs,
                                 int bias,
                                 int defaultWidth,
                                 int nominalWidth)
        Initializes handler with given values.
        Parameters:
        isSubset - is true if font is subset. In this case all widths will be parsed during handler initialization.
        charStringType - is type of charstring.
        charStrings - is charstring handler with charstring data.
        fontMatrix - is font matrix for this charstrings.
        localSubrIndex - is CFFIndex with local subrs.
        globalSubrs - is CFFIndex with global subrs.
        bias - is bias value that depends on local subrs size.
        defaultWidth - is a default width for this font program.
        nominalWidth - is a nominal width for this font program.
    • Method Detail

      • getWidth

        public float getWidth​(int gid)
        Gets width for glyph with given gid from charstrings.
        Parameters:
        gid - is glyph id.
        Returns:
        width for glyph with given gid.
      • getWidthsAmount

        public int getWidthsAmount()
        Returns:
        amount of width in charstrings.