Указание шрифтов презентации по умолчанию в С++

Установить шрифт по умолчанию

Using Aspose.Slides for C++ you can set the default font in PowerPoint presentations. A new method set_DefaultRegularFont() has been added to SaveOptions class. It allows to set the default font used instead of all missing fonts during saving presentations to different formats without reloading the presentations .

The code snippet below demonstrates saving presentation to HTML and PDF with different default regular font.

Использовать шрифты по умолчанию при визуализации презентации

Aspose.Slides lets you set the default font fore rendering the presentation to PDF, XPS or thumbnails. This article shows how to define DefaultRegular Font and DefaultAsian Font for use as default fonts. Please follow the steps below to loading fonts from external directories by using Aspose.Slides for C++ API:

  1. Создайте экземпляр LoadOptions.
  2. Установите DefaultRegularFont в нужный вам шрифт. В следующем примере я использовал Wingdings.
  3. Установите DefaultAsianFont в нужный вам шрифт. В следующем образце я использовал Wingdings.
  4. Загрузите презентацию, используя Presentation и задав параметры загрузки.
  5. Теперь сгенерируйте миниатюру слайда, PDF и XPS, чтобы проверить результаты.
// Используйте параметры загрузки, чтобы указать шрифты по умолчанию: обычный и азиатский
auto loadOptions = MakeObject<LoadOptions>(LoadFormat::Auto);
loadOptions->set_DefaultRegularFont(u"Wingdings");
loadOptions->set_DefaultAsianFont(u"Wingdings");

auto pptx = MakeObject<Presentation>(u"DefaultFonts.pptx", loadOptions);

auto image = pptx->get_Slide(0)->GetImage(1, 1);
image->Save(u"DefaultFonts_out.png", ImageFormat::Png);
image->Dispose();

pptx->Save(u"DefaultFonts_out.pdf", SaveFormat::Pdf);
pptx->Save(u"DefaultFonts_out.xps", SaveFormat::Xps);

pptx->Dispose();

FAQ

Что именно влияют DefaultRegularFont и DefaultAsianFont — только экспорт или также миниатюры, PDF, XPS, HTML и SVG?

Они участвуют в конвейере визуализации для всех поддерживаемых выводов. Это включает миниатюры слайдов, PDF, XPS, растровые изображения, HTML, и SVG, потому что Aspose.Slides использует одинаковую логику размещения и разрешения глифов для этих целей.

Применяются ли шрифты по умолчанию при простом чтении и сохранении PPTX без любой визуализации?

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

Если я добавлю свои папки со шрифтами или предоставлю шрифты из памяти, будут ли они учитываться при выборе шрифтов по умолчанию?

Да. Custom font sources расширяют каталог доступных семейств и глифов, которые может использовать движок. Шрифты по умолчанию и любые fallback rules будут сначала искать в этих источниках, обеспечивая более надёжное покрытие на серверах и в контейнерах.

Будут ли шрифты по умолчанию влиять на метрику текста (кернинг, advance) и, следовательно, на переносы строк и обтекание?

Да. Смена шрифта меняет метрику глифов и может изменить переносы строк, обтекание и разбивку страниц при визуализации. Для стабильности компоновки embed the original fonts или выбирайте метрично совместимые семейства по умолчанию и запасные.

Есть ли смысл задавать шрифты по умолчанию, если все шрифты, используемые в презентации, встроены?

Часто это не требуется, поскольку embedded fonts уже обеспечивают согласованный внешний вид. Шрифты по умолчанию всё равно полезны как запасной вариант для символов, не покрытых встроенным набором, или когда файл сочетает встроенный и не встроенный текст.