fop 0.95

org.apache.fop.render.java2d
Class CustomFontMetricsMapper

java.lang.Object
  extended by org.apache.fop.fonts.Typeface
      extended by org.apache.fop.render.java2d.CustomFontMetricsMapper
All Implemented Interfaces:
FontMetrics, FontMetricsMapper

public class CustomFontMetricsMapper
extends Typeface
implements FontMetricsMapper

FontMetricsMapper that delegates most methods to an underlying FontMetrics instance. This class was designed to allow the underlying java.awt.Font to be loaded from a user-configured file not registered in the current graphics environment.


Constructor Summary
CustomFontMetricsMapper(CustomFont fontMetrics)
          Construction of this class results in the immediate construction.
CustomFontMetricsMapper(LazyFont fontMetrics, javax.xml.transform.Source fontSource)
          Construction of this class results in the immediate construction of the underlying java.awt.Font
 
Method Summary
 int getAscender(int size)
          Returns the ascent of the font described by this FontMetrics object.
 int getCapHeight(int size)
          Returns the size of a capital letter measured from the font's baseline.
 int getDescender(int size)
          Returns the descent of the font described by this FontMetrics object.
 java.lang.String getEmbedFontName()
          Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").
 java.lang.String getEncoding()
          Get the encoding of the font.
 java.util.Set getFamilyNames()
          Returns the font's family names as a Set of Strings (Example: "Helvetica").
 java.awt.Font getFont(int size)
          Gets a Font instance of the Font that this FontMetrics describes in the desired size.
 java.lang.String getFontName()
          Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").
 FontType getFontType()
          Returns the type of the font.
 java.lang.String getFullName()
          Returns the font's full name (Example: "Helvetica Bold Oblique").
 java.util.Map getKerningInfo()
          Returns the kerning map for the font.
 int getWidth(int i, int size)
          Return the width (in 1/1000ths of point size) of the character at code point i.
 int[] getWidths()
          Return the array of widths.
 int getXHeight(int size)
          Determines the typical font height of this FontMetrics object
 boolean hasChar(char c)
          Determines whether this font contains a particular character/glyph.
 boolean hasKerningInfo()
          Indicates if the font has kering information.
 char mapChar(char c)
          Map a Unicode character to a code point in the font.
 
Methods inherited from class org.apache.fop.fonts.Typeface
getMaxAscent, hadMappingOperations, isMultiByte, notifyMapOperation
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.apache.fop.fonts.FontMetrics
getMaxAscent
 

Constructor Detail

CustomFontMetricsMapper

public CustomFontMetricsMapper(CustomFont fontMetrics)
                        throws java.awt.FontFormatException,
                               java.io.IOException
Construction of this class results in the immediate construction. of the underlying java.awt.Font

Parameters:
fontMetrics -
Throws:
java.awt.FontFormatException
java.io.IOException

CustomFontMetricsMapper

public CustomFontMetricsMapper(LazyFont fontMetrics,
                               javax.xml.transform.Source fontSource)
                        throws java.awt.FontFormatException,
                               java.io.IOException
Construction of this class results in the immediate construction of the underlying java.awt.Font

Parameters:
fontMetrics -
Throws:
java.awt.FontFormatException
java.io.IOException
Method Detail

getEncoding

public final java.lang.String getEncoding()
Get the encoding of the font.

Specified by:
getEncoding in class Typeface
Returns:
the encoding

hasChar

public final boolean hasChar(char c)
Determines whether this font contains a particular character/glyph.

Specified by:
hasChar in class Typeface
Parameters:
c - character to check
Returns:
True if the character is supported, Falso otherwise

mapChar

public final char mapChar(char c)
Map a Unicode character to a code point in the font.

Specified by:
mapChar in class Typeface
Parameters:
c - character to map
Returns:
the mapped character

getFont

public final java.awt.Font getFont(int size)
Gets a Font instance of the Font that this FontMetrics describes in the desired size.

Specified by:
getFont in interface FontMetricsMapper
Parameters:
size - font size
Returns:
font with the desired characteristics.

getAscender

public final int getAscender(int size)
Returns the ascent of the font described by this FontMetrics object. It returns the nominal ascent within the em box.

Specified by:
getAscender in interface FontMetrics
Parameters:
size - font size
Returns:
ascent in milliponts

getCapHeight

public final int getCapHeight(int size)
Returns the size of a capital letter measured from the font's baseline.

Specified by:
getCapHeight in interface FontMetrics
Parameters:
size - font size
Returns:
height of capital characters

getDescender

public final int getDescender(int size)
Returns the descent of the font described by this FontMetrics object.

Specified by:
getDescender in interface FontMetrics
Parameters:
size - font size
Returns:
descent in milliponts

getEmbedFontName

public final java.lang.String getEmbedFontName()
Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").

Specified by:
getEmbedFontName in interface FontMetrics
Returns:
the name for font embedding

getFamilyNames

public final java.util.Set getFamilyNames()
Returns the font's family names as a Set of Strings (Example: "Helvetica").

Specified by:
getFamilyNames in interface FontMetrics
Returns:
the font's family names (a Set of Strings)

getFontName

public final java.lang.String getFontName()
Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").

Specified by:
getFontName in interface FontMetrics
Returns:
the font name

getFontType

public final FontType getFontType()
Returns the type of the font.

Specified by:
getFontType in interface FontMetrics
Returns:
the font type

getFullName

public final java.lang.String getFullName()
Returns the font's full name (Example: "Helvetica Bold Oblique").

Specified by:
getFullName in interface FontMetrics
Returns:
the font's full name

getKerningInfo

public final java.util.Map getKerningInfo()
Returns the kerning map for the font.

Specified by:
getKerningInfo in interface FontMetrics
Returns:
the kerning map

getWidth

public final int getWidth(int i,
                          int size)
Return the width (in 1/1000ths of point size) of the character at code point i.

Specified by:
getWidth in interface FontMetrics
Parameters:
i - code point index
size - font size
Returns:
the width of the character

getWidths

public final int[] getWidths()
Return the array of widths.

This is used to get an array for inserting in an output format. It should not be used for lookup.

Specified by:
getWidths in interface FontMetrics
Returns:
an array of widths

getXHeight

public final int getXHeight(int size)
Determines the typical font height of this FontMetrics object

Specified by:
getXHeight in interface FontMetrics
Parameters:
size - font size
Returns:
font height in millipoints

hasKerningInfo

public final boolean hasKerningInfo()
Indicates if the font has kering information.

Specified by:
hasKerningInfo in interface FontMetrics
Returns:
True, if kerning is available.

fop 0.95

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