الكتابة باللغة العربية في بيئة لا تدعم العربية
+3
أبو أوميد
قطر الندى
ابو وديع
7 مشترك
صفحة 1 من اصل 1
الكتابة باللغة العربية في بيئة لا تدعم العربية
قرأت هذه المقالة واعجبتني يتحدث فيها شخص عن تجربته مع البرمجة ..فقلت أنقلها لكم يمكن تستفيدوا منها بعض المعلومات
في البداية الصور لم تظهر لكني قمت برفعها مرة أخرى من جهازي لأن الموضوع بدون صور ما ينفع
تفضلوا....
في البداية الصور لم تظهر لكني قمت برفعها مرة أخرى من جهازي لأن الموضوع بدون صور ما ينفع
تفضلوا....
السلام عليكم ورحمة الله
لقد واجهتني كثيرا مشكلة الكتابة باللغة العربية عند
تعلمي للغة البرمجة C على Turbo c++
فكما تعلمون أن Turbo
c++
يدعم اللغة الانجليزية , وإذا أردت أن تصمم برنامج لكتابة جملة انجليزية
فما عليك إلا استخدام دالة printf
ولكن في أحد المرات كنت أريد تصميم برنامج أستخدم فيه
أسماء عربية , ولكنني تفاجئت بأنه لا يوجد دالة أستطيع استخدامها لطباعة كلمة عربية
على الشاشة السوداء
سألت زملائي الطلبة وبكنهم أخبروني أن DOS
لا يدعم اللغة العربية إلا في بعض الإصدارات التي اندثرت
جلست أفكر , وأحدث نفسي أنهم إن استطاعوا إدخال اللغة
الانجليزية , فلماذا لا يمكننا إدخال اللغة العربية
ولكني تركت هذا الأمر ورضيت بالأمر الواقع إلى أن طلب
منا "الدكتور في الجامعة" واجبا وكان أحد الأسئلة هو أن تكتب برنامج يقوم
برسم شكل ما , وبعد انتهائي من حل الواجب خطر ببالي فكرة
وقلت في نفسي لما لا أقوم برسم الحروف العربية , مثلا
أقوم بكتابة برنامج لرسم حرف الصاد مثلا
وبالفعل نجح الأمر, ولكن لرسم حرف الصاد تطلب مني استخدام
3 دوال رسم ودراسة أبعاد الحرف
وفرحت كثيرا بهذا الانجاز وعقدت العزم على أن أقوم
بتصميم كل الحروف , وبالفعل أنشأت عدة دوال كل دالة ترسم حرف معين
ولكنني كنت أريد أن أصمم برنامج يقوم المستخدم فيه
باختيار حرف معين
فجلست أفكر "ما العمل" فخطر ببالي أن أنه
إذا أدخل المستخدم الحرف الانجليزي
a
يقوم البرنامج برسم الحرف المقابل له في الكيبورد وهو
الحرف
ش
وبالفعل نجح الأمر واستطعت أن اكتب برنامج يختار فيه
المستخدم عرض أي حرف عربي
ولكن إذا أدخل المستخدم أكثر من حرف فإن الحروف تكتب
فوق بعضها
, لذا قمت بتعديل البرنامج وذلك بأن يقوم البرنامج
بعمل مسافة بين كل حرف وحرف
لكن حتى الآن كل ما فعلناه هو رسم حروف مقطعة وليس
متصلة
فجلست أفكر كيف سألصق الحروف معا
كان يلزمني أولا أن أرسم جميع حالات الأحرف , فمثلا
حرف العين , في بداية الكلمة وفي وسط الكلمة وفي نهاية الكلمة ومنفرد
وهذه 4 حالات وبالفعل رسمتها جميعا
ولكن واجهتني مشكلة في ربط الحروف بالكيبورد لأن عدد
أزرار الكي بورد لا تكفي لجميع الحالات
وبعد تفكير وجد أن الحل هو في عمل رقم خاص لكل حالة
, ورتبت الحروف العربية في جدول بحيث يكون لكل حالة رقم خاص بها
ستسألني: وكيف تربط الأرقام بالكيبود
سأقول لك: نربط الحرف المفرد فقط , يعني نربط حالة
واحدة ومن ثم نعمل اختبار للحروق السابقة
فقد قمت بعمل دوال تدرس الحرف السابق إن كان يلتصق
أولا وتصوم بتحديد الحالة المفترضة للحرف الحالي وبمجرد كتابتك للحرف الذي بعده يتم
التحقق من الحرفين الأول والثاني وتعديل ما يلزم
وبذلك تمكنت من الكتابة باللغة العربية على شاشة DOS
باستخدام الرسم
وقد تمكنت من استخدام هذه الطريقة في مكتبة
OpenGL
يلزمك كتابة دوال الرسم يدويا لرسم الحروف وهذا متعب
للغاية كما رأيتم في الطريقة السابقة
وكما أخبرتكم فقد تعلمت أساسيات برمجة الرسم وبذلك
استطعت تصميم برنامج لرسم الحرف باستخدام الماوس بدلا من كتابة الدوال يدويا
وهذه واجهة البرنامج:
[center]
وبذلك يمكنك رسم جميع حالات الحروف بسهولة ويسر
ستسألني وكيف سأستخدم هذه الحروق المرسومة
سأقول لك: يقوم البرنامج بتحويل صورة الحرف إلى ملف
نصي
ومن ثم يمكنك استعماله بتحويله إلى صورة , وقد قمت
بالفعل بكتابة برنامج التحويل ونجح المشروع بالفعل
وقد قمت بتأليف كتاب شرحت فيه كيفية استعمال هذه الطريقة
في برامجك:
وللحديث بقية وسأخبركم إن شاء الله عن الطريقة الجديدة
التي اخترعتها لإضافة الحروف وهي أفضل من الطريقتين الأولى والثانية ونتائجها مبهرة
ولم أكن أتوقع أن أصل لهذه المرحلة من قبل , وللحديث بقية إن شاء الله
لتحميل الكتاب مرفق معه البرنامج: يمكنك زيارة موقعي
www.albara.co.cc
[/center]لقد واجهتني كثيرا مشكلة الكتابة باللغة العربية عند
تعلمي للغة البرمجة C على Turbo c++
فكما تعلمون أن Turbo
c++
يدعم اللغة الانجليزية , وإذا أردت أن تصمم برنامج لكتابة جملة انجليزية
فما عليك إلا استخدام دالة printf
ولكن في أحد المرات كنت أريد تصميم برنامج أستخدم فيه
أسماء عربية , ولكنني تفاجئت بأنه لا يوجد دالة أستطيع استخدامها لطباعة كلمة عربية
على الشاشة السوداء
سألت زملائي الطلبة وبكنهم أخبروني أن DOS
لا يدعم اللغة العربية إلا في بعض الإصدارات التي اندثرت
جلست أفكر , وأحدث نفسي أنهم إن استطاعوا إدخال اللغة
الانجليزية , فلماذا لا يمكننا إدخال اللغة العربية
ولكني تركت هذا الأمر ورضيت بالأمر الواقع إلى أن طلب
منا "الدكتور في الجامعة" واجبا وكان أحد الأسئلة هو أن تكتب برنامج يقوم
برسم شكل ما , وبعد انتهائي من حل الواجب خطر ببالي فكرة
وقلت في نفسي لما لا أقوم برسم الحروف العربية , مثلا
أقوم بكتابة برنامج لرسم حرف الصاد مثلا
وبالفعل نجح الأمر, ولكن لرسم حرف الصاد تطلب مني استخدام
3 دوال رسم ودراسة أبعاد الحرف
وفرحت كثيرا بهذا الانجاز وعقدت العزم على أن أقوم
بتصميم كل الحروف , وبالفعل أنشأت عدة دوال كل دالة ترسم حرف معين
ولكنني كنت أريد أن أصمم برنامج يقوم المستخدم فيه
باختيار حرف معين
فجلست أفكر "ما العمل" فخطر ببالي أن أنه
إذا أدخل المستخدم الحرف الانجليزي
a
يقوم البرنامج برسم الحرف المقابل له في الكيبورد وهو
الحرف
ش
وبالفعل نجح الأمر واستطعت أن اكتب برنامج يختار فيه
المستخدم عرض أي حرف عربي
ولكن إذا أدخل المستخدم أكثر من حرف فإن الحروف تكتب
فوق بعضها
, لذا قمت بتعديل البرنامج وذلك بأن يقوم البرنامج
بعمل مسافة بين كل حرف وحرف
لكن حتى الآن كل ما فعلناه هو رسم حروف مقطعة وليس
متصلة
فجلست أفكر كيف سألصق الحروف معا
كان يلزمني أولا أن أرسم جميع حالات الأحرف , فمثلا
حرف العين , في بداية الكلمة وفي وسط الكلمة وفي نهاية الكلمة ومنفرد
وهذه 4 حالات وبالفعل رسمتها جميعا
ولكن واجهتني مشكلة في ربط الحروف بالكيبورد لأن عدد
أزرار الكي بورد لا تكفي لجميع الحالات
وبعد تفكير وجد أن الحل هو في عمل رقم خاص لكل حالة
, ورتبت الحروف العربية في جدول بحيث يكون لكل حالة رقم خاص بها
ستسألني: وكيف تربط الأرقام بالكيبود
سأقول لك: نربط الحرف المفرد فقط , يعني نربط حالة
واحدة ومن ثم نعمل اختبار للحروق السابقة
فقد قمت بعمل دوال تدرس الحرف السابق إن كان يلتصق
أولا وتصوم بتحديد الحالة المفترضة للحرف الحالي وبمجرد كتابتك للحرف الذي بعده يتم
التحقق من الحرفين الأول والثاني وتعديل ما يلزم
وبذلك تمكنت من الكتابة باللغة العربية على شاشة DOS
باستخدام الرسم
وقد تمكنت من استخدام هذه الطريقة في مكتبة
OpenGL
يلزمك كتابة دوال الرسم يدويا لرسم الحروف وهذا متعب
للغاية كما رأيتم في الطريقة السابقة
وكما أخبرتكم فقد تعلمت أساسيات برمجة الرسم وبذلك
استطعت تصميم برنامج لرسم الحرف باستخدام الماوس بدلا من كتابة الدوال يدويا
وهذه واجهة البرنامج:
[center]
وبذلك يمكنك رسم جميع حالات الحروف بسهولة ويسر
ستسألني وكيف سأستخدم هذه الحروق المرسومة
سأقول لك: يقوم البرنامج بتحويل صورة الحرف إلى ملف
نصي
ومن ثم يمكنك استعماله بتحويله إلى صورة , وقد قمت
بالفعل بكتابة برنامج التحويل ونجح المشروع بالفعل
وقد قمت بتأليف كتاب شرحت فيه كيفية استعمال هذه الطريقة
في برامجك:
وللحديث بقية وسأخبركم إن شاء الله عن الطريقة الجديدة
التي اخترعتها لإضافة الحروف وهي أفضل من الطريقتين الأولى والثانية ونتائجها مبهرة
ولم أكن أتوقع أن أصل لهذه المرحلة من قبل , وللحديث بقية إن شاء الله
لتحميل الكتاب مرفق معه البرنامج: يمكنك زيارة موقعي
www.albara.co.cc
ابو وديع- 0 مشرف عام 0
- عدد الرسائل : 2293
العمر : 39
الموقع : كوكب الأرض
المزاج : الحمد لله .. معصب
تاريخ التسجيل : 04/09/2007
نقاط المساهمات : 6578
رد: الكتابة باللغة العربية في بيئة لا تدعم العربية
مشكور اخي ابو وديع على هذا الموضوع وبارك الله فيك وفعلا موضوع رائع
تحياتي
اختك في الله قطر الندى
تحياتي
اختك في الله قطر الندى
قطر الندى- تكنولوجي متميز
- عدد الرسائل : 2136
العمر : 37
الموقع : على الانترنت
المزاج : الحمدلله تمام التمام
الأوسمة الممنوحة :
تاريخ التسجيل : 21/11/2007
نقاط المساهمات : 6542
رد: الكتابة باللغة العربية في بيئة لا تدعم العربية
كل الاحترام والتقدير للأخ أبو وديع على هذا الغوص العميق في بحار التكنولوجيا والاتيان بهذه اللأليء المعلوماتية ؛ وفعلا الشخص اذا عزم على انجاز شيء ينجزه بسهولة
لقد صدق من قال العلم نور والجهل ظلام ؛ لقد أنار لنا أخانا الليبي شاشة ( الدوس ) التي كانت نكدة بدون حروف اللغة العربية ؛
جزيت عنا خير الجزاء أبو وديع
.................................
لقد صدق من قال العلم نور والجهل ظلام ؛ لقد أنار لنا أخانا الليبي شاشة ( الدوس ) التي كانت نكدة بدون حروف اللغة العربية ؛
جزيت عنا خير الجزاء أبو وديع
.................................
أبو أوميد- تقني نشط P.II
- عدد الرسائل : 207
تاريخ التسجيل : 30/06/2008
نقاط المساهمات : 5786
رد: الكتابة باللغة العربية في بيئة لا تدعم العربية
شكرا جزيلا لكم على قراءة الموضوع
قطر الندى
أبو أوميد
وجيد أنه اعجبكم
ولكم مني من القلب سلام
قطر الندى
أبو أوميد
وجيد أنه اعجبكم
ولكم مني من القلب سلام
ابو وديع- 0 مشرف عام 0
- عدد الرسائل : 2293
العمر : 39
الموقع : كوكب الأرض
المزاج : الحمد لله .. معصب
تاريخ التسجيل : 04/09/2007
نقاط المساهمات : 6578
رد: الكتابة باللغة العربية في بيئة لا تدعم العربية
أشكرك من كل قلبي أخي " أبو وديع " على هذا الموضوع الرائع جدا
ولك كل احترامي وتقديري على هذه الجهود والعقل المفكر
تحياتي بقايا حلم
ولك كل احترامي وتقديري على هذه الجهود والعقل المفكر
تحياتي بقايا حلم
بقـايـاحــــــــــلم- الإشراف والمراقبة
- عدد الرسائل : 864
الموقع : على الكرة الأرضية ...
المزاج : الحمد لله على كل شي ...
تاريخ التسجيل : 11/10/2008
نقاط المساهمات : 6414
رد: الكتابة باللغة العربية في بيئة لا تدعم العربية
تسلم على مرورك الطيب اخت بقايا حلم
أسأل الله لك النجاح والتوفيق
أسأل الله لك النجاح والتوفيق
ابو وديع- 0 مشرف عام 0
- عدد الرسائل : 2293
العمر : 39
الموقع : كوكب الأرض
المزاج : الحمد لله .. معصب
تاريخ التسجيل : 04/09/2007
نقاط المساهمات : 6578
رد: الكتابة باللغة العربية في بيئة لا تدعم العربية
مشكور اخ ابووديع على المعلومة المفيدة
وفعلا العلم نور
شو بدي اقلك غير هيك
وفعلا العلم نور
شو بدي اقلك غير هيك
المعتر- تقني نشط P.II
- عدد الرسائل : 299
العمر : 37
المزاج : الحمد والشكر لله
تاريخ التسجيل : 07/12/2007
نقاط المساهمات : 6013
رد: الكتابة باللغة العربية في بيئة لا تدعم العربية
مشكورين مع اني مش فاهم اشي والله بس اكيد مشهورين وانا حاس انو موضوع خطير
abedheeh
abedheeh
abedheeh- تقني فعّال P.III
- عدد الرسائل : 373
العمر : 35
الموقع : في الغزوه , عامل خناقه مع اهل قريش
المزاج : قمه الفشل ان يشعر من حولك بقمه نجاحك وانت في قراره نفسك افشل الفاشلين
تاريخ التسجيل : 22/07/2008
نقاط المساهمات : 5833
رد: الكتابة باللغة العربية في بيئة لا تدعم العربية
علم الإنسان ما لم يعلم
نسأل الله أن يزيدنا علما
بارك الله فيكم
المعتر ...abedheeh
نسأل الله أن يزيدنا علما
بارك الله فيكم
المعتر ...abedheeh
ابو وديع- 0 مشرف عام 0
- عدد الرسائل : 2293
العمر : 39
الموقع : كوكب الأرض
المزاج : الحمد لله .. معصب
تاريخ التسجيل : 04/09/2007
نقاط المساهمات : 6578
رد: الكتابة باللغة العربية في بيئة لا تدعم العربية
جزاك الله خيرا على المعلومات الاكثر من رائعة
عزي ايماني- تكنولوجي متميز
- عدد الرسائل : 2263
الموقع : البيت
المزاج : نص هيك و نص هيك
تاريخ التسجيل : 05/04/2009
نقاط المساهمات : 7926
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى