Hogyan dolgozzunk a CFF betűtípusokkal Pythonban?

Hogyan dolgozzunk a CFF betűtípusokkal Pythonban?

A CFF (Compact Font Format) az OpenType betűtípusok és önálló fontok körvonalas formátuma. .cff A CFF betűtípusok a következők: CffFont Az ilyen esetekben a a bázis Font az osztályra vonatkozó és a CFF-specifikus adatokat feltárja.

Lépésről lépésre szóló útmutató

1. lépés: telepítse a csomagot

pip install "aspose-font>=1.0.0"

2. lépés: Importáljon a szükséges osztályokat

from aspose_font.loader import FontLoader
from aspose_font.cff.font import CffFont
from aspose_font import FontType

3. lépés: Töltse be a CFF betűtípust

Hívj! FontLoader.open() A te útodhoz. .cff A visszaküldött objektum egy CffFont példány, amely a jelképek számát, betűtípus nevét és a CFF-specifikus tulajdonságait mutatja be:

font = FontLoader.open("MyFont.cff")
print(font.font_name)
print(font.num_glyphs)

4. lépés: Kern párok elérése

A töltött betűtípust a CffFont, akkor hívj! get_kern_pairs() a mag páros rekordok listájának megkerítése. Nem minden CFF betűtípus tartalmaz magadatot; ellenőrizze az hosszát, mielőtt iterál:

from aspose_font.loader import FontLoader
from aspose_font.cff.font import CffFont

cff_font: CffFont = FontLoader.open("MyFont.cff")
kern_pairs = cff_font.get_kern_pairs()
print(f"kern pairs: {len(kern_pairs)}")

5. lépés: CFF-t TTF-re alakítani

Át kell adnom a töltötteket. CffFont a … FontConverter.convert() a következők: FontType.TTF hogy új TtfFont a TTF-s körzet formátumban:

from aspose_font.loader import FontLoader
from aspose_font.converter import FontConverter
from aspose_font import FontType

font = FontLoader.open("MyFont.cff")
ttf = FontConverter.convert(font, FontType.TTF)

Általános problémák és megoldások

CffFont has no attribute cff_fontcff_font az ingatlan a TtfFont hogy… a CFF beágyazott adatait adja vissza, nem az alapúton. Font Az önálló CFF-fájlok használatára. CffFont - Egyenesen.

Üres mag párok Nem minden CFF betűtípus tartalmaz mag-páradatot. Ellenőrizze a len(cff_font.get_kern_pairs()) > 0 mielőtt ismétlődne.

Gyakran feltett kérdések

Mi a különbség a CffFont és a TtfFond között?

CffFont önálló CFF-fájlokat képviseli. TtfFont TTF/OTF fájlok; egy OTF. a CFF-szerkezetet beillesztheti, amely hozzáférhető az alábbiakban: ttf_font.cff_font.

Konvertálhatom a CFF betűtípust WOFF2-re?

  • Igen, én is. FontConverter.convert(font, FontType.WOFF2) - Nem. Mindenféle… Font példány beleértve: CffFont.

Lásd még:

 Magyar