دعم العربية فى الطرفية

Submitted by khaledhosny on Thu, 09/03/2006 - 13:31.
( categories: )

دعم العربية فى الطرفية

يهدف هذا الموضوع لشرح الخطوات المطلوبة للحصول على دعم كامل للغة العربية فى الطرفية والبرامج النصية أيضا (شاملة كونسول لينكس ومحاكيات الطرفية أيضا)

المقصود بدعم العربية هنا هو دعم اليونيكود بالإضافة لدعم الكتابة من اليمين الى اليسار ودعم ربط الحرف ببعضها

أولا الكونسول linux console

كما يبدو من العنوان نحن نتحدث عن الكونسول فإذا لم تعرف ما هذا فلا تهتم (أو اضغط CTRL+ALT+F1 لتعرف ما هذا ;) )

لنحصل على دعم العربية نحتاج الى

  1. دعم اليونيكود فى الكونسول
  2. خط يدعم الحروف العربية
  3. خريطة رموز تدعم العربية
  4. دعم اليونيكود فى الكونسول
  5. دعم الكتابة عرض النص العربى من اليمين لليسار وربط الحروف مع بعضها البعض

دعم اليونيكود:

الأولى والثانية موجودة مع برنامج BiCon اليونيكود هو نظام ترميز موحد يسمح يترميز كل الرموز فى كل اللغات باستخدام ترميز موحد (نصيحة: حول كل ملفاتك العربية الى اليونيكود فهذا أفضل لك) لتفعيل اليونيكود ستحتاج الى استخدام utf-8 locale للقيام بهذا اضبط معامل البيئة LC_ALL هكذا:


$ export LC_ALL=en_US.UTF-8

اليونيكود بسيطة ويمكنك إضافة هذا السطر الى ملف ~/.bashrc ليتم تنفيذه كل مرة تستخدم الكونسول :


$ echo 'LC_ALL=en_US.UTF-8' >> ~/.bashrc

المشكلة فى الأخيرة, والتى وقد تحتاج الى برنامج ليقوم بها وهو غالبا BiCon (ماندريك تأتى ببرنامج Acon ولكن المفروض أن BiCon بديل أفضل له) أيضا لهذا اﻷمر لتفعيل اليونيكود فى الكونسول (لست متأكدا من ضرورة استخدام هذا اﻷمر):


$ 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  $ setfont 
/usr/share/bicon/font/bicon-8x16-512.psfu.gz

خريطة الرموز:

خريطة الرموز هى خريطة يستخدمها النظام ليحدد الرمز المقابل لكل زر من أزرار لوحة المفاتيح، وخرائط الرموز التى يستخدمه الكونسول توجد فى الدليل


/usr/share/keymaps/

وكما هو الحال بالنسبة للخط، فلا توجد خريطة للوحة المفاتيح العربية سوى تلك الموجودة مع بايكون، بيكون، ستجدها باسم:


keymap/arabic.map.gz

أو ربما تجدها بعد تثبيت البرنامج فى:


/usr/share/bicon/keymap/arabic.map.gz

واﻵن نفذ هذا اﻷمر (من الكونسول أيضا) لتجعله يستخدم خريطة الحروف الرموز هذه:


 $loadkeys /path/to/key_mape  $ loadkeys /usr/share/bicon/keymap/arabic.map.gz 

والآن لتغيير لغة للتنقل بين الكتابة من الإنجليزية الى بالإنجليزية و العربية والعكس استخدم زرى زرّى alt+shift الموجودة على يسار لوحة المفاتيح (ملحوظة: الأزرار على اليمين لن تعمل ولا تسألنى لماذا)

اليونيكود: بيكون BiCon:

لتفعيل اليونيكود استخدم: بيكون أحد مشاريع عرب آيز ويهدف الى توفير دعم اللغة العربية فى بيئة سطر اﻷوامر.


$unicode_start

بايكون BiCon:

احصل عليه:

يمكنك الحصول عليه من صفحة المشروع فى عرب آيز href="http://www.arabeyes.org/project.php?proj=BiCon">بايكون href="http://www.arabeyes.org/project.php?proj=BiCon">بيكون

التنصيب التثبيت:

كالعادة مع أى حزمة مصدرية:


 $./configure 
$make 
#make  $ ./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  $ bicon 

وهذا عبارة عن شل سكريبت سيقوم بالتعامل مع الخطوط و خريطة الحروف الرموز (الخطوات السابقة) السابقة)، أما اذا قمت أنت بذلك مسبقا بإعداد الحط وخريطة الرموز بنفسك فيكفى استدعاء البرنامج الحقيقى الحقيقى:


 $bicon.bin  $ bicon.bin 

شخصيا أفضل الطريقة اﻷخيرة ﻷن الشل سكريبت اﻷول يؤدى أحيانا الى تصرفات غريبة

ثانيا محاكيات الطرفية terminal emulators

محاكيات الطرفية هى البرامج التى "تحاكى" الكونسول فى الواجهة الرسومية لا تنس أن تقوم بالخطوة الخاصة بدعم اليونيكود فهذه ستحتاج اليها حتى مع محاكيات الطرفية (انظر ماسبق).

طرفية جنوم GNOME terminal

طرفية جنوم تدعم اليونيكود بالفعل وكل ما تحتاجه هو خط يدعم العربية وستحصل على حروف عربية مقطعة

للحصول على دعم كامل للعربية ستحتاج الى BiCon بيكون

طرفية كى دى إى كدى Konsole

يوفر Konsole دعما رائعا للغة العربية, فهو يوفر دعم عرض النص العربى من اليمين لليسار و كذلك دعم اتصال الحروف ببعضها -باختصار كل ماتحتاجه ما تحتاجه لعرض النصوص العربية-، كل ماعليك القيام به هو استخدام خط يدعم العربية, العربية (يمكنك اعداده من مركز تحكم كدى), وبعدها من نافذة Konsole اذهب الى قائمة

settings --> configure Konsole

ثم اختر

enable bidirectional support

وستحصل على دعم جيد وبدون الحاجة لـ BiCon لبيكون

xterm

الإصدارات الحديثة من xterm تدعم اليونيكود كل ما عليك هو استخدام خط يدعم العربية و بايكون بيكون وستحصل على دعم رائع

dir="LTR" dir="RTL" > TODO يستخدم xterm خطوط من نوع mono، يمكنك الحصول على خط يدعم اللغة العربية من هنا، ثم انسخ ملف الخط (بعد فك ضغطه) الى مكان فى مسار خطوط X، مثلا:

$ cp ae_fonts_mono/10x21.pcf /usr/locale/share/fonts/mono
$ cd /usr/locale/share/fonts/mono
# mkfontdir

ثم قم بإعادة تشغيل X، وبعدها شغّل xterm بهذا الخيار:


$ xterm -fn '-bolkhov-vga-medium-r-normal--16-150-75-75-p-80-iso10646-1'

ثم استخدم بيكون ﻷداء الباقى:


$ bicon.bin

الطرفية متعددة اللغات mlterm

يعد mlterm أفضل محاكى طرفية يوفر دعما للغة العربية على الإطلاق

الصفحة الرئيسية:

mlterm

الدليل الى mlterm

ثالثا البرامج النصية

بعض البرامج التى توفر دعما خاصا أو تحتاج اعدادات خاصة لدعم اللغة العربية

محررات النصوص

ايماكس EMACS

الإصدارة القادمة من ايماكس ستدعم اللغة العربي (على مسؤولية محدم محمد سمير فأنا لم أجربها)

VIM

يوفر VIM دعما خاصا للغة العربية بدون الحاجة الى طرفية تدعم العربية, باستخدام الخيار الخيار:


 $vim  $ vim 
-A

لكن يعيبه أن الكلمات اللاتينية تعرض مقلوبة من اليمين الى اليسار اليسار، أما إذا كنت تستخدم طرفية تدعم العربية فلن تحتاج لهذا الخيار.

geresh

محرر نصوص يدعم ثنائية الإتجاه ويوفر دعم جيد للعربية (لم أجربه والصفحة الرئيسية بالعبرى)

geresh

متصفح الويب

W3M

الصفحة الرئيسية:

W3M

الدليل الى w3m

less

الإصدارات الحديثة من less تدعم اليونيكود وكل ما عليك لتفعيل هذا الدعم هو ضبط الإعداد المحلى لديك ليستخدم اليونيكود


$export LC_ALL=en_US.UTF-8