Habilitar recursos OpenType
OpenType é um formato de fonte introduzido para fornecer melhor suporte para idiomas e sistemas de escrita internacionais em comparação com PostScript e TrueType. Os recursos de layout do OpenType são comumente conhecidos como recursos OpenType. O pacote Aspose.Words.Shaping.HarfBuzz fornece suporte para recursos OpenType em Aspose.Words usando mecanismo de modelagem de texto HarfBuzz.
Aspose.Words é capaz de usar objetos modeladores de texto fornecidos externamente. Um modelador de texto representa uma fonte e calcula informações de modelagem para um texto. Um documento normalmente se refere a várias fontes, portanto, é necessária uma fábrica de modeladores de texto. Este pacote contém uma implementação de uma fábrica de modelador de texto utilizada pela propriedade Aspose.Words.Layout.LayoutOptions.TextShaperFactory.
Em um aplicativo típico, uma única instância de uma fábrica de modeladores de texto é compartilhada entre todas as instâncias de documentos. Sempre que o modelador de texto é criado, um arquivo de fonte é acessado. Analisar um arquivo de fonte é uma operação cara, portanto, o armazenamento em cache é recomendado. Aspose.Words implementa a classe BasicTextShaperCache que agrupa a implementação da fábrica do modelador de texto e armazena em cache as instâncias do modelador de texto retornadas pela fábrica agrupada.
O exemplo de código a seguir mostra como ativar o suporte de recursos OpenType.
// For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-.NET | |
// The path to the documents directory. | |
string dataDir = RunExamples.GetDataDir_WorkingWithDocument(); | |
// 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.LayoutOptions.TextShaperFactory = Shaping.HarfBuzz.HarfBuzzTextShaperFactory.Instance; | |
// Render the document to PDF format | |
doc.Save(dataDir + "OpenType.Document.pdf"); |