حروف ألف

عربي | English

«حروف ألف» هو مسبك حروف رقمي افتراضي يتخصص في الخطوط العربية والرياضياتية.

تواصل معي

هل لديك أي أسئلة أو اقتراحات عن خطوطي؟ يمكن التواصل معي عبر بريدي الإلكتروني:
info@aliftype.com

الموقع من تصميم عبد الرحمن محمد

عربي | English

المسألة الكشيدية

كتبه خالد حسني في

أعمل حاليا على مشروع جديد، جعلني أفكر مرة أخرى في مسألة مساواة النص العربي. فما من نظام يعتد به يمكنه مساواة النص العربي دون أن يجيب أولا عن سؤال: أين نضع الكشيدة؟

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

ملئت سطور هذين البيتين بمزيج من تكشيد الحروف والبدائل العريضة (بخط الخطاط محمد شوقي الغني عن التعريف):

الكشيدة في الخط العربي

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

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

أمثلة على مساواة نص عربي بالكشيدة وبدونها

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

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

وأعتقد أن هذه القواعد تعود في أصلها إلى القواعد التي كان يستعملها عمال صف الجرائد العربية (وجريدة الأهرام تحديدا) ربما في خمسينيات القرن المنصرم أو أوائل ستينياته. وكانت هذه القواعد تقريبا وتبسيطا للقواعد العامة للمد في الخط العربي، شكلتها قيود آلات الصف الطباعي في ذلك العصر والخطوط المستعملة فيها. وهي قواعد لا بأس بها لفئات معينة من الخطوط (مثل الخطوط البسيطة جدا ذات العلاقات المحدودة بين حروفها، أو الخطوط العتيقة مثل الخط الكوفي حيث العلاقات بين الحروف أقل تعقيدا)، أما مع الخطوط العربية التقليدية الغنية في العلاقات بين الحروف، فتعطي هذه القواعد إطالات كثير منها مستهجن فنيا.

وكما قيل «لولا اختلاف الأذواق لبارت السلع»، بدأت العمل على مكتبة لإدراج الكشيدة كان مخططا لها أن تدعم مجموعات متنوعة من قواعد الكشيدة (كانت التجربة الأولى بلغة بايثون، ثم نقلتها إلى جافاسكربت). بدأت أولا بتطبيق القواعد «البسيطة» المأخوذة من ليبر أوفيس وتوثيق ميكروسوفت، على أن أضيف لاحقا مجموعة قواعد للنسخ تناسب الخطوط التقليدية، وهو ما لم يحدث. نشرت المكتبة على جت‌هب وغفلت عنها.

عملت قواعد النسخ بعد ذلك بمدة، لكنها كانت جزءا من مشروع أكبر لم أنشره بعد. لكن حتى مع إضافة قواعد النسخ، تبقى الخيارات المتاحة لمستخدم المكتبة محدودة وتفترض أن مجموعات قليلة من القواعد تناسب كل استخدام. ثم خطرت لي فكرة أتعجب الآن لم لم تخطر لي من قبل: لم لا يتاح لمستخدم المكتبة كتابة قواعده بنفسه؟ فبدلا من الاكتفاء بمجموعة محددة من القواعد، توفر المكتبة هذه القواعد وتتيح في نفس الوقت لمستخدميها تعديلها أو كتابة قواعد مختلفة بالكلية تناسب احتياجاتهم والخطوط التي يستعملونها.

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

توجد حاليا أربعة أنماط مضمنة، ثلاثة عربية ونمط سرياني:

  1. النسخ: قواعد تناسب الخطوط الطباعية النسخية التقليدية وما شابهها من الخطوط (كالثلث) التي تتبع قواعد الخط العربي التقليدية وتشتمل على علاقات متقدمة بين الحروف.
  2. النستعليق (الفارسي): قواعد تناسب الخطوط الطباعية الفارسية (النستعليق وليس اللغة الفارسية) التقليدية. تتخذ من قواعد النسخ أساسا لها مع بعض التطويعات لتناسب قواعد الخط الفارسي.
  3. البسيطة: قواعد تناسب الخطوط «البسيطة»، أي الخطوط التي تتخذ حروفها أشكالا بسيطة دون علاقات متقدمة بينها (بلا تراكيب أو بدائل سياقية أو بقليل منها، وهكذا). وهي تناسب الخطوط الكوفية أيضا.
  4. السريانية: قواعد إدراج كشيدة سريانية، تتبع الإرشادات المقترحة لمحاذاة النص السرياني.

وهذا مثال على نص يستخدم خط «إيران نستعليق» ومساوى بقواعد الخط الفارسي. لا يدعم هذا الخط الكشيدة إلا في المواضع المقبولة في الخط الفارسي، لذا فاستخدام قواعد النسخ معه يؤدي إلى كسر اتصال الحروف في أماكن كثيرة. وفي هذا الخط مشاكل حتى مع هذه القواعد لأنه لا يدعم كل المواضع المقبولة في الخط الفارسي (أترك للقارئ العثور على هذه المشاكل في الصورة).

نص يستخدم خط «إيران نستعليق» ومساوى بقواعد الخط الفارسي

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

لغة الأنماط موصوفة بالتفصيل في مستودع المكتبة:

https://github.com/aliftype/raqim-kashida

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

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

العرض

يظل هذا عملا قيد التطوير، والقواعد تخضع للتعديل بناء على العيوب التي تظهر أثناء استعمالها، ويسعدني تلقي أي اقتراحات أو ملاحظات إما بالتواصل معي أو بالإبلاغ عن المشاكل على جت‌هب.

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