org.apache.fop.afp.fonts

## Class CharacterSetOrientation

- java.lang.Object
- - org.apache.fop.afp.fonts.CharacterSetOrientation

-     public class CharacterSetOrientation
      extends Object

  The IBM Font Object Content Architecture (FOCA) supports presentation of character shapes by defining their characteristics, which include Font-Description information for identifying the characters, Font-Metric information for positioning the characters, and Character-Shape information for presenting the character images.
  Presenting a graphic character on a presentation surface requires that you communicate this information clearly to rotate and position characters correctly on the physical or logical page.
  This class provides font metric information for a particular font as by the orientation.
  This information is obtained directly from the AFP font files which must be installed in the classpath under in the location specified by the path attribute in the afp-font.xml file.

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `CharacterSetOrientation(int orientation, int spaceIncrement, int emSpaceIncrement, int nomCharIncrement)` Constructor for the CharacterSetOrientation, the orientation is expressed as the degrees rotation (i.e 0, 90, 180, 270)

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getAscender()` Ascender height is the distance from the character baseline to the top of the character box.
    `int` | `getCapHeight()` Cap height is the average height of the uppercase characters in a font.
    `Rectangle` | `getCharacterBox(char character, int size)` Get the character box (rectangle with dimensions in 1/1000ths of a point size) of the character identified by the parameter passed.
    `int` | `getDescender()` Descender depth is the distance from the character baseline to the bottom of a character box.
    `int` | `getEmSpaceIncrement()` Returns the em space increment.
    `int` | `getNominalCharIncrement()` Returns the nominal character increment.
    `int` | `getOrientation()` The orientation for these metrics in the character set
    `int` | `getSpaceIncrement()` Returns the space increment.
    `int` | `getUnderscorePosition()`
    `int` | `getUnderscoreWidth()`
    `int` | `getWidth(char character, int size)` Get the width (in 1/1000ths of a point size) of the character identified by the parameter passed.
    `int` | `getXHeight()` XHeight refers to the height of the lower case letters above the baseline.
    `void` | `setAscender(int ascender)` Ascender height is the distance from the character baseline to the top of the character box.
    `void` | `setCapHeight(int capHeight)` Cap height is the average height of the uppercase characters in a font.
    `void` | `setCharacterMetrics(char character, int width, Rectangle characterBox)` Set the width (in 1/1000ths of a point size) of the character identified by the parameter passed.
    `void` | `setDescender(int descender)` Descender depth is the distance from the character baseline to the bottom of a character box.
    `void` | `setUnderscorePosition(int underscorePosition)` TODO
    `void` | `setUnderscoreWidth(int underscoreWidth)` TODO
    `void` | `setXHeight(int xHeight)` XHeight refers to the height of the lower case letters above the baseline.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CharacterSetOrientation

          public CharacterSetOrientation(int orientation,
                                         int spaceIncrement,
                                         int emSpaceIncrement,
                                         int nomCharIncrement)

      Constructor for the CharacterSetOrientation, the orientation is expressed as the degrees rotation (i.e 0, 90, 180, 270)
      Parameters:
        `orientation` - the character set orientation
        `spaceIncrement` - the space increment
        `emSpaceIncrement` - the em space increment
        `nomCharIncrement` - the nominal character increment

  - ### Method Detail

    - #### getAscender

          public int getAscender()

      Ascender height is the distance from the character baseline to the top of the character box. A negative ascender height signifies that all of the graphic character is below the character baseline. For a character rotation other than 0, ascender height loses its meaning when the character is lying on its side or is upside down with respect to normal viewing orientation. For the general case, Ascender Height is the character's most positive y-axis value. For bounded character boxes, for a given character having an ascender, ascender height and baseline offset are equal.
      Returns:
        the ascender value in millipoints

    - #### getCapHeight

          public int getCapHeight()

      Cap height is the average height of the uppercase characters in a font. This value is specified by the designer of a font and is usually the height of the uppercase M.
      Returns:
        the cap height value in millipoints

    - #### getDescender

          public int getDescender()

      Descender depth is the distance from the character baseline to the bottom of a character box. A negative descender depth signifies that all of the graphic character is above the character baseline.
      Returns:
        the descender value in millipoints

    - #### getUnderscoreWidth

          public int getUnderscoreWidth()

      Returns:
        the underscore width

    - #### getUnderscorePosition

          public int getUnderscorePosition()

      Returns:
        the underscore position

    - #### getOrientation

          public int getOrientation()

      The orientation for these metrics in the character set
      Returns:
        the orientation

    - #### getXHeight

          public int getXHeight()

      XHeight refers to the height of the lower case letters above the baseline.
      Returns:
        heightX the typical height of characters

    - #### getWidth

          public int getWidth(char character,
                              int size)

      Get the width (in 1/1000ths of a point size) of the character identified by the parameter passed.
      Parameters:
        `character` - the Unicode character to evaluate
        `size` - the font size
      Returns:
        the widths of the character

    - #### getCharacterBox

          public Rectangle getCharacterBox(char character,
                                           int size)

      Get the character box (rectangle with dimensions in 1/1000ths of a point size) of the character identified by the parameter passed.
      Parameters:
        `character` - the Unicode character to evaluate
        `size` - the font size
      Returns:
        the character box

    - #### setAscender

          public void setAscender(int ascender)

      Ascender height is the distance from the character baseline to the top of the character box. A negative ascender height signifies that all of the graphic character is below the character baseline. For a character rotation other than 0, ascender height loses its meaning when the character is lying on its side or is upside down with respect to normal viewing orientation. For the general case, Ascender Height is the character's most positive y-axis value. For bounded character boxes, for a given character having an ascender, ascender height and baseline offset are equal.
      Parameters:
        `ascender` - the ascender to set

    - #### setCapHeight

          public void setCapHeight(int capHeight)

      Cap height is the average height of the uppercase characters in a font. This value is specified by the designer of a font and is usually the height of the uppercase M.
      Parameters:
        `capHeight` - the cap height to set

    - #### setDescender

          public void setDescender(int descender)

      Descender depth is the distance from the character baseline to the bottom of a character box. A negative descender depth signifies that all of the graphic character is above the character baseline.
      Parameters:
        `descender` - the descender value in millipoints

    - #### setUnderscoreWidth

          public void setUnderscoreWidth(int underscoreWidth)

      TODO
      Parameters:
        `underscoreWidth` - the underscore width value in millipoints

    - #### setUnderscorePosition

          public void setUnderscorePosition(int underscorePosition)

      TODO
      Parameters:
        `underscorePosition` - the underscore position value in millipoints

    - #### setCharacterMetrics

          public void setCharacterMetrics(char character,
                                          int width,
                                          Rectangle characterBox)

      Set the width (in 1/1000ths of a point size) of the character identified by the parameter passed.
      Parameters:
        `character` - the Unicode character for which the width is being set
        `width` - the widths of the character
        `characterBox` - the character box

    - #### setXHeight

          public void setXHeight(int xHeight)

      XHeight refers to the height of the lower case letters above the baseline.
      Parameters:
        `xHeight` - the typical height of characters

    - #### getSpaceIncrement

          public int getSpaceIncrement()

      Returns the space increment.
      Returns:
        the space increment

    - #### getEmSpaceIncrement

          public int getEmSpaceIncrement()

      Returns the em space increment.
      Returns:
        the em space increment

    - #### getNominalCharIncrement

          public int getNominalCharIncrement()

      Returns the nominal character increment.
      Returns:
        the nominal character increment

Copyright © 2025 Apache Software Foundation. All rights reserved.