Настройка подстановки шрифтов в презентациях с использованием C++
Установить правила замены шрифтов
Aspose.Slides позволяет задать правила для шрифтов, определяющие, что необходимо сделать в определённых условиях (например, когда шрифт недоступен) следующим образом:
- Загрузите соответствующую презентацию.
- Загрузите шрифт, который будет заменён.
- Загрузите новый шрифт.
- Добавьте правило замены.
- Добавьте правило в коллекцию правил замены шрифтов презентации.
- Сгенерируйте изображение слайда, чтобы увидеть эффект.
Этот код C++ демонстрирует процесс подстановки шрифтов:
// Путь к каталогу документов.
const String outPath = u"../out/RuleBasedFontsReplacement_out.pptx";
const String templatePath = u"../templates/DefaultFonts.pptx";
// Загружает презентацию
SharedPtr<Presentation> pres = MakeObject<Presentation>(templatePath);
// Определяет шрифт, который будет заменён, и новый шрифт
SharedPtr<IFontData> sourceFont = MakeObject<FontData>(u"SomeRareFont");
SharedPtr<IFontData> destFont = MakeObject<FontData>(u"Arial");
// Добавляет правило шрифта для замены шрифта
SharedPtr<FontSubstRule> fontSubstRule = MakeObject<FontSubstRule>(sourceFont, destFont, FontSubstCondition::WhenInaccessible);
// Добавляет правило в коллекцию правил подстановки шрифтов
SharedPtr<FontSubstRuleCollection> fontSubstRuleCollection = MakeObject<FontSubstRuleCollection>();
fontSubstRuleCollection->Add(fontSubstRule);
// Добавляет коллекцию правил шрифтов в список правил
pres->get_FontsManager()->set_FontSubstRuleList ( fontSubstRuleCollection);
// Сохраняет PPTX на диск
pres->Save(outPath, Aspose::Slides::Export::SaveFormat::Pptx);
NOTE
Возможно, вам будет интересно посмотреть Замена шрифтов.Ограничения для шрифтов математических уравнений
Правила подстановки шрифтов участвуют в стандартном процессе выбора шрифтов, используемом при рендеринге и конвертации. Они подходят для обычных текстовых сценариев, когда Aspose.Slides может заменить недоступный шрифт другим доступным шрифтом согласно настроенному правилу.
Однако у уравнений Office Math есть важное ограничение. Если уравнение было создано с помощью Cambria Math, Aspose.Slides всё равно может потребовать оригинальный шрифт Cambria Math для правильно расчёта и отрисовки макета уравнения. Поэтому подстановка Cambria Math другим математическим шрифтом, например STIX Two Math, не поддерживается при рендеринге уравнений и может привести к исключению, указывающему, что требуется Cambria Math.
Чтобы успешно конвертировать такие презентации, убедитесь, что Cambria Math доступен Aspose.Slides во время выполнения. Вы можете установить шрифт в операционной системе или предоставить его как внешний шрифт, чтобы он мог участвовать в обычном процессе выбора шрифтов при рендеринге и конвертации.
Это ограничение относится только к рендерингу уравнений. Описанные выше стандартные правила подстановки шрифтов по‑прежнему применяются к обычному тексту презентации, когда оригинальный шрифт недоступен.
Часто задаваемые вопросы
В чем разница между заменой шрифтов и их подстановкой?
Замена — принудительное переопределение одного шрифта другим во всей презентации. Подстановка — правило, которое срабатывает при определённом условии, например когда оригинальный шрифт недоступен, и тогда используется назначенный запасной шрифт.
Когда именно применяются правила подстановки?
Правила участвуют в стандартной последовательности выбора шрифтов, которая оценивается во время загрузки, рендеринга и конвертации; если выбранный шрифт недоступен, применяется замена или подстановка.
Каким будет поведение по умолчанию, если ни замена, ни подстановка не настроены, а шрифт отсутствует в системе?
Библиотека попытается выбрать ближайший доступный системный шрифт, аналогично тому, как это делает PowerPoint.
Можно ли добавить пользовательские внешние шрифты во время выполнения, чтобы избежать подстановки?
Да. Вы можете добавлять внешние шрифты во время выполнения, чтобы библиотека учитывала их при выборе и рендеринге, включая последующие конвертации.
Поставляет ли Aspose какие‑либо шрифты вместе с библиотекой?
Нет. Aspose не поставляет платные или бесплатные шрифты; вы добавляете и используете шрифты по собственному усмотрению и ответственности.
Есть ли различия в поведении подстановки на Windows, Linux и macOS?
Да. Поиск шрифтов начинается с каталогов шрифтов операционной системы. Набор доступных по умолчанию шрифтов и пути поиска различаются между платформами, что влияет на доступность и необходимость подстановки.
Как подготовить окружение, чтобы минимизировать неожиданную подстановку при пакетных конверсиях?
Синхронизируйте набор шрифтов между машинами или контейнерами, добавьте необходимые внешние шрифты для выводимых документов и, по возможности, встраивайте шрифты в презентации, чтобы выбранные шрифты были доступны во время рендеринга.