我经常使用英语和波斯语(Farsi)在我的日常使用中。我想为它们分别设置不同的字体,arch-linux。
也就是说,我想使用约瑟夫卡英语萨赫勒波斯语。据我所知,支持双向性的少数终端仿真器之一是控制台。所以我使用它,它确实能正确显示波斯字母。
从维基百科,建议使用字体配置。因此我创建了这个配置文件,位于~/.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)