FontVariation¶
Inherits: Font < Resource < RefCounted < Object
A variation of a font with additional settings.
Description¶
Provides OpenType variations, simulated bold / slant, and additional font settings like OpenType features and extra spacing.
To use simulated bold font variant:
var fv = FontVariation.new()
fv.set_base_font(load("res://BarlowCondensed-Regular.ttf"))
fv.set_variation_embolden(1.2)
$Label.add_theme_font_override("font", fv)
$Label.add_theme_font_size_override("font_size", 64)
var fv = new FontVariation();
fv.SetBaseFont(ResourceLoader.Load<FontFile>("res://BarlowCondensed-Regular.ttf"));
fv.SetVariationEmbolden(1.2);
GetNode("Label").AddThemeFontOverride("font", fv);
GetNode("Label").AddThemeFontSizeOverride("font_size", 64);
To set the coordinate of multiple variation axes:
var fv = FontVariation.new();
var ts = TextServerManager.get_primary_interface()
fv.base_font = load("res://BarlowCondensed-Regular.ttf")
fv.variation_opentype = { ts.name_to_tag("wght"): 900, ts.name_to_tag("custom_hght"): 900 }
Properties¶
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Methods¶
void |
set_spacing ( SpacingType spacing, int value ) |
Property Descriptions¶
Font base_font
Base font used to create a variation. If not set, default Theme font is used.
Dictionary opentype_features = {}
void set_opentype_features ( Dictionary value )
Dictionary get_opentype_features ( )
A set of OpenType feature tags. More info: OpenType feature tags.
int spacing_bottom = 0
void set_spacing ( SpacingType spacing, int value )
int get_spacing ( )
Extra spacing at the bottom of the line in pixels.
int spacing_glyph = 0
void set_spacing ( SpacingType spacing, int value )
int get_spacing ( )
Extra spacing between graphical glyphs.
int spacing_space = 0
void set_spacing ( SpacingType spacing, int value )
int get_spacing ( )
Extra width of the space glyphs.
int spacing_top = 0
void set_spacing ( SpacingType spacing, int value )
int get_spacing ( )
Extra spacing at the top of the line in pixels.
float variation_embolden = 0.0
If is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
Note: Emboldened fonts might have self-intersecting outlines, which will prevent MSDF fonts and TextMesh from working correctly.
int variation_face_index = 0
Active face index in the TrueType / OpenType collection file.
Dictionary variation_opentype = {}
void set_variation_opentype ( Dictionary value )
Dictionary get_variation_opentype ( )
Font OpenType variation coordinates. More info: OpenType variation tags.
Note: This Dictionary uses OpenType tags as keys. Variation axes can be identified both by tags(int
) and names (string
). Some axes might be accessible by multiple names. For example, wght
refers to the same axis as weight
. Tags on the other hand are unique. To convert between names and tags, use TextServer.name_to_tag and TextServer.tag_to_name.
Note: To get available variation axes of a font, use Font.get_supported_variation_list.
Transform2D variation_transform = Transform2D(1, 0, 0, 1, 0, 0)
void set_variation_transform ( Transform2D value )
Transform2D get_variation_transform ( )
2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.
For example, to simulate italic typeface by slanting, apply the following transform Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)
.
Method Descriptions¶
void set_spacing ( SpacingType spacing, int value )
Sets the spacing for spacing
(see SpacingType) to value
in pixels (not relative to the font size).