fop 1.1

## org.apache.fop.render.java2d
Class CustomFontMetricsMapper

    java.lang.Object
      org.apache.fop.fonts.Typeface
          org.apache.fop.render.java2d.CustomFontMetricsMapper

All Implemented Interfaces:
  FontMetrics, FontMetricsMapper

    public class CustomFontMetricsMapper

extends Typeface
implements FontMetricsMapper

FontMetricsMapper that delegates most methods to an underlying `FontMetrics` instance. This class was designed to allow the underlying `Font` to be loaded from a user-configured file not registered in the current graphics environment.

Field Summary

Fields inherited from class org.apache.fop.fonts.Typeface
`eventListener, NOT_FOUND`

Constructor Summary
`CustomFontMetricsMapper(CustomFont fontMetrics)` Construction of this class results in the immediate construction of the underlying `Font`.
`CustomFontMetricsMapper(LazyFont fontMetrics, javax.xml.transform.Source fontSource)` Construction of this class results in the immediate construction of the underlying `Font`.

Method Summary
`int` `getAscender(int size)` Returns the ascent of the font described by this FontMetrics object.
`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.lang.String` `getEncodingName()` Get the encoding of the font.
`java.util.Set<java.lang.String>` `getFamilyNames()` Returns the font's family names as a Set of Strings (Example: "Helvetica").
`java.awt.Font` `getFont(int size)` Gets a `Font` instance of the font that this `FontMetrics` describes in the desired size.
`java.lang.String` `getFontName()` Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").
`FontType` `getFontType()` Returns the type of the font.
`java.lang.String` `getFullName()` Returns the font's full name (Example: "Helvetica Bold Oblique").
`java.util.Map` `getKerningInfo()` Returns the kerning map for the font.
`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` `hasChar(char c)` Determines whether this font contains a particular character/glyph.
`boolean` `hasKerningInfo()` Indicates if the font has kering information.
`char` `mapChar(char c)` Map a Unicode character to a code point in the font.

Methods inherited from class org.apache.fop.fonts.Typeface
`getMaxAscent, hadMappingOperations, isMultiByte, notifyMapOperation, setEventListener, toString, warnMissingGlyph`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.apache.fop.fonts.FontMetrics
`getMaxAscent`

Constructor Detail

### CustomFontMetricsMapper

    public CustomFontMetricsMapper(CustomFont fontMetrics)
                            throws java.awt.FontFormatException,
                                   java.io.IOException

  Construction of this class results in the immediate construction of the underlying `Font`.

  Parameters:
    `fontMetrics` - the metrics of the custom font
  Throws:
    `java.awt.FontFormatException` - if a bad font is loaded
    `java.io.IOException` - if an I/O error occurs

### CustomFontMetricsMapper

    public CustomFontMetricsMapper(LazyFont fontMetrics,
                                   javax.xml.transform.Source fontSource)
                            throws java.awt.FontFormatException,
                                   java.io.IOException

  Construction of this class results in the immediate construction of the underlying `Font`.

  Parameters:
    `fontMetrics` - the font
    `fontSource` - the font source to access the font
  Throws:
    `java.awt.FontFormatException` - if a bad font is loaded
    `java.io.IOException` - if an I/O error occurs

Method Detail

### getEncodingName

    public final java.lang.String getEncodingName()

  Get the encoding of the font.

  Specified by:
    `getEncodingName` in class `Typeface`
  Returns:
    the encoding

### hasChar

    public final boolean hasChar(char c)

  Determines whether this font contains a particular character/glyph.

  Specified by:
    `hasChar` in class `Typeface`
  Parameters:
    `c` - character to check
  Returns:
    True if the character is supported, Falso otherwise

### mapChar

    public final char mapChar(char c)

  Map a Unicode character to a code point in the font.

  Specified by:
    `mapChar` in class `Typeface`
  Parameters:
    `c` - character to map
  Returns:
    the mapped character

### getFont

    public final java.awt.Font getFont(int size)

  Gets a `Font` instance of the font that this `FontMetrics` describes in the desired size.

  Specified by:
    `getFont` in interface `FontMetricsMapper`
  Parameters:
    `size` - font size
  Returns:
    font with the desired characteristics.

### getAscender

    public final int getAscender(int size)

  Returns the ascent of the font described by this FontMetrics object. It returns the nominal ascent within the em box.

  Specified by:
    `getAscender` in interface `FontMetrics`
  Parameters:
    `size` - font size
  Returns:
    ascent in milliponts

### getCapHeight

    public final int getCapHeight(int size)

  Returns the size of a capital letter measured from the font's baseline.

  Specified by:
    `getCapHeight` in interface `FontMetrics`
  Parameters:
    `size` - font size
  Returns:
    height of capital characters

### getDescender

    public final int getDescender(int size)

  Returns the descent of the font described by this FontMetrics object.

  Specified by:
    `getDescender` in interface `FontMetrics`
  Parameters:
    `size` - font size
  Returns:
    descent in milliponts

### getEmbedFontName

    public final java.lang.String getEmbedFontName()

  Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").

  Specified by:
    `getEmbedFontName` in interface `FontMetrics`
  Returns:
    the name for font embedding

### getFamilyNames

    public final java.util.Set<java.lang.String> getFamilyNames()

  Returns the font's family names as a Set of Strings (Example: "Helvetica").

  Specified by:
    `getFamilyNames` in interface `FontMetrics`
  Returns:
    the font's family names (a Set of Strings)

### getFontName

    public final java.lang.String getFontName()

  Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").

  Specified by:
    `getFontName` in interface `FontMetrics`
  Returns:
    the font name

### getFontType

    public final FontType getFontType()

  Returns the type of the font.

  Specified by:
    `getFontType` in interface `FontMetrics`
  Returns:
    the font type

### getFullName

    public final java.lang.String getFullName()

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

  Specified by:
    `getFullName` in interface `FontMetrics`
  Returns:
    the font's full name

### getKerningInfo

    public final java.util.Map getKerningInfo()

  Returns the kerning map for the font.

  Specified by:
    `getKerningInfo` in interface `FontMetrics`
  Returns:
    the kerning map

### getWidth

    public final int getWidth(int i,
                              int size)

  Return the width (in 1/1000ths of point size) of the character at code point i.

  Specified by:
    `getWidth` in interface `FontMetrics`
  Parameters:
    `i` - code point index
    `size` - font size
  Returns:
    the width of the character

### getWidths

    public final 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.

  Specified by:
    `getWidths` in interface `FontMetrics`
  Returns:
    an array of widths

### getXHeight

    public final int getXHeight(int size)

  Determines the typical font height of this FontMetrics object

  Specified by:
    `getXHeight` in interface `FontMetrics`
  Parameters:
    `size` - font size
  Returns:
    font height in millipoints

### hasKerningInfo

    public final boolean hasKerningInfo()

  Indicates if the font has kering information.

  Specified by:
    `hasKerningInfo` in interface `FontMetrics`
  Returns:
    True, if kerning is available.

fop 1.1

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