class-description NEWS COMMUNITY STORE LABS SIGN UP LOGIN LOGOUT ROKOJORI NEWSLETTER SIGN UP LOGIN LOGOUT NEWS COMMUNITY STORE LABS TOGGLE FULLSCREEN VOLLBILD AN/AUS ObjectRefCountedResourceFont FontFile
Holds font source data and prerendered glyph cache, imported from a dynamic or a bitmap font.

FontFile contains a set of glyphs to represent Unicode characters imported from a font file, as well as a cache of rasterized glyphs, and a set of fallback Fonts to use.

Use FontVariation to access specific OpenType variation of the font, create simulated bold / slanted version, and draw lines of text.

For more complex text processing, use FontVariation in conjunction with TextLine or TextParagraph.

Supported font formats:

  • Dynamic font importer: TrueType (.ttf), TrueType collection (.ttc), OpenType (.otf), OpenType collection (.otc), WOFF (.woff), WOFF2 (.woff2), Type 1 (.pfb, .pfm).

  • Bitmap font importer: AngelCode BMFont (.fnt, .font), text and binary (version 3) format variants.

  • Monospace image font importer: All supported image formats.

var f = load("res://BarlowCondensed-Bold.ttf") $Label.add_theme_font_override("font", f) $Label.add_theme_font_size_override("font_size", 64)
bool allow_system_fallback<>():bool

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

FontAntialiasing antialiasing<>():FontAntialiasing

Font anti-aliasing mode.

PackedByteArray data<>():PackedByteArray

Contents of the dynamic font source file.

int fixed_size<>():int

Font size, used only for the bitmap fonts.

FixedSizeScaleMode fixed_size_scale_mode<>():FixedSizeScaleMode

Scaling mode, used only for the bitmap fonts with fixed_size greater than zero.

String font_name<>():String

Font family name.

int font_stretch<>():int

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

BitField FontStyle<>():BitField

Font style flags, see FontStyle.

int font_weight<>():int

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<>():bool

If set to true, auto-hinting is supported and preferred over font built-in hinting. Used by dynamic fonts only (MSDF fonts don't support hinting).

bool generate_mipmaps<>():bool

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

Hinting hinting<>():Hinting

Font hinting mode. Used by dynamic fonts only.

int msdf_pixel_range<>():int

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<>():int

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<>():bool

If set to true, glyphs of all sizes are rendered using single multichannel signed distance field (MSDF) generated from the dynamic font vector data. Since this approach does not rely on rasterizing the font every time its size changes, this allows for resizing the font in real-time without any performance penalty. Text will also not look grainy for Controls that are scaled down (or for Label3Ds viewed from a long distance). As a downside, font hinting is not available with MSDF. The lack of font hinting may result in less crisp and less readable fonts at small sizes.

Note: If using font outlines, msdf_pixel_range must be set to at least twice the size of the largest font outline.

Note: MSDF font rendering does not render glyphs with overlapping shapes correctly. Overlapping shapes are not valid per the OpenType standard, but are still commonly found in many font files, especially those converted by Google Fonts. To avoid issues with overlapping glyphs, consider downloading the font file directly from the type foundry instead of relying on Google Fonts.

Dictionary opentype_feature_overrides<>():Dictionary

Font OpenType feature set override.

float oversampling<>():float

Font oversampling factor. If set to 0.0, the global oversampling factor is used instead. Used by dynamic fonts only (MSDF fonts ignore oversampling).

String style_name<>():String

Font style name.

SubpixelPositioning subpixel_positioning<>():SubpixelPositioning

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

void clear_cache<>():void

Removes all font cache entries.

void clear_glyphs<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, ):void

Removes all rendered glyphs information from the cache entry.

Note: This function will not remove textures associated with the glyphs, use remove_texture to remove them manually.

void clear_kerning_map<>( int cache_index=, cache_index:int=, int size=, size:int=, ):void

Removes all kerning overrides.

void clear_size_cache<>( int cache_index=, cache_index:int=, ):void

Removes all font sizes from the cache entry

void clear_textures<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, ):void

Removes all textures from font cache entry.

Note: This function will not remove glyphs associated with the texture, use remove_glyph to remove them manually.

float get_cache_ascent<>( int cache_index=, cache_index:int=, int size=, size:int=, ):float

Returns the font ascent (number of pixels above the baseline).

int get_cache_count<>():int

Returns number of the font cache entries.

float get_cache_descent<>( int cache_index=, cache_index:int=, int size=, size:int=, ):float

Returns the font descent (number of pixels below the baseline).

float get_cache_scale<>( int cache_index=, cache_index:int=, int size=, size:int=, ):float

Returns scaling factor of the color bitmap font.

float get_cache_underline_position<>( int cache_index=, cache_index:int=, int size=, size:int=, ):float

Returns pixel offset of the underline below the baseline.

float get_cache_underline_thickness<>( int cache_index=, cache_index:int=, int size=, size:int=, ):float

Returns thickness of the underline in pixels.

int get_char_from_glyph_index<>( int size=, size:int=, int glyph_index=, glyph_index:int=, ):int

Returns character code associated with glyph_index, or 0 if glyph_index is invalid. See get_glyph_index.

float get_embolden<>( int cache_index=, cache_index:int=, ):float

Returns embolden strength, if is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.

float get_extra_baseline_offset<>( int cache_index=, cache_index:int=, ):float

Returns extra baseline offset (as a fraction of font height).

int get_extra_spacing<>( int cache_index=, cache_index:int=, SpacingType spacing=, spacing:SpacingType=, ):int

Returns spacing for spacing (see SpacingType) in pixels (not relative to the font size).

int get_face_index<>( int cache_index=, cache_index:int=, ):int

Returns an active face index in the TrueType / OpenType collection.

Vector2 get_glyph_advance<>( int cache_index=, cache_index:int=, int size=, size:int=, int glyph=, glyph:int=, ):Vector2

Returns glyph advance (offset of the next glyph).

Note: Advance for glyphs outlines is the same as the base glyph advance and is not saved.

int get_glyph_index<>( int size=, size:int=, int char=, char:int=, int variation_selector=, variation_selector:int=, ):int

Returns the glyph index of a char, optionally modified by the variation_selector.

PackedInt32Array get_glyph_list<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, ):PackedInt32Array

Returns list of rendered glyphs in the cache entry.

Vector2 get_glyph_offset<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int glyph=, glyph:int=, ):Vector2

Returns glyph offset from the baseline.

Vector2 get_glyph_size<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int glyph=, glyph:int=, ):Vector2

Returns glyph size.

int get_glyph_texture_idx<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int glyph=, glyph:int=, ):int

Returns index of the cache texture containing the glyph.

Rect2 get_glyph_uv_rect<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int glyph=, glyph:int=, ):Rect2

Returns rectangle in the cache texture containing the glyph.

Vector2 get_kerning<>( int cache_index=, cache_index:int=, int size=, size:int=, Vector2i glyph_pair=, glyph_pair:Vector2i=, ):Vector2

Returns kerning for the pair of glyphs.

Vector2i[] get_kerning_list<>( int cache_index=, cache_index:int=, int size=, size:int=, ):Vector2i[]

Returns list of the kerning overrides.

bool get_language_support_override<>( String language=, language:String=, ):bool

Returns true if support override is enabled for the language.

PackedStringArray get_language_support_overrides<>():PackedStringArray

Returns list of language support overrides.

bool get_script_support_override<>( String script=, script:String=, ):bool

Returns true if support override is enabled for the script.

PackedStringArray get_script_support_overrides<>():PackedStringArray

Returns list of script support overrides.

Vector2i[] get_size_cache_list<>( int cache_index=, cache_index:int=, ):Vector2i[]

Returns list of the font sizes in the cache. Each size is Vector2i with font size and outline size.

int get_texture_count<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, ):int

Returns number of textures used by font cache entry.

Image get_texture_image<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int texture_index=, texture_index:int=, ):Image

Returns a copy of the font cache texture image.

PackedInt32Array get_texture_offsets<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int texture_index=, texture_index:int=, ):PackedInt32Array

Returns a copy of the array containing glyph packing data.

Transform2D get_transform<>( int cache_index=, cache_index:int=, ):Transform2D

Returns 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.

Dictionary get_variation_coordinates<>( int cache_index=, cache_index:int=, ):Dictionary

Returns variation coordinates for the specified font cache entry. See Font.get_supported_variation_list for more info.

Error load_bitmap_font<>( String path=, path:String=, ):Error

Loads an AngelCode BMFont (.fnt, .font) bitmap font from file path.

Warning: This method should only be used in the editor or in cases when you need to load external fonts at run-time, such as fonts located at the user:// directory.

Error load_dynamic_font<>( String path=, path:String=, ):Error

Loads a TrueType (.ttf), OpenType (.otf), WOFF (.woff), WOFF2 (.woff2) or Type 1 (.pfb, .pfm) dynamic font from file path.

Warning: This method should only be used in the editor or in cases when you need to load external fonts at run-time, such as fonts located at the user:// directory.

void remove_cache<>( int cache_index=, cache_index:int=, ):void

Removes specified font cache entry.

void remove_glyph<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int glyph=, glyph:int=, ):void

Removes specified rendered glyph information from the cache entry.

Note: This function will not remove textures associated with the glyphs, use remove_texture to remove them manually.

void remove_kerning<>( int cache_index=, cache_index:int=, int size=, size:int=, Vector2i glyph_pair=, glyph_pair:Vector2i=, ):void

Removes kerning override for the pair of glyphs.

void remove_language_support_override<>( String language=, language:String=, ):void

Remove language support override.

void remove_script_support_override<>( String script=, script:String=, ):void

Removes script support override.

void remove_size_cache<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, ):void

Removes specified font size from the cache entry.

void remove_texture<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int texture_index=, texture_index:int=, ):void

Removes specified texture from the cache entry.

Note: This function will not remove glyphs associated with the texture. Remove them manually using remove_glyph.

void render_glyph<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int index=, index:int=, ):void

Renders specified glyph to the font cache texture.

void render_range<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int start=, start:int=, int end=, end:int=, ):void

Renders the range of characters to the font cache texture.

void set_cache_ascent<>( int cache_index=, cache_index:int=, int size=, size:int=, float ascent=, ascent:float=, ):void

Sets the font ascent (number of pixels above the baseline).

void set_cache_descent<>( int cache_index=, cache_index:int=, int size=, size:int=, float descent=, descent:float=, ):void

Sets the font descent (number of pixels below the baseline).

void set_cache_scale<>( int cache_index=, cache_index:int=, int size=, size:int=, float scale=, scale:float=, ):void

Sets scaling factor of the color bitmap font.

void set_cache_underline_position<>( int cache_index=, cache_index:int=, int size=, size:int=, float underline_position=, underline_position:float=, ):void

Sets pixel offset of the underline below the baseline.

void set_cache_underline_thickness<>( int cache_index=, cache_index:int=, int size=, size:int=, float underline_thickness=, underline_thickness:float=, ):void

Sets thickness of the underline in pixels.

void set_embolden<>( int cache_index=, cache_index:int=, float strength=, strength:float=, ):void

Sets embolden strength, if is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.

void set_extra_baseline_offset<>( int cache_index=, cache_index:int=, float baseline_offset=, baseline_offset:float=, ):void

Sets extra baseline offset (as a fraction of font height).

void set_extra_spacing<>( int cache_index=, cache_index:int=, SpacingType spacing=, spacing:SpacingType=, int value=, value:int=, ):void

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

void set_face_index<>( int cache_index=, cache_index:int=, int face_index=, face_index:int=, ):void

Sets an active face index in the TrueType / OpenType collection.

void set_glyph_advance<>( int cache_index=, cache_index:int=, int size=, size:int=, int glyph=, glyph:int=, Vector2 advance=, advance:Vector2=, ):void

Sets glyph advance (offset of the next glyph).

Note: Advance for glyphs outlines is the same as the base glyph advance and is not saved.

void set_glyph_offset<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int glyph=, glyph:int=, Vector2 offset=, offset:Vector2=, ):void

Sets glyph offset from the baseline.

void set_glyph_size<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int glyph=, glyph:int=, Vector2 gl_size=, gl_size:Vector2=, ):void

Sets glyph size.

void set_glyph_texture_idx<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int glyph=, glyph:int=, int texture_idx=, texture_idx:int=, ):void

Sets index of the cache texture containing the glyph.

void set_glyph_uv_rect<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int glyph=, glyph:int=, Rect2 uv_rect=, uv_rect:Rect2=, ):void

Sets rectangle in the cache texture containing the glyph.

void set_kerning<>( int cache_index=, cache_index:int=, int size=, size:int=, Vector2i glyph_pair=, glyph_pair:Vector2i=, Vector2 kerning=, kerning:Vector2=, ):void

Sets kerning for the pair of glyphs.

void set_language_support_override<>( String language=, language:String=, bool supported=, supported:bool=, ):void

Adds override for Font.is_language_supported.

void set_script_support_override<>( String script=, script:String=, bool supported=, supported:bool=, ):void

Adds override for Font.is_script_supported.

void set_texture_image<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int texture_index=, texture_index:int=, Image image=, image:Image=, ):void

Sets font cache texture image.

void set_texture_offsets<>( int cache_index=, cache_index:int=, Vector2i size=, size:Vector2i=, int texture_index=, texture_index:int=, PackedInt32Array offset=, offset:PackedInt32Array=, ):void

Sets array containing glyph packing data.

void set_transform<>( int cache_index=, cache_index:int=, Transform2D transform=, transform:Transform2D=, ):void

Sets 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs.

void set_variation_coordinates<>( int cache_index=, cache_index:int=, Dictionary variation_coordinates=, variation_coordinates:Dictionary=, ):void

Sets variation coordinates for the specified font cache entry. See Font.get_supported_variation_list for more info.




All social media brands are registrated trademarks and belong to their respective owners.





CONTACT IMPRINT TERMS OF USE PRIVACY © ROKOROJI ® 2021 rokojori.com
CONTACT IMPRINT TERMS OF USE PRIVACY © ROKOROJI ® 2021 rokojori.com
We are using cookies on this site. Read more... Wir benutzen Cookies auf dieser Seite. Mehr lesen...