:github_url: hide .. DO NOT EDIT THIS FILE!!! .. Generated automatically from Godot engine sources. .. Generator: https://github.com/godotengine/godot/tree/4.2/doc/tools/make_rst.py. .. XML source: https://github.com/godotengine/godot/tree/4.2/doc/classes/Font.xml. .. _class_Font: Font ==== **Inherits:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` **Inherited By:** :ref:`FontFile`, :ref:`FontVariation`, :ref:`SystemFont` Abstract base class for fonts and font variations. .. rst-class:: classref-introduction-group Description ----------- Abstract base class for different font types. It has methods for drawing text and font character introspection. .. rst-class:: classref-reftable-group Properties ---------- .. table:: :widths: auto +---------------------------+-------------------------------------------------+--------+ | :ref:`Font[]` | :ref:`fallbacks` | ``[]`` | +---------------------------+-------------------------------------------------+--------+ .. rst-class:: classref-reftable-group Methods ------- .. table:: :widths: auto +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`draw_char` **(** :ref:`RID` canvas_item, :ref:`Vector2` pos, :ref:`int` char, :ref:`int` font_size, :ref:`Color` modulate=Color(1, 1, 1, 1) **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`draw_char_outline` **(** :ref:`RID` canvas_item, :ref:`Vector2` pos, :ref:`int` char, :ref:`int` font_size, :ref:`int` size=-1, :ref:`Color` modulate=Color(1, 1, 1, 1) **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw_multiline_string` **(** :ref:`RID` canvas_item, :ref:`Vector2` pos, :ref:`String` text, :ref:`HorizontalAlignment` alignment=0, :ref:`float` width=-1, :ref:`int` font_size=16, :ref:`int` max_lines=-1, :ref:`Color` modulate=Color(1, 1, 1, 1), |bitfield|\<:ref:`LineBreakFlag`\> brk_flags=3, |bitfield|\<:ref:`JustificationFlag`\> justification_flags=3, :ref:`Direction` direction=0, :ref:`Orientation` orientation=0 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw_multiline_string_outline` **(** :ref:`RID` canvas_item, :ref:`Vector2` pos, :ref:`String` text, :ref:`HorizontalAlignment` alignment=0, :ref:`float` width=-1, :ref:`int` font_size=16, :ref:`int` max_lines=-1, :ref:`int` size=1, :ref:`Color` modulate=Color(1, 1, 1, 1), |bitfield|\<:ref:`LineBreakFlag`\> brk_flags=3, |bitfield|\<:ref:`JustificationFlag`\> justification_flags=3, :ref:`Direction` direction=0, :ref:`Orientation` orientation=0 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw_string` **(** :ref:`RID` canvas_item, :ref:`Vector2` pos, :ref:`String` text, :ref:`HorizontalAlignment` alignment=0, :ref:`float` width=-1, :ref:`int` font_size=16, :ref:`Color` modulate=Color(1, 1, 1, 1), |bitfield|\<:ref:`JustificationFlag`\> justification_flags=3, :ref:`Direction` direction=0, :ref:`Orientation` orientation=0 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`draw_string_outline` **(** :ref:`RID` canvas_item, :ref:`Vector2` pos, :ref:`String` text, :ref:`HorizontalAlignment` alignment=0, :ref:`float` width=-1, :ref:`int` font_size=16, :ref:`int` size=1, :ref:`Color` modulate=Color(1, 1, 1, 1), |bitfield|\<:ref:`JustificationFlag`\> justification_flags=3, :ref:`Direction` direction=0, :ref:`Orientation` orientation=0 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`find_variation` **(** :ref:`Dictionary` variation_coordinates, :ref:`int` face_index=0, :ref:`float` strength=0.0, :ref:`Transform2D` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`int` spacing_top=0, :ref:`int` spacing_bottom=0, :ref:`int` spacing_space=0, :ref:`int` spacing_glyph=0 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_ascent` **(** :ref:`int` font_size=16 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_char_size` **(** :ref:`int` char, :ref:`int` font_size **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_descent` **(** :ref:`int` font_size=16 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_face_count` **(** **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_font_name` **(** **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_font_stretch` **(** **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | |bitfield|\<:ref:`FontStyle`\> | :ref:`get_font_style` **(** **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_font_style_name` **(** **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_font_weight` **(** **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_height` **(** :ref:`int` font_size=16 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_multiline_string_size` **(** :ref:`String` text, :ref:`HorizontalAlignment` alignment=0, :ref:`float` width=-1, :ref:`int` font_size=16, :ref:`int` max_lines=-1, |bitfield|\<:ref:`LineBreakFlag`\> brk_flags=3, |bitfield|\<:ref:`JustificationFlag`\> justification_flags=3, :ref:`Direction` direction=0, :ref:`Orientation` orientation=0 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`get_opentype_features` **(** **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`get_ot_name_strings` **(** **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID[]` | :ref:`get_rids` **(** **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`get_spacing` **(** :ref:`SpacingType` spacing **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`get_string_size` **(** :ref:`String` text, :ref:`HorizontalAlignment` alignment=0, :ref:`float` width=-1, :ref:`int` font_size=16, |bitfield|\<:ref:`JustificationFlag`\> justification_flags=3, :ref:`Direction` direction=0, :ref:`Orientation` orientation=0 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`get_supported_chars` **(** **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`get_supported_feature_list` **(** **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`get_supported_variation_list` **(** **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_underline_position` **(** :ref:`int` font_size=16 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`get_underline_thickness` **(** :ref:`int` font_size=16 **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`has_char` **(** :ref:`int` char **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_language_supported` **(** :ref:`String` language **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`is_script_supported` **(** :ref:`String` script **)** |const| | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`set_cache_capacity` **(** :ref:`int` single_line, :ref:`int` multi_line **)** | +-----------------------------------------------------------+---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Property Descriptions --------------------- .. _class_Font_property_fallbacks: .. rst-class:: classref-property :ref:`Font[]` **fallbacks** = ``[]`` .. rst-class:: classref-property-setget - void **set_fallbacks** **(** :ref:`Font[]` value **)** - :ref:`Font[]` **get_fallbacks** **(** **)** Array of fallback **Font**\ s to use as a substitute if a glyph is not found in this current **Font**. If this array is empty in a :ref:`FontVariation`, the :ref:`FontVariation.base_font`'s fallbacks are used instead. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Method Descriptions ------------------- .. _class_Font_method_draw_char: .. rst-class:: classref-method :ref:`float` **draw_char** **(** :ref:`RID` canvas_item, :ref:`Vector2` pos, :ref:`int` char, :ref:`int` font_size, :ref:`Color` modulate=Color(1, 1, 1, 1) **)** |const| Draw a single Unicode character ``char`` into a canvas item using the font, at a given position, with ``modulate`` color. ``pos`` specifies the baseline, not the top. To draw from the top, *ascent* must be added to the Y axis. \ **Note:** Do not use this function to draw strings character by character, use :ref:`draw_string` or :ref:`TextLine` instead. .. rst-class:: classref-item-separator ---- .. _class_Font_method_draw_char_outline: .. rst-class:: classref-method :ref:`float` **draw_char_outline** **(** :ref:`RID` canvas_item, :ref:`Vector2` pos, :ref:`int` char, :ref:`int` font_size, :ref:`int` size=-1, :ref:`Color` modulate=Color(1, 1, 1, 1) **)** |const| Draw a single Unicode character ``char`` outline into a canvas item using the font, at a given position, with ``modulate`` color and ``size`` outline size. ``pos`` specifies the baseline, not the top. To draw from the top, *ascent* must be added to the Y axis. \ **Note:** Do not use this function to draw strings character by character, use :ref:`draw_string` or :ref:`TextLine` instead. .. rst-class:: classref-item-separator ---- .. _class_Font_method_draw_multiline_string: .. rst-class:: classref-method void **draw_multiline_string** **(** :ref:`RID` canvas_item, :ref:`Vector2` pos, :ref:`String` text, :ref:`HorizontalAlignment` alignment=0, :ref:`float` width=-1, :ref:`int` font_size=16, :ref:`int` max_lines=-1, :ref:`Color` modulate=Color(1, 1, 1, 1), |bitfield|\<:ref:`LineBreakFlag`\> brk_flags=3, |bitfield|\<:ref:`JustificationFlag`\> justification_flags=3, :ref:`Direction` direction=0, :ref:`Orientation` orientation=0 **)** |const| Breaks ``text`` into lines using rules specified by ``brk_flags`` and draws it into a canvas item using the font, at a given position, with ``modulate`` color, optionally clipping the width and aligning horizontally. ``pos`` specifies the baseline of the first line, not the top. To draw from the top, *ascent* must be added to the Y axis. See also :ref:`CanvasItem.draw_multiline_string`. .. rst-class:: classref-item-separator ---- .. _class_Font_method_draw_multiline_string_outline: .. rst-class:: classref-method void **draw_multiline_string_outline** **(** :ref:`RID` canvas_item, :ref:`Vector2` pos, :ref:`String` text, :ref:`HorizontalAlignment` alignment=0, :ref:`float` width=-1, :ref:`int` font_size=16, :ref:`int` max_lines=-1, :ref:`int` size=1, :ref:`Color` modulate=Color(1, 1, 1, 1), |bitfield|\<:ref:`LineBreakFlag`\> brk_flags=3, |bitfield|\<:ref:`JustificationFlag`\> justification_flags=3, :ref:`Direction` direction=0, :ref:`Orientation` orientation=0 **)** |const| Breaks ``text`` to the lines using rules specified by ``brk_flags`` and draws text outline into a canvas item using the font, at a given position, with ``modulate`` color and ``size`` outline size, optionally clipping the width and aligning horizontally. ``pos`` specifies the baseline of the first line, not the top. To draw from the top, *ascent* must be added to the Y axis. See also :ref:`CanvasItem.draw_multiline_string_outline`. .. rst-class:: classref-item-separator ---- .. _class_Font_method_draw_string: .. rst-class:: classref-method void **draw_string** **(** :ref:`RID` canvas_item, :ref:`Vector2` pos, :ref:`String` text, :ref:`HorizontalAlignment` alignment=0, :ref:`float` width=-1, :ref:`int` font_size=16, :ref:`Color` modulate=Color(1, 1, 1, 1), |bitfield|\<:ref:`JustificationFlag`\> justification_flags=3, :ref:`Direction` direction=0, :ref:`Orientation` orientation=0 **)** |const| Draw ``text`` into a canvas item using the font, at a given position, with ``modulate`` color, optionally clipping the width and aligning horizontally. ``pos`` specifies the baseline, not the top. To draw from the top, *ascent* must be added to the Y axis. See also :ref:`CanvasItem.draw_string`. .. rst-class:: classref-item-separator ---- .. _class_Font_method_draw_string_outline: .. rst-class:: classref-method void **draw_string_outline** **(** :ref:`RID` canvas_item, :ref:`Vector2` pos, :ref:`String` text, :ref:`HorizontalAlignment` alignment=0, :ref:`float` width=-1, :ref:`int` font_size=16, :ref:`int` size=1, :ref:`Color` modulate=Color(1, 1, 1, 1), |bitfield|\<:ref:`JustificationFlag`\> justification_flags=3, :ref:`Direction` direction=0, :ref:`Orientation` orientation=0 **)** |const| Draw ``text`` outline into a canvas item using the font, at a given position, with ``modulate`` color and ``size`` outline size, optionally clipping the width and aligning horizontally. ``pos`` specifies the baseline, not the top. To draw from the top, *ascent* must be added to the Y axis. See also :ref:`CanvasItem.draw_string_outline`. .. rst-class:: classref-item-separator ---- .. _class_Font_method_find_variation: .. rst-class:: classref-method :ref:`RID` **find_variation** **(** :ref:`Dictionary` variation_coordinates, :ref:`int` face_index=0, :ref:`float` strength=0.0, :ref:`Transform2D` transform=Transform2D(1, 0, 0, 1, 0, 0), :ref:`int` spacing_top=0, :ref:`int` spacing_bottom=0, :ref:`int` spacing_space=0, :ref:`int` spacing_glyph=0 **)** |const| Returns :ref:`TextServer` RID of the font cache for specific variation. .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_ascent: .. rst-class:: classref-method :ref:`float` **get_ascent** **(** :ref:`int` font_size=16 **)** |const| Returns the average font ascent (number of pixels above the baseline). \ **Note:** Real ascent of the string is context-dependent and can be significantly different from the value returned by this function. Use it only as rough estimate (e.g. as the ascent of empty line). .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_char_size: .. rst-class:: classref-method :ref:`Vector2` **get_char_size** **(** :ref:`int` char, :ref:`int` font_size **)** |const| Returns the size of a character. Does not take kerning into account. \ **Note:** Do not use this function to calculate width of the string character by character, use :ref:`get_string_size` or :ref:`TextLine` instead. The height returned is the font height (see also :ref:`get_height`) and has no relation to the glyph height. .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_descent: .. rst-class:: classref-method :ref:`float` **get_descent** **(** :ref:`int` font_size=16 **)** |const| Returns the average font descent (number of pixels below the baseline). \ **Note:** Real descent of the string is context-dependent and can be significantly different from the value returned by this function. Use it only as rough estimate (e.g. as the descent of empty line). .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_face_count: .. rst-class:: classref-method :ref:`int` **get_face_count** **(** **)** |const| Returns number of faces in the TrueType / OpenType collection. .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_font_name: .. rst-class:: classref-method :ref:`String` **get_font_name** **(** **)** |const| Returns font family name. .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_font_stretch: .. rst-class:: classref-method :ref:`int` **get_font_stretch** **(** **)** |const| Returns font stretch amount, compared to a normal width. A percentage value between ``50%`` and ``200%``. .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_font_style: .. rst-class:: classref-method |bitfield|\<:ref:`FontStyle`\> **get_font_style** **(** **)** |const| Returns font style flags, see :ref:`FontStyle`. .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_font_style_name: .. rst-class:: classref-method :ref:`String` **get_font_style_name** **(** **)** |const| Returns font style name. .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_font_weight: .. rst-class:: classref-method :ref:`int` **get_font_weight** **(** **)** |const| Returns weight (boldness) of the font. A value in the ``100...999`` range, normal font weight is ``400``, bold font weight is ``700``. .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_height: .. rst-class:: classref-method :ref:`float` **get_height** **(** :ref:`int` font_size=16 **)** |const| Returns the total average font height (ascent plus descent) in pixels. \ **Note:** Real height of the string is context-dependent and can be significantly different from the value returned by this function. Use it only as rough estimate (e.g. as the height of empty line). .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_multiline_string_size: .. rst-class:: classref-method :ref:`Vector2` **get_multiline_string_size** **(** :ref:`String` text, :ref:`HorizontalAlignment` alignment=0, :ref:`float` width=-1, :ref:`int` font_size=16, :ref:`int` max_lines=-1, |bitfield|\<:ref:`LineBreakFlag`\> brk_flags=3, |bitfield|\<:ref:`JustificationFlag`\> justification_flags=3, :ref:`Direction` direction=0, :ref:`Orientation` orientation=0 **)** |const| Returns the size of a bounding box of a string broken into the lines, taking kerning and advance into account. See also :ref:`draw_multiline_string`. .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_opentype_features: .. rst-class:: classref-method :ref:`Dictionary` **get_opentype_features** **(** **)** |const| Returns a set of OpenType feature tags. More info: `OpenType feature tags `__. .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_ot_name_strings: .. rst-class:: classref-method :ref:`Dictionary` **get_ot_name_strings** **(** **)** |const| Returns :ref:`Dictionary` with OpenType font name strings (localized font names, version, description, license information, sample text, etc.). .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_rids: .. rst-class:: classref-method :ref:`RID[]` **get_rids** **(** **)** |const| Returns :ref:`Array` of valid **Font** :ref:`RID`\ s, which can be passed to the :ref:`TextServer` methods. .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_spacing: .. rst-class:: classref-method :ref:`int` **get_spacing** **(** :ref:`SpacingType` spacing **)** |const| Returns the spacing for the given ``type`` (see :ref:`SpacingType`). .. rst-class:: classref-item-separator ---- .. _class_Font_method_get_string_size: .. rst-class:: classref-method :ref:`Vector2` **get_string_size** **(** :ref:`String` text, :ref:`HorizontalAlignment` alignment=0, :ref:`float` width=-1, :ref:`int` font_size=16, |bitfield|\<:ref:`JustificationFlag`\> justification_flags=3, :ref:`Direction` direction=0, :ref:`Orientation` orientation=0 **)** |const| Returns the size of a bounding box of a single-line string, taking kerning, advance and subpixel positioning into account. See also :ref:`get_multiline_string_size` and :ref:`draw_string`. For example, to get the string size as displayed by a single-line Label, use: .. tabs:: .. code-tab:: gdscript var string_size = $Label.get_theme_font("font").get_string_size($Label.text, HORIZONTAL_ALIGNMENT_LEFT, -1, $Label.get_theme_font_size("font_size")) .. code-tab:: csharp Label label = GetNode