Interface FontMetrics

All Known Subinterfaces:
FontDescriptor, FontMetricsMapper
All Known Implementing Classes:
AbstractOutlineFont, AFPFont, AFPFontConfig.AFPTrueTypeFont, Base14Font, CFFToType1Font, CIDFont, Courier, CourierBold, CourierBoldOblique, CourierOblique, CustomFont, CustomFontMetricsMapper, DoubleByteFont, Helvetica, HelveticaBold, HelveticaBoldOblique, HelveticaOblique, LazyFont, MultiByteFont, OutlineFont, RasterFont, SingleByteFont, Symbol, SystemFontMetricsMapper, TimesBold, TimesBoldItalic, TimesItalic, TimesRoman, Typeface, ZapfDingbats

public interface FontMetrics
Main interface for access to font metrics.
  • Method Summary

    Modifier and Type
    Method
    Description
    int
    getAscender(int size)
    Returns the ascent of the font described by this FontMetrics object.
    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.
    Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").
    Returns the font's family names as a Set of Strings (Example: "Helvetica").
    Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").
    Returns the type of the font.
    Returns the URI of the font file from which these metrics were loaded.
    Returns the font's full name (Example: "Helvetica Bold Oblique").
    Returns the kerning map for the font.
    int
    getMaxAscent(int size)
    Returns the maximum ascent of the font described by this FontMetrics object.
    int
    Returns the distance from the baseline to the center of the strikeout line (negative value indicates below baseline).
    int
    Returns the thickness of the strikeout line.
    int
    Returns the distance from the baseline to the center of the underline (negative value indicates below baseline).
    int
    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[]
    Return the array of widths.
    int
    getXHeight(int size)
    Determines the typical font height of this FontMetrics object
    boolean
    hasFeature(int tableType, String script, String language, String feature)
    Determine if metrics supports specific feature in specified font table.
    boolean
    Indicates if the font has kerning information.
    boolean
    Determines whether the font is a multibyte font.
  • Method Details

    • getFontURI

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

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

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

      Set<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

      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

      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

      Map<Integer,Map<Integer,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, String script, String language, 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