انجمن‌های فارسی اوبونتو

لطفاً به انجمن‌ها وارد شده و یا جهت ورود ثبت‌نام نمائید

لطفاً جهت ورود نام کاربری و رمز عبورتان را وارد نمائید

اوبونتو ۲۶٫۰۴ «راکون ثابت‌قدم» با پشتیبانی بلند مدّت منتشر شد 🎊

نویسنده موضوع: تنظیم فونت فارسی خاص برای محیط میزکار  (دفعات بازدید: 58 بار)

0 کاربر و 1 مهمان درحال مشاهده موضوع.

آفلاین seyal

  • Full Member
  • *
  • ارسال: 114
تو بعضی از توزیع‌ها که 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
و تمام.
الان برنامه‌ای رو که دارید ببندید و بعد اجرا کنید می‌تونید این تغییر رو در اون مشاهده کنید(در اکثر برنامه‌ها).