نواقص في دعم العربية - في جميع الانظمة الحديثة
تخيل انك تريد ان تكتب:
#linuxac
كيف ستظهر لو كتبت في وسط سطر عربي؟؟ هكذا: #linuxac
هل تلاحظون اين المشكلة؟ علامة # على اليمين بدلا من اليسار!! قد تظن انه يمكن وضعها داخل كود، أي #linuxac و لكن هذا لا يفي بالغرض! فسيظل الاتجاه العام للنص هو RTL حتى داخل code span، فمالحل اذن؟
الحل “الرسمي” هو بوضع رمز يونيكود خفي قبل علامة # يشير الى ان اتجاه الكلمة هو LTR، هكذا: #linuxac و هذه العلامة اسمها LRM، اي: Left-to-Right mark
نفس الشي لو اردت كتابة C++، ستظهر الـ + على اليسار، اي بعد السي، و لكن نحن نريدها ان تكون جزءا من الكلمة الانكليزية، لهذا نضع LRM بعد اخر +، اي هكذا: C++، و هكذا يصبح اتجاه الكلمة صحيحا.
يفترض ان هذه الامور تدار من قبل محرر النصوص: يعني لو كنت تعمل في محرر نصوص يدعم العربية بشكل محترم، يفترض ان يعرف تلقائيا انك الان تكتب بالانكليزي و يضع الرموز المناسبة من تلقاء نفسه.
المشكلة ان هذه الرموز غير مرئية، مما يعني انه اذا لم يكن المحرر محترما قد يتسبب في وضع الرموز في المكان الخطأ و يخربط كل الكلام، و لان الرموز غير مرئية، سيكون من الصعب جدا ان تصحح الاخطاء اللتي قام بها المحرر.
السؤال هو، هل يمكن ان نستوحي قواعد بسيطة تجعل المحرر يعرف اين يضع الرموز المناسبة، مع حذفها تلقائيا حين تنتفي الحاجة لها؟ كل هذا مع اعطاء المستخدم تحكما كاملا بكيفية وضع هذه الرموز من دون ان يقف المحرر في الطريق؟
اتذكر ايام الوندوز ان Word كان يقوم بكتابة C++ بشكل صحيح، كيف؟ اظن الان ان ما كان يفعله هو ما كنت اقوله قبل قليل: بوضع رمز LRM بعد نهاية الكلمة، اي هكذا: C++