كيف يحوّل المطوّرون Arab Font إلى خط ويب صالح للمواقع؟
2026-04-04 18:38:45
277
關注22
分享
خبرمقهى
قارئ دائم
كاتب
ABO人格測試
快速測測看!你的真實屬性是 Alpha、Beta 還是 Omega?
費洛蒙
屬性
理想的戀愛
潛藏慾望
隱藏黑化屬性
馬上測測看
4 答案
Owen
رفيق القراءة
مغني
أحيانًا أتعامل مع المشروع من زاوية مطور مواقع تقليدي يبحث عن حلول عملية ومستقرة على المدى الطويل. أبدأ بتحميل ملف الخط الأصلي وفحصه في FontForge ثم أحلل الفئات التي أحتاجها: الحروف العربية الأساسية، الأرقام، علامات التشكيل، وبعض اللغات المركبة إن وجدت. بعد التصفية أستخدم pyftsubset لتقليص الحجم بحيث يبقى فقط ما أحتاجه فعليًا. التحويل إلى WOFF2 يكون دائمًا الهدف لأنّه يقدم أفضل ضغط، وأترك WOFF كنسخة احتياطية للمتصفحات الأقدم.
مهماً فعلت، أتحقق من جداول GSUB/GPOS: إن لم تكن موجودة بشكل جيد ستجد حروفًا لا تتصل أو تظهر بشكل مفكك على المتصفحات. أختبر على Chrome وFirefox وSafari ونظامي iOS وAndroid لأنّ اختلاف محركات التشكيل قد يظهر فروقًا. بالنسبة لطرق التحميل أفضّل استخدام preload + font-display: optional للمواقع ذات الأولوية العالية في الأداء، وأستخدم CDN مع cache طويل الأجل للخطوط لتقليل الطلبات المتكررة. في النهاية، الحصول على توازن بين جودة العرض وحجم الملف هو ما يجعل المشروع ينجح على الويب.
2026-04-05 08:15:08
8
Zara
قارئ نهم
طباخ
موضوع تحويل خطوط العربية إلى خطوط ويب دائمًا يثيرني لأنه يجمع بين الفن والحرفية التقنية.
أبدأ دائمًا بالتحقق من ترخيص الخط — هذا أهم شيء قبل أي تحويل. بعد ذلك أستخدم أدوات مثل 'fonttools' أو FontForge أو Glyphs لتصدير الملف بصيغة TTF أو OTF إذا لم تكن متوفرة، ثم أحولها إلى صيغ الويب الحديثة مثل WOFF2 و WOFF باستخدام ttf2woff2 أو خدمات مثل Font Squirrel أو Transfonter. خطوة مهمة أخرى هي التجزئة (subsetting): أحتفظ بمجموعة الحروف العربية والرموز الضرورية فقط لتقليص الحجم بشكل كبير، ويمكنني استخدام pyftsubset لفعل ذلك.
أهتم أيضًا بخصائص OpenType الخاصة بالعربية—مثل جداول GSUB وGPOS التي تدعم الأشكال السياقية والربط بين الحروف وعلامات التشكيل؛ المتصفحات تعتمد على محرك التشكيل (مثل HarfBuzz) لكن يجب أن تتضمن الملفات الجداول اللازمة. أخيرًا أضع @font-face في CSS مع ترتيب الصيغ (WOFF2 أولاً)، أستخدم font-display: swap أو optional، وأضيف fallback مناسب ونطاق unicode-range إن لزم لتقليل التحميل. هذه سلسلة خطوات عملية تجعل الخط العربي يعمل بشكل صحيح وسريع على الويب، ومع قليل من التجارب والاختبار تحصل على نتيجة نظيفة وموثوقة.
2026-04-08 03:42:03
3
Thomas
مساهم
أمين مكتبة
أحب تبسيط العملية إلى خطوات قصيرة قابلة للتنفيذ: أولًا تأكد من الترخيص، ثانيًا قم بعمل subset للحروف العربية التي تحتاجها، ثالثًا حوّل الملفات إلى WOFF2 ثم WOFF ثم احتفظ بنسخة TTF احتياطية. أثناء التحويل استخدم ttfautohint لتحسين العرض على الشاشات الصغيرة، وراجع جداول OpenType لأنّ العربية تحتاج إلى دعم 'init' و'medi' و'fina' و'mark' لضمان تشكيل صحيح وتوصيل الحروف.
على مستوى النشر أستخدم @font-face في CSS مع src مرتبة بحيث يبدأ بـ WOFF2 ثم WOFF ثم TTF، وأضيف font-display: swap وأستخدم preload في الهيدر للخطوط الأساسية. لا تنس إعداد رؤوس CORS الصحيحة على الخادم إذا استضيفت الخطوط عبر CDN. أختم عادةً بفحص الأداء في Lighthouse والتأكد من أن الخط لم يؤثر سلبًا على الوقت حتى يصبح المحتوى مقروءًا، لأن تجربة المستخدم أهم من مجرد جمال الخط.
2026-04-09 05:14:44
25
Jasmine
قارئ شغوف
مترجم
هذا الدليل المختصر يحمل قائمة تحقق سريعة لكل من يريد تحويل خط عربي للويب: تحقق من الترخيص أولًا، ثم استخدم أدوات مثل FontForge أو fonttools أو Transfonter لتحويل TTF/OTF إلى WOFF2 وWOFF، واعمل subsetting للحروف العربية فقط باستخدام pyftsubset لتقليل الحجم. لا تهمل ttfautohint للتحسينات المرئية، وتأكد من احتواء الملف على جداول GSUB/GPOS الداعمة للأشكال السياقية والعلامات.
في CSS استخدم @font-face بترتيب الصيغ الصحيح، أضف font-display: swap أو optional، وحمّل الخطوط الأساسية عبر preload. وأخيرًا اختبر العرض والسرعة على متصفحات وأنظمة مختلفة مع وجود fallback ملائم وخطوط نظام بديلة لضمان قراءة فورية وتجربة مستخدم سلسة — هذا ما أركز عليه دائمًا قبل إطلاق أي موقع.
2026-04-10 15:43:16
22
查看全部答案
掃碼下載 APP
相關作品
العاصي
Mayadh Maamon
10
7.1K
انتي ايه ماسألتيش نفسك ايه اللي ممكن يكون حصل امبارح خلانا نعمل كده للدرجه دي شايفني طمعان في سعادتك
غمزه:والله بص لنفسك نايم جانبي اذي وانت تعرف طمعان ولا لاء ليه تجبرني اني اوافق علي الوضع ده حتي لو مامي موافقه انا بقي لاءه مش موافقه
عاصي:انشالله ما وافقتي ومن هنا ورايح انتي مش هاتخرجي من هنا ودي هاتبقي شقتك وده هايبقي سريري انا وانتي برضاكي او غصب عنك وانا جوزك وليا عليكي حقوق انتي فاهمه ردي عليا فاهمه
لم ترد عليه واستسلمت عبراتها للنزول علي وجنتها فاتركها هو واتجه الي خزانته ليغير ملابسه التي كانت عباره عن بنطاله الذي نام به بجانبها فقط اخرج تيشرت ابيض وبنطلون چينز والقاهم علي الفراش وبدء في شلح بنطاله امامها
اندهشت هي مما يفعله والتفتت للجهه الاخري معطيه له ظهرها واضعه يدها علي عينها ابتسم هو وهتف بمكر
عاصي:بتخبي وشك ليه مش شوفتيني قالع كده في الحلم
التفت له بكل غضب وصرخت: انت قليل الادب
تفاجيء هو من ردها ولكنه تذكرالعقاب القي بالتيشرت علي الفراش مره ثانيه وهتف
عاصي: حاضر يا حبيبتي انتي تأمري بدء يقترب منها وهي ترجع الي الخلف لم تفهم عليه في الاول ولكنها تذكرت هذا العقاب
ارتطم ظهرها بالحائط ووضع هو يداه علي جانبيها فقط ينظر اليهاوهي تنظر الي الاسفل وتفرك يدها في بعضهم امسك بيده ذقنها وهتف
عاصي:شكلك وحشك عقابي وبدء يغرز يده في خصلاتها
ويلتصق بها اكثر واكثر وباليد الاخري يجذبها اليه بقوه
ووبدء يقبلها بقوه وبعنف ظلت هي تضرب بيدها علي صدره العاري
امسكهم هو ولفهم حوله وظل ممسك بهم الي ان احس باستجابتها وهدوءها بين احضانه
بدأت قبلته ترق ثم ترك ثغرها واتجه الي عينها وبدء يمسح عبراتها بشفاه الغليظه
نزولا علي وجنتها ثم نزل علي عنقها وتاه في مشاعره هذه الي ان احست به وهو يسحب سحاب فستانها
افاقت هي وتملصت منه وابتعدت من بين يديه من شدة خجلها وهتفت
أحتاج إلى مساعدتك لتزييف حادث تحطّم طائرة خاصة، قلتُ بهدوء.
إنها الطريقة الوحيدة التي أستطيع بها أن أغادر لوكا موريتّي إلى الأبد.
قال الناس إنه تخلى عن عرش المافيا من أجلي.
وأطلقوا عليه لقب الرجل الذي استبدل السلطة بالحب—
الوارث الذي ابتعد عن الدم والذهب فقط ليتزوج نادلة من أحياء الفقراء.
لسنوات، جعل العالم يؤمن بنا.
بنى إمبراطوريات باسمي.
أرسل لي الورود كل يوم اثنين.
وأخبر الصحافة أنني خلاصه.
لكن الحب لا يعني دائمًا الإخلاص.
بينما كنتُ مشغولة بالإيمان بالأبدية،
كان هو يبني بيتًا ثانيًا خلف ظهري—
بيتًا مليئًا بالضحكات، والألعاب،
وتوأمين يحملان عينيه.
في الليلة التي اختفيتُ فيها، احترقت إمبراطوريته.
مزّق مدنًا، ورشى حكومات،
ودفن رجالًا أحياء فقط ليعثر عليّ.
لكن حين فعل—
كنتُ قد رحلت بالفعل.
والمرأة التي كان مستعدًا أن يموت من أجلها يومًا
لم تعد تحبه بما يكفي لتبقى على قيد الحياة.
رواية تخاريف هي حكاية رمزية أحداثها خيالية تحكي قصّة بطل سافر عبر الزمن ليخطّ تجربة فريدة من نوعها، عايشها الغريب بحضوره داخل أمكنة كثيرة ومع شخصيات مختلفة. يحادثها ويجادلها لعلّه يظفر بإجابة تريح باله، فقد تجده محاورا الإنسان المجنون، والعاقل، وأحيانا للحيوان وأحايين للجماد، ولشخصيات خيالية على هيئة هواتف. سافر فالتقى بذاته في أثواب شتّى. هدفه الوصول إلى ديار الغناء أين يقيم أبويه في رقدتهما الأخيرة ليرحل في محطات مضنية ومتعبة حتى يصل الجولة الأخيرة فيستفيق على وقع دبيب ضيف غريب معلوم ليجد نفسه في ذات المكان وفي زمن تزحزح قليلا
"لو عرف الناس حقيقتك... هل ستستطيع العيش بعدها؟"
سؤال واحد كان كافيًا ليدمر حياة أكثر من شخص.
ضحية تلو الأخرى تنهي حياتها تاركة خلفها أسرارًا لم يكن يجب أن يكتشفها أحد.
لا بصمات... لا أدلة... لا قاتل.
فقط رسائل مجهولة تعرف أدق التفاصيل، وتدفع أصحابها إلى الوقوف على حافة الهاوية.
وبينما يحاول الضابط قصي ومساعدته ديما كشف هوية صاحب تلك الرسائل، يكتشفان حقيقة أكثر رعبًا:
المجرم لا يقتل ضحاياه... بل يجعلهم يقتلون أنفسهم.
لكن السؤال الأخطر:
من سيكون الضحية التالية؟
أو لو عايزة حاجة أغمق وأفخم:
بعض الجرائم لا تحتاج إلى سكين.
يكفي أن يعرف أحدهم السر الخطأ.
في مدينة يختبئ أهلها خلف أقنعة من المثالية، يبدأ شخص مجهول بكشف أكثر الأسرار قذارة.
لا يبتز.
لا يطلب مالًا.
لا يسعى للانتقام.
كل ما يريده هو أن يواجه ضحاياه الحقيقة...
ثم يتركهم يقررون مصيرهم بأنفسهم.
ومع تزايد عدد المنتحرين، يجد قصي وديما نفسيهما في مواجهة خصم لا يشبه أي قاتل عرفاه من قبل.
خصم يؤمن أن الموت ليس جريمة...
بل حكم مستحق.
تحذير: هذا هو "فن الخطايا".
إذا كنت تبحث عن القبلات العذبة والمداعبة اللطيفة، أغلق هذا الكتاب فوراً. هذه الصفحات لا تهمس بالرغبة، بل تجرك من عنقك، تمزق ملابسك، وتنهش حواسك بعنف. توقع إباحية جامحة، قذرة، وبلا حدود: أب بالتبني يفرض سيطرته على صغيرته السرية، زعماء ألفا بلا رحمة يمارسون سطوتهم، رؤساء عصابات المافيا يحولون الديون إلى حفلات جنس جماعية لا تنتهي، أساتذة يعاقبون حيواناتهم الأليفة المحرمة، وكل خيال قذر ومهين لا يُفترض بك أن ترغب فيه.
هذا هو الخطيئة كفن رفيع؛ قاسية، لا تعرف الهوادة، ومسببة للإدمان تماماً. للبالغين فقط . تقدم إن كنت تجرؤ على التعرض للدمار.
رواية: ثمن الفضول
بقلم: علاء عادل
"هناك أبوابٌ أُغلقت لسببٍ ما.. وإذا أغراكَ المجهولُ لفتحها، فلن تدفع الثمن من مالك، بل ستدفعه من عمرك.. ومن دماء ناسك."
شلة أصحاب.. ضحك.. هِزار.. وشغف طفولي قادهم لتجربة مغامرة مجنونة لاستكشاف "مغارة شكير" الملعونة. لم يكن أحد منهم يتخيل أن خطوة واحدة داخل بطن الأرض كفيلة بأن تمحو وجودهم من الدنيا لعشرين سنة كاملة! عشرون عاماً قضوها كجثث متحركة في سرداب بلا زمن، بينما في الخارج، كان الآباء والأمهات يموتون حَسرةً وقهراً على اختفاء فلذات أكبادهم.
وعندما انكسر رتم المخطوطة القديمة، وعاد من عاد.. لم تكن العودة نجاة، بل كانت بداية الجحيم الأكبر!
خالد: الذي فتح الرمز أول مرة، وعقله الآن يتأكل داخل جدران المصحة بفعل فحيح الجن الذي يخبره أن أهله بانتظاره في بطن الأرض.
كريم: الذي عاد ليجد نفسه وحيداً، شبه ميت وسط تراب شقته، محاصراً بين ذنب عائلته التي رحلت، ووهم حب طفولته الذي ذبحه من الوريد للوريد.
مريم: التي أفاقت من أنانيتها متأخرة، لتبدأ رحلة غفران مكسورة، مستعدة فيها أن تكون جارية تحت قدمي كريم لتداوي جروحاً صنعتها بيديها.
بين المخطوطة الملعونة التي تصرخ حين تحترق، والكيانات التي تطالب بإغلاق الدائرة، يجد كريم ومريم أنفسهما في مواجهة الموت والندم.
أحب أن أبدأ بفكرة بسيطة وواضحة: الخط المغربي المحمّل يمكن أن يتحول إلى خط ويب احترافي بخطوات تقنية ومنظمة، ولن تحتاج إلى سحر—فقط أدوات صحيحة واهتمام بالأداء والترخيص.
أول شيء أفعله دائماً هو التحقق من الترخيص. إذا كان الخط يسمح بالتحويل إلى ويب أو بإعادة التوزيع، أواصل؛ وإلا فأتجنب المشاكل القانونية. بعد ذلك أحوّل الملف الأصلي (.ttf أو .otf عادة) إلى صيغ ويب مناسبة: 'woff2' أولوية لأنها أصغر وأسرع، ثم 'woff' كبديل. أستخدم أدوات مثل 'fonttools' (pyftsubset) أو خدمات مثل Transfonter أو (woff2compress) لتحويل وضغط وتقطيع الخط حسب الحاجة.
ثم أعد ملف CSS أساسي باستخدام @font-face. على سبيل المثال:
@font-face {
font-family: 'AlMaghribi';
src: url('/fonts/almagribi.woff2') format('woff2'),
url('/fonts/almagribi.woff') format('woff');
font-weight: 400;
font-style: normal;
font-display: swap;
}
أضيف preload في HTML لتحميل أسرع وتأكد من إعداد رؤوس السيرفر الصحيحة (CORS وcache-control). أيضاً أقوم بتقسيم الخط إذا كان حجمه كبيراً: أستخدم التقطيع بناءً على unicode-range أو أنشئ نسخاً فرعية تحتوي فقط على الحروف العربية المطلوبة لتقليل الحجم. أختم باختبار الأداء (Lighthouse) والتوافق في المتصفحات القديمة. في النهاية أفضّل طريقة 'font-display: swap' لتجنّب المحتوى غير المرئي أثناء تحميل الخط، ومع كل شيء مضبوط أحس بالرضا لأن الموقع صار أسرع ويظهر الخط المغربي كما ينبغي.
تحويل الخط العربي إلى خط ويب يشبه تحويل قصة مرسومة يدوياً إلى عرض سينمائي رقمي — يتطلب صبرًا على التفاصيل وفهمًا عميقًا لكيفية تشكيل الحروف مع السياق. أنا أحب الغوص في هذه الرحلة من الرسم إلى الكود: أول شيء أفعله هو تصميم الأحرف كمسارات في برنامج تحرير خطوط مثل 'FontForge' أو 'Glyphs' أو 'RoboFont'، مع التأكد من أن كل حرف موجود في حالاته المختلفة (منفصل، ابتدائي، وسطي، نهائي) لأن العربية ليست حروفًا قائمة بذاتها بل تتصل وتتحول بحسب السياق. أثناء التصميم أضع نقاط مرجعية (anchors) للعلامات التشكيلية وأحدد مجموعات علامات (mark classes) لكي تتعامل محركات الخطوط مع الحركات والدلائل بشكل صحيح.
بعد التأكد من جودة الأشكال، أكتب قواعد OpenType في جدول GSUB/GPOS أو أستخدم محرر الميزات لكتابة قواعد الاستبدال السياقي والربط والمواضعة؛ هذا يشمل ميزات 'init', 'medi', 'fina', و'liga' وغيرها مثل 'mark' و'mkmk' لمواضعة الحركات فوق وتحت الحروف. هذه القواعد هي التي تجعل الحرف يتصرف بشكل صحيح في النص العربي عند تشغيله من قبل محرك التشكيل (مثل HarfBuzz أو CoreText أو Uniscribe). أنصح بتسمية glyphs واتّباع ماب المعايير Unicode (تعيين الكودبوينت في جدول cmap) حتى لا تحدث أخطاء في التطابق بين الحرف والرمز.
الخُطوة التالية تحول الملف إلى صيغة ويب: أصدّر ملف TTF/OTF، أطبّق تنقيحًا (hinting) إن لزم والأفضل استخدام ttfautohint للنتيجة المقبولة، ثم أُحوّله إلى 'WOFF' و'WOFF2' باستخدام أدوات مثل fonttools أو sfnt2woff، وأقوم بعمل تقليص (subsetting) عبر pyftsubset لحذف glyphs غير الضرورية وتخفيض حجم الملف. أختم بكتابة @font-face في CSS مع خيارات مثل font-display: swap وunicode-range إن أردت تحميل أجزاء محددة فقط. لا تنسَ اختبار الخط مع نص عربي حقيقي عبر متصفحات وأنظمة تشغيل مختلفة لأن كل بيئة قد تستخدم محرك تشكيل مختلف؛ وأحيانًا تحتاج إلى إصلاح قواعد OpenType أو إعادة تسمية glyphs ليتوافق الأداء. بالنسبة لي، الشعور الذي ينتابني حين أرى نصًا عربيًا منسقًا بشكل جميل على صفحة ويب يستحق كل هذه الخطوات، خصوصًا عندما تعمل الحركات واللّيجات بانسجام وتصبح القراءة سهلة وجذابة.
جربت استخراج الخطوط من ملفات PDF عدة مرات وعادةً أنجح بأفضل النتائج عندما أدمج أدوات على الويب مع أدوات سطح المكتب.
أول خطوة سهلة أنصح بها هي تجربة موقع extractpdf.com لأنه يتيح تنزيل الموارد المضمنة في الملف بما فيها الخطوط (إن كانت مضمّنة وغير مشفّرة). لو نجحت العملية ستحصل على ملفات تُشبه ttf/otf أو ملفات Type1، وهذه يمكن فتحها في برنامج مثل FontForge لتحويلها إلى خط صالح للاستخدام وتدقيق أسماء الجليفات وإصلاح أي مشاكل في الترميز.
إذا واجهت خطًا «مجزَّئًا» (subset) أو محميًا فغالبًا ستحتاج لخطوات إضافية: استخدام mutool لاستخراج الموارد أو pdffonts للتعرّف على أسماء الخطوط أولًا ثم فتح الناتج في FontForge أو تحويله عبر أدوات مثل fonttools. ولا تنسَ أن تتحقق من ترخيص الخط قبل النشر — التجربة العملية علمتني أن الجانب القانوني مهم للغاية. في النهاية، مزيج الأدوات الأنسب غالبًا يعطيني أفضل نتيجة مع قليل من الصبر والتجريب.
عملية تحويل خط عربي مزخرف إلى خط ويب يتطلب مزيجًا من الدقة الفنية وحسّ التقدير للجمال. أول خطوة أفعلها دائمًا هي التحقق من رخصة الخط — لو الرخصة لا تسمح بالتحويل أو بالاستضافة على الويب، أتركه فورًا لأن المشاكل القانونية ليست ممتعة.
بعد التأكد من الرخصة، أفتح الملف الأصلي (TTF أو OTF أو حتى SVG) في محرر خطوط مثل FontForge أو أدوات احترافية أخرى، وأتفحص وجود ميزات OpenType المهمة لحروف العربية: 'init' و'medi' و'fina' و'isol'، بالإضافة إلى ميزات المواضع مثل 'mark' و'mkmk'. لو اختفت هذه الميزات أثناء التحويل فستفقد الحروف اتصالاتها وسينتج مظهر مفكوك. بعد التنظيف أعمل تقطيعًا لاختيار الحروف التي أريدها فقط (subsetting) لتقليل الحجم — خاصة إذا كان الخط مزخرف ويحتوي على مجموعات ضخمة من الرموز.
الخلاصة التقنية: أحول إلى 'woff2' (ولاحقًا أُحَضِّر نسخة 'woff' كنسخة احتياطية) باستخدام أدوات مثل pyftsubset أو محولات موثوقة، أضيف @font-face في CSS مع font-display: swap، وأحمّل الملفات من سيرفر سريع أو CDN. ثم أجرب الخط عبر متصفحات ونُظم تشغيل مختلفة، وأتأكد من سلامة التشكيل والاتصالات. في النهاية أشعر برضا غريب عندما تتحول زخرفة معقّدة إلى صفحة ويب خفيفة وسلسة.
أعشق ملاحظة تفاصيل الحروف حين تتحول من ورق إلى شاشة؛ العملية ممكنة لكن لها جوانب فنية وقانونية يجب ملامستها.
أول شيء يجب أن أعرفه هو أن الخط العربي ليس مجرد أشكال ثابتة؛ الحروف تتغير بحسب مواضعها والسياق اللغوي (أوله، وسطه، آخره، ومنفصلة) وهناك علامات تشكيل ومواضع اتصال تجعل من تحويل الخط لمهمة تتطلب فهم القواعد. لذلك، المصمم يحتاج للتأكد من أن الخط الأصلي يدعم ميزات OpenType الأساسية مثل GSUB وGPOS التي تتولى تبديل الأشكال وربط الحروف وتوزيع العلامات. تحويل ملف مُصمم (مثل OTF أو TTF) إلى صيغ ويب مثل WOFF وWOFF2 أمر تقني بسيط نسبياً، لكن الحفاظ على نفس الجودة يتطلب ضبط الـ hinting والـ metrics وإجراء اختبارات عبر المتصفحات.
جانب آخر لا يقل أهمية هو الترخيص: بعض الخطوط لا تسمح بالاستضافة على الويب أو تتطلب ترخيصاً منفصلاً. كما أن تحسين الأداء أساسي—تقسيم الخط إلى مجموعات أحرف (subsetting) باستخدام أدوات مثل fontTools/pyftsubset يقلل الحجم كثيراً، واستخدام WOFF2 يمنح أفضل ضغط. لا أنسى أن أعيد اختبار الشكليات على متصفحات وأنظمة تشغيل متعددة لأن محركات التشكيل مثل HarfBuzz في بعض البيئات قد تتعامل بشكل مختلف مع الـ OpenType. في النهاية، نعم، المصمم يستطيع تحويل الخط العربي إلى خط ويب متوافق، لكن الأفضل أن يجمع بين مهارات التصميم، التقنيات اليدوية، والاهتمام بالترخيص وتجربة المستخدم — وهنا تكمن المتعة الحقيقية عند رؤية الحروف تتنفس على الشاشة كما فعلت على الورق.
ما يعجبني في شغل الخط العربي المزخرف أنه يجمع بين روح الحرف وتقنية الويب، ولها مسارات أدوات محددة تقدر توصل العمل لشكل ويب فونت عملي وجميل.
أبدأ عادةً برسم الحروف وإخراجها في محرر فيكتور مثل 'Adobe Illustrator' أو 'Inkscape' لأن فيه مرونة لتشكيل المسارات والزخارف. بعد ما تتأكد من الشكل العام، أنقل المسارات إلى برنامج تصميم الخطوط: المفضّل عندي هو 'Glyphs' على ماك لأنه يتعامل ممتازًا مع ميزات OpenType الآلية للعربية (مثل الحالات الابتدائية والوسطية والنهائية والعزلات) ويصدر OTF نظيف. بديل احترافي قوي هو 'FontLab'، أما الحل المجاني فهما 'FontForge' و'BirdFont'.
لتحويل الخط إلى صيغ ويب (WOFF/WOFF2) أستخدم أدوات مثل 'fonttools' (بايثون) لعمل subsetting و'woff2' لضغط الملفات، أو أحيانًا مواقع مثل 'Transfonter' أو 'Font Squirrel' لتحويل سريع. ولا أنسى اختبار الشيبينغ بالـ HarfBuzz أو عن طريق المتصفحات نفسها، ثم إعداد @font-face في CSS مع تفعيل خصائص OpenType المهمة للعربية مثل 'init' و 'medi' و 'fina' و 'isol' و 'mark'. العملية قد تبدو طويلة لكن النتيجة—خط عربي مزخرف يعمل بسلاسة على الويب—تستحق التعب.
عندما أتعامل مع قطعة خط عربي مزخرفة، أبدأ دائمًا بفكرة أنني أترجم حركة الريشة إلى منحنيات قابلة للقياس.
أول خطوة عملية هي التقاط العمل بدقة — مسح ضوئي أو تصوير جيد الإضاءة — ثم أُدخل الصورة في برامج مثل 'Inkscape' أو 'Adobe Illustrator' وأستخدم خاصية تتبع البت ماب (Trace Bitmap / Image Trace) لاستخراج منحنيات أولية. بعد ذلك أقوم بتنظيف العقد والنقاط الزائدة يدوياً، وتحويل كل خط إلى مسارات بيزييه (cubic Bézier) واضحة. إذا كان التصميم قائمًا على الخطاط، أحرص على فصل الحركات الأساسية عن الحركات الزخرفية والنقط والحركات، لأن التعامل مع كل عنصر على حدة يسهل لاحقًا ضبط الأمور التقنية.
المرحلة التالية تتعلق بالشكل العربي نفسه: لأن الحروف تتغير مواضعها حسب الجوار، فأنا أقرر ما إذا كنت سأبقي النص كمسارات ثابتة في SVG (مناسب لعناصر زخرفية ثابتة) أو أصنع خطاً قابلاً للاستخدام (تصدير كـ OTF/TTF ثم استخدام أدوات لتحويل الخط إلى SVG أو استخراج المسارات عبر مكتبات مثل 'opentype.js'). عند صنع خط فعلي أعمل تعويضات للربط والتشكيل باستخدام قواعد GSUB/GPOS أو أستخدم محرك تشكيل مثل HarfBuzz لتوليد الأشكال الصحيحة قبل تحويلها إلى مسارات.
أخيرًا، أحرص على تحسين ملف الـ SVG: تبسيط المسارات لتقليل عدد العقد، استخدام viewBox مناسب، ضبط preserveAspectRatio، واختبار التدرجات والأقنعة إن وُجدت. أستعمل أدوات مثل SVGO لضغط الملف، وأضيف وسم و للوضوح. النتيجة تكون نفس الزخرفة مرسومة بدقة رقمية وقابلة للتكبير دون فقدان الجودة، وتستحضر روح الريشة مع بنية رقمية نظيفة — وهذا دائماً يشعرني بالرضا.
هناك سبب عملي وتقني وخدمي يجعلني أصرّ على اختيار خط عربي متوافق مع الويب: الثبات عبر الأجهزة والمتصفحات. أُقدّر أن نص الموقع يظل كما خططتُ له — نفس ارتفاع السطور، نفس اتجاه الحروف، ونفس توازن المسافات بين الكلمات — لأن الاختلاف في قياسات الخط يمكن أن يكسر واجهة المستخدم ويحوّل تصميم أنيق إلى فوضى مرئية.
أجد أن الخطوط المصممة للويب تحتوي على جداول OpenType مُجهزة جيدًا للغة العربية (مثل دعم 'mark' و 'mkmk' وميزات الربط واللِّحام)، وهذا يعني أن الحروف تتصل وتتحول بشكل صحيح عند عرضها على متصفحات مختلفة. النتيجة؟ نص واضح، تشكيلات صحيحة، ومظهر احترافي دون الحاجة لتصحيحات CSS معقدة.
ثمة عامل اختباري لا يقلّ أهمية: الأداء والترخيص. خطوط الويب تأتي عادةً بصيغ مضغوطة مثل WOFF2 وتُحمّل عبر CDN أو تُخزّن مؤقتًا، ما يقلل زمن التحميل ويمنع تقلبات العرض. كما أن تراخيصها تكون واضحة للعمل عبر الشبكة، فأشعر براحة أكبر من ناحية قانونية وتقنية عندما أستخدمها بدلاً من رفع خط غير مناسب قد يسبب مشاكل لاحقًا.
اشتغلت على واجهات عربية تحتاج تحميل خطوط سريع وتجربة سلسة، وتعلمت أن التفاصيل الصغيرة تصنع فرقاً كبيراً.
أهم شيء أستخدمه دائماً هو @font-face مع صيغة WOFF2 لأنّها أصغر بكثير وتدعّم ضغطاً أفضل. أضع 'local' أولاً داخل @font-face كي يستفيد المتصفح من الخط المثبت محلياً عندما يكون موجوداً، ثم أتبعه بملف WOFF2 مخفّض، ومع خاصية font-display أفضّل 'swap' لتجنّب ظاهرة FOIT (فترة انتظار الخط). مثال بسيط:
@font-face{font-family:'MyArabic';src:local('MyArabic'),url('/fonts/myarabic.woff2') format('woff2');unicode-range:0x0600-0x06FF;font-display:swap}
أيضاً أقسم الخطوط حسب نطاق اليونيكود (unicode-range) لأقدّم فقط الحروف العربية عند الحاجة، فهذا يقلّل حجم النطاق الذي يُحمّل. ولا أنسى preload لملفات الخط الأساسية مع crossorigin إذا كانت مستضافة على CDN، وأضع fallback stack متقاربة في القياسات لتجنّب تغيير التخطيط، وهكذا تظل الصفحة سريعة والقراءة مريحة.
كانت لدي تجربة ممتعة قبل أشهر حين جرب فريقنا خطًا عربيًا زخرفيًا للهيدر على موقع تجاري، والنتيجة كانت مزيجًا من الإعجاب والدهشة العملية.
بدأت الفكرة لأن العميل أراد «هوية مرئية عربية» أكثر دفئًا وجاذبية، فاخترنا أن نستخدم خطًا عرضيًا لعنوان الصفحة مع خط أبسط للنص الرئيسي. ما أدركته سريعًا هو أن الزخرفة تعمل بشكل رائع كعنصر بصري لجذب الانتباه، لكنها تفقد جاذبيتها عندما تُستخدم للنصوص الطويلة أو في أحجام صغيرة. لذلك نصحت باستخدام الخط الزخرفي للعناوين والشعارات فقط، مع مراعاة مسافات الأسطر وحجم الخط لتجنب التصاق الحروف.
على الجانب التقني، واجهتنا قضايا تحميل الخطوط (القواعد: استخدم WOFF2 وfont-display: swap)، وكذلك اختلافات المحرك في عرض الحروف العربية بين المتصفحات وأنظمة التشغيل—ما يظهر ممتازًا على سطح المكتب قد يبدو مختلفًا على iOS أو أندرويد بسبب طرق تشكيل الحروف. لذلك قمنا بعمل اختبارات A/B لقياس سرعة القراءة ومعدلات التحويل، واحتفظنا بنسخة احتياطية من النظام (system fonts) كخيار تلقائي.
الخلاصة العملية: نعم، المطورون يجربون الخطوط الزخرفية العربية بكثرة، لكن الأفضلية دائماً للتوازن بين الجمالية والقراءة. أعتبر أن هذه التجارب مفيدة إذا رافقتها اختبارات ومراعاة لحقوق الترخيص وأداء الموقع.