Невозможно внедрить шрифт с помощью libHaru в Windows - PullRequest
0 голосов
/ 05 сентября 2018

У меня есть следующий код, который отлично работает в Linux:

auto pdf_doc = HPDF_New(nullptr, nullptr);
if (!pdf_doc) { /* error handling */ }

HPDF_SetCompressionMode(pdf_doc, HPDF_COMP_ALL);

HPDF_UseUTFEncodings(pdf_doc);
HPDF_SetCurrentEncoder(pdf_doc, "UTF-8");

const char* font_bold_name = HPDF_LoadTTFontFromFile(pdf_doc, "HelveticaBd.ttf", HPDF_TRUE);
auto font_bold = HPDF_GetFont(pdf_doc, font_bold_name, "UTF-8");

const char* font_regular_name = HPDF_LoadTTFontFromFile(pdf_doc, "Helvetica.ttf", HPDF_TRUE);
auto font_regular = HPDF_GetFont(pdf_doc, font_regular_name, "UTF-8");

Но в Windows вызов HPDF_LoadTTFontFromFile() возвращает "", а ошибка 105D устанавливается в pdf_doc. Эта ошибка согласно документации означает «Шрифт не может быть встроен. (Ограничение лицензии)» .

Но те же файлы шрифтов TTF работают в Linux. Я также попробовал шрифт , представленный в демоверсии , но в этом случае он устанавливает ошибку 0x1017 в pdf_doc, что означает «Невозможно открыть файл. (Указан подробный код.)»

Также вызов завершается успешно, когда я передаю HPDF_FALSE (что означает "не вставлять шрифт"), и это работает. Но мне нужно встроить шрифт: (

Кто-нибудь сталкивался с подобной проблемой?
Я что-то упустил?
Почему лицензия будет проблемой для Windows, если Linux это позволяет?
Связано ли это с настройками / настройками шрифтов в Windows?

Edit:
Произошла ошибка для шрифта Helvetica-bold. Обычная версия Helvetica не вызывает никаких ошибок, но не внедряется.
Это как-то связано со шрифтами Base-14?

...