Hogyan dolgozzunk a TTF-fontokkal Pythonban?

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 TtfFont

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

Lásd még:

 Magyar