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 la format fix pagină, de exemplu, PDF sau XPS. Când Aspose.Words redă un document, acesta trebuie să efectueze inserarea și inserarea subconjuctelor de fonturi TrueType în documentul rezultat, care este o practică obișnuită în timpul generării unui document, inclusiv în formate populare PDF sau XPS. Aceasta asigură ca documentul să apară la fel pentru orice vizualizator. În plus, specificația XPS impune ca fonturile să fie întotdeauna încorporate în document.
Pentru a garanta că Aspose.Words măsoară cu precizie caracterele și încorporează cu succes fonturile relevante, următoarele condiții trebuie îndeplinite:
Notă că fontul din document reprezintă o entitate, cum ar fi prenumele, stilul, mărimea sau culoarea, care este diferită de entitatea font (font fizic) TrueType. Aspose.Words rezolvă fontul din document într-un font fizic în anumite etape ale procesării. Aceasta permite anumite sarcini, cele mai des întâlnite sarcini fiind calcularea mărimii textului în timpul construcției de aranjare și încorporarea/subsetarea pentru formate de pagină fixe. Un număr de alte sarcini mai puțin populare, cum ar fi rezolvarea și substituția fontului în timp ce se încarcă HTML-ul sau inserarea / subsetting către unele formate de flux, sunt de asemenea permise.
Toate mecanismele de manipulare a fontului disponibile sunt conținute în clasa FontSettings. Această clasă este responsabilă de aducerea fonturilor din surse de fonturi definite precum și pentru procesul de substituire a fontului, așa cum se descrie mai jos.
Fonturile sunt analizate în mai multe etape:
Atunci 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 familiei, versiunea și stilul, din fișierele de font localizate în fiecare sursă de font. După ce toate fonturile sunt recuperate, Aspose.Words utilizează aceste detalii pentru a găsi datele fontului necesar sau o înlocuire potrivită pentru fontul solicitat.
Deoarece procedura descrisă mai sus este consumatoare de timp, poate afecta negativ performanța aplicației la prima lansare. “Cu toate acestea, fiecare instanță a FontSettings are propriul său cache, ceea ce ar putea reduce timpul de procesare pentru documentele ulterioare.” De exemplu, puteți împărtăși o instanță a clasei FontSettings între documente diferite, care vă permite să accelerați încărcarea documentelor. Exemplul următor demonstrează acest lucru:
În cazul în care FontSettings nu este definit explicit, Aspose.Words folosește exemplarul implicit FontSettings. Această instanță este, de asemenea, distribuită automat între documente și poate fi extrasă după cum urmează:
Dacă eşti sigur că toate documentele de prelucrare necesită aceleaşi setări pentru fonturi, atunci este recomandat să configurezi şi să foloseşti instanţa implicită FontSettings. Imaginează-ți că ai nevoie să folosești aceleași surse de font pentru toate documentele tale. În acest caz, poți doar să modifici instanța implicită după cum urmează:
Un text într-un document poate fi formatat cu diverse fonturi cum ar fi Arial, Times New Roman, Verdana și altele. Atunci când Aspose.Words redă un document, încearcă să selecteze fonturile care sunt specificate în document.
Cu toate acestea există situații în care nu se poate găsi fontul exact și Aspose.Words trebuie să îl înlocuiască cu un font asemănător. Aspose.Words selectează fontul după următorul proces:
FontConfig bibliotecă care este proiectată să furnizeze configurarea și personalizarea fonturilor la nivel de sistem și accesul la aplicații. În caz contrar această bibliotecă poate fi instalată cu ușurință de către utilizator.
Aspose.Words știe cum să interogheze date și să interpreteze rezultatele pentru propriile sale scopuri. În mod implicit, utilitarul FontConfig este dezactivat. Poţi să o activezi după cum urmează: fontSettings.SubstitutionSettings.FontConfigSubstitution.Enabled = true;
FontConfig. <TableSubstitutionSettings xmlns="Aspose.Words">
<SubstitutesTable>
<Item OriginalFont="Arabic Transparent" SubstituteFonts="Arial" />
…
</SubstitutesTable>
</TableSubstitutionSettings>
fontSettings.SubstitutionSettings.TableSubstitution.Load("Table.xml");
fontSettings.SubstitutionSettings.TableSubstitution.Enabled = false;
FontInfoCollection fontInfos = doc.FontInfos;
fontSettings.SubstitutionSettings.FontInfoSubstitution.Enabled = false;
FontInfo a eșuat, de asemenea. Această regulă este de asemenea activată din fabrică. În conformitate cu această regulă, Aspose.Words va încerca să folosească fontul implicit specificat în proprietatea DefaultFontName. Dacă utilizatorul nu a ales propria sa fontă implicită, atunci “Times New Roman” va fi folosită ca font implicit. Această regulă poate fi dezactivată așa cum se arată mai jos: fontSettings.SubstitutionSettings.DefaultFontSubstitution.Enabled = false;
fontSettings.SubstitutionSettings.DefaultFontSubstitution.DefaultFontName;
fontSettings.SubstitutionSettings.DefaultFontSubstitution.DefaultFontName = "Arial";
Dacă FontInfo este disponibil, regula de substituție FontInfo va rezolva întotdeauna fontul și va anula regula fontului implicit. Dacă doriți să utilizați regula de font implicită, ar trebui să dezactivați regula de substituție FontInfo. Notă că regula de substituție FontConfig va rezolva fontul în majoritatea cazurilor și astfel va anula toate celelalte reguli.
Uneori poate fi neclar de ce s-a schimbat dispunerea documentului sau de ce o anumită fontă nu arată așa cum era de așteptat. În astfel de cazuri, mesajele de avertizare a substituției fontului implementate prin interfața IWarningCallback vin să salveze ziua. Ele au tipul de avertisment FontSubstitution și formatul textului descrierii standard, “Fontul ‘
Există două mecanisme diferite utilizate în Aspose.Words - substituția fontului și căderea fontului. Substituirea fontului este utilizată atunci când fontul specificat în document nu poate fi găsit printre surse de font așa cum se descrie în secțiunile de mai sus. Mecanismul de redundanță a fontului este utilizat atunci când fontul este rezolvat, dar nu conține un caracter specific. În acest caz Aspose.Words încearcă să folosească una din fonturile de rezervă pentru caracterul respectiv.
Există o BuildAutomatic metodă care construiește automat setările de rezervă prin scanarea fonturilor disponibile. Datorită faptului că această metodă poate genera o setare de rezervă neoptimă, poți controla comportamentul de rezervă a fontului utilizând proprietățile clasei FontFallbackSettings. Această clasă specifică setările mecanismului de cădere a fontului. Puteți obține o instanță a clasei FontFallbackSettings astfel:
.NET
FontFallbackSettings settings = fontSettings.FallbackSettings;
Similar cu Regulile de substituție a tabelelor, acest mecanism folosește tabelele XML pentru configurare. Aceste tabele XML pot fi încărcate și salvate cu următoarele metode:
.NET
fontSettings.FallbackSettings.Load("MyNewFallbackTable.xml");
fontSettings.FallbackSettings.Save("Current_FallbackTable.xml");
Lansarea Aspose.Words include două tabele: MsOfficeFallbackSetting.xml și NotoFallbackSetting.xml.
Tabelul MsOfficeFallbackSetting definește o strategie de înlocuire pentru un interval de caractere, care este similară cu strategia utilizată de Microsoft Word. Astfel, strategia necesită instalarea a Microsoft fonturi de birou Office. MsOfficeFallbackSetting pot fi activate folosind următoarea metodă:”
.NET
fontSettings.FallbackSettings.LoadMsOfficeFallbackSettings();
Tabelul NotoFallbackSetting este creat în mod special pentru a fi utilizat cu fonturi Google Noto (vezi mai multe despre setările de font Google Noto în secțiunea următoare) și poate fi activat după cum urmează:
.NET
fontSettings.FallbackSettings.LoadNotoFallbackSettings();
Exemplul de cod următor demonstrează cum să se încarce setările de font fallback dintr-un fișier XML:
În exemplul de mai sus se foloseşte 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 furnizează setări predefinite de redirecționare a fonturilor pentru Google Noto fonturi. Acestea sunt fonturi libere licențiate în baza licenței Open Font de la SIL, care pot fi descărcate de pe Google Noto Fonts. Clasa FontFallbackSettings oferă o metodă LoadNotoFallbackSettings. Încarcă setările de rezervă predefinite care folosesc Google Noto fonturi așa cum este arătat în exemplul de cod de mai jos:
Aspose.Words încearcă să găsească fonturi TrueType pe sistemul de fișiere automat. De obicei, te poți baza pe comportamentul implicit al lui Aspose.Words pentru a găsi fonturile TrueType, dar uneori ai nevoie să specifici propriile tale foldere care conțin fonturi TrueType. Subiectul Specifying TrueType Fonts Location descrie cum și unde Aspose.Words caută fonturi, precum și modul de specificare a propriilor locații de fonturi.
Sunt unele diferențe în procesarea formatelor de font în Aspose.Words și Microsoft Word, după cum se arată în tabelul de mai jos:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| Fonturi TrueType și fonturi OpenType cu contururi TrueType | Susținut. | Suportat. |
| Fonturi OpenType cu contururi PostScript | Susținut pentru majoritatea scenariilor. Încorporarea în formate cu pagină fixă, cum ar fi PDF și XPS, nu este acceptată. Textul este înlocuit cu imagini bit-map. | Susținut pentru majoritatea scenariilor, inclusiv încorporarea în formate cu pagină fixă. |
| Variații de font OpenType | Se acceptă doar instanțe denumite. Variații continue nu sunt suportate. | Sostenut doar pentru instanța implicită. Instanțele numite și variațiile continue nu sunt acceptate. |
| Fonturi tip1 | Suportat pe Windows versiuni anterioare la 2013 și pe versiuni de MacOS. Suport este abandonat la Windows versiuni începând cu 2013. | Nu este suportat. |
“- Google Noto Fonts pentru a descărca fonturi gratuite”
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.