Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/ojuba-org/hijra

Hijri Islamic Calendar utils in python
https://github.com/ojuba-org/hijra

Last synced: 27 days ago
JSON representation

Hijri Islamic Calendar utils in python

Lists

README

        



هجرة - برنامج التقويم الهجري
[أعجوبة]




هجرة - برنامج التقويم الهجري



هذا مشروع حر مفتوح المصدر FLOSS ذو حقوق نسخ ممنوحة وفق بنود
رخصة "وقف" العامة
يهدف لتوفير كل ما يتصل بدعم التقويم الهجري على المستويات التالية



  • واجهة رسومية سهلة الاستخدام



  • مكتبة عالية المستوى توفر كل ما يريده أي تطبيق يتصل بهذا الموضوع



  • مكتبة دنيا توفر كل ما يتصل بالحسابات والتحويل بن الهجري والجريجوري (الميلادي)



أي الخوارزميات التحويل تستخدمون ؟ وبماذا تمتاز ؟


نستخدم خوازمية خاصة من تصميمي (مؤيد السعدي). هذه الخوارزمية تستخدم حساب الأعداد الصحيحة أي أنه (وعلى عكس حسابات الفاصلة العائمة) لا يوجد أي نوع من التقريب. كما أنها تسمح بتغطية طيف واسع من السنين (مثلاً من العام الأول للهجرة إلى العام الهجري ٩٩٩٩ أي العام الجريجوي ١٠٣٢٢ بكل سهولة) هذه الخوارزمية لها ثلاث معاملات p و q و a. حيث p/q هي النسبة بأبسط صورة بين الأشهر الهجرية التامة (ذات ٣٠ يوماً) والأشهر الهجرية القصيرة (ذات ٢٩ يوماً) في السنة الواحدة أما a فهي إزاحة لضبط اختيار البداية. وحيث أننا لم ندخل p/q على شكل عدد نسبي محدود المنازل يمكن لهذه الخوارزمية إعطاء دقة يقينية في الحساب. إلا أن الحصول على هذه المعاملات لا يأتي إلا بالتجريب والملاحظة الذي قد يدخل فيه الخطأ كما أن مجرد افتراض أن هناك نسبة بين هذه الأشهر ليس يقينياً. إذا افترضنا أن هناك نسبة عددية بين الأشهر فهذه الخوارزمية تصبح يقينية إذا علمت النسبة.


تختلف هذه الخوارزمية عن خوارزمية EMACS الشائعة بان أطوال الشهور غير ثابتة، حيث في خوارزمية EMACS شهر رمضان في كل السنين ٣٠ يوما.

الواجهة الرسومية



الواجهة الرسومية الاولية تظهر الشهر الهجري كاملاً وتحت كل يوم هجري ترى اليوم الميلادي بخط خفيف.
تستطيع التحرك سنة سابقة أو لاحقة أو شهراً سابقا ولاحقا.
تستطيع إغلاق البرنامج ويظل يعمل في لوحة النظام tray في منطقة التواصل (تلك التي توضع غالبا قرب الساعة)
يظهر فيه اليوم الهجري في السطر الاول من الشهر الهجري في السطر الثاني
لمعرفة التفاصيل قم بالتأشير عليه
لعرض البرنامج مرة أخرى انقر على هذه الأيقونة بالزر الأيسر، ولعرض القائمة انقر بالزر الأيمن

المكتبة عالية المستوى



توفر هذه المكتبة الوظائف التي يحتاجهة أي برنامج وفق تصميم موجه للكائنات OOP يسهل عمل برامج توظف التقويم الهجري بكل سهول. حيث توفر مثلاً مصفوفة للشهر الهجري بكل المعلومات الازمة وتسمح بتحديد أي يوم كبداية للسبوع وتحديد اتجاه تعبئة المصفوف من اليمين لليسار أو بالعكس. إن عمل أي واجهة جديدة للبرنامج يفترض أن لا يشكل أي صعوبة.

المكتبة الدنيا



توفر هذه المكتبة الوظائف الاولية مثل تحويل أي يوم هجري إلى التقويم المطلق (عد الأيام) أو التقويم الجريجوري أو إيجاد عدد أيام شهر معين أو إيجاد عدد الأيام بين أي شهرين

لماذا التقويم الهجري مهم ؟ وهل يغني البرنامج عن رؤية الهلال ؟



طبعاً لا يغني أي برنامج مهما كان دقيقاً عن رؤية الهلال.


اما لماذا نهتم بالتقويم الهجري؛ فهذا سؤال بديهي، هناك الكثير من الخطب والمقالات التي تحث على التمسك بالتقويم الهجري وتفصل في ذلك، إليك بعضها


أليس التقويم الميلادي أقل اضطرابا ؟



التقويم الهجري تقويم إجرائي يقوم على الملاحظة (بالرؤية) لأحداث دورية واضحة. يتم إعادة ضبطه في كل سنة مرتين.


في الحقيقية التقويم الميلادي ليس أقل اضطراباً إلا في الاصطلاح الذي وضعه أحد القسيسين لما يسمونه “البابا” جريجوري الثالث عشر (عام ١٥٨٢) وليس وفق الحقائق العلمية. أي أن التقويم الجريجوري هو تقويم تقريبي وفوق ذلك لا يعاد ضبطه بشكل دوري مع الحقائق الفلكية، جاء لتصحيح خطأ أكبر في تقويم يوليوس قيصر Julian الذي تم اعتماده كتقويم لاهوتي نصراني بقرار من البابا يوحنا الأول John I في عام ٥٢٥ ميلادية.


أقتبس من كتاب “حتى لا ندخل جحور الضباب” (الذي لم أنته من تأليفه):


لم يعطي هذا الراهب التقويم رقم السنة نسبة للإمبراطور ولا إلى روما التي كانت أطلالاً في حينه بل نسبة للعام الذي كان يشاع في حينه بأنه العام الذي ولد فيه سيدنا عيسى وعلى حد تعبيره “هو العام الذي تجسد فيه الإله مولوداً”، فكان تقويمه يحمل العنوان “anno Domini nostri Jesu Christi DXXXII” أي “في عام ربنا المسيح عيسى ٥٣٢” على حد تعبيره.

انتهى الاقتباس ذاك التقويم يخطئ بمعدل ٣ أيام كل ٤٠٠ سنةتقريباً! لذا جاء جريجوري ليحذف يوماً من كل رأس ثلاث قرون من بين أربعة. ويقفز ١٠ أيام تعويضاً عما فات من سنين لم تحذف فيها تلك الأيام الزائدة! ولم يعتمد التقويم الجريجوري من فوره بل بعد ١٧٠ سنة. فهل ننتظر “بابا” آخر يخبرنا بأن علينا عمل قفزات أخرى في التقويم. وبالمناسبة إن الرأي السائد بين الدارسين في الغرب بأن سيدنا عيسى بن مريم ولد في العام الرابع قبل الميلاد أو قبل ذلك (أي ولد قبل مولده المزعوم بأربع سنوات على الاقل)


الحصول على البرنامج




الموقع الرسمي للبرنامج هو
http://hijra.ojuba.org

يمكن تنزيل آخر نسخة على شكل أرشيف مضغوط من موقع تنزيل الملفات الرسمي الخاص بأعجوبة
www.ojuba.org/downloads



يمكن الحصول على البرنامج بواسطة GIT عبر الرابط
http://git.ojuba.org/cgit/hijra/snapshot/hijra-master.tar.bz2
ويمكن تتبع تطوير المشروع على الرابط
http://git.ojuba.org/cgit/hijra






حقوق الطبع والتوزيع ممنوحة تحت شروط رخصة "وقف" العامة