Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words vyžaduje Pravdu Typ písma pro různé úkoly, včetně zobrazování dokumentů do formátů pevných stránek, například PDF nebo XPS. Kdy? Aspose.Words vloží dokument, musí provést vkládání a vkládání podmnožin do výsledného dokumentu TrueType, což je běžná praxe během generování dokumentů, včetně populárního PDF nebo XPS formáty. Tím se zajistí, že se dokument zobrazí každému divákovi stejně. Navíc XPS specifikace vyžaduje, aby písma byla vždy vložena do dokumentu.
K zajištění Aspose.Words přesně měří znaky a úspěšně vloží příslušná písma, musí být splněny tyto podmínky:
Všimněte si, že písmo v dokumentu představuje entitu, jako je jméno rodiny, styl, velikost, barva, která se liší od TrueType entita písma (fyzické písmo). Aspose.Words určuje písmo v dokumentu na fyzické písmo v určité fázi zpracování. To umožňuje některé úkoly, nejčastěji při výpočtu velikosti textu při konstrukci rozvržení a vkládání/subsetting do formátů pevných stránek. Rovněž je povolena řada dalších méně populárních úloh, jako je řešení a nahrazení písem při načítání HTML nebo vkládání/subsetting do některých formátů toku.
Všechny dostupné mechanismy manipulace s písmem jsou obsaženy v FontSettings třída. Tato třída je zodpovědná za stahování písem v rámci definovaných zdrojů písma, stejně jako za proces substituce písma, jak je popsáno níže.
Písma jsou rozebrána v několika krocích:
Kdy? Aspose.Words narazí na písmo v dokumentu poprvé, pokusí se získat základní informace o písmu, jako je celé jméno písma, jméno rodiny, verze, styl, z fontových souborů umístěných v každém zdroji písma. Po všech těch fontech, co se našly, Aspose.Words tyto podrobnosti používá k nalezení požadovaných dat písma nebo vhodné náhrady požadovaného písma.
Vzhledem k tomu, že výše popsaný postup je časově náročný, může mít negativní vliv na výkon aplikace při prvním spuštění. Nicméně, každý případ FontSettings má vlastní cache, která by mohla zkrátit dobu zpracování následných dokumentů. Například, můžete sdílet příklad FontSettings třída mezi různými dokumenty, což vám umožní urychlit nakládku dokumentů. Následující příklad to dokazuje:
V případě, kdy FontSettings není výslovně definován, Aspose.Words používá výchozí FontSettings příklad. Tento případ je také automaticky sdílen mezi dokumenty a lze jej extrahovat takto:
Pokud jste si jisti, že všechny zpracování dokumentů vyžadují stejné nastavení písma, pak se doporučuje nastavit a využít výchozí FontSettings příklad. Předpokládejme, že potřebujete použít stejné zdroje písma pro všechny vaše dokumenty. V tomto případě můžete standardně změnit takto:
Text v dokumentu lze formátovat různými písmy, jako jsou Arial, Times New Roman, Verdana a další. Kdy? Aspose.Words zobrazí dokument, pokusí se vybrat písma uvedená v dokumentu.
Existují však situace, kdy nelze nalézt přesné písmo a Aspose.Words musí místo toho nahradit podobné písmo. Aspose.Words vybere písmo podle následujícího postupu:
FontConfig knihovna, která je navržena tak, aby poskytovala systémovou konfiguraci písma, přizpůsobení a přístup k aplikacím. Jinak může být tato knihovna snadno nainstalována uživatelem.
Aspose.Words ví, jak se dotazovat na data a interpretovat výsledky FontConfig pro své vlastní účely. Ve výchozím nastavení FontConfig Servis je vypnutý. Můžete ji povolit takto:fontSettings.substitution_settings.font_config_substitution.enabled = TrueFontConfig pravidlo záměny.<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 Substituce také selhala. Toto pravidlo je také standardně povoleno. Podle tohoto pravidla, Aspose.Words se pokusí použít výchozí písmo uvedené v default_font_name majetek. Pokud si uživatel nevybral vlastní výchozí písmo, pak bude jako výchozí písmo použito “Times New Roman.” Toto pravidlo lze zakázat, jak je uvedeno níže: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"Pokud FontInfo je k dispozici, FontInfo substitution rule vždy vyřeší písmo a přepíše výchozí pravidlo písma. Pokud chcete použít výchozí pravidlo písma, měli byste vypnout pravidlo nahrazení FontInfo. Všimněte si, že pravidlo nahrazení FontConfig ve většině případů vyřeší písmo, a tím přepíše všechna ostatní pravidla.
Existují dva různé mechanismy používané v Aspose.Words Font substitution and Font backback. Substituce písma se používá v případě, že písmo uvedené v dokumentu nelze nalézt mezi zdroji písma, jak bylo popsáno ve výše uvedených oddílech. Mechanizmus zálohování písma se používá při řešení písma, ale neobsahuje konkrétní znak. V tomto případě Aspose.Words se snaží použít jedno z fontů pro znak.
Existuje build_automatic metoda, která automaticky vytváří nastavení záloh skenováním dostupných písem. Vzhledem k tomu, že tato metoda může vytvořit neoptimální nastavení záloh, můžete ovládat chování fontu pomocí vlastností FontFallbackSettings třída. Tato třída určuje nastavení mechanizmu zálohování písma. Můžete získat příklad FontFallbackSettings třída:
settings = fontSettings.fallback_settingsPodobně jako pravidlo nahrazení Table, tento mechanismus používá XML tabulky pro konfiguraci. Tyto XML tabulky lze načíst a uložit pomocí následujících metod:
fontSettings.fallback_settings.load("MyNewFallbackTable.xml")
fontSettings.fallback_settings.save("Current_FallbackTable.xml")• Aspose.Words vydání obsahuje dvě tabulky: MsOfficeFallbackSetting.xml a NotoFallbackSetting.xml.
• MsOfficeFallbackSetting tabulka definuje náhradní strategii pro řadu znaků, která je podobná strategii používané Microsoft Word. Strategie tedy vyžaduje instalaci Microsoft Kancelářská písma. MsOfficeFallbackSetting lze aktivovat pomocí této metody:
fontSettings.fallback_settings.load_ms_office_fallback_settings()• NotoFallbackSetting stůl je vytvořen speciálně pro použití s Google Noto písma (viz více o Google Noto Nastavení písma v následující sekci) a může být povoleno takto:
fontSettings.fallback_settings.load_noto_fallback_settings()Následující příklad kódu ukazuje, jak načíst nastavení zálohování písma z XML souboru:
Ve výše uvedeném příkladu kódu se používá následující XML soubor:
<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 poskytuje předdefinované nastavení zálohování písma pro Google Noto písma. Toto jsou písma zdarma licencovaná pod SIL Open Font License, která si můžete stáhnout Google Noto Písma. • FontFallbackSettings třída load_noto_fallback_settings metoda. Načítá předdefinovaná nastavení záloh, která používají Google Noto písma zobrazená v následujícím příkladu kódu:
Aspose.Words se snaží automaticky najít písma TrueType v souborovém systému. Obvykle se můžete spolehnout na výchozí chování Aspose.Words najít TrueType písma, ale někdy je třeba zadat vlastní složky obsahující písma TrueType. • Upřesněte pravdu Umístění písma typu téma popisuje jak a kde Aspose.Words hledá fonty, stejně jako jak zadat své vlastní umístění písma.
Existují některé rozdíly ve zpracování formátů písma v Aspose.Words a Microsoft Word jak je uvedeno v následující tabulce:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| Písmo TrueType a písma OpenType s obrysy TrueType | Podporoval. | Podporoval. |
| OpenType písma s obrysy PostScriptu | Podporovaný pro většinu scénářů. Vkládání do formátů pevných stránek, jako je PDF a XPS nejsou podporovány. Text je nahrazen obrázky bitmap. | Podporované pro většinu scénářů, včetně začlenění do formátů pevných stránek. |
| Variace písma OpenType | Podporují se pouze pojmenované případy. Nepřetržité varianty nejsou podporovány. | Podporovaný pouze pro výchozí instance. Pojmenované případy a trvalé variace nejsou podporovány. |
| Písmo typu 1 | Podporované na Windows verze před rokem 2013 a verze MacOS. Podpora je stažena Windows verze od roku 2013. | Nepodporováno. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.