FontVariation

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

Вариант шрифта с дополнительными настройками.

Описание

Предоставляет вариации OpenType, имитацию жирного/наклонного начертания и дополнительные настройки шрифта, такие как функции OpenType и дополнительный интервал.

Чтобы использовать имитацию жирного шрифта:

var fv = FontVariation.new()
fv.base_font = load("res://BarlowCondensed-Regular.ttf")
fv.variation_embolden = 1.2
$Label.add_theme_font_override("font", fv)
$Label.add_theme_font_size_override("font_size", 64)

To set the coordinate of multiple variation axes:

var fv = FontVariation.new();
var ts = TextServerManager.get_primary_interface()
fv.base_font = load("res://BarlowCondensed-Regular.ttf")
fv.variation_opentype = { ts.name_to_tag("wght"): 900, ts.name_to_tag("custom_hght"): 900 }

Свойства

Font

base_font

float

baseline_offset

0.0

Dictionary

opentype_features

{}

int

spacing_bottom

0

int

spacing_glyph

0

int

spacing_space

0

int

spacing_top

0

float

variation_embolden

0.0

int

variation_face_index

0

Dictionary

variation_opentype

{}

Transform2D

variation_transform

Transform2D(1, 0, 0, 1, 0, 0)

Методы

void

set_spacing(spacing: SpacingType, value: int)


Описания свойств

Font base_font 🔗

  • void set_base_font(value: Font)

  • Font get_base_font()

Базовый шрифт, используемый для создания вариации. Если не задано, используется шрифт по умолчанию Theme.


float baseline_offset = 0.0 🔗

  • void set_baseline_offset(value: float)

  • float get_baseline_offset()

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


Dictionary opentype_features = {} 🔗

Набор тегов функций OpenType. Дополнительная информация: Теги функций OpenType.


int spacing_bottom = 0 🔗

Дополнительный интервал внизу строки в пикселях.


int spacing_glyph = 0 🔗

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


int spacing_space = 0 🔗

Дополнительная ширина пробельных глифов.


int spacing_top = 0 🔗

Дополнительный интервал в верхней части строки в пикселях.


float variation_embolden = 0.0 🔗

  • void set_variation_embolden(value: float)

  • float get_variation_embolden()

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

Примечание: У жирных шрифтов могут быть самопересекающиеся контуры, что помешает корректной работе шрифтов MSDF и TextMesh.


int variation_face_index = 0 🔗

  • void set_variation_face_index(value: int)

  • int get_variation_face_index()

Активный индекс шрифтов в файле коллекции TrueType/OpenType.


Dictionary variation_opentype = {} 🔗

Координаты вариаций шрифта OpenType. Дополнительная информация: Теги вариаций OpenType.

Примечание: Этот Dictionary использует теги OpenType в качестве ключей. Оси вариаций можно идентифицировать как по тегам (int, например 0x77678674), так и по именам (String, например wght). Некоторые оси могут быть доступны по нескольким именам. Например, wght относится к той же оси, что и weight. Теги, с другой стороны, уникальны. Для преобразования между именами и тегами используйте TextServer.name_to_tag() и TextServer.tag_to_name().

Примечание: Чтобы получить доступные оси вариаций шрифта, используйте Font.get_supported_variation_list().


Transform2D variation_transform = Transform2D(1, 0, 0, 1, 0, 0) 🔗

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

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


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

void set_spacing(spacing: SpacingType, value: int) 🔗

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