3.6 دعم اللغة العربية كتاب لينكس الشامل >>

3.6 دعم اللغة العربية

الفهرس

3.6.1 معلومات تمهيدية

يعتبر إضافة دعم اللغة العربية موضوعا شائكاً ؛ لأنه أول ما يحاول المستخدم القيام به حتى قبل أن يعرف كيف يصل إلى القرص المرن، لهذا قمت بتأجيل الموضوع إلى هذا الموضع. لاتفزع من تعقيد الموضوع لقد أحببت أن أذكر كل الطرق (السهلة والصعبة) وكل ما عليك هو اختيار احداها وتنفيذه فإذا نجح لاداعِ للمتابعة لأن التوزيعة قد تكون قامت بجزء من العمل عنك

هناك أكثر من عامل في دعم اللغة

وهناك أشياء أقل أهمية : هناك برنامج تستطيع الكتابة فيه العربية دون أن تقوم بأي شيء من هذا وبغض النظر هل لديك تعريب أم لا اسمه كتوب katoob وهو موجد على موقع عيون عربية www.arabeyes.org يمكنك تنزيله إنه ليس كبيرا

3.6.2 لوحة المفاتيح

إذا كنت تستخدم ماندريك فأسهل طريقة أن تذهب إلى مركز تحكم ماندريك (قد يكو اسمه Configure Your Computer) Mandrake Control Center -> Hardware -> Keyboard وتختار لوحة مفايح عربية وتحدد زر معين للتبديل بين اللغتين إذا كان لديك توزيعة أخرى أو كنت تريد القيام بذلك يدوياً يوجد طريقتان لعمل ذلك الأولى أن تطلب لوحة مفاتيح عربية من مدير النوافذ(بيئة سطح المكتب) مثل kde أو gnome كل على حدى. في kde kde control center -> prephrals -> keyboard -> enable ثم ضع صح على العربية.
في gnome انقر بالزر الأيمن على اللوحة(شريط المهام) قرب الساعة(المكان الذي سنضعها فيه) ثم ابحث على لوحة مفاتيح عالمية right click the panle -> add applet -> util -> international keyboard ستظهر أداة تمكنك من تغيير اللغة ،الآن انقر بالزر الأيمن عليها اختر configure أو preferences ثم أضف اللغة العربية إلى القائمة وتستطيع تحديد مفتاح التبديل هناك أيضا أو إعطائها حجم أصغر أو كتابة الاسم دون العلم مثلاً وفي في بعض الإصدارات يوجد خيارات لغة مختلفة لكل نافذة group for each window تأكد من عدم اختياره ويوجد خيار لتحديد زر سريع للتبديل مثل ALT+SHIFT وضوء عند اختيار العربية في بعض الإصدارات تكون مثل تلك الخاصة بإكس مثل grp:alt_shift_toggle (سنكتب توضيحات). الطريقة الثانية هي إضافتها مباشرة في X (البعض لا يحب هذه الطريقة لكنها المفضلة لدي) ذلك بتحرير ملف إعدادات إكس /etc/X11/XF86Config-4 أو /etc/X11/XF86Config أو /etc/X11/xorg.conf سأفترض أنه الأول كما يلي: (إذا لم يكن لديك mcedit استعمل kedit أو أي محرر نصوص)

# إطبع هذه الأوامر
bash$ su root
password: *******
bash$ cd /etc/X11
bash$ cp XF86Config-4 XF86C-old
# حفظ نسخة من الإعدادات
bash$ mcedit XF86Config-4
# تستطيع إستخدام أي محرر نصوص آخر لديك مثل gedit,kate,kwrite
# الآن ابحث (اضغط F7 ) عن InputDevice 
# عدله ليبدو
...
Section "InputDevice"
Identifier "Keyboard1"
Driver "Keyboard"
#Option "XkbDisable" # تأكد من أن هذا السطر غير موجود أو بلاقيمة
# الأسطر الثلاثة القادمة تحتاج إلى واحد منها فقط
Option "XkbModel" "microsoft"
#Option "XkbModel" "pc105"
#Option "XkbModel" "pc104"
Option "XkbLayout" "en,ar"
Option "XkbOptions" "grp:alt_shift_toggle,grp_led:scroll"
End Section
...
# خزن واخرج (F2->F10) 

الآن أعد تشغيل X وذلك بالضغط على CTRL+ALT+BKSP(أي back space). إذا لم يعجبك شيء اختر نوع مختلف مثلا pc105 بدلاً من microsoft، أما إذا كنت تريد لسبب ما العودة للإعدادات السابقة (قمت بخطأ في الطباعة أو أي شيء آخر) فقط قمنا بحفظ نسخة منها وهذه طريقة استعادتها

# إطبع هذه الأوامر
bash$ su root
password: *******
bash# cd /etc/X11
bash# cp XF86C-old XF86Config-4
# اضغط CTRL+ALT+BKSP

في الطريقة الأخيرة اضغط ALT+SHIFT اليمين للتحول إلى العربية واضغطهم مرة أخرى للإنجليزية

tipتلميح

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

3.6.3 تركيب الخطوط

هناك نوعان من الخطوط خطوط صورة أو ما يسمى خارطة نقطية (bitmap-fonts) مثل pcf وخطوط وصفية(التمثيل المتجهي) مثل ttf الأولى أسرع ولكن تظهر على شكل مربعات وليس منحنيات عند تكبيرها والثانية مهمة من أجل الطباعة ولا تتأثر بالتكبير. يمكنك تنزيل خطوط عربية من النوع الأول اسمها خطوط عرب-آيز ثابتة العرض ae_fonts_mono أو www.arabeyes.org/download/3rd/10x21.pcf.gz أما النوع الثاني يمكنك الحصول عليها من دليل الخطوط في ويندوز (لا أحب هذا الخيار ولكن الجزء الإنجليزي منها جميل) قد تكون في المجلد /mnt/win_c/windows/Fonts أو /mnt/win_c/winnt/Fonts أهم هذه الخطوط tahoma.ttf و arialuni.ttf و cour.ttf يمكن تركيبها من مركز تحكم ماندريك Mandrake Control Center -> System -> Fonts -> get windows fonts وفي ديبيان باستعمال الحزمة msttcorefonts (تتطلب انترنت) أو بالطرق التي نشرحها لاحقاً ، وهناك أيضا خطوط حرة من هذا النوع يمكنك الحصول عليها وهي أكثر من طقم مثلا خطوط مجموعة لينكس السعودية KacstArabicFonts و خطوط عرب-آيز ttf ae_fonts و خطوط حيدر haydar_fonts وخط اللطيف lateef.shaikh_fonts وخط شريف sharif.univ_ttf ولكن عليك أن تقوم بتركيبها بأحد الطرق التي سأذكرها أدناه فإذا كنت لا تحب الخوض في تفاصيلها تريد فقط تركيب الخطوط ربما تفضل الخطوط على شكل حزم جاهزة(أنا لا أحب هذا الخيار) نزل بعض هذه الحزم : خطوط عرب آيز ثابتة العرض ae_fonts_mono-1.0-1.noarch.rpm وخطوط مجموعة لينكس السعودية kacst_fonts-1.4-1.noarch.rpm وخطوط حيدر haydar_fonts-1.0-1.noarch.rpm وخط لطيف lateef.shaikh_fonts-1.0-1.noarch.rpm وهي عبارة عن حزم rpm تركّبها كما تفعل من الحزم العادية كما ذكرا في درس تركيب الحزم تأتي توزيعة ماندريك 9.1 مع خطوط مجموعة لينكس السعودية وربما تحتوي الإصدارات القادمة على خطوط عرب-آيز

بعد الحصول على الخطوط (على صيغة tarball وليس حزم rpm ) قد يكفي في بعض التوزيعات أن تضعها في مجلد ~/.fonts في بيتك بعد فك ضغط الملف ولكن بشكل عام(في كل التوزيعات) يتم تركيبها بالخطوات التالية وضع الخطوط في دليل مناسب. ثم عمل ملف يحتوي معلومات تصنيفية عن كل الخطوط في ذلك الدليل (أو تحديثه إن كان موجودا). ثم عمل (أو تحديث)ملف يحتوي على معلومات عن أحجام الخطوط في ذلك الدليل(لخطوط ttf فقط) . ثم إضافة ذلك الدليل إلى قائمة أدلة الخطوط (إن لم يكن موجدا بها). وهناك عدة طرق للقيام بذلك منها:
أسهل تلك الطرق استخدام مركز التحكم في توزيعة ماندريك (فقط لخطوط ttf) كما يلي ضع الخطوط في مكان مؤقت ثم شغل مركز التحكم و Mandrake Control Center -> System -> Fonts -> advanced -> add ثم اختيار الخطوط التي تريدها بالنقر المزدوج عليها ثم اختيار install list ثم OK سيقوم هو بعمل الخطوات اللازمة التي تحدثنا عنها وعند الإنتهاء يمكنك شطب الخطوط من هذا المكان المؤقت.
ويمكنك أيضا استخدام أداة تأتي مع KDE كما يلي KDE Control Center -> System -> Fonts Installer ثم النقر على adminstrator mode وادخال كلمة الجذر أو بطباعة الأمر التالي وأنت جذر kcmshell kcmfontinst وفي الحالتين النقر على مجلد الخطوط (هناك مجلد خاص ب openoffice) مثلاً TTF ثم اختيار add وبالنسبة للخطوط من نوع pcf انقر على مجلد misc ولا تحاول الضغط على + لرؤية الخطوط الموجودة هناك لأنها عدة آلاف !! ولكن هذا الخيار لا يأتي مع كل التوزيعات(يأتي مع الحديثة فقط) وأظن أن أداة مركز ماندريك أفضل بالنسبة لخطوط TTF.

tipتلميح

برنامج تركيب الخطوط من KDE يمكنه تركيب خطوط من أنواع غير ttf

لإضافة الخطوط من نوع غير ttf مثل pcf مباشرة في إكس يدوياً اكتب الأوامر التالية:

bash$ tar -xvzf arb-pcf-fonts.tgz
bash$ cd folder-name # اسم الدليل الذي يحتوي pcf
bash$ su
password: *******
bash# ls /usr/X11R6/lib/fonts/misc
bash# cp -vi * /usr/X11R6/lib/fonts/misc
bash# cd /usr/X11R6/lib/fonts/misc
bash# mkfontdir
# أعد تشغيل إكس CTRL+ALT+BKSP # أو
bash# xset fp rehash
الآن يصبح لديك خط باسم fixed يدعم العربي، اسمه الكامل
-misc-fixed-medium-r-normal--20-200-75-75-c-100-arabeyes-1
لاحظ أننا استعملنا الدليل /usr/X11R6/lib/fonts/misc لتعمل هذه الطريقة يجب أن يكون هذا الديل موجوداً في ملف إعدادات إكس /etc/X11/XF86Config-4 تحت بند FontPath. لتتأكد أنه قد تم تركيبه استعمل xlsfonts التي تسرد كل الخطوط. مثلاً، اكتب
bash$ xlsfonts | grep arabeyes

لعمل ذلك مع خطوط ttf ، تأكد أن إصدار XFree86 لديك أكبر من 3.3.6 لأن هذا الأخير لا يدعم هذا النوع مباشرة بل عن طريق خادم خارجي. بعد الحصول على ملفات ttf من دليل خطوط ويندوز أو من مواقع الإنترنت انسخها إلى دليل /usr/X11R6/lib/fonts/TrueType أو /usr/X11R6/lib/fonts/TTF أيهما موجود تحت بند FontPath في ملف /etc/X11/XF86Config-4 أو افتح دليل آخر وأضفه تحت بند FontPath الأوامر التالية تقوم بالنسخ وعملية توليد الملفات الوصفية

bash$ mkdir myttf # مكان مؤقت نضع فيه خطوط ttf
bash$ cd myttf
bash$ cp -vi /mnt/win_c/windows/Fonts/tahoma.ttf ./
bash$ cp -vi /mnt/win_c/windows/Fonts/cour.ttf ./
bash$ cp -vi /mnt/win_c/windows/Fonts/arialuni.ttf ./
# أيضاً ضع فيه كل خطوط ttf
# التي تريد تركيبها بواسطة مدير الملفات
bash$ su
password: *******
bash# ls /usr/X11R6/lib/fonts/TrueType
bash# cp -vi * /usr/X11R6/lib/fonts/TrueType
bash# cd /usr/X11R6/lib/fonts/TrueType
bash# ttmkfdir -o fonts.scale && mkfontdir 
bash# xset fp rehash
قد تحتاج لإعادة تشغيل إكس ، لتتأكد من أنه يعمل ابحث عن الخطوط التي تركّبها.
bash$ xlsfonts | grep tahoma
خطوط Ghostscript الخاص بعرض ملفات pdf و ps توجد في /usr/lib/ghostscript/fonts أما TeX فهي /usr/lib/texmf/fonts وهما يستعملان خطوط Type1 وهي خطوط متجهية تشبه ttf يمكن تحويل بينهما ب ttf2pt1 أو ttf2type1. أما الشاشة النصية /usr/share/consolefonts

قد لا تحتاج لتشغيل خادم خطوط إضافي، لكن الإصدارات القديمة بحاجة لواحد منها، أحدها هو xfs يتم تشغيله بواسطة أحد نصوص الإقلاع تأكد من أنه يعمل ب ps -waux | grep xfs إذا لم يكن يعمل فعّل ذلك النص أو يمكنك كتابة

bash# xfs -droppriv -daemon
ثم إعادة تشغيل إكس ليرى إكس الخطوط التي يوفرها له هذا الخادم يجب أن يكونن السطر التالي جزءاً من ملف إعدادات إكس /etc/X11/XF86Config-4
FontPath  "unix/:7100"
المكان الذي يجب نسخ خطوط ttf فيه ليراها هذا الخادم مشار لها في /etc/X11/fs/config تحت بند 'catalogue'

الخادم الآخر هو xfstt إذا كان يعمل انسخ الخطوط إلى /usr/share/fonts/truetype/ ثم اكتب التالي لتجديد قائمته

bash# xfstt --sync
bash# xfstt &
ليرى إكس هذه الخطوط يجب أن تضيف الطر التالي إلى ملف إعداداته
FontPath  "unix/:7101"

ومن الطرق أيضا استخدام الأداة chkfontpath التي تأتي مع معظم التوزيعات الحديثة مثل ريدهات (على القرص الأول) وهي تستخدم لإعداد مكتبة fontconfig كل هذه الطرق للخطوط من نوع ttf (يمكن تنفيذ الخطوات الأولى من الواجهة الرسومية بنسخ ولصق الخطوط وفك ضغط الملف)

bash$ mkdir ~/fonts
# نسخ الخطوط من دليل ويندوز إلى دليل مؤقت
bash$ cp -vi /mnt/win_c/windows/fonts/*.ttf ./
# أو فك ضغط الخطوط المنزلة من الشبكة فيه
bash$ tar -xvzf Free_arb_ttf.tgz 
bash$ su root
password: *******
# إقرأ كيف تستخدم هذه الأداة
bash# chkfontpath --help
bash# man chkfontpath
# إذا كان هناك خطأ ضع القرص الأول وتركّب الأداة كما يلي
bash# rpm -Uvh /mnt/cdrom/RedHat/RPMS/chkfontpath*.rpm
# خطوات تركيب الخطوط
# أولا نفتح دليل جديداً
bash# mkdir /usr/share/fonts/arabttf
# نسخ الخطوط إلى ذلك الدليل
# استبدل ~ahmad/fonts بالمكان المؤقت
bash# cp -vi ~ahmad/fonts/* /usr/share/fonts/arabttf
bash# cd /usr/share/fonts/arabttf
bash# ls -lh # لتتأكد أن الخطوط هناك
# ولعمل الملفان fonts.scale و fonts.dir
bash# ttmkfdir -o fonts.scale && mkfontdir 
# لإضافة الدليل الحالي إلى القائمة
bash# chkfontpath --add `pwd`
bash# fc-cache `pwd`
bash# exit
# بعد التأكد من أن الخطوط  تعمل اشطب الدليل المؤقت
bash$ rm -R ~/fonts

انتبه `` ليست علامة اقتباس بل هي الموجدة تحت زر ~. لاحظ أننا استعملنا الدليل /usr/share/fonts يمكن أن يختلف عندك هذا المجلد ، لمعرفة المستخدم لديك افتح ملف اعدادات fontconfig الذي هو /etc/fonts/fonts.conf حيث يوجد به سطر ما يشير إلى أن دليل الخطوط الرئيسي هو /usr/share/fonts واستخدمنا ahmad على أنه اسم الدخول لذا تكون ~ahmad هي الدليل البيت الخاص بك استبدلها بما هو مناسب

من الضروري أن تحول خطوط ttf إلى pt1 وهي الخطوط التي تستعلمها برامج عرض ps و pdf نقوم بالتحويل باستعمال ttf2pt1 -b fontname.ttf fontname وبعد التحويل نفذ type1inst من المجلد الذي يحتوي هذه الخطوط ثم أضف ملف Fontmap الناتج إلى نهاية ملف /usr/share/gs/6.53/Fontmap.GS وذلك بكتابة

bash# cat FontMap << /usr/share/gs/6.53/Fontmap.GS
طبعا استبدل 6.53 بالإصدار الموجود عندك أو اكتف بضغط TAB ليكمل المسار عنك

لعرض خط معين يمكنك استخدام برنامج gucharmap الذي يعرض الخطوط ويسمح لك باختيار محرف معين (قد لا يكون له مفتاح لكتابته) ثم نسخه ولصقه في أي وثيقة. قد يكون مفيداً عند كتابة المعادلات أو عند التعامل مع الخطوط التي تحتوي رسومات وزخارف.

tipتلميح

تركيب الخطوط لا يعني أن البرامج سوف تستخدمها اذا عليك الآن أن تخبر البرامج بأن تستخدم خطوط عربية بدل الخطوط القديمة

tipتلميح

خطوط مجموعة لينكس السعودية (تبدأ ب Kacst )جميلة ولكنها عريضة إذا استخدمتها لشريط العنوان أو الأزرار تكون غير منطقية ولكنها أنيقة في برامج المكتب والأمور الفنية (المطبوعة) أما طقم خطوط عرب-آيز فهي مجموعة كبيرة من الخطوط الرائعة (تبدأ ب ae ) منها ما هو فني ومنها ما هو مناسب للشاشة

3.6.4 وضع الخطوط العربية لتكون تلقائية

في kde اذهب إلى مركز التحكم الخاص به (في ماندريك قد تجده في قائمة Configure ثم Configure Desktop) تحديداً kde control center -> Look & Feel -> Fonts يظهر لك صندوق حوار به عدد من الخطوط وحجمها غيرها واحداً واحد (أو دفعة واحدة) إلى خط يدعم العربي مثل KacstBook أو Tahoma أو Arial أو ae_AlHor أو ae_AlMateen أو أي خط آخر ثم هناك خانة ل fixed size هنا يجب أن تختار خط من نوع خاص مثل Fixed أو Courier وهي الخطوط التي تكون كل الحروف فيها لها نفس العرض عندما تغير الخط عد وتأكد من أن هذا الخط وضع كما تريد.

في gnome اذهب إلى القائمة (في ماندريك قد تجده في قائمة Configure ثم Gnome) gnome menu -> setting-> gnome control center -> Fonts يظهر لك صندوق حوار به عدد من الخطوط وحجمها غيرها واحداً واحد وإنتبه لل fixed size هنا يجب أن تختار خط من نوع خاص مثل Fixed أو Courier.

وأيضا إذا أردت المزيد افتح الملف ~/.gtkrc-2.0 وابحث عن سطر gtk-font-name = "KacstLetter 10" حيث KacstLetter هو اسم (أو الاسم المستعار) لخط يدعم العربية يمكنك ابداله ب ae_AlHor مثلاً أو دعه على اسم خط غير عربي مثل Sans ولكن أضف خط عربي ليكون بديل عنه(مستعار) كما سنرى ذلك لاحقا

warningتحذير

استخدام خطوط عربية لتكون تلقائية ليس خياراً جيداً لأن الخطوط العربية تحتوي على شكل مزعج أو ممل للخطوط الإنجليزية أضف إلى ذلك أن خطوط مجموعة لينكس السعودية Kacst عريضة جدا وتجعل حجم الأزرار كبير بشكل غير منطقي في برامج KDE لا يوجد حل غير استعمال خطوط عرب-آيز ae أو خطوط مايكروسوفت (لأن الإنجليزي فيها مقبول) أما لبرامج غنوم (مثل موزيلا) تابع معنا الحل إلى الأسماء المستعارة ستتمكن من الجمع بين أي خط انجليزي وعربي

تحذير
حتى لو كنت لا تنوي استعمال KDE ضع خطوط عربية افتراضية في مركز تحكم KDE لأن برامج KDE مثل Kword تقرأ الخطوط من مركز تحكم KDE وبالمثل لو كنت لا تنوي أن تستعمل غنوم بالرغم من ذلك اذهب إلى مركز تحكمها وعرف الخطوط

tipتلميح

الآن جرب أن تكتب بالعربي في خانة Run طبعا دون أن تنفذ، وأي مكان آخر عام مثل صندوق الحوار لإختيار خط وليس داخل برنامج بعينه لتختبر نجاح العملية إذ أن هناك برامج عنيدة

3.6.5 بعض البرامج عنيدة

الآن في أي برنامج لا تظهر فيه العربية بشكل صحيح اذهب إلى قائمة ذلك البرنامج ثم settings ثم خذ configure ثم غير الخط مثلا شغل برنامج kate ثم من قائمة settings خذ configure kate ثم غير الخط وعند فتح ملف نصي تأكد من تحديد الترميز على واحدة من التالية windows-cp1256 أو unicode utf8أو ISO-8859-6 الأولى لملفات ويندوز 95/98/ME أما الثانية فهي نظام عالمي(لكل اللغات) وهو مستخدم في لينكس وويندوز NT/2K/XP أما الثالث فهو الجزء الداخلي من utf-8 ونادر الإستخدام لوحده وهكذا في kwrite و kedit و konquorer و ... وفي برنامج konquorer تأكد من وضع خطوط عربية وذلك في Settings->Configure Konqueror->Fonts و web-browsing و file-browsing ثم Settings->Configure Konqueror->Stylesheets انقر على general ثم custumize ثم base-family ثم ضع صح على "User same family for all text" وأعد تشغيل konquorer

kate
kedit

3.6.6 أسماء الخطوط في اكس

ومن الجدير بالذكر أن الخطوط في إكس لها اسم مكون من 14 مقطع يفصل بينها -(ناقص) وتبدأ به أيضا وهذه الصيغة العامة لاسم الخط

-foundry-family-weight-slant-setwidth-addstyle-pixel- point-resx-resy-spacing-width-charset-encoding
ويمكن أن تكون * إذا لم ترغب في التحديد ، مثلا
-microsoft-tahoma-medium-r-normal--0-0-0-0-p-0-iso8859-6 -*-tahoma-medium-*-*-*-*-*-*-*-*-*-iso8859-6
يستخدم عادة هذا الاسم في ملفات الإعدادات ،لمعرفة ما يقابل الخط استخدم أي نفذ من سطر الأوامر xfontsel -print ويمكنك أيضا معرفة اسم اكس يقابل أي خط وأي ملف بقراءة ملف fonts.dir (وربما يفيدك fonts.scale)من مجلد الخطوط التي عملناها سابقاً كما ويمكن عرض الخط إذا علم اسمه في إكس بواسطة xfd ويمكن تركيب الأمرين معاً xfd -fn $(xfontsel -print) بحيث تختار خطاً ثم يعرضه لك.

3.6.7 أسماء الخطوط المستعارة

الكثير من البرامج تعتمد على مكتبة pango مثل برامج غنوم ومن مزاياها استعمال اسماء مستعارة للخطوط أي إذا طُلب خط معين وحدث مشكلة (غير موجود أو لا يدعم تلك اللغة) تستعمل خط آخر مكانه ونعطي الخط اسم آخر والهدف أنه مثلاً إذا فتحت برنامج يستعمل خط لا يحتوي على الحروف العربية فتقول له استخدم بديل عنه أو ملف يحتوي على خط غير موجود لديك فتعطيه بديلا عنه. تجد قائمة بالأسماء المستعارة للخطوط في ملف /usr/local/etc/pango/pangox.aliases أو /etc/pango/pangox.aliases حيث تحتوي ما يشير إلى اسم الخط وخواصه(عادي أو مائل أو ثخين) مثل sans normal normal normal normal ثم علامة اقتباس ثم اسم الخط بطريقة إكس مثل -*-helvetica-medium-r-normal--*-*-*-*-*-*-*-* ثم فاصلة ‘،‘ ثم اسم الخط البديل (بطريقة إكس أيضاً) وهكذا ثم اقتباس ولأن السطر طويل عادة نضع ‘\‘ ونتابع على السطر التالي أضف خط بديل يدعم العربية (ضعه الثاني) مثل -misc-fixed-medium-r-normal--*-*-*-*-*-*-iso10646-1 أو أي خط آخر كلمة normal كما تعني ليس ثخين ولا مسطر ولا مائل ولا مشطوب و iso10646 تعني UCS أي Universal Character Set وهي نفسها UNICODE وكل تلك النجم لأننا لا نحدد حجم الخط. لمعرفة اسم الخط بطريقة إكس استعمل xfontsel أو اكتب xlsfonts | grep -i FINDWHAT حيث FINDWHAT هو الذي تبحث عنه (جزء من اسم الخط ) مثلاً xlsfonts | grep -i iso8859-6 أو xlsfonts | grep -i iso10646-1 xlsfonts | grep -i muthana . بعد أن تنهي ذلك أعد برامج GTK وغنوم لتستخدم هذا الخط (في مثالنا sans وليس الخط العربي) وستظهر العربية والإنجليزية بالشكل المطلوب. هذا مثال لتوضيح صيغة الملف فقط
# DO NOT COPY/PAST I DELETE MANY LINES THIS IS JUST
# TO SHOW THE FORMAT
# لا تنسخ من هذا الملف فهو فقط للتوضيح 
sans normal normal normal normal \
  "-*-helvetica-medium-r-normal--*-*-*-*-*-*-*-*,\
   -misc-fixed-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
   -*-gulim-medium-r-normal--*-*-*-*-*-*-ksc5601.1987-0,\
   -*-clearlyu-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
   -*-fixed-medium-r-normal--*-*-*-*-*-*-*-*"
sans italic normal normal normal \
    "-*-helvetica-medium-o-normal--*-*-*-*-*-*-*-*,\
    #... 
sans normal normal bold normal \
    #...
sans italic normal bold normal \
    #...
serif normal normal normal normal \
    #...
monospace normal normal normal normal \
    #...
   -misc-fixed-medium-r-normal--*-*-*-*-*-*-iso10646-1,\
    #...

أكبر فائدة لهذا أنني أطلب من البرامج استعمال خط انجليزي جميل مثل Sans أو Sans serf و أحدد له بديل عربي مثل ae_AlHor من pango عندها كل برامج غنوم ستستخدم خط جميل انجليزي وخط آخر جميل للعربي والأزرار لن تكون بحجوم غير منطقية

3.6.8 متصفحات الشبكة

مثل galeon أو mozilla أو konquorer عليك اختيار ترميز عربي مناسب ويفترض أن تتم العملية تلقائياً ولكن بعض مصممي المواقع ينسون اضافة الكود الخاص بذلك إلى مواقعهم (إذا حدث هذا ارسل لهم تحذير) على أي حال يكون الإختيار من قائمة عرض view ولكن أحياناً edit/settings أو settings/configure/prephrals/properties ثم encoding/charset تجربة الخيارات التالية unicode utf8 أو windows-cp1256 أو ISO-8859-6 وهي طرق ترميز اللغة العربية. إذا كنت تستعمل lynx وتريد تصفح الشبكة بالعربية نصياً عبر جهاز قديم يمكنك ذلك بعد تثبيت acon أو akka أو mlterm عند تنفيذ lynx اضغط O ثم اختر Display Charset لتكون تلك التي وضعتها في برنامج التعريب أو UTF8 ثم انتقل إلى بداية الصفحة واضغط enter على تخزين Save ثم إلى نهاية الصفحة واختر Accept إذا لم تحتوي الصفحة على ترميز تلقائي اضغط O ثم حدد الترميز الخاص بالصفحة Page charset.

تلميح
أسماء الملفات على أقسام ويندوز تعتبر موضوع آخر ربما تظهر عندك الآن ؟؟؟؟؟؟؟؟ لهذا تابع معنا الحل

3.6.9 أسماء الملفات

إذا كانت الملفات ذات الأسماء العربية إذا كانت تظهر على شكل رموز غريبة فهذه مسألة خطوط أما إذا كانت تظهر على شكل ؟؟؟؟؟؟ فسبب مشكلتك هو غباء نظام fat فهو يستخدم طريقة مختلفة لتخزين الأسماء لكل لغة بمعنى أن ملفاتك ذات الأسماء العربية لن تظهر بشكل صحيح حتى في ويندوز تركي أو روسي مثلاً. في لينكس تظهر ؟؟؟؟ أي أنك لم تخبره هذا تركي أم روسي أم عربي لذا يجب أن تخبر لينكس بأنها قدمت من ويندوز معرب. (هذه المشكلة تكون محلولة إذا اخترت اللغة العربية هي الأساس وليست لغة ثانوية) ويتم حل المشكلة كما يلي

bash$ man fstab
bash$ su
password: *******
bash# mcedit /etc/fstab
# device	mount_point	type options  ? ?
/dev/hda7	/		ext3 defaults 0 1
none		/proc		proc defaults 0 0
/dev/hda5	none		swap defaults 0 0
# ليس مهما أن تكون نفسها
# وإنما أن تكتب ما هو بالون الأزرق
/dev/hda1  /mnt/win_c vfat umask=0,codepage=864,iocharset=utf8 0 0
/dev/fd0   /mnt/floppy auto noauto,users,codepage=864,iocharset=utf8 0 0
/dev/cdrom /mnt/cdrom  auto noauto,users,codepage=864,iocharset=utf8 0 0
# لاحظ لا مسافات على طرفي المساواة أو الفاصلة
# خزن ثم أخرج (F2,F10)
# أضف سطران إلى نهاية /etc/profile وذلك بـ
bash# echo "export CHARSET=ISO_8859-6" >> /etc/profile
bash# echo "export G_BROKEN_FILENAMES=1" >> /etc/profile
# أو بفتح الملف و إضافتها يدويا
bash# mcedit /etc/profile
...
export CHARSET=ISO_8859-6
export G_BROKEN_FILENAMES=1
# لاحظ لا مسافات على طرفي المساواة
# خزن ثم أخرج (F7,F10)
# ثم أعد تشغييل الجهاز

3.6.10 ترجمة البرامج للعربية

إذا كنت تستعمل برنامج GDM للدخول والخروج (التلقائي في ريدهات) فإنه يمكنك الاعتماد عليه في تحديد الإعدادات المحلية بما فيها الترجمة إلى العربية وذلك بالنقر على Languages ثم اختيار اللغة العربية من القائمة. ولكن لا تجعله يجبر KDE على العربية لأن KDE يتم تغيير اللغة فيه من خلال مركز تحكمه. إذا أردت إضافة لغات إلى قائمة GDM عدّل ملف /etc/X11/gdm/locale.alias بإضافة سطر يحتوي اسم اللغة ثم رمزها مثل ar_JO.UTF-8.

يتم التحكم باللغة عبر متغيّرات البيئة وذلك بتحديد قيم هذه المتغيّرات لتشير للغة المطلوبة (وهذا ما يفعله GDM) ، يمكن تحديد قيم هذه المتغيرات مباشرة قبل تنفيذ البرنامج كما يمكن إضافتها إلى ملف /etc/profile لتحدد تلقائياً عند إقلاع الجهاز. المتغيّرات التي تتحكم باللغة وأمثلة لما تأخذها من قيم كما يلي:
export LC_ALL=ar_JO
export LANG=ar
export LANGUAGE=ar_JO.UTF-8
export LANGUAGELIST='ar_JO:en_GB:en:C'
export LOCALE=ar_JO
export FALLBACKLOCALE=C
export COUNTRY=JO
export OUTPUT_CHARSET=UTF-8
ar.JO تعني عربي و في الأردن وهناك مثلا ar.SA السعودية ، ar.EG مصر.
tipتلميح

أسماء الدول هي حسب معايير ISO-3166 وهي حرفين كبيرين مثلاً AR تعني Argentina و GB تعني United Kingdom.

ثم أعد تشغيل البرنامج الذي تريد ، ستجده الآن مترجماً، ومن سيئات هذه الفكرة أن برنامج مركز التحكم في ماندريك سيصبح معرباً ولكن الحروف ستظهر مقطعة ومن اليسار إلى اليمين هكذا "م ا ظ ن ل ا" ولتلافي هذه المشكلة قم بحذف ملف التعريب لهذا البرنامج من مجلد /usr/share/locale/ar/LC_MESSAGES اسم الملف هو اسم البرنامج مثلاً mcc مع الإمتداد .mo غيّره ليصبح off.FILE.mo أو الأفضل من ذلك بكل بساطة تحويل اللغة بشكل مؤقت للإنجليزية بكتابة LC_ALL=C ثم مسافة ثم اسم البرنامج أو env LC_ALL=C ثم مسافة ثم اسم البرنامج مثلاً LC_ALL=C mcc (تم حل هذه المشكلة في الإصدارات بعد 9.0 من ماندريك) . وحتى تتم ترجمة بعض البرامج يجب تركيب حزمة i18n (تلفظ internationalization) لها مثلا (kde-i18n-ar) هذه الحزمة أصبحت جزء من حزمة KDE ولست بحاجة لتركيبها ولكن على فرض أنك تستخدم اصدارات سابقة أو ما شابه يكون عليك تنزيل ملف tgz أو tbz2 ثم كتابة الأوامر التالية
bash$ tar jxvf kde-i18n-ar.tar.bz2
bash$ cd kde-i18n-ar
bash$ ./configure
bash$ su
bash# make install
ثم تحدد أنك تريد استخدام اللغة العربية وحالياً بعد أن أصبحت جزءاً منه كل ما عليك هو تحديد اللغة ويكون ذلك ب KDE Control Center->Regional & Accessibilty->Country/Region & Language->Add Language ثم اختر اللغة العربية ، لاحظ أنك لست بحاجة إلى ذلك في غنوم فملفات الترجمة جزء من حزمة غنوم أيضاً

اذا أردت أن تعرف ماذا تدعم توزيعتك بدائل ل ar.JO نفذ locale -a وللعربية فقط locale -a | grep ar فاذا حصلت على مشكلة بأن التوزيعة لاتدعم ar.JO مثلا رسالة تفيد التالي عند التنفيذ من سطر الأوامر ar.JO locale isn't recognized يكون عليك أن تضيفها بنفسك

cd /usr/share/i18n/locales/
cp ar.SA ar.JO
 localedef -c -i ar.JO -f UTF-8 ar.JO
	أو
 localedef -c -i ar.JO -f UTF-8 /usr/share/locale/ar.JO
localedef --add-to-archive /usr/share/locale/ar.JO

حيث ar.SA هي أقرب شيء موجود لديك عرفته عن طريق locale -a

الكثير من البرامج العاملة في سطر الأوامر لا تتعامل بشكل جيد مع تركيب الحروف العربية مثل برنامج vim ولحل هذه المشكلة بشكل عام نستخدم برنامج mlterm بنفس طريقة استخدام برنامج gnome-terminal و xterm نزل حزمة rpm ل mlterm وحتي يعمل فأنت بحاجة إلى fibidi

bash$ su
bash# rpm -Uvh mlterm*.rpm fibidi*.rpm
bash# /usr/bin/mlterm-arabize
أو يمكنك ذلك من الملف المصدري إن شئت

أما لتعريب سطر الأوامر حتى في الشاشة النصية عليك ببرنامج acon الذي يأتي مع ماندريك بعد تركيبه اذهب إلى مركز تحكم مركز التحكم ثم فعّل هذه الخدمة Mandrake Control Center->Services أو اكتب acon -s 1 2 3 4 & الأرقام هي رقم الطرفية الافتراضية VT (اضغط CTRL+ALT+O لتحديد نظام الترميز CP-1256 أو ISO-8859-6 التي يسميه البرنامج Translation) وهناك برنامج أفضل منه من عرب-آيز اسمه عكا أزل acon إذا كنت تستعمله ثم نزل الملف المصدري لعكا ثم نفذ

bash$ ./configure
bash$ make
bash$ su
bash# cp keymaps/us-latin1.map /etc/console-tools/
bash# cp keymaps/arabic.kmap /usr/share/keymaps/
bash# mkdir /usr/share/fonts/akka && mkdir /usr/share/fonts/akka/glyph
bash# cp fonts/* /usr/share/fonts/akka/
bash# cp glyph/* /usr/share/fonts/akka/glyph/
bash# cp conf/akka-conf.pl /usr/bin/
bash# cp src/Akka.pm /usr/lib/perl5/
bash# cp src/akka /usr/bin
لتشغيل ال daemon (برنامج مراقب) عكا اكتب وأنت جذر akka & ولتشغيل برامج الذي يتحكم به اكتب وأنت جذر akka-conf.pl وإليك مفاتيح عكا :
SHIST-F10
Insert mode (ltr,rtl -- cursor doesn't move)
SHIST-F11
تغيير لغة لوحة المفاتيح
SHIST-F12
قلب اتجاه الشاشة مثل المرآة

ليعرض برنامج less الملفات العربية بترميز UTF-8 بشكل صحيح (حتى في mlterm) يجب أن يكون مرقوع بنسخة معدلة لتعرف إذا كان less لديك مجهز مسبقا أم لا (غالبا لا) اكتب بالعربي وخزن في ملف داخل المجلد البيت سمه مثلاً readme.txt باستعمال أي محرر نصوص مثل katoob أو kedit أو gedit وتأكد من استعمال utf8 ثم افتح سطر الأوامر واكتب

bash$ export LESSCHARSET='UTF-8'
bash$ less readme.txt
فإذا ظهر كل شيء كما يجب اضف السطر export LESSCHARSET='UTF-8' إلى ملف /etc/profile

وإذا لم يظهر كما يجب نزل حزمة برنامج less المعربة (وهي صغيرة جدا) وتركّبها كالمعتاد

bash$ su
bash# rpm -Uvh less*.rpm
أو تركّبها من الملف المصدري كما شرحنا في قسم تركيب الملف مصدري ثم جرب اختبارها كما ذكرنا

3.6.11 مشكلة ظهور مربعات والرموز

في بعض الحالات كانت تظهر مربعات بدلاً من الكلام حتى مع النصوص الإنجليزية ولوحظة هذه المشكلة عند تنزيل ماندريك 9.0 ليدخل تلقائياً auto-login إلى إحدى الواجهات الرسومية دون المرور ب kdm أو gdm وكانت تعود طبيعية بعد الخروج والدخول من خلال أحدهما ، ربما يكون السبب في هذه الحالة أن الدخول التلقائي لم يشغل bash بكلمات أخرى لم ينفذ /etc/profile ويكون الحل في هذه الحالة بكتابة الأوامر التي أضفناها إليه وهي

export CHARSET=ISO_8859-6
export G_BROKEN_FILENAMES=1
export LC_ALL=ar.JO
export LANG=ar
export LANGUAGE=ar.JO.UTF-8
export OUTPUT_CHARSET=UTF-8
داخل أحد ملفات المجلد /etc/rc.d/ توفر معظم التوزيعات ملف باسم rc.local إذا كان موجوداً تأكد من السماح بتنفيذه chmod +x rc.local وأضف تلك الأسطر إليه إذا لم يكن موجوداً فيمكنك إضافتها في بداية(بعد السطر الأول) من rc.sysinit و أيضا في آخره . يجب أن تكون جذراً وأنت تفعل كل ذلك.

3.6.12 يمكنك أن تسهام

أخيراً شارك في ترجمة برامج لينكس أو عمل برامج جديدة على موقع www.arabeyes.org ليس بالضرورة أن تكون خبيرا

3.6.13 مراجع

يمكنك معرفة المزيد من خلال وثائق عرب آيز مثلا arabic-howto-en


<< السابق كتاب لينكس الشامل التالي >>