Cum să lucrați cu Core Font Management în Python
Aspose.Font FOSS for Python provides FontLoader ca principal punct de intrare pentru încărcarea fonturilor. Din căile de fişier, matrici de baţi sau fluxuri. Font Obiectul expune metadatele. cum ar fi numele, familia, stilul, numărul de glifoane și harta de codificare.
Ghid pas cu pas
Pasul 1: Instalați pachetul
pip install "aspose-font>=1.0.0"Pasul 2: Importarea clasei necesare
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFontPasul 3: Încărcarea fontului dintr-un fișier
Sună-mă. FontLoader.open() Metodul detectează formatul automat şi returnează corespunzător. Font subclasa (TtfFont, CffFont, etc.):
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name)
print(font.num_glyphs)Pasul 4: Accesarea fontelor metrice
În ceea ce priveşte Font.metrics proprietatea returnează o FontMetrics Obiect care conține ascendent, descender, interval de linie, înălțimea capacului și alte măsurători tipografice pentru font:
from aspose_font.loader import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
metrics = font.metrics
print(metrics)Pasul 5: Convertiți în alt format
Treci fontul încărcat la: FontConverter.convert() cu dorit FontType metoda returnă un obiect de font nou în formatul solicitat fără a modifica originalul:
from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType
font = FontLoader.open("Roboto-Regular.ttf")
woff2 = FontConverter.convert(font, FontType.WOFF2)Probleme comune şi soluţii
FontType Nu se găseşte. Importuri FontType de la nivelul superior. aspose_font pachet: from aspose_font import FontType.
Font has no attribute font_name Asiguraţi- vă că utilizaţi un Font Întoarcere la instanță de către: FontLoader.open(), nu un obiect de byte brut.
Erori de codificare pe căile Windows Trecerea căilor ca șiruri brute: r"C:\Fonts\MyFont.ttf".
Întrebări frecvente
Ce tipuri de font suportă FontLoader?
FontLoader.open() suportă TTF, OTF (în mod automat), CFF (cu o frecvență de transfer) și WOFF (1-ul tip), WOff (2-lea tip) sau EOT (3-a categorie).
Pot să încărc un font din baiti?
- Da, am fost.
FontLoader.open()acceptă un fișier de șir, bați sau un obiect flux prin intermediulsourceArgumentul, împreună cu o dovadă clară.font_typeparametru.
Font.to_bytes este disponibil?
- Nu, nu. Ce?.
Font.to_bytes()nu este implementat în clasa de bază. UtilizațiFontConverter.convert()pentru a schimba formatul, apoi utilizați metodele de salvare subclasa.