يهدف هذا الموضوع لشرح الخطوات المطلوبة للحصول على دعم كامل للغة العربية في الطرفية والبرامج النصية أيضا (شاملة كونسول لينكس ومحاكيات الطرفية أيضا)
المقصود بدعم العربية هنا هو دعم اليونيكود بالإضافة لدعم الكتابة من اليمين إلى اليسار ودعم ربط الحرف ببعضها
إذا كنت تستخدم قارئ البريد mutt، أو irssi (عميل IRC)، أو متصفح الوب elinks، أو محرر النصوص vim وترغب بقراءة رسائل بريد تحتوي نصوصا عربية، أو التحادث بالعربية، أو تصفح صفحات وب عربية أو تحرير نصوص عربية (على التوالي) فأنت بحاجة لهذا.
أيضا إذا أردت سرد ملفات ذات أسماء عربية (باستخدام ls مثلا) فستحتاج لهذا
باختصار إذا كنت تتعامل مع اللغة العربية بكثرة من خلال سطر الأوامر فغالبا سيفيدك قراءة هذا.
كما يبدو من العنوان نحن نتحدث عن الكونسول فإذا لم تعرف ما هذا فلا تهتم (أو اضغط CTRL+ALT+F1 لتعرف ما هذا ;) )
لنحصل على دعم العربية نحتاج إلى
اليونيكود هو نظام ترميز موحد يسمح بترميز كل الرموز في كل اللغات باستخدام ترميز موحد (نصيحة: حول كل ملفاتك العربية إلى اليونيكود فهذا أفضل لك) لتفعيل اليونيكود ستحتاج إلى استخدام utf-8 locale للقيام بهذا اضبط معامل البيئة LC_ALL هكذا:
$ export LC_ALL=en_US.UTF-8
ويمكنك إضافة هذا السطر إلى ملف ~/.bashrc ليتم تنفيذه كل مرة تستخدم الكونسول :
$ echo 'LC_ALL=en_US.UTF-8' >> ~/.bashrc
وقد تحتاج أيضا لهذا الأمر لتفعيل اليونيكود في الكونسول (لست متأكدا من ضرورة استخدام هذا الأمر):
$ unicode_start
يستخدم الكونسول نوعا خاصا من الخطوط تسمى خطوط PSF (PC Screen Font) وتجدها غالبا في الدليل
/usr/share/consolefonts/
نحتاج هنا إلى خط يدعم الحروف العربية، للأسف لا يوجد الكثير من هذه الخطوط، فبالرغم من أن حزمة kbd تحتوى على بعض الخطوط التي تحتوى على الحروف العربية:
/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
لمستخدمي أوبونتو: إذا كنت تستخدم ubuntu dapper (وربما ما قبلها لكن لم أختبر هذا) فاستعمل هذا الأمر بدلا من السابق:
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"
ولا تنس أن تتأكد من بدأ خدمة consolefont عند الإقلاع:
# 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
ملحوظة: إذا ظهرت لك رسائل خطأ مثل "Keymap 0: Permission denied" أو غيرها فهذا يعنى أن توزيعتك تمنع الوصول المباشر ل "tty devices" (زيادة في الأمان) للتغلب على هذا نفذ الأمر بصلاحيات المستخدم الجذر.
والآن للتنقل بين الكتابة بالإنجليزية و العربية استخدم زرّى alt+shift الموجودة على يسار لوحة المفاتيح (_ملحوظة_: الأزرار على اليمين لن تعمل ولا تسألني لماذا)
لمستخدمي جنتو: يمكنك ضبط جنتو للقيام بهذا تلقائيا عند إقلاع النظام:
# cp /usr/share/bicon/keymap/arabic.map.gz /usr/share/keymaps/ # nano -w /etc/conf.d/keymaps
ثم غير السطر
KEYMAP="us"
إلى
KEYMAP="arabic"
ولا تنس أن تتأكد من بدأ خدمة keymaps عند الإقلاع:
# rc-update add keymaps boot
بيكون أحد مشاريع عرب آيز ويهدف إلى توفير دعم اللغة العربية في بيئة سطر الأوامر.
يعتمد بيكون على مكتبة fribidi فتأكد من تثبيتها وتثبيت حزمة التطوير الخاصة بها:
''لمستخدمي دبيان (وأوبونتو):
# apt-get install libfribidi libfribidi-dev
ثم كالعادة مع أى حزمة مصدرية، فك الضغط، اذهب للمجلد الجديد ، ثم:
$ ./configure $ make # make install
لمستخدمي جنتو: إذا كنت من مستخدم جنتو يمكنك استخدام هذا الـ ebuild لبناء بيكون (شكرًا لـphaeron)
# 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
شخصيا أفضل الطريقة الأخيرة لأن الشل سكريبت الأول يؤدى أحيانا إلى تصرفات غريبة
محاكيات الطرفية هي البرامج التي "تحاكى" الكونسول في الواجهة الرسومية لا تنس أن تقوم بالخطوة الخاصة بدعم اليونيكود فهذه ستحتاج إليها حتى مع محاكيات الطرفية (انظر ما سبق).
طرفية جنوم تدعم اليونيكود بالفعل وكل ما تحتاجه هو خط يدعم العربية وستحصل على حروف عربية مقطعة
للحصول على دعم كامل للعربية ستحتاج إلى بيكون
يوفر Konsole دعما رائعا للغة العربية, فهو يوفر دعم عرض النص العربي من اليمين لليسار و كذلك دعم اتصال الحروف ببعضها -باختصار كل ما تحتاجه لعرض النصوص العربية-، كل ما عليك القيام به هو استخدام خط يدعم العربية (يمكنك إعداده من مركز تحكم كدى), وبعدها من نافذة Konsole اذهب إلى قائمة
settings --> configure Konsole
ثم اختر
enable bidirectional support
وستحصل على دعم جيد وبدون الحاجة لبيكون
الإصدارات الحديثة من xterm تدعم اليونيكود كل ما عليك هو استخدام خط يدعم العربية و بيكون وستحصل على دعم رائع
يستخدم xterm خطوط من نوع mono، يمكنك استخدام خط GNU unifont الموجود في أغلب التوزيعات فهو يوفر دعما جيدا للغة العربية. استخدم مدير الحزم لتثبيته؛ في دبيان (وأوبونتو):
# apt-get install unifont
في جنتو:
# emerge -av unifont
ثم قم بإعادة تشغيل X، وبعدها شغّل xterm بهذا الخيار:
$ xterm -fn '-gnu-unifont-medium-r-normal-*-16-160-*-*-*-*-iso10646-*'
ثم استخدم بيكون لأداء الباقي:
$ bicon
يعد mlterm أفضل محاكي طرفية يوفر دعما للغة العربية على الإطلاق
الصفحة الرئيسية:
بعض البرامج التي توفر دعما خاصا أو تحتاج إعدادات خاصة لدعم اللغة العربية
الإصدارة القادمة من إيماكس ستدعم اللغة العربي (على مسؤولية محمد سمير فأنا لم أجربها)
يوفر VIM دعما خاصا للغة العربية بدون الحاجة إلى طرفية تدعم العربية, باستخدام الخيار:
$ vim -A
لكن يعيبه أن الكلمات اللاتينية تعرض مقلوبة من اليمين إلى اليسار، أما إذا كنت تستخدم طرفية تدعم العربية فلن تحتاج لهذا الخيار.
محرر نصوص يدعم ثنائية الاتجاه ويوفر دعم جيد للعربية (لم أجربه والصفحة الرئيسية بالعبري)
الصفحة الرئيسية:
يدعم w3m اللغة العربية (ويونيكود عموما) بشكل رائع وبدون أى إعدادات خاصة.
الصفحة الرئيسية:
يدعم ELinks أيضا اللغة العربية بدون مشاكل (لم أختبره كثيرا لكن عمل معى على أوبونتو دابر بدون أى إعدادات خاصة).
الإصدارات الحديثة من less تدعم اليونيكود وكل ما عليك لتفعيل هذا الدعم هو ضبط الإعداد المحلى لديك ليستخدم اليونيكود
$export LC_ALL=en_US.UTF-8