ArabicSymbols constructor

ArabicSymbols()

Implementation

ArabicSymbols() {
  UTHMANI_STOP_ZIM = UTHMANI_STOP_JEEM;
  SUKUN_MARKS = [SUKUN, SUKUN_CURVY, SUKUN_ROUNDED];
  HARAKAT = [
    FATHATAN,
    DAMMATAN,
    KASRATAN,
    FATHA,
    DAMMA,
    KASRA,
    ...SUKUN_MARKS,
  ];
  HARAKAT_PATTERN = RegExp(r'[' + HARAKAT.join() + r']', unicode: true);
  SHORTHARAKAT = [FATHA, DAMMA, KASRA, SUKUN];
  ALL_UTHMANI_STOPS = [
    UTHMANI_STOP_SAAD_LAM,
    UTHMANI_STOP_QAF_LAM,
    UTHMANI_STOP_MEEM,
    UTHMANI_STOP_LAM,
    UTHMANI_STOP_JEEM,
    UTHMANI_STOP_DOTS_THREE,
    UTHMANI_STOP_SEEN_HIGH,
  ];
  TASHKEEL = [
    FATHATAN,
    DAMMATAN,
    KASRATAN,
    FATHA,
    DAMMA,
    KASRA,
    SUKUN,
    SHADDA
  ];
  TANWIN = [FATHATAN, DAMMATAN, KASRATAN];
  DIACRITICS = DIACRITICS_RANGE.where((element) {
    final found = UnicodeScript.scripts
        .where((script) => element >= script.start && element <= script.end);
    if (found.isEmpty) return false;
    final script = found.single;
    return script.category == "Mn";
  }).map((e) => String.fromCharCode(e));
}