يونيكود

معيار نظام الحروف الدولي الموحد، نسخة 5.0

في علم الحاسوب، الترميز الموحد (يونيكود [1] أو يُونِكُود [2]) ( بالإنجليزية: Unicode) هو معيار يمكن الحواسيب من تمثيل النصوص المكتوبة بأغلب نظم الكتابة ومعالجتها، بصورة متناسقة. يتكون يونيكود من 100،000 محرف، وطقم من مخططات الرموز كمرجع مرئي، ونهج في الترميز، وطقم من ترميزات المحارف المعيارية، وسرد لخصائص المحارف، وطقم من البيانات المرجعية، وعدد من الأمور المتعلقة مثل خصائص المحارف، وقواعد تطبيع النص، وفك الحروف لوحداتها الأولية، والترتيب، والتصيير، وثنائية الاتجاه (لعرض النصوص الذي يحتوي على كتابات من اليمين لليسار، مثل العربية، مع كتابات من اليسار لليمين، مثل اللاتينية). [3] يطور يونيكود بالتوازي مع معيار طقم المحارف العالمي، وينشر على شكل كتاب يحمل الاسم معيار يونيكود (Unicode Standard).

يطمح مجمع يونيكود -المنظمة غير الربحية التي تنسق تطوير يونيكود- في النهاية إلى استبدال ترميزات المحارف الموجودة حاليا، ليحل محلها يونيكود وتنسيق يونيكود المعياري للتحويل (Unicode Transformation Format ،UTF)، حيث أن الكثير من الترميزات الحالية محدودة السعة والمدى، ولا تتوافق مع البيئات متعددة اللغات.

أدى نجاح يونيكود في توحيد أطقم المحارف إلى انتشار وغلبة استخدامه في توطين وعولمة برمجيات الحاسوب. وجرى تطبيق البرنامج في العديد من التقنيات الحديثة، مثل لغة الترميز القابلة للامتداد، ولغة البرمجة جافا وأنظمة التشغيل الحديثة.

الأصل والتطوّر

يهدف يونيكود بشكل صريح إلى تجاوز القصور في ترميزات المحارف التقليدية، كهؤلاء الذين حددهم معيار ISO 8859 وينتشر استخدامهم في مختلف أقطار العالم لكنهم يفتقدون للتوافقية بينهم بشكل كبير.

تشترك الكثير من ترميزات المحارف التقليدية في مشكلة تمكينهم للمعالجة الحاسوبية ثنائية اللغة (عادة باستخدام المحارف اللاتينية بالإضافة للغة المحلية) دون تعددية اللغات (معالجة العديد من اللغات مختلطة مع بعضها، كالعربية والإنجليزية والصينية والهندية في صفحة واحدة).

يُرمِّز يونيكود -عن قصد- المحارف الأصلية (تلك التي تمثل الحروف ذاتها وما شابهها) وليس تنويعات الشكل النهائي (فترمز حرف الخاء في العربية، مثلا، وليس أشكال الخاء المختلفة في أول، أو وسط، أو آخر الكلمة، أو الشكل المنفصل). في حالة المحارف الصينية، يؤدى هذا أحيانا لبعض الخلافات حول تمييز التنويعات الشكلية من الحرف المشكل لها.

يضطلع يونيكود بدور تحديد رمز فريد -رقما، وليس شكلا- لكل محرف. بعبارة أخرى، يمثل يونيكود المحارف بصورة مجرّدة ويترك العرض البصري (الحجم، والشكل، والخط، والأسلوب) لبرمجيات أخرى، مثل متصفح الوب أو معالج الكلمات. على الرغم من بساطة هذا الهدف، فقد أصبح معقدا نتيجة للتنازلات التي قدمها مصمموا يونيكود بغية تشجيع الإسراع في استخدامه.

جُعل أول 256 رمز متطابقين مع محتويات ISO 8859-1 لتبسيط عملية تحويل النصوص الغربية الموجودة مسبقا. العديد من المحارف المتطابقة تم ترميزها العديد من المرات في نقاط ترميز مختلفة للحفاظ على التفريق المُستخدم في الترميزات العتيقة مما يسمح بالتحويل بين هذه الترميزات من وإلى يونيكود دون فقد أي معلومات. على سبيل المثال، قسم "كامل العرض" يحتوي على ألفبائية لاتينية كاملة منفصلة عن قسم الألفبائية اللاتينية. في الخطوط الصينية، واليابانية، والكورية (ص‌ي‌ك)، تعرض هذه المحارف بنفس عرض رموز ص‌ي‌ك بلا من نصف العرض.

عند الكتابة عن يونيكود، تٌمثّل المحارف بكتابة "U+" يليها رقم ست عشري يمثل رمز المحرف.

المعيار

يُطوّر مجمع يونيكود -ومقره كاليفورنيا- معيار يونيكود. الشركات أو الأفراد الراغبون في دفع استحقاقات العضوية يمكنهم الانضمام للمنظمة. يشمل الأعضاء نظريا كل شركات العتاد والبرمجيات الرئيسية التي تهتم بمعايير معالجة النصوص، مثل أدوبي سيستمز، وأبل، وآي.بي.إم، ومايكروسوفت، وهيولت باكرد، وزيروكس وغيرها الكثير.

نشر المجمع معيار يونيكود ( ISBN 0-321-18578-1) لأول مرّة في 1991، ويواصل تطوير المعيار بناء على العمل الأصلي. يُطوّر يونيكود بالاشتراك مع المنظمة الدولية للمعايير (أيزو) ويشترك في مخطط المحارف مع ISO/IEC 10646: طقم المحارف العالمي.

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

مُراجعات يونيكود حتى الآن:

  • يونيكود 1.0: أكتوبر 1991 [4]
  • يونيكود 1.0.1: يناير 1992 [5]
  • يونيكود 1.1: يونيو 1993 [6]
  • يونيكود 2.0: يوليو 1996 [7]
  • يونيكود 2.1: مايو 1998
  • يونيكودد 2.1.2: مايو 1998 [8]
  • يونيكود 3.0: سبتمبر 1999. يغطي UCS 16-بتة Basic Multilingual Plane من ISO 10646-1:2000. [9]
  • يونيكود 3.1: مارس 2001. أضاف Supplementary Planes من ISO 10646-2، مضيفا المحارف التكميلية
  • يونيكود 3.2: مارس 2002
  • يونيكود 4.0: أبريل 2003 [10]
  • يونيكود 4.0.1: مارس 2004
  • يونيكود 4.1: مارس 2005
  • يونيكود 5.0: يوليو 2006 [11]
  • يونيكود 5.1: أبريل 2008

أنظمة الكتابة المغطاة

يُغطي يونيكود تقريبا كل أنظمة الكتابة المستخدمة حاليا. [12]

على الرغم من أن أكثر من 30 نظام كتابة مدرجة في يونيكود، إلا أنه تبقى بعض أنظمة الكتابة التي تنتظر الترميز. كما يتم أيضا إضافة المزيد من المحارف لأنظمة الكتابة المرمّزة بالفعل، وأيضا الرموز مثل الرموز الموسيقية والرياضية.

من ضمن نظم الكتابة التي تنتظر الترميز، الهيروغليفية، البابلية والكتابة المسمارية والأبجدية الفينيقية. مع بعض أنظمة كتابة بعض الأقليات في آسيا وأوروبا وأفريقيا، العديد منها غير مفهوم.

En otros idiomas
Afrikaans: Unicode
Alemannisch: Unicode
አማርኛ: ዩኒኮድ
অসমীয়া: ইউনিক’ড
asturianu: Unicode
azərbaycanca: Unicode
Boarisch: Unicode
беларуская: Унікод
беларуская (тарашкевіца)‎: Юнікод
български: Уникод
বাংলা: ইউনিকোড
brezhoneg: Unicode
bosanski: Unicode
català: Unicode
ᏣᎳᎩ: ᏳᏂᎪᏛ
کوردی: یوونیکۆد
čeština: Unicode
Чӑвашла: Юникод
Cymraeg: Unicode
dansk: Unicode
Deutsch: Unicode
Ελληνικά: Γιούνικοντ
English: Unicode
Esperanto: Unikodo
español: Unicode
eesti: Unicode
euskara: Unicode
فارسی: یونی‌کد
suomi: Unicode
français: Unicode
Gaeilge: Unicode
galego: Unicode
ગુજરાતી: યુનિકોડ
עברית: יוניקוד
हिन्दी: यूनिकोड
hrvatski: Unikod
magyar: Unicode
Հայերեն: Յունիկոդ
interlingua: Unicode
Bahasa Indonesia: Unicode
Ilokano: Unicode
íslenska: Unicode
italiano: Unicode
日本語: Unicode
Basa Jawa: Unicode
ქართული: უნიკოდი
қазақша: Юникод
ಕನ್ನಡ: ಯುನಿಕೋಡ್
한국어: 유니코드
कॉशुर / کٲشُر: यूनिकोड
Kurdî: Unicode
Кыргызча: Юникод
lietuvių: Unikodas
latviešu: Unikods
олык марий: Unicode
മലയാളം: യൂണികോഡ്
монгол: Юникод
मराठी: युनिकोड
Bahasa Melayu: Unicode
မြန်မာဘာသာ: ယူနီကုဒ်
Plattdüütsch: Unicode
नेपाली: युनिकोड
नेपाल भाषा: युनिकोड
Nederlands: Unicode
norsk nynorsk: Unicode
norsk: Unicode
occitan: Unicode
ਪੰਜਾਬੀ: ਯੂਨੀਕੋਡ
polski: Unikod
português: Unicode
română: Unicode
русский: Юникод
संस्कृतम्: युनिकोड
саха тыла: Юникод
Scots: Unicode
srpskohrvatski / српскохрватски: Unikod
සිංහල: යුනිකෝඩ්
Simple English: Unicode
slovenčina: Unicode
slovenščina: Unicode
shqip: Unicode
српски / srpski: Unikod
Basa Sunda: Unicode
svenska: Unicode
తెలుగు: యూనికోడ్
тоҷикӣ: Юникод
Tagalog: Unikodigo
Türkçe: Unicode
ئۇيغۇرچە / Uyghurche: Unicode
українська: Юнікод
اردو: یونیکوڈ
Tiếng Việt: Unicode
walon: Unicôde
吴语: Unicode
მარგალური: იუნიკოდი
ייִדיש: יוניקאד
Yorùbá: Unicode
中文: Unicode
Bân-lâm-gú: Unicode
粵語: 統一碼