Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words necesită fonturi TrueType pentru o varietate de sarcini, inclusiv redarea documentelor în formate de pagini fixe, de exemplu, PDF sau XPS. Când Aspose.Words redă un document, acesta trebuie să efectueze încorporarea și încorporarea subsetului de fonturi TrueType în documentul rezultat, ceea ce este o practică normală în timpul generării unui document, inclusiv formatele populare PDF sau XPS. Acest lucru asigură că documentul va apărea la fel pentru orice vizualizator. Mai mult, specificația XPS necesită ca fonturile să fie întotdeauna încorporate în document.
Pentru a vă asigura că Aspose.Words măsoară cu precizie caracterele și încorporează cu succes fonturile relevante, trebuie îndeplinite următoarele condiții:
Rețineți că fontul din document reprezintă o entitate, cum ar fi numele de familie, stilul, dimensiunea, culoarea, care este diferită de entitatea TrueType font (font fizic). Aspose.Words rezolvă fontul din document într-un font fizic la un moment dat de procesare. Acest lucru permite anumite sarcini, cel mai frecvent sarcina de a calcula dimensiunea textului în timpul construcției aspectului și încorporarea/subsetarea la formate de pagini fixe. O serie de alte sarcini mai puțin populare, cum ar fi rezolvarea fontului și substituirea în timpul încărcării HTML sau încorporarea/subsetarea la unele formate de flux, sunt, de asemenea, activate.
Toate mecanismele de manipulare a fontului disponibile sunt conținute în clasa FontSettings. Această clasă este responsabilă pentru preluarea fonturilor în sursele de fonturi definite, precum și pentru procesul de substituire a fontului, așa cum este descris mai jos.
Fonturile sunt analizate în mai multe etape:
Când Aspose.Words întâlnește un font în document pentru prima dată, încearcă să obțină informații de bază despre font, cum ar fi numele complet al fontului, numele de familie, versiunea, stilul, din fișierele de font situate în fiecare sursă de font. După ce toate fonturile sunt recuperate, Aspose.Words folosește aceste detalii pentru a găsi datele de font necesare sau un înlocuitor adecvat pentru fontul solicitat.
Deoarece procedura descrisă mai sus consumă mult timp, aceasta poate afecta negativ performanța aplicației la prima lansare. Cu toate acestea, fiecare instanță de FontSettings are propriul cache, ceea ce ar putea reduce timpul de procesare a documentelor ulterioare. De exemplu, puteți partaja o instanță a clasei FontSettings între diferite documente, ceea ce vă permite să accelerați încărcarea documentelor. Următorul exemplu demonstrează acest lucru:
În cazul în care FontSettings nu este definit în mod explicit, Aspose.Words utilizează instanța implicită FontSettings. Această instanță este, de asemenea, partajată automat între documente și poate fi extrasă după cum urmează:
Java
FontSettings fontSettings = FontSettings.getDefaultInstance();
Dacă sunteți sigur că toate documentele de procesare necesită aceleași setări de font, atunci este recomandat să configurați și să utilizați instanța implicită FontSettings. Să presupunem că trebuie să utilizați aceleași surse de fonturi pentru toate documentele dvs. În acest caz, puteți modifica instanța implicită după cum urmează:
Un text dintr-un document poate fi formatat cu diferite fonturi, cum ar fi Arial, Times New Roman, Verdana și altele. Când Aspose.Words redă un document, acesta încearcă să selecteze fonturile specificate în document.
Cu toate acestea, există situații în care fontul exact nu poate fi găsit și Aspose.Words trebuie să-l înlocuiască cu un font similar. Aspose.Words Selectează fontul conform următorului proces:
FontConfig. Această caracteristică Non - Windows trebuie utilizată cu un FontConfig compatibil OS. Aproape orice OS bazat pe Unix are deja o bibliotecă FontConfig care este concepută pentru a oferi configurarea fontului la nivel de sistem, personalizarea și accesul la aplicații. În caz contrar, această bibliotecă poate fi instalată cu ușurință de către utilizator.FontConfig este dezactivat. Îl puteți activa după cum urmează: 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 a eșuat, de asemenea. Această regulă este, de asemenea, activată în mod implicit. Conform acestei reguli, Aspose.Words va încerca să utilizeze fontul implicit specificat în proprietatea DefaultFontName. Dacă utilizatorul nu și-a ales propriul font implicit, atunci “Times New Roman” va fi folosit ca font implicit. Această regulă poate fi dezactivată după cum se arată mai jos: fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setEnabled(false);
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().getDefaultFontName();
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setDefaultFontName("Arial");
Uneori, poate fi neclar de ce s-a schimbat aspectul documentului sau de ce un font nu arată așa cum era de așteptat. În astfel de cazuri, mesajele de avertizare privind înlocuirea fonturilor implementate de interfața IWarningCallback vin în ajutor. Au tipul de avertizare FontSubstitution și formatul standard al textului de descriere, “Fontul “
Există două mecanisme diferite utilizate în Aspose.Words - substituirea fontului și rezerva fontului. Substituirea fontului este utilizată atunci când fontul specificat în document nu a putut fi găsit printre sursele de font așa cum a fost descris în secțiunile de mai sus. Mecanismul de rezervă a fontului este utilizat atunci când fontul este rezolvat, dar nu conține un caracter specific. În acest caz, Aspose.Words încearcă să utilizeze unul dintre fonturile de rezervă pentru personaj.
Există o metodă BuildAutomatic care construiește automat setările de rezervă prin scanarea fonturilor disponibile. Deoarece această metodă poate produce o setare de rezervă non-optimă, puteți controla comportamentul de rezervă a fontului utilizând proprietățile clasei FontFallbackSettings. Această clasă specifică setările mecanismului de rezervă a fontului. Puteți obține o instanță a clasei FontFallbackSettings După cum urmează:
Java
FontFallbackSettings settings = fontSettings.getFallbackSettings();
În mod similar cu Table substitution rule, acest mecanism utilizează tabele XML pentru configurare. Aceste tabele XML pot fi încărcate și salvate cu următoarele metode:
Java
fontSettings.getFallbackSettings().load("MyNewFallbackTable.xml");
fontSettings.getFallbackSettings().save("Current_FallbackTable.xml");
Versiunea Aspose.Words include două tabele: MsOfficeFallbackSetting.xml și NotoFallbackSetting.xml.
Tabelul MsOfficeFallbackSetting definește o strategie de înlocuire pentru o serie de caractere, care este similară cu strategia utilizată de Microsoft Word. Astfel, strategia necesită instalarea Microsoft fonturi Office. MsOfficeFallbackSetting poate fi activat folosind următoarea metodă:
.Java
fontSettings.getFallbackSettings().loadMsOfficeFallbackSettings();
Tabelul NotoFallbackSetting este creat special pentru utilizarea cu fonturi Google Noto (vezi mai multe despre setările fontului Google Noto în secțiunea următoare) și poate fi activat după cum urmează:
Java
fontSettings.getFallbackSettings().loadNotoFallbackSettings();
Următorul exemplu de cod demonstrează cum să încărcați setările de rezervă ale fontului dintr-un fișier XML:
În exemplul de cod de mai sus, se utilizează următorul fișier 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 oferă setări predefinite de rezervă a fonturilor pentru Google Noto fonturi. Acestea sunt fonturi gratuite licențiate sub SIL Open Font License, care pot fi descărcate din Google Noto fonturi. Clasa FontFallbackSettings oferă o metodă LoadNotoFallbackSettings. Se încarcă setările de rezervă predefinite, care utilizează Google Noto fonturi așa cum se arată în exemplul de cod de mai jos:
Aspose.Words încearcă să găsească TrueType fonturi pe sistemul de Fișiere automat. De obicei, vă puteți baza pe comportamentul implicit al Aspose.Words pentru a găsi fonturile TrueType, dar uneori trebuie să specificați propriile foldere care conțin fonturi TrueType. A Specificați TrueType Locația Fonturilor subiectul descrie cum și unde Aspose.Words caută fonturi, precum și cum să specificați propriile locații de fonturi.
Există unele diferențe în procesarea formatelor de font în Aspose.Words și Microsoft Word, așa cum se arată în tabelul de mai jos:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| TrueType fonturi și OpenType fonturi cu TrueType contururi | Sprijinit. | Sprijinit. |
| OpenType fonturi cu PostScript contururi | Suportat pentru majoritatea scenariilor. Încorporarea în formate de pagini fixe, cum ar fi PDF și XPS nu sunt acceptate. Textul este înlocuit cu imagini bitmap. | Suportat pentru majoritatea scenariilor, inclusiv încorporarea în formate de pagini fixe. |
| OpenType Variații De Font | Numai instanțele numite sunt acceptate. Variațiile continue nu sunt acceptate. | Suportat pentru singura instanță implicită. Instanțele numite și variațiile continue nu sunt acceptate. |
| Tip1 fonturi | Suportat pe Windows versiuni anterioare 2013 și pe MacOS versiuni. Suportul este abandonat pe Windows versiuni începând de la 2013. | Nu este acceptat. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.