FontVariation

Hereda: Font < Resource < RefCounted < Object

Una variación de una fuente con configuraciones adicionales.

Descripción

Provides OpenType variations, simulated bold / slant, and additional font settings like OpenType features and extra spacing.

To use simulated bold font variant:

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 }

Propiedades

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)

Métodos

void

set_spacing(spacing: SpacingType, value: int)


Descripciones de Propiedades

Font base_font 🔗

  • void set_base_font(value: Font)

  • Font get_base_font()

Fuente base utilizada para crear una variación. Si no se establece, se utiliza la fuente Theme predeterminada.


float baseline_offset = 0.0 🔗

  • void set_baseline_offset(value: float)

  • float get_baseline_offset()

Desplazamiento adicional de la línea de base (como una fracción de la altura de la fuente).


Dictionary opentype_features = {} 🔗

Un conjunto de etiquetas de características OpenType. Más información: Etiquetas de características OpenType.


int spacing_bottom = 0 🔗

Espacio adicional en la parte inferior de la línea en píxeles.


int spacing_glyph = 0 🔗

Espacio adicional entre glifos gráficos.


int spacing_space = 0 🔗

Ancho adicional de los glifos de espacio.


int spacing_top = 0 🔗

Espacio adicional en la parte superior de la línea en píxeles.


float variation_embolden = 0.0 🔗

  • void set_variation_embolden(value: float)

  • float get_variation_embolden()

Si no es igual a cero, engrosa los contornos de la fuente. Los valores negativos reducen el grosor del contorno.

Nota: Las fuentes engrosadas pueden tener contornos que se auto-intersectan, lo que impedirá que las fuentes MSDF y TextMesh funcionen correctamente.


int variation_face_index = 0 🔗

  • void set_variation_face_index(value: int)

  • int get_variation_face_index()

Índice de cara activa en el archivo de colección TrueType/OpenType.


Dictionary variation_opentype = {} 🔗

Coordenadas de variación OpenType de la fuente. Más información: Etiquetas de variación OpenType.

Nota: Este Dictionary utiliza etiquetas OpenType como claves. Los ejes de variación pueden identificarse tanto por etiquetas (int, p. ej., 0x77678674) como por nombres (String, p. ej., wght). Algunos ejes pueden ser accesibles por múltiples nombres. Por ejemplo, wght se refiere al mismo eje que weight. Las etiquetas, por otro lado, son únicas. Para convertir entre nombres y etiquetas, utiliza TextServer.name_to_tag() y TextServer.tag_to_name().

Nota: Para obtener los ejes de variación disponibles de una fuente, utiliza Font.get_supported_variation_list().


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

Transformación 2D, aplicada a los contornos de la fuente, que puede utilizarse para inclinar, voltear y rotar glifos.

Por ejemplo, para simular un tipo de letra cursiva mediante la inclinación, aplica la siguiente transformación Transform2D(1.0, inclinación, 0.0, 1.0, 0.0, 0.0).


Descripciones de Métodos

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

Establece el espaciado para spacing a value en píxeles (no en relación con el tamaño de la fuente).