Я хочу, чтобы Ubuntu 22.10 отображал арабский текст с засечками вАрабский шрифт Noto Naskhв то время как арабский текст без засечек вШрифт арабский Noto Sans.
Как заставить 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
Тогда есть два способа добиться желаемого поведения:
Установить арабский язык черезПоддержка языкови выберите арабский язык в качестве языка отображения.
Если вы не хотите использовать арабский язык в качестве языка отображения, вы можете сгенерировать арабскую локаль и назначить ее
LC_CTYPE
переменной среды:sudo locale-gen ar_EG.UTF-8 sudo update-locale LC_CTYPE=ar_EG.UTF-8
(и наконец перезагрузка)