OpenType機能を有効にする

Contents
[ ]

OpenTypeはフォント形式で、PostScriptやTrueTypeと比較して国際的な言語や書記体系をよりよくサポートするために導入されました。 OpenTypeのレイアウト機能は、一般にOpenType機能として知られています。 Aspose.Words.シェイピング。HarfBuzzパッケージはHarfBuzzテキスト整形エンジンを使用してAspose.WordsのOpenType機能をサポートします。

Aspose.Wordsは、外部から提供されるテキストシェイパーオブジェクトを使用できます。 テキストシェイパーは、フォントを表し、テキストの整形情報を計算します。 ドキュメントは通常、複数のフォントを参照するため、テキストシェイパーファクトリが必要です。 このパッケージにはAspose.Wordsで利用されるテキストシェイパーファクトリの実装が含まれています。レイアウト。LayoutOptions.TextShaperFactoryプロパティ。

一般的なアプリケーションでは、テキスト シェイパー ファクトリの単一のインスタンスがすべてのドキュメント インスタンス間で共有されます。テキスト シェイパーが作成されるたびに、フォント ファイルにアクセスします。フォント ファイルの解析はコストのかかる操作であるため、キャッシュすることをお勧めします。Aspose.Words は、テキスト シェイパー ファクトリ実装をラップし、ラップされたファクトリによって返されるテキスト シェイパー インスタンスをキャッシュする BasicTextShaperCache クラスを実装します。

次のコード例は、OpenType機能のサポートを有効にする方法を示しています。

// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Java
// The path to the documents directory.
String dataDir = Utils.getDataDir(OpenTypeFeatures.class);
// Open a document
Document doc = new Document(dataDir + "OpenType.Document.docx");
// When text shaper factory is set, layout starts to use OpenType features.
// An Instance property returns static BasicTextShaperCache object wrapping HarfBuzzTextShaperFactory
doc.getLayoutOptions().setTextShaperFactory(com.aspose.words.shaping.harfbuzz.HarfBuzzTextShaperFactory.getInstance());
// Render the document to PDF format
doc.save(dataDir + "OpenType.Document.pdf");