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.

ResourceImporterDynamicFont

Eredita: ResourceImporter < RefCounted < Object

Importa un file di font TTF, TTC, OTF, OTC, WOFF o WOFF2 per un rendering dei font che si adatta a qualsiasi dimensione.

Descrizione

A differenza dei font bitmap, i font dinamici possono essere ridimensionati a qualsiasi dimensione e apparire comunque nitidi. I font dinamici supportano anche opzionalmente il rendering dei font MSDF, il quale consente di cambiare le dimensioni in fase di esecuzione senza costi di ri-rasterizzazione.

Mentre WOFF e in particolar modo WOFF2 tendono a produrre dimensioni di file più piccole, non esiste un formato di font universalmente "migliore". Nella maggior parte delle situazioni, si consiglia di utilizzare il formato di font fornito sul sito Web dello sviluppatore del font.

Vedi anche ResourceImporterBMFont e ResourceImporterImageFont.

Tutorial

Proprietà

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

3

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


Descrizioni delle proprietà

bool allow_system_fallback = true 🔗

Se true, usa automaticamente i font di sistema come riserva se non viene trovato un glifo in questo font dinamico. Questo facilita il supporto dei caratteri CJK o delle emoji, poiché non è necessario includere un font CJK/emoji nel progetto. Vedi anche fallbacks.

Nota: L'aspetto dei font di sistema varia a seconda delle piattaforme. Caricare le font di sistema è supportato solo su Windows, macOS, Linux, Android e iOS.


int antialiasing = 1 🔗

Il metodo di antialiasing del font da utilizzare.

Disabled: Più adatto per i font pixellati, anche se non è necessario modificare l'antialiasing dal valore predefinito Grayscale se il file del font è stato creato bene e il font è usato a un multiplo intero della sua dimensione prevista. Se i font pixellati hanno un aspetto pessimo alla loro dimensione prevista, prova invece a impostare subpixel_positioning su Disabled.

Grayscale: Utilizza l'antialiasing in scala di grigi. Questo è l'approccio utilizzato dal sistema operativo su macOS, Android e iOS.

LCD Subpixel: Utilizza l'antialiasing con motivi subpixel per rendere i font più nitidi sui display LCD. Questo è l'approccio utilizzato dal sistema operativo su Windows e sulla maggior parte delle distribuzioni Linux. Lo svantaggio è che questo può introdurre "frange" sui bordi, specialmente su tecnologie di visualizzazione che non usano i subpixel RGB standard (come i display OLED). La disposizione dei subpixel LCD è controllata globalmente da ProjectSettings.gui/theme/lcd_subpixel_layout, il quale consente anche di ricorrere all'antialiasing in scala di grigi.


bool compress = true 🔗

Se true, utilizza la compressione senza perdite per il font risultante.


bool disable_embedded_bitmaps = true 🔗

Se impostato su true, il caricamento delle bitmap dei font incorporati è disabilitato (i font solo con bitmap e i font colorati ignorano questa proprietà).


Array fallbacks = [] 🔗

elenco di font di riserva da usare se un glifo non viene trovato in questo font dinamico. I font all'inizio dell'array vengono tentati per primi, ma i font di riserva che non supportano la lingua e l'alfabeto del glifo vengono tentati per ultimi (vedi language_support e script_support). Vedi anche allow_system_fallback.


bool force_autohinter = false 🔗

Se true, forza la generazione dei dati di hinting per il font tramite l'autohinter di FreeType. Questo renderà hinting efficace con i font che non includono dati di hinting.


bool generate_mipmaps = false 🔗

Se true, questo font avrà mipmap generate. Ciò evita che il testo appaia granuloso quando un Control è rimpicciolito o quando un Label3D è visto da molto lontano (se Label3D.texture_filter è impostato su una modalità che visualizza le mipmap).

L'attivazione di generate_mipmaps aumenta il tempo di generazione del font e l'utilizzo della memoria. Abilita questa impostazione solo se ne hai effettivamente bisogno.


int hinting = 3 🔗

La modalità di hinting da usare. Controlla quanto aggressivamente i bordi dei glifi devono essere agganciati ai pixel quando si rasterizza il font. A seconda delle preferenze personali, potresti preferire usare una modalità di hinting rispetto all'altra. Le modalità di hinting diverse da None sono efficaci solo se il font contiene dati di hinting (vedi force_autohinter).

None:l' aspetto più fluido, che può far apparire il font sfocato a piccole dimensioni.

Light: aspetto nitido, agganciando i bordi dei glifi ai pixel solo sull'asse Y.

Full: l'aspetto più nitido, agganciando i bordi dei glifi ai pixel su entrambi gli assi X e Y.

Light (Except Pixel Fonts): Disabled per i font in stile pixellato (i contorni di ogni glifo contengono solo linee rette orizzontali e verticali), Light per gli altri font.

Normal (Except Pixel Fonts): Disabled per i font in stile pixellato (i contorni di ogni glifo contengono solo linee rette orizzontali e verticali), Normale per gli altri font.


bool keep_rounding_remainders = true 🔗

Se impostato su true, quando si allineano i glifi ai confini dei pixel, il resto dopo l'arrotondamento viene accumulato per garantire una distribuzione più uniforme dei glifi. Questa impostazione non ha effetto se è abilitato il posizionamento subpixel.


Dictionary language_support = {} 🔗

Sovrascrivi la lista delle lingue supportate da questo font. Se lasciato vuoto, questo viene fornito dai metadati del font. Di solito non c'è bisogno di cambiarlo. Vedi anche script_support.


bool modulate_color_glyphs = false 🔗

Se impostato su true, la modulazione del colore è applicata quando si disegnano glifi colorati, altrimenti è applicata solo ai glifi monocromatici.


int msdf_pixel_range = 8 🔗

La larghezza dell'intervallo attorno alla forma tra la distanza con segno (signed distance) minima e massima rappresentabile. Se si usano i contorni di font, msdf_pixel_range deve essere impostato almeno sul doppio dello spessore del contorno più grande. Il valore predefinito per msdf_pixel_range di 8 consente a uno spessore di contorno fino a 4 di apparire corretto.


int msdf_size = 48 🔗

Dimensione del font sorgente utilizzata per generare le texture MSDF. Valori più alti consentono una maggiore precisione, ma sono più lenti da renderizzare e richiedono più memoria. Aumenta questo valore solo se noti una notevole mancanza di precisione nel rendering dei glifi. Efficace solo se multichannel_signed_distance_field è true.


bool multichannel_signed_distance_field = false 🔗

Se impostato su true, il font predefinito utilizzerà il multichannel signed distance field (MSDF) per un rendering nitido a qualsiasi dimensione. Poiché questo approccio non si basa sulla rasterizzazione del font ogni volta che ne cambia la dimensione, ciò consente di ridimensionare il font in tempo reale senza alcuna penalità sulle prestazioni. Il testo non apparirà granuloso per i Control rimpiccioliti (o per i Label3D visti da molto lontano).

Il rendering di font MSDF può essere combinato con generate_mipmaps per migliorare ulteriormente la qualità del rendering del font quando è rimpicciolito.


Dictionary opentype_features = {} 🔗

Le funzionalità OpenType da abilitare, disabilitare o impostare un valore per questo font. Questo può essere utilizzato per abilitare le funzionalità opzionali fornite dal font, come legature o glifi alternativi. La lista delle funzionalità OpenType supportate varia in base al font.


float oversampling = 0.0 🔗

Se impostato su un valore positivo, sostituisce il fattore di sovracampionamento della viewport in cui è utilizzato questo font. Vedi Viewport.oversampling. Questo valore non sostituisce il parametro oversampling dei metodi draw_*.


Array preload = [] 🔗

Gli intervalli dei glifi da renderizzare in anticipo. Questo può evitare scatti durante il gameplay quando è necessario renderizzare nuovi caratteri, specialmente se subpixel_positioning è abilitato. Lo svantaggio di precaricare è che i tempi di caricamento iniziali del progetto aumenteranno, così come l'utilizzo della memoria.


Dictionary script_support = {} 🔗

Sovrascrive la lista degli script di lingua supportati da questo font. Se lasciato vuoto, questo viene fornito dai metadati del font. Di solito non c'è bisogno di cambiarlo. Vedi anche language_support.


int subpixel_positioning = 4 🔗

Il posizionamento subpixel migliora l'aspetto del rendering dei font, soprattutto se di dimensioni più piccole. Lo svantaggio è che inizialmente ci vuole più tempo per renderizzare il font, il che può causare scatti durante il gioco, soprattutto se si utilizzano font di grandi dimensioni. Per i font con un aspetto da pixel art, questa opzione dovrebbe essere impostata su Disabled.

Disabled: Nessun posizionamento subpixel. La qualità più bassa, il rendering più veloce.

Auto: Utilizza il posizionamento subpixel per le piccole dimensioni dei font (la qualità scelta varia a seconda della dimensione del font). I font di grandi dimensioni non utilizzeranno il posizionamento subpixel. Si tratta di un buon compromesso tra prestazioni e qualità.

One Half of a Pixel: Effettua sempre un posizionamento subpixel intermedio, a prescindere dalla dimensione del font. Alta qualità, rendering lento.

One Quarter of a Pixel: Effettua sempre un posizionamento subpixel preciso, a prescindere dalla dimensione del font. La massima qualità, il rendering più lento.

Auto (Except Pixel Fonts): Disabled per i font in stile pixellato (il contorno di ogni contiene solo linee dritte orizzontali e verticali), Auto per gli altri font.