Popular contentUser login
أكثر الحقوق ممنوحة، و بعضها محفوظ ![]() محتوى الموقع نشره أحمد غربية برخصة المشاع الإبداعي: النِّسبة ما لم يُذكر خلاف ذلك. |
مشكلة ترميز الأرقامألاحظ أثناء تصفح مواقع عربية عدبدة أن الأرقام فيها تظهر لي بالتنويعة المشرقية لرسم الأرقام، بالرغم من أني أضبط حاسوبي على إظهار الأرقام بالتنويعة المغربية التي أُفَضِّلُها. للتوضيح، فمستخدمو ويندوز يعرفون هذه التضبيطة التي توجد تحكماتها ضمن تحكمات المحلية (locale) باسم النَّسَقُ الأول الذي تشيع تسميته بينما إن ضبط نظامك على النَّسَقِ الثاني، الذي تشيع تسميته أما التضبيطة الثالثة المسماة في وندوز تسري هذه التضبيطات على وثائق معالجات الكلمات و صفحات الوب و أغلب واجهات البرمجيات. و الحقيقة أنه توجد في وندوز إكسبي تضبيطتان تتحكمان سويا في نسق الأرقام المعروض، لكن تفصيل هذا لا يهمنا الآن. إلى الآن لا توجد مشكلة، فحسب ما سبق يفترض أن يكون بوسغ كل مستخدم ضبط نظامه ليعرض الأرقام على النسق الذي يفضله، بحيث تظهر لي مثلا الأرقام في صفحة وب أطالعها على النسق الأول و تظهر لغيري الذي يطالع الوثيقة ذاتها على النسق الثاني. السبب في هذه المرونة و كذلك في المشكلة التي سأبينها لاحقا هي الأسلوب التي تُرمَّزُ بها رموز الأرقام في بونيكود، إذ توجد عدة مجموعات رموز لعدة أنساق رقمية، منها اللذين سلف ذكرهما، علاوة على تنويعات أخرى تستخدم في شرق العالم الإسلامي في إيران و الهند و أفغانستان، و تنويعات أخرى مستخدمة في بلاد آسيوية أخرى. المشكلة تظهر عندما نُطبِّق الطريقة التي تتفاعل بها حاليا البرمجيات مع مواصفة يونيكود المعطوبة هذه. فعلى نحو ما كان السلوك البدئي و السائد بين البرمجيات هو أن الأرقام إن رُمِّزت عند إنشاء الوثيقة وحفظها باستخدام محارف يونيكود الواقعة ما بين U+0030 و U+0039 و هي التي تُرمِّزُ التنويعة المسماة شيوعا بالعربية كما سلف، الموروثة عن ترميز آسكي الذي لم يكن يحوي سواها، أمكن للبرمجيات أن تُظهر تلك الأرقام لاحقا على التنويعة التي يفضلها كل مستخدم. فبينما تظهر لي الأرقام أثناء كتابة هذه التدوينة بالنسق الأوّل فإنها قد تظهر لك بالنسق الثاني لأنك ضبطت نظامك على ذلك، أي أن تحديد شكل الأرقام يُحدد عند العرض و ليس عند الحفظ. و اللاحق هو تفضيل صديقي خالد حسني، على سبيل المثال، لسبب جمالي محض كما يقول، إذ يرى رسم الأرقام الهندية أكثر اتساقا مع أشكال اﻷحرف في الخطوط العربية المتاحة حاليا؛ و هي مسألة تصميم خطوط بحتة، و ليست خصيصة لصيقة بأي من تنويعتي رسم اﻷرقام في رأيي. لكن في حال ترميز الأرقام عند حفظ وثيقة ما بأحد الأنساق غير تلك الموروثة، مثل محارف يونيكود الواقعة ما بين U+0661 و U+0669 التي تُرمِّزُ ما تشيع تسميتها بالأرقام الهندية، فإن سلوك البرمجيات حاليا يُصعِّبُ التعامل معها، إذ تُعامل على أنها رموز مختلفة و ليس على أنها كلها أرقام متساوية الدلالة كما ينبغي أن يكون. من تداعيات تلك المشكلة أن محركات البحث لا تعرض نتائج تحوي إحدى التنويعات إن بحثت بتنويعة أخرى، فبالتجاوز مؤقتا عن عدم فائدة البحث عن أرقام مجردة بلا نصوص على الوب، فإن جوجل مثلا لن يظهر لك سوى الصفحات التي تحوي الأرقام بالترميز الذي تستخدمه في البحث. الأمر ذاته يحدث في آليات البحث في متن الصفحة المعروضة في المتصفحات. على سبيل المثال، بفرض أنك تضبط نظامك مثلي ليستخدم التنويعة الأولى المسماة بالأرقام العربية، افتح صفحة من موقع صحيفة المصري اليوم و ابحث - بعينك أولا - عن رقم يوجد في الصفحة بالتنويعة المغايرة (الهندية في مثالنا هذا)، مثل التاريخ، ثم استخدم آلية المتصفح الذي تستخدمه للبحث في نلك الصفحة ذاتها عن ذاك الرقم فستجد أن لا نتائج تظهر لك، مع أن الرقم موجود أمامك! مثال آخر؛ في تدوينة صديقي أُحُد المعنونة أعرف أن أُحُد يستخدم أبِل، لكني لا أعرف كيف تُعالج في هذا النظام مسألة اختيار نسق الأرقام المستخدمة لأني لا أستخدمه. و يبدو أن هذه السلوك مرتبط على الأخص بسلوك نظام و برمجيات أبِل عند إنشاء الوثائق التي يبدو أنها تُرمِّز الأرقام و نحفظها في الوثائق حسب النسق المختار و لا تفصل بين الترميز و العرض كما هو مُحبَّذ في هذا الصدد. من تداعيات المشكلة كذلك أنه طبقا لسلوك البرمجيات حاليا فإنه يمكن لمحرر الوثيقة بحفظها بمحارف يونيكود لأحد أنساق الأرقام أن يفرض ظهورها في ذلك النسق تحديدا و يعيق تفعيل تفضيلات القارئ في نظامه لاحقا وقت العرض، و يمكن هذا في الحالات عدا حالة النسق الأوّل، أي ما يُسمى بالأرقام العربية، إذ تسود عليها دوما التضبيطات المحلية للمستخدم و لا سبيل لفرضه على المستخدم بتجاهل تضبيطاته المحلية، دون اللجوء لتحايلات غير مضمونة العواقب مثل التي استخدمتها في هذه التدوينة. الوضع المثالي هو أن تتعامل البرمجيات مع كل تنويعات الأرقام على أنها متساوية، و أن تعرض و تبحث فيها جميعا بلا تمييز، بغض النظر عن الترميز اﻷصلي المستخدم في حفظها. الحل اﻷقل مثالية بكثير هو أن تحفظ البرمجيات الأرقام على النسق العربي المتوارث في ترميز يونيكود عن ترميز آسكي، بوصفه ترميزا مجردا للأرقام، ثم تعرضها على النسق الذي يفضله كل مستخدم و ما يضبط عليه نظامه، و ذلك بإرجاء تحديد النسق إلى مرحلة العرض، و هو سلوك وندوز حتى الإصدارة إكسبي التي لا أعرف بعدها، و التي ينبغي ذكر أنه أفضل من سلوك أبِل. كما يستوجب هذا الحل ألا تُرمِّز نظم إدارة المحتوى الأرقام بنسق غير الأول. |
Monthly archive
![]() Navigation |
Recent comments
1 week 2 days ago
7 weeks 4 days ago
8 weeks 14 hours ago
1 year 3 weeks ago
1 year 3 weeks ago
1 year 7 weeks ago
1 year 7 weeks ago
1 year 9 weeks ago
1 year 9 weeks ago
1 year 10 weeks ago