Files
godot-docs/classes/class_fontdata.rst
2022-02-01 16:35:13 +01:00

954 lines
69 KiB
ReStructuredText

:github_url: hide
.. Generated automatically by doc/tools/make_rst.py in Godot's source tree.
.. DO NOT EDIT THIS FILE, but the FontData.xml source instead.
.. The source is found in doc/classes or modules/<name>/doc_classes.
.. _class_FontData:
FontData
========
**Inherits:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
Font source data and prerendered glyph cache, imported from dynamic or bitmap font.
Supported font formats:
- Dynamic font importer: TrueType (.ttf), OpenType (.otf), WOFF (.woff), 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.
Properties
----------
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
| :ref:`bool<class_bool>` | :ref:`antialiased<class_FontData_property_antialiased>` | ``true`` |
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
| :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`data<class_FontData_property_data>` | ``PackedByteArray()`` |
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
| :ref:`int<class_int>` | :ref:`fixed_size<class_FontData_property_fixed_size>` | ``0`` |
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
| :ref:`String<class_String>` | :ref:`font_name<class_FontData_property_font_name>` | ``""`` |
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
| :ref:`int<class_int>` | :ref:`font_style<class_FontData_property_font_style>` | ``0`` |
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
| :ref:`bool<class_bool>` | :ref:`force_autohinter<class_FontData_property_force_autohinter>` | ``false`` |
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
| :ref:`Hinting<enum_TextServer_Hinting>` | :ref:`hinting<class_FontData_property_hinting>` | ``1`` |
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
| :ref:`int<class_int>` | :ref:`msdf_pixel_range<class_FontData_property_msdf_pixel_range>` | ``16`` |
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
| :ref:`int<class_int>` | :ref:`msdf_size<class_FontData_property_msdf_size>` | ``48`` |
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
| :ref:`bool<class_bool>` | :ref:`multichannel_signed_distance_field<class_FontData_property_multichannel_signed_distance_field>` | ``false`` |
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`opentype_feature_overrides<class_FontData_property_opentype_feature_overrides>` | ``{}`` |
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
| :ref:`float<class_float>` | :ref:`oversampling<class_FontData_property_oversampling>` | ``0.0`` |
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
| :ref:`String<class_String>` | :ref:`style_name<class_FontData_property_style_name>` | ``""`` |
+-----------------------------------------------+-------------------------------------------------------------------------------------------------------+-----------------------+
Methods
-------
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear_cache<class_FontData_method_clear_cache>` **(** **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear_glyphs<class_FontData_method_clear_glyphs>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear_kerning_map<class_FontData_method_clear_kerning_map>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear_size_cache<class_FontData_method_clear_size_cache>` **(** :ref:`int<class_int>` cache_index **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`clear_textures<class_FontData_method_clear_textures>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`find_cache<class_FontData_method_find_cache>` **(** :ref:`Dictionary<class_Dictionary>` variation_coordinates **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_ascent<class_FontData_method_get_ascent>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_cache_count<class_FontData_method_get_cache_count>` **(** **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`get_cache_rid<class_FontData_method_get_cache_rid>` **(** :ref:`int<class_int>` cache_index **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_descent<class_FontData_method_get_descent>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_glyph_advance<class_FontData_method_get_glyph_advance>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_glyph_index<class_FontData_method_get_glyph_index>` **(** :ref:`int<class_int>` size, :ref:`int<class_int>` char, :ref:`int<class_int>` variation_selector **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`get_glyph_list<class_FontData_method_get_glyph_list>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_glyph_offset<class_FontData_method_get_glyph_offset>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_glyph_size<class_FontData_method_get_glyph_size>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_glyph_texture_idx<class_FontData_method_get_glyph_texture_idx>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Rect2<class_Rect2>` | :ref:`get_glyph_uv_rect<class_FontData_method_get_glyph_uv_rect>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`get_kerning<class_FontData_method_get_kerning>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`get_kerning_list<class_FontData_method_get_kerning_list>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_language_support_override<class_FontData_method_get_language_support_override>` **(** :ref:`String<class_String>` language **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_language_support_overrides<class_FontData_method_get_language_support_overrides>` **(** **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_scale<class_FontData_method_get_scale>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`get_script_support_override<class_FontData_method_get_script_support_override>` **(** :ref:`String<class_String>` script **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`get_script_support_overrides<class_FontData_method_get_script_support_overrides>` **(** **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`get_size_cache_list<class_FontData_method_get_size_cache_list>` **(** :ref:`int<class_int>` cache_index **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_spacing<class_FontData_method_get_spacing>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing_type **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`get_supported_chars<class_FontData_method_get_supported_chars>` **(** **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`get_supported_feature_list<class_FontData_method_get_supported_feature_list>` **(** **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`get_supported_variation_list<class_FontData_method_get_supported_variation_list>` **(** **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`get_texture_count<class_FontData_method_get_texture_count>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Image<class_Image>` | :ref:`get_texture_image<class_FontData_method_get_texture_image>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`get_texture_offsets<class_FontData_method_get_texture_offsets>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_underline_position<class_FontData_method_get_underline_position>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`get_underline_thickness<class_FontData_method_get_underline_thickness>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`get_variation_coordinates<class_FontData_method_get_variation_coordinates>` **(** :ref:`int<class_int>` cache_index **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`has_char<class_FontData_method_has_char>` **(** :ref:`int<class_int>` char **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_language_supported<class_FontData_method_is_language_supported>` **(** :ref:`String<class_String>` language **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`is_script_supported<class_FontData_method_is_script_supported>` **(** :ref:`String<class_String>` script **)** |const| |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load_bitmap_font<class_FontData_method_load_bitmap_font>` **(** :ref:`String<class_String>` path **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Error<enum_@GlobalScope_Error>` | :ref:`load_dynamic_font<class_FontData_method_load_dynamic_font>` **(** :ref:`String<class_String>` path **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_cache<class_FontData_method_remove_cache>` **(** :ref:`int<class_int>` cache_index **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_glyph<class_FontData_method_remove_glyph>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_kerning<class_FontData_method_remove_kerning>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_language_support_override<class_FontData_method_remove_language_support_override>` **(** :ref:`String<class_String>` language **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_script_support_override<class_FontData_method_remove_script_support_override>` **(** :ref:`String<class_String>` script **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_size_cache<class_FontData_method_remove_size_cache>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`remove_texture<class_FontData_method_remove_texture>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`render_glyph<class_FontData_method_render_glyph>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` index **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`render_range<class_FontData_method_render_range>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` start, :ref:`int<class_int>` end **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_ascent<class_FontData_method_set_ascent>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` ascent **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_descent<class_FontData_method_set_descent>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` descent **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_glyph_advance<class_FontData_method_set_glyph_advance>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` advance **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_glyph_offset<class_FontData_method_set_glyph_offset>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` offset **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_glyph_size<class_FontData_method_set_glyph_size>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` gl_size **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_glyph_texture_idx<class_FontData_method_set_glyph_texture_idx>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`int<class_int>` texture_idx **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_glyph_uv_rect<class_FontData_method_set_glyph_uv_rect>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Rect2<class_Rect2>` uv_rect **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_kerning<class_FontData_method_set_kerning>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair, :ref:`Vector2<class_Vector2>` kerning **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_language_support_override<class_FontData_method_set_language_support_override>` **(** :ref:`String<class_String>` language, :ref:`bool<class_bool>` supported **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_scale<class_FontData_method_set_scale>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` scale **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_script_support_override<class_FontData_method_set_script_support_override>` **(** :ref:`String<class_String>` script, :ref:`bool<class_bool>` supported **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_spacing<class_FontData_method_set_spacing>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing_type, :ref:`int<class_int>` value **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_texture_image<class_FontData_method_set_texture_image>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`Image<class_Image>` image **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_texture_offsets<class_FontData_method_set_texture_offsets>` **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`PackedInt32Array<class_PackedInt32Array>` offset **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_underline_position<class_FontData_method_set_underline_position>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_position **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_underline_thickness<class_FontData_method_set_underline_thickness>` **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_thickness **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| void | :ref:`set_variation_coordinates<class_FontData_method_set_variation_coordinates>` **(** :ref:`int<class_int>` cache_index, :ref:`Dictionary<class_Dictionary>` variation_coordinates **)** |
+---------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
Property Descriptions
---------------------
.. _class_FontData_property_antialiased:
- :ref:`bool<class_bool>` **antialiased**
+-----------+------------------------+
| *Default* | ``true`` |
+-----------+------------------------+
| *Setter* | set_antialiased(value) |
+-----------+------------------------+
| *Getter* | is_antialiased() |
+-----------+------------------------+
If set to ``true``, font 8-bit anitialiased glyph rendering is supported and enabled.
----
.. _class_FontData_property_data:
- :ref:`PackedByteArray<class_PackedByteArray>` **data**
+-----------+-----------------------+
| *Default* | ``PackedByteArray()`` |
+-----------+-----------------------+
| *Setter* | set_data(value) |
+-----------+-----------------------+
| *Getter* | get_data() |
+-----------+-----------------------+
Contents of the dynamic font source file.
----
.. _class_FontData_property_fixed_size:
- :ref:`int<class_int>` **fixed_size**
+-----------+-----------------------+
| *Default* | ``0`` |
+-----------+-----------------------+
| *Setter* | set_fixed_size(value) |
+-----------+-----------------------+
| *Getter* | get_fixed_size() |
+-----------+-----------------------+
Font size, used only for the bitmap fonts.
----
.. _class_FontData_property_font_name:
- :ref:`String<class_String>` **font_name**
+-----------+----------------------+
| *Default* | ``""`` |
+-----------+----------------------+
| *Setter* | set_font_name(value) |
+-----------+----------------------+
| *Getter* | get_font_name() |
+-----------+----------------------+
Font family name.
----
.. _class_FontData_property_font_style:
- :ref:`int<class_int>` **font_style**
+-----------+-----------------------+
| *Default* | ``0`` |
+-----------+-----------------------+
| *Setter* | set_font_style(value) |
+-----------+-----------------------+
| *Getter* | get_font_style() |
+-----------+-----------------------+
Font style flags, see :ref:`FontStyle<enum_TextServer_FontStyle>`.
----
.. _class_FontData_property_force_autohinter:
- :ref:`bool<class_bool>` **force_autohinter**
+-----------+-----------------------------+
| *Default* | ``false`` |
+-----------+-----------------------------+
| *Setter* | set_force_autohinter(value) |
+-----------+-----------------------------+
| *Getter* | is_force_autohinter() |
+-----------+-----------------------------+
If set to ``true``, auto-hinting is supported and preffered over font built-in hinting. Used by dynamic fonts only.
----
.. _class_FontData_property_hinting:
- :ref:`Hinting<enum_TextServer_Hinting>` **hinting**
+-----------+--------------------+
| *Default* | ``1`` |
+-----------+--------------------+
| *Setter* | set_hinting(value) |
+-----------+--------------------+
| *Getter* | get_hinting() |
+-----------+--------------------+
Font hinting mode. Used by dynamic fonts only.
----
.. _class_FontData_property_msdf_pixel_range:
- :ref:`int<class_int>` **msdf_pixel_range**
+-----------+-----------------------------+
| *Default* | ``16`` |
+-----------+-----------------------------+
| *Setter* | set_msdf_pixel_range(value) |
+-----------+-----------------------------+
| *Getter* | get_msdf_pixel_range() |
+-----------+-----------------------------+
The width of the range around the shape between the minimum and maximum representable signed distance.
----
.. _class_FontData_property_msdf_size:
- :ref:`int<class_int>` **msdf_size**
+-----------+----------------------+
| *Default* | ``48`` |
+-----------+----------------------+
| *Setter* | set_msdf_size(value) |
+-----------+----------------------+
| *Getter* | get_msdf_size() |
+-----------+----------------------+
Source font size used to generate MSDF textures.
----
.. _class_FontData_property_multichannel_signed_distance_field:
- :ref:`bool<class_bool>` **multichannel_signed_distance_field**
+-----------+-----------------------------------------------+
| *Default* | ``false`` |
+-----------+-----------------------------------------------+
| *Setter* | set_multichannel_signed_distance_field(value) |
+-----------+-----------------------------------------------+
| *Getter* | is_multichannel_signed_distance_field() |
+-----------+-----------------------------------------------+
If set to ``true``, glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data.
----
.. _class_FontData_property_opentype_feature_overrides:
- :ref:`Dictionary<class_Dictionary>` **opentype_feature_overrides**
+-----------+---------------------------------------+
| *Default* | ``{}`` |
+-----------+---------------------------------------+
| *Setter* | set_opentype_feature_overrides(value) |
+-----------+---------------------------------------+
| *Getter* | get_opentype_feature_overrides() |
+-----------+---------------------------------------+
Font OpenType feature set override.
----
.. _class_FontData_property_oversampling:
- :ref:`float<class_float>` **oversampling**
+-----------+-------------------------+
| *Default* | ``0.0`` |
+-----------+-------------------------+
| *Setter* | set_oversampling(value) |
+-----------+-------------------------+
| *Getter* | get_oversampling() |
+-----------+-------------------------+
Font oversampling factor, if set to ``0.0`` global oversampling factor is used instead. Used by dynamic fonts only.
----
.. _class_FontData_property_style_name:
- :ref:`String<class_String>` **style_name**
+-----------+----------------------------+
| *Default* | ``""`` |
+-----------+----------------------------+
| *Setter* | set_font_style_name(value) |
+-----------+----------------------------+
| *Getter* | get_font_style_name() |
+-----------+----------------------------+
Font style name.
Method Descriptions
-------------------
.. _class_FontData_method_clear_cache:
- void **clear_cache** **(** **)**
Removes all font cache entries.
----
.. _class_FontData_method_clear_glyphs:
- void **clear_glyphs** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)**
Removes all rendered glyphs information from the cache entry.
\ **Note:** This function will not remove textures associated with the glyphs, use :ref:`remove_texture<class_FontData_method_remove_texture>` to remove them manually.
----
.. _class_FontData_method_clear_kerning_map:
- void **clear_kerning_map** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)**
Removes all kerning overrides.
----
.. _class_FontData_method_clear_size_cache:
- void **clear_size_cache** **(** :ref:`int<class_int>` cache_index **)**
Removes all font sizes from the cache entry
----
.. _class_FontData_method_clear_textures:
- void **clear_textures** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)**
Removes all textures from font cache entry.
\ **Note:** This function will not remove glyphs associated with the texture, use :ref:`remove_glyph<class_FontData_method_remove_glyph>` to remove them manually.
----
.. _class_FontData_method_find_cache:
- :ref:`RID<class_RID>` **find_cache** **(** :ref:`Dictionary<class_Dictionary>` variation_coordinates **)** |const|
Returns existing or creates a new font cache entry for the specified variation coordinates.
----
.. _class_FontData_method_get_ascent:
- :ref:`float<class_float>` **get_ascent** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
Returns the font ascent (number of pixels above the baseline).
----
.. _class_FontData_method_get_cache_count:
- :ref:`int<class_int>` **get_cache_count** **(** **)** |const|
Returns number of the font cache entries.
----
.. _class_FontData_method_get_cache_rid:
- :ref:`RID<class_RID>` **get_cache_rid** **(** :ref:`int<class_int>` cache_index **)** |const|
Returns text server font cache entry resource id.
----
.. _class_FontData_method_get_descent:
- :ref:`float<class_float>` **get_descent** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
Returns font descent (number of pixels below the baseline).
----
.. _class_FontData_method_get_glyph_advance:
- :ref:`Vector2<class_Vector2>` **get_glyph_advance** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph **)** |const|
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.
----
.. _class_FontData_method_get_glyph_index:
- :ref:`int<class_int>` **get_glyph_index** **(** :ref:`int<class_int>` size, :ref:`int<class_int>` char, :ref:`int<class_int>` variation_selector **)** |const|
Returns the glyph index of a ``char``, optionally modified by the ``variation_selector``.
----
.. _class_FontData_method_get_glyph_list:
- :ref:`Array<class_Array>` **get_glyph_list** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |const|
Returns list of rendered glyphs in the cache entry.
----
.. _class_FontData_method_get_glyph_offset:
- :ref:`Vector2<class_Vector2>` **get_glyph_offset** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const|
Returns glyph offset from the baseline.
----
.. _class_FontData_method_get_glyph_size:
- :ref:`Vector2<class_Vector2>` **get_glyph_size** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const|
Returns glyph size.
----
.. _class_FontData_method_get_glyph_texture_idx:
- :ref:`int<class_int>` **get_glyph_texture_idx** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const|
Returns index of the cache texture containing the glyph.
----
.. _class_FontData_method_get_glyph_uv_rect:
- :ref:`Rect2<class_Rect2>` **get_glyph_uv_rect** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)** |const|
Returns rectangle in the cache texture containing the glyph.
----
.. _class_FontData_method_get_kerning:
- :ref:`Vector2<class_Vector2>` **get_kerning** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)** |const|
Returns kerning for the pair of glyphs.
----
.. _class_FontData_method_get_kerning_list:
- :ref:`Array<class_Array>` **get_kerning_list** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
Returns list of the kerning overrides.
----
.. _class_FontData_method_get_language_support_override:
- :ref:`bool<class_bool>` **get_language_support_override** **(** :ref:`String<class_String>` language **)** |const|
Returns ``true`` if support override is enabled for the ``language``.
----
.. _class_FontData_method_get_language_support_overrides:
- :ref:`PackedStringArray<class_PackedStringArray>` **get_language_support_overrides** **(** **)** |const|
Returns list of language support overrides.
----
.. _class_FontData_method_get_scale:
- :ref:`float<class_float>` **get_scale** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
Returns scaling factor of the color bitmap font.
----
.. _class_FontData_method_get_script_support_override:
- :ref:`bool<class_bool>` **get_script_support_override** **(** :ref:`String<class_String>` script **)** |const|
Returns ``true`` if support override is enabled for the ``script``.
----
.. _class_FontData_method_get_script_support_overrides:
- :ref:`PackedStringArray<class_PackedStringArray>` **get_script_support_overrides** **(** **)** |const|
Returns list of script support overrides.
----
.. _class_FontData_method_get_size_cache_list:
- :ref:`Array<class_Array>` **get_size_cache_list** **(** :ref:`int<class_int>` cache_index **)** |const|
Returns list of the font sizes in the cache. Each size is ``Vector2i`` with font size and outline size.
----
.. _class_FontData_method_get_spacing:
- :ref:`int<class_int>` **get_spacing** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing_type **)** |const|
Returns extra spacing added between glyphs in pixels.
----
.. _class_FontData_method_get_supported_chars:
- :ref:`String<class_String>` **get_supported_chars** **(** **)** |const|
Returns a string containing all the characters available in the font.
----
.. _class_FontData_method_get_supported_feature_list:
- :ref:`Dictionary<class_Dictionary>` **get_supported_feature_list** **(** **)** |const|
Returns list of OpenType features supported by font.
----
.. _class_FontData_method_get_supported_variation_list:
- :ref:`Dictionary<class_Dictionary>` **get_supported_variation_list** **(** **)** |const|
Returns list of supported `variation coordinates <https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg>`__, each coordinate is returned as ``tag: Vector3i(min_value,max_value,default_value)``.
Font variations allow for continuous change of glyph characteristics along some given design axis, such as weight, width or slant.
----
.. _class_FontData_method_get_texture_count:
- :ref:`int<class_int>` **get_texture_count** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)** |const|
Returns number of textures used by font cache entry.
----
.. _class_FontData_method_get_texture_image:
- :ref:`Image<class_Image>` **get_texture_image** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |const|
Returns a copy of the font cache texture image.
----
.. _class_FontData_method_get_texture_offsets:
- :ref:`PackedInt32Array<class_PackedInt32Array>` **get_texture_offsets** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)** |const|
Returns a copy of the array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty.
----
.. _class_FontData_method_get_underline_position:
- :ref:`float<class_float>` **get_underline_position** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
Returns pixel offset of the underline below the baseline.
----
.. _class_FontData_method_get_underline_thickness:
- :ref:`float<class_float>` **get_underline_thickness** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size **)** |const|
Returns thickness of the underline in pixels.
----
.. _class_FontData_method_get_variation_coordinates:
- :ref:`Dictionary<class_Dictionary>` **get_variation_coordinates** **(** :ref:`int<class_int>` cache_index **)** |const|
Returns variation coordinates for the specified font cache entry. See :ref:`get_supported_variation_list<class_FontData_method_get_supported_variation_list>` for more info.
----
.. _class_FontData_method_has_char:
- :ref:`bool<class_bool>` **has_char** **(** :ref:`int<class_int>` char **)** |const|
Returns ``true`` if a Unicode ``char`` is available in the font.
----
.. _class_FontData_method_is_language_supported:
- :ref:`bool<class_bool>` **is_language_supported** **(** :ref:`String<class_String>` language **)** |const|
Returns ``true``, if font supports given language (`ISO 639 <https://en.wikipedia.org/wiki/ISO_639-1>`__ code).
----
.. _class_FontData_method_is_script_supported:
- :ref:`bool<class_bool>` **is_script_supported** **(** :ref:`String<class_String>` script **)** |const|
Returns ``true``, if font supports given script (`ISO 15924 <https://en.wikipedia.org/wiki/ISO_15924>`__ code).
----
.. _class_FontData_method_load_bitmap_font:
- :ref:`Error<enum_@GlobalScope_Error>` **load_bitmap_font** **(** :ref:`String<class_String>` path **)**
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.
----
.. _class_FontData_method_load_dynamic_font:
- :ref:`Error<enum_@GlobalScope_Error>` **load_dynamic_font** **(** :ref:`String<class_String>` path **)**
Loads a TrueType (.ttf), OpenType (.otf), WOFF (.woff) 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.
----
.. _class_FontData_method_remove_cache:
- void **remove_cache** **(** :ref:`int<class_int>` cache_index **)**
Removes specified font cache entry.
----
.. _class_FontData_method_remove_glyph:
- void **remove_glyph** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph **)**
Removes specified rendered glyph information from the cache entry.
\ **Note:** This function will not remove textures associated with the glyphs, use :ref:`remove_texture<class_FontData_method_remove_texture>` to remove them manually.
----
.. _class_FontData_method_remove_kerning:
- void **remove_kerning** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair **)**
Removes kerning override for the pair of glyphs.
----
.. _class_FontData_method_remove_language_support_override:
- void **remove_language_support_override** **(** :ref:`String<class_String>` language **)**
Remove language support override.
----
.. _class_FontData_method_remove_script_support_override:
- void **remove_script_support_override** **(** :ref:`String<class_String>` script **)**
Removes script support override.
----
.. _class_FontData_method_remove_size_cache:
- void **remove_size_cache** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size **)**
Removes specified font size from the cache entry.
----
.. _class_FontData_method_remove_texture:
- void **remove_texture** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index **)**
Removes specified texture from font cache entry.
\ **Note:** This function will not remove glyphs associated with the texture, remove them manually, using :ref:`remove_glyph<class_FontData_method_remove_glyph>`.
----
.. _class_FontData_method_render_glyph:
- void **render_glyph** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` index **)**
Renders specified glyph the the font cache texture.
----
.. _class_FontData_method_render_range:
- void **render_range** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` start, :ref:`int<class_int>` end **)**
Renders the range of characters to the font cache texture.
----
.. _class_FontData_method_set_ascent:
- void **set_ascent** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` ascent **)**
Sets the font ascent (number of pixels above the baseline).
----
.. _class_FontData_method_set_descent:
- void **set_descent** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` descent **)**
Sets the font descent (number of pixels below the baseline).
----
.. _class_FontData_method_set_glyph_advance:
- void **set_glyph_advance** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` advance **)**
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.
----
.. _class_FontData_method_set_glyph_offset:
- void **set_glyph_offset** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` offset **)**
Sets glyph offset from the baseline.
----
.. _class_FontData_method_set_glyph_size:
- void **set_glyph_size** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Vector2<class_Vector2>` gl_size **)**
Sets glyph size.
----
.. _class_FontData_method_set_glyph_texture_idx:
- void **set_glyph_texture_idx** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`int<class_int>` texture_idx **)**
Sets index of the cache texture containing the glyph.
----
.. _class_FontData_method_set_glyph_uv_rect:
- void **set_glyph_uv_rect** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` glyph, :ref:`Rect2<class_Rect2>` uv_rect **)**
Sets rectangle in the cache texture containing the glyph.
----
.. _class_FontData_method_set_kerning:
- void **set_kerning** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`Vector2i<class_Vector2i>` glyph_pair, :ref:`Vector2<class_Vector2>` kerning **)**
Sets kerning for the pair of glyphs.
----
.. _class_FontData_method_set_language_support_override:
- void **set_language_support_override** **(** :ref:`String<class_String>` language, :ref:`bool<class_bool>` supported **)**
Adds override for :ref:`is_language_supported<class_FontData_method_is_language_supported>`.
----
.. _class_FontData_method_set_scale:
- void **set_scale** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` scale **)**
Sets scaling factor of the color bitmap font.
----
.. _class_FontData_method_set_script_support_override:
- void **set_script_support_override** **(** :ref:`String<class_String>` script, :ref:`bool<class_bool>` supported **)**
Adds override for :ref:`is_script_supported<class_FontData_method_is_script_supported>`.
----
.. _class_FontData_method_set_spacing:
- void **set_spacing** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`SpacingType<enum_TextServer_SpacingType>` spacing_type, :ref:`int<class_int>` value **)**
Sets extra spacing added between glyphs in pixels.
----
.. _class_FontData_method_set_texture_image:
- void **set_texture_image** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`Image<class_Image>` image **)**
Sets font cache texture image.
----
.. _class_FontData_method_set_texture_offsets:
- void **set_texture_offsets** **(** :ref:`int<class_int>` cache_index, :ref:`Vector2i<class_Vector2i>` size, :ref:`int<class_int>` texture_index, :ref:`PackedInt32Array<class_PackedInt32Array>` offset **)**
Sets array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty (for the fonts without dynamic glyph generation support).
----
.. _class_FontData_method_set_underline_position:
- void **set_underline_position** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_position **)**
Sets pixel offset of the underline below the baseline.
----
.. _class_FontData_method_set_underline_thickness:
- void **set_underline_thickness** **(** :ref:`int<class_int>` cache_index, :ref:`int<class_int>` size, :ref:`float<class_float>` underline_thickness **)**
Sets thickness of the underline in pixels.
----
.. _class_FontData_method_set_variation_coordinates:
- void **set_variation_coordinates** **(** :ref:`int<class_int>` cache_index, :ref:`Dictionary<class_Dictionary>` variation_coordinates **)**
Sets variation coordinates for the specified font cache entry. See :ref:`get_supported_variation_list<class_FontData_method_get_supported_variation_list>` for more info.
.. |virtual| replace:: :abbr:`virtual (This method should typically be overridden by the user to have any effect.)`
.. |const| replace:: :abbr:`const (This method has no side effects. It doesn't modify any of the instance's member variables.)`
.. |vararg| replace:: :abbr:`vararg (This method accepts any number of arguments after the ones described here.)`
.. |constructor| replace:: :abbr:`constructor (This method is used to construct a type.)`
.. |static| replace:: :abbr:`static (This method doesn't need an instance to be called, so it can be called directly using the class name.)`
.. |operator| replace:: :abbr:`operator (This method describes a valid operator to use with this type as left-hand operand.)`