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.

ResourceImporterDynamicFont

Успадковує: ResourceImporter < RefCounted < Object

Імпорт TTF, TTC, OTF, OTC, WOFF або WOFF2 файл шрифту для відтворення шрифту, який адаптується до будь-якого розміру.

Опис

На відміну від шрифтів бітма, динамічні шрифти можуть бути негабаритними до будь-якого розміру і все ще виглядають хрусткими. Динамічні шрифти також необов'язково підтримують MSDF шрифти, що дозволяє змінювати часові масштаби без вартості відновлення.

Незважаючи на те, що WOFF і особливо WOFF2, як правило, призводить до менших розмірів файлів, немає універсально "better" формат шрифту. У більшості випадків рекомендується використовувати формат шрифту, який було відправлено на сайті розробника шрифту.

Також ResourceImporterBMFont і ResourceImporterImageFont.

Посібники

Властивості

bool

allow_system_fallback

true

int

antialiasing

1

bool

compress

true

bool

disable_embedded_bitmaps

true

Array

fallbacks

[]

bool

force_autohinter

false

bool

generate_mipmaps

false

int

hinting

3

bool

keep_rounding_remainders

true

Dictionary

language_support

{}

bool

modulate_color_glyphs

false

int

msdf_pixel_range

8

int

msdf_size

48

bool

multichannel_signed_distance_field

false

Dictionary

opentype_features

{}

float

oversampling

0.0

Array

preload

[]

Dictionary

script_support

{}

int

subpixel_positioning

4


Описи властивостей

bool allow_system_fallback = true 🔗

Якщо true, автоматично використовуйте шрифти системи в режимі реального часу, якщо гліф не знайдений в цьому динамічному шрифті. Це робить підтримку символів CJK або смайлів більш прямо вперед, оскільки вам не потрібно включати шрифт CJK / смайл у вашому проекті. Дивись також fallbacks.

Примітка: Зовнішній вигляд системних шрифтів змінюється на платформах. Завантаження шрифтів системи підтримується тільки на Windows, macOS, Linux, Android та iOS.


int antialiasing = 1 🔗

Метод згладжування шрифтів, який слід використовувати.

Вимкнено: Найбільше підходить для шрифтів піксельної графіки, хоча вам не потрібно змінювати згладжування зі стандартного значення Відтінки сірого, якщо файл шрифту був створений належним чином, і шрифт використовується з цілочисельним кратним його запланованого розміру. Якщо шрифти піксельної графіки мають поганий вигляд при запланованому розмірі, спробуйте встановити для subpixel_positioning значення Вимкнено.

Відтінки сірого: Використовуйте згладжування у відтінках сірого. Цей підхід використовується операційною системою на macOS, Android та iOS.

Субпіксель РК-дисплеїв: Використовуйте згладжування з шаблонами субпікселів, щоб зробити шрифти чіткішими на РК-дисплеях. Цей підхід використовується операційною системою на Windows та більшості дистрибутивів Linux. Недоліком є те, що це може призвести до появи «облямівки» по краях, особливо на технологіях відображення, які не використовують стандартні субпікселі RGB (таких як OLED-дисплеї). Розташування субпікселів РК-дисплея глобально контролюється ProjectSettings.gui/theme/lcd_subpixel_layout, що також дозволяє повернутися до згладжування у градаціях сірого.


bool compress = true 🔗

Якщо true, використовує стиснення без втрат для отриманого шрифту.


bool disable_embedded_bitmaps = true 🔗

Якщо встановити на true, вбудоване завантаження бітма в шрифті вимкнено (розрядні та кольорові шрифти ігнорують цю властивість).


Array fallbacks = [] 🔗

Список резервних шрифтів, які слід використовувати, якщо гліф не знайдено в цьому динамічному шрифті. Спочатку намагаються використовувати шрифти на початку масиву, але Резервні шрифти, які не підтримують мову та шрифт гліфа, намагаються використовувати останніми (див. language_support і script_support). Див. також allow_system_fallback.


bool force_autohinter = false 🔗

Якщо true, примусово генерується дані підказок для шрифту за допомогою автоматичного підказника FreeType. Це зробить hinting ефективними для шрифтів, які не містять даних підказок.


bool generate_mipmaps = false 🔗

Якщо значення true, для цього шрифту будуть згенеровані міп-мапи. Це запобігає зернистості тексту під час зменшення масштабу Control або під час перегляду Label3D з великої відстані (якщо для Label3D.texture_filter встановлено режим відображення міп-мап).

Увімкнення generate_mipmaps збільшує час генерації шрифту та використання пам'яті. Увімкніть цей параметр, лише якщо він вам дійсно потрібен.


int hinting = 3 🔗

Режим хінтингу, який слід використовувати. Цей параметр визначає, наскільки точно краї гліфів мають прив’язуватися до пікселів під час растрування шрифту. Залежно від особистих уподобань, ви можете віддати перевагу одному режиму хінтингу над іншим. Режими хінтингу, крім None, діють лише в тому випадку, якщо шрифт містить дані хінтингу (див. force_autohinter).

None: Найбільш плавний вигляд, що може зробити шрифт розмитим при малих розмірах.

Light: Чіткий результат завдяки прив'язці країв гліфів до пікселів лише по осі Y.

Normal: Найчіткіший результат завдяки прив'язці країв гліфів до пікселів як по осі X, так і по осі Y.

Light (Except Pixel Fonts): Вимкнено для шрифтів піксельного стилю (контури кожного гліфа містять лише прямі горизонтальні та вертикальні лінії), Легкий для інших шрифтів.

Нормальний (крім піксельних шрифтів): Вимкнено для шрифтів піксельного стилю (контури кожного гліфа містять лише прямі горизонтальні та вертикальні лінії), Нормальний для інших шрифтів.


bool keep_rounding_remainders = true 🔗

Якщо встановлено значення true, під час вирівнювання гліфів до меж пікселів залишки округлення накопичуються для забезпечення більш рівномірного розподілу гліфів. Цей параметр не діє, якщо ввімкнено субпіксельне позиціонування.


Dictionary language_support = {} 🔗

Зазначте список мов, що підтримується цим шрифтом. Якщо зліва порожній, це подається метаданих шрифтів. Як правило, немає необхідності змінити це. Дивись ще script_support.


bool modulate_color_glyphs = false 🔗

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


int msdf_pixel_range = 8 🔗

Ширина діапазону навколо форми між мінімальною і максимальною відкритою Якщо ви використовуєте шрифти, пам'ятний msdf_pixel_range необхідно встановити принаймні twice розмір найбільшого шрифту. 8 дозволяє визначити розміри до 4, щоб виглядати правильно.


int msdf_size = 48 🔗

Розмір шрифту джерела використовується для створення текстур MSDF. Найвищі значення дозволяють більш точність, але повільніше рендерити і вимагати більше пам'яті. Тільки збільшити це значення, якщо ви помітили видимий недолік точності в рендерингу glyph. true.


bool multichannel_signed_distance_field = false 🔗

Якщо встановлено значення true, шрифт використовуватиме багатоканальне поле відстані зі знаком (MSDF) для чіткого відтворення будь-якого розміру. Оскільки цей підхід не покладається на растеризацію шрифту щоразу, коли змінюється його розмір, це дозволяє змінювати розмір шрифту в режимі реального часу без будь-яких втрат продуктивності. Текст також не виглядатиме зернистим для Controls, які зменшено (або для Label3Ds, які переглядаються з великої відстані).

Візуалізацію шрифтів MSDF можна поєднати з generate_mipmaps, щоб ще більше покращити якість відтворення шрифтів у зменшеному масштабі.


Dictionary opentype_features = {} 🔗

Особливості OpenType, щоб увімкнути або встановити значення для цього шрифту. Це може бути використаний для включення додаткових функцій, передбачених шрифтом, таких як лігатури або альтернативні гліфи. Перелік підтриманих функцій OpenType змінюється на основі шрифту.


float oversampling = 0.0 🔗

Якщо встановлено додатне значення, перевизначає коефіцієнт передискретизації області перегляду, в якій використовується цей шрифт. Див. Viewport.oversampling. Це значення не перевизначає параметр oversampling методів draw_*.


Array preload = [] 🔗

Гліфові діапазони до пререндеру. Це може уникнути затирання під час гри, коли нові символи повинні бути надані, особливо якщо subpixel_positioning включений. Знизу використання перевантаження є те, що початкові терміни навантаження проекту будуть збільшуватися, а також використання пам'яті.


Dictionary script_support = {} 🔗

Зазначте список мовних сценаріїв, що підтримується цим шрифтом. Якщо зліва порожній, це подається метаданих шрифтів. Як правило, немає необхідності змінити це. Дивись також language_support.


int subpixel_positioning = 4 🔗

Субпіксельне позиціонування покращує вигляд шрифту, особливо при малих розмірах. Недоліком є те, що початкове відтворення шрифту займає більше часу, що може спричинити затримки під час гри, особливо при використанні великих розмірів шрифту. Для шрифтів у стилі піксель-арту цей параметр слід встановити на Вимкнено.

Вимкнено: Субпіксельне позиціонування не використовується. Найнижча якість, найшвидше відтворення.

Авто: Використовувати субпіксельне позиціонування при малих розмірах шрифту (вибрана якість залежить від розміру шрифту). Великі шрифти не використовуватимуть субпіксельне позиціонування. Це хороший компроміс між продуктивністю та якістю.

Половина пікселя: Завжди виконувати проміжне субпіксельне позиціонування незалежно від розміру шрифту. Висока якість, повільне відтворення.

Чверть пікселя: Завжди виконувати точне субпіксельне позиціонування незалежно від розміру шрифту. Найвища якість, найповільніше відтворення.

Авто (крім піксельних шрифтів): Вимкнено для шрифтів піксельного стилю (контури кожного гліфа містять лише прямі горизонтальні та вертикальні лінії), Авто для інших шрифтів.