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 FontTypePasul 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_font — cff_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 oriceFontcaz de exemplu inclusiv:CffFont.