A variation of a font with additional settings.
Provides OpenType variations, simulated bold / slant, and additional font settings like OpenType features and extra spacing. To use simulated bold font variant: [codeblocks] [gdscript] var fv = FontVariation.new() fv.base_font = load("res://BarlowCondensed-Regular.ttf") fv.variation_embolden = 1.2 $Label.add_theme_font_override("font", fv) $Label.add_theme_font_size_override("font_size", 64) [/gdscript] [csharp] 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); [/csharp] [/codeblocks] To set the coordinate of multiple variation axes: [codeblock] 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 } [/codeblock]
Sets the spacing for [param spacing] to [param value] in pixels (not relative to the font size).
- Base font used to create a variation. If not set, default [Theme] font is used.
- Extra baseline offset (as a fraction of font height).
- A set of OpenType feature tags. More info: [url=https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags]OpenType feature tags[/url].
- Extra spacing at the bottom of the line in pixels.
- Extra spacing between graphical glyphs.
- Extra width of the space glyphs.
- Extra spacing at the top of the line in pixels.
- If is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness. [b]Note:[/b] Emboldened fonts might have self-intersecting outlines, which will prevent MSDF fonts and [TextMesh] from working correctly.
- Active face index in the TrueType / OpenType collection file.
- Font OpenType variation coordinates. More info: [url=https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg]OpenType variation tags[/url]. [b]Note:[/b] This [Dictionary] uses OpenType tags as keys. Variation axes can be identified both by tags ([int], e.g. [code]0x77678674[/code]) and names ([String], e.g. [code]wght[/code]). Some axes might be accessible by multiple names. For example, [code]wght[/code] refers to the same axis as [code]weight[/code]. Tags on the other hand are unique. To convert between names and tags, use [method TextServer.name_to_tag] and [method TextServer.tag_to_name]. [b]Note:[/b] To get available variation axes of a font, use [method Font.get_supported_variation_list].
- 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 [code]Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)[/code].