Font
Hereda: Resource < RefCounted < Object
Heredado por: FontFile, FontVariation, SystemFont
Clase base abstracta para fuentes y variaciones de fuentes.
Descripción
Clase base abstracta para diferentes tipos de fuente. Incluye métodos para dibujar texto y analizar los caracteres de la fuente.
Propiedades
|
Métodos
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) 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_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) |
Descripciones de Propiedades
Array de Fonts de respaldo para usar como sustituto si no se encuentra un glifo en esta Font actual.
Si este array está vacío en una FontVariation, se utilizan los respaldos de FontVariation.base_font en su lugar.
Descripciones de Métodos
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 🔗
Draw a single Unicode character char into a canvas item using the font, at a given position, with modulate color. pos specifies the baseline, not the top. To draw from the top, ascent must be added to the Y axis. If oversampling is greater than zero, it is used as font oversampling factor, otherwise viewport oversampling settings are used.
Note: Do not use this function to draw strings character by character, use draw_string() or TextLine instead.
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 🔗
Draw a single Unicode character char outline into a canvas item using the font, at a given position, with modulate color and size outline size. pos specifies the baseline, not the top. To draw from the top, ascent must be added to the Y axis. If oversampling is greater than zero, it is used as font oversampling factor, otherwise viewport oversampling settings are used.
Note: Do not use this function to draw strings character by character, use draw_string() or TextLine instead.
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 🔗
Breaks text into lines using rules specified by brk_flags and draws it into a canvas item using the font, at a given position, with modulate color, optionally clipping the width and aligning horizontally. pos specifies the baseline of the first line, not the top. To draw from the top, ascent must be added to the Y axis. If oversampling is greater than zero, it is used as font oversampling factor, otherwise viewport oversampling settings are used.
See also 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 🔗
Breaks text to the lines using rules specified by brk_flags and draws text outline into a canvas item using the font, at a given position, with modulate color and size outline size, optionally clipping the width and aligning horizontally. pos specifies the baseline of the first line, not the top. To draw from the top, ascent must be added to the Y axis. If oversampling is greater than zero, it is used as font oversampling factor, otherwise viewport oversampling settings are used.
See also 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 🔗
Draw text into a canvas item using the font, at a given position, with modulate color, optionally clipping the width and aligning horizontally. pos specifies the baseline, not the top. To draw from the top, ascent must be added to the Y axis. If oversampling is greater than zero, it is used as font oversampling factor, otherwise viewport oversampling settings are used.
See also 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 🔗
Draw text outline into a canvas item using the font, at a given position, with modulate color and size outline size, optionally clipping the width and aligning horizontally. pos specifies the baseline, not the top. To draw from the top, ascent must be added to the Y axis. If oversampling is greater than zero, it is used as font oversampling factor, otherwise viewport oversampling settings are used.
See also 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) const 🔗
Devuelve el RID de TextServer del caché de fuentes para una variación específica.
float get_ascent(font_size: int = 16) const 🔗
Devuelve el ascenso medio de la fuente (número de píxeles por encima de la línea base).
Nota: El ascenso real de la string depende del contexto y puede ser significativamente diferente del valor devuelto por esta función. Úsalo solo como una estimación aproximada (por ejemplo, como el ascenso de una línea vacía).
Vector2 get_char_size(char: int, font_size: int) const 🔗
Devuelve el tamaño de un carácter. No tiene en cuenta el kerning.
Nota: No uses esta función para calcular el ancho de la string carácter por carácter, usa get_string_size() o TextLine en su lugar. La altura devuelta es la altura de la fuente (véase también get_height()) y no tiene relación con la altura del glifo.
float get_descent(font_size: int = 16) const 🔗
Devuelve el descenso medio de la fuente (número de píxeles por debajo de la línea de base).
Nota: El descenso real de la string depende del contexto y puede ser significativamente diferente del valor devuelto por esta función. Úsalo solo como una estimación aproximada (por ejemplo, como el descenso de una línea vacía).
Devuelve el número de caras en la colección TrueType/OpenType.
String get_font_name() const 🔗
Devuelve el nombre de la familia de fuentes.
int get_font_stretch() const 🔗
Devuelve el grado de estiramiento de la fuente, comparado con un ancho normal. Un valor porcentual entre 50% y 200%.
BitField[FontStyle] get_font_style() const 🔗
Devuelve las banderas de estilo de la fuente.
String get_font_style_name() const 🔗
Devuelve el nombre del estilo de la fuente.
Devuelve el peso (grosor) de la fuente. Un valor en el rango 100...999, el peso normal de la fuente es 400, el peso de la fuente en negrita es 700.
float get_height(font_size: int = 16) const 🔗
Devuelve la altura total media de la fuente (ascenso más descenso) en píxeles.
Nota: La altura real de la string depende del contexto y puede ser significativamente diferente del valor devuelto por esta función. Úsalo solo como una estimación aproximada (por ejemplo, como la altura de una línea vacía).
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 🔗
Devuelve el tamaño de un cuadro delimitador de una string dividida en líneas, teniendo en cuenta el kerning y el avance.
Véase también draw_multiline_string().
Dictionary get_opentype_features() const 🔗
Devuelve un conjunto de etiquetas de características OpenType. Más información: Etiquetas de características OpenType.
Dictionary get_ot_name_strings() const 🔗
Devuelve un Dictionary con cadenas de nombre de fuente OpenType (nombres de fuente localizados, versión, descripción, información de licencia, texto de ejemplo, etc.).
Devuelve un Array de RIDs de Font válidos, que se pueden pasar a los métodos TextServer.
int get_spacing(spacing: SpacingType) const 🔗
Devuelve la cantidad de espaciado para el tipo spacing dado.
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 🔗
Returns the size of a bounding box of a single-line string, taking kerning, advance and subpixel positioning into account. See also get_multiline_string_size() and draw_string().
For example, to get the string size as displayed by a single-line Label, use:
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"));
Note: Since kerning, advance and subpixel positioning are taken into account by get_string_size(), using separate get_string_size() calls on substrings of a string then adding the results together will return a different result compared to using a single get_string_size() call on the full string.
Note: Real height of the string is context-dependent and can be significantly different from the value returned by get_height().
String get_supported_chars() const 🔗
Devuelve una string que contiene todos los caracteres disponibles en la fuente.
Si un carácter determinado está incluido en más de una fuente, solo aparece una vez en la string devuelta.
Dictionary get_supported_feature_list() const 🔗
Devuelve una lista de las características OpenType soportadas por la fuente.
Dictionary get_supported_variation_list() const 🔗
Returns list of supported variation coordinates, each coordinate is returned as tag: Vector3i(min_value,max_value,default_value).
Font variations allow for continuous change of glyph characteristics along some given design axis, such as weight, width or slant.
To print available variation axes of a variable font:
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("variation axis: %s (%d)\n\tmin, max, default: %s" % [name, tag, values])
Note: To set and get variation coordinates of a FontVariation, use FontVariation.variation_opentype.
float get_underline_position(font_size: int = 16) const 🔗
Devuelve el desplazamiento medio en píxeles del subrayado por debajo de la línea de base.
Nota: La posición real del subrayado de la string depende del contexto y puede ser significativamente diferente del valor devuelto por esta función. Úsalo solo como una estimación aproximada.
float get_underline_thickness(font_size: int = 16) const 🔗
Devuelve el grosor medio del subrayado.
Nota: El grosor real del subrayado de la string depende del contexto y puede ser significativamente diferente del valor devuelto por esta función. Úsalo solo como una estimación aproximada.
bool has_char(char: int) const 🔗
Devuelve true si un char Unicode está disponible en la fuente.
bool is_language_supported(language: String) const 🔗
Devuelve true si la fuente soporta el idioma dado (código ISO 639).
bool is_script_supported(script: String) const 🔗
Devuelve true si la fuente soporta el script dado (código ISO 15924).
void set_cache_capacity(single_line: int, multi_line: int) 🔗
Establece la capacidad de la caché LRU para los métodos draw_*.