Package org.apache.fop.render.java2d
Class SystemFontMetricsMapper
java.lang.Object
org.apache.fop.fonts.Typeface
org.apache.fop.render.java2d.SystemFontMetricsMapper
- All Implemented Interfaces:
FontMetrics,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
ConstructorsConstructorDescriptionSystemFontMetricsMapper(String family, int style, Java2DFontMetrics java2DFontMetrics) Constructs a new Font-metrics. -
Method Summary
Modifier and TypeMethodDescriptionintgetAscender(int size) Returns the ascent of the font described by this FontMetrics object.getBoundingBox(int glyphIndex, int size) Returns the bounding box of the glyph at the given index, for the given font size.intgetCapHeight(int size) Returns the size of a capital letter measured from the font's baseline.intgetDescender(int size) Returns the descent of the font described by this FontMetrics object.Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").Get the encoding of the font.Returns the font's family names as a Set of Strings (Example: "Helvetica").getFont(int size) Gets aFontinstance of the font that thisFontMetricsdescribes in the desired size.Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").Returns the type of the font.final URIReturns the URI of the font file from which these metrics were loaded.Returns the font's full name (Example: "Helvetica Bold Oblique").Returns the kerning map for the font.intgetMaxAscent(int size) Returns the maximum ascent of the font described by this FontMetrics object.intgetStrikeoutPosition(int size) Returns the distance from the baseline to the center of the strikeout line (negative value indicates below baseline).intgetStrikeoutThickness(int size) Returns the thickness of the strikeout line.intgetUnderlinePosition(int size) Returns the distance from the baseline to the center of the underline (negative value indicates below baseline).intgetUnderlineThickness(int size) Returns the thickness of the underline.intgetWidth(int i, int size) Return the width (in 1/1000ths of point size) of the character at code point i.int[]Return the array of widths.intgetXHeight(int size) Determines the typical font height of this FontMetrics objectbooleanhasChar(char c) Determines whether this font contains a particular character/glyph.booleanIndicates if the font has kerning information.charmapChar(char c) Map a Unicode character to a code point in the font.Methods inherited from class org.apache.fop.fonts.Typeface
hadMappingOperations, hasFeature, isCID, isMultiByte, notifyMapOperation, setEventListener, toString, warnMissingGlyphMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.apache.fop.fonts.FontMetrics
hasFeature, isMultiByte
-
Constructor Details
-
SystemFontMetricsMapper
Constructs a new Font-metrics.- Parameters:
family- the family name of the font (java value)style- the java type style value of the fontjava2DFontMetrics- metric calculations delegated to this
-
-
Method Details
-
getFontURI
Returns the URI of the font file from which these metrics were loaded.- Specified by:
getFontURIin interfaceFontMetrics- Returns:
- the font file's URI
-
getFontName
Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").- Specified by:
getFontNamein interfaceFontMetrics- Returns:
- the font name
-
getEmbedFontName
Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").- Specified by:
getEmbedFontNamein interfaceFontMetrics- Returns:
- the name for font embedding
-
getFullName
Returns the font's full name (Example: "Helvetica Bold Oblique").- Specified by:
getFullNamein interfaceFontMetrics- Returns:
- the font's full name
-
getFamilyNames
Returns the font's family names as a Set of Strings (Example: "Helvetica").- Specified by:
getFamilyNamesin interfaceFontMetrics- Returns:
- the font's family names (a Set of Strings)
-
getFontType
Returns the type of the font.- Specified by:
getFontTypein interfaceFontMetrics- 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:
getMaxAscentin interfaceFontMetrics- Overrides:
getMaxAscentin classTypeface- 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:
getAscenderin interfaceFontMetrics- 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:
getCapHeightin interfaceFontMetrics- 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:
getDescenderin interfaceFontMetrics- 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:
getXHeightin interfaceFontMetrics- Parameters:
size- font size- Returns:
- font height in millipoints
-
getUnderlinePosition
public int getUnderlinePosition(int size) Description copied from interface:FontMetricsReturns the distance from the baseline to the center of the underline (negative value indicates below baseline).- Specified by:
getUnderlinePositionin interfaceFontMetrics- Parameters:
size- font size- Returns:
- the position in 1/1000ths of the font size
-
getUnderlineThickness
public int getUnderlineThickness(int size) Description copied from interface:FontMetricsReturns the thickness of the underline.- Specified by:
getUnderlineThicknessin interfaceFontMetrics- Parameters:
size- font size- Returns:
- the thickness in 1/1000ths of the font size
-
getStrikeoutPosition
public int getStrikeoutPosition(int size) Description copied from interface:FontMetricsReturns the distance from the baseline to the center of the strikeout line (negative value indicates below baseline).- Specified by:
getStrikeoutPositionin interfaceFontMetrics- Parameters:
size- font size- Returns:
- the position in 1/1000ths of the font size
-
getStrikeoutThickness
public int getStrikeoutThickness(int size) Description copied from interface:FontMetricsReturns the thickness of the strikeout line.- Specified by:
getStrikeoutThicknessin interfaceFontMetrics- 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:
getWidthin interfaceFontMetrics- Parameters:
i- code point indexsize- 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:
getWidthsin interfaceFontMetrics- Returns:
- an array of widths
-
getBoundingBox
Description copied from interface:FontMetricsReturns the bounding box of the glyph at the given index, for the given font size.- Specified by:
getBoundingBoxin interfaceFontMetrics- Parameters:
glyphIndex- glyph indexsize- font size- Returns:
- the scaled bounding box scaled in 1/1000ths of the given size
-
getFont
Gets aFontinstance of the font that thisFontMetricsdescribes in the desired size.- Specified by:
getFontin interfaceFontMetricsMapper- Parameters:
size- font size- Returns:
- font with the desired characteristics.
-
getKerningInfo
Returns the kerning map for the font.- Specified by:
getKerningInfoin interfaceFontMetrics- Returns:
- the kerning map
-
hasKerningInfo
public boolean hasKerningInfo()Indicates if the font has kerning information.- Specified by:
hasKerningInfoin interfaceFontMetrics- Returns:
- true if kerning is available.
-
getEncodingName
Get the encoding of the font.- Specified by:
getEncodingNamein classTypeface- Returns:
- the encoding
-
mapChar
public char mapChar(char c) Map a Unicode character to a code point in the font. -
hasChar
public boolean hasChar(char c) Determines whether this font contains a particular character/glyph.
-