type
Font
@Js
@Serializable { simple=true }
const class Font : Obj
Font models font-family, font-size, and font-style, and font-weight. Metrics are available for a predefined set of fonts.
constructors
| fromProps |
Construct from a map of CSS props such as font-family, font-size. |
|---|---|
| fromStr |
Parse font from string using CSS shorthand format for supported properties |
| make |
Construct with it-block |
fields
| names |
List of prioritized family names |
|---|---|
| size |
Size of font in points. |
| style |
Style as normal, italic, or oblique |
| weight |
Weight as number from 100 to 900 |
methods
| equals |
Equality is based on all fields. |
|---|---|
| hash |
Return hash of all fields |
| name |
First family name in |
| toProps |
Get CSS style properties for this font. |
| toSize |
Return this font with different point size. |
| toStr |
Format as |
| toStyle |
Return this font with different style |
| toWeight |
Return this font with different weight. |
Slot Details
equals
fromProps
fromStr
static new fromStr(Str s, Bool checked := true)
Parse font from string using CSS shorthand format for supported properties:
[<style>] [<weight>] <size> <names>
Examples:
Font.fromStr("12pt Arial")
Font.fromStr("bold 10pt Courier")
Font.fromStr("italic bold 8pt Times")
Font.fromStr("italic 300 10pt sans-serif")
hash
virtual override Int hash()
Return hash of all fields
make
new make(|This| f)
Construct with it-block
name
names
const Str[] names := Str["sans-serif"]
List of prioritized family names
size
const Float size := 11.0f
Size of font in points.
style
const FontStyle style := FontStyle.normal
Style as normal, italic, or oblique
toProps
toSize
toStr
virtual override Str toStr()
Format as "[style] [weight] <size>pt <names>"
toStyle
toWeight
Font toWeight(FontWeight weight)
Return this font with different weight.
weight
const FontWeight weight := FontWeight.normal
Weight as number from 100 to 900