يكثر الحديث عند تصميم الحروف الحاسوبية عن خارطة اليونوكود، وخطوط اليونوكود، ونظام التشفير المسمى اليونوكود، والرمز اليونوكودي لكل حرف… لذا رأيت أن أكتب قليلاً عن ذلك لعلي ألقي بعض الضوء على هذا النظام الرائع الذي يحمل في طياته مستقبلاً رائعاً لكافة البرامج ثنائية اللغة …
اتحاد اليونوكود (The Unicode Consortium):
مؤسسة غير ربحية مقرها في كاليفورنيا، وتضم العديد من مطوري اليونوكود، وقد أسست من أجل تطوير وتوسيع وترويج استعمال نظام اليونوكود المعياري، وتتمثل في الاتحاد العديد من الشركات المهتمة بصناعة الحاسوب والبرامج الحاسوبية ولا سيما الشركات التي تهتم بالبرامج الكتابيــة متعـددة اللغات، مثل: Apple وIBM وMicrosoft وAdobe وHP وغيرها، وكل شركة تسعى للانضمام لهذا الاتحاد عليها دفع رسوم عضوية سنوية.وتملك هذه المؤسسة هدفاً طموحاً تسعى من وراءه إلى استبدال معظم أنظمة التشفير للحروف الموجودة إلى تشفير اليونوكود وكذلك إلى نظامها المعياري Unicode Transformation Format – UTF.
ولقد كان لنجاح اليونوكود بتوحيد محموعات المحارف أن قد قادنا إلى الوصول إلى العالمية في برامج الحاسوب، حيث تم تطبيق هذا النظام في العديد من المجالات التقنية ولا سيما أنظمة البرمجة الحديثة.
ففي أواخر الثمانينات كانت هناك محاولتين مستقلتين من أجل إنشاء مجموعة فردية ذات خصائص موحدة. أولها كان مشروع ISO 10646 لـ International Organization for Standardization والآخر مشروع اليونوكود Unicode 1.0 من مجموعة اتحاد منتجي البرمجيات ثنائية اللغة (ومعظمهم من الولايات المتحدة الأمريكية).
ولحسن الحظ، فإن مشاركة كلا المشروعين أثبت بحلول عام 1991 أن كلتا المجموعتين المختلفتين والمتحدتين في السمات لا تلبيان ما يحتاجه العالم تماماً.
ولقد تلاقت جهودهما وعملا معاً على إنشاء خارطة تشفير واحدة ووحيدة. وعلى الرغم من اتحاد مجموعتي Unicode Consortium و (ISO/IEC 10646 (JTC 1/SC 2/WG 2 اتفقتا على العمل معاً وبمعايير دقيقة من أجل إنتاج تشفير عالمي واحد للنصوص متعددة اللغات، فقد عملا أيضاً على المحافظة على خرائط التشفير الخاصة لكل مننهما (أي Unicode و ISO 10646).
ونتيجة لعملهما معاً فقد تماثل Unicode 1.1 مع ISO 10646-1:1993 في العديد من المحارف والخصائص، وتماثل Unicode 3.0 مع ISO 10646-1:2000، وأضاف Unicode 3.2 الترميز ISO 10646-2:2001 إليه، وكان Unicode 4.0 متوافقاً مع ISO 10646:2003، أما النسخة الحديثة من Unicode 5.0 فهي متوافقـــة مــع ISO 10646:2003 بالإضافة إلى تعديلاتها 1-3.
والجدير بالذكر أن كل إصدارات Unicode منذ الإصدار الثاني متوافقة ومتشابهة، والجديد في كل إصدار هو إضافة رموز جديدة فقط دون إزالة أو تغيير للرموز الموجودة في المستقبل.
الشفرة الموحدة “Unicode”:
“Unicode” هو معيار صناعي تم تصميمه لتمكين المحارف والرموز في كافة الأنظمة الكتابية في العالم من أن تتمثل من خلال الكمبيوتر. وهي تتمشى مع المعايير العالمية وقد تم نشرها في شكل كتاب باسم مقاييس اليونوكود “Unicode Standerd” (ومؤخراً ظهرت النسخة الحديثة منه “Unicode Standerd 6.1”.
وهي وتتكون “Unicode” من قائمة بأسماء المحارف وطريقة التشفير والرقم اليونوكودي لكل حرف. ومن المعروف أن كل الحواسيب تتعامل فقط مع الأرقام، وتقوم بتخزين الأحرف والمحارف الأخرى بأن تعطي رقماً معيناً لكل منها. وقبل اختراع “Unicode”، كان هناك المئات من أنظمة التشفير التي تخصص أرقاماً مختلفة لهذه المحارف، ولم يكن هناك نظاماً واحداً للتشفير يحتوي على جميع المحارف الضرورية.
فعلى سبيل المثال، فإن الاتحاد الأوروبي لوحده، احتوى العديد من الشفرات المختلفة ليغطي جميع اللغات المستخدمة لدول الاتحاد. كما أنه في ذلك الوقت وبافتراض أن لدينا لغة واحدة، كاللغة الإنجليزية، فإن جدول شفرة واحد لم يكن كافياً لتغطية جميع الأحرف وعلامات الترقيم والرموز الفنية والعلمية الشائعة الاستعمال لهذه اللغة. كما يلاحظ على أنظمة التشفير المختلفة أنها تتعارض مع بعضها البعض. أي بعبارة أخرى، يمكن استخدام جدولي تشفير لتمثيل محرفين مختلفين، أو رقمين مختلفين لتمثيل نفس المحرف، وهذا يشكل بحد ذاته مشكلة برمجية و خاصة لأي جهاز خادم (server)، فيجب أن تكون لديه القدرة على التعامل مع عدد كبير من الشفرات المختلفة، ويجب تصميمه على هذا الأساس. ومع ذلك، فعندما تمر البيانات عبر أنظمة مختلفة، فإنه توجد هناك خطورة لضياع أو تحريف بعض هذه البيانات.
“Unicode” تغير هذا كليـاً!
تخصص الشفرة الموحدة “Unicode” رقماً وحيداً لكل محرف في جميع اللغات العالمية، وذلك بغض النظر عن نوع الحاسوب أو البرامج المستخدمة. وقد تـم تبني مواصفة “Unicode” مــن قبـل كبرى شركات إنتاج أنظمة الحواسيب فـي العالم، مثل: IBM وMicrosoft وAdobe وHP وOracle وSun وغيرها. وقد قاد نجاح يونوكود في توحيد أنظمة تشفير الحروف إلى انتشاره واستعماله عالمياً ومحلياً في جميع برامج الحاسوب، حيث تم تطبيق هذه المعيارية على العديد من التقنيات، وخاصة تلك التي تستعمل لغة XML ولغة جافا البرمجية، والعديد من أنظمة التشغيل الحديثة التي أصبحت لا تستغني عن يونوكود.
إن بزوغ مواصفة “Unicode” وتوفُّر الأنظمة التي تستخدمه وتدعمه؛ يعتبر من أهم الاختراعات الحديثة في عولمة البرمجيات لجميع اللغات في العالم. وإن استخدام “Unicode” في عالم الانترنت سيؤدي إلى توفير كبير مقارنة مع استخدام المجموعات التقليدية للمحارف المشفرة. كما أن استخدام “Unicode” سيُمكِّن المبرمج من كتابة البرنامج مرة واحدة، واستخدامه على أي نوع من الأجهزة أو الأنظمة، ولأي لغة أو دولة في العالم أينما كانت، دون الحاجة لإعادة البرمجة أو إجراء أي تعديل. وأخيراً، فإن استخدام “Unicode” سيمكن البيانات من الانتقال عبر الأنظمة والأجهزة المختلفة دون أي خطورة لتحريفها، مهما تعددت الشركات الصانعة للأنظمة ومهما كانت لغة المستخدم أو حتى الدول التي تمر من خلالها هذه البيانات
المراجع:
تم كتابة هذا المقال بترجمة بعض الموضوعات المذكورة في موقع يونوكود www.unicode.org بعد أخذ الإذن الرسمي منها. بالإضافة إلى مقالات تتحدث عن ذات الموضوع من الإنترنت.