Конвертируйте кодированный в CFF тип 1 (шрифт PDF) в данные TTF в Python

Я пытаюсь нарисовать PDF в PyQt. Мне удалось извлечь данные шрифта с помощью PyPDF2, но согласно данным, шрифты в моем тестовом файле выглядят как CFF-кодированные шрифты Type 1C. поскольку QFontDatabase.addApplicationFontFromData() принимает только шрифты TrueType, мне нужно сначала конвертировать.

Как я могу сделать это в Python?

Я попытался с fontTools, но не смог найти способ правильно прочитать данные шрифта, хотя мне удалось получить имя шрифта и строки:

from io import BytesIO
from fontTools.ttLib import TTFont

font1 = TTFont()
fontset = cffLib.CFFFontSet()
f = BytesIO(font_data_as_bytes)
fontset.decompile(f, font1)
print(fontset.fontNames)
print(list(fontset.strings))

0 ответов

Другие вопросы по тегам