Как да работим с CFF шрифтове в Python

Как да работим с 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_fontcff_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.

Вижте също:

 Български