我有一个需要维护的旧版 C++ 程序。我们在 Windows 7 上运行。最近我在代码的 pdf 生成部分发现了一个错误。
我将 Windows 更改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
一般提示,对于不支持 unicode 的旧版应用程序,最好以其应使用的语言运行 Windows,除非您将该应用程序重新编码为 unicode 友好的。
我告诉它我是法国人,如果 Windows 是英文的并且安装了法语语言包,那么新的应用程序甚至可能会失败,它需要法语 Windows。