Häufig gestellte Fragen

Häufig gestellte Fragen

Lizenzierung & Open Source

Wie lautet das Lizenzmodell?

Aspose.Font FOSS für Python wird unter der MIT-Lizenz. Sie können die Software ohne Einschränkung verwenden, kopieren, modifizieren, zusammenführen, veröffentlichen, verbreiten, unterlizenzieren oder Kopien verkaufen. Die einzige Voraussetzung ist, dass der Urheberrechtshinweis und der Lizenztext in allen Kopien oder wesentlichen Teilen der Software enthalten sind.

Kann ich es in kommerziellen Produkten verwenden?

Ja. Die MIT-Lizenz erlaubt die Nutzung in Closed‑Source- und kommerziellen Produkten. Es gibt keine Lizenzgebühren oder Namensnennungs‑Pflichten, außer dem Beibehalten des Urheberrechtshinweises in Ihren Kopien der Bibliothek selbst. Hinweis: die CffFont Klasse wurde aktualisiert (API_MODIFIED); bestehender Code könnte kleinere Anpassungen erfordern.

Gibt es eine kostenpflichtige Version mit mehr Funktionen?Aspose.Font FOSS ist die Open-Source-Ausgabe. Die FOSS-Ausgabe unterstützt TTF, OTF, CFF,

Type 1, WOFF, WOFF2 und EOT — was den Großteil der realen Font-Arbeit abdeckt.


Installation & Anforderungen

Wie installiere ich Aspose.Font FOSS für Python?

Installiere das aktualisierte Paket (erfordert Python 3.10+):

git clone https://github.com/aspose-font-foss/Aspose.Font-FOSS-for-Python.git
cd Aspose.Font-FOSS-for-Python
pip install -e .

Die Schrift API wurde geändert (API_MODIFIED). Auf Systemebene sind keine nativen Abhängigkeiten erforderlich.

Welche Python-Versionen werden unterstützt?

Python 3.10 und neuer. Die Bibliothek nutzt ausschließlich Standardbibliotheksfunktionen, daher funktioniert sie auf CPython und PyPy-Implementierungen, die Python 3.10+ unterstützen.

Gibt es native oder plattformspezifische Abhängigkeiten?

Nein. Aspose.Font FOSS für Python hat keine C-Erweiterungen, keine Systemschriftarten und keine Plattform-APIs. Es funktioniert identisch unter Windows, macOS und Linux.


Formatunterstützung

Welche Schriftformate können gelesen werden?

FontLoader.open() kann TTF, OTF, CFF (standalone), Type1, WOFF, WOFF2 und EOT laden.

from aspose_font import FontLoader

font = FontLoader.open("MyFont.ttf")

Welche Formate können geschrieben werden?

FontConverter.convert() unterstützt die Konvertierung zu TTF, CFF, WOFF und WOFF2. Die ausgegebene Schrift kann als Bytes oder in einen Dateistream gespeichert werden.

Ist die WOFF2-Dekompression eingebaut?

Ja. WOFF2-Brotli-Kompression und -Dekompression sind vollständig in der Bibliothek implementiert. Kein externes Brotli-Paket ist erforderlich.


API Usage

Wie lade ich eine Schriftart und inspiziere ihre Metadaten?

Verwenden Sie FontLoader.open(), das eine Font-Instanz zurückgibt. Für TTF/OTF-Schriften casten Sie zu TtfFont, um auf TTF-spezifische Eigenschaften zuzugreifen:

from aspose_font import FontLoader
from aspose_font import TtfFont

ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.num_glyphs)

Wie konvertiere ich eine TTF in WOFF2?

Laden Sie die Schriftart mit FontLoader.open(), und übergeben Sie sie dann an FontConverter.convert(), wobei Sie FontType.WOFF2 als Ziel angeben. Das zurückgegebene Objekt ist eine Woff2Font-Instanz, die bereit zur Serialisierung ist:

from aspose_font import FontLoader
from aspose_font.converter import FontConverter  # internal API — may change between releases
from aspose_font import FontType

font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)

Wie erstelle ich ein Subset einer Schriftart für die Webauslieferung?

Verwenden Sie FontSubsetter.subset_by_text(), um eine neue Schriftart zu erzeugen, die nur die Glyphen enthält, die zum Rendern der bereitgestellten Textzeichenfolge erforderlich sind, und so die Dateigröße für die Einbettung in Webseiten reduziert:

from aspose_font import FontLoader
from aspose_font import FontSubsetter

font = FontLoader.open("Roboto-Regular.ttf")
subset = FontSubsetter.subset_by_text(font, "Hello World")

Wie greife ich auf einzelne Glyphen zu?

Verwenden Sie Font.glyph_accessor, das GlyphAccessor implementiert. Rufen Sie get_glyph_by_unicode() mit einem Unicode-Codepunkt auf, um das entsprechende Glyphenobjekt abzurufen und seine Metriken oder Kontur zu untersuchen:

from aspose_font import FontLoader

font = FontLoader.open("Roboto-Regular.ttf")
glyph = font.glyph_accessor.get_glyph_by_unicode(0x0041)  # 'A'
print(glyph.glyph_id)

Bekannte Einschränkungen

Ist Font.to_bytes() implementiert?

Die abstrakte Basisklasse Font.to_bytes(font_type) wirft NotImplementedError, wenn sie direkt aufgerufen wird. Alle konkreten Schriftklassen — TtfFont, CffFont, WoffFont, Woff2Font, EotFont und Type1Font — implementieren to_bytes() vollständig. Laden Sie eine Schrift mit FontLoader.open() und rufen Sie to_bytes() auf der zurückgegebenen konkreten Instanz auf. FontConverter.convert() kann ebenfalls eine neue Schrift in jedem unterstützten Zielformat erzeugen.

Sind alle Tabellentypen in TtfTableSet ausgefüllt?

Nur gängige Tabellen (head, hhea, maxp, os2, name, post, cmap, loca, hmtx, kern) werden als benannte Eigenschaften auf TtfTableSet bereitgestellt. Andere Tabellen können über TtfFont.get_table_bytes(tag) als Rohbytes gelesen werden.

Unterstützt die Bibliothek die Instanziierung variabler Schriften?

Ja. TtfFont.instantiate(coordinates) erzeugt ein statisches TtfFont bei angegebenen Achsenkoordinaten. Verwenden Sie TtfFont.is_variable und TtfFont.axes, um zunächst die Variationsachsen zu erkennen.

Siehe auch

 Deutsch