fop 2.2

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
 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.util.Set<java.lang.String> getFamilyNames()
          Returns the font's family names as a Set of Strings (Example: "Helvetica").
 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<java.lang.Integer,java.util.Map<java.lang.Integer,java.lang.Integer>> 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 hasFeature(int tableType, java.lang.String script, java.lang.String language, java.lang.String feature)
          Determine if metrics supports specific feature in specified font table.
 boolean hasKerningInfo()
          Indicates if the font has kerning information.
 boolean isMultiByte()
          Determines whether the font is a multibyte font.
 

Method Detail

getFontURI

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

Returns:
the font file's URI

getFontName

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

Returns:
the font name

getFullName

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

Returns:
the font's full name

getFamilyNames

java.util.Set<java.lang.String> 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

java.lang.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 index
size - 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

java.awt.Rectangle getBoundingBox(int glyphIndex,
                                  int size)
Returns the bounding box of the glyph at the given index, for the given font size.

Parameters:
glyphIndex - glyph index
size - 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

java.util.Map<java.lang.Integer,java.util.Map<java.lang.Integer,java.lang.Integer>> 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

boolean hasFeature(int tableType,
                   java.lang.String script,
                   java.lang.String language,
                   java.lang.String feature)
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 lookup
language - to qualify feature lookup
feature - 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

fop 2.2

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