Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words requer fontes TrueType para diversas tarefas, incluindo renderização de documentos em formatos de página fixa, por exemplo, PDF ou XPS. Quando Aspose.Words renderiza um documento, ele precisa realizar a incorporação e subconjunto de fontes TrueType no documento resultante, o que é uma prática normal durante a geração de um documento, incluindo formatos populares PDF ou XPS. Isso garante que o documento terá a mesma aparência para qualquer visualizador. Além disso, a especificação XPS exige que as fontes sejam sempre incorporadas ao documento.
Para garantir que o Aspose.Words meça com precisão os caracteres e incorpore fontes relevantes com sucesso, as seguintes condições devem ser atendidas:
Observe que a fonte no documento representa uma entidade, como nome de família, estilo, tamanho, cor, que é diferente da entidade fonte TrueType (fonte física). Aspose.Words resolve a fonte do documento para uma fonte física em algum estágio do processamento. Isso permite determinadas tarefas, mais comumente a tarefa de calcular o tamanho do texto durante a construção do layout e incorporar/subconfigurar em formatos de página fixa. Uma série de outras tarefas menos populares, como resolução e substituição de fontes ao carregar HTML ou incorporação/subconjunto em alguns formatos de fluxo, também estão habilitadas.
Todos os mecanismos de manipulação de fontes disponíveis estão contidos na classe FontSettings. Esta classe é responsável por buscar fontes dentro de fontes de fontes definidas, bem como pelo processo de substituição de fontes, conforme descrito abaixo.
As fontes são analisadas em várias etapas:
Quando o Aspose.Words encontra uma fonte no documento pela primeira vez, ele tenta obter informações básicas da fonte, como nome completo da fonte, nome da família, versão, estilo, dos arquivos de fontes localizados em cada fonte de fonte. Depois que todas as fontes são recuperadas, o Aspose.Words usa esses detalhes para encontrar os dados da fonte necessários ou um substituto adequado para a fonte solicitada.
Como o procedimento descrito acima é demorado, ele pode afetar negativamente o desempenho do aplicativo na primeira inicialização. No entanto, cada instância do FontSettings possui seu próprio cache, o que pode reduzir o tempo de processamento dos documentos subsequentes. Por exemplo, você pode compartilhar uma instância da classe FontSettings entre diferentes documentos, o que permite agilizar o carregamento dos documentos. O exemplo a seguir demonstra isso:
No caso em que FontSettings não é definido explicitamente, o Aspose.Words usa a instância FontSettings padrão. Esta instância também é compartilhada automaticamente entre documentos e pode ser extraída da seguinte forma:
Se você tiver certeza de que todos os documentos de processamento exigem as mesmas configurações de fonte, é recomendável configurar e utilizar a instância FontSettings padrão. Suponha que você precise usar as mesmas fontes de fontes para todos os seus documentos. Nesse caso, você pode simplesmente alterar a instância padrão da seguinte forma:
O texto de um documento pode ser formatado com diversas fontes, como Arial, Times New Roman, Verdana e outras. Quando Aspose.Words renderiza um documento, ele tenta selecionar as fontes especificadas no documento.
No entanto, há situações em que a fonte exata não pode ser encontrada e o Aspose.Words deve substituí-la por uma fonte semelhante. Aspose.Words seleciona a fonte de acordo com o seguinte processo:
FontConfig projetada para fornecer configuração de fontes em todo o sistema, personalização e acesso a aplicativos. Caso contrário, esta biblioteca pode ser facilmente instalada pelo usuário.
Aspose.Words sabe como consultar dados e interpretar os resultados do FontConfig para seus próprios fins. Por padrão, o utilitário FontConfig está desabilitado. Você pode habilitá-lo da seguinte maneira:fontSettings.substitution_settings.font_config_substitution.enabled = TrueFontConfig.<TableSubstitutionSettings xmlns="Aspose.Words">
<SubstitutesTable>
<Item OriginalFont="Arabic Transparent" SubstituteFonts="Arial" />
…
</SubstitutesTable>
</TableSubstitutionSettings>fontSettings.substitution_settings.table_substitution.load("Table.xml")fontSettings.substitution_settings.table_substitution.enabled = FalsefontInfos = doc.font_infosfontSettings.substitution_settings.font_info_substitution.enabled = FalseFontInfo também tenha falhado. Esta regra também está habilitada por padrão. De acordo com esta regra, o Aspose.Words tentará usar a fonte padrão especificada na propriedade default_font_name. Se o usuário não tiver escolhido sua própria fonte padrão, “Times New Roman” será usada como fonte padrão. Esta regra pode ser desativada conforme mostrado abaixo:fontSettings.substitution_settings.default_font_substitution.enabled = FalsefontSettings.substitution_settings.default_font_substitution.default_font_namefontSettings.substitution_settings.default_font_substitution.default_font_name = "Arial"Se FontInfo estiver disponível, a regra de substituição FontInfo sempre resolverá a fonte e substituirá a regra de fonte padrão. Se quiser usar a regra de fonte padrão, você deve desabilitar a regra de substituição FontInfo. Observe que a regra de substituição FontConfig resolverá a fonte na maioria dos casos e, portanto, substituirá todas as outras regras.
Existem dois mecanismos diferentes usados no Aspose.Words – substituição de fonte e fallback de fonte. A substituição de fontes é usada quando a fonte especificada no documento não pode ser encontrada entre as fontes de fontes conforme descrito nas seções acima. O mecanismo de fallback de fonte é usado quando a fonte é resolvida, mas não contém um caractere específico. Nesse caso, Aspose.Words tenta usar uma das fontes substitutas para o caractere.
Existe um método build_automatic que cria automaticamente as configurações de fallback verificando as fontes disponíveis. Como esse método pode produzir uma configuração de fallback não ideal, você pode controlar o comportamento de fallback da fonte usando as propriedades da classe FontFallbackSettings. Esta classe especifica as configurações do mecanismo de fallback de fonte. Você pode obter uma instância da classe FontFallbackSettings da seguinte maneira:
settings = fontSettings.fallback_settingsDa mesma forma que a Regra de substituição de tabela, este mecanismo utiliza tabelas XML para configuração. Essas tabelas XML podem ser carregadas e salvas com os seguintes métodos:
fontSettings.fallback_settings.load("MyNewFallbackTable.xml")
fontSettings.fallback_settings.save("Current_FallbackTable.xml")A versão Aspose.Words inclui duas tabelas: MsOfficeFallbackSetting.xml e NotoFallbackSetting.xml.
A tabela MsOfficeFallbackSetting define uma estratégia de substituição para um intervalo de caracteres, que é semelhante à estratégia usada pelo Microsoft Word. Assim, a estratégia exige a instalação de fontes Microsoft Office. MsOfficeFallbackSetting pode ser ativado usando o seguinte método:
fontSettings.fallback_settings.load_ms_office_fallback_settings()A tabela NotoFallbackSetting é criada especialmente para uso com fontes Google Noto (veja mais sobre configurações de fontes Google Noto na próxima seção) e pode ser habilitada da seguinte forma:
fontSettings.fallback_settings.load_noto_fallback_settings()O exemplo de código a seguir demonstra como carregar configurações de fallback de fonte de um arquivo XML:
No exemplo de código acima, o seguinte arquivo XML é usado:
<FontFallbackSettings xmlns="Aspose.Words">
<FallbackTable>
<!-- Fallback table consists of the rules. Each rule defines the fallback fonts which Aspose.Words should use for specified Unicode ranges and base fonts. Rules are checked one by one and the first applicable fallback font is used. If none of the rules are applicable then ".notdef" glyph (missing glyph) from the base font will be used. -->
<!-- This rule defines that "Vijaya" fallback font should be used for "U+0B80..U+0BFF Tamil" Unicode block. -->
<Rule Ranges="0B80-0BFF" FallbackFonts="Vijaya"/>
<!-- This rule defines that "Segoe UI Emoji" and "Segoe UI Symbol" fallback fonts should be used for "U+1F300..U+1F5FF Miscellaneous Symbols and Pictographs", "U+1F600..U+1F64F Emoticons" Unicode blocks. If "Segoe UI Emoji" font does not contains the glyph for the requested Unicode code point then "Segoe UI Symbol" will be checked. -->
<Rule Ranges="1F300-1F64F" FallbackFonts="Segoe UI Emoji, Segoe UI Symbol"/>
<!-- This rule defines that "Arial" fallback font should be used for "U+2000..U+206F General Punctuation", "U+2070..U+209F Superscripts and Subscripts" Unicode blocks and specific "U+20B9 INDIAN RUPEE SIGN" code point. -->
<Rule Ranges="2000-206F, 2070-209F, 20B9" FallbackFonts="Arial" />
<!-- These rules defines that for "U+3040..U+309F Hiragana" Unicode block "MS Gothic" fallback font should be used if base font is "Times New Roman" and "MS Mincho" fallback font for all other base fonts. -->
<Rule Ranges="3040-309F" FallbackFonts="MS Gothic" BaseFonts="Times New Roman"/>
<Rule Ranges="3040-309F" FallbackFonts="MS Mincho"/>
<!-- This rule defines that "Arial Unicode MS" fallback font should be used if applicable fallback font was not found by previous rules. -->
<Rule FallbackFonts="Arial Unicode MS"/>
</FallbackTable>
</FontFallbackSettings>Aspose.Words fornece configurações de substituição de fonte predefinidas para fontes Google Noto. Estas são fontes gratuitas licenciadas sob a licença SIL Open Font, que podem ser baixadas em Google Noto Fonts. A classe FontFallbackSettings fornece um método load_noto_fallback_settings. Ele carrega configurações de fallback predefinidas, que usam fontes Google Noto conforme mostrado no exemplo de código abaixo:
Aspose.Words tenta encontrar fontes TrueType no sistema de arquivos automaticamente. Normalmente, você pode confiar no comportamento padrão do Aspose.Words para localizar as fontes TrueType, mas às vezes você precisa especificar suas próprias pastas contendo fontes TrueType. O tópico Especifique a localização das fontes TrueType descreve como e onde o Aspose.Words procura fontes, bem como como especificar seus próprios locais de fonte.
Existem algumas diferenças no processamento de formatos de fonte em Aspose.Words e Microsoft Word conforme mostrado na tabela abaixo:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| Fontes TrueType e fontes OpenType com contornos TrueType | Suportado. | Suportado. |
| Fontes OpenType com contornos PostScript | Compatível com a maioria dos cenários. A incorporação em formatos de página fixa, como PDF e XPS, não é suportada. O texto é substituído por imagens bitmap. | Compatível com a maioria dos cenários, incluindo incorporação em formatos de página fixa. |
| Variações de fonte OpenType | Somente instâncias nomeadas são suportadas. Variações contínuas não suportadas. | Compatível apenas com instância padrão. Instâncias nomeadas e variações contínuas não são suportadas. |
| Fontes Type1 | Compatível com versões Windows anteriores a 2013 e versões MacOS. O suporte foi eliminado nas versões Windows a partir de 2013. | Não suportado. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.