如何在 Ubuntu 22.10 上安装一种用于衬线的阿拉伯字体和另一种用于无衬线的阿拉伯字体?

如何在 Ubuntu 22.10 上安装一种用于衬线的阿拉伯字体和另一种用于无衬线的阿拉伯字体?

我希望 Ubuntu 22.10 在Noto Naskh 阿拉伯字体而无衬线阿拉伯语文本Noto Sans 阿拉伯字体。

诺托纳斯赫阿拉伯语样本。

Noto Sans Arabia 的样本。

如何让 Ubuntu 安装一个默认的阿拉伯字体作为衬线字体,另一个作为无衬线字体?

我希望 Ubuntu 遵循一条规则,如果它看到文本的字体文件名包含 naskh 或 serif 等字词,它会以该特定字体显示所有文本?如果另一组字词的字体文件名包含 sans 或 sans-serif 等字词,那么 Ubuntu 会以默认的无衬线阿拉伯字体显示所有文本吗?

结果fc-match -a | head -10

NotoSansArabicUI-Regular.ttf: "Noto Sans Arabic UI" "Regular"
NotoSans-Regular.ttf: "Noto Sans" "Regular"
NotoSans-Bold.ttf: "Noto Sans" "Bold"
NotoSans-Italic.ttf: "Noto Sans" "Italic"
NotoSans-BoldItalic.ttf: "Noto Sans" "Bold Italic"
NotoSansArabicUI-Bold.ttf: "Noto Sans Arabic UI" "Bold"
DejaVuSans.ttf: "DejaVu Sans" "Book"
DejaVuSans-Bold.ttf: "DejaVu Sans" "Bold"
NimbusSans-Regular.otf: "Nimbus Sans" "Regular"
NimbusSans-Regular.pfb: "Nimbus Sans" "Regular"

locale

LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=ar_EG.UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=

答案1

Ubuntu 的字体配置就是为此准备的。

首先,您需要安装这些软件包:

sudo apt install fonts-noto-core fonts-noto-ui-core

然后有两种方法可以实现所需的行为:

  1. 通过安装阿拉伯语语言支持并选择阿拉伯语作为显示语言。

  2. 如果您不想将阿拉伯语作为显示语言,您可以生成一些阿拉伯语语言环境并将其分配给LC_CTYPE环境变量:

    sudo locale-gen ar_EG.UTF-8
    sudo update-locale LC_CTYPE=ar_EG.UTF-8
    

(最后重启)

相关内容