public class LazyFont extends Typeface implements FontDescriptor, Substitutable, Positionable
eventListener, NOT_FOUND
Constructor and Description |
---|
LazyFont(EmbedFontInfo fontInfo,
InternalResourceResolver resourceResolver,
boolean useComplexScripts)
Main constructor
|
Modifier and Type | Method and Description |
---|---|
int |
getAscender()
Returns the ascender value of the font.
|
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()
Returns the capital height of the font.
|
int |
getCapHeight(int size)
Returns the size of a capital letter measured from the font's baseline.
|
int |
getDescender()
Returns the descender value of the font.
|
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").
|
int |
getFlags()
Returns the flags for the font.
|
int[] |
getFontBBox()
Returns the font's bounding box.
|
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").
|
int |
getItalicAngle()
Returns the italic angle for the font.
|
Map<Integer,Map<Integer,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.
|
Typeface |
getRealFont()
Gets the real font.
|
int |
getStemV()
Returns the vertical stem width for the font.
|
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 |
hadMappingOperations()
Indicates whether this font had to do any character mapping operations.
|
boolean |
hasChar(char c)
Determines whether this font contains a particular character/glyph.
|
boolean |
hasFeature(int tableType,
String script,
String language,
String feature)
Determine if metrics supports specific feature in specified font table.
|
boolean |
hasKerningInfo()
Indicates if the font has kerning information.
|
boolean |
isEmbeddable()
Indicates if this font may be embedded.
|
boolean |
isMultiByte()
Determines whether the font is a multibyte font.
|
boolean |
isSubsetEmbedded()
Indicates whether this font is subset embedded.
|
boolean |
isSymbolicFont()
Indicates whether the font is a symbolic 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.
|
String |
toString() |
isCID, notifyMapOperation, setEventListener, warnMissingGlyph
public LazyFont(EmbedFontInfo fontInfo, InternalResourceResolver resourceResolver, boolean useComplexScripts)
fontInfo
- the font info to embedresourceResolver
- the font resolver to handle font URIspublic Typeface getRealFont()
public String getEncodingName()
getEncodingName
in class Typeface
public char mapChar(char c)
public boolean hadMappingOperations()
hadMappingOperations
in class Typeface
public boolean hasChar(char c)
public boolean isMultiByte()
isMultiByte
in interface FontMetrics
isMultiByte
in class Typeface
public URI getFontURI()
getFontURI
in interface FontMetrics
public String getFontName()
getFontName
in interface FontMetrics
public String getEmbedFontName()
getEmbedFontName
in interface FontMetrics
public String getFullName()
getFullName
in interface FontMetrics
public Set<String> getFamilyNames()
getFamilyNames
in interface FontMetrics
public int getMaxAscent(int size)
getMaxAscent
in interface FontMetrics
getMaxAscent
in class Typeface
size
- font sizepublic int getAscender(int size)
getAscender
in interface FontMetrics
size
- font sizepublic int getCapHeight(int size)
getCapHeight
in interface FontMetrics
size
- font sizepublic int getDescender(int size)
getDescender
in interface FontMetrics
size
- font sizepublic 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 int getWidth(int i, int size)
getWidth
in interface FontMetrics
i
- code point indexsize
- font sizepublic 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 boolean hasKerningInfo()
hasKerningInfo
in interface FontMetrics
public Map<Integer,Map<Integer,Integer>> getKerningInfo()
getKerningInfo
in interface FontMetrics
public boolean hasFeature(int tableType, String script, String language, String feature)
hasFeature
in interface FontMetrics
hasFeature
in class Typeface
tableType
- type of table (GSUB, GPOS, ...), see GlyphTable.GLYPH_TABLE_TYPE_*script
- to qualify feature lookuplanguage
- to qualify feature lookupfeature
- to testpublic int getCapHeight()
getCapHeight
in interface FontDescriptor
public int getDescender()
getDescender
in interface FontDescriptor
public int getAscender()
getAscender
in interface FontDescriptor
public int getFlags()
getFlags
in interface FontDescriptor
public boolean isSymbolicFont()
isSymbolicFont
in interface FontDescriptor
public int[] getFontBBox()
getFontBBox
in interface FontDescriptor
public int getItalicAngle()
getItalicAngle
in interface FontDescriptor
public int getStemV()
getStemV
in interface FontDescriptor
public FontType getFontType()
getFontType
in interface FontMetrics
public boolean isEmbeddable()
isEmbeddable
in interface FontDescriptor
public 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 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 isSubsetEmbedded()
isSubsetEmbedded
in interface FontDescriptor
Copyright © 2025 Apache Software Foundation. All rights reserved.