The waqf model

Stopping is a parameter.

Several rules exist only at a pause; several die across one. A fixed table of annotations must therefore assume one pause behavior and bake it in. This engine takes the recitation context as input instead.

Why it matters

Consider a verse ending. If the reciter continues, the final word's last vowel is pronounced and the text flows into the next verse: an idghām may form across the seam, and a word-final madd letter before a hamzah in the next verse becomes munfaṣil. If the reciter stops, the last letter loses its vowel, and a different set of rules appears at exactly that position: madd ʿāriḍ lil-sukūn on a preceding madd letter, madd līn on a preceding līn letter, qalqalah kubrā on a final qalqalah letter, the substitution madd (ʿiwaḍ) for tanwīn fatḥ, and the transmitted stop options rawm and ishmām on the lost vowel. One text, two correct and different annotations. Any tool that returns a single answer without asking has chosen for you, silently.

The modes

optionmeaning
mode: "continue"default; the text flows into what follows, no stop at its end
mode: "stop"waqf at the end of the text: the stop rules fire at the final word
mode: "both"the union of both runs; annotations exclusive to one mode carry appliesIn: "wasl" | "waqf"
stopAt: nstop after word n and resume at word n+1: stop rules at word n, resumption rules at the next word
startFresh: truetreat the text start as an utterance start: hamzat al-waṣl is pronounced with its derived start vowel, and a gemination carried in from cross-verse idghām is dropped

What changes at a stop

  • madd ʿāriḍ lil-sukūn: a madd letter before the final letter of a stopped-on word; two, four or six counts at the pause.
  • madd līn: a wāw or yāʾ sākinah after fatḥah before the pause sukūn; the same three durations.
  • qalqalah kubrā: a qalqalah letter ending the utterance.
  • madd ʿiwaḍ: tanwīn fatḥ replaced by an alif of two counts.
  • rawm and ishmām: the transmitted performance options on a lost ḍammah or kasrah, emitted as options rather than obligations.
  • the open tāʾ: where the feminine tāʾ is written open in the rasm, the stop keeps the tāʾ sound; the engine notes it at stop.
  • and in the other direction, idghām across the seam, munfaṣil into the next verse, and similar cross-boundary rules exist only in continuation.

Where two madd causes compete at a stop (for instance ʿāriḍ against a standing muttaṣil), the aqwā al-maddayn precedence applies: the stronger cause governs.

The printed stop marks

The muṣḥaf's stop marks are guidance printed for the reader: where stopping is required, preferred, permitted or disliked, and where a breathless pause is transmitted. They are not derivable from orthography and are not treated as rules; the library carries them as data, per verse, through getWaqfMarks:

markkindmeaning
ۘlazimstop required
ۗpreferred-stopstopping preferred (qilā)
ۚpermittedstopping permitted (jīm)
ۖpreferred-continuecontinuing preferred (ṣilā)
ۙforbiddendo not stop (lā)
ۛmuanaqahstop at one of the pair, not both
ۜsaktbreathless pause, transmitted sites
۩sajdahprostration sign

The four transmitted sakt sites of Ḥafṣ by al-Shāṭibiyyah are riwāyah data (HAFS_SAKT_SITES); a sakt blocks assimilation across it, and annotateVerse applies the sites automatically.