Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 2.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.fop.fonts
Interface FontMetrics

All Known Subinterfaces:
  FontDescriptor, FontMetricsMapper

All Known Implementing Classes:
  AbstractOutlineFont, AFPFont, Base14Font, 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
`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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 2.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 1999-2015 The Apache Software Foundation. All Rights Reserved.