57
رمجيات بالعربية تطوير الب والطرائقمسائل ال طه زروقيتية الجزائرعلومالميا لعل المدرسة الوطنية الTaha.zerrouki@gmail لتدريب لخيم غوغل م

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

Embed Size (px)

DESCRIPTION

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

Citation preview

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]

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