Class FontProgram

java.lang.Object
com.itextpdf.io.font.FontProgram
Direct Known Subclasses:
CidFont, TrueTypeFont, Type1Font, Type3Font

public abstract class FontProgram extends Object
  • Field Details

    • DEFAULT_WIDTH

      public static final int DEFAULT_WIDTH
      See Also:
    • UNITS_NORMALIZATION

      public static final int UNITS_NORMALIZATION
      See Also:
    • codeToGlyph

      protected Map<Integer,Glyph> codeToGlyph
    • unicodeToGlyph

      protected Map<Integer,Glyph> unicodeToGlyph
    • isFontSpecific

      protected boolean isFontSpecific
    • fontNames

      protected FontNames fontNames
    • fontMetrics

      protected FontMetrics fontMetrics
    • fontIdentification

      protected FontIdentification fontIdentification
    • avgWidth

      protected int avgWidth
    • encodingScheme

      protected String encodingScheme
      The font's encoding name. This encoding is 'StandardEncoding' or 'AdobeStandardEncoding' for a font that can be totally encoded according to the characters names. For all other names the font is treated as symbolic.
    • registry

      protected String registry
  • Constructor Details

    • FontProgram

      public FontProgram()
  • Method Details

    • countOfGlyphs

      public int countOfGlyphs()
    • getFontNames

      public FontNames getFontNames()
    • getFontMetrics

      public FontMetrics getFontMetrics()
    • getFontIdentification

      public FontIdentification getFontIdentification()
    • getRegistry

      public String getRegistry()
    • getPdfFontFlags

      public abstract int getPdfFontFlags()
    • isFontSpecific

      public boolean isFontSpecific()
    • getWidth

      public int getWidth (int unicode)
      Get glyph's width.
      Parameters:
      unicode - a unicode symbol or FontSpecif code.
      Returns:
      Gets width in normalized 1000 units.
    • getAvgWidth

      public int getAvgWidth()
    • getCharBBox

      public int[] getCharBBox (int unicode)
      Get glyph's bbox.
      Parameters:
      unicode - a unicode symbol or FontSpecif code.
      Returns:
      Gets bbox in normalized 1000 units.
    • getGlyph

      public Glyph getGlyph (int unicode)
    • getGlyphByCode

      public Glyph getGlyphByCode (int charCode)
    • hasKernPairs

      public boolean hasKernPairs()
    • getKerning

      public int getKerning (int first, int second)
      Gets the kerning between two glyphs.
      Parameters:
      first - the first unicode value
      second - the second unicode value
      Returns:
      the kerning to be applied
    • getKerning

      public abstract int getKerning (Glyph first, Glyph second)
      Gets the kerning between two glyphs.
      Parameters:
      first - the first glyph
      second - the second glyph
      Returns:
      the kerning to be applied
    • isBuiltWith

      public boolean isBuiltWith (String fontName)
      Checks whether the FontProgram was built with corresponding fontName. Default value is false unless overridden.
      Parameters:
      fontName - a font name or path to a font program
      Returns:
      true, if the FontProgram was built with the fontProgram. Otherwise false.
    • setRegistry

      protected void setRegistry (String registry)
    • setTypoAscender

      protected void setTypoAscender (int ascender)
      Sets typo ascender. See also FontMetrics.setTypoAscender(int).
      Parameters:
      ascender - typo ascender value in 1000-units
    • setTypoDescender

      protected void setTypoDescender (int descender)
      Sets typo descender. See also FontMetrics.setTypoDescender(int).
      Parameters:
      descender - typo descender value in 1000-units
    • setCapHeight

      protected void setCapHeight (int capHeight)
      Sets the capital letters height. See also FontMetrics.setCapHeight(int).
      Parameters:
      capHeight - cap height in 1000-units
    • setXHeight

      protected void setXHeight (int xHeight)
    • setItalicAngle

      protected void setItalicAngle (int italicAngle)
      Sets the PostScript italic angle.

      Italic angle in counter-clockwise degrees from the vertical. Zero for upright text, negative for text that leans to the right (forward).

      Parameters:
      italicAngle - in counter-clockwise degrees from the vertical
    • setStemV

      protected void setStemV (int stemV)
    • setStemH

      protected void setStemH (int stemH)
    • setFontWeight

      protected void setFontWeight (int fontWeight)
      Sets font weight.
      Parameters:
      fontWeight - integer form 100 to 900. See FontWeights.
    • setFontStretch

      protected void setFontStretch (String fontWidth)
      Sets font width in css notation (font-stretch property)
      Parameters:
      fontWidth - FontStretches.
    • setFixedPitch

      protected void setFixedPitch (boolean isFixedPitch)
    • setBold

      protected void setBold (boolean isBold)
    • setBbox

      protected void setBbox (int[] bbox)
    • setFontFamily

      protected void setFontFamily (String fontFamily)
      Sets a preferred font family name.
      Parameters:
      fontFamily - a preferred font family name.
    • setFontName

      protected void setFontName (String fontName)
      Sets the PostScript name of the font.

      If full name is null, it will be set as well.

      Parameters:
      fontName - the PostScript name of the font, shall not be null or empty.
    • fixSpaceIssue

      protected void fixSpaceIssue()
    • toString

      public String toString()
      Overrides:
      toString in class Object