Class FontProgram

    • Field Detail

      • HORIZONTAL_SCALING_FACTOR

        public static final int HORIZONTAL_SCALING_FACTOR
        See Also:
        Constant Field Values
      • codeToGlyph

        protected java.util.Map<java.lang.Integer,​Glyph> codeToGlyph
      • unicodeToGlyph

        protected java.util.Map<java.lang.Integer,​Glyph> unicodeToGlyph
      • isFontSpecific

        protected boolean isFontSpecific
      • avgWidth

        protected int avgWidth
      • encodingScheme

        protected java.lang.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 java.lang.String registry
    • Constructor Detail

      • FontProgram

        public FontProgram()
    • Method Detail

      • convertTextSpaceToGlyphSpace

        public static float convertTextSpaceToGlyphSpace​(float value)
      • convertGlyphSpaceToTextSpace

        public static float convertGlyphSpaceToTextSpace​(float value)
      • convertGlyphSpaceToTextSpace

        public static double convertGlyphSpaceToTextSpace​(double value)
      • convertGlyphSpaceToTextSpace

        public static int convertGlyphSpaceToTextSpace​(int value)
      • countOfGlyphs

        public int countOfGlyphs()
      • getFontNames

        public FontNames getFontNames()
      • getRegistry

        public java.lang.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​(java.lang.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​(java.lang.String registry)
      • trimFontStyle

        static java.lang.String trimFontStyle​(java.lang.String name)
        Gets the name without the modifiers Bold, Italic or BoldItalic.
        Parameters:
        name - the full name of the font
        Returns:
        the name without the modifiers Bold, Italic or BoldItalic
      • 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​(java.lang.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​(java.lang.String fontFamily)
        Sets a preferred font family name.
        Parameters:
        fontFamily - a preferred font family name.
      • setFontName

        protected void setFontName​(java.lang.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 java.lang.String toString()
        Overrides:
        toString in class java.lang.Object