Files
godot-docs/classes/class_textserverextension.rst
2025-02-15 03:21:09 +00:00

3583 lines
310 KiB
ReStructuredText

:github_url: hide
.. DO NOT EDIT THIS FILE!!!
.. Generated automatically from Godot engine sources.
.. Generator: https://github.com/godotengine/godot/tree/master/doc/tools/make_rst.py.
.. XML source: https://github.com/godotengine/godot/tree/master/doc/classes/TextServerExtension.xml.
.. _class_TextServerExtension:
TextServerExtension
===================
**Inherits:** :ref:`TextServer<class_TextServer>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
**Inherited By:** :ref:`TextServerAdvanced<class_TextServerAdvanced>`, :ref:`TextServerDummy<class_TextServerDummy>`, :ref:`TextServerFallback<class_TextServerFallback>`
Base class for custom :ref:`TextServer<class_TextServer>` implementations (plugins).
.. rst-class:: classref-introduction-group
Description
-----------
External :ref:`TextServer<class_TextServer>` implementations should inherit from this class.
.. rst-class:: classref-reftable-group
Methods
-------
.. table::
:widths: auto
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_cleanup<class_TextServerExtension_private_method__cleanup>`\ (\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`_create_font<class_TextServerExtension_private_method__create_font>`\ (\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`_create_font_linked_variation<class_TextServerExtension_private_method__create_font_linked_variation>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`_create_shaped_text<class_TextServerExtension_private_method__create_shaped_text>`\ (\ direction\: :ref:`Direction<enum_TextServer_Direction>`, orientation\: :ref:`Orientation<enum_TextServer_Orientation>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_draw_hex_code_box<class_TextServerExtension_private_method__draw_hex_code_box>`\ (\ canvas\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, pos\: :ref:`Vector2<class_Vector2>`, index\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_clear_glyphs<class_TextServerExtension_private_method__font_clear_glyphs>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_clear_kerning_map<class_TextServerExtension_private_method__font_clear_kerning_map>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_clear_size_cache<class_TextServerExtension_private_method__font_clear_size_cache>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_clear_textures<class_TextServerExtension_private_method__font_clear_textures>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_draw_glyph<class_TextServerExtension_private_method__font_draw_glyph>`\ (\ font_rid\: :ref:`RID<class_RID>`, canvas\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, pos\: :ref:`Vector2<class_Vector2>`, index\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_draw_glyph_outline<class_TextServerExtension_private_method__font_draw_glyph_outline>`\ (\ font_rid\: :ref:`RID<class_RID>`, canvas\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, outline_size\: :ref:`int<class_int>`, pos\: :ref:`Vector2<class_Vector2>`, index\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`FontAntialiasing<enum_TextServer_FontAntialiasing>` | :ref:`_font_get_antialiasing<class_TextServerExtension_private_method__font_get_antialiasing>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_font_get_ascent<class_TextServerExtension_private_method__font_get_ascent>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_font_get_baseline_offset<class_TextServerExtension_private_method__font_get_baseline_offset>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_font_get_char_from_glyph_index<class_TextServerExtension_private_method__font_get_char_from_glyph_index>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, glyph_index\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_font_get_descent<class_TextServerExtension_private_method__font_get_descent>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_font_get_disable_embedded_bitmaps<class_TextServerExtension_private_method__font_get_disable_embedded_bitmaps>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_font_get_embolden<class_TextServerExtension_private_method__font_get_embolden>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_font_get_face_count<class_TextServerExtension_private_method__font_get_face_count>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_font_get_face_index<class_TextServerExtension_private_method__font_get_face_index>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_font_get_fixed_size<class_TextServerExtension_private_method__font_get_fixed_size>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` | :ref:`_font_get_fixed_size_scale_mode<class_TextServerExtension_private_method__font_get_fixed_size_scale_mode>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_font_get_generate_mipmaps<class_TextServerExtension_private_method__font_get_generate_mipmaps>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_font_get_global_oversampling<class_TextServerExtension_private_method__font_get_global_oversampling>`\ (\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`_font_get_glyph_advance<class_TextServerExtension_private_method__font_get_glyph_advance>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`_font_get_glyph_contours<class_TextServerExtension_private_method__font_get_glyph_contours>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, index\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_font_get_glyph_index<class_TextServerExtension_private_method__font_get_glyph_index>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, char\: :ref:`int<class_int>`, variation_selector\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`_font_get_glyph_list<class_TextServerExtension_private_method__font_get_glyph_list>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`_font_get_glyph_offset<class_TextServerExtension_private_method__font_get_glyph_offset>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`_font_get_glyph_size<class_TextServerExtension_private_method__font_get_glyph_size>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_font_get_glyph_texture_idx<class_TextServerExtension_private_method__font_get_glyph_texture_idx>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`_font_get_glyph_texture_rid<class_TextServerExtension_private_method__font_get_glyph_texture_rid>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`_font_get_glyph_texture_size<class_TextServerExtension_private_method__font_get_glyph_texture_size>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Rect2<class_Rect2>` | :ref:`_font_get_glyph_uv_rect<class_TextServerExtension_private_method__font_get_glyph_uv_rect>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Hinting<enum_TextServer_Hinting>` | :ref:`_font_get_hinting<class_TextServerExtension_private_method__font_get_hinting>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_font_get_keep_rounding_remainders<class_TextServerExtension_private_method__font_get_keep_rounding_remainders>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`_font_get_kerning<class_TextServerExtension_private_method__font_get_kerning>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, glyph_pair\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] | :ref:`_font_get_kerning_list<class_TextServerExtension_private_method__font_get_kerning_list>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_font_get_language_support_override<class_TextServerExtension_private_method__font_get_language_support_override>`\ (\ font_rid\: :ref:`RID<class_RID>`, language\: :ref:`String<class_String>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`_font_get_language_support_overrides<class_TextServerExtension_private_method__font_get_language_support_overrides>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_font_get_msdf_pixel_range<class_TextServerExtension_private_method__font_get_msdf_pixel_range>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_font_get_msdf_size<class_TextServerExtension_private_method__font_get_msdf_size>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_font_get_name<class_TextServerExtension_private_method__font_get_name>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`_font_get_opentype_feature_overrides<class_TextServerExtension_private_method__font_get_opentype_feature_overrides>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`_font_get_ot_name_strings<class_TextServerExtension_private_method__font_get_ot_name_strings>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_font_get_oversampling<class_TextServerExtension_private_method__font_get_oversampling>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_font_get_scale<class_TextServerExtension_private_method__font_get_scale>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_font_get_script_support_override<class_TextServerExtension_private_method__font_get_script_support_override>`\ (\ font_rid\: :ref:`RID<class_RID>`, script\: :ref:`String<class_String>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedStringArray<class_PackedStringArray>` | :ref:`_font_get_script_support_overrides<class_TextServerExtension_private_method__font_get_script_support_overrides>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] | :ref:`_font_get_size_cache_list<class_TextServerExtension_private_method__font_get_size_cache_list>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_font_get_spacing<class_TextServerExtension_private_method__font_get_spacing>`\ (\ font_rid\: :ref:`RID<class_RID>`, spacing\: :ref:`SpacingType<enum_TextServer_SpacingType>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_font_get_stretch<class_TextServerExtension_private_method__font_get_stretch>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |bitfield|\[:ref:`FontStyle<enum_TextServer_FontStyle>`\] | :ref:`_font_get_style<class_TextServerExtension_private_method__font_get_style>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_font_get_style_name<class_TextServerExtension_private_method__font_get_style_name>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` | :ref:`_font_get_subpixel_positioning<class_TextServerExtension_private_method__font_get_subpixel_positioning>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_font_get_supported_chars<class_TextServerExtension_private_method__font_get_supported_chars>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`_font_get_supported_glyphs<class_TextServerExtension_private_method__font_get_supported_glyphs>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_font_get_texture_count<class_TextServerExtension_private_method__font_get_texture_count>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Image<class_Image>` | :ref:`_font_get_texture_image<class_TextServerExtension_private_method__font_get_texture_image>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, texture_index\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`_font_get_texture_offsets<class_TextServerExtension_private_method__font_get_texture_offsets>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, texture_index\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Transform2D<class_Transform2D>` | :ref:`_font_get_transform<class_TextServerExtension_private_method__font_get_transform>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_font_get_underline_position<class_TextServerExtension_private_method__font_get_underline_position>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_font_get_underline_thickness<class_TextServerExtension_private_method__font_get_underline_thickness>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`_font_get_variation_coordinates<class_TextServerExtension_private_method__font_get_variation_coordinates>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_font_get_weight<class_TextServerExtension_private_method__font_get_weight>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_font_has_char<class_TextServerExtension_private_method__font_has_char>`\ (\ font_rid\: :ref:`RID<class_RID>`, char\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_font_is_allow_system_fallback<class_TextServerExtension_private_method__font_is_allow_system_fallback>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_font_is_force_autohinter<class_TextServerExtension_private_method__font_is_force_autohinter>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_font_is_language_supported<class_TextServerExtension_private_method__font_is_language_supported>`\ (\ font_rid\: :ref:`RID<class_RID>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_font_is_multichannel_signed_distance_field<class_TextServerExtension_private_method__font_is_multichannel_signed_distance_field>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_font_is_script_supported<class_TextServerExtension_private_method__font_is_script_supported>`\ (\ font_rid\: :ref:`RID<class_RID>`, script\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_remove_glyph<class_TextServerExtension_private_method__font_remove_glyph>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_remove_kerning<class_TextServerExtension_private_method__font_remove_kerning>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, glyph_pair\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_remove_language_support_override<class_TextServerExtension_private_method__font_remove_language_support_override>`\ (\ font_rid\: :ref:`RID<class_RID>`, language\: :ref:`String<class_String>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_remove_script_support_override<class_TextServerExtension_private_method__font_remove_script_support_override>`\ (\ font_rid\: :ref:`RID<class_RID>`, script\: :ref:`String<class_String>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_remove_size_cache<class_TextServerExtension_private_method__font_remove_size_cache>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_remove_texture<class_TextServerExtension_private_method__font_remove_texture>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, texture_index\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_render_glyph<class_TextServerExtension_private_method__font_render_glyph>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, index\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_render_range<class_TextServerExtension_private_method__font_render_range>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, start\: :ref:`int<class_int>`, end\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_allow_system_fallback<class_TextServerExtension_private_method__font_set_allow_system_fallback>`\ (\ font_rid\: :ref:`RID<class_RID>`, allow_system_fallback\: :ref:`bool<class_bool>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_antialiasing<class_TextServerExtension_private_method__font_set_antialiasing>`\ (\ font_rid\: :ref:`RID<class_RID>`, antialiasing\: :ref:`FontAntialiasing<enum_TextServer_FontAntialiasing>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_ascent<class_TextServerExtension_private_method__font_set_ascent>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, ascent\: :ref:`float<class_float>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_baseline_offset<class_TextServerExtension_private_method__font_set_baseline_offset>`\ (\ font_rid\: :ref:`RID<class_RID>`, baseline_offset\: :ref:`float<class_float>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_data<class_TextServerExtension_private_method__font_set_data>`\ (\ font_rid\: :ref:`RID<class_RID>`, data\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_data_ptr<class_TextServerExtension_private_method__font_set_data_ptr>`\ (\ font_rid\: :ref:`RID<class_RID>`, data_ptr\: ``const uint8_t*``, data_size\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_descent<class_TextServerExtension_private_method__font_set_descent>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, descent\: :ref:`float<class_float>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_disable_embedded_bitmaps<class_TextServerExtension_private_method__font_set_disable_embedded_bitmaps>`\ (\ font_rid\: :ref:`RID<class_RID>`, disable_embedded_bitmaps\: :ref:`bool<class_bool>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_embolden<class_TextServerExtension_private_method__font_set_embolden>`\ (\ font_rid\: :ref:`RID<class_RID>`, strength\: :ref:`float<class_float>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_face_index<class_TextServerExtension_private_method__font_set_face_index>`\ (\ font_rid\: :ref:`RID<class_RID>`, face_index\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_fixed_size<class_TextServerExtension_private_method__font_set_fixed_size>`\ (\ font_rid\: :ref:`RID<class_RID>`, fixed_size\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_fixed_size_scale_mode<class_TextServerExtension_private_method__font_set_fixed_size_scale_mode>`\ (\ font_rid\: :ref:`RID<class_RID>`, fixed_size_scale_mode\: :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_force_autohinter<class_TextServerExtension_private_method__font_set_force_autohinter>`\ (\ font_rid\: :ref:`RID<class_RID>`, force_autohinter\: :ref:`bool<class_bool>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_generate_mipmaps<class_TextServerExtension_private_method__font_set_generate_mipmaps>`\ (\ font_rid\: :ref:`RID<class_RID>`, generate_mipmaps\: :ref:`bool<class_bool>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_global_oversampling<class_TextServerExtension_private_method__font_set_global_oversampling>`\ (\ oversampling\: :ref:`float<class_float>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_glyph_advance<class_TextServerExtension_private_method__font_set_glyph_advance>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, glyph\: :ref:`int<class_int>`, advance\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_glyph_offset<class_TextServerExtension_private_method__font_set_glyph_offset>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`, offset\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_glyph_size<class_TextServerExtension_private_method__font_set_glyph_size>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`, gl_size\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_glyph_texture_idx<class_TextServerExtension_private_method__font_set_glyph_texture_idx>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`, texture_idx\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_glyph_uv_rect<class_TextServerExtension_private_method__font_set_glyph_uv_rect>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`, uv_rect\: :ref:`Rect2<class_Rect2>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_hinting<class_TextServerExtension_private_method__font_set_hinting>`\ (\ font_rid\: :ref:`RID<class_RID>`, hinting\: :ref:`Hinting<enum_TextServer_Hinting>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_keep_rounding_remainders<class_TextServerExtension_private_method__font_set_keep_rounding_remainders>`\ (\ font_rid\: :ref:`RID<class_RID>`, keep_rounding_remainders\: :ref:`bool<class_bool>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_kerning<class_TextServerExtension_private_method__font_set_kerning>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, glyph_pair\: :ref:`Vector2i<class_Vector2i>`, kerning\: :ref:`Vector2<class_Vector2>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_language_support_override<class_TextServerExtension_private_method__font_set_language_support_override>`\ (\ font_rid\: :ref:`RID<class_RID>`, language\: :ref:`String<class_String>`, supported\: :ref:`bool<class_bool>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_msdf_pixel_range<class_TextServerExtension_private_method__font_set_msdf_pixel_range>`\ (\ font_rid\: :ref:`RID<class_RID>`, msdf_pixel_range\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_msdf_size<class_TextServerExtension_private_method__font_set_msdf_size>`\ (\ font_rid\: :ref:`RID<class_RID>`, msdf_size\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_multichannel_signed_distance_field<class_TextServerExtension_private_method__font_set_multichannel_signed_distance_field>`\ (\ font_rid\: :ref:`RID<class_RID>`, msdf\: :ref:`bool<class_bool>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_name<class_TextServerExtension_private_method__font_set_name>`\ (\ font_rid\: :ref:`RID<class_RID>`, name\: :ref:`String<class_String>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_opentype_feature_overrides<class_TextServerExtension_private_method__font_set_opentype_feature_overrides>`\ (\ font_rid\: :ref:`RID<class_RID>`, overrides\: :ref:`Dictionary<class_Dictionary>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_oversampling<class_TextServerExtension_private_method__font_set_oversampling>`\ (\ font_rid\: :ref:`RID<class_RID>`, oversampling\: :ref:`float<class_float>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_scale<class_TextServerExtension_private_method__font_set_scale>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, scale\: :ref:`float<class_float>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_script_support_override<class_TextServerExtension_private_method__font_set_script_support_override>`\ (\ font_rid\: :ref:`RID<class_RID>`, script\: :ref:`String<class_String>`, supported\: :ref:`bool<class_bool>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_spacing<class_TextServerExtension_private_method__font_set_spacing>`\ (\ font_rid\: :ref:`RID<class_RID>`, spacing\: :ref:`SpacingType<enum_TextServer_SpacingType>`, value\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_stretch<class_TextServerExtension_private_method__font_set_stretch>`\ (\ font_rid\: :ref:`RID<class_RID>`, stretch\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_style<class_TextServerExtension_private_method__font_set_style>`\ (\ font_rid\: :ref:`RID<class_RID>`, style\: |bitfield|\[:ref:`FontStyle<enum_TextServer_FontStyle>`\]\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_style_name<class_TextServerExtension_private_method__font_set_style_name>`\ (\ font_rid\: :ref:`RID<class_RID>`, name_style\: :ref:`String<class_String>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_subpixel_positioning<class_TextServerExtension_private_method__font_set_subpixel_positioning>`\ (\ font_rid\: :ref:`RID<class_RID>`, subpixel_positioning\: :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_texture_image<class_TextServerExtension_private_method__font_set_texture_image>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, texture_index\: :ref:`int<class_int>`, image\: :ref:`Image<class_Image>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_texture_offsets<class_TextServerExtension_private_method__font_set_texture_offsets>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, texture_index\: :ref:`int<class_int>`, offset\: :ref:`PackedInt32Array<class_PackedInt32Array>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_transform<class_TextServerExtension_private_method__font_set_transform>`\ (\ font_rid\: :ref:`RID<class_RID>`, transform\: :ref:`Transform2D<class_Transform2D>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_underline_position<class_TextServerExtension_private_method__font_set_underline_position>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, underline_position\: :ref:`float<class_float>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_underline_thickness<class_TextServerExtension_private_method__font_set_underline_thickness>`\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, underline_thickness\: :ref:`float<class_float>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_variation_coordinates<class_TextServerExtension_private_method__font_set_variation_coordinates>`\ (\ font_rid\: :ref:`RID<class_RID>`, variation_coordinates\: :ref:`Dictionary<class_Dictionary>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_font_set_weight<class_TextServerExtension_private_method__font_set_weight>`\ (\ font_rid\: :ref:`RID<class_RID>`, weight\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`_font_supported_feature_list<class_TextServerExtension_private_method__font_supported_feature_list>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Dictionary<class_Dictionary>` | :ref:`_font_supported_variation_list<class_TextServerExtension_private_method__font_supported_variation_list>`\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_format_number<class_TextServerExtension_private_method__format_number>`\ (\ number\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_free_rid<class_TextServerExtension_private_method__free_rid>`\ (\ rid\: :ref:`RID<class_RID>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_get_features<class_TextServerExtension_private_method__get_features>`\ (\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`_get_hex_code_box_size<class_TextServerExtension_private_method__get_hex_code_box_size>`\ (\ size\: :ref:`int<class_int>`, index\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_get_name<class_TextServerExtension_private_method__get_name>`\ (\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedByteArray<class_PackedByteArray>` | :ref:`_get_support_data<class_TextServerExtension_private_method__get_support_data>`\ (\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_get_support_data_filename<class_TextServerExtension_private_method__get_support_data_filename>`\ (\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_get_support_data_info<class_TextServerExtension_private_method__get_support_data_info>`\ (\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_has<class_TextServerExtension_private_method__has>`\ (\ rid\: :ref:`RID<class_RID>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_has_feature<class_TextServerExtension_private_method__has_feature>`\ (\ feature\: :ref:`Feature<enum_TextServer_Feature>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_is_confusable<class_TextServerExtension_private_method__is_confusable>`\ (\ string\: :ref:`String<class_String>`, dict\: :ref:`PackedStringArray<class_PackedStringArray>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_is_locale_right_to_left<class_TextServerExtension_private_method__is_locale_right_to_left>`\ (\ locale\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_is_valid_identifier<class_TextServerExtension_private_method__is_valid_identifier>`\ (\ string\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_is_valid_letter<class_TextServerExtension_private_method__is_valid_letter>`\ (\ unicode\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_load_support_data<class_TextServerExtension_private_method__load_support_data>`\ (\ filename\: :ref:`String<class_String>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_name_to_tag<class_TextServerExtension_private_method__name_to_tag>`\ (\ name\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_parse_number<class_TextServerExtension_private_method__parse_number>`\ (\ number\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>`\[:ref:`Vector3i<class_Vector3i>`\] | :ref:`_parse_structured_text<class_TextServerExtension_private_method__parse_structured_text>`\ (\ parser_type\: :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>`, args\: :ref:`Array<class_Array>`, text\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_percent_sign<class_TextServerExtension_private_method__percent_sign>`\ (\ language\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_save_support_data<class_TextServerExtension_private_method__save_support_data>`\ (\ filename\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_get_span_count<class_TextServerExtension_private_method__shaped_get_span_count>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`_shaped_get_span_embedded_object<class_TextServerExtension_private_method__shaped_get_span_embedded_object>`\ (\ shaped\: :ref:`RID<class_RID>`, index\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Variant<class_Variant>` | :ref:`_shaped_get_span_meta<class_TextServerExtension_private_method__shaped_get_span_meta>`\ (\ shaped\: :ref:`RID<class_RID>`, index\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_set_span_update_font<class_TextServerExtension_private_method__shaped_set_span_update_font>`\ (\ shaped\: :ref:`RID<class_RID>`, index\: :ref:`int<class_int>`, fonts\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\], size\: :ref:`int<class_int>`, opentype_features\: :ref:`Dictionary<class_Dictionary>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_shaped_text_add_object<class_TextServerExtension_private_method__shaped_text_add_object>`\ (\ shaped\: :ref:`RID<class_RID>`, key\: :ref:`Variant<class_Variant>`, size\: :ref:`Vector2<class_Vector2>`, inline_align\: :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>`, length\: :ref:`int<class_int>`, baseline\: :ref:`float<class_float>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_shaped_text_add_string<class_TextServerExtension_private_method__shaped_text_add_string>`\ (\ shaped\: :ref:`RID<class_RID>`, text\: :ref:`String<class_String>`, fonts\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\], size\: :ref:`int<class_int>`, opentype_features\: :ref:`Dictionary<class_Dictionary>`, language\: :ref:`String<class_String>`, meta\: :ref:`Variant<class_Variant>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_text_clear<class_TextServerExtension_private_method__shaped_text_clear>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_closest_character_pos<class_TextServerExtension_private_method__shaped_text_closest_character_pos>`\ (\ shaped\: :ref:`RID<class_RID>`, pos\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_text_draw<class_TextServerExtension_private_method__shaped_text_draw>`\ (\ shaped\: :ref:`RID<class_RID>`, canvas\: :ref:`RID<class_RID>`, pos\: :ref:`Vector2<class_Vector2>`, clip_l\: :ref:`float<class_float>`, clip_r\: :ref:`float<class_float>`, color\: :ref:`Color<class_Color>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_text_draw_outline<class_TextServerExtension_private_method__shaped_text_draw_outline>`\ (\ shaped\: :ref:`RID<class_RID>`, canvas\: :ref:`RID<class_RID>`, pos\: :ref:`Vector2<class_Vector2>`, clip_l\: :ref:`float<class_float>`, clip_r\: :ref:`float<class_float>`, outline_size\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_shaped_text_fit_to_width<class_TextServerExtension_private_method__shaped_text_fit_to_width>`\ (\ shaped\: :ref:`RID<class_RID>`, width\: :ref:`float<class_float>`, justification_flags\: |bitfield|\[:ref:`JustificationFlag<enum_TextServer_JustificationFlag>`\]\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_shaped_text_get_ascent<class_TextServerExtension_private_method__shaped_text_get_ascent>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_text_get_carets<class_TextServerExtension_private_method__shaped_text_get_carets>`\ (\ shaped\: :ref:`RID<class_RID>`, position\: :ref:`int<class_int>`, caret\: ``CaretInfo*``\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`_shaped_text_get_character_breaks<class_TextServerExtension_private_method__shaped_text_get_character_breaks>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_get_custom_ellipsis<class_TextServerExtension_private_method__shaped_text_get_custom_ellipsis>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_shaped_text_get_custom_punctuation<class_TextServerExtension_private_method__shaped_text_get_custom_punctuation>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_shaped_text_get_descent<class_TextServerExtension_private_method__shaped_text_get_descent>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Direction<enum_TextServer_Direction>` | :ref:`_shaped_text_get_direction<class_TextServerExtension_private_method__shaped_text_get_direction>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_get_dominant_direction_in_range<class_TextServerExtension_private_method__shaped_text_get_dominant_direction_in_range>`\ (\ shaped\: :ref:`RID<class_RID>`, start\: :ref:`int<class_int>`, end\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_get_ellipsis_glyph_count<class_TextServerExtension_private_method__shaped_text_get_ellipsis_glyph_count>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ``const Glyph*`` | :ref:`_shaped_text_get_ellipsis_glyphs<class_TextServerExtension_private_method__shaped_text_get_ellipsis_glyphs>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_get_ellipsis_pos<class_TextServerExtension_private_method__shaped_text_get_ellipsis_pos>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_get_glyph_count<class_TextServerExtension_private_method__shaped_text_get_glyph_count>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ``const Glyph*`` | :ref:`_shaped_text_get_glyphs<class_TextServerExtension_private_method__shaped_text_get_glyphs>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`_shaped_text_get_grapheme_bounds<class_TextServerExtension_private_method__shaped_text_get_grapheme_bounds>`\ (\ shaped\: :ref:`RID<class_RID>`, pos\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Direction<enum_TextServer_Direction>` | :ref:`_shaped_text_get_inferred_direction<class_TextServerExtension_private_method__shaped_text_get_inferred_direction>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`_shaped_text_get_line_breaks<class_TextServerExtension_private_method__shaped_text_get_line_breaks>`\ (\ shaped\: :ref:`RID<class_RID>`, width\: :ref:`float<class_float>`, start\: :ref:`int<class_int>`, break_flags\: |bitfield|\[:ref:`LineBreakFlag<enum_TextServer_LineBreakFlag>`\]\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`_shaped_text_get_line_breaks_adv<class_TextServerExtension_private_method__shaped_text_get_line_breaks_adv>`\ (\ shaped\: :ref:`RID<class_RID>`, width\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`, start\: :ref:`int<class_int>`, once\: :ref:`bool<class_bool>`, break_flags\: |bitfield|\[:ref:`LineBreakFlag<enum_TextServer_LineBreakFlag>`\]\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_get_object_glyph<class_TextServerExtension_private_method__shaped_text_get_object_glyph>`\ (\ shaped\: :ref:`RID<class_RID>`, key\: :ref:`Variant<class_Variant>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2i<class_Vector2i>` | :ref:`_shaped_text_get_object_range<class_TextServerExtension_private_method__shaped_text_get_object_range>`\ (\ shaped\: :ref:`RID<class_RID>`, key\: :ref:`Variant<class_Variant>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Rect2<class_Rect2>` | :ref:`_shaped_text_get_object_rect<class_TextServerExtension_private_method__shaped_text_get_object_rect>`\ (\ shaped\: :ref:`RID<class_RID>`, key\: :ref:`Variant<class_Variant>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Array<class_Array>` | :ref:`_shaped_text_get_objects<class_TextServerExtension_private_method__shaped_text_get_objects>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Orientation<enum_TextServer_Orientation>` | :ref:`_shaped_text_get_orientation<class_TextServerExtension_private_method__shaped_text_get_orientation>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`_shaped_text_get_parent<class_TextServerExtension_private_method__shaped_text_get_parent>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_shaped_text_get_preserve_control<class_TextServerExtension_private_method__shaped_text_get_preserve_control>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_shaped_text_get_preserve_invalid<class_TextServerExtension_private_method__shaped_text_get_preserve_invalid>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2i<class_Vector2i>` | :ref:`_shaped_text_get_range<class_TextServerExtension_private_method__shaped_text_get_range>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedVector2Array<class_PackedVector2Array>` | :ref:`_shaped_text_get_selection<class_TextServerExtension_private_method__shaped_text_get_selection>`\ (\ shaped\: :ref:`RID<class_RID>`, start\: :ref:`int<class_int>`, end\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`Vector2<class_Vector2>` | :ref:`_shaped_text_get_size<class_TextServerExtension_private_method__shaped_text_get_size>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_get_spacing<class_TextServerExtension_private_method__shaped_text_get_spacing>`\ (\ shaped\: :ref:`RID<class_RID>`, spacing\: :ref:`SpacingType<enum_TextServer_SpacingType>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_get_trim_pos<class_TextServerExtension_private_method__shaped_text_get_trim_pos>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_shaped_text_get_underline_position<class_TextServerExtension_private_method__shaped_text_get_underline_position>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_shaped_text_get_underline_thickness<class_TextServerExtension_private_method__shaped_text_get_underline_thickness>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_shaped_text_get_width<class_TextServerExtension_private_method__shaped_text_get_width>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`_shaped_text_get_word_breaks<class_TextServerExtension_private_method__shaped_text_get_word_breaks>`\ (\ shaped\: :ref:`RID<class_RID>`, grapheme_flags\: |bitfield|\[:ref:`GraphemeFlag<enum_TextServer_GraphemeFlag>`\], skip_grapheme_flags\: |bitfield|\[:ref:`GraphemeFlag<enum_TextServer_GraphemeFlag>`\]\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_hit_test_grapheme<class_TextServerExtension_private_method__shaped_text_hit_test_grapheme>`\ (\ shaped\: :ref:`RID<class_RID>`, coord\: :ref:`float<class_float>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_hit_test_position<class_TextServerExtension_private_method__shaped_text_hit_test_position>`\ (\ shaped\: :ref:`RID<class_RID>`, coord\: :ref:`float<class_float>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_shaped_text_is_ready<class_TextServerExtension_private_method__shaped_text_is_ready>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_next_character_pos<class_TextServerExtension_private_method__shaped_text_next_character_pos>`\ (\ shaped\: :ref:`RID<class_RID>`, pos\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_next_grapheme_pos<class_TextServerExtension_private_method__shaped_text_next_grapheme_pos>`\ (\ shaped\: :ref:`RID<class_RID>`, pos\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_text_overrun_trim_to_width<class_TextServerExtension_private_method__shaped_text_overrun_trim_to_width>`\ (\ shaped\: :ref:`RID<class_RID>`, width\: :ref:`float<class_float>`, trim_flags\: |bitfield|\[:ref:`TextOverrunFlag<enum_TextServer_TextOverrunFlag>`\]\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_prev_character_pos<class_TextServerExtension_private_method__shaped_text_prev_character_pos>`\ (\ shaped\: :ref:`RID<class_RID>`, pos\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`int<class_int>` | :ref:`_shaped_text_prev_grapheme_pos<class_TextServerExtension_private_method__shaped_text_prev_grapheme_pos>`\ (\ shaped\: :ref:`RID<class_RID>`, pos\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_shaped_text_resize_object<class_TextServerExtension_private_method__shaped_text_resize_object>`\ (\ shaped\: :ref:`RID<class_RID>`, key\: :ref:`Variant<class_Variant>`, size\: :ref:`Vector2<class_Vector2>`, inline_align\: :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>`, baseline\: :ref:`float<class_float>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_text_set_bidi_override<class_TextServerExtension_private_method__shaped_text_set_bidi_override>`\ (\ shaped\: :ref:`RID<class_RID>`, override\: :ref:`Array<class_Array>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_text_set_custom_ellipsis<class_TextServerExtension_private_method__shaped_text_set_custom_ellipsis>`\ (\ shaped\: :ref:`RID<class_RID>`, char\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_text_set_custom_punctuation<class_TextServerExtension_private_method__shaped_text_set_custom_punctuation>`\ (\ shaped\: :ref:`RID<class_RID>`, punct\: :ref:`String<class_String>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_text_set_direction<class_TextServerExtension_private_method__shaped_text_set_direction>`\ (\ shaped\: :ref:`RID<class_RID>`, direction\: :ref:`Direction<enum_TextServer_Direction>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_text_set_orientation<class_TextServerExtension_private_method__shaped_text_set_orientation>`\ (\ shaped\: :ref:`RID<class_RID>`, orientation\: :ref:`Orientation<enum_TextServer_Orientation>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_text_set_preserve_control<class_TextServerExtension_private_method__shaped_text_set_preserve_control>`\ (\ shaped\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_text_set_preserve_invalid<class_TextServerExtension_private_method__shaped_text_set_preserve_invalid>`\ (\ shaped\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| |void| | :ref:`_shaped_text_set_spacing<class_TextServerExtension_private_method__shaped_text_set_spacing>`\ (\ shaped\: :ref:`RID<class_RID>`, spacing\: :ref:`SpacingType<enum_TextServer_SpacingType>`, value\: :ref:`int<class_int>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_shaped_text_shape<class_TextServerExtension_private_method__shaped_text_shape>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| ``const Glyph*`` | :ref:`_shaped_text_sort_logical<class_TextServerExtension_private_method__shaped_text_sort_logical>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`RID<class_RID>` | :ref:`_shaped_text_substr<class_TextServerExtension_private_method__shaped_text_substr>`\ (\ shaped\: :ref:`RID<class_RID>`, start\: :ref:`int<class_int>`, length\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`float<class_float>` | :ref:`_shaped_text_tab_align<class_TextServerExtension_private_method__shaped_text_tab_align>`\ (\ shaped\: :ref:`RID<class_RID>`, tab_stops\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_shaped_text_update_breaks<class_TextServerExtension_private_method__shaped_text_update_breaks>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_shaped_text_update_justification_ops<class_TextServerExtension_private_method__shaped_text_update_justification_ops>`\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`bool<class_bool>` | :ref:`_spoof_check<class_TextServerExtension_private_method__spoof_check>`\ (\ string\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`_string_get_character_breaks<class_TextServerExtension_private_method__string_get_character_breaks>`\ (\ string\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`PackedInt32Array<class_PackedInt32Array>` | :ref:`_string_get_word_breaks<class_TextServerExtension_private_method__string_get_word_breaks>`\ (\ string\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`, chars_per_line\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_string_to_lower<class_TextServerExtension_private_method__string_to_lower>`\ (\ string\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_string_to_title<class_TextServerExtension_private_method__string_to_title>`\ (\ string\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_string_to_upper<class_TextServerExtension_private_method__string_to_upper>`\ (\ string\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_strip_diacritics<class_TextServerExtension_private_method__strip_diacritics>`\ (\ string\: :ref:`String<class_String>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| :ref:`String<class_String>` | :ref:`_tag_to_name<class_TextServerExtension_private_method__tag_to_name>`\ (\ tag\: :ref:`int<class_int>`\ ) |virtual| |const| |
+-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
.. rst-class:: classref-section-separator
----
.. rst-class:: classref-descriptions-group
Method Descriptions
-------------------
.. _class_TextServerExtension_private_method__cleanup:
.. rst-class:: classref-method
|void| **_cleanup**\ (\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__cleanup>`
**Optional.**\
This method is called before text server is unregistered.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__create_font:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **_create_font**\ (\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__create_font>`
**Required.**\
Creates a new, empty font cache entry resource.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__create_font_linked_variation:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **_create_font_linked_variation**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__create_font_linked_variation>`
Optional, implement if font supports extra spacing or baseline offset.
Creates a new variation existing font which is reusing the same glyph cache and font data.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__create_shaped_text:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **_create_shaped_text**\ (\ direction\: :ref:`Direction<enum_TextServer_Direction>`, orientation\: :ref:`Orientation<enum_TextServer_Orientation>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__create_shaped_text>`
**Required.**\
Creates a new buffer for complex text layout, with the given ``direction`` and ``orientation``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__draw_hex_code_box:
.. rst-class:: classref-method
|void| **_draw_hex_code_box**\ (\ canvas\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, pos\: :ref:`Vector2<class_Vector2>`, index\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__draw_hex_code_box>`
**Optional.**\
Draws box displaying character hexadecimal code.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_clear_glyphs:
.. rst-class:: classref-method
|void| **_font_clear_glyphs**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_clear_glyphs>`
**Required.**\
Removes all rendered glyph information from the cache entry.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_clear_kerning_map:
.. rst-class:: classref-method
|void| **_font_clear_kerning_map**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_clear_kerning_map>`
**Optional.**\
Removes all kerning overrides.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_clear_size_cache:
.. rst-class:: classref-method
|void| **_font_clear_size_cache**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_clear_size_cache>`
**Required.**\
Removes all font sizes from the cache entry.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_clear_textures:
.. rst-class:: classref-method
|void| **_font_clear_textures**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_clear_textures>`
**Required.**\
Removes all textures from font cache entry.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_draw_glyph:
.. rst-class:: classref-method
|void| **_font_draw_glyph**\ (\ font_rid\: :ref:`RID<class_RID>`, canvas\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, pos\: :ref:`Vector2<class_Vector2>`, index\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_draw_glyph>`
**Required.**\
Draws single glyph into a canvas item at the position, using ``font_rid`` at the size ``size``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_draw_glyph_outline:
.. rst-class:: classref-method
|void| **_font_draw_glyph_outline**\ (\ font_rid\: :ref:`RID<class_RID>`, canvas\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, outline_size\: :ref:`int<class_int>`, pos\: :ref:`Vector2<class_Vector2>`, index\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_draw_glyph_outline>`
**Required.**\
Draws single glyph outline of size ``outline_size`` into a canvas item at the position, using ``font_rid`` at the size ``size``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_antialiasing:
.. rst-class:: classref-method
:ref:`FontAntialiasing<enum_TextServer_FontAntialiasing>` **_font_get_antialiasing**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_antialiasing>`
**Optional.**\
Returns font anti-aliasing mode.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_ascent:
.. rst-class:: classref-method
:ref:`float<class_float>` **_font_get_ascent**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_ascent>`
**Required.**\
Returns the font ascent (number of pixels above the baseline).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_baseline_offset:
.. rst-class:: classref-method
:ref:`float<class_float>` **_font_get_baseline_offset**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_baseline_offset>`
**Optional.**\
Returns extra baseline offset (as a fraction of font height).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_char_from_glyph_index:
.. rst-class:: classref-method
:ref:`int<class_int>` **_font_get_char_from_glyph_index**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, glyph_index\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_char_from_glyph_index>`
**Required.**\
Returns character code associated with ``glyph_index``, or ``0`` if ``glyph_index`` is invalid.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_descent:
.. rst-class:: classref-method
:ref:`float<class_float>` **_font_get_descent**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_descent>`
**Required.**\
Returns the font descent (number of pixels below the baseline).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_disable_embedded_bitmaps:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_font_get_disable_embedded_bitmaps**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_disable_embedded_bitmaps>`
**Optional.**\
Returns whether the font's embedded bitmap loading is disabled.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_embolden:
.. rst-class:: classref-method
:ref:`float<class_float>` **_font_get_embolden**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_embolden>`
**Optional.**\
Returns font embolden strength.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_face_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **_font_get_face_count**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_face_count>`
**Optional.**\
Returns number of faces in the TrueType / OpenType collection.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_face_index:
.. rst-class:: classref-method
:ref:`int<class_int>` **_font_get_face_index**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_face_index>`
**Optional.**\
Returns an active face index in the TrueType / OpenType collection.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_fixed_size:
.. rst-class:: classref-method
:ref:`int<class_int>` **_font_get_fixed_size**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_fixed_size>`
**Required.**\
Returns bitmap font fixed size.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_fixed_size_scale_mode:
.. rst-class:: classref-method
:ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>` **_font_get_fixed_size_scale_mode**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_fixed_size_scale_mode>`
**Required.**\
Returns bitmap font scaling mode.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_generate_mipmaps:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_font_get_generate_mipmaps**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_generate_mipmaps>`
**Optional.**\
Returns ``true`` if font texture mipmap generation is enabled.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_global_oversampling:
.. rst-class:: classref-method
:ref:`float<class_float>` **_font_get_global_oversampling**\ (\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_global_oversampling>`
**Optional.**\
Returns the font oversampling factor, shared by all fonts in the TextServer.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_glyph_advance:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **_font_get_glyph_advance**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_glyph_advance>`
**Required.**\
Returns glyph advance (offset of the next glyph).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_glyph_contours:
.. rst-class:: classref-method
:ref:`Dictionary<class_Dictionary>` **_font_get_glyph_contours**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, index\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_glyph_contours>`
**Optional.**\
Returns outline contours of the glyph.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_glyph_index:
.. rst-class:: classref-method
:ref:`int<class_int>` **_font_get_glyph_index**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, char\: :ref:`int<class_int>`, variation_selector\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_glyph_index>`
**Required.**\
Returns the glyph index of a ``char``, optionally modified by the ``variation_selector``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_glyph_list:
.. rst-class:: classref-method
:ref:`PackedInt32Array<class_PackedInt32Array>` **_font_get_glyph_list**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_glyph_list>`
**Required.**\
Returns list of rendered glyphs in the cache entry.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_glyph_offset:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **_font_get_glyph_offset**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_glyph_offset>`
**Required.**\
Returns glyph offset from the baseline.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_glyph_size:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **_font_get_glyph_size**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_glyph_size>`
**Required.**\
Returns size of the glyph.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_glyph_texture_idx:
.. rst-class:: classref-method
:ref:`int<class_int>` **_font_get_glyph_texture_idx**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_glyph_texture_idx>`
**Required.**\
Returns index of the cache texture containing the glyph.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_glyph_texture_rid:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **_font_get_glyph_texture_rid**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_glyph_texture_rid>`
**Required.**\
Returns resource ID of the cache texture containing the glyph.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_glyph_texture_size:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **_font_get_glyph_texture_size**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_glyph_texture_size>`
**Required.**\
Returns size of the cache texture containing the glyph.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_glyph_uv_rect:
.. rst-class:: classref-method
:ref:`Rect2<class_Rect2>` **_font_get_glyph_uv_rect**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_glyph_uv_rect>`
**Required.**\
Returns rectangle in the cache texture containing the glyph.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_hinting:
.. rst-class:: classref-method
:ref:`Hinting<enum_TextServer_Hinting>` **_font_get_hinting**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_hinting>`
**Optional.**\
Returns the font hinting mode. Used by dynamic fonts only.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_keep_rounding_remainders:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_font_get_keep_rounding_remainders**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_keep_rounding_remainders>`
**Optional.**\
Returns glyph position rounding behavior. If set to ``true``, when aligning glyphs to the pixel boundaries rounding remainders are accumulated to ensure more uniform glyph distribution. This setting has no effect if subpixel positioning is enabled.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_kerning:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **_font_get_kerning**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, glyph_pair\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_kerning>`
**Optional.**\
Returns kerning for the pair of glyphs.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_kerning_list:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] **_font_get_kerning_list**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_kerning_list>`
**Optional.**\
Returns list of the kerning overrides.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_language_support_override:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_font_get_language_support_override**\ (\ font_rid\: :ref:`RID<class_RID>`, language\: :ref:`String<class_String>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_get_language_support_override>`
**Optional.**\
Returns ``true`` if support override is enabled for the ``language``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_language_support_overrides:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **_font_get_language_support_overrides**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_get_language_support_overrides>`
**Optional.**\
Returns list of language support overrides.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_msdf_pixel_range:
.. rst-class:: classref-method
:ref:`int<class_int>` **_font_get_msdf_pixel_range**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_msdf_pixel_range>`
**Optional.**\
Returns the width of the range around the shape between the minimum and maximum representable signed distance.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_msdf_size:
.. rst-class:: classref-method
:ref:`int<class_int>` **_font_get_msdf_size**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_msdf_size>`
**Optional.**\
Returns source font size used to generate MSDF textures.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **_font_get_name**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_name>`
**Optional.**\
Returns font family name.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_opentype_feature_overrides:
.. rst-class:: classref-method
:ref:`Dictionary<class_Dictionary>` **_font_get_opentype_feature_overrides**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_opentype_feature_overrides>`
**Optional.**\
Returns font OpenType feature set override.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_ot_name_strings:
.. rst-class:: classref-method
:ref:`Dictionary<class_Dictionary>` **_font_get_ot_name_strings**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_ot_name_strings>`
**Optional.**\
Returns :ref:`Dictionary<class_Dictionary>` with OpenType font name strings (localized font names, version, description, license information, sample text, etc.).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_oversampling:
.. rst-class:: classref-method
:ref:`float<class_float>` **_font_get_oversampling**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_oversampling>`
**Optional.**\
Returns font oversampling factor, if set to ``0.0`` global oversampling factor is used instead. Used by dynamic fonts only.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_scale:
.. rst-class:: classref-method
:ref:`float<class_float>` **_font_get_scale**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_scale>`
**Required.**\
Returns scaling factor of the color bitmap font.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_script_support_override:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_font_get_script_support_override**\ (\ font_rid\: :ref:`RID<class_RID>`, script\: :ref:`String<class_String>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_get_script_support_override>`
**Optional.**\
Returns ``true`` if support override is enabled for the ``script``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_script_support_overrides:
.. rst-class:: classref-method
:ref:`PackedStringArray<class_PackedStringArray>` **_font_get_script_support_overrides**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_get_script_support_overrides>`
**Optional.**\
Returns list of script support overrides.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_size_cache_list:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`Vector2i<class_Vector2i>`\] **_font_get_size_cache_list**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_size_cache_list>`
**Required.**\
Returns list of the font sizes in the cache. Each size is :ref:`Vector2i<class_Vector2i>` with font size and outline size.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_spacing:
.. rst-class:: classref-method
:ref:`int<class_int>` **_font_get_spacing**\ (\ font_rid\: :ref:`RID<class_RID>`, spacing\: :ref:`SpacingType<enum_TextServer_SpacingType>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_spacing>`
**Optional.**\
Returns the spacing for ``spacing`` (see :ref:`SpacingType<enum_TextServer_SpacingType>`) in pixels (not relative to the font size).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_stretch:
.. rst-class:: classref-method
:ref:`int<class_int>` **_font_get_stretch**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_stretch>`
**Optional.**\
Returns font stretch amount, compared to a normal width. A percentage value between ``50%`` and ``200%``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_style:
.. rst-class:: classref-method
|bitfield|\[:ref:`FontStyle<enum_TextServer_FontStyle>`\] **_font_get_style**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_style>`
**Optional.**\
Returns font style flags, see :ref:`FontStyle<enum_TextServer_FontStyle>`.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_style_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **_font_get_style_name**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_style_name>`
**Optional.**\
Returns font style name.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_subpixel_positioning:
.. rst-class:: classref-method
:ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>` **_font_get_subpixel_positioning**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_subpixel_positioning>`
**Optional.**\
Returns font subpixel glyph positioning mode.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_supported_chars:
.. rst-class:: classref-method
:ref:`String<class_String>` **_font_get_supported_chars**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_supported_chars>`
**Required.**\
Returns a string containing all the characters available in the font.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_supported_glyphs:
.. rst-class:: classref-method
:ref:`PackedInt32Array<class_PackedInt32Array>` **_font_get_supported_glyphs**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_supported_glyphs>`
**Required.**\
Returns an array containing all glyph indices in the font.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_texture_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **_font_get_texture_count**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_texture_count>`
**Required.**\
Returns number of textures used by font cache entry.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_texture_image:
.. rst-class:: classref-method
:ref:`Image<class_Image>` **_font_get_texture_image**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, texture_index\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_texture_image>`
**Required.**\
Returns font cache texture image data.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_texture_offsets:
.. rst-class:: classref-method
:ref:`PackedInt32Array<class_PackedInt32Array>` **_font_get_texture_offsets**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, texture_index\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_texture_offsets>`
**Optional.**\
Returns array containing glyph packing data.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_transform:
.. rst-class:: classref-method
:ref:`Transform2D<class_Transform2D>` **_font_get_transform**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_transform>`
**Optional.**\
Returns 2D transform applied to the font outlines.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_underline_position:
.. rst-class:: classref-method
:ref:`float<class_float>` **_font_get_underline_position**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_underline_position>`
**Required.**\
Returns pixel offset of the underline below the baseline.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_underline_thickness:
.. rst-class:: classref-method
:ref:`float<class_float>` **_font_get_underline_thickness**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_underline_thickness>`
**Required.**\
Returns thickness of the underline in pixels.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_variation_coordinates:
.. rst-class:: classref-method
:ref:`Dictionary<class_Dictionary>` **_font_get_variation_coordinates**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_variation_coordinates>`
**Optional.**\
Returns variation coordinates for the specified font cache entry.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_get_weight:
.. rst-class:: classref-method
:ref:`int<class_int>` **_font_get_weight**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_get_weight>`
**Optional.**\
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_TextServerExtension_private_method__font_has_char:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_font_has_char**\ (\ font_rid\: :ref:`RID<class_RID>`, char\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_has_char>`
**Required.**\
Returns ``true`` if a Unicode ``char`` is available in the font.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_is_allow_system_fallback:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_font_is_allow_system_fallback**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_is_allow_system_fallback>`
**Optional.**\
Returns ``true`` if system fonts can be automatically used as fallbacks.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_is_force_autohinter:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_font_is_force_autohinter**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_is_force_autohinter>`
**Optional.**\
Returns ``true`` if auto-hinting is supported and preferred over font built-in hinting.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_is_language_supported:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_font_is_language_supported**\ (\ font_rid\: :ref:`RID<class_RID>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_is_language_supported>`
**Optional.**\
Returns ``true``, if font supports given language (`ISO 639 <https://en.wikipedia.org/wiki/ISO_639-1>`__ code).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_is_multichannel_signed_distance_field:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_font_is_multichannel_signed_distance_field**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_is_multichannel_signed_distance_field>`
**Optional.**\
Returns ``true`` if glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_is_script_supported:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_font_is_script_supported**\ (\ font_rid\: :ref:`RID<class_RID>`, script\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_is_script_supported>`
**Optional.**\
Returns ``true``, if font supports given script (ISO 15924 code).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_remove_glyph:
.. rst-class:: classref-method
|void| **_font_remove_glyph**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_remove_glyph>`
**Required.**\
Removes specified rendered glyph information from the cache entry.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_remove_kerning:
.. rst-class:: classref-method
|void| **_font_remove_kerning**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, glyph_pair\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_remove_kerning>`
**Optional.**\
Removes kerning override for the pair of glyphs.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_remove_language_support_override:
.. rst-class:: classref-method
|void| **_font_remove_language_support_override**\ (\ font_rid\: :ref:`RID<class_RID>`, language\: :ref:`String<class_String>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_remove_language_support_override>`
**Optional.**\
Remove language support override.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_remove_script_support_override:
.. rst-class:: classref-method
|void| **_font_remove_script_support_override**\ (\ font_rid\: :ref:`RID<class_RID>`, script\: :ref:`String<class_String>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_remove_script_support_override>`
**Optional.**\
Removes script support override.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_remove_size_cache:
.. rst-class:: classref-method
|void| **_font_remove_size_cache**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_remove_size_cache>`
**Required.**\
Removes specified font size from the cache entry.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_remove_texture:
.. rst-class:: classref-method
|void| **_font_remove_texture**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, texture_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_remove_texture>`
**Required.**\
Removes specified texture from the cache entry.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_render_glyph:
.. rst-class:: classref-method
|void| **_font_render_glyph**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_render_glyph>`
**Optional.**\
Renders specified glyph to the font cache texture.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_render_range:
.. rst-class:: classref-method
|void| **_font_render_range**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, start\: :ref:`int<class_int>`, end\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_render_range>`
**Optional.**\
Renders the range of characters to the font cache texture.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_allow_system_fallback:
.. rst-class:: classref-method
|void| **_font_set_allow_system_fallback**\ (\ font_rid\: :ref:`RID<class_RID>`, allow_system_fallback\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_allow_system_fallback>`
**Optional.**\
If set to ``true``, system fonts can be automatically used as fallbacks.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_antialiasing:
.. rst-class:: classref-method
|void| **_font_set_antialiasing**\ (\ font_rid\: :ref:`RID<class_RID>`, antialiasing\: :ref:`FontAntialiasing<enum_TextServer_FontAntialiasing>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_antialiasing>`
**Optional.**\
Sets font anti-aliasing mode.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_ascent:
.. rst-class:: classref-method
|void| **_font_set_ascent**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, ascent\: :ref:`float<class_float>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_ascent>`
**Required.**\
Sets the font ascent (number of pixels above the baseline).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_baseline_offset:
.. rst-class:: classref-method
|void| **_font_set_baseline_offset**\ (\ font_rid\: :ref:`RID<class_RID>`, baseline_offset\: :ref:`float<class_float>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_baseline_offset>`
**Optional.**\
Sets extra baseline offset (as a fraction of font height).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_data:
.. rst-class:: classref-method
|void| **_font_set_data**\ (\ font_rid\: :ref:`RID<class_RID>`, data\: :ref:`PackedByteArray<class_PackedByteArray>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_data>`
**Optional.**\
Sets font source data, e.g contents of the dynamic font source file.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_data_ptr:
.. rst-class:: classref-method
|void| **_font_set_data_ptr**\ (\ font_rid\: :ref:`RID<class_RID>`, data_ptr\: ``const uint8_t*``, data_size\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_data_ptr>`
**Optional.**\
Sets pointer to the font source data, e.g contents of the dynamic font source file.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_descent:
.. rst-class:: classref-method
|void| **_font_set_descent**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, descent\: :ref:`float<class_float>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_descent>`
**Required.**\
Sets the font descent (number of pixels below the baseline).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_disable_embedded_bitmaps:
.. rst-class:: classref-method
|void| **_font_set_disable_embedded_bitmaps**\ (\ font_rid\: :ref:`RID<class_RID>`, disable_embedded_bitmaps\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_disable_embedded_bitmaps>`
**Optional.**\
If set to ``true``, embedded font bitmap loading is disabled.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_embolden:
.. rst-class:: classref-method
|void| **_font_set_embolden**\ (\ font_rid\: :ref:`RID<class_RID>`, strength\: :ref:`float<class_float>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_embolden>`
Sets font embolden strength. If ``strength`` is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_face_index:
.. rst-class:: classref-method
|void| **_font_set_face_index**\ (\ font_rid\: :ref:`RID<class_RID>`, face_index\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_face_index>`
**Optional.**\
Sets an active face index in the TrueType / OpenType collection.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_fixed_size:
.. rst-class:: classref-method
|void| **_font_set_fixed_size**\ (\ font_rid\: :ref:`RID<class_RID>`, fixed_size\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_fixed_size>`
**Required.**\
Sets bitmap font fixed size. If set to value greater than zero, same cache entry will be used for all font sizes.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_fixed_size_scale_mode:
.. rst-class:: classref-method
|void| **_font_set_fixed_size_scale_mode**\ (\ font_rid\: :ref:`RID<class_RID>`, fixed_size_scale_mode\: :ref:`FixedSizeScaleMode<enum_TextServer_FixedSizeScaleMode>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_fixed_size_scale_mode>`
**Required.**\
Sets bitmap font scaling mode. This property is used only if ``fixed_size`` is greater than zero.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_force_autohinter:
.. rst-class:: classref-method
|void| **_font_set_force_autohinter**\ (\ font_rid\: :ref:`RID<class_RID>`, force_autohinter\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_force_autohinter>`
**Optional.**\
If set to ``true`` auto-hinting is preferred over font built-in hinting.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_generate_mipmaps:
.. rst-class:: classref-method
|void| **_font_set_generate_mipmaps**\ (\ font_rid\: :ref:`RID<class_RID>`, generate_mipmaps\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_generate_mipmaps>`
**Optional.**\
If set to ``true`` font texture mipmap generation is enabled.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_global_oversampling:
.. rst-class:: classref-method
|void| **_font_set_global_oversampling**\ (\ oversampling\: :ref:`float<class_float>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_global_oversampling>`
**Optional.**\
Sets oversampling factor, shared by all font in the TextServer.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_glyph_advance:
.. rst-class:: classref-method
|void| **_font_set_glyph_advance**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, glyph\: :ref:`int<class_int>`, advance\: :ref:`Vector2<class_Vector2>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_glyph_advance>`
**Required.**\
Sets glyph advance (offset of the next glyph).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_glyph_offset:
.. rst-class:: classref-method
|void| **_font_set_glyph_offset**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`, offset\: :ref:`Vector2<class_Vector2>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_glyph_offset>`
**Required.**\
Sets glyph offset from the baseline.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_glyph_size:
.. rst-class:: classref-method
|void| **_font_set_glyph_size**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`, gl_size\: :ref:`Vector2<class_Vector2>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_glyph_size>`
**Required.**\
Sets size of the glyph.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_glyph_texture_idx:
.. rst-class:: classref-method
|void| **_font_set_glyph_texture_idx**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`, texture_idx\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_glyph_texture_idx>`
**Required.**\
Sets index of the cache texture containing the glyph.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_glyph_uv_rect:
.. rst-class:: classref-method
|void| **_font_set_glyph_uv_rect**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, glyph\: :ref:`int<class_int>`, uv_rect\: :ref:`Rect2<class_Rect2>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_glyph_uv_rect>`
**Required.**\
Sets rectangle in the cache texture containing the glyph.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_hinting:
.. rst-class:: classref-method
|void| **_font_set_hinting**\ (\ font_rid\: :ref:`RID<class_RID>`, hinting\: :ref:`Hinting<enum_TextServer_Hinting>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_hinting>`
**Optional.**\
Sets font hinting mode. Used by dynamic fonts only.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_keep_rounding_remainders:
.. rst-class:: classref-method
|void| **_font_set_keep_rounding_remainders**\ (\ font_rid\: :ref:`RID<class_RID>`, keep_rounding_remainders\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_keep_rounding_remainders>`
**Optional.**\
Sets glyph position rounding behavior. If set to ``true``, when aligning glyphs to the pixel boundaries rounding remainders are accumulated to ensure more uniform glyph distribution. This setting has no effect if subpixel positioning is enabled.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_kerning:
.. rst-class:: classref-method
|void| **_font_set_kerning**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, glyph_pair\: :ref:`Vector2i<class_Vector2i>`, kerning\: :ref:`Vector2<class_Vector2>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_kerning>`
**Optional.**\
Sets kerning for the pair of glyphs.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_language_support_override:
.. rst-class:: classref-method
|void| **_font_set_language_support_override**\ (\ font_rid\: :ref:`RID<class_RID>`, language\: :ref:`String<class_String>`, supported\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_language_support_override>`
**Optional.**\
Adds override for :ref:`_font_is_language_supported()<class_TextServerExtension_private_method__font_is_language_supported>`.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_msdf_pixel_range:
.. rst-class:: classref-method
|void| **_font_set_msdf_pixel_range**\ (\ font_rid\: :ref:`RID<class_RID>`, msdf_pixel_range\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_msdf_pixel_range>`
**Optional.**\
Sets the width of the range around the shape between the minimum and maximum representable signed distance.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_msdf_size:
.. rst-class:: classref-method
|void| **_font_set_msdf_size**\ (\ font_rid\: :ref:`RID<class_RID>`, msdf_size\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_msdf_size>`
**Optional.**\
Sets source font size used to generate MSDF textures.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_multichannel_signed_distance_field:
.. rst-class:: classref-method
|void| **_font_set_multichannel_signed_distance_field**\ (\ font_rid\: :ref:`RID<class_RID>`, msdf\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_multichannel_signed_distance_field>`
**Optional.**\
If set to ``true``, glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data. MSDF rendering allows displaying the font at any scaling factor without blurriness, and without incurring a CPU cost when the font size changes (since the font no longer needs to be rasterized on the CPU). As a downside, font hinting is not available with MSDF. The lack of font hinting may result in less crisp and less readable fonts at small sizes.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_name:
.. rst-class:: classref-method
|void| **_font_set_name**\ (\ font_rid\: :ref:`RID<class_RID>`, name\: :ref:`String<class_String>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_name>`
**Optional.**\
Sets the font family name.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_opentype_feature_overrides:
.. rst-class:: classref-method
|void| **_font_set_opentype_feature_overrides**\ (\ font_rid\: :ref:`RID<class_RID>`, overrides\: :ref:`Dictionary<class_Dictionary>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_opentype_feature_overrides>`
**Optional.**\
Sets font OpenType feature set override.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_oversampling:
.. rst-class:: classref-method
|void| **_font_set_oversampling**\ (\ font_rid\: :ref:`RID<class_RID>`, oversampling\: :ref:`float<class_float>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_oversampling>`
**Optional.**\
Sets font oversampling factor, if set to ``0.0`` global oversampling factor is used instead. Used by dynamic fonts only.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_scale:
.. rst-class:: classref-method
|void| **_font_set_scale**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, scale\: :ref:`float<class_float>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_scale>`
**Required.**\
Sets scaling factor of the color bitmap font.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_script_support_override:
.. rst-class:: classref-method
|void| **_font_set_script_support_override**\ (\ font_rid\: :ref:`RID<class_RID>`, script\: :ref:`String<class_String>`, supported\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_script_support_override>`
**Optional.**\
Adds override for :ref:`_font_is_script_supported()<class_TextServerExtension_private_method__font_is_script_supported>`.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_spacing:
.. rst-class:: classref-method
|void| **_font_set_spacing**\ (\ font_rid\: :ref:`RID<class_RID>`, spacing\: :ref:`SpacingType<enum_TextServer_SpacingType>`, value\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_spacing>`
**Optional.**\
Sets the spacing for ``spacing`` (see :ref:`SpacingType<enum_TextServer_SpacingType>`) to ``value`` in pixels (not relative to the font size).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_stretch:
.. rst-class:: classref-method
|void| **_font_set_stretch**\ (\ font_rid\: :ref:`RID<class_RID>`, stretch\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_stretch>`
**Optional.**\
Sets font stretch amount, compared to a normal width. A percentage value between ``50%`` and ``200%``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_style:
.. rst-class:: classref-method
|void| **_font_set_style**\ (\ font_rid\: :ref:`RID<class_RID>`, style\: |bitfield|\[:ref:`FontStyle<enum_TextServer_FontStyle>`\]\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_style>`
**Optional.**\
Sets the font style flags, see :ref:`FontStyle<enum_TextServer_FontStyle>`.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_style_name:
.. rst-class:: classref-method
|void| **_font_set_style_name**\ (\ font_rid\: :ref:`RID<class_RID>`, name_style\: :ref:`String<class_String>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_style_name>`
**Optional.**\
Sets the font style name.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_subpixel_positioning:
.. rst-class:: classref-method
|void| **_font_set_subpixel_positioning**\ (\ font_rid\: :ref:`RID<class_RID>`, subpixel_positioning\: :ref:`SubpixelPositioning<enum_TextServer_SubpixelPositioning>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_subpixel_positioning>`
**Optional.**\
Sets font subpixel glyph positioning mode.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_texture_image:
.. rst-class:: classref-method
|void| **_font_set_texture_image**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, texture_index\: :ref:`int<class_int>`, image\: :ref:`Image<class_Image>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_texture_image>`
**Required.**\
Sets font cache texture image data.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_texture_offsets:
.. rst-class:: classref-method
|void| **_font_set_texture_offsets**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`Vector2i<class_Vector2i>`, texture_index\: :ref:`int<class_int>`, offset\: :ref:`PackedInt32Array<class_PackedInt32Array>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_texture_offsets>`
**Optional.**\
Sets array containing glyph packing data.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_transform:
.. rst-class:: classref-method
|void| **_font_set_transform**\ (\ font_rid\: :ref:`RID<class_RID>`, transform\: :ref:`Transform2D<class_Transform2D>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_transform>`
**Optional.**\
Sets 2D transform, applied to the font outlines, can be used for slanting, flipping, and rotating glyphs.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_underline_position:
.. rst-class:: classref-method
|void| **_font_set_underline_position**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, underline_position\: :ref:`float<class_float>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_underline_position>`
**Required.**\
Sets pixel offset of the underline below the baseline.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_underline_thickness:
.. rst-class:: classref-method
|void| **_font_set_underline_thickness**\ (\ font_rid\: :ref:`RID<class_RID>`, size\: :ref:`int<class_int>`, underline_thickness\: :ref:`float<class_float>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_underline_thickness>`
**Required.**\
Sets thickness of the underline in pixels.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_variation_coordinates:
.. rst-class:: classref-method
|void| **_font_set_variation_coordinates**\ (\ font_rid\: :ref:`RID<class_RID>`, variation_coordinates\: :ref:`Dictionary<class_Dictionary>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_variation_coordinates>`
**Optional.**\
Sets variation coordinates for the specified font cache entry.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_set_weight:
.. rst-class:: classref-method
|void| **_font_set_weight**\ (\ font_rid\: :ref:`RID<class_RID>`, weight\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__font_set_weight>`
**Optional.**\
Sets 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_TextServerExtension_private_method__font_supported_feature_list:
.. rst-class:: classref-method
:ref:`Dictionary<class_Dictionary>` **_font_supported_feature_list**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_supported_feature_list>`
**Optional.**\
Returns the dictionary of the supported OpenType features.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__font_supported_variation_list:
.. rst-class:: classref-method
:ref:`Dictionary<class_Dictionary>` **_font_supported_variation_list**\ (\ font_rid\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__font_supported_variation_list>`
**Optional.**\
Returns the dictionary of the supported OpenType variation coordinates.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__format_number:
.. rst-class:: classref-method
:ref:`String<class_String>` **_format_number**\ (\ number\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__format_number>`
**Optional.**\
Converts a number from the Western Arabic (0..9) to the numeral systems used in ``language``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__free_rid:
.. rst-class:: classref-method
|void| **_free_rid**\ (\ rid\: :ref:`RID<class_RID>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__free_rid>`
**Required.**\
Frees an object created by this :ref:`TextServer<class_TextServer>`.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__get_features:
.. rst-class:: classref-method
:ref:`int<class_int>` **_get_features**\ (\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__get_features>`
**Required.**\
Returns text server features, see :ref:`Feature<enum_TextServer_Feature>`.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__get_hex_code_box_size:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **_get_hex_code_box_size**\ (\ size\: :ref:`int<class_int>`, index\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__get_hex_code_box_size>`
**Optional.**\
Returns size of the replacement character (box with character hexadecimal code that is drawn in place of invalid characters).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__get_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **_get_name**\ (\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__get_name>`
**Required.**\
Returns the name of the server interface.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__get_support_data:
.. rst-class:: classref-method
:ref:`PackedByteArray<class_PackedByteArray>` **_get_support_data**\ (\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__get_support_data>`
**Optional.**\
Returns default TextServer database (e.g. ICU break iterators and dictionaries).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__get_support_data_filename:
.. rst-class:: classref-method
:ref:`String<class_String>` **_get_support_data_filename**\ (\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__get_support_data_filename>`
**Optional.**\
Returns default TextServer database (e.g. ICU break iterators and dictionaries) filename.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__get_support_data_info:
.. rst-class:: classref-method
:ref:`String<class_String>` **_get_support_data_info**\ (\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__get_support_data_info>`
**Optional.**\
Returns TextServer database (e.g. ICU break iterators and dictionaries) description.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__has:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_has**\ (\ rid\: :ref:`RID<class_RID>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__has>`
**Required.**\
Returns ``true`` if ``rid`` is valid resource owned by this text server.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__has_feature:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_has_feature**\ (\ feature\: :ref:`Feature<enum_TextServer_Feature>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__has_feature>`
**Required.**\
Returns ``true`` if the server supports a feature.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__is_confusable:
.. rst-class:: classref-method
:ref:`int<class_int>` **_is_confusable**\ (\ string\: :ref:`String<class_String>`, dict\: :ref:`PackedStringArray<class_PackedStringArray>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__is_confusable>`
**Optional.**\
Returns index of the first string in ``dict`` which is visually confusable with the ``string``, or ``-1`` if none is found.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__is_locale_right_to_left:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_is_locale_right_to_left**\ (\ locale\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__is_locale_right_to_left>`
**Required.**\
Returns ``true`` if locale is right-to-left.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__is_valid_identifier:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_is_valid_identifier**\ (\ string\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__is_valid_identifier>`
**Optional.**\
Returns ``true`` if ``string`` is a valid identifier.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__is_valid_letter:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_is_valid_letter**\ (\ unicode\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__is_valid_letter>`
.. container:: contribute
There is currently no description for this method. Please help us by :ref:`contributing one <doc_updating_the_class_reference>`!
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__load_support_data:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_load_support_data**\ (\ filename\: :ref:`String<class_String>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__load_support_data>`
**Optional.**\
Loads optional TextServer database (e.g. ICU break iterators and dictionaries).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__name_to_tag:
.. rst-class:: classref-method
:ref:`int<class_int>` **_name_to_tag**\ (\ name\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__name_to_tag>`
**Optional.**\
Converts readable feature, variation, script, or language name to OpenType tag.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__parse_number:
.. rst-class:: classref-method
:ref:`String<class_String>` **_parse_number**\ (\ number\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__parse_number>`
**Optional.**\
Converts ``number`` from the numeral systems used in ``language`` to Western Arabic (0..9).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__parse_structured_text:
.. rst-class:: classref-method
:ref:`Array<class_Array>`\[:ref:`Vector3i<class_Vector3i>`\] **_parse_structured_text**\ (\ parser_type\: :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>`, args\: :ref:`Array<class_Array>`, text\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__parse_structured_text>`
**Optional.**\
Default implementation of the BiDi algorithm override function. See :ref:`StructuredTextParser<enum_TextServer_StructuredTextParser>` for more info.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__percent_sign:
.. rst-class:: classref-method
:ref:`String<class_String>` **_percent_sign**\ (\ language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__percent_sign>`
**Optional.**\
Returns percent sign used in the ``language``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__save_support_data:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_save_support_data**\ (\ filename\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__save_support_data>`
**Optional.**\
Saves optional TextServer database (e.g. ICU break iterators and dictionaries) to the file.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_get_span_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_get_span_count**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_get_span_count>`
**Required.**\
Returns number of text spans added using :ref:`_shaped_text_add_string()<class_TextServerExtension_private_method__shaped_text_add_string>` or :ref:`_shaped_text_add_object()<class_TextServerExtension_private_method__shaped_text_add_object>`.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_get_span_embedded_object:
.. rst-class:: classref-method
:ref:`Variant<class_Variant>` **_shaped_get_span_embedded_object**\ (\ shaped\: :ref:`RID<class_RID>`, index\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_get_span_embedded_object>`
**Required.**\
Returns text embedded object key.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_get_span_meta:
.. rst-class:: classref-method
:ref:`Variant<class_Variant>` **_shaped_get_span_meta**\ (\ shaped\: :ref:`RID<class_RID>`, index\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_get_span_meta>`
**Required.**\
Returns text span metadata.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_set_span_update_font:
.. rst-class:: classref-method
|void| **_shaped_set_span_update_font**\ (\ shaped\: :ref:`RID<class_RID>`, index\: :ref:`int<class_int>`, fonts\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\], size\: :ref:`int<class_int>`, opentype_features\: :ref:`Dictionary<class_Dictionary>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_set_span_update_font>`
**Required.**\
Changes text span font, font size, and OpenType features, without changing the text.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_add_object:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_shaped_text_add_object**\ (\ shaped\: :ref:`RID<class_RID>`, key\: :ref:`Variant<class_Variant>`, size\: :ref:`Vector2<class_Vector2>`, inline_align\: :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>`, length\: :ref:`int<class_int>`, baseline\: :ref:`float<class_float>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_add_object>`
**Required.**\
Adds inline object to the text buffer, ``key`` must be unique. In the text, object is represented as ``length`` object replacement characters.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_add_string:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_shaped_text_add_string**\ (\ shaped\: :ref:`RID<class_RID>`, text\: :ref:`String<class_String>`, fonts\: :ref:`Array<class_Array>`\[:ref:`RID<class_RID>`\], size\: :ref:`int<class_int>`, opentype_features\: :ref:`Dictionary<class_Dictionary>`, language\: :ref:`String<class_String>`, meta\: :ref:`Variant<class_Variant>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_add_string>`
**Required.**\
Adds text span and font to draw it to the text buffer.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_clear:
.. rst-class:: classref-method
|void| **_shaped_text_clear**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_clear>`
**Required.**\
Clears text buffer (removes text and inline objects).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_closest_character_pos:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_closest_character_pos**\ (\ shaped\: :ref:`RID<class_RID>`, pos\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_closest_character_pos>`
**Optional.**\
Returns composite character position closest to the ``pos``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_draw:
.. rst-class:: classref-method
|void| **_shaped_text_draw**\ (\ shaped\: :ref:`RID<class_RID>`, canvas\: :ref:`RID<class_RID>`, pos\: :ref:`Vector2<class_Vector2>`, clip_l\: :ref:`float<class_float>`, clip_r\: :ref:`float<class_float>`, color\: :ref:`Color<class_Color>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_draw>`
**Optional.**\
Draw shaped text into a canvas item at a given position, with ``color``. ``pos`` specifies the leftmost point of the baseline (for horizontal layout) or topmost point of the baseline (for vertical layout).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_draw_outline:
.. rst-class:: classref-method
|void| **_shaped_text_draw_outline**\ (\ shaped\: :ref:`RID<class_RID>`, canvas\: :ref:`RID<class_RID>`, pos\: :ref:`Vector2<class_Vector2>`, clip_l\: :ref:`float<class_float>`, clip_r\: :ref:`float<class_float>`, outline_size\: :ref:`int<class_int>`, color\: :ref:`Color<class_Color>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_draw_outline>`
**Optional.**\
Draw the outline of the shaped text into a canvas item at a given position, with ``color``. ``pos`` specifies the leftmost point of the baseline (for horizontal layout) or topmost point of the baseline (for vertical layout).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_fit_to_width:
.. rst-class:: classref-method
:ref:`float<class_float>` **_shaped_text_fit_to_width**\ (\ shaped\: :ref:`RID<class_RID>`, width\: :ref:`float<class_float>`, justification_flags\: |bitfield|\[:ref:`JustificationFlag<enum_TextServer_JustificationFlag>`\]\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_fit_to_width>`
**Optional.**\
Adjusts text width to fit to specified width, returns new text width.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_ascent:
.. rst-class:: classref-method
:ref:`float<class_float>` **_shaped_text_get_ascent**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_ascent>`
**Required.**\
Returns the text ascent (number of pixels above the baseline for horizontal layout or to the left of baseline for vertical).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_carets:
.. rst-class:: classref-method
|void| **_shaped_text_get_carets**\ (\ shaped\: :ref:`RID<class_RID>`, position\: :ref:`int<class_int>`, caret\: ``CaretInfo*``\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_carets>`
**Optional.**\
Returns shapes of the carets corresponding to the character offset ``position`` in the text. Returned caret shape is 1 pixel wide rectangle.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_character_breaks:
.. rst-class:: classref-method
:ref:`PackedInt32Array<class_PackedInt32Array>` **_shaped_text_get_character_breaks**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_character_breaks>`
**Optional.**\
Returns array of the composite character boundaries.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_custom_ellipsis:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_get_custom_ellipsis**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_custom_ellipsis>`
**Optional.**\
Returns ellipsis character used for text clipping.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_custom_punctuation:
.. rst-class:: classref-method
:ref:`String<class_String>` **_shaped_text_get_custom_punctuation**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_custom_punctuation>`
**Optional.**\
Returns custom punctuation character list, used for word breaking. If set to empty string, server defaults are used.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_descent:
.. rst-class:: classref-method
:ref:`float<class_float>` **_shaped_text_get_descent**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_descent>`
**Required.**\
Returns the text descent (number of pixels below the baseline for horizontal layout or to the right of baseline for vertical).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_direction:
.. rst-class:: classref-method
:ref:`Direction<enum_TextServer_Direction>` **_shaped_text_get_direction**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_direction>`
**Optional.**\
Returns direction of the text.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_dominant_direction_in_range:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_get_dominant_direction_in_range**\ (\ shaped\: :ref:`RID<class_RID>`, start\: :ref:`int<class_int>`, end\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_dominant_direction_in_range>`
**Optional.**\
Returns dominant direction of in the range of text.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_ellipsis_glyph_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_get_ellipsis_glyph_count**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_ellipsis_glyph_count>`
**Required.**\
Returns number of glyphs in the ellipsis.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_ellipsis_glyphs:
.. rst-class:: classref-method
``const Glyph*`` **_shaped_text_get_ellipsis_glyphs**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_ellipsis_glyphs>`
**Required.**\
Returns array of the glyphs in the ellipsis.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_ellipsis_pos:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_get_ellipsis_pos**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_ellipsis_pos>`
**Required.**\
Returns position of the ellipsis.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_glyph_count:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_get_glyph_count**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_glyph_count>`
**Required.**\
Returns number of glyphs in the buffer.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_glyphs:
.. rst-class:: classref-method
``const Glyph*`` **_shaped_text_get_glyphs**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_glyphs>`
**Required.**\
Returns an array of glyphs in the visual order.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_grapheme_bounds:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **_shaped_text_get_grapheme_bounds**\ (\ shaped\: :ref:`RID<class_RID>`, pos\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_grapheme_bounds>`
**Optional.**\
Returns composite character's bounds as offsets from the start of the line.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_inferred_direction:
.. rst-class:: classref-method
:ref:`Direction<enum_TextServer_Direction>` **_shaped_text_get_inferred_direction**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_inferred_direction>`
**Optional.**\
Returns direction of the text, inferred by the BiDi algorithm.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_line_breaks:
.. rst-class:: classref-method
:ref:`PackedInt32Array<class_PackedInt32Array>` **_shaped_text_get_line_breaks**\ (\ shaped\: :ref:`RID<class_RID>`, width\: :ref:`float<class_float>`, start\: :ref:`int<class_int>`, break_flags\: |bitfield|\[:ref:`LineBreakFlag<enum_TextServer_LineBreakFlag>`\]\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_line_breaks>`
**Optional.**\
Breaks text to the lines and returns character ranges for each line.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_line_breaks_adv:
.. rst-class:: classref-method
:ref:`PackedInt32Array<class_PackedInt32Array>` **_shaped_text_get_line_breaks_adv**\ (\ shaped\: :ref:`RID<class_RID>`, width\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`, start\: :ref:`int<class_int>`, once\: :ref:`bool<class_bool>`, break_flags\: |bitfield|\[:ref:`LineBreakFlag<enum_TextServer_LineBreakFlag>`\]\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_line_breaks_adv>`
**Optional.**\
Breaks text to the lines and columns. Returns character ranges for each segment.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_object_glyph:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_get_object_glyph**\ (\ shaped\: :ref:`RID<class_RID>`, key\: :ref:`Variant<class_Variant>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_object_glyph>`
**Required.**\
Returns the glyph index of the inline object.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_object_range:
.. rst-class:: classref-method
:ref:`Vector2i<class_Vector2i>` **_shaped_text_get_object_range**\ (\ shaped\: :ref:`RID<class_RID>`, key\: :ref:`Variant<class_Variant>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_object_range>`
**Required.**\
Returns the character range of the inline object.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_object_rect:
.. rst-class:: classref-method
:ref:`Rect2<class_Rect2>` **_shaped_text_get_object_rect**\ (\ shaped\: :ref:`RID<class_RID>`, key\: :ref:`Variant<class_Variant>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_object_rect>`
**Required.**\
Returns bounding rectangle of the inline object.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_objects:
.. rst-class:: classref-method
:ref:`Array<class_Array>` **_shaped_text_get_objects**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_objects>`
**Required.**\
Returns array of inline objects.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_orientation:
.. rst-class:: classref-method
:ref:`Orientation<enum_TextServer_Orientation>` **_shaped_text_get_orientation**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_orientation>`
**Optional.**\
Returns text orientation.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_parent:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **_shaped_text_get_parent**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_parent>`
**Required.**\
Returns the parent buffer from which the substring originates.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_preserve_control:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_shaped_text_get_preserve_control**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_preserve_control>`
**Optional.**\
Returns ``true`` if text buffer is configured to display control characters.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_preserve_invalid:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_shaped_text_get_preserve_invalid**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_preserve_invalid>`
**Optional.**\
Returns ``true`` if text buffer is configured to display hexadecimal codes in place of invalid characters.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_range:
.. rst-class:: classref-method
:ref:`Vector2i<class_Vector2i>` **_shaped_text_get_range**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_range>`
**Required.**\
Returns substring buffer character range in the parent buffer.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_selection:
.. rst-class:: classref-method
:ref:`PackedVector2Array<class_PackedVector2Array>` **_shaped_text_get_selection**\ (\ shaped\: :ref:`RID<class_RID>`, start\: :ref:`int<class_int>`, end\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_selection>`
**Optional.**\
Returns selection rectangles for the specified character range.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_size:
.. rst-class:: classref-method
:ref:`Vector2<class_Vector2>` **_shaped_text_get_size**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_size>`
**Required.**\
Returns size of the text.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_spacing:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_get_spacing**\ (\ shaped\: :ref:`RID<class_RID>`, spacing\: :ref:`SpacingType<enum_TextServer_SpacingType>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_spacing>`
**Optional.**\
Returns extra spacing added between glyphs or lines in pixels.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_trim_pos:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_get_trim_pos**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_trim_pos>`
**Required.**\
Returns the position of the overrun trim.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_underline_position:
.. rst-class:: classref-method
:ref:`float<class_float>` **_shaped_text_get_underline_position**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_underline_position>`
**Required.**\
Returns pixel offset of the underline below the baseline.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_underline_thickness:
.. rst-class:: classref-method
:ref:`float<class_float>` **_shaped_text_get_underline_thickness**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_underline_thickness>`
**Required.**\
Returns thickness of the underline.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_width:
.. rst-class:: classref-method
:ref:`float<class_float>` **_shaped_text_get_width**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_width>`
**Required.**\
Returns width (for horizontal layout) or height (for vertical) of the text.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_get_word_breaks:
.. rst-class:: classref-method
:ref:`PackedInt32Array<class_PackedInt32Array>` **_shaped_text_get_word_breaks**\ (\ shaped\: :ref:`RID<class_RID>`, grapheme_flags\: |bitfield|\[:ref:`GraphemeFlag<enum_TextServer_GraphemeFlag>`\], skip_grapheme_flags\: |bitfield|\[:ref:`GraphemeFlag<enum_TextServer_GraphemeFlag>`\]\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_get_word_breaks>`
**Optional.**\
Breaks text into words and returns array of character ranges. Use ``grapheme_flags`` to set what characters are used for breaking (see :ref:`GraphemeFlag<enum_TextServer_GraphemeFlag>`).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_hit_test_grapheme:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_hit_test_grapheme**\ (\ shaped\: :ref:`RID<class_RID>`, coord\: :ref:`float<class_float>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_hit_test_grapheme>`
**Optional.**\
Returns grapheme index at the specified pixel offset at the baseline, or ``-1`` if none is found.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_hit_test_position:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_hit_test_position**\ (\ shaped\: :ref:`RID<class_RID>`, coord\: :ref:`float<class_float>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_hit_test_position>`
**Optional.**\
Returns caret character offset at the specified pixel offset at the baseline. This function always returns a valid position.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_is_ready:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_shaped_text_is_ready**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_is_ready>`
**Required.**\
Returns ``true`` if buffer is successfully shaped.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_next_character_pos:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_next_character_pos**\ (\ shaped\: :ref:`RID<class_RID>`, pos\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_next_character_pos>`
**Optional.**\
Returns composite character end position closest to the ``pos``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_next_grapheme_pos:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_next_grapheme_pos**\ (\ shaped\: :ref:`RID<class_RID>`, pos\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_next_grapheme_pos>`
**Optional.**\
Returns grapheme end position closest to the ``pos``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_overrun_trim_to_width:
.. rst-class:: classref-method
|void| **_shaped_text_overrun_trim_to_width**\ (\ shaped\: :ref:`RID<class_RID>`, width\: :ref:`float<class_float>`, trim_flags\: |bitfield|\[:ref:`TextOverrunFlag<enum_TextServer_TextOverrunFlag>`\]\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_overrun_trim_to_width>`
**Optional.**\
Trims text if it exceeds the given width.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_prev_character_pos:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_prev_character_pos**\ (\ shaped\: :ref:`RID<class_RID>`, pos\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_prev_character_pos>`
**Optional.**\
Returns composite character start position closest to the ``pos``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_prev_grapheme_pos:
.. rst-class:: classref-method
:ref:`int<class_int>` **_shaped_text_prev_grapheme_pos**\ (\ shaped\: :ref:`RID<class_RID>`, pos\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_prev_grapheme_pos>`
**Optional.**\
Returns grapheme start position closest to the ``pos``.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_resize_object:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_shaped_text_resize_object**\ (\ shaped\: :ref:`RID<class_RID>`, key\: :ref:`Variant<class_Variant>`, size\: :ref:`Vector2<class_Vector2>`, inline_align\: :ref:`InlineAlignment<enum_@GlobalScope_InlineAlignment>`, baseline\: :ref:`float<class_float>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_resize_object>`
**Required.**\
Sets new size and alignment of embedded object.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_set_bidi_override:
.. rst-class:: classref-method
|void| **_shaped_text_set_bidi_override**\ (\ shaped\: :ref:`RID<class_RID>`, override\: :ref:`Array<class_Array>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_set_bidi_override>`
**Optional.**\
Overrides BiDi for the structured text.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_set_custom_ellipsis:
.. rst-class:: classref-method
|void| **_shaped_text_set_custom_ellipsis**\ (\ shaped\: :ref:`RID<class_RID>`, char\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_set_custom_ellipsis>`
**Optional.**\
Sets ellipsis character used for text clipping.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_set_custom_punctuation:
.. rst-class:: classref-method
|void| **_shaped_text_set_custom_punctuation**\ (\ shaped\: :ref:`RID<class_RID>`, punct\: :ref:`String<class_String>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_set_custom_punctuation>`
**Optional.**\
Sets custom punctuation character list, used for word breaking. If set to empty string, server defaults are used.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_set_direction:
.. rst-class:: classref-method
|void| **_shaped_text_set_direction**\ (\ shaped\: :ref:`RID<class_RID>`, direction\: :ref:`Direction<enum_TextServer_Direction>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_set_direction>`
**Optional.**\
Sets desired text direction. If set to :ref:`TextServer.DIRECTION_AUTO<class_TextServer_constant_DIRECTION_AUTO>`, direction will be detected based on the buffer contents and current locale.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_set_orientation:
.. rst-class:: classref-method
|void| **_shaped_text_set_orientation**\ (\ shaped\: :ref:`RID<class_RID>`, orientation\: :ref:`Orientation<enum_TextServer_Orientation>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_set_orientation>`
**Optional.**\
Sets desired text orientation.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_set_preserve_control:
.. rst-class:: classref-method
|void| **_shaped_text_set_preserve_control**\ (\ shaped\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_set_preserve_control>`
**Optional.**\
If set to ``true`` text buffer will display control characters.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_set_preserve_invalid:
.. rst-class:: classref-method
|void| **_shaped_text_set_preserve_invalid**\ (\ shaped\: :ref:`RID<class_RID>`, enabled\: :ref:`bool<class_bool>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_set_preserve_invalid>`
**Optional.**\
If set to ``true`` text buffer will display invalid characters as hexadecimal codes, otherwise nothing is displayed.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_set_spacing:
.. rst-class:: classref-method
|void| **_shaped_text_set_spacing**\ (\ shaped\: :ref:`RID<class_RID>`, spacing\: :ref:`SpacingType<enum_TextServer_SpacingType>`, value\: :ref:`int<class_int>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_set_spacing>`
**Optional.**\
Sets extra spacing added between glyphs or lines in pixels.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_shape:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_shaped_text_shape**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_shape>`
**Required.**\
Shapes buffer if it's not shaped. Returns ``true`` if the string is shaped successfully.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_sort_logical:
.. rst-class:: classref-method
``const Glyph*`` **_shaped_text_sort_logical**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_sort_logical>`
**Required.**\
Returns text glyphs in the logical order.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_substr:
.. rst-class:: classref-method
:ref:`RID<class_RID>` **_shaped_text_substr**\ (\ shaped\: :ref:`RID<class_RID>`, start\: :ref:`int<class_int>`, length\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_substr>`
**Required.**\
Returns text buffer for the substring of the text in the ``shaped`` text buffer (including inline objects).
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_tab_align:
.. rst-class:: classref-method
:ref:`float<class_float>` **_shaped_text_tab_align**\ (\ shaped\: :ref:`RID<class_RID>`, tab_stops\: :ref:`PackedFloat32Array<class_PackedFloat32Array>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_tab_align>`
**Optional.**\
Aligns shaped text to the given tab-stops.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_update_breaks:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_shaped_text_update_breaks**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_update_breaks>`
**Optional.**\
Updates break points in the shaped text. This method is called by default implementation of text breaking functions.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__shaped_text_update_justification_ops:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_shaped_text_update_justification_ops**\ (\ shaped\: :ref:`RID<class_RID>`\ ) |virtual| :ref:`🔗<class_TextServerExtension_private_method__shaped_text_update_justification_ops>`
**Optional.**\
Updates justification points in the shaped text. This method is called by default implementation of text justification functions.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__spoof_check:
.. rst-class:: classref-method
:ref:`bool<class_bool>` **_spoof_check**\ (\ string\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__spoof_check>`
**Optional.**\
Returns ``true`` if ``string`` is likely to be an attempt at confusing the reader.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__string_get_character_breaks:
.. rst-class:: classref-method
:ref:`PackedInt32Array<class_PackedInt32Array>` **_string_get_character_breaks**\ (\ string\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__string_get_character_breaks>`
**Optional.**\
Returns array of the composite character boundaries.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__string_get_word_breaks:
.. rst-class:: classref-method
:ref:`PackedInt32Array<class_PackedInt32Array>` **_string_get_word_breaks**\ (\ string\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`, chars_per_line\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__string_get_word_breaks>`
**Optional.**\
Returns an array of the word break boundaries. Elements in the returned array are the offsets of the start and end of words. Therefore the length of the array is always even.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__string_to_lower:
.. rst-class:: classref-method
:ref:`String<class_String>` **_string_to_lower**\ (\ string\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__string_to_lower>`
**Optional.**\
Returns the string converted to lowercase.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__string_to_title:
.. rst-class:: classref-method
:ref:`String<class_String>` **_string_to_title**\ (\ string\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__string_to_title>`
**Optional.**\
Returns the string converted to title case.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__string_to_upper:
.. rst-class:: classref-method
:ref:`String<class_String>` **_string_to_upper**\ (\ string\: :ref:`String<class_String>`, language\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__string_to_upper>`
**Optional.**\
Returns the string converted to uppercase.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__strip_diacritics:
.. rst-class:: classref-method
:ref:`String<class_String>` **_strip_diacritics**\ (\ string\: :ref:`String<class_String>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__strip_diacritics>`
**Optional.**\
Strips diacritics from the string.
.. rst-class:: classref-item-separator
----
.. _class_TextServerExtension_private_method__tag_to_name:
.. rst-class:: classref-method
:ref:`String<class_String>` **_tag_to_name**\ (\ tag\: :ref:`int<class_int>`\ ) |virtual| |const| :ref:`🔗<class_TextServerExtension_private_method__tag_to_name>`
**Optional.**\
Converts OpenType tag to readable feature, variation, script, or language name.
.. |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.)`
.. |bitfield| replace:: :abbr:`BitField (This value is an integer composed as a bitmask of the following flags.)`
.. |void| replace:: :abbr:`void (No return value.)`