using System.Collections.Generic; using System.Globalization; using Avalonia.Media; using Avalonia.Metadata; namespace Avalonia.Platform { [Unstable] public interface IFontManagerImpl { /// /// Gets the system's default font family's name. /// string GetDefaultFontFamilyName(); /// /// Get all installed fonts in the system. /// If true the font collection is updated. /// IEnumerable GetInstalledFontFamilyNames(bool checkForUpdates = false); /// /// Tries to match a specified character to a typeface that supports specified font properties. /// /// The codepoint to match against. /// The font style. /// The font weight. /// The font stretch. /// The font family. This is optional and used for fallback lookup. /// The culture. /// The matching typeface. /// /// True, if the could match the character to specified parameters, False otherwise. /// bool TryMatchCharacter(int codepoint, FontStyle fontStyle, FontWeight fontWeight, FontStretch fontStretch, FontFamily? fontFamily, CultureInfo? culture, out Typeface typeface); /// /// Creates a glyph typeface. /// /// The typeface. /// 0 /// The created glyph typeface. Can be Null if it was not possible to create a glyph typeface. /// IGlyphTypeface CreateGlyphTypeface(Typeface typeface); } }