TextServer

Наследует: RefCounted < Object

Наследуется от: TextServerExtension

Серверный интерфейс для управления шрифтами и рендеринга текста.

Описание

TextServer — это API-бэкэнд для управления шрифтами и рендеринга текста.

Примечание: Это API низкого уровня, рассмотрите возможность использования вместо него классов TextLine, TextParagraph и Font.

Это абстрактный класс, поэтому для получения текущего активного экземпляра TextServer используйте следующий код:

var ts = TextServerManager.get_primary_interface()

Методы

RID

create_font()

RID

create_font_linked_variation(font_rid: RID)

RID

create_shaped_text(direction: Direction = 0, orientation: Orientation = 0)

void

draw_hex_code_box(canvas: RID, size: int, pos: Vector2, index: int, color: Color) const

void

font_clear_glyphs(font_rid: RID, size: Vector2i)

void

font_clear_kerning_map(font_rid: RID, size: int)

void

font_clear_size_cache(font_rid: RID)

void

font_clear_system_fallback_cache()

void

font_clear_textures(font_rid: RID, size: Vector2i)

void

font_draw_glyph(font_rid: RID, canvas: RID, size: int, pos: Vector2, index: int, color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const

void

font_draw_glyph_outline(font_rid: RID, canvas: RID, size: int, outline_size: int, pos: Vector2, index: int, color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const

FontAntialiasing

font_get_antialiasing(font_rid: RID) const

float

font_get_ascent(font_rid: RID, size: int) const

float

font_get_baseline_offset(font_rid: RID) const

int

font_get_char_from_glyph_index(font_rid: RID, size: int, glyph_index: int) const

float

font_get_descent(font_rid: RID, size: int) const

bool

font_get_disable_embedded_bitmaps(font_rid: RID) const

float

font_get_embolden(font_rid: RID) const

int

font_get_face_count(font_rid: RID) const

int

font_get_face_index(font_rid: RID) const

int

font_get_fixed_size(font_rid: RID) const

FixedSizeScaleMode

font_get_fixed_size_scale_mode(font_rid: RID) const

bool

font_get_generate_mipmaps(font_rid: RID) const

float

font_get_global_oversampling() const

Vector2

font_get_glyph_advance(font_rid: RID, size: int, glyph: int) const

Dictionary

font_get_glyph_contours(font: RID, size: int, index: int) const

int

font_get_glyph_index(font_rid: RID, size: int, char: int, variation_selector: int) const

PackedInt32Array

font_get_glyph_list(font_rid: RID, size: Vector2i) const

Vector2

font_get_glyph_offset(font_rid: RID, size: Vector2i, glyph: int) const

Vector2

font_get_glyph_size(font_rid: RID, size: Vector2i, glyph: int) const

int

font_get_glyph_texture_idx(font_rid: RID, size: Vector2i, glyph: int) const

RID

font_get_glyph_texture_rid(font_rid: RID, size: Vector2i, glyph: int) const

Vector2

font_get_glyph_texture_size(font_rid: RID, size: Vector2i, glyph: int) const

Rect2

font_get_glyph_uv_rect(font_rid: RID, size: Vector2i, glyph: int) const

Hinting

font_get_hinting(font_rid: RID) const

bool

font_get_keep_rounding_remainders(font_rid: RID) const

Vector2

font_get_kerning(font_rid: RID, size: int, glyph_pair: Vector2i) const

Array[Vector2i]

font_get_kerning_list(font_rid: RID, size: int) const

bool

font_get_language_support_override(font_rid: RID, language: String)

PackedStringArray

font_get_language_support_overrides(font_rid: RID)

int

font_get_msdf_pixel_range(font_rid: RID) const

int

font_get_msdf_size(font_rid: RID) const

String

font_get_name(font_rid: RID) const

Dictionary

font_get_opentype_feature_overrides(font_rid: RID) const

Dictionary

font_get_ot_name_strings(font_rid: RID) const

float

font_get_oversampling(font_rid: RID) const

float

font_get_scale(font_rid: RID, size: int) const

bool

font_get_script_support_override(font_rid: RID, script: String)

PackedStringArray

font_get_script_support_overrides(font_rid: RID)

Array[Dictionary]

font_get_size_cache_info(font_rid: RID) const

Array[Vector2i]

font_get_size_cache_list(font_rid: RID) const

int

font_get_spacing(font_rid: RID, spacing: SpacingType) const

int

font_get_stretch(font_rid: RID) const

BitField[FontStyle]

font_get_style(font_rid: RID) const

String

font_get_style_name(font_rid: RID) const

SubpixelPositioning

font_get_subpixel_positioning(font_rid: RID) const

String

font_get_supported_chars(font_rid: RID) const

PackedInt32Array

font_get_supported_glyphs(font_rid: RID) const

int

font_get_texture_count(font_rid: RID, size: Vector2i) const

Image

font_get_texture_image(font_rid: RID, size: Vector2i, texture_index: int) const

PackedInt32Array

font_get_texture_offsets(font_rid: RID, size: Vector2i, texture_index: int) const

Transform2D

font_get_transform(font_rid: RID) const

float

font_get_underline_position(font_rid: RID, size: int) const

float

font_get_underline_thickness(font_rid: RID, size: int) const

Dictionary

font_get_variation_coordinates(font_rid: RID) const

int

font_get_weight(font_rid: RID) const

bool

font_has_char(font_rid: RID, char: int) const

bool

font_is_allow_system_fallback(font_rid: RID) const

bool

font_is_force_autohinter(font_rid: RID) const

bool

font_is_language_supported(font_rid: RID, language: String) const

bool

font_is_modulate_color_glyphs(font_rid: RID) const

bool

font_is_multichannel_signed_distance_field(font_rid: RID) const

bool

font_is_script_supported(font_rid: RID, script: String) const

void

font_remove_glyph(font_rid: RID, size: Vector2i, glyph: int)

void

font_remove_kerning(font_rid: RID, size: int, glyph_pair: Vector2i)

void

font_remove_language_support_override(font_rid: RID, language: String)

void

font_remove_script_support_override(font_rid: RID, script: String)

void

font_remove_size_cache(font_rid: RID, size: Vector2i)

void

font_remove_texture(font_rid: RID, size: Vector2i, texture_index: int)

void

font_render_glyph(font_rid: RID, size: Vector2i, index: int)

void

font_render_range(font_rid: RID, size: Vector2i, start: int, end: int)

void

font_set_allow_system_fallback(font_rid: RID, allow_system_fallback: bool)

void

font_set_antialiasing(font_rid: RID, antialiasing: FontAntialiasing)

void

font_set_ascent(font_rid: RID, size: int, ascent: float)

void

font_set_baseline_offset(font_rid: RID, baseline_offset: float)

void

font_set_data(font_rid: RID, data: PackedByteArray)

void

font_set_descent(font_rid: RID, size: int, descent: float)

void

font_set_disable_embedded_bitmaps(font_rid: RID, disable_embedded_bitmaps: bool)

void

font_set_embolden(font_rid: RID, strength: float)

void

font_set_face_index(font_rid: RID, face_index: int)

void

font_set_fixed_size(font_rid: RID, fixed_size: int)

void

font_set_fixed_size_scale_mode(font_rid: RID, fixed_size_scale_mode: FixedSizeScaleMode)

void

font_set_force_autohinter(font_rid: RID, force_autohinter: bool)

void

font_set_generate_mipmaps(font_rid: RID, generate_mipmaps: bool)

void

font_set_global_oversampling(oversampling: float)

void

font_set_glyph_advance(font_rid: RID, size: int, glyph: int, advance: Vector2)

void

font_set_glyph_offset(font_rid: RID, size: Vector2i, glyph: int, offset: Vector2)

void

font_set_glyph_size(font_rid: RID, size: Vector2i, glyph: int, gl_size: Vector2)

void

font_set_glyph_texture_idx(font_rid: RID, size: Vector2i, glyph: int, texture_idx: int)

void

font_set_glyph_uv_rect(font_rid: RID, size: Vector2i, glyph: int, uv_rect: Rect2)

void

font_set_hinting(font_rid: RID, hinting: Hinting)

void

font_set_keep_rounding_remainders(font_rid: RID, keep_rounding_remainders: bool)

void

font_set_kerning(font_rid: RID, size: int, glyph_pair: Vector2i, kerning: Vector2)

void

font_set_language_support_override(font_rid: RID, language: String, supported: bool)

void

font_set_modulate_color_glyphs(font_rid: RID, force_autohinter: bool)

void

font_set_msdf_pixel_range(font_rid: RID, msdf_pixel_range: int)

void

font_set_msdf_size(font_rid: RID, msdf_size: int)

void

font_set_multichannel_signed_distance_field(font_rid: RID, msdf: bool)

void

font_set_name(font_rid: RID, name: String)

void

font_set_opentype_feature_overrides(font_rid: RID, overrides: Dictionary)

void

font_set_oversampling(font_rid: RID, oversampling: float)

void

font_set_scale(font_rid: RID, size: int, scale: float)

void

font_set_script_support_override(font_rid: RID, script: String, supported: bool)

void

font_set_spacing(font_rid: RID, spacing: SpacingType, value: int)

void

font_set_stretch(font_rid: RID, weight: int)

void

font_set_style(font_rid: RID, style: BitField[FontStyle])

void

font_set_style_name(font_rid: RID, name: String)

void

font_set_subpixel_positioning(font_rid: RID, subpixel_positioning: SubpixelPositioning)

void

font_set_texture_image(font_rid: RID, size: Vector2i, texture_index: int, image: Image)

void

font_set_texture_offsets(font_rid: RID, size: Vector2i, texture_index: int, offset: PackedInt32Array)

void

font_set_transform(font_rid: RID, transform: Transform2D)

void

font_set_underline_position(font_rid: RID, size: int, underline_position: float)

void

font_set_underline_thickness(font_rid: RID, size: int, underline_thickness: float)

void

font_set_variation_coordinates(font_rid: RID, variation_coordinates: Dictionary)

void

font_set_weight(font_rid: RID, weight: int)

Dictionary

font_supported_feature_list(font_rid: RID) const

Dictionary

font_supported_variation_list(font_rid: RID) const

String

format_number(number: String, language: String = "") const

void

free_rid(rid: RID)

int

get_features() const

Vector2

get_hex_code_box_size(size: int, index: int) const

String

get_name() const

PackedByteArray

get_support_data() const

String

get_support_data_filename() const

String

get_support_data_info() const

bool

has(rid: RID)

bool

has_feature(feature: Feature) const

int

is_confusable(string: String, dict: PackedStringArray) const

bool

is_locale_right_to_left(locale: String) const

bool

is_locale_using_support_data(locale: String) const

bool

is_valid_identifier(string: String) const

bool

is_valid_letter(unicode: int) const

bool

load_support_data(filename: String)

int

name_to_tag(name: String) const

String

parse_number(number: String, language: String = "") const

Array[Vector3i]

parse_structured_text(parser_type: StructuredTextParser, args: Array, text: String) const

String

percent_sign(language: String = "") const

bool

save_support_data(filename: String) const

int

shaped_get_run_count(shaped: RID) const

Direction

shaped_get_run_direction(shaped: RID, index: int) const

RID

shaped_get_run_font_rid(shaped: RID, index: int) const

int

shaped_get_run_font_size(shaped: RID, index: int) const

String

shaped_get_run_language(shaped: RID, index: int) const

Variant

shaped_get_run_object(shaped: RID, index: int) const

Vector2i

shaped_get_run_range(shaped: RID, index: int) const

String

shaped_get_run_text(shaped: RID, index: int) const

int

shaped_get_span_count(shaped: RID) const

Variant

shaped_get_span_embedded_object(shaped: RID, index: int) const

Variant

shaped_get_span_meta(shaped: RID, index: int) const

Variant

shaped_get_span_object(shaped: RID, index: int) const

String

shaped_get_span_text(shaped: RID, index: int) const

String

shaped_get_text(shaped: RID) const

void

shaped_set_span_update_font(shaped: RID, index: int, fonts: Array[RID], size: int, opentype_features: Dictionary = {})

bool

shaped_text_add_object(shaped: RID, key: Variant, size: Vector2, inline_align: InlineAlignment = 5, length: int = 1, baseline: float = 0.0)

bool

shaped_text_add_string(shaped: RID, text: String, fonts: Array[RID], size: int, opentype_features: Dictionary = {}, language: String = "", meta: Variant = null)

void

shaped_text_clear(rid: RID)

int

shaped_text_closest_character_pos(shaped: RID, pos: int) const

void

shaped_text_draw(shaped: RID, canvas: RID, pos: Vector2, clip_l: float = -1, clip_r: float = -1, color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const

void

shaped_text_draw_outline(shaped: RID, canvas: RID, pos: Vector2, clip_l: float = -1, clip_r: float = -1, outline_size: int = 1, color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const

RID

shaped_text_duplicate(rid: RID)

float

shaped_text_fit_to_width(shaped: RID, width: float, justification_flags: BitField[JustificationFlag] = 3)

float

shaped_text_get_ascent(shaped: RID) const

Dictionary

shaped_text_get_carets(shaped: RID, position: int) const

PackedInt32Array

shaped_text_get_character_breaks(shaped: RID) const

int

shaped_text_get_custom_ellipsis(shaped: RID) const

String

shaped_text_get_custom_punctuation(shaped: RID) const

float

shaped_text_get_descent(shaped: RID) const

Direction

shaped_text_get_direction(shaped: RID) const

Direction

shaped_text_get_dominant_direction_in_range(shaped: RID, start: int, end: int) const

int

shaped_text_get_ellipsis_glyph_count(shaped: RID) const

Array[Dictionary]

shaped_text_get_ellipsis_glyphs(shaped: RID) const

int

shaped_text_get_ellipsis_pos(shaped: RID) const

int

shaped_text_get_glyph_count(shaped: RID) const

Array[Dictionary]

shaped_text_get_glyphs(shaped: RID) const

Vector2

shaped_text_get_grapheme_bounds(shaped: RID, pos: int) const

Direction

shaped_text_get_inferred_direction(shaped: RID) const

PackedInt32Array

shaped_text_get_line_breaks(shaped: RID, width: float, start: int = 0, break_flags: BitField[LineBreakFlag] = 3) const

PackedInt32Array

shaped_text_get_line_breaks_adv(shaped: RID, width: PackedFloat32Array, start: int = 0, once: bool = true, break_flags: BitField[LineBreakFlag] = 3) const

int

shaped_text_get_object_glyph(shaped: RID, key: Variant) const

Vector2i

shaped_text_get_object_range(shaped: RID, key: Variant) const

Rect2

shaped_text_get_object_rect(shaped: RID, key: Variant) const

Array

shaped_text_get_objects(shaped: RID) const

Orientation

shaped_text_get_orientation(shaped: RID) const

RID

shaped_text_get_parent(shaped: RID) const

bool

shaped_text_get_preserve_control(shaped: RID) const

bool

shaped_text_get_preserve_invalid(shaped: RID) const

Vector2i

shaped_text_get_range(shaped: RID) const

PackedVector2Array

shaped_text_get_selection(shaped: RID, start: int, end: int) const

Vector2

shaped_text_get_size(shaped: RID) const

int

shaped_text_get_spacing(shaped: RID, spacing: SpacingType) const

int

shaped_text_get_trim_pos(shaped: RID) const

float

shaped_text_get_underline_position(shaped: RID) const

float

shaped_text_get_underline_thickness(shaped: RID) const

float

shaped_text_get_width(shaped: RID) const

PackedInt32Array

shaped_text_get_word_breaks(shaped: RID, grapheme_flags: BitField[GraphemeFlag] = 264, skip_grapheme_flags: BitField[GraphemeFlag] = 4) const

bool

shaped_text_has_object(shaped: RID, key: Variant) const

bool

shaped_text_has_visible_chars(shaped: RID) const

int

shaped_text_hit_test_grapheme(shaped: RID, coords: float) const

int

shaped_text_hit_test_position(shaped: RID, coords: float) const

bool

shaped_text_is_ready(shaped: RID) const

int

shaped_text_next_character_pos(shaped: RID, pos: int) const

int

shaped_text_next_grapheme_pos(shaped: RID, pos: int) const

void

shaped_text_overrun_trim_to_width(shaped: RID, width: float = 0, overrun_trim_flags: BitField[TextOverrunFlag] = 0)

int

shaped_text_prev_character_pos(shaped: RID, pos: int) const

int

shaped_text_prev_grapheme_pos(shaped: RID, pos: int) const

bool

shaped_text_resize_object(shaped: RID, key: Variant, size: Vector2, inline_align: InlineAlignment = 5, baseline: float = 0.0)

void

shaped_text_set_bidi_override(shaped: RID, override: Array)

void

shaped_text_set_custom_ellipsis(shaped: RID, char: int)

void

shaped_text_set_custom_punctuation(shaped: RID, punct: String)

void

shaped_text_set_direction(shaped: RID, direction: Direction = 0)

void

shaped_text_set_orientation(shaped: RID, orientation: Orientation = 0)

void

shaped_text_set_preserve_control(shaped: RID, enabled: bool)

void

shaped_text_set_preserve_invalid(shaped: RID, enabled: bool)

void

shaped_text_set_spacing(shaped: RID, spacing: SpacingType, value: int)

bool

shaped_text_shape(shaped: RID)

Array[Dictionary]

shaped_text_sort_logical(shaped: RID)

RID

shaped_text_substr(shaped: RID, start: int, length: int) const

float

shaped_text_tab_align(shaped: RID, tab_stops: PackedFloat32Array)

bool

spoof_check(string: String) const

PackedInt32Array

string_get_character_breaks(string: String, language: String = "") const

PackedInt32Array

string_get_word_breaks(string: String, language: String = "", chars_per_line: int = 0) const

String

string_to_lower(string: String, language: String = "") const

String

string_to_title(string: String, language: String = "") const

String

string_to_upper(string: String, language: String = "") const

String

strip_diacritics(string: String) const

String

tag_to_name(tag: int) const


Перечисления

enum FontAntialiasing: 🔗

FontAntialiasing FONT_ANTIALIASING_NONE = 0

Глифы шрифта растрируются как 1-битные битовые изображения.

FontAntialiasing FONT_ANTIALIASING_GRAY = 1

Глифы шрифта растрируются как 8-битные сглаженные растровые изображения в оттенках серого.

FontAntialiasing FONT_ANTIALIASING_LCD = 2

Шрифтовые глифы растрируются для ЖК-экранов.

Макет субпикселей ЖК-дисплея определяется значением параметра ProjectSettings.gui/theme/lcd_subpixel_layout.

Режим сглаживания субпикселей ЖК-дисплея подходит только для отображения горизонтального немасштабированного текста в 2D.


enum FontLCDSubpixelLayout: 🔗

FontLCDSubpixelLayout FONT_LCD_SUBPIXEL_LAYOUT_NONE = 0

Неизвестная или неподдерживаемая компоновка субпикселей, сглаживание субпикселей ЖК-дисплея отключено.

FontLCDSubpixelLayout FONT_LCD_SUBPIXEL_LAYOUT_HRGB = 1

Горизонтальная компоновка субпикселей RGB.

FontLCDSubpixelLayout FONT_LCD_SUBPIXEL_LAYOUT_HBGR = 2

Горизонтальная компоновка субпикселей BGR.

FontLCDSubpixelLayout FONT_LCD_SUBPIXEL_LAYOUT_VRGB = 3

Вертикальная компоновка субпикселей RGB.

FontLCDSubpixelLayout FONT_LCD_SUBPIXEL_LAYOUT_VBGR = 4

Вертикальная компоновка субпикселей BGR.

FontLCDSubpixelLayout FONT_LCD_SUBPIXEL_LAYOUT_MAX = 5

Представляет размер перечисления FontLCDSubpixelLayout.


enum Direction: 🔗

Direction DIRECTION_AUTO = 0

Направление текста определяется на основе содержимого и текущего языка.

Direction DIRECTION_LTR = 1

Текст пишется слева направо.

Direction DIRECTION_RTL = 2

Текст пишется справа налево.

Direction DIRECTION_INHERITED = 3

Направление написания текста совпадает с направлением написания базовой строки. Используется только для переопределения BiDi.


enum Orientation: 🔗

Orientation ORIENTATION_HORIZONTAL = 0

Текст написан горизонтально.

Orientation ORIENTATION_VERTICAL = 1

Текст слева направо пишется вертикально сверху вниз.

Текст справа налево пишется вертикально снизу вверх.


flags JustificationFlag: 🔗

JustificationFlag JUSTIFICATION_NONE = 0

Не выравнивайте текст по ширине.

JustificationFlag JUSTIFICATION_KASHIDA = 1

Выравнивание текста по ширине путем добавления и удаления кашида.

JustificationFlag JUSTIFICATION_WORD_BOUND = 2

Выровняйте текст по ширине, изменив ширину пробелов между словами.

JustificationFlag JUSTIFICATION_TRIM_EDGE_SPACES = 4

Удалите конечные и начальные пробелы из выровненного текста.

JustificationFlag JUSTIFICATION_AFTER_LAST_TAB = 8

Выравнивание следует применять только к части текста после последней табуляции.

JustificationFlag JUSTIFICATION_CONSTRAIN_ELLIPSIS = 16

Примените выравнивание к обрезанной строке с многоточием.

JustificationFlag JUSTIFICATION_SKIP_LAST_LINE = 32

Не применяйте выравнивание к последней строке абзаца.

JustificationFlag JUSTIFICATION_SKIP_LAST_LINE_WITH_VISIBLE_CHARS = 64

Не применять выравнивание к последней строке абзаца с видимыми символами (имеет приоритет над JUSTIFICATION_SKIP_LAST_LINE).

JustificationFlag JUSTIFICATION_DO_NOT_SKIP_SINGLE_LINE = 128

Всегда применяйте выравнивание к абзацам с одной строкой (JUSTIFICATION_SKIP_LAST_LINE и JUSTIFICATION_SKIP_LAST_LINE_WITH_VISIBLE_CHARS игнорируются).


enum AutowrapMode: 🔗

AutowrapMode AUTOWRAP_OFF = 0

Автообертывание отключено.

AutowrapMode AUTOWRAP_ARBITRARY = 1

Оборачивает текст внутри ограничивающего прямоугольника узла, позволяя разрывать строки в произвольных местах, что полезно, когда доступно очень ограниченное пространство.

AutowrapMode AUTOWRAP_WORD = 2

Оборачивает текст внутри ограничивающего прямоугольника узла, используя мягкое разделение между словами.

AutowrapMode AUTOWRAP_WORD_SMART = 3

Действует аналогично AUTOWRAP_WORD, но принудительно разбивает слово, если это отдельное слово не помещается в одну строку.


flags LineBreakFlag: 🔗

LineBreakFlag BREAK_NONE = 0

Не прерывайте линию.

LineBreakFlag BREAK_MANDATORY = 1

Разрыв строки выполняется в местах, где присутствуют обязательные символы разрыва строки (например, "\n").

LineBreakFlag BREAK_WORD_BOUND = 2

Разорвите границу между словами.

LineBreakFlag BREAK_GRAPHEME_BOUND = 4

Разорвите линию между любыми не связанными между собой графемами.

LineBreakFlag BREAK_ADAPTIVE = 8

Следует использовать только в сочетании с BREAK_WORD_BOUND, разрывать линию между любыми не связанными между собой графемами, если разрыв между словами невозможен.

LineBreakFlag BREAK_TRIM_EDGE_SPACES = 16

Устарело: Use BREAK_TRIM_START_EDGE_SPACES | BREAK_TRIM_END_EDGE_SPACES instead.

Удалите краевые пробелы из ломаных отрезков.

LineBreakFlag BREAK_TRIM_INDENT = 32

Вычтите ширину отступа первой строки из ширины всех строк после первой.

LineBreakFlag BREAK_TRIM_START_EDGE_SPACES = 64

Удалите пробелы и символы переноса строки из начала сегментов разорванной строки.

Например, после переноса строки второй сегмент следующего текста test \n next будет next если флаг установлен, и `` next``, если он не установлен.

LineBreakFlag BREAK_TRIM_END_EDGE_SPACES = 128

Удалите пробелы и символы переноса строки из конца разорванных сегментов строки.

Например, после переноса строки первый сегмент следующего текста test \n next будет test если флаг установлен, и test \n, если он не установлен.


enum VisibleCharactersBehavior: 🔗

VisibleCharactersBehavior VC_CHARS_BEFORE_SHAPING = 0

Обрезает текст перед формированием. Например, увеличение значения Label.visible_characters или RichTextLabel.visible_characters визуально идентично вводу текста.

Примечание: В этом режиме обрезанный текст вообще не обрабатывается. Он не учитывается при переносе строк и расчетах размера.

VisibleCharactersBehavior VC_CHARS_AFTER_SHAPING = 1

Отображает глифы, сопоставленные с первыми символами Label.visible_characters или RichTextLabel.visible_characters с начала текста.

VisibleCharactersBehavior VC_GLYPHS_AUTO = 2

Отображает глифы Label.visible_ratio или RichTextLabel.visible_ratio, начиная слева или справа, в зависимости от значения Control.layout_direction.

VisibleCharactersBehavior VC_GLYPHS_LTR = 3

Отображает глифы Label.visible_ratio или RichTextLabel.visible_ratio, начиная слева.

VisibleCharactersBehavior VC_GLYPHS_RTL = 4

Отображает глифы Label.visible_ratio или RichTextLabel.visible_ratio, начиная справа.


enum OverrunBehavior: 🔗

OverrunBehavior OVERRUN_NO_TRIMMING = 0

Обрезка текста не производится.

OverrunBehavior OVERRUN_TRIM_CHAR = 1

Обрезает текст по символам.

OverrunBehavior OVERRUN_TRIM_WORD = 2

Обрезает текст по словам.

OverrunBehavior OVERRUN_TRIM_ELLIPSIS = 3

Обрезает текст по символам и добавляет многоточие, чтобы указать, что части скрыты, если обрезанный текст содержит 6 символов или длиннее.

OverrunBehavior OVERRUN_TRIM_WORD_ELLIPSIS = 4

Обрезает текст по словам и добавляет многоточие, чтобы указать, что части скрыты, если обрезанный текст содержит 6 символов или длиннее.

OverrunBehavior OVERRUN_TRIM_ELLIPSIS_FORCE = 5

Обрезает текст по символам и добавляет многоточие, чтобы указать, что части скрыты независимо от длины обрезанного текста.

OverrunBehavior OVERRUN_TRIM_WORD_ELLIPSIS_FORCE = 6

Обрезает текст по словам и добавляет многоточие, чтобы указать, что части скрыты независимо от длины обрезанного текста.


flags TextOverrunFlag: 🔗

TextOverrunFlag OVERRUN_NO_TRIM = 0

Обрезка не производится.

TextOverrunFlag OVERRUN_TRIM = 1

Обрезает текст, если он превышает заданную ширину.

TextOverrunFlag OVERRUN_TRIM_WORD_ONLY = 2

Обрезает текст по словам, а не по графемам.

TextOverrunFlag OVERRUN_ADD_ELLIPSIS = 4

Определяет, следует ли добавлять многоточие в конце текста.

TextOverrunFlag OVERRUN_ENFORCE_ELLIPSIS = 8

Определяет, является ли многоточие в конце текста обязательным и не может быть скрыто.

TextOverrunFlag OVERRUN_JUSTIFICATION_AWARE = 16

Учитывает выравнивание текста перед попыткой его обрезки (см. JustificationFlag).

TextOverrunFlag OVERRUN_SHORT_STRING_ELLIPSIS = 32

Determines whether the ellipsis should be added regardless of the string length, otherwise it is added only if the string is 6 characters or longer.


flags GraphemeFlag: 🔗

GraphemeFlag GRAPHEME_IS_VALID = 1

Графема поддерживается шрифтом и может быть нарисована.

GraphemeFlag GRAPHEME_IS_RTL = 2

Графема является частью текста, идущего справа налево или снизу вверх.

GraphemeFlag GRAPHEME_IS_VIRTUAL = 4

Графема не является частью исходного текста, она была добавлена в процессе выравнивания.

GraphemeFlag GRAPHEME_IS_SPACE = 8

Графема - пробел.

GraphemeFlag GRAPHEME_IS_BREAK_HARD = 16

Графема является обязательной точкой останова (например, "\n").

GraphemeFlag GRAPHEME_IS_BREAK_SOFT = 32

Графема — необязательная точка разрыва (например, пробел).

GraphemeFlag GRAPHEME_IS_TAB = 64

Графема — символ табуляции.

GraphemeFlag GRAPHEME_IS_ELONGATION = 128

Графема - кашида.

GraphemeFlag GRAPHEME_IS_PUNCTUATION = 256

Графема — знак препинания.

GraphemeFlag GRAPHEME_IS_UNDERSCORE = 512

Графема — символ подчеркивания.

GraphemeFlag GRAPHEME_IS_CONNECTED = 1024

Графема связана с предыдущей графемой. Разрыв строки перед этой графемой небезопасен.

GraphemeFlag GRAPHEME_IS_SAFE_TO_INSERT_TATWEEL = 2048

Для удлинения можно безопасно вставить перед этой графемой U+0640.

GraphemeFlag GRAPHEME_IS_EMBEDDED_OBJECT = 4096

Графема — это символ, заменяющий встроенный объект.

GraphemeFlag GRAPHEME_IS_SOFT_HYPHEN = 8192

Графема — мягкий дефис.


enum Hinting: 🔗

Hinting HINTING_NONE = 0

Отключить сглаживание шрифтов (более плавно, но менее четко).

Hinting HINTING_LIGHT = 1

Используйте режим легкого сглаживания шрифта.

Hinting HINTING_NORMAL = 2

Используйте режим хинтинга (сглаживания) шрифта по умолчанию (более четкий, но менее плавный).

Примечание: Этот режим хинтинга изменяет как горизонтальные, так и вертикальные метрики глифов. При применении к моноширинному шрифту некоторые глифы могут иметь разную ширину.


enum SubpixelPositioning: 🔗

SubpixelPositioning SUBPIXEL_POSITIONING_DISABLED = 0

Горизонтальное положение глифа округляется до целого размера пикселя, каждый глиф растрируется один раз.

SubpixelPositioning SUBPIXEL_POSITIONING_AUTO = 1

Горизонтальное положение глифа округляется в зависимости от размера шрифта.

  • До четверти размера пикселя, если размер шрифта меньше или равен SUBPIXEL_POSITIONING_ONE_QUARTER_MAX_SIZE.

  • До половины размера пикселя, если размер шрифта меньше или равен SUBPIXEL_POSITIONING_ONE_HALF_MAX_SIZE.

  • До целого размера пикселя для более крупных шрифтов.

SubpixelPositioning SUBPIXEL_POSITIONING_ONE_HALF = 2

Горизонтальное положение глифа округляется до половины размера пикселя, каждый глиф растрируется до двух раз.

SubpixelPositioning SUBPIXEL_POSITIONING_ONE_QUARTER = 3

Горизонтальное положение глифа округляется до четверти размера пикселя, каждый глиф растрируется до четырех раз.

SubpixelPositioning SUBPIXEL_POSITIONING_ONE_HALF_MAX_SIZE = 20

Максимальный размер шрифта, при котором будет использоваться субпиксельное позиционирование «половина пикселя» в режиме SUBPIXEL_POSITIONING_AUTO.

SubpixelPositioning SUBPIXEL_POSITIONING_ONE_QUARTER_MAX_SIZE = 16

Максимальный размер шрифта, при котором будет использоваться субпиксельное позиционирование «одна четверть пикселя» в режиме SUBPIXEL_POSITIONING_AUTO.


enum Feature: 🔗

Feature FEATURE_SIMPLE_LAYOUT = 1

TextServer поддерживает простые текстовые макеты.

Feature FEATURE_BIDI_LAYOUT = 2

TextServer поддерживает двунаправленную текстовую раскладку.

Feature FEATURE_VERTICAL_LAYOUT = 4

TextServer поддерживает вертикальную компоновку.

Feature FEATURE_SHAPING = 8

TextServer поддерживает сложное формирование текста.

Feature FEATURE_KASHIDA_JUSTIFICATION = 16

TextServer поддерживает выравнивание с использованием кашид.

Feature FEATURE_BREAK_ITERATORS = 32

TextServer поддерживает сложные правила переноса строк/слов (например, на основе словаря).

Feature FEATURE_FONT_BITMAP = 64

TextServer поддерживает загрузку растровых шрифтов.

Feature FEATURE_FONT_DYNAMIC = 128

TextServer поддерживает загрузку динамических шрифтов (TrueType, OpeType и т. д.).

Feature FEATURE_FONT_MSDF = 256

TextServer поддерживает многоканальную динамическую визуализацию шрифтов со знаком и расстоянием.

Feature FEATURE_FONT_SYSTEM = 512

TextServer поддерживает загрузку системных шрифтов.

Feature FEATURE_FONT_VARIABLE = 1024

TextServer поддерживает переменные шрифты.

Feature FEATURE_CONTEXT_SENSITIVE_CASE_CONVERSION = 2048

TextServer поддерживает преобразование регистра, зависящее от локали и контекста.

Feature FEATURE_USE_SUPPORT_DATA = 4096

Для некоторых функций TextServer требуется внешний файл данных, см. load_support_data().

Feature FEATURE_UNICODE_IDENTIFIERS = 8192

TextServer поддерживает проверку идентификатора UAX #31, см. is_valid_identifier().

Feature FEATURE_UNICODE_SECURITY = 16384

TextServer поддерживает функции обнаружения подделок на основе Технического отчета Unicode № 36 и Технического стандарта Unicode № 39.


enum ContourPointTag: 🔗

ContourPointTag CONTOUR_CURVE_TAG_ON = 1

Точка контура находится на кривой.

ContourPointTag CONTOUR_CURVE_TAG_OFF_CONIC = 0

Точка контура не находится на кривой, но служит контрольной точкой для конической (квадратичной) дуги Безье (Bézier arc).

ContourPointTag CONTOUR_CURVE_TAG_OFF_CUBIC = 2

Точка контура не находится на кривой, но служит контрольной точкой для кубической дуги Безье (Bézier arc).


enum SpacingType: 🔗

SpacingType SPACING_GLYPH = 0

Интервал между каждым глифом.

SpacingType SPACING_SPACE = 1

Интервал для символа пробела.

SpacingType SPACING_TOP = 2

Интервал в верхней части строки.

SpacingType SPACING_BOTTOM = 3

Интервал в нижней части строки.

SpacingType SPACING_MAX = 4

Представляет размер перечисления SpacingType.


flags FontStyle: 🔗

FontStyle FONT_BOLD = 1

Жирный шрифт.

FontStyle FONT_ITALIC = 2

Шрифт курсивный или наклонный.

FontStyle FONT_FIXED_WIDTH = 4

Шрифт имеет символы фиксированной ширины (также известные как моноширинные).


enum StructuredTextParser: 🔗

StructuredTextParser STRUCTURED_TEXT_DEFAULT = 0

Использовать алгоритм Unicode BiDi по умолчанию.

StructuredTextParser STRUCTURED_TEXT_URI = 1

Переопределение BiDi для URI.

StructuredTextParser STRUCTURED_TEXT_FILE = 2

Переопределение пути к файлу BiDi.

StructuredTextParser STRUCTURED_TEXT_EMAIL = 3

Переопределение BiDi для электронной почты.

StructuredTextParser STRUCTURED_TEXT_LIST = 4

Переопределение BiDi для списков. Параметры структурированного текста: разделитель списков String.

StructuredTextParser STRUCTURED_TEXT_GDSCRIPT = 5

Переопределение BiDi для GDScript.

StructuredTextParser STRUCTURED_TEXT_CUSTOM = 6

Функция переопределения BiDi структурированного текста, определяемая пользователем.


enum FixedSizeScaleMode: 🔗

FixedSizeScaleMode FIXED_SIZE_SCALE_DISABLE = 0

Растровый шрифт не масштабируется.

FixedSizeScaleMode FIXED_SIZE_SCALE_INTEGER_ONLY = 1

Растровый шрифт масштабируется до ближайшего целого кратного фиксированного размера шрифта. Это рекомендуемый вариант для шрифтов пиксельной графики.

FixedSizeScaleMode FIXED_SIZE_SCALE_ENABLED = 2

Растровый шрифт масштабируется до произвольного (дробного) размера. Это рекомендуемый вариант для шрифтов, не относящихся к пиксельной графике.


Описания метода

RID create_font() 🔗

Создает новый, пустой ресурс записи кэша шрифтов. Чтобы освободить полученный ресурс, используйте метод free_rid().


RID create_font_linked_variation(font_rid: RID) 🔗

Создает новую вариацию существующего шрифта, которая повторно использует тот же кэш глифов и данные шрифта. Чтобы освободить полученный ресурс, используйте метод free_rid().


RID create_shaped_text(direction: Direction = 0, orientation: Orientation = 0) 🔗

Создает новый буфер для сложного текстового макета с заданными direction и orientation. Чтобы освободить полученный буфер, используйте метод free_rid().

Примечание: Направление игнорируется, если сервер не поддерживает функцию FEATURE_BIDI_LAYOUT (поддерживается TextServerAdvanced).

Примечание: Ориентация игнорируется, если сервер не поддерживает функцию FEATURE_VERTICAL_LAYOUT (поддерживается TextServerAdvanced).


void draw_hex_code_box(canvas: RID, size: int, pos: Vector2, index: int, color: Color) const 🔗

Рисует поле, отображающее шестнадцатеричный код символа. Используется для замены отсутствующих символов.


void font_clear_glyphs(font_rid: RID, size: Vector2i) 🔗

Удаляет всю визуализированную информацию о глифах из записи кэша.

Примечание: Эта функция не удалит текстуры, связанные с глифами, используйте font_remove_texture(), чтобы удалить их вручную.


void font_clear_kerning_map(font_rid: RID, size: int) 🔗

Удаляет все переопределения кернинга.


void font_clear_size_cache(font_rid: RID) 🔗

Удаляет все размеры шрифтов из записи кэша.


void font_clear_system_fallback_cache() 🔗

Освобождает все автоматически загруженные системные шрифты.


void font_clear_textures(font_rid: RID, size: Vector2i) 🔗

Удаляет все текстуры из записи кэша шрифтов.

Примечание: Эта функция не удалит глифы, связанные с текстурой, используйте font_remove_glyph(), чтобы удалить их вручную.


void font_draw_glyph(font_rid: RID, canvas: RID, size: int, pos: Vector2, index: int, color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const 🔗

Рисует одиночный глиф на элементе холста в позиции, используя font_rid с размером size. Если oversampling больше нуля, он используется как фактор передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.

Примечание: Индекс глифа зависит от шрифта, используйте индексы глифов, возвращаемые shaped_text_get_glyphs() или font_get_glyph_index().

Примечание: Если есть ожидающие отрисовки глифы, вызов этой функции может запустить обновление кэша текстур.


void font_draw_glyph_outline(font_rid: RID, canvas: RID, size: int, outline_size: int, pos: Vector2, index: int, color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const 🔗

Рисует контур одного глифа размером outline_size в элементе холста в позиции, используя font_rid размером size. Если oversampling больше нуля, он используется как фактор передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.

Примечание: Индекс глифа зависит от шрифта, используйте индексы глифов, возвращаемые shaped_text_get_glyphs() или font_get_glyph_index().

Примечание: Если есть ожидающие отрисовки глифы, вызов этой функции может запустить обновление кэша текстур.


FontAntialiasing font_get_antialiasing(font_rid: RID) const 🔗

Возвращает режим сглаживания шрифта.


float font_get_ascent(font_rid: RID, size: int) const 🔗

Возвращает высоту шрифта (количество пикселей над базовой линией).


float font_get_baseline_offset(font_rid: RID) const 🔗

Возвращает дополнительное смещение базовой линии (как долю высоты шрифта).


int font_get_char_from_glyph_index(font_rid: RID, size: int, glyph_index: int) const 🔗

Возвращает код символа, связанный с glyph_index, или 0, если glyph_index недействителен. См. font_get_glyph_index().


float font_get_descent(font_rid: RID, size: int) const 🔗

Возвращает спуск шрифта (количество пикселей ниже базовой линии).


bool font_get_disable_embedded_bitmaps(font_rid: RID) const 🔗

Возвращает значение, отключается ли загрузка встроенного растрового изображения шрифта.


float font_get_embolden(font_rid: RID) const 🔗

Возвращает силу жирности шрифта.


int font_get_face_count(font_rid: RID) const 🔗

Возвращает количество шрифтов в коллекции TrueType / OpenType.


int font_get_face_index(font_rid: RID) const 🔗

Возвращает активный индекс начертания в коллекции TrueType / OpenType.


int font_get_fixed_size(font_rid: RID) const 🔗

Возвращает фиксированный размер растрового шрифта.


FixedSizeScaleMode font_get_fixed_size_scale_mode(font_rid: RID) const 🔗

Возвращает режим масштабирования растрового шрифта.


bool font_get_generate_mipmaps(font_rid: RID) const 🔗

Возвращает true, если включена генерация MIP-карты текстуры шрифта.


float font_get_global_oversampling() const 🔗

Устарело: Use Viewport oversampling, or the oversampling argument of the draw_* methods instead.

This method does nothing and always returns 1.0.


Vector2 font_get_glyph_advance(font_rid: RID, size: int, glyph: int) const 🔗

Возвращает продвижение глифа (смещение следующего глифа).

Примечание: Продвижение для контуров глифов такое же, как и базовое продвижение глифа, и не сохраняется.


Dictionary font_get_glyph_contours(font: RID, size: int, index: int) const 🔗

Возвращает контуры контура глифа в виде Dictionary со следующим содержимым:

points - PackedVector3Array, содержащий точки контура. x и y - координаты точек. z - тип точки, использующий значения ContourPointTag.

contours - PackedInt32Array, содержащий индексы конечных точек каждого контура.

orientation - bool, ориентация контура. Если true, контуры по часовой стрелке должны быть заполнены.

  • Две последовательные точки CONTOUR_CURVE_TAG_ON указывают на отрезок линии.

  • Одна CONTOUR_CURVE_TAG_OFF_CONIC точка между двумя CONTOUR_CURVE_TAG_ON точками указывает на одну коническую (квадратичную) дугу Безье.

  • Две CONTOUR_CURVE_TAG_OFF_CUBIC точки между двумя CONTOUR_CURVE_TAG_ON точками указывают на одну кубическую дугу Безье.

  • Две последовательные CONTOUR_CURVE_TAG_OFF_CONIC точки указывают на две последовательные конические (квадратичные) дуги Безье с виртуальной CONTOUR_CURVE_TAG_ON точкой в их середине.

  • Каждый контур замкнут. Последняя точка контура использует первую точку контура в качестве своей следующей точки, и наоборот. Первой точкой может быть CONTOUR_CURVE_TAG_OFF_CONIC точка.


int font_get_glyph_index(font_rid: RID, size: int, char: int, variation_selector: int) const 🔗

Возвращает индекс глифа char, опционально измененный variation_selector. См. font_get_char_from_glyph_index().


PackedInt32Array font_get_glyph_list(font_rid: RID, size: Vector2i) const 🔗

Возвращает список отрисованных глифов в записи кэша.


Vector2 font_get_glyph_offset(font_rid: RID, size: Vector2i, glyph: int) const 🔗

Возвращает смещение глифа от базовой линии.


Vector2 font_get_glyph_size(font_rid: RID, size: Vector2i, glyph: int) const 🔗

Возвращает размер глифа.


int font_get_glyph_texture_idx(font_rid: RID, size: Vector2i, glyph: int) const 🔗

Возвращает индекс кэшированной текстуры, содержащей глиф.


RID font_get_glyph_texture_rid(font_rid: RID, size: Vector2i, glyph: int) const 🔗

Возвращает ID ресурса текстуры кэша, содержащей глиф.

Примечание: Если есть ожидающие отрисовки глифы, вызов этой функции может запустить обновление кэша текстур.


Vector2 font_get_glyph_texture_size(font_rid: RID, size: Vector2i, glyph: int) const 🔗

Возвращает размер кэшированной текстуры, содержащей глиф.

Примечание: Если есть ожидающие отрисовки глифы, вызов этой функции может запустить обновление кэша текстур.


Rect2 font_get_glyph_uv_rect(font_rid: RID, size: Vector2i, glyph: int) const 🔗

Возвращает прямоугольник в кэшированной текстуре, содержащий глиф.


Hinting font_get_hinting(font_rid: RID) const 🔗

Возвращает режим хинтинга шрифта. Используется только динамическими шрифтами.


bool font_get_keep_rounding_remainders(font_rid: RID) const 🔗

Возвращает поведение округления позиции глифа. Если установлено значение true, при выравнивании глифов по границам пикселей остатки округления накапливаются для обеспечения более равномерного распределения глифов. Этот параметр не действует, если включено субпиксельное позиционирование.


Vector2 font_get_kerning(font_rid: RID, size: int, glyph_pair: Vector2i) const 🔗

Возвращает кернинг для пары глифов.


Array[Vector2i] font_get_kerning_list(font_rid: RID, size: int) const 🔗

Возвращает список переопределений кернинга.


bool font_get_language_support_override(font_rid: RID, language: String) 🔗

Возвращает true, если для language включена поддержка переопределения.


PackedStringArray font_get_language_support_overrides(font_rid: RID) 🔗

Возвращает список переопределений поддержки языка.


int font_get_msdf_pixel_range(font_rid: RID) const 🔗

Возвращает ширину диапазона вокруг фигуры между минимальным и максимальным представимым расстоянием со знаком.


int font_get_msdf_size(font_rid: RID) const 🔗

Возвращает размер исходного шрифта, используемый для генерации текстур MSDF.


String font_get_name(font_rid: RID) const 🔗

Возвращает имя семейства шрифтов.


Dictionary font_get_opentype_feature_overrides(font_rid: RID) const 🔗

Возвращает переопределение набора функций OpenType шрифта.


Dictionary font_get_ot_name_strings(font_rid: RID) const 🔗

Возвращает Dictionary со строками названий шрифтов OpenType (локализованные названия шрифтов, версия, описание, информация о лицензии, пример текста и т. д.).


float font_get_oversampling(font_rid: RID) const 🔗

Возвращает переопределение коэффициента передискретизации (oversampling). Положительное значение переопределяет коэффициент передискретизации области просмотра, в которой используется этот шрифт. См. Viewport.oversampling. Это значение не переопределяет параметр oversampling методов draw_*. Используется только динамическими шрифтами.


float font_get_scale(font_rid: RID, size: int) const 🔗

Возвращает коэффициент масштабирования цветного растрового шрифта.


bool font_get_script_support_override(font_rid: RID, script: String) 🔗

Возвращает true, если для script включена поддержка переопределения.


PackedStringArray font_get_script_support_overrides(font_rid: RID) 🔗

Возвращает список переопределений поддержки скриптов.


Array[Dictionary] font_get_size_cache_info(font_rid: RID) const 🔗

Возвращает информацию о кэше шрифтов, каждая запись содержит следующие поля: Vector2i size_px - размер шрифта в пикселях, float viewport_oversampling - коэффициент передискретизации области просмотра, int glyphs - количество отрисованных глифов, int textures - количество использованных текстур, int textures_size - размер данных текстуры в байтах.


Array[Vector2i] font_get_size_cache_list(font_rid: RID) const 🔗

Возвращает список размеров шрифтов в кэше. Каждый размер — Vector2i с размером шрифта и размером контура.


int font_get_spacing(font_rid: RID, spacing: SpacingType) const 🔗

Возвращает интервал для spacing в пикселях (не относительно размера шрифта).


int font_get_stretch(font_rid: RID) const 🔗

Возвращает величину растяжения шрифта по сравнению с нормальной шириной. Процентное значение между 50% и 200%.


BitField[FontStyle] font_get_style(font_rid: RID) const 🔗

Возвращает флаги стиля шрифта.


String font_get_style_name(font_rid: RID) const 🔗

Возвращает имя стиля шрифта.


SubpixelPositioning font_get_subpixel_positioning(font_rid: RID) const 🔗

Возвращает режим позиционирования субпиксельных глифов шрифта.


String font_get_supported_chars(font_rid: RID) const 🔗

Возвращает строку, содержащую все символы, доступные в шрифте.


PackedInt32Array font_get_supported_glyphs(font_rid: RID) const 🔗

Возвращает массив, содержащий все индексы глифов в шрифте.


int font_get_texture_count(font_rid: RID, size: Vector2i) const 🔗

Возвращает количество текстур, используемых записью кэша шрифтов.


Image font_get_texture_image(font_rid: RID, size: Vector2i, texture_index: int) const 🔗

Возвращает данные изображения текстуры кэша шрифта.


PackedInt32Array font_get_texture_offsets(font_rid: RID, size: Vector2i, texture_index: int) const 🔗

Возвращает массив, содержащий данные упаковки глифов.


Transform2D font_get_transform(font_rid: RID) const 🔗

Возвращает 2D-преобразование, примененное к контурам шрифта.


float font_get_underline_position(font_rid: RID, size: int) const 🔗

Возвращает смещение подчеркивания в пикселях относительно базовой линии.


float font_get_underline_thickness(font_rid: RID, size: int) const 🔗

Возвращает толщину подчеркивания в пикселях.


Dictionary font_get_variation_coordinates(font_rid: RID) const 🔗

Возвращает координаты вариации для указанной записи кэша шрифта. См. font_supported_variation_list() для получения дополнительной информации.


int font_get_weight(font_rid: RID) const 🔗

Возвращает жирность (начертание) шрифта. Значение в диапазоне 100...999, нормальный шрифт — 400, жирный шрифт — 700.


bool font_has_char(font_rid: RID, char: int) const 🔗

Возвращает true, если в шрифте доступен символ Unicode char.


bool font_is_allow_system_fallback(font_rid: RID) const 🔗

Возвращает true, если системные шрифты могут автоматически использоваться в качестве резервных.


bool font_is_force_autohinter(font_rid: RID) const 🔗

Возвращает true, если поддерживается автохинтинг и он предпочтительнее встроенного хинтинга шрифта. Используется только динамическими шрифтами.


bool font_is_language_supported(font_rid: RID, language: String) const 🔗

Возвращает true, если шрифт поддерживает указанный язык (в виде кода ISO 639).


bool font_is_modulate_color_glyphs(font_rid: RID) const 🔗

Returns true if color modulation is applied when drawing the font's colored glyphs.


bool font_is_multichannel_signed_distance_field(font_rid: RID) const 🔗

Возвращает true, если глифы всех размеров визуализируются с использованием одного многоканального знакового поля расстояния, сгенерированного из динамических векторных данных шрифта.


bool font_is_script_supported(font_rid: RID, script: String) const 🔗

Возвращает true, если шрифт поддерживает указанный шрифт (в виде кода ISO 15924).


void font_remove_glyph(font_rid: RID, size: Vector2i, glyph: int) 🔗

Удаляет указанную визуализированную информацию о глифе из записи кэша.

Примечание: Эта функция не удалит текстуры, связанные с глифами, используйте font_remove_texture(), чтобы удалить их вручную.


void font_remove_kerning(font_rid: RID, size: int, glyph_pair: Vector2i) 🔗

Удаляет переопределение кернинга для пары глифов.


void font_remove_language_support_override(font_rid: RID, language: String) 🔗

Удалить переопределение языковой поддержки.


void font_remove_script_support_override(font_rid: RID, script: String) 🔗

Удаляет переопределение поддержки скриптов.


void font_remove_size_cache(font_rid: RID, size: Vector2i) 🔗

Удаляет указанный размер шрифта из записи кэша.


void font_remove_texture(font_rid: RID, size: Vector2i, texture_index: int) 🔗

Удаляет указанную текстуру из записи кэша.

Примечание: Эта функция не удалит глифы, связанные с текстурой, удалите их вручную, используя font_remove_glyph().


void font_render_glyph(font_rid: RID, size: Vector2i, index: int) 🔗

Отображает указанный глиф в текстуре кэша шрифта.


void font_render_range(font_rid: RID, size: Vector2i, start: int, end: int) 🔗

Отображает диапазон символов в текстуру кэша шрифта.


void font_set_allow_system_fallback(font_rid: RID, allow_system_fallback: bool) 🔗

Если задано значение true, системные шрифты могут автоматически использоваться в качестве резервных.


void font_set_antialiasing(font_rid: RID, antialiasing: FontAntialiasing) 🔗

Устанавливает режим сглаживания шрифтов.


void font_set_ascent(font_rid: RID, size: int, ascent: float) 🔗

Устанавливает высоту шрифта (количество пикселей над базовой линией).


void font_set_baseline_offset(font_rid: RID, baseline_offset: float) 🔗

Устанавливает дополнительное смещение базовой линии (как часть высоты шрифта).


void font_set_data(font_rid: RID, data: PackedByteArray) 🔗

Устанавливает исходные данные шрифта, например содержимое исходного файла динамического шрифта.


void font_set_descent(font_rid: RID, size: int, descent: float) 🔗

Устанавливает спуск шрифта (количество пикселей ниже базовой линии).


void font_set_disable_embedded_bitmaps(font_rid: RID, disable_embedded_bitmaps: bool) 🔗

Если задано значение true, загрузка встроенного растрового изображения шрифта отключена (только растровые и цветные шрифты игнорируют это свойство).


void font_set_embolden(font_rid: RID, strength: float) 🔗

Устанавливает жирность шрифта. Если strength не равен нулю, жирность контуров шрифта увеличивается. Отрицательные значения уменьшают толщину контура.


void font_set_face_index(font_rid: RID, face_index: int) 🔗

Устанавливает активный индекс начертания в коллекции TrueType / OpenType.


void font_set_fixed_size(font_rid: RID, fixed_size: int) 🔗

Устанавливает фиксированный размер растрового шрифта. Если установлено значение больше нуля, для всех размеров шрифта будет использоваться одна и та же запись кэша.


void font_set_fixed_size_scale_mode(font_rid: RID, fixed_size_scale_mode: FixedSizeScaleMode) 🔗

Устанавливает режим масштабирования растрового шрифта. Это свойство используется только если fixed_size больше нуля.


void font_set_force_autohinter(font_rid: RID, force_autohinter: bool) 🔗

Если установлено значение true, автоматическая подсказка имеет приоритет над встроенной подсказкой шрифта.


void font_set_generate_mipmaps(font_rid: RID, generate_mipmaps: bool) 🔗

Если установлено значение true, генерация MIP-текстуры шрифта включена.


void font_set_global_oversampling(oversampling: float) 🔗

Устарело: Use Viewport oversampling, or the oversampling argument of the draw_* methods instead.

Этот метод ничего не даёт.


void font_set_glyph_advance(font_rid: RID, size: int, glyph: int, advance: Vector2) 🔗

Устанавливает смещение глифа (смещение следующего глифа).

Примечание: Смещение для контуров глифов такое же, как и базовое смещение глифа, и не сохраняется.


void font_set_glyph_offset(font_rid: RID, size: Vector2i, glyph: int, offset: Vector2) 🔗

Устанавливает смещение глифа от базовой линии.


void font_set_glyph_size(font_rid: RID, size: Vector2i, glyph: int, gl_size: Vector2) 🔗

Устанавливает размер глифа.


void font_set_glyph_texture_idx(font_rid: RID, size: Vector2i, glyph: int, texture_idx: int) 🔗

Устанавливает индекс кэшированной текстуры, содержащей глиф.


void font_set_glyph_uv_rect(font_rid: RID, size: Vector2i, glyph: int, uv_rect: Rect2) 🔗

Устанавливает прямоугольник в кэшированной текстуре, содержащей глиф.


void font_set_hinting(font_rid: RID, hinting: Hinting) 🔗

Устанавливает режим хинтинга шрифта. Используется только динамическими шрифтами.


void font_set_keep_rounding_remainders(font_rid: RID, keep_rounding_remainders: bool) 🔗

Задает поведение округления позиции глифа. Если установлено значение true, при выравнивании глифов по границам пикселей остатки округления накапливаются для обеспечения более равномерного распределения глифов. Этот параметр не действует, если включено субпиксельное позиционирование.


void font_set_kerning(font_rid: RID, size: int, glyph_pair: Vector2i, kerning: Vector2) 🔗

Устанавливает кернинг для пары глифов.


void font_set_language_support_override(font_rid: RID, language: String, supported: bool) 🔗

Добавляет переопределение для font_is_language_supported().


void font_set_modulate_color_glyphs(font_rid: RID, force_autohinter: bool) 🔗

Если установлено значение true, цветовая модуляция применяется при рисовании цветных глифов, в противном случае она применяется только к монохромным глифам.


void font_set_msdf_pixel_range(font_rid: RID, msdf_pixel_range: int) 🔗

Устанавливает ширину диапазона вокруг фигуры между минимальным и максимальным представимым знакомым расстоянием.


void font_set_msdf_size(font_rid: RID, msdf_size: int) 🔗

Устанавливает размер исходного шрифта, используемого для генерации текстур MSDF.


void font_set_multichannel_signed_distance_field(font_rid: RID, msdf: bool) 🔗

Если установлено значение true, глифы всех размеров визуализируются с использованием одного многоканального знакового поля расстояния, сгенерированного из динамических векторных данных шрифта. Рендеринг MSDF позволяет отображать шрифт с любым коэффициентом масштабирования без размытия и без затрат на ЦП при изменении размера шрифта (поскольку шрифт больше не нужно растеризовать на ЦП). Недостатком является то, что хинтинг шрифтов недоступен в MSDF. Отсутствие хинтингов шрифтов может привести к менее четким и менее читаемым шрифтам при малых размерах.

Примечание: Рендеринг шрифтов MSDF некорректно визуализирует глифы с перекрывающимися формами. Перекрывающиеся формы недопустимы в соответствии со стандартом OpenType, но по-прежнему часто встречаются во многих файлах шрифтов, особенно в тех, которые конвертируются Google Fonts. Чтобы избежать проблем с перекрывающимися глифами, рассмотрите возможность загрузки файла шрифта непосредственно из литейного цеха вместо того, чтобы полагаться на Google Fonts.


void font_set_name(font_rid: RID, name: String) 🔗

Задает имя семейства шрифтов.


void font_set_opentype_feature_overrides(font_rid: RID, overrides: Dictionary) 🔗

Устанавливает переопределение набора функций OpenType шрифта.


void font_set_oversampling(font_rid: RID, oversampling: float) 🔗

Положительное значение переопределяет коэффициент передискретизации области просмотра, в которой используется этот шрифт. См. Viewport.oversampling. Это значение не переопределяет параметр oversampling методов draw_*. Используется только динамическими шрифтами.


void font_set_scale(font_rid: RID, size: int, scale: float) 🔗

Устанавливает коэффициент масштабирования цветного растрового шрифта.


void font_set_script_support_override(font_rid: RID, script: String, supported: bool) 🔗

Добавляет переопределение для font_is_script_supported().


void font_set_spacing(font_rid: RID, spacing: SpacingType, value: int) 🔗

Устанавливает интервал для spacing на value в пикселях (не относительно размера шрифта).


void font_set_stretch(font_rid: RID, weight: int) 🔗

Устанавливает величину растяжения шрифта по сравнению с обычной шириной. Процентное значение между 50% и 200%.

Примечание: Это значение используется только для сопоставления шрифтов и не повлияет на рендеринг шрифтов. Вместо этого используйте font_set_face_index(), font_set_variation_coordinates() или font_set_transform().


void font_set_style(font_rid: RID, style: BitField[FontStyle]) 🔗

Устанавливает флаги стиля шрифта.

Примечание: Это значение используется только для сопоставления шрифтов и не влияет на рендеринг шрифтов. Вместо этого используйте font_set_face_index(), font_set_variation_coordinates(), font_set_embolden() или font_set_transform().


void font_set_style_name(font_rid: RID, name: String) 🔗

Задает имя стиля шрифта.


void font_set_subpixel_positioning(font_rid: RID, subpixel_positioning: SubpixelPositioning) 🔗

Устанавливает режим позиционирования субпиксельных глифов шрифта.


void font_set_texture_image(font_rid: RID, size: Vector2i, texture_index: int, image: Image) 🔗

Устанавливает данные изображения текстуры кэша шрифта.


void font_set_texture_offsets(font_rid: RID, size: Vector2i, texture_index: int, offset: PackedInt32Array) 🔗

Устанавливает массив, содержащий данные упаковки глифов.


void font_set_transform(font_rid: RID, transform: Transform2D) 🔗

Устанавливает 2D-преобразование, применяемое к контурам шрифта, может использоваться для наклона, переворачивания и поворота глифов.

Например, чтобы имитировать курсивное начертание с помощью наклона, примените следующее преобразование Transform2D(1.0, slant, 0.0, 1.0, 0.0, 0.0).


void font_set_underline_position(font_rid: RID, size: int, underline_position: float) 🔗

Устанавливает смещение подчеркивания в пикселях относительно базовой линии.


void font_set_underline_thickness(font_rid: RID, size: int, underline_thickness: float) 🔗

Задает толщину подчеркивания в пикселях.


void font_set_variation_coordinates(font_rid: RID, variation_coordinates: Dictionary) 🔗

Устанавливает координаты вариации для указанной записи кэша шрифта. См. font_supported_variation_list() для получения дополнительной информации.


void font_set_weight(font_rid: RID, weight: int) 🔗

Устанавливает толщину (жирность) шрифта. Значение в диапазоне 100...999, нормальная толщина шрифта — 400, жирная толщина шрифта — 700.

Примечание: Это значение используется только для сопоставления шрифтов и не повлияет на рендеринг шрифта. Вместо этого используйте font_set_face_index(), font_set_variation_coordinates() или font_set_embolden().


Dictionary font_supported_feature_list(font_rid: RID) const 🔗

Возвращает словарь поддерживаемых функций OpenType.


Dictionary font_supported_variation_list(font_rid: RID) const 🔗

Возвращает словарь поддерживаемых вариационных координат OpenType.


String format_number(number: String, language: String = "") const 🔗

Устарело: Use TranslationServer.format_number() instead.

Converts a number from Western Arabic (0..9) to the numeral system used in the given language.

If language is an empty string, the active locale will be used.


void free_rid(rid: RID) 🔗

Освобождает объект, созданный этим TextServer.


int get_features() const 🔗

Возвращает функции текстового сервера, см. Feature.


Vector2 get_hex_code_box_size(size: int, index: int) const 🔗

Возвращает размер заменяющего символа (поле с шестнадцатеричным кодом символа, которое рисуется вместо недопустимых символов).


String get_name() const 🔗

Возвращает имя интерфейса сервера.


PackedByteArray get_support_data() const 🔗

Возвращает базу данных TextServer по умолчанию (например, итераторы и словари прерываний ICU).


String get_support_data_filename() const 🔗

Возвращает имя файла базы данных TextServer по умолчанию (например, итераторы и словари прерываний ICU).


String get_support_data_info() const 🔗

Возвращает описание базы данных TextServer (например, итераторов и словарей прерываний ICU).


bool has(rid: RID) 🔗

Возвращает true, если rid является допустимым ресурсом, принадлежащим этому текстовому серверу.


bool has_feature(feature: Feature) const 🔗

Возвращает true, если сервер поддерживает функцию.


int is_confusable(string: String, dict: PackedStringArray) const 🔗

Возвращает индекс первой строки в dict, которую визуально можно спутать с string, или -1, если ничего не найдено.

Примечание: Этот метод не обнаруживает невидимые символы, для обнаружения подделки используйте его в сочетании с spoof_check().

Примечание: Всегда возвращает -1, если сервер не поддерживает функцию FEATURE_UNICODE_SECURITY.


bool is_locale_right_to_left(locale: String) const 🔗

Возвращает true, если язык написания — справа налево.


bool is_locale_using_support_data(locale: String) const 🔗

Returns true if the locale requires text server support data for line/word breaking.


bool is_valid_identifier(string: String) const 🔗

Возвращает true, если string является допустимым идентификатором.

Если текстовый сервер поддерживает функцию FEATURE_UNICODE_IDENTIFIERS, допустимый идентификатор должен:

  • Соответствовать форме нормализации C.

  • Начинаться с символа Unicode класса XID_Start или "_".

  • Может содержать символы Unicode класса XID_Continue в других позициях.

  • Использовать только рекомендуемые сценарии UAX #31 (смешанные сценарии разрешены).

Если функция FEATURE_UNICODE_IDENTIFIERS не поддерживается, допустимый идентификатор должен:

  • Начинаться с символа Unicode класса XID_Start или "_".

  • Может содержать символы Unicode класса XID_Continue в других позициях.


bool is_valid_letter(unicode: int) const 🔗

Возвращает true, если указанная кодовая точка является допустимой буквой, т. е. принадлежит к категории Unicode «L».


bool load_support_data(filename: String) 🔗

Загружает необязательную базу данных TextServer (например, итераторы прерываний ICU и словари).

Примечание: Эту функцию следует вызывать до использования любых других функций TextServer, в противном случае она не даст никакого эффекта.


int name_to_tag(name: String) const 🔗

Converts the given readable name of a feature, variation, script, or language to an OpenType tag.


String parse_number(number: String, language: String = "") const 🔗

Устарело: Use TranslationServer.parse_number() instead.

Converts number from the numeral system used in the given language to Western Arabic (0..9).

If language is an empty string, the active locale will be used.


Array[Vector3i] parse_structured_text(parser_type: StructuredTextParser, args: Array, text: String) const 🔗

Реализация функции переопределения алгоритма BiDi по умолчанию.


String percent_sign(language: String = "") const 🔗

Устарело: Use TranslationServer.get_percent_sign() instead.

Returns the percent sign used in the given language.

If language is an empty string, the active locale will be used.


bool save_support_data(filename: String) const 🔗

Сохраняет необязательную базу данных TextServer (например, итераторы и словари прерываний ICU) в файл.

Примечание: Эта функция используется во время экспорта проекта для включения базы данных TextServer.


int shaped_get_run_count(shaped: RID) const 🔗

Возвращает количество однородных текстовых фрагментов в буфере.


Direction shaped_get_run_direction(shaped: RID, index: int) const 🔗

Возвращает направление выполнения текста index (в визуальном порядке).


RID shaped_get_run_font_rid(shaped: RID, index: int) const 🔗

Возвращает RID шрифта текстового потока index (в визуальном порядке).


int shaped_get_run_font_size(shaped: RID, index: int) const 🔗

Возвращает размер шрифта текстового фрагмента index (в визуальном порядке).


String shaped_get_run_language(shaped: RID, index: int) const 🔗

Возвращает язык текста index (в визуальном порядке).


Variant shaped_get_run_object(shaped: RID, index: int) const 🔗

Возвращает внедренный объект текстового потока index (в визуальном порядке).


Vector2i shaped_get_run_range(shaped: RID, index: int) const 🔗

Возвращает диапазон исходного текста для текстового прогона index (в визуальном порядке).


String shaped_get_run_text(shaped: RID, index: int) const 🔗

Возвращает исходный текст текстового прогона index (в визуальном порядке).


int shaped_get_span_count(shaped: RID) const 🔗

Возвращает количество текстовых диапазонов, добавленных с помощью shaped_text_add_string() или shaped_text_add_object().


Variant shaped_get_span_embedded_object(shaped: RID, index: int) const 🔗

Возвращает текстовый встроенный ключ объекта.


Variant shaped_get_span_meta(shaped: RID, index: int) const 🔗

Возвращает метаданные текстового диапазона.


Variant shaped_get_span_object(shaped: RID, index: int) const 🔗

Возвращает встроенный ключ объекта текстового диапазона.


String shaped_get_span_text(shaped: RID, index: int) const 🔗

Возвращает исходный текст диапазона текста.


String shaped_get_text(shaped: RID) const 🔗

Возвращает исходный текст текстового буфера, включая символы замены объектов.


void shaped_set_span_update_font(shaped: RID, index: int, fonts: Array[RID], size: int, opentype_features: Dictionary = {}) 🔗

Изменяет шрифт текстового диапазона, размер шрифта и функции OpenType, не изменяя текст.


bool shaped_text_add_object(shaped: RID, key: Variant, size: Vector2, inline_align: InlineAlignment = 5, length: int = 1, baseline: float = 0.0) 🔗

Добавляет встроенный объект в текстовый буфер, key должен быть уникальным. В тексте объект представлен как length символов замены объекта.


bool shaped_text_add_string(shaped: RID, text: String, fonts: Array[RID], size: int, opentype_features: Dictionary = {}, language: String = "", meta: Variant = null) 🔗

Добавляет текстовый диапазон и шрифт для его отображения в текстовом буфере.


void shaped_text_clear(rid: RID) 🔗

Очищает текстовый буфер (удаляет текст и встроенные объекты).


int shaped_text_closest_character_pos(shaped: RID, pos: int) const 🔗

Возвращает позицию составного символа, ближайшую к pos.


void shaped_text_draw(shaped: RID, canvas: RID, pos: Vector2, clip_l: float = -1, clip_r: float = -1, color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const 🔗

Нарисуйте фигурный текст на холсте в заданном месте, используя color. pos указывает самую левую точку базовой линии (для горизонтального расположения) или самую верхнюю точку базовой линии (для вертикального расположения). Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.

clip_l иclip_r являются смещениями относительно pos, направленными вправо при горизонтальном расположении и вниз при вертикальном расположении. Если clip_l не отрицателен, глифы, начинающиеся до смещения, обрезаются. Если clip_r не является отрицательным, глифы, заканчивающиеся после смещения, обрезаются.


void shaped_text_draw_outline(shaped: RID, canvas: RID, pos: Vector2, clip_l: float = -1, clip_r: float = -1, outline_size: int = 1, color: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const 🔗

Нарисуйте контур сформированного текста на холсте в заданной позиции, используя color. pos указывает самую левую точку базовой линии (для горизонтального расположения) или самую верхнюю точку базовой линии (для вертикального расположения). Если oversampling больше нуля, он используется как коэффициент передискретизации шрифта, в противном случае используются настройки передискретизации области просмотра.

clip_l и clip_r являются смещениями относительно pos, направленными вправо при горизонтальном расположении и вниз при вертикальном расположении. Если clip_l не отрицателен, глифы, начинающиеся до смещения, обрезаются. Если clip_r не является отрицательным, глифы, заканчивающиеся после смещения, обрезаются.


RID shaped_text_duplicate(rid: RID) 🔗

Duplicates shaped text buffer.


float shaped_text_fit_to_width(shaped: RID, width: float, justification_flags: BitField[JustificationFlag] = 3) 🔗

Изменяет ширину текста до указанной ширины, возвращает новую ширину текста.


float shaped_text_get_ascent(shaped: RID) const 🔗

Возвращает подъем текста (количество пикселей над базовой линией для горизонтальной компоновки или слева от базовой линии для вертикальной).

Примечание: Общий подъем может быть выше подъема шрифта, если некоторые глифы смещены от базовой линии.


Dictionary shaped_text_get_carets(shaped: RID, position: int) const 🔗

Возвращает формы кареток, соответствующие смещению символа position в тексте. Возвращаемая форма каретки — прямоугольник шириной в 1 пиксель.


PackedInt32Array shaped_text_get_character_breaks(shaped: RID) const 🔗

Возвращает массив границ составных символов.


int shaped_text_get_custom_ellipsis(shaped: RID) const 🔗

Возвращает символ многоточия, используемый для обрезки текста.


String shaped_text_get_custom_punctuation(shaped: RID) const 🔗

Возвращает список пользовательских знаков препинания, используемых для разбиения слов. Если задана пустая строка, используются значения по умолчанию сервера.


float shaped_text_get_descent(shaped: RID) const 🔗

Возвращает спуск текста (количество пикселей ниже базовой линии для горизонтальной компоновки или справа от базовой линии для вертикальной).

Примечание: Общий спуск может быть выше спуска шрифта, если некоторые глифы смещены от базовой линии.


Direction shaped_text_get_direction(shaped: RID) const 🔗

Возвращает направление текста.


Direction shaped_text_get_dominant_direction_in_range(shaped: RID, start: int, end: int) const 🔗

Возвращает доминирующее направление в диапазоне текста.


int shaped_text_get_ellipsis_glyph_count(shaped: RID) const 🔗

Возвращает количество глифов в многоточии.


Array[Dictionary] shaped_text_get_ellipsis_glyphs(shaped: RID) const 🔗

Возвращает массив глифов в многоточии.


int shaped_text_get_ellipsis_pos(shaped: RID) const 🔗

Возвращает положение многоточия.


int shaped_text_get_glyph_count(shaped: RID) const 🔗

Возвращает количество глифов в буфере.


Array[Dictionary] shaped_text_get_glyphs(shaped: RID) const 🔗

Возвращает массив глифов в визуальном порядке.


Vector2 shaped_text_get_grapheme_bounds(shaped: RID, pos: int) const 🔗

Возвращает границы составного символа как смещения от начала строки.


Direction shaped_text_get_inferred_direction(shaped: RID) const 🔗

Возвращает направление текста, выведенное алгоритмом BiDi.


PackedInt32Array shaped_text_get_line_breaks(shaped: RID, width: float, start: int = 0, break_flags: BitField[LineBreakFlag] = 3) const 🔗

Разбивает текст на строки и возвращает диапазоны символов для каждой строки.


PackedInt32Array shaped_text_get_line_breaks_adv(shaped: RID, width: PackedFloat32Array, start: int = 0, once: bool = true, break_flags: BitField[LineBreakFlag] = 3) const 🔗

Разбивает текст на строки и столбцы. Возвращает диапазоны символов для каждого сегмента.


int shaped_text_get_object_glyph(shaped: RID, key: Variant) const 🔗

Возвращает индекс глифа встроенного объекта.


Vector2i shaped_text_get_object_range(shaped: RID, key: Variant) const 🔗

Возвращает диапазон символов встроенного объекта.


Rect2 shaped_text_get_object_rect(shaped: RID, key: Variant) const 🔗

Возвращает ограничивающий прямоугольник встроенного объекта.


Array shaped_text_get_objects(shaped: RID) const 🔗

Возвращает массив встроенных объектов.


Orientation shaped_text_get_orientation(shaped: RID) const 🔗

Возвращает ориентацию текста.


RID shaped_text_get_parent(shaped: RID) const 🔗

Возвращает родительский буфер, из которого взята подстрока.


bool shaped_text_get_preserve_control(shaped: RID) const 🔗

Возвращает true, если текстовый буфер настроен для отображения управляющих символов.


bool shaped_text_get_preserve_invalid(shaped: RID) const 🔗

Возвращает true, если текстовый буфер настроен на отображение шестнадцатеричных кодов вместо недопустимых символов.

Примечание: Если установлено значение false, вместо недопустимых символов ничего не отображается.


Vector2i shaped_text_get_range(shaped: RID) const 🔗

Возвращает диапазон символов буфера подстроки в родительском буфере.


PackedVector2Array shaped_text_get_selection(shaped: RID, start: int, end: int) const 🔗

Возвращает прямоугольники выделения для указанного диапазона символов.


Vector2 shaped_text_get_size(shaped: RID) const 🔗

Возвращает размер текста.


int shaped_text_get_spacing(shaped: RID, spacing: SpacingType) const 🔗

Возвращает дополнительный интервал, добавленный между глифами или линиями в пикселях.


int shaped_text_get_trim_pos(shaped: RID) const 🔗

Возвращает положение обрезки выхода за пределы.


float shaped_text_get_underline_position(shaped: RID) const 🔗

Возвращает смещение подчеркивания в пикселях относительно базовой линии.


float shaped_text_get_underline_thickness(shaped: RID) const 🔗

Возвращает толщину подчеркивания.


float shaped_text_get_width(shaped: RID) const 🔗

Возвращает ширину (для горизонтального расположения) или высоту (для вертикального расположения) текста.


PackedInt32Array shaped_text_get_word_breaks(shaped: RID, grapheme_flags: BitField[GraphemeFlag] = 264, skip_grapheme_flags: BitField[GraphemeFlag] = 4) const 🔗

Разбивает текст на слова и возвращает массив диапазонов символов. Используйте grapheme_flags, чтобы задать, какие символы используются для разбиения.


bool shaped_text_has_object(shaped: RID, key: Variant) const 🔗

Returns true if an object with key is embedded in this shaped text buffer.


bool shaped_text_has_visible_chars(shaped: RID) const 🔗

Возвращает true, если текстовый буфер содержит какие-либо видимые символы.


int shaped_text_hit_test_grapheme(shaped: RID, coords: float) const 🔗

Возвращает индекс графемы с указанным смещением пикселей относительно базовой линии или -1, если ничего не найдено.


int shaped_text_hit_test_position(shaped: RID, coords: float) const 🔗

Возвращает смещение символа каретки на указанное смещение пикселей на базовой линии. Эта функция всегда возвращает допустимую позицию.


bool shaped_text_is_ready(shaped: RID) const 🔗

Возвращает true, если буфер успешно сформирован.


int shaped_text_next_character_pos(shaped: RID, pos: int) const 🔗

Возвращает конечную позицию составного символа, ближайшую к pos.


int shaped_text_next_grapheme_pos(shaped: RID, pos: int) const 🔗

Возвращает конечную позицию графемы, ближайшую к pos.


void shaped_text_overrun_trim_to_width(shaped: RID, width: float = 0, overrun_trim_flags: BitField[TextOverrunFlag] = 0) 🔗

Обрезает текст, если он превышает заданную ширину.


int shaped_text_prev_character_pos(shaped: RID, pos: int) const 🔗

Возвращает начальную позицию составного символа, ближайшую к pos.


int shaped_text_prev_grapheme_pos(shaped: RID, pos: int) const 🔗

Возвращает начальную позицию графемы, ближайшую к pos.


bool shaped_text_resize_object(shaped: RID, key: Variant, size: Vector2, inline_align: InlineAlignment = 5, baseline: float = 0.0) 🔗

Устанавливает новый размер и выравнивание внедренного объекта.


void shaped_text_set_bidi_override(shaped: RID, override: Array) 🔗

Переопределяет BiDi для структурированного текста.

Диапазоны переопределения должны охватывать весь исходный текст без перекрытий. Алгоритм BiDi будет использоваться для каждого диапазона отдельно.


void shaped_text_set_custom_ellipsis(shaped: RID, char: int) 🔗

Устанавливает символ многоточия, используемый для обрезки текста.


void shaped_text_set_custom_punctuation(shaped: RID, punct: String) 🔗

Задает список пользовательских знаков препинания, используемых для разрыва слов. Если задана пустая строка, используются значения по умолчанию сервера.


void shaped_text_set_direction(shaped: RID, direction: Direction = 0) 🔗

Устанавливает желаемое направление текста. Если установлено значение DIRECTION_AUTO, направление будет определяться на основе содержимого буфера и текущей локали.

Примечание: Направление игнорируется, если сервер не поддерживает функцию FEATURE_BIDI_LAYOUT (поддерживается TextServerAdvanced).


void shaped_text_set_orientation(shaped: RID, orientation: Orientation = 0) 🔗

Устанавливает желаемую ориентацию текста.

Примечание: Ориентация игнорируется, если сервер не поддерживает функцию FEATURE_VERTICAL_LAYOUT (поддерживается TextServerAdvanced).


void shaped_text_set_preserve_control(shaped: RID, enabled: bool) 🔗

Если установлено значение true, текстовый буфер будет отображать управляющие символы.


void shaped_text_set_preserve_invalid(shaped: RID, enabled: bool) 🔗

Если установлено значение true, текстовый буфер будет отображать недопустимые символы в виде шестнадцатеричных кодов, в противном случае ничего не отображается.


void shaped_text_set_spacing(shaped: RID, spacing: SpacingType, value: int) 🔗

Устанавливает дополнительный интервал между глифами или линиями в пикселях.


bool shaped_text_shape(shaped: RID) 🔗

Формирует буфер, если он не сформирован. Возвращает true, если строка сформирована успешно.

Примечание: Нет необходимости вызывать эту функцию вручную, буфер будет сформирован автоматически, как только будут запрошены какие-либо его выходные данные.


Array[Dictionary] shaped_text_sort_logical(shaped: RID) 🔗

Возвращает текстовые глифы в логическом порядке.


RID shaped_text_substr(shaped: RID, start: int, length: int) const 🔗

Возвращает текстовый буфер для подстроки текста в текстовом буфере shaped (включая встроенные объекты).


float shaped_text_tab_align(shaped: RID, tab_stops: PackedFloat32Array) 🔗

Выравнивает сформированный текст по заданным позициям табуляции.


bool spoof_check(string: String) const 🔗

Возвращает true, если string скорее всего является попыткой запутать читателя.

Примечание: Всегда возвращает false, если сервер не поддерживает функцию FEATURE_UNICODE_SECURITY.


PackedInt32Array string_get_character_breaks(string: String, language: String = "") const 🔗

Возвращает массив границ составных символов.

var ts = TextServerManager.get_primary_interface()
print(ts.string_get_character_breaks("Test ❤️‍🔥 Test")) # Prints [1, 2, 3, 4, 5, 9, 10, 11, 12, 13, 14]

PackedInt32Array string_get_word_breaks(string: String, language: String = "", chars_per_line: int = 0) const 🔗

Возвращает массив границ разрывов слов. Элементы в возвращаемом массиве являются смещениями начала и конца слов. Поэтому длина массива всегда четная.

Когда chars_per_line больше нуля, вместо этого возвращаются границы разрывов строк.

var ts = TextServerManager.get_primary_interface()
# Соответствует подстрокам "The", "Godot", "Engine", и "4".
print(ts.string_get_word_breaks("The Godot Engine, 4")) # Prints [0, 3, 4, 9, 10, 16, 18, 19]
# Соответствует подстрокам "The", "Godot", "Engin", и"e, 4".
print(ts.string_get_word_breaks("The Godot Engine, 4", "en", 5)) # Prints [0, 3, 4, 9, 10, 15, 15, 19]
# Соответствует подстрокам "The Godot" и"Engine, 4".
print(ts.string_get_word_breaks("The Godot Engine, 4", "en", 10)) # Prints [0, 9, 10, 19]

String string_to_lower(string: String, language: String = "") const 🔗

Returns the string converted to lowercase.

Note: Casing is locale dependent and context sensitive if server support FEATURE_CONTEXT_SENSITIVE_CASE_CONVERSION feature (supported by TextServerAdvanced).

Note: The result may be longer or shorter than the original.


String string_to_title(string: String, language: String = "") const 🔗

Returns the string converted to Title Case.

Note: Casing is locale dependent and context sensitive if server support FEATURE_CONTEXT_SENSITIVE_CASE_CONVERSION feature (supported by TextServerAdvanced).

Note: The result may be longer or shorter than the original.


String string_to_upper(string: String, language: String = "") const 🔗

Returns the string converted to UPPERCASE.

Note: Casing is locale dependent and context sensitive if server support FEATURE_CONTEXT_SENSITIVE_CASE_CONVERSION feature (supported by TextServerAdvanced).

Note: The result may be longer or shorter than the original.


String strip_diacritics(string: String) const 🔗

Удаляет диакритические знаки из строки.

Примечание: Результат может быть длиннее или короче оригинала.


String tag_to_name(tag: int) const 🔗

Converts the given OpenType tag to the readable name of a feature, variation, script, or language.