fop 2.1

org.apache.fop.afp.fonts
Class CharacterSet

java.lang.Object
  extended by 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
static int SUPPORTED_ORIENTATION
          The current orientation (currently only 0 is supported by FOP)
 
Method Summary
 void addCharacterSetOrientation(CharacterSetOrientation cso)
          Add character set metric information for the different orientations
 CharactersetEncoder.EncodedChars 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.awt.Rectangle getCharacterBox(char character, int size)
           
 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
 java.lang.String getName()
          Returns the AFP character set identifier
 byte[] getNameBytes()
          Returns the AFP character set identifier as a byte array
 int getNominalCharIncrement()
          Returns the nominal character increment.
 int getNominalVerticalSize()
          Returns the nominal vertical size of the font in the case of bitmap fonts.
 AFPResourceAccessor getResourceAccessor()
          Returns the resource accessor to load the font resources with.
 int getSpaceIncrement()
          Returns the increment for an space.
 int getUnderscorePosition()
          Return the position for an underscore (_) character.
 int getUnderscoreWidth()
          Return the width to use for an underscore (_) character.
 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.
 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

SUPPORTED_ORIENTATION

public static final int SUPPORTED_ORIENTATION
The current orientation (currently only 0 is supported by FOP)

See Also:
Constant Field Values

codePage

protected final java.lang.String codePage
The code page to which the character set relates


encoding

protected final java.lang.String encoding
The encoding used for the code page


name

protected final java.lang.String name
The character set relating to the font

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

getUnderscoreWidth

public int getUnderscoreWidth()
Return the width to use for an underscore (_) character.

Returns:
the width of an underscore character

getUnderscorePosition

public int getUnderscorePosition()
Return the position for an underscore (_) character.

Returns:
the position of an underscore character

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

getResourceAccessor

public AFPResourceAccessor getResourceAccessor()
Returns the resource accessor to load the font resources with.

Returns:
the resource accessor to load the font resources with

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,
                    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 from which the width will be calculated
size - the font size
Returns:
the width of the character

getCharacterBox

public java.awt.Rectangle getCharacterBox(char character,
                                          int size)

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 CharactersetEncoder.EncodedChars 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

getNominalCharIncrement

public int getNominalCharIncrement()
Returns the nominal character increment.

Returns:
the nominal character increment

fop 2.1

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