Attention: Here be dragons

This is the latest (unstable) version of this documentation, which may document features not available in or compatible with released stable versions of Godot.

SystemFont

Inherits: Font < Resource < RefCounted < Object

A font loaded from a system font. Falls back to a default theme font if not implemented on the host OS.

Description

SystemFont loads a font from a system font with the first matching name from font_names.

It will attempt to match font style, but it's not guaranteed.

The returned font might be part of a font collection or be a variable font with OpenType "weight", "width" and/or "italic" features set.

You can create FontVariation of the system font for precise control over its features.

Note: This class is implemented on iOS, Linux, macOS and Windows, on other platforms it will fallback to default theme font.

Properties

bool

allow_system_fallback

true

FontAntialiasing

antialiasing

1

bool

disable_embedded_bitmaps

true

bool

font_italic

false

PackedStringArray

font_names

PackedStringArray()

int

font_stretch

100

int

font_weight

400

bool

force_autohinter

false

bool

generate_mipmaps

false

Hinting

hinting

1

int

msdf_pixel_range

16

int

msdf_size

48

bool

multichannel_signed_distance_field

false

float

oversampling

0.0

SubpixelPositioning

subpixel_positioning

1


Property Descriptions

bool allow_system_fallback = true

  • void set_allow_system_fallback(value: bool)

  • bool is_allow_system_fallback()

If set to true, system fonts can be automatically used as fallbacks.


FontAntialiasing antialiasing = 1

Font anti-aliasing mode.


bool disable_embedded_bitmaps = true

  • void set_disable_embedded_bitmaps(value: bool)

  • bool get_disable_embedded_bitmaps()

If set to true, embedded font bitmap loading is disabled (bitmap-only and color fonts ignore this property).


bool font_italic = false

  • void set_font_italic(value: bool)

  • bool get_font_italic()

If set to true, italic or oblique font is preferred.


PackedStringArray font_names = PackedStringArray()

Array of font family names to search, first matching font found is used.


int font_stretch = 100

  • void set_font_stretch(value: int)

  • int get_font_stretch()

Preferred font stretch amount, compared to a normal width. A percentage value between 50% and 200%.


int font_weight = 400

  • void set_font_weight(value: int)

  • int get_font_weight()

Preferred weight (boldness) of the font. A value in the 100...999 range, normal font weight is 400, bold font weight is 700.


bool force_autohinter = false

  • void set_force_autohinter(value: bool)

  • bool is_force_autohinter()

If set to true, auto-hinting is supported and preferred over font built-in hinting.


bool generate_mipmaps = false

  • void set_generate_mipmaps(value: bool)

  • bool get_generate_mipmaps()

If set to true, generate mipmaps for the font textures.


Hinting hinting = 1

Font hinting mode.


int msdf_pixel_range = 16

  • void set_msdf_pixel_range(value: int)

  • int get_msdf_pixel_range()

The width of the range around the shape between the minimum and maximum representable signed distance. If using font outlines, msdf_pixel_range must be set to at least twice the size of the largest font outline. The default msdf_pixel_range value of 16 allows outline sizes up to 8 to look correct.


int msdf_size = 48

  • void set_msdf_size(value: int)

  • int get_msdf_size()

Source font size used to generate MSDF textures. Higher values allow for more precision, but are slower to render and require more memory. Only increase this value if you notice a visible lack of precision in glyph rendering.


bool multichannel_signed_distance_field = false

  • void set_multichannel_signed_distance_field(value: bool)

  • bool is_multichannel_signed_distance_field()

If set to true, glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data.


float oversampling = 0.0

  • void set_oversampling(value: float)

  • float get_oversampling()

Font oversampling factor, if set to 0.0 global oversampling factor is used instead.


SubpixelPositioning subpixel_positioning = 1

Font glyph subpixel positioning mode. Subpixel positioning provides shaper text and better kerning for smaller font sizes, at the cost of memory usage and font rasterization speed. Use TextServer.SUBPIXEL_POSITIONING_AUTO to automatically enable it based on the font size.


User-contributed notes

Please read the User-contributed notes policy before submitting a comment.