«نقاش:الترميز المعنوي للغة العربية»: الفرق بين المراجعتين

من ويكي عربآيز
اذهب إلى: تصفح، ابحث
سطر 49: سطر 49:
 
تحياتي لكم
 
تحياتي لكم
 
[[مستخدم:د.عمرو|د.عمرو]] 07:43, 9 يوليو 2007 (PDT)
 
[[مستخدم:د.عمرو|د.عمرو]] 07:43, 9 يوليو 2007 (PDT)
  +
  +
:: ما العيب في يونيكود؟
  +
* [http://unicode.org/ الموقع الرئيسي]
  +
* [http://www.unicode.org/charts/ قائمة الكتابات المرمز]
  +
* اقتراح الدكتور ذكي، وقد يكون مفيدا في الأنظمة الصناعية. --[[مستخدم:Chahibi|يوسف]] 04:47, 10 يوليو 2007 (PDT)

نسخة 11:47، 10 يوليو 2007

Thanks Hamid, if you require any assistance, please don't hesitate to ask. --Djihed 16:28, 1 December 2006 (PST)

http://www.sinjab.com/TarmeezDemo0.1.zip

الرابط لبرنامج التجريبي هذا لا يعمل، أية فكرة؟ --خالد حسني ١٥:٠٧, ١٩ يناير ٢٠٠٧

uذرا ولكن الأخ خلدون سحب البرنامج لتعديله كما أن محاولتي رفعه إلى الويكي فشلت

الفكرة تحتاج إلي مراجعة

السلام عليكم,

الترميز المقترح لن يحل المشكلة بل سيأتي هو بمشكلة جديدة, فالمستخدم لن يكتب الكلمة من مشتقها بل سيميل أكثر إلي أن يكتب الكلام كما يقرأه , بمعني أن يكتب مثلاًُ "الاستخدام المتكرر" ولا يكتب "خدم/6ال كرر/5م" , والمثال للتوضيح فقط, وهذا سيأتي بمشكلة جديدة وهي فضلاً عن صعوبة ادخال النصوص بهذه الطريقة فإن هناك الحاجة إلي برنامج ادخال نصوص يستطيع فهم هذا الترميز, وهنا ستأتي مشكلة عندما يريد المستخدم كتابة كلمات ليست مشتقة من فعل معروف , وحتي إن حاولنا حصر هذه الكلمات فلن نستطيع حصرها كلها لتنوعها في جميع اللهجات بالإضافة إلي وجود لغات تستخدم نظام الكتابة العربي مثل الفارسية والأوردو وغيرها , ولن نستطيع أن نصنع قواميس لكل هذه اللغات.


إذا ما الحل؟ الحل في رأيي هو في إعادة النظر في مسألة الترميز علي أساس الكلمة, ونستبدل به الترميز المحسن علي أساس الحرف , وهذا الترميز المحسن سيكون خصائصه كالتالي :


Ar new encoding diagram.gif


الترميز علي أساس الحرف العاري , أي بدون النقاط. وهذه الحروف ستكون : ا ب ح د ر س ص ط ع ف ك ل م ن ه لا-حرف(لاحرف بمعني أن هذه علامة معينة أو رقم أو أي شئ آخر ونستخدم البتات التالية لتحديد نوع هذه العلامة بالضبط) , وهذه كما ترون ستة عشر حرفًا , أي يمكن أن يدرجوا في أربعة بتات فقط , ثم أربعة بتات أخري لتحديد عدد النقاط من لا نقاط إلي أربعة نقاط فوق الحرف , والقيم من خمسة إلي تسعة تعني من نقطة إلي أربعة نقاط تحت الحرف والقيمة عشرة تعني همزة فوق الحرف والقيمة أحدي عشر تعني همزة تحت الحرف (لا توجد حروف بها نقاط وهمزات في نفس الوقت , أليس كذلك؟) والقيم من اثنتي عشر إلي خمسة عشر خاضعين للإقتراحات , إذن نحن هنا نتكلم في ثمانية بتات لتحديد الحرف نفسه.

الشق الثاني متعلق بتشكيل الحرف , وهنا ثمانية احتمالات : لا تشكيل , فتحة , كسرة, ضمة , سكون , تنوين فتح , تنوين ضم , تنوين كسر , وهذه الاحتمالات الثمانية يمكن ترميزها في ثلاثة بتات فقط, والبت الرابع سنستخدمه لتحديد هل هناك شدة علي الحرف أم لا , حيث أنه لايمكن أن يكون هناك فتحة وضمة مثلاً في نفس الوقت علي الحرف , لكن الشدة يمكن أن توجد مع أي تشكيل آخر ولذا نخصص لها بت مستقل.ويمكن أن يمتد نظام التشكيل إلي أكثر من أربع بتات إذا احتجنا إلي ادراج أنواع التشكيل الأخري مثل التشكيل القرآني والتشكيلات الزخرفية وأنواع التشكيلات الأخري الموجودة في اللغات الغير عربية والتي تكتب بالحروف العربية, وهذا الأمر نحتاج رأيكم فيه. وبت آخر نستخدمه لتحديد ما إذا كان الحرف هو حرف كامل أو حرف كبير, أي الحرف الأخير في الكلمة , مثل ع بدلاً من عـ , وهذه الخاصية يمكن استخدامها لإجبار محرك رسم الخطوط علي رسم الحروف كاملة/كبيرة وهي ليست في آخر الكلمة وهذا يفيد في حالات كتابة الاختصارات مثل "ج م ع" جمهورية مصر العربية , لو كتبت في الأحوال العادية بدون ترك مسافات لكانت "جمع" وهو بالتأكيد ليس ما نريده. و البتات الثلاثة الأخري لتحديد عدد الكشيدات الزائدة (أو عرض الحرف) لإدراجها في نفس الحرف حتي نتجنب التفريق بين الكلمة التي تحتوي علي كشيدة وتلك التي لا تحتوي علي كشيدة أثناء البحث في النصوص , وذلك بداية من لا كشيدة (الحرف العادي) بحد أقصي 7 كشيدات.


مزايا النظام الجديد :

  • التشكيل مرتبط بالحرف وليس حرف مستقل وبالتالي يوفر المساحة الزائدة التي يستهلكها التشكيل , في حالة اليونيكود مثلاً هذا النص "بِسْمِ اللّهِ الرَّحْمَنِ الرَّحِيمِ" يستهلك مساحة 576 بت بينما في النظام المقترح الجديد لن يستهلك سوي 336 بت فقط. كما أن ارتباط التشكيل وعدد النقاط بالحرف يساعد محرك رسم الخطوط علي تجنب مشكلة رسم التشكيل والنقاط فوق بعضهم البعض.
  • التشكيل منفصل عن الحرف (!) , بمعني أنه بإمكان البرنامج (أو محرك رسم الخطوط) قراءة أي جزء من أجزاء الترميز بصفة مستقلة عن بقية الحرف , علي سبيل المثال , يمكن تهيئة محرك رسم الخطوط بحيث يرسم النص كامل بتشكيله(بقراءة الترميز كله) , أو يرسم النص بدون التشكيل (بقراءة أول ثمانية بتات فقط) أو يرسم النص بدون تشكيل ولا نقاط ولا همزات (بقراءة أول أربعة بتات فقط). وهذه النقطة قد تفيد محرك رسم الخطوط في رسم الحروف المتشابهة بنفس الطريقة ثم وضع الحروف والتشكيل لاحقًا حسب التفاصيل المذكورة مما يقلل من استهلاكها للذاكرة ويقلل من أحجام ملفات الخطوط.
  • إمكانية صنع برامج للتشكيل التلقائي علي نفس النص , حيث يمكن قراءة النص الغير مشكل وكتابة التشكيل عليه بدون تغيير الترميز ولا استهلاك مساحة أكبر, بالإضافة إلي إمكانية صنع برامج لإدخال النصوص العربية يقوم بتحليل النص المدخل وتهيئة التشكيل تلقائيًا حسب التحليل الإملائي والنحوي أثناء الإدخال في صورة مشابهة لبرامج إدخال النصوص الصينية مثلاً مع الفارق.
  • ليس فقط استيعاب جميع أشكال الحروف العربية بل فتح آفاق جديدة , حيث يمكن إنتاج أشكال من الحروف لم تكن موجودة من قبل , مثل الباء وتحتها أربعة نقاط أو القاف وفوقها همزة مثلاً, ويمكن استخدام تلك الحروف كرموز برمجية ( في حالة لغة برمجة أو نظام تشغيل عربي مثلاً ).

مشاكل في النظام الجديد وحلها :

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

حل هذه المشكلة بسيط , فبقراءة أول أربعة بتات نحدد كيفية التعامل مع بقية البتات , فإذا كانت الأربع البتات الأولي تدل علي حرف فتترجم بقية البتات علي أنها خواص هذا الحرف كما شرح بالسابق, أما إذا كانت أول أربعة بتات تدل علي "لا-حرف" بكونها أصفار مثلاً ففي هذه الحالة تترجم بقية البتات الاثني عشر المتبقية علي أي نطاق ترميز نتفق علي تحديده , ويشمل الحروف الإنجليزية والأرقام والمسافة والنجمة والشباك وكل هذه العلامات.

  • ماذا عن اليونيكود؟ هل نخالف الإتجاه العالمي؟

إذا نجح مشروع هذه الترميز لربما نحاول إضافته إلي اليونيكود ويصبح هو الإتجاه الرسمي. لا أدري إن كان هذا ممكنًا.

هذا كل ما أستطيع التفكير فيه الآن , تحياتي لكم د.عمرو 07:43, 9 يوليو 2007 (PDT)

ما العيب في يونيكود؟