FontConfigSubstitutionRule

FontConfigSubstitutionRule class

Правило подстановки конфигурации шрифта.

public class FontConfigSubstitutionRule : FontSubstitutionRule

Характеристики

Имя Описание
override Enabled { set; } Указывает, включено ли правило.

Методы

Имя Описание
IsFontConfigAvailable() Проверить, доступна ли утилита fontconfig.
ResetCache() Сбрасывает кэш результатов вызова fontconfig.

Примечания

Это правило использует утилиту fontconfig на платформах Linux (и других Unix-подобных) для получения замены , если исходный шрифт недоступен.

Если утилита fontconfig недоступна, это правило будет проигнорировано.

Примеры

Показывает подстановку конфигурации шрифта в зависимости от операционной системы.

FontSettings fontSettings = new FontSettings();
FontConfigSubstitutionRule fontConfigSubstitution =
    fontSettings.SubstitutionSettings.FontConfigSubstitution;

bool isWindows = new[] {PlatformID.Win32NT, PlatformID.Win32S, PlatformID.Win32Windows, PlatformID.WinCE}
    .Any(p => Environment.OSVersion.Platform == p);

// Объект FontConfigSubstitutionRule работает по-разному на платформах Windows/отличных от Windows.
// В Windows он недоступен.
if (isWindows)
{
    Assert.False(fontConfigSubstitution.Enabled);
    Assert.False(fontConfigSubstitution.IsFontConfigAvailable());
}

bool isLinuxOrMac =
    new[] {PlatformID.Unix, PlatformID.MacOSX}.Any(p => Environment.OSVersion.Platform == p);

// В Linux/Mac у нас будет к нему доступ, и мы сможем выполнять операции.
if (isLinuxOrMac)
{
    Assert.True(fontConfigSubstitution.Enabled);
    Assert.True(fontConfigSubstitution.IsFontConfigAvailable());

    fontConfigSubstitution.ResetCache();
}

Смотрите также