Wie man mit Core Font Management in Python arbeitet

Wie man mit Core Font Management in Python arbeitet

Aspose.Font FOSS für Python stellt FontLoader als Haupteinstiegspunkt zum Laden von Schriftarten aus Dateipfaden, Byte-Arrays oder Streams bereit. Das zurückgegebene Font-Objekt stellt Metadaten wie Name, Familie, Stil, Glyphenanzahl und Kodierungskarte bereit.

Schritt-für-Schritt-Anleitung

Schritt 1: Paket installieren

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

Schritt 2: Erforderliche Klassen importieren

from aspose_font import FontLoader
from aspose_font import TtfFont

Schritt 3: Schriftart aus einem Dateipfad laden

Rufen Sie FontLoader.open() mit dem Pfad zu Ihrer Schriftdatei auf. Die Methode erkennt das Format automatisch und gibt die passende Font-Unterklasse (TtfFont, CffFont usw.) zurück:

font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name)
print(font.num_glyphs)

Schritt 4: Schriftmetriken abrufen

Die Font.metrics-Eigenschaft gibt ein FontMetrics-Objekt zurück, das Aufstieg, Abstieg, Zeilenabstand, Kapitalhöhe und weitere typografische Messwerte der Schrift enthält:

from aspose_font import FontLoader

font = FontLoader.open("Roboto-Regular.ttf")
metrics = font.metrics
print(metrics)

Schritt 5: In ein anderes Format konvertieren

Übergeben Sie die geladene Schrift an FontConverter.convert() mit dem gewünschten FontType-Ziel. Die Methode gibt ein neues Schriftobjekt im gewünschten Format zurück, ohne das Original zu ändern:

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)

Häufige Probleme und Lösungen

FontType nicht gefunden — Import FontType aus der obersten Ebene aspose_font Paket: from aspose_font import FontType.

Font has no attribute font_name — Stellen Sie sicher, dass Sie ein Font Instanz, die zurückgegeben wird von FontLoader.open(), nicht ein rohes Bytes-Objekt.

Kodierungsfehler bei Windows-Pfaden — Pfade als Rohzeichenketten übergeben: r"C:\Fonts\MyFont.ttf".

Häufig gestellte Fragen

Welche Schriftformate unterstützt FontLoader?

FontLoader.open() unterstützt TTF, OTF, CFF, Type 1, WOFF, WOFF2 und EOT.

Kann ich eine Schriftart aus Bytes laden?

Ja. FontLoader.open() akzeptiert einen Dateipfad-String, Bytes oder ein Stream-Objekt über das source-Argument zusammen mit einem expliziten font_type-Parameter.

Ist Font.to_bytes() verfügbar?

Nein. Font.to_bytes(font_type) ist in der Basisklasse nicht implementiert. Verwenden Sie FontConverter.convert(), um das Format zu ändern, und benutzen Sie dann die Save-Methoden der Unterklasse.

Siehe auch

 Deutsch