#include "text_server_adv.h"
#ifdef GDEXTENSION
#include <godot_cpp/classes/file_access.hpp>
#include <godot_cpp/classes/os.hpp>
#include <godot_cpp/classes/project_settings.hpp>
#include <godot_cpp/classes/rendering_server.hpp>
#include <godot_cpp/classes/translation_server.hpp>
#include <godot_cpp/core/error_macros.hpp>
using namespace godot;
#define GLOBAL_GET …
#elif defined(GODOT_MODULE)
#include "core/config/project_settings.h"
#include "core/error/error_macros.h"
#include "core/object/worker_thread_pool.h"
#include "core/string/print_string.h"
#include "core/string/translation_server.h"
#include "scene/resources/image_texture.h"
#include "modules/modules_enabled.gen.h"
#endif
#ifdef ICU_STATIC_DATA
#include "icudata.gen.h"
#endif
#ifdef MODULE_MSDFGEN_ENABLED
#ifdef _MSC_VER
#pragma warning(disable : 4458)
#endif
#include <core/ShapeDistanceFinder.h>
#include <core/contour-combiners.h>
#include <core/edge-selectors.h>
#include <msdfgen.h>
#ifdef _MSC_VER
#pragma warning(default : 4458)
#endif
#endif
#ifdef MODULE_SVG_ENABLED
#ifdef MODULE_FREETYPE_ENABLED
#include "thorvg_svg_in_ot.h"
#endif
#endif
hb_font_funcs_t *TextServerAdvanced::funcs = …;
TextServerAdvanced::bmp_font_t *TextServerAdvanced::_bmp_font_create(TextServerAdvanced::FontForSizeAdvanced *p_face, bool p_unref) { … }
void TextServerAdvanced::_bmp_font_destroy(void *p_data) { … }
hb_bool_t TextServerAdvanced::_bmp_get_nominal_glyph(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_unicode, hb_codepoint_t *r_glyph, void *p_user_data) { … }
hb_position_t TextServerAdvanced::_bmp_get_glyph_h_advance(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_glyph, void *p_user_data) { … }
hb_position_t TextServerAdvanced::_bmp_get_glyph_v_advance(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_glyph, void *p_user_data) { … }
hb_position_t TextServerAdvanced::_bmp_get_glyph_h_kerning(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_left_glyph, hb_codepoint_t p_right_glyph, void *p_user_data) { … }
hb_bool_t TextServerAdvanced::_bmp_get_glyph_v_origin(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_glyph, hb_position_t *r_x, hb_position_t *r_y, void *p_user_data) { … }
hb_bool_t TextServerAdvanced::_bmp_get_glyph_extents(hb_font_t *p_font, void *p_font_data, hb_codepoint_t p_glyph, hb_glyph_extents_t *r_extents, void *p_user_data) { … }
hb_bool_t TextServerAdvanced::_bmp_get_font_h_extents(hb_font_t *p_font, void *p_font_data, hb_font_extents_t *r_metrics, void *p_user_data) { … }
void TextServerAdvanced::_bmp_create_font_funcs() { … }
void TextServerAdvanced::_bmp_free_font_funcs() { … }
void TextServerAdvanced::_bmp_font_set_funcs(hb_font_t *p_font, TextServerAdvanced::FontForSizeAdvanced *p_face, bool p_unref) { … }
hb_font_t *TextServerAdvanced::_bmp_font_create(TextServerAdvanced::FontForSizeAdvanced *p_face, hb_destroy_func_t p_destroy) { … }
_FORCE_INLINE_ bool is_ain(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_alef(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_beh(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_dal(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_feh(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_gaf(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_heh(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_kaf(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_lam(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_qaf(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_reh(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_seen_sad(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_tah(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_teh_marbuta(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_yeh(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_waw(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_transparent(char32_t p_chr) { … }
_FORCE_INLINE_ bool is_ligature(char32_t p_chr, char32_t p_nchr) { … }
_FORCE_INLINE_ bool is_connected_to_prev(char32_t p_chr, char32_t p_pchr) { … }
bool TextServerAdvanced::icu_data_loaded = …;
PackedByteArray TextServerAdvanced::icu_data;
bool TextServerAdvanced::_has_feature(Feature p_feature) const { … }
String TextServerAdvanced::_get_name() const { … }
int64_t TextServerAdvanced::_get_features() const { … }
void TextServerAdvanced::_free_rid(const RID &p_rid) { … }
bool TextServerAdvanced::_has(const RID &p_rid) { … }
bool TextServerAdvanced::_load_support_data(const String &p_filename) { … }
String TextServerAdvanced::_get_support_data_filename() const { … }
String TextServerAdvanced::_get_support_data_info() const { … }
bool TextServerAdvanced::_save_support_data(const String &p_filename) const { … }
bool TextServerAdvanced::_is_locale_right_to_left(const String &p_locale) const { … }
_FORCE_INLINE_ void TextServerAdvanced::_insert_feature(const StringName &p_name, int32_t p_tag, Variant::Type p_vtype, bool p_hidden) { … }
void TextServerAdvanced::_insert_feature_sets() { … }
int64_t TextServerAdvanced::_name_to_tag(const String &p_name) const { … }
Variant::Type TextServerAdvanced::_get_tag_type(int64_t p_tag) const { … }
bool TextServerAdvanced::_get_tag_hidden(int64_t p_tag) const { … }
String TextServerAdvanced::_tag_to_name(int64_t p_tag) const { … }
_FORCE_INLINE_ TextServerAdvanced::FontTexturePosition TextServerAdvanced::find_texture_pos_for_glyph(FontForSizeAdvanced *p_data, int p_color_size, Image::Format p_image_format, int p_width, int p_height, bool p_msdf) const { … }
#ifdef MODULE_MSDFGEN_ENABLED
struct MSContext { … };
class DistancePixelConversion { … };
struct MSDFThreadData { … };
static msdfgen::Point2 ft_point2(const FT_Vector &vector) { … }
static int ft_move_to(const FT_Vector *to, void *user) { … }
static int ft_line_to(const FT_Vector *to, void *user) { … }
static int ft_conic_to(const FT_Vector *control, const FT_Vector *to, void *user) { … }
static int ft_cubic_to(const FT_Vector *control1, const FT_Vector *control2, const FT_Vector *to, void *user) { … }
void TextServerAdvanced::_generateMTSDF_threaded(void *p_td, uint32_t p_y) { … }
_FORCE_INLINE_ TextServerAdvanced::FontGlyph TextServerAdvanced::rasterize_msdf(FontAdvanced *p_font_data, FontForSizeAdvanced *p_data, int p_pixel_range, int p_rect_margin, FT_Outline *p_outline, const Vector2 &p_advance) const { … }
#endif
#ifdef MODULE_FREETYPE_ENABLED
_FORCE_INLINE_ TextServerAdvanced::FontGlyph TextServerAdvanced::rasterize_bitmap(FontForSizeAdvanced *p_data, int p_rect_margin, FT_Bitmap p_bitmap, int p_yofs, int p_xofs, const Vector2 &p_advance, bool p_bgra) const { … }
#endif
_FORCE_INLINE_ bool TextServerAdvanced::_ensure_glyph(FontAdvanced *p_font_data, const Vector2i &p_size, int32_t p_glyph, FontGlyph &r_glyph) const { … }
_FORCE_INLINE_ bool TextServerAdvanced::_ensure_cache_for_size(FontAdvanced *p_font_data, const Vector2i &p_size, FontForSizeAdvanced *&r_cache_for_size) const { … }
_FORCE_INLINE_ void TextServerAdvanced::_font_clear_cache(FontAdvanced *p_font_data) { … }
hb_font_t *TextServerAdvanced::_font_get_hb_handle(const RID &p_font_rid, int64_t p_size) const { … }
RID TextServerAdvanced::_create_font() { … }
RID TextServerAdvanced::_create_font_linked_variation(const RID &p_font_rid) { … }
void TextServerAdvanced::_font_set_data(const RID &p_font_rid, const PackedByteArray &p_data) { … }
void TextServerAdvanced::_font_set_data_ptr(const RID &p_font_rid, const uint8_t *p_data_ptr, int64_t p_data_size) { … }
void TextServerAdvanced::_font_set_face_index(const RID &p_font_rid, int64_t p_face_index) { … }
int64_t TextServerAdvanced::_font_get_face_index(const RID &p_font_rid) const { … }
int64_t TextServerAdvanced::_font_get_face_count(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_style(const RID &p_font_rid, BitField<FontStyle> p_style) { … }
BitField<TextServer::FontStyle> TextServerAdvanced::_font_get_style(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_style_name(const RID &p_font_rid, const String &p_name) { … }
String TextServerAdvanced::_font_get_style_name(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_weight(const RID &p_font_rid, int64_t p_weight) { … }
int64_t TextServerAdvanced::_font_get_weight(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_stretch(const RID &p_font_rid, int64_t p_stretch) { … }
int64_t TextServerAdvanced::_font_get_stretch(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_name(const RID &p_font_rid, const String &p_name) { … }
String TextServerAdvanced::_font_get_name(const RID &p_font_rid) const { … }
Dictionary TextServerAdvanced::_font_get_ot_name_strings(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_antialiasing(const RID &p_font_rid, TextServer::FontAntialiasing p_antialiasing) { … }
TextServer::FontAntialiasing TextServerAdvanced::_font_get_antialiasing(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_disable_embedded_bitmaps(const RID &p_font_rid, bool p_disable_embedded_bitmaps) { … }
bool TextServerAdvanced::_font_get_disable_embedded_bitmaps(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_generate_mipmaps(const RID &p_font_rid, bool p_generate_mipmaps) { … }
bool TextServerAdvanced::_font_get_generate_mipmaps(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_multichannel_signed_distance_field(const RID &p_font_rid, bool p_msdf) { … }
bool TextServerAdvanced::_font_is_multichannel_signed_distance_field(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_msdf_pixel_range(const RID &p_font_rid, int64_t p_msdf_pixel_range) { … }
int64_t TextServerAdvanced::_font_get_msdf_pixel_range(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_msdf_size(const RID &p_font_rid, int64_t p_msdf_size) { … }
int64_t TextServerAdvanced::_font_get_msdf_size(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_fixed_size(const RID &p_font_rid, int64_t p_fixed_size) { … }
int64_t TextServerAdvanced::_font_get_fixed_size(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_fixed_size_scale_mode(const RID &p_font_rid, TextServer::FixedSizeScaleMode p_fixed_size_scale_mode) { … }
TextServer::FixedSizeScaleMode TextServerAdvanced::_font_get_fixed_size_scale_mode(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_allow_system_fallback(const RID &p_font_rid, bool p_allow_system_fallback) { … }
bool TextServerAdvanced::_font_is_allow_system_fallback(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_force_autohinter(const RID &p_font_rid, bool p_force_autohinter) { … }
bool TextServerAdvanced::_font_is_force_autohinter(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_hinting(const RID &p_font_rid, TextServer::Hinting p_hinting) { … }
TextServer::Hinting TextServerAdvanced::_font_get_hinting(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_subpixel_positioning(const RID &p_font_rid, TextServer::SubpixelPositioning p_subpixel) { … }
TextServer::SubpixelPositioning TextServerAdvanced::_font_get_subpixel_positioning(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_embolden(const RID &p_font_rid, double p_strength) { … }
double TextServerAdvanced::_font_get_embolden(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_spacing(const RID &p_font_rid, SpacingType p_spacing, int64_t p_value) { … }
int64_t TextServerAdvanced::_font_get_spacing(const RID &p_font_rid, SpacingType p_spacing) const { … }
void TextServerAdvanced::_font_set_baseline_offset(const RID &p_font_rid, double p_baseline_offset) { … }
double TextServerAdvanced::_font_get_baseline_offset(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_transform(const RID &p_font_rid, const Transform2D &p_transform) { … }
Transform2D TextServerAdvanced::_font_get_transform(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_variation_coordinates(const RID &p_font_rid, const Dictionary &p_variation_coordinates) { … }
Dictionary TextServerAdvanced::_font_get_variation_coordinates(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_set_oversampling(const RID &p_font_rid, double p_oversampling) { … }
double TextServerAdvanced::_font_get_oversampling(const RID &p_font_rid) const { … }
TypedArray<Vector2i> TextServerAdvanced::_font_get_size_cache_list(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_clear_size_cache(const RID &p_font_rid) { … }
void TextServerAdvanced::_font_remove_size_cache(const RID &p_font_rid, const Vector2i &p_size) { … }
void TextServerAdvanced::_font_set_ascent(const RID &p_font_rid, int64_t p_size, double p_ascent) { … }
double TextServerAdvanced::_font_get_ascent(const RID &p_font_rid, int64_t p_size) const { … }
void TextServerAdvanced::_font_set_descent(const RID &p_font_rid, int64_t p_size, double p_descent) { … }
double TextServerAdvanced::_font_get_descent(const RID &p_font_rid, int64_t p_size) const { … }
void TextServerAdvanced::_font_set_underline_position(const RID &p_font_rid, int64_t p_size, double p_underline_position) { … }
double TextServerAdvanced::_font_get_underline_position(const RID &p_font_rid, int64_t p_size) const { … }
void TextServerAdvanced::_font_set_underline_thickness(const RID &p_font_rid, int64_t p_size, double p_underline_thickness) { … }
double TextServerAdvanced::_font_get_underline_thickness(const RID &p_font_rid, int64_t p_size) const { … }
void TextServerAdvanced::_font_set_scale(const RID &p_font_rid, int64_t p_size, double p_scale) { … }
double TextServerAdvanced::_font_get_scale(const RID &p_font_rid, int64_t p_size) const { … }
int64_t TextServerAdvanced::_font_get_texture_count(const RID &p_font_rid, const Vector2i &p_size) const { … }
void TextServerAdvanced::_font_clear_textures(const RID &p_font_rid, const Vector2i &p_size) { … }
void TextServerAdvanced::_font_remove_texture(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) { … }
void TextServerAdvanced::_font_set_texture_image(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index, const Ref<Image> &p_image) { … }
Ref<Image> TextServerAdvanced::_font_get_texture_image(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) const { … }
void TextServerAdvanced::_font_set_texture_offsets(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index, const PackedInt32Array &p_offsets) { … }
PackedInt32Array TextServerAdvanced::_font_get_texture_offsets(const RID &p_font_rid, const Vector2i &p_size, int64_t p_texture_index) const { … }
PackedInt32Array TextServerAdvanced::_font_get_glyph_list(const RID &p_font_rid, const Vector2i &p_size) const { … }
void TextServerAdvanced::_font_clear_glyphs(const RID &p_font_rid, const Vector2i &p_size) { … }
void TextServerAdvanced::_font_remove_glyph(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) { … }
double TextServerAdvanced::_get_extra_advance(RID p_font_rid, int p_font_size) const { … }
Vector2 TextServerAdvanced::_font_get_glyph_advance(const RID &p_font_rid, int64_t p_size, int64_t p_glyph) const { … }
void TextServerAdvanced::_font_set_glyph_advance(const RID &p_font_rid, int64_t p_size, int64_t p_glyph, const Vector2 &p_advance) { … }
Vector2 TextServerAdvanced::_font_get_glyph_offset(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const { … }
void TextServerAdvanced::_font_set_glyph_offset(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, const Vector2 &p_offset) { … }
Vector2 TextServerAdvanced::_font_get_glyph_size(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const { … }
void TextServerAdvanced::_font_set_glyph_size(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, const Vector2 &p_gl_size) { … }
Rect2 TextServerAdvanced::_font_get_glyph_uv_rect(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const { … }
void TextServerAdvanced::_font_set_glyph_uv_rect(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, const Rect2 &p_uv_rect) { … }
int64_t TextServerAdvanced::_font_get_glyph_texture_idx(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const { … }
void TextServerAdvanced::_font_set_glyph_texture_idx(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph, int64_t p_texture_idx) { … }
RID TextServerAdvanced::_font_get_glyph_texture_rid(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const { … }
Size2 TextServerAdvanced::_font_get_glyph_texture_size(const RID &p_font_rid, const Vector2i &p_size, int64_t p_glyph) const { … }
Dictionary TextServerAdvanced::_font_get_glyph_contours(const RID &p_font_rid, int64_t p_size, int64_t p_index) const { … }
TypedArray<Vector2i> TextServerAdvanced::_font_get_kerning_list(const RID &p_font_rid, int64_t p_size) const { … }
void TextServerAdvanced::_font_clear_kerning_map(const RID &p_font_rid, int64_t p_size) { … }
void TextServerAdvanced::_font_remove_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair) { … }
void TextServerAdvanced::_font_set_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair, const Vector2 &p_kerning) { … }
Vector2 TextServerAdvanced::_font_get_kerning(const RID &p_font_rid, int64_t p_size, const Vector2i &p_glyph_pair) const { … }
int64_t TextServerAdvanced::_font_get_glyph_index(const RID &p_font_rid, int64_t p_size, int64_t p_char, int64_t p_variation_selector) const { … }
int64_t TextServerAdvanced::_font_get_char_from_glyph_index(const RID &p_font_rid, int64_t p_size, int64_t p_glyph_index) const { … }
bool TextServerAdvanced::_font_has_char(const RID &p_font_rid, int64_t p_char) const { … }
String TextServerAdvanced::_font_get_supported_chars(const RID &p_font_rid) const { … }
PackedInt32Array TextServerAdvanced::_font_get_supported_glyphs(const RID &p_font_rid) const { … }
void TextServerAdvanced::_font_render_range(const RID &p_font_rid, const Vector2i &p_size, int64_t p_start, int64_t p_end) { … }
void TextServerAdvanced::_font_render_glyph(const RID &p_font_rid, const Vector2i &p_size, int64_t p_index) { … }
void TextServerAdvanced::_font_draw_glyph(const RID &p_font_rid, const RID &p_canvas, int64_t p_size, const Vector2 &p_pos, int64_t p_index, const Color &p_color) const { … }
void TextServerAdvanced::_font_draw_glyph_outline(const RID &p_font_rid, const RID &p_canvas, int64_t p_size, int64_t p_outline_size, const Vector2 &p_pos, int64_t p_index, const Color &p_color) const { … }
bool TextServerAdvanced::_font_is_language_supported(const RID &p_font_rid, const String &p_language) const { … }
void TextServerAdvanced::_font_set_language_support_override(const RID &p_font_rid, const String &p_language, bool p_supported) { … }
bool TextServerAdvanced::_font_get_language_support_override(const RID &p_font_rid, const String &p_language) { … }
void TextServerAdvanced::_font_remove_language_support_override(const RID &p_font_rid, const String &p_language) { … }
PackedStringArray TextServerAdvanced::_font_get_language_support_overrides(const RID &p_font_rid) { … }
bool TextServerAdvanced::_font_is_script_supported(const RID &p_font_rid, const String &p_script) const { … }
void TextServerAdvanced::_font_set_script_support_override(const RID &p_font_rid, const String &p_script, bool p_supported) { … }
bool TextServerAdvanced::_font_get_script_support_override(const RID &p_font_rid, const String &p_script) { … }
void TextServerAdvanced::_font_remove_script_support_override(const RID &p_font_rid, const String &p_script) { … }
PackedStringArray TextServerAdvanced::_font_get_script_support_overrides(const RID &p_font_rid) { … }
void TextServerAdvanced::_font_set_opentype_feature_overrides(const RID &p_font_rid, const Dictionary &p_overrides) { … }
Dictionary TextServerAdvanced::_font_get_opentype_feature_overrides(const RID &p_font_rid) const { … }
Dictionary TextServerAdvanced::_font_supported_feature_list(const RID &p_font_rid) const { … }
Dictionary TextServerAdvanced::_font_supported_variation_list(const RID &p_font_rid) const { … }
double TextServerAdvanced::_font_get_global_oversampling() const { … }
void TextServerAdvanced::_font_set_global_oversampling(double p_oversampling) { … }
int64_t TextServerAdvanced::_convert_pos(const String &p_utf32, const Char16String &p_utf16, int64_t p_pos) const { … }
int64_t TextServerAdvanced::_convert_pos(const ShapedTextDataAdvanced *p_sd, int64_t p_pos) const { … }
int64_t TextServerAdvanced::_convert_pos_inv(const ShapedTextDataAdvanced *p_sd, int64_t p_pos) const { … }
void TextServerAdvanced::invalidate(TextServerAdvanced::ShapedTextDataAdvanced *p_shaped, bool p_text) { … }
void TextServerAdvanced::full_copy(ShapedTextDataAdvanced *p_shaped) { … }
RID TextServerAdvanced::_create_shaped_text(TextServer::Direction p_direction, TextServer::Orientation p_orientation) { … }
void TextServerAdvanced::_shaped_text_clear(const RID &p_shaped) { … }
void TextServerAdvanced::_shaped_text_set_direction(const RID &p_shaped, TextServer::Direction p_direction) { … }
TextServer::Direction TextServerAdvanced::_shaped_text_get_direction(const RID &p_shaped) const { … }
TextServer::Direction TextServerAdvanced::_shaped_text_get_inferred_direction(const RID &p_shaped) const { … }
void TextServerAdvanced::_shaped_text_set_custom_punctuation(const RID &p_shaped, const String &p_punct) { … }
String TextServerAdvanced::_shaped_text_get_custom_punctuation(const RID &p_shaped) const { … }
void TextServerAdvanced::_shaped_text_set_custom_ellipsis(const RID &p_shaped, int64_t p_char) { … }
int64_t TextServerAdvanced::_shaped_text_get_custom_ellipsis(const RID &p_shaped) const { … }
void TextServerAdvanced::_shaped_text_set_bidi_override(const RID &p_shaped, const Array &p_override) { … }
void TextServerAdvanced::_shaped_text_set_orientation(const RID &p_shaped, TextServer::Orientation p_orientation) { … }
void TextServerAdvanced::_shaped_text_set_preserve_invalid(const RID &p_shaped, bool p_enabled) { … }
bool TextServerAdvanced::_shaped_text_get_preserve_invalid(const RID &p_shaped) const { … }
void TextServerAdvanced::_shaped_text_set_preserve_control(const RID &p_shaped, bool p_enabled) { … }
bool TextServerAdvanced::_shaped_text_get_preserve_control(const RID &p_shaped) const { … }
void TextServerAdvanced::_shaped_text_set_spacing(const RID &p_shaped, SpacingType p_spacing, int64_t p_value) { … }
int64_t TextServerAdvanced::_shaped_text_get_spacing(const RID &p_shaped, SpacingType p_spacing) const { … }
TextServer::Orientation TextServerAdvanced::_shaped_text_get_orientation(const RID &p_shaped) const { … }
int64_t TextServerAdvanced::_shaped_get_span_count(const RID &p_shaped) const { … }
Variant TextServerAdvanced::_shaped_get_span_meta(const RID &p_shaped, int64_t p_index) const { … }
void TextServerAdvanced::_shaped_set_span_update_font(const RID &p_shaped, int64_t p_index, const TypedArray<RID> &p_fonts, int64_t p_size, const Dictionary &p_opentype_features) { … }
bool TextServerAdvanced::_shaped_text_add_string(const RID &p_shaped, const String &p_text, const TypedArray<RID> &p_fonts, int64_t p_size, const Dictionary &p_opentype_features, const String &p_language, const Variant &p_meta) { … }
bool TextServerAdvanced::_shaped_text_add_object(const RID &p_shaped, const Variant &p_key, const Size2 &p_size, InlineAlignment p_inline_align, int64_t p_length, double p_baseline) { … }
bool TextServerAdvanced::_shaped_text_resize_object(const RID &p_shaped, const Variant &p_key, const Size2 &p_size, InlineAlignment p_inline_align, double p_baseline) { … }
void TextServerAdvanced::_realign(ShapedTextDataAdvanced *p_sd) const { … }
RID TextServerAdvanced::_shaped_text_substr(const RID &p_shaped, int64_t p_start, int64_t p_length) const { … }
bool TextServerAdvanced::_shape_substr(ShapedTextDataAdvanced *p_new_sd, const ShapedTextDataAdvanced *p_sd, int64_t p_start, int64_t p_length) const { … }
RID TextServerAdvanced::_shaped_text_get_parent(const RID &p_shaped) const { … }
double TextServerAdvanced::_shaped_text_fit_to_width(const RID &p_shaped, double p_width, BitField<TextServer::JustificationFlag> p_jst_flags) { … }
double TextServerAdvanced::_shaped_text_tab_align(const RID &p_shaped, const PackedFloat32Array &p_tab_stops) { … }
RID TextServerAdvanced::_find_sys_font_for_text(const RID &p_fdef, const String &p_script_code, const String &p_language, const String &p_text) { … }
void TextServerAdvanced::_shaped_text_overrun_trim_to_width(const RID &p_shaped_line, double p_width, BitField<TextServer::TextOverrunFlag> p_trim_flags) { … }
int64_t TextServerAdvanced::_shaped_text_get_trim_pos(const RID &p_shaped) const { … }
int64_t TextServerAdvanced::_shaped_text_get_ellipsis_pos(const RID &p_shaped) const { … }
const Glyph *TextServerAdvanced::_shaped_text_get_ellipsis_glyphs(const RID &p_shaped) const { … }
int64_t TextServerAdvanced::_shaped_text_get_ellipsis_glyph_count(const RID &p_shaped) const { … }
void TextServerAdvanced::_update_chars(ShapedTextDataAdvanced *p_sd) const { … }
PackedInt32Array TextServerAdvanced::_shaped_text_get_character_breaks(const RID &p_shaped) const { … }
bool TextServerAdvanced::_shaped_text_update_breaks(const RID &p_shaped) { … }
_FORCE_INLINE_ int64_t _generate_kashida_justification_opportunies(const String &p_data, int64_t p_start, int64_t p_end) { … }
bool TextServerAdvanced::_shaped_text_update_justification_ops(const RID &p_shaped) { … }
Glyph TextServerAdvanced::_shape_single_glyph(ShapedTextDataAdvanced *p_sd, char32_t p_char, hb_script_t p_script, hb_direction_t p_direction, const RID &p_font, int64_t p_font_size) { … }
_FORCE_INLINE_ void TextServerAdvanced::_add_featuers(const Dictionary &p_source, Vector<hb_feature_t> &r_ftrs) { … }
void TextServerAdvanced::_shape_run(ShapedTextDataAdvanced *p_sd, int64_t p_start, int64_t p_end, hb_script_t p_script, hb_direction_t p_direction, TypedArray<RID> p_fonts, int64_t p_span, int64_t p_fb_index, int64_t p_prev_start, int64_t p_prev_end, RID p_prev_font) { … }
bool TextServerAdvanced::_shaped_text_shape(const RID &p_shaped) { … }
bool TextServerAdvanced::_shaped_text_is_ready(const RID &p_shaped) const { … }
const Glyph *TextServerAdvanced::_shaped_text_get_glyphs(const RID &p_shaped) const { … }
int64_t TextServerAdvanced::_shaped_text_get_glyph_count(const RID &p_shaped) const { … }
const Glyph *TextServerAdvanced::_shaped_text_sort_logical(const RID &p_shaped) { … }
Vector2i TextServerAdvanced::_shaped_text_get_range(const RID &p_shaped) const { … }
Array TextServerAdvanced::_shaped_text_get_objects(const RID &p_shaped) const { … }
Rect2 TextServerAdvanced::_shaped_text_get_object_rect(const RID &p_shaped, const Variant &p_key) const { … }
Vector2i TextServerAdvanced::_shaped_text_get_object_range(const RID &p_shaped, const Variant &p_key) const { … }
int64_t TextServerAdvanced::_shaped_text_get_object_glyph(const RID &p_shaped, const Variant &p_key) const { … }
Size2 TextServerAdvanced::_shaped_text_get_size(const RID &p_shaped) const { … }
double TextServerAdvanced::_shaped_text_get_ascent(const RID &p_shaped) const { … }
double TextServerAdvanced::_shaped_text_get_descent(const RID &p_shaped) const { … }
double TextServerAdvanced::_shaped_text_get_width(const RID &p_shaped) const { … }
double TextServerAdvanced::_shaped_text_get_underline_position(const RID &p_shaped) const { … }
double TextServerAdvanced::_shaped_text_get_underline_thickness(const RID &p_shaped) const { … }
void TextServerAdvanced::_insert_num_systems_lang() { … }
String TextServerAdvanced::_format_number(const String &p_string, const String &p_language) const { … }
String TextServerAdvanced::_parse_number(const String &p_string, const String &p_language) const { … }
String TextServerAdvanced::_percent_sign(const String &p_language) const { … }
int64_t TextServerAdvanced::_is_confusable(const String &p_string, const PackedStringArray &p_dict) const { … }
bool TextServerAdvanced::_spoof_check(const String &p_string) const { … }
String TextServerAdvanced::_strip_diacritics(const String &p_string) const { … }
String TextServerAdvanced::_string_to_upper(const String &p_string, const String &p_language) const { … }
String TextServerAdvanced::_string_to_lower(const String &p_string, const String &p_language) const { … }
String TextServerAdvanced::_string_to_title(const String &p_string, const String &p_language) const { … }
PackedInt32Array TextServerAdvanced::_string_get_word_breaks(const String &p_string, const String &p_language, int64_t p_chars_per_line) const { … }
PackedInt32Array TextServerAdvanced::_string_get_character_breaks(const String &p_string, const String &p_language) const { … }
bool TextServerAdvanced::_is_valid_identifier(const String &p_string) const { … }
bool TextServerAdvanced::_is_valid_letter(uint64_t p_unicode) const { … }
void TextServerAdvanced::_update_settings() { … }
TextServerAdvanced::TextServerAdvanced() { … }
void TextServerAdvanced::_cleanup() { … }
TextServerAdvanced::~TextServerAdvanced() { … }