Velaptor.Content.Fonts.Font
Velaptor
Velaptor.Content.Fonts
Font Class
Represents a font with a set size and style that can be used to render text to the screen.
public sealed class Font :
Velaptor.Content.Fonts.IFont,
Velaptor.Content.IContent
Inheritance System.Object → Font
Properties
Atlas
Gets the font atlas texture that contains all the bitmap data for all available glyphs for the font.
public Velaptor.Content.ITexture Atlas { get; set; }
Implements Atlas
Property Value
AvailableStylesForFamily
Gets a list of all the available font styles for the current font FamilyName.
public System.Collections.Generic.IEnumerable<Velaptor.Content.Fonts.FontStyle> AvailableStylesForFamily { get; }
Implements AvailableStylesForFamily
Property Value
System.Collections.Generic.IEnumerable<FontStyle>
CacheEnabled
Gets or sets a value indicating whether to cache the measurements of the text.
public bool CacheEnabled { get; set; }
Implements CacheEnabled
Property Value
FamilyName
Gets the name of the font family.
public string FamilyName { get; }
Implements FamilyName
Property Value
FilePath
Gets the path to the content.
public string FilePath { get; }
Implements FilePath
Property Value
HasKerning
Gets a value indicating whether the font has kerning for text rendering layout.
public bool HasKerning { get; }
Implements HasKerning
Property Value
IsDefaultFont
Gets a value indicating whether the font is a default font.
public bool IsDefaultFont { get; }
Implements IsDefaultFont
Property Value
LineSpacing
Gets the spacing between lines of text in pixels.
public float LineSpacing { get; set; }
Implements LineSpacing
Property Value
MaxCacheSize
Gets or sets the maximum number of measurements to cache.
public int MaxCacheSize { get; set; }
Implements MaxCacheSize
Property Value
Metrics
Gets the list of metrics for all the glyphs supported by the font.
public System.Collections.Generic.IReadOnlyCollection<Velaptor.Graphics.GlyphMetrics> Metrics { get; }
Implements Metrics
Property Value
System.Collections.Generic.IReadOnlyCollection<GlyphMetrics>
Name
Gets the name of the content.
public string Name { get; }
Implements Name
Property Value
Size
Gets or sets the size of the font in points.
public uint Size { get; set; }
Implements Size
Property Value
Source
Gets the source of where the font was loaded.
public Velaptor.Content.Fonts.FontSource Source { get; }
Implements Source
Property Value
Style
Gets or sets the style of the font.
public Velaptor.Content.Fonts.FontStyle Style { get; set; }
Implements Style
Property Value
Methods
GetCharacterBounds(string, Vector2)
Returns the bounds of each character in the given text based on the
given textPos.
public System.Collections.Generic.IEnumerable<(char character,System.Drawing.RectangleF bounds)> GetCharacterBounds(string text, System.Numerics.Vector2 textPos);
Parameters
text
System.String
The text to get the bounds' data.
textPos
System.Numerics.Vector2
The position of the text as a whole.
Implements GetCharacterBounds(string, Vector2)
Returns
System.Collections.Generic.IEnumerable<<System.Char,System.Drawing.RectangleF>>
The bounds for each character.
GetCharacterBounds(StringBuilder, Vector2)
Returns the bounds of each character in the given text based on the
given textPos.
public System.Collections.Generic.IEnumerable<(char character,System.Drawing.RectangleF bounds)> GetCharacterBounds(System.Text.StringBuilder text, System.Numerics.Vector2 textPos);
Parameters
text
System.Text.StringBuilder
The text to get the bounds' data.
textPos
System.Numerics.Vector2
The position of the text as a whole.
Implements GetCharacterBounds(StringBuilder, Vector2)
Returns
System.Collections.Generic.IEnumerable<<System.Char,System.Drawing.RectangleF>>
The bounds for each character.
GetKerning(uint, uint)
Gets the kerning value between two glyphs.
public float GetKerning(uint leftGlyphIndex, uint rightGlyphIndex);
Parameters
leftGlyphIndex
System.UInt32
The character index of the glyph to the left of the right glyph.
rightGlyphIndex
System.UInt32
The character index of the glyph to the right of the left glyph.
Implements GetKerning(uint, uint)
Returns
System.Single
The kerning (horizontal spacing) between the glyphs.
Remarks
Refer to the URL below for more info.
https://freetype.org/freetype2/docs/glyphs/glyphs-4.html#section-1.
Measure(string)
Measures the width and height bounds of the given text.
public System.Drawing.SizeF Measure(string text);
Parameters
text
System.String
The text to measure.
Implements Measure(string)
Returns
System.Drawing.SizeF
The width and height of the text in pixels.
ToGlyphMetrics(string)
Returns all the glyph metrics for the given text.
public Velaptor.Graphics.GlyphMetrics[] ToGlyphMetrics(string text);
Parameters
text
System.String
The text to convert to glyph metrics.
Implements ToGlyphMetrics(string)
Returns
GlyphMetrics[]
The list of glyph metrics of the given text.