Изменение языка Windows для не-юникодных программ приводит к ошибке при поиске шрифта

У меня есть устаревшая программа C++, которую я должен поддерживать. Мы работаем на Windows 7. Недавно я столкнулся с ошибкой в ​​разделе генерации pdf кода.

Я меняю винду Language for non-unicode programs в Korean (Korea), перезагрузите, затем запустите приложение. В коде генерации PDF есть эта строка:

pdf_font = pdf.load_font(L"Malgun Gothic", L"unicode", L"");

(Я понятия не имею, что происходит внутри pdf.load_font)

pdf_font здесь -1, Если Language for non-unicode programs английский, нет проблем и pdf_font содержит допустимое значение.

Это как если бы установка Language for non-unicode programs в Korean (Korea) шкуры Malgun Gothic шрифт, который можно увидеть раньше.

Я не уверен, является ли это проблемой Windows или библиотекой. Любые указатели приветствуются.

1 ответ

Общий совет: для унаследованного приложения, которое не поддерживает юникод, лучше запускать окна на том языке, на котором он должен быть, если только вы не перекодируете приложение, чтобы оно было дружественным к юникоду.

Я сказал это как Iam французский, и даже новое приложение может выйти из строя, если Windows на английском языке и установлен французский языковой пакет, ему нужны французские Windows.

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