تحت التطويرمن 2026
Android
المنتج والمعمارية وبناء الأندرويد
Hiraa
حراء مصحف أندرويد بيشتغل من غير نت، وبيرسم كل صفحة زي مصحف المدينة المطبوع بالظبط. من غير إعلانات ولا تتبّع ولا حساب.
كلمة متراجعة على مصدرين
صفحة، كل واحدة بخطها
اختبار آلي
من الفتح لحد ما الصفحة تظهر

01/المشكلة
أغلب تطبيقات المصحف يا إما بترسم النص بخط عربي عادي فتبوّظ شكل الصفحة اللي الناس بتحفظ عليه، يا إما بتحط صور متصوّرة تقيلة ومش واضحة على الشاشات الكبيرة.
اللي بيحفظ محتاج الصفحة نفسها: نفس السطور ونفس مكان كل آية. والنص القرآني مينفعش يبقى فيه حرف واحد غلط.
02/القيود
- 01مطابق لمصحف المدينة المطبوع على أي مقاس شاشة، وحاد مهما كبّرت.
- 02يشتغل من غير نت من أول فتحة، والتلاوات بتتنزّل لما تطلبها.
- 03يبقى ناعم على الموبايلات الضعيفة: متجرّب على جهاز 1 جيجا رام ونواتين كحد أدنى.
- 04مفيش نشر غير لما تراخيص الخطوط والبيانات تتأكد كتابةً.
03/المعمارية
الشاشات
- feature:home
- feature:reader
- feature:downloads
- feature:settings
الرسم
- core:mushaf · Canvas
- QCF page fonts
- core:designsystem
الخدمات
- core:audio
- core:downloads
- core:settings
البيانات
- core:database · Room
- core:model
- build-time Python pipeline
04/القرارات
رسم الحروف على Canvas مش نص في TextView
كل صفحة من الـ ٦٠٤ ليها خط QCF خاص بيها، كل رمز فيه كلمة بشكلها المطبوع. لما برسم الرموز دي سطر سطر الصفحة بتطلع زي المطبوعة بالظبط وحادة على أي مقاس.
التمن: البحث والنسخ مش بيقروا الرموز، فكل آية متخزّنة كمان كنص، بالرسم العثماني والإملائي.
مصدرين لازم يتفقوا قبل أي كلمة ما تتنشر
بيانات تخطيط الصفحات ونص Quran.com بيتراجعوا على بعض في الرمز والصفحة والسطر لكل الـ ٧٧٤٢٩ كلمة، وكمان مراجعة لهيكل الحروف في ٦٢٣٦ آية. الفرق الوحيد اللي ظهر اتراجع يدويًا.
قياس تقليب الصفحات قبل إصلاحه
سكريبت قياس بيقرا وقت الفتح والذاكرة وزمن كل فريم من الجهاز. التقطيع كان من قياس ١٥ سطر رموز على الـ main thread، فبقت الصفحات بتتقاس في الخلفية والصفحات اللي جنبها بتتجهّز قبلها: فتح القارئ من 286ms لـ 215ms، وأبطأ فريم (p99) من 46ms لـ 32-38ms.
التمن: أرقام الـ GPU على المحاكي مش معتمدة، والأرقام النهائية مستنية أجهزة حقيقية.
التراخيص بتوقف النشر، مش البناء
الخطوط وملفات التلاوة ملك أصحابها. كل ناشر بيوصله طلب إذن مكتوب، وكل رد بيتحفظ كسجل للترخيص. التطبيق بيتبني ويتجرّب في الوقت ده، ومفيش حاجة بتتنشر قبل الردود.
05/الشاشات




06/الأدوات
KotlinJetpack ComposeCanvasRoomMedia3Gradle modulesPythonfonttools