为 Telegram Desktop 替换字体

注意!Telegram Desktop 2.1 版本起,其使用的 desktop-app/lib_ui 库开始默认使用 Microsoft YaHei 作为 fallback 字体,你可能只需要更新客户端就能解决问题,但你仍可以使用本文的方法替换字体。

Telegram Desktop 的字体一直让人诟病,有人选择用 MacType 解决问题,但我个人并不想用这种软件,所以一直忍受着屎一样的字体...
终于,在今天偶然的吐槽中得到了一个很不错的解决方案,先看看效果吧:

替换前:
替换前


替换后:
替换后


是不是顺眼多了?使用也很简单:
下载FontMod.dll,重命名为winmm.dll,放入 Telegram Desktop 的根目录内,最后重启一下客户端即可生效
(如果你没有更改客户端默认安装位置,直接在资源管理器地址栏输入 %APPDATA%\Telegram Desktop 即可)


重启客户端之后你会在根目录看到一个FontMod.yaml,默认配置会把 SimSun 替换成 Microsoft YaHei,当然也可以修改配置来替换其他字体:

  • key ("SimSun"):要修改的字体名称。
  • replace/name:要替换成的字体名称。
  • size width weight italic underLine strikeOut charSet outPrecision clipPrecision quality pitchAndFamily:覆盖原始字体样式,请参见 MSDN 文档,如果不想覆盖可以把这些项删除。
  • fixGSOFont:替换 GetStockObject 字体,若设为 true 则会使用 SystemParametersInfo 获取系统字体。
  • debug:调试模式,会记录相关信息到 FontMod.log

FontMod 是一个修改 Win32 程序字体的简单的 hook 工具,可用于一些基于 GDI 或者 Qt 的程序。
注意!不同 版本/语言 的 Windows 字体名可能不一致。

以上就是无痛替换字体的方法了,感谢谦谦的推荐,终于解决了一个心头大患(╯°Д°)╯︵

标签: Telegram 字体


已有 20 条评论
  1. caimi caimi

    我是 win7 64 位 , 升了 2.1 之后 , 感觉字体变了 , 又升了 2.1.2 字体丑哭了 , 原来我没有替换字体 , 也不知道是默认哪个字体 , 降回 2.1 了 ,2.1.2 真的不习惯 , 字体丑 , 还加黑 ...

  2. 日薄西山 日薄西山

    1080 的屏换完后更瞎了

    1. 这个是系统缩放的问题

  3. 托尼 托尼

    谢谢件件

  4. msxcms msxcms

    拯救了我的高分屏

  5. 搞定,完全没问题。Win10 Pro. zh_CN

  6. Dokuro Dokuro

    该死,我怎么就不早点谷歌一下呢,忍受了那 zz 字体那么久

  7. NanoNova NanoNova

    这个 UWP 是不是不行

  8. jacky jacky

    不支持 方正兰亭圆_GBK_中 这类字体 提示 string 非法编码

  9. stayRay stayRay

    win10中文版,重启 Telegram 之后并没有生成 json 文件,字体也没有修改成功。怎么破

    1. 重命名dll了吗

      1. stayRay stayRay

        我可以直接把你上面的 Json 的内容创建一个文件放到根目录吗

        1. stayRay stayRay

          试了一下并不管用。

      2. stayRay stayRay

        是的,重命名过了。

  10. Jaleo Jaleo

    多谢分享!
    经过测试,中英文系统下的方法有点不一样。
    Win10 中文版:winmm.dll放入目录,运行TG,自动生成TGFont.json,默认把宋体更换成雅黑了。
    不需要额外设置,直接可以显示完美的雅黑字体了。

    Win10 英文版:winmm.dll放入目录,同时编辑TGFont.json,和博主的代码不同,Open Sans替换成Segoe UI,去掉Open Sans Semibold的替换代码。
    这样英文系统下TG显示的中英文字体才会和中文系统下的一模一样。

  1. 1
  2. 2

添加新评论