aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Alessi <alessi@robertalessi.net>2018-03-31 00:05:24 +0200
committerRobert Alessi <alessi@robertalessi.net>2018-03-31 00:05:24 +0200
commit82a7066d1d16922036c67f11b2d05921cb7aaf8c (patch)
treede9d23a953dcd7c7f8d3b5692cba1955d859339c
parentac68dc4f87a5eed470e88bfa3be28fb267d90be5 (diff)
downloadarabluatex-82a7066d1d16922036c67f11b2d05921cb7aaf8c.tar.gz
%p? was not enough as a word boundary. replaced with %p*
-rw-r--r--arabluatex_fullvoc.lua236
-rw-r--r--arabluatex_novoc.lua12
-rw-r--r--arabluatex_trans.lua90
-rw-r--r--arabluatex_voc.lua160
4 files changed, 249 insertions, 249 deletions
diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua
index 7b8d410..fd09169 100644
--- a/arabluatex_fullvoc.lua
+++ b/arabluatex_fullvoc.lua
@@ -39,14 +39,14 @@ hamzafv = {
39 {a="i\"'", b="إ"}, 39 {a="i\"'", b="إ"},
40 {a="y\"'", b="ئ"}, 40 {a="y\"'", b="ئ"},
41 {a="ؤ([^uaiUAI])", b="ؤْ%1"}, 41 {a="ؤ([^uaiUAI])", b="ؤْ%1"},
42 {a="ؤ(%p?)$", b="ؤْ%1"}, 42 {a="ؤ(%p*)$", b="ؤْ%1"},
43 {a="ؤ(%p?%s)", b="ؤْ%1"}, 43 {a="ؤ(%p*%s)", b="ؤْ%1"},
44 {a="أ([^uaiUAI])", b="أْ%1"}, 44 {a="أ([^uaiUAI])", b="أْ%1"},
45 {a="أ(%p?)$", b="أْ%1"}, 45 {a="أ(%p*)$", b="أْ%1"},
46 {a="أ(%p?%s)", b="أْ%1"}, 46 {a="أ(%p*%s)", b="أْ%1"},
47 {a="ئ([^uaiUAI])", b="ئْ%1"}, 47 {a="ئ([^uaiUAI])", b="ئْ%1"},
48 {a="ئ(%p?)$", b="ئْ%1"}, 48 {a="ئ(%p*)$", b="ئْ%1"},
49 {a="ئ(%p?%s)", b="ئْ%1"}, 49 {a="ئ(%p*%s)", b="ئْ%1"},
50 -- hamza takes tašdīd too 50 -- hamza takes tašdīd too
51 {a="''([Uu])", b="ؤؤ%1"}, 51 {a="''([Uu])", b="ؤؤ%1"},
52 {a="''([Aa])", b="أأ%1"}, 52 {a="''([Aa])", b="أأ%1"},
@@ -69,10 +69,10 @@ hamzafv = {
69 {a="([^uiyUI])\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"}, 69 {a="([^uiyUI])\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
70 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"}, 70 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"},
71 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"}, 71 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
72 {a="(A)(')(uN?%p?)$", b="aآء%3"}, 72 {a="(A)(')(uN?%p*)$", b="aآء%3"},
73 {a="(A)(')(uN?)(%p?%s)", b="aآء%3%4"}, 73 {a="(A)(')(uN?)(%p*%s)", b="aآء%3%4"},
74 {a="(A)(')(iN?%p?)$", b="aآء%3"}, 74 {a="(A)(')(iN?%p*)$", b="aآء%3"},
75 {a="(A)(')(iN?)(%p?%s)", b="aآء%3%4"}, 75 {a="(A)(')(iN?)(%p*%s)", b="aآء%3%4"},
76 {a="(A)(')([iI])", b="aآئ%3"}, -- historic madda 76 {a="(A)(')([iI])", b="aآئ%3"}, -- historic madda
77 {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda 77 {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda
78 {a="(A)(')", b="aآء"}, -- historic madda 78 {a="(A)(')", b="aآء"}, -- historic madda
@@ -102,31 +102,31 @@ hamzafv = {
102 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"}, 102 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"},
103 -- final hamzah is on the line after a letter of prolongation or a 103 -- final hamzah is on the line after a letter of prolongation or a
104 -- consonant with sukūn 104 -- consonant with sukūn
105 {a="([^Auai])(')(\"?[uai]N?)(%p?)$", b="%1ء%3%4"}, --new 105 {a="([^Auai])(')(\"?[uai]N?)(%p*)$", b="%1ء%3%4"}, --new
106 {a="([^Auai])(')(\"?[uai]N?)(%p?%s)", b="%1ء%3%4"}, 106 {a="([^Auai])(')(\"?[uai]N?)(%p*%s)", b="%1ء%3%4"},
107-- u 107-- u
108 {a="(u)(')([uai]N?%p?)$", b="%1ؤ%3"}, 108 {a="(u)(')([uai]N?%p*)$", b="%1ؤ%3"},
109 {a="(u)(')([uai]N?)(%p?%s)", b="%1ؤ%3%4"}, 109 {a="(u)(')([uai]N?)(%p*%s)", b="%1ؤ%3%4"},
110 {a="(u)(')(%p?)$", b="%1ؤْ%3"}, 110 {a="(u)(')(%p*)$", b="%1ؤْ%3"},
111 {a="(u)(')(%p?%s)", b="%1ؤْ%3"}, 111 {a="(u)(')(%p*%s)", b="%1ؤْ%3"},
112-- a 112-- a
113 {a="(a)(')(A%p?)$", b="%1آ"}, 113 {a="(a)(')(A%p*)$", b="%1آ"},
114 {a="(a)(')(A)(%p?%s)", b="%1آ%4"}, 114 {a="(a)(')(A)(%p*%s)", b="%1آ%4"},
115 {a="(a)(')([u]N?%p?)$", b="%1أ%3"}, 115 {a="(a)(')([u]N?%p*)$", b="%1أ%3"},
116 {a="(a)(')([u]N?)(%p?%s)", b="%1أ%3%4"}, 116 {a="(a)(')([u]N?)(%p*%s)", b="%1أ%3%4"},
117 {a="(a)(')(a%p?)$", b="%1أ%3"}, 117 {a="(a)(')(a%p*)$", b="%1أ%3"},
118 {a="(a)(')(a)(%p?%s)", b="%1أ%3%4"}, 118 {a="(a)(')(a)(%p*%s)", b="%1أ%3%4"},
119 {a="(a)(')(aN%p?)$", b="%1أً"}, 119 {a="(a)(')(aN%p*)$", b="%1أً"},
120 {a="(a)(')(aN)(%p?%s)", b="%1أً%4"}, 120 {a="(a)(')(aN)(%p*%s)", b="%1أً%4"},
121 {a="(a)(')([i]N?%p?)$", b="%1إ%3"}, 121 {a="(a)(')([i]N?%p*)$", b="%1إ%3"},
122 {a="(a)(')([i]N?)(%p?%s)", b="%1إ%3%4"}, 122 {a="(a)(')([i]N?)(%p*%s)", b="%1إ%3%4"},
123 {a="(a)(')(%p?)$", b="%1أْ%3"}, 123 {a="(a)(')(%p*)$", b="%1أْ%3"},
124 {a="(a)(')(%p?%s)", b="%1أْ%3"}, 124 {a="(a)(')(%p*%s)", b="%1أْ%3"},
125-- i 125-- i
126 {a="(i)(')([uai]N?%p?)$", b="%1ئ%3"}, 126 {a="(i)(')([uai]N?%p*)$", b="%1ئ%3"},
127 {a="(i)(')([uai]N?)(%p?%s)", b="%1ئ%3%4"}, 127 {a="(i)(')([uai]N?)(%p*%s)", b="%1ئ%3%4"},
128 {a="(i)(')(%p?)$", b="%1ئْ%3"}, 128 {a="(i)(')(%p*)$", b="%1ئْ%3"},
129 {a="(i)(')(%p?%s)", b="%1ئْ%3"}, 129 {a="(i)(')(%p*%s)", b="%1ئْ%3"},
130-- 130--
131 -- middle 131 -- middle
132 {a="([UIwy])(')", b="%1ء"}, --new 132 {a="([UIwy])(')", b="%1ء"}, --new
@@ -165,14 +165,14 @@ hamzafveasy = { -- differences marked below with 'easy'
165 {a="i\"'", b="إ"}, 165 {a="i\"'", b="إ"},
166 {a="y\"'", b="ئ"}, 166 {a="y\"'", b="ئ"},
167 {a="ؤ([^uaiUAI])", b="ؤْ%1"}, 167 {a="ؤ([^uaiUAI])", b="ؤْ%1"},
168 {a="ؤ(%p?)$", b="ؤْ%1"}, 168 {a="ؤ(%p*)$", b="ؤْ%1"},
169 {a="ؤ(%p?%s)", b="ؤْ%1"}, 169 {a="ؤ(%p*%s)", b="ؤْ%1"},
170 {a="أ([^uaiUAI])", b="أْ%1"}, 170 {a="أ([^uaiUAI])", b="أْ%1"},
171 {a="أ(%p?)$", b="أْ%1"}, 171 {a="أ(%p*)$", b="أْ%1"},
172 {a="أ(%p?%s)", b="أْ%1"}, 172 {a="أ(%p*%s)", b="أْ%1"},
173 {a="ئ([^uaiUAI])", b="ئْ%1"}, 173 {a="ئ([^uaiUAI])", b="ئْ%1"},
174 {a="ئ(%p?)$", b="ئْ%1"}, 174 {a="ئ(%p*)$", b="ئْ%1"},
175 {a="ئ(%p?%s)", b="ئْ%1"}, 175 {a="ئ(%p*%s)", b="ئْ%1"},
176 -- hamza takes tašdīd too 176 -- hamza takes tašdīd too
177 {a="''([Uu])", b="ؤؤ%1"}, 177 {a="''([Uu])", b="ؤؤ%1"},
178 {a="''([Aa])", b="أأ%1"}, 178 {a="''([Aa])", b="أأ%1"},
@@ -196,10 +196,10 @@ hamzafveasy = { -- differences marked below with 'easy'
196 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"}, 196 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"},
197 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"}, 197 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
198 --easy (begin) 198 --easy (begin)
199 {a="(A)(')(uN?%p?)$", b="aاء%3"}, 199 {a="(A)(')(uN?%p*)$", b="aاء%3"},
200 {a="(A)(')(uN?)(%p?%s)", b="aاء%3%4"}, 200 {a="(A)(')(uN?)(%p*%s)", b="aاء%3%4"},
201 {a="(A)(')(iN?%p?)$", b="aاء%3"}, 201 {a="(A)(')(iN?%p*)$", b="aاء%3"},
202 {a="(A)(')(iN?)(%p?%s)", b="aاء%3%4"}, 202 {a="(A)(')(iN?)(%p*%s)", b="aاء%3%4"},
203 {a="(A)(')([iI])", b="aائ%3"}, -- historic madda 203 {a="(A)(')([iI])", b="aائ%3"}, -- historic madda
204 {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda 204 {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda
205 {a="(A)(')", b="aاء"}, -- historic madda 205 {a="(A)(')", b="aاء"}, -- historic madda
@@ -233,38 +233,38 @@ hamzafveasy = { -- differences marked below with 'easy'
233 -- hamzah alone on the line, so take out the following two lines 233 -- hamzah alone on the line, so take out the following two lines
234 -- (final hamzah is on the line after a letter of prolongation or a 234 -- (final hamzah is on the line after a letter of prolongation or a
235 -- consonant with sukūn) 235 -- consonant with sukūn)
236 -- {a="([^Auai])(')(\"?[uai]N?)(%p?)$", b="%1ء%3%4"}, --new 236 -- {a="([^Auai])(')(\"?[uai]N?)(%p*)$", b="%1ء%3%4"}, --new
237 -- {a="([^Auai])(')(\"?[uai]N?)(%p?%s)", b="%1ء%3%4"}, 237 -- {a="([^Auai])(')(\"?[uai]N?)(%p*%s)", b="%1ء%3%4"},
238 {a="([^Auai])(')(\"?aN)(%p?)$", b="%1ئ%3%4"}, --new 238 {a="([^Auai])(')(\"?aN)(%p*)$", b="%1ئ%3%4"}, --new
239 {a="([^Auai])(')(\"?aN)(%p?%s)", b="%1ئ%3%4"}, --new 239 {a="([^Auai])(')(\"?aN)(%p*%s)", b="%1ئ%3%4"}, --new
240 {a="([^uai])(')(\"?a)(%p?)$", b="%1ء%3%4"}, --new 240 {a="([^uai])(')(\"?a)(%p*)$", b="%1ء%3%4"}, --new
241 {a="([^uai])(')(\"?a)(%p?%s)", b="%1ء%3%4"}, --new 241 {a="([^uai])(')(\"?a)(%p*%s)", b="%1ء%3%4"}, --new
242 {a="([^uai])(')(\"?[ui]N?)(%p?)$", b="%1ء%3%4"}, --new 242 {a="([^uai])(')(\"?[ui]N?)(%p*)$", b="%1ء%3%4"}, --new
243 {a="([^uai])(')(\"?[ui]N?)(%p?%s)", b="%1ء%3%4"}, --new 243 {a="([^uai])(')(\"?[ui]N?)(%p*%s)", b="%1ء%3%4"}, --new
244 --easy (end) 244 --easy (end)
245-- u 245-- u
246 {a="(u)(')([uai]N?%p?)$", b="%1ؤ%3"}, 246 {a="(u)(')([uai]N?%p*)$", b="%1ؤ%3"},
247 {a="(u)(')([uai]N?)(%p?%s)", b="%1ؤ%3%4"}, 247 {a="(u)(')([uai]N?)(%p*%s)", b="%1ؤ%3%4"},
248 {a="(u)(')(%p?)$", b="%1ؤْ%3"}, 248 {a="(u)(')(%p*)$", b="%1ؤْ%3"},
249 {a="(u)(')(%p?%s)", b="%1ؤْ%3"}, 249 {a="(u)(')(%p*%s)", b="%1ؤْ%3"},
250-- a 250-- a
251 {a="(a)(')(A%p?)$", b="%1آ"}, 251 {a="(a)(')(A%p*)$", b="%1آ"},
252 {a="(a)(')(A)(%p?%s)", b="%1آ%4"}, 252 {a="(a)(')(A)(%p*%s)", b="%1آ%4"},
253 {a="(a)(')([u]N?%p?)$", b="%1أ%3"}, 253 {a="(a)(')([u]N?%p*)$", b="%1أ%3"},
254 {a="(a)(')([u]N?)(%p?%s)", b="%1أ%3%4"}, 254 {a="(a)(')([u]N?)(%p*%s)", b="%1أ%3%4"},
255 {a="(a)(')(a%p?)$", b="%1أ%3"}, 255 {a="(a)(')(a%p*)$", b="%1أ%3"},
256 {a="(a)(')(a)(%p?%s)", b="%1أ%3%4"}, 256 {a="(a)(')(a)(%p*%s)", b="%1أ%3%4"},
257 {a="(a)(')(aN%p?)$", b="%1أً"}, 257 {a="(a)(')(aN%p*)$", b="%1أً"},
258 {a="(a)(')(aN)(%p?%s)", b="%1أً%4"}, 258 {a="(a)(')(aN)(%p*%s)", b="%1أً%4"},
259 {a="(a)(')([i]N?%p?)$", b="%1إ%3"}, 259 {a="(a)(')([i]N?%p*)$", b="%1إ%3"},
260 {a="(a)(')([i]N?)(%p?%s)", b="%1إ%3%4"}, 260 {a="(a)(')([i]N?)(%p*%s)", b="%1إ%3%4"},
261 {a="(a)(')(%p?)$", b="%1أْ%3"}, 261 {a="(a)(')(%p*)$", b="%1أْ%3"},
262 {a="(a)(')(%p?%s)", b="%1أْ%3"}, 262 {a="(a)(')(%p*%s)", b="%1أْ%3"},
263-- i 263-- i
264 {a="(i)(')([uai]N?%p?)$", b="%1ئ%3"}, 264 {a="(i)(')([uai]N?%p*)$", b="%1ئ%3"},
265 {a="(i)(')([uai]N?)(%p?%s)", b="%1ئ%3%4"}, 265 {a="(i)(')([uai]N?)(%p*%s)", b="%1ئ%3%4"},
266 {a="(i)(')(%p?)$", b="%1ئْ%3"}, 266 {a="(i)(')(%p*)$", b="%1ئْ%3"},
267 {a="(i)(')(%p?%s)", b="%1ئْ%3"}, 267 {a="(i)(')(%p*%s)", b="%1ئْ%3"},
268-- 268--
269 -- middle 269 -- middle
270 {a="([Uw])(')", b="%1ء"}, --new 270 {a="([Uw])(')", b="%1ء"}, --new
@@ -446,12 +446,12 @@ trigraphsfv = { -- trigraphs or more
446 -- art. with waṣla + lunar consonant (i.e. what remains) 446 -- art. with waṣla + lunar consonant (i.e. what remains)
447 {a="'l%-", b="ٱلْ"}, 447 {a="'l%-", b="ٱلْ"},
448 -- the silent wāw 448 -- the silent wāw
449 {a="uU(%p?)$", b="uو%1"}, 449 {a="uU(%p*)$", b="uو%1"},
450 {a="uU(%p?%s)", b="uو%1"}, 450 {a="uU(%p*%s)", b="uو%1"},
451 {a="aU(%p?)$", b="aو%1"}, 451 {a="aU(%p*)$", b="aو%1"},
452 {a="aU(%p?%s)", b="aو%1"}, 452 {a="aU(%p*%s)", b="aو%1"},
453 {a="iU(%p?)$", b="iو%1"}, 453 {a="iU(%p*)$", b="iو%1"},
454 {a="iU(%p?%s)", b="iو%1"}, 454 {a="iU(%p*%s)", b="iو%1"},
455 -- words ending in -āT with silent wāw/yāʾ 455 -- words ending in -āT with silent wāw/yāʾ
456 {a="(_a)UA", b="%1وا"}, 456 {a="(_a)UA", b="%1وا"},
457 {a="(_a)U", b="%1و"}, 457 {a="(_a)U", b="%1و"},
@@ -527,12 +527,12 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs)
527 -- art. with waṣla + lunar consonant (i.e. what remains) 527 -- art. with waṣla + lunar consonant (i.e. what remains)
528 {a="'l%-", b="ٱلْ"}, 528 {a="'l%-", b="ٱلْ"},
529 -- the silent wāw 529 -- the silent wāw
530 {a="uU(%p?)$", b="uو%1"}, 530 {a="uU(%p*)$", b="uو%1"},
531 {a="uU(%p?%s)", b="uو%1"}, 531 {a="uU(%p*%s)", b="uو%1"},
532 {a="aU(%p?)$", b="aو%1"}, 532 {a="aU(%p*)$", b="aو%1"},
533 {a="aU(%p?%s)", b="aو%1"}, 533 {a="aU(%p*%s)", b="aو%1"},
534 {a="iU(%p?)$", b="iو%1"}, 534 {a="iU(%p*)$", b="iو%1"},
535 {a="iU(%p?%s)", b="iو%1"}, 535 {a="iU(%p*%s)", b="iو%1"},
536 -- words ending in -āT with silent wāw/yāʾ 536 -- words ending in -āT with silent wāw/yāʾ
537 {a="(_a)UA", b="%1وا"}, 537 {a="(_a)UA", b="%1وا"},
538 {a="(_a)U", b="%1و"}, 538 {a="(_a)U", b="%1و"},
@@ -541,16 +541,16 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs)
541 541
542digraphsfvidgham = { 542digraphsfvidgham = {
543 -- ʾiʿrāb: straight double quote must be discarded 543 -- ʾiʿrāb: straight double quote must be discarded
544 {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, 544 {a="(%-)(\"?[UI]na)(%p*%s)", b="%2%3"},
545 {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, 545 {a="(%-)(\"?[UI]na)(%p*)$", b="%2%3"},
546 {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, 546 {a="(%-)(\"?At[ui])(%p*%s)", b="%2%3"},
547 {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, 547 {a="(%-)(\"?At[ui])(%p*)$", b="%2%3"},
548 {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, 548 {a="(%-)(\"?Ani)(%p*%s)", b="%2%3"},
549 {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, 549 {a="(%-)(\"?Ani)(%p*)$", b="%2%3"},
550 {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, 550 {a="(%-)(\"?ayni)(%p*%s)", b="%2%3"},
551 {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, 551 {a="(%-)(\"?ayni)(%p*)$", b="%2%3"},
552 {a="(%-)(\"?[uai])(%p?%s)", b="%2%3"}, 552 {a="(%-)(\"?[uai])(%p*%s)", b="%2%3"},
553 {a="(%-)(\"?[uai])(%p?)$", b="%2%3"}, 553 {a="(%-)(\"?[uai])(%p*)$", b="%2%3"},
554 -- ʾiʿrāb (end) 554 -- ʾiʿrāb (end)
555 -- initial straight double quote gives a connective ʾalif 555 -- initial straight double quote gives a connective ʾalif
556 {a="^\"[uai]", b="ٱ"}, 556 {a="^\"[uai]", b="ٱ"},
@@ -620,8 +620,8 @@ digraphsfvidgham = {
620 -- first, take out hyphen if any (next two lines): 620 -- first, take out hyphen if any (next two lines):
621 {a="([ai]Y)%-([uaiUAI])", b="%1%2"}, 621 {a="([ai]Y)%-([uaiUAI])", b="%1%2"},
622 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"}, 622 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"},
623 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p?)$", b="%1ْ%2"}, 623 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p*)$", b="%1ْ%2"},
624 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p?%s)", b="%1ْ%2"}, 624 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p*%s)", b="%1ْ%2"},
625 {a="([ai]Y)([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"}, 625 {a="([ai]Y)([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"},
626 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"}, 626 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"},
627 -- take out sukūn in cases of assimilation 627 -- take out sukūn in cases of assimilation
@@ -668,16 +668,16 @@ digraphsfvidgham = {
668 668
669digraphsfv = { 669digraphsfv = {
670 -- iʿrāb: straight double quote must be discarded 670 -- iʿrāb: straight double quote must be discarded
671 {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, 671 {a="(%-)(\"?[UI]na)(%p*%s)", b="%2%3"},
672 {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, 672 {a="(%-)(\"?[UI]na)(%p*)$", b="%2%3"},
673 {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, 673 {a="(%-)(\"?At[ui])(%p*%s)", b="%2%3"},
674 {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, 674 {a="(%-)(\"?At[ui])(%p*)$", b="%2%3"},
675 {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, 675 {a="(%-)(\"?Ani)(%p*%s)", b="%2%3"},
676 {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, 676 {a="(%-)(\"?Ani)(%p*)$", b="%2%3"},
677 {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, 677 {a="(%-)(\"?ayni)(%p*%s)", b="%2%3"},
678 {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, 678 {a="(%-)(\"?ayni)(%p*)$", b="%2%3"},
679 {a="(%-)(\"?[uai])(%p?%s)", b="%2%3"}, 679 {a="(%-)(\"?[uai])(%p*%s)", b="%2%3"},
680 {a="(%-)(\"?[uai])(%p?)$", b="%2%3"}, 680 {a="(%-)(\"?[uai])(%p*)$", b="%2%3"},
681 -- ʾiʿrāb (end) 681 -- ʾiʿrāb (end)
682 -- initial straight double quote gives a connective ʾalif 682 -- initial straight double quote gives a connective ʾalif
683 {a="^\"[uai]", b="ٱ"}, 683 {a="^\"[uai]", b="ٱ"},
@@ -747,8 +747,8 @@ digraphsfv = {
747 -- first, take out hyphen if any (next two lines): 747 -- first, take out hyphen if any (next two lines):
748 {a="([ai]Y)%-([uaiUAI])", b="%1%2"}, 748 {a="([ai]Y)%-([uaiUAI])", b="%1%2"},
749 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"}, 749 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"},
750 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p?)$", b="%1ْ%2"}, 750 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p*)$", b="%1ْ%2"},
751 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p?%s)", b="%1ْ%2"}, 751 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p*%s)", b="%1ْ%2"},
752 {a="([ai]Y)([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"}, 752 {a="([ai]Y)([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"},
753 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"}, 753 {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"},
754 -- take out sukūn in cases of assimilation 754 -- take out sukūn in cases of assimilation
@@ -795,16 +795,16 @@ digraphsfv = {
795 795
796digraphsfveasy = { -- see the differences under 'easy' marker below 796digraphsfveasy = { -- see the differences under 'easy' marker below
797 -- ʾiʿrāb: straight double quote must be discarded 797 -- ʾiʿrāb: straight double quote must be discarded
798 {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, 798 {a="(%-)(\"?[UI]na)(%p*%s)", b="%2%3"},
799 {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, 799 {a="(%-)(\"?[UI]na)(%p*)$", b="%2%3"},
800 {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, 800 {a="(%-)(\"?At[ui])(%p*%s)", b="%2%3"},
801 {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, 801 {a="(%-)(\"?At[ui])(%p*)$", b="%2%3"},
802 {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, 802 {a="(%-)(\"?Ani)(%p*%s)", b="%2%3"},
803 {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, 803 {a="(%-)(\"?Ani)(%p*)$", b="%2%3"},
804 {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, 804 {a="(%-)(\"?ayni)(%p*%s)", b="%2%3"},
805 {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, 805 {a="(%-)(\"?ayni)(%p*)$", b="%2%3"},
806 {a="(%-)(\"?[uai])(%p?%s)", b="%2%3"}, 806 {a="(%-)(\"?[uai])(%p*%s)", b="%2%3"},
807 {a="(%-)(\"?[uai])(%p?)$", b="%2%3"}, 807 {a="(%-)(\"?[uai])(%p*)$", b="%2%3"},
808 -- ʾiʿrāb (end) 808 -- ʾiʿrāb (end)
809 -- initial straight double quote gives a connective ʾalif 809 -- initial straight double quote gives a connective ʾalif
810 {a="^\"[uai]", b="ٱ"}, 810 {a="^\"[uai]", b="ٱ"},
@@ -877,8 +877,8 @@ digraphsfveasy = { -- see the differences under 'easy' marker below
877 -- first, take out hyphen if any (next two lines): 877 -- first, take out hyphen if any (next two lines):
878-- {a="([ai]Y)%-([uaiUAI])", b="%1%2"}, 878-- {a="([ai]Y)%-([uaiUAI])", b="%1%2"},
879-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"}, 879-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"},
880-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p?)$", b="%1ْ%2"}, 880-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p*)$", b="%1ْ%2"},
881-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p?%s)", b="%1ْ%2"}, 881-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])(%p*%s)", b="%1ْ%2"},
882-- {a="([ai]Y)([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"}, 882-- {a="([ai]Y)([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"},
883-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"}, 883-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"},
884 -- take out sukūn in cases of assimilation 884 -- take out sukūn in cases of assimilation
diff --git a/arabluatex_novoc.lua b/arabluatex_novoc.lua
index 0bbd6ad..09f4903 100644
--- a/arabluatex_novoc.lua
+++ b/arabluatex_novoc.lua
@@ -121,12 +121,12 @@ trigraphsnv = { -- trigraphs or more
121 -- art. with waṣla + lunar consonant (i.e. what remains) 121 -- art. with waṣla + lunar consonant (i.e. what remains)
122 {a="'l%-", b="ال"}, 122 {a="'l%-", b="ال"},
123 -- the silent wāw 123 -- the silent wāw
124 {a="uU(%p?)$", b="uو%1"}, 124 {a="uU(%p*)$", b="uو%1"},
125 {a="uU(%p?%s)", b="uو%1"}, 125 {a="uU(%p*%s)", b="uو%1"},
126 {a="aU(%p?)$", b="aو%1"}, 126 {a="aU(%p*)$", b="aو%1"},
127 {a="aU(%p?%s)", b="aو%1"}, 127 {a="aU(%p*%s)", b="aو%1"},
128 {a="iU(%p?)$", b="iو%1"}, 128 {a="iU(%p*)$", b="iو%1"},
129 {a="iU(%p?%s)", b="iو%1"}, 129 {a="iU(%p*%s)", b="iو%1"},
130 -- words ending in -āT with silent wāw/yāʾ 130 -- words ending in -āT with silent wāw/yāʾ
131 {a="(_a)UA", b="%1وا"}, 131 {a="(_a)UA", b="%1وا"},
132 {a="(_a)U", b="%1و"}, 132 {a="(_a)U", b="%1و"},
diff --git a/arabluatex_trans.lua b/arabluatex_trans.lua
index e758d77..61c989a 100644
--- a/arabluatex_trans.lua
+++ b/arabluatex_trans.lua
@@ -377,16 +377,16 @@ digraphstrdmg = {
377 {a="([%_]?[Uu])(%s)([%(%[%|%<]?)(\"?[uai])", b="u%2%3'"}, --p 377 {a="([%_]?[Uu])(%s)([%(%[%|%<]?)(\"?[uai])", b="u%2%3'"}, --p
378 {a="([%_]?[Ii])(%s)([%(%[%|%<]?)(\"?[uai])", b="i%2%3'"}, --p 378 {a="([%_]?[Ii])(%s)([%(%[%|%<]?)(\"?[uai])", b="i%2%3'"}, --p
379 -- ʾiʿrāb hyphen (begin) 379 -- ʾiʿrāb hyphen (begin)
380 {a="(%-)(\"?[UI]na)(%p?%s)", b="\\arbup{%2}%3"}, 380 {a="(%-)(\"?[UI]na)(%p*%s)", b="\\arbup{%2}%3"},
381 {a="(%-)(\"?[UI]na)(%p?)$", b="\\arbup{%2}%3"}, 381 {a="(%-)(\"?[UI]na)(%p*)$", b="\\arbup{%2}%3"},
382 {a="(%-)(\"?At[ui])(%p?%s)", b="\\arbup{%2}%3"}, 382 {a="(%-)(\"?At[ui])(%p*%s)", b="\\arbup{%2}%3"},
383 {a="(%-)(\"?At[ui])(%p?)$", b="\\arbup{%2}%3"}, 383 {a="(%-)(\"?At[ui])(%p*)$", b="\\arbup{%2}%3"},
384 {a="(%-)(\"?Ani)(%p?%s)", b="\\arbup{%2}%3"}, 384 {a="(%-)(\"?Ani)(%p*%s)", b="\\arbup{%2}%3"},
385 {a="(%-)(\"?Ani)(%p?)$", b="\\arbup{%2}%3"}, 385 {a="(%-)(\"?Ani)(%p*)$", b="\\arbup{%2}%3"},
386 {a="(%-)(\"?ayni)(%p?%s)", b="\\arbup{%2}%3"}, 386 {a="(%-)(\"?ayni)(%p*%s)", b="\\arbup{%2}%3"},
387 {a="(%-)(\"?ayni)(%p?)$", b="\\arbup{%2}%3"}, 387 {a="(%-)(\"?ayni)(%p*)$", b="\\arbup{%2}%3"},
388 {a="(%-)(\"?[uai])(%p?%s)", b="\\arbup{%2}%3"}, 388 {a="(%-)(\"?[uai])(%p*%s)", b="\\arbup{%2}%3"},
389 {a="(%-)(\"?[uai])(%p?)$", b="\\arbup{%2}%3"}, 389 {a="(%-)(\"?[uai])(%p*)$", b="\\arbup{%2}%3"},
390 -- ʾiʿrāb hyphen (end) shorten long vowels preceding ʾalif 390 -- ʾiʿrāb hyphen (end) shorten long vowels preceding ʾalif
391 -- conjunctionis—without forgetting 'lla_dI 391 -- conjunctionis—without forgetting 'lla_dI
392 {a="(U)(A)", b="U"}, 392 {a="(U)(A)", b="U"},
@@ -406,18 +406,18 @@ digraphstrdmg = {
406 {a="([%_]?[Uu])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy][%-l])", b="u%2%3"}, 406 {a="([%_]?[Uu])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy][%-l])", b="u%2%3"},
407 {a="([%_]?[Ii])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy][%-l])", b="i%2%3"}, 407 {a="([%_]?[Ii])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy][%-l])", b="i%2%3"},
408 {a="%-%-", b=""}, 408 {a="%-%-", b=""},
409 {a="iyyaT(%p?)$", b="īyaT%1"}, 409 {a="iyyaT(%p*)$", b="īyaT%1"},
410 {a="iyyaT(%p?%s)", b="īyaT%1"}, 410 {a="iyyaT(%p*%s)", b="īyaT%1"},
411 {a="iyy(%p?)$", b="ī%1"}, 411 {a="iyy(%p*)$", b="ī%1"},
412 {a="iyy(%p?%s)", b="ī%1"}, 412 {a="iyy(%p*%s)", b="ī%1"},
413 -- {a="T([^uai])", b="%1"}, 413 -- {a="T([^uai])", b="%1"},
414 {a="T(\\arbup)", b="t%1"}, 414 {a="T(\\arbup)", b="t%1"},
415 {a="([a%'][%_%^%.]?[tdrzsln]%-)(%S-)T([%(%[%|%<%s])(a[%_%^%.]?[tdrzsln]%-)", b="%1%2h%3%4"}, --p 415 {a="([a%'][%_%^%.]?[tdrzsln]%-)(%S-)T([%(%[%|%<%s])(a[%_%^%.]?[tdrzsln]%-)", b="%1%2h%3%4"}, --p
416 {a="T([%(%[%|%<%s])(a[%_%^%.]?[tdrzsln]%-)", b="t%1%2"}, --p 416 {a="T([%(%[%|%<%s])(a[%_%^%.]?[tdrzsln]%-)", b="t%1%2"}, --p
417 {a="T([%|\"])", b="t%1"}, 417 {a="T([%|\"])", b="t%1"},
418 {a="T(%p?%s)", b="h%1"}, 418 {a="T(%p*%s)", b="h%1"},
419 {a="T(%p?)$", b="h%1"}, 419 {a="T(%p*)$", b="h%1"},
420 {a="T(%p?)(%W)", b="h%1%2"}, 420 {a="T(%p*)(%W)", b="h%1%2"},
421 {a="_t", b="ṯ"}, 421 {a="_t", b="ṯ"},
422 {a="%^g", b="ǧ"}, 422 {a="%^g", b="ǧ"},
423 {a="%.h", b="ḥ"}, 423 {a="%.h", b="ḥ"},
@@ -651,32 +651,32 @@ trigraphstrloc = { -- trigraphs or more
651 651
652digraphstrloc = { 652digraphstrloc = {
653 -- discard the ʾiʿrāb hyphen (begin) 653 -- discard the ʾiʿrāb hyphen (begin)
654 {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, 654 {a="(%-)(\"?[UI]na)(%p*%s)", b="%2%3"},
655 {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, 655 {a="(%-)(\"?[UI]na)(%p*)$", b="%2%3"},
656 {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, 656 {a="(%-)(\"?At[ui])(%p*%s)", b="%2%3"},
657 {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, 657 {a="(%-)(\"?At[ui])(%p*)$", b="%2%3"},
658 {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, 658 {a="(%-)(\"?Ani)(%p*%s)", b="%2%3"},
659 {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, 659 {a="(%-)(\"?Ani)(%p*)$", b="%2%3"},
660 {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, 660 {a="(%-)(\"?ayni)(%p*%s)", b="%2%3"},
661 {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, 661 {a="(%-)(\"?ayni)(%p*)$", b="%2%3"},
662 {a="(%-)([uai])(%p?%s)", b="%2%3"}, 662 {a="(%-)([uai])(%p*%s)", b="%2%3"},
663 {a="(%-)([uai])(%p?)$", b="%2%3"}, 663 {a="(%-)([uai])(%p*)$", b="%2%3"},
664 -- discard the ʾiʿrāb hyphen (end) 664 -- discard the ʾiʿrāb hyphen (end)
665 {a="(%-)(\"?[uai])", b="%1%2"}, -- hyphen + initial alif without hamza 665 {a="(%-)(\"?[uai])", b="%1%2"}, -- hyphen + initial alif without hamza
666 {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza 666 {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza
667 {a="(%s)([uai])", b="%1%2"}, -- initial alif without hamza 667 {a="(%s)([uai])", b="%1%2"}, -- initial alif without hamza
668 {a="%-%-", b=""}, 668 {a="%-%-", b=""},
669 {a="uww", b="ūw"}, 669 {a="uww", b="ūw"},
670 {a="iyy(%p?)$", b="ī%1"}, 670 {a="iyy(%p*)$", b="ī%1"},
671 {a="iyy(%p?%s)", b="ī%1"}, 671 {a="iyy(%p*%s)", b="ī%1"},
672 {a="iyy", b="īy"}, 672 {a="iyy", b="īy"},
673 {a="([tkdsg])(h)", b="%1'%2"}, 673 {a="([tkdsg])(h)", b="%1'%2"},
674 -- {a="T([^uai])", b="h%1"}, 674 -- {a="T([^uai])", b="h%1"},
675 {a="([a%']l%-)(%S-)T([%(%[%|%<%s])(al%-)", b="%1%2h%3%4"}, --p 675 {a="([a%']l%-)(%S-)T([%(%[%|%<%s])(al%-)", b="%1%2h%3%4"}, --p
676 {a="T([%(%[%|%<%s])(al%-)", b="t%1%2"}, --p 676 {a="T([%(%[%|%<%s])(al%-)", b="t%1%2"}, --p
677 {a="T([%|\"])", b="t%1"}, 677 {a="T([%|\"])", b="t%1"},
678 {a="T(%p?)$", b="h%1"}, 678 {a="T(%p*)$", b="h%1"},
679 {a="T(%p?%s)", b="h%1"}, 679 {a="T(%p*%s)", b="h%1"},
680 {a="_t", b="th"}, 680 {a="_t", b="th"},
681 {a="%^g", b="j"}, 681 {a="%^g", b="j"},
682 {a="%.h", b="ḥ"}, 682 {a="%.h", b="ḥ"},
@@ -905,29 +905,29 @@ digraphstrarabica = {
905 {a="(o[%S]-)([UAIuai])(o)(\"?[uai])", b=""}, 905 {a="(o[%S]-)([UAIuai])(o)(\"?[uai])", b=""},
906 {a="@", b=""}, -- remove the tag before the former hamza 906 {a="@", b=""}, -- remove the tag before the former hamza
907 -- discard the ʾiʿrāb hyphen (begin) 907 -- discard the ʾiʿrāb hyphen (begin)
908 {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, 908 {a="(%-)(\"?[UI]na)(%p*%s)", b="%2%3"},
909 {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, 909 {a="(%-)(\"?[UI]na)(%p*)$", b="%2%3"},
910 {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, 910 {a="(%-)(\"?At[ui])(%p*%s)", b="%2%3"},
911 {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, 911 {a="(%-)(\"?At[ui])(%p*)$", b="%2%3"},
912 {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, 912 {a="(%-)(\"?Ani)(%p*%s)", b="%2%3"},
913 {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, 913 {a="(%-)(\"?Ani)(%p*)$", b="%2%3"},
914 {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, 914 {a="(%-)(\"?ayni)(%p*%s)", b="%2%3"},
915 {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, 915 {a="(%-)(\"?ayni)(%p*)$", b="%2%3"},
916 {a="(%-)([uai])(%p?%s)", b="%2%3"}, 916 {a="(%-)([uai])(%p*%s)", b="%2%3"},
917 {a="(%-)([uai])(%p?)$", b="%2%3"}, 917 {a="(%-)([uai])(%p*)$", b="%2%3"},
918 -- discard the ʾiʿrāb hyphen (end) 918 -- discard the ʾiʿrāb hyphen (end)
919 {a="(%-)(\"?[uai])", b="%1%2"}, -- hyphen + initial alif without hamza 919 {a="(%-)(\"?[uai])", b="%1%2"}, -- hyphen + initial alif without hamza
920 {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza 920 {a="^(\"?[uai])", b="%1"}, -- initial alif without hamza
921 {a="(%s)([uai])", b="%1%2"}, -- initial alif without hamza 921 {a="(%s)([uai])", b="%1%2"}, -- initial alif without hamza
922 {a="%-%-", b=""}, 922 {a="%-%-", b=""},
923 {a="iyy(%p?)$", b="ī%1"}, 923 {a="iyy(%p*)$", b="ī%1"},
924 {a="iyy(%p?%s)", b="ī%1"}, 924 {a="iyy(%p*%s)", b="ī%1"},
925 -- {a="T([^uai])", b="h%1"}, 925 -- {a="T([^uai])", b="h%1"},
926 {a="([a%']l%-)(%S-)aT([%(%[%|%<%s])(al%-)", b="%1%2a%3%4"}, --p 926 {a="([a%']l%-)(%S-)aT([%(%[%|%<%s])(al%-)", b="%1%2a%3%4"}, --p
927 {a="aT([%(%[%|%<%s])(al%-)", b="at%1%2"}, --p 927 {a="aT([%(%[%|%<%s])(al%-)", b="at%1%2"}, --p
928 {a="T([%|\"])", b="t%1"}, 928 {a="T([%|\"])", b="t%1"},
929 {a="aT(%p?)$", b="a%1"}, 929 {a="aT(%p*)$", b="a%1"},
930 {a="aT(%p?%s)", b="a%1"}, 930 {a="aT(%p*%s)", b="a%1"},
931 {a="_t", b="ṯ"}, 931 {a="_t", b="ṯ"},
932 {a="%^g", b="ǧ"}, 932 {a="%^g", b="ǧ"},
933 {a="%.h", b="ḥ"}, 933 {a="%.h", b="ḥ"},
diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua
index ac26c13..606a43b 100644
--- a/arabluatex_voc.lua
+++ b/arabluatex_voc.lua
@@ -212,10 +212,10 @@ hamza = {
212 {a="([^uiyUI])\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"}, 212 {a="([^uiyUI])\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
213 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"}, 213 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"},
214 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"}, 214 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
215 {a="(A)(')(uN?%p?)$", b="aآء%3"}, 215 {a="(A)(')(uN?%p*)$", b="aآء%3"},
216 {a="(A)(')(uN?)(%p?%s)", b="aآء%3%4"}, 216 {a="(A)(')(uN?)(%p*%s)", b="aآء%3%4"},
217 {a="(A)(')(iN?%p?)$", b="aآء%3"}, 217 {a="(A)(')(iN?%p*)$", b="aآء%3"},
218 {a="(A)(')(iN?)(%p?%s)", b="aآء%3%4"}, 218 {a="(A)(')(iN?)(%p*%s)", b="aآء%3%4"},
219 {a="(A)(')([iI])", b="aآئ%3"}, -- historic madda 219 {a="(A)(')([iI])", b="aآئ%3"}, -- historic madda
220 {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda 220 {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda
221 {a="(A)(')", b="aآء"}, -- historic madda 221 {a="(A)(')", b="aآء"}, -- historic madda
@@ -245,31 +245,31 @@ hamza = {
245 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"}, 245 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"},
246 -- final hamzah is on the line after a letter of prolongation or a 246 -- final hamzah is on the line after a letter of prolongation or a
247 -- consonant with sukūn 247 -- consonant with sukūn
248 {a="([^Auai])(')(\"?[uai]N?)(%p?)$", b="%1ء%3%4"}, --new 248 {a="([^Auai])(')(\"?[uai]N?)(%p*)$", b="%1ء%3%4"}, --new
249 {a="([^Auai])(')(\"?[uai]N?)(%p?%s)", b="%1ء%3%4"}, 249 {a="([^Auai])(')(\"?[uai]N?)(%p*%s)", b="%1ء%3%4"},
250-- u 250-- u
251 {a="(u)(')([uai]N?%p?)$", b="%1ؤ%3"}, 251 {a="(u)(')([uai]N?%p*)$", b="%1ؤ%3"},
252 {a="(u)(')([uai]N?)(%p?%s)", b="%1ؤ%3%4"}, 252 {a="(u)(')([uai]N?)(%p*%s)", b="%1ؤ%3%4"},
253 {a="(u)(')(%p?)$", b="%1ؤ%3"}, 253 {a="(u)(')(%p*)$", b="%1ؤ%3"},
254 {a="(u)(')(%p?%s)", b="%1ؤ%3"}, 254 {a="(u)(')(%p*%s)", b="%1ؤ%3"},
255-- a 255-- a
256 {a="(a)(')(A%p?)$", b="%1آ"}, 256 {a="(a)(')(A%p*)$", b="%1آ"},
257 {a="(a)(')(A)(%p?%s)", b="%1آ%4"}, 257 {a="(a)(')(A)(%p*%s)", b="%1آ%4"},
258 {a="(a)(')([u]N?%p?)$", b="%1أ%3"}, 258 {a="(a)(')([u]N?%p*)$", b="%1أ%3"},
259 {a="(a)(')([u]N?)(%p?%s)", b="%1أ%3%4"}, 259 {a="(a)(')([u]N?)(%p*%s)", b="%1أ%3%4"},
260 {a="(a)(')(a%p?)$", b="%1أ%3"}, 260 {a="(a)(')(a%p*)$", b="%1أ%3"},
261 {a="(a)(')(a)(%p?%s)", b="%1أ%3%4"}, 261 {a="(a)(')(a)(%p*%s)", b="%1أ%3%4"},
262 {a="(a)(')(aN%p?)$", b="%1أً"}, 262 {a="(a)(')(aN%p*)$", b="%1أً"},
263 {a="(a)(')(aN)(%p?%s)", b="%1أً%4"}, 263 {a="(a)(')(aN)(%p*%s)", b="%1أً%4"},
264 {a="(a)(')([i]N?%p?)$", b="%1إ%3"}, 264 {a="(a)(')([i]N?%p*)$", b="%1إ%3"},
265 {a="(a)(')([i]N?)(%p?%s)", b="%1إ%3%4"}, 265 {a="(a)(')([i]N?)(%p*%s)", b="%1إ%3%4"},
266 {a="(a)(')(%p?)$", b="%1أ%3"}, 266 {a="(a)(')(%p*)$", b="%1أ%3"},
267 {a="(a)(')(%p?%s)", b="%1أ%3"}, 267 {a="(a)(')(%p*%s)", b="%1أ%3"},
268-- i 268-- i
269 {a="(i)(')([uai]N?%p?)$", b="%1ئ%3"}, 269 {a="(i)(')([uai]N?%p*)$", b="%1ئ%3"},
270 {a="(i)(')([uai]N?)(%p?%s)", b="%1ئ%3%4"}, 270 {a="(i)(')([uai]N?)(%p*%s)", b="%1ئ%3%4"},
271 {a="(i)(')(%p?)$", b="%1ئ%3"}, 271 {a="(i)(')(%p*)$", b="%1ئ%3"},
272 {a="(i)(')(%p?%s)", b="%1ئ%3"}, 272 {a="(i)(')(%p*%s)", b="%1ئ%3"},
273-- 273--
274 -- middle 274 -- middle
275 {a="([UIwy])(')", b="%1ء"}, --new 275 {a="([UIwy])(')", b="%1ء"}, --new
@@ -330,10 +330,10 @@ hamzaeasy = { -- differences marked below with 'easy'
330 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"}, 330 {a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"},
331 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"}, 331 {a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
332 --easy (begin) 332 --easy (begin)
333 {a="(A)(')(uN?%p?)$", b="aاء%3"}, 333 {a="(A)(')(uN?%p*)$", b="aاء%3"},
334 {a="(A)(')(uN?)(%p?%s)", b="aاء%3%4"}, 334 {a="(A)(')(uN?)(%p*%s)", b="aاء%3%4"},
335 {a="(A)(')(iN?%p?)$", b="aاء%3"}, 335 {a="(A)(')(iN?%p*)$", b="aاء%3"},
336 {a="(A)(')(iN?)(%p?%s)", b="aاء%3%4"}, 336 {a="(A)(')(iN?)(%p*%s)", b="aاء%3%4"},
337 {a="(A)(')([iI])", b="aائ%3"}, -- historic madda 337 {a="(A)(')([iI])", b="aائ%3"}, -- historic madda
338 {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda 338 {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda
339 {a="(A)(')", b="aاء"}, -- historic madda 339 {a="(A)(')", b="aاء"}, -- historic madda
@@ -367,38 +367,38 @@ hamzaeasy = { -- differences marked below with 'easy'
367 -- hamzah alone on the line, so take out the following two lines 367 -- hamzah alone on the line, so take out the following two lines
368 -- (final hamzah is on the line after a letter of prolongation or a 368 -- (final hamzah is on the line after a letter of prolongation or a
369 -- consonant with sukūn) 369 -- consonant with sukūn)
370 -- {a="([^Auai])(')(\"?[uai]N?)(%p?)$", b="%1ء%3%4"}, --new 370 -- {a="([^Auai])(')(\"?[uai]N?)(%p*)$", b="%1ء%3%4"}, --new
371 -- {a="([^Auai])(')(\"?[uai]N?)(%p?%s)", b="%1ء%3%4"}, 371 -- {a="([^Auai])(')(\"?[uai]N?)(%p*%s)", b="%1ء%3%4"},
372 {a="([^Auai])(')(\"?aN)(%p?)$", b="%1ئ%3%4"}, --new 372 {a="([^Auai])(')(\"?aN)(%p*)$", b="%1ئ%3%4"}, --new
373 {a="([^Auai])(')(\"?aN)(%p?%s)", b="%1ئ%3%4"}, --new 373 {a="([^Auai])(')(\"?aN)(%p*%s)", b="%1ئ%3%4"}, --new
374 {a="([^uai])(')(\"?a)(%p?)$", b="%1ء%3%4"}, --new 374 {a="([^uai])(')(\"?a)(%p*)$", b="%1ء%3%4"}, --new
375 {a="([^uai])(')(\"?a)(%p?%s)", b="%1ء%3%4"}, --new 375 {a="([^uai])(')(\"?a)(%p*%s)", b="%1ء%3%4"}, --new
376 {a="([^uai])(')(\"?[ui]N?)(%p?)$", b="%1ء%3%4"}, --new 376 {a="([^uai])(')(\"?[ui]N?)(%p*)$", b="%1ء%3%4"}, --new
377 {a="([^uai])(')(\"?[ui]N?)(%p?%s)", b="%1ء%3%4"}, --new 377 {a="([^uai])(')(\"?[ui]N?)(%p*%s)", b="%1ء%3%4"}, --new
378 --easy (end) 378 --easy (end)
379-- u 379-- u
380 {a="(u)(')([uai]N?%p?)$", b="%1ؤ%3"}, 380 {a="(u)(')([uai]N?%p*)$", b="%1ؤ%3"},
381 {a="(u)(')([uai]N?)(%p?%s)", b="%1ؤ%3%4"}, 381 {a="(u)(')([uai]N?)(%p*%s)", b="%1ؤ%3%4"},
382 {a="(u)(')(%p?)$", b="%1ؤ%3"}, 382 {a="(u)(')(%p*)$", b="%1ؤ%3"},
383 {a="(u)(')(%p?%s)", b="%1ؤ%3"}, 383 {a="(u)(')(%p*%s)", b="%1ؤ%3"},
384-- a 384-- a
385 {a="(a)(')(A%p?)$", b="%1آ"}, 385 {a="(a)(')(A%p*)$", b="%1آ"},
386 {a="(a)(')(A)(%p?%s)", b="%1آ%4"}, 386 {a="(a)(')(A)(%p*%s)", b="%1آ%4"},
387 {a="(a)(')([u]N?%p?)$", b="%1أ%3"}, 387 {a="(a)(')([u]N?%p*)$", b="%1أ%3"},
388 {a="(a)(')([u]N?)(%p?%s)", b="%1أ%3%4"}, 388 {a="(a)(')([u]N?)(%p*%s)", b="%1أ%3%4"},
389 {a="(a)(')(a%p?)$", b="%1أ%3"}, 389 {a="(a)(')(a%p*)$", b="%1أ%3"},
390 {a="(a)(')(a)(%p?%s)", b="%1أ%3%4"}, 390 {a="(a)(')(a)(%p*%s)", b="%1أ%3%4"},
391 {a="(a)(')(aN%p?)$", b="%1أً"}, 391 {a="(a)(')(aN%p*)$", b="%1أً"},
392 {a="(a)(')(aN)(%p?%s)", b="%1أً%4"}, 392 {a="(a)(')(aN)(%p*%s)", b="%1أً%4"},
393 {a="(a)(')([i]N?%p?)$", b="%1إ%3"}, 393 {a="(a)(')([i]N?%p*)$", b="%1إ%3"},
394 {a="(a)(')([i]N?)(%p?%s)", b="%1إ%3%4"}, 394 {a="(a)(')([i]N?)(%p*%s)", b="%1إ%3%4"},
395 {a="(a)(')(%p?)$", b="%1أ%3"}, 395 {a="(a)(')(%p*)$", b="%1أ%3"},
396 {a="(a)(')(%p?%s)", b="%1أ%3"}, 396 {a="(a)(')(%p*%s)", b="%1أ%3"},
397-- i 397-- i
398 {a="(i)(')([uai]N?%p?)$", b="%1ئ%3"}, 398 {a="(i)(')([uai]N?%p*)$", b="%1ئ%3"},
399 {a="(i)(')([uai]N?)(%p?%s)", b="%1ئ%3%4"}, 399 {a="(i)(')([uai]N?)(%p*%s)", b="%1ئ%3%4"},
400 {a="(i)(')(%p?)$", b="%1ئ%3"}, 400 {a="(i)(')(%p*)$", b="%1ئ%3"},
401 {a="(i)(')(%p?%s)", b="%1ئ%3"}, 401 {a="(i)(')(%p*%s)", b="%1ئ%3"},
402-- 402--
403 -- middle 403 -- middle
404 {a="([Uw])(')", b="%1ء"}, --new 404 {a="([Uw])(')", b="%1ء"}, --new
@@ -574,12 +574,12 @@ trigraphs = { -- trigraphs or more
574 -- art. with waṣla + lunar consonant (i.e. what remains) 574 -- art. with waṣla + lunar consonant (i.e. what remains)
575 {a="'l%-", b="ال"}, 575 {a="'l%-", b="ال"},
576 -- the silent wāw 576 -- the silent wāw
577 {a="uU(%p?)$", b="uو%1"}, 577 {a="uU(%p*)$", b="uو%1"},
578 {a="uU(%p?%s)", b="uو%1"}, 578 {a="uU(%p*%s)", b="uو%1"},
579 {a="aU(%p?)$", b="aو%1"}, 579 {a="aU(%p*)$", b="aو%1"},
580 {a="aU(%p?%s)", b="aو%1"}, 580 {a="aU(%p*%s)", b="aو%1"},
581 {a="iU(%p?)$", b="iو%1"}, 581 {a="iU(%p*)$", b="iو%1"},
582 {a="iU(%p?%s)", b="iو%1"}, 582 {a="iU(%p*%s)", b="iو%1"},
583 -- words ending in -āT with silent wāw/yāʾ 583 -- words ending in -āT with silent wāw/yāʾ
584 {a="(_a)UA", b="%1وا"}, 584 {a="(_a)UA", b="%1وا"},
585 {a="(_a)U", b="%1و"}, 585 {a="(_a)U", b="%1و"},
@@ -665,12 +665,12 @@ trigraphseasy = { -- differences marked below with 'easy'
665 -- art. with waṣla + lunar consonant (i.e. what remains) 665 -- art. with waṣla + lunar consonant (i.e. what remains)
666 {a="'l%-", b="ال"}, 666 {a="'l%-", b="ال"},
667 -- the silent wāw 667 -- the silent wāw
668 {a="uU(%p?)$", b="uو%1"}, 668 {a="uU(%p*)$", b="uو%1"},
669 {a="uU(%p?%s)", b="uو%1"}, 669 {a="uU(%p*%s)", b="uو%1"},
670 {a="aU(%p?)$", b="aو%1"}, 670 {a="aU(%p*)$", b="aو%1"},
671 {a="aU(%p?%s)", b="aو%1"}, 671 {a="aU(%p*%s)", b="aو%1"},
672 {a="iU(%p?)$", b="iو%1"}, 672 {a="iU(%p*)$", b="iو%1"},
673 {a="iU(%p?%s)", b="iو%1"}, 673 {a="iU(%p*%s)", b="iو%1"},
674 -- words ending in -āT with silent wāw/yāʾ 674 -- words ending in -āT with silent wāw/yāʾ
675 {a="(_a)UA", b="%1وا"}, 675 {a="(_a)UA", b="%1وا"},
676 {a="(_a)U", b="%1و"}, 676 {a="(_a)U", b="%1و"},
@@ -679,16 +679,16 @@ trigraphseasy = { -- differences marked below with 'easy'
679 679
680digraphs = { 680digraphs = {
681 -- ʾiʿrāb: straight double quote must be discarded 681 -- ʾiʿrāb: straight double quote must be discarded
682 {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"}, 682 {a="(%-)(\"?[UI]na)(%p*%s)", b="%2%3"},
683 {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"}, 683 {a="(%-)(\"?[UI]na)(%p*)$", b="%2%3"},
684 {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"}, 684 {a="(%-)(\"?At[ui])(%p*%s)", b="%2%3"},
685 {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"}, 685 {a="(%-)(\"?At[ui])(%p*)$", b="%2%3"},
686 {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"}, 686 {a="(%-)(\"?Ani)(%p*%s)", b="%2%3"},
687 {a="(%-)(\"?Ani)(%p?)$", b="%2%3"}, 687 {a="(%-)(\"?Ani)(%p*)$", b="%2%3"},
688 {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"}, 688 {a="(%-)(\"?ayni)(%p*%s)", b="%2%3"},
689 {a="(%-)(\"?ayni)(%p?)$", b="%2%3"}, 689 {a="(%-)(\"?ayni)(%p*)$", b="%2%3"},
690 {a="(%-)(\"?[uai])(%p?%s)", b="%2%3"}, 690 {a="(%-)(\"?[uai])(%p*%s)", b="%2%3"},
691 {a="(%-)(\"?[uai])(%p?)$", b="%2%3"}, 691 {a="(%-)(\"?[uai])(%p*)$", b="%2%3"},
692 -- ʾiʿrāb (end) 692 -- ʾiʿrāb (end)
693 -- initial straight double quote gives a connective ʾalif 693 -- initial straight double quote gives a connective ʾalif
694 {a="^\"[uai]", b="ٱ"}, 694 {a="^\"[uai]", b="ٱ"},