دعم العربية فى الطرفية
يهدف هذا الموضوع لشرح الخطوات المطلوبة للحصول على دعم كامل للغة العربية فى الطرفية والبرامج النصية أيضا (شاملة كونسول لينكس ومحاكيات الطرفية أيضا)
لماذا أحتاج لهذا؟
إذا كنت تستخدم قاريء البريد mutt، أو irssi (عميل IRC)، أو متصفح الوب elinks، أو محرر النصوص vim وترغب بقرائة رسائل بريد تحتوي نصوصا عربية، أو التحادث بالعربية، أو تصفح صفحات وب عربية أو تحرير نصوص عربية (على التوالي) فأنت بحاجة لهذا.
أيضا إذا أردت سرد ملفات ذات أسماء عربية (باستخدام ls مثلا) فستحتاج لهذا
باختصار إذا كنت تتعامل نع اللغة العربية بكثرة من خلال سطر الأوامر فغالبا سيفيدك قراءة هذا.
المقصود بدعم العربية هنا هو دعم اليونيكود بالإضافة لدعم الكتابة من اليمين الى اليسار ودعم ربط الحرف ببعضها
أولا الكونسول linux console
كما يبدو من العنوان نحن نتحدث عن الكونسول فإذا لم تعرف ما هذا فلا تهتم (أو اضغط CTRL+ALT+F1 لتعرف ما هذا ;) )
لنحصل على دعم العربية نحتاج الى
1. دعم اليونيكود فى الكونسول
2. خط يدعم الحروف العربية
3. خريطة رموز تدعم العربية
4. دعم عرض النص العربى من اليمين لليسار وربط الحروف مع بعضها البعض
دعم اليونيكود:
اليونيكود هو نظام ترميز موحد يسمح يترميز كل الرموز فى كل اللغات باستخدام ترميز موحد (نصيحة: حول كل ملفاتك العربية الى اليونيكود فهذا أفضل لك) لتفعيل اليونيكود ستحتاج الى استخدام utf-8 locale للقيام بهذا اضبط معامل البيئة LC_ALL هكذا:
ويمكنك إضافة هذا السطر الى ملف ~/.bashrc ليتم تنفيذه كل مرة تستخدم الكونسول :
وقد تحتاج أيضا لهذا الأمر لتفعيل اليونيكود فى الكونسول (لست متأكدا من ضرورة استخدام هذا الأمر):
الخط:
يستخدم الكونسول نوعا خاصا من الخطوط تسمى خطوط PSF (PC Screen Font) وتجدها غالبا فى الدليل
نحتاج هنا الى خط يدعم الحروف العربية، للأسف لا يوجد الكثير من هذه الخطوط، فبالرغم من أن حزمة kbd تحتوى على بعض الخطوط التى تحتوى على الحروف العربية:
إلا أنها لا تحتوى على أشكال الحروف العربية المتصلة ببعضها (الجيم أو الباء فى المنتصف مثلا) مما يعنى أنها ستعمل طالما أننا لم نستخدم أى أداة تقوم بإظهار الحروف العربية متصلة مع بعضها (ما فائدة هذه الخطوط إذن؟!)
الخط الوحيد -على حد علمى- الذى يوفر الدعم الكامل للحروف العربية يأتى مع حزمة بيكون، ستجده باسم:
فى حزمة البرنامج المصدرية، أو ربما تجدها بعد تثبيت البرنامج فى:
(انظر باقى الموضوع لتعرف تفاصيل أكثر حول تثبيت بيكون)
و الآن استخدم الأمر التالى (من الكونسول وليس أحد محاكيات الطرفية) لتجعل الكونسول يستعمل هذا الخط :
لمستخدمى أوبونتو: إذا كنت تستخدم ubuntu dapper (وربما ما قبلها لكن لم أختبر هذا) فاستعمل هذا الأمر بدلا من السابق:
لمستخدمى جنتو: يمكنك ضبط جنتو للقيام بهذا تلقائيا عند إقلاع النظام:
ثم غير السطر
الى
ولا تنس أن تتأكد من بدأ خدمة consolefont عند الإقلاع:
خريطة الرموز:
خريطة الرموز هى خريطة يستخدمها النظام ليحدد الرمز المقابل لكل زر من أزرار لوحة المفاتيح، وخرائط الرموز التى يستخدمه الكونسول توجد فى الدليل
وكما هو الحال بالنسبة للخط، فلا توجد خريطة للوحة المفاتيح العربية سوى تلك الموجودة مع بيكون، ستجدها باسم:
أو ربما تجدها بعد تثبيت البرنامج فى:
والآن نفذ هذا الأمر (من الكونسول أيضا) لتجعله يستخدم خريطة الرموز هذه:
ملحوظة: إذا ظهرت لك رسائل خطأ مثل "Keymap 0: Permission denied" أو غيرها فهذا يعنى أن توزيعتك تمنع الوصول المباشر ل "tty devices" (زيادة فى الأمان) للتغلب على هذا نفذ الأمر بصلاحيات المستخدم الجذر.
والآن للتنقل بين الكتابة بالإنجليزية و العربية استخدم زرّى alt+shift الموجودة على يسار لوحة المفاتيح (_ملحوظة_: الأزرار على اليمين لن تعمل ولا تسألنى لماذا)
لمستخدمى جنتو: يمكنك ضبط جنتو للقيام بهذا تلقائيا عند إقلاع النظام:
ثم غير السطر
الى
ولا تنس أن تتأكد من بدأ خدمة keymaps عند الإقلاع:
بيكون BiCon:
بيكون أحد مشاريع عرب آيز ويهدف الى توفير دعم اللغة العربية فى بيئة سطر الأوامر.
احصل عليه:
يمكنك الحصول عليه من صفحة المشروع فى عرب آيز
التثبيت:
يعتمد بيكون على مكتبة fribidi فتأكد من تثبيتها وتثبيت حزمة التطوير الخاصة بها:
لمستخدمي دبيان (وأوبونتو):
ثم كالعادة مع أى حزمة مصدرية، فك الضغط، اذهب للمجلد الجديد ، ثم:
لمستخدمى جنتو: إذا كنت من مستخدم جنتو يمكنك استخدام هذا الـ ebuild لبناء بيكون (شكراً لـphaeron)
الإستخدام:
لتشغيل بيكون كل ماعليك هو استدعائه من سطر الأوامر (لن يعمل مع أوبونتو انظر التالى):
وهذا عبارة عن شل سكريبت سيقوم بالتعامل مع الخطوط و خريطة الرموز (الخطوات السابقة)، أما اذا قمت أنت بإعداد الحط وخريطة الرموز بنفسك فيكفى استدعاء البرنامج الحقيقى:
شخصيا أفضل الطريقة الأخيرة لأن الشل سكريبت الأول يؤدى أحيانا الى تصرفات غريبة
ثانيا محاكيات الطرفية terminal emulators
محاكيات الطرفية هى البرامج التى "تحاكى" الكونسول فى الواجهة الرسومية لا تنس أن تقوم بالخطوة الخاصة بدعم اليونيكود فهذه ستحتاج اليها حتى مع محاكيات الطرفية (انظر ماسبق).
طرفية جنوم GNOME terminal
طرفية جنوم تدعم اليونيكود بالفعل وكل ما تحتاجه هو خط يدعم العربية وستحصل على حروف عربية مقطعة
للحصول على دعم كامل للعربية ستحتاج الى بيكون
طرفية كدى Konsole
يوفر Konsole دعما رائعا للغة العربية, فهو يوفر دعم عرض النص العربى من اليمين لليسار و كذلك دعم اتصال الحروف ببعضها -باختصار كل ما تحتاجه لعرض النصوص العربية-، كل ماعليك القيام به هو استخدام خط يدعم العربية (يمكنك اعداده من مركز تحكم كدى), وبعدها من نافذة Konsole اذهب الى قائمة
settings > configure Konsole
ثم اختر
enable bidirectional support
وستحصل على دعم جيد وبدون الحاجة لبيكون
xterm
الإصدارات الحديثة من xterm تدعم اليونيكود كل ما عليك هو استخدام خط يدعم العربية و بيكون وستحصل على دعم رائع
يستخدم xterm خطوط من نوع mono، يمكنك استخدام خط GNU unifont الموجود في أغلب التوزيعات فهو يوفر دعما جيدا للغة العربية. استخدم مدير الحزم لتثبيته؛ في دبيان (وأوبونتو):
في جنتو:
أو يمكنك الحصول عليه من هنا ثم قم بتثبيته يدويا ثم قم بإعادة تشغيل X، وبعدها شغّل xterm بهذا الخيار:
ثم استخدم بيكون لأداء الباقى:
الطرفية متعددة اللغات mlterm
يعد mlterm أفضل محاكى طرفية يوفر دعما للغة العربية على الإطلاق
الصفحة الرئيسية:
mlterm
كيف تستخدم MLterm
ثالثا البرامج النصية
بعض البرامج التى توفر دعما خاصا أو تحتاج اعدادات خاصة لدعم اللغة العربية
محررات النصوص
ايماكس :
الإصدارة القادمة من ايماكس ستدعم اللغة العربي (على مسؤولية محمد سمير فأنا لم أجربها)
VIM:
يوفر VIM دعما خاصا للغة العربية بدون الحاجة الى طرفية تدعم العربية, باستخدام الخيار:
لكن يعيبه أن الكلمات اللاتينية تعرض مقلوبة من اليمين الى اليسار، أما إذا كنت تستخدم طرفية تدعم العربية فلن تحتاج لهذا الخيار.
geresh:
محرر نصوص يدعم ثنائية الإتجاه ويوفر دعم جيد للعربية (لم أجربه والصفحة الرئيسية بالعبرى)
متصفح الويب
W3M:
الصفحة الرئيسية:
W3M
يدعم w3m اللغة العربية (ويونيكود عموما) بشكل رائع وبدون أى إعدادات خاصة.
ELinks:
الصفحة الرئيسية:
ELinks
يدعم ELinks أيضا اللغة العربية بدون مشاكل (لم أختبره كثيرا لكن عمل معى على أوبونتو دابر بدون أى إعدادات خاصة).
أخرى
less
الإصدارات الحديثة من less تدعم اليونيكود وكل ما عليك لتفعيل هذا الدعم هو ضبط الإعداد المحلى لديك ليستخدم اليونيكود
ملحوظة: يمكن قرائة الموضوع في ويكي مجموعة مستخدمي جنو/لينكس مصر هنا حيث ستضاف أي تعديلات/إضافات مستقبلية.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can get a Copy of the License from http://www.gnu.org/licenses/fdl.txt.
يهدف هذا الموضوع لشرح الخطوات المطلوبة للحصول على دعم كامل للغة العربية فى الطرفية والبرامج النصية أيضا (شاملة كونسول لينكس ومحاكيات الطرفية أيضا)
لماذا أحتاج لهذا؟
إذا كنت تستخدم قاريء البريد mutt، أو irssi (عميل IRC)، أو متصفح الوب elinks، أو محرر النصوص vim وترغب بقرائة رسائل بريد تحتوي نصوصا عربية، أو التحادث بالعربية، أو تصفح صفحات وب عربية أو تحرير نصوص عربية (على التوالي) فأنت بحاجة لهذا.
أيضا إذا أردت سرد ملفات ذات أسماء عربية (باستخدام ls مثلا) فستحتاج لهذا
باختصار إذا كنت تتعامل نع اللغة العربية بكثرة من خلال سطر الأوامر فغالبا سيفيدك قراءة هذا.
المقصود بدعم العربية هنا هو دعم اليونيكود بالإضافة لدعم الكتابة من اليمين الى اليسار ودعم ربط الحرف ببعضها
أولا الكونسول linux console
كما يبدو من العنوان نحن نتحدث عن الكونسول فإذا لم تعرف ما هذا فلا تهتم (أو اضغط CTRL+ALT+F1 لتعرف ما هذا ;) )
لنحصل على دعم العربية نحتاج الى
1. دعم اليونيكود فى الكونسول
2. خط يدعم الحروف العربية
3. خريطة رموز تدعم العربية
4. دعم عرض النص العربى من اليمين لليسار وربط الحروف مع بعضها البعض
دعم اليونيكود:
اليونيكود هو نظام ترميز موحد يسمح يترميز كل الرموز فى كل اللغات باستخدام ترميز موحد (نصيحة: حول كل ملفاتك العربية الى اليونيكود فهذا أفضل لك) لتفعيل اليونيكود ستحتاج الى استخدام utf-8 locale للقيام بهذا اضبط معامل البيئة LC_ALL هكذا:
كود:
$ export LC_ALL=en_US.UTF-8
كود:
$ echo 'LC_ALL=en_US.UTF-8' >> ~/.bashrc
كود:
$ unicode_start
يستخدم الكونسول نوعا خاصا من الخطوط تسمى خطوط PSF (PC Screen Font) وتجدها غالبا فى الدليل
كود:
/usr/share/consolefonts/
كود:
/usr/share/consolefonts/iso06.08.gz /usr/share/consolefonts/iso06.16.gz /usr/share/consolefonts/iso06.14.gz
الخط الوحيد -على حد علمى- الذى يوفر الدعم الكامل للحروف العربية يأتى مع حزمة بيكون، ستجده باسم:
كود:
font/bicon-8x16-512.psfu.gz
كود:
/usr/share/bicon/font/bicon-8x16-512.psfu.gz
و الآن استخدم الأمر التالى (من الكونسول وليس أحد محاكيات الطرفية) لتجعل الكونسول يستعمل هذا الخط :
كود:
$ setfont /usr/share/bicon/font/bicon-8x16-512.psfu.gz
كود:
consolechars -f /usr/share/bicon/font/bicon-8x16-512.psfu.gz
كود:
# cp /usr/share/bicon/font/bicon-8x16-512.psfu.gz /usr/share/consolefonts/ # nano -w /etc/conf.d/consolefont
كود:
CONSOLEFONT="default8x16"
كود:
CONSOLEFONT="bicon-8x16-512"
كود:
# rc-update add consolefont boot
خريطة الرموز هى خريطة يستخدمها النظام ليحدد الرمز المقابل لكل زر من أزرار لوحة المفاتيح، وخرائط الرموز التى يستخدمه الكونسول توجد فى الدليل
كود:
/usr/share/keymaps/
كود:
keymap/arabic.map.gz
كود:
/usr/share/bicon/keymap/arabic.map.gz
كود:
$ loadkeys /usr/share/bicon/keymap/arabic.map.gz
والآن للتنقل بين الكتابة بالإنجليزية و العربية استخدم زرّى alt+shift الموجودة على يسار لوحة المفاتيح (_ملحوظة_: الأزرار على اليمين لن تعمل ولا تسألنى لماذا)
لمستخدمى جنتو: يمكنك ضبط جنتو للقيام بهذا تلقائيا عند إقلاع النظام:
كود:
# cp /usr/share/bicon/keymap/arabic.map.gz /usr/share/keymaps/ # nano -w /etc/conf.d/keymaps
كود:
KEYMAP="us"
كود:
KEYMAP="arabic"
كود:
# rc-update add keymaps boot
بيكون BiCon:
بيكون أحد مشاريع عرب آيز ويهدف الى توفير دعم اللغة العربية فى بيئة سطر الأوامر.
احصل عليه:
يمكنك الحصول عليه من صفحة المشروع فى عرب آيز
التثبيت:
يعتمد بيكون على مكتبة fribidi فتأكد من تثبيتها وتثبيت حزمة التطوير الخاصة بها:
لمستخدمي دبيان (وأوبونتو):
كود:
# apt-get install libfribidi libfribidi-dev
كود:
$ ./configure $ make # make install
كود:
# Copyright 1999-2005 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/app-misc/bicon/bicon-0.0.20040505.ebuild,v 1.1 2005/01/07 10:27:54 Exp $ DESCRIPTION="Arabeyes Arabic terminal" HOMEPAGE="http://www.arabeyes.org/project.php?proj=BiCon" SRC_URI="mirror://sourceforge/arabeyes/bicon-0.2.0.tar.gz" LICENSE="GPL-2" SLOT="0" KEYWORDS="x86" IUSE="perl" DEPEND="sys-libs/ncurses" src_unpack() { unpack ${A} } src_compile() { econf || die "Configuration failed" emake || die "Compilation failed" } src_install() { einstall || die "Installation failed" }
لتشغيل بيكون كل ماعليك هو استدعائه من سطر الأوامر (لن يعمل مع أوبونتو انظر التالى):
كود:
$ bicon
كود:
$ bicon.bin
ثانيا محاكيات الطرفية terminal emulators
محاكيات الطرفية هى البرامج التى "تحاكى" الكونسول فى الواجهة الرسومية لا تنس أن تقوم بالخطوة الخاصة بدعم اليونيكود فهذه ستحتاج اليها حتى مع محاكيات الطرفية (انظر ماسبق).
طرفية جنوم GNOME terminal
طرفية جنوم تدعم اليونيكود بالفعل وكل ما تحتاجه هو خط يدعم العربية وستحصل على حروف عربية مقطعة
للحصول على دعم كامل للعربية ستحتاج الى بيكون
طرفية كدى Konsole
يوفر Konsole دعما رائعا للغة العربية, فهو يوفر دعم عرض النص العربى من اليمين لليسار و كذلك دعم اتصال الحروف ببعضها -باختصار كل ما تحتاجه لعرض النصوص العربية-، كل ماعليك القيام به هو استخدام خط يدعم العربية (يمكنك اعداده من مركز تحكم كدى), وبعدها من نافذة Konsole اذهب الى قائمة
settings > configure Konsole
ثم اختر
enable bidirectional support
وستحصل على دعم جيد وبدون الحاجة لبيكون
xterm
الإصدارات الحديثة من xterm تدعم اليونيكود كل ما عليك هو استخدام خط يدعم العربية و بيكون وستحصل على دعم رائع
يستخدم xterm خطوط من نوع mono، يمكنك استخدام خط GNU unifont الموجود في أغلب التوزيعات فهو يوفر دعما جيدا للغة العربية. استخدم مدير الحزم لتثبيته؛ في دبيان (وأوبونتو):
كود:
# apt-get install unifont
كود:
# emerge -av unifont
كود:
$ xterm -fn '-gnu-unifont-medium-r-normal-*-16-160-*-*-*-*-iso10646-*'
كود:
$ bicon
يعد mlterm أفضل محاكى طرفية يوفر دعما للغة العربية على الإطلاق
الصفحة الرئيسية:
mlterm
كيف تستخدم MLterm
ثالثا البرامج النصية
بعض البرامج التى توفر دعما خاصا أو تحتاج اعدادات خاصة لدعم اللغة العربية
محررات النصوص
ايماكس :
الإصدارة القادمة من ايماكس ستدعم اللغة العربي (على مسؤولية محمد سمير فأنا لم أجربها)
VIM:
يوفر VIM دعما خاصا للغة العربية بدون الحاجة الى طرفية تدعم العربية, باستخدام الخيار:
كود:
$ vim -A
geresh:
محرر نصوص يدعم ثنائية الإتجاه ويوفر دعم جيد للعربية (لم أجربه والصفحة الرئيسية بالعبرى)
متصفح الويب
W3M:
الصفحة الرئيسية:
W3M
يدعم w3m اللغة العربية (ويونيكود عموما) بشكل رائع وبدون أى إعدادات خاصة.
ELinks:
الصفحة الرئيسية:
ELinks
يدعم ELinks أيضا اللغة العربية بدون مشاكل (لم أختبره كثيرا لكن عمل معى على أوبونتو دابر بدون أى إعدادات خاصة).
أخرى
less
الإصدارات الحديثة من less تدعم اليونيكود وكل ما عليك لتفعيل هذا الدعم هو ضبط الإعداد المحلى لديك ليستخدم اليونيكود
كود:
$export LC_ALL=en_US.UTF-8
Copyright (C) 2006 Khaled Hosny.
يسمح بنسخ، و توزيع و/أو تعديل هذه الوثيقة طبقا لبنود رخصة جنو للوثائق الحرة، الإصدارة 1.2 أو أي إصدارة لاحقة تصدرها منظمة البرمجيات الحرة؛ بدون أقسام ثابتة أو نصوص غلاف أمامي أو نصوص غلاف خلفي. يمكن الحصول على نسخة من الرخصة من http://www.gnu.org/licenses/fdl.txt.Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can get a Copy of the License from http://www.gnu.org/licenses/fdl.txt.
تعليق