Последовательность выбора шрифтов в Aspose.Slides для .NET
Обзор
Когда презентация загружается, отображается или конвертируется в другой формат, Aspose.Slides учитывает встроенные шрифты и шрифты, доступные приложению. Если требуемый шрифт недоступен, Aspose.Slides выбирает заменяющий шрифт, максимально приближенный к тому, который использовал бы PowerPoint.
Доступные шрифты могут включать системные шрифты, шрифты, загруженные приложением, и шрифты, встроенные в презентацию. Для совпадающего встроенного и зарегистрированного шрифта предпочтение .NET 26.11, описанное ниже, определяет, какой из них имеет приоритет. Правила замены шрифтов, определённые через FontSubstRule, являются отдельным механизмом.
Вы также можете добавлять шрифты во время выполнения приложения, использовать встроенные шрифты из презентации или загружать внешние шрифты для выходных документов, например PDF‑файлов.
Выбор шрифта
Текст может ссылаться на шрифт темы, например +mn-lt, вместо явного имени семейства. См. Разрешить ссылки на шрифты темы, чтобы получить семейство, указанное в соответствующей теме. Разрешение этой ссылки отделено от проверки доступности шрифта и применения замены во время рендеринга или резервного выбора глифов; оно не определяет файл шрифта, который в конечном итоге будет использован для отрисовки текста.
При рендеринге слайдов или конвертации презентации проверьте, что запрошенные шрифты встроены или доступны из зарегистрированных источников. Отсутствующие шрифты могут требовать замены или подстановки; см. Замена шрифтов и Подстановка шрифтов.
При исследовании выбора шрифта:
- Разрешите запрошенное семейство и стиль, включая любые ссылки на тему.
- Проверьте встроенные шрифты и зарегистрированные источники, включая системные шрифты и шрифты, загруженные приложением. Используйте предпочтение ниже, когда конкурируют соответствующие встроенные и зарегистрированные версии.
- Просмотрите правила подстановки шрифтов и резервный выбор глифов, если запрошенный шрифт или символы недоступны.
Aspose.Slides позволяет добавить шрифты во время выполнения приложения и затем использовать их. См. Пользовательские шрифты.
Когда дополнительные шрифты помещаются в презентацию, они называются Встроенными шрифтами.
Aspose.Slides позволяет добавлять шрифты, которые применяются только к выходным документам. Например, если презентация, которую вы хотите конвертировать в PDF, содержит шрифты, отсутствующие в системе и во встроенных шрифтах, вы можете добавить или загрузить нужные шрифты как внешние шрифты.
Note
Мы не распространяем шрифты, ни платные, ни бесплатные. Наш API позволяет загружать внешние шрифты и внедрять их в документы, но вы делаете это с шрифтами по собственному усмотрению и ответственности.Предпочтительно использовать зарегистрированные шрифты перед встроенными шрифтами
Начиная с .NET 26.11, IFontsManager.PreferRegisteredFontsOverEmbedded позволяет совпадающему зарегистрированному шрифту получать приоритет над встроенным шрифтом при экспорте. Значение по умолчанию — false. Сопоставление использует имя шрифта и стиль; другое имя семейства не считается заменой. Зарегистрированные шрифты могут поступать из системы или из явно загруженных источников шрифтов.
В следующем примере используется пакет Aspose.Slides.NET6.CrossPlatform 26.11 для .NET 8. Следуйте installation guide для вашей среды. Предоставьте embedded-fonts.pptx с встроенным шрифтом и preferred.ttf с тем же именем семейства и стилем. Оба файла шрифтов должны визуально отличаться, если вы хотите сравнить результат.
using System.IO;
using Aspose.Slides;
using Aspose.Slides.Export;
var fontBytes = File.ReadAllBytes("preferred.ttf");
FontsLoader.LoadExternalFont(fontBytes);
using var presentation = new Presentation("embedded-fonts.pptx");
presentation.FontsManager.PreferRegisteredFontsOverEmbedded = false;
presentation.Save("embedded-preference.pdf", SaveFormat.Pdf);
presentation.FontsManager.PreferRegisteredFontsOverEmbedded = true;
presentation.Save("registered-preference.pdf", SaveFormat.Pdf);
presentation.FontsManager.PreferRegisteredFontsOverEmbedded = false;
presentation.Save("restored-preference.pdf", SaveFormat.Pdf);
Эта настройка изменяет приоритет шрифтов при экспорте; она не переименовывает шрифт текста, не удаляет встроенные данные шрифта и не перевстраивает зарегистрированный файл. Это настройка времени выполнения: установите её снова после повторного открытия презентации. Если совпадающий зарегистрированный шрифт недоступен, включение предпочтения не предоставит его; проверьте полученный шрифт и макет в целевой среде.
Вывод PNG и PDF с явно загруженными обычными шрифтами был проверен для указанной конфигурации. Проверьте свои файлы шрифтов, стили, сборку SDK и форматы вывода перед тем, как полагаться на идентичные результаты. Метрики шрифтов могут менять перенос строк и позиционирование. Используйте замена шрифтов или подстановка, когда требуется другое семейство, и операции с встроенными шрифтами, когда нужно изменить шрифты, хранящиеся в презентации.
Вопросы и ответы
Как определить, какие шрифты фактически используются в презентации перед конвертацией?
Aspose.Slides позволяет просматривать используемые шрифты через менеджер шрифтов, чтобы вы могли решить, встроить, заменить или добавить внешние источники. Это помогает предотвратить нежелательные подстановки во время рендеринга и экспорта.
Могу ли я добавить дополнительные каталоги шрифтов без их установки в операционной системе?
Да. Вы можете регистрировать внешние источники шрифтов такие как папки или потоки в памяти для рендеринга и экспорта. Это устраняет зависимость от системных шрифтов хоста и сохраняет предсказуемость макета.
Как избежать бесшумного перехода к неподходящему шрифту, когда глиф отсутствует?
Заранее определите явную замена шрифтов и правила резервных шрифтов. Анализируя используемые шрифты и задавая контролируемый приоритет замен, вы обеспечиваете согласованную типографику и избегаете неожиданных результатов.