我有一个我一直在测试国际化支持的应用程序。
例如,有一个标准的 TEdit 控件,其 font.Name = 'Arial'。
在 Windows 7 上,如果分配给该控件的字体不包含某个国际字符,它似乎会自动从 Arial Unicode MS 或其他地方抓取 CJK 字符的字形,用于 EDIT 通用控件。
在 Windows XP 上,即使安装了 Arial Unicode MS 字体,中文字符似乎也显示为框,除非我将 delphi 形式的字体名称更改为 Arial Unicode MS。
这是每个人在 Windows XP 上使用国际字体支持时都会遇到的问题吗?Windows 常用控件的行为是否不同?我在 Windows 7 上看到的行为肯定比我在 Windows XP 上看到的行为更友好。
这种行为差异不仅限于 Windows 公共控件。似乎即使是 Internet Explorer 和 MS Explorer shell 在进行如下图所示的测试时也会出现问题:
人们对此怎么办?
Windows XP 上的预期平台行为是什么?您是否必须找到用户想要使用的语言,然后找到支持该语言的字体供他们使用?我猜 Arial Unicode MS 可能是一个很好的默认设置,因为它几乎包含所有的 unicode 语言。
更新:看起来微软术语“补充语言支持”是指 Windows 的“Windows 不会将我的 Unicode 字符显示为框”功能。