本文使用的 telegram for windows 版本是 2.7.4

访问这个 github repo

去项目的 releases page 下载最新的 dll 动态链接库文件。看这个 issue

如果你的 telegram 是安装的 64 位,那么就下载 FontMod64.dll

下载好后重命名为 version.dll (或者 winmm.dll) 可以优先尝试 winmm.dll

如果你的tg安装的时候是默认位置的,那么复制该文件到 %APPDATA%\Telegram Desktop,一般就是 C:\Users\你的用户名\AppData\Roaming\Telegram Desktop

如果你安装时更改了tg主程序位置,那么利用 everything 等工具搜一下 telegram.exe 的位置,一般其所在文件夹就是目标位置。

拷贝好之后再次启动 tg,查看tg界面字体是否有变化。如果有那么恭喜,已经生效了。看看主程序目录是否有生成 FontMod.yaml 文件,如果有的话,你可以继续编辑替换的字体了。

如果没有生成 FontMod.yaml,那么很可能是下载的 FontMod.dll 的版本不对,再次尝试一下 32位的~ 还有重命名这个 dll 文件~

如果你的windows系统是英文系统,那么也很可能不会立即生效。

最好的办法就是打开 debug 模式,将 FontMod.yaml 的 debug 字段设置成 true,然后启动 tg 程序,待到日志文件生成——

就可以在主程序目录寻找 log.txt 文件,查看当前程序加载了哪些字体。

比如我的加载了如下这些字体

[2021.07.12 14:43:51] Primary screen DPI: 120
[2021.07.12 14:43:51] Font: from ':/gui/fonts/DAOpenSansRegular.ttf' loaded 'DAOpenSansRegular'
[2021.07.12 14:43:51] Font: from ':/gui/fonts/DAVazirRegular.ttf' loaded 'DAVazirRegular'
[2021.07.12 14:43:51] Font: from ':/gui/fonts/DAOpenSansRegularItalic.ttf' loaded 'DAOpenSansRegularItalic'
[2021.07.12 14:43:51] Font: from ':/gui/fonts/DAVazirRegular.ttf' loaded 'DAVazirRegular'
[2021.07.12 14:43:51] Font: from ':/gui/fonts/DAOpenSansSemiboldAsBold.ttf' loaded 'DAOpenSansSemibold'
[2021.07.12 14:43:51] Font: from ':/gui/fonts/DAVazirMediumAsBold.ttf' loaded 'DAVazirMedium'
[2021.07.12 14:43:51] Font: from ':/gui/fonts/DAOpenSansSemiboldItalicAsBold.ttf' loaded 'DAOpenSansSemiboldItalic'
[2021.07.12 14:43:51] Font: from ':/gui/fonts/DAVazirMediumAsBold.ttf' loaded 'DAVazirMedium'
[2021.07.12 14:43:51] Font: from ':/gui/fonts/DAOpenSansSemiboldAsBold.ttf' loaded 'DAOpenSansSemibold'
[2021.07.12 14:43:51] Font: from ':/gui/fonts/DAVazirMediumAsBold.ttf' loaded 'DAVazirMedium'
[2021.07.12 14:43:51] Font: from ':/gui/fonts/DAOpenSansSemiboldItalicAsBold.ttf' loaded 'DAOpenSansSemiboldItalic'
[2021.07.12 14:43:51] Font: from ':/gui/fonts/DAVazirMediumAsBold.ttf' loaded 'DAVazirMedium'

当前我的系统中,telegram启动后加载的字体是这些

  • DAOpenSansRegular
  • DAVazirRegular
  • DAOpenSansRegularItalic
  • DAOpenSansSemibold
  • DAVazirMedium
  • DAOpenSansSemiboldItalic

那么我的 FontMod.yaml 需要改成下面这样

style: &style
# Remove '#' to override font style
#  size: 0
#  width: 0
#  weight: 0
#  italic: false
#  underLine: false
#  strikeOut: false
#  charSet: 0
#  outPrecision: 0
#  clipPrecision: 0
#  quality: 0
#  pitchAndFamily: 0

fonts:
  DAOpenSansRegular: &zh-cn-font # Chinese (Simplified) fallback font
    replace: Source Han Sans SC Medium
    <<: *style
  DAVazirRegular: # Chinese (Traditional) fallback font
    replace: Source Han Sans SC Medium
    <<: *style
  DAOpenSansRegularItalic: # Japanese fallback font
    replace: Source Han Sans SC Medium
    <<: *style
  DAOpenSansSemibold: # Korean fallback font
    replace: Source Han Sans SC Medium
    <<: *style
  DAVazirMedium:
    replace: Source Han Sans SC Medium
    <<: *style
  DAOpenSansSemiboldItalic:
    replace: Source Han Sans SC Medium
    <<: *style

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

关键部分

fonts:
  DAOpenSansRegular: &zh-cn-font # Chinese (Simplified) fallback font
    replace: Source Han Sans SC Medium
    <<: *style
  DAVazirRegular: # Chinese (Traditional) fallback font
    replace: Source Han Sans SC Medium
    <<: *style
  DAOpenSansRegularItalic: # Japanese fallback font
    replace: Source Han Sans SC Medium
    <<: *style
  DAOpenSansSemibold: # Korean fallback font
    replace: Source Han Sans SC Medium
    <<: *style
  DAVazirMedium:
    replace: Source Han Sans SC Medium
    <<: *style
  DAOpenSansSemiboldItalic:
    replace: Source Han Sans SC Medium
    <<: *style

我都将这些字体改成了 思源黑体简体中文 Medium 字重

思源黑体

思源黑体指路,Source Han Sans

20210712150514.png

建议选择 Language-specific OTFs Simplified Chinese (简体中文) 版本下载安装

安装前后对比分享

20210712150702.png

安装前

20210712150628.png

安装后。思源黑体简体中文 Medium 字重。改变还是蛮大的

最后楼主还是改成了微软雅黑,(Microsoft YaHei),效果如下

1626074036(1).png

感觉雅黑渲染出来更好看

fondmod.yaml fonts 的配置如下

fonts:
  DAOpenSansRegular: &zh-cn-font # Chinese (Simplified) fallback font
    replace: Microsoft YaHei
    <<: *style
  DAVazirRegular: # Chinese (Traditional) fallback font
    replace: Microsoft YaHei
    <<: *style
  DAOpenSansRegularItalic: # Japanese fallback font
    replace: Microsoft YaHei
    <<: *style
  DAOpenSansSemibold: # Korean fallback font
    replace: Microsoft YaHei
    <<: *style
  DAVazirMedium:
    replace: Microsoft YaHei
    <<: *style
  DAOpenSansSemiboldItalic:
    replace: Microsoft YaHei
    <<: *style

最后,改成你喜欢的字体之后建议把 debug 改回 false 重新启动 tg 客户端。

如果还有其他的疑问,请看下面相关链接或google解决或在本文下面留言。

相关链接

end.