<?xml version="1.0" encoding="UTF-8" ?> <class name="FontVariation" inherits="Font" version="4.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../class.xsd"> <brief_description> Variation of the [Font]. </brief_description> <description> 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.set_base_font(load("res://BarlowCondensed-Regular.ttf")) fv.set_variation_embolden(1.2); $"Label".set("custom_fonts/font", fv) $"Label".set("custom_fonts/font_size", 64) [/gdscript] [csharp] var fv = new FontVariation(); fv.SetBaseFont(ResourceLoader.Load<FontFile>("res://BarlowCondensed-Regular.ttf")); fv.SetVariationEmbolden(1.2); GetNode("Label").Set("custom_fonts/font", fv); GetNode("Label").Set("custom_font_sizes/font_size", 64); [/csharp] [/codeblocks] </description> <tutorials> </tutorials> <methods> <method name="set_spacing"> <return type="void" /> <param index="0" name="spacing" type="int" enum="TextServer.SpacingType" /> <param index="1" name="value" type="int" /> <description> Sets the spacing for [code]type[/code] (see [enum TextServer.SpacingType]) to [param value] in pixels (not relative to the font size). </description> </method> </methods> <members> <member name="base_font" type="Font" setter="set_base_font" getter="get_base_font"> Base font used to create a variation. If not set, default [Theme] font is used. </member> <member name="fallbacks" type="Font[]" setter="set_fallbacks" getter="get_fallbacks" default="[]"> Array of fallback [Font]s. If not set [member base_font] fallback are ussed. </member> <member name="opentype_features" type="Dictionary" setter="set_opentype_features" getter="get_opentype_features" default="{}"> A set of OpenType feature tags. More info: [url=https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags]OpenType feature tags[/url]. </member> <member name="spacing_bottom" type="int" setter="set_spacing" getter="get_spacing" default="0"> Extra spacing at the bottom of the line in pixels. </member> <member name="spacing_glyph" type="int" setter="set_spacing" getter="get_spacing" default="0"> Extra spacing between graphical glyphs </member> <member name="spacing_space" type="int" setter="set_spacing" getter="get_spacing" default="0"> Extra width of the space glyphs. </member> <member name="spacing_top" type="int" setter="set_spacing" getter="get_spacing" default="0"> Extra spacing at the top of the line in pixels. </member> <member name="variation_embolden" type="float" setter="set_variation_embolden" getter="get_variation_embolden" default="0.0"> 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. </member> <member name="variation_face_index" type="int" setter="set_variation_face_index" getter="get_variation_face_index" default="0"> Active face index in the TrueType / OpenType collection file. </member> <member name="variation_opentype" type="Dictionary" setter="set_variation_opentype" getter="get_variation_opentype" default="{}"> Font OpenType variation coordinates. More info: [url=https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg]OpenType variation tags[/url]. </member> <member name="variation_transform" type="Transform2D" setter="set_variation_transform" getter="get_variation_transform" default="Transform2D(1, 0, 0, 1, 0, 0)"> 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]. </member> </members> </class>