Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 1.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.fop.afp.fonts
Class CharacterSet

    java.lang.Object
      org.apache.fop.afp.fonts.CharacterSet

Direct Known Subclasses:
  FopCharacterSet

public class CharacterSet
extends java.lang.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 information on the rotation and position of character on the physical or logical page.

This class proivdes font metric information for a particular font as identified by the character set name. This information is obtained directly from the AFP font files which must be installed in the path specified in the afp-fonts xml definition file.

Field Summary
`protected java.lang.String` | `codePage` The code page to which the character set relates
`static java.lang.String` | `DEFAULT_CODEPAGE` default codepage
`static java.lang.String` | `DEFAULT_ENCODING` default encoding
`protected java.lang.String` | `encoding` The encoding used for the code page
`protected static org.apache.commons.logging.Log` | `LOG` Static logging instance
`protected java.lang.String` | `name` The character set relating to the font

Constructor Summary
`CharacterSet(java.lang.String codePage, java.lang.String encoding, java.lang.String name, java.lang.String path)` Deprecated. Please use `#CharacterSet(String, String, String, URI)` instead.

Method Summary
`void` | `addCharacterSetOrientation(CharacterSetOrientation cso)` Add character set metric information for the different orientations
`byte[]` | `encodeChars(java.lang.CharSequence chars)` Encodes a character sequence to a byte array.
`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.
`java.lang.String` | `getCodePage()` Returns the AFP code page identifier
`int` | `getDescender()` Descender depth is the distance from the character baseline to the bottom of a character box.
`int` | `getEmSpaceIncrement()` Returns the increment for an em space.
`java.lang.String` | `getEncoding()` Returns the AFP code page encoding
`char` | `getFirstChar()` Returns the first character in the character set
`char` | `getLastChar()` Returns the last character in the character set
`java.lang.String` | `getName()` Returns the AFP character set identifier
`byte[]` | `getNameBytes()` Returns the AFP character set identifier as a byte array
`int` | `getNominalVerticalSize()` Returns the nominal vertical size of the font in the case of bitmap fonts.
`ResourceAccessor` | `getResourceAccessor()` Returns the resource accessor to load the font resources with.
`int` | `getSpaceIncrement()` Returns the increment for an space.
`int` | `getWidth(char character)` Get the width (in 1/1000ths of a point size) of the character identified by the parameter passed.
`int[]` | `getWidths()` Get the width (in 1/1000ths of a point size) of all characters
`int` | `getXHeight()` XHeight refers to the height of the lower case letters above the baseline.
`boolean` | `hasChar(char c)` Indicates whether the given char in the character set.
`char` | `mapChar(char c)` Map a Unicode character to a code point in the font.
`void` | `setNominalVerticalSize(int nominalVerticalSize)` Sets the nominal vertical size of the font in the case of bitmap fonts.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### LOG

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

  Static logging instance

### DEFAULT_CODEPAGE

    public static final java.lang.String DEFAULT_CODEPAGE

  default codepage

  See Also:
    Constant Field Values

### DEFAULT_ENCODING

    public static final java.lang.String DEFAULT_ENCODING

  default encoding

  See Also:
    Constant Field Values

### codePage

    protected java.lang.String codePage

  The code page to which the character set relates

### encoding

    protected java.lang.String encoding

  The encoding used for the code page

### name

    protected java.lang.String name

  The character set relating to the font

Constructor Detail

### CharacterSet

    public CharacterSet(java.lang.String codePage,
                        java.lang.String encoding,
                        java.lang.String name,
                        java.lang.String path)

  Deprecated. Please use `#CharacterSet(String, String, String, URI)` instead.

  Constructor for the CharacterSetMetric object, the character set is used to load the font information from the actual AFP font.

Parameters:
  `codePage` - the code page identifier
  `encoding` - the encoding of the font
  `name` - the character set name
  `path` - the path to the installed afp fonts

Method Detail

### addCharacterSetOrientation

    public void addCharacterSetOrientation(CharacterSetOrientation cso)

  Add character set metric information for the different orientations

  Parameters:
    `cso` - the metrics for the orientation

### setNominalVerticalSize

    public void setNominalVerticalSize(int nominalVerticalSize)

  Sets the nominal vertical size of the font in the case of bitmap fonts.

  Parameters:
    `nominalVerticalSize` - the nominal vertical size (in millipoints)

### getNominalVerticalSize

    public int getNominalVerticalSize()

  Returns the nominal vertical size of the font in the case of bitmap fonts. For outline fonts, zero is returned, because these are scalable fonts.

  Returns:
    the nominal vertical size (in millipoints) for bitmap fonts, or 0 for outline fonts.

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

### getFirstChar

    public char getFirstChar()

  Returns the first character in the character set

  Returns:
    the first character in the character set (Unicode codepoint)

### getLastChar

    public char getLastChar()

  Returns the last character in the character set

  Returns:
    the last character in the character set (Unicode codepoint)

### getResourceAccessor

    public ResourceAccessor getResourceAccessor()

  Returns the resource accessor to load the font resources with.

  Returns:
    the resource accessor to load the font resources with

### getWidths

    public int[] getWidths()

  Get the width (in 1/1000ths of a point size) of all characters

  Returns:
    the widths of all characters

### getXHeight

    public int getXHeight()

  XHeight refers to the height of the lower case letters above the baseline.

  Returns:
    the typical height of characters

### getWidth

    public int getWidth(char character)

  Get the width (in 1/1000ths of a point size) of the character identified by the parameter passed.

  Parameters:
    `character` - the Unicode character from which the width will be calculated
  Returns:
    the width of the character

### getName

    public java.lang.String getName()

  Returns the AFP character set identifier

  Returns:
    the AFP character set identifier

### getNameBytes

    public byte[] getNameBytes()

  Returns the AFP character set identifier as a byte array

  Returns:
    the AFP character set identifier as a byte array

### getCodePage

    public java.lang.String getCodePage()

  Returns the AFP code page identifier

  Returns:
    the AFP code page identifier

### getEncoding

    public java.lang.String getEncoding()

  Returns the AFP code page encoding

  Returns:
    the AFP code page encoding

### hasChar

    public boolean hasChar(char c)

  Indicates whether the given char in the character set.

  Parameters:
    `c` - the character to check
  Returns:
    true if the character is in the character set

### encodeChars

    public byte[] encodeChars(java.lang.CharSequence chars)
                       throws java.nio.charset.CharacterCodingException

  Encodes a character sequence to a byte array.

  Parameters:
    `chars` - the characters
  Returns:
    the encoded characters
  Throws:
    `java.nio.charset.CharacterCodingException` - if the encoding operation fails

### mapChar

    public char mapChar(char c)

  Map a Unicode character to a code point in the font. The code tables are already converted to Unicode therefore we can use the identity mapping.

  Parameters:
    `c` - the Unicode character to map
  Returns:
    the mapped character

### getSpaceIncrement

    public int getSpaceIncrement()

  Returns the increment for an space.

  Returns:
    the space increment

### getEmSpaceIncrement

    public int getEmSpaceIncrement()

  Returns the increment for an em space.

  Returns:
    the em space increment

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| fop 1.0
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright 1999-2010 The Apache Software Foundation. All Rights Reserved.