C++ でフォールバックフォントコレクションを構成

フォールバック規則を適用

FontFallBackRule クラスのインスタンスは、FontFallBackRulesCollection に整理できます。このコレクションは IFontFallBackRulesCollection インターフェイスを実装しています。コレクションへの規則の追加や削除が可能です。

その後、このコレクションは FontsManager クラスの set_FontFallBackRulesCollection() メソッドに渡すことができます。FontsManager はプレゼンテーション全体のフォントを制御します。詳しくは FontsManager と FontsLoader について をご覧ください。

Presentation には、独自の FontsManager インスタンスを取得できる get_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 がフォールバックフォントコレクションで初期化されると、プレゼンテーションのレンダリング中にフォールバックフォントが適用されます。

FAQ

フォールバック規則は PPTX ファイルに埋め込まれ、保存後に PowerPoint で表示されますか?

いいえ。フォールバック規則は実行時のレンダリング設定であり、PPTX にシリアライズされないため、PowerPoint の UI には表示されません。

SmartArt、WordArt、チャート、テーブル内のテキストにもフォールバックは適用されますか?

はい。これらのオブジェクト内のテキストにも同じグリフ置換メカニズムが使用されます。

Aspose はライブラリと共にフォントを配布していますか?

いいえ。フォントはご自身で追加・使用していただき、責任は利用者にあります。

欠落フォントの置換/置換と欠落グリフのフォールバックは同時に使用できますか?

はい。これらは同じフォント解決パイプラインの独立した段階です。まずエンジンがフォントの可用性を解決し(置換/置換)、次にフォールバックが利用可能なフォント内の欠落グリフを補填します。