Interface FontMetrics

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      int getAscender​(int size)
      Returns the ascent of the font described by this FontMetrics object.
      java.awt.Rectangle getBoundingBox​(int glyphIndex, int size)
      Returns the bounding box of the glyph at the given index, for the given font size.
      int getCapHeight​(int size)
      Returns the size of a capital letter measured from the font's baseline.
      int getDescender​(int size)
      Returns the descent of the font described by this FontMetrics object.
      java.lang.String getEmbedFontName()
      Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").
      java.util.Set<java.lang.String> getFamilyNames()
      Returns the font's family names as a Set of Strings (Example: "Helvetica").
      java.lang.String getFontName()
      Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").
      FontType getFontType()
      Returns the type of the font.
      java.net.URI getFontURI()
      Returns the URI of the font file from which these metrics were loaded.
      java.lang.String getFullName()
      Returns the font's full name (Example: "Helvetica Bold Oblique").
      java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> getKerningInfo()
      Returns the kerning map for the font.
      int getMaxAscent​(int size)
      Returns the maximum ascent of the font described by this FontMetrics object.
      int getStrikeoutPosition​(int size)
      Returns the distance from the baseline to the center of the strikeout line (negative value indicates below baseline).
      int getStrikeoutThickness​(int size)
      Returns the thickness of the strikeout line.
      int getUnderlinePosition​(int size)
      Returns the distance from the baseline to the center of the underline (negative value indicates below baseline).
      int getUnderlineThickness​(int size)
      Returns the thickness of the underline.
      int getWidth​(int i, int size)
      Return the width (in 1/1000ths of point size) of the character at code point i.
      int[] getWidths()
      Return the array of widths.
      int getXHeight​(int size)
      Determines the typical font height of this FontMetrics object
      boolean hasFeature​(int tableType, java.lang.String script, java.lang.String language, java.lang.String feature)
      Determine if metrics supports specific feature in specified font table.
      boolean hasKerningInfo()
      Indicates if the font has kerning information.
      boolean isMultiByte()
      Determines whether the font is a multibyte font.
    • Method Detail

      • getFontURI

        java.net.URI getFontURI()
        Returns the URI of the font file from which these metrics were loaded.
        Returns:
        the font file's URI
      • getFontName

        java.lang.String getFontName()
        Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").
        Returns:
        the font name
      • getFullName

        java.lang.String getFullName()
        Returns the font's full name (Example: "Helvetica Bold Oblique").
        Returns:
        the font's full name
      • getFamilyNames

        java.util.Set<java.lang.String> getFamilyNames()
        Returns the font's family names as a Set of Strings (Example: "Helvetica").
        Returns:
        the font's family names (a Set of Strings)
      • getEmbedFontName

        java.lang.String getEmbedFontName()
        Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").
        Returns:
        the name for font embedding
      • getFontType

        FontType getFontType()
        Returns the type of the font.
        Returns:
        the font type
      • getMaxAscent

        int getMaxAscent​(int size)
        Returns the maximum ascent of the font described by this FontMetrics object. Note: This is not the same as getAscender().
        Parameters:
        size - font size
        Returns:
        ascent in milliponts
      • getAscender

        int getAscender​(int size)
        Returns the ascent of the font described by this FontMetrics object. It returns the nominal ascent within the em box.
        Parameters:
        size - font size
        Returns:
        ascent in milliponts
      • getCapHeight

        int getCapHeight​(int size)
        Returns the size of a capital letter measured from the font's baseline.
        Parameters:
        size - font size
        Returns:
        height of capital characters
      • getDescender

        int getDescender​(int size)
        Returns the descent of the font described by this FontMetrics object.
        Parameters:
        size - font size
        Returns:
        descent in milliponts
      • getXHeight

        int getXHeight​(int size)
        Determines the typical font height of this FontMetrics object
        Parameters:
        size - font size
        Returns:
        font height in millipoints
      • getWidth

        int getWidth​(int i,
                     int size)
        Return the width (in 1/1000ths of point size) of the character at code point i.
        Parameters:
        i - code point index
        size - font size
        Returns:
        the width of the character
      • getWidths

        int[] getWidths()
        Return the array of widths.

        This is used to get an array for inserting in an output format. It should not be used for lookup.

        Returns:
        an array of widths
      • getBoundingBox

        java.awt.Rectangle getBoundingBox​(int glyphIndex,
                                          int size)
        Returns the bounding box of the glyph at the given index, for the given font size.
        Parameters:
        glyphIndex - glyph index
        size - font size
        Returns:
        the scaled bounding box scaled in 1/1000ths of the given size
      • hasKerningInfo

        boolean hasKerningInfo()
        Indicates if the font has kerning information.
        Returns:
        true if kerning is available.
      • getKerningInfo

        java.util.Map<java.lang.Integer,​java.util.Map<java.lang.Integer,​java.lang.Integer>> getKerningInfo()
        Returns the kerning map for the font.
        Returns:
        the kerning map
      • getUnderlinePosition

        int getUnderlinePosition​(int size)
        Returns the distance from the baseline to the center of the underline (negative value indicates below baseline).
        Parameters:
        size - font size
        Returns:
        the position in 1/1000ths of the font size
      • getUnderlineThickness

        int getUnderlineThickness​(int size)
        Returns the thickness of the underline.
        Parameters:
        size - font size
        Returns:
        the thickness in 1/1000ths of the font size
      • getStrikeoutPosition

        int getStrikeoutPosition​(int size)
        Returns the distance from the baseline to the center of the strikeout line (negative value indicates below baseline).
        Parameters:
        size - font size
        Returns:
        the position in 1/1000ths of the font size
      • getStrikeoutThickness

        int getStrikeoutThickness​(int size)
        Returns the thickness of the strikeout line.
        Parameters:
        size - font size
        Returns:
        the thickness in 1/1000ths of the font size
      • hasFeature

        boolean hasFeature​(int tableType,
                           java.lang.String script,
                           java.lang.String language,
                           java.lang.String feature)
        Determine if metrics supports specific feature in specified font table.
        Parameters:
        tableType - type of table (GSUB, GPOS, ...), see GlyphTable.GLYPH_TABLE_TYPE_*
        script - to qualify feature lookup
        language - to qualify feature lookup
        feature - to test
        Returns:
        true if feature supported (and has at least one lookup)
      • isMultiByte

        boolean isMultiByte()
        Determines whether the font is a multibyte font.
        Returns:
        True if it is multibyte