تو بعضی از توزیعها که Fresh Install انجام میدیم
مشکلی که وجود داره اینه که فونت فارسی پیشفرضی که استفاده میشه Deajavu با ظاهر قدیمی و نازیبا برای کاراکترهای فارسی هست
تو اوبونتو این مشکل نیست و فونت فارسی پیشفرض وزیرمتن هست که فونت زیبایی هست
اما توی لینوکس مینت و فدورا که امتحان کردم این مشکل برقرار بود و حس میکردی سیستم با فارسی سازگاری خوبی نداره
و این نازیبایی فونت خیلی در تجربه کاربری تاثیر میزاره
پس از انجام این تغییرات تونستم این مشکل رو حل کنم:
از یک فونتی استفاده میکنم که پیشفرض در اکثر توزیعها نصب است. شما اگه خواستید بعدا به وزیرمتن تغییرش بدید
اول ببینیم که اسم دقیق این فونت همین هست و داریمش یا نه:
fc-list -f '%{family}\n' | sort -u | grep -i 'Noto Sans Arabic'تو خروجی باید این رو ببینید:
Noto Sans Arabic
اما خوب این نسخش زیاد به درد ما نمیخوره و باید از نسخه UI اون استفاده کنیم که تجربه خوبی رو داشته باشیم
نصب نسخه UI:
sudo dnf install google-noto-sans-arabic-ui-fontsچک کردن این که نصب شده و اسم فونت رو هم با همون دستور بالا انجام بدید
تو این مرحله میریم که تنظیمات این فونت رو برای اعمال سراسری برای کاراکترهای عربی و فارسی در سیستم بنویسیم
ابتدا این فایل متنی رو تشکیل بدید:
nano ~/.config/fontconfig/conf.d/30-persian-arabic.confو این محتویات رو داخل اون قرار بدید:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<!-- Applications that provide script information -->
<match target="pattern">
<test name="script">
<string>arab</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans Arabic UI</string>
</edit>
</match>
<!-- Applications that only provide language -->
<match target="pattern">
<test name="lang" compare="contains">
<string>fa</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans Arabic UI</string>
</edit>
</match>
<match target="pattern">
<test name="lang" compare="contains">
<string>ar</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans Arabic UI</string>
</edit>
</match>
</fontconfig>
پس از ذخیره فایل این کامند رو اجرا کنید که فونتها دوباره ساخته بشن:
fc-cache -f
مطمئن بشید که فایل لود شده:
fc-conflist | grep 30-persian-arabic
و اینکه فونت اعمال شده:
fc-match 'sans-serif:lang=fa'
fc-match 'sans-serif:lang=ar'
برای اینکه برای برنامههای فلتپک هم اعمال بشه این دستور رو اجرا کنید:
flatpak override --user --filesystem=xdg-config/fontconfig:ro
و تمام.
الان برنامهای رو که دارید ببندید و بعد اجرا کنید میتونید این تغییر رو در اون مشاهده کنید(در اکثر برنامهها).