Hoe te werken met Core Font Management in Python

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 TtfFont

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

Zie ook

 Nederlands