默认的 tg 中文字体丑的一笔啊。。根本不能看,找到了一片文章: https://milkice.me/2017/05/ubuntu-telegram-cjk-font-optimization/ 但是按照这样禁用两个字体后,字体还是没有变化
和 Windows 版同样的思路,Hook 字体相关的 API,然后换成自己的字体。
不过我不懂 Linux 开发,帮不了你……
去搜索了一下,Qt 在 Linux 下可能用的是 FreeType。所以可以考虑 Hook FreeType,不过前提是动态加载 FreeType 的 so,静态编译进去的话就没办法了。
还可考虑 Hook fopen?
尽量不想重新编译它。。。
https://wiki.archlinux.org/index.php/Font_configuration_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)/>找到了这个,可以试试。
的方案不能确定是否有效。
在 FT_New_Face 下断点,手动修改字体文件名,发现字体是会变的,所以可以使用 Hook 的方案。
搜了一下,Linux 下要 Hook 函数比 Windows 简单得多,直接设置 LD_PRELOAD 环境变量就可以了。
https://blog.netspi.com/function-hooking-part-i-hooking-shared-library-function-calls-in-linux/
找时间写一个试试吧。
https://github.com/ysc3839/TGFont/issues/6#issuecomment-343681260
以前我在 Ubuntu 上用过 tg,发现原因是 tg 静态连接的字体配置库版本太旧,无法与系统的配置文件兼容导致的
解决方法:重新编译 tg,取消静态连接 //tg 客户端应该是开源的吧
有两个方案,一个是我的禁用字体,还有一个是 meto 的调整字体优先级 ( https://i-meto.com/telegram-ibus/),若干个月前在 Ubuntu 16.04 上测试通过,不过之前也有人报告过两个方案均不可行 现在等楼上 出 Linux 版的字体劫持 或者把思源黑体塞入 tg 编译之 后这也是我一开始想尝试的方案不过不知道什么原因似乎失败了