org.apache.fop.afp.fonts

## Class DoubleByteFont

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

All Implemented Interfaces:
  FontMetrics

    public class DoubleByteFont
    extends AbstractOutlineFont

Implementation of `AbstractOutlineFont` that supports double-byte fonts (CID Keyed font (Type 0)). The width of characters that are not prescribed a width metrics in the font resource use a fallback width. The default width is 1 em. A character can be supplied and queried for the fallback width of all non-ideograph characters.

### Field Summary

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

`charSet`

### 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
`DoubleByteFont(String name, boolean embeddable, CharacterSet charSet, AFPEventProducer eventProducer)` Constructor for an double-byte outline font.

### Method Summary

All Methods Instance Methods Concrete Methods
`Rectangle` `getBoundingBox(int character, int size)` Returns the bounding box of the glyph at the given index, for the given font size.
`int` `getWidth(int character, int size)` Return the width (in 1/1000ths of point size) of the character at code point i.

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

`getAscender, getCapHeight, getCharacterSet, getCharacterSet, getDescender, getEncodingName, getUnderlinePosition, getUnderlineThickness, getXHeight, hasChar, mapChar`

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

### Constructor Detail

#### DoubleByteFont

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

Constructor for an double-byte outline font.

Parameters:
  `name` - the name of the font
  `embeddable` - whether or not this font is embeddable
  `charSet` - the character set
  `eventProducer` - Handles any AFP related events

### Method Detail

#### getWidth

    public int getWidth(int character,
                        int size)

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

Parameters:
  `character` - code point index
  `size` - font size
Returns:
  the width of the character

#### getBoundingBox

    public Rectangle getBoundingBox(int character,
                                    int size)

Description copied from class: `AFPFont`
Returns the bounding box of the glyph at the given index, for the given font size.

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