不同语言(英语和波斯语)使用不同的字体

不同语言(英语和波斯语)使用不同的字体

我经常使用英语和波斯语(Farsi)在我的日常使用中。我想为它们分别设置不同的字体,

也就是说,我想使用约瑟夫卡英语萨赫勒波斯语。据我所知,支持双向性的少数终端仿真器之一是控制台。所以我使用它,它确实能正确显示波斯字母。

维基百科,建议使用字体配置。因此我创建了这个配置文件,位于~/.config/fontconfig/fonts.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
        <test name="lang" compare="contains">
                <string>ar</string>
        </test>
        <alias>
                <family>sans-serif</family>
                <prefer>
                        <family>Sahel</family>
                </prefer>
        </alias>
</match>
</fontconfig>

并且我已确保字体已安装:

❯ fc-list | grep "Sahel.ttf"
/home/amir/.fonts/sahel-font/dist/Sahel.ttf: Sahel:style=Regular

但它不起作用:

在此处输入图片描述

它看起来应该是这样的:

在此处输入图片描述

但这样一来,英文文本也会被设置成 Sahel 字体,不太好看。

我还确保在对 进行更改时退出 X 会话fonts.conf。我该如何修复此问题?

答案1

抱歉,我来不及回答您的问题,但我有一个解决方案。您的字体的问题在于它被认为是“阿拉伯语”而不是波斯语。要解决这个问题,只需在您的 fonts.conf 中添加这行小代码:

      <match>
      <test name="lang" compare="contains"><string>fa</string></test>
      <edit name="lang" mode="assign" binding="same"><string>ar</string></edit>
      </match>

我希望你能看到这个(尽管我晚了 3 年:D)

相关内容