Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words wymaga True Czcionki typu do różnych zadań, w tym renderowanie dokumentów do ustalonych formatów stron, na przykład PDF lub XPS. Kiedy Aspose.Words renderuje dokument, musi on wykonać osadzanie i podzbiór osadzania czcionek TrueType do otrzymanego dokumentu, co jest normalną praktyką podczas generowania dokumentów, w tym popularnego PDF lub XPS formaty. Gwarantuje to, że dokument pojawi się w dowolnym przeglądarce. Ponadto XPS Specyfikacja wymaga umieszczania czcionek w dokumencie.
Aby zapewnić Aspose.Words dokładnie mierzy znaki i skutecznie osadza odpowiednie czcionki, muszą być spełnione następujące warunki:
Należy zauważyć, że czcionka w dokumencie reprezentuje podmiot, taki jak nazwa rodziny, styl, rozmiar, kolor, który różni się od TrueType czcionka (fizyczna czcionka) podmiot. Aspose.Words na pewnym etapie przetwarzania oddaje czcionkę w dokumencie do fizycznej czcionki. Umożliwia to pewne zadania, najczęściej zadanie obliczania rozmiaru tekstu podczas konstrukcji układu i osadzania / podstawiania do formatów stron stałych. Wiele innych mniej popularnych zadań, takich jak rozwiązanie czcionki i podstawienie podczas wczytywania HTML lub osadzanie / podstawianie do niektórych formatów przepływu, są również włączone.
Wszystkie dostępne mechanizmy manipulacji czcionką są zawarte w FontSettings Klasa. Ta klasa jest odpowiedzialna za pobieranie czcionek w określonych źródłach czcionki, jak również za proces substytucji czcionki, jak opisano poniżej.
Czcionki są sortowane w kilku etapach:
Kiedy Aspose.Words napotyka czcionkę w dokumencie po raz pierwszy, stara się uzyskać podstawowe informacje o czcionce, takie jak pełna nazwa czcionki, nazwa rodziny, wersja, styl, z plików czcionek znajdujących się w każdym źródle czcionki. Po odzyskaniu wszystkich czcionek, Aspose.Words wykorzystuje te dane w celu znalezienia wymaganych danych dotyczących czcionki lub odpowiedniego zastąpienia żądanej czcionki.
Ponieważ procedura opisana powyżej jest czasochłonna, może mieć negatywny wpływ na skuteczność aplikacji podczas jej pierwszego uruchomienia. Jednak każdy przypadek FontSettings posiada własną pamięć podręczną, która może skrócić czas przetwarzania kolejnych dokumentów. Na przykład, można podzielić się przykładem FontSettings klasy między różnymi dokumentami, co pozwala przyspieszyć załadunek dokumentów. Poniższy przykład pokazuje to:
W przypadku FontSettings nie jest definiowana wyraźnie, Aspose.Words używa domyślnej FontSettings Przykład. Przykład ten jest również automatycznie udostępniany między dokumentami i można go wyodrębnić w następujący sposób:
Java
FontSettings fontSettings = FontSettings.getDefaultInstance();
Jeśli jesteś pewien, że wszystkie dokumenty procesowe wymagają tych samych ustawień czcionki, zaleca się skonfigurowanie i wykorzystanie domyślnej FontSettings Przykład. Załóżmy, że musisz użyć tych samych źródeł czcionki dla wszystkich dokumentów. W tym przypadku można zmienić domyślną instancję w następujący sposób:
Tekst w dokumencie może być sformatowany różnymi czcionkami, takimi jak Arial, Times New Roman, Verdana i inne. Kiedy Aspose.Words renderuje dokument, próbuje wybrać czcionki, które są określone w dokumencie.
Istnieją jednak sytuacje, w których nie można znaleźć dokładnej czcionki i Aspose.Words musi zastąpić ją podobną czcionką. Aspose.Words wybiera czcionkę według następującego procesu:
FontConfig użyteczność. To nie…Windows funkcja musi być używana z systemem operacyjnym kompatybilnym z FontConfig-. Prawie każdy system operacyjny oparty na Unixu ma już FontConfig biblioteka zaprojektowana w celu zapewnienia systemowej konfiguracji czcionki, dostosowania i dostępu do aplikacji. W przeciwnym razie biblioteka ta może być łatwo zainstalowana przez użytkownika.FontConfig narzędzie jest wyłączone. Można go włączyć w następujący sposób: 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 Zastąpienie również nie powiodło się. Ta zasada jest również domyślnie włączona. Zgodnie z tą zasadą, Aspose.Words będzie próbował użyć domyślnej czcionki określonej w DefaultFontName nieruchomości. Jeśli użytkownik nie wybrał własnej domyślnej czcionki, jako domyślną czcionkę zostanie użyty “Times New Roman”. Zasada ta może być wyłączona w następujący sposób: fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setEnabled(false);
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().getDefaultFontName();
fontSettings.getSubstitutionSettings().getDefaultFontSubstitution().setDefaultFontName("Arial");
Czasami może być niejasne, dlaczego układ dokumentu uległ zmianie lub dlaczego jakaś czcionka nie wygląda tak jak oczekiwano. W takich przypadkach komunikaty o ostrzeżeniach o zastępowaniu czcionki wprowadzone przez IWarningCallback Interfejs przychodzi na ratunek. Mają FontSubstitution typ ostrzeżenia i standardowy format tekstowy opisu, “Czcionka”
Istnieją dwa różne mechanizmy stosowane w Aspose.Words - Zastąpienie czcionki i powrót czcionki. Zastąpienie czcionki jest stosowane, gdy nie można znaleźć czcionki określonej w dokumencie wśród źródeł czcionki, jak opisano w powyższych sekcjach. Mechanizm awaryjny Czcionka jest stosowany po rozwiązaniu czcionki, ale nie zawiera określonego znaku. W tym przypadku, Aspose.Words próbuje użyć jednej z czcionek zapasowych dla znaku.
Jest BuildAutomatic metoda, która automatycznie buduje ustawienia awaryjne poprzez skanowanie dostępnych czcionek. Ponieważ metoda ta może wytwarzać nieoptymalne ustawienie awaryjne, można kontrolować zachowanie awaryjne czcionki za pomocą właściwości FontFallbackSettings Klasa. Ta klasa określa ustawienia mechanizmu rezerwowego czcionki. Możesz dostać przykład FontFallbackSettings klasa:
Java
FontFallbackSettings settings = fontSettings.getFallbackSettings();
Podobnie jak * Zasada zastępowania tabeli *, ten mechanizm używa tabel XML do konfiguracji. Te tabele XML można wczytać i zapisać za pomocą następujących metod:
Java
fontSettings.getFallbackSettings().load("MyNewFallbackTable.xml");
fontSettings.getFallbackSettings().save("Current_FallbackTable.xml");
W Aspose.Words wydanie zawiera dwie tabele: MsOfficeFallbackSetting.xml oraz NotoFallbackSetting.xml.
W MsOfficeFallbackSetting tabela określa strategię zastępczą dla szeregu znaków, która jest podobna do strategii stosowanej przez Microsoft Word. W związku z tym, strategia wymaga instalacji Microsoft Czcionki biurowe. MsOfficeFallbackSetting można aktywować przy użyciu następującej metody:
.Java
fontSettings.getFallbackSettings().loadMsOfficeFallbackSettings();
W NotoFallbackSetting tabela jest tworzona specjalnie do użytku z Google Noto czcionki (zobacz więcej o Google Noto ustawienia czcionki w następnej sekcji) i mogą być włączone w następujący sposób:
Java
fontSettings.getFallbackSettings().loadNotoFallbackSettings();
Poniższy przykład kodu pokazuje jak wczytać ustawienia awaryjne czcionek z pliku XML:
W powyższym przykładzie kodu stosuje się następujący plik 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 zapewnia wstępnie zdefiniowane ustawienia zapasowe czcionki dla Google Noto czcionki. Są to darmowe czcionki z licencją na SIL Open Font License, które można pobrać z Google Noto Czcionki. W FontFallbackSettings klasa zapewnia LoadNotoFallbackSettings Metoda. Ładuje wstępnie zdefiniowane ustawienia awaryjne, które używają Google Noto czcionki pokazane w poniższym przykładzie kodu:
Aspose.Words próbuje automatycznie znaleźć czcionki TrueType w systemie plików. Zazwyczaj można polegać na domyślnym zachowaniu Aspose.Words znaleźć TrueType czcionki, ale czasami trzeba określić własne foldery zawierające czcionki TrueType. W Określ prawo Typ Czcionki Lokalizacja temat opisuje jak i gdzie Aspose.Words szuka czcionek, jak również jak określić własne lokalizacje czcionek.
Istnieją pewne różnice w przetwarzaniu formatów czcionki w Aspose.Words oraz Microsoft Word jak pokazano w poniższej tabeli:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| Czcionki TrueType i czcionki OpenType z zarysem TrueType | Wspierany. | Wspierany. |
| Czcionki OpenType z zarysem PostScript | Obsługiwane dla większości scenariuszy. Zamocowanie do utrwalonych formatów stron, takich jak PDF i XPS nie są wspierane. Tekst zastępuje się obrazami bitmap. | Obsługiwane dla większości scenariuszy, w tym osadzanie się do utrwalonych formatów stron. |
| Zmiany czcionek OpenType | Tylko nazwy instancji są obsługiwane. Nieobsługiwane ciągłe zmiany. | Obsługiwane tylko dla domyślnej instancji. Nie obsługuje się nazw instancji i ciągłych zmian. |
| Czcionki type1 | Obsługiwane Windows wersje sprzed 2013 roku i w wersji MacOS. Wsparcie zostaje wycofane Windows wersje począwszy od 2013 roku. | Brak wsparcia. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.