Python(Java 経由)でフォールバック フォント コレクションを構成する

概要

Aspose.Slides はプレゼンテーションに対してフォールバック フォント ルールのコレクションを構成できるようにします。各フォールバック ルールは FontFallBackRule クラスで表され、FontFallBackRulesCollection に追加できます。

コレクションを作成したら、プレゼンテーションの FontsManagersetFontFallBackRulesCollection メソッドを使用して割り当てることができます。FontsManager はプレゼンテーション全体のフォントを制御し、各 Presentation インスタンスは独自の FontsManager を持ちます。

FontsManager がフォールバック フォント コレクションで初期化されると、指定されたフォールバック フォントがプレゼンテーションのレンダリング時に適用されます。

フォールバック ルールの適用

FontFallBackRule クラスのインスタンスは FontFallBackRulesCollection に編成できます。コレクションからルールを追加または削除できます。

このコレクションは、プレゼンテーション全体のフォントを制御する FontsManager クラスの setFontFallBackRulesCollection メソッドを使用して割り当てることができます。

Presentation には、独自の FontsManager インスタンスを返す getFontsManager メソッドがあります。

以下の例は、フォールバック フォント ルールのコレクションを作成し、プレゼンテーションの FontsManager に割り当てる方法を示しています。

import jpype
import asposeslides

if not jpype.isJVMStarted():
    jpype.startJVM()

from asposeslides.api import FontFallBackRule, FontFallBackRulesCollection, Presentation

presentation = Presentation()
try:
    fallback_rules = FontFallBackRulesCollection()

    tamil_rule = FontFallBackRule(0x0B80, 0x0BFF, "Vijaya")
    fallback_rules.add(tamil_rule)
    hiragana_rule = FontFallBackRule(0x3040, 0x309F, "MS Mincho, MS Gothic")
    fallback_rules.add(hiragana_rule)

    presentation.getFontsManager().setFontFallBackRulesCollection(fallback_rules)
finally:
    presentation.dispose()

FontsManager がフォールバック フォント コレクションで初期化されると、フォールバック フォントがプレゼンテーションのレンダリング時に適用されます。

FAQ

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

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

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

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

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

いいえ。フォントはご自身で追加・使用し、自己責任で管理してください。

不足しているフォントの置換/サブスティテューションと、欠けているグリフのフォールバックを併用できますか?

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