قراءة الشارات
الشارة على صفحة الخط ادّعاء، والادّعاء لا يساوي أكثر من الطريقة التي أُنتج بها. شاراتنا يُنتجها برنامج يفتح ملف الخط ويشكّل النص من خلاله — لا أحد يكتبها بيده. هذا ما يعنيه كل مستوى، وما يفحصه اختبار الكردية، وأين تتوقف الشارة عن الوعد بأي شيء.
ثلاثة مستويات، وحالة غياب الشارة
لشارة اللغة ثلاثة مستويات — موثّق وجزئي ولا شيء — لكنها لا تُقرَّر كلها بالطريقة نفسها، وهذا أول ما ينبغي معرفته. الكردية تُفحص بملف تعريف كتبناه نحن، يطرح أسئلة صريحة ولا درجة فيه. أما الكرمانجية والعربية والفارسية والتركية والإنجليزية فتُفحص بـ shaperglot الذي يعيد درجة من مئة، والمستوى هو النطاق الذي تقع فيه تلك الدرجة. فمعنى المستوى يتوقف على أيّ الآليتين أنتجته، وكلتاهما مشروحتان أدناه.
وهناك حالة رابعة، وهي الحالة التي يُساء فهمها أكثر من غيرها. إن تعذّر إجراء الفحص أصلاً، لا نعرض شارة بدل أن نعرض مستوى. غياب الشارة يعني أنه ليست لدينا نتيجة — لا أن الخط رسب.
اقرأ الفراغ على أنه سؤال بلا جواب. قد يضبط الخط تلك اللغة ضبطاً ممتازاً؛ نحن فقط لا نملك ما نقف خلفه، ونفضّل ألا نقول شيئاً على أن نجبر فراغاً نحو موثّق أو نحو لا شيء.
الشارة تأتي من ملف الخط لا منّا
كل شارة يُنتجها برنامج أثناء الإدخال. يفتح ملف الخط نفسه — النسخة المنقّاة التي يعيد خط أنابيبنا بناءها من الأصل، وهي أيضاً ما تُشتق منه معاينات الصفحة — ويقرأ جدول محارفه ويشكّل النص من خلاله. لا أحد يكتب شارة بيده، ولا يوجد حقل يمكن ملؤه يدوياً. أما الملف خلف زر التنزيل فشيء آخر: هو الأصل كما هو، ولا نمسّه أبداً.
ومعنى ذلك أن ادّعاء المصمم نفسه لا وزن له هنا، ولا ادّعاءنا نحن. إن قال ملف README إن الخط يغطي الكردية وخالفه الفحص، فالفحص هو ما يصل إلى الصفحة.
ومعناه أيضاً أن الشارات قابلة للتغيّر. حين نجد ثغرة في فحص، نصلح الفحص ونعيد تشغيله على الفهرس كله، وقد يعود خط كان موثّقاً بشارة جزئية. حدث هذا فعلاً: خط كنا نشرناه موثّقاً للكردية نزل إلى جزئي حين صحّحنا طريقة تشكيل عيّناته. الفحص جرى وكان له جواب — لكنه جواب أدنى.
ما الذي يفحصه اختبار الكردية
في الكردية يجب أن تتحقق ثلاثة شروط معاً. كل حرف أساسي من الأبجدية الكردية يجب أن يكون في خريطة محارف الخط، أي في cmap. ومجموعة عيّنات — كلمات كردية حقيقية مثل گرنگ و هەڤال — يجب أن تتشكّل صوراً متصلة بحسب الموقع. ولا يجوز أن تُخرج أي عيّنة .notdef، وهو المربع الفارغ الذي يُخرجه الخط حين لا يملك شكلاً للحرف المطلوب. وحرف أساسي ناقص أو ظهور .notdef هو ما يجعل الشارة تقرأ لا شيء.
إثبات الوصل يحتاج تشكيلين. نشكّل كل عيّنة بشكل عادي، ثم نشكّلها ثانية بعد إطفاء خصائص الوصل init و medi و fina و isol، ونقارن سلسلتي الأشكال. إن تطابقتا فالخط لم يُنتج أي صورة موضعية أصلاً، فتنزل الشارة إلى جزئي.
كل عيّنة تُشكَّل مع تطبيق وسم اللغة الكردية. هذا مهم لأن نظام اللغة في OpenType يستبدل قائمة الخصائص الافتراضية بدل أن يضيف إليها، فقد يصل الخط العربية بشكل صحيح ويقدّم مع ذلك نظاماً كردياً نُزعت منه خصائص الوصل. التشكيل بلا الوسم لن يرى ذلك أبداً، والمتصفح في صفحة موسومة بـ lang="ckb" يطبّقه دائماً.
شارة كردية واحدة، وما لا تَعِد به
الكردية هنا شارة واحدة تغطي السوراني والبادينی معاً. يُكتبان بمجموعة الحروف العربية نفسها وبسلوك الوصل نفسه، فيكفي فحص واحد للاثنين؛ وفصل الشارة كان سيطبع النتيجة ذاتها مرتين.
الفحص يشترط ه (U+0647) ولا يشترط ھ (U+06BE) عن قصد. كلاهما متداول لصوت /h/. اشتراط ھ كان سيُسقط عدداً كبيراً من الخطوط الكردية الممتازة، والاستخدام البادينی يكتب ه غالباً.
لذلك فشارة الكردية الموثّقة ليست وعداً بشأن ھ. إن كنت تكتب بذلك المحرف، فاكتبه في المختبِر على صفحة الخط وانظر إليه قبل أن تعتمده. هذا حدّ اخترناه نحن، ونفضّل أن نكتبه على أن تكتشفه أنت في عنوان.
الخمس الأخرى، وما يبقى عليك أنت
الكرمانجية والعربية والفارسية والتركية والإنجليزية تُفحص بـ shaperglot الذي يعيد درجة من مئة، والمستوى هو النطاق الذي تقع فيه الدرجة: موثّق عند 80 فأكثر، وجزئي عند 40 فأكثر، ولا شيء دون ذلك. وموثّق هناك يعني أن الخط يسجّل درجة تكفي للاستعمال اليومي — لا أن شيئاً لم يبقَ؛ فقد يقف خط عند 80 وتبقى لديه إصلاحات يطلبها shaperglot. وجزئي في تلك الصفوف يعني غالباً أن محارف ناقصة ببساطة، وصفحة الخط تسرد أيّها. والكردية استثناء: تُفحص بملفنا الخاص ولا درجة معها البتة — المستويات الثلاثة نفسها، لكن تقررها الفحوص الصريحة أعلاه لا رقم.
الكرمانجية تُكتب بالحرف اللاتيني، لكن ليس اللاتيني الذي تكتفي به الإنجليزية. وفوق درجة shaperglot قاعدة خاصة بنا: إن غاب Ş أو ş (U+015E و U+015F) عن خريطة المحارف، فلا يمكن لذلك الصف أن يقرأ موثّقاً أبداً — نُبقيه عند جزئي ونسرد الناقص منهما، مهما كانت الدرجة. فخط لا يحمل سوى Latin-1 لن يكون موثّقاً للكرمانجية أبداً، ولهذا لا تقول لك شارة الإنجليزية شيئاً عنها.
الشارات تغطي الجانب الآلي وتتوقف عنده. لا تقول شيئاً عن ملاءمة الوجه لنصك، ولا عن صموده في الحجم الذي ستضبطه فعلاً، ولا عن امتلاك العائلة الأوزان التي يتكئ عليها تصميمك. والرخصة حالة منفصلة، وحالاتها أربع لا اثنتان: خطوط برخصة مفتوحة؛ وخطوط نستضيفها بإذن مكتوب من صاحبها محفوظ لدينا؛ وخطوط ندرجها ولا نستضيفها، وهي إمّا خط يسمح لنا صاحبه بعرضه ويرسلك الزر إليه لأخذ الملف، وإمّا خط عليك شراؤه ويرسلك الزر إلى حيث تشتريه؛ وخطوط نستضيفها بقرار من الطاقم بلا أي دليل ترخيص، ونصفها في كل سطح بأن «الرخصة غير موثّقة»، ولا ندّعي لها رخصة، ويبقى عليك أنت أن تستوثق من شروطها قبل الاستعمال. وحين تكون الرخصة رخصةً قياسية، فالمرجع هو نصها الأصلي الموصول من صفحة الخط نفسها — اقرأه هناك. وبعض الخطوط التي نستضيفها بإذن مكتوب لا نص رخصة عاماً لها أصلاً؛ لتلك، جدول الأذونات على الصفحة هو ما يبيّن حقوقك. وقد يحوي التنزيل نسخة من تلك الرخصة، لكن فقط إن كان الأرشيف الأصلي يحملها، والنسخة ليست الاتفاق؛ أما ملف ABOUT.txt فحاضر دائماً، ويكرّر سطر حقوق النشر والرخصة من بيانات الخط نفسه حين يسجّلهما الخط. فاستعمل المختبِر بكلماتك أنت، واقرأ الرخصة على صفحة الخط، ثم قرر.