启用OpenType功能
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"); |