为Telegram Desktop替换字体

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

替换前:
替换前
替换后:
替换后

是不是顺眼多了?使用也很简单:

下载TGFont.dll,重命名为winmm.dll,之后放入Telegram(Desktop)的根目录。
(直接在资源管理器地址栏输入 %APPDATA%\Telegram Desktop )

然后重启一下客户端即可生效,之后你会在根目录看到一个TGFont.json,默认只会把宋体替换成微软雅黑,当然也可以修改TGFont.json来更换其他字体,下面的配置可以替换TG界面上用到的所有字体。

{
    "fonts": {
        "SimSun": {
            "replace": "Microsoft YaHei UI",
            "#size": 0,
            "#width": 0,
            "#weight": 0,
            "#italic": false,
            "#underLine": false,
            "#strikeOut": false
        },
        "Open Sans": {
            "replace": "Microsoft YaHei UI",
            "#size": 0,
            "#width": 0,
            "#weight": 0,
            "#italic": false,
            "#underLine": false,
            "#strikeOut": false
        },
        "Open Sans Semibold": {
            "replace": "Microsoft YaHei UI",
            "#size": 0,
            "#width": 0,
            "#weight": 0,
            "#italic": false,
            "#underLine": false,
            "#strikeOut": false
        },
        "Arial": {
            "replace": "Microsoft YaHei UI",
            "#size": 0,
            "#width": 0,
            "#weight": 0,
            "#italic": false,
            "#underLine": false,
            "#strikeOut": false
        }
    },
    "debug": false
}

replace: 要替换的字体
debug: Debug模式 (将会创建 TGFont.log)
可选参数:
size: 控制字体大小
width: 控制字体宽度
weight: 控制字体字重
italic:是否开启斜体
underLine:是否加入下划线
strikeOut:是否加入删除线

TGFont 开源地址戳我,注意!不同Windows版本的字体名可能不一致。

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

已有 13 条评论
  1. NanoNova NanoNova

    这个 UWP 是不是不行

  2. jacky jacky

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

  3. stayRay stayRay

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

    1. 重命名dll了吗

      1. stayRay stayRay

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

        1. stayRay stayRay

          试了一下并不管用。

      2. stayRay stayRay

        是的,重命名过了。

  4. Jaleo Jaleo

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

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

  5. (。・∀・)ノ゛赞!终于可以丢掉宋体了!

  6. 666,学习了,忍那个难看的字体很久了

添加新评论