Hur man arbetar med Core Font Management i Python
Aspose.Font FOSS för Python tillhandahåller FontLoader som huvudinkörningspunkt för att ladda teckensnitt från filsökvägar, byte-arrayer eller strömmar. Det returnerade Font-objektet exponerar metadata såsom namn, familj, stil, antal glyfer och kodningskarta.
Steg-för-steg-guide
Steg 1: Installera paketet
git clone https://github.com/aspose-font-foss/Aspose.Font-FOSS-for-Python.git
cd Aspose.Font-FOSS-for-Python
pip install -e .Steg 2: Importera nödvändiga klasser
from aspose_font import FontLoader
from aspose_font import TtfFontSteg 3: Ladda ett teckensnitt från en filsökväg
Anropa FontLoader.open() med sökvägen till din teckensnittfil. Metoden upptäcker formatet automatiskt och returnerar den lämpliga Font underklassen (TtfFont, CffFont osv.):
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name)
print(font.num_glyphs)Steg 4: Åtkomst till teckensnittsmått
Egenskapen Font.metrics returnerar ett FontMetrics-objekt som innehåller ascender, descender, radavstånd, kaphöjd och andra typografiska mått för teckensnittet:
from aspose_font import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
metrics = font.metrics
print(metrics)Steg 5: Konvertera till ett annat format
Skicka det inlästa teckensnittet till FontConverter.convert() med det önskade FontType-målet. Metoden returnerar ett nytt teckensnittobjekt i det begärda formatet utan att ändra originalet:
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)Vanliga problem och lösningar
FontType hittades inte — Import FontType från toppnivån aspose_font paket: from aspose_font import FontType.
Font has no attribute font_name — Se till att du använder en Font instans som returneras av FontLoader.open(), inte ett rått byteobjekt.
Kodningsfel på Windows-sökvägar — Ange sökvägar som råa strängar: r"C:\Fonts\MyFont.ttf".
Vanliga frågor
Vilka fontformat stöder FontLoader?
FontLoader.open() stöder TTF, OTF, CFF, Type 1, WOFF, WOFF2 och EOT.
Kan jag ladda en font från bytes?
Ja. FontLoader.open() accepterar en filsökvägssträng, bytes eller ett strömobjekt via argumentet source tillsammans med en explicit font_type-parameter.
Finns Font.to_bytes() tillgänglig?
Nej, Font.to_bytes(font_type) är inte implementerad i basklassen. Använd FontConverter.convert() för att ändra format, och använd sedan subklassens spara-metoder.