Настройка коллекций резервных шрифтов в Java

Применение правил резервного шрифта

Экземпляры класса FontFallBackRule можно организовать в FontFallBackRulesCollection, которая реализует интерфейс IFontFallBackRulesCollection. Можно добавлять и удалять правила из коллекции.

Затем эту коллекцию можно назначить методу FontFallBackRulesCollection класса FontsManager. FontsManager управляет шрифтами во всей презентации. Подробнее О FontsManager и FontsLoader.

Каждый Presentation имеет метод getFontsManager со своим собственным экземпляром класса FontsManager.

Ниже приведён пример того, как создать коллекцию правил резервных шрифтов и назначить её в FontsManager определённой презентации:

Presentation pres = new Presentation();
try {
    IFontFallBackRulesCollection userRulesList = new FontFallBackRulesCollection();

    userRulesList.add(new FontFallBackRule(0x0B80, 0x0BFF, "Vijaya"));
    userRulesList.add(new FontFallBackRule(0x3040, 0x309F, "MS Mincho, MS Gothic"));

    pres.getFontsManager().setFontFallBackRulesCollection(userRulesList);
} finally {
    if (pres != null) pres.dispose();
}

После того как FontsManager инициализирован коллекцией резервных шрифтов, резервные шрифты применяются во время рендеринга презентации.

Часто задаваемые вопросы

Будут ли мои правила резервного шрифта встроены в файл PPTX и видны в PowerPoint после сохранения?

Нет. Правила резервного шрифта — это настройки рендеринга во время выполнения; они не сериализуются в PPTX и не будут отображаться в пользовательском интерфейсе PowerPoint.

Применяется ли резервный шрифт к тексту в SmartArt, WordArt, диаграммах и таблицах?

Да. Для любого текста в этих объектах используется тот же механизм подстановки глифов.

Поставляет ли Aspose какие-либо шрифты вместе с библиотекой?

Нет. Шрифты добавляете и используете вы, полностью отвечая за них.

Можно ли использовать замену/подстановку отсутствующих шрифтов и резервный шрифт для отсутствующих глифов одновременно?

Да. Это независимые этапы одного и того же конвейера разрешения шрифтов: сначала движок определяет доступность шрифтов (replacement/substitution), затем резервный шрифт заполняет пробелы для отсутствующих глифов в доступных шрифтах.