نص ثنائي الاتجاه
يحتوي النص ثنائي الاتجاه على اتجاهين للنص ، من اليمين إلى اليسار (RTL) ومن اليسار إلى اليمين (LTR). ويتضمن عادةً نصًا يحتوي على أنواع مختلفة من الحروف الأبجدية ، ولكنه قد يشير أيضًا إلى الكتابة المقلوبة ، والتي تُغير اتجاه النص في كل سطر.
مثال على ذلك اسم سارة العبري الذي يُكتب من اليمين إلى اليسار: שרה ، حيث تُكتب السن (ש) على اليمين، والريش (ר) في الوسط، والهاء (ה) على اليسار. وقد فشلت العديد من برامج الحاسوب في عرض هذا الاسم بشكل صحيح، لأنها صُممت لعرض النصوص في اتجاه واحد فقط.
بعض ما يُسمى بالكتابة من اليمين إلى اليسار، كالكتابة الفارسية والعربية، هي في الغالب، ولكن ليس حصراً، من اليمين إلى اليسار؛ إذ تُكتب التعبيرات الرياضية والتواريخ والأعداد التي تحتوي على وحدات من اليسار إلى اليمين. وينطبق هذا أيضاً إذا ما أُدرج نص من لغة تُكتب من اليسار إلى اليمين، كالإنجليزية، ضمنها؛ أو العكس، إذا ما أُدرجت العربية ضمن كتابة من اليسار إلى اليمين، كالإنجليزية.
دعم البرامج النصية ثنائية الاتجاه
دعم النصوص ثنائية الاتجاه هو قدرة نظام الحاسوب على عرض النصوص ثنائية الاتجاه بشكل صحيح. ويُختصر المصطلح غالبًا إلى " BiDi " أو " bidi ".
صُممت أنظمة الحاسوب المبكرة لدعم نظام كتابة واحد فقط ، عادةً للنصوص التي تُكتب من اليسار إلى اليمين والمبنية على الأبجدية اللاتينية . وقد أتاح إضافة مجموعات أحرف جديدة وتشفيرات أحرف دعم عدد من النصوص الأخرى التي تُكتب من اليسار إلى اليمين، لكنها لم تدعم بسهولة النصوص التي تُكتب من اليمين إلى اليسار مثل العربية أو العبرية ، ولم يكن الجمع بين النظامين عمليًا. تم إدخال النصوص التي تُكتب من اليمين إلى اليسار من خلال تشفيرات مثل ISO/IEC 8859-6 و ISO/IEC 8859-8 ، والتي تخزن الأحرف (عادةً) بترتيب الكتابة والقراءة. من الممكن ببساطة عكس ترتيب العرض من اليسار إلى اليمين إلى اليمين، لكن القيام بذلك يُفقد القدرة على عرض النصوص التي تُكتب من اليسار إلى اليمين بشكل صحيح. مع دعم الكتابة ثنائية الاتجاه، يُمكن دمج الأحرف من نصوص مختلفة على نفس الصفحة، بغض النظر عن اتجاه الكتابة.
وعلى وجه الخصوص، يوفر معيار Unicode أسسًا لدعم ثنائي الاتجاه الكامل، مع قواعد مفصلة حول كيفية ترميز وعرض مزيج النصوص من اليسار إلى اليمين ومن اليمين إلى اليسار.
دعم Unicode ثنائي الاتجاه
ينص معيار يونيكود على ترتيب الأحرف "منطقيًا"، أي بالتسلسل الذي يُراد تفسيرها به، وليس "بصريًا"، أي بالتسلسل الذي تظهر به. هذا التمييز مهم لدعم الكتابة ثنائية الاتجاه، لأنه عند أي انتقال بين اتجاهين، يتوقف العرض المرئي عن كونه العرض "المنطقي". لذا، ولتوفير دعم الكتابة ثنائية الاتجاه، يحدد يونيكود خوارزمية لتحويل التسلسل المنطقي للأحرف إلى العرض المرئي الصحيح. ولهذا الغرض، يقسم معيار ترميز يونيكود جميع أحرفه إلى أربعة أنواع: "قوي"، و"ضعيف"، و"محايد"، و"تنسيق صريح". [ 1 ]
شخصيات قوية
الأحرف القوية هي تلك التي لها اتجاه محدد. ومن أمثلة هذا النوع من الأحرف معظم الأحرف الأبجدية، والأحرف المقطعية، والرموز الصينية، والأرقام غير الأوروبية أو غير العربية، وعلامات الترقيم الخاصة بتلك الكتابات فقط.
شخصيات ضعيفة
الأحرف الضعيفة هي تلك التي تتسم باتجاه غامض. ومن أمثلة هذا النوع من الأحرف الأرقام الأوروبية، والأرقام العربية الشرقية، والرموز الحسابية، ورموز العملات.
شخصيات محايدة
الأحرف المحايدة لا يمكن تحديد اتجاهها بدون سياق. ومن أمثلتها فواصل الفقرات، وعلامات الجدولة، ومعظم أحرف المسافات البيضاء الأخرى. كما تندرج ضمن هذه الفئة رموز الترقيم الشائعة في العديد من الخطوط، مثل النقطتين، والفاصلة، والنقطة، والمسافة غير القابلة للكسر.
تنسيق صريح
أحرف التنسيق الصريحة، والتي تُعرف أيضًا باسم "أحرف التنسيق الاتجاهية"، هي تسلسلات يونيكود خاصة تُوجّه الخوارزمية لتعديل سلوكها الافتراضي. تُقسّم هذه الأحرف إلى "علامات" و"تضمينات" و"عزل" و"تجاوزات". ويستمر تأثيرها حتى ظهور فاصل فقرات أو حرف "pop".
ماركس
إذا تبع حرف ضعيف حرف ضعيف آخر، فإن الخوارزمية ستنظر إلى أول حرف قوي مجاور. قد يؤدي هذا أحيانًا إلى أخطاء عرض غير مقصودة. تُصحح هذه الأخطاء أو تُمنع باستخدام أحرف "شبه قوية". تُسمى أحرف التحكم في يونيكود هذه علامات . تُدرج العلامة ( U+200E علامة من اليسار إلى اليمين (LRM) أو U+200F علامة من اليمين إلى اليسار (RLM) ) في مكان ما لجعل الحرف الضعيف المُحاط بها يرث اتجاه كتابته.
على سبيل المثال، لعرض علامة U+2122 ™ التجارية بشكل صحيح لعلامة تجارية إنجليزية (من اليسار إلى اليمين) في نص عربي (من اليمين إلى اليسار)، تُضاف علامة LRM بعد رمز العلامة التجارية إذا لم يتبع الرمز نص من اليسار إلى اليمين (مثل " اقرأ ويكيبيديا™ اليوم . "). إذا لم تُضَف علامة LRM، فسيكون الحرف ™ مجاورًا لحرف قوي من اليسار إلى اليمين وحرف قوي من اليمين إلى اليسار. وبالتالي، في سياق من اليمين إلى اليسار، سيُعتبر النص من اليمين إلى اليسار، وسيُعرض بترتيب غير صحيح (مثل " اقرأ ويكيبيديا™ اليوم. ").
التضمينات
تُعدّ أحرف التنسيق الاتجاهي "المُضمّنة" الطريقة الكلاسيكية للتنسيق الصريح في يونيكود، ومنذ إصدار يونيكود 6.3، يُنصح بتجنب استخدامها لصالح الأحرف "المعزولة". يُشير "التضمين" إلى أن جزءًا من النص يُعامل على أنه مُختلف اتجاهيًا. النص الموجود ضمن نطاق أحرف التنسيق المُضمّنة ليس مُستقلًا عن النص المُحيط به. كما يُمكن للأحرف داخل التضمين أن تُؤثر على ترتيب الأحرف خارجه. أقرّ يونيكود 6.3 بأن التضمينات الاتجاهية عادةً ما يكون لها تأثير قوي جدًا على ما يُحيط بها، وبالتالي يصعب استخدامها بلا داعٍ.
يعزل
تشير أحرف التنسيق الاتجاهي "العزل" إلى أن جزءًا من النص يُعامل كمعزل اتجاهيًا عن محيطه. بدءًا من يونيكود 6.3، تُشجع هذه الأحرف على استخدامها في المستندات الجديدة، بمجرد التأكد من دعم المنصات المستهدفة لها. وقد أُدخلت هذه الأحرف بعد أن اتضح أن التضمينات الاتجاهية عادةً ما يكون لها تأثير قوي جدًا على محيطها، مما يجعل استخدامها صعبًا بلا داعٍ. على عكس أحرف التنسيق الاتجاهي "التضمين" القديمة، لا تؤثر أحرف "العزل" على ترتيب النص خارج نطاقها. يمكن تضمين أحرف العزل، ووضعها داخل التضمينات والتجاوزات.
تجاوزات
تتيح أحرف التنسيق الاتجاهي "التجاوز" حالات خاصة، مثل أرقام الأجزاء (كفرض كتابة رقم جزء مكون من مزيج من الأحرف الإنجليزية والأرقام والأحرف العبرية من اليمين إلى اليسار)، ويُنصح بتجنبها قدر الإمكان. وكما هو الحال مع أحرف التنسيق الاتجاهي الأخرى، يمكن تضمين أحرف "التجاوز" داخل بعضها البعض، وفي التضمينات والعزل.
استخدام يونيكود للتجاوز
سيؤدي استخدام U+202D LEFT-TO-RIGHT OVERRIDE إلى تغيير اتجاه النص من اليسار إلى اليمين إلى اليمين إلى اليسار. وبالمثل، سيؤدي استخدام U+202E RIGHT-TO-LEFT OVERRIDE إلى تغيير اتجاه النص من اليمين إلى اليسار إلى اليسار إلى اليمين بناءً على خوارزمية يونيكود ثنائية الاتجاه .
بوبس
إن حرف التنسيق الاتجاهي "pop"، المشفر في U+202C POP DIRECTIONAL FORMATTING ، ينهي نطاق أحدث "تضمين" أو "تجاوز" أو "عزل".
يركض
في هذه الخوارزمية، يُطلق على كل تسلسل من الأحرف القوية المتسلسلة اسم "سلسلة". الحرف "الضعيف" الواقع بين حرفين "قويين" لهما نفس الاتجاه يرث اتجاههما. أما الحرف "الضعيف" الواقع بين حرفين "قويين" باتجاه كتابة مختلف، فيرث اتجاه الكتابة للسياق الرئيسي (في مستند من اليسار إلى اليمين، يصبح الحرف من اليسار إلى اليمين، وفي مستند من اليمين إلى اليسار، يصبح من اليمين إلى اليسار).
جدول أنواع الأحرف ثنائية الاتجاه الممكنة
| النوع [2] | وصف | قوة | الاتجاهية | النطاق العام | حرف التحكم ثنائي الاتجاه [3] |
|---|---|---|---|---|---|
| ل | من اليسار إلى اليمين | قوي | من اليسار إلى اليمين | معظم الأحرف الأبجدية والمقطعية، والأحرف الصينية، والأرقام غير الأوروبية أو غير العربية، وحرف LRM، ... | U+200E علامة من اليسار إلى اليمين (LRM) |
| R | من اليمين إلى اليسار | قوي | من اليمين إلى اليسار | أدلام، غاراي، العبرية، المندائية، مندي كيكاكوي، نكو، السامرية، النصوص القديمة مثل الخروشتي والنبطية، حرف RLM، ... | U+200F علامة من اليمين إلى اليسار (RLM) |
| الألف | الحروف العربية | قوي | من اليمين إلى اليسار | الأبجدية العربية، والحنيفية الروهينغية، والسغدية، والسريانية، والثانوية، ومعظم علامات الترقيم الخاصة بتلك الكتابات، وحرف ALM، ... | U+061C علامة الحروف العربية (ALM) |
| الإنجليزية | الرقم الأوروبي | ضعيف | الأرقام الأوروبية، والأرقام العربية الهندية الشرقية، وأرقام إيباكت القبطية، ... | ||
| ES | فاصل أوروبي | ضعيف | علامة الجمع ، علامة الطرح ، ... | ||
| ET | مُنهي الأرقام الأوروبي | ضعيف | علامة الدرجة ، رموز العملات، ... | ||
| AN | الأرقام العربية | ضعيف | الأرقام العربية والهندية، والفواصل العشرية العربية وفواصل الآلاف، وأرقام الرومي، وأرقام الحنفي الروهينغية، ... | ||
| علوم الحاسوب | فاصل الأرقام المشترك | ضعيف | النقطتان الرأسيتان ، الفاصلة ، النقطة ، مسافة بدون كسر ، ... | ||
| NSM | علامة بدون تباعد | ضعيف | الأحرف في الفئات العامة: علامة، بدون مسافات، وعلامة، محيطة (Mn، Me) | ||
| بي إن | حياد الحدود | ضعيف | القيم الافتراضية القابلة للتجاهل، والأحرف غير النصية، وأحرف التحكم بخلاف تلك المحددة صراحةً لأنواع أخرى | ||
| ب | فاصل الفقرات | حيادي | فاصل الفقرات ، وظائف سطر جديد مناسبة، تحديد فقرات البروتوكول عالي المستوى | ||
| S | فاصل القطاعات | حيادي | علامات التبويب | ||
| WS | مساحة بيضاء | حيادي | المسافة ، مسافة الأرقام ، فاصل الأسطر ، تغذية النموذج ، مسافات كتل علامات الترقيم العامة (مجموعة أصغر من قائمة المسافات البيضاء في يونيكود ) | ||
| على | محايدون آخرون | حيادي | جميع الأحرف الأخرى، بما في ذلك أحرف استبدال الكائنات | ||
| LRE | التضمين من اليسار إلى اليمين | صريح | من اليسار إلى اليمين | شخصية LRE فقط | U+202A تضمين من اليسار إلى اليمين (LRE) |
| LRO | تجاوز من اليسار إلى اليمين | صريح | من اليسار إلى اليمين | شخصية LRO فقط | U+202D تجاوز من اليسار إلى اليمين (LRO) |
| RLE | تضمين من اليمين إلى اليسار | صريح | من اليمين إلى اليسار | حرف RLE فقط | U+202B تضمين من اليمين إلى اليسار (RLE) |
| RLO | تجاوز من اليمين إلى اليسار | صريح | من اليمين إلى اليسار | حرف RLO فقط | U+202E تجاوز من اليمين إلى اليسار (RLO) |
| ملف PDF | تنسيق اتجاه البوب | صريح | ملف PDF للأحرف فقط | U+202C تنسيق اتجاهي لملفات POP (PDF) | |
| معهد أبحاث الرئة | عزل من اليسار إلى اليمين | صريح | من اليسار إلى اليمين | حرف LRI فقط | U+2066 عزل من اليسار إلى اليمين (LRI) |
| RLI | عزل من اليمين إلى اليسار | صريح | من اليمين إلى اليسار | حرف RLI فقط | U+2067 عزل من اليمين إلى اليسار (RLI) |
| FSI | عزل قوي أولي | صريح | رمز FSI فقط | U+2068 أول عزل قوي (FSI) | |
| PDI | عزل اتجاهي للبوب | صريح | حرف PDI فقط | U+2069 POP DIRECTIONAL ISOLATE (PDI) | |
ملحوظات
| |||||
حماية
تُستخدم الأحرف ثنائية الاتجاه في نظام يونيكود في ثغرة مصدر حصان طروادة . [ 2 ]
يُبرز برنامج Visual Studio Code أحرف التحكم ثنائية الاتجاه منذ الإصدار 1.62 الذي تم إصداره في أكتوبر 2021. [ 3 ]
يُبرز برنامج Visual Studio أحرف التحكم ثنائية الاتجاه منذ الإصدار 17.0.3 الذي تم إصداره في 14 ديسمبر 2021. [ 4 ]
نصوص تستخدم نصًا ثنائي الاتجاه
الهيروغليفية المصرية
كانت الهيروغليفية المصرية تُكتب في اتجاهين، حيث كانت العلامات التي لها "رأس" أو "ذيل" مميز تواجه بداية السطر.
الأحرف الصينية وغيرها من نصوص CJK
يمكن كتابة الأحرف الصينية في أي اتجاه، وكذلك عموديًا (من أعلى إلى أسفل ثم من اليمين إلى اليسار)، خاصةً في اللافتات (مثل اللوحات)، لكن اتجاه الأحرف الفردية لا يتغير. يُلاحظ هذا غالبًا على حافلات الرحلات السياحية في الصين، حيث يُكتب اسم الشركة عادةً من مقدمة الحافلة إلى مؤخرتها - أي من اليمين إلى اليسار على الجانب الأيمن، ومن اليسار إلى اليمين على الجانب الأيسر. كما تُكتب النصوص الإنجليزية على الجانب الأيمن من الحافلة بشكل شائع بترتيب عكسي. (انظر صور حافلة الرحلات السياحية ومركبة البريد أدناه).
وبالمثل، يمكن كتابة أنظمة الكتابة الصينية واليابانية والكورية الأخرى المكونة من نفس الأحرف المربعة، مثل نظام الكتابة الياباني ونظام الكتابة الكوري ، في أي اتجاه، على الرغم من أن الكتابة الأفقية من اليسار إلى اليمين، ومن الأعلى إلى الأسفل، والكتابة الرأسية من الأعلى إلى الأسفل ومن اليمين إلى اليسار هما الشكلان الأكثر شيوعًا.
الجانب الأيمن (يمتد النص من اليمين إلى اليسار، بما في ذلك النص الإنجليزي)
الجانب الأيسر (يمتد النص من اليسار إلى اليمين)
على الجانب الأيمن من طائرة الخطوط الجوية هاينان هذه ، يمتد النص من اليمين إلى اليسار (空航南海).- لكن الجانب الأيسر من طائرة الخطوط الجوية هاينان هذه يظهر النص الذي يمتد من اليسار إلى اليمين (海南航空).
صورة تُظهر نصًا على جانبي مركبة تابعة لبريد الصين. على الباب الأيمن، يظهر اسم "بريد الصين" بشكل خاطئ .
بوستروفيدون
الكتابة البوستروفيدون هي أسلوب كتابة موجود في النقوش اليونانية القديمة، وفي اللغة السبئية القديمة (إحدى لغات جنوب الجزيرة العربية القديمة )، وفي الأحرف الرونية المجرية . تعتمد هذه الطريقة في الكتابة على تبديل اتجاه الكتابة، وعادةً ما تعكس ترتيب الأحرف الفردية، في كل سطر متتالٍ.
نوع القمر
يُعدّ خط مون نسخةً بارزةً من الأبجدية اللاتينية، صُمّمت خصيصًا لتكون أبجديةً ملموسةً للمكفوفين. في البداية، كان النص يُغيّر اتجاهه (وليس اتجاه الأحرف) عند نهاية الأسطر. وكانت خطوط بارزة خاصة تربط نهاية السطر ببداية السطر التالي. [ 5 ] وفي حوالي عام 1990، أصبح اتجاهه من اليسار إلى اليمين .
انظر أيضاً
مراجع
- ↑ "UAX #9: خوارزمية يونيكود ثنائية الاتجاه" . Unicode.org. 2018-05-09 . تم الاطلاع عليه بتاريخ 2018-06-26 .
- ↑ "هجمات مصدر حصان طروادة" . trojansource.codes . تم الاطلاع عليه بتاريخ 17 يناير 2022 .
- ↑ "Visual Studio Code أكتوبر 2021" . code.visualstudio.com . تم الاطلاع عليه بتاريخ 11 نوفمبر 2021 .
- ↑ "ملاحظات إصدار Visual Studio 2022 الإصدار 17.0" . docs.microsoft.com . تم الاطلاع عليه بتاريخ 17 يناير 2022 .
- ↑ نوع القمر للمكفوفين ، مجموعة رامسير للكتاب المقدس ، مكتبة كاثرين أ. مارتن ، جامعة مينيسوتا دولوث .
روابط خارجية
- الملحق رقم 9 من معايير يونيكود: الخوارزمية ثنائية الاتجاه
- إرشادات اتحاد شبكة الويب العالمية (W3C) بشأن تقنيات تأليف النصوص ثنائية الاتجاه - تتضمن أمثلة وشروحات وافية
- تحتوي مكونات ICU الدولية لليونيكود على تطبيق للخوارزمية ثنائية الاتجاه - بالإضافة إلى خدمات تدويل أخرى
- ترميز الأحرف
- خوارزميات يونيكود
- التدويل والتوطين
- توجيهات الكتابة
