DynamicFont

Inherits: Font < Resource < Reference < Object

DynamicFont renders vector font files at runtime.

Description

DynamicFont renders vector font files (such as TTF or OTF) dynamically at runtime instead of using a prerendered texture atlas like BitmapFont. This trades the faster loading time of BitmapFonts for the ability to change font parameters like size and spacing during runtime. DynamicFontData is used for referencing the font file paths. DynamicFont also supports defining one or more fallbacks fonts, which will be used when displaying a character not supported by the main font.

DynamicFont uses the FreeType library for rasterization.

var dynamic_font = DynamicFont.new()
dynamic_font.font_data = load("res://BarlowCondensed-Bold.ttf")
dynamic_font.size = 64
$"Label".set("custom_fonts/font", dynamic_font)

Methods

void

add_fallback ( DynamicFontData data )

DynamicFontData

get_fallback ( int idx ) const

int

get_fallback_count ( ) const

int

get_spacing ( int type ) const

void

remove_fallback ( int idx )

void

set_fallback ( int idx, DynamicFontData data )

void

set_spacing ( int type, int value )

Enumerations

enum SpacingType:

  • SPACING_TOP = 0 --- Spacing at the top.

  • SPACING_BOTTOM = 1 --- Spacing at the bottom.

  • SPACING_CHAR = 2 --- Character spacing.

  • SPACING_SPACE = 3 --- Space spacing.

Property Descriptions

  • int extra_spacing_bottom

Default

0

Setter

set_spacing(value)

Getter

get_spacing()

Extra spacing at the bottom in pixels.


  • int extra_spacing_char

Default

0

Setter

set_spacing(value)

Getter

get_spacing()

Extra character spacing in pixels.


  • int extra_spacing_space

Default

0

Setter

set_spacing(value)

Getter

get_spacing()

Extra space spacing in pixels.


  • int extra_spacing_top

Default

0

Setter

set_spacing(value)

Getter

get_spacing()

Extra spacing at the top in pixels.


Setter

set_font_data(value)

Getter

get_font_data()

The font data.


Default

Color( 1, 1, 1, 1 )

Setter

set_outline_color(value)

Getter

get_outline_color()

The font outline's color.

Note: It's recommended to leave this at the default value so that you can adjust it in individual controls. For example, if the outline is made black here, it won't be possible to change its color using a Label's font outline modulate theme item.


  • int outline_size

Default

0

Setter

set_outline_size(value)

Getter

get_outline_size()

The font outline's thickness in pixels (not relative to the font size).


Default

16

Setter

set_size(value)

Getter

get_size()

The font size in pixels.

Method Descriptions

Adds a fallback font.


Returns the fallback font at index idx.


  • int get_fallback_count ( ) const

Returns the number of fallback fonts.


  • int get_spacing ( int type ) const

Returns the spacing for the given type (see SpacingType).


  • void remove_fallback ( int idx )

Removes the fallback font at index idx.


Sets the fallback font at index idx.


  • void set_spacing ( int type, int value )

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