تطوير البرمجيات بالعربية المسائل والطرائق

Post on 27-Jun-2015

1.299 views 6 download

description

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

Transcript of تطوير البرمجيات بالعربية المسائل والطرائق

تطوير البرمجيات بالعربية المسائل والطرائق

طه زروقيالمدرسة الوطنية العليا للمعلوماتية الجزائر

Taha.zerrouki@gmail

مخيم غوغل للتدريب

الشكالية

أهمية تطوير البرمجيات بالعربيةالمسائل التقنية المتعلقة

أهمية تطوير البرمجيات بالعربية

أهم المسائل

التعامل مع الترميزاختيار الترميزترميز صفحات الويب إعداد النظامالتعامل البرمجياليونيكود

عرض النصالكتابة من اليمين إلى اليسار تشبيك الحرف

الترميز

ترميز العربية

ISO-8859-6  UTF-8 1256 وندوز

(CP 1256)

ترميز

متعدد اللغات -

يشمل العربية والفرنسية والنجليزية

مسألة التراميز في اللغات الخرى

غير متعلقة بالعربية فقط

ترميز صفحات الويب

Windows 1256

UTF-8

HTML ترميز الملف

لتحديد الترميز في ملفHTML نضع <head> <META http-equiv="Content-Type"

content="text/html; charset=UTF-8"> </head>

ترميز الملفات

ترميز ملف

ترميز ملف

إعداد نظام التشغيل

إعداد النظام

إعداد النظام إذا كان ل يدعم العربية تلقائياظهور رموز غريبةتقّطع الحروف

مشاكل عرض البرامج على وندوز

إعداد النظام

إعدادات إقليميةتمكين النصوص مثل العربية

إعداد النظام

للتعامل مع البرمجيات التي ل تستخدم يونيكود، تحديدالترميز التلقائي

الترميز العالمي الموّحد

Unicode

Unicode

هي مجموعة رموز عالمية تستخدم لتعريف جميع الرموزوالحروف المستخدمة في أغلب لغات العالم

ت باي4 إلى 1يستخدم من.قابل للثراءUnicode.org

Unicode

تمثيل يونيكود

هناك ثلثة أنواع رئيسية تستخدم حاليا لترميز Unicode:UTF-8

بايت إذا كانت 1وهو المفضل لدى مبرمجي الويب، حيث يستخدم بايت للرموز 4 إلى 2، وتستخدم ASCII الرموز موجودة في ترميز

.المعقدةUTF-16

بايت للترميز إذا كانت الرموز موجودة في2هذا الترميز يستخدم إما Basic Multilingual Plane) BMP) بايت للرموز الغير 4و

.موجودةUTF-32 : بايت على الدوام4 يستخدم .

تمثيل يونيكود

Aא好

Code pointU+0041U+05D0U+597DU+233B4

UTF-841D7 90E5 A5 BDF0 A3 8E B4

UTF-1600 4105 D059 7DD8 4C DF B4

UTF-3200 00 00 4100 00 05 D000 00 59 7D00 02 33 B4

الحروف العربية في اليونيكود

العربية الساسية العلمات القرآنيةالعربية الموسعة

الفارسيةالردوالبشتوالكرديةاللغات الفريقية

ل، لالتراكيب مثل

العلمات القرآنية في اليونيكود

أحرف التحكم

التعامل مع التراميز

Python

يتعامل بيثون مع اليونيكود بطريقة شفافة #!/usr/bin/python # -*- coding=utf-8 -*- string=u"العربية" print len(string) print string[3]

>>7 ر<<

PHP

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

بايتاتت الستعانة ببعض المكتبات مثلmbstring مكتبةar-php

Ar-PHP.org

مزايا مشروعPHPواللغة العربية التلخيص اللي للنص العربي •

• البحث بدللة ساق الكلمة• معالجة إظهار الحروف العربية المتصلة

• عرض التواريخ بالعربية أو الهجرية• الترجمة اللفظية للكلمات

• التفقيط: كتابة الرقام العربية

MySQL

استعلم إضافة MYSQL هذا كي ينفذ مباشرة بعد التصال بقواعد البيانات:

set character_set_server='utf8'; set names 'utf8’;

MySQL

أو بلغةphp <?php mysql_connect($db_hostname, $db_username,

$db_password); mysql_query("set character_set_server='utf8'"); mysql_query("set names 'utf8'"); // The rest of you php code! ?>

العرض

العرض

ثنائية التجاهتشبيك الحروف

ثنائية التجاه

التجاهات

المنغولية

التجاهات

الصينيةاليابانيةالكورية

HTML التجاه

استعمال محدد التجاه dir = LTR | RTL

LTR: Left-to-right text or table. RTL: Right-to-left text or table.

<p dir=‘rtl’> <html dir=‘rtl’>

CSS

div{direction:rtl;}

Direction : rtl, ltr , inherit

أحرف التحكم

مثال

<title>&#x202B;المشروع(تجريبي)&#x202C;</title>

PDFRLE

العرض

ثنائية التجاه

تشبيك الحروف

تشبيك الحروف

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

تشابك الحروف في الهندية

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

بعض البرامج ل تستخدم إعدادات النظام في التعامل معالحروف

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

استعمال برامج وسيطة

http://tadween.sourceforge.net/

برمجيا

لتطوير بعض التطبيقات التي ل تستخدم ما يوفر نظامالتشغيل، أي لها محرك المعالجة الرسومية الخاص مثل:

برامج التصميم والرسماللعاب

نستعين بمكتباتBidi GNU Fribidi : fribidi.org Python friBidi : pyfribidi.sf.net

BiDiخوارزمية

0123456

ةيبرعلا

في الذاكرة

في العرض

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

pyfribidiمثال لستعمال

لعبة كلمات عربية، اجمعن الكلمات يالحروف لتكو

المطلوبة على الشاشة

http://arabicwordslide.sf.nethttp://arabicwordslide.sf.net

pyfribidi

pyfribidi import log2vis

self.image = self.font.render(log2vis(_SCORE+" %d" % self.score), 1, (255,255,255))

Bidi(s) Shape(s)

في التشبيك أحرف التحكم

: هـ1433كتاب التاريخ الهجري

ـهه + ـ ه + ه =ZWJه

Zero width joinerU+200D

في التشبيك أحرف التحكم

ويك لول الصبر ما كنـ ـت ملت الكيس تبرا

في التشبيك أحرف التحكم

المدرسة الوطنية العليا للعلم اللي

متوتعتإتآموعإآ•

Zero width non joiner

مشاريع

مشاريعنا

للتصال

مدونتيhttp://blog.tahadz.com

للتصالTaha.zerrouki@gmail.com

معلومات وروابط المشاريع على مدونتي