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

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

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

Taha.zerrouki@gmail

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

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

الشكالية

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

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

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

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

أهم المسائل

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

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

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

الترميز

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

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

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

(CP 1256)

ترميز

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

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

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

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

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

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

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

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

Windows 1256

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

UTF-8

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

HTML ترميز الملف

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

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

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

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

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

ترميز ملف

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

ترميز ملف

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

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

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

إعداد النظام

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

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

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

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

إعداد النظام

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

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

إعداد النظام

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

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

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

Unicode

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

Unicode

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

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

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

Unicode

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

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

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

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

.المعقدةUTF-16

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

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

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

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

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

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

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

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

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

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

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

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

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

أحرف التحكم

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

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

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

Python

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

>>7 ر<<

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

PHP

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

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

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

Ar-PHP.org

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

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

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

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

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

MySQL

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

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

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

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! ?>

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

العرض

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

العرض

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

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

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

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

التجاهات

المنغولية

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

التجاهات

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

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

HTML التجاه

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

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

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

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

CSS

div{direction:rtl;}

Direction : rtl, ltr , inherit

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

أحرف التحكم

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

مثال

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

PDFRLE

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

العرض

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

تشبيك الحروف

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

تشبيك الحروف

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

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

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

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

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

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

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

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

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

http://tadween.sourceforge.net/

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

برمجيا

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

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

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

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

BiDiخوارزمية

0123456

ةيبرعلا

في الذاكرة

في العرض

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

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

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

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

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

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

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

pyfribidi

pyfribidi import log2vis

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

Bidi(s) Shape(s)

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

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

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

ـهه + ـ ه + ه =ZWJه

Zero width joinerU+200D

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

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

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

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

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

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

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

Zero width non joiner

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

مشاريع

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

مشاريعنا

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

للتصال

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

للتصال[email protected]

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


Top Related