Як працювати з шрифтами CFF в Python
CFF (Compact Font Format) - формат контурного викладання, що використовується в OpenType шрифтах і автономних. .cff файли. Aspose.Font FOSS представляє шрифти CFF як CffFont прикладами, які поширюються на: підставі; Font класу і експортувати дані, що специфічні для СФЗ.
Крок за кроком посібник
Крок 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
Call FontLoader.open() з дорогою до вашого .cff Файл. Возвращений об’єкт є файлом, що має значення “File”. 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 і TtfFonтом?
CffFont представляє самостійні файли CFF. TtfFont представляє файли TTF/OTF; OTF. може включати контур СФС, доступний через: ttf_font.cff_font.
Чи можу я перетворити шрифт CFF на WOFF2?
Так, я знаю. FontConverter.convert(font, FontType.WOFF2) працює з будь-якими Font приклад в тому числі: CffFont.