:github_url: hide .. Generated automatically by doc/tools/make_rst.py in Godot's source tree. .. DO NOT EDIT THIS FILE, but the TextServerExtension.xml source instead. .. The source is found in doc/classes or modules//doc_classes. .. _class_TextServerExtension: TextServerExtension =================== **Inherits:** :ref:`TextServer` **<** :ref:`RefCounted` **<** :ref:`Object` Base class for TextServer custom implementations (plugins). Description ----------- External TextServer implementations should inherit from this class. Methods ------- +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`_create_font` **(** **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`_create_shaped_text` **(** :ref:`Direction` direction, :ref:`Orientation` orientation **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_draw_hex_code_box` **(** :ref:`RID` canvas, :ref:`int` size, :ref:`Vector2` pos, :ref:`int` index, :ref:`Color` color **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_clear_glyphs` **(** :ref:`RID` font_rid, :ref:`Vector2i` size **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_clear_kerning_map` **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_clear_size_cache` **(** :ref:`RID` font_rid **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_clear_textures` **(** :ref:`RID` font_rid, :ref:`Vector2i` size **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_draw_glyph` **(** :ref:`RID` font_rid, :ref:`RID` canvas, :ref:`int` size, :ref:`Vector2` pos, :ref:`int` index, :ref:`Color` color **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_draw_glyph_outline` **(** :ref:`RID` font_rid, :ref:`RID` canvas, :ref:`int` size, :ref:`int` outline_size, :ref:`Vector2` pos, :ref:`int` index, :ref:`Color` color **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_font_get_ascent` **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_font_get_descent` **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_font_get_embolden` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_font_get_fixed_size` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_font_get_global_oversampling` **(** **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`_font_get_glyph_advance` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`int` glyph **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`_font_get_glyph_contours` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`int` index **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_font_get_glyph_index` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`int` char, :ref:`int` variation_selector **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`_font_get_glyph_list` **(** :ref:`RID` font_rid, :ref:`Vector2i` size **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`_font_get_glyph_offset` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`_font_get_glyph_size` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_font_get_glyph_texture_idx` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Rect2` | :ref:`_font_get_glyph_uv_rect` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Hinting` | :ref:`_font_get_hinting` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`_font_get_kerning` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`Vector2i` glyph_pair **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`_font_get_kerning_list` **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_font_get_language_support_override` **(** :ref:`RID` font_rid, :ref:`String` language **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`_font_get_language_support_overrides` **(** :ref:`RID` font_rid **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_font_get_msdf_pixel_range` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_font_get_msdf_size` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_font_get_name` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`_font_get_opentype_feature_overrides` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_font_get_oversampling` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_font_get_scale` **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_font_get_script_support_override` **(** :ref:`RID` font_rid, :ref:`String` script **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedStringArray` | :ref:`_font_get_script_support_overrides` **(** :ref:`RID` font_rid **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`_font_get_size_cache_list` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_font_get_spacing` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`SpacingType` spacing **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_font_get_style` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_font_get_style_name` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`SubpixelPositioning` | :ref:`_font_get_subpixel_positioning` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_font_get_supported_chars` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_font_get_texture_count` **(** :ref:`RID` font_rid, :ref:`Vector2i` size **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Image` | :ref:`_font_get_texture_image` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` texture_index **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedInt32Array` | :ref:`_font_get_texture_offsets` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` texture_index **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Transform2D` | :ref:`_font_get_transform` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_font_get_underline_position` **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_font_get_underline_thickness` **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`_font_get_variation_coordinates` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_font_has_char` **(** :ref:`RID` font_rid, :ref:`int` char **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_font_is_antialiased` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_font_is_force_autohinter` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_font_is_language_supported` **(** :ref:`RID` font_rid, :ref:`String` language **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_font_is_multichannel_signed_distance_field` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_font_is_script_supported` **(** :ref:`RID` font_rid, :ref:`String` script **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_remove_glyph` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_remove_kerning` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`Vector2i` glyph_pair **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_remove_language_support_override` **(** :ref:`RID` font_rid, :ref:`String` language **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_remove_script_support_override` **(** :ref:`RID` font_rid, :ref:`String` script **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_remove_size_cache` **(** :ref:`RID` font_rid, :ref:`Vector2i` size **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_remove_texture` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` texture_index **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_render_glyph` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` index **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_render_range` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` start, :ref:`int` end **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_antialiased` **(** :ref:`RID` font_rid, :ref:`bool` antialiased **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_ascent` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`float` ascent **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_data` **(** :ref:`RID` font_rid, :ref:`PackedByteArray` data **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_data_ptr` **(** :ref:`RID` font_rid, const uint8_t* data_ptr, :ref:`int` data_size **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_descent` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`float` descent **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_embolden` **(** :ref:`RID` font_rid, :ref:`float` strength **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_fixed_size` **(** :ref:`RID` font_rid, :ref:`int` fixed_size **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_force_autohinter` **(** :ref:`RID` font_rid, :ref:`bool` force_autohinter **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_global_oversampling` **(** :ref:`float` oversampling **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_glyph_advance` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`int` glyph, :ref:`Vector2` advance **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_glyph_offset` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph, :ref:`Vector2` offset **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_glyph_size` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph, :ref:`Vector2` gl_size **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_glyph_texture_idx` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph, :ref:`int` texture_idx **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_glyph_uv_rect` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph, :ref:`Rect2` uv_rect **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_hinting` **(** :ref:`RID` font_rid, :ref:`Hinting` hinting **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_kerning` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`Vector2i` glyph_pair, :ref:`Vector2` kerning **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_language_support_override` **(** :ref:`RID` font_rid, :ref:`String` language, :ref:`bool` supported **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_msdf_pixel_range` **(** :ref:`RID` font_rid, :ref:`int` msdf_pixel_range **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_msdf_size` **(** :ref:`RID` font_rid, :ref:`int` msdf_size **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_multichannel_signed_distance_field` **(** :ref:`RID` font_rid, :ref:`bool` msdf **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_name` **(** :ref:`RID` font_rid, :ref:`String` name **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_opentype_feature_overrides` **(** :ref:`RID` font_rid, :ref:`Dictionary` overrides **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_oversampling` **(** :ref:`RID` font_rid, :ref:`float` oversampling **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_scale` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`float` scale **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_script_support_override` **(** :ref:`RID` font_rid, :ref:`String` script, :ref:`bool` supported **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_spacing` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`SpacingType` spacing, :ref:`int` value **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_style` **(** :ref:`RID` font_rid, :ref:`int` style **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_style_name` **(** :ref:`RID` font_rid, :ref:`String` name_style **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_subpixel_positioning` **(** :ref:`RID` font_rid, :ref:`SubpixelPositioning` subpixel_positioning **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_texture_image` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` texture_index, :ref:`Image` image **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_texture_offsets` **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` texture_index, :ref:`PackedInt32Array` offset **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_transform` **(** :ref:`RID` font_rid, :ref:`Transform2D` transform **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_underline_position` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`float` underline_position **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_underline_thickness` **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`float` underline_thickness **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_font_set_variation_coordinates` **(** :ref:`RID` font_rid, :ref:`Dictionary` variation_coordinates **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`_font_supported_feature_list` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Dictionary` | :ref:`_font_supported_variation_list` **(** :ref:`RID` font_rid **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_format_number` **(** :ref:`String` string, :ref:`String` language **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_free` **(** :ref:`RID` rid **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_get_features` **(** **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`_get_hex_code_box_size` **(** :ref:`int` size, :ref:`int` index **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_get_name` **(** **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_get_support_data_filename` **(** **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_get_support_data_info` **(** **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_has` **(** :ref:`RID` rid **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_has_feature` **(** :ref:`Feature` feature **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_is_locale_right_to_left` **(** :ref:`String` locale **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_load_support_data` **(** :ref:`String` filename **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_name_to_tag` **(** :ref:`String` name **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_parse_number` **(** :ref:`String` string, :ref:`String` language **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_percent_sign` **(** :ref:`String` language **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_save_support_data` **(** :ref:`String` filename **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_shaped_get_span_count` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Variant` | :ref:`_shaped_get_span_meta` **(** :ref:`RID` shaped, :ref:`int` index **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_shaped_set_span_update_font` **(** :ref:`RID` shaped, :ref:`int` index, :ref:`Array` fonts, :ref:`int` size, :ref:`Dictionary` opentype_features **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_shaped_text_add_object` **(** :ref:`RID` shaped, :ref:`Variant` key, :ref:`Vector2` size, :ref:`InlineAlignment` inline_align, :ref:`int` length **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_shaped_text_add_string` **(** :ref:`RID` shaped, :ref:`String` text, :ref:`Array` fonts, :ref:`int` size, :ref:`Dictionary` opentype_features, :ref:`String` language, :ref:`Variant` meta **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_shaped_text_clear` **(** :ref:`RID` shaped **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_shaped_text_draw` **(** :ref:`RID` shaped, :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`float` clip_l, :ref:`float` clip_r, :ref:`Color` color **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_shaped_text_draw_outline` **(** :ref:`RID` shaped, :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`float` clip_l, :ref:`float` clip_r, :ref:`int` outline_size, :ref:`Color` color **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_shaped_text_fit_to_width` **(** :ref:`RID` shaped, :ref:`float` width, :ref:`int` jst_flags **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_shaped_text_get_ascent` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_shaped_text_get_carets` **(** :ref:`RID` shaped, :ref:`int` position, CaretInfo* caret **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_shaped_text_get_custom_punctuation` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_shaped_text_get_descent` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Direction` | :ref:`_shaped_text_get_direction` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_shaped_text_get_dominant_direction_in_range` **(** :ref:`RID` shaped, :ref:`int` start, :ref:`int` end **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_shaped_text_get_ellipsis_glyph_count` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Glyph* | :ref:`_shaped_text_get_ellipsis_glyphs` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_shaped_text_get_ellipsis_pos` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_shaped_text_get_glyph_count` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Glyph* | :ref:`_shaped_text_get_glyphs` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`_shaped_text_get_grapheme_bounds` **(** :ref:`RID` shaped, :ref:`int` pos **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Direction` | :ref:`_shaped_text_get_inferred_direction` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedInt32Array` | :ref:`_shaped_text_get_line_breaks` **(** :ref:`RID` shaped, :ref:`float` width, :ref:`int` start, :ref:`int` break_flags **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedInt32Array` | :ref:`_shaped_text_get_line_breaks_adv` **(** :ref:`RID` shaped, :ref:`PackedFloat32Array` width, :ref:`int` start, :ref:`bool` once, :ref:`int` break_flags **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Rect2` | :ref:`_shaped_text_get_object_rect` **(** :ref:`RID` shaped, :ref:`Variant` key **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Array` | :ref:`_shaped_text_get_objects` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Orientation` | :ref:`_shaped_text_get_orientation` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`_shaped_text_get_parent` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_shaped_text_get_preserve_control` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_shaped_text_get_preserve_invalid` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2i` | :ref:`_shaped_text_get_range` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedVector2Array` | :ref:`_shaped_text_get_selection` **(** :ref:`RID` shaped, :ref:`int` start, :ref:`int` end **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`Vector2` | :ref:`_shaped_text_get_size` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_shaped_text_get_trim_pos` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_shaped_text_get_underline_position` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_shaped_text_get_underline_thickness` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_shaped_text_get_width` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`PackedInt32Array` | :ref:`_shaped_text_get_word_breaks` **(** :ref:`RID` shaped, :ref:`int` grapheme_flags **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_shaped_text_hit_test_grapheme` **(** :ref:`RID` shaped, :ref:`float` coord **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_shaped_text_hit_test_position` **(** :ref:`RID` shaped, :ref:`float` coord **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_shaped_text_is_ready` **(** :ref:`RID` shaped **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_shaped_text_next_grapheme_pos` **(** :ref:`RID` shaped, :ref:`int` pos **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_shaped_text_overrun_trim_to_width` **(** :ref:`RID` shaped, :ref:`float` width, :ref:`int` trim_flags **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`int` | :ref:`_shaped_text_prev_grapheme_pos` **(** :ref:`RID` shaped, :ref:`int` pos **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_shaped_text_resize_object` **(** :ref:`RID` shaped, :ref:`Variant` key, :ref:`Vector2` size, :ref:`InlineAlignment` inline_align **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_shaped_text_set_bidi_override` **(** :ref:`RID` shaped, :ref:`Array` override **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_shaped_text_set_custom_punctuation` **(** :ref:`RID` shaped, :ref:`String` punct **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_shaped_text_set_direction` **(** :ref:`RID` shaped, :ref:`Direction` direction **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_shaped_text_set_orientation` **(** :ref:`RID` shaped, :ref:`Orientation` orientation **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_shaped_text_set_preserve_control` **(** :ref:`RID` shaped, :ref:`bool` enabled **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | void | :ref:`_shaped_text_set_preserve_invalid` **(** :ref:`RID` shaped, :ref:`bool` enabled **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_shaped_text_shape` **(** :ref:`RID` shaped **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | Glyph* | :ref:`_shaped_text_sort_logical` **(** :ref:`RID` shaped **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`RID` | :ref:`_shaped_text_substr` **(** :ref:`RID` shaped, :ref:`int` start, :ref:`int` length **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`float` | :ref:`_shaped_text_tab_align` **(** :ref:`RID` shaped, :ref:`PackedFloat32Array` tab_stops **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_shaped_text_update_breaks` **(** :ref:`RID` shaped **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`bool` | :ref:`_shaped_text_update_justification_ops` **(** :ref:`RID` shaped **)** |virtual| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_string_to_lower` **(** :ref:`String` string, :ref:`String` language **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_string_to_upper` **(** :ref:`String` string, :ref:`String` language **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ | :ref:`String` | :ref:`_tag_to_name` **(** :ref:`int` tag **)** |virtual| |const| | +-----------------------------------------------------------------+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+ Method Descriptions ------------------- .. _class_TextServerExtension_method__create_font: - :ref:`RID` **_create_font** **(** **)** |virtual| Creates new, empty font cache entry resource. To free the resulting resourec, use :ref:`_free` method. ---- .. _class_TextServerExtension_method__create_shaped_text: - :ref:`RID` **_create_shaped_text** **(** :ref:`Direction` direction, :ref:`Orientation` orientation **)** |virtual| Creates new buffer for complex text layout, with the given ``direction`` and ``orientation``. To free the resulting buffer, use :ref:`_free` method. \ **Note:** Direction is ignored if server does not support ``FEATURE_BIDI_LAYOUT`` feature. \ **Note:** Orientation is ignored if server does not support ``FEATURE_VERTICAL_LAYOUT`` feature. ---- .. _class_TextServerExtension_method__draw_hex_code_box: - void **_draw_hex_code_box** **(** :ref:`RID` canvas, :ref:`int` size, :ref:`Vector2` pos, :ref:`int` index, :ref:`Color` color **)** |virtual| |const| Draws box displaying character hexadecimal code. Used for replacing missing characters. ---- .. _class_TextServerExtension_method__font_clear_glyphs: - void **_font_clear_glyphs** **(** :ref:`RID` font_rid, :ref:`Vector2i` size **)** |virtual| Removes all rendered glyphs information from the cache entry. \ **Note:** This function will not remove textures associated with the glyphs, use :ref:`_font_remove_texture` to remove them manually. ---- .. _class_TextServerExtension_method__font_clear_kerning_map: - void **_font_clear_kerning_map** **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| Removes all kerning overrides. ---- .. _class_TextServerExtension_method__font_clear_size_cache: - void **_font_clear_size_cache** **(** :ref:`RID` font_rid **)** |virtual| Removes all font sizes from the cache entry ---- .. _class_TextServerExtension_method__font_clear_textures: - void **_font_clear_textures** **(** :ref:`RID` font_rid, :ref:`Vector2i` size **)** |virtual| Removes all textures from font cache entry. \ **Note:** This function will not remove glyphs associated with the texture, use :ref:`_font_remove_glyph` to remove them manually. ---- .. _class_TextServerExtension_method__font_draw_glyph: - void **_font_draw_glyph** **(** :ref:`RID` font_rid, :ref:`RID` canvas, :ref:`int` size, :ref:`Vector2` pos, :ref:`int` index, :ref:`Color` color **)** |virtual| |const| Draws single glyph into a canvas item at the position, using ``font_rid`` at the size ``size``. \ **Note:** Glyph index is specific to the font, use glyphs indices returned by :ref:`_shaped_text_get_glyphs` or :ref:`_font_get_glyph_index`. ---- .. _class_TextServerExtension_method__font_draw_glyph_outline: - void **_font_draw_glyph_outline** **(** :ref:`RID` font_rid, :ref:`RID` canvas, :ref:`int` size, :ref:`int` outline_size, :ref:`Vector2` pos, :ref:`int` index, :ref:`Color` color **)** |virtual| |const| Draws single glyph outline of size ``outline_size`` into a canvas item at the position, using ``font_rid`` at the size ``size``. \ **Note:** Glyph index is specific to the font, use glyphs indices returned by :ref:`_shaped_text_get_glyphs` or :ref:`_font_get_glyph_index`. ---- .. _class_TextServerExtension_method__font_get_ascent: - :ref:`float` **_font_get_ascent** **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| Returns the font ascent (number of pixels above the baseline). ---- .. _class_TextServerExtension_method__font_get_descent: - :ref:`float` **_font_get_descent** **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| Returns the font descent (number of pixels below the baseline). ---- .. _class_TextServerExtension_method__font_get_embolden: - :ref:`float` **_font_get_embolden** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns font embolden strength. ---- .. _class_TextServerExtension_method__font_get_fixed_size: - :ref:`int` **_font_get_fixed_size** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns bitmap font fixed size. ---- .. _class_TextServerExtension_method__font_get_global_oversampling: - :ref:`float` **_font_get_global_oversampling** **(** **)** |virtual| |const| Returns the font oversampling factor, shared by all fonts in the TextServer. ---- .. _class_TextServerExtension_method__font_get_glyph_advance: - :ref:`Vector2` **_font_get_glyph_advance** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`int` glyph **)** |virtual| |const| Returns glyph advance (offset of the next glyph). \ **Note:** Advance for glyphs outlines is the same as the base glyph advance and is not saved. ---- .. _class_TextServerExtension_method__font_get_glyph_contours: - :ref:`Dictionary` **_font_get_glyph_contours** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`int` index **)** |virtual| |const| Returns outline contours of the glyph as a ``Dictionary`` with the following contents: \ ``points`` - :ref:`PackedVector3Array`, containing outline points. ``x`` and ``y`` are point coordinates. ``z`` is the type of the point, using the :ref:`ContourPointTag` values. \ ``contours`` - :ref:`PackedInt32Array`, containing indices the end points of each contour. \ ``orientation`` - :ref:`bool`, contour orientation. If ``true``, clockwise contours must be filled. ---- .. _class_TextServerExtension_method__font_get_glyph_index: - :ref:`int` **_font_get_glyph_index** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`int` char, :ref:`int` variation_selector **)** |virtual| |const| Returns the glyph index of a ``char``, optionally modified by the ``variation_selector``. ---- .. _class_TextServerExtension_method__font_get_glyph_list: - :ref:`Array` **_font_get_glyph_list** **(** :ref:`RID` font_rid, :ref:`Vector2i` size **)** |virtual| |const| Returns list of rendered glyphs in the cache entry. ---- .. _class_TextServerExtension_method__font_get_glyph_offset: - :ref:`Vector2` **_font_get_glyph_offset** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph **)** |virtual| |const| Returns glyph offset from the baseline. ---- .. _class_TextServerExtension_method__font_get_glyph_size: - :ref:`Vector2` **_font_get_glyph_size** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph **)** |virtual| |const| Returns size of the glyph. ---- .. _class_TextServerExtension_method__font_get_glyph_texture_idx: - :ref:`int` **_font_get_glyph_texture_idx** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph **)** |virtual| |const| Returns index of the cache texture containing the glyph. ---- .. _class_TextServerExtension_method__font_get_glyph_uv_rect: - :ref:`Rect2` **_font_get_glyph_uv_rect** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph **)** |virtual| |const| Returns rectangle in the cache texture containing the glyph. ---- .. _class_TextServerExtension_method__font_get_hinting: - :ref:`Hinting` **_font_get_hinting** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns the font hinting mode. Used by dynamic fonts only. ---- .. _class_TextServerExtension_method__font_get_kerning: - :ref:`Vector2` **_font_get_kerning** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`Vector2i` glyph_pair **)** |virtual| |const| Returns kerning for the pair of glyphs. ---- .. _class_TextServerExtension_method__font_get_kerning_list: - :ref:`Array` **_font_get_kerning_list** **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| Returns list of the kerning overrides. ---- .. _class_TextServerExtension_method__font_get_language_support_override: - :ref:`bool` **_font_get_language_support_override** **(** :ref:`RID` font_rid, :ref:`String` language **)** |virtual| Returns ``true`` if support override is enabled for the ``language``. ---- .. _class_TextServerExtension_method__font_get_language_support_overrides: - :ref:`PackedStringArray` **_font_get_language_support_overrides** **(** :ref:`RID` font_rid **)** |virtual| Returns list of language support overrides. ---- .. _class_TextServerExtension_method__font_get_msdf_pixel_range: - :ref:`int` **_font_get_msdf_pixel_range** **(** :ref:`RID` font_rid **)** |virtual| |const| Return the width of the range around the shape between the minimum and maximum representable signed distance. ---- .. _class_TextServerExtension_method__font_get_msdf_size: - :ref:`int` **_font_get_msdf_size** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns source font size used to generate MSDF textures. ---- .. _class_TextServerExtension_method__font_get_name: - :ref:`String` **_font_get_name** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns font family name. ---- .. _class_TextServerExtension_method__font_get_opentype_feature_overrides: - :ref:`Dictionary` **_font_get_opentype_feature_overrides** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns font OpenType feature set override. ---- .. _class_TextServerExtension_method__font_get_oversampling: - :ref:`float` **_font_get_oversampling** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns font oversampling factor, if set to ``0.0`` global oversampling factor is used instead. Used by dynamic fonts only. ---- .. _class_TextServerExtension_method__font_get_scale: - :ref:`float` **_font_get_scale** **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| Returns scaling factor of the color bitmap font. ---- .. _class_TextServerExtension_method__font_get_script_support_override: - :ref:`bool` **_font_get_script_support_override** **(** :ref:`RID` font_rid, :ref:`String` script **)** |virtual| Returns ``true`` if support override is enabled for the ``script``. ---- .. _class_TextServerExtension_method__font_get_script_support_overrides: - :ref:`PackedStringArray` **_font_get_script_support_overrides** **(** :ref:`RID` font_rid **)** |virtual| Returns list of script support overrides. ---- .. _class_TextServerExtension_method__font_get_size_cache_list: - :ref:`Array` **_font_get_size_cache_list** **(** :ref:`RID` font_rid **)** |virtual| |const| Return list of the font sizes in the cache. Each size is ``Vector2i`` with font size and outline size. ---- .. _class_TextServerExtension_method__font_get_spacing: - :ref:`int` **_font_get_spacing** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`SpacingType` spacing **)** |virtual| |const| Returns extra spacing added between glyphs in pixels. ---- .. _class_TextServerExtension_method__font_get_style: - :ref:`int` **_font_get_style** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns font style flags, see :ref:`FontStyle`. ---- .. _class_TextServerExtension_method__font_get_style_name: - :ref:`String` **_font_get_style_name** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns font style name. ---- .. _class_TextServerExtension_method__font_get_subpixel_positioning: - :ref:`SubpixelPositioning` **_font_get_subpixel_positioning** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns font sub-pixel glyph positioning mode. ---- .. _class_TextServerExtension_method__font_get_supported_chars: - :ref:`String` **_font_get_supported_chars** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns a string containing all the characters available in the font. ---- .. _class_TextServerExtension_method__font_get_texture_count: - :ref:`int` **_font_get_texture_count** **(** :ref:`RID` font_rid, :ref:`Vector2i` size **)** |virtual| |const| Returns number of textures used by font cache entry. ---- .. _class_TextServerExtension_method__font_get_texture_image: - :ref:`Image` **_font_get_texture_image** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` texture_index **)** |virtual| |const| Returns font cache texture image data. ---- .. _class_TextServerExtension_method__font_get_texture_offsets: - :ref:`PackedInt32Array` **_font_get_texture_offsets** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` texture_index **)** |virtual| |const| Returns array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty. ---- .. _class_TextServerExtension_method__font_get_transform: - :ref:`Transform2D` **_font_get_transform** **(** :ref:`RID` font_rid **)** |virtual| |const| Retruns 2D transform applied to the font outlines. ---- .. _class_TextServerExtension_method__font_get_underline_position: - :ref:`float` **_font_get_underline_position** **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| Returns pixel offset of the underline below the baseline. ---- .. _class_TextServerExtension_method__font_get_underline_thickness: - :ref:`float` **_font_get_underline_thickness** **(** :ref:`RID` font_rid, :ref:`int` size **)** |virtual| |const| Returns thickness of the underline in pixels. ---- .. _class_TextServerExtension_method__font_get_variation_coordinates: - :ref:`Dictionary` **_font_get_variation_coordinates** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns variation coordinates for the specified font cache entry. See :ref:`_font_supported_variation_list` for more info. ---- .. _class_TextServerExtension_method__font_has_char: - :ref:`bool` **_font_has_char** **(** :ref:`RID` font_rid, :ref:`int` char **)** |virtual| |const| Return ``true`` if a Unicode ``char`` is available in the font. ---- .. _class_TextServerExtension_method__font_is_antialiased: - :ref:`bool` **_font_is_antialiased** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns ``true`` if font 8-bit anitialiased glyph rendering is supported and enabled. ---- .. _class_TextServerExtension_method__font_is_force_autohinter: - :ref:`bool` **_font_is_force_autohinter** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns ``true`` if auto-hinting is supported and preferred over font built-in hinting. Used by dynamic fonts only. ---- .. _class_TextServerExtension_method__font_is_language_supported: - :ref:`bool` **_font_is_language_supported** **(** :ref:`RID` font_rid, :ref:`String` language **)** |virtual| |const| Returns ``true``, if font supports given language (`ISO 639 `__ code). ---- .. _class_TextServerExtension_method__font_is_multichannel_signed_distance_field: - :ref:`bool` **_font_is_multichannel_signed_distance_field** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns ``true`` if glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data. ---- .. _class_TextServerExtension_method__font_is_script_supported: - :ref:`bool` **_font_is_script_supported** **(** :ref:`RID` font_rid, :ref:`String` script **)** |virtual| |const| Returns ``true``, if font supports given script (ISO 15924 code). ---- .. _class_TextServerExtension_method__font_remove_glyph: - void **_font_remove_glyph** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph **)** |virtual| Removes specified rendered glyph information from the cache entry. \ **Note:** This function will not remove textures associated with the glyphs, use :ref:`_font_remove_texture` to remove them manually. ---- .. _class_TextServerExtension_method__font_remove_kerning: - void **_font_remove_kerning** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`Vector2i` glyph_pair **)** |virtual| Removes kerning override for the pair of glyphs. ---- .. _class_TextServerExtension_method__font_remove_language_support_override: - void **_font_remove_language_support_override** **(** :ref:`RID` font_rid, :ref:`String` language **)** |virtual| Remove language support override. ---- .. _class_TextServerExtension_method__font_remove_script_support_override: - void **_font_remove_script_support_override** **(** :ref:`RID` font_rid, :ref:`String` script **)** |virtual| Removes script support override. ---- .. _class_TextServerExtension_method__font_remove_size_cache: - void **_font_remove_size_cache** **(** :ref:`RID` font_rid, :ref:`Vector2i` size **)** |virtual| Removes specified font size from the cache entry. ---- .. _class_TextServerExtension_method__font_remove_texture: - void **_font_remove_texture** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` texture_index **)** |virtual| Removes specified texture from font cache entry. \ **Note:** This function will not remove glyphs associated with the texture, remove them manually, using :ref:`_font_remove_glyph`. ---- .. _class_TextServerExtension_method__font_render_glyph: - void **_font_render_glyph** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` index **)** |virtual| Renders specified glyph the the font cache texture. ---- .. _class_TextServerExtension_method__font_render_range: - void **_font_render_range** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` start, :ref:`int` end **)** |virtual| Renders the range of characters to the font cache texture. ---- .. _class_TextServerExtension_method__font_set_antialiased: - void **_font_set_antialiased** **(** :ref:`RID` font_rid, :ref:`bool` antialiased **)** |virtual| If set to ``true``, 8-bit antialiased glyph rendering is used, otherwise 1-bit rendering is used. Used by dynamic fonts only. ---- .. _class_TextServerExtension_method__font_set_ascent: - void **_font_set_ascent** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`float` ascent **)** |virtual| Sets the font ascent (number of pixels above the baseline). ---- .. _class_TextServerExtension_method__font_set_data: - void **_font_set_data** **(** :ref:`RID` font_rid, :ref:`PackedByteArray` data **)** |virtual| Sets font source data, e.g contents of the dynamic font source file. ---- .. _class_TextServerExtension_method__font_set_data_ptr: - void **_font_set_data_ptr** **(** :ref:`RID` font_rid, const uint8_t* data_ptr, :ref:`int` data_size **)** |virtual| Sets the font descent (number of pixels below the baseline). ---- .. _class_TextServerExtension_method__font_set_descent: - void **_font_set_descent** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`float` descent **)** |virtual| Sets bitmap font fixed size. If set to value greater than zero, same cache entry will be used for all font sizes. ---- .. _class_TextServerExtension_method__font_set_embolden: - void **_font_set_embolden** **(** :ref:`RID` font_rid, :ref:`float` strength **)** |virtual| Sets font embolden strength. If ``strength`` is not equal to zero, emboldens the font outlines. Negative values reduce the outline thickness. ---- .. _class_TextServerExtension_method__font_set_fixed_size: - void **_font_set_fixed_size** **(** :ref:`RID` font_rid, :ref:`int` fixed_size **)** |virtual| If set to ``true`` auto-hinting is preferred over font built-in hinting. ---- .. _class_TextServerExtension_method__font_set_force_autohinter: - void **_font_set_force_autohinter** **(** :ref:`RID` font_rid, :ref:`bool` force_autohinter **)** |virtual| If set to ``true`` auto-hinting is preferred over font built-in hinting. ---- .. _class_TextServerExtension_method__font_set_global_oversampling: - void **_font_set_global_oversampling** **(** :ref:`float` oversampling **)** |virtual| Sets oversampling factor, shared by all font in the TextServer. \ **Note:** This value can be automatically changed by display server. ---- .. _class_TextServerExtension_method__font_set_glyph_advance: - void **_font_set_glyph_advance** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`int` glyph, :ref:`Vector2` advance **)** |virtual| Sets glyph advance (offset of the next glyph). \ **Note:** Advance for glyphs outlines is the same as the base glyph advance and is not saved. ---- .. _class_TextServerExtension_method__font_set_glyph_offset: - void **_font_set_glyph_offset** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph, :ref:`Vector2` offset **)** |virtual| Sets glyph offset from the baseline. ---- .. _class_TextServerExtension_method__font_set_glyph_size: - void **_font_set_glyph_size** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph, :ref:`Vector2` gl_size **)** |virtual| Sets size of the glyph. ---- .. _class_TextServerExtension_method__font_set_glyph_texture_idx: - void **_font_set_glyph_texture_idx** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph, :ref:`int` texture_idx **)** |virtual| Sets index of the cache texture containing the glyph. ---- .. _class_TextServerExtension_method__font_set_glyph_uv_rect: - void **_font_set_glyph_uv_rect** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` glyph, :ref:`Rect2` uv_rect **)** |virtual| Sets rectangle in the cache texture containing the glyph. ---- .. _class_TextServerExtension_method__font_set_hinting: - void **_font_set_hinting** **(** :ref:`RID` font_rid, :ref:`Hinting` hinting **)** |virtual| Sets font hinting mode. Used by dynamic fonts only. ---- .. _class_TextServerExtension_method__font_set_kerning: - void **_font_set_kerning** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`Vector2i` glyph_pair, :ref:`Vector2` kerning **)** |virtual| Sets kerning for the pair of glyphs. ---- .. _class_TextServerExtension_method__font_set_language_support_override: - void **_font_set_language_support_override** **(** :ref:`RID` font_rid, :ref:`String` language, :ref:`bool` supported **)** |virtual| Adds override for :ref:`_font_is_language_supported`. ---- .. _class_TextServerExtension_method__font_set_msdf_pixel_range: - void **_font_set_msdf_pixel_range** **(** :ref:`RID` font_rid, :ref:`int` msdf_pixel_range **)** |virtual| Sets the width of the range around the shape between the minimum and maximum representable signed distance. ---- .. _class_TextServerExtension_method__font_set_msdf_size: - void **_font_set_msdf_size** **(** :ref:`RID` font_rid, :ref:`int` msdf_size **)** |virtual| Sets source font size used to generate MSDF textures. ---- .. _class_TextServerExtension_method__font_set_multichannel_signed_distance_field: - void **_font_set_multichannel_signed_distance_field** **(** :ref:`RID` font_rid, :ref:`bool` msdf **)** |virtual| If set to ``true``, glyphs of all sizes are rendered using single multichannel signed distance field generated from the dynamic font vector data. ---- .. _class_TextServerExtension_method__font_set_name: - void **_font_set_name** **(** :ref:`RID` font_rid, :ref:`String` name **)** |virtual| Sets the font family name. ---- .. _class_TextServerExtension_method__font_set_opentype_feature_overrides: - void **_font_set_opentype_feature_overrides** **(** :ref:`RID` font_rid, :ref:`Dictionary` overrides **)** |virtual| Sets font OpenType feature set override. ---- .. _class_TextServerExtension_method__font_set_oversampling: - void **_font_set_oversampling** **(** :ref:`RID` font_rid, :ref:`float` oversampling **)** |virtual| Sets font oversampling factor, if set to ``0.0`` global oversampling factor is used instead. Used by dynamic fonts only. ---- .. _class_TextServerExtension_method__font_set_scale: - void **_font_set_scale** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`float` scale **)** |virtual| Sets scaling factor of the color bitmap font. ---- .. _class_TextServerExtension_method__font_set_script_support_override: - void **_font_set_script_support_override** **(** :ref:`RID` font_rid, :ref:`String` script, :ref:`bool` supported **)** |virtual| Adds override for :ref:`_font_is_script_supported`. ---- .. _class_TextServerExtension_method__font_set_spacing: - void **_font_set_spacing** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`SpacingType` spacing, :ref:`int` value **)** |virtual| Sets extra spacing added between glyphs in pixels. ---- .. _class_TextServerExtension_method__font_set_style: - void **_font_set_style** **(** :ref:`RID` font_rid, :ref:`int` style **)** |virtual| Sets the font style flags, see :ref:`FontStyle`. ---- .. _class_TextServerExtension_method__font_set_style_name: - void **_font_set_style_name** **(** :ref:`RID` font_rid, :ref:`String` name_style **)** |virtual| Sets the font style name. ---- .. _class_TextServerExtension_method__font_set_subpixel_positioning: - void **_font_set_subpixel_positioning** **(** :ref:`RID` font_rid, :ref:`SubpixelPositioning` subpixel_positioning **)** |virtual| Sets font sub-pixel glyph positioning mode. ---- .. _class_TextServerExtension_method__font_set_texture_image: - void **_font_set_texture_image** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` texture_index, :ref:`Image` image **)** |virtual| Sets font cache texture image data. ---- .. _class_TextServerExtension_method__font_set_texture_offsets: - void **_font_set_texture_offsets** **(** :ref:`RID` font_rid, :ref:`Vector2i` size, :ref:`int` texture_index, :ref:`PackedInt32Array` offset **)** |virtual| Sets array containing the first free pixel in the each column of texture. Should be the same size as texture width or empty. ---- .. _class_TextServerExtension_method__font_set_transform: - void **_font_set_transform** **(** :ref:`RID` font_rid, :ref:`Transform2D` transform **)** |virtual| Sets 2D transform, applied to the font outlines, can be used for slanting, flipping and rotating glyphs. For example, to simulate italic typeface by slanting, apply the following transform ``Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0)``. ---- .. _class_TextServerExtension_method__font_set_underline_position: - void **_font_set_underline_position** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`float` underline_position **)** |virtual| Sets pixel offset of the underline below the baseline. ---- .. _class_TextServerExtension_method__font_set_underline_thickness: - void **_font_set_underline_thickness** **(** :ref:`RID` font_rid, :ref:`int` size, :ref:`float` underline_thickness **)** |virtual| Sets thickness of the underline in pixels. ---- .. _class_TextServerExtension_method__font_set_variation_coordinates: - void **_font_set_variation_coordinates** **(** :ref:`RID` font_rid, :ref:`Dictionary` variation_coordinates **)** |virtual| Sets variation coordinates for the specified font cache entry. See :ref:`_font_supported_variation_list` for more info. ---- .. _class_TextServerExtension_method__font_supported_feature_list: - :ref:`Dictionary` **_font_supported_feature_list** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns the dictionary of the supported OpenType features. ---- .. _class_TextServerExtension_method__font_supported_variation_list: - :ref:`Dictionary` **_font_supported_variation_list** **(** :ref:`RID` font_rid **)** |virtual| |const| Returns the dictionary of the supported OpenType variation coordinates. ---- .. _class_TextServerExtension_method__format_number: - :ref:`String` **_format_number** **(** :ref:`String` string, :ref:`String` language **)** |virtual| |const| Converts a number from the Western Arabic (0..9) to the numeral systems used in ``language``. ---- .. _class_TextServerExtension_method__free: - void **_free** **(** :ref:`RID` rid **)** |virtual| Frees an object created by this :ref:`TextServer`. ---- .. _class_TextServerExtension_method__get_features: - :ref:`int` **_get_features** **(** **)** |virtual| |const| Returns text server features, see :ref:`Feature`. ---- .. _class_TextServerExtension_method__get_hex_code_box_size: - :ref:`Vector2` **_get_hex_code_box_size** **(** :ref:`int` size, :ref:`int` index **)** |virtual| |const| Returns size of the replacement character (box with character hexadecimal code that is drawn in place of invalid characters). ---- .. _class_TextServerExtension_method__get_name: - :ref:`String` **_get_name** **(** **)** |virtual| |const| Returns the name of the server interface. ---- .. _class_TextServerExtension_method__get_support_data_filename: - :ref:`String` **_get_support_data_filename** **(** **)** |virtual| |const| Returns default TextServer database (e.g. ICU break iterators and dictionaries) filename. ---- .. _class_TextServerExtension_method__get_support_data_info: - :ref:`String` **_get_support_data_info** **(** **)** |virtual| |const| Returns TextServer database (e.g. ICU break iterators and dictionaries) description. ---- .. _class_TextServerExtension_method__has: - :ref:`bool` **_has** **(** :ref:`RID` rid **)** |virtual| Returns ``true`` if ``rid`` is valid resource owned by this text server. ---- .. _class_TextServerExtension_method__has_feature: - :ref:`bool` **_has_feature** **(** :ref:`Feature` feature **)** |virtual| |const| Returns ``true`` if the server supports a feature. ---- .. _class_TextServerExtension_method__is_locale_right_to_left: - :ref:`bool` **_is_locale_right_to_left** **(** :ref:`String` locale **)** |virtual| |const| Returns ``true`` if locale is right-to-left. ---- .. _class_TextServerExtension_method__load_support_data: - :ref:`bool` **_load_support_data** **(** :ref:`String` filename **)** |virtual| Loads optional TextServer database (e.g. ICU break iterators and dictionaries). \ **Note:** This function should be called before any other TextServer functions used, otherwise it won't have any effect. ---- .. _class_TextServerExtension_method__name_to_tag: - :ref:`int` **_name_to_tag** **(** :ref:`String` name **)** |virtual| |const| Converts readable feature, variation, script or language name to OpenType tag. ---- .. _class_TextServerExtension_method__parse_number: - :ref:`String` **_parse_number** **(** :ref:`String` string, :ref:`String` language **)** |virtual| |const| Converts a number from the numeral systems used in ``language`` to Western Arabic (0..9). ---- .. _class_TextServerExtension_method__percent_sign: - :ref:`String` **_percent_sign** **(** :ref:`String` language **)** |virtual| |const| Returns percent sign used in the ``language``. ---- .. _class_TextServerExtension_method__save_support_data: - :ref:`bool` **_save_support_data** **(** :ref:`String` filename **)** |virtual| |const| Saves optional TextServer database (e.g. ICU break iterators and dictionaries) to the file. \ **Note:** This function is used by during project export, to include TextServer database. ---- .. _class_TextServerExtension_method__shaped_get_span_count: - :ref:`int` **_shaped_get_span_count** **(** :ref:`RID` shaped **)** |virtual| |const| Returns number of text spans added using :ref:`_shaped_text_add_string` or :ref:`_shaped_text_add_object`. ---- .. _class_TextServerExtension_method__shaped_get_span_meta: - :ref:`Variant` **_shaped_get_span_meta** **(** :ref:`RID` shaped, :ref:`int` index **)** |virtual| |const| Returns text span metadata. ---- .. _class_TextServerExtension_method__shaped_set_span_update_font: - void **_shaped_set_span_update_font** **(** :ref:`RID` shaped, :ref:`int` index, :ref:`Array` fonts, :ref:`int` size, :ref:`Dictionary` opentype_features **)** |virtual| Changes text span font, font size and OpenType features, without changing the text. ---- .. _class_TextServerExtension_method__shaped_text_add_object: - :ref:`bool` **_shaped_text_add_object** **(** :ref:`RID` shaped, :ref:`Variant` key, :ref:`Vector2` size, :ref:`InlineAlignment` inline_align, :ref:`int` length **)** |virtual| Adds inline object to the text buffer, ``key`` must be unique. In the text, object is represented as ``length`` object replacement characters. ---- .. _class_TextServerExtension_method__shaped_text_add_string: - :ref:`bool` **_shaped_text_add_string** **(** :ref:`RID` shaped, :ref:`String` text, :ref:`Array` fonts, :ref:`int` size, :ref:`Dictionary` opentype_features, :ref:`String` language, :ref:`Variant` meta **)** |virtual| Adds text span and font to draw it to the text buffer. ---- .. _class_TextServerExtension_method__shaped_text_clear: - void **_shaped_text_clear** **(** :ref:`RID` shaped **)** |virtual| Clears text buffer (removes text and inline objects). ---- .. _class_TextServerExtension_method__shaped_text_draw: - void **_shaped_text_draw** **(** :ref:`RID` shaped, :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`float` clip_l, :ref:`float` clip_r, :ref:`Color` color **)** |virtual| |const| 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). ---- .. _class_TextServerExtension_method__shaped_text_draw_outline: - void **_shaped_text_draw_outline** **(** :ref:`RID` shaped, :ref:`RID` canvas, :ref:`Vector2` pos, :ref:`float` clip_l, :ref:`float` clip_r, :ref:`int` outline_size, :ref:`Color` color **)** |virtual| |const| 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). ---- .. _class_TextServerExtension_method__shaped_text_fit_to_width: - :ref:`float` **_shaped_text_fit_to_width** **(** :ref:`RID` shaped, :ref:`float` width, :ref:`int` jst_flags **)** |virtual| Adjusts text with to fit to specified width, returns new text width ---- .. _class_TextServerExtension_method__shaped_text_get_ascent: - :ref:`float` **_shaped_text_get_ascent** **(** :ref:`RID` shaped **)** |virtual| |const| Returns the text ascent (number of pixels above the baseline for horizontal layout or to the left of baseline for vertical). \ **Note:** Overall ascent can be higher than font ascent, if some glyphs are displaced from the baseline. ---- .. _class_TextServerExtension_method__shaped_text_get_carets: - void **_shaped_text_get_carets** **(** :ref:`RID` shaped, :ref:`int` position, CaretInfo* caret **)** |virtual| |const| Returns shapes of the carets corresponding to the character offset ``position`` in the text. Returned caret shape is 1 pixel wide rectangle. ---- .. _class_TextServerExtension_method__shaped_text_get_custom_punctuation: - :ref:`String` **_shaped_text_get_custom_punctuation** **(** :ref:`RID` shaped **)** |virtual| |const| Returns custom punctuation character list, used for word breaking. If set to empty string, server defaults are used. ---- .. _class_TextServerExtension_method__shaped_text_get_descent: - :ref:`float` **_shaped_text_get_descent** **(** :ref:`RID` shaped **)** |virtual| |const| Returns the text descent (number of pixels below the baseline for horizontal layout or to the right of baseline for vertical). \ **Note:** Overall descent can be higher than font descent, if some glyphs are displaced from the baseline. ---- .. _class_TextServerExtension_method__shaped_text_get_direction: - :ref:`Direction` **_shaped_text_get_direction** **(** :ref:`RID` shaped **)** |virtual| |const| Returns direction of the text. ---- .. _class_TextServerExtension_method__shaped_text_get_dominant_direction_in_range: - :ref:`int` **_shaped_text_get_dominant_direction_in_range** **(** :ref:`RID` shaped, :ref:`int` start, :ref:`int` end **)** |virtual| |const| Returns dominant direction of in the range of text. ---- .. _class_TextServerExtension_method__shaped_text_get_ellipsis_glyph_count: - :ref:`int` **_shaped_text_get_ellipsis_glyph_count** **(** :ref:`RID` shaped **)** |virtual| |const| Returns number of glyphs in the ellipsis. ---- .. _class_TextServerExtension_method__shaped_text_get_ellipsis_glyphs: - Glyph* **_shaped_text_get_ellipsis_glyphs** **(** :ref:`RID` shaped **)** |virtual| |const| Returns array of the glyphs in the ellipsis. ---- .. _class_TextServerExtension_method__shaped_text_get_ellipsis_pos: - :ref:`int` **_shaped_text_get_ellipsis_pos** **(** :ref:`RID` shaped **)** |virtual| |const| Returns position of the ellipsis. ---- .. _class_TextServerExtension_method__shaped_text_get_glyph_count: - :ref:`int` **_shaped_text_get_glyph_count** **(** :ref:`RID` shaped **)** |virtual| |const| Returns text glyphs count. ---- .. _class_TextServerExtension_method__shaped_text_get_glyphs: - Glyph* **_shaped_text_get_glyphs** **(** :ref:`RID` shaped **)** |virtual| |const| Copies text glyphs in the visual order, into preallocated array of the size returned by :ref:`_shaped_text_get_glyph_count`. ---- .. _class_TextServerExtension_method__shaped_text_get_grapheme_bounds: - :ref:`Vector2` **_shaped_text_get_grapheme_bounds** **(** :ref:`RID` shaped, :ref:`int` pos **)** |virtual| |const| Returns composite character's bounds as offsets from the start of the line. ---- .. _class_TextServerExtension_method__shaped_text_get_inferred_direction: - :ref:`Direction` **_shaped_text_get_inferred_direction** **(** :ref:`RID` shaped **)** |virtual| |const| Returns direction of the text, inferred by the BiDi algorithm. ---- .. _class_TextServerExtension_method__shaped_text_get_line_breaks: - :ref:`PackedInt32Array` **_shaped_text_get_line_breaks** **(** :ref:`RID` shaped, :ref:`float` width, :ref:`int` start, :ref:`int` break_flags **)** |virtual| |const| Breaks text to the lines and returns character ranges for each line. ---- .. _class_TextServerExtension_method__shaped_text_get_line_breaks_adv: - :ref:`PackedInt32Array` **_shaped_text_get_line_breaks_adv** **(** :ref:`RID` shaped, :ref:`PackedFloat32Array` width, :ref:`int` start, :ref:`bool` once, :ref:`int` break_flags **)** |virtual| |const| Breaks text to the lines and columns. Returns character ranges for each segment. ---- .. _class_TextServerExtension_method__shaped_text_get_object_rect: - :ref:`Rect2` **_shaped_text_get_object_rect** **(** :ref:`RID` shaped, :ref:`Variant` key **)** |virtual| |const| Returns bounding rectangle of the inline object. ---- .. _class_TextServerExtension_method__shaped_text_get_objects: - :ref:`Array` **_shaped_text_get_objects** **(** :ref:`RID` shaped **)** |virtual| |const| Returns array of inline objects. ---- .. _class_TextServerExtension_method__shaped_text_get_orientation: - :ref:`Orientation` **_shaped_text_get_orientation** **(** :ref:`RID` shaped **)** |virtual| |const| Returns text orientation. ---- .. _class_TextServerExtension_method__shaped_text_get_parent: - :ref:`RID` **_shaped_text_get_parent** **(** :ref:`RID` shaped **)** |virtual| |const| Sets text orientation. ---- .. _class_TextServerExtension_method__shaped_text_get_preserve_control: - :ref:`bool` **_shaped_text_get_preserve_control** **(** :ref:`RID` shaped **)** |virtual| |const| Returns ``true`` if text buffer is configured to display control characters. ---- .. _class_TextServerExtension_method__shaped_text_get_preserve_invalid: - :ref:`bool` **_shaped_text_get_preserve_invalid** **(** :ref:`RID` shaped **)** |virtual| |const| Returns ``true`` if text buffer is configured to display hexadecimal codes in place of invalid characters. \ **Note:** If set to ``false``, nothing is displayed in place of invalid characters. ---- .. _class_TextServerExtension_method__shaped_text_get_range: - :ref:`Vector2i` **_shaped_text_get_range** **(** :ref:`RID` shaped **)** |virtual| |const| Returns substring buffer character range in the parent buffer. ---- .. _class_TextServerExtension_method__shaped_text_get_selection: - :ref:`PackedVector2Array` **_shaped_text_get_selection** **(** :ref:`RID` shaped, :ref:`int` start, :ref:`int` end **)** |virtual| |const| Returns selection rectangles for the specified character range. ---- .. _class_TextServerExtension_method__shaped_text_get_size: - :ref:`Vector2` **_shaped_text_get_size** **(** :ref:`RID` shaped **)** |virtual| |const| Returns size of the text. ---- .. _class_TextServerExtension_method__shaped_text_get_trim_pos: - :ref:`int` **_shaped_text_get_trim_pos** **(** :ref:`RID` shaped **)** |virtual| |const| Returns ellipsis and trim positions. ---- .. _class_TextServerExtension_method__shaped_text_get_underline_position: - :ref:`float` **_shaped_text_get_underline_position** **(** :ref:`RID` shaped **)** |virtual| |const| Returns pixel offset of the underline below the baseline. ---- .. _class_TextServerExtension_method__shaped_text_get_underline_thickness: - :ref:`float` **_shaped_text_get_underline_thickness** **(** :ref:`RID` shaped **)** |virtual| |const| Returns thickness of the underline. ---- .. _class_TextServerExtension_method__shaped_text_get_width: - :ref:`float` **_shaped_text_get_width** **(** :ref:`RID` shaped **)** |virtual| |const| Returns width (for horizontal layout) or height (for vertical) of the text. ---- .. _class_TextServerExtension_method__shaped_text_get_word_breaks: - :ref:`PackedInt32Array` **_shaped_text_get_word_breaks** **(** :ref:`RID` shaped, :ref:`int` grapheme_flags **)** |virtual| |const| Breaks text into words and returns array of character ranges. ---- .. _class_TextServerExtension_method__shaped_text_hit_test_grapheme: - :ref:`int` **_shaped_text_hit_test_grapheme** **(** :ref:`RID` shaped, :ref:`float` coord **)** |virtual| |const| Returns grapheme index at the specified pixel offset at the baseline, or ``-1`` if none is found. ---- .. _class_TextServerExtension_method__shaped_text_hit_test_position: - :ref:`int` **_shaped_text_hit_test_position** **(** :ref:`RID` shaped, :ref:`float` coord **)** |virtual| |const| Returns caret character offset at the specified pixel offset at the baseline. This function always returns a valid position. ---- .. _class_TextServerExtension_method__shaped_text_is_ready: - :ref:`bool` **_shaped_text_is_ready** **(** :ref:`RID` shaped **)** |virtual| |const| Returns ``true`` if buffer is successfully shaped. ---- .. _class_TextServerExtension_method__shaped_text_next_grapheme_pos: - :ref:`int` **_shaped_text_next_grapheme_pos** **(** :ref:`RID` shaped, :ref:`int` pos **)** |virtual| |const| Returns composite character end position closest to the ``pos``. ---- .. _class_TextServerExtension_method__shaped_text_overrun_trim_to_width: - void **_shaped_text_overrun_trim_to_width** **(** :ref:`RID` shaped, :ref:`float` width, :ref:`int` trim_flags **)** |virtual| Trims text if it exceeds the given width. ---- .. _class_TextServerExtension_method__shaped_text_prev_grapheme_pos: - :ref:`int` **_shaped_text_prev_grapheme_pos** **(** :ref:`RID` shaped, :ref:`int` pos **)** |virtual| |const| Returns composite character start position closest to the ``pos``. ---- .. _class_TextServerExtension_method__shaped_text_resize_object: - :ref:`bool` **_shaped_text_resize_object** **(** :ref:`RID` shaped, :ref:`Variant` key, :ref:`Vector2` size, :ref:`InlineAlignment` inline_align **)** |virtual| Sets new size and alignment of embedded object. ---- .. _class_TextServerExtension_method__shaped_text_set_bidi_override: - void **_shaped_text_set_bidi_override** **(** :ref:`RID` shaped, :ref:`Array` override **)** |virtual| Overrides BiDi for the structured text. Override ranges should cover full source text without overlaps. BiDi algorithm will be used on each range separately. ---- .. _class_TextServerExtension_method__shaped_text_set_custom_punctuation: - void **_shaped_text_set_custom_punctuation** **(** :ref:`RID` shaped, :ref:`String` punct **)** |virtual| Sets custom punctuation character list, used for word breaking. If set to empty string, server defaults are used. ---- .. _class_TextServerExtension_method__shaped_text_set_direction: - void **_shaped_text_set_direction** **(** :ref:`RID` shaped, :ref:`Direction` direction **)** |virtual| Sets desired text direction. If set to ``TEXT_DIRECTION_AUTO``, direction will be detected based on the buffer contents and current locale. \ **Note:** Direction is ignored if server does not support ``FEATURE_BIDI_LAYOUT`` feature. ---- .. _class_TextServerExtension_method__shaped_text_set_orientation: - void **_shaped_text_set_orientation** **(** :ref:`RID` shaped, :ref:`Orientation` orientation **)** |virtual| Sets desired text orientation. \ **Note:** Orientation is ignored if server does not support ``FEATURE_VERTICAL_LAYOUT`` feature. ---- .. _class_TextServerExtension_method__shaped_text_set_preserve_control: - void **_shaped_text_set_preserve_control** **(** :ref:`RID` shaped, :ref:`bool` enabled **)** |virtual| If set to ``true`` text buffer will display control characters. ---- .. _class_TextServerExtension_method__shaped_text_set_preserve_invalid: - void **_shaped_text_set_preserve_invalid** **(** :ref:`RID` shaped, :ref:`bool` enabled **)** |virtual| If set to ``true`` text buffer will display invalid characters as hexadecimal codes, otherwise nothing is displayed. ---- .. _class_TextServerExtension_method__shaped_text_shape: - :ref:`bool` **_shaped_text_shape** **(** :ref:`RID` shaped **)** |virtual| Shapes buffer if it's not shaped. Returns ``true`` if the string is shaped successfully. \ **Note:** It is not necessary to call this function manually, buffer will be shaped automatically as soon as any of its output data is requested. ---- .. _class_TextServerExtension_method__shaped_text_sort_logical: - Glyph* **_shaped_text_sort_logical** **(** :ref:`RID` shaped **)** |virtual| Copies text glyphs in the logical order, into preallocated array of the size returned by :ref:`_shaped_text_get_glyph_count`. ---- .. _class_TextServerExtension_method__shaped_text_substr: - :ref:`RID` **_shaped_text_substr** **(** :ref:`RID` shaped, :ref:`int` start, :ref:`int` length **)** |virtual| |const| Returns text buffer for the substring of the text in the ``shaped`` text buffer (including inline objects). ---- .. _class_TextServerExtension_method__shaped_text_tab_align: - :ref:`float` **_shaped_text_tab_align** **(** :ref:`RID` shaped, :ref:`PackedFloat32Array` tab_stops **)** |virtual| Aligns shaped text to the given tab-stops. ---- .. _class_TextServerExtension_method__shaped_text_update_breaks: - :ref:`bool` **_shaped_text_update_breaks** **(** :ref:`RID` shaped **)** |virtual| Updates line and word breaks. ---- .. _class_TextServerExtension_method__shaped_text_update_justification_ops: - :ref:`bool` **_shaped_text_update_justification_ops** **(** :ref:`RID` shaped **)** |virtual| Updates justification opportunities (spaces, kashidas, etc.). ---- .. _class_TextServerExtension_method__string_to_lower: - :ref:`String` **_string_to_lower** **(** :ref:`String` string, :ref:`String` language **)** |virtual| |const| Returns the string converted to lowercase. Casing is locale dependent and context sensitive. The result may be longer or shorter than the original. ---- .. _class_TextServerExtension_method__string_to_upper: - :ref:`String` **_string_to_upper** **(** :ref:`String` string, :ref:`String` language **)** |virtual| |const| Returns the string converted to uppercase. Casing is locale dependent and context sensitive. The result may be longer or shorter than the original. ---- .. _class_TextServerExtension_method__tag_to_name: - :ref:`String` **_tag_to_name** **(** :ref:`int` tag **)** |virtual| |const| 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.)`