Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
FontFile
Успадковує: Font < Resource < RefCounted < Object
Утримувати дані джерела шрифтів і попередньо відхилений кеш-пам'яті glyph, імпортований з динамічного або бітмапа.
Опис
FontFile містить набір гліфів для представлення символів Unicode, імпортованих із файлу шрифту, а також кеш растеризованих гліфів і набір резервних Font для використання.
Використовуйте FontVariation, щоб отримати доступ до певної варіації шрифту OpenType, створити імітацію жирного/похилого шрифту та намалювати рядки тексту.
Для більш складної обробки тексту використовуйте FontVariation у поєднанні з TextLine або TextParagraph.
Підтримувані формати шрифтів:
— Імпорт динамічних шрифтів: TrueType (.ttf), TrueType collection (.ttc), OpenType (.otf), OpenType collection (.otc), WOFF (.woff), WOFF2 (.woff2), Type 1 (.pfb, .pfm).
— Імпорт растрових шрифтів: AngelCode BMFont (.fnt, .font), текстовий і двійковий (версія 3) формати.
— Імпорт шрифтів моноширинних зображень: усі підтримувані формати зображень.
Примітка: Символ — це символ, який представляє елемент (літеру, цифру тощо) абстрактним способом.
Примітка. Гліф — це растрове зображення або фігура, яка використовується для малювання одного чи кількох символів залежно від контексту. Індекси гліфів прив’язані до певного джерела даних шрифту.
Примітка: Якщо жодне з джерел даних шрифту не містить гліфів для символу, що використовується в рядку, символ, про який йде мова, буде замінено полем із відображенням його шістнадцяткового коду.
var f = load("res://BarlowCondensed-Bold.ttf")
$Label.add_theme_font_override("font", f)
$Label.add_theme_font_size_override("size_font", 64)
var f = ResourceLoader.Load<FontFile>("res://BarlowCondensed-Bold.ttf");
GetNode("Label").AddThemeFontOverride("font", f);
GetNode("Label").AddThemeFontSizeOverride("font_size", 64);
Посібники
Властивості
|
||
FontAntialiasing |
|
|
PackedByteArray |
|
|
|
||
|
||
FixedSizeScaleMode |
|
|
String |
|
|
|
||
BitField[FontStyle] |
|
|
|
||
|
||
|
||
Hinting |
|
|
|
||
|
||
|
||
|
||
|
||
|
||
|
||
String |
|
|
SubpixelPositioning |
|
Методи
void |
|
void |
clear_glyphs(cache_index: int, size: Vector2i) |
void |
clear_kerning_map(cache_index: int, size: int) |
void |
clear_size_cache(cache_index: int) |
void |
clear_textures(cache_index: int, size: Vector2i) |
get_cache_ascent(cache_index: int, size: int) const |
|
get_cache_count() const |
|
get_cache_descent(cache_index: int, size: int) const |
|
get_cache_scale(cache_index: int, size: int) const |
|
get_cache_underline_position(cache_index: int, size: int) const |
|
get_cache_underline_thickness(cache_index: int, size: int) const |
|
get_char_from_glyph_index(size: int, glyph_index: int) const |
|
get_embolden(cache_index: int) const |
|
get_extra_baseline_offset(cache_index: int) const |
|
get_extra_spacing(cache_index: int, spacing: SpacingType) const |
|
get_face_index(cache_index: int) const |
|
Vector2 |
get_glyph_advance(cache_index: int, size: int, glyph: int) const |
get_glyph_index(size: int, char: int, variation_selector: int) const |
|
PackedInt32Array |
get_glyph_list(cache_index: int, size: Vector2i) const |
Vector2 |
get_glyph_offset(cache_index: int, size: Vector2i, glyph: int) const |
Vector2 |
get_glyph_size(cache_index: int, size: Vector2i, glyph: int) const |
get_glyph_texture_idx(cache_index: int, size: Vector2i, glyph: int) const |
|
Rect2 |
get_glyph_uv_rect(cache_index: int, size: Vector2i, glyph: int) const |
Vector2 |
get_kerning(cache_index: int, size: int, glyph_pair: Vector2i) const |
Array[Vector2i] |
get_kerning_list(cache_index: int, size: int) const |
get_language_support_override(language: String) const |
|
PackedStringArray |
get_language_support_overrides() const |
get_script_support_override(script: String) const |
|
PackedStringArray |
get_script_support_overrides() const |
Array[Vector2i] |
get_size_cache_list(cache_index: int) const |
get_texture_count(cache_index: int, size: Vector2i) const |
|
get_texture_image(cache_index: int, size: Vector2i, texture_index: int) const |
|
PackedInt32Array |
get_texture_offsets(cache_index: int, size: Vector2i, texture_index: int) const |
Transform2D |
get_transform(cache_index: int) const |
get_variation_coordinates(cache_index: int) const |
|
load_bitmap_font(path: String) |
|
load_dynamic_font(path: String) |
|
void |
remove_cache(cache_index: int) |
void |
remove_glyph(cache_index: int, size: Vector2i, glyph: int) |
void |
remove_kerning(cache_index: int, size: int, glyph_pair: Vector2i) |
void |
remove_language_support_override(language: String) |
void |
remove_script_support_override(script: String) |
void |
remove_size_cache(cache_index: int, size: Vector2i) |
void |
remove_texture(cache_index: int, size: Vector2i, texture_index: int) |
void |
render_glyph(cache_index: int, size: Vector2i, index: int) |
void |
render_range(cache_index: int, size: Vector2i, start: int, end: int) |
void |
set_cache_ascent(cache_index: int, size: int, ascent: float) |
void |
set_cache_descent(cache_index: int, size: int, descent: float) |
void |
set_cache_scale(cache_index: int, size: int, scale: float) |
void |
set_cache_underline_position(cache_index: int, size: int, underline_position: float) |
void |
set_cache_underline_thickness(cache_index: int, size: int, underline_thickness: float) |
void |
set_embolden(cache_index: int, strength: float) |
void |
set_extra_baseline_offset(cache_index: int, baseline_offset: float) |
void |
set_extra_spacing(cache_index: int, spacing: SpacingType, value: int) |
void |
set_face_index(cache_index: int, face_index: int) |
void |
set_glyph_advance(cache_index: int, size: int, glyph: int, advance: Vector2) |
void |
set_glyph_offset(cache_index: int, size: Vector2i, glyph: int, offset: Vector2) |
void |
set_glyph_size(cache_index: int, size: Vector2i, glyph: int, gl_size: Vector2) |
void |
set_glyph_texture_idx(cache_index: int, size: Vector2i, glyph: int, texture_idx: int) |
void |
set_glyph_uv_rect(cache_index: int, size: Vector2i, glyph: int, uv_rect: Rect2) |
void |
set_kerning(cache_index: int, size: int, glyph_pair: Vector2i, kerning: Vector2) |
void |
set_language_support_override(language: String, supported: bool) |
void |
set_script_support_override(script: String, supported: bool) |
void |
set_texture_image(cache_index: int, size: Vector2i, texture_index: int, image: Image) |
void |
set_texture_offsets(cache_index: int, size: Vector2i, texture_index: int, offset: PackedInt32Array) |
void |
set_transform(cache_index: int, transform: Transform2D) |
void |
set_variation_coordinates(cache_index: int, variation_coordinates: Dictionary) |
Описи властивостей
bool allow_system_fallback = true 🔗
Якщо встановити на true, можна автоматично використовувати шрифти системи.
FontAntialiasing antialiasing = 1 🔗
void set_antialiasing(value: FontAntialiasing)
FontAntialiasing get_antialiasing()
Шрифт антиалюзивний режим.
PackedByteArray data = PackedByteArray() 🔗
void set_data(value: PackedByteArray)
PackedByteArray get_data()
Зміст динамічного файлу джерела шрифту.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedByteArray for more details.
bool disable_embedded_bitmaps = true 🔗
Якщо встановити на true, вбудоване завантаження бітма в шрифті вимкнено (розрядні та кольорові шрифти ігнорують цю властивість).
Розмір шрифту, що використовується тільки для шрифтів бітма.
FixedSizeScaleMode fixed_size_scale_mode = 0 🔗
void set_fixed_size_scale_mode(value: FixedSizeScaleMode)
FixedSizeScaleMode get_fixed_size_scale_mode()
Режим масштабування, що використовується лише для растрових шрифтів з fixed_size, більшим за нуль.
String font_name = "" 🔗
void set_font_name(value: String)
String get_font_name()
Ім'я родини шрифтів.
Розмір шрифту, у порівнянні з нормальною шириною. Відсоткова вартість між 50% і 200%.
BitField[FontStyle] font_style = 0 🔗
void set_font_style(value: BitField[FontStyle])
BitField[FontStyle] get_font_style()
Прапори стилю шрифту.
Вага (брудність) шрифту. Значення в діапазоні 100...999, нормальна вага шрифту 400, незначна вага шрифту 700.
bool force_autohinter = false 🔗
Якщо встановити до true, автоматично закріплюється і віддають перевагу над шрифтом вбудованим натяком. Використовуються тільки динамічні шрифти (MSDF шрифти не підтримують підказки).
bool generate_mipmaps = false 🔗
Якщо встановити на true, генеруйте карти для текстур шрифту.
Hinting hinting = 1 🔗
void set_hinting(value: Hinting)
Hinting get_hinting()
Режим натяження шрифту. Використовується тільки динамічними шрифтами.
bool keep_rounding_remainders = true 🔗
Якщо встановлено значення true, під час вирівнювання гліфів до меж пікселів залишки округлення накопичуються для забезпечення більш рівномірного розподілу гліфів. Цей параметр не діє, якщо ввімкнено субпіксельне позиціонування.
bool modulate_color_glyphs = false 🔗
Якщо встановлено значення true, колірна модуляція застосовується під час малювання кольорових гліфів, інакше вона застосовується лише до монохромних гліфів.
Ширина діапазону навколо форми між мінімальною і максимальною відкритою Якщо ви використовуєте шрифти, msdf_pixel_range необхідно встановити принаймні twice розмір найбільшого шрифту. 16 дозволяє визначити розміри до 8, щоб виглядати правильно.
Розмір шрифту джерела використовується для створення текстур MSDF. Найвищі значення дозволяють більш точність, але повільніше рендерити і вимагати більше пам'яті. Тільки збільшити це значення, якщо ви помітили видимий недолік точності в рендерингу glyph.
bool multichannel_signed_distance_field = false 🔗
void set_multichannel_signed_distance_field(value: bool)
bool is_multichannel_signed_distance_field()
Якщо встановити до true, glyphs всіх розмірів подаються за допомогою одного багатоканального пульта дистанційного поля (MSDF) з динамічних даних шрифтів. Оскільки цей підхід не спирається на растровий шрифт кожного разу його зміни розміру, це дозволяє переосмислити шрифт в режимі реального часу без штрафних характеристик. Текст також не буде виглядати зерно для Control, які масштабуються (або для Label3D, виданого з далекої відстані. Як знизу, підказка шрифту не доступна з MSDF. Недолік шрифту може призвести до меншої кількості хрустких і менш читаних шрифтів у невеликих розмірах.
Примітка: Якщо за допомогою контурів шрифтів, msdf_pixel_range повинна бути встановлена принаймні twice розмір найбільшого шрифту.
Примітка: MSDF шрифт рендеринг не рендерує гліфи з перекриттям форм правильно. Передавання форм не діє за стандартом OpenType, але все ще зустрічається в багатьох файлах шрифту, особливо тих, які перетворюються на Google Fonts. Щоб уникнути проблем з перекриттям гліфів, розгляньте завантаження файлу шрифту безпосередньо з вибраного типу замість перекриття на Google Fonts.
Dictionary opentype_feature_overrides = {} 🔗
void set_opentype_feature_overrides(value: Dictionary)
Dictionary get_opentype_feature_overrides()
Відкрито Функція типу встановлюється надряддя.
Якщо встановлено додатне значення, перевизначає коефіцієнт передискретизації області перегляду, в якій використовується цей шрифт. Див. Viewport.oversampling. Це значення не перевизначає параметр oversampling методів draw_*.
String style_name = "" 🔗
void set_font_style_name(value: String)
String get_font_style_name()
Ім'я стилю шрифту.
SubpixelPositioning subpixel_positioning = 1 🔗
void set_subpixel_positioning(value: SubpixelPositioning)
SubpixelPositioning get_subpixel_positioning()
Режим позиціонування шрифту glyph. Підпіксельне позиціонування забезпечує формувальний текст та кращий кермінг для менших розмірів шрифтів, за вартістю використання більшої кількості пам'яті та швидкості растрової обробки нижнього шрифту. Використовуйте TextServer. SUBPIXEL_SETTINGING_AUTO для автоматичного включення його на основі розміру шрифту.
Описи методів
void clear_cache() 🔗
Видаліть всі записи кешу шрифту.
void clear_glyphs(cache_index: int, size: Vector2i) 🔗
Видаліть всю інформацію про гліф з вхідного кешу.
Примітка: Ця функція не видаляє текстури, пов'язані з гліфами, використовувати видалення_текстура() для видалення їх вручну.
void clear_kerning_map(cache_index: int, size: int) 🔗
Видаліть всі накладки керма.
void clear_size_cache(cache_index: int) 🔗
Видаліть всі розміри шрифтів з вхідного кешу.
void clear_textures(cache_index: int, size: Vector2i) 🔗
Видаляє всі текстури з запису кешу шрифтів.
Примітка: Ця функція не видаляє гліфи, пов'язані з текстурою, використовуйте remove_glyph(), щоб видалити їх вручну.
float get_cache_ascent(cache_index: int, size: int) const 🔗
Повертає розмір шрифту (номер пікселів вище базової лінії).
Повертає кількість записів кешу шрифту.
float get_cache_descent(cache_index: int, size: int) const 🔗
Повертає піксельний спуск (номер пікселів нижче базової лінії).
float get_cache_scale(cache_index: int, size: int) const 🔗
Повертає фактор масштабування кольорового бітмапа шрифту.
float get_cache_underline_position(cache_index: int, size: int) const 🔗
Повертає піксельний зсув нижньої лінії нижче базової лінії.
float get_cache_underline_thickness(cache_index: int, size: int) const 🔗
Повертає товщину нижньої лінії в пікселях.
int get_char_from_glyph_index(size: int, glyph_index: int) const 🔗
Повертає код персонажа, пов'язаний з glyph_index, або 0, якщо glyph_index недійсний. get_glyph_index().
float get_embolden(cache_index: int) const 🔗
Повертає міцність емболдену, якщо не дорівнює нулю, емболденує параметри шрифту. Негативні значення зменшують товщину контуру.
float get_extra_baseline_offset(cache_index: int) const 🔗
Повертає додатковий базовий зсув (як дроб висоти шрифту).
int get_extra_spacing(cache_index: int, spacing: SpacingType) const 🔗
Повертає інтервал для spacing у пікселях (не відносно розміру шрифту).
int get_face_index(cache_index: int) const 🔗
Повертає індекс активного обличчя в колекції TrueType / OpenType.
Vector2 get_glyph_advance(cache_index: int, size: int, glyph: int) const 🔗
Повернення glyph заздалегідь (зміщення наступного glyph).
Примітка: Перевага для контурів glyph є таким же, як основа glyph заздалегідь і не збережена.
int get_glyph_index(size: int, char: int, variation_selector: int) const 🔗
Повертає індекс гліфів char, додатково модифікований version_selector.
PackedInt32Array get_glyph_list(cache_index: int, size: Vector2i) const 🔗
Повертає список рендерованих гліфів в записі кешу.
Vector2 get_glyph_offset(cache_index: int, size: Vector2i, glyph: int) const 🔗
Повернення гліфів з базової лінії.
Vector2 get_glyph_size(cache_index: int, size: Vector2i, glyph: int) const 🔗
Повертає розмір гліфів.
int get_glyph_texture_idx(cache_index: int, size: Vector2i, glyph: int) const 🔗
Повертає індекс кеш-фактури, що містить гліф.
Rect2 get_glyph_uv_rect(cache_index: int, size: Vector2i, glyph: int) const 🔗
Повертає прямокутник в текстурі кешу, що містить гліф.
Vector2 get_kerning(cache_index: int, size: int, glyph_pair: Vector2i) const 🔗
Повертає кермо для пари гліфів.
Array[Vector2i] get_kerning_list(cache_index: int, size: int) const 🔗
Повертає список кермових накладів.
bool get_language_support_override(language: String) const 🔗
Повертає true, якщо для language увімкнено заміну підтримки.
PackedStringArray get_language_support_overrides() const 🔗
Повернути список мовної підтримки.
bool get_script_support_override(script: String) const 🔗
Повертає true, якщо для сценарію script увімкнено перевизначення підтримки.
PackedStringArray get_script_support_overrides() const 🔗
Повертає список сценаріїв, що підтримує перевизначення.
Array[Vector2i] get_size_cache_list(cache_index: int) const 🔗
Повертає список розмірів шрифтів у кеші. Кожен розмір Vector2i з розмірами шрифту та розміром контурів.
int get_texture_count(cache_index: int, size: Vector2i) const 🔗
Повертає кількість текстур, що використовуються записом кешу шрифту.
Image get_texture_image(cache_index: int, size: Vector2i, texture_index: int) const 🔗
Повертає копію зображення кешу шрифту.
PackedInt32Array get_texture_offsets(cache_index: int, size: Vector2i, texture_index: int) const 🔗
Повертає копію масиву, що містить дані про упаковку glyph.
Transform2D get_transform(cache_index: int) const 🔗
Повертає 2D трансформацію, наноситься на шрифтові контури, може використовуватися для сланцевих, фліпихових і обертальних гліфів.
Dictionary get_variation_coordinates(cache_index: int) const 🔗
Повертає варіаційні координати за вказаний запис кешу шрифту. Див. Font.get_supported_variation_list() для отримання додаткової інформації.
Error load_bitmap_font(path: String) 🔗
Завантажує шрифт AngelCode BMFont (.fnt, .font) з файлу path.
Навігація: Цей метод повинен бути використаний тільки в редакторі або в випадках, коли вам потрібно завантажити зовнішні шрифти в режимі run-time, такі як шрифти, розташовані в каталозі user://.
Error load_dynamic_font(path: String) 🔗
Завантажує динамічний шрифт TrueType (.ttf), OpenType (.otf), WOFF (.woff), WOFF2 (.woff2) або Type 1 (.pfb, .pfm) із файлу path.
Попередження: Цей метод слід використовувати лише в редакторі або у випадках, коли вам потрібно завантажити зовнішні шрифти під час виконання, наприклад шрифти, розташовані за адресою user:// каталог.
void remove_cache(cache_index: int) 🔗
Вилучає вказаний запис кешу шрифту.
void remove_glyph(cache_index: int, size: Vector2i, glyph: int) 🔗
Видаліть зазначену інформацію про гліф з запису кешу.
Примітка: Ця функція не видаляє текстури, пов'язані з гліфами, використовувати remove_texture() для видалення їх вручну.
void remove_kerning(cache_index: int, size: int, glyph_pair: Vector2i) 🔗
Знімає кермовий наклад для пари гліфів.
void remove_language_support_override(language: String) 🔗
Видалення мовної підтримки наречених.
void remove_script_support_override(script: String) 🔗
Вилучає підтримку сценаріїв наднаряддя.
void remove_size_cache(cache_index: int, size: Vector2i) 🔗
Вилучає вказаний розмір шрифту з запису кешу.
void remove_texture(cache_index: int, size: Vector2i, texture_index: int) 🔗
Видаліть зазначену текстуру з вхідного кешу.
Примітка: Ця функція не виведе гліфи, пов'язані з фактурою. Видалити їх вручну за допомогою remove_glyph().
void render_glyph(cache_index: int, size: Vector2i, index: int) 🔗
Рендери вказані гліф до текстури кешу шрифту.
void render_range(cache_index: int, size: Vector2i, start: int, end: int) 🔗
Рендери діапазону символів до текстури кешу шрифту.
void set_cache_ascent(cache_index: int, size: int, ascent: float) 🔗
Встановлює сходження шрифту (номер пікселів над базовою лінією).
void set_cache_descent(cache_index: int, size: int, descent: float) 🔗
Налаштовує піксельний спуск (номер пікселів нижче базової лінії).
void set_cache_scale(cache_index: int, size: int, scale: float) 🔗
Встановлює фактор масштабування шрифту кольорової бітмапи.
void set_cache_underline_position(cache_index: int, size: int, underline_position: float) 🔗
Налаштовує піксельний зсув нижньої лінії нижче базової лінії.
void set_cache_underline_thickness(cache_index: int, size: int, underline_thickness: float) 🔗
Встановлює товщину нижньої лінії в пікселях.
void set_embolden(cache_index: int, strength: float) 🔗
Налаштовує емболдену міцність, якщо не дорівнює нулю, емболденує контури шрифту. Негативні значення зменшують товщину контуру.
void set_extra_baseline_offset(cache_index: int, baseline_offset: float) 🔗
Набори додаткового базового офсету (як дроб висоти шрифту).
void set_extra_spacing(cache_index: int, spacing: SpacingType, value: int) 🔗
Встановлює інтервал для spacing на value у пікселях (не відносно розміру шрифту).
void set_face_index(cache_index: int, face_index: int) 🔗
Встановіть активний індекс обличчя в колекції TrueType / OpenType.
void set_glyph_advance(cache_index: int, size: int, glyph: int, advance: Vector2) 🔗
Набори glyph заздалегідь (зміщення наступного glyph).
Примітка: Перевага для контурів glyph є таким же, як основа glyph заздалегідь і не збережена.
void set_glyph_offset(cache_index: int, size: Vector2i, glyph: int, offset: Vector2) 🔗
Комплекти гліфового офсету з базової лінії.
void set_glyph_size(cache_index: int, size: Vector2i, glyph: int, gl_size: Vector2) 🔗
Набори розмірів гліфів.
void set_glyph_texture_idx(cache_index: int, size: Vector2i, glyph: int, texture_idx: int) 🔗
Встановлює індекс кеш-фактури, що містить гліф.
void set_glyph_uv_rect(cache_index: int, size: Vector2i, glyph: int, uv_rect: Rect2) 🔗
Встановлює прямокутник в текстурі кешу, що містить гліф.
void set_kerning(cache_index: int, size: int, glyph_pair: Vector2i, kerning: Vector2) 🔗
Набори керма для пари гліфів.
void set_language_support_override(language: String, supported: bool) 🔗
Додає перевизначення для Font.is_language_supported().
void set_script_support_override(script: String, supported: bool) 🔗
Додає перевизначення для Font.is_script_supported().
void set_texture_image(cache_index: int, size: Vector2i, texture_index: int, image: Image) 🔗
Налаштовує зображення текстури шрифту кешу.
void set_texture_offsets(cache_index: int, size: Vector2i, texture_index: int, offset: PackedInt32Array) 🔗
Встановлює масив, що містить дані про упаковку glyph.
void set_transform(cache_index: int, transform: Transform2D) 🔗
Набори 2D трансформуються, нанесені на шрифтові контури, можуть використовуватися для сланцевих, флипсових і поворотних гліфів.
void set_variation_coordinates(cache_index: int, variation_coordinates: Dictionary) 🔗
Налаштовує координати варіації для вказаного запису кешу шрифту. Див. Font.get_supported_variation_list() для отримання додаткової інформації.