Source code for maha.constants.arabic.compound

"""List of Arabic constant definitions."""

from __future__ import annotations

from .simple import *

[docs]ARABIC_LETTERS: list[str] = [ ALEF, BEH, TEH, THEH, JEEM, HAH, KHAH, DAL, THAL, REH, ZAIN, SEEN, SHEEN, SAD, DAD, TAH, ZAH, AIN, GHAIN, FEH, QAF, KAF, LAM, MEEM, NOON, HEH, WAW, YEH, ALEF_MAKSURA, TEH_MARBUTA, ALEF_MADDA_ABOVE, ALEF_HAMZA_ABOVE, ALEF_HAMZA_BELOW, HAMZA, HAMZA_WAW, HAMZA_YA, ]
""" List of Arabic letters """
[docs]SIMPLE_HARAKAT: list[str] = [ FATHA, DAMMA, KASRA, SUKUN, ]
""" Harakat that can be written anywhere in a word"""
[docs]TANWEN: list[str] = [ FATHATAN, DAMMATAN, KASRATAN, ]
""" Harakat that are written at the end of a word """
[docs]HARAKAT: list[str] = [SHADDA] + SIMPLE_HARAKAT + TANWEN
""" Common Harakat """
[docs]ALEF_VARIATIONS: list[str] = [ ALEF, ALEF_HAMZA_ABOVE, ALEF_HAMZA_BELOW, ALEF_MADDA_ABOVE, ALEF_HAMZA_ABOVE_WAVY, ALEF_HAMZA_BELOW_WAVY, ALEF_WASLA, ]
""" Variations of the letter ALEF """
[docs]LAM_ALEF_VARIATIONS: list[str] = [ LAM_ALEF, LAM_ALEF_HAMZA_ABOVE, LAM_ALEF_HAMZA_BELOW, LAM_ALEF_MADDA_ABOVE, ]
""" Variations of the one-letter LAM_ALEF """
[docs]LAM_ALEF_VARIATIONS_NORMALIZED: list[str] = [ LAM + ALEF, LAM + ALEF_HAMZA_ABOVE, LAM + ALEF_HAMZA_BELOW, LAM + ALEF_MADDA_ABOVE, ]
""" Normalized variations of the one-letter LAM_ALEF """
[docs]WAW_VARIATIONS: list[str] = [ WAW, SMALL_WAW, HAMZA_WAW, ]
""" Variations of the letter WAW """
[docs]YEH_VARIATIONS: list[str] = [ YEH, ALEF_MAKSURA, HAMZA_YA, SMALL_YEH, ]
""" Variations of the letter YEH """
[docs]ARABIC_NUMBERS: list[str] = [ ARABIC_ZERO, ARABIC_ONE, ARABIC_TWO, ARABIC_THREE, ARABIC_FOUR, ARABIC_FIVE, ARABIC_SIX, ARABIC_SEVEN, ARABIC_EIGHT, ARABIC_NINE, ]
""" List of eastern Arabic numerals, a.k.a Indic numerals """
[docs]ARABIC_PUNCTUATIONS: list[str] = [ ARABIC_COMMA, ARABIC_SEMICOLON, ARABIC_QUESTION_MARK, TRIPLE_DOT, STAR, ARABIC_FULL_STOP, DATE_SEPARATOR, ARABIC_DECIMAL_SEPARATOR, ARABIC_THOUSANDS_SEPARATOR, END_OF_AYAH, MISRA_SIGN, POETIC_VERSE_SIGN, SAJDAH, HIZB_START, ORNATE_LEFT_PARENTHESIS, ORNATE_RIGHT_PARENTHESIS, ]
""" Arabic punctuations. """
[docs]ARABIC_LIGATURES: list[str] = [ LIGATURE_SALLA_KORANIC, LIGATURE_QALA, LIGATURE_ALLAH, LIGATURE_AKBAR, LIGATURE_MOHAMMAD, LIGATURE_SALAM, LIGATURE_RASOUL, LIGATURE_ALAYHE, LIGATURE_WASALLAM, LIGATURE_SALLA, LIGATURE_SALLALLAHOU, LIGATURE_JALLAJALALOUHOU, LIGATURE_RIAL, LIGATURE_BISMILLAH, ]
""" Arabic word ligatures. """
[docs]ARABIC_LIGATURES_NORMALIZED: list[str] = [ "صلى", "قلى", "الله", "اكبر", "محمد", "صلى الله عليه وسلم", "رسول", "عليه", "وسلم", "صلى", "صلى الله عليه وسلم", "جل جلاله", "ريال", "بسم الله الرحمن الرحيم", ]
""" Arabic normalized word ligatures. """
[docs]SMALL_HARAKAT: list[str] = [ SMALL_TAH, SMALL_LAM_ALEF_YEH, SMALL_ZAIN, SMALL_FATHA, SMALL_DAMMA, SMALL_KASRA, SMALL_LAM_ALEF_HIGH, SMALL_JEEM_HIGH, SMALL_THREE_DOTS_HIGH, SMALL_MEEM_HIGH_ISOLATED, SMALL_MEEM_HIGH_INITIAL, SMALL_MEEM_LOW, SMALL_SEEN_LOW, SMALL_SEEN_HIGH, SMALL_ZERO_ROUNDED_HIGH, SMALL_ZERO_RECTANGULAR_HIGH, SMALL_DOTLESS_HEAD_HIGH, SMALL_MADDA, SMALL_YEH_HIGH, SMALL_NOON, SMALL_V, SMALL_V_INVERTED, SMALL_LIGATURE_SALLA_KORANIC, SMALL_LIGATURE_QALA, ]
""" Small harakat """
[docs]OTHER_HARAKAT: list[str] = [ SAD_SIGN, AIN_SIGN, RAHMATULLAH_SIGN, RADI_SIGN, TAKHALLUS, MADDAH_ABOVE, HAMZA_ABOVE, HAMZA_BELOW, ALEF_SUBSCRIPT, ALEF_SUPERSCRIPT, DAMMA_INVERTED, NOON_MARK, ZWARAKAY, DOT_BELOW, DAMMA_REVERSED, PERCENTAGE_ABOVE, HAMZA_BELOW_WAVY, LOW_STOP, HIGH_STOP, HIGH_STOP_FILLED, ]
""" Other harakat """
[docs]ALL_HARAKAT = HARAKAT + SMALL_HARAKAT + OTHER_HARAKAT
""" All harakat from the unicode block 0600–06FF """
[docs]ARABIC: list[str] = ARABIC_LETTERS + ALL_HARAKAT + ARABIC_NUMBERS + ARABIC_PUNCTUATIONS
""" Common Arabic characters """
[docs]ARABIC_DOTLESS_MAP: dict[str, str] = { BEH: DOTLESS_BEH, TEH: DOTLESS_TEH, THEH: DOTLESS_THEH, JEEM: DOTLESS_JEEM, KHAH: DOTLESS_KHAH, THAL: DOTLESS_THAL, ZAIN: DOTLESS_ZAIN, SHEEN: DOTLESS_SHEEN, DAD: DOTLESS_DAD, ZAH: DOTLESS_ZAH, GHAIN: DOTLESS_GHAIN, FEH: DOTLESS_FEH, QAF: DOTLESS_QAF, NOON: DOTLESS_TEH, YEH: DOTLESS_YEH, TEH_MARBUTA: DOTLESS_TEH_MARBUTA, }
""" Mapping between Arabic dotted and dotless letters """