Cum să lucrați cu fonturile CFF în Python

Cum să lucrați cu fonturile CFF în Python

CFF (Compact Font Format) este formatul de schiță folosit în interiorul fonturilor OpenType și independent. .cff Fişierele FOSS reprezintă fonturile CFF ca: CffFont în cazul căruia se extind baza de la Font clasa și să expună date specifice CFF.

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.cff.font import CffFont
from aspose_font import FontType

Pasul 3: Încărcați un font CFF

Sună-mă. FontLoader.open() cu drumul spre tine. .cff Obiectul returnat este un fişier. CffFont În cazul în care se aplică o metodă de identificare a caracteristicilor, este necesar să se identifice:

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

Pasul 4: Accesarea perechilor de kern

Aruncați fontul încărcat la CffFont, apoi sună-mă . get_kern_pairs() Pentru a obține lista de înregistrări cu perechi de kern. Nu toate fonturile CFF conțin date despre kern; verificați lungimea înainte de iterare:

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)}")

Pasul 5: Convertiți CFF în TTF

Treci la încărcat. CffFont la … în FontConverter.convert() cu: FontType.TTF pentru a produce un nou TtfFont în formatul de contur al TTF:

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)

Probleme comune şi soluţii

CffFont has no attribute cff_fontcff_font este o proprietate pe TtfFont care … returnă date CFF încorporate, nu pe bază. Font pentru utilizarea fişierelor CFF independente. CffFont directă.

Perechi de boabe goale Nu toate fonturile CFF conțin date despre perechi de kern. Verificați cu: len(cff_font.get_kern_pairs()) > 0 înainte de iterare.

Întrebări frecvente

Care este diferența dintre CffFont și TtfFond?

CffFont reprezintă fișierele CFF independente. TtfFont reprezintă fișiere TTF/OTF; o OTF poate include o schemă a CFF accesibilă prin intermediul: ttf_font.cff_font.

Pot să convertesc un font CFF în WOFF2?

  • Da, am fost. FontConverter.convert(font, FontType.WOFF2) funcţionează cu orice Font caz de exemplu inclusiv: CffFont.

Vezi și:

 Română