Skip to content

Latest commit

 

History

History
252 lines (182 loc) · 21.8 KB

اقرأني.md

File metadata and controls

252 lines (182 loc) · 21.8 KB

رَسيت (نسخة الويب)

شارة تطبيق رسيت

هذه نسخة الويب من رسيت الحاسوبي، ولكن للقرءان فقط، وبخصائص أكثر كثيرًا.

استخدمها على: noureddin.github.io/recite.

رسيت بالإنجليزية (Recite) تعني «اتلُ» (أو «[أنا] أتلو»)، وبالعربية هي لغة في «رَسَوْتُ» (أي «ثَبَتُّ» أي «صِرت ثابتًا»)، ولغة في «أَرسَيْتُ» (أي «ثَبَّتُّ» أي «جعلتُ [شيئًا] ثابتًا»).


الخصائص

  1. وضعان للتسميع:

    1. بالرسم العثماني (بلا كتابة)،
    2. بالرسم الإملائي (كتابة).
  2. تلاوة صوتية اختياريًّا بعد إتمام تسميع كل آية، في كلا الوضعين. (يمكن اختياريا جعلها قبل كل آية، والذي يسمى «الوضع المعلم».)

  3. الوضع الليلي، إضافةً إلى الوضع النهاري. ويختار مبدئيا اختيار نظامك، ويمكنك تغييره.

  4. إمكانية اختبار تسميع أي أيات متتالية بغض النظر عن سورها، فيمكن مثلا تسميع عدد من السور الكاملة، أو تسميع جزء كامل يبدأ في منتصف سورة وينتهي في منتصف سورة أخرى، وغير ذلك.

  5. تلوين النص طبقا لأحكام التجويد (مثل مصحف دار المعرفة) في الوضع العثماني، ويمكن جعل النص بلا تلوين.

  6. إمكانية استخدام لوحة المفاتيح وحدها، أو الفأرة وحدها، أو لوحة اللمس وحدها، أو حتى شاشة اللمس وحدها.

  7. استخدام تصميم ويب مستجيب، فيتكيّف مع تقريبا أي جهاز، من شاشات التلفاز الكبيرة إلى الهواتف المحمولة الصغيرة.

  8. (للخارقين) مُعامِلات رابط «للضبط المسبق» للإعدادات وحتى لاختيار الآيات المراد تسميعها. (مفصل بالأسفل.)

  9. (للمطورين) سَهولة تضمينه في تطبيقات ويب أخرى. (مفصل بالأسفل، تحت عنوان «مُعامِلات رابط أشد تقدما».)

مُعامِلات الرابط (للمستخدمين المتقدمين)

https://noureddin.github.io/recite/?PARAMS

أمثلة على PARAMS:

  • s=1: السورة الأولى بكاملها.
  • s=2: السورة الثانية بكاملها.
  • s=1-2: السورتان الأولى والثانية.
  • s=-3: السور الثلاثة الأولى (1 اخياري هنا).
  • s=78-: جميع السور من سورة النبأ (السورة ٧٨) حتى نهاية القرءان.
  • p=1: الصفحة الأولى بكاملها (في مصحف المدينة).
  • p=2: الصفحة الثانية بكاملها (في مصحف المدينة).
  • p=1-3: الصفحات الثلاثة الأولى (في مصحف المدينة).
  • j=1: الجزء الأول بكامله.
  • j=30: الجزء الأخير بكامله.
  • h=1: الحزب الأول بكامله (الحزب هو نصف جزء).
  • r=1: الربع الأول بكامله (الربع هو ربع حزب، أي ثُمن جزء).
  • r=1-4: الأرباع الأربعة الأولى (في القرءان بكامله).
  • r=10//0: الربع الأول في الجزء العاشر (عندما يكتب «جزء» في هامش المصحف).
  • r=10//1: الربع الثاني في الجزء العاشر (عندما يكتب «ربع» في هامش المصحف).
  • r=10//2: الربع الثالث في الجزء العاشر (عندما يكتب «نصف» في هامش المصحف).
  • r=10//3: الربع الرابع في الجزء العاشر (عندما يكتب «ثلاثة أرباع» في هامش المصحف).
  • r=10//4: الربع الخامس في الجزء العاشر (عندما يكتب «حزب» في هامش المصحف).
  • r=10//5: الربع السادس في الجزء العاشر (عندما يكتب «ربع» في هامش المصحف).
  • r=10//6: الربع السابع في الجزء العاشر (عندما يكتب «نصف» في هامش المصحف).
  • r=10//7: الربع الثامن (الأخير) في الجزء العاشر (عندما يكتب «ثلاثة أرباع» في هامش المصحف).
  • r=10//0-10//1: أول ربعين في الجزء العاشر.
  • r=10//6-10//7: آخر ربعين في الجزء العاشر.
  • 1/2: الآية الثانية فقط من السورة الأولى.
  • 1/1-1/3: من الآية الأولى من السورة الأولى حتى الآية الثالثة من السورة الأولى.
  • 2/1-4/3: من الآية الأولى من السورة الثانية حتى الآية الثالثة من السورة الرابعة.

يمكن مع جميع هذه المُعامِلات زيادة a= لإضافة آيات بعد المدى المحدد، أو b= لإضافة آيات قبل المدى المحدد، أو كليهما معا. أمثلة:

  • p=1-3&a=1: الصفحات الثلاثة الأولى (في مصحف المدينة) والآية التي بعدها.
  • j=15&a=36: الجزء الخامس عشر بكامله و٣٦ آية بعده.
  • j=2&b=5: الجزء الثاني بكامله وخمس آيات قبله.
  • p=3&b=1&a=2: الصفحة الثالثة وآية قبلها وآيتان بعدها.

مُعامِلات أخرى لضبط القيم المبدئية للخيارات:

  • d أو dark: اختيار الوضع الليلي.

  • l أو light: إلغاء اخيار الوضع الليلي.

  • إذا لم تعطِ dark أو light فإنه يتبع اختيار النظام، حتى تغيره من الواجهة إن شئت.

  • c= أو color=: اختيار نمط تلوين النص في الوضع العثماني؛ يقبل القيم التالية:

    1. t أو taj أو tajweed: طبقا لأحكام التجويد (المبدئي).
    2. b أو bas أو basic: تلوين أجزاء الرسم.
    3. n أو no أو none: بغير تلوين.
  • m= أو mv= أو mvbtns=: اختيار موضع أزرار التسميع في الوضع العثماني؛ يقبل القيم التالية:

    1. b: أسفل (المبدئي).
    2. r: يمين.
    3. l: يسار.
  • q= أو qz= أو quizmode=: اختيار وضع التسميع؛ يقبل القيم التالية:

    1. u أو uthm أو uthmani: ع التسميع العثماني اللاكتابي (المبدئي؛ استخدمه فقط لإلغاء quizmode=imlaai سابق).
    2. i أو imla أو imlaai: ع التسميع الإملائي الكتابي.
  • txt: اختصار الخيار quizmode=imlaai أو qz=i.

  • by=: تغيير معدل مراجعة الأخطاء في الوضع الإملائي؛ يقبل القيم التالية:

    1. l أو letter: «كل حرف» (المبدئي؛ استخدمه فقط لإلغاء byword أو byaaya سابق).
    2. w أو word: «كل كلمة» (صعب). فلا يتحقق من صحة ما كتبت إلا بعد أن تفرغ من كتابة كلمة بضغط زر المسافة أو زر Enter.
    3. a أو aaya: «كل آية» (شديد الصعوبة). فلا يتحقق من صحة ما كتبت إلا بعد أن تفرغ من كتابة آية كاملة بضغط زر Enter. (لاحظ حروف كلمة aaya: تبدأ بحرفين a وتنهي بحرف a مجرد.)
  • t أو teach أو teacher: تفعيل الوضع المعلم (تشغيل التلاوة الصوتية للآية **قبل** بدء تسميعها، وليس بعدها).

  • n أو noteach أو noteacher: تعطيل الوضع المعلم (المبدئي؛ تشغيل التلاوة الصوتية للآية **بعد** الانتهاء من تسميعها، وليس قبلها).

  • qari=: تحديد التلاوة الصوتية؛ أيّ قيمة غير مقبولة تعتبر «بغير تلاوة صوتية»، بما في ذلك عدم إعطاء قيمة. يحتوي مِلف القراء على عنوان كل تلاوة صوتية متبوعا باسمها العربي. القيم المقبولة لهذا المُعامِل هي العناوين (السطور التي كلها بالحروف الإنجليزية وبغير مسافات).

    ملاحظة: لا تسمح المتصفحات لأي صفحة بتشغيل صوتيات قبل أن يتفاعل معها المستخدم، إلا إذا أعطى المستخدم لهذا النطاق (الموقع) الإذن بتشغيل الصوتيات آليًّا. لذا، فإذا استخدمت هذه المُعامِلات لاختيار آيات وقارئ وكذلك تفعيل الوضع المعلم، فإنك لن تسمع الآية الأولى. اضغط في أي مكان على الصفحة ثم اضغط زر Escape (أو Esc) على لوحة المفاتيح لسماعها. أو أعطِ noureddin.github.io الإذن بتشغيل الصوتيات آليًّا.

    معلومة: ضغط Escape في أي وقت يُعيد تشغيل التلاوة الصوتية الحالية. والذي يفيد خصوصا في الوضع المعلم.

  • linebreaks لجعل كل آية في سطر وحدها في الوضع العثماني (المبدئي؛ استخدمه فقط لإلغاء nolinebreaks سابق).

  • nolinebreaks لجعل الآيات تتدفق في السطور في الوضع العثماني.

رجاءً لاحظ أن جميع هذه المُعامِلات تُغيّر فقط القيم المبدئية؛ ستبقى جميعها قابلة للتغيير من نافذة الخيارات. (ولكن انظر «مُعامِلات رابط أشد تقدما» بالأسفل.)

مُعامِلات رابط أشد تقدما

لا يمكن تغيير هذه الخصائص من الواجهة، بل من مُعامِلات الرابط فقط، لأنها تجريبية أو متقدمة جدا أو خاصة باستخدام محدود جدا أو كل ذلك، فلن تفيد الغالبية العظمى من المستخدمين.

  • qariurl=: لإعطاء رابط خادم تلاوتك الصوتية المفضلة، حتى لو خادم محلي (مثل http://0.0.0.0:6236 ولكن ليس file:///). يجعل محدِّد التلاوة الصوتية فارغا. لكن اختيار تلاوة صوتية من الواجهة سيغطى على هذه الخاصية. يجب على الرابط المعطى أن يكون فيه صوتيات الآيات، فمثلا إضافة /001001.mp3 إلى نهايته يجب أن تعطي صوت الآية الأولى من السورة الأولى.

  • hc أو highcontrast: يجعل جميع الألوان ذات تباين أعلى في الوضع الليلي، حتى ألوان التجويد.

  • cn: يضيف في نهاية التسميع «عبارة» من الآية التالية إذا كانت في نفس السورة.

  • emu= أو emulate= أو emulation=: لاستخدام تخطيط لوحة مفاتيح مختلف عن نظامك، حتى لو كنت تستخدم لوحة مفاتيح أجنبية. اللوحات المدعومة حاليا هي:

    • ibm: اللوحة الشائعة على أكثر أجهزة IBM وأنظمة Windows.
    • mac: اللوحة الشائعة على أكثر أجهزة Apple.
    • arak: لوحة أراك المحسّنة.
    • dv: لوحة تجريبية لكتابة العربية صوتيا بتخطيط Dvorak.
  • dt أو disableteacher: لإزالة إمكانية تغيير الوضع المعلم من الواجهة. سيبقى الوضع المعلم قابلا للتغيير من مُعامِلات الرابط. هذا مفيد لفرض قيمة معينة له (مثلا بلا معلم) في حالة تضمينه في تطبيق ويب مثلا.

    تحذير: ستبقى قيمته قابلةً للتغيير من شاشة كونسول جافاسكربت؛ لم أستطيع تعطيل هذا بعد.

  • dq أو disablequizmode: لإزالة إمكانية تغيير وضع التسميع من الواجهة. سيبقى وضع التسميع قابلا للتغيير من مُعامِلات الرابط. هذا مفيد لفرض قيمة معينة له (مثلا الإملائي) في حالة تضمينه في تطبيق ويب مثلا.

    تحذير: ستبقى قيمته قابلةً للتغيير من شاشة كونسول جافاسكربت؛ لم أستطيع تعطيل هذا بعد.

  • dc أو disablecheat: لتعطيل خاصية المساعدة في الوضع الإملائي. خاصية المساعدة هي أن تضغط زر ! عشر مرات متتالية (عندما يكون ما كتبته صحيحًا حتى اللحظة)، فيضيف لك التطبيق الحرف الصحيح التالي.

    تحذير: ستبقى قيمته قابلةً للتغيير من شاشة كونسول جافاسكربت؛ لم أستطيع تعطيل هذا بعد.

  • zz: للعمل داخل تطبيق آخر والتكامل معه. صُنع في الأساس من أجل ذِكر الذِكرِ، ولكنه عام بما يكفي ليكون مفيدا للاستخدام في تطبيقات أخرى.

    سيفعل ما يلي عند تفعيله:

    • عند البدء، سيضع زر «تجاهل» بدلا من زر «جديد» (إضافةً إلى زر «إعادة»).
    • عند البدء، سيُعلم التطبيق الأب بعنوان التسميع، حتى يتسنى له تحديث عنوان نافذته.
    • عند الانتهاء، سيُظهر زريْ «تجاهل» و«إعادة» بدلا من المحدِّدات الخاصة باختيار آيات جديدة.
    • عند الانتهاء، سيظهر زر «عودة» تحت رسالة النهاية.
    • عندما يغيّر المستخدم أي خيار، فإن التطبيق الأب سيعلم في الحال.

    لاستخدام هذا الوضع، عليك تشغيل رسيت في إطار مضمّن (iframe) باستخدام مُعامِل الرابط zz، وعليك تعريف هذه الدوال في مساحة الأسماء العامة في تطبيقك (أيْ تحت كائن window):

    • zz_show(): تُنادى بعد التحميل الأساسي، حتى يُظهر التطبيق الأب إطار رسيت.

    • zz_done(): تُنادى عند ضغط «عودة»، بعد الانتهاء من التسميع.

    • zz_ignore(): تُنادى عند ضغط «تجاهل»، الذي قد يكون في أي وقت.

      على عكس zz_done() (زر «عودة»)، فإن zz_ignore() تعني أن المستخدم لا يريد الاعتبار بهذا التسميع. فمثلا إذا كنت تسأل المستخدم عن مدى حفظه للآيات المحددة، فلا تفعل ذلك إذا نوديت zz_ignore() بدلا من zz_done().

    • zz_set_title(title): تُنادى عند البدء لضبط عنوان نافذة الأب إلى عنوان التسميع الحالي، المطابق لعنوان نافذة رسيت دون | رسيت وللعنوان الظاهر فوق الأزرار العلوية.

    • zz_set_quizmode(uthm_or_imla): تُنادى عندما يغيّر المستخدم وضع التسميع. إما "uthm" للوضع العثماني (المبدئي) وإما "imla" للوضع الإملائي.

    • zz_set_feedbackrate(emptystring_or_word): تُنادى عندما يغيّر المستخدم معدل مراجعة الأخطاء في الوضع الإملائي. النص الفارغ ("") لكل حرف (المبدئي) و "word" لكل كلمة.

    • zz_set_tajweed(t_or_b_or_n): تُنادى عندما يغيّر المستخدم تلوين النص في الوضع العثماني. "t" للتجويد (المبدئي) و "b" للبسيط (أجزاء الرسم) و "n" لنفي التلوين.

    • zz_set_dark(boolean): تُنادى عندما يغيّر المستخدم محدِّد الوضع الليلي. إما true للوضع الليلي وإما false للوضع النهاري (المبدئي).

    • zz_set_mvbtns(b_or_r_or_l): تُنادى عندما يغيّر المستخدم موضع أزرار التسميع في الوضع العثماني. "b" للأسفل (المبدئي) و "r" لليمين و "l".

    في الغالب ستشغل رسيت بمدى معين من الآيات لبدء التسميع لحظيًّا.

    يمكنك الإطلاع على دوال zz_* الخاصة بذِكر الذِكر في ملف zz.py.


جزى اللهُ خيرا الأستاذ خالد حسني لعمله على مشروع Quran Data ومشروع الخط الأميري.

جزى الله خيرا القائمين على مشروع Verse By Verse MP3 Quran لتوفيرهم التلاوات الصوتية للمشاريع التي تحتاجها، مثل تطبيق رسيت للويب وبرنامج آيات.

جزى الله خيرًا صديقيّ عز الدين وأحمد حسن لمساعدتي في تطوير هذه التطبيقات وإمدادي بمعلومات وتعليقات قيمة.

وأشكر dwtoch في OpenClipArt على صورة الهِلب الجميلة التي استخدمتها في تصميم الشارة.