Class reference

FontVariation

Inherits Font

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.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)
		
		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

Font base_font

Base font used to create a variation. If not set, default Theme font is used.

float baseline_offset = 0.0

Extra baseline offset (as a fraction of font height).

int spacing_bottom = 0

Extra spacing at the bottom of the line in pixels.

int spacing_glyph = 0

Extra spacing between graphical glyphs.

int spacing_space = 0

Extra width of the space glyphs.

int spacing_top = 0

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 = {}

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, e.g. 0x77678674) and names (String, e.g. wght). 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)

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).

Methods

void set_spacing(int spacing, int value)

Sets the spacing for spacing to value in pixels (not relative to the font size).

Source revision 4f5b14abade2
Connection interrupted. Reload×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.