Jak pracovat s Core Font Management v Python
Aspose.Font FOSS pro Python poskytuje FontLoader jako hlavní vstupní bod pro načítání fontů z cest k souborům, bajtových polí nebo streamů. Vrácený objekt Font vystavuje metadata jako název, rodinu, styl, počet glifů a mapu kódování.
Průvodce krok za krokem
Krok 1: Nainstalujte balíček
git clone https://github.com/aspose-font-foss/Aspose.Font-FOSS-for-Python.git
cd Aspose.Font-FOSS-for-Python
pip install -e .Krok 2: Naimportujte požadované třídy
from aspose_font import FontLoader
from aspose_font import TtfFontKrok 3: Načtěte font z cesty k souboru
Zavolejte FontLoader.open() s cestou k souboru písma. Metoda automaticky detekuje formát a vrátí odpovídající podtřídu Font (TtfFont, CffFont atd.):
font = FontLoader.open("Roboto-Regular.ttf")
print(font.font_name)
print(font.num_glyphs)Krok 4: Přístup k metrikám písma
Vlastnost Font.metrics vrací objekt FontMetrics, který obsahuje ascender, descender, line gap, cap height a další typografické měření pro písmo:
from aspose_font import FontLoader
font = FontLoader.open("Roboto-Regular.ttf")
metrics = font.metrics
print(metrics)Krok 5: Převod do jiného formátu
Předávejte načtené písmo do FontConverter.convert() s požadovaným cílem FontType. Metoda vrátí nový objekt písma v požadovaném formátu, aniž by upravila originál:
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)Časté problémy a opravy
FontType nenalezeno — Import FontType z nejvyšší úrovně aspose_font balíček: from aspose_font import FontType.
Font has no attribute font_name — Ujistěte se, že používáte Font instanci vrácenou FontLoader.open(), ne surový objekt bajtů.
Chyby kódování na Windows cestách — Předávejte cesty jako surové řetězce: r"C:\Fonts\MyFont.ttf".
Často kladené otázky
Jaké formáty písem FontLoader podporuje?
FontLoader.open() podporuje TTF, OTF, CFF, Type 1, WOFF, WOFF2 a EOT.
Mohu načíst písmo z bytes?
Ano. FontLoader.open() přijímá řetězec s cestou k souboru, bytes nebo objekt proudu prostřednictvím argumentu source spolu s explicitním parametrem font_type.
Je Font.to_bytes() k dispozici?
Č. Font.to_bytes(font_type) není implementováno v základní třídě. Použijte FontConverter.convert() pro změnu formátu, pak použijte metody ukládání podtřídy.