تصميم خط عربي في أوتوكاد

تقدم هذه المقالة فكرة مبسطة عن الإمكانية المتوفرة لمستخدم أوتوكاد في تصميم خط (عربي) وفقاً لمواصفات وأشكال الحروف والأرقام والرموز التي تم تصميمها.
مع الأمل بأن يشكل ما يرد فيها حافزاً لمهندسينا وطلابنا المهتمين بحقلي التصميم والرسم بالحاسوب من أجل تصميم خطوط كتابة عربية خاصة بهم، وخلق نواة برمجية عندنا، مع الحفاظ على بعض من خصوصياتنا.

 
مقدمة
في برنامجه "بلا حدود" على قناة الجزيرة الفضائية استضاف أحمد منصور د. سلمان أبو سته مؤسس ورئيس "هيئة أرض فلسطين" الذي قضى عشرين عاماً في إعداد أطلس فلسطين، وسأله لماذا أصدرت الأطلس باللغة الإنجليزية، فأجابه د. أبو سته بكل حزم: "لعدم توفر التقنية اللازمة لعمل الخرائط، حيث لا إمكانية للكتابة بالعربية في برامج رسم الخرائط المتطورة اليوم".
من جهة أخرى، يطمح الواحد منا إلى تعريف وتعريب مفتاح رسمه الهندسي من نصوص كتابية وأرقام ورموز هندسية ترفق للرسم بأشكال محددة وضمن نمط خطوط كتابة خاص به. وكما هو معروف، فإن هذه العملية يسهل تطبيقها يدوياً على الورق حتى لرسام هاوٍ، وكل ما على ممارس الرسم إلا أن يتبع شكلاً معيناً لعنصر الكتابة وفقاً لطقمه المعرف أصلاً.
الآن، وفي عصر الرسم والتصميم بالحاسوب، هل يستطيع مستخدم أوتوكاد مثلاً، الكتابة بالعربية وبحروفٍ وأرقامٍ ورموزٍ وفقاً لأشكالٍ محددةٍ لها سلفاً؟ الجواب: بالقطع نعم، عندما يتم دعم برنامج أوتوكاد بنمط الخط المعني.
سنحاول في هذه المقالة تقديم فكرة مبسطة عن الإمكانية المتوفرة لمستخدم أوتوكاد في تصميم خط (عربي) وفقاً لمواصفات وأشكال الحروف والأرقام والرموز التي صممناها. فبعيد رسم الحرف المعين هندسياً، نعرفه باستخدام محرر نصوص خارجي بصيغة آسكي (ASCII) كملف شكل (Shape file) بالامتداد SHP. وبإرفاق شفرة هذا الحرف إلى ملفٍ آخر ليحوي هذا الأخير ملفات الأشكال لكل الحروف والرموز، نحصل على ملف جديد شامل يعرف نمط الكتابة المطلوب بالامتداد ذاته. وهنا، يستطيع أوتوكاد ترجمة هذا الملف الشامل كملف خطوط كتابة بالامتداد SHX. ولحظتها نستطيع استخدام نمط الكتابة المعين إذا حملنا الملف الأخير في دليل أوتوكاد ضمن مجلدات الخطوط أو في مسار آخر من مسارات الدعم المعروفة لأوتوكاد.
وإذا أردت عزيزي القارئ أن تتابع معنا خطوات تصميم الحروف وأنماط الكتابة في أوتوكاد، يمكنك تنزيل الملفات الوارد ذكرها في أسفل هذه المقالة.
خطوات تصميم الحروف ونمط الكتابة في أوتوكاد
لدينا فيما يلي طريقتان منفصلتان لكنهما متشابهتان تقريباً في أغلب المراحل والخطوات اللازمة لتصميم وتعريف شفرة الحرف أولاً ومن ثم تصميم خط الكتابة في أوتوكاد ثانياً. ويظهر الاستثناء الوحيد لعدم التشابه بين الطريقتين عند كتابة شفرة العنصر الأولي لنمط خط الكتابة كتعريف الحرف، أو الرقم أو حتى الرمز الرياضي، والتي تعتبر أساسية وتأخذ جهداً كبيراً وحيزاً مميزاً في تسلسل خطوات التصميم، (الشكل 1).
*
الشكل 1: خطوات تصميم نمط الكتابة في أوتوكاد
*
الطريقة التقليدية لكتابة شفرة الحرف ونمط الكتابة
  • أولاً: رسم وتعريف أشكال الحروف المكونة لنمط الكتابة
لتنفيذ هذه الفكرة رسمنا شبكة مربعات، ارتفاعها أربع وحدات، بما يكافئ ارتفاع الكتابة العربية. كما قسمنا كل وحدة إلى أربع وحدات متساوية وصغيرة. وللمساعدة في رسم الحروف والأرقام العربية والرموز وتصميمها الصحيح حدد خط الأساس الأفقي على شبكة الرسم بالرقم (0) ليشكل أساساً سفلياً للأرقام العربية وليفصل الحروف والكتابة إلى جزئين، أحدهما سفلي مقداره وحدة واحدة والآخر علوي مقداره ثلاث وحدات، (الشكل 2).
*
الشكل 2: تصميم الخط العربي الهندسي كوفي 1(KUFI1) وفيه الأرقام العربية
*
وفي هذا السياق، قد يكتشف أحدكم أن حرفاً معيناً أو حتى طقماً من الحروف غير متناسب والأنماط السائدة لكتابة الحروف العربية. وهذا ما حدث معي بالفعل عندما استأنست برأي أحد الخطّاطين في أشكال الحروف التي صممتها وأرفقها لكم فكان رأيه سلبياً. لذلك على المصمم للحرف أو نمط خط الكتابة أن يرسم العنصر المعين بالشكل الذي يرغبه ويرتأيه، قبيل تصميمه في أوتوكاد.
  • ثانياً: تعريف حركة الحرف
حركة الحرف تعني حركة خط رسمه منذ انطلاقه وحتى يصل إلى نهايته. وعليه فإن نقطة انطلاق الحرف هي نقطة نهاية الحرف الذي قبله أو نهاية الفراغ بعد الكلمة الأخيرة أو حتى بداية السطر الجديد. وتمثل نقطة النهاية نقطة البداية للحرف أو الفراغ التالي. ويجب الانتباه إلى وجود أكثر من مسارٍ يمكن تتبعه لتعريف حركة الحرف بين نقطتي البداية والنهاية، مع بقاء شكل الحرف ثابتاً. لذلك، فرسم الحرف يتطلب رسم خطوطه الأساسية والمرئية مضافاً له بيان حركة اليد عند الرسم.
  • ثالثاً: كتابة شفرة الحرف
بعد رسمه وتحديد حركته، نُعرف الحرف وحركاته باستخدام محرر نصوص خارجي بصيغة آسكي (ASCII) كملف شكل بالامتداد SHP. هذا الملف سيحوي شفرة رقمية مكونة من مجموعات أرقام ورموز تعرف حركة ومسار الخط الذي يتبعه الحرف المعين انطلاقاً من نقطة البداية وصولاً لنقطة النهاية.
لنفصل أولاً كيف نكتب الشفرة الرقمية لأشهر حروف العربية وهو الألف بدون همزة، ومن ثم نكتب شفرة حرف الهاء المتصلة، (الشكل 3)، (راجع المقالة: الأشكال وخطوط الكتابة وأنماط الخطوط ونقوش التظليل)
*
الشكل 3: حرفا الألف بدون الهمزة والهاء المتصلة
*
يرسم حرف الألف كخط رأسي انطلاقاً من نقطة البداية (0) وعمودياً للأعلى حتى نصل للنقطة (1) على بعد ثلاث وحدات. نكتب الشفرة الرقمية لهذه الحركة وما نتج عنها رسماً:
034,
أي أننا تحركنا ورسمنا باتجاه الأعلى (034) خطاً مستقيماً مقداره ثلاث وحدات (034). هذه الحركة والرسم يمكن كتابتهما كشفرة أخرى 1,034,)) استناداً إلى أن الشفرة 1 أو 001 تعني نمط رسم فعال والذي يمثل الحالة الافتراضية. من ذاك العلو ومن النقطة (1) بالتحديد نتحرك للأسفل بدون رسم خط حتى نعود لنقطة البداية (0). لذلك نستخدم الرقم 2 (أو 002) لتعطيل نمط الرسم قبيل الحركة:
034,2,03C,
هذا الجزء من الشفرة يعني أننا تحركنا ثلاث (2,03C) وحدات للأسفل (2,03C). ونكمل التحرك، أيضاً بدون رسم خط من النقطة (0) يساراً مسافة (0.5) وحدة، حتى نصل إلى نقطة النهاية (2). ولكتابة شفرة هذه الحركة الأخيرة نغير أولاً مقياس الرسم إلى التصغير (3,2,01 بمقدار النصف (3,2,01، ثم نتحرك وحدة واحدة (01 في اتجاه اليسار (01، أي بالمجمل تحركنا نصف وحدة، لوجود مقياس الرسم النصف، لليسار:
034,2,03C,3,2,018,
نكمل كتابة الشفرة
034,2,03C,3,2,018,4,2,
هنا، أعدنا الأمور للوضع الأصلي للرسم. فغيرنا مقياس الرسم للتكبير 4 (أو 004) بمقدار الضعف 2. نختم الشفرة بكتابة الصفر 0 (أو 000):
034,2,03C,3,2,018,4,2,0
وأخيراً، نضيف العنوان (*104,9,ALEF) إلى الشفرة السابقة، ومن ثم نحفظهما كملف مفكرة منفصل وضمن مجلدٍ معروف بالاسم ALEF.SHP، (الشكل 4).
*
الشكل 4: الشفرة الكتابية لحرف الألف (بدون همزة)
*
وحتى نفهم ماذا تعني هذه الأرقام والشفرة لعملنا نقول: إن حرف الألف بدون همزة المكون من خط عمودي بارتفاع ثلاث وحدات من نقطة إدراجه، وينتهي على بعد نصف وحدة إلى اليسار في نقطة نهايته أو نقطة بداية الحرف التالي، قد رسم كشكل هندسي، (الشكل 3)، ومثل بالشفرة (الشكل 4)، المكونة من سطرين: أولهما هو العنوان ويتمثل فيما يلي:
** النجمة:** تشير لأوتوكاد بأن تعريف الشكل قد بدأ.
104** رمز أو عدد يمثل شفرة آسكي (ASCII CODE) المكافئ للحرف المعين. وهي الشفرة التي تترجم الضغط على المفتاح الموسوم بالحرفين ا و h في لوحة المفاتيح إلى رسمِ الشكل الهندسي الذي اخترناه لتمثيل الحرف (ا) على شاشة الحاسوب، وذلك عند استخدام نمط الخط المحدد المعرف للحرف نفسه. هذه الشفرة تتراوح قيمتها من 1 إلى 127 وحتى 255، وفقاً لعدد الحروف والرموز المستخدمة ضمن نمط خط الكتابة نفسه.
فالحاسوب يخزن المعلومات والمعطيات بواسطة شفرة آسكي التي تقوم بتحويل العناصر (الحروف، الرموز الرياضية والأرقام) المدخلة إليه كأرقام ثنائية. إذا حددنا هذه الشفرة بسبع بِتَّّات فإننا نستطيع استخدامها لتعريف ما مجموعه 128 عنصراً مدخلاً إلى الحاسوب (2^7 أي اثنان مرفوعة للقوة 7). كما نستطيع تمثيل مجموعة أكثر من العناصر المدخلة إلى الحاسوب إذا حددنا الشفرة بثماني بتات أو أكثر. فالشفرة المكونة من ثمانية بتات تعرف 256 عنصراً مدخلاً إلى الحاسوب (أي 2^.
كما أسلفت عزيزي القارئ، يمكنك الحصول على ملف يتضمن تمثيل شفرة آسكي لعناصر الكتابة الإنجليزية والعربية بالنقر فوق الوصلة المبينة في مقدمة المقالة.
9** عدد يمثل مجموع بايتات تعريف الشكل للحرف (ا) في السطر الثاني. كل بايت يمثل مجموعة مكونة من ثلاثة أرقام مثل 034 ثم 2 أو (002) ثم 03C،.....الخ.
ALEF** اسم الشكل المرسوم (حرف الألف العربي بدون همزة).
فيما يتكون السطر الثاني من مجموعات (عددها 9، وفقاً للسطر الأول) ذات ثلاثة أرقام، تسلسل أولاها من اليسار لليمين كما يلي:
0*** يكون هذا الرقم صفراً دائماً لينبه أوتوكاد بأن الأرقام التالية مترجمة إلى القيم الست عشرية.
3*** المسافة التي يقطعها المتجه تبلغ 3 وحدات، حيث تتراوح المسافة بين 1 و F (خمس عشرة وحدة).
4*** اتجاه حركة المتجه للأعلى. وهنا تتراوح الاتجاهات من (0) نحو الشرق ودوراناً بعكس عقارب الساعة وحتى F وفقاً لمضاعفات الزاوية 22.5 درجة.
وعلى المنوال نفسه، نعرف شفرة حرف الهاء المتصلة، (الشكل 3). ولرسمه نحدد نقطة البداية (0) ونتحرك منها أفقياً بدون رسم خط (...,2) نحو النقطة (1) ثم رأسياً للأعلى حتى النقطة (2). ولأننا سنتحرك ضمن حدود جزء من أربعة نغير مقياس الرسم تصغيراً إلى الربع (...,2,3,4). إذن، نتحرك ضمن مقياس الرسم الجديد من نقطة البداية أربع وحدات صغيرة لليسار نحو النقطة 1 (...,2,3,4,048) ثم نتحرك للأعلى ست وحدات صغيرة (..,2,3,4,048,064) فنصل للنقطة 2. من هناك نبدأ برسم خط (..,2,3,4,048,064,1) نحو الأسفل حتى نصل للنقطة 3 (أو النقطة 1)، ثم نتجه نحو النقطة 4 فنكتب (..,2,3,4,048,064,1,06C,048). حتى الان، نحن رسمنا الخط العمودي من النقطة (2) نزولاً حتى النقطة (3) ثم الخط الأفقي من النقطة (3) وصولاً للنقطة (4)، مع أن نقطة بداية الحركة تتحدد في النقطة الأولى (0).
نكمل كتابة الشفرة فنرسم من النقطة (4) قوساً نصف قطره 4 وحدات بحيث يدور بعكس عقارب الساعة بمقدار أربعة أثمان من الثمن الرابع مشكلين بذلك نصف دائرة في الأعلى، إذ يمر هذا القوس في النقطة (5) وليصل أخيراً إلى النقطة (6):
2,3,4,048,064,1,06C,048,10,4,-044,
ونكمل رسم الجزء الأخير من حرف الهاء برسم الخط الأفقي، الأساس من النقطة (6) وحتى نقطة النهاية (7):
2,3,4,048,064,1,06C,048,10,4,-044,0C8,
وأخيراً نعدل مقياس الرسم إلى المقياس الأصلي ونختم الشفرة بالصفر:
2,3,4,048,064,1,06C,048,10,4,-044,0C8,4,4,0
نكمل العنوان:
*105,15,HAA
2,3,4,048,064,1,06C,048,10,4,-044,0C8,4,4,0*
  • رابعاً: التأكد من نجاح عملية تعريف شفرة الحرف وترجمته لأوتوكاد
يتم ذلك في أوتوكاد عن طريق الأوامر الثلاث التالية:
  1. الأمر توليف (compile): لتوليد ملف مترجم من ملف الشكل. نكتبه في سطر الأوامر:
Command: Compile
يظهر صندوق الحوار "Select Shape or Font File". ونحدد ملف الشكل ALEF.shp من المجلد D:\CADFONTS، فيستجيب أوتوكاد كتابة في نافذة الأوامر ما يلي:
Compiling shape/font description file
Compilation successful. Output file D:\CADFONTS\ALEF.shx contains 51 bytes.
أي أننا حصلنا على الملف المترجم ALEF.shx ضمن المجلد D:\CADFONTS.
  1. الأمر تحميل (load): لتحميل الملف المترجم لأوتوكاد. نكتبه في سطر الأوامر:
Command: Load
يظهر صندوق الحوار "Select Shape File". نحدد ملف الشكل المترجم ALEF.shx من المجلد D:\CADFONTS، فيصبح الملف المترجم محملاً على أوتوكاد.
  1. الأمر إدراج شكل (shape): لإدراج الشكل في أوتوكاد. نكتبه في سطر الأوامر:
Command: shape
Enter shape name or [?]: alef
Specify insertion point:
Specify height : 1
Specify rotation angle : 0
إذا نجحت كل هذه العمليات، وكان الشكل الناتج من عملية الإدراج للملف المترجم مكافئاً لشكل الحرف الأصل عند رسمه فإننا نتأكد من صحة تعريفنا لشفرة الحرف المعين. عندئذٍ، ننتقل إلى تعريف الحرف الثاني فالثالث .....وانتهاءً بآخر حرفٍ في الأبجدية العربية المختارة كنمط خط. ولا ننسى في هذا المجال تعريف شفرات الأرقام العربية والرموز الرياضية والهندسية التي سيحويها نمط الكتابة المعين.
  • خامساًً: تكوين ملف مفكرة جديد لتعريف نمط خط الكتابة
نستحدث ملف مفكرة جديد لتعريف خط الكتابة خاصتنا، نسمّيه مثلاً KUFI1.shp، ونرفقه للمجلد D:\CADFONTS\. نبدأ بتعريف خط الكتابة بمساعدة الفاصلة المنقوطة ( وذلك لعمل تعريفات وإضافات له بدون أية تأثيرات على الملف سوى إمكانية قراءته:
;;
;; ملف خط كتابة لبرنامج أوتوكاد
;; إعداد: يحيى مضيه
;;
ثم نُعرف مباشرةً حجم – مقياس الرسم- الذي ستظهر به الكتابة:
*0,4,ARABIC ENGINEERING KUFI1 FONT
3,3,2,0
على اعتبار أن 3 وحدات لارتفاع حرف الألف والمكافئة لارتفاع الأرقام العربية ستظهر بوحدة واحدة. ثم نضيف للملف نفسه KUFI1.shp الشفرة المعرفة للمسافة بين الكلمات كوحدة واحدة:
*32,7,SPACE
2,018,14,8,(-6,-,0
والشفرة المعرفة للمسافة بين الأسطر بمقدار ثمانية أثلاث وحدة:
*10,11,LF
2,3,3,08C,4,3,14,8,(9,10),0
وأخيراً ننسخ للملف جميع ملفات الحروف والأرقام والرموز المكونة لخط الكتابة الناتجة. (يمكنك الحصول على الملف بالنقر فوق الوصلة المبينة في بداية المقالة).
  • سادساً: ترجمة الملف KUFI1.SHP إلى ملف شكل آخر يتقبله أوتوكاد
وهنا، ينبغي لنا استخدام الأمر توليف (COMPILE) لتوليد ملف جديد من الملف الشامل KUFI1.shp:
Command: compile
من صندوق الحوار "Select Shape or Font File" نختار الملف KUFI1.SHP ضمن المجلد D:\CADFONTS فيستجيب أوتوكاد بما يلي:
Compiling shape/font description file
Compilation successful. Output file D:\CADFONTS\KUFI1.shx
contains 2883 bytes.
ومن الطبيعي أن عدم وجود أخطاء في كتابة الملف يعني نجاح عملية التوليف وحصولنا على الملف المترجم KUFI1.shx،* نغلق أوتوكاد.
  • سابعاً: إفلات الملف المترجم KUFI1.SHX ضمن مجلد الخطوط
نحمل الملف المترجم للمجلد الفرعي "الخطوط" Fonts، الموجود ضمن المجلد الرئيسيC:\Program Files\AutoCAD 2002. (يمكن استخدام الأمر Load لتحميل الملف بدون إغلاق أوتوكاد).
الآن افتح ملفاً جديداً في أوتوكاد، وحدد من القائمة القياسية Format>Text Style… في صندوق الحوار Text Style انتق نمط الخطوط KUFI1.shx (يمكن أن تتم هذه العملية أيضاً باستخدام الأمر STYLE-) فيصبح نمط الخط KUFI1 هو الفعال. استخدم الأمر Dtext للكتابة، (الشكل 5).*
الشكل 5: الكتابة بالعربية في أوتوكاد بالخط المصمم KUFI1
*
خطوات تصميم الحروف ونمط الكتابة في أوتوكاد بالأدوات السريعة (Express Tools)
لاشك أن كتابة أو تعريف شفرة كل حرفٍ في العربية كملف شكل بالطريقة التقليدية الواردة أعلاه لن يكون سهلاً كما هو الحال بالنسبة لحرف الألف بدون همزة أو حتى حرف اللام المتصلة. فالحروف العربية بمجملها، (الشكل 2، أنظر ملف أوتوكاد KUFI1)، مكونة من خطوط مستقيمة و/أو أقواس دائرية، قد يضاف لبعضها نقطة أو نقطتين أو حتى ثلاث نقاط. ولا ننسى في هذا الصدد الهمزة التي يشكل ربطها بحرف الألف (بدون همزة) ثلاثة حروف مختلفة، جميعها أعقد شكلاً من الحرف الأصلي. كل هذه الإضافات تضفي صعوبة وتعقيداً أكثر على طريقة رسم وحركة الحرف ومن ثم كتابة شفرته.
لذلك كله، يوفر أوتوكاد وعن طريق الأدوات السريعة إمكانية بناء وتعريف شفرة هذه الأشكال مهما كانت تلك الحروف معقدة وبسهولة متناهية. ولعمل ذلك، نحمل الأدوات السريعة على برنامج أوتوكاد إذا كان الأصل غير ذلك. ونستحدث ملف المفكرة KUFI10 ضمن المجلد المعروف D:\CADFONTS. هذا الملف الجديد سيحوي فيما بعد كل شفرات العناصر المكونة لنمط الخط المعين من حروف وأرقام ورموز، والمستحدثة عن طريق الأدوات السريعة.
كمثالٍ مباشر، نتعلم كيف نكتب شفرة حرف الألف بدون همزة. إذ يتم ذلك عن طريق كتابة أمر أوتوكاد اصنع شكلاً (MKSHAPE):
Command: mkshape (ENTER)
أو نختار من القائمة القياسية في أوتوكاد الأدوات السريعة، ثم اصنع شكلاً:
Menu Bar> Express Tools > Make Shape
والحالتان الناتجتان تدخلانك إلى صندوق الحوار Select Shape File، (الشكل 6).
*
الشكل 6: صندوق الحوار Select Shape File لملف نمط الكتابة KUFI10
*
حدد المجلد D:\CADFONTS ثم ملف الحفظ KUFI10 وأخيراً أنقر على زر الحفظ Save فيستجيب أوتوكاد نصاً تالياً وبالتدريج:
Enter the name of the shape: ALEF (Enter)
Enter resolution : (Enter)
فنسم الشكل ALEF ونحدد عدد نقاط التمايز بـ (12 لنستوفي شروطنا المطلوبة. ثم نكمل الأمر بتحديد نقطة الإدراج:
Specify insertion base point: _endp of
Select objects: 1 found
Select objects: (Enter)
هنا نحدد النقطة (0)، كما في الشكل 3، كنقطة بداية الخط للحرف (ا) ونختار الخط 01 فقط في الشكل نفسه فيستجيب أوتوكاد بمجموعة من المعطيات التالية:
Determining geometry extents...Done.
Building coord lists...Done.
Formating coords...-Done.
Writing new shape...Done.
Compiling shape/font description file
Compilation successful. Output file D:\ACAD2004\ARABIC FONTS\ALEF.shx contains
85 bytes.
Shape "ALEF" created.
Use the SHAPE command to place shapes in your drawing.
أي أننا بنينا باستخدام الأدوات السريعة ملفَ شكلٍ لحرف الألف، حجمه 85 بايت. وسنجد شفرته معرفةً ضمن الملف والمجلد D:\CADFONTS\KUFI10 الوارد أعلاه.
*1,42,ALEF
4,101,4,99,3,101,3,33,3,128,002,9,(0,127),(0,1),(0 ,0),001,9,(0,-127),
(0,-1),(0,0),002,9,(0,0),001,4,128,4,33,4,101,3,99,3,1 01,0
وهنا نستطيع التحقق من أننا اخترنا الحرف المعين بالشكل المطلوب وذلك بإدراجه من جديد في الرسم وفقاً لتسلسل الأمر الأوتوكادي Shape. إذا نجحت عملية الإدراج، وكان الشكل الناتج مكافئاً لشكل الحرف الأصل فإننا نتأكد من صحة تعريفنا لشفرة الحرف المعين. وعندئذٍ، ننتقل إلى تعريف الحرف الثاني فالثالث وانتهاءً بآخر عنصر في الأبجدية العربية المختارة كنمط خط. ولا ننسى في هذا المجال تعريف شفرات الأرقام العربية والرموز الرياضية والهندسية المرفقة لنمط الكتابة المعين. الفرق الوحيد هنا أن ملفات العناصر المكونة لنمط الخط سوف تندرج ضمن ملف أساس هو KUFI10.
إذا قارنا بين شفرتي حرف الألف بدون همزة والناتجتين من الكتابة المباشرة (الشكل 4)، أو من الأدوات السريعة، يظهر لنا ما يلي:
  • أولاً: الشفرة الكتابية أقصر وأبسط من الشفرة الناتجة من استخدام الأدوات السريعة.
  • ثانياً: الحصول على الشفرة الكتابية أصعب مقارنة بالحالة الثانية. إذ يتطلب الأمر في الحالة الأولى معرفة مسار وحركة الخط الذي سيتبعه رسم الحرف من بدايته إلى نهايته. بينما نحصل على شفرة الحرف بالأدوات السريعة كنتيجة لاستخدام الأمر "اصنع شكلاً" الذي يتطلب اختيار العناصر المكونة للحرف ونقطة إدراجه. وهذا يؤدي إلى النقطتين التاليتين:
  • ثالثاً: عنوان الشفرة الكتابية نكتبه مباشرة على عكس عنوان الشفرة الناتجة من الأدوات السريعة الذي نعدله. فيتم تعديل الأرقام المتتالية 1، 2، 3، في عناوين شفرات عناصر نمط الخط بالعدد المناسب كرمز آسكي جديد يتوافق وموضع الحرف نفسه على لوحة المفاتيح. لذلك نستبدل الرقم (1) في عنوان الشفرة لحرف الألف بدون همزة بالعدد (104)، ونستبدل الرقم 2 الذي سيعرف عنوان شفرة حرف الهاء المتصلة بالعدد 105.....وهكذا دواليك.
  • رابعاًً: نقطتا البداية والنهاية في الشفرة الكتابية منفصلتان ومحددتان، بينما هما متحدتان في نقطة الإدراج للشفرة الناتجة من الأدوات السريعة. من أجل هذا كله:
*
  1. يضاف لشفرة الحرف الناتجة من الأدوات السريعة (شفرة) الحركة بدون رسم خط ما بين نقطتي البداية والنهاية، وتوضع هذه الإضافة مباشرة قبل صفر النهاية.
  2. يتعدل العدد الثاني في عنوان الشفرة، والذي يمثل عدد المجموعات التي تعرف الشكل، ليشمل هذه الإضافات الناتجة. وكمثال، نستعرض شفرة حرف الألف بدون همزة الناتجة من استخدام الأدوات السريعة، لنرى كيف يتغير عنوانها إلى شكلٍ آخر:
*104,48,ALEF
4,101,4,99,3,101,3,33,3,128,002,9,(0,127),(0,1),(0 ,0),001,9,(0,-127),
(0,-1),(0,0),002,9,(0,0),001,4,128,4,33,4,101,3,99,3,1 01,2,3,2,018,4,2,0 *
على هذا المنوال، تتم كتابة شفرات كل عناصر نمط خط الكتابة عن طريق الأدوات السريعة كملفات أشكال. وفي السياق ذاته يتم تعديل جميع العناوين لتلك العناصر لتتوافق ورموز آسكي المطلوبة، ولتتوافق أيضاً مع الإضافات الناتجة من الحركة بين نقطتي الإدراج والنهاية التي نضعها قبل صفر النهاية.
نكمل تعريف الملف الشامل بكتابة صيغة مقدمته كتلك التي أضفناها للملف الشامل KUFI1.shp. إذا كانت كل هذه التعديلات على الملف KUFI10.shp ناجحة فإننا نستخدم الأمر توليف (compile) لتوليد ملف الشكل المترجم KUFI10.shx، ثم نلصقه (الملف الأخير) إلى أحد مسارات الدعم المعروفة لأوتوكاد.
أخيراً، يجب الانتباه والحرص إلى الطريقة غير المألوفة أولاً والاتجاه ثانياً، والتي ستكتب به الرموز والأرقام العربية في النمطين الواردين أعلاه. إن اتجاه الكتابة العربية يحتم علينا التحرك من اليمين لليسار أياً كان الرقم أو العدد. وقياساً على ذلك، يفرض علينا النمطان اللذان صممناهما أن نكتب أرقام السنة 1987 بدءً بالرقم 7 ثم 8 ثم 9، وأخيراً 1، متوافقاً بذلك مع الاتجاه الرسمي وغير المألوف الذي تأخذه قراءة الأرقام العربية (سبع وثمانون وتسعمائة وألف). هذا الأسلوب في الكتابة للأرقام غير مألوف حتى عند استخدام الأنماط الحقيقية للحروف (TrueType Fonts) والمستخدمة في الويندوز وبرنامج الطباعة وورد. ففي برنامج الوورد، صحيح أنك تتجه من اليمين لليسار عند كتابة النص العربي، لكنك ما إن تبدأ بكتابة الأرقام حتى تشعر بعكس مسار حركة الكتابة. وهكذا نكتب السنة 1987 في الوورد بالشكل المريح بدءً بالرقم 1 ثم 9 ثم 8 وأخيراً 7، وعندما تكتب رقماً من العدد تتم إزاحة الرقم/مجموعة الأرقام التي كتبت لليسار بما يعادل الإزاحة المطلوبة.
هنا، صممنا نمطين من الخطوط العربية بطريقتين. كان الهدف هو تقنياً لجعل أوتوكاد يستوعب هذه الخطوط بما يفتح المجال أمام المؤسسات الهندسية والأكاديمية للأخذ بهذا الدور وصياغة نمط/ أو أنماط خطوطها التي ستصبح مفتاحاً لوثائقها ورسومات طلابها وأبحاث أساتذتها. كلي أمل أن تشكل المقالة حافزاً لمهندسينا وطلابنا المهتمين بحقلي التصميم والرسم بالحاسوب من أجل تصميم خطوط كتابة عربية خاصة بهم، وخلق نواة برمجية عندنا، بما فيها الحفاظ على بعض من خصوصياتنا. ولربما أيضاً، نساعد د. سلمان أبو سته في إكمال أطلس فلسطين بالعربية وبما يحقق أمنيات الملايين من أبناء شعبنا.
المراجـع
  1. Ralph Grabowski, Tailoring AutoCAD 2004, Upfront.ezine Publishing Ltd. 2003. http://www.upfrontezine.com/tailor2004/default.htm#feedback
  2. Auto Cad Font & Shape_files: Part 1. by Wolfe Derle, SOAP

تصميم خط عربي في أوتوكاد

Posted by مرسلة بواسطة Mano On 6:09 ص

تقدم هذه المقالة فكرة مبسطة عن الإمكانية المتوفرة لمستخدم أوتوكاد في تصميم خط (عربي) وفقاً لمواصفات وأشكال الحروف والأرقام والرموز التي تم تصميمها.
مع الأمل بأن يشكل ما يرد فيها حافزاً لمهندسينا وطلابنا المهتمين بحقلي التصميم والرسم بالحاسوب من أجل تصميم خطوط كتابة عربية خاصة بهم، وخلق نواة برمجية عندنا، مع الحفاظ على بعض من خصوصياتنا.

 
مقدمة
في برنامجه "بلا حدود" على قناة الجزيرة الفضائية استضاف أحمد منصور د. سلمان أبو سته مؤسس ورئيس "هيئة أرض فلسطين" الذي قضى عشرين عاماً في إعداد أطلس فلسطين، وسأله لماذا أصدرت الأطلس باللغة الإنجليزية، فأجابه د. أبو سته بكل حزم: "لعدم توفر التقنية اللازمة لعمل الخرائط، حيث لا إمكانية للكتابة بالعربية في برامج رسم الخرائط المتطورة اليوم".
من جهة أخرى، يطمح الواحد منا إلى تعريف وتعريب مفتاح رسمه الهندسي من نصوص كتابية وأرقام ورموز هندسية ترفق للرسم بأشكال محددة وضمن نمط خطوط كتابة خاص به. وكما هو معروف، فإن هذه العملية يسهل تطبيقها يدوياً على الورق حتى لرسام هاوٍ، وكل ما على ممارس الرسم إلا أن يتبع شكلاً معيناً لعنصر الكتابة وفقاً لطقمه المعرف أصلاً.
الآن، وفي عصر الرسم والتصميم بالحاسوب، هل يستطيع مستخدم أوتوكاد مثلاً، الكتابة بالعربية وبحروفٍ وأرقامٍ ورموزٍ وفقاً لأشكالٍ محددةٍ لها سلفاً؟ الجواب: بالقطع نعم، عندما يتم دعم برنامج أوتوكاد بنمط الخط المعني.
سنحاول في هذه المقالة تقديم فكرة مبسطة عن الإمكانية المتوفرة لمستخدم أوتوكاد في تصميم خط (عربي) وفقاً لمواصفات وأشكال الحروف والأرقام والرموز التي صممناها. فبعيد رسم الحرف المعين هندسياً، نعرفه باستخدام محرر نصوص خارجي بصيغة آسكي (ASCII) كملف شكل (Shape file) بالامتداد SHP. وبإرفاق شفرة هذا الحرف إلى ملفٍ آخر ليحوي هذا الأخير ملفات الأشكال لكل الحروف والرموز، نحصل على ملف جديد شامل يعرف نمط الكتابة المطلوب بالامتداد ذاته. وهنا، يستطيع أوتوكاد ترجمة هذا الملف الشامل كملف خطوط كتابة بالامتداد SHX. ولحظتها نستطيع استخدام نمط الكتابة المعين إذا حملنا الملف الأخير في دليل أوتوكاد ضمن مجلدات الخطوط أو في مسار آخر من مسارات الدعم المعروفة لأوتوكاد.
وإذا أردت عزيزي القارئ أن تتابع معنا خطوات تصميم الحروف وأنماط الكتابة في أوتوكاد، يمكنك تنزيل الملفات الوارد ذكرها في أسفل هذه المقالة.
خطوات تصميم الحروف ونمط الكتابة في أوتوكاد
لدينا فيما يلي طريقتان منفصلتان لكنهما متشابهتان تقريباً في أغلب المراحل والخطوات اللازمة لتصميم وتعريف شفرة الحرف أولاً ومن ثم تصميم خط الكتابة في أوتوكاد ثانياً. ويظهر الاستثناء الوحيد لعدم التشابه بين الطريقتين عند كتابة شفرة العنصر الأولي لنمط خط الكتابة كتعريف الحرف، أو الرقم أو حتى الرمز الرياضي، والتي تعتبر أساسية وتأخذ جهداً كبيراً وحيزاً مميزاً في تسلسل خطوات التصميم، (الشكل 1).
*
الشكل 1: خطوات تصميم نمط الكتابة في أوتوكاد
*
الطريقة التقليدية لكتابة شفرة الحرف ونمط الكتابة
  • أولاً: رسم وتعريف أشكال الحروف المكونة لنمط الكتابة
لتنفيذ هذه الفكرة رسمنا شبكة مربعات، ارتفاعها أربع وحدات، بما يكافئ ارتفاع الكتابة العربية. كما قسمنا كل وحدة إلى أربع وحدات متساوية وصغيرة. وللمساعدة في رسم الحروف والأرقام العربية والرموز وتصميمها الصحيح حدد خط الأساس الأفقي على شبكة الرسم بالرقم (0) ليشكل أساساً سفلياً للأرقام العربية وليفصل الحروف والكتابة إلى جزئين، أحدهما سفلي مقداره وحدة واحدة والآخر علوي مقداره ثلاث وحدات، (الشكل 2).
*
الشكل 2: تصميم الخط العربي الهندسي كوفي 1(KUFI1) وفيه الأرقام العربية
*
وفي هذا السياق، قد يكتشف أحدكم أن حرفاً معيناً أو حتى طقماً من الحروف غير متناسب والأنماط السائدة لكتابة الحروف العربية. وهذا ما حدث معي بالفعل عندما استأنست برأي أحد الخطّاطين في أشكال الحروف التي صممتها وأرفقها لكم فكان رأيه سلبياً. لذلك على المصمم للحرف أو نمط خط الكتابة أن يرسم العنصر المعين بالشكل الذي يرغبه ويرتأيه، قبيل تصميمه في أوتوكاد.
  • ثانياً: تعريف حركة الحرف
حركة الحرف تعني حركة خط رسمه منذ انطلاقه وحتى يصل إلى نهايته. وعليه فإن نقطة انطلاق الحرف هي نقطة نهاية الحرف الذي قبله أو نهاية الفراغ بعد الكلمة الأخيرة أو حتى بداية السطر الجديد. وتمثل نقطة النهاية نقطة البداية للحرف أو الفراغ التالي. ويجب الانتباه إلى وجود أكثر من مسارٍ يمكن تتبعه لتعريف حركة الحرف بين نقطتي البداية والنهاية، مع بقاء شكل الحرف ثابتاً. لذلك، فرسم الحرف يتطلب رسم خطوطه الأساسية والمرئية مضافاً له بيان حركة اليد عند الرسم.
  • ثالثاً: كتابة شفرة الحرف
بعد رسمه وتحديد حركته، نُعرف الحرف وحركاته باستخدام محرر نصوص خارجي بصيغة آسكي (ASCII) كملف شكل بالامتداد SHP. هذا الملف سيحوي شفرة رقمية مكونة من مجموعات أرقام ورموز تعرف حركة ومسار الخط الذي يتبعه الحرف المعين انطلاقاً من نقطة البداية وصولاً لنقطة النهاية.
لنفصل أولاً كيف نكتب الشفرة الرقمية لأشهر حروف العربية وهو الألف بدون همزة، ومن ثم نكتب شفرة حرف الهاء المتصلة، (الشكل 3)، (راجع المقالة: الأشكال وخطوط الكتابة وأنماط الخطوط ونقوش التظليل)
*
الشكل 3: حرفا الألف بدون الهمزة والهاء المتصلة
*
يرسم حرف الألف كخط رأسي انطلاقاً من نقطة البداية (0) وعمودياً للأعلى حتى نصل للنقطة (1) على بعد ثلاث وحدات. نكتب الشفرة الرقمية لهذه الحركة وما نتج عنها رسماً:
034,
أي أننا تحركنا ورسمنا باتجاه الأعلى (034) خطاً مستقيماً مقداره ثلاث وحدات (034). هذه الحركة والرسم يمكن كتابتهما كشفرة أخرى 1,034,)) استناداً إلى أن الشفرة 1 أو 001 تعني نمط رسم فعال والذي يمثل الحالة الافتراضية. من ذاك العلو ومن النقطة (1) بالتحديد نتحرك للأسفل بدون رسم خط حتى نعود لنقطة البداية (0). لذلك نستخدم الرقم 2 (أو 002) لتعطيل نمط الرسم قبيل الحركة:
034,2,03C,
هذا الجزء من الشفرة يعني أننا تحركنا ثلاث (2,03C) وحدات للأسفل (2,03C). ونكمل التحرك، أيضاً بدون رسم خط من النقطة (0) يساراً مسافة (0.5) وحدة، حتى نصل إلى نقطة النهاية (2). ولكتابة شفرة هذه الحركة الأخيرة نغير أولاً مقياس الرسم إلى التصغير (3,2,01 بمقدار النصف (3,2,01، ثم نتحرك وحدة واحدة (01 في اتجاه اليسار (01، أي بالمجمل تحركنا نصف وحدة، لوجود مقياس الرسم النصف، لليسار:
034,2,03C,3,2,018,
نكمل كتابة الشفرة
034,2,03C,3,2,018,4,2,
هنا، أعدنا الأمور للوضع الأصلي للرسم. فغيرنا مقياس الرسم للتكبير 4 (أو 004) بمقدار الضعف 2. نختم الشفرة بكتابة الصفر 0 (أو 000):
034,2,03C,3,2,018,4,2,0
وأخيراً، نضيف العنوان (*104,9,ALEF) إلى الشفرة السابقة، ومن ثم نحفظهما كملف مفكرة منفصل وضمن مجلدٍ معروف بالاسم ALEF.SHP، (الشكل 4).
*
الشكل 4: الشفرة الكتابية لحرف الألف (بدون همزة)
*
وحتى نفهم ماذا تعني هذه الأرقام والشفرة لعملنا نقول: إن حرف الألف بدون همزة المكون من خط عمودي بارتفاع ثلاث وحدات من نقطة إدراجه، وينتهي على بعد نصف وحدة إلى اليسار في نقطة نهايته أو نقطة بداية الحرف التالي، قد رسم كشكل هندسي، (الشكل 3)، ومثل بالشفرة (الشكل 4)، المكونة من سطرين: أولهما هو العنوان ويتمثل فيما يلي:
** النجمة:** تشير لأوتوكاد بأن تعريف الشكل قد بدأ.
104** رمز أو عدد يمثل شفرة آسكي (ASCII CODE) المكافئ للحرف المعين. وهي الشفرة التي تترجم الضغط على المفتاح الموسوم بالحرفين ا و h في لوحة المفاتيح إلى رسمِ الشكل الهندسي الذي اخترناه لتمثيل الحرف (ا) على شاشة الحاسوب، وذلك عند استخدام نمط الخط المحدد المعرف للحرف نفسه. هذه الشفرة تتراوح قيمتها من 1 إلى 127 وحتى 255، وفقاً لعدد الحروف والرموز المستخدمة ضمن نمط خط الكتابة نفسه.
فالحاسوب يخزن المعلومات والمعطيات بواسطة شفرة آسكي التي تقوم بتحويل العناصر (الحروف، الرموز الرياضية والأرقام) المدخلة إليه كأرقام ثنائية. إذا حددنا هذه الشفرة بسبع بِتَّّات فإننا نستطيع استخدامها لتعريف ما مجموعه 128 عنصراً مدخلاً إلى الحاسوب (2^7 أي اثنان مرفوعة للقوة 7). كما نستطيع تمثيل مجموعة أكثر من العناصر المدخلة إلى الحاسوب إذا حددنا الشفرة بثماني بتات أو أكثر. فالشفرة المكونة من ثمانية بتات تعرف 256 عنصراً مدخلاً إلى الحاسوب (أي 2^.
كما أسلفت عزيزي القارئ، يمكنك الحصول على ملف يتضمن تمثيل شفرة آسكي لعناصر الكتابة الإنجليزية والعربية بالنقر فوق الوصلة المبينة في مقدمة المقالة.
9** عدد يمثل مجموع بايتات تعريف الشكل للحرف (ا) في السطر الثاني. كل بايت يمثل مجموعة مكونة من ثلاثة أرقام مثل 034 ثم 2 أو (002) ثم 03C،.....الخ.
ALEF** اسم الشكل المرسوم (حرف الألف العربي بدون همزة).
فيما يتكون السطر الثاني من مجموعات (عددها 9، وفقاً للسطر الأول) ذات ثلاثة أرقام، تسلسل أولاها من اليسار لليمين كما يلي:
0*** يكون هذا الرقم صفراً دائماً لينبه أوتوكاد بأن الأرقام التالية مترجمة إلى القيم الست عشرية.
3*** المسافة التي يقطعها المتجه تبلغ 3 وحدات، حيث تتراوح المسافة بين 1 و F (خمس عشرة وحدة).
4*** اتجاه حركة المتجه للأعلى. وهنا تتراوح الاتجاهات من (0) نحو الشرق ودوراناً بعكس عقارب الساعة وحتى F وفقاً لمضاعفات الزاوية 22.5 درجة.
وعلى المنوال نفسه، نعرف شفرة حرف الهاء المتصلة، (الشكل 3). ولرسمه نحدد نقطة البداية (0) ونتحرك منها أفقياً بدون رسم خط (...,2) نحو النقطة (1) ثم رأسياً للأعلى حتى النقطة (2). ولأننا سنتحرك ضمن حدود جزء من أربعة نغير مقياس الرسم تصغيراً إلى الربع (...,2,3,4). إذن، نتحرك ضمن مقياس الرسم الجديد من نقطة البداية أربع وحدات صغيرة لليسار نحو النقطة 1 (...,2,3,4,048) ثم نتحرك للأعلى ست وحدات صغيرة (..,2,3,4,048,064) فنصل للنقطة 2. من هناك نبدأ برسم خط (..,2,3,4,048,064,1) نحو الأسفل حتى نصل للنقطة 3 (أو النقطة 1)، ثم نتجه نحو النقطة 4 فنكتب (..,2,3,4,048,064,1,06C,048). حتى الان، نحن رسمنا الخط العمودي من النقطة (2) نزولاً حتى النقطة (3) ثم الخط الأفقي من النقطة (3) وصولاً للنقطة (4)، مع أن نقطة بداية الحركة تتحدد في النقطة الأولى (0).
نكمل كتابة الشفرة فنرسم من النقطة (4) قوساً نصف قطره 4 وحدات بحيث يدور بعكس عقارب الساعة بمقدار أربعة أثمان من الثمن الرابع مشكلين بذلك نصف دائرة في الأعلى، إذ يمر هذا القوس في النقطة (5) وليصل أخيراً إلى النقطة (6):
2,3,4,048,064,1,06C,048,10,4,-044,
ونكمل رسم الجزء الأخير من حرف الهاء برسم الخط الأفقي، الأساس من النقطة (6) وحتى نقطة النهاية (7):
2,3,4,048,064,1,06C,048,10,4,-044,0C8,
وأخيراً نعدل مقياس الرسم إلى المقياس الأصلي ونختم الشفرة بالصفر:
2,3,4,048,064,1,06C,048,10,4,-044,0C8,4,4,0
نكمل العنوان:
*105,15,HAA
2,3,4,048,064,1,06C,048,10,4,-044,0C8,4,4,0*
  • رابعاً: التأكد من نجاح عملية تعريف شفرة الحرف وترجمته لأوتوكاد
يتم ذلك في أوتوكاد عن طريق الأوامر الثلاث التالية:
  1. الأمر توليف (compile): لتوليد ملف مترجم من ملف الشكل. نكتبه في سطر الأوامر:
Command: Compile
يظهر صندوق الحوار "Select Shape or Font File". ونحدد ملف الشكل ALEF.shp من المجلد D:\CADFONTS، فيستجيب أوتوكاد كتابة في نافذة الأوامر ما يلي:
Compiling shape/font description file
Compilation successful. Output file D:\CADFONTS\ALEF.shx contains 51 bytes.
أي أننا حصلنا على الملف المترجم ALEF.shx ضمن المجلد D:\CADFONTS.
  1. الأمر تحميل (load): لتحميل الملف المترجم لأوتوكاد. نكتبه في سطر الأوامر:
Command: Load
يظهر صندوق الحوار "Select Shape File". نحدد ملف الشكل المترجم ALEF.shx من المجلد D:\CADFONTS، فيصبح الملف المترجم محملاً على أوتوكاد.
  1. الأمر إدراج شكل (shape): لإدراج الشكل في أوتوكاد. نكتبه في سطر الأوامر:
Command: shape
Enter shape name or [?]: alef
Specify insertion point:
Specify height : 1
Specify rotation angle : 0
إذا نجحت كل هذه العمليات، وكان الشكل الناتج من عملية الإدراج للملف المترجم مكافئاً لشكل الحرف الأصل عند رسمه فإننا نتأكد من صحة تعريفنا لشفرة الحرف المعين. عندئذٍ، ننتقل إلى تعريف الحرف الثاني فالثالث .....وانتهاءً بآخر حرفٍ في الأبجدية العربية المختارة كنمط خط. ولا ننسى في هذا المجال تعريف شفرات الأرقام العربية والرموز الرياضية والهندسية التي سيحويها نمط الكتابة المعين.
  • خامساًً: تكوين ملف مفكرة جديد لتعريف نمط خط الكتابة
نستحدث ملف مفكرة جديد لتعريف خط الكتابة خاصتنا، نسمّيه مثلاً KUFI1.shp، ونرفقه للمجلد D:\CADFONTS\. نبدأ بتعريف خط الكتابة بمساعدة الفاصلة المنقوطة ( وذلك لعمل تعريفات وإضافات له بدون أية تأثيرات على الملف سوى إمكانية قراءته:
;;
;; ملف خط كتابة لبرنامج أوتوكاد
;; إعداد: يحيى مضيه
;;
ثم نُعرف مباشرةً حجم – مقياس الرسم- الذي ستظهر به الكتابة:
*0,4,ARABIC ENGINEERING KUFI1 FONT
3,3,2,0
على اعتبار أن 3 وحدات لارتفاع حرف الألف والمكافئة لارتفاع الأرقام العربية ستظهر بوحدة واحدة. ثم نضيف للملف نفسه KUFI1.shp الشفرة المعرفة للمسافة بين الكلمات كوحدة واحدة:
*32,7,SPACE
2,018,14,8,(-6,-,0
والشفرة المعرفة للمسافة بين الأسطر بمقدار ثمانية أثلاث وحدة:
*10,11,LF
2,3,3,08C,4,3,14,8,(9,10),0
وأخيراً ننسخ للملف جميع ملفات الحروف والأرقام والرموز المكونة لخط الكتابة الناتجة. (يمكنك الحصول على الملف بالنقر فوق الوصلة المبينة في بداية المقالة).
  • سادساً: ترجمة الملف KUFI1.SHP إلى ملف شكل آخر يتقبله أوتوكاد
وهنا، ينبغي لنا استخدام الأمر توليف (COMPILE) لتوليد ملف جديد من الملف الشامل KUFI1.shp:
Command: compile
من صندوق الحوار "Select Shape or Font File" نختار الملف KUFI1.SHP ضمن المجلد D:\CADFONTS فيستجيب أوتوكاد بما يلي:
Compiling shape/font description file
Compilation successful. Output file D:\CADFONTS\KUFI1.shx
contains 2883 bytes.
ومن الطبيعي أن عدم وجود أخطاء في كتابة الملف يعني نجاح عملية التوليف وحصولنا على الملف المترجم KUFI1.shx،* نغلق أوتوكاد.
  • سابعاً: إفلات الملف المترجم KUFI1.SHX ضمن مجلد الخطوط
نحمل الملف المترجم للمجلد الفرعي "الخطوط" Fonts، الموجود ضمن المجلد الرئيسيC:\Program Files\AutoCAD 2002. (يمكن استخدام الأمر Load لتحميل الملف بدون إغلاق أوتوكاد).
الآن افتح ملفاً جديداً في أوتوكاد، وحدد من القائمة القياسية Format>Text Style… في صندوق الحوار Text Style انتق نمط الخطوط KUFI1.shx (يمكن أن تتم هذه العملية أيضاً باستخدام الأمر STYLE-) فيصبح نمط الخط KUFI1 هو الفعال. استخدم الأمر Dtext للكتابة، (الشكل 5).*
الشكل 5: الكتابة بالعربية في أوتوكاد بالخط المصمم KUFI1
*
خطوات تصميم الحروف ونمط الكتابة في أوتوكاد بالأدوات السريعة (Express Tools)
لاشك أن كتابة أو تعريف شفرة كل حرفٍ في العربية كملف شكل بالطريقة التقليدية الواردة أعلاه لن يكون سهلاً كما هو الحال بالنسبة لحرف الألف بدون همزة أو حتى حرف اللام المتصلة. فالحروف العربية بمجملها، (الشكل 2، أنظر ملف أوتوكاد KUFI1)، مكونة من خطوط مستقيمة و/أو أقواس دائرية، قد يضاف لبعضها نقطة أو نقطتين أو حتى ثلاث نقاط. ولا ننسى في هذا الصدد الهمزة التي يشكل ربطها بحرف الألف (بدون همزة) ثلاثة حروف مختلفة، جميعها أعقد شكلاً من الحرف الأصلي. كل هذه الإضافات تضفي صعوبة وتعقيداً أكثر على طريقة رسم وحركة الحرف ومن ثم كتابة شفرته.
لذلك كله، يوفر أوتوكاد وعن طريق الأدوات السريعة إمكانية بناء وتعريف شفرة هذه الأشكال مهما كانت تلك الحروف معقدة وبسهولة متناهية. ولعمل ذلك، نحمل الأدوات السريعة على برنامج أوتوكاد إذا كان الأصل غير ذلك. ونستحدث ملف المفكرة KUFI10 ضمن المجلد المعروف D:\CADFONTS. هذا الملف الجديد سيحوي فيما بعد كل شفرات العناصر المكونة لنمط الخط المعين من حروف وأرقام ورموز، والمستحدثة عن طريق الأدوات السريعة.
كمثالٍ مباشر، نتعلم كيف نكتب شفرة حرف الألف بدون همزة. إذ يتم ذلك عن طريق كتابة أمر أوتوكاد اصنع شكلاً (MKSHAPE):
Command: mkshape (ENTER)
أو نختار من القائمة القياسية في أوتوكاد الأدوات السريعة، ثم اصنع شكلاً:
Menu Bar> Express Tools > Make Shape
والحالتان الناتجتان تدخلانك إلى صندوق الحوار Select Shape File، (الشكل 6).
*
الشكل 6: صندوق الحوار Select Shape File لملف نمط الكتابة KUFI10
*
حدد المجلد D:\CADFONTS ثم ملف الحفظ KUFI10 وأخيراً أنقر على زر الحفظ Save فيستجيب أوتوكاد نصاً تالياً وبالتدريج:
Enter the name of the shape: ALEF (Enter)
Enter resolution : (Enter)
فنسم الشكل ALEF ونحدد عدد نقاط التمايز بـ (12 لنستوفي شروطنا المطلوبة. ثم نكمل الأمر بتحديد نقطة الإدراج:
Specify insertion base point: _endp of
Select objects: 1 found
Select objects: (Enter)
هنا نحدد النقطة (0)، كما في الشكل 3، كنقطة بداية الخط للحرف (ا) ونختار الخط 01 فقط في الشكل نفسه فيستجيب أوتوكاد بمجموعة من المعطيات التالية:
Determining geometry extents...Done.
Building coord lists...Done.
Formating coords...-Done.
Writing new shape...Done.
Compiling shape/font description file
Compilation successful. Output file D:\ACAD2004\ARABIC FONTS\ALEF.shx contains
85 bytes.
Shape "ALEF" created.
Use the SHAPE command to place shapes in your drawing.
أي أننا بنينا باستخدام الأدوات السريعة ملفَ شكلٍ لحرف الألف، حجمه 85 بايت. وسنجد شفرته معرفةً ضمن الملف والمجلد D:\CADFONTS\KUFI10 الوارد أعلاه.
*1,42,ALEF
4,101,4,99,3,101,3,33,3,128,002,9,(0,127),(0,1),(0 ,0),001,9,(0,-127),
(0,-1),(0,0),002,9,(0,0),001,4,128,4,33,4,101,3,99,3,1 01,0
وهنا نستطيع التحقق من أننا اخترنا الحرف المعين بالشكل المطلوب وذلك بإدراجه من جديد في الرسم وفقاً لتسلسل الأمر الأوتوكادي Shape. إذا نجحت عملية الإدراج، وكان الشكل الناتج مكافئاً لشكل الحرف الأصل فإننا نتأكد من صحة تعريفنا لشفرة الحرف المعين. وعندئذٍ، ننتقل إلى تعريف الحرف الثاني فالثالث وانتهاءً بآخر عنصر في الأبجدية العربية المختارة كنمط خط. ولا ننسى في هذا المجال تعريف شفرات الأرقام العربية والرموز الرياضية والهندسية المرفقة لنمط الكتابة المعين. الفرق الوحيد هنا أن ملفات العناصر المكونة لنمط الخط سوف تندرج ضمن ملف أساس هو KUFI10.
إذا قارنا بين شفرتي حرف الألف بدون همزة والناتجتين من الكتابة المباشرة (الشكل 4)، أو من الأدوات السريعة، يظهر لنا ما يلي:
  • أولاً: الشفرة الكتابية أقصر وأبسط من الشفرة الناتجة من استخدام الأدوات السريعة.
  • ثانياً: الحصول على الشفرة الكتابية أصعب مقارنة بالحالة الثانية. إذ يتطلب الأمر في الحالة الأولى معرفة مسار وحركة الخط الذي سيتبعه رسم الحرف من بدايته إلى نهايته. بينما نحصل على شفرة الحرف بالأدوات السريعة كنتيجة لاستخدام الأمر "اصنع شكلاً" الذي يتطلب اختيار العناصر المكونة للحرف ونقطة إدراجه. وهذا يؤدي إلى النقطتين التاليتين:
  • ثالثاً: عنوان الشفرة الكتابية نكتبه مباشرة على عكس عنوان الشفرة الناتجة من الأدوات السريعة الذي نعدله. فيتم تعديل الأرقام المتتالية 1، 2، 3، في عناوين شفرات عناصر نمط الخط بالعدد المناسب كرمز آسكي جديد يتوافق وموضع الحرف نفسه على لوحة المفاتيح. لذلك نستبدل الرقم (1) في عنوان الشفرة لحرف الألف بدون همزة بالعدد (104)، ونستبدل الرقم 2 الذي سيعرف عنوان شفرة حرف الهاء المتصلة بالعدد 105.....وهكذا دواليك.
  • رابعاًً: نقطتا البداية والنهاية في الشفرة الكتابية منفصلتان ومحددتان، بينما هما متحدتان في نقطة الإدراج للشفرة الناتجة من الأدوات السريعة. من أجل هذا كله:
*
  1. يضاف لشفرة الحرف الناتجة من الأدوات السريعة (شفرة) الحركة بدون رسم خط ما بين نقطتي البداية والنهاية، وتوضع هذه الإضافة مباشرة قبل صفر النهاية.
  2. يتعدل العدد الثاني في عنوان الشفرة، والذي يمثل عدد المجموعات التي تعرف الشكل، ليشمل هذه الإضافات الناتجة. وكمثال، نستعرض شفرة حرف الألف بدون همزة الناتجة من استخدام الأدوات السريعة، لنرى كيف يتغير عنوانها إلى شكلٍ آخر:
*104,48,ALEF
4,101,4,99,3,101,3,33,3,128,002,9,(0,127),(0,1),(0 ,0),001,9,(0,-127),
(0,-1),(0,0),002,9,(0,0),001,4,128,4,33,4,101,3,99,3,1 01,2,3,2,018,4,2,0 *
على هذا المنوال، تتم كتابة شفرات كل عناصر نمط خط الكتابة عن طريق الأدوات السريعة كملفات أشكال. وفي السياق ذاته يتم تعديل جميع العناوين لتلك العناصر لتتوافق ورموز آسكي المطلوبة، ولتتوافق أيضاً مع الإضافات الناتجة من الحركة بين نقطتي الإدراج والنهاية التي نضعها قبل صفر النهاية.
نكمل تعريف الملف الشامل بكتابة صيغة مقدمته كتلك التي أضفناها للملف الشامل KUFI1.shp. إذا كانت كل هذه التعديلات على الملف KUFI10.shp ناجحة فإننا نستخدم الأمر توليف (compile) لتوليد ملف الشكل المترجم KUFI10.shx، ثم نلصقه (الملف الأخير) إلى أحد مسارات الدعم المعروفة لأوتوكاد.
أخيراً، يجب الانتباه والحرص إلى الطريقة غير المألوفة أولاً والاتجاه ثانياً، والتي ستكتب به الرموز والأرقام العربية في النمطين الواردين أعلاه. إن اتجاه الكتابة العربية يحتم علينا التحرك من اليمين لليسار أياً كان الرقم أو العدد. وقياساً على ذلك، يفرض علينا النمطان اللذان صممناهما أن نكتب أرقام السنة 1987 بدءً بالرقم 7 ثم 8 ثم 9، وأخيراً 1، متوافقاً بذلك مع الاتجاه الرسمي وغير المألوف الذي تأخذه قراءة الأرقام العربية (سبع وثمانون وتسعمائة وألف). هذا الأسلوب في الكتابة للأرقام غير مألوف حتى عند استخدام الأنماط الحقيقية للحروف (TrueType Fonts) والمستخدمة في الويندوز وبرنامج الطباعة وورد. ففي برنامج الوورد، صحيح أنك تتجه من اليمين لليسار عند كتابة النص العربي، لكنك ما إن تبدأ بكتابة الأرقام حتى تشعر بعكس مسار حركة الكتابة. وهكذا نكتب السنة 1987 في الوورد بالشكل المريح بدءً بالرقم 1 ثم 9 ثم 8 وأخيراً 7، وعندما تكتب رقماً من العدد تتم إزاحة الرقم/مجموعة الأرقام التي كتبت لليسار بما يعادل الإزاحة المطلوبة.
هنا، صممنا نمطين من الخطوط العربية بطريقتين. كان الهدف هو تقنياً لجعل أوتوكاد يستوعب هذه الخطوط بما يفتح المجال أمام المؤسسات الهندسية والأكاديمية للأخذ بهذا الدور وصياغة نمط/ أو أنماط خطوطها التي ستصبح مفتاحاً لوثائقها ورسومات طلابها وأبحاث أساتذتها. كلي أمل أن تشكل المقالة حافزاً لمهندسينا وطلابنا المهتمين بحقلي التصميم والرسم بالحاسوب من أجل تصميم خطوط كتابة عربية خاصة بهم، وخلق نواة برمجية عندنا، بما فيها الحفاظ على بعض من خصوصياتنا. ولربما أيضاً، نساعد د. سلمان أبو سته في إكمال أطلس فلسطين بالعربية وبما يحقق أمنيات الملايين من أبناء شعبنا.
المراجـع
  1. Ralph Grabowski, Tailoring AutoCAD 2004, Upfront.ezine Publishing Ltd. 2003. http://www.upfrontezine.com/tailor2004/default.htm#feedback
  2. Auto Cad Font & Shape_files: Part 1. by Wolfe Derle, SOAP

|