在 C++ 中配置回退字体集合

应用回退规则

可以将 FontFallBackRule 类的实例组织到 FontFallBackRulesCollection,它实现了 IFontFallBackRulesCollection 接口。可以向集合中添加或移除规则。

然后可以将此集合传递给 set_FontFallBackRulesCollection() 方法,该方法属于 FontsManager 类。FontsManager 控制整个演示文稿中的字体。

每个 Presentation 都有一个 get_FontsManager() 方法,返回其自身的 FontsManager 类实例。

下面示例演示如何创建回退字体规则集合并将其分配给特定演示文稿的 FontsManager:

auto presentation = MakeObject<Presentation>();
auto userRulesList = MakeObject<FontFallBackRulesCollection>();

userRulesList->Add(MakeObject<FontFallBackRule>(static_cast<uint32_t>(0x0B80), static_cast<uint32_t>(0x0BFF), u"Vijaya"));
userRulesList->Add(MakeObject<FontFallBackRule>(static_cast<uint32_t>(0x3040), static_cast<uint32_t>(0x309F), u"MS Mincho, MS Gothic"));

presentation->get_FontsManager()->set_FontFallBackRulesCollection(userRulesList);

在 FontsManager 使用回退字体集合初始化后,回退字体将在演示文稿渲染期间应用。

常见问题

我的回退规则会嵌入到 PPTX 文件并在保存后在 PowerPoint 中可见吗?

不会。回退规则是运行时渲染设置;它们不会序列化到 PPTX 中,也不会出现在 PowerPoint 的界面中。

回退规则适用于 SmartArt、WordArt、图表和表格中的文本吗?

是。这些对象中的任何文本都使用相同的字形替换机制。

Aspose 是否随库分发任何字体?

不会。您需要自行添加和使用字体,且责任自负。

缺失字体的替换/替代和缺失字形的回退可以一起使用吗?

是。它们是同一字体解析管道的独立阶段:首先引擎解析字体可用性(replacement/substitution),然后回退在可用字体中填补缺失字形的空白。