Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words richiede font TrueType per una varietà di attività, incluso il rendering di documenti in formati a pagina fissa, ad esempio PDF o XPS. Quando Aspose.Words esegue il rendering di un documento, deve eseguire l’incorporamento e l’incorporamento di sottoinsiemi di font TrueType nel documento risultante, che è una pratica normale durante la generazione di un documento, inclusi i formati PDF o XPS più diffusi. Questo assicura che il documento apparirà lo stesso a qualsiasi spettatore. Inoltre, la specifica XPS richiede che i font siano sempre incorporati nel documento.
Per garantire che Aspose.Words misuri accuratamente i caratteri e incorpori correttamente i caratteri pertinenti, devono essere soddisfatte le seguenti condizioni:
Si noti che il font nel documento rappresenta un’entità, ad esempio nome di famiglia, stile, dimensione, colore, diversa dall’entità font (carattere fisico) TrueType. Aspose.Words risolve il carattere nel documento in un carattere fisico in una certa fase dell’elaborazione. Ciò consente alcune attività, più comunemente il compito di calcolare la dimensione del testo durante la costruzione del layout e l’incorporamento/sottoinsieme a formati di pagine fisse. Un certo numero di altre attività meno popolari, come la risoluzione dei caratteri e la sostituzione durante il caricamento di HTML o l’incorporamento/sottoinsieme ad alcuni formati di flusso, sono anch’esse abilitate.
Tutti i meccanismi di manipolazione dei font disponibili sono contenuti nella classe FontSettings. Questa classe è responsabile del recupero dei font all’interno di sorgenti di font definite e del processo di sostituzione dei font, come descritto di seguito.
I font vengono analizzati in diversi passaggi:
Quando Aspose.Words incontra un font nel documento per la prima volta, tenta di ottenere informazioni di base, come il nome completo del font, il nome della famiglia, la versione, lo stile, dai file di font presenti in ogni origine del font. Dopo aver recuperato tutti i font, Aspose.Words utilizza questi dettagli per trovare i dati del font richiesti o un sostituto adatto per il font richiesto.
Poiché la procedura descritta sopra richiede molto tempo, potrebbe influire negativamente sulle prestazioni dell’applicazione al suo primo avvio. Tuttavia, ogni istanza di FontSettings ha una propria cache, che potrebbe ridurre il tempo di elaborazione dei documenti successivi. Ad esempio, è possibile condividere un’istanza della classe FontSettings tra documenti diversi, il che consente di velocizzare il caricamento dei documenti. L’esempio seguente dimostra questo:
Nel caso in cui FontSettings non sia definito esplicitamente, Aspose.Words utilizza l’istanza predefinita FontSettings. Anche questa istanza viene condivisa automaticamente tra i documenti e può essere estratta come segue:
Java
FontSettings fontSettings = FontSettings.getDefaultInstance();
Se si è sicuri che tutti i documenti di elaborazione richiedano le stesse impostazioni di carattere, si consiglia di impostare e utilizzare l’istanza predefinita FontSettings. Supponiamo che sia necessario utilizzare le stesse fonti di font per tutti i documenti. In questo caso, puoi semplicemente modificare l’istanza predefinita come segue:
Un testo in un documento può essere formattato con vari tipi di carattere, come Arial, Times New Roman, Verdana e altri. Quando Aspose.Words esegue il rendering di un documento, tenta di selezionare i font specificati nel documento.
Tuttavia, ci sono situazioni in cui il font esatto non può essere trovato e Aspose.Words deve sostituirlo con un font simile. Aspose.Words seleziona il carattere in base al seguente processo:
FontConfig. Questa funzione non - Windows deve essere utilizzata con un OS compatibile con FontConfig. Quasi tutti i OS basati su Unix hanno già una libreria FontConfig progettata per fornire configurazione, personalizzazione e accesso alle applicazioni a livello di sistema. Altrimenti, questa libreria può essere facilmente installata dall’utente.FontConfig è disabilitata. Puoi abilitarlo come segue: fontSettings.getSubstitutionSettings().getFontConfigSubstitution()().setEnabled(true);
<TableSubstitutionSettings xmlns="Aspose.Words">
<SubstitutesTable>
<Item OriginalFont="Arabic Transparent" SubstituteFonts="Arial" />
…
</SubstitutesTable>
</TableSubstitutionSettings>
fontSettings.getSubstitutionSettings().getTableSubstitution().load("Table.xml");
fontSettings.getSubstitutionSettings().getTableSubstitution().save("MyTable.xml");
fontSettings.getSubstitutionSettings().getTableSubstitution().setEnabled(false);
FontInfoCollection fontInfos = doc.getFontInfos();
fontSettings.getSubstitutionSettings().getFontInfoSubstitution().setEnabled(false);
FontInfo non sia riuscita. Anche questa regola è abilitata per impostazione predefinita. In base a questa regola, Aspose.Words tenterà di utilizzare il font predefinito specificato nella proprietà DefaultFontName. Se l’utente non ha scelto il proprio font predefinito, verrà utilizzato" Times New Roman " come font predefinito. Questa regola può essere disabilitata come mostrato di seguito: fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setEnabled(false);
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().getDefaultFontName();
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setDefaultFontName("Arial");
A volte, potrebbe non essere chiaro il motivo per cui il layout del documento è cambiato o perché alcuni font non sembrano come previsto. In questi casi, i messaggi di avviso di sostituzione dei caratteri implementati dall’interfaccia IWarningCallback vengono in soccorso. Hanno il tipo di avviso FontSubstitution e il formato di testo di descrizione standard, “Font ‘
Esistono due diversi meccanismi utilizzati in Aspose.Words: la sostituzione del font e il fallback del font. La sostituzione del font viene utilizzata quando il font specificato nel documento non è stato trovato tra le fonti del font come descritto nelle sezioni precedenti. Il meccanismo di fallback del font viene utilizzato quando il font viene risolto, ma non contiene un carattere specifico. In questo caso, Aspose.Words tenta di utilizzare uno dei font di riserva per il carattere.
Esiste un metodo BuildAutomatic che crea automaticamente le impostazioni di fallback scansionando i font disponibili. Poiché questo metodo può produrre un’impostazione di fallback non ottimale, è possibile controllare il comportamento di fallback dei font utilizzando le proprietà della classe FontFallbackSettings. Questa classe specifica le impostazioni del meccanismo di fallback dei font. È possibile ottenere un’istanza della classe FontFallbackSettings come segue:
Java
FontFallbackSettings settings = fontSettings.getFallbackSettings();
Analogamente a Table substitution rule, questo meccanismo utilizza le tabelle XML per la configurazione. Queste tabelle XML possono essere caricate e salvate con i seguenti metodi:
Java
fontSettings.getFallbackSettings().load("MyNewFallbackTable.xml");
fontSettings.getFallbackSettings().save("Current_FallbackTable.xml");
La versione Aspose.Words include due tabelle: MsOfficeFallbackSetting.xml e NotoFallbackSetting.xml.
La tabella MsOfficeFallbackSetting definisce una strategia di sostituzione per un intervallo di caratteri, che è simile alla strategia utilizzata da Microsoft Word. Pertanto, la strategia richiede l’installazione di caratteri di Office Microsoft. MsOfficeFallbackSetting può essere attivato utilizzando il seguente metodo:
.Java
fontSettings.getFallbackSettings().loadMsOfficeFallbackSettings();
La tabella NotoFallbackSetting viene creata appositamente per l’uso con i font Google Noto (vedere ulteriori informazioni sulle impostazioni dei font Google Noto nella sezione successiva) e può essere abilitata come segue:
Java
fontSettings.getFallbackSettings().loadNotoFallbackSettings();
Nell’esempio di codice seguente viene illustrato come caricare le impostazioni di fallback dei font da un file XML:
Nell’esempio di codice precedente, viene utilizzato il seguente file XML:
<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 fornisce impostazioni predefinite di fallback dei font per i font Google Noto. Questi sono font gratuiti sotto licenza SIL Open Font License, che possono essere scaricati da Google Noto Fonts. La classe FontFallbackSettings fornisce un metodo LoadNotoFallbackSettings. Carica le impostazioni di fallback predefinite, che utilizzano font Google Noto come mostrato nell’esempio di codice qui sotto:
Aspose.Words tenta di trovare automaticamente i font TrueType nel file system. Di solito, è possibile fare affidamento sul comportamento predefinito di Aspose.Words per trovare i font TrueType, ma a volte è necessario specificare le proprie cartelle contenenti i font TrueType. Il Specificare la posizione dei caratteri TrueType l’argomento descrive come e dove Aspose.Words cerca i font, nonché come specificare le proprie posizioni dei font.
Ci sono alcune differenze nell’elaborazione dei formati dei caratteri in Aspose.Words e Microsoft Word come mostrato nella tabella seguente:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| Caratteri TrueType e caratteri OpenType con contorni TrueType | Supportare. | Supportare. |
| Caratteri OpenType con contorni PostScript | Supportato per la maggior parte degli scenari. L’incorporamento in formati a pagina fissa come PDF e XPS non sono supportati. Il testo viene sostituito con immagini bitmap. | Supportato per la maggior parte degli scenari, incluso l’incorporamento in formati a pagina fissa. |
| OpenType Variazioni dei caratteri | Sono supportate solo le istanze nominate. Variazioni continue non supportate. | Supportato per l’unica istanza predefinita. Le istanze denominate e le variazioni continue non sono supportate. |
| Font Type1 | Supportato nelle versioni Windowsprecedenti al 2013 e nelle versioni MacOS. Il supporto viene eliminato nelle versioni Windows a partire dal 2013. | Non supportato. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.