Настройка коллекций резервных шрифтов в C++
Применить правила резервного шрифта
Экземпляры класса FontFallBackRule могут быть организованы в FontFallBackRulesCollection, который реализует интерфейс IFontFallBackRulesCollection. Можно добавлять или удалять правила из коллекции.
Затем эту коллекцию можно передать методу set_FontFallBackRulesCollection() класса FontsManager. FontsManager управляет шрифтами во всей презентации.
У каждого Presentation есть метод get_FontsManager(), который возвращает собственный экземпляр класса FontsManager.
Ниже приведён пример того, как создать коллекцию правил резервных шрифтов и назначить её FontsManager определённой презентации:
auto presentation = MakeObject<Presentation>();
auto userRulesList = MakeObject<FontFallBackRulesCollection>();
userRulesList->Add(MakeObject<FontFallBackRule>(static_cast<uint32_t>(0x0B80), static_cast<uint32_t>(0x0BFF), u"Vijaya"));
userRulesList->Add(MakeObject<FontFallBackRule>(static_cast<uint32_t>(0x3040), static_cast<uint32_t>(0x309F), u"MS Mincho, MS Gothic"));
presentation->get_FontsManager()->set_FontFallBackRulesCollection(userRulesList);
После инициализации FontsManager коллекцией резервных шрифтов, резервные шрифты применяются во время рендеринга презентации.
Часто задаваемые вопросы
Будут ли мои правила резервного шрифта встроены в файл PPTX и видимы в PowerPoint после сохранения?
Нет. Правила резервного шрифта являются настройками рендеринга во время выполнения; они не сериализуются в PPTX и не будут отображаться в пользовательском интерфейсе PowerPoint.
Применяется ли резервный шрифт к тексту внутри SmartArt, WordArt, диаграмм и таблиц?
Да. Для любого текста в этих объектах используется тот же механизм подстановки глифов.
Поставляет ли Aspose какие-либо шрифты вместе с библиотекой?
Нет. Вы добавляете и используете шрифты самостоятельно и несёте за это ответственность.
Можно ли одновременно использовать замену/подстановку отсутствующих шрифтов и резервный шрифт для отсутствующих глифов?
Да. Это независимые этапы одного и того же конвейера разрешения шрифтов: сначала движок определяет доступность шрифтов (replacement/substitution), затем резервный шрифт заполняет пробелы для отсутствующих глифов в доступных шрифтах.