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.
Checking the stable version of the documentation...
Font
Eredita: Resource < RefCounted < Object
Ereditato da: FontFile, FontVariation, SystemFont
Classe di base astratta per font e variazioni di font.
Descrizione
Classe di base astratta per diversi tipi di font. Ha metodi per disegnare testo e introspezione dei caratteri dei font.
Proprietà
|
Metodi
draw_char(canvas_item: RID, pos: Vector2, char: int, font_size: int, modulate: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const |
|
draw_char_outline(canvas_item: RID, pos: Vector2, char: int, font_size: int, size: int = -1, modulate: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const |
|
void |
draw_multiline_string(canvas_item: RID, pos: Vector2, text: String, alignment: HorizontalAlignment = 0, width: float = -1, font_size: int = 16, max_lines: int = -1, modulate: Color = Color(1, 1, 1, 1), brk_flags: BitField[LineBreakFlag] = 3, justification_flags: BitField[JustificationFlag] = 3, direction: Direction = 0, orientation: Orientation = 0, oversampling: float = 0.0) const |
void |
draw_multiline_string_outline(canvas_item: RID, pos: Vector2, text: String, alignment: HorizontalAlignment = 0, width: float = -1, font_size: int = 16, max_lines: int = -1, size: int = 1, modulate: Color = Color(1, 1, 1, 1), brk_flags: BitField[LineBreakFlag] = 3, justification_flags: BitField[JustificationFlag] = 3, direction: Direction = 0, orientation: Orientation = 0, oversampling: float = 0.0) const |
void |
draw_string(canvas_item: RID, pos: Vector2, text: String, alignment: HorizontalAlignment = 0, width: float = -1, font_size: int = 16, modulate: Color = Color(1, 1, 1, 1), justification_flags: BitField[JustificationFlag] = 3, direction: Direction = 0, orientation: Orientation = 0, oversampling: float = 0.0) const |
void |
draw_string_outline(canvas_item: RID, pos: Vector2, text: String, alignment: HorizontalAlignment = 0, width: float = -1, font_size: int = 16, size: int = 1, modulate: Color = Color(1, 1, 1, 1), justification_flags: BitField[JustificationFlag] = 3, direction: Direction = 0, orientation: Orientation = 0, oversampling: float = 0.0) const |
find_variation(variation_coordinates: Dictionary, face_index: int = 0, strength: float = 0.0, transform: Transform2D = Transform2D(1, 0, 0, 1, 0, 0), spacing_top: int = 0, spacing_bottom: int = 0, spacing_space: int = 0, spacing_glyph: int = 0, baseline_offset: float = 0.0, palette_index: int = 0, custom_colors: PackedColorArray = PackedColorArray()) const |
|
get_ascent(font_size: int = 16) const |
|
get_char_size(char: int, font_size: int) const |
|
get_descent(font_size: int = 16) const |
|
get_face_count() const |
|
get_font_name() const |
|
get_font_stretch() const |
|
BitField[FontStyle] |
get_font_style() const |
get_font_style_name() const |
|
get_font_weight() const |
|
get_height(font_size: int = 16) const |
|
get_multiline_string_size(text: String, alignment: HorizontalAlignment = 0, width: float = -1, font_size: int = 16, max_lines: int = -1, brk_flags: BitField[LineBreakFlag] = 3, justification_flags: BitField[JustificationFlag] = 3, direction: Direction = 0, orientation: Orientation = 0) const |
|
get_opentype_features() const |
|
get_ot_name_strings() const |
|
get_palette_colors(index: int) const |
|
get_palette_count() const |
|
get_palette_name(index: int) const |
|
get_rids() const |
|
get_spacing(spacing: SpacingType) const |
|
get_string_size(text: String, alignment: HorizontalAlignment = 0, width: float = -1, font_size: int = 16, justification_flags: BitField[JustificationFlag] = 3, direction: Direction = 0, orientation: Orientation = 0) const |
|
get_supported_chars() const |
|
get_supported_feature_list() const |
|
get_supported_variation_list() const |
|
get_underline_position(font_size: int = 16) const |
|
get_underline_thickness(font_size: int = 16) const |
|
is_language_supported(language: String) const |
|
is_script_supported(script: String) const |
|
void |
set_cache_capacity(single_line: int, multi_line: int) |
Descrizioni delle proprietà
Array di Font di riserva da usare come sostituti se un glifo non viene trovato in questo Font attuale.
Se questo array è vuoto in un FontVariation, vengono invece usati i font di riserva del FontVariation.base_font.
Descrizioni dei metodi
float draw_char(canvas_item: RID, pos: Vector2, char: int, font_size: int, modulate: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const 🔗
Disegna un singolo carattere Unicode char in un elemento canvas usando il font, in una posizione specificata, con il colore modulate. pos specifica la linea di base, non la parte superiore. Per disegnare dalla parte superiore, un'ascesa deve essere aggiunta all'asse Y. Se oversampling è maggiore di zero, è utilizzato come fattore di sovracampionamento del font, altrimenti sono utilizzate le impostazioni di sovracampionamento della viewport.
Nota: Non usare questa funzione per disegnare stringhe carattere per carattere, usa invece draw_string() o TextLine.
float draw_char_outline(canvas_item: RID, pos: Vector2, char: int, font_size: int, size: int = -1, modulate: Color = Color(1, 1, 1, 1), oversampling: float = 0.0) const 🔗
Disegna un singolo contorno di carattere Unicode char in un elemento canvas usando il font, in una posizione specificata, con il colore modulate. pos specifica la linea di base, non la parte superiore. Per disegnare dalla parte superiore, un'ascesa deve essere aggiunta all'asse Y. Se oversampling è maggiore di zero, è utilizzato come fattore di sovracampionamento del font, altrimenti sono utilizzate le impostazioni di sovracampionamento della viewport.
Nota: Non usare questa funzione per disegnare stringhe carattere per carattere, usa invece draw_string() o TextLine.
void draw_multiline_string(canvas_item: RID, pos: Vector2, text: String, alignment: HorizontalAlignment = 0, width: float = -1, font_size: int = 16, max_lines: int = -1, modulate: Color = Color(1, 1, 1, 1), brk_flags: BitField[LineBreakFlag] = 3, justification_flags: BitField[JustificationFlag] = 3, direction: Direction = 0, orientation: Orientation = 0, oversampling: float = 0.0) const 🔗
Suddivide text in righe usando le regole specificate da brk_flags e lo disegna in un elemento canvas usando il font, in una posizione specificata, con il colore modulate, ritagliando facoltativamente la larghezza e allineandolo orizzontalmente. pos specifica la linea di base, non la parte superiore. Per disegnare a partire da sopra, ascent deve essere aggiunto all'asse Y. Se oversampling è maggiore di zero, è utilizzato come fattore di sovracampionamento del font, altrimenti sono utilizzate le impostazioni di sovracampionamento della viewport.
Vedi anche CanvasItem.draw_multiline_string().
void draw_multiline_string_outline(canvas_item: RID, pos: Vector2, text: String, alignment: HorizontalAlignment = 0, width: float = -1, font_size: int = 16, max_lines: int = -1, size: int = 1, modulate: Color = Color(1, 1, 1, 1), brk_flags: BitField[LineBreakFlag] = 3, justification_flags: BitField[JustificationFlag] = 3, direction: Direction = 0, orientation: Orientation = 0, oversampling: float = 0.0) const 🔗
Suddivide text in righe usando le regole specificate da brk_flags e lo disegna come contorno in un elemento canvas usando il font, in una posizione specificata, con il colore modulate, ritagliando facoltativamente la larghezza e allineandolo orizzontalmente. pos specifica la linea di base, non la parte superiore. Per disegnare a partire da sopra, ascent deve essere aggiunto all'asse Y. Se oversampling è maggiore di zero, è utilizzato come fattore di sovracampionamento del font, altrimenti sono utilizzate le impostazioni di sovracampionamento della viewport.
Vedi anche CanvasItem.draw_multiline_string_outline().
void draw_string(canvas_item: RID, pos: Vector2, text: String, alignment: HorizontalAlignment = 0, width: float = -1, font_size: int = 16, modulate: Color = Color(1, 1, 1, 1), justification_flags: BitField[JustificationFlag] = 3, direction: Direction = 0, orientation: Orientation = 0, oversampling: float = 0.0) const 🔗
Disegna text in un elemento canvas usando il font, in una posizione specificata, con il colore modulate, ritagliando facoltativamente la larghezza e allineandolo orizzontalmente. pos specifica la linea di base, non la parte superiore. Per disegnare a partire da sopra, ascent deve essere aggiunto all'asse Y. Se oversampling è maggiore di zero, è utilizzato come fattore di sovracampionamento del font, altrimenti sono utilizzate le impostazioni di sovracampionamento della viewport.
Vedi anche CanvasItem.draw_string().
void draw_string_outline(canvas_item: RID, pos: Vector2, text: String, alignment: HorizontalAlignment = 0, width: float = -1, font_size: int = 16, size: int = 1, modulate: Color = Color(1, 1, 1, 1), justification_flags: BitField[JustificationFlag] = 3, direction: Direction = 0, orientation: Orientation = 0, oversampling: float = 0.0) const 🔗
Disegna il contorno di text in un elemento canvas usando il font, in una posizione specificata, con il colore modulate, ritagliando facoltativamente la larghezza e allineandolo orizzontalmente. pos specifica la linea di base, non la parte superiore. Per disegnare a partire da sopra, ascent deve essere aggiunto all'asse Y. Se oversampling è maggiore di zero, è utilizzato come fattore di sovracampionamento del font, altrimenti sono utilizzate le impostazioni di sovracampionamento della viewport.
Vedi anche CanvasItem.draw_string_outline().
RID find_variation(variation_coordinates: Dictionary, face_index: int = 0, strength: float = 0.0, transform: Transform2D = Transform2D(1, 0, 0, 1, 0, 0), spacing_top: int = 0, spacing_bottom: int = 0, spacing_space: int = 0, spacing_glyph: int = 0, baseline_offset: float = 0.0, palette_index: int = 0, custom_colors: PackedColorArray = PackedColorArray()) const 🔗
Restituisce il RID di TextServer della cache del font per una variazione specifica.
float get_ascent(font_size: int = 16) const 🔗
Returns the maximum font ascent (number of pixels above the baseline) of this font and all fallback fonts.
Note: Real ascent of the string is context-dependent and can be significantly different from the value returned by this function. Use it only as rough estimate (e.g. as the ascent of empty line).
Vector2 get_char_size(char: int, font_size: int) const 🔗
Restituisce le dimensioni di un carattere. Non tiene conto del kerning.
Nota: Non usare questa funzione per calcolare la larghezza della stringa carattere per carattere, usa invece get_string_size() o TextLine. L'altezza restituita è l'altezza del font (vedi anche get_height()) e non ha alcuna relazione con l'altezza del glifo.
float get_descent(font_size: int = 16) const 🔗
Returns the maximum font descent (number of pixels below the baseline) of this font and all fallback fonts.
Note: Real descent of the string is context-dependent and can be significantly different from the value returned by this function. Use it only as rough estimate (e.g. as the descent of empty line).
Restituisce il numero di facce nella collezione TrueType / OpenType.
String get_font_name() const 🔗
Restituisce il nome della famiglia del font.
int get_font_stretch() const 🔗
Restituisce la quantità di allungamento del font, rispetto a una larghezza normale. Un valore percentuale compreso tra 50% e 200%.
BitField[FontStyle] get_font_style() const 🔗
Restituisce i flag di stile del font.
String get_font_style_name() const 🔗
Restituisce il nome dello stile del font.
Restituisce il peso (grassetto) del font. Un valore nell'intervallo 100...999, il peso normale di un font è 400, il peso di un font in grassetto è 700.
float get_height(font_size: int = 16) const 🔗
Restituisce l'altezza media totale (ascesa più discesa) del font, in pixel.
Nota: L'altezza reale della stringa dipende dal contesto e può essere significativamente diversa dal valore restituito da questa funzione. Utilizzarla solo come stima approssimativa (ad esempio come altezza di una riga vuota).
Vector2 get_multiline_string_size(text: String, alignment: HorizontalAlignment = 0, width: float = -1, font_size: int = 16, max_lines: int = -1, brk_flags: BitField[LineBreakFlag] = 3, justification_flags: BitField[JustificationFlag] = 3, direction: Direction = 0, orientation: Orientation = 0) const 🔗
Restituisce le dimensioni di un riquadro di una stringa suddivisa in righe, tenendo conto della crenatura e dell'avanzamento.
Vedi anche draw_multiline_string().
Dictionary get_opentype_features() const 🔗
Restituisce un insieme di tag di funzionalità OpenType. Ulteriori informazioni: tag di funzionalità OpenType.
Dictionary get_ot_name_strings() const 🔗
Restituisce un Dictionary con le stringhe di nomi di font OpenType (nomi di font localizzati, versione, descrizione, informazioni sulla licenza, testo di esempio, ecc.).
PackedColorArray get_palette_colors(index: int) const 🔗
Returns the array in the predefined color palette at index. Palette contains all colors used to render font glyphs. Each palette has the same number of colors. Colors can be overridden using FontVariation.
int get_palette_count() const 🔗
Returns the number of predefined color palettes. Palette contains all colors used to render font glyphs. Each palette has the same number of colors.
String get_palette_name(index: int) const 🔗
Returns the name of the predefined color palette at index. Palette contains all colors used to render font glyphs. Each palette has the same number of colors.
Restituisce un Array di RID di Font validi, che possono essere passati ai metodi nel TextServer.
int get_spacing(spacing: SpacingType) const 🔗
Restituisce la quantità di spaziatura per il tipo di spaziatura spacing.
Vector2 get_string_size(text: String, alignment: HorizontalAlignment = 0, width: float = -1, font_size: int = 16, justification_flags: BitField[JustificationFlag] = 3, direction: Direction = 0, orientation: Orientation = 0) const 🔗
Restituisce le dimensioni di un riquadro di una stringa a riga singola, tenendo conto di crenatura, avanzamento e posizionamento subpixel. Vedi anche get_multiline_string_size() e draw_string().
Ad esempio, per ottenere la dimensione della stringa visualizzata da un Label a riga singola, utilizzare:
var string_size = $Label.get_theme_font("font").get_string_size($Label.text, HORIZONTAL_ALIGNMENT_LEFT, -1, $Label.get_theme_font_size("font_size"))
Label label = GetNode<Label>("Label");
Vector2 stringSize = label.GetThemeFont("font").GetStringSize(label.Text, HorizontalAlignment.Left, -1, label.GetThemeFontSize("font_size"));
Nota: Poiché crenatura, avanzamento e posizionamento subpixel sono presi in considerazione da get_string_size(), utilizzando chiamate separate a get_string_size() su sottostringhe di una stringa e sommando i risultati verrà restituito un risultato diverso a differenza di utilizzare di una singola chiamata a get_string_size() sull'intera stringa.
Nota: L'altezza reale della stringa dipende dal contesto e può essere significativamente diversa dal valore restituito da get_height().
String get_supported_chars() const 🔗
Restituisce una stringa contenente tutti i caratteri disponibili nel font.
Se un determinato carattere è incluso in più di una sorgente dati nel font, appare solo una volta nella stringa restituita.
Dictionary get_supported_feature_list() const 🔗
Restituisce la lista delle funzionalità OpenType supportate dal font.
Dictionary get_supported_variation_list() const 🔗
Restituisce la lista delle coordinate di variazione supportate, ogni coordinata viene restituita come tag: Vector3i(min_value,max_value,default_value).
Le variazioni dei font consentono di cambiare continuamente le caratteristiche dei glifi lungo un determinato asse di strutturazione, come peso, larghezza o inclinazione.
Per stampare gli assi di variazione disponibili in un font variabile:
var fv = FontVariation.new()
fv.base_font = load("res://RobotoFlex.ttf")
var variation_list = fv.get_supported_variation_list()
for tag in variation_list:
var name = TextServerManager.get_primary_interface().tag_to_name(tag)
var values = variation_list[tag]
print("asse di variazione: %s (%d)\n\tmin, max, default: %s" % [name, tag, values])
Nota: Per impostare e ottenere le coordinate di variazione di un FontVariation, usa FontVariation.variation_opentype.
float get_underline_position(font_size: int = 16) const 🔗
Restituisce l'offset medio in pixel della sottolineatura sotto la linea di base.
Nota: La posizione reale della sottolineatura della stringa dipende dal contesto e può essere significativamente diversa dal valore restituito da questa funzione. Utilizzarla solo come stima approssimativa.
float get_underline_thickness(font_size: int = 16) const 🔗
Restituisce lo spessore medio della sottolineatura.
Nota: Lo spessore effettivo della sottolineatura della stringa dipende dal contesto e può essere significativamente diverso dal valore restituito da questa funzione. Utilizzalo solo come stima approssimativa.
bool has_char(char: int) const 🔗
Restituisce true se il carattere Unicode char è disponibile nel font.
bool is_language_supported(language: String) const 🔗
Returns true if the font supports the given language (as a ISO 639 code).
bool is_script_supported(script: String) const 🔗
Returns true if the font supports the given script (as a ISO 15924 code).
void set_cache_capacity(single_line: int, multi_line: int) 🔗
Imposta la capacità della cache LRU per i metodi draw_*.