Как установить один арабский шрифт для засечек и другой арабский шрифт для без засечек в Ubuntu 22.10?

Как установить один арабский шрифт для засечек и другой арабский шрифт для без засечек в Ubuntu 22.10?

Я хочу, чтобы Ubuntu 22.10 отображал арабский текст с засечками вАрабский шрифт Noto Naskhв то время как арабский текст без засечек вШрифт арабский Noto Sans.

Образец арабского письма Ното Насх.

Образец шрифта Noto Sans Arabic.

Как заставить Ubuntu установить один арабский шрифт по умолчанию для шрифтов с засечками и другой для шрифтов без засечек?

Я хочу, чтобы Ubuntu следовал правилу, по которому, если он видит текст, имя файла гарнитуры которого содержит слова вроде naskh или serif, он отображает весь этот текст в этом конкретном шрифте? А если другая группа слов имеет шрифты с именами файлов, содержащими слова вроде sans или sans-serif, то Ubuntu отображает весь этот текст в арабском шрифте sans-serif по умолчанию?

Результаты 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
    

(и наконец перезагрузка)

Связанный контент