跳至主要內容

[清单] 向(中易)宋体说再见!

Bob Yue原创字体清单Windows字体用户界面大约 2 分钟

(中易)宋体,即 SimSun 在很长一段时间内是 Windows 系统默认的中文字体,其小号点阵字型保证了复杂的汉字在小屏幕上的清晰显示。但是,随着字体渲染技术和高分屏的发展,宋体的优势基本不存在。在 Windows Vista 之后,微软将默认字体改为了微软雅黑。

然而,由于部分软件的设计原因,它们仍然会优先调用宋体,而不是微软雅黑。多数情况下,其原因在于注册表中,仍有部分键值为宋体,或者宋体位于微软雅黑之前。

本文将介绍如何将宋体的优先级降低,从而避免部分软件仍然调用宋体。

1. 字体映射表

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink

Unlike font fallback, in which the selected font is internally replaced by a predefined font, in font linking (also called “composite fonts”) it is possible to link one or more fonts (called "linked fonts") to another font (called the "base font"). Once you link fonts, you can use the base font to display code points that do not exist in the base font, but do exist in one of the linked fonts. For example, linking a Hangeul font and a Japanese font to a Tahoma font allows you to display both Korean and Japanese characters while specifying Tahoma font. The Noto family of fonts uses the model to create what appears as a single font by combing script-specific font files.

翻译:

与字体回退不同,字体回退是将所选字体内部替换为预定义字体,而字体链接(也称为“复合字体”)则可以将一个或多个字体(称为“链接字体”)链接到另一个字体(称为“基本字体”)。链接字体后,可以使用基本字体来显示基本字体中不存在,但链接字体中存在的字符。例如,将韩文字体和日文字体链接到 Tahoma 字体,可以在指定 Tahoma 字体的同时显示韩文和日文字符。Noto 字体系列使用该模型来创建看起来像单个字体的字体,通过组合特定于脚本的字体文件。

在绝大多数情况下,软件调用的字体是 Microsoft Sans Serif,而对应的字体链接表中,SIMSUN.TTC,SimSun 位于 MSYH.TTC,Microsoft YaHei UI 之前,因此优先调用宋体。

SIMSUN.TTC,SimSun 移至 Microsoft Sans Serif 的字体链接表的尾部,即可避免宋体的优先级过高。

此外,Tahoma 等项也可以类似地进行修改。

2. 图形渲染引擎 (GRE) 的初始化项

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\GRE_Initialize

GUIFont.Facename = SimSun,导致 SimSun 优先于 Microsoft YaHei UI 被调用。

将其改为 Microsoft YaHei UI,即可避免 SimSun 的优先级过高。

此更改对于 qBittorrent 等有效。

上次编辑于:
贡献者: BobYue-01