Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.
Aspose.Words erfordert TrueType-Schriftarten für eine Vielzahl von Aufgaben, einschließlich der Darstellung von Dokumenten in feste Seitenformate, beispielsweise PDF oder XPS. Wenn Aspose.Words ein Dokument rendert, muss es die Einbettung und Teileinbettung von TrueType-Schriftarten in das resultierende Dokument durchführen, was bei der Dokumentgenerierung üblich ist, einschließlich gängiger PDF- oder XPS-Formate. Dadurch wird sichergestellt, dass das Dokument für jeden Betrachter gleich aussieht. Darüber hinaus verlangt die XPS-Spezifikation, dass Schriftarten immer in das Dokument eingebettet sind.
Um sicherzustellen, dass Aspose.Words die Zeichen genau misst und relevante Schriftarten erfolgreich einbettet, müssen die folgenden Bedingungen erfüllt sein:
Beachten Sie, dass die Schriftart im Dokument eine Entität darstellt, z. B. Familienname, Stil, Größe, Farbe, die sich von der Entität der TrueType-Schriftart (physische Schriftart) unterscheidet. Aspose.Words löst die Schriftart im Dokument zu einem bestimmten Zeitpunkt der Verarbeitung in eine physische Schriftart auf. Dies ermöglicht bestimmte Aufgaben, am häufigsten die Berechnung der Textgröße während der Layouterstellung und die Einbettung/Unterteilung in feste Seitenformate. Eine Reihe anderer, weniger beliebter Aufgaben, wie z. B. das Auflösen und Ersetzen von Schriftarten beim Laden von HTML oder das Einbetten/Unterteilen in einige Flussformate, sind ebenfalls aktiviert.
Alle verfügbaren Schriftartenmanipulationsmechanismen sind in der FontSettings-Klasse enthalten. Diese Klasse ist für das Abrufen von Schriftarten innerhalb definierter Schriftartquellen sowie für den Schriftartersetzungsprozess verantwortlich, wie unten beschrieben.
Schriftarten werden in mehreren Schritten analysiert:
Wenn Aspose.Words im Dokument zum ersten Mal auf eine Schriftart stößt, versucht es, grundlegende Informationen zur Schriftart, z. B. den vollständigen Namen der Schriftart, den Familiennamen, die Version und den Stil, aus den Schriftartdateien in den einzelnen Schriftartquellen abzurufen. Nachdem alle Schriftarten abgerufen wurden, verwendet Aspose.Words diese Details, um die erforderlichen Schriftartdaten oder einen geeigneten Ersatz für die angeforderte Schriftart zu finden.
Da der oben beschriebene Vorgang zeitaufwändig ist, kann er sich beim ersten Start negativ auf die Leistung der Anwendung auswirken. Allerdings verfügt jede Instanz von FontSettings über einen eigenen Cache, was die Verarbeitungszeit nachfolgender Dokumente verkürzen könnte. Beispielsweise können Sie eine Instanz der FontSettings-Klasse zwischen verschiedenen Dokumenten teilen, wodurch Sie das Laden der Dokumente beschleunigen können. Das folgende Beispiel zeigt dies:
Wenn FontSettings nicht explizit definiert ist, verwendet Aspose.Words die Standard-FontSettings-Instanz. Diese Instanz wird auch automatisch von Dokumenten gemeinsam genutzt und kann wie folgt extrahiert werden:
Wenn Sie sicher sind, dass alle verarbeiteten Dokumente dieselben Schriftarteinstellungen erfordern, empfiehlt es sich, die Standard-FontSettings-Instanz einzurichten und zu verwenden. Angenommen, Sie müssen für alle Ihre Dokumente dieselben Schriftartquellen verwenden. In diesem Fall können Sie die Standardinstanz einfach wie folgt ändern:
Ein Text in einem Dokument kann mit verschiedenen Schriftarten formatiert werden, beispielsweise Arial, Times New Roman, Verdana und anderen. Wenn Aspose.Words ein Dokument rendert, versucht es, die im Dokument angegebenen Schriftarten auszuwählen.
Es gibt jedoch Situationen, in denen die genaue Schriftart nicht gefunden werden kann und Aspose.Words sie stattdessen durch eine ähnliche Schriftart ersetzen muss. Aspose.Words wählt die Schriftart nach folgendem Verfahren aus:
FontConfig-Bibliothek, die eine systemweite Schriftartenkonfiguration, Anpassung und Zugriff auf Anwendungen ermöglicht. Ansonsten kann diese Bibliothek einfach vom Benutzer installiert werden.
Aspose.Words weiß, wie man Daten abfragt und FontConfig-Ergebnisse für seine eigenen Zwecke interpretiert. Standardmäßig ist das FontConfig-Dienstprogramm deaktiviert. Sie können es wie folgt aktivieren:fontSettings.substitution_settings.font_config_substitution.enabled = TrueFontConfig-Ersetzungsregel ersetzt wird.<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-Ersetzung fehlgeschlagen ist. Auch diese Regel ist standardmäßig aktiviert. Gemäß dieser Regel versucht Aspose.Words, die in der default_font_name-Eigenschaft angegebene Standardschriftart zu verwenden. Wenn der Benutzer keine eigene Standardschriftart ausgewählt hat, wird “Times New Roman” als Standardschriftart verwendet. Diese Regel kann wie unten gezeigt deaktiviert werden: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"Wenn FontInfo verfügbar ist, löst die FontInfo-Ersetzungsregel immer die Schriftart auf und überschreibt die Standardschriftartregel. Wenn Sie die Standardschriftartregel verwenden möchten, sollten Sie die FontInfo-Ersetzungsregel deaktivieren. Beachten Sie, dass die FontConfig-Ersetzungsregel in den meisten Fällen die Schriftart auflöst und somit alle anderen Regeln außer Kraft setzt.
In Aspose.Words werden zwei verschiedene Mechanismen verwendet: Schriftartersetzung und Schriftarten-Fallback. Die Schriftartersetzung wird verwendet, wenn die im Dokument angegebene Schriftart nicht unter den Schriftartquellen gefunden werden konnte, wie in den obigen Abschnitten beschrieben. Der Font-Fallback-Mechanismus wird verwendet, wenn die Schriftart aufgelöst wird, aber kein bestimmtes Zeichen enthält. In diesem Fall versucht Aspose.Words, eine der Fallback-Schriftarten für das Zeichen zu verwenden.
Es gibt eine build_automatic-Methode, die automatisch die Fallback-Einstellungen erstellt, indem sie verfügbare Schriftarten scannt. Da diese Methode möglicherweise zu einer nicht optimalen Fallback-Einstellung führt, können Sie das Schriftart-Fallback-Verhalten mithilfe der Eigenschaften der FontFallbackSettings-Klasse steuern. Diese Klasse gibt Einstellungen des Schriftart-Fallback-Mechanismus an. Sie können eine Instanz der FontFallbackSettings-Klasse wie folgt erhalten:
settings = fontSettings.fallback_settingsÄhnlich wie bei der Tabellenersetzungsregel verwendet dieser Mechanismus XML-Tabellen für die Konfiguration. Diese XML-Tabellen können mit den folgenden Methoden geladen und gespeichert werden:
fontSettings.fallback_settings.load("MyNewFallbackTable.xml")
fontSettings.fallback_settings.save("Current_FallbackTable.xml")Die Aspose.Words-Version enthält zwei Tabellen: MsOfficeFallbackSetting.xml und NotoFallbackSetting.xml.
Die MsOfficeFallbackSetting-Tabelle definiert eine Ersetzungsstrategie für einen Zeichenbereich, die der von Microsoft Word verwendeten Strategie ähnelt. Daher erfordert die Strategie die Installation von Microsoft-Office-Schriftarten. MsOfficeFallbackSetting kann mit der folgenden Methode aktiviert werden:
fontSettings.fallback_settings.load_ms_office_fallback_settings()Die NotoFallbackSetting-Tabelle wurde speziell für die Verwendung mit Google Noto-Schriftarten erstellt (mehr zu den Google Noto-Schriftarteneinstellungen finden Sie im nächsten Abschnitt) und kann wie folgt aktiviert werden:
fontSettings.fallback_settings.load_noto_fallback_settings()Das folgende Codebeispiel zeigt, wie Schriftart-Fallback-Einstellungen aus einer XML-Datei geladen werden:
Im obigen Codebeispiel wird die folgende XML-Datei verwendet:
<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 bietet vordefinierte Schriftart-Fallback-Einstellungen für Google Noto-Schriftarten. Hierbei handelt es sich um kostenlose Schriftarten, die unter der SIL Open Font License lizenziert sind und von Google Noto Fonts heruntergeladen werden können. Die FontFallbackSettings-Klasse stellt eine load_noto_fallback_settings-Methode bereit. Es lädt vordefinierte Fallback-Einstellungen, die Google Noto-Schriftarten verwenden, wie im folgenden Codebeispiel gezeigt:
Aspose.Words versucht, TrueType-Schriftarten automatisch im Dateisystem zu finden. Normalerweise können Sie sich auf das Standardverhalten von Aspose.Words verlassen, um die TrueType-Schriftarten zu finden, aber manchmal müssen Sie Ihre eigenen Ordner mit TrueType-Schriftarten angeben. Das Geben Sie den Speicherort der TrueType-Schriftarten an-Thema beschreibt, wie und wo Aspose.Words nach Schriftarten sucht und wie Sie Ihre eigenen Schriftartenspeicherorte angeben.
Es gibt einige Unterschiede bei der Verarbeitung von Schriftartformaten in Aspose.Words und Microsoft Word, wie in der folgenden Tabelle dargestellt:
| Microsoft Word | Aspose.Words | |
|---|---|---|
| TrueType-Schriftarten und OpenType-Schriftarten mit TrueType-Konturen | Unterstützt. | Unterstützt. |
| OpenType-Schriftarten mit PostScript-Konturen | Wird für die meisten Szenarien unterstützt. Das Einbetten in feste Seitenformate wie PDF und XPS wird nicht unterstützt. Text wird durch Bitmap-Bilder ersetzt. | Wird für die meisten Szenarios unterstützt, einschließlich der Einbettung in feste Seitenformate. |
| Variationen von OpenType-Schriftarten | Es werden nur benannte Instanzen unterstützt. Kontinuierliche Variationen werden nicht unterstützt. | Wird nur für die Standardinstanz unterstützt. Benannte Instanzen und kontinuierliche Variationen werden nicht unterstützt. |
| Type1-Schriftarten | Unterstützt auf Windows-Versionen vor 2013 und auf MacOS-Versionen. Die Unterstützung für Windows-Versionen ab 2013 wird eingestellt. | Nicht unterstützt. |
Analyzing your prompt, please hold on...
An error occurred while retrieving the results. Please refresh the page and try again.