org.apache.fop.afp.fonts

## Class RasterFont

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

All Implemented Interfaces:
  FontMetrics

    public class RasterFont
    extends AFPFont

A font where each character is stored as an array of pixels (a bitmap). Such fonts are not easily scalable, in contrast to vectored fonts. With this type of font, the font metrics information is held in character set files (one for each size and style).

### Field Summary

Fields
`protected static org.apache.commons.logging.Log` `LOG` Static logging instance

### 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
`RasterFont(String name, boolean embeddable)` Constructor for the raster font requires the name, weight and style attribute to be available as this forms the key to the font.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addCharacterSet(int size, CharacterSet characterSet)` Adds the character set for the given point size
`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".
`Rectangle` `getBoundingBox(int character, int size)` TODO
`int` `getCapHeight(int size)` Obtains the height of capital letters for the specified point size.
`CharacterSet` `getCharacterSet(int sizeInMpt)` Get the character set metrics for the specified point size.
`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` `getWidth(int character, int size)` Obtain the width of the character for the specified point size.
`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

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

### Field Detail

#### LOG

    protected static final org.apache.commons.logging.Log LOG

Static logging instance

### Constructor Detail

#### RasterFont

    public RasterFont(String name,
                      boolean embeddable)

Constructor for the raster font requires the name, weight and style attribute to be available as this forms the key to the font.

Parameters:
  `name` - the name of the font
  `embeddable` - `true` if the font is embeddable

### Method Detail

#### addCharacterSet

    public void addCharacterSet(int size,
                                CharacterSet characterSet)

Adds the character set for the given point size

Parameters:
  `size` - point size (in mpt)
  `characterSet` - character set

#### getCharacterSet

    public CharacterSet getCharacterSet(int sizeInMpt)

Get the character set metrics for the specified point size.

Specified by:
  `getCharacterSet` in class `AFPFont`
Parameters:
  `sizeInMpt` - the point size (in mpt)
Returns:
  the character set metrics

#### 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 point 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 specified point 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 specified point 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 point size

#### getWidth

    public int getWidth(int character,
                        int size)

Obtain the width of the character for the specified point size.

Parameters:
  `character` - the character
  `size` - the font size (in mpt)
Returns:
  the width for the given point size

#### getBoundingBox

    public Rectangle getBoundingBox(int character,
                                    int size)

TODO

Specified by:
  `getBoundingBox` in interface `FontMetrics`
Specified by:
  `getBoundingBox` in class `AFPFont`
Parameters:
  `character` - glyph index
  `size` - font size
Returns:
  the scaled bounding box scaled in 1/1000ths of 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