<filename>maha/constants/arabic/compound.py<gh_stars>1-10
"""List of Arabic constant definitions."""

from typing import Dict, List

from .simple import *

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 """

SIMPLE_HARAKAT: List[str] = [
    FATHA,
    DAMMA,
    KASRA,
    SUKUN,
]
""" Harakat that can be written anywhere in a word"""

TANWEN: List[str] = [
    FATHATAN,
    DAMMATAN,
    KASRATAN,
]
""" Harakat that are written at the end of a word """

HARAKAT: List[str] = [SHADDA] + SIMPLE_HARAKAT + TANWEN
""" Common Harakat """

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 """

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 """

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 """

WAW_VARIATIONS: List[str] = [
    WAW,
    SMALL_WAW,
    HAMZA_WAW,
]
""" Variations of the letter WAW """

YEH_VARIATIONS: List[str] = [
    YEH,
    ALEF_MAKSURA,
    HAMZA_YA,
    SMALL_YEH,
]
""" Variations of the letter YEH """

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  """

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. """

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. """

ARABIC_LIGATURES_NORMALIZED: List[str] = [
    "صلى",
    "قلى",
    "الله",
    "اكبر",
    "محمد",
    "صلى الله عليه وسلم",
    "رسول",
    "عليه",
    "وسلم",
    "صلى",
    "صلى الله عليه وسلم",
    "جل جلاله",
    "ريال",
    "بسم الله الرحمن الرحيم",
]
""" Arabic normalized word ligatures. """

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 """

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 """

ALL_HARAKAT = HARAKAT + SMALL_HARAKAT + OTHER_HARAKAT
""" All harakat from the unicode block 0600–06FF """

ARABIC: List[str] = ARABIC_LETTERS + ALL_HARAKAT + ARABIC_NUMBERS + ARABIC_PUNCTUATIONS
""" Common Arabic characters """

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 """

<filename>maha/constants/arabic/compound.py<gh_stars>1-10
"""List of Arabic constant definitions."""

from typing import Dict, List

from .simple import *

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 """

SIMPLE_HARAKAT: List[str] = [
    FATHA,
    DAMMA,
    KASRA,
    SUKUN,
]
""" Harakat that can be written anywhere in a word"""

TANWEN: List[str] = [
    FATHATAN,
    DAMMATAN,
    KASRATAN,
]
""" Harakat that are written at the end of a word """

HARAKAT: List[str] = [SHADDA] + SIMPLE_HARAKAT + TANWEN
""" Common Harakat """

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 """

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 """

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 """

WAW_VARIATIONS: List[str] = [
    WAW,
    SMALL_WAW,
    HAMZA_WAW,
]
""" Variations of the letter WAW """

YEH_VARIATIONS: List[str] = [
    YEH,
    ALEF_MAKSURA,
    HAMZA_YA,
    SMALL_YEH,
]
""" Variations of the letter YEH """

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  """

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. """

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. """

ARABIC_LIGATURES_NORMALIZED: List[str] = [
    "صلى",
    "قلى",
    "الله",
    "اكبر",
    "محمد",
    "صلى الله عليه وسلم",
    "رسول",
    "عليه",
    "وسلم",
    "صلى",
    "صلى الله عليه وسلم",
    "جل جلاله",
    "ريال",
    "بسم الله الرحمن الرحيم",
]
""" Arabic normalized word ligatures. """

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 """

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 """

ALL_HARAKAT = HARAKAT + SMALL_HARAKAT + OTHER_HARAKAT
""" All harakat from the unicode block 0600–06FF """

ARABIC: List[str] = ARABIC_LETTERS + ALL_HARAKAT + ARABIC_NUMBERS + ARABIC_PUNCTUATIONS
""" Common Arabic characters """

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 """

List of Arabic constant definitions. List of Arabic letters Harakat that can be written anywhere in a word Harakat that are written at the end of a word Common Harakat Variations of the letter ALEF Variations of the one-letter LAM_ALEF Normalized variations of the one-letter LAM_ALEF Variations of the letter WAW Variations of the letter YEH List of eastern Arabic numerals, a.k.a Indic numerals Arabic punctuations. Arabic word ligatures. Arabic normalized word ligatures. Small harakat Other harakat All harakat from the unicode block 0600–06FF Common Arabic characters Mapping between Arabic dotted and dotless letters