Hogyan dolgozzunk a TTF-fontokkal Pythonban?
Ez a kézikönyv mutatja, hogyan kell betölteni TTF-fontokat. TtfFont A Python-ban a TrueType fontok (.ttf) a leggyakoribb betűtípus. Aspose.Font A FOSS úgy tölti be őket, mint TtfFont példányok, amelyek hozzáférést biztosítanak táblázatokhoz, változó betűtípus-tengelyekhez, glyph adatokhoz és konvertációs segédprogramokhoz.
Lépésről lépésre szóló útmutató
1. lépés: telepítse a csomagot
A következő pip parancs használatával telepítse a PyPI-ből az Aspose.Font FOSS csomagot:
pip install "aspose-font>=1.0.0"2. lépés: Importáljon a szükséges osztályokat
Behozatala FontLoader és a következők: TtfFont egy TTF-típus betöltésére és a típusosított tulajdonságaira való hozzáférésre:
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont3. lépés: TTF betűtípus feltöltése és ellenőrzése
TTF fájl betöltése a következőkkel: FontLoader.open() és olvassa el az alap tulajdonságokat, mint például a nevet, a családot és a jelképek számát:
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
print(ttf_font.font_name)
print(ttf_font.font_family)
print(ttf_font.num_glyphs)4. lépés: Olvasd el a mag táblázatot.
Hozzáférni a ttf_tables tulajdonság és a mag táblázatának jelenlétének ellenőrzése név szerint:
ttf_font: TtfFont = FontLoader.open("Roboto-Regular.ttf")
kern = ttf_font.ttf_tables.kern
print("kern present:", kern is not None)5. lépés: A változó betűtípusok beállítását indítsa el
Töltse be a változó betűtípusokat, ellenőrizze is_variable, és hívja fel. instantiate() egy statikus példány előállításához szükséges axis szótárral:
from aspose_font.loader import FontLoader
from aspose_font.ttf.font import TtfFont
ttf_font: TtfFont = FontLoader.open("Roboto-VariableFont_wdth,wght.ttf")
if ttf_font.is_variable:
static = ttf_font.instantiate({"wght": 700.0})
print("Instantiated:", static.font_name)6. lépés: WOFF2-re konverzálni
A töltött TTF betűtípust WOFF2 formátumba alakítani az alábbi funkcióval: FontType.WOFF2 a … FontConverter.convert():
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)Általános problémák és megoldások
AttributeError: Font has no attribute ttf_tables Használat ttf_font: TtfFont = FontLoader.open(...). A Bizottság ttf_tables Az ingatlan a… TtfFont, nem a bázis. Font.
is_variable a változó betűtípuson False Néhány változó betűtípus nem szabványos. fvar Táblázatformátum. Ellenőrizze ttf_font.fvar is not None alternatívaként.
instantiate() emelkedés KeyError A tengelycímkének regisztrált 4-karos címkének kell lennie. (pl. a következők:. "wght", "wdth") Ellenőrzés ttf_font.axes a rendelkezésre álló címkék.
Gyakran feltett kérdések
Mi a különbség az OTF és a TTF között?
Az OTF és a TTF ugyanazt a bináris tartályt (SFNT) osztják meg. A OFT betűtípusok általában CFF-s körvonalakat használnak. míg a TTF betűtípusok TrueType négyzetalapú görbét használnak. Mindkettőt az alábbiak töltik be: FontLoader.open().
Kaphatok mag párokat egy TTF betűtípusból?
Igen, használd. TtfFont.get_kern_pairs() hogy szerezzünk egy listát a… KernPair tárgyak.
A könyvtár támogatja a betűtípus gyűjteményeket (.ttc)?
Igen, használd. FontLoader.open(source, collection_index=N) hogy egy adott betűtípust válassza a a TTC gyűjtési fájl.