fop 2.2

org.apache.fop.render.java2d
Class SystemFontMetricsMapper

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

public class SystemFontMetricsMapper
extends Typeface
implements FontMetricsMapper

This class implements org.apache.fop.layout.FontMetrics and is added to the hash table in FontInfo. It deferes the actual calculation of the metrics to Java2DFontMetrics. It only keeps the java name and style as member varibles


Field Summary
 
Fields inherited from class org.apache.fop.fonts.Typeface
eventListener, NOT_FOUND
 
Constructor Summary
SystemFontMetricsMapper(java.lang.String family, int style, Java2DFontMetrics java2DFontMetrics)
          Constructs a new Font-metrics.
 
Method Summary
 int getAscender(int size)
          Returns the ascent of the font described by this FontMetrics object.
 java.awt.Rectangle getBoundingBox(int glyphIndex, int size)
          Returns the bounding box of the glyph at the given index, for the given font size.
 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 getEncodingName()
          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.net.URI getFontURI()
          Returns the URI of the font file from which these metrics were loaded.
 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 getMaxAscent(int size)
          Returns the maximum ascent of the font described by this FontMetrics object.
 int getStrikeoutPosition(int size)
          Returns the distance from the baseline to the center of the strikeout line (negative value indicates below baseline).
 int getStrikeoutThickness(int size)
          Returns the thickness of the strikeout line.
 int getUnderlinePosition(int size)
          Returns the distance from the baseline to the center of the underline (negative value indicates below baseline).
 int getUnderlineThickness(int size)
          Returns the thickness of the underline.
 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 kerning 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
hadMappingOperations, hasFeature, isMultiByte, notifyMapOperation, setEventListener, toString, warnMissingGlyph
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.apache.fop.fonts.FontMetrics
hasFeature, isMultiByte
 

Constructor Detail

SystemFontMetricsMapper

public SystemFontMetricsMapper(java.lang.String family,
                               int style,
                               Java2DFontMetrics java2DFontMetrics)
Constructs a new Font-metrics.

Parameters:
family - the family name of the font (java value)
style - the java type style value of the font
java2DFontMetrics - metric calculations delegated to this
Method Detail

getFontURI

public final java.net.URI getFontURI()
Returns the URI of the font file from which these metrics were loaded.

Specified by:
getFontURI in interface FontMetrics
Returns:
the font file's URI

getFontName

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

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

getEmbedFontName

public 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

getFullName

public 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

getFamilyNames

public 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)

getFontType

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

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

getMaxAscent

public int getMaxAscent(int size)
Returns the maximum ascent of the font described by this FontMetrics object. Note: This is not the same as getAscender().

Specified by:
getMaxAscent in interface FontMetrics
Overrides:
getMaxAscent in class Typeface
Parameters:
size - font size
Returns:
ascent in milliponts

getAscender

public 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 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 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

getXHeight

public 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

getUnderlinePosition

public int getUnderlinePosition(int size)
Description copied from interface: FontMetrics
Returns the distance from the baseline to the center of the underline (negative value indicates below baseline).

Specified by:
getUnderlinePosition in interface FontMetrics
Parameters:
size - font size
Returns:
the position in 1/1000ths of the font size

getUnderlineThickness

public int getUnderlineThickness(int size)
Description copied from interface: FontMetrics
Returns the thickness of the underline.

Specified by:
getUnderlineThickness in interface FontMetrics
Parameters:
size - font size
Returns:
the thickness in 1/1000ths of the font size

getStrikeoutPosition

public int getStrikeoutPosition(int size)
Description copied from interface: FontMetrics
Returns the distance from the baseline to the center of the strikeout line (negative value indicates below baseline).

Specified by:
getStrikeoutPosition in interface FontMetrics
Parameters:
size - font size
Returns:
the position in 1/1000ths of the font size

getStrikeoutThickness

public int getStrikeoutThickness(int size)
Description copied from interface: FontMetrics
Returns the thickness of the strikeout line.

Specified by:
getStrikeoutThickness in interface FontMetrics
Parameters:
size - font size
Returns:
the thickness in 1/1000ths of the font size

getWidth

public 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 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

getBoundingBox

public java.awt.Rectangle getBoundingBox(int glyphIndex,
                                         int size)
Description copied from interface: FontMetrics
Returns the bounding box of the glyph at the given index, for the given font size.

Specified by:
getBoundingBox in interface FontMetrics
Parameters:
glyphIndex - glyph index
size - font size
Returns:
the scaled bounding box scaled in 1/1000ths of the given size

getFont

public 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.

getKerningInfo

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

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

hasKerningInfo

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

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

getEncodingName

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

Specified by:
getEncodingName in class Typeface
Returns:
the encoding

mapChar

public 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

hasChar

public 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

fop 2.2

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