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.

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("шрифт", fv)
$Label.add_theme_font_size_override("font_size", 64)

Щоб встановити координати кількох варіаційних осей:

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

{}

PackedColorArray

palette_custom_colors

PackedColorArray()

int

palette_index

0

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 <https://docs.microsoft.com/en-us/typography/opentype/spec/featuretags>`__.


PackedColorArray palette_custom_colors = PackedColorArray() 🔗

  • void set_palette_custom_colors(value: PackedColorArray)

  • PackedColorArray get_palette_custom_colors()

An array of colors to override predefined palette. Use Color(0, 0, 0, 0), to keep predefined palette color at specific position.

Note: The returned array is copied and any changes to it will not update the original property value. See PackedColorArray for more details.


int palette_index = 0 🔗

  • void set_palette_index(value: int)

  • int get_palette_index()

A palette index.


int spacing_bottom = 0 🔗

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

  • int get_spacing()

Додатково просипаючи внизу лінії в пікселях.


int spacing_glyph = 0 🔗

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

  • int get_spacing()

Додаткове обмотування графічних гліфів.


int spacing_space = 0 🔗

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

  • int get_spacing()

Додаткова ширина простору гліфів.


int spacing_top = 0 🔗

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

  • int get_spacing()

Додаткове розсипання у верхній частині лінії у пікселях.


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 = {} 🔗

Координація варіаційних кодів Font OpenType. Більш детальна інформація: [url=https://docs.microsoft.com/en-us/typography/opentype/spec/dvaraxisreg]{/url]

[b]Примітка:[/b] Ця [Дикаційна] використовує теги OpenType як ключі. Сортування осей можна визначити як за тегами ([int], наприклад [code]0x77678674[/code]) і імен ([String], наприклад [code]wght[/code]). Деякі осі можуть бути доступні кількома іменами. Наприклад, [code]wght[/code] відноситься до тієї ж осі, як [code] вага[/code]. Теги на іншому руці унікальний. Щоб конвертувати між іменами та тегами, скористайтеся [method TextServer.name_to_tag] та [method посібник.tag_to_name].

[b]Примітка:[/b] Щоб отримати доступні варіації осей шрифту, скористайтеся [method Font.get_supported_variation_list].


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

  • void set_variation_transform(value: Transform2D)

  • Transform2D get_variation_transform()

2D трансформатор, наноситься на шрифтові контури, можна використовувати для сланцевих, фліппів і обертів.

Наприклад, для імітації italic typeface від slanting, застосувати наступний трансформатор Transform2D(1.0, slant, 0.0, 1.0, 0.0).


Описи методів

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

Встановлює інтервал для spacing на value у пікселях (не відносно розміру шрифту).