مقدمة #
واحدة من المشاكل التى تواجة اي مبرمج او مطور عربي هي سوء دعم اللغة العربية الموجود في الطرفية (Terminal) على سطح مكتب لينكس و يمكنك رؤية المشكلة هنا …. و تتكون هذة المشكلة من 3 اجزاء
- الحروف المتداخلة او الغير متصلة ببعضها
- اتجاه الحروف داخل كل كلمة يمشي من اليسار الى اليمين (LTR) بدل اليمين الى اليسار(RTL)
- اتجاه النصوص يمشي من اليسار الى اليمين بدل اليمين الى اليسار
✍️ خطوط تدعم العربية #
للاسف جزء كبير من هذه المشكلة يكمن في عدم دعم الخطوط المستخدمه للعربية و لاتصال الحروف مما يجعلها متقطعة و فوق بعض و كل ما عليك هو تغيير الخط المستخدم الى احد الخطوط التي تدعم العربية
- Monospace
- DejaVu Sans Mono
الآن، إذا قمت بتجربة الكتابة في الطرفية، ستلاحظ أن المشكلة الأولى قد تم حلها بشكل كبير، حيث لم تعد الأحرف متداخلة ببعضها، وأصبح من السهل قراءة الكلمات والجمل العربية. بالطبع، لا تزال هناك بعض المشاكل البسيطة المتعلقة بالخط، مثل ظهور حرف ‘لا’ كـ ‘U’، ولكن الوضع حالياً جيد ويمكن التعايش معه و يمكننا الانتقال لمشكلة اخرى
📜 دعم برامج الطرفية للخطوط العربية #
تكمن المشكلة الثانية في قابلية برنامج الطرفية نفسها في دعم العربية و اتجاها لحسن الحظ فان اغلب الطرفيات المعروفة مثل GNOME Terminal وXfce4-Terminal وغيرها تستعمل مكتبة برمجية اسمها VTE و التى قامت بدعم العربية منذ 2019 يمكنك الاطلاع على الطرفيات المستخدمة للVTE من هنا الرابط و لكنه دعم تجريبي فهو غير مفعل في الاساس نظرا لنقص الاختبارات لجودة هذا الدعم. و مع ذلك يمكنك اضافة هذا يدويا من خلال بعض الاوامر.
↩️ كتابة السطور من اليمين الى اليسار #
انسخ الأمر التالي الى الطرفية لتفعيل الميّزة:
printf "\e[?2501h"
هذا يمكنك من كتابة العربية من اليمين الى اليسار و لكن بمجرد اغلاقك للطرفية فتخسر الميّزة. يمكتك اضافة الامر المذكور في نهاية ملف ال .bashrc او .zshrc حسب ما تستخدم انت bash او zsh كي يتم تفعيل الميزة بمجرد تشغيل الطرفية
انسخ الأمر التالي الى الطرفية لو تستخدم bash:
echo 'printf "\e[?2501h"' >> ~/.bashrc
انسخ الأمر التالي الى الطرفية لو تستخدم zsh:
echo 'printf "\e[?2501h"' >> ~/.zshrc
بمجرد اعادة فتحك للطرفية ستعمل كما هو مطلوب كل مرة
فرض اتجاه الطرفية من اليمين الى اليسار #
يمكنم ايضا فرض RTL على كل النصوص سواء عربية او انجليزية
لفعل ذلك، أضف السطر التالي إلى نهاية ملف .bashrc الخاص بك:
printf "\e[2 k"
بعد فتح الطرفية من جديد، ستلاحظ أن جميع النصوص أصبحت معروضة باتجاه من اليمين لليسار، مما قد يتسبب في ظهور بعض الأخطاء الطريفة في الطرفية.