Saya di Arch Linux, Deepin Desktop. Saya menggunakan Noto Serif sebagai font standar saya, tetapi saya tidak suka karakter bahasa Arabnya. Jadi tujuan saya adalah menggunakan font lain hanya untuk karakter arab.
Inilah yang saya coba. Saya membuat file konfigurasi baru /etc/fonts/conf.d/
dengan konten berikut:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test name="lang" compare="contains">
<string>ar</string>
</test>
<test qual="any" name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Naskh Arabic</string>
</edit>
</match>
<match target="pattern">
<test name="lang" compare="contains">
<string>ar</string>
</test>
<test qual="any" name="family">
<string>serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Naskh Arabic</string>
</edit>
</match>
</fontconfig>
Saya kemudian berlari fc-cache -r
. Tapi ini tidak berhasil, font yang sama masih digunakan dan menjalankan fc-match
pengembalian NotoSerif-Regular.ttf: "Noto Serif" "Regular"
seperti sebelumnya.
linux
fonts
fontconfig
deepin
Omar Emara
sumber
sumber
LC_CTYPE
kategori lokal)?99-bangla.conf
dalam~/.config/fontconfig/conf.d
direktori. Sepertinya saya mendapatkan default saat dijalankanLANG=bn fc-match
. Tetapi google chrome masih memilih font lainJawaban:
Banyak font Noto melaporkan ke sistem bahwa mereka mendukung skrip Arab, yang mereka lakukan — sebagian. Salah satu font ini adalah font Urdu , dan untuk alasan apa pun ia memiliki prioritas di atas font lain yang mendukung Script Arab.
Anda dapat memilih font tertentu daripada yang lain sebagai berikut:
Semakin tinggi posisi font, semakin disukai. Dalam hal ini, kami lebih suka
Noto Naskh Arabic
daripada font tulisan Arab lainnya.Anda dapat melakukan ini tentu saja dengan bahasa atau font pilihan Anda.
Untuk beberapa alasan, hanya file konfigurasi pengguna yang berfungsi untuk saya, yang terletak di
~/.config/fontconfig/fonts.conf
. Perhatikan bahwa$XDG_CONFIG_HOME
variabel lingkungan harus diatur ke.config
direktori Anda di direktori home Anda, jadi$HOME/.config
.Anda kemudian harus membangun kembali konfigurasi agar bisa berfungsi menggunakan
fc-cache
. Hanya aplikasi yang baru diluncurkan yang akan ditampilkan dengan konfigurasi baru. Mulai ulang server X atau Desktop Anda agar perubahan diterapkan secara global.Sunting: Jika Anda cocok dengan
ar
lokal yang tidak berfungsi di semua situs web, karena beberapa situs web menggunakanen
lokal saat menampilkan karakter UTF-8 Arab.Jika Anda pergi ke
/etc/fonts/conf.d
dan membacaREADME
dan kemudian membaca file konfigurasi yang dimulai dengan[30-40]
Anda akan tahu bahwa ini adalah jawaban yang tepat.Jika mengatakan sebuah situs web meminta font Serif; fontconfig memeriksa daftar ini, pertama hingga
Noto Serif
, ketika menemukan karakter Arab, ia beralih ke font kedua dalam daftar -Noto Naskh Arabic
- dan menemukan bahwa font tersebut mendukung skrip Arab, sehingga digunakan.sumber
<string>Noto Naskh Arabic</string>
ke~/.config/fontconfig/conf.d/99-deepin.conf
file melakukan pekerjaan.