علا صالح شكرًا جدًا على اهتمامك وقراءتك التفصيلية للمكتبة ❤️
بالنسبة لوضعيات العرض، فالفكرة كانت توفير أكثر من تجربة قراءة تناسب احتياجات مختلفة:
- Mushaf View موجه لمن يريد تجربة قريبة جدًا من المصحف الورقي التقليدي، بنفس توزيع الصفحات والأسطر تقريبًا، وهذا مفيد للحفظ والارتباط البصري بالصفحات.
- أما Vertical View فكان الهدف منه تقديم تجربة أكثر مرونة على الهواتف، خصوصًا لمن يفضل التمرير السلس أو يحتاج تكبير الخط بشكل أكبر، وهو مفيد جدًا كذلك لتطبيقات التفسير والترجمة والمشغلات الصوتية.
وأرى فعلًا أن التصفح العمودي أصبح مهمًا جدًا في التطبيقات الحديثة، لأن كثيرًا من المستخدمين اعتادوا على الـ scrolling الطبيعي في الهاتف، كما أنه يحسن تجربة الوصول Accessibility لأصحاب النظر الضعيف.
أما بالنسبة لتلوين التجويد، فالمكتبة لا تقوم بتحليل أحكام التجويد لحظيًا أثناء الرسم، لأن ذلك سيكون مكلفًا جدًا من ناحية الأداء خصوصًا مع النص العثماني المعقد.
الذي تم هو الاعتماد على خط QCF جاهز يحتوي أصلًا على معلومات وألوان التجويد المدمجة، وبالتالي تتم المعالجة بشكل مسبق داخل بيانات الخط نفسها، ثم أثناء الـ rendering يتم فقط عرض الـ glyphs المناسبة بالألوان الصحيحة.
وهذا أعطى عدة مميزات:
- أداء ثابت وسلس حتى مع التمرير السريع.
- تقليل عمليات المعالجة أثناء الرسم.
- الحفاظ على 60fps بدون stuttering.
- سهولة دعم الـ Dark Mode وتخصيص الألوان.
أما القواعد نفسها فلم أقم بإعادة بناء محرك لاستخراج أحكام التجويد يدويًا، لأن هذا مشروع ضخم جدًا ويحتاج دقة عالية في التعامل مع الرسم العثماني، لذلك اعتمدت على بيانات QCF المجهزة مسبقًا والموثوقة في تحديد مواضع الأحكام وألوانها.