Skip to main content

FontCollectionBase Class

Definition​

Assembly:Avalonia.Base
Package:Avalonia
public class FontCollectionBase

Inheritance: object -> FontCollectionBase

Implements: IFontCollection, IEnumerable<FontFamily>, IReadOnlyCollection<FontFamily>, IReadOnlyList<FontFamily>, IEnumerable, IDisposable

Methods​

NameDescription
GetEnumeratorNo summary available.
TryAddFontSourceAttempts to add a font source to the font collection.
TryAddGlyphTypeface (3 overloads)Attempts to add the specified Avalonia.Media.GlyphTypeface to the font collection.
TryCreateSyntheticGlyphTypefaceNo summary available.
TryGetFamilyTypefacesNo summary available.
TryGetGlyphTypefaceNo summary available.
TryGetNearestMatchNo summary available.
TryMatchCharacterNo summary available.

GetEnumerator Method​

public System.Collections.Generic.IEnumerator<Avalonia.Media.FontFamily> GetEnumerator()

Returns​

System.Collections.Generic.IEnumerator<Avalonia.Media.FontFamily>

TryAddFontSource Method​

Attempts to add a font source to the font collection.

public bool TryAddFontSource(Uri source)

Parameters​

source Uri

The URI of the font source to add. This can be a file path, a resource URI, or another valid font source URI.

Returns​

bool

if at least one font from the specified source was successfully added to the font collection; otherwise, .

Remarks​

This method processes the specified font source and attempts to load all available fonts from it. Fonts are added to the collection based on their family name and typographic family name (if available). If the source is , the method returns .

TryAddGlyphTypeface overloads​

TryAddGlyphTypeface Method​

Attempts to add the specified Avalonia.Media.GlyphTypeface to the font collection.

public bool TryAddGlyphTypeface(Avalonia.Media.GlyphTypeface glyphTypeface)
Parameters​

glyphTypeface Avalonia.Media.GlyphTypeface

The glyph typeface to add. Must not be and must have a non-empty Avalonia.Media.GlyphTypeface.FamilyName.

Returns​

bool

if the glyph typeface was successfully added to the collection; otherwise, .

Remarks​

This method checks the Avalonia.Media.GlyphTypeface.FamilyName and, if applicable, the typographic family name and other family names provided by the Avalonia.Media.GlyphTypeface interface. If any of these names can be associated with the glyph typeface, the typeface is added to the collection. The method ensures that duplicate entries are not added.

TryAddGlyphTypeface Method​

Attempts to add the specified glyph typeface to the collection using the provided key.

public bool TryAddGlyphTypeface(Avalonia.Media.GlyphTypeface glyphTypeface, Avalonia.Media.Fonts.FontCollectionKey key)
Parameters​

glyphTypeface Avalonia.Media.GlyphTypeface

The glyph typeface to add. Cannot be null, and its FamilyName property must not be null or empty.

key Avalonia.Media.Fonts.FontCollectionKey

The key that identifies the font collection to which the glyph typeface will be added.

Returns​

bool

true if the glyph typeface was successfully added to the collection; otherwise, false.

Remarks​

The method adds the glyph typeface using both its typographic family name and all available family names. If the glyph typeface or its family name is invalid, the method returns false and does not add the typeface.

TryAddGlyphTypeface Method​

public bool TryAddGlyphTypeface(System.IO.Stream stream, Avalonia.Media.GlyphTypeface& glyphTypeface)
Parameters​

stream System.IO.Stream

glyphTypeface Avalonia.Media.GlyphTypeface&

Returns​

bool

TryCreateSyntheticGlyphTypeface Method​

public bool TryCreateSyntheticGlyphTypeface(Avalonia.Media.GlyphTypeface glyphTypeface, Avalonia.Media.FontStyle style, Avalonia.Media.FontWeight weight, Avalonia.Media.FontStretch stretch, Avalonia.Media.GlyphTypeface& syntheticGlyphTypeface)

Parameters​

glyphTypeface Avalonia.Media.GlyphTypeface

style Avalonia.Media.FontStyle

weight Avalonia.Media.FontWeight

stretch Avalonia.Media.FontStretch

syntheticGlyphTypeface Avalonia.Media.GlyphTypeface&

Returns​

bool

TryGetFamilyTypefaces Method​

public bool TryGetFamilyTypefaces(string familyName, System.Collections.Generic.IReadOnlyList<Avalonia.Media.Typeface>& familyTypefaces)

Parameters​

familyName string

familyTypefaces System.Collections.Generic.IReadOnlyList<Avalonia.Media.Typeface>&

Returns​

bool

TryGetGlyphTypeface Method​

public bool TryGetGlyphTypeface(string familyName, Avalonia.Media.FontStyle style, Avalonia.Media.FontWeight weight, Avalonia.Media.FontStretch stretch, Avalonia.Media.GlyphTypeface& glyphTypeface)

Parameters​

familyName string

style Avalonia.Media.FontStyle

weight Avalonia.Media.FontWeight

stretch Avalonia.Media.FontStretch

glyphTypeface Avalonia.Media.GlyphTypeface&

Returns​

bool

TryGetNearestMatch Method​

public bool TryGetNearestMatch(string familyName, Avalonia.Media.FontStyle style, Avalonia.Media.FontWeight weight, Avalonia.Media.FontStretch stretch, Avalonia.Media.GlyphTypeface& glyphTypeface)

Parameters​

familyName string

style Avalonia.Media.FontStyle

weight Avalonia.Media.FontWeight

stretch Avalonia.Media.FontStretch

glyphTypeface Avalonia.Media.GlyphTypeface&

Returns​

bool

TryMatchCharacter Method​

public bool TryMatchCharacter(int codepoint, Avalonia.Media.FontStyle style, Avalonia.Media.FontWeight weight, Avalonia.Media.FontStretch stretch, string familyName, System.Globalization.CultureInfo culture, Avalonia.Media.Typeface& match)

Parameters​

codepoint int

style Avalonia.Media.FontStyle

weight Avalonia.Media.FontWeight

stretch Avalonia.Media.FontStretch

familyName string

culture System.Globalization.CultureInfo

match Avalonia.Media.Typeface&

Returns​

bool

Properties​

NameDescription
CountNo summary available.
ItemNo summary available.
KeyNo summary available.

Count Property​

public int Count { get; set; }

Item Property​

public Avalonia.Media.FontFamily Item { get; set; }

Key Property​

public Uri Key { get; set; }