مجموعة الأحرف المشفرة العالمية

مجموعة الأحرف المشفرة العالمية ( UCS ، يونيكود ) هي مجموعة قياسية من الأحرف محددة بموجب المعيار الدولي ISO / IEC  10646، تكنولوجيا المعلومات - مجموعة الأحرف المشفرة العالمية (UCS) (بالإضافة إلى التعديلات على هذا المعيار)، وهي أساس العديد من ترميزات الأحرف ، وتتحسن مع إضافة أحرف من أنظمة كتابة لم تكن ممثلة سابقًا. [ 1 ]

يضم نظام UCS أكثر من 1.1 مليون نقطة ترميز متاحة للاستخدام/التخصيص، ولكن أول 65,536 نقطة فقط، وهي المستوى الأساسي متعدد اللغات (BMP)، كانت قد دخلت حيز الاستخدام الشائع قبل عام 2000. بدأ هذا الوضع بالتغير عندما أصدرت جمهورية الصين الشعبية في عام 2006 قرارًا يقضي بضرورة دعم جميع البرامج المباعة في نطاق اختصاصها لمعيار GB 18030. وقد استلزم ذلك من البرامج المخصصة للبيع في الصين تجاوز المستوى الأساسي متعدد اللغات (BMP). [ 2 ]

يترك النظام عمداً العديد من نقاط الترميز غير المخصصة للأحرف، حتى في نظام BMP. ويفعل ذلك للسماح بالتوسع المستقبلي أو لتقليل التعارضات مع أشكال الترميز الأخرى.

عرّف الإصدار الأصلي من نظام ترميز UCS ترميز UTF-16 ، وهو امتداد لنظام UCS-2، لتمثيل نقاط الترميز خارج نطاق الترميز الأساسي (BMP). تبقى مجموعة من نقاط الترميز في المنطقة الخاصة (S) من نطاق الترميز الأساسي غير مُخصصة للأحرف. يمنع نظام UCS-2 استخدام قيم الترميز لهذه النقاط، بينما يسمح نظام UTF-16 باستخدامها في أزواج. اعتمد يونيكود أيضًا ترميز UTF-16، ولكن في مصطلحات يونيكود، تُصبح عناصر النصف العلوي من المنطقة "بدائل عليا"، وعناصر النصف السفلي من المنطقة "بدائل سفلى".

يستخدم ترميز UTF-32 (المعروف سابقًا باسم UCS-4) أربعة بايتات (إجمالي 32 بتًا) لترميز حرف واحد من مساحة الترميز. وبذلك، يسمح UTF-32 بتمثيل ثنائي لكل نقطة ترميز (اعتبارًا من عام 2024) في واجهات برمجة التطبيقات وتطبيقات البرامج.

تاريخ

شرعت المنظمة الدولية للتوحيد القياسي (ISO) في وضع مجموعة الأحرف العالمية في عام 1989، ونشرت مسودة ISO 10646 في عام 1990. وكان هيو ماكجريجور روس أحد مهندسيها الرئيسيين.

تم إنجاز هذا العمل بشكل مستقل عن تطوير معيار يونيكود ، الذي كان قيد التطوير منذ عام 1987 من قبل شركتي زيروكس وأبل .

اختلفت مسودة معيار ISO 10646 الأصلية اختلافًا كبيرًا عن المعيار الحالي. وقد حددت ما يلي:

  • 128 مجموعة من
  • 256 طائرة من
  • 256 صفًا من
  • 256 خلية،

يبلغ إجمالي عدد الأحرف الظاهر 2,147,483,648 حرفًا، ولكن في الواقع، لم يكن المعيار يسمح إلا بترميز 679,477,248 حرفًا، إذ منعت السياسة استخدام قيم البايت لرموز التحكم C0 وC1 (من 0x00 إلى 0x1F ومن 0x80 إلى 0x9F، بالصيغة الست عشرية ) في أي من البايتات الأربعة التي تحدد المجموعة والمستوى والصف والخلية. فعلى سبيل المثال، كان الحرف اللاتيني الكبير A موجودًا في المجموعة 0x20، والمستوى 0x20، والصف 0x20، والخلية 0x41.

يمكن ترميز أحرف معيار ISO/IEC 10646 البدائي هذا بإحدى الطرق الثلاث التالية:

  1. UCS-4، أربعة بايتات لكل حرف، مما يتيح ترميز جميع الأحرف ببساطة؛
  2. UCS-2، بايتان لكل حرف، مما يتيح ترميز المستوى الأول، 0x20، المستوى الأساسي متعدد اللغات، الذي يحتوي على أول 36864 نقطة ترميز، بشكل مباشر، والمستويات والمجموعات الأخرى عن طريق التبديل إليها باستخدام تسلسلات الهروب ISO/IEC 2022 ؛
  3. UTF-1 ، الذي يقوم بتشفير جميع الأحرف في تسلسلات من البايتات ذات أطوال متفاوتة (من 1 إلى 5 بايتات، لا يحتوي كل منها على رموز تحكم).

في عام 1990، ظهرت مبادرتان لإنشاء مجموعة أحرف عالمية: يونيكود ، الذي يستخدم 16  بت لكل حرف (65,536 حرفًا ممكنًا)، ومعيار ISO/IEC 10646. رفضت شركات البرمجيات متطلبات التعقيد والحجم لمعيار ISO، وتمكنت من إقناع عدد من الهيئات الوطنية التابعة له بالتصويت ضده. أدرك مسؤولو ISO أنهم لا يستطيعون الاستمرار في دعم المعيار بصيغته الحالية، فتفاوضوا على توحيد معيارهم مع يونيكود. طرأت تغييراتٌ رئيسية: رفع القيود المفروضة على الأحرف (حظر قيم رموز التحكم)، مما أتاح تخصيص نقاط الترميز؛ ومزامنة ذخيرة المستوى الأساسي متعدد اللغات مع ذخيرة يونيكود.

في غضون ذلك، ومع مرور الوقت، تغير الوضع في معيار يونيكود نفسه: إذ بدا أن 65,536 حرفًا غير كافية، وبدأ المعيار، بدءًا من الإصدار 2.0، يدعم ترميز 1,112,064 نقطة ترميز من 17 مستوى باستخدام آلية UTF-16 البديلة. ولهذا السبب، اقتصر معيار ISO/IEC 10646 على احتواء أكبر عدد ممكن من الأحرف التي يمكن ترميزها بواسطة UTF-16، أي ما يزيد قليلًا عن مليون حرف بدلًا من أكثر من 679 مليونًا. أُدمج ترميز UCS-4 الخاص بمعيار ISO/IEC 10646 في معيار يونيكود مع تقييده بنطاق UTF-16، تحت اسم UTF-32 ، على الرغم من أنه يكاد يكون معدوم الاستخدام خارج البيانات الداخلية للبرامج.

قام روب بايك وكين طومسون ، مصمما نظام التشغيل Plan 9 ، بابتكار ترميز جديد وسريع ومصمم جيدًا ذو عرض مختلط كان متوافقًا أيضًا مع الإصدارات السابقة من ASCII ذي 7 بت ، والذي أصبح يسمى UTF-8 ، [ 3 ] وهو حاليًا ترميز UCS الأكثر شيوعًا.

الاختلافات عن يونيكود

يتشارك كل من معيار ISO/IEC 10646 ومعيار Unicode نفس مجموعة الأحرف والأرقام - حيث توجد الأحرف نفسها بنفس الأرقام في كلا المعيارين، مع أن Unicode يُصدر إصدارات جديدة ويضيف أحرفًا جديدة بوتيرة أسرع. يحتوي Unicode على قواعد ومواصفات خارج نطاق ISO/IEC 10646. يُعد ISO/IEC 10646 خريطة أحرف بسيطة، وامتدادًا لمعايير سابقة مثل ISO/IEC 8859. في المقابل، يُضيف Unicode قواعد للترتيب ، وتوحيد الأشكال ، وخوارزمية ثنائية الاتجاه للنصوص المكتوبة من اليمين إلى اليسار مثل العربية والعبرية. لتحقيق التوافق بين المنصات، خاصةً عند استخدام النصوص ثنائية الاتجاه، لا يكفي دعم ISO/IEC 10646؛ بل يجب تطبيق Unicode.

لدعم هذه القواعد والخوارزميات، يُضيف يونيكود العديد من الخصائص لكل حرف في المجموعة، مثل الخصائص التي تُحدد فئة الحرف ثنائية الاتجاه الافتراضية، والخصائص التي تُحدد كيفية دمج الحرف مع الأحرف الأخرى. إذا كان الحرف يُمثل قيمة عددية، مثل الرقم الأوروبي '8' أو الكسر الشائع '¼'، تُضاف هذه القيمة العددية أيضًا كخاصية للحرف. يهدف يونيكود من خلال هذه الخصائص إلى دعم معالجة النصوص المتوافقة مع لغات متعددة.

تدعم بعض التطبيقات أحرف ISO/IEC 10646، لكنها لا تدعم Unicode بشكل كامل. أحد هذه التطبيقات، Xterm ، يستطيع عرض جميع أحرف ISO/IEC 10646 التي لها تطابق حرف-رمز واحد واتجاه واحد. كما يمكنه التعامل مع بعض علامات الدمج باستخدام طرق بسيطة للرسم فوق الأحرف، لكنه لا يستطيع عرض العبرية (ثنائية الاتجاه)، أو الديفاناغارية (حرف واحد إلى عدة رموز)، أو العربية (كلا الميزتين). تستخدم معظم تطبيقات واجهة المستخدم الرسومية إجراءات رسم النصوص القياسية لنظام التشغيل التي تتعامل مع هذه النصوص، مع أن هذه التطبيقات نفسها لا تتعامل معها دائمًا بشكل صحيح.

بالاستناد إلى مجموعة الأحرف المشفرة العالمية

يُعدّ استخدام ISO/IEC 10646 ، وهو مرجع عام غير رسمي لمجموعة معايير ISO/IEC 10646، مقبولاً في معظم النصوص النثرية. وعلى الرغم من كونه معيارًا منفصلاً، يُستخدم مصطلح Unicode بشكل شائع وغير رسمي عند مناقشة نظام ترميز Unicode الموحد (UCS). مع ذلك، يجب أن تُشير أي مراجع معيارية لنظام UCS كمنشور إلى سنة الإصدار بالصيغة ISO/IEC 10646:{year} ، على سبيل المثال: ISO/IEC 10646:2014 .

العلاقة مع يونيكود

منذ عام ١٩٩١، عمل اتحاد يونيكود والمنظمة الدولية للمعايير /اللجنة الكهروتقنية الدولية (ISO / IEC ) على تطوير معيار يونيكود ("يونيكود") ومعيار ISO/IEC 10646 بالتوازي. تتطابق مجموعة الأحرف وأسماءها ونقاط ترميزها في الإصدار ٢.٠ من يونيكود تمامًا مع تلك الموجودة في معيار ISO/IEC 10646-1:1993 مع تعديلاته السبعة الأولى المنشورة. بعد نشر الإصدار ٣.٠ من يونيكود في فبراير ٢٠٠٠، أُضيفت الأحرف الجديدة والمحدثة المقابلة إلى نظام ترميز يونيكود (UCS) عبر معيار ISO/IEC 10646-1:2000. في عام ٢٠٠٣، دُمج الجزءان ١ و٢ من معيار ISO/IEC 10646 في جزء واحد، والذي شهد منذ ذلك الحين عددًا من التعديلات التي أضافت أحرفًا إلى المعيار بالتزامن تقريبًا مع معيار يونيكود.

  • ISO/IEC 10646-1:1993 = Unicode 1.1
  • ISO/IEC 10646-1:1993 بالإضافة إلى التعديلات من 5 إلى 7 = يونيكود 2.0
  • المعيار ISO/IEC 10646-1:1993 بالإضافة إلى التعديلات من 5 إلى 7 = يونيكود 2.1 باستثناء رمز اليورو ورمز استبدال الكائن ، واللذان تم تضمينهما في التعديل 18
  • ISO/IEC 10646-1:2000 = Unicode 3.0
  • ISO/IEC 10646-1:2000 و ISO/IEC 10646-2:2001 = Unicode 3.1
  • ISO/IEC 10646-1:2000 بالإضافة إلى التعديل 1 و ISO/IEC 10646-2:2001 = Unicode 3.2
  • ISO/IEC 10646:2003 = Unicode 4.0
  • ISO/IEC 10646:2003 بالإضافة إلى التعديل 1 = Unicode 4.1
  • معيار ISO/IEC 10646:2003 بالإضافة إلى التعديلين 1 و2 = يونيكود 5.0 باستثناء أحرف ديفاناغاري GGA وJJA وDDDA وBBA، والتي تم تضمينها في التعديل 3
  • ISO/IEC 10646:2003 بالإضافة إلى التعديلات من 1 إلى 4 = Unicode 5.1
  • ISO/IEC 10646:2003 بالإضافة إلى التعديلات من 1 إلى 6 = Unicode 5.2
  • ISO/IEC 10646:2003 بالإضافة إلى التعديلات من 1 إلى 8 = ISO/IEC 10646:2011 = Unicode 6.0 باستثناء رمز الروبية الهندية
  • ISO/IEC 10646:2012 = Unicode 6.1
  • ISO/IEC 10646:2012 = Unicode 6.2 باستثناء رمز الليرة التركية ، والذي تم تضمينه في التعديل 1
  • ISO/IEC 10646:2012 = Unicode 6.3 باستثناء علامة الليرة التركية، المدرجة في التعديل 1، وخمسة أحرف تحكم ثنائية الاتجاه (علامة الحرف العربي، وعزل من اليسار إلى اليمين، وعزل من اليمين إلى اليسار، وأول عزل قوي، وعزل اتجاهي عام)، المدرجة في التعديل 2
  • ISO/IEC 10646:2012 بالإضافة إلى التعديلين 1 و2 = Unicode 7.0 باستثناء رمز الروبل
  • ISO/IEC 10646:2014 بالإضافة إلى التعديل 1 = يونيكود 8.0 باستثناء رمز لاري ، وتسعة رموز صينية يابانية كورية موحدة، و41 رمزًا تعبيريًا (إيموجي).
  • معيار ISO/IEC 10646:2014 بالإضافة إلى التعديلين 1 و2 = يونيكود 9.0 باستثناء رموز أدلام ونيوا ورموز التلفزيون الياباني و74 رمزًا تعبيريًا ورمزًا آخر .
  • ISO/IEC 10646:2017 = Unicode 10.0 باستثناء 285 حرفًا من حروف هينتايغانا ، و3 أحرف من حروف زانابازار سكوير ، و56 رمزًا تعبيريًا (إيموجي).
  • ISO/IEC 10646:2017 بالإضافة إلى التعديل 1 = Unicode 11.0 باستثناء 46 حرفًا كبيرًا من اللغة الجورجية (Mtavruli) ، و5 رموز صينية يابانية كورية موحدة، و66 رمزًا تعبيريًا (إيموجي).
  • معيار ISO/IEC 10646:2017 بالإضافة إلى التعديلين 1 و2 = يونيكود 12.0 باستثناء 62 حرفًا إضافيًا
  • ISO/IEC 10646:2020 = Unicode 13.0
  • ISO/IEC 10646:2020 بالإضافة إلى التعديل 1 = Unicode 15.0
  • ISO/IEC 10646:2020 بالإضافة إلى التعديلين 1 و2 = Unicode 16.0

انظر أيضاً

مراجع

  1. مسودة، اللجنة النهائية (2010). المعيار الدولي ISO/IEC 10646 (PDF) (الطبعة الثانية  ). سويسرا. ص  8.{{cite book}}: CS1 maint: موقع الناشر مفقود ( رابط )
  2. "مجموعة الأحرف العالمية - Acemap" . ddescholar.acemap.info . تم ​​الاطلاع عليه بتاريخ 2025-06-09 .
  3. بايك، روب (2003-04-03). "تاريخ UTF-8" . مؤرشف من الأصل في 2016-05-23.