السلام عليكم ورحمة الله
لقد واجهتني كثيرا مشكلة الكتابة باللغة العربية عند تعلمي للغة البرمجة "سي" على "التوربوسي"
فكما تعلمون أن الكومبايلر يدعم اللغة الانجليزية , وإذا أردت أن تصمم برنامج لكتابة جملة انجليزية فما عليك إلا استخدام دالة printf
ولكن في أحد المرات كنت أريد تصميم برنامج أستخدم فيه أسماء عربية , ولكنني تفاجئت بأنه لا يوجد دالة أستطيع استخدامها لطباعة كلمة عربية على الشاشة السوداء
سألت زملائي الطلبة وبكنهم أخبروني أن الدوس لا يدعم اللغة العربية إلا في بعض الاصدارات التي اندثرت
جلست أفكر , وأحدث نفسي أنهم إن استطاعو ادخال اللغة الانجليزية , فلماذا لا يمكننا ادخال اللغة الانجليزية
ولكني تركت هذا الأمر ورضيت بالأمر الواقع إبى أن طلب منا "الدكتور" واجبا وكان أحد الاسئلة هو أن تكتب برنامج يقوم برسم شكل ما , وبعد انتهائي من حل الواجب خطر ببالي فكرة
وقلت في نفسي لما لا أقوم برسم الحروف العربية , مثلا أقوم بكتابة برنامج لرسم حرف الصاد مثلا
وبالفعل نجح الأمر, ولكن لرسم حرف الصاد تطلب مني استخدام 3 دوال رسم ودراسة أبعاد الحرف
وفرحت كثيرا بهذا الانجاز وعقدت العرزم على أن أقوم بتصميم كل الحروف , وبالفعل انشأت عدة دوال كل دالة ترسم حرف معين
ولكنني كنت أريد أن أصمم برنامج يقوم المستخدم فيه باختيار حرف معين
فجلست أفكر "ما العمل" فخطر ببالي أن أنه إذا أدخل المستخدم الحرف الانجليزي
a
يقوم البرنامج برسم الحرف المقابل له في الكيبورد وهو الحرف
ش
وبالفعل نجح الأمر واستطعت أن اكتب برنامج يختار فيه المستخدم عرض أي حرف عربي
ولكن إذا أدخل المستخدم أكثر من حرف فإن الحروف تكتب فوق بعضها
, لذا قمت بتعديل البرنامج وذلك بأن يقوم البرنامج بعمل مسافة بين كل حرف وحرف
لكن حتى الآن كل ما فعلناه هو رسم حروف مقطعة وليس متصلة
فجلست أفكر كيف سألصق الحروف معا
كان يلزمني أولا أن أرسم جميع حالات الأحرف , فمثلا حرف العين , في بداية الكلمة وفي وسط الكلمة وفي نهاية الكلمة ومنفرد
وهذه 4 حالات وبالفعل رسمتها جميعا
ولكن واجهتني مشكلة في ربط الحروف بالكيبورد لأن عدد أزرار الكي بورد لا تكفي لجميع الحالات
وبعد تفكير وجد أن الحل هو في عمل رقم خاص لكل حالة , ورتبت الحروف العربية في جدول بحيث يكون لكل حالة رقم خاص بها
ستسألني: وكيف تربط الأرقام بالكيبود
سأقول لك: نربط الحرف المفرد فقط , يعني نربط حالة واحدة ومن ثم نعمل اخيبار للحروق السابقة
فقد قمت بعمل دوال تدرس الحرف السابق إن كان يلتصق أولا وتصوم بتحديد الحالة اللمفترضة للحرف الحالي وبمجرد كتابتك للحرف اللذي بعده يتم التحقق من الحرفين الأول والثاني وتعديل مايلزم
وبذلك تمكنت من الكتابة باللغة العربية على شاشة دوس باستخدام الرسم
وللحديث بقية إن شاء الله
فقد تمكنت من استخدام هذه الطريقة في مكتبة
OpenGL



