csharpc-sharpdotnetxamlavaloniauicross-platformcross-platform-xamlavaloniaguimulti-platformuser-interfacedotnetcore
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
2.0 KiB
48 lines
2.0 KiB
using System.Collections.Generic;
|
|
using System.Globalization;
|
|
using Avalonia.Media;
|
|
using Avalonia.Metadata;
|
|
|
|
namespace Avalonia.Platform
|
|
{
|
|
[Unstable]
|
|
public interface IFontManagerImpl
|
|
{
|
|
/// <summary>
|
|
/// Gets the system's default font family's name.
|
|
/// </summary>
|
|
string GetDefaultFontFamilyName();
|
|
|
|
/// <summary>
|
|
/// Get all installed fonts in the system.
|
|
/// <param name="checkForUpdates">If <c>true</c> the font collection is updated.</param>
|
|
/// </summary>
|
|
IEnumerable<string> GetInstalledFontFamilyNames(bool checkForUpdates = false);
|
|
|
|
/// <summary>
|
|
/// Tries to match a specified character to a typeface that supports specified font properties.
|
|
/// </summary>
|
|
/// <param name="codepoint">The codepoint to match against.</param>
|
|
/// <param name="fontStyle">The font style.</param>
|
|
/// <param name="fontWeight">The font weight.</param>
|
|
/// <param name="fontStretch">The font stretch.</param>
|
|
/// <param name="fontFamily">The font family. This is optional and used for fallback lookup.</param>
|
|
/// <param name="culture">The culture.</param>
|
|
/// <param name="typeface">The matching typeface.</param>
|
|
/// <returns>
|
|
/// <c>True</c>, if the <see cref="IFontManagerImpl"/> could match the character to specified parameters, <c>False</c> otherwise.
|
|
/// </returns>
|
|
bool TryMatchCharacter(int codepoint, FontStyle fontStyle,
|
|
FontWeight fontWeight, FontStretch fontStretch,
|
|
FontFamily? fontFamily, CultureInfo? culture, out Typeface typeface);
|
|
|
|
/// <summary>
|
|
/// Creates a glyph typeface.
|
|
/// </summary>
|
|
/// <param name="typeface">The typeface.</param>
|
|
/// <returns>0
|
|
/// The created glyph typeface. Can be <c>Null</c> if it was not possible to create a glyph typeface.
|
|
/// </returns>
|
|
IGlyphTypeface CreateGlyphTypeface(Typeface typeface);
|
|
}
|
|
}
|
|
|