FontMod 是什么?

ysc3839/FontMod 是由 @ysc3839 开发的一个小玩意,可以注入一些 Win32 程序(主要是 Telegram)用以替换掉默认的字体 fallback。通过把原本的 SimSun 替换为微软雅黑,Telegram 的观感一下子提升了不少,对于使用界面缩放的用户也有用。

在这个 Telegram 版本更新以前,喜欢折腾和讨厌难看宋体的用户就是用它来改善 Telegram 的中文观感。FontMod 默认配置使用起来也很简单,下载后放入 Telegram Desktop 目录,把 dll 改名为 winmm.dll 就可以了。

此时,字体规则和刚才所述一致,宋体被替换为微软雅黑等。也就是说,如果你更新到了 Telegram Desktop 2.6.1 版本,且你对于现在的字体感到满意,你可以拿走 FontMod 也不影响字体显示了。

用什么字体呢?

微软雅黑在代码编辑器 / shell 里用都很合适,也是我测试比较了之后个人认为用在 Telegram 上效果也很好的一款字体。

具体配置

这是我的 FontMod.yaml 配置。

# tg 2.1.6
# FontMod 2.0.0.0
# 多 style 配置,增加灵活性

# 聊天、设置(未加粗)、对话的最后一条消息、任务栏未读消息计数
style1: &style1
  size: 20
  # weight: 400

# 输入时格式化成斜体
style2: &style2
  size: 20
  # weight: 400

# UI 中加粗显示的字体、如:列表中好友、群、频道名称;文件夹分类启用后的字体等
style3: &style3
  size: 19
  # weight: 600

fonts:

# style1
# 聊天、设置、最后一条消息、任务栏未读消息
  DAOpenSansRegular: &zh-cn-font # Chinese (Simplified) fallback font
    # replace: PingFangSC-Regular
    replace: Microsoft YaHei
    <<: *style1

# style2
# 输入时格式化成斜体
  DAOpenSansRegularItalic: &zh-cn-font # Chinese (Simplified) fallback font
    # replace: PingFangSC-Regular
    replace: Microsoft YaHei
    <<: *style2

# style3
#  UI 中加粗显示的字体、如:列表中好友、群、频道名称;文件夹分类启用后的字体等
  DAOpenSansSemibold: &zh-cn-font # Chinese (Simplified) fallback font
    # replace: PingFangSC-Regular
    replace: Microsoft YaHei
    <<: *style3

# 不知道是 UI 哪些部位的字体
  # DAVazirRegular: &zh-cn-font # Chinese (Simplified) fallback font
  #   replace: Sarasa Mono SC
  #   # replace: Source Han Sans CN
  #   <<: *style

# 不知道是 UI 哪些部位的字体
  # DAVazirMedium: &zh-cn-font # Chinese (Simplified) fallback font
  #   replace: STCaiyun
  #   # replace: Source Han Sans CN
  #   <<: *style

# 不知道是 UI 哪些部位的字体
  # DAOpenSansSemiboldItalic: &zh-cn-font # Chinese (Simplified) fallback font
  #   replace: Sarasa Mono SC
  #   # replace: Source Han Sans CN
  #   <<: *style

fixGSOFont: false # true is to use system UI font
#fixGSOFont: *zh-cn-font # Or replace with user defined font
debug: false

微软雅黑

如果不考虑等距字体的问题,微软雅黑本身也是支持粗体的。那么,我也可以通过修改 FontMod 来提供中文的粗体支持。只是,我测试了一下,微软雅黑的粗体表现在 Telegram 的字号下简直惨不忍睹:

100% 缩放,微软雅黑粗体

100% 缩放,微软雅黑粗体

这已经可以说是粗得不成样子了,糊到一片很难看。

另外,图上还有一个严重的问题:微软雅黑没有韩文的覆盖(至少我的参测版本 Windows 1909 字体 v6.25 没有),韩文实际上 fallback 到了另外一个字体,显示效果炸裂。

思源黑体

那么,同样是 CJK 字体且名声在外的思源黑体呢?思源黑体同样有等宽家族,可以全部解决问题。但是我的测试结论是:如果你有界面缩放,那么还可以用;如果没有,即 100%,那还是算了吧。看图:

100% 缩放,思源黑体 Medium

100% 缩放,思源黑体 Medium

可以看到 100% 缩放时字体很「虚」,笔画已经模糊不清,严重影响了观感。

这样一对比,高下自判。

但是,说到底,建议买块更好的屏幕(4K + 200% 缩放真香!)。