Spaces:
Sleeping
Sleeping
| #!/usr/bin/env python3 | |
| """ | |
| WĀQI'AH — Root the 501 UNROOTED words in quran_word_roots. | |
| Categories: | |
| 1. ROOTED — word has a clear root, assign it + upgrade to MEDIUM_B | |
| 2. PARTICLE — reclassify as PARTICLE (demonstratives, interrogatives, etc.) | |
| 3. SKIP — genuinely unroutable (isolated letters, foreign names) | |
| """ | |
| import sqlite3 | |
| try: | |
| from uslap_db_connect import connect as _uslap_connect | |
| _HAS_WRAPPER = True | |
| except ImportError: | |
| _HAS_WRAPPER = False | |
| import sys | |
| DB = "/Users/mmsetubal/Documents/USLaP workplace/Code_files/uslap_database_v3.db" | |
| # ═══════════════════════════════════════════════════════════════ | |
| # MAPPING: arabic_word → (root, category, match_method) | |
| # category: ROOT = assign root + MEDIUM_B | |
| # PARTICLE = reclassify confidence to PARTICLE | |
| # SKIP = leave as UNROOTED | |
| # ═══════════════════════════════════════════════════════════════ | |
| MAPPING = { | |
| # ── VERBS: clear root identification ── | |
| # أ-ت-ي family (come/give) | |
| "تَأْتُوا۟": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "يَأْتِهِۦ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "يَأْتِكَ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "يَأْتُوكُمْ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "أَتَوْا۟": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "أَتَوْهُ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "أَتَوْكَ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "أَتَتْهُمْ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "أَتَتْكُمُ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "أَتَتْكَ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "أَتَتْ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "وَأْتُوا۟": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "أَتْلُ": ("ت-ل-و", "ROOT", "L8:MANUAL"), # recite | |
| "ٱتْلُ": ("ت-ل-و", "ROOT", "L8:MANUAL"), | |
| # ء-ت-ي with prefixes (give = إيتاء) | |
| "وَإِيتَآئِ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "وَإِيتَآءِ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "وَإِيتَآءَ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "وَءَاتِ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "وَءَاتُوهُنَّ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "وَءَاتَتْ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "ءَاتِهِمْ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "ءَاتُونِىٓ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "ءَاتُونِى": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "ءَاتَوْهُ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "ءَاتَتْ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "أُوتُوهُ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| "أُوتَ": ("ء-ت-ي", "ROOT", "L8:MANUAL"), | |
| # ج-ي-أ family (come) | |
| "جِئْتُمُونَا": ("ج-ي-أ", "ROOT", "L8:MANUAL"), | |
| "جِئْتَهُم": ("ج-ي-أ", "ROOT", "L8:MANUAL"), | |
| "جِئْتَنَا": ("ج-ي-أ", "ROOT", "L8:MANUAL"), | |
| "جِئْنَٰهُم": ("ج-ي-أ", "ROOT", "L8:MANUAL"), | |
| "جِئْنَٰكُم": ("ج-ي-أ", "ROOT", "L8:MANUAL"), | |
| "جِئْتُمْ": ("ج-ي-أ", "ROOT", "L8:MANUAL"), | |
| "جِئْتُم": ("ج-ي-أ", "ROOT", "L8:MANUAL"), | |
| "جِئْتُكَ": ("ج-ي-أ", "ROOT", "L8:MANUAL"), | |
| # ر-أ-ي family (see) | |
| "رَأَوْكَ": ("ر-أ-ي", "ROOT", "L8:MANUAL"), | |
| "رَأَتْهُم": ("ر-أ-ي", "ROOT", "L8:MANUAL"), | |
| "رَأَتْهُ": ("ر-أ-ي", "ROOT", "L8:MANUAL"), | |
| "يَرَوْنَهُۥ": ("ر-أ-ي", "ROOT", "L8:MANUAL"), | |
| "يَرَوْنَهُم": ("ر-أ-ي", "ROOT", "L8:MANUAL"), | |
| "تَرَوْنَهُمْ": ("ر-أ-ي", "ROOT", "L8:MANUAL"), | |
| "تَرَنِ": ("ر-أ-ي", "ROOT", "L8:MANUAL"), | |
| "وَيَرَى": ("ر-أ-ي", "ROOT", "L8:MANUAL"), | |
| "لِّيُرَوْا۟": ("ر-أ-ي", "ROOT", "L8:MANUAL"), | |
| "لَتَرَوُنَّ": ("ر-أ-ي", "ROOT", "L8:MANUAL"), | |
| "ٱلرَّأْىِ": ("ر-أ-ي", "ROOT", "L8:MANUAL"), | |
| "أَرِنَا": ("ر-أ-ي", "ROOT", "L8:MANUAL"), | |
| "وَأَرِنَا": ("ر-أ-ي", "ROOT", "L8:MANUAL"), | |
| # و-ه-ب family (give/bestow) | |
| "يَهَبُ": ("و-ه-ب", "ROOT", "L8:MANUAL"), | |
| "وَيَهَبُ": ("و-ه-ب", "ROOT", "L8:MANUAL"), | |
| "فَهَبْ": ("و-ه-ب", "ROOT", "L8:MANUAL"), | |
| # ر-و-ح family (wind/spirit) | |
| "رِيحٌ": ("ر-و-ح", "ROOT", "L8:MANUAL"), | |
| "رِيحَ": ("ر-و-ح", "ROOT", "L8:MANUAL"), | |
| "رِيحٍ": ("ر-و-ح", "ROOT", "L8:MANUAL"), | |
| "ٱلرِّيَاحَ": ("ر-و-ح", "ROOT", "L8:MANUAL"), | |
| # ح-ي-ي family (life/live) | |
| "حَيَوٰةً": ("ح-ي-ي", "ROOT", "L8:MANUAL"), | |
| "حَيَوٰةٍ": ("ح-ي-ي", "ROOT", "L8:MANUAL"), | |
| "حَيَوٰةٌ": ("ح-ي-ي", "ROOT", "L8:MANUAL"), | |
| "وَيُحْىِ": ("ح-ي-ي", "ROOT", "L8:MANUAL"), | |
| "فَيُحْىِۦ": ("ح-ي-ي", "ROOT", "L8:MANUAL"), | |
| "تُحْىِ": ("ح-ي-ي", "ROOT", "L8:MANUAL"), | |
| "أُحْىِۦ": ("ح-ي-ي", "ROOT", "L8:MANUAL"), | |
| # و-ذ-ر family (leave/forsake) | |
| "تَذَرُنَّ": ("و-ذ-ر", "ROOT", "L8:MANUAL"), | |
| "تَذَرُ": ("و-ذ-ر", "ROOT", "L8:MANUAL"), | |
| "تَذَرْ": ("و-ذ-ر", "ROOT", "L8:MANUAL"), | |
| "لِيَذَرَ": ("و-ذ-ر", "ROOT", "L8:MANUAL"), | |
| "أَتَذَرُ": ("و-ذ-ر", "ROOT", "L8:MANUAL"), | |
| # خ-ش-ي family (fear) | |
| "تَخْشَوْهُمْ": ("خ-ش-ي", "ROOT", "L8:MANUAL"), | |
| "تَخْشَوْهُ": ("خ-ش-ي", "ROOT", "L8:MANUAL"), | |
| "وَيَخْشَ": ("خ-ش-ي", "ROOT", "L8:MANUAL"), | |
| "يَخْشَ": ("خ-ش-ي", "ROOT", "L8:MANUAL"), | |
| "أَتَخْشَوْنَهُمْ": ("خ-ش-ي", "ROOT", "L8:MANUAL"), | |
| # و-ج-د family (find) | |
| "تَجِدُوهُ": ("و-ج-د", "ROOT", "L8:MANUAL"), | |
| "لَتَجِدَنَّ": ("و-ج-د", "ROOT", "L8:MANUAL"), | |
| "لَأَجِدُ": ("و-ج-د", "ROOT", "L8:MANUAL"), | |
| # أ-خ-و family (brother/sister) | |
| "وَأَخِى": ("ء-خ-و", "ROOT", "L8:MANUAL"), | |
| "أُخْتٌ": ("ء-خ-و", "ROOT", "L8:MANUAL"), | |
| "أَخٌ": ("ء-خ-و", "ROOT", "L8:MANUAL"), | |
| "أَخَا": ("ء-خ-و", "ROOT", "L8:MANUAL"), | |
| "ٱلْأُخْتِ": ("ء-خ-و", "ROOT", "L8:MANUAL"), | |
| "ٱلْأَخِ": ("ء-خ-و", "ROOT", "L8:MANUAL"), | |
| "يَٰٓأُخْتَ": ("ء-خ-و", "ROOT", "L8:MANUAL"), | |
| "أُخْتِهَا": ("ء-خ-و", "ROOT", "L8:MANUAL"), | |
| "أُخْتَهَا": ("ء-خ-و", "ROOT", "L8:MANUAL"), | |
| "بِأَخٍ": ("ء-خ-و", "ROOT", "L8:MANUAL"), | |
| # ق-و-م family (stand/rise) | |
| "تَقُمْ": ("ق-و-م", "ROOT", "L8:MANUAL"), | |
| # م-ش-ي family (walk) | |
| "تَمْشِ": ("م-ش-ي", "ROOT", "L8:MANUAL"), | |
| # و-ض-ع family (put/place) | |
| "تَضَعُ": ("و-ض-ع", "ROOT", "L8:MANUAL"), | |
| "وَتَضَعُ": ("و-ض-ع", "ROOT", "L8:MANUAL"), | |
| "تَضَعَ": ("و-ض-ع", "ROOT", "L8:MANUAL"), | |
| "وَنَضَعُ": ("و-ض-ع", "ROOT", "L8:MANUAL"), | |
| "وَيَضَعُ": ("و-ض-ع", "ROOT", "L8:MANUAL"), | |
| # ز-ي-د family (increase) | |
| "تَزِدِ": ("ز-ي-د", "ROOT", "L8:MANUAL"), | |
| "زِدْنَٰهُمْ": ("ز-ي-د", "ROOT", "L8:MANUAL"), | |
| "نَّزِدْ": ("ز-ي-د", "ROOT", "L8:MANUAL"), | |
| "نَزِدْ": ("ز-ي-د", "ROOT", "L8:MANUAL"), | |
| # س-و-أ family (evil/harm) | |
| "تَسُؤْهُمْ": ("س-و-أ", "ROOT", "L8:MANUAL"), | |
| "تَسُؤْكُمْ": ("س-و-أ", "ROOT", "L8:MANUAL"), | |
| "سِىٓءَ": ("س-و-أ", "ROOT", "L8:MANUAL"), | |
| "سِيٓـَٔتْ": ("س-و-أ", "ROOT", "L8:MANUAL"), | |
| "سَيِّـَٔاتِهِۦ": ("س-و-أ", "ROOT", "L8:MANUAL"), | |
| "سَيِّـَٔاتِنَا": ("س-و-أ", "ROOT", "L8:MANUAL"), | |
| "سَيِّئُهُۥ": ("س-و-أ", "ROOT", "L8:MANUAL"), | |
| "سَيِّئًا": ("س-و-أ", "ROOT", "L8:MANUAL"), | |
| "أَسَأْتُمْ": ("س-و-أ", "ROOT", "L8:MANUAL"), | |
| # ب-أ-س family (might/distress) | |
| "بَأْسًا": ("ب-أ-س", "ROOT", "L8:MANUAL"), | |
| "بَأْسِكُمْ": ("ب-أ-س", "ROOT", "L8:MANUAL"), | |
| "بَأْسُهُۥ": ("ب-أ-س", "ROOT", "L8:MANUAL"), | |
| "بَأْسَكُمْ": ("ب-أ-س", "ROOT", "L8:MANUAL"), | |
| # ش-ع-ر family (rites/perceive) | |
| "شَعَٰٓئِرَ": ("ش-ع-ر", "ROOT", "L8:MANUAL"), | |
| "شَعَٰٓئِرِ": ("ش-ع-ر", "ROOT", "L8:MANUAL"), | |
| # ش-أ-ن family (affair/matter) | |
| "شَأْنٍ": ("ش-أ-ن", "ROOT", "L8:MANUAL"), | |
| "شَأْنِهِمْ": ("ش-أ-ن", "ROOT", "L8:MANUAL"), | |
| "شَأْنٌ": ("ش-أ-ن", "ROOT", "L8:MANUAL"), | |
| # ح-د-ق family (gardens) | |
| "حَدَآئِقَ": ("ح-د-ق", "ROOT", "L8:MANUAL"), | |
| # ط-ر-و family (fresh) | |
| "طَرِيًّا": ("ط-ر-و", "ROOT", "L8:MANUAL"), | |
| # ط-غ-ي family (transgress) | |
| "طَاغُونَ": ("ط-غ-ي", "ROOT", "L8:MANUAL"), | |
| # ض-ح-و family (forenoon) | |
| "ضُحَىٰهَا": ("ض-ح-و", "ROOT", "L8:MANUAL"), | |
| "وَٱلضُّحَىٰ": ("ض-ح-و", "ROOT", "L8:MANUAL"), | |
| # ص-ب-و family (youth/child) | |
| "صَبِيًّا": ("ص-ب-و", "ROOT", "L8:MANUAL"), | |
| # ع-و-ذ family (seek refuge) | |
| "عُذْتُ": ("ع-و-ذ", "ROOT", "L8:MANUAL"), | |
| # س-م-و family (name/hear — samiyy = namesake) | |
| "سَمِيًّا": ("س-م-و", "ROOT", "L8:MANUAL"), | |
| # و-س-ع family (encompass) | |
| "سَعَتِهِۦ": ("و-س-ع", "ROOT", "L8:MANUAL"), | |
| # ن-ب-أ family (news/tidings) | |
| "بِنَبَإٍ": ("ن-ب-أ", "ROOT", "L8:MANUAL"), | |
| "ٱلنَّبَإِ": ("ن-ب-أ", "ROOT", "L8:MANUAL"), | |
| "أَنۢبَأَكَ": ("ن-ب-أ", "ROOT", "L8:MANUAL"), | |
| "نَبَّأَهَا": ("ن-ب-أ", "ROOT", "L8:MANUAL"), | |
| "نَبَأَهُۥ": ("ن-ب-أ", "ROOT", "L8:MANUAL"), | |
| "نَّبَإِى۟": ("ن-ب-أ", "ROOT", "L8:MANUAL"), | |
| "يُنَبَّأْ": ("ن-ب-أ", "ROOT", "L8:MANUAL"), | |
| # ل-ق-ي family (meet/encounter) | |
| "يَلْقَ": ("ل-ق-ي", "ROOT", "L8:MANUAL"), | |
| "أَلْقِ": ("ل-ق-ي", "ROOT", "L8:MANUAL"), | |
| # ك-ف-ي family (suffice) | |
| "يَكْفِ": ("ك-ف-ي", "ROOT", "L8:MANUAL"), | |
| # ك-ي-د family (plot) | |
| "يَكَدْ": ("ك-ي-د", "ROOT", "L8:MANUAL"), | |
| # ق-ض-ي family (judge/decree) | |
| "يَقْضِ": ("ق-ض-ي", "ROOT", "L8:MANUAL"), | |
| "لِيَقْضِ": ("ق-ض-ي", "ROOT", "L8:MANUAL"), | |
| # ق-و-ل family (say) | |
| "يَقُلْ": ("ق-و-ل", "ROOT", "L8:MANUAL"), | |
| "تَقُل": ("ق-و-ل", "ROOT", "L8:MANUAL"), | |
| "وَأَقُل": ("ق-و-ل", "ROOT", "L8:MANUAL"), | |
| "فَقُلْتُ": ("ق-و-ل", "ROOT", "L8:MANUAL"), | |
| "قُلْنَ": ("ق-و-ل", "ROOT", "L8:MANUAL"), | |
| "قُلْتُهُۥ": ("ق-و-ل", "ROOT", "L8:MANUAL"), | |
| # غ-ي-ب family (unseen) | |
| "يَغْتَب": ("غ-ي-ب", "ROOT", "L8:MANUAL"), | |
| # ع-ي-ي family (tire/falter) | |
| "يَعْىَ": ("ع-ي-ي", "ROOT", "L8:MANUAL"), | |
| # ع-ش-و family (blind at night) | |
| "يَعْشُ": ("ع-ش-و", "ROOT", "L8:MANUAL"), | |
| # و-ع-د family (promise) | |
| "يَعِدُ": ("و-ع-د", "ROOT", "L8:MANUAL"), | |
| # ص-ف-و family (choose/select) | |
| "يَصْطَفِى": ("ص-ف-و", "ROOT", "L8:MANUAL"), | |
| "ٱصْطَفَيْتُكَ": ("ص-ف-و", "ROOT", "L8:MANUAL"), | |
| "ٱصْطَفَىٰهُ": ("ص-ف-و", "ROOT", "L8:MANUAL"), | |
| "ٱصْطَفَىٰكِ": ("ص-ف-و", "ROOT", "L8:MANUAL"), | |
| # ز-ي-غ family (deviate) | |
| "يَزِغْ": ("ز-ي-غ", "ROOT", "L8:MANUAL"), | |
| "تُزِغْ": ("ز-ي-غ", "ROOT", "L8:MANUAL"), | |
| # ر-م-ي family (throw) | |
| "يَرْمِ": ("ر-م-ي", "ROOT", "L8:MANUAL"), | |
| # خ-ل-و family (be alone/empty) | |
| "يَخْلُ": ("خ-ل-و", "ROOT", "L8:MANUAL"), | |
| # ح-ي-ض family (menstruate) | |
| "يَحِضْنَ": ("ح-ي-ض", "ROOT", "L8:MANUAL"), | |
| # أ-خ-ذ family (take) | |
| "يَتَّخِذُونَ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "وَيَتَّخِذُ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "وَيَتَّخِذَهَا": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "وَيَتَّخِذَ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "وَتَتَّخِذُونَ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "مُتَّخِذِىٓ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "مُتَّخِذَٰتِ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "مُتَّخِذَ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "لَنَتَّخِذَنَّ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "لَتَّخَذْتَ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "تَتَّخِذَ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "أَفَتَتَّخِذُونَهُۥ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "أَتَتَّخِذُنَا": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "أَتَتَّخِذُ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "ءَأَتَّخِذُ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "خُذُوهُ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "وَخُذْ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| "وَخُذُوهُمْ": ("ء-خ-ذ", "ROOT", "L8:MANUAL"), | |
| # ت-و-ب family (repent) | |
| "يَتُبْ": ("ت-و-ب", "ROOT", "L8:MANUAL"), | |
| "وَتُبْ": ("ت-و-ب", "ROOT", "L8:MANUAL"), | |
| "تَٰٓئِبَٰتٍ": ("ت-و-ب", "ROOT", "L8:MANUAL"), | |
| # و-ف-ي family (fulfil) | |
| "نُوَفِّ": ("و-ف-ي", "ROOT", "L8:MANUAL"), | |
| "أُوفِ": ("و-ف-ي", "ROOT", "L8:MANUAL"), | |
| "فَأَوْفِ": ("و-ف-ي", "ROOT", "L8:MANUAL"), | |
| # ن-ج-و family (save/rescue) | |
| "نُنجِ": ("ن-ج-و", "ROOT", "L8:MANUAL"), | |
| "نَّجَّيْنَٰهُم": ("ن-ج-و", "ROOT", "L8:MANUAL"), | |
| "نَاجٍ": ("ن-ج-و", "ROOT", "L8:MANUAL"), | |
| # و-ف-ي / و-ف-ت family (death/take in full) | |
| "تَوَفَّتْهُمُ": ("و-ف-ي", "ROOT", "L8:MANUAL"), | |
| "تَوَفَّتْهُ": ("و-ف-ي", "ROOT", "L8:MANUAL"), | |
| "يَتَوَفَّوْنَهُمْ": ("و-ف-ي", "ROOT", "L8:MANUAL"), | |
| # أ-ن-ي family (come/time) | |
| "يَأْنِ": ("ء-ن-ي", "ROOT", "L8:MANUAL"), | |
| # أ-ل-و family (swear/shorten) | |
| "يَأْتَلِ": ("ء-ل-و", "ROOT", "L8:MANUAL"), | |
| # و-ل-ي family (turn/ally) | |
| "يُوَلُّوكُمُ": ("و-ل-ي", "ROOT", "L8:MANUAL"), | |
| "وَالٍ": ("و-ل-ي", "ROOT", "L8:MANUAL"), | |
| # و-ح-ي family (reveal) | |
| "يُوحَ": ("و-ح-ي", "ROOT", "L8:MANUAL"), | |
| # ه-و-ن family (humiliate) | |
| "يُهِنِ": ("ه-و-ن", "ROOT", "L8:MANUAL"), | |
| "أَهَٰنَنِ": ("ه-و-ن", "ROOT", "L8:MANUAL"), | |
| # غ-ن-ي family (suffice/enrich) | |
| "يُغْنِ": ("غ-ن-ي", "ROOT", "L8:MANUAL"), | |
| "أَغْنَتْ": ("غ-ن-ي", "ROOT", "L8:MANUAL"), | |
| # ج-ز-ي family (recompense) | |
| "يُجْزَ": ("ج-ز-ي", "ROOT", "L8:MANUAL"), | |
| "سَيُجْزَوْنَ": ("ج-ز-ي", "ROOT", "L8:MANUAL"), | |
| # ج-و-ب family (answer) | |
| "يُجِبْ": ("ج-و-ب", "ROOT", "L8:MANUAL"), | |
| "نُّجِبْ": ("ج-و-ب", "ROOT", "L8:MANUAL"), | |
| "أَسْتَجِبْ": ("ج-و-ب", "ROOT", "L8:MANUAL"), | |
| # ع-ف-و family (pardon) | |
| "وَٱعْفُ": ("ع-ف-و", "ROOT", "L8:MANUAL"), | |
| "وَيَعْفُ": ("ع-ف-و", "ROOT", "L8:MANUAL"), | |
| "نَّعْفُ": ("ع-ف-و", "ROOT", "L8:MANUAL"), | |
| # و-ق-ي family (protect) | |
| "تَقِ": ("و-ق-ي", "ROOT", "L8:MANUAL"), | |
| "وَٱتَّقِ": ("و-ق-ي", "ROOT", "L8:MANUAL"), | |
| "وَيَتَّقْهِ": ("و-ق-ي", "ROOT", "L8:MANUAL"), | |
| # م-و-ت family (death) | |
| "تَمُتْ": ("م-و-ت", "ROOT", "L8:MANUAL"), | |
| "فَيَمُتْ": ("م-و-ت", "ROOT", "L8:MANUAL"), | |
| "مَّيْتَةً": ("م-و-ت", "ROOT", "L8:MANUAL"), | |
| "مَيْتَةً": ("م-و-ت", "ROOT", "L8:MANUAL"), | |
| "بِمَيِّتٍ": ("م-و-ت", "ROOT", "L8:MANUAL"), | |
| # و-ص-ي family (bequeath) | |
| "مُّوصٍ": ("و-ص-ي", "ROOT", "L8:MANUAL"), | |
| # ه-د-ي family (guide) | |
| "مُّهْتَدٍ": ("ه-د-ي", "ROOT", "L8:MANUAL"), | |
| "بِهَٰدِ": ("ه-د-ي", "ROOT", "L8:MANUAL"), | |
| "أَتَهْتَدِىٓ": ("ه-د-ي", "ROOT", "L8:MANUAL"), | |
| # ح-و-ط family (encompass) | |
| "مُّحِيطًا": ("ح-و-ط", "ROOT", "L8:MANUAL"), | |
| "مُحِيطًا": ("ح-و-ط", "ROOT", "L8:MANUAL"), | |
| "تُحِطْ": ("ح-و-ط", "ROOT", "L8:MANUAL"), | |
| "وَأَحَٰطَتْ": ("ح-و-ط", "ROOT", "L8:MANUAL"), | |
| "أَحَطتُ": ("ح-و-ط", "ROOT", "L8:MANUAL"), | |
| # و-ص-د family (shut/close) | |
| "مُّؤْصَدَةٌۢ": ("و-ص-د", "ROOT", "L8:MANUAL"), | |
| "مُّؤْصَدَةٌ": ("و-ص-د", "ROOT", "L8:MANUAL"), | |
| # ص-و-ب family (befall/hit) | |
| "أَصَٰبَتْهُم": ("ص-و-ب", "ROOT", "L8:MANUAL"), | |
| "سَيُصِيبُ": ("ص-و-ب", "ROOT", "L8:MANUAL"), | |
| "مُصِيبُهَا": ("ص-و-ب", "ROOT", "L8:MANUAL"), | |
| "أَصَبْنَٰهُم": ("ص-و-ب", "ROOT", "L8:MANUAL"), | |
| "كَصَيِّبٍ": ("ص-و-ب", "ROOT", "L8:MANUAL"), | |
| # ب-و-أ family (settle/return) | |
| "وَبَوَّأَكُمْ": ("ب-و-أ", "ROOT", "L8:MANUAL"), | |
| # ل-ي-ن family (soften) | |
| "لِنتَ": ("ل-ي-ن", "ROOT", "L8:MANUAL"), | |
| "وَأَلَنَّا": ("ل-ي-ن", "ROOT", "L8:MANUAL"), | |
| # ب-د-و family (appear/become manifest) | |
| "تُبْدَ": ("ب-د-و", "ROOT", "L8:MANUAL"), | |
| "فَبَدَتْ": ("ب-د-و", "ROOT", "L8:MANUAL"), | |
| "بَدَتْ": ("ب-د-و", "ROOT", "L8:MANUAL"), | |
| "بَدَتِ": ("ب-د-و", "ROOT", "L8:MANUAL"), | |
| # ع-د-و family (transgress/count) | |
| "تَعْدُ": ("ع-د-و", "ROOT", "L8:MANUAL"), | |
| "وَيَتَعَدَّ": ("ع-د-و", "ROOT", "L8:MANUAL"), | |
| # و-ص-ل family (join) | |
| "تَصِلُ": ("و-ص-ل", "ROOT", "L8:MANUAL"), | |
| # و-ص-ف family (describe) | |
| "تَصِفُ": ("و-ص-ف", "ROOT", "L8:MANUAL"), | |
| "وَتَصِفُ": ("و-ص-ف", "ROOT", "L8:MANUAL"), | |
| # ط-و-ع family (obey) | |
| "سَنُطِيعُكُمْ": ("ط-و-ع", "ROOT", "L8:MANUAL"), | |
| # ط-و-ف family (circle/go around) | |
| "طَٰٓائِفٌ": ("ط-و-ف", "ROOT", "L8:MANUAL"), | |
| "طَآئِفٌ": ("ط-و-ف", "ROOT", "L8:MANUAL"), | |
| # ط-ي-ر family (bird/fly) | |
| "طَٰٓائِرُهُمْ": ("ط-ي-ر", "ROOT", "L8:MANUAL"), | |
| "طَٰٓائِرَهُۥ": ("ط-ي-ر", "ROOT", "L8:MANUAL"), | |
| "طَٰٓائِرٍ": ("ط-ي-ر", "ROOT", "L8:MANUAL"), | |
| # ط-ي-ب family (good/pleasant) | |
| "طِبْنَ": ("ط-ي-ب", "ROOT", "L8:MANUAL"), | |
| "طُوبَىٰ": ("ط-و-ب", "ROOT", "L8:MANUAL"), | |
| # ط-ح-و family (spread out) | |
| "طَحَىٰهَا": ("ط-ح-و", "ROOT", "L8:MANUAL"), | |
| # د-ح-و family (spread) | |
| "دَحَىٰهَآ": ("د-ح-و", "ROOT", "L8:MANUAL"), | |
| # ص-غ-و family (incline) | |
| "صَغَتْ": ("ص-غ-و", "ROOT", "L8:MANUAL"), | |
| # ص-ل-ي family (burn/roast) | |
| "صَالِ": ("ص-ل-ي", "ROOT", "L8:MANUAL"), | |
| "تُصَلِّ": ("ص-ل-و", "ROOT", "L8:MANUAL"), # pray | |
| # ق-س-و family (harden) | |
| "فَقَسَتْ": ("ق-س-و", "ROOT", "L8:MANUAL"), | |
| "قَٰسِيَةً": ("ق-س-و", "ROOT", "L8:MANUAL"), | |
| # ق-و-م / ق-ي-م family | |
| "قَيِّمَةٌ": ("ق-و-م", "ROOT", "L8:MANUAL"), | |
| # ق-ص-و family (far/remote) | |
| "قَصِيًّا": ("ق-ص-و", "ROOT", "L8:MANUAL"), | |
| # ف-أ family (group/faction) | |
| "فِئَتُكُمْ": ("ف-ي-أ", "ROOT", "L8:MANUAL"), | |
| # غ-ش-ي family (cover/overwhelm) | |
| "فَغَشِيَهُم": ("غ-ش-ي", "ROOT", "L8:MANUAL"), | |
| "غَشِيَهُمْ": ("غ-ش-ي", "ROOT", "L8:MANUAL"), | |
| "غَشِيَهُم": ("غ-ش-ي", "ROOT", "L8:MANUAL"), | |
| "ٱلْغَٰشِيَةِ": ("غ-ش-ي", "ROOT", "L8:MANUAL"), | |
| "غَٰشِيَةٌ": ("غ-ش-ي", "ROOT", "L8:MANUAL"), | |
| # غ-و-ي family (stray/deviate) | |
| "غَيًّا": ("غ-و-ي", "ROOT", "L8:MANUAL"), | |
| # ظ-م-أ family (thirst) | |
| "ظَمَأٌ": ("ظ-م-أ", "ROOT", "L8:MANUAL"), | |
| # ظ-ل-ل family (remain/shade) | |
| "ظَلْتَ": ("ظ-ل-ل", "ROOT", "L8:MANUAL"), | |
| "فَظَلْتُمْ": ("ظ-ل-ل", "ROOT", "L8:MANUAL"), | |
| # ج-ث-و family (kneel) | |
| "جِثِيًّا": ("ج-ث-و", "ROOT", "L8:MANUAL"), | |
| "جَاثِيَةً": ("ج-ث-و", "ROOT", "L8:MANUAL"), | |
| # خ-ط-أ family (sin/mistake) | |
| "خَطَٰيَٰكُمْ": ("خ-ط-أ", "ROOT", "L8:MANUAL"), | |
| "خَطَٰيَٰهُم": ("خ-ط-أ", "ROOT", "L8:MANUAL"), | |
| # د-و-م family (last/continue) | |
| "دُمْتُ": ("د-و-م", "ROOT", "L8:MANUAL"), | |
| "دُمْتَ": ("د-و-م", "ROOT", "L8:MANUAL"), | |
| "دَآئِمٌ": ("د-و-م", "ROOT", "L8:MANUAL"), | |
| # د-ع-و family (call/invite) | |
| "دَاعِىَ": ("د-ع-و", "ROOT", "L8:MANUAL"), | |
| "وَيَدْعُ": ("د-ع-و", "ROOT", "L8:MANUAL"), | |
| "نَدْعُ": ("د-ع-و", "ROOT", "L8:MANUAL"), | |
| "فَلْيَدْعُ": ("د-ع-و", "ROOT", "L8:MANUAL"), | |
| "نَادُوا۟": ("ن-د-و", "ROOT", "L8:MANUAL"), # call out (n-d-w) | |
| # د-أ-ب family (persist/habit) | |
| "دَأْبِ": ("د-أ-ب", "ROOT", "L8:MANUAL"), | |
| "دَأَبًا": ("د-أ-ب", "ROOT", "L8:MANUAL"), | |
| # د-م-و family (blood) | |
| "وَدَمٍ": ("د-م-و", "ROOT", "L8:MANUAL"), | |
| "بِدَمٍ": ("د-م-و", "ROOT", "L8:MANUAL"), | |
| # خ-و-ف family (fear) | |
| "وَخِيفَةً": ("خ-و-ف", "ROOT", "L8:MANUAL"), | |
| # خ-ل-و family (aunt) | |
| "وَخَٰلَٰتُكُمْ": ("خ-و-ل", "ROOT", "L8:MANUAL"), | |
| "خَٰلَٰتِكُمْ": ("خ-و-ل", "ROOT", "L8:MANUAL"), | |
| "خَٰلَٰتِكَ": ("خ-و-ل", "ROOT", "L8:MANUAL"), | |
| # ر-أ-س family (head) | |
| "رَّأْسِهِۦ": ("ر-أ-س", "ROOT", "L8:MANUAL"), | |
| "ٱلرَّأْسُ": ("ر-أ-س", "ROOT", "L8:MANUAL"), | |
| "رَأْسِى": ("ر-أ-س", "ROOT", "L8:MANUAL"), | |
| "رَأْسِهِۦ": ("ر-أ-س", "ROOT", "L8:MANUAL"), | |
| "بِرَأْسِىٓ": ("ر-أ-س", "ROOT", "L8:MANUAL"), | |
| "بِرَأْسِ": ("ر-أ-س", "ROOT", "L8:MANUAL"), | |
| # ر-أ-ف family (compassion) | |
| "رَأْفَةٌ": ("ر-أ-ف", "ROOT", "L8:MANUAL"), | |
| "رَأْفَةً": ("ر-أ-ف", "ROOT", "L8:MANUAL"), | |
| # ر-ض-و family (pleased) | |
| "رَضِيًّا": ("ر-ض-و", "ROOT", "L8:MANUAL"), | |
| # ر-ق-ي family (ascend) | |
| "رَاقٍ": ("ر-ق-ي", "ROOT", "L8:MANUAL"), | |
| # ذ-و family (possessor) | |
| "ذَوِى": ("ذ-و", "ROOT", "L8:MANUAL"), | |
| "ذَوَىْ": ("ذ-و", "ROOT", "L8:MANUAL"), | |
| "ذَوَاتَآ": ("ذ-و", "ROOT", "L8:MANUAL"), | |
| "وَذِى": ("ذ-و", "ROOT", "L8:MANUAL"), | |
| "وَذُو": ("ذ-و", "ROOT", "L8:MANUAL"), | |
| "فَذُو": ("ذ-و", "ROOT", "L8:MANUAL"), | |
| "وَذَاتَ": ("ذ-و", "ROOT", "L8:MANUAL"), | |
| "وَبِذِى": ("ذ-و", "ROOT", "L8:MANUAL"), | |
| # ب-ن-و family (son/daughter) | |
| "ٱبْنَتَ": ("ب-ن-و", "ROOT", "L8:MANUAL"), | |
| "وَبَنَٰتٍۭ": ("ب-ن-و", "ROOT", "L8:MANUAL"), | |
| # ب-ص-ر family (see/perceive) | |
| "بَصْۜطَةً": ("ب-س-ط", "ROOT", "L8:MANUAL"), # actually بسط | |
| "بَصَٰٓئِرُ": ("ب-ص-ر", "ROOT", "L8:MANUAL"), | |
| "وَيَبْصُۜطُ": ("ب-س-ط", "ROOT", "L8:MANUAL"), # بسط | |
| "بِمُصَيْطِرٍ": ("ص-ي-ط-ر", "ROOT", "L8:MANUAL"), # musaytir | |
| # ب-ق-ي family (remain) | |
| "بَاقٍ": ("ب-ق-ي", "ROOT", "L8:MANUAL"), | |
| # ب-ك-ي family (weep) | |
| "بَكَتْ": ("ب-ك-ي", "ROOT", "L8:MANUAL"), | |
| # و-ر-ث family (inherit) | |
| "وَيَرِثُ": ("و-ر-ث", "ROOT", "L8:MANUAL"), | |
| "نَرِثُ": ("و-ر-ث", "ROOT", "L8:MANUAL"), | |
| # ش-ر-ي family (buy/sell) | |
| "وَشَرَوْهُ": ("ش-ر-ي", "ROOT", "L8:MANUAL"), | |
| # ش-ف-ي family (heal) | |
| "وَيَشْفِ": ("ش-ف-ي", "ROOT", "L8:MANUAL"), | |
| # م-ح-و family (erase) | |
| "وَيَمْحُ": ("م-ح-و", "ROOT", "L8:MANUAL"), | |
| # ذ-و-ق family (taste) | |
| "وَيُذِيقَ": ("ذ-و-ق", "ROOT", "L8:MANUAL"), | |
| "لِّنُذِيقَهُمْ": ("ذ-و-ق", "ROOT", "L8:MANUAL"), | |
| "لِيُذِيقَهُم": ("ذ-و-ق", "ROOT", "L8:MANUAL"), | |
| # ه-ز-أ family (mock) | |
| "وَيُسْتَهْزَأُ": ("ه-ز-أ", "ROOT", "L8:MANUAL"), | |
| # ز-ج-ر family (rebuke) | |
| "وَٱزْدُجِرَ": ("ز-ج-ر", "ROOT", "L8:MANUAL"), | |
| # و-ي-ل family (woe) | |
| "وَيْلَكَ": ("و-ي-ل", "ROOT", "L8:MANUAL"), | |
| "يَٰوَيْلَتَنَا": ("و-ي-ل", "ROOT", "L8:MANUAL"), | |
| # س-و-ق family (drive) | |
| "سُقْنَٰهُ": ("س-و-ق", "ROOT", "L8:MANUAL"), | |
| # س-ي-ح family (travel/roam) | |
| "سَٰٓائِحَٰتٍ": ("س-ي-ح", "ROOT", "L8:MANUAL"), | |
| # س-ع-ي family (strive) | |
| "سَعَوْ": ("س-ع-ي", "ROOT", "L8:MANUAL"), | |
| # ك-ي-ل family (measure) | |
| "نَكْتَلْ": ("ك-ي-ل", "ROOT", "L8:MANUAL"), | |
| # ع-و-د family (return) | |
| "نَعُدْ": ("ع-و-د", "ROOT", "L8:MANUAL"), | |
| # ب-غ-ي family (seek/transgress) | |
| "نَبْغِ": ("ب-غ-ي", "ROOT", "L8:MANUAL"), | |
| "تَبْغِ": ("ب-غ-ي", "ROOT", "L8:MANUAL"), | |
| "أَيَبْتَغُونَ": ("ب-غ-ي", "ROOT", "L8:MANUAL"), | |
| # ز-ك-و family (purify) | |
| "زَكَّىٰهَا": ("ز-ك-و", "ROOT", "L8:MANUAL"), | |
| "زَكِيَّةًۢ": ("ز-ك-و", "ROOT", "L8:MANUAL"), | |
| "زَكِيًّا": ("ز-ك-و", "ROOT", "L8:MANUAL"), | |
| # ن-ش-أ family (create/originate) | |
| "أَنشَأَ": ("ن-ش-أ", "ROOT", "L8:MANUAL"), | |
| "أَنشَأْتُمْ": ("ن-ش-أ", "ROOT", "L8:MANUAL"), | |
| # ل-ج-أ family (refuge) | |
| "مَّلْجَإٍ": ("ل-ج-أ", "ROOT", "L8:MANUAL"), | |
| "مَلْجَأَ": ("ل-ج-أ", "ROOT", "L8:MANUAL"), | |
| # غ-و-ر family (cave) | |
| "مَغَٰرَٰتٍ": ("غ-و-ر", "ROOT", "L8:MANUAL"), | |
| # م-ض-ي family (pass) | |
| "مَضَتْ": ("م-ض-ي", "ROOT", "L8:MANUAL"), | |
| # ح-و-ل family (stratagem) | |
| "حِيلَةً": ("ح-و-ل", "ROOT", "L8:MANUAL"), | |
| # ح-م-ي family (protect) | |
| "حَامٍ": ("ح-م-ي", "ROOT", "L8:MANUAL"), | |
| # غ-د-و family (tomorrow/morning) | |
| "لِغَدٍ": ("غ-د-و", "ROOT", "L8:MANUAL"), | |
| # ل-و-م family (blame) | |
| "لَآئِمٍ": ("ل-و-م", "ROOT", "L8:MANUAL"), | |
| # ع-ت-و family (rebel) | |
| "عَتَتْ": ("ع-ت-و", "ROOT", "L8:MANUAL"), | |
| # ر-د-د / ر-و-د family (return/want) | |
| "أَرَدْنَٰهُ": ("ر-و-د", "ROOT", "L8:MANUAL"), | |
| "أَرَدْنَ": ("ر-و-د", "ROOT", "L8:MANUAL"), | |
| "أَرَدتُّ": ("ر-و-د", "ROOT", "L8:MANUAL"), | |
| # د-ر-ي family (know) | |
| "أَدْرِ": ("د-ر-ي", "ROOT", "L8:MANUAL"), | |
| # ط-و-ي family (fold) | |
| "كَطَىِّ": ("ط-و-ي", "ROOT", "L8:MANUAL"), | |
| # ك-أ-س family (cup) | |
| "كَأْسٍ": ("ك-أ-س", "ROOT", "L8:MANUAL"), | |
| "وَكَأْسٍ": ("ك-أ-س", "ROOT", "L8:MANUAL"), | |
| # ر-س-و family (firm/anchor) | |
| "رَّاسِيَٰتٍ": ("ر-س-و", "ROOT", "L8:MANUAL"), | |
| # ث-ن-ي family (two) | |
| "ٱثْنَتَىْ": ("ث-ن-ي", "ROOT", "L8:MANUAL"), | |
| # و-س-ق family (gather) | |
| "ٱتَّسَقَ": ("و-س-ق", "ROOT", "L8:MANUAL"), | |
| # ش-ه-و family (desire) | |
| "ٱشْتَهَتْ": ("ش-ه-و", "ROOT", "L8:MANUAL"), | |
| # ف-د-ي family (ransom) | |
| "ٱفْتَدَتْ": ("ف-د-ي", "ROOT", "L8:MANUAL"), | |
| # ق-و-ت family (time/appoint) | |
| "أُقِّتَتْ": ("و-ق-ت", "ROOT", "L8:MANUAL"), | |
| # ف-ت-ي family (decree/give opinion) | |
| "تَسْتَفْتِ": ("ف-ت-ي", "ROOT", "L8:MANUAL"), | |
| # ط-و-ع family / ط-ي-ع — obey | |
| "تَسْطِع": ("ط-و-ع", "ROOT", "L8:MANUAL"), | |
| "تَسْتَطِع": ("ط-و-ع", "ROOT", "L8:MANUAL"), | |
| # ت-ب-ع family (follow) | |
| "تَتْرَا": ("ت-ر-ي", "ROOT", "L8:MANUAL"), # one after another — و-ت-ر | |
| # ق-ف-و family (follow) | |
| "تَقْفُ": ("ق-ف-و", "ROOT", "L8:MANUAL"), | |
| # ن-س-ي family (forget) | |
| "تَنسَ": ("ن-س-ي", "ROOT", "L8:MANUAL"), | |
| # و-ن-ي family (weaken) | |
| "تَنِيَا": ("و-ن-ي", "ROOT", "L8:MANUAL"), | |
| # ص-ب-و / صبأ (pour/incline) | |
| "أَصْبُ": ("ص-ب-و", "ROOT", "L8:MANUAL"), | |
| # ل-ي-ل / ل-و-ي family (twist/fold) | |
| "لَيًّۢا": ("ل-و-ي", "ROOT", "L8:MANUAL"), | |
| # ل-م-ع (glimpse/with) | |
| "لَمَعَ": ("م-ع-ي", "ROOT", "L8:MANUAL"), # actually لَمَعَ is with/along | |
| # أ-و-ي family (shelter) | |
| "ءَاوَوا۟": ("ء-و-ي", "ROOT", "L8:MANUAL"), | |
| # أ-ذ-ي family (harm) | |
| "ءَاذَوْا۟": ("ء-ذ-ي", "ROOT", "L8:MANUAL"), | |
| # أ-س-ي family (grieve) | |
| "ءَاسَىٰ": ("ء-س-ي", "ROOT", "L8:MANUAL"), | |
| "تَأْسَ": ("ء-س-ي", "ROOT", "L8:MANUAL"), | |
| # ء-ن-ي family (ripe/hot) | |
| "ءَانٍ": ("ء-ن-ي", "ROOT", "L8:MANUAL"), | |
| # و-ل-د family (give birth) | |
| "ءَأَلِدُ": ("و-ل-د", "ROOT", "L8:MANUAL"), | |
| # ض-أ-ن family (sheep) | |
| "ٱلضَّأْنِ": ("ض-أ-ن", "ROOT", "L8:MANUAL"), | |
| # د-ر-ج family (advance gradually) | |
| "سَنَسْتَدْرِجُهُم": ("د-ر-ج", "ROOT", "L8:MANUAL"), | |
| # غ-ف-ر family (forgive) | |
| "سَأَسْتَغْفِرُ": ("غ-ف-ر", "ROOT", "L8:MANUAL"), | |
| # ع-ي-د / ع-و-د family (return) | |
| "نُّعِيدُهُۥ": ("ع-و-د", "ROOT", "L8:MANUAL"), | |
| # ق-و-م family (establish) | |
| "وَأَقِمْنَ": ("ق-و-م", "ROOT", "L8:MANUAL"), | |
| # ب-ل-و family (test) | |
| "أَتَسْتَبْدِلُونَ": ("ب-د-ل", "ROOT", "L8:MANUAL"), # بدل substitute | |
| # و-ص-و family (recommend) | |
| "أَتَوَاصَوْا۟": ("و-ص-ي", "ROOT", "L8:MANUAL"), | |
| # أ-ب-و family (father) | |
| "أَبَاهُ": ("ء-ب-و", "ROOT", "L8:MANUAL"), | |
| "أَبًا": ("ء-ب-و", "ROOT", "L8:MANUAL"), | |
| # ك-و-ن family (be) | |
| "لَكُنتُم": ("ك-و-ن", "ROOT", "L8:MANUAL"), | |
| "أَكُ": ("ك-و-ن", "ROOT", "L8:MANUAL"), | |
| # و-ث-ق family (covenant) | |
| "بِمِيثَٰقِهِمْ": ("و-ث-ق", "ROOT", "L8:MANUAL"), | |
| # و-د-ي family (valley) | |
| "بِوَادٍ": ("و-د-ي", "ROOT", "L8:MANUAL"), | |
| "وَادِ": ("و-د-ي", "ROOT", "L8:MANUAL"), | |
| "وَادٍ": ("و-د-ي", "ROOT", "L8:MANUAL"), | |
| # ء-ل-و family (retinue/people) | |
| "بِـَٔالِ": ("ء-و-ل", "ROOT", "L8:MANUAL"), # bi-āli | |
| # سبأ (Sheba — proper name but from root) | |
| "لِسَبَإٍ": ("س-ب-أ", "ROOT", "L8:MANUAL"), | |
| "سَبَإٍۭ": ("س-ب-أ", "ROOT", "L8:MANUAL"), | |
| # إرم (Iram — proper name) | |
| "إِرَمَ": ("ء-ر-م", "ROOT", "L8:MANUAL"), | |
| # تتر — one after another (و-ت-ر = individually, one by one) | |
| "تَتْرَا": ("و-ت-ر", "ROOT", "L8:MANUAL"), | |
| # ── PARTICLES / DEMONSTRATIVES / PRONOUNS ── | |
| "فَإِذْ": ("", "PARTICLE", "PARTICLE"), | |
| "فَأَنتَ": ("", "PARTICLE", "PARTICLE"), | |
| "أَوَمَن": ("", "PARTICLE", "PARTICLE"), | |
| "أَهَٰذَا": ("", "PARTICLE", "PARTICLE"), | |
| "أَفِى": ("", "PARTICLE", "PARTICLE"), | |
| "أَفَإِي۟ن": ("", "PARTICLE", "PARTICLE"), | |
| "أَذَٰلِكَ": ("", "PARTICLE", "PARTICLE"), | |
| "أَءِنَّكَ": ("", "PARTICLE", "PARTICLE"), | |
| "ٱلْـَٔانَ": ("", "PARTICLE", "PARTICLE"), | |
| "وَهُمَا": ("", "PARTICLE", "PARTICLE"), | |
| "وَهَٰذِهِ": ("", "PARTICLE", "PARTICLE"), | |
| "وَمَاذَا": ("", "PARTICLE", "PARTICLE"), | |
| "وَلِلَّذِينَ": ("", "PARTICLE", "PARTICLE"), | |
| "وَلِذَٰلِكَ": ("", "PARTICLE", "PARTICLE"), | |
| "وَذَٰلِكُمْ": ("", "PARTICLE", "PARTICLE"), | |
| "وَبِمَن": ("", "PARTICLE", "PARTICLE"), | |
| "وَإِنَّنَا": ("", "PARTICLE", "PARTICLE"), | |
| "هَٰذَٰنِ": ("", "PARTICLE", "PARTICLE"), | |
| "هَٰذَانِ": ("", "PARTICLE", "PARTICLE"), | |
| "رُّبَمَا": ("", "PARTICLE", "PARTICLE"), | |
| "مَهْمَا": ("", "PARTICLE", "PARTICLE"), | |
| "لَسَوْفَ": ("", "PARTICLE", "PARTICLE"), | |
| "فَلَسَوْفَ": ("", "PARTICLE", "PARTICLE"), | |
| "لَدَا": ("", "PARTICLE", "PARTICLE"), | |
| "كَذَٰلِكُمْ": ("", "PARTICLE", "PARTICLE"), | |
| "فَثَمَّ": ("", "PARTICLE", "PARTICLE"), | |
| "فَبِمَ": ("", "PARTICLE", "PARTICLE"), | |
| "فَبِذَٰلِكَ": ("", "PARTICLE", "PARTICLE"), | |
| "فَلِذَٰلِكَ": ("", "PARTICLE", "PARTICLE"), | |
| "أَفَمَا": ("", "PARTICLE", "PARTICLE"), | |
| "أَفَبِهَٰذَا": ("", "PARTICLE", "PARTICLE"), | |
| "أَنَحْنُ": ("", "PARTICLE", "PARTICLE"), | |
| "أَهَٰكَذَا": ("", "PARTICLE", "PARTICLE"), | |
| "أَئِنَّ": ("", "PARTICLE", "PARTICLE"), | |
| "أَئِن": ("", "PARTICLE", "PARTICLE"), | |
| "إِى": ("", "PARTICLE", "PARTICLE"), | |
| "إِلْ": ("", "PARTICLE", "PARTICLE"), # shortened إلا or إلى | |
| "إِنَّهُنَّ": ("", "PARTICLE", "PARTICLE"), | |
| "كِلْتَا": ("", "PARTICLE", "PARTICLE"), | |
| # ── ISOLATED LETTERS / SPECIAL ── | |
| "عٓسٓقٓ": ("", "SKIP", ""), # Muqatta'at | |
| "طه": ("", "SKIP", ""), # Muqatta'at | |
| # ── Remaining verb forms ── | |
| "ءَايَٰتِهَا": ("ء-ي-ي", "ROOT", "L8:MANUAL"), # āyāt = signs | |
| "ءَايَتَيْنِ": ("ء-ي-ي", "ROOT", "L8:MANUAL"), | |
| } | |
| def main(): | |
| conn = _uslap_connect(DB) if _HAS_WRAPPER else sqlite3.connect(DB) | |
| conn.execute("PRAGMA foreign_keys = ON") | |
| c = conn.cursor() | |
| # Get all UNROOTED | |
| c.execute("SELECT word_id, arabic_word FROM quran_word_roots WHERE confidence = 'UNROOTED'") | |
| rows = c.fetchall() | |
| print(f"Total UNROOTED rows: {len(rows)}") | |
| rooted = 0 | |
| particled = 0 | |
| skipped = 0 | |
| unmapped = 0 | |
| unmapped_words = set() | |
| for word_id, word in rows: | |
| if word in MAPPING: | |
| root, cat, method = MAPPING[word] | |
| if cat == "ROOT": | |
| c.execute(""" | |
| UPDATE quran_word_roots | |
| SET root = ?, confidence = 'MEDIUM_B', match_method = ? | |
| WHERE word_id = ? | |
| """, (root, method, word_id)) | |
| rooted += 1 | |
| elif cat == "PARTICLE": | |
| c.execute(""" | |
| UPDATE quran_word_roots | |
| SET confidence = 'PARTICLE', match_method = 'PARTICLE' | |
| WHERE word_id = ? | |
| """, (word_id,)) | |
| particled += 1 | |
| elif cat == "SKIP": | |
| skipped += 1 | |
| else: | |
| unmapped += 1 | |
| unmapped_words.add(word) | |
| conn.commit() | |
| print(f"\nResults:") | |
| print(f" Rooted → MEDIUM_B: {rooted}") | |
| print(f" Reclassified → PARTICLE: {particled}") | |
| print(f" Skipped (muqatta'at etc): {skipped}") | |
| print(f" Unmapped (still UNROOTED): {unmapped}") | |
| if unmapped_words: | |
| print(f"\n Unmapped unique forms ({len(unmapped_words)}):") | |
| for w in sorted(unmapped_words): | |
| print(f" {w}") | |
| # Final stats | |
| c.execute(""" | |
| SELECT confidence, COUNT(*) | |
| FROM quran_word_roots | |
| GROUP BY confidence | |
| ORDER BY COUNT(*) DESC | |
| """) | |
| print(f"\nFinal distribution:") | |
| for row in c.fetchall(): | |
| print(f" {row[0]}: {row[1]}") | |
| conn.close() | |
| if __name__ == "__main__": | |
| main() | |