关于c#:Microsoft Sans Serif字体未在中文本地化Windows中使用

Microsoft Sans Serif Font not used in Chinese Localized Windows

场景:

与"中文" Windows 7 Enterprise相比,即使所有本地化包和语言均设置为英语,UI界面元素在美国英语Windows 7 Enterprise上似乎使用的字体也不同。在后面的WinForms代码中,没有明确定义FontFamily,而是依赖于默认值。

英语:

English

中文:

Chinese

几个问题:

1)中文Windows使用什么字体?
2)这样的安装会导致它使用该字体有何不同?
3)我如何设置环境来复制它?在已安装的Windows 7实例上切换UI和系统区域性时,是否没有Windows 7的安装时间选项?

FWIW:

我检查了C:\\\\ Windows \\\\ Fonts,它具有与" Microsoft Sans Serif Regular"相同的版本和大小。


如果您对字体没有做任何事情,则默认的字体后备机制可能会将SimSun用作标准字体的字体替换。

替换字体的原因是中文操作系统上的默认字体需要显示中文字符。当然,由于大小原因,MS Sans Serif没有定义中文字形。

为避免此问题,您可能希望对资源文件中的字体信息进行"硬编码",这通常是简单的大小修改(即设置9代替8.25)会有所帮助。请注意,但是,如果这样做,汉字可能会损坏-如果我正确记住它,它将完全关闭字体回退机制。它可能适用于"静态" UI元素,这些元素不会被翻译成中文,但对于文本框和类似的控件(允许用户输入自由格式的文本)完全是不可接受的。

与其解决渲染问题,不如让它通过。我敢肯定,中国用户只是习惯了这种特定外观