Font
class Font
kotlin.Any | |
↳ | android.graphics.fonts.Font |
A font class can be used for creating FontFamily.
Summary
Nested classes | |
---|---|
A builder class for creating new Font. |
Public methods | |
---|---|
Boolean |
Indicates whether some other object is "equal to" this one. |
Array<FontVariationAxis!>? |
getAxes() Get a font variation settings associated with this font |
ByteBuffer |
Returns a font file buffer. |
File? |
getFile() Returns a file path of this font. |
Float |
getGlyphBounds(glyphId: Int, paint: Paint, outBoundingBox: RectF?) Retrieve the glyph horizontal advance and bounding box. |
LocaleList |
Get a locale list of this font. |
Unit |
getMetrics(paint: Paint, outMetrics: Paint.FontMetrics?) Retrieve the font metrics information. |
Int |
Returns the unique ID of the source font data. |
FontStyle |
getStyle() Get a style associated with this font. |
Int |
Get a TTC index value associated with this font. |
Int |
hashCode() |
String |
toString() |
Public methods
equals
fun equals(other: Any?): Boolean
Indicates whether some other object is "equal to" this one.
The equals
method implements an equivalence relation on non-null object references:
- It is reflexive: for any non-null reference value
x
,x.equals(x)
should returntrue
. - It is symmetric: for any non-null reference values
x
andy
,x.equals(y)
should returntrue
if and only ify.equals(x)
returnstrue
. - It is transitive: for any non-null reference values
x
,y
, andz
, ifx.equals(y)
returnstrue
andy.equals(z)
returnstrue
, thenx.equals(z)
should returntrue
. - It is consistent: for any non-null reference values
x
andy
, multiple invocations ofx.equals(y)
consistently returntrue
or consistently returnfalse
, provided no information used inequals
comparisons on the objects is modified. - For any non-null reference value
x
,x.equals(null)
should returnfalse
.
An equivalence relation partitions the elements it operates on into equivalence classes; all the members of an equivalence class are equal to each other. Members of an equivalence class are substitutable for each other, at least for some purposes.
Parameters | |
---|---|
obj |
the reference object with which to compare. |
o |
This value may be null . |
Return | |
---|---|
Boolean |
true if this object is the same as the obj argument; false otherwise. |
getAxes
fun getAxes(): Array<FontVariationAxis!>?
Get a font variation settings associated with this font
Return | |
---|---|
Array<FontVariationAxis!>? |
font variation settings This value may be null . |
getBuffer
fun getBuffer(): ByteBuffer
Returns a font file buffer. Duplicate before reading values by ByteBuffer#duplicate()
for avoiding unexpected reading position sharing.
Return | |
---|---|
ByteBuffer |
a font buffer This value cannot be null . |
getFile
fun getFile(): File?
Returns a file path of this font. This returns null if this font is not created from regular file.
Return | |
---|---|
File? |
a file path of the font |
getGlyphBounds
fun getGlyphBounds(
glyphId: Int,
paint: Paint,
outBoundingBox: RectF?
): Float
Retrieve the glyph horizontal advance and bounding box. Note that android.graphics.Typeface
in android.graphics.Paint
is ignored.
Parameters | |
---|---|
glyphId |
Int: a glyph ID Value is 0 or greater |
paint |
Paint: a paint object used for resolving glyph style This value cannot be null . |
outBoundingBox |
RectF?: a nullable destination object. If null is passed, this function just return the horizontal advance. If non-null is passed, this function fills bounding box information to this object. |
Return | |
---|---|
Float |
the amount of horizontal advance in pixels |
getLocaleList
fun getLocaleList(): LocaleList
Get a locale list of this font. This is always empty if this font is not a system font.
Return | |
---|---|
LocaleList |
a locale list This value cannot be null . |
getMetrics
fun getMetrics(
paint: Paint,
outMetrics: Paint.FontMetrics?
): Unit
Retrieve the font metrics information. Note that android.graphics.Typeface
in android.graphics.Paint
is ignored.
Parameters | |
---|---|
paint |
Paint: a paint object used for retrieving font metrics. This value cannot be null . |
outMetrics |
Paint.FontMetrics?: a nullable destination object. If null is passed, this function only retrieve recommended interline spacing. If non-null is passed, this function fills to font metrics to it. |
getSourceIdentifier
fun getSourceIdentifier(): Int
Returns the unique ID of the source font data. You can use this identifier as a key of the cache or checking if two fonts can be interpolated with font variation settings.
<code> // Following three Fonts, fontA, fontB, fontC have the same identifier. Font fontA = new Font.Builder("/path/to/font").build(); Font fontB = new Font.Builder(fontA).setTtcIndex(1).build(); Font fontC = new Font.Builder(fontB).setFontVariationSettings("'wght' 700).build(); // Following fontD has the different identifier from above three. Font fontD = new Font.Builder("/path/to/another/font").build(); // Following fontE has different identifier from above four even the font path is the same. // To get the same identifier, please create new Font instance from existing fonts. Font fontE = new Font.Builder("/path/to/font").build(); </code>Here is an example of caching font object that has
<code> private LongSparseArray <sparsearray<font> > mCache = new LongSparseArray<>(); private Font getFontWeightVariation(Font font, int weight) { // Different collection index is treated as different font. long key = ((long) font.getSourceIdentifier()) << 32 | (long) font.getTtcIndex(); SparseArray <font> weightCache = mCache.get(key); if (weightCache == null) { weightCache = new SparseArray<>(); mCache.put(key, weightCache); } Font cachedFont = weightCache.get(weight); if (cachedFont != null) { return cachedFont; } Font newFont = new Font.Builder(cachedFont) .setFontVariationSettings("'wght' " + weight); .build(); weightCache.put(weight, newFont); return newFont; } </font> </sparsearray<font></code><font> </font>
Return | |
---|---|
Int |
an unique identifier for the font source data. |
getStyle
fun getStyle(): FontStyle
Get a style associated with this font.
Return | |
---|---|
FontStyle |
a font style This value cannot be null . |
getTtcIndex
fun getTtcIndex(): Int
Get a TTC index value associated with this font. If TTF/OTF file is provided, this value is always 0.
Return | |
---|---|
Int |
a TTC index value Value is 0 or greater |
toString
fun toString(): String
Return | |
---|---|
String |
a string representation of the object. |