لقد طرحت سابقًا موضوع للإستفسار عن كيفية تغيير خط DejaVu للغة العربية الى اي خط أخر بسبب ان الخط قديم جدًا وسيئ وغير جميل
ولكن لم اجد اي تفاعل مع الموضوع للأسف
ولقد بحث قبل مدة عن طريقة ممكنة من فعل ذلك وجددت ملفات conf لعمل اعادة توجيه من خط معين لخط أخر
وجدت موضوع يتحدث عن ذلك في منتدى adslgate باللغة العربية
لكن المشكلة في حل صاحب الموضوع ان التغيير لا يتطبق على كامل النظام والتطبيقات ويقتصر فقط على اشياء بسيطة جدًا مثل قائمة البدء وبعض تطبيقات GTK ولم يعمل الحل في متصفحات WebKit وتطبيق Telegram وبعض الازرار في المتصفح وبعض التطبيقات ايضًا لم ينجح معها الحل فقمت بتعديل الملف حتى وصلت الى نتيجة ان الحل يعمل في جميع المتصفحات والتطبيقات.
لحل المشكلة قم بانشاء ملف جديد في مجلد
/etc/fonts/conf.d/
يحمل الأسم
99-arabic.conf
ويحتوي على التالي
<?xml version='1.0'?>
<!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
<fontconfig>
<!-- Default font (no fc-match pattern) -->
<match>
<edit mode="prepend" name="family">
<string>Noto Sans</string>
</edit>
</match>
<!-- Default font for the ar_SA locale (no fc-match pattern) -->
<match>
<test compare="contains" name="lang">
<string>ar</string>
</test>
<edit mode="prepend" name="family">
<string>Noto Sans Arabic UI</string>
</edit>
</match>
<!-- Default sans-serif font -->
<match target="pattern">
<test qual="any" name="family"><string>sans-serif</string></test>
<!--<test qual="any" name="lang"><string>ar</string></test>-->
<edit name="family" mode="prepend" binding="same"><string>Noto Sans</string></edit>
</match>
<!-- Default serif fonts -->
<match target="pattern">
<test qual="any" name="family"><string>serif</string></test>
<edit name="family" mode="prepend" binding="same"><string>Noto Serif</string></edit>
<edit name="family" mode="append" binding="same"><string>Noto Sans Arabic</string></edit>
<edit name="family" mode="append" binding="same"><string>Noto Sans Arabic UI</string></edit>
</match>
<!-- Default monospace fonts -->
<match target="pattern">
<test qual="any" name="family"><string>monospace</string></test>
<edit name="family" mode="prepend" binding="same"><string>Noto Sans Arabic</string></edit>
<edit name="family" mode="append" binding="same"><string>Noto Sans Arabic UI</string></edit>
</match>
<!-- Default DejaVu Serif fonts -->
<match target="pattern">
<test qual="any" name="family"><string>DejaVu Serif</string></test>
<edit name="family" mode="assign" binding="strong"><string>Noto Sans Arabic</string></edit>
<edit name="family" mode="assign" binding="strong"><string>Noto Sans Arabic UI</string></edit>
</match>
<!-- Default DejaVu Sans fonts -->
<match target="pattern">
<test qual="any" name="family"><string>DejaVu Sans</string></test>
<edit name="family" mode="assign" binding="strong"><string>Noto Sans Arabic</string></edit>
<edit name="family" mode="assign" binding="strong"><string>Noto Sans Arabic UI</string></edit>
</match>
<!-- Fallback fonts preference order -->
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans</family>
<family>Open Sans</family>
<family>Droid Sans</family>
<family>Ubuntu</family>
<family>Roboto</family>
<family>NotoSansCJK</family>
<family>Noto Arabic</family>
<family>Noto Sans Arabic UI</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif</family>
<family>Droid Serif</family>
<family>Roboto Slab</family>
<family>Noto Sans Arabic</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Inconsolatazi4</family>
<family>Ubuntu Mono</family>
<family>Droid Sans Mono</family>
<family>Roboto Mono</family>
<family>Noto Sans Arabic</family>
</prefer>
</alias>
<alias>
<family>DejaVu Serif</family>
<prefer>
<family>Inconsolatazi4</family>
<family>Ubuntu Mono</family>
<family>Droid Sans Mono</family>
<family>Roboto Mono</family>
<family>Noto Sans Arabic</family>
</prefer>
</alias>
<alias>
<family>DejaVu Sans</family>
<prefer>
<family>Inconsolatazi4</family>
<family>Ubuntu Mono</family>
<family>Droid Sans Mono</family>
<family>Roboto Mono</family>
<family>Noto Sans Arabic</family>
</prefer>
</alias>
<dir>~/.fonts</dir>
</fontconfig>
ثم احفظ الملف واعد تشغيل النظام وتهانينا الان تم حل مشكلة اللغة العربية في توزيعتك دون تغيير خط النظام الإفتراضي.
التعليقات
شكرا لك ولكن لدي سؤال علي الهامش
كيف تتحكم في حراره الالوان علي لينكس
الالوان حاره جدا في ububtu
البرتقالي يقترب ان يكون احمر
وال الازرق تحول لبنفسجي
لا اعلم كيفية إصلاح الألوان في بعض التوزيعات وواجعة سطوح المكتب
لكن بإمكانة عن طريق redshift تغيير حرارة الألوان
المستخدم النهائي ليس متفرغاً لقراءة موضوع كهذا، دعك من نسخ ولصق نصوص من الإنترنت لا يعلم موثوقيتها وما إن كانت آمنة أم لا.
بالضبط. الكثير من الأشياء تنقص لينكس لحد الآن. آخر مرة جربت على لينكس على لابتوب احتجت برنامج لضبط touchpad و تفعيل خياراته و لم أجد. الطرق غير الرسومية لضبط الخيارات مضيعة وقت و جهد.
أحد الطرق التي جربتها لتغيير خط النظام قبل سنين هو فتح الخط الإفتراضي للويندوز في أحدى برامج تصميم الخطوط ( مثل fontcreator ) ثم اغير شكل كل حرف بالخط الجديد ثم احفظه فتصبح عندي نسخة بأشكال جديدة ولكن بنفس المعلومات الخاصة بالخط الإفتراضي ثم اعيد تنصيبه ويعمل.
لا ادري إن كان الأمر ينفع في لينكس.
هذه الطريقة كنت استخدمها سابقًا باستخدام برنامج FontForge لكن للأسف هي غير مجدية فيه تقوم بتغيير الخط الافتراضي للنوافذ وبعض التطبيق
ولا تقوم بتغيير خط DejaVu في اغلب التطبيقات مثل التطبيقات التي تعتمد على Webkit ( مثل تطبيقات Electron و Chrome/Chromium ومتصفح Falkon) وتطبيقات Qt مثل تطبيق Telegram
جميل. أنا أواجه مشكلة مع الخطوط في بيئة kde. الخط الافتراضي قبيح جداً كما في الصورة:
هل عندك فكرة عن اسم هذا الخط وهل يمكنني تغييره باستخدام طريقتك؟
كلمة إخطارات لا تستخدم اي خط
اما كلمة "لا إخطارات أو مهامّ" تستخدم خط DejaVu الذي هو تقريبًا مستخدم في اغلب توزيعات لينكس
والحل في الموضوع هذا هو لتغيير هذا الخط بخط DejaVu وتغيير بعض الخطوط الإفتراضية في النظام لدعم اللغة العربية
بخصوص الطريقة هل يجب تنزيل الخطوط التي سنستخدمها ووضعها في فلودر معين ولا هي اصلا موجوده في النظام؟
انا جربت الطريقة ولكنها لم تنفع معي اظن اني طبقتها غلط
ارجو المساعدة
الافضل اضافة الملف التالي الى ذلك المسار
ان لم يكن المسار موجود فبإمكانك توليدة عن طريق mkdir
/etc/fonts/conf.d/
ثم اضف الملف التالي له تحت اسم
/etc/fonts/conf.d/69-language-selector-ar.conf
ومحتواه
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="pattern">
<test qual="any" name="family">
<string>sans-serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans</string>
<string>Noto Naskh Arabic UI</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>serif</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Serif</string>
<string>Noto Naskh Arabic UI</string>
</edit>
</match>
<match target="pattern">
<test qual="any" name="family">
<string>monospace</string>
</test>
<edit name="family" mode="prepend" binding="strong">
<string>Noto Sans Mono</string>
<string>Noto Naskh Arabic UI</string>
</edit>
</match>
</fontconfig>