非 Unicode 程序的 Windows 语言更改导致查找字体错误

非 Unicode 程序的 Windows 语言更改导致查找字体错误

我有一个需要维护的旧版 C++ 程序。我们在 Windows 7 上运行。最近我在代码的 pdf 生成部分发现了一个错误。

我将 Windows 更改Language for non-unicode programsKorean (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

一般提示,对于不支持 unicode 的旧版应用程序,最好以其应使用的语言运行 Windows,除非您将该应用程序重新编码为 un​​icode 友好的。

我告诉它我是法国人,如果 Windows 是英文的并且安装了法语语言包,那么新的应用程序甚至可能会失败,它需要法语 Windows。

相关内容