SpriteFont Class
Namespace: Stride.GraphicsAssembly: Stride.Graphics.dll
SpriteFont to use with SpriteBatch. See SpriteFont to learn how to use it.
[DataContract]
[DataSerializerGlobal(typeof(ReferenceSerializer<SpriteFont>), null, DataSerializerGenericMode.None, false, false, Profile = "Content")]
public class SpriteFont : ComponentBase, IDisposable, IComponent, IReferencable, ICollectorHolder
Name | Description | |
---|---|---|
Constructors | ||
SpriteFont() | ||
Fields | ||
Logger | ||
swizzle | The swizzle mode to use when drawing the sprite font. |
|
Properties | ||
DefaultCharacter | Gets or sets the default character for the font. |
|
ExtraLineSpacing | Gets or sets the extra line spacing (in pixels) to add to the default font line spacing for the current font Size. This value will be scaled during the draw in the case of dynamic fonts. Use GetExtraLineSpacing(Single) to get the value of the extra spacing for a given font size. |
|
ExtraSpacing | Gets or sets extra spacing (in pixels) between the characters for the current font Size. This value is scaled during the draw in the case of dynamic fonts. Use GetExtraSpacing(Single) to get the value of the extra spacing for a given font size. |
|
FontType | Gets the type indicating if the current font is static, dynamic or SDF. |
|
IgnoreUnkownCharacters | Completely skips characters that are not in the map. |
|
Size | Gets the font size (resp. the default font size) for static fonts (resp. for dynamic fonts) in pixels. |
|
Textures | Gets the textures containing the font character data. |
|
Methods | ||
Destroy() | ||
GetBaseOffsetY(Single) | Get the value of the base offset for the given font size. |
|
GetExtraLineSpacing(Single) | Get the value of the extra character spacing for the given font size. |
|
GetExtraSpacing(Single) | Get the value of the extra line spacing for the given font size. |
|
GetFontDefaultLineSpacing(Single) | Get the value of the font default line spacing for the given font size. |
|
GetGlyph(CommandList, Char, in Vector2, Boolean, out Vector2) | Return the glyph associated to provided character at the given size. |
|
GetTotalLineSpacing(Single) | Gets the value of the total line spacing (font default + user defined) in pixels for a given font size. |
|
IsCharPresent(Char) | Checks whether the provided character is present in the character map of the current SpriteFont. |
|
MeasureString(String) | Returns the width and height of the provided text for the current font size Size |
|
MeasureString(String, Vector2) | Returns the width and height of the provided text for a given font size |
|
MeasureString(String, Vector2, Int32) | Returns the width and height of the provided text for a given font size |
|
MeasureString(String, ref Vector2) | Returns the width and height of the provided text for a given font size |
|
MeasureString(String, ref Vector2, Int32) | Returns the width and height of the provided text for a given font size |
|
MeasureString(String, Single) | Returns the width and height of the provided text for a given font size |
|
MeasureString(StringBuilder) | Returns the width and height of the provided text for the current font size Size |
|
MeasureString(StringBuilder, Vector2) | Returns the width and height of the provided text for a given font size |
|
MeasureString(StringBuilder, Vector2, Int32) | Returns the width and height of the provided text for a given font size |
|
MeasureString(StringBuilder, ref Vector2) | Returns the width and height of the provided text for a given font size |
|
MeasureString(StringBuilder, ref Vector2, Int32) | Returns the width and height of the provided text for a given font size |
|
MeasureString(StringBuilder, Single) | Returns the width and height of the provided text for a given font size |
|
PreGenerateGlyphs(String, Vector2) | Pre-generate synchronously the glyphs of the character needed to render the provided text at the provided size. |
Constructors
SpriteFont()
protected SpriteFont()
Fields
Logger
public static readonly Logger Logger
Field Value
Type | Description |
---|---|
Logger |
swizzle
The swizzle mode to use when drawing the sprite font.
protected SwizzleMode swizzle
Field Value
Type | Description |
---|---|
SwizzleMode |
Properties
DefaultCharacter
Gets or sets the default character for the font.
public char? DefaultCharacter { get; set; }
Property Value
Type | Description |
---|---|
System.Nullable<System.Char> |
ExtraLineSpacing
Gets or sets the extra line spacing (in pixels) to add to the default font line spacing for the current font Size. This value will be scaled during the draw in the case of dynamic fonts. Use GetExtraLineSpacing(Single) to get the value of the extra spacing for a given font size.
public float ExtraLineSpacing { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
Remarks
Line spacing is the distance between the base lines of two consecutive lines of text (blank space as well as characters' height are thus included).
ExtraSpacing
Gets or sets extra spacing (in pixels) between the characters for the current font Size. This value is scaled during the draw in the case of dynamic fonts. Use GetExtraSpacing(Single) to get the value of the extra spacing for a given font size.
public float ExtraSpacing { get; set; }
Property Value
Type | Description |
---|---|
System.Single |
FontType
Gets the type indicating if the current font is static, dynamic or SDF.
public SpriteFontType FontType { get; protected set; }
Property Value
Type | Description |
---|---|
SpriteFontType |
IgnoreUnkownCharacters
Completely skips characters that are not in the map.
public bool IgnoreUnkownCharacters { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
Size
Gets the font size (resp. the default font size) for static fonts (resp. for dynamic fonts) in pixels.
public float Size { get; }
Property Value
Type | Description |
---|---|
System.Single |
Textures
Gets the textures containing the font character data.
public virtual IReadOnlyList<Texture> Textures { get; protected set; }
Property Value
Type | Description |
---|---|
System.Collections.Generic.IReadOnlyList<Texture> |
Methods
Destroy()
protected override void Destroy()
Overrides
GetBaseOffsetY(Single)
Get the value of the base offset for the given font size.
protected virtual float GetBaseOffsetY(float fontSize)
Parameters
Type | Name | Description |
---|---|---|
System.Single | fontSize | The font size in pixels |
Returns
Type | Description |
---|---|
System.Single | The value of the base offset |
GetExtraLineSpacing(Single)
Get the value of the extra character spacing for the given font size.
public virtual float GetExtraLineSpacing(float fontSize)
Parameters
Type | Name | Description |
---|---|---|
System.Single | fontSize | The font size in pixels |
Returns
Type | Description |
---|---|
System.Single | The value of the character spacing |
GetExtraSpacing(Single)
Get the value of the extra line spacing for the given font size.
public virtual float GetExtraSpacing(float fontSize)
Parameters
Type | Name | Description |
---|---|---|
System.Single | fontSize | The font size in pixels |
Returns
Type | Description |
---|---|
System.Single | The value of the character spacing |
GetFontDefaultLineSpacing(Single)
Get the value of the font default line spacing for the given font size.
public virtual float GetFontDefaultLineSpacing(float fontSize)
Parameters
Type | Name | Description |
---|---|---|
System.Single | fontSize | The font size in pixels |
Returns
Type | Description |
---|---|
System.Single | The value of the default line spacing |
GetGlyph(CommandList, Char, in Vector2, Boolean, out Vector2)
Return the glyph associated to provided character at the given size.
protected virtual Glyph GetGlyph(CommandList commandList, char character, in Vector2 fontSize, bool uploadGpuResources, out Vector2 auxiliaryScaling)
Parameters
Type | Name | Description |
---|---|---|
CommandList | commandList | The command list in case we upload gpu resources |
System.Char | character | The character we want the glyph of |
Vector2 | fontSize | The font size in pixel |
System.Boolean | uploadGpuResources | Indicate if the GPU resource should be uploaded or not. |
Vector2 | auxiliaryScaling | If the requested font size isn't available, the closest one is chosen and an auxiliary scaling is returned |
Returns
Type | Description |
---|---|
Glyph | The glyph corresponding to the request or null if not existing |
GetTotalLineSpacing(Single)
Gets the value of the total line spacing (font default + user defined) in pixels for a given font size.
public float GetTotalLineSpacing(float fontSize)
Parameters
Type | Name | Description |
---|---|---|
System.Single | fontSize |
Returns
Type | Description |
---|---|
System.Single |
Remarks
Line spacing is the distance between the base lines of two consecutive lines of text (blank space as well as characters' height are thus included).
IsCharPresent(Char)
Checks whether the provided character is present in the character map of the current SpriteFont.
public virtual bool IsCharPresent(char c)
Parameters
Type | Name | Description |
---|---|---|
System.Char | c | The character to check. |
Returns
Type | Description |
---|---|
System.Boolean | true if the |
MeasureString(String)
Returns the width and height of the provided text for the current font size Size
public Vector2 MeasureString(string text)
Parameters
Type | Name | Description |
---|---|---|
System.String | text | The string to measure. |
Returns
Type | Description |
---|---|
Vector2 | Vector2. |
MeasureString(String, Vector2)
Returns the width and height of the provided text for a given font size
public Vector2 MeasureString(string text, Vector2 fontSize)
Parameters
Type | Name | Description |
---|---|---|
System.String | text | The string to measure. |
Vector2 | fontSize | The size of the font (ignored in the case of static fonts) |
Returns
Type | Description |
---|---|
Vector2 | Vector2. |
MeasureString(String, Vector2, Int32)
Returns the width and height of the provided text for a given font size
public Vector2 MeasureString(string text, Vector2 fontSize, int length)
Parameters
Type | Name | Description |
---|---|---|
System.String | text | The string to measure. |
Vector2 | fontSize | The size of the font (ignored in the case of static fonts) |
System.Int32 | length | The length of the string to measure |
Returns
Type | Description |
---|---|
Vector2 | Vector2. |
MeasureString(String, ref Vector2)
Returns the width and height of the provided text for a given font size
public Vector2 MeasureString(string text, ref Vector2 fontSize)
Parameters
Type | Name | Description |
---|---|---|
System.String | text | The string to measure. |
Vector2 | fontSize | The size of the font (ignored in the case of static fonts) |
Returns
Type | Description |
---|---|
Vector2 | Vector2. |
MeasureString(String, ref Vector2, Int32)
Returns the width and height of the provided text for a given font size
public Vector2 MeasureString(string text, ref Vector2 fontSize, int length)
Parameters
Type | Name | Description |
---|---|---|
System.String | text | The string to measure. |
Vector2 | fontSize | The size of the font (ignored in the case of static fonts) |
System.Int32 | length | The length of the string to measure |
Returns
Type | Description |
---|---|
Vector2 | Vector2. |
MeasureString(String, Single)
Returns the width and height of the provided text for a given font size
public Vector2 MeasureString(string text, float fontSize)
Parameters
Type | Name | Description |
---|---|---|
System.String | text | The string to measure. |
System.Single | fontSize | The size of the font (ignored in the case of static fonts) |
Returns
Type | Description |
---|---|
Vector2 | Vector2. |
MeasureString(StringBuilder)
Returns the width and height of the provided text for the current font size Size
public Vector2 MeasureString(StringBuilder text)
Parameters
Type | Name | Description |
---|---|---|
System.Text.StringBuilder | text | The string to measure. |
Returns
Type | Description |
---|---|
Vector2 | Vector2. |
MeasureString(StringBuilder, Vector2)
Returns the width and height of the provided text for a given font size
public Vector2 MeasureString(StringBuilder text, Vector2 fontSize)
Parameters
Type | Name | Description |
---|---|---|
System.Text.StringBuilder | text | The string to measure. |
Vector2 | fontSize | The size of the font (ignored in the case of static fonts) |
Returns
Type | Description |
---|---|
Vector2 | Vector2. |
MeasureString(StringBuilder, Vector2, Int32)
Returns the width and height of the provided text for a given font size
public Vector2 MeasureString(StringBuilder text, Vector2 fontSize, int length)
Parameters
Type | Name | Description |
---|---|---|
System.Text.StringBuilder | text | The string to measure. |
Vector2 | fontSize | The size of the font (ignored in the case of static fonts) |
System.Int32 | length | The length of the string to measure |
Returns
Type | Description |
---|---|
Vector2 | Vector2. |
MeasureString(StringBuilder, ref Vector2)
Returns the width and height of the provided text for a given font size
public Vector2 MeasureString(StringBuilder text, ref Vector2 fontSize)
Parameters
Type | Name | Description |
---|---|---|
System.Text.StringBuilder | text | The string to measure. |
Vector2 | fontSize | The size of the font (ignored in the case of static fonts) |
Returns
Type | Description |
---|---|
Vector2 | Vector2. |
MeasureString(StringBuilder, ref Vector2, Int32)
Returns the width and height of the provided text for a given font size
public Vector2 MeasureString(StringBuilder text, ref Vector2 fontSize, int length)
Parameters
Type | Name | Description |
---|---|---|
System.Text.StringBuilder | text | The string to measure. |
Vector2 | fontSize | The size of the font (ignored in the case of static fonts) |
System.Int32 | length | The length of the string to measure |
Returns
Type | Description |
---|---|
Vector2 | Vector2. |
MeasureString(StringBuilder, Single)
Returns the width and height of the provided text for a given font size
public Vector2 MeasureString(StringBuilder text, float fontSize)
Parameters
Type | Name | Description |
---|---|---|
System.Text.StringBuilder | text | The string to measure. |
System.Single | fontSize | The size of the font (ignored in the case of static fonts) |
Returns
Type | Description |
---|---|
Vector2 | Vector2. |
PreGenerateGlyphs(String, Vector2)
Pre-generate synchronously the glyphs of the character needed to render the provided text at the provided size.
public void PreGenerateGlyphs(string text, Vector2 size)
Parameters
Type | Name | Description |
---|---|---|
System.String | text | The text containing the characters to pre-generate |
Vector2 | size | The size of the font |