Как да работим с CFF шрифтове в Python
CFF (Compact Font Format) е форматът на очертанията, използван в OpenType шрифтовете и самостоятелно. .cff файлове. Aspose.Font FOSS представлява CFF шрифтове като CffFont примери, които се разпространяват до основата; Font клас и да се представят данни, специфични за CFF.
Постепенно ръководство
Стъпка 1: Инсталирайте пакета
pip install "aspose-font>=1.0.0"Стъпка 2: Импортиране на необходимите класове
from aspose_font.loader import FontLoader
from aspose_font.cff.font import CffFont
from aspose_font import FontTypeСтъпка 3: Зареждане на CFF шрифт
Обади се. FontLoader.open() С пътя към теб. .cff Файлът, който се връща е файл. CffFont пример, който разкрива броя на глифовете, името на шрифта и специфичните за CFF свойства:
font = FontLoader.open("MyFont.cff")
print(font.font_name)
print(font.num_glyphs)Стъпка 4: Достъп до двойки ядра
Заредете заредения шрифт на: CffFont, тогава се обади. get_kern_pairs() Не всички шрифтове CFF съдържат данни за ядрото; проверете дължината преди итерация:
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: Преобразуване на CFF в TTF
Предай натоварен. CffFont в) към FontConverter.convert() с: FontType.TTF да се създаде нов TtfFont в формат на обзорна форма на ТТФ:
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)Обичайни проблеми и решения
CffFont has no attribute cff_font — cff_font е имот на: TtfFont Това е… връща вградени данни за CFF, не на базата; Font За самостоятелни CFF файлове използване CffFont - Не, не. Направо.
Пусти зърнени двойки Не всички шрифтове CFF съдържат данни за двойки ядра. Проверете с len(cff_font.get_kern_pairs()) > 0 преди да се повтори.
Често задавани въпроси
Каква е разликата между CffFont и TtfFond?
CffFont представлява самостоятелни CFF файлове. TtfFont представлява TTF/OTF файлове; OTF може да включва очертание на CFF, достъпно чрез: ttf_font.cff_font.
Мога ли да превърна CFF шрифт в WOFF2?
- Да, много добре.
FontConverter.convert(font, FontType.WOFF2)работи с всякаквиFontслучай включително:CffFont.