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 TtfFontSchritt 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.