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

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

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

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

У каждого Presentation есть метод getFontsManager со своей собственной копией класса FontsManager.

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

  $pres = new Presentation();
  try {
    $userRulesList = new FontFallBackRulesCollection();
    $userRulesList->add(new FontFallBackRule(0xb80, 0xbff, "Vijaya"));
    $userRulesList->add(new FontFallBackRule(0x3040, 0x309f, "MS Mincho, MS Gothic"));
    $pres->getFontsManager()->setFontFallBackRulesCollection($userRulesList);
  } finally {
    if (!java_is_null($pres)) {
      $pres->dispose();
    }
  }

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

FAQ

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

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

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

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

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

Нет. Шрифты вы добавляете и используете самостоятельно, и это ваша ответственность.

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

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