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
    Modifier and Type | Method and Description
    --- | ---
    `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

Copyright © 2023 Apache Software Foundation. All rights reserved.