如何为不同的字符设置不同的字体?

如何为不同的字符设置不同的字体?

操作系统和桌面信息:

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

我已DejaVu Sans Mono Book在我的操作系统中设置为默认字体。
操作系统中的默认字体

我想知道当字符是汉字时操作系统会调用使用哪种字体?我可以设置一些配置文件来使操作系统调用DejaVu Sans Mono Book英文字符并调用 Noto Sans CJK Sc Regular中文字符吗?

答案1

这是通过使用fontconfig.

基本上,您创建一个match部分,其中包含语言测试,然后提供特定的字体名称。就像是:

<match>
    <test name="lang" compare="eq">
        <string>en_US</string>
    </test>
    <edit name="family" mode="assign">
        <string>DejaVu Sans Mono Book</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>

请查看官方文档,它甚至为您的案例提供了示例 https://www.freedesktop.org/software/fontconfig/fontconfig-user.html

相关内容