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)
Note: DynamicFont doesn’t support features such as right-to-left typesetting, ligatures, text shaping, variable fonts and optional font features yet. If you wish to “bake” an optional font feature into a TTF font file, you can use FontForge to do so. In FontForge, use File > Generate Fonts, click Options, choose the desired features then generate the font.
Properties¶
int | extra_spacing_bottom | 0 |
int | extra_spacing_char | 0 |
int | extra_spacing_space | 0 |
int | extra_spacing_top | 0 |
DynamicFontData | font_data | |
Color | outline_color | Color( 1, 1, 1, 1 ) |
int | outline_size | 0 |
int | size | 16 |
bool | use_filter | false |
bool | use_mipmaps | false |
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¶
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.
- DynamicFontData font_data
Setter | set_font_data(value) |
Getter | get_font_data() |
The font data.
- Color outline_color
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).
- int size
Default | 16 |
Setter | set_size(value) |
Getter | get_size() |
The font size in pixels.
- bool use_filter
Default | false |
Setter | set_use_filter(value) |
Getter | get_use_filter() |
If true
, filtering is used. This makes the font blurry instead of pixelated when scaling it if font oversampling is disabled or ineffective. It’s recommended to enable this when using the font in a control whose size changes over time, unless a pixel art aesthetic is desired.
- bool use_mipmaps
Default | false |
Setter | set_use_mipmaps(value) |
Getter | get_use_mipmaps() |
If true
, mipmapping is used. This improves the font’s appearance when downscaling it if font oversampling is disabled or ineffective.
Method Descriptions¶
- void add_fallback ( DynamicFontData data )
Adds a fallback font.
- DynamicFontData get_fallback ( int idx ) const
Returns the fallback font at index idx
.
- int get_fallback_count ( ) const
Returns the number of fallback fonts.
Returns the spacing for the given type
(see SpacingType).
- void remove_fallback ( int idx )
Removes the fallback font at index idx
.
- void set_fallback ( int idx, DynamicFontData data )
Sets the fallback font at index idx
.
Sets the spacing for type
(see SpacingType) to value
in pixels (not relative to the font size).