实在无法忍受Linux丑陋的默认字体,现在成功更换了终端和大多数应用的字体,但是试了很多办法还是无法更换微信的字体。
更换字体的正确姿势是什么,有没有大佬分享一下自己的配置
实在无法忍受Linux丑陋的默认字体,现在成功更换了终端和大多数应用的字体,但是试了很多办法还是无法更换微信的字体。
更换字体的正确姿势是什么,有没有大佬分享一下自己的配置
在我的电脑上,我抓了个包发现微信使用的是 NotoSans 字体:
$ strace -f /opt/wechat |& grep ttf
...
access(“/usr/share/fonts/noto/NotoSans-Regular.ttf”, R_OK) = 0
问了一下 gpt 这可能是 linux 自动匹配的机制。我运行 fc-match 确实会显示 Noto Sans
$ fc-match sans-serif
NotoSans-Regular.ttf: "Noto Sans" "Regular"
似乎可以调整 ~/.config/fontconfig/fonts.conf 来改变 fc-match 的结果。详情参考 ChatGPT 的对话:https://chatgpt.com/share/69a11002-0c4c-800b-b32e-906436786ea6
太强了黄佬\o/
微信现在是走的什么, wine吗, 还是gtk之类的
我其实曾经也想换微信的这个,但是微信的坑实在太多了(比方说我的语音输入法在linux微信上就没办法正常用, 除了微信,几乎任何地方都能用,包括qq, 终端)
而qq, 浏览器啥的有的是走gtk, 所以只要改GTK的设置就行
搞定了,放一个完整的步骤供大家参考:
wget https://github.com/lxgw/LxgwWenKai/releases/download/v1.521/lxgw-wenkai-v1.521.tar.gz
tar -zxvf lxgw-wenkai-v1.521.tar.gz
sudo mkdir -p /usr/share/fonts/truetype/lxgw-wenkai
sudo cp lxgw-wenkai-v1.521/*.ttf /usr/share/fonts/truetype/lxgw-wenkai/
sudo fc-cache -fv
这时候有些应用的字体可能已经生效了,但是终端和大多数的应用没有更换字体。
这一步是为了把系统菜单、设置界面、文件夹窗口等表面的字体换掉。
安装“优化”工具 (GNOME Tweaks)。在终端中运行:
sudo apt update
sudo apt install gnome-tweaks
安装完成后,在你的应用列表中搜索 “优化” (或 Tweaks),打开它。
在左侧菜单点击 “字体” (Fonts)。
在右侧,你会看到“界面文本”(Interface Text)、“文档文本”(Document Text) 等选项。在这里选择你刚刚安装的字体。
做完第二步,你会发现系统界面变了,但有些顽固的应用里的中文还是没变。这是因为它们调用的是系统的“默认泛型字体”(如 sans-serif),我们需要去底层截胡。
在终端中新建或编辑全局字体配置文件:
sudo nano /etc/fonts/local.conf
编辑 local.conf 内容为如下 XML 代码,同样一落霞文揩为例: (这段代码的意思是:遇到英文依然用 Ubuntu 默认字体,但只要是中文,强制第一顺位使用落霞文楷)
XML
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test name="lang" compare="contains">
<string>zh</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>LXGW WenKai</string>
</edit>
</match>
<alias>
<family>sans-serif</family>
<prefer>
<family>Ubuntu</family> <family>LXGW WenKai</family> </prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Ubuntu</family>
<family>LXGW WenKai</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Ubuntu Mono</family>
<family>LXGW WenKai Mono</family>
</prefer>
</alias>
</fontconfig>
刷新一次字体缓存使规则生效:
sudo fc-cache -fv
最后重启电脑,终于舒服了