Hoe te werken met Core Font Management in Python
Aspose.Font FOSS voor Python biedt FontLoader als het belangrijkste toegangspunt voor het laden van lettertypen vanuit bestandspaden, byte-arrays of streams. Het geretourneerde Font object exposeert metadata zoals naam, familie, stijl, aantal glyphs en encoderingstabel.
Stapsgewijze handleiding
Stap 1: Installeer het pakket
git clone https://github.com/aspose-font-foss/Aspose.Font-FOSS-for-Python.git
cd Aspose.Font-FOSS-for-Python
pip install -e .Stap 2: Importeer vereiste klassen
from aspose_font import FontLoader
from aspose_font import TtfFontStap 3: Laad een lettertype vanaf een bestandspad
Roep FontLoader.open() aan met het pad naar uw lettertypebestand. De methode detecteert automatisch het formaat en retourneert de juiste Font subklasse (TtfFont, CffFont, enz.):
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name)
print(font.num_glyphs)Stap 4: Toegang tot lettertype-metrieken
De Font.metrics eigenschap retourneert een FontMetrics object dat ascender, descender, line gap, cap height en andere typografische metingen voor het lettertype bevat:
from aspose_font import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
metrics = font.metrics
print(metrics)Stap 5: Converteren naar een ander formaat
Geef het geladen lettertype door aan FontConverter.convert() met de gewenste FontType bestemming. De methode retourneert een nieuw lettertype-object in het aangevraagde formaat zonder het origineel te wijzigen:
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)Veelvoorkomende problemen en oplossingen
FontType niet gevonden — Import FontType van het bovenste niveau aspose_font pakket: from aspose_font import FontType.
Font has no attribute font_name — Zorg ervoor dat je een Font instantie die wordt geretourneerd door FontLoader.open(), niet een ruwe bytes-object.
Coderingfouten op Windows-paden — Geef paden door als ruwe strings: r"C:\Fonts\MyFont.ttf".
Veelgestelde vragen
Welke lettertypeformaten ondersteunt FontLoader?
FontLoader.open() ondersteunt TTF, OTF, CFF, Type 1, WOFF, WOFF2 en EOT.
Kan ik een lettertype laden vanuit bytes?
Ja. FontLoader.open() accepteert een bestandspad-string, bytes of een stream-object via het argument source samen met een expliciete parameter font_type.
Is Font.to_bytes() beschikbaar?
Nee. Font.to_bytes(font_type) is niet geïmplementeerd in de basisklasse. Gebruik FontConverter.convert() om het formaat te wijzigen, en gebruik vervolgens de save-methoden van de subklasse.