Изменение языка 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.