怎样解决 Telegram Desktop 在 Windows 下中文字体显示不正常的问题?

Update 为了方便大家(也为了方便自己)直接下载这个文件解压放到Telegram文件夹就好了:https://iamcristye.github.io/assets/Installing-Windows/TelegramFont.zip

找到了一个不错的解决方案:https://github.com/ysc3839/FontMod
教程1:为CJK用户的Telegram字体补丁 - 专栏
教程2:为 Windows 用户的 Telegram 字体补丁
教程3:为Telegram Desktop替换字体
另外,在英文系统中使用需参考Telegram now uses Open Sans · Issue #3 · ysc3839/TGFont

■网友
必须安利一波这个项目:ysc3839/TGFont 简单好用效果好
原答案:
【怎样解决 Telegram Desktop 在 Windows 下中文字体显示不正常的问题?】 这个估计不好修。
这个问题,在英文win下用过firefox的都会有过感受,没有指定语言的中文网页会fallback到日文字体导致扭曲。
解决方案最早是利用firefox的隐藏选项,将中文加入到accept-lang里提示可以fallback到中文字体,后来某个版本不灵了以后,就只好强改默认日文字体到雅黑,反正我几乎不看日文(也看不懂)。当然这个问题用中文系统时不会有,因为会默认fallback到系统语言的字体上。
telegram官方不修应该也是同样的原因,要解决这个问题需要实现一个很复杂的多语言字体fallback系统,而中国是已经屏蔽了telegram的,因此用户量和推特中文圈一样可以忽略不计(值得一提的是推特会主动把中文内容识别成日文并添加lang=ja)
我的做法是使用网页版,反正功能是完全一样的。

■网友
中文win10系统下是没有这个问题的,中文字体会显示为宋体,虽然不如雅黑效果好但可以忍了。在我的另外一台英文win10的电脑上就出现了楼主的这个问题,实际上,这台电脑系统界面的中文时也是用日语字体显示的,例如资源管理器中的中文文件名。很奇怪的是,把这台电脑的系统语言改成中文后,系统界面的中文字体就变成了雅黑,一切正常,但telegram还在继续使用日文字体。使用这篇文章中提及的方法可以在不更改系统语言的情况下解决中文字体的问题:解决英文版Windows中中文字体难看的问题_Kaedei_新浪博客但这个方法依然对于telegram无效。唯一有效的方法是@ayanamist 所说的强改日文字体为雅黑。具体方法是:中把日语字体"MS Gothic \u0026amp; MS UI Gothic \u0026amp; MS PGothic (TrueType)"="msgothic.ttc"改成“msyh.ttc”(我的这台电脑上只有这一个日语字体,如果安装了其他的日语字体是否都要更改就不知道了)然后重启电脑。此时telegram虽然百般不情愿地弃用了日语字体,但仍然用的是宋体而不是雅黑,这是为啥我就实在弄不懂了。
■网友
这个问题已有解。David Huang 有一个把 Telegram 和一个精心调配好的 MacType 精简版打包的 bundle。我不方便提供下载点,如何获得请打听打听。如果是 Linux 也有这个问题的,可以使用 Fontconfig 配置文件 GitHub - m13253/fonts.conf: My personal fonts.conf collections ,需要装 OTF 版(而不是 TTC 版)Noto Sans CJK 字体。另外这不是 Telegram 的错,Qt 有一个字体匹配的bug,Telegram 只是不小心踩上去了而已。(有这个 bug 的 Qt 程序很多的来着)
■网友
开源的啊,你可以去推 PR……


    推荐阅读