Class “Font”
Represents a font. See also FontValue
Type: | Font extends Object |
Constructor: | public |
Singleton: | No |
Namespace: | tabris |
Direct subclasses: | None |
JSX Support: | No |
Examples
JavaScript
import {Font} from 'tabris';
const font = Font.from('bold 24px');
console.log(font.size); // 24
See also:
JS Applying multiple font styles to TextViews [► Run in Playground]
Constructor
new Font(size, family?, weight?, style?)
Parameter | Type | Description |
---|---|---|
size | number |
Positive number in dip |
family | string[] |
Prioritized list of font families Optional. |
weight | 'black' |
Boldness of the font Optional. |
style | 'italic' | 'normal' |
Face of the font family to be used Optional. |
Methods
equals(value)
Tests if the given value is a Font
instance that is deeply equal to this one.
Parameter | Type | Description |
---|---|---|
value | Font |
Returns: boolean
toString()
Returns a string representation of the font using the CSS font shorthand syntax.
Returns: string
Static Methods
from(fontValue)
Creates a new instance of Font using any valid font expression. For any other value, including null
and 'initial'
the method throws.
Parameter | Type | Description |
---|---|---|
fontValue | FontValue |
The value to create a Font instance from |
Returns: Font
isFontValue(value)
Returns true if value is a FontValue. This includes null
and 'initial'
. Use this to check if a value will be accepted by a font property. This is also a valid TypeScript type guard function.
Parameter | Type | Description |
---|---|---|
value | any |
The value to test |
Returns: boolean
isValidFontValue(value)
Returns true if value is a valid FontValue. This excludes null
and 'initial'
. Use this to check if a value will be accepted by Font.from. This is also a valid TypeScript type guard function.
Parameter | Type | Description |
---|---|---|
value | any |
The value to test |
Returns: value is FontValue
Properties
family
Prioritized list of font families
Type: | string[] |
Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
size
Positive number in dip
Type: | number |
Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
style
Face of the font family to be used
Type: | 'italic' | 'normal' |
Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
weight
Boldness of the font
Type: | 'black' |
Settable: | No |
This property can only be set via constructor. Once set, it cannot change anymore.
Static Properties
condensed
Type: | "condensed" |
Settable: | No |
monospace
Type: | "monospace" |
Settable: | No |
sansSerif
Type: | "sans-serif" |
Settable: | No |
serif
Type: | "serif" |
Settable: | No |
Related Types
FontValue
- JavaScript Type:
tabris.Font
,Object
,string
- TypeScript Type:
tabris.FontValue
A FontValue
describes a font by size, family, weight and style. This type allows various expressions that can all be used in place of a Font
instance for convenience. All API that accept these expressions will convert them to a Font
object. (With the exception of CanvasContext
.) Setting a FontValue property to null resets it to the default.
Generic font size is always given as DIP (device independent pixels), though the string shorthand expects "px"
as a unit. It’s still DIPs.
Generic font families are supported across all platforms: "serif"
, "sans-serif"
, "condensed"
and "monospace"
. These are available as static string properties of Font
, e.g. Font.serif
. These exist just to help with autocompletion. More families can be added via app.registerFont
. If no family is given for a font the system default is used. If no font family is given the default system font will be used. The string "initial"
represents the platform default.
Supported font weights are "light"
, "thin"
, "normal"
, "medium"
, "bold"
and "black"
. The default is "normal"
Supported font styles are "italic"
and "normal"
. The default is "normal"
In TypeScript you can import this type as a union with import {FontValue} from 'tabris';
or use tabris.FontValue
. Type guards for FontValue
are available as Font.isFontValue
and Font.isValidFontValue
.
In addition to Font
instances FontValue
includes:
FontLikeObject
- JavaScript Type:
Object
- TypeScript Type:
tabris.FontLikeObject
interface FontLikeObject {
size: number;
family?: string[];
weight?: FontWeight;
style?: FontStyle;
}
A plain object implementing the same properties as Font
.
Examples:
{size: 16, weight: 'bold'}
{size: 24, family: 'sans-serif', style: 'italic'}
FontString
- JavaScript Type:
string
- TypeScript Type:
tabris.FontString
As a string, a subset of the shorthand syntax known from CSS is used: "font-style font-weight font-size font-family"
, where every value except size is optional. The size also need to have a "px"
postfix. Multiple families may be given separated by commas. Families with spaces in their name need to be put in single or double quotes.
Examples:
"bold 24px"
"12px sans-serif"
"italic thin 12px sans-serif"
"24px 'My Font', sans-serif"
"initial"