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

1

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 = 1 🔗

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

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

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

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


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 🔗

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

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

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

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

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

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