ResourceImporterDynamicFont
Наследует: ResourceImporter < RefCounted < Object
Импортирует файл шрифта TTF, TTC, OTF, OTC, WOFF или WOFF2 для рендеринга шрифта, адаптируемого к любому размеру.
Описание
В отличие от растровых шрифтов, динамические шрифты можно изменять до любого размера, и они по-прежнему будут выглядеть четкими. Динамические шрифты также опционально поддерживают рендеринг шрифтов MSDF, что позволяет изменять масштаб во время выполнения без затрат на повторную растеризацию.
Хотя WOFF и особенно WOFF2, как правило, приводят к меньшим размерам файлов, не существует универсального «лучшего» формата шрифта. В большинстве ситуаций рекомендуется использовать формат шрифта, предоставленный на веб-сайте разработчика шрифта.
См. также ResourceImporterBMFont и ResourceImporterImageFont.
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Описания свойств
bool allow_system_fallback = true 🔗
Если true, автоматически использовать системные шрифты в качестве резерва, если глиф не найден в этом динамическом шрифте. Это упрощает поддержку символов CJK или эмодзи, поскольку вам не нужно включать шрифт CJK/эмодзи в свой проект. См. также fallbacks.
Примечание: Внешний вид системных шрифтов различается на разных платформах. Загрузка системных шрифтов поддерживается только в Windows, macOS, Linux, Android и iOS.
Метод сглаживания шрифта, который следует использовать.
Отключено: Наиболее подходит для шрифтов пиксельной графики, хотя вам не нужно менять сглаживание со значения по умолчанию Оттенки серого, если файл шрифта был хорошо создан и шрифт используется в целочисленном кратном от предполагаемого размера. Если шрифты пиксельной графики выглядят плохо при предполагаемом размере, попробуйте вместо этого установить subpixel_positioning на Отключено.
Оттенки серого: Использовать сглаживание в оттенках серого. Этот подход используется операционной системой на macOS, Android и iOS.
Субпиксель ЖК-дисплея: Использовать сглаживание с субпиксельными шаблонами, чтобы сделать шрифты более четкими на ЖК-дисплеях. Этот подход используется операционной системой на Windows и большинстве дистрибутивов Linux. Недостатком является то, что это может привести к появлению "окантовки" на краях, особенно на дисплеях, которые не используют стандартные субпиксели RGB (например, OLED-дисплеи). Макет субпикселей ЖК-дисплея глобально контролируется ProjectSettings.gui/theme/lcd_subpixel_layout, что также позволяет вернуться к сглаживанию в оттенках серого.
Если true, используется сжатие без потерь для результирующего шрифта.
bool disable_embedded_bitmaps = true 🔗
Если задано значение true, загрузка встроенного растрового изображения шрифта отключена (только растровые и цветные шрифты игнорируют это свойство).
Список резервных шрифтов для использования, если глиф не найден в этом динамическом шрифте. Шрифты в начале массива пробуются первыми, но резервные шрифты, которые не поддерживают язык и скрипт глифа, пробуются последними (см. language_support и script_support). См. также allow_system_fallback.
bool force_autohinter = false 🔗
Если true, принудительно генерирует данные хинтинга для шрифта с использованием FreeType's autohinter. Это сделает hinting эффективным для шрифтов, которые не включают данные хинтинга.
bool generate_mipmaps = false 🔗
Если true, этот шрифт будет иметь сгенерированные mip-карты. Это предотвращает зернистость текста при уменьшении масштаба Control или при просмотре Label3D с большого расстояния (если Label3D.texture_filter установлен в режим, который отображает mip-карты).
Включение generate_mipmaps увеличивает время генерации шрифта и использование памяти. Включайте этот параметр только в том случае, если он вам действительно нужен.
The hinting mode to use. This controls how aggressively glyph edges should be snapped to pixels when rasterizing the font. Depending on personal preference, you may prefer using one hinting mode over the other. Hinting modes other than None are only effective if the font contains hinting data (see force_autohinter).
None: Smoothest appearance, which can make the font look blurry at small sizes.
Light: Sharp result by snapping glyph edges to pixels on the Y axis only.
Normal: Sharpest by snapping glyph edges to pixels on both X and Y axes.
bool keep_rounding_remainders = true 🔗
Если установлено значение true, при выравнивании глифов по границам пикселей остатки округления накапливаются для обеспечения более равномерного распределения глифов. Этот параметр не действует, если включено субпиксельное позиционирование.
Dictionary language_support = {} 🔗
Переопределить список языков, поддерживаемых этим шрифтом. Если оставить пустым, это будет предоставлено метаданными шрифта. Обычно нет необходимости менять это. См. также script_support.
bool modulate_color_glyphs = false 🔗
Если установлено значение true, цветовая модуляция применяется при рисовании цветных глифов, в противном случае она применяется только к монохромным глифам.
Ширина диапазона вокруг фигуры между минимальным и максимальным представимым расстоянием со знаком. При использовании контуров шрифта msdf_pixel_range должен быть установлен как минимум в дважды больше размера самого большого контура шрифта. Значение msdf_pixel_range по умолчанию 8 позволяет контурам размером до 4 выглядеть правильно.
Размер исходного шрифта, используемый для генерации текстур MSDF. Более высокие значения обеспечивают большую точность, но медленнее отрисовываются и требуют больше памяти. Увеличивайте это значение только в том случае, если вы заметили видимую неточность в отрисовке глифов. Эффективно только если multichannel_signed_distance_field имеет значение true.
bool multichannel_signed_distance_field = false 🔗
Если установлено значение true, шрифт будет использовать многоканальное поле расстояний со знаком (MSDF) для четкой визуализации при любом размере. Поскольку этот подход не предполагает растеризацию шрифта каждый раз при изменении его размера, это позволяет изменять размер шрифта в реальном времени без потери производительности. Текст также не будет выглядеть зернистым для Control, которые масштабируются в уменьшенном масштабе (или для Label3D, просматриваемых с большого расстояния).
Рендеринг шрифта MSDF можно объединить с generate_mipmaps для дальнейшего улучшения качества визуализации шрифта при уменьшении масштаба.
Dictionary opentype_features = {} 🔗
Функции OpenType для включения, отключения или установки значения для этого шрифта. Это может быть использовано для включения дополнительных функций, предоставляемых шрифтом, таких как лигатуры или альтернативные глифы. Список поддерживаемых функций OpenType зависит от шрифта.
Положительное значение переопределяет коэффициент передискретизации области просмотра, в которой используется этот шрифт. См. Viewport.oversampling. Это значение не переопределяет параметр oversampling методов draw_*.
Глиф варьируется в пределах предварительной визуализации. Это позволяет избежать заиканий во время игры, когда необходимо отрисовывать новых персонажей, особенно если включен subpixel_positioning. Недостатком использования preloading является то, что увеличится время начальной загрузки проекта, а также использование памяти.
Dictionary script_support = {} 🔗
Переопределить список поддерживаемых шрифтом языковых скриптов. Если оставить пустым, это будет предоставлено метаданными шрифта. Обычно нет необходимости менять это. См. также language_support.
int subpixel_positioning = 4 🔗
Субпиксельное позиционирование улучшает внешний вид рендеринга шрифта, особенно при небольших размерах шрифта. Недостатком является то, что требуется больше времени для первоначальной отрисовки шрифта, что может вызвать заикание во время игры, особенно при использовании больших размеров шрифта. Это должно быть установлено на Отключено для шрифтов с пиксельным внешним видом.
Отключено: Без субпиксельного позиционирования. Самое низкое качество, самая быстрая отрисовка.
Авто: Использовать субпиксельное позиционирование при малых размерах шрифта (выбранное качество зависит от размера шрифта). Большие шрифты не будут использовать субпиксельное позиционирование. Это хороший компромисс между производительностью и качеством.
Половина пикселя: Всегда выполнять промежуточное субпиксельное позиционирование независимо от размера шрифта. Высокое качество, медленная отрисовка.
Четверть пикселя: Всегда выполнять точное субпиксельное позиционирование независимо от размера шрифта. Самое высокое качество, самая медленная отрисовка.
Авто (кроме пиксельных шрифтов): Отключено для шрифтов в пиксельном стиле (контуры каждого глифа содержат только прямые горизонтальные и вертикальные линии), Авто для остальных шрифтов.