为什么不能根据语言设置字体?

为什么不能根据语言设置字体?

操作系统和桌面环境信息:

uname -a
Linux debian 5.10.0-18-amd64 #1 SMP Debian 5.10.140-1 (2022-09-02) x86_64 GNU/Linux
sudo dpkg -s lxde | grep Version
Version: 11
sudo dpkg -s lxappearance | grep Version
Version: 0.6.3-1+b1

以下设置是我的字体配置$XDG_CONFIG_HOME/fontconfig/fonts.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "urn:fontconfig:fonts.dtd">
<!-- $XDG_CONFIG_HOME/fontconfig/fonts.conf for per-user font configuration -->
<fontconfig>    
<dir prefix="xdg">fonts</dir>    
<match target="font">
    <edit name="rgba" mode="assign"><const>rgb</const></edit>
</match>
<match>
    <test name="lang" compare="eq">
        <string>en_US</string>
    </test>
    <edit name="family" mode="assign">
        <string>Hack</string>
    </edit>
</match>    
<match>
    <test name="lang" compare="eq">
        <string>zh_CN</string>
    </test>
    <edit name="family" mode="assign">
        <string>Noto Sans CJK SC</string>
    </edit>
</match>
</fontconfig>

我的目标是当语言为英语时Hack使用(编码器经常使用的一种字体)渲染字符,当语言为中文时使用渲染字符。你看我已经在终端中设置为默认字体。https://github.com/source-foundry/HackNoto Sans CJK SCHack

在终端中设置

现在我在终端中输入一些英文字符和中文字符,你可以看到英文字母是通过Hack字体呈现的。我确信中文单词没有按预期呈现,事实并非如此Noto Sans CJK SC

在终端中输入字符

字体中的单词Noto Sans CJK SC应如下所示:

证明——这个词在我的终端中不是由 Noto Sans CJK SC 渲染的

奇怪的字体是什么?如何解决?

相关内容