Настройка коллекций резервных шрифтов в .NET
Применение правил резервного шрифта
Экземпляры класса FontFallBackRule можно организовать в FontFallBackRulesCollection, которая реализует интерфейс IFontFallBackRulesCollection. Можно добавлять или удалять правила из коллекции.
Затем эту коллекцию можно присвоить свойству FontFallBackRulesCollection класса FontsManager. FontsManager управляет шрифтами во всей презентации. Подробнее О FontsManager и FontsLoader.
У каждой Presentation есть свойство FontsManager со своей собственной экземпляром класса FontsManager.
Ниже приведён пример того, как создать коллекцию правил резервных шрифтов и назначить её FontsManager определённой презентации:
using (Presentation presentation = new Presentation())
{
IFontFallBackRulesCollection userRulesList = new FontFallBackRulesCollection();
userRulesList.Add(new FontFallBackRule(0x0B80, 0x0BFF, "Vijaya"));
userRulesList.Add(new FontFallBackRule(0x3040, 0x309F, "MS Mincho, MS Gothic"));
presentation.FontsManager.FontFallBackRulesCollection = userRulesList;
}
После инициализации FontsManager коллекцией резервных шрифтов, резервные шрифты применяются при рендеринге презентации.
FAQ
Будут ли мои правила резервного шрифта встроены в файл PPTX и видимы в PowerPoint после сохранения?
Нет. Правила резервного шрифта являются настройками рендеринга во время выполнения; они не сериализуются в PPTX и не отображаются в пользовательском интерфейсе PowerPoint.
Применяется ли резервный шрифт к тексту внутри SmartArt, WordArt, диаграмм и таблиц?
Да. Для любого текста в этих объектах используется тот же механизм замены глифов.
Поставляет ли Aspose какие-либо шрифты вместе с библиотекой?
Нет. Шрифты вы добавляете и используете самостоятельно, на своей ответственности.
Можно ли одновременно использовать замену/подстановку отсутствующих шрифтов и резервный шрифт для отсутствующих глифов?
Да. Это независимые этапы одного и того же конвейера разрешения шрифтов: сначала движок определяет наличие шрифтов (replacement/substitution), затем резервный шрифт заполняет пробелы для отсутствующих глифов в доступных шрифтах.