DynamicFont
Inherits: Font < Resource < Reference < Object DynamicFont renders vector font files at runtime.
Description
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 fallback fonts, which will be used when displaying a character not supported by the main font.
FreeType library for rasterization. Supported formats are TrueType (.ttf), OpenType (.otf), Web Open Font Format 1 (.woff), and Web Open Font Format 2 (.woff2).
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 kerning, 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.
Tutorials
- 3D Voxel Demo
Properties
Methods
Enumerations
SpacingType: - SPACING_TOP = 0 —- Spacing at the top.
- SPACING_BOTTOM = 1 —- Spacing at the bottom.
- SPACING_CHAR = 2 —- Spacing for each character.
- SPACING_SPACE = 3 —- Spacing for the space character.
Property Descriptions
- int extra_spacing_bottom Extra spacing at the bottom in pixels.
- int extra_spacing_char Extra spacing for each character in pixels. This can be a negative number to make the distance between characters smaller.
- int extra_spacing_space extra_spacing_char) in pixels. This can be a negative number to make the distance between words smaller.
- int extra_spacing_top Extra spacing at the top in pixels.
- DynamicFontData font_data The font data.
- Color 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 The font outline’s thickness in pixels (not relative to the font size).
- int size The font size in pixels.
- bool use_filter
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
true, mipmapping is used. This improves the font’s appearance when downscaling it if font oversampling is disabled or ineffective.Method Descriptions
- add_fallback ( DynamicFontData data ) Adds a fallback font.
- String get_available_chars ( ) const Returns a string containing all the characters available in the main and all the fallback fonts. If a given character is included in more than one font, it appears only once in the returned string.
- DynamicFontData get_fallback ( int idx ) const
idx.
- int get_fallback_count ( ) const Returns the number of fallback fonts.
- int get_spacing ( int type ) const
type(see SpacingType).
- remove_fallback ( int idx )
idx.
- set_fallback ( int idx, DynamicFontData data )
idx.
- set_spacing ( int type, int value )
type(see SpacingType) tovaluein pixels (not relative to the font size).
