Укажите резервные шрифты для презентаций на C++

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

Aspose.Slides поддерживает интерфейс IFontFallBackRule и класс FontFallBackRule для указания правил применения резервного шрифта. Класс FontFallBackRule представляет связь между указанным диапазоном Unicode, используемым для поиска недостающих глифов, и списком шрифтов, которые могут содержать нужные глифы:

uint32_t startUnicodeIndex = 0x0B80;
uint32_t endUnicodeIndex = 0x0BFF;

auto firstRule = MakeObject<FontFallBackRule>(startUnicodeIndex, endUnicodeIndex, u"Vijaya");
auto secondRule = MakeObject<FontFallBackRule>(static_cast<uint32_t>(0x3040), static_cast<uint32_t>(0x309F), u"MS Mincho, MS Gothic");

// Using multiple ways you can add fonts list:
auto fontNames = MakeArray<String>({ u"Segoe UI Emoji, Segoe UI Symbol", u"Arial" });

auto thirdRule = MakeObject<FontFallBackRule>(static_cast<uint32_t>(0x1F300), static_cast<uint32_t>(0x1F64F), fontNames);

Также можно вызвать метод Remove() для удаления резервного шрифта или AddFallBackFonts() для добавления резервных шрифтов в существующий объект FontFallBackRule.

FontFallBackRulesCollection можно использовать для организации списка объектов FontFallBackRule, когда необходимо задать правила замены резервных шрифтов для нескольких диапазонов Unicode.

FAQ

В чём разница между резервным шрифтом, заменой шрифта и встраиванием шрифта?

Резервный шрифт используется только для символов, отсутствующих в основном шрифте. Замена шрифта заменяет весь указанный шрифт другим шрифтом. Встраивание шрифта помещает шрифты внутрь выходного файла, чтобы получатели могли видеть текст как задумано.

Применяются ли резервные шрифты при экспорте в PDF, PNG или SVG, или только при отображении на экране?

Да. Резервные шрифты влияют на все операции рендеринга и экспорта, где необходимо отрисовать символы, отсутствующие в исходном шрифте.

Изменяется ли сам файл презентации при настройке резервных шрифтов и сохраняются ли эти настройки при будущих открытиях?

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

Влияют ли операционная система (Windows/Linux/macOS) и набор каталогов шрифтов на выбор резервного шрифта?

Да. Движок ищет шрифты в доступных системных папках и в любых дополнительных путях, которые вы указываете. Если шрифт физически недоступен, правило, ссылающееся на него, не будет действовать.

Работают ли резервные шрифты для WordArt, SmartArt и диаграмм?

Да. Когда эти объекты содержат текст, применяется тот же механизм замены глифов для рендеринга недостающих символов.