Package org.apache.fop.fonts
Interface FontMetrics
- All Known Subinterfaces:
FontDescriptor
,FontMetricsMapper
- All Known Implementing Classes:
AbstractOutlineFont
,AFPFont
,AFPFontConfig.AFPTrueTypeFont
,Base14Font
,CFFToType1Font
,CIDFont
,Courier
,CourierBold
,CourierBoldOblique
,CourierOblique
,CustomFont
,CustomFontMetricsMapper
,DoubleByteFont
,Helvetica
,HelveticaBold
,HelveticaBoldOblique
,HelveticaOblique
,LazyFont
,MultiByteFont
,OutlineFont
,RasterFont
,SingleByteFont
,Symbol
,SystemFontMetricsMapper
,TimesBold
,TimesBoldItalic
,TimesItalic
,TimesRoman
,Typeface
,ZapfDingbats
public interface FontMetrics
Main interface for access to font metrics.
-
Method Summary
Modifier and TypeMethodDescriptionint
getAscender
(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.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.Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").Returns the font's family names as a Set of Strings (Example: "Helvetica").Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").Returns the type of the font.Returns 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.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[]
Return the array of widths.int
getXHeight
(int size) Determines the typical font height of this FontMetrics objectboolean
hasFeature
(int tableType, String script, String language, String feature) Determine if metrics supports specific feature in specified font table.boolean
Indicates if the font has kerning information.boolean
Determines whether the font is a multibyte font.
-
Method Details
-
getFontURI
URI getFontURI()Returns the URI of the font file from which these metrics were loaded.- Returns:
- the font file's URI
-
getFontName
String getFontName()Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").- Returns:
- the font name
-
getFullName
String getFullName()Returns the font's full name (Example: "Helvetica Bold Oblique").- Returns:
- the font's full name
-
getFamilyNames
Returns the font's family names as a Set of Strings (Example: "Helvetica").- Returns:
- the font's family names (a Set of Strings)
-
getEmbedFontName
String getEmbedFontName()Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").- Returns:
- the name for font embedding
-
getFontType
FontType getFontType()Returns the type of the font.- Returns:
- the font type
-
getMaxAscent
int getMaxAscent(int size) Returns the maximum ascent of the font described by this FontMetrics object. Note: This is not the same as getAscender().- Parameters:
size
- font size- Returns:
- ascent in milliponts
-
getAscender
int getAscender(int size) Returns the ascent of the font described by this FontMetrics object. It returns the nominal ascent within the em box.- Parameters:
size
- font size- Returns:
- ascent in milliponts
-
getCapHeight
int getCapHeight(int size) Returns the size of a capital letter measured from the font's baseline.- Parameters:
size
- font size- Returns:
- height of capital characters
-
getDescender
int getDescender(int size) Returns the descent of the font described by this FontMetrics object.- Parameters:
size
- font size- Returns:
- descent in milliponts
-
getXHeight
int getXHeight(int size) Determines the typical font height of this FontMetrics object- Parameters:
size
- font size- Returns:
- font height in millipoints
-
getWidth
int getWidth(int i, int size) Return the width (in 1/1000ths of point size) of the character at code point i.- Parameters:
i
- code point indexsize
- font size- Returns:
- the width of the character
-
getWidths
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.
- Returns:
- an array of widths
-
getBoundingBox
Returns the bounding box of the glyph at the given index, for the given font size.- Parameters:
glyphIndex
- glyph indexsize
- font size- Returns:
- the scaled bounding box scaled in 1/1000ths of the given size
-
hasKerningInfo
boolean hasKerningInfo()Indicates if the font has kerning information.- Returns:
- true if kerning is available.
-
getKerningInfo
Returns the kerning map for the font.- Returns:
- the kerning map
-
getUnderlinePosition
int getUnderlinePosition(int size) Returns the distance from the baseline to the center of the underline (negative value indicates below baseline).- Parameters:
size
- font size- Returns:
- the position in 1/1000ths of the font size
-
getUnderlineThickness
int getUnderlineThickness(int size) Returns the thickness of the underline.- Parameters:
size
- font size- Returns:
- the thickness in 1/1000ths of the font size
-
getStrikeoutPosition
int getStrikeoutPosition(int size) Returns the distance from the baseline to the center of the strikeout line (negative value indicates below baseline).- Parameters:
size
- font size- Returns:
- the position in 1/1000ths of the font size
-
getStrikeoutThickness
int getStrikeoutThickness(int size) Returns the thickness of the strikeout line.- Parameters:
size
- font size- Returns:
- the thickness in 1/1000ths of the font size
-
hasFeature
Determine if metrics supports specific feature in specified font table.- Parameters:
tableType
- type of table (GSUB, GPOS, ...), see GlyphTable.GLYPH_TABLE_TYPE_*script
- to qualify feature lookuplanguage
- to qualify feature lookupfeature
- to test- Returns:
- true if feature supported (and has at least one lookup)
-
isMultiByte
boolean isMultiByte()Determines whether the font is a multibyte font.- Returns:
- True if it is multibyte
-