خريطة ربط أرقام الآيات بين القراءات — مشروع مفتوح المصدر
يسرّنا في الموسوعة القرآنية (quranpedia.net) أن نُطلق مشروعًا جديدًا مفتوح المصدر يخدم المطوّرين والباحثين في مجال القرآن الكريم والقراءات.
ما المشكلة التي يحلّها هذا المشروع؟
أرقام الآيات تختلف بين القراءات؛ فلكلّ قراءة نظام عدّ يُحدّد مواضع فواصل الآيات (رؤوس الآي).
مثال بسيط:
في مصحف حفص (العدّ الكوفي)، تُعدّ الحروف المقطّعة ﴿الم﴾ في أوّل سورة البقرة آيةً مستقلة (الآية 1). أمّا في مصحف ورش (العدّ المدني الأخير)، فتُدمج ﴿الم﴾ مع الآية التي تليها.
النتيجة: الآية رقم 5 عند حفص هي الآية رقم 4 عند ورش في السورة نفسها.
هذا يعني أنّ أي تطبيق أو موقع يعتمد على رقم السورة ورقم الآية فقط للمطابقة بين المصاحف سيحصل على نتائج خاطئة في كثير من المواضع.
ما الذي يوفّره المشروع؟
يوفّر المشروع ملفات JSON جاهزة للاستخدام تربط أرقام الآيات بين أنظمة العدّ المختلفة، دون الحاجة إلى كتابة أي منطق برمجي خاص.
البيانات المتوفّرة:
أوّلًا: خرائط ربط بحسب نظام العدّ
لكلّ نظام من أنظمة العدّ الستة ملف ربط في كلا الاتجاهين:
- من الكوفي (حفص) إلى النظام المستهدف
- من النظام المستهدف إلى الكوفي (حفص)
ثانيًا: خرائط ربط بحسب الراوي
لكلّ راوٍ من الرواة المشهورين ملف ربط مباشر:
warsh-to-hafs.json — إيجاد مقابل حفص لأي آية عند ورش
hafs-to-warsh.json — إيجاد مقابل ورش لأي آية عند حفص
- وهكذا لبقية الرواة (قالون، البزي، قنبل، الدوري، السوسي)
ثالثًا: عدد آيات كلّ سورة
ملف لكلّ نظام عدّ يبيّن عدد الآيات في كلّ سورة.
أنظمة العدّ الستة المدعومة
| النظام | عدد الآيات | القراءات التي تتبعه |
| الكوفي | 6,236 | عاصم (حفص وشعبة)، حمزة، الكسائي، خلف |
| المدني الأخير | 6,213 | نافع (ورش وقالون) |
| المكي | 6,221 | ابن كثير (البزي وقنبل) |
| البصري | 6,217 | أبو عمرو (الدوري والسوسي)، يعقوب |
| المدني الأول | 6,214 | أبو جعفر |
| الدمشقي | 6,226 | ابن عامر (هشام وابن ذكوان) |
كيف يعمل الربط؟
لكلّ آية عند حفص حالة واحدة من ثلاث:
1. مربوطة (mapped) — تطابق مباشر بين الآيتين. وهذا حال أغلب الآيات.
2. مدمجة (merged) — هذه الآية عند حفص لا يوجد لها رقم مستقلّ في النظام المستهدف؛ لأنّ محتواها مدمج مع آية مجاورة.
3. مقسّمة (split) — آية واحدة عند حفص تصبح آيتين أو أكثر في النظام المستهدف.
وعند الربط العكسي (من نظام آخر إلى حفص) تظهر الحالة المقابلة:
- آية واحدة تغطّي عدّة آيات عند حفص (covers_multiple)
مثال عملي
لو أردت معرفة ما يقابل الآية الخامسة من سورة البقرة (عند حفص) في عدّ ورش:
افتح الملف hafs-to-warsh.json، ثمّ:
surahs → "2" → ayahs → "5"
ستجد:
{ "target_ayah": 4, "status": "mapped" }
أي أنّ الآية 5 عند حفص تقابل الآية 4 عند ورش.
مصدر البيانات
المرجع الأساس لعلم العدّ: كتاب "البيان في عدّ آي القرآن" للإمام أبي عمرو الداني.
رابط المشروع
https://github.com/quranpedia/qiraat-ayah-map
دعوة للمساهمة
هذا المشروع مفتوح المصدر ونرحّب بمساهماتكم:
- المطوّرون: جرّبوا البيانات في تطبيقاتكم وأخبرونا إن واجهتم أي مشكلة في البنية أو المحتوى.
- المتخصّصون في القراءات وعلم العدّ: راجعوا بيانات الفروقات وأفيدونا بأي ملاحظات أو تصحيحات.
- الجميع: إن وجدتم أي خطأ أو لديكم اقتراح، افتحوا Issue على GitHub أو شاركونا هنا.
نسأل الله أن ينفع بهذا العمل، وأن يجعله خالصًا لوجهه الكريم.
Built with ❤️ for the Muslim Ummah by Quranpedia.net