public class CustomFontMetricsMapper extends Typeface implements FontMetricsMapper, Substitutable, Positionable
FontMetrics
instance. This class was designed to allow
the underlying Font
to be loaded from a
user-configured file not registered in the current graphics environment.eventListener, NOT_FOUND
Constructor and Description |
---|
CustomFontMetricsMapper(CustomFont fontMetrics)
Construction of this class results in the immediate construction
of the underlying
Font . |
CustomFontMetricsMapper(FontUris fontUris,
EmbedFontInfo configFontInfo,
InternalResourceResolver resourceResolver) |
CustomFontMetricsMapper(LazyFont fontMetrics,
InputStream fontSource)
Construction of this class results in the immediate construction
of the underlying
Font . |
Modifier and Type | Method and Description |
---|---|
int |
getAscender(int size)
Returns the ascent of the font described by this
FontMetrics object.
|
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.
|
String |
getEmbedFontName()
Returns the font name for font embedding (may include a prefix, Example: "1E28bcArialMT").
|
String |
getEncodingName()
Get the encoding of the font.
|
Set<String> |
getFamilyNames()
Returns the font's family names as a Set of Strings (Example: "Helvetica").
|
Font |
getFont(int size)
Gets a
Font instance of the font that this
FontMetrics describes in the desired size. |
String |
getFontName()
Returns the "PostScript" font name (Example: "Helvetica-BoldOblique").
|
FontType |
getFontType()
Returns the type of the font.
|
URI |
getFontURI()
Returns the URI of the font file from which these metrics were loaded.
|
String |
getFullName()
Returns the font's full name (Example: "Helvetica Bold Oblique").
|
Map |
getKerningInfo()
Returns the kerning map for the font.
|
Typeface |
getRealFont() |
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.
|
boolean |
isMultiByte()
Determines whether the font is a multibyte font.
|
char |
mapChar(char c)
Map a Unicode character to a code point in the font.
|
int[][] |
performPositioning(CharSequence cs,
String script,
String language)
Perform glyph positioning using an implied font size.
|
int[][] |
performPositioning(CharSequence cs,
String script,
String language,
int fontSize)
Perform glyph positioning.
|
boolean |
performsPositioning()
Determines if font performs glyph positioning.
|
boolean |
performsSubstitution()
Determines if font performs glyph substitution.
|
CharSequence |
performSubstitution(CharSequence cs,
String script,
String language,
List associations,
boolean retainControls)
Perform substitutions on characters to effect glyph substitution.
|
CharSequence |
reorderCombiningMarks(CharSequence cs,
int[][] gpa,
String script,
String language,
List associations)
Reorder combining marks in character sequence so that they precede (within the sequence) the base
character to which they are applied.
|
getMaxAscent, hadMappingOperations, hasFeature, isCID, notifyMapOperation, setEventListener, toString, warnMissingGlyph
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getMaxAscent, hasFeature
public CustomFontMetricsMapper(CustomFont fontMetrics) throws FontFormatException, IOException
Font
.fontMetrics
- the metrics of the custom fontFontFormatException
- if a bad font is loadedIOException
- if an I/O error occurspublic CustomFontMetricsMapper(LazyFont fontMetrics, InputStream fontSource) throws FontFormatException, IOException
Font
.fontMetrics
- the fontfontSource
- the font source to access the fontFontFormatException
- if a bad font is loadedIOException
- if an I/O error occurspublic CustomFontMetricsMapper(FontUris fontUris, EmbedFontInfo configFontInfo, InternalResourceResolver resourceResolver)
public final String getEncodingName()
getEncodingName
in class Typeface
public final boolean hasChar(char c)
public final char mapChar(char c)
public final Font getFont(int size)
Font
instance of the font that this
FontMetrics
describes in the desired size.getFont
in interface FontMetricsMapper
size
- font sizepublic final int getAscender(int size)
getAscender
in interface FontMetrics
size
- font sizepublic final int getCapHeight(int size)
getCapHeight
in interface FontMetrics
size
- font sizepublic final int getDescender(int size)
getDescender
in interface FontMetrics
size
- font sizepublic final String getEmbedFontName()
getEmbedFontName
in interface FontMetrics
public final Set<String> getFamilyNames()
getFamilyNames
in interface FontMetrics
public final String getFontName()
getFontName
in interface FontMetrics
public final URI getFontURI()
getFontURI
in interface FontMetrics
public final FontType getFontType()
getFontType
in interface FontMetrics
public final String getFullName()
getFullName
in interface FontMetrics
public final Map getKerningInfo()
getKerningInfo
in interface FontMetrics
public final int getWidth(int i, int size)
getWidth
in interface FontMetrics
i
- code point indexsize
- font sizepublic final int[] getWidths()
This is used to get an array for inserting in an output format. It should not be used for lookup.
getWidths
in interface FontMetrics
public Rectangle getBoundingBox(int glyphIndex, int size)
FontMetrics
getBoundingBox
in interface FontMetrics
glyphIndex
- glyph indexsize
- font sizepublic final int getXHeight(int size)
getXHeight
in interface FontMetrics
size
- font sizepublic int getUnderlinePosition(int size)
FontMetrics
getUnderlinePosition
in interface FontMetrics
size
- font sizepublic int getUnderlineThickness(int size)
FontMetrics
getUnderlineThickness
in interface FontMetrics
size
- font sizepublic int getStrikeoutPosition(int size)
FontMetrics
getStrikeoutPosition
in interface FontMetrics
size
- font sizepublic int getStrikeoutThickness(int size)
FontMetrics
getStrikeoutThickness
in interface FontMetrics
size
- font sizepublic final boolean hasKerningInfo()
hasKerningInfo
in interface FontMetrics
public boolean isMultiByte()
isMultiByte
in interface FontMetrics
isMultiByte
in class Typeface
public boolean performsPositioning()
performsPositioning
in interface Positionable
public int[][] performPositioning(CharSequence cs, String script, String language, int fontSize)
performPositioning
in interface Positionable
cs
- character sequence to map to position offsets (advancement adjustments)script
- a script identifierlanguage
- a language identifierfontSize
- font sizepublic int[][] performPositioning(CharSequence cs, String script, String language)
performPositioning
in interface Positionable
cs
- character sequence to map to position offsets (advancement adjustments)script
- a script identifierlanguage
- a language identifierpublic boolean performsSubstitution()
performsSubstitution
in interface Substitutable
public CharSequence performSubstitution(CharSequence cs, String script, String language, List associations, boolean retainControls)
performSubstitution
in interface Substitutable
cs
- character sequence to map to output font encoding character sequencescript
- a script identifierlanguage
- a language identifierassociations
- optional list to receive list of character associationsretainControls
- if true, then retain control characters and their glyph mappings, otherwise removepublic CharSequence reorderCombiningMarks(CharSequence cs, int[][] gpa, String script, String language, List associations)
reorderCombiningMarks
in interface Substitutable
cs
- character sequence within which combining marks to be reorderedgpa
- associated glyph position adjustments (also reordered)script
- a script identifierlanguage
- a language identifierassociations
- optional list of associations to be reorderedpublic Typeface getRealFont()
Copyright © 2025 Apache Software Foundation. All rights reserved.