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

标签 c# winforms windows-7 localization

场景:

与“中文”Windows 7 Enterprise 相比,即使所有本地化包和语言都设置为英语,UI 界面元素在美式英语 Windows 7 Enterprise 上似乎使用不同的字体。在 WinForms 代码隐藏中,FontFamily 未明确定义并依赖于默认值。

英语:

English

中文:

Chinese

几个问题:

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

FWW:

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

最佳答案

如果你没有对你的字体做任何事情,默认的字体回退机制可能会使用 SimSun作为标准字体的字体替换。

之所以更换字体,是因为中文操作系统的默认字体需要显示汉字。当然,由于尺寸太大,MS Sans Serif 没有定义中文字形。

为避免此问题,您可能希望在资源文件中“硬编码”字体信息——通常简单的大小修改(即设置 9 而不是 8.25)会有所帮助。请注意,如果你这样做,中文字符可能会出现损坏——如果我没记错的话,它将完全关闭字体回退机制。它可能适用于不会被翻译成中文的“静态”UI 元素,但对于允许用户输入自由格式文本的文本框和类似控件来说是完全 Not Acceptable 。

与其解决渲染问题,不如顺其自然。我相信中国用户只是习惯了这种特定的外观和感觉。

关于c# - Microsoft Sans Serif 字体未在中文本地化 Windows 中使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7043904/

相关文章:

c# - .Net 4 JumpTask 禁用 "Remove from this list"

c# - 如何建模对象以随时间跟踪设备/ Assets ?

c# - Visual Studio/Oracle 驱动程序帮助

c# - VS中Azure函数本地开发找不到函数

visual-studio - 在 Windows 7 上安装 VS 2008 Team Developer

windows-7 - 从应用程序内访问 Win 7 上的 HKLM 注册表分支

C# WPF - 任务与多线程,以及从中更新 UI 组件

C# WinForms trayapp MenuItem 鼠标悬停检测

vb.net - 如何选择绑定(bind)到 DataTable 的 Datagridview 中的可见列

c# - 如何在 C# 中绘制二维等高线图?