public class Font extends Object implements Substitutable, Positionable
Modifier and Type | Field and Description |
---|---|
static FontTriplet |
DEFAULT_FONT
Default fallback key
|
static int |
PRIORITY_DEFAULT
Default selection priority
|
static String |
STYLE_INCLINED
Inclined font style
|
static String |
STYLE_ITALIC
Italic font style
|
static String |
STYLE_NORMAL
Normal font style
|
static String |
STYLE_OBLIQUE
Oblique font style
|
static int |
WEIGHT_BOLD
Bold font weight
|
static int |
WEIGHT_EXTRA_BOLD
Extra Bold font weight
|
static int |
WEIGHT_LIGHT
Light font weight
|
static int |
WEIGHT_NORMAL
Normal font weight
|
Constructor and Description |
---|
Font(String key,
FontTriplet triplet,
FontMetrics met,
int fontSize)
Main constructor
|
Modifier and Type | Method and Description |
---|---|
int |
getAscender()
Returns the font's ascender.
|
int |
getCapHeight()
Returns the font's CapHeight.
|
int |
getCharWidth(char c)
Helper method for getting the width of a unicode char
from the current fontstate.
|
int |
getCharWidth(int c)
Helper method for getting the width of a unicode char
from the current fontstate.
|
int |
getDescender()
Returns the font's Descender.
|
FontMetrics |
getFontMetrics()
Returns the associated font metrics object.
|
String |
getFontName()
Returns the font's name.
|
int |
getFontSize()
Returns the font size
|
FontTriplet |
getFontTriplet() |
Map<Integer,Map<Integer,Integer>> |
getKerning()
Returns the font's kerning table
|
int |
getKernValue(int ch1,
int ch2)
Returns the amount of kerning between two characters.
|
int |
getWidth(int charnum)
Returns the width of a character
|
int |
getWordWidth(String word)
Calculates the word width.
|
int |
getXHeight()
Returns the XHeight
|
boolean |
hasChar(char c)
Determines whether this font contains a particular character/glyph.
|
boolean |
hasCodePoint(int cp)
Determines whether this font contains a particular code point/glyph.
|
boolean |
hasFeature(int tableType,
String script,
String language,
String feature) |
boolean |
hasKerning() |
boolean |
isMultiByte()
Determines whether the font is a multibyte font.
|
char |
mapChar(char c)
Map a java character (unicode) to a font character.
|
int |
mapCodePoint(int cp)
Map a unicode code point to a font character.
|
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() |
public static final int WEIGHT_EXTRA_BOLD
public static final int WEIGHT_BOLD
public static final int WEIGHT_NORMAL
public static final int WEIGHT_LIGHT
public static final String STYLE_NORMAL
public static final String STYLE_ITALIC
public static final String STYLE_OBLIQUE
public static final String STYLE_INCLINED
public static final int PRIORITY_DEFAULT
public static final FontTriplet DEFAULT_FONT
public Font(String key, FontTriplet triplet, FontMetrics met, int fontSize)
key
- key of the fonttriplet
- the font triplet that was used to lookup this font (may be null)met
- font metricsfontSize
- font sizepublic FontMetrics getFontMetrics()
public boolean isMultiByte()
public int getAscender()
public int getCapHeight()
public int getDescender()
public String getFontName()
public FontTriplet getFontTriplet()
public int getFontSize()
public int getXHeight()
public boolean hasKerning()
public boolean hasFeature(int tableType, String script, String language, String feature)
public Map<Integer,Map<Integer,Integer>> getKerning()
public int getKernValue(int ch1, int ch2)
ch1
- first characterch2
- second characterpublic int getWidth(int charnum)
charnum
- character to look uppublic char mapChar(char c)
c
- character to mappublic int mapCodePoint(int cp)
cp
- code point to mappublic boolean hasChar(char c)
c
- character to checkpublic boolean hasCodePoint(int cp)
cp
- code point to checkpublic int getCharWidth(char c)
c
- character to inspectpublic int getCharWidth(int c)
c
- character to inspectpublic int getWordWidth(String word)
word
- text to get width forpublic 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 identifierCopyright © 2025 Apache Software Foundation. All rights reserved.