分享一些自己修改制作的字体,并替换系统字体
dddzdds
2023年11月08日 01:27

我从 19 年开始陆续有修改一些字体替换掉 Windows 的系统字体,下图是我改过的所有字体,都是用 FontCreator 修改的,除了有一个点阵字体用到 FontForge 来合成 BDF 文件。

因为这篇文章是我偶尔想到才随便写下来的,所以只列出一些修改后的截图来展示,没有和原来的对比。


以下是替换系统字体后的效果:

  • Windows 11 新增的 Segoe UI 可变字体被改成 Inter Display,修改可变字体有点复杂,我用了将近一天时间研究并测试。该字体被大部分 UWP 程序使用,如开始菜单任务栏、新设置面板、应用商店,字体文件名是 SegUIVar.ttf,在用户目录 AppData\Local\Microsoft\Windows\Fonts 里也有一份,需要一并替换。

  • 默认英文 UI 字体 Segoe UI 被替换成安卓默认字体 Roboto。我觉得 Segoe 字体设计过时,在 Windows Vista、7 的拟物时代是很搭的,但在 Windows 8、10 的平面风格之后很违和,特别在高分屏上显得笔画粗细不一,有低廉感。我在 19 年学会修改字体后的第一时间就换了这套字体。Roboto 的缺点是过于方正,现在在安卓上看腻了,觉得 Inter 更好看,但懒得改了。

  • 菜单字体改成诺基亚塞班默认字体 Nokia Sans S60,影响桌面右键菜单、大部分程序菜单,例如 Chrome 的菜单。只需改一下注册表,可用 Winaero Tweaker 来设置。

  • Tahoma 替换成 Ubuntu,没有修改文件,将注册表 HKLM\Software\Microsoft\Windows NT\CurrentVersion\FontSubstitutes 里的 MS Shell Dlg 和 MS Shell Dlg 2 更改即可。影响到一些旧式应用的设置窗口,比如“系统属性”。

  • HKLM\Software\Microsoft\Windows NT\CurrentVersion\GRE_Initialize 里的 GUIFont.Facename 被我改成 DejaVu Sans Cond,中文 Windows 这里是宋体。这是大部分 Qt 程序的默认字体,网上已经有很多问题问一些 Qt 写的应用如 Telegram、Mendeley、VirtualBox 为什么字体那么丑,就是中文系统的锅。

  • 可以看到下图用 Qt 写的 SQL 编辑器界面字体都变成了我改的 DejaVu Sans Cond。


以下是我大幅度修改的字体:

  • 可能有不少人知道安卓 2.3 时期的默认中文 Droid Sans Fallback 字体是文泉驿微米黑,实际上是华康黑体-A 和 Droid Sans 的结合。该字体优点是在 2.3 时代低分辨率屏下显示清晰好看,现在看华康黑体有种很特别的时代感,但不丑,可惜没有粗体。我找了很久终于在字客网下载到华康黑体-A 的粗体字,然后和 Droid Sans 粗体缝合一下,顺便添加了韩文、拉丁扩展、CJK 扩展 B,就制作出了微米黑粗体。

  • 我用 Ubuntu Mono 和思源黑体旧字形缝合出了“Faltu Mono”等宽字体,作为 HKLM\System\CurrentControlSet\Control\FontAssoc 里的回退字体和脚本字体,用 Ubuntu Mono 的原因是它是少见的宽度是一半,可以和中文完美匹配,另一个著名的半宽字体是 Iosevka,Ubuntu 还有一个优点是支持关闭字体平滑时的正常显示。

  • 最后一个是我的缝合的最复杂的字体,用来替换等宽的宋体 SimSun。当初设计中易宋体的和决定采用宋体作为 Windows 默认简中的都是大罪人,对比一下其他亚洲字体如 Gulim、MS Gothic、MingLiU,它们都是非等宽和等宽组合的,平常用到非等宽,只有在命令行下或其他需要才用到等宽,而宋体全是等宽,这会造成什么后果网上已经讨论了几十年。

  • 我制作的字体,矢量部分,英文用了 Dotum(后来嫌丑改成 Lucida Sans Unicode 并手动修改缩短了有突出的上下部分以符合宋体的 Ascent 和 Descent 设定),中文用了索尼阅读黑,该字体有喇叭口设计,而且是旧字形。

  • 点阵字体,包含 8px 到 16 px,英文用了 Dotum,中文用的是明兰字体提取的和 Dotum 里 12px、14px的旧字形缝合,两者 Bearing 不匹配还得自己手动修改,从 20 年到最近完善了 4 次以上。

  • 这是用到的 BDF 文件:

  • 这是使用效果:

  • 大于 16px 就会变回矢量字体:


以上便是我所修改的大部分字体了,要是这篇文章有缘有站友看到并留言需要的话我会附上下载链接。