org.apache.fop.afp.fonts

## Class AbstractOutlineFont

- java.lang.Object
- - org.apache.fop.fonts.Typeface
  - - org.apache.fop.afp.fonts.AFPFont
    - - org.apache.fop.afp.fonts.AbstractOutlineFont

All Implemented Interfaces:
  FontMetrics

Direct Known Subclasses:
  DoubleByteFont, OutlineFont

    public abstract class AbstractOutlineFont
    extends AFPFont

A font defined as a set of lines and curves as opposed to a bitmap font. An outline font can be scaled to any size and otherwise transformed more easily than a bitmap font, and with more attractive results.

### Field Summary

Fields
`protected CharacterSet` `charSet` The character set for this font

### Fields inherited from class org.apache.fop.afp.fonts.AFPFont

`name`

### Fields inherited from class org.apache.fop.fonts.Typeface

`eventListener, NOT_FOUND`

### Constructor Summary

Constructors
Constructor and Description
`AbstractOutlineFont(String name, boolean embeddable, CharacterSet charSet, AFPEventProducer eventProducer)` Constructor for an outline font.

### Method Summary

All Methods Instance Methods Concrete Methods
`int` `getAscender(int size)` The ascender is the part of a lowercase letter that extends above the "x-height" (the height of the letter "x"), such as "d", "t", or "h".
`int` `getCapHeight(int size)` Obtains the height of capital letters for the specified point size.
`CharacterSet` `getCharacterSet()` Get the character set metrics.
`CharacterSet` `getCharacterSet(int size)` Get the character set metrics.
`int` `getDescender(int size)` The descender is the part of a lowercase letter that extends below the base line, such as "g", "j", or "p".
`String` `getEncodingName()` Get the encoding of the font.
`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` `getXHeight(int size)` The "x-height" (the height of the letter "x").
`boolean` `hasChar(char c)` Determines whether this font contains a particular character/glyph.
`char` `mapChar(char c)` Map a Unicode character to a code point in the font.

### Methods inherited from class org.apache.fop.afp.fonts.AFPFont

`getBoundingBox, getEmbedFontName, getFamilyNames, getFontName, getFontType, getFontURI, getFullName, getKerningInfo, getStrikeoutPosition, getStrikeoutThickness, getWidths, hasKerningInfo, isEmbeddable, toString, toUnicodeCodepoint`

### Methods inherited from class org.apache.fop.fonts.Typeface

`getMaxAscent, hadMappingOperations, hasFeature, isCID, isMultiByte, notifyMapOperation, setEventListener, 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

`getWidth`

### Field Detail

#### charSet

    protected CharacterSet charSet

The character set for this font

### Constructor Detail

#### AbstractOutlineFont

    public AbstractOutlineFont(String name,
                               boolean embeddable,
                               CharacterSet charSet,
                               AFPEventProducer eventProducer)

Constructor for an outline font.

Parameters:
  `name` - the name of the font
  `embeddable` - sets whether or not this font is to be embedded
  `charSet` - the chracter set
  `eventProducer` - The object to handle any events which occur from the object.

### Method Detail

#### getCharacterSet

    public CharacterSet getCharacterSet()

Get the character set metrics.

Returns:
  the character set

#### getCharacterSet

    public CharacterSet getCharacterSet(int size)

Get the character set metrics.

Specified by:
  `getCharacterSet` in class `AFPFont`
Parameters:
  `size` - ignored
Returns:
  the character set

#### getAscender

    public int getAscender(int size)

The ascender is the part of a lowercase letter that extends above the "x-height" (the height of the letter "x"), such as "d", "t", or "h". Also used to denote the part of the letter extending above the x-height.

Parameters:
  `size` - the font size (in mpt)
Returns:
  the ascender for the given size

#### getUnderlinePosition

    public 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

    public int getUnderlineThickness(int size)

Description copied from class: `AFPFont`
Returns the thickness of the underline.

Specified by:
  `getUnderlineThickness` in interface `FontMetrics`
Overrides:
  `getUnderlineThickness` in class `AFPFont`
Parameters:
  `size` - font size
Returns:
  the thickness in 1/1000ths of the font size

#### getCapHeight

    public int getCapHeight(int size)

Obtains the height of capital letters for the specified point size.

Parameters:
  `size` - the font size (in mpt)
Returns:
  the cap height for the given size

#### getDescender

    public int getDescender(int size)

The descender is the part of a lowercase letter that extends below the base line, such as "g", "j", or "p". Also used to denote the part of the letter extending below the base line.

Parameters:
  `size` - the font size (in mpt)
Returns:
  the descender for the given size

#### getXHeight

    public int getXHeight(int size)

The "x-height" (the height of the letter "x").

Parameters:
  `size` - the font size (in mpt)
Returns:
  the x height for the given size

#### hasChar

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

#### getEncodingName

    public String getEncodingName()

Get the encoding of the font.

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