aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Alessi <alessi@robertalessi.net>2019-06-06 18:33:03 +0200
committerRobert Alessi <alessi@robertalessi.net>2019-06-06 18:33:03 +0200
commitd2f60b95cedce281a8f2da807a7e9688ce69eae0 (patch)
treec4d8f9168663dfb2bc25e1dccfc2c630a1e26e2d
parenta41e11d62d1886519f7b3ddbee852ec47b8ffb40 (diff)
downloadarabluatex-d2f60b95cedce281a8f2da807a7e9688ce69eae0.tar.gz
moved the rules that generate sukūn over final hamza when appropriate to a location where they can operate
-rw-r--r--arabluatex.dtx2
-rw-r--r--arabluatex_fullvoc.lua71
2 files changed, 53 insertions, 20 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx
index f85be27..abbea3f 100644
--- a/arabluatex.dtx
+++ b/arabluatex.dtx
@@ -2325,7 +2325,7 @@
2325 gutter=1cm] 2325 gutter=1cm]
2326 \bayt{.gayra 'annI qad 'asta`Inu `al_A 'l-ha--}[--mmi ]{'i_dA 2326 \bayt{.gayra 'annI qad 'asta`Inu `al_A 'l-ha--}[--mmi ]{'i_dA
2327 _haffa bi-'l-_tawiyyi 'l-na^gA'u}\\ 2327 _haffa bi-'l-_tawiyyi 'l-na^gA'u}\\
2328 \bayt{bi-zaf--UfiN ka-'anna-hA hi{q}--laTuN}[ 'ummu ]{ri'AliN 2328 \bayt{bi-zaf--UfiN ka-'anna-hA hiq|--laTuN}[ 'ummu ]{ri'AliN
2329 dawwiyyaTuN saqfA'u}\\ 2329 dawwiyyaTuN saqfA'u}\\
2330 \end{arabverse} 2330 \end{arabverse}
2331\end{example} 2331\end{example}
diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua
index f524c3b..ca62308 100644
--- a/arabluatex_fullvoc.lua
+++ b/arabluatex_fullvoc.lua
@@ -38,15 +38,19 @@ hamzafv = {
38 {a="w\"'", b="ؤ"}, 38 {a="w\"'", b="ؤ"},
39 {a="i\"'", b="إ"}, 39 {a="i\"'", b="إ"},
40 {a="y\"'", b="ئ"}, 40 {a="y\"'", b="ئ"},
41 {a="ؤ([^uaiUAI])", b="ؤْ%1"}, 41 -- moved below (end of 'final' section)
42 {a="ؤ(%p*)$", b="ؤْ%1"}, 42 -- {a="ؤ([^uaiUAI])", b="ؤْ%1"},
43 {a="ؤ(%p*%s)", b="ؤْ%1"}, 43 -- {a="ؤ(%p*)$", b="ؤْ%1"},
44 {a="أ([^uaiUAI])", b="أْ%1"}, 44 -- {a="ؤ(%p*%s)", b="ؤْ%1"},
45 {a="أ(%p*)$", b="أْ%1"}, 45 -- {a="أ([^uaiUAI])", b="أْ%1"},
46 {a="أ(%p*%s)", b="أْ%1"}, 46 -- {a="أ(%p*)$", b="أْ%1"},
47 {a="ئ([^uaiUAI])", b="ئْ%1"}, 47 -- {a="أ(%p*%s)", b="أْ%1"},
48 {a="ئ(%p*)$", b="ئْ%1"}, 48 -- {a="ئ([^uaiUAI])", b="ئْ%1"},
49 {a="ئ(%p*%s)", b="ئْ%1"}, 49 -- {a="ئ(%p*)$", b="ئْ%1"},
50 -- {a="ئ(%p*%s)", b="ئْ%1"},
51 -- {a="ء([^uaiUAI])", b="ءْ%1"},
52 -- {a="ء(%p*)$", b="ءْ%1"},
53 -- {a="ء(%p*%s)", b="ءْ%1"},
50 -- hamza takes tašdīd too 54 -- hamza takes tašdīd too
51 {a="''([Uu])", b="ؤؤ%1"}, 55 {a="''([Uu])", b="ؤؤ%1"},
52 {a="''([Aa])", b="أأ%1"}, 56 {a="''([Aa])", b="أأ%1"},
@@ -129,7 +133,19 @@ hamzafv = {
129 {a="(i)(')([uai]N?)(%p*%s)", b="%1ئ%3%4"}, 133 {a="(i)(')([uai]N?)(%p*%s)", b="%1ئ%3%4"},
130 {a="(i)(')(%p*)$", b="%1ئْ%3"}, 134 {a="(i)(')(%p*)$", b="%1ئْ%3"},
131 {a="(i)(')(%p*%s)", b="%1ئْ%3"}, 135 {a="(i)(')(%p*%s)", b="%1ئْ%3"},
132-- 136-- moved here from above:
137 {a="ؤ([^uaiUAI])", b="ؤْ%1"},
138 {a="ؤ(%p*)$", b="ؤْ%1"},
139 {a="ؤ(%p*%s)", b="ؤْ%1"},
140 {a="أ([^uaiUAI])", b="أْ%1"},
141 {a="أ(%p*)$", b="أْ%1"},
142 {a="أ(%p*%s)", b="أْ%1"},
143 {a="ئ([^uaiUAI])", b="ئْ%1"},
144 {a="ئ(%p*)$", b="ئْ%1"},
145 {a="ئ(%p*%s)", b="ئْ%1"},
146 {a="ء([^uaiUAI])", b="ءْ%1"},
147 {a="ء(%p*)$", b="ءْ%1"},
148 {a="ء(%p*%s)", b="ءْ%1"},
133 -- middle 149 -- middle
134 {a="([UIwy])(')", b="%1ء"}, --new 150 {a="([UIwy])(')", b="%1ء"}, --new
135 -- {a="([Iy])(')", b="%1ئ"}, --included in the above line 151 -- {a="([Iy])(')", b="%1ئ"}, --included in the above line
@@ -166,15 +182,19 @@ hamzafveasy = { -- differences marked below with 'easy'
166 {a="w\"'", b="ؤ"}, 182 {a="w\"'", b="ؤ"},
167 {a="i\"'", b="إ"}, 183 {a="i\"'", b="إ"},
168 {a="y\"'", b="ئ"}, 184 {a="y\"'", b="ئ"},
169 {a="ؤ([^uaiUAI])", b="ؤْ%1"}, 185 -- moved below (end of 'final' section)
170 {a="ؤ(%p*)$", b="ؤْ%1"}, 186 -- {a="ؤ([^uaiUAI])", b="ؤْ%1"},
171 {a="ؤ(%p*%s)", b="ؤْ%1"}, 187 -- {a="ؤ(%p*)$", b="ؤْ%1"},
172 {a="أ([^uaiUAI])", b="أْ%1"}, 188 -- {a="ؤ(%p*%s)", b="ؤْ%1"},
173 {a="أ(%p*)$", b="أْ%1"}, 189 -- {a="أ([^uaiUAI])", b="أْ%1"},
174 {a="أ(%p*%s)", b="أْ%1"}, 190 -- {a="أ(%p*)$", b="أْ%1"},
175 {a="ئ([^uaiUAI])", b="ئْ%1"}, 191 -- {a="أ(%p*%s)", b="أْ%1"},
176 {a="ئ(%p*)$", b="ئْ%1"}, 192 -- {a="ئ([^uaiUAI])", b="ئْ%1"},
177 {a="ئ(%p*%s)", b="ئْ%1"}, 193 -- {a="ئ(%p*)$", b="ئْ%1"},
194 -- {a="ئ(%p*%s)", b="ئْ%1"},
195 -- {a="ء([^uaiUAI])", b="ءْ%1"},
196 -- {a="ء(%p*)$", b="ءْ%1"},
197 -- {a="ء(%p*%s)", b="ءْ%1"},
178 -- hamza takes tašdīd too 198 -- hamza takes tašdīd too
179 {a="''([Uu])", b="ؤؤ%1"}, 199 {a="''([Uu])", b="ؤؤ%1"},
180 {a="''([Aa])", b="أأ%1"}, 200 {a="''([Aa])", b="أأ%1"},
@@ -269,6 +289,19 @@ hamzafveasy = { -- differences marked below with 'easy'
269 {a="(i)(')([uai]N?)(%p*%s)", b="%1ئ%3%4"}, 289 {a="(i)(')([uai]N?)(%p*%s)", b="%1ئ%3%4"},
270 {a="(i)(')(%p*)$", b="%1ئْ%3"}, 290 {a="(i)(')(%p*)$", b="%1ئْ%3"},
271 {a="(i)(')(%p*%s)", b="%1ئْ%3"}, 291 {a="(i)(')(%p*%s)", b="%1ئْ%3"},
292-- moved here from above:
293 {a="ؤ([^uaiUAI])", b="ؤْ%1"},
294 {a="ؤ(%p*)$", b="ؤْ%1"},
295 {a="ؤ(%p*%s)", b="ؤْ%1"},
296 {a="أ([^uaiUAI])", b="أْ%1"},
297 {a="أ(%p*)$", b="أْ%1"},
298 {a="أ(%p*%s)", b="أْ%1"},
299 {a="ئ([^uaiUAI])", b="ئْ%1"},
300 {a="ئ(%p*)$", b="ئْ%1"},
301 {a="ئ(%p*%s)", b="ئْ%1"},
302 {a="ء([^uaiUAI])", b="ءْ%1"},
303 {a="ء(%p*)$", b="ءْ%1"},
304 {a="ء(%p*%s)", b="ءْ%1"},
272-- 305--
273 -- middle 306 -- middle
274 {a="([Uw])(')", b="%1ء"}, --new 307 {a="([Uw])(')", b="%1ء"}, --new