aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Alessi <alessi@robertalessi.net>2017-01-07 21:18:57 +0100
committerRobert Alessi <alessi@robertalessi.net>2017-01-07 21:18:57 +0100
commit749ab4ccc7ec85f9d109dfea22327a80ef07c621 (patch)
tree9d81d0d6d7c0f5a6f002939ff68cdf3742e70096
parenta7a9dc290a55543a31f3fbf67ae987a94b8a9f8a (diff)
downloadarabluatex-749ab4ccc7ec85f9d109dfea22327a80ef07c621.tar.gz
bugfix: final hamzah was not parsed correctly in some particular cases
-rw-r--r--arabluatex_fullvoc.lua168
-rw-r--r--arabluatex_novoc.lua12
-rw-r--r--arabluatex_voc.lua132
3 files changed, 160 insertions, 152 deletions
diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua
index 31956a6..fd2c021 100644
--- a/arabluatex_fullvoc.lua
+++ b/arabluatex_fullvoc.lua
@@ -33,14 +33,14 @@ hamzafv = {
33 {a="i\"'", b="إ"}, 33 {a="i\"'", b="إ"},
34 {a="y\"'", b="ئ"}, 34 {a="y\"'", b="ئ"},
35 {a="ؤ([^uaiUAI])", b="ؤْ%1"}, 35 {a="ؤ([^uaiUAI])", b="ؤْ%1"},
36 {a="ؤ$", b="ؤْ"}, 36 {a="ؤ(%p?)$", b="ؤْ%1"},
37 {a="ؤ(%s)", b="ؤْ%1"}, 37 {a="ؤ(%p?%s)", b="ؤْ%1"},
38 {a="أ([^uaiUAI])", b="أْ%1"}, 38 {a="أ([^uaiUAI])", b="أْ%1"},
39 {a="أ$", b="أْ"}, 39 {a="أ(%p?)$", b="أْ%1"},
40 {a="أ(%s)", b="أْ%1"}, 40 {a="أ(%p?%s)", b="أْ%1"},
41 {a="ئ([^uaiUAI])", b="ئْ%1"}, 41 {a="ئ([^uaiUAI])", b="ئْ%1"},
42 {a="ئ$", b="ئْ"}, 42 {a="ئ(%p?)$", b="ئْ%1"},
43 {a="ئ(%s)", b="ئْ%1"}, 43 {a="ئ(%p?%s)", b="ئْ%1"},
44 -- hamza takes tašdīd too 44 -- hamza takes tašdīd too
45 {a="''([Uu])", b="ؤؤ%1"}, 45 {a="''([Uu])", b="ؤؤ%1"},
46 {a="''([Aa])", b="أأ%1"}, 46 {a="''([Aa])", b="أأ%1"},
@@ -58,10 +58,10 @@ hamzafv = {
58 {a="([^uiUI])\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"}, 58 {a="([^uiUI])\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
59 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"}, 59 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"},
60 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"}, 60 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
61 {a="(A)(')(uN?)$", b="aآء%3"}, 61 {a="(A)(')(uN?%p?)$", b="aآء%3"},
62 {a="(A)(')(uN?)(%W)", b="aآء%3%4"}, 62 {a="(A)(')(uN?)(%p?%s)", b="aآء%3%4"},
63 {a="(A)(')(iN?)$", b="aآء%3"}, 63 {a="(A)(')(iN?%p?)$", b="aآء%3"},
64 {a="(A)(')(iN?)(%W)", b="aآء%3%4"}, 64 {a="(A)(')(iN?)(%p?%s)", b="aآء%3%4"},
65 {a="(A)(')([iI])", b="aآئ%3"}, -- historic madda 65 {a="(A)(')([iI])", b="aآئ%3"}, -- historic madda
66 {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda 66 {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda
67 {a="(A)(')", b="aآء"}, -- historic madda 67 {a="(A)(')", b="aآء"}, -- historic madda
@@ -84,31 +84,33 @@ hamzafv = {
84 -- ^say'aN and .zim'aN are special orthographies 84 -- ^say'aN and .zim'aN are special orthographies
85 {a="(%^say)(%')(aN)", b="%1ئ%3"}, 85 {a="(%^say)(%')(aN)", b="%1ئ%3"},
86 {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, 86 {a="(.zi?m)(%')(aN)", b="%1ئ%3"},
87 {a="([^uai])(')([uai][^%.%^%_]N?)$", b="%1ء%3"}, 87 {a="(')(I%p?)$", b="إ%2"}, -- affix pr. 1st person sg.
88 {a="([^uai])(')([uai][^%.%^%_]N?)(%W)", b="%1ء%3%4"}, 88 {a="(')(I)(%p?%s)", b="إ%2%3"}, -- affix pr. 1st person sg.
89 {a="([^uai])(')([uai]N?%p?)$", b="%1ء%3"},
90 {a="([^uai])(')([uai]N?)(%p?%s)", b="%1ء%3%4"},
89-- u 91-- u
90 {a="(u)(')([uai][^%.%^%_]N?)$", b="%1ؤ%3"}, 92 {a="(u)(')([uai]N?%p?)$", b="%1ؤ%3"},
91 {a="(u)(')([uai][^%.%^%_]N?)(%W)", b="%1ؤ%3%4"}, 93 {a="(u)(')([uai]N?)(%p?%s)", b="%1ؤ%3%4"},
92 {a="(u)(')$", b="%1ؤْ"}, 94 {a="(u)('%p?)$", b="%1ؤْ"},
93 {a="(u)(')(%W)", b="%1ؤْ%3"}, 95 {a="(u)(')(%p?%s)", b="%1ؤْ%3"},
94-- a 96-- a
95 {a="(a)(')(A)$", b="%1آ"}, 97 {a="(a)(')(A%p?)$", b="%1آ"},
96 {a="(a)(')(A)(%W)", b="%1آ%4"}, 98 {a="(a)(')(A)(%p?%s)", b="%1آ%4"},
97 {a="(a)(')([u][^%.%^%_]N?)$", b="%1أ%3"}, 99 {a="(a)(')([u]N?%p?)$", b="%1أ%3"},
98 {a="(a)(')([u][^%.%^%_]N?)(%W)", b="%1أ%3%4"}, 100 {a="(a)(')([u]N?)(%p?%s)", b="%1أ%3%4"},
99 {a="(a)(')(a)$", b="%1أ%3"}, 101 {a="(a)(')(a%p?)$", b="%1أ%3"},
100 {a="(a)(')(a)(%W)", b="%1أ%3%4"}, 102 {a="(a)(')(a)(%p?%s)", b="%1أ%3%4"},
101 {a="(a)(')(aN)$", b="%1أً"}, 103 {a="(a)(')(aN%p?)$", b="%1أً"},
102 {a="(a)(')(aN)(%W)", b="%1أً%4"}, 104 {a="(a)(')(aN)(%p?%s)", b="%1أً%4"},
103 {a="(a)(')([i][^%.%^%_]N?)$", b="%1إ%3"}, 105 {a="(a)(')([i]N?%p?)$", b="%1إ%3"},
104 {a="(a)(')([i][^%.%^%_]N?)(%W)", b="%1إ%3%4"}, 106 {a="(a)(')([i]N?)(%p?%s)", b="%1إ%3%4"},
105 {a="(a)(')$", b="%1أْ"}, 107 {a="(a)('%p?)$", b="%1أْ"},
106 {a="(a)(')(%W)", b="%1أْ%3"}, 108 {a="(a)(')(%p?%s)", b="%1أْ%3"},
107-- i 109-- i
108 {a="(i)(')([uai][^%.%^%_]N?)$", b="%1ئ%3"}, 110 {a="(i)(')([uai]N?%p?)$", b="%1ئ%3"},
109 {a="(i)(')([uai][^%.%^%_]N?)(%W)", b="%1ئ%3%4"}, 111 {a="(i)(')([uai]N?)(%p?%s)", b="%1ئ%3%4"},
110 {a="(i)(')$", b="%1ئْ"}, 112 {a="(i)('%p?)$", b="%1ئْ"},
111 {a="(i)(')(%W)", b="%1ئْ%3"}, 113 {a="(i)(')(%p?%s)", b="%1ئْ%3"},
112-- 114--
113 -- middle 115 -- middle
114 {a="(U)(')", b="%1ء"}, 116 {a="(U)(')", b="%1ء"},
@@ -141,14 +143,14 @@ hamzafveasy = { -- differences marked below with 'easy'
141 {a="i\"'", b="إ"}, 143 {a="i\"'", b="إ"},
142 {a="y\"'", b="ئ"}, 144 {a="y\"'", b="ئ"},
143 {a="ؤ([^uaiUAI])", b="ؤْ%1"}, 145 {a="ؤ([^uaiUAI])", b="ؤْ%1"},
144 {a="ؤ$", b="ؤْ"}, 146 {a="ؤ(%p?)$", b="ؤْ%1"},
145 {a="ؤ(%s)", b="ؤْ%1"}, 147 {a="ؤ(%p?%s)", b="ؤْ%1"},
146 {a="أ([^uaiUAI])", b="أْ%1"}, 148 {a="أ([^uaiUAI])", b="أْ%1"},
147 {a="أ$", b="أْ"}, 149 {a="أ(%p?)$", b="أْ%1"},
148 {a="أ(%s)", b="أْ%1"}, 150 {a="أ(%p?%s)", b="أْ%1"},
149 {a="ئ([^uaiUAI])", b="ئْ%1"}, 151 {a="ئ([^uaiUAI])", b="ئْ%1"},
150 {a="ئ$", b="ئْ"}, 152 {a="ئ(%p?)$", b="ئْ%1"},
151 {a="ئ(%s)", b="ئْ%1"}, 153 {a="ئ(%p?%s)", b="ئْ%1"},
152 -- hamza takes tašdīd too 154 -- hamza takes tašdīd too
153 {a="''([Uu])", b="ؤؤ%1"}, 155 {a="''([Uu])", b="ؤؤ%1"},
154 {a="''([Aa])", b="أأ%1"}, 156 {a="''([Aa])", b="أأ%1"},
@@ -167,10 +169,10 @@ hamzafveasy = { -- differences marked below with 'easy'
167 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"}, 169 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"},
168 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"}, 170 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
169 --easy (begin) 171 --easy (begin)
170 {a="(A)(')(uN?)$", b="aاء%3"}, 172 {a="(A)(')(uN?%p?)$", b="aاء%3"},
171 {a="(A)(')(uN?)(%W)", b="aاء%3%4"}, 173 {a="(A)(')(uN?)(%p?%s)", b="aاء%3%4"},
172 {a="(A)(')(iN?)$", b="aاء%3"}, 174 {a="(A)(')(iN?%p?)$", b="aاء%3"},
173 {a="(A)(')(iN?)(%W)", b="aاء%3%4"}, 175 {a="(A)(')(iN?)(%p?%s)", b="aاء%3%4"},
174 {a="(A)(')([iI])", b="aائ%3"}, -- historic madda 176 {a="(A)(')([iI])", b="aائ%3"}, -- historic madda
175 {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda 177 {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda
176 {a="(A)(')", b="aاء"}, -- historic madda 178 {a="(A)(')", b="aاء"}, -- historic madda
@@ -194,31 +196,33 @@ hamzafveasy = { -- differences marked below with 'easy'
194 -- ^say'aN and .zim'aN are special orthographies 196 -- ^say'aN and .zim'aN are special orthographies
195 {a="(%^say)(%')(aN)", b="%1ئ%3"}, 197 {a="(%^say)(%')(aN)", b="%1ئ%3"},
196 {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, 198 {a="(.zi?m)(%')(aN)", b="%1ئ%3"},
197 {a="([^uai])(')([uai][^%.%^%_]N?)$", b="%1ء%3"}, 199 {a="(')(I%p?)$", b="إ%2"}, -- affix pr. 1st person sg.
198 {a="([^uai])(')([uai][^%.%^%_]N?)(%W)", b="%1ء%3%4"}, 200 {a="(')(I)(%p?%s)", b="إ%2%3"}, -- affix pr. 1st person sg.
201 {a="([^uai])(')([uai]N?%p?)$", b="%1ء%3"},
202 {a="([^uai])(')([uai]N?)(%p?%s)", b="%1ء%3%4"},
199-- u 203-- u
200 {a="(u)(')([uai][^%.%^%_]N?)$", b="%1ؤ%3"}, 204 {a="(u)(')([uai]N?%p?)$", b="%1ؤ%3"},
201 {a="(u)(')([uai][^%.%^%_]N?)(%W)", b="%1ؤ%3%4"}, 205 {a="(u)(')([uai]N?)(%p?%s)", b="%1ؤ%3%4"},
202 {a="(u)(')$", b="%1ؤْ"}, 206 {a="(u)('%p?)$", b="%1ؤْ"},
203 {a="(u)(')(%W)", b="%1ؤْ%3"}, 207 {a="(u)(')(%p?%s)", b="%1ؤْ%3"},
204-- a 208-- a
205 {a="(a)(')(A)$", b="%1آ"}, 209 {a="(a)(')(A%p?)$", b="%1آ"},
206 {a="(a)(')(A)(%W)", b="%1آ%4"}, 210 {a="(a)(')(A)(%p?%s)", b="%1آ%4"},
207 {a="(a)(')([u][^%.%^%_]N?)$", b="%1أ%3"}, 211 {a="(a)(')([u]N?%p?)$", b="%1أ%3"},
208 {a="(a)(')([u][^%.%^%_]N?)(%W)", b="%1أ%3%4"}, 212 {a="(a)(')([u]N?)(%p?%s)", b="%1أ%3%4"},
209 {a="(a)(')(a)$", b="%1أ%3"}, 213 {a="(a)(')(a%p?)$", b="%1أ%3"},
210 {a="(a)(')(a)(%W)", b="%1أ%3%4"}, 214 {a="(a)(')(a)(%p?%s)", b="%1أ%3%4"},
211 {a="(a)(')(aN)$", b="%1أً"}, 215 {a="(a)(')(aN%p?)$", b="%1أً"},
212 {a="(a)(')(aN)(%W)", b="%1أً%4"}, 216 {a="(a)(')(aN)(%p?%s)", b="%1أً%4"},
213 {a="(a)(')([i][^%.%^%_]N?)$", b="%1إ%3"}, 217 {a="(a)(')([i]N?%p?)$", b="%1إ%3"},
214 {a="(a)(')([i][^%.%^%_]N?)(%W)", b="%1إ%3%4"}, 218 {a="(a)(')([i]N?)(%p?%s)", b="%1إ%3%4"},
215 {a="(a)(')$", b="%1أْ"}, 219 {a="(a)('%p?)$", b="%1أْ"},
216 {a="(a)(')(%W)", b="%1أْ%3"}, 220 {a="(a)(')(%p?%s)", b="%1أْ%3"},
217-- i 221-- i
218 {a="(i)(')([uai][^%.%^%_]N?)$", b="%1ئ%3"}, 222 {a="(i)(')([uai]N?%p?)$", b="%1ئ%3"},
219 {a="(i)(')([uai][^%.%^%_]N?)(%W)", b="%1ئ%3%4"}, 223 {a="(i)(')([uai]N?)(%p?%s)", b="%1ئ%3%4"},
220 {a="(i)(')$", b="%1ئْ"}, 224 {a="(i)('%p?)$", b="%1ئْ"},
221 {a="(i)(')(%W)", b="%1ئْ%3"}, 225 {a="(i)(')(%p?%s)", b="%1ئْ%3"},
222-- 226--
223 -- middle 227 -- middle
224 {a="(U)(')", b="%1ء"}, 228 {a="(U)(')", b="%1ء"},
@@ -388,12 +392,12 @@ trigraphsfv = { -- trigraphs or more
388 -- art. with waṣla + lunar consonant (i.e. what remains) 392 -- art. with waṣla + lunar consonant (i.e. what remains)
389 {a="'l%-", b="ٱلْ"}, 393 {a="'l%-", b="ٱلْ"},
390 -- the silent wāw 394 -- the silent wāw
391 {a="uU$", b="uو"}, 395 {a="uU(%p?)$", b="uو%1"},
392 {a="uU(%W)", b="uو%1"}, 396 {a="uU(%p?%s)", b="uو%1"},
393 {a="aU$", b="aو"}, 397 {a="aU(%p?)$", b="aو%1"},
394 {a="aU(%W)", b="aو%1"}, 398 {a="aU(%p?%s)", b="aو%1"},
395 {a="iU$", b="iو"}, 399 {a="iU(%p?)$", b="iو%1"},
396 {a="iU(%W)", b="iو%1"}, 400 {a="iU(%p?%s)", b="iو%1"},
397 -- words ending in -āT with silent wāw/yāʾ 401 -- words ending in -āT with silent wāw/yāʾ
398 {a="(_a)UA", b="%1وا"}, 402 {a="(_a)UA", b="%1وا"},
399 {a="(_a)U", b="%1و"}, 403 {a="(_a)U", b="%1و"},
@@ -457,12 +461,12 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs)
457 -- art. with waṣla + lunar consonant (i.e. what remains) 461 -- art. with waṣla + lunar consonant (i.e. what remains)
458 {a="'l%-", b="ٱلْ"}, 462 {a="'l%-", b="ٱلْ"},
459 -- the silent wāw 463 -- the silent wāw
460 {a="uU$", b="uو"}, 464 {a="uU(%p?)$", b="uو%1"},
461 {a="uU(%W)", b="uو%1"}, 465 {a="uU(%p?%s)", b="uو%1"},
462 {a="aU$", b="aو"}, 466 {a="aU(%p?)$", b="aو%1"},
463 {a="aU(%W)", b="aو%1"}, 467 {a="aU(%p?%s)", b="aو%1"},
464 {a="iU$", b="iو"}, 468 {a="iU(%p?)$", b="iو%1"},
465 {a="iU(%W)", b="iو%1"}, 469 {a="iU(%p?%s)", b="iو%1"},
466 -- words ending in -āT with silent wāw/yāʾ 470 -- words ending in -āT with silent wāw/yāʾ
467 {a="(_a)UA", b="%1وا"}, 471 {a="(_a)UA", b="%1وا"},
468 {a="(_a)U", b="%1و"}, 472 {a="(_a)U", b="%1و"},
@@ -538,8 +542,8 @@ digraphsfvidgham = {
538 -- sukūn begin 542 -- sukūn begin
539 -- first, take out hyphen if any: 543 -- first, take out hyphen if any:
540 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"}, 544 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"},
541 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])$", b="%1ْ"}, 545 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy]%p?)$", b="%1ْ"},
542 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%s])", b="%1ْ%2"}, 546 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p?%s)", b="%1ْ%2"},
543 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"}, 547 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"},
544 -- take out sukūn in cases of assimilation 548 -- take out sukūn in cases of assimilation
545 {a="(n)(ْ)(%s)(ر)", b="%1%3%4"}, 549 {a="(n)(ْ)(%s)(ر)", b="%1%3%4"},
@@ -646,8 +650,8 @@ digraphsfv = {
646 -- sukūn begin 650 -- sukūn begin
647 -- first, take out hyphen if any: 651 -- first, take out hyphen if any:
648 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"}, 652 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"},
649 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])$", b="%1ْ"}, 653 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy]%p?)$", b="%1ْ"},
650 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%s])", b="%1ْ%2"}, 654 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p?%s)", b="%1ْ%2"},
651 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"}, 655 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"},
652 -- take out sukūn in cases of assimilation 656 -- take out sukūn in cases of assimilation
653-- {a="(n)(ْ)(%s)(ر)", b="%1%3%4"}, 657-- {a="(n)(ْ)(%s)(ر)", b="%1%3%4"},
@@ -757,8 +761,8 @@ digraphsfveasy = { -- see the differences under 'easy' marker below
757 {a="ْ", b=""}, 761 {a="ْ", b=""},
758 -- first, take out hyphen if any: 762 -- first, take out hyphen if any:
759-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"}, 763-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"},
760-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])$", b="%1ْ"}, 764-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy]%p?)$", b="%1ْ"},
761-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%s])", b="%1ْ%2"}, 765-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p?%s)", b="%1ْ%2"},
762-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIًٌٍ])", b="%1ْ%2"}, 766-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIًٌٍ])", b="%1ْ%2"},
763 -- take out sukūn in cases of assimilation 767 -- take out sukūn in cases of assimilation
764-- {a="(n)(ْ)(%s)(ر)", b="%1%3%4"}, 768-- {a="(n)(ْ)(%s)(ر)", b="%1%3%4"},
diff --git a/arabluatex_novoc.lua b/arabluatex_novoc.lua
index a79be82..cc5ea66 100644
--- a/arabluatex_novoc.lua
+++ b/arabluatex_novoc.lua
@@ -109,12 +109,12 @@ trigraphsnv = { -- trigraphs or more
109 -- art. with waṣla + lunar consonant (i.e. what remains) 109 -- art. with waṣla + lunar consonant (i.e. what remains)
110 {a="'l%-", b="ال"}, 110 {a="'l%-", b="ال"},
111 -- the silent wāw 111 -- the silent wāw
112 {a="uU$", b="uو"}, 112 {a="uU(%p?)$", b="uو%1"},
113 {a="uU(%W)", b="uو%1"}, 113 {a="uU(%p?%s)", b="uو%1"},
114 {a="aU$", b="aو"}, 114 {a="aU(%p?)$", b="aو%1"},
115 {a="aU(%W)", b="aو%1"}, 115 {a="aU(%p?%s)", b="aو%1"},
116 {a="iU$", b="iو"}, 116 {a="iU(%p?)$", b="iو%1"},
117 {a="iU(%W)", b="iو%1"}, 117 {a="iU(%p?%s)", b="iو%1"},
118 -- words ending in -āT with silent wāw/yāʾ 118 -- words ending in -āT with silent wāw/yāʾ
119 {a="(_a)UA", b="%1وا"}, 119 {a="(_a)UA", b="%1وا"},
120 {a="(_a)U", b="%1و"}, 120 {a="(_a)U", b="%1و"},
diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua
index 6be30d1..4f8e0aa 100644
--- a/arabluatex_voc.lua
+++ b/arabluatex_voc.lua
@@ -194,10 +194,10 @@ hamza = {
194 {a="([^uiUI])\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"}, 194 {a="([^uiUI])\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
195 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"}, 195 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"},
196 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"}, 196 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
197 {a="(A)(')(uN?)$", b="aآء%3"}, 197 {a="(A)(')(uN?%p?)$", b="aآء%3"},
198 {a="(A)(')(uN?)(%W)", b="aآء%3%4"}, 198 {a="(A)(')(uN?)(%p?%s)", b="aآء%3%4"},
199 {a="(A)(')(iN?)$", b="aآء%3"}, 199 {a="(A)(')(iN?%p?)$", b="aآء%3"},
200 {a="(A)(')(iN?)(%W)", b="aآء%3%4"}, 200 {a="(A)(')(iN?)(%p?%s)", b="aآء%3%4"},
201 {a="(A)(')([iI])", b="aآئ%3"}, -- historic madda 201 {a="(A)(')([iI])", b="aآئ%3"}, -- historic madda
202 {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda 202 {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda
203 {a="(A)(')", b="aآء"}, -- historic madda 203 {a="(A)(')", b="aآء"}, -- historic madda
@@ -220,31 +220,33 @@ hamza = {
220 -- ^say'aN and .zim'aN are special orthographies 220 -- ^say'aN and .zim'aN are special orthographies
221 {a="(%^say)(%')(aN)", b="%1ئ%3"}, 221 {a="(%^say)(%')(aN)", b="%1ئ%3"},
222 {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, 222 {a="(.zi?m)(%')(aN)", b="%1ئ%3"},
223 {a="([^uai])(')([uai][^%.%^%_]N?)$", b="%1ء%3"}, 223 {a="(')(I%p?)$", b="إ%2"}, -- affix pr. 1st person sg.
224 {a="([^uai])(')([uai][^%.%^%_]N?)(%W)", b="%1ء%3%4"}, 224 {a="(')(I)(%p?%s)", b="إ%2%3"}, -- affix pr. 1st person sg.
225 {a="([^uai])(')([uai]N?%p?)$", b="%1ء%3"},
226 {a="([^uai])(')([uai]N?)(%p?%s)", b="%1ء%3%4"},
225-- u 227-- u
226 {a="(u)(')([uai][^%.%^%_]N?)$", b="%1ؤ%3"}, 228 {a="(u)(')([uai]N?%p?)$", b="%1ؤ%3"},
227 {a="(u)(')([uai][^%.%^%_]N?)(%W)", b="%1ؤ%3%4"}, 229 {a="(u)(')([uai]N?)(%p?%s)", b="%1ؤ%3%4"},
228 {a="(u)(')$", b="%1ؤ"}, 230 {a="(u)('%p?)$", b="%1ؤ"},
229 {a="(u)(')(%W)", b="%1ؤ%3"}, 231 {a="(u)(')(%p?%s)", b="%1ؤ%3"},
230-- a 232-- a
231 {a="(a)(')(A)$", b="%1آ"}, 233 {a="(a)(')(A%p?)$", b="%1آ"},
232 {a="(a)(')(A)(%W)", b="%1آ%4"}, 234 {a="(a)(')(A)(%p?%s)", b="%1آ%4"},
233 {a="(a)(')([u][^%.%^%_]N?)$", b="%1أ%3"}, 235 {a="(a)(')([u]N?%p?)$", b="%1أ%3"},
234 {a="(a)(')([u][^%.%^%_]N?)(%W)", b="%1أ%3%4"}, 236 {a="(a)(')([u]N?)(%p?%s)", b="%1أ%3%4"},
235 {a="(a)(')(a)$", b="%1أ%3"}, 237 {a="(a)(')(a%p?)$", b="%1أ%3"},
236 {a="(a)(')(a)(%W)", b="%1أ%3%4"}, 238 {a="(a)(')(a)(%p?%s)", b="%1أ%3%4"},
237 {a="(a)(')(aN)$", b="%1أً"}, 239 {a="(a)(')(aN%p?)$", b="%1أً"},
238 {a="(a)(')(aN)(%W)", b="%1أً%4"}, 240 {a="(a)(')(aN)(%p?%s)", b="%1أً%4"},
239 {a="(a)(')([i][^%.%^%_]N?)$", b="%1إ%3"}, 241 {a="(a)(')([i]N?%p?)$", b="%1إ%3"},
240 {a="(a)(')([i][^%.%^%_]N?)(%W)", b="%1إ%3%4"}, 242 {a="(a)(')([i]N?)(%p?%s)", b="%1إ%3%4"},
241 {a="(a)(')$", b="%1أ"}, 243 {a="(a)('%p?)$", b="%1أ"},
242 {a="(a)(')(%W)", b="%1أ%3"}, 244 {a="(a)(')(%p?%s)", b="%1أ%3"},
243-- i 245-- i
244 {a="(i)(')([uai][^%.%^%_]N?)$", b="%1ئ%3"}, 246 {a="(i)(')([uai]N?%p?)$", b="%1ئ%3"},
245 {a="(i)(')([uai][^%.%^%_]N?)(%W)", b="%1ئ%3%4"}, 247 {a="(i)(')([uai]N?)(%p?%s)", b="%1ئ%3%4"},
246 {a="(i)(')$", b="%1ئ"}, 248 {a="(i)('%p?)$", b="%1ئ"},
247 {a="(i)(')(%W)", b="%1ئ%3"}, 249 {a="(i)(')(%p?%s)", b="%1ئ%3"},
248-- 250--
249 -- middle 251 -- middle
250 {a="(U)(')", b="%1ء"}, 252 {a="(U)(')", b="%1ء"},
@@ -294,10 +296,10 @@ hamzaeasy = { -- differences marked below with 'easy'
294 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"}, 296 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"},
295 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"}, 297 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
296 --easy (begin) 298 --easy (begin)
297 {a="(A)(')(uN?)$", b="aاء%3"}, 299 {a="(A)(')(uN?%p?)$", b="aاء%3"},
298 {a="(A)(')(uN?)(%W)", b="aاء%3%4"}, 300 {a="(A)(')(uN?)(%p?%s)", b="aاء%3%4"},
299 {a="(A)(')(iN?)$", b="aاء%3"}, 301 {a="(A)(')(iN?%p?)$", b="aاء%3"},
300 {a="(A)(')(iN?)(%W)", b="aاء%3%4"}, 302 {a="(A)(')(iN?)(%p?%s)", b="aاء%3%4"},
301 {a="(A)(')([iI])", b="aائ%3"}, -- historic madda 303 {a="(A)(')([iI])", b="aائ%3"}, -- historic madda
302 {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda 304 {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda
303 {a="(A)(')", b="aاء"}, -- historic madda 305 {a="(A)(')", b="aاء"}, -- historic madda
@@ -321,31 +323,33 @@ hamzaeasy = { -- differences marked below with 'easy'
321 -- ^say'aN and .zim'aN are special orthographies 323 -- ^say'aN and .zim'aN are special orthographies
322 {a="(%^say)(%')(aN)", b="%1ئ%3"}, 324 {a="(%^say)(%')(aN)", b="%1ئ%3"},
323 {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, 325 {a="(.zi?m)(%')(aN)", b="%1ئ%3"},
324 {a="([^uai])(')([uai][^%.%^%_]N?)$", b="%1ء%3"}, 326 {a="(')(I%p?)$", b="إ%2"}, -- affix pr. 1st person sg.
325 {a="([^uai])(')([uai][^%.%^%_]N?)(%W)", b="%1ء%3%4"}, 327 {a="(')(I)(%p?%s)", b="إ%2%3"}, -- affix pr. 1st person sg.
328 {a="([^uai])(')([uai]N?%p?)$", b="%1ء%3"},
329 {a="([^uai])(')([uai]N?)(%p?%s)", b="%1ء%3%4"},
326-- u 330-- u
327 {a="(u)(')([uai][^%.%^%_]N?)$", b="%1ؤ%3"}, 331 {a="(u)(')([uai]N?%p?)$", b="%1ؤ%3"},
328 {a="(u)(')([uai][^%.%^%_]N?)(%W)", b="%1ؤ%3%4"}, 332 {a="(u)(')([uai]N?)(%p?%s)", b="%1ؤ%3%4"},
329 {a="(u)(')$", b="%1ؤ"}, 333 {a="(u)('%p?)$", b="%1ؤ"},
330 {a="(u)(')(%W)", b="%1ؤ%3"}, 334 {a="(u)(')(%p?%s)", b="%1ؤ%3"},
331-- a 335-- a
332 {a="(a)(')(A)$", b="%1آ"}, 336 {a="(a)(')(A%p?)$", b="%1آ"},
333 {a="(a)(')(A)(%W)", b="%1آ%4"}, 337 {a="(a)(')(A)(%p?%s)", b="%1آ%4"},
334 {a="(a)(')([u][^%.%^%_]N?)$", b="%1أ%3"}, 338 {a="(a)(')([u]N?%p?)$", b="%1أ%3"},
335 {a="(a)(')([u][^%.%^%_]N?)(%W)", b="%1أ%3%4"}, 339 {a="(a)(')([u]N?)(%p?%s)", b="%1أ%3%4"},
336 {a="(a)(')(a)$", b="%1أ%3"}, 340 {a="(a)(')(a%p?)$", b="%1أ%3"},
337 {a="(a)(')(a)(%W)", b="%1أ%3%4"}, 341 {a="(a)(')(a)(%p?%s)", b="%1أ%3%4"},
338 {a="(a)(')(aN)$", b="%1أً"}, 342 {a="(a)(')(aN%p?)$", b="%1أً"},
339 {a="(a)(')(aN)(%W)", b="%1أً%4"}, 343 {a="(a)(')(aN)(%p?%s)", b="%1أً%4"},
340 {a="(a)(')([i][^%.%^%_]N?)$", b="%1إ%3"}, 344 {a="(a)(')([i]N?%p?)$", b="%1إ%3"},
341 {a="(a)(')([i][^%.%^%_]N?)(%W)", b="%1إ%3%4"}, 345 {a="(a)(')([i]N?)(%p?%s)", b="%1إ%3%4"},
342 {a="(a)(')$", b="%1أ"}, 346 {a="(a)('%p?)$", b="%1أ"},
343 {a="(a)(')(%W)", b="%1أ%3"}, 347 {a="(a)(')(%p?%s)", b="%1أ%3"},
344-- i 348-- i
345 {a="(i)(')([uai][^%.%^%_]N?)$", b="%1ئ%3"}, 349 {a="(i)(')([uai]N?%p?)$", b="%1ئ%3"},
346 {a="(i)(')([uai][^%.%^%_]N?)(%W)", b="%1ئ%3%4"}, 350 {a="(i)(')([uai]N?)(%p?%s)", b="%1ئ%3%4"},
347 {a="(i)(')$", b="%1ئ"}, 351 {a="(i)('%p?)$", b="%1ئ"},
348 {a="(i)(')(%W)", b="%1ئ%3"}, 352 {a="(i)(')(%p?%s)", b="%1ئ%3"},
349-- 353--
350 -- middle 354 -- middle
351 {a="(U)(')", b="%1ء"}, 355 {a="(U)(')", b="%1ء"},
@@ -509,12 +513,12 @@ trigraphs = { -- trigraphs or more
509 -- art. with waṣla + lunar consonant (i.e. what remains) 513 -- art. with waṣla + lunar consonant (i.e. what remains)
510 {a="'l%-", b="ال"}, 514 {a="'l%-", b="ال"},
511 -- the silent wāw 515 -- the silent wāw
512 {a="uU$", b="uو"}, 516 {a="uU(%p?)$", b="uو%1"},
513 {a="uU(%W)", b="uو%1"}, 517 {a="uU(%p?%s)", b="uو%1"},
514 {a="aU$", b="aو"}, 518 {a="aU(%p?)$", b="aو%1"},
515 {a="aU(%W)", b="aو%1"}, 519 {a="aU(%p?%s)", b="aو%1"},
516 {a="iU$", b="iو"}, 520 {a="iU(%p?)$", b="iو%1"},
517 {a="iU(%W)", b="iو%1"}, 521 {a="iU(%p?%s)", b="iو%1"},
518 -- words ending in -āT with silent wāw/yāʾ 522 -- words ending in -āT with silent wāw/yāʾ
519 {a="(_a)UA", b="%1وا"}, 523 {a="(_a)UA", b="%1وا"},
520 {a="(_a)U", b="%1و"}, 524 {a="(_a)U", b="%1و"},
@@ -587,12 +591,12 @@ trigraphseasy = { -- differences marked below with 'easy'
587 -- art. with waṣla + lunar consonant (i.e. what remains) 591 -- art. with waṣla + lunar consonant (i.e. what remains)
588 {a="'l%-", b="ال"}, 592 {a="'l%-", b="ال"},
589 -- the silent wāw 593 -- the silent wāw
590 {a="uU$", b="uو"}, 594 {a="uU(%p?)$", b="uو%1"},
591 {a="uU(%W)", b="uو%1"}, 595 {a="uU(%p?%s)", b="uو%1"},
592 {a="aU$", b="aو"}, 596 {a="aU(%p?)$", b="aو%1"},
593 {a="aU(%W)", b="aو%1"}, 597 {a="aU(%p?%s)", b="aو%1"},
594 {a="iU$", b="iو"}, 598 {a="iU(%p?)$", b="iو%1"},
595 {a="iU(%W)", b="iو%1"}, 599 {a="iU(%p?%s)", b="iو%1"},
596 -- words ending in -āT with silent wāw/yāʾ 600 -- words ending in -āT with silent wāw/yāʾ
597 {a="(_a)UA", b="%1وا"}, 601 {a="(_a)UA", b="%1وا"},
598 {a="(_a)U", b="%1و"}, 602 {a="(_a)U", b="%1و"},