aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arabluatex.dtx8
-rw-r--r--arabluatex_fullvoc.lua38
-rw-r--r--arabluatex_novoc.lua16
-rw-r--r--arabluatex_trans.lua89
-rw-r--r--arabluatex_voc.lua37
-rw-r--r--makefile7
6 files changed, 107 insertions, 88 deletions
diff --git a/arabluatex.dtx b/arabluatex.dtx
index c281001..89acc76 100644
--- a/arabluatex.dtx
+++ b/arabluatex.dtx
@@ -2214,6 +2214,12 @@
2214% \arb[novoc]{.q} & \dmg{.q} & \loc{.q} & \brill{.q} & |.q| \\ 2214% \arb[novoc]{.q} & \dmg{.q} & \loc{.q} & \brill{.q} & |.q| \\
2215% \arb[novoc]{.k} & \dmg{.k} & \loc{.k} & \brill{.k} & |.k| \\ 2215% \arb[novoc]{.k} & \dmg{.k} & \loc{.k} & \brill{.k} & |.k| \\
2216% \arb[novoc]{.n} & \dmg{.n} & \loc{.n} & \brill{.n} & |.n| \\ 2216% \arb[novoc]{.n} & \dmg{.n} & \loc{.n} & \brill{.n} & |.n| \\
2217% \arb[novoc]{H} & \dmg{aH} & \loc{aH} & \brill{aH} &
2218% |H|\footnote{This letter can be used to encode the \arb[trans]{tA'
2219% marbUtaT} devoid of diacritical points as it is found in some
2220% manuscripts, with the same \arb[trans]{tanwIn} and the same
2221% short vowels as the standard \arb[trans]{tA' marbUtaT} with two
2222% points above, e. g. \arb{al-madInaHa}, \arb{madInaHaN}.} \\
2217% \arb[novoc]{((} & \dmg{((} & \loc{((} & \brill{((} & |((| \\ 2223% \arb[novoc]{((} & \dmg{((} & \loc{((} & \brill{((} & |((| \\
2218% \arb[novoc]{))} & \dmg{))} & \loc{))} & \brill{))} & |))| \\ 2224% \arb[novoc]{))} & \dmg{))} & \loc{))} & \brill{))} & |))| \\
2219% \end{longtable} 2225% \end{longtable}
@@ -5144,7 +5150,7 @@
5144% \end{macrocode} 5150% \end{macrocode}
5145% \end{macro} 5151% \end{macro}
5146% \begin{macro}{\SetArbNumbers} 5152% \begin{macro}{\SetArbNumbers}
5147% \changes{v1.21}{2022/06/15}{select Indian or Arabic numbers} 5153% \changes{v1.21}{2022/06/15}{selects Indian or Arabic numbers}
5148% \begin{macrocode} 5154% \begin{macrocode}
5149\NewDocumentCommand{\SetArbNumbers}{m}{% 5155\NewDocumentCommand{\SetArbNumbers}{m}{%
5150 \luadirect{arabluatex.setnums(\luastringN{#1})}% 5156 \luadirect{arabluatex.setnums(\luastringN{#1})}%
diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua
index adfccf4..e34f12d 100644
--- a/arabluatex_fullvoc.lua
+++ b/arabluatex_fullvoc.lua
@@ -104,7 +104,7 @@ hamzafv = {
104 -- mi'aT is special orthography (unlike ^say'aN and .zim'aN): 104 -- mi'aT is special orthography (unlike ^say'aN and .zim'aN):
105 -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new 105 -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new
106 -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new 106 -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new
107 {a="(mi)(%')(a[Tt])", b="%1ائ%3"}, 107 {a="(mi)(%')(a[TtH])", b="%1ائ%3"},
108 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"}, 108 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"},
109 -- final hamzah is on the line after a letter of prolongation or a 109 -- final hamzah is on the line after a letter of prolongation or a
110 -- consonant with sukūn 110 -- consonant with sukūn
@@ -256,7 +256,7 @@ hamzafveasy = { -- differences marked below with 'easy'
256 -- mi'aT is special orthography (unlike ^say'aN and .zim'aN) 256 -- mi'aT is special orthography (unlike ^say'aN and .zim'aN)
257 -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new 257 -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new
258 -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new 258 -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new
259 {a="(mi)(%')(a[Tt])", b="%1ائ%3"}, 259 {a="(mi)(%')(a[TtH])", b="%1ائ%3"},
260 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"}, 260 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"},
261 -- easy (begin) 261 -- easy (begin)
262 -- The Munjid says that such words as radI'aN do not have the 262 -- The Munjid says that such words as radI'aN do not have the
@@ -351,9 +351,9 @@ tanwinfv = { -- with assimilations (\SetArbDflt*)
351 {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"}, 351 {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"},
352 {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, 352 {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"},
353 {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, 353 {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"},
354 {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, 354 {a="([TH])%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
355-- {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new 355-- {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new
356 {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, 356 {a="([^TAH])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
357 {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, 357 {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"},
358 -- assimilations (end) 358 -- assimilations (end)
359 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="ٱ"}, 359 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="ٱ"},
@@ -363,9 +363,9 @@ tanwinfv = { -- with assimilations (\SetArbDflt*)
363 {a="(B)%-?(\"aN)", b="%1"}, 363 {a="(B)%-?(\"aN)", b="%1"},
364 {a="%-?(\"aN)(_A)", b="ى"}, 364 {a="%-?(\"aN)(_A)", b="ى"},
365 {a="%-?(\"aN)(Y)", b="ى"}, 365 {a="%-?(\"aN)(Y)", b="ى"},
366 {a="(T)%-?(\"aN)", b="%1"}, 366 {a="([TH])%-?(\"aN)", b="%1"},
367 {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new 367 {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new
368 {a="([^TA])%-?(\"aN)", b="%1ا"}, 368 {a="([^TAH])%-?(\"aN)", b="%1ا"},
369 {a="%-?(\"iNI?)", b=""}, 369 {a="%-?(\"iNI?)", b=""},
370 -- quoted tanwīn (end) 370 -- quoted tanwīn (end)
371 {a="%-?(uN)", b="ٌ"}, 371 {a="%-?(uN)", b="ٌ"},
@@ -373,15 +373,15 @@ tanwinfv = { -- with assimilations (\SetArbDflt*)
373 -- needed by \arbcolor: 373 -- needed by \arbcolor:
374 {a="%-?(aN)(O[%S]-%_AO)", b="ً"}, 374 {a="%-?(aN)(O[%S]-%_AO)", b="ً"},
375 {a="%-?(aN)(O[%S]-YO)", b="ً"}, 375 {a="%-?(aN)(O[%S]-YO)", b="ً"},
376 {a="(O[%S]-TO)%-?(aN)", b="ً"}, 376 {a="(O[%S]-[TH]O)%-?(aN)", b="ً"},
377 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new 377 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new
378 {a="(O[%S]-[^TA]O)%-?(aN)", b="ًا"}, 378 {a="(O[%S]-[^TAH]O)%-?(aN)", b="ًا"},
379 -- 379 --
380 {a="%-?(aN)(_A)", b="ًى"}, 380 {a="%-?(aN)(_A)", b="ًى"},
381 {a="%-?(aN)(Y)", b="ًى"}, 381 {a="%-?(aN)(Y)", b="ًى"},
382 {a="(T)%-?(aN)", b="%1ً"}, 382 {a="([TH])%-?(aN)", b="%1ً"},
383 {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new 383 {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new
384 {a="([^TA])%-?(aN)", b="%1ًا"}, 384 {a="([^TAH])%-?(aN)", b="%1ًا"},
385 {a="%-?(iNI?)", b="ٍ"} 385 {a="%-?(iNI?)", b="ٍ"}
386} 386}
387 387
@@ -405,9 +405,9 @@ tanwinfveasy = { -- no assimilations (see below)
405--easy {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"}, 405--easy {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"},
406--easy {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, 406--easy {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"},
407--easy {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, 407--easy {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"},
408--easy {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, 408--easy {a="([TH])%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
409--easy {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new 409--easy {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new
410--easy {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, 410--easy {a="([^TAH])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
411--easy {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, 411--easy {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"},
412 -- assimilations (end) 412 -- assimilations (end)
413 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="ٱ"}, 413 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="ٱ"},
@@ -417,9 +417,9 @@ tanwinfveasy = { -- no assimilations (see below)
417 {a="(B)%-?(\"aN)", b="%1"}, 417 {a="(B)%-?(\"aN)", b="%1"},
418 {a="%-?(\"aN)(_A)", b="ى"}, 418 {a="%-?(\"aN)(_A)", b="ى"},
419 {a="%-?(\"aN)(Y)", b="ى"}, 419 {a="%-?(\"aN)(Y)", b="ى"},
420 {a="(T)%-?(\"aN)", b="%1"}, 420 {a="([TH])%-?(\"aN)", b="%1"},
421 {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new 421 {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new
422 {a="([^TA])%-?(\"aN)", b="%1ا"}, 422 {a="([^TAH])%-?(\"aN)", b="%1ا"},
423 {a="%-?(\"iNI?)", b=""}, 423 {a="%-?(\"iNI?)", b=""},
424 -- quoted tanwīn (end) 424 -- quoted tanwīn (end)
425 {a="%-?(uN)", b="ٌ"}, 425 {a="%-?(uN)", b="ٌ"},
@@ -427,15 +427,15 @@ tanwinfveasy = { -- no assimilations (see below)
427 -- needed by \arbcolor: 427 -- needed by \arbcolor:
428 {a="%-?(aN)(O[%S]-%_AO)", b="ً"}, 428 {a="%-?(aN)(O[%S]-%_AO)", b="ً"},
429 {a="%-?(aN)(O[%S]-YO)", b="ً"}, 429 {a="%-?(aN)(O[%S]-YO)", b="ً"},
430 {a="(O[%S]-TO)%-?(aN)", b="ً"}, 430 {a="(O[%S]-[TH]O)%-?(aN)", b="ً"},
431 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new 431 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new
432 {a="(O[%S]-[^TA]O)%-?(aN)", b="ًا"}, 432 {a="(O[%S]-[^TAH]O)%-?(aN)", b="ًا"},
433 -- 433 --
434 {a="%-?(aN)(_A)", b="ًى"}, 434 {a="%-?(aN)(_A)", b="ًى"},
435 {a="%-?(aN)(Y)", b="ًى"}, 435 {a="%-?(aN)(Y)", b="ًى"},
436 {a="(T)%-?(aN)", b="%1ً"}, 436 {a="([TH])%-?(aN)", b="%1ً"},
437 {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new 437 {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new
438 {a="([^TA])%-?(aN)", b="%1ًا"}, 438 {a="([^TAH])%-?(aN)", b="%1ًا"},
439 {a="%-?(iNI?)", b="ٍ"} 439 {a="%-?(iNI?)", b="ٍ"}
440} 440}
441 441
@@ -1007,6 +1007,7 @@ singlefv = {
1007 {a="w", b="و"}, 1007 {a="w", b="و"},
1008 {a="y", b="ي"}, 1008 {a="y", b="ي"},
1009 {a="T", b="ة"}, 1009 {a="T", b="ة"},
1010 {a="H", b="ه"},
1010 -- additional characters (begin) 1011 -- additional characters (begin)
1011 {a="p", b="پ"}, 1012 {a="p", b="پ"},
1012 {a="v", b="ڤ"}, 1013 {a="v", b="ڤ"},
@@ -1042,6 +1043,7 @@ singlefveasy = { -- see the differences under 'easy' tag below
1042 {a="y", b="ي"}, 1043 {a="y", b="ي"},
1043 {a="T", b="ة"}, 1044 {a="T", b="ة"},
1044 -- additional characters (begin) 1045 -- additional characters (begin)
1046 {a="H", b="ه"},
1045 {a="p", b="پ"}, 1047 {a="p", b="پ"},
1046 {a="v", b="ڤ"}, 1048 {a="v", b="ڤ"},
1047 {a="g", b="گ"}, 1049 {a="g", b="گ"},
diff --git a/arabluatex_novoc.lua b/arabluatex_novoc.lua
index b77cfda..f2d0d5a 100644
--- a/arabluatex_novoc.lua
+++ b/arabluatex_novoc.lua
@@ -36,9 +36,9 @@ tanwinnv = {
36-- {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"}, 36-- {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"},
37-- {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ى%3%4%4"}, 37-- {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ى%3%4%4"},
38-- {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ى%3%4%4"}, 38-- {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ى%3%4%4"},
39-- {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1%3%4%4"}, 39-- {a="([TH])%-?(aN)(%s)([rlmnwy])", b="%1%3%4%4"},
40-- {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%3%4%4"}, 40-- {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%3%4%4"},
41-- {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ا%3%4%4"}, 41-- {a="([^TAH])%-?(aN)(%s)([rlmnwy])", b="%1ا%3%4%4"},
42-- {a="%-?(iNI?)(%s)([rlmnwy])", b="|%2%3%3"}, 42-- {a="%-?(iNI?)(%s)([rlmnwy])", b="|%2%3%3"},
43 -- assimilations (end) 43 -- assimilations (end)
44 -- "quoted" tanwīn (begin) 44 -- "quoted" tanwīn (begin)
@@ -46,9 +46,9 @@ tanwinnv = {
46 {a="(B)%-?(\"aN)", b="%1ً"}, 46 {a="(B)%-?(\"aN)", b="%1ً"},
47 {a="%-?(\"aN)(_A)", b="ًى"}, 47 {a="%-?(\"aN)(_A)", b="ًى"},
48 {a="%-?(\"aN)(Y)", b="ًى"}, 48 {a="%-?(\"aN)(Y)", b="ًى"},
49 {a="(T)%-?(\"aN)", b="%1ً"}, 49 {a="([TH])%-?(\"aN)", b="%1ً"},
50 {a="([اآ])(ء)%-?(\"aN)", b="%1%2ً"}, --new 50 {a="([اآ])(ء)%-?(\"aN)", b="%1%2ً"}, --new
51 {a="([^TA])%-?(\"aN)", b="%1ًا"}, 51 {a="([^TAH])%-?(\"aN)", b="%1ًا"},
52 {a="%-?(\"iNI?)", b="ٍ"}, 52 {a="%-?(\"iNI?)", b="ٍ"},
53 -- "quoted" tanwīn (end) 53 -- "quoted" tanwīn (end)
54 {a="%-?(uN)", b=""}, 54 {a="%-?(uN)", b=""},
@@ -56,15 +56,15 @@ tanwinnv = {
56 -- needed by \arbcolor: 56 -- needed by \arbcolor:
57 {a="%-?(aN)(O[%S]-%_AO)", b=""}, 57 {a="%-?(aN)(O[%S]-%_AO)", b=""},
58 {a="%-?(aN)(O[%S]-YO)", b=""}, 58 {a="%-?(aN)(O[%S]-YO)", b=""},
59 {a="(O[%S]-TO)%-?(aN)", b=""}, 59 {a="(O[%S]-[TH]O)%-?(aN)", b=""},
60 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b=""}, --new 60 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b=""}, --new
61 {a="(O[%S]-[^TA]O)%-?(aN)", b=""}, 61 {a="(O[%S]-[^TAH]O)%-?(aN)", b=""},
62 -- 62 --
63 {a="%-?(aN)(_A)", b="ى"}, 63 {a="%-?(aN)(_A)", b="ى"},
64 {a="%-?(aN)(Y)", b="ى"}, 64 {a="%-?(aN)(Y)", b="ى"},
65 {a="(T)%-?(aN)", b="%1"}, 65 {a="([TH])%-?(aN)", b="%1"},
66 {a="([اآ])(ء)%-?(aN)", b="%1%2"}, --new 66 {a="([اآ])(ء)%-?(aN)", b="%1%2"}, --new
67 {a="([^TA])%-?(aN)", b="%1ا"}, 67 {a="([^TAH])%-?(aN)", b="%1ا"},
68 {a="%-?(iNI?)", b=""}, 68 {a="%-?(iNI?)", b=""},
69 -- ʾalif al-waṣl: put it back on with \arbnull 69 -- ʾalif al-waṣl: put it back on with \arbnull
70 {a="(O[%S]-)([%'a]l%-)(O)(\"?[uai])", b="%4"}, 70 {a="(O[%S]-)([%'a]l%-)(O)(\"?[uai])", b="%4"},
diff --git a/arabluatex_trans.lua b/arabluatex_trans.lua
index c5c0b05..8791b62 100644
--- a/arabluatex_trans.lua
+++ b/arabluatex_trans.lua
@@ -301,41 +301,41 @@ tanwintrdmg = {
301 {a="%-?(uN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="\\arbup{uni}"}, 301 {a="%-?(uN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="\\arbup{uni}"},
302 {a="%-?(aN)(_A)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="ạ\\arbup{ni}"}, 302 {a="%-?(aN)(_A)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="ạ\\arbup{ni}"},
303 {a="%-?(aN)(Y)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="ạ\\arbup{ni}"}, 303 {a="%-?(aN)(Y)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="ạ\\arbup{ni}"},
304 {a="(T)%-?(aN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="t\\arbup{ani}"}, 304 {a="([TH])%-?(aN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="t\\arbup{ani}"},
305 {a="([^TA])%-?(aN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1\\arbup{ani}"}, 305 {a="([^TAH])%-?(aN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1\\arbup{ani}"},
306 {a="%-?(iN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="\\arbup{ini}"}, 306 {a="%-?(iN)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="\\arbup{ini}"},
307 {a="%-?(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{uni}%2%3"}, 307 {a="%-?(uN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{uni}%2%3"},
308 {a="%-?(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, 308 {a="%-?(aN)(_A)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"},
309 {a="%-?(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"}, 309 {a="%-?(aN)(Y)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="ạ\\arbup{ni}%3%4"},
310 {a="(T)%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="t\\arbup{ani}%3%4"}, 310 {a="([TH])%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="t\\arbup{ani}%3%4"},
311 {a="([^TA])%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1\\arbup{ani}%3%4"}, 311 {a="([^TAH])%-?(aN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1\\arbup{ani}%3%4"},
312 {a="%-?(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{ini}%2%3"}, 312 {a="%-?(iN)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="\\arbup{ini}%2%3"},
313 -- tanwīn preceding 'lla_dI/'llatI 313 -- tanwīn preceding 'lla_dI/'llatI
314 {a="%-?(uN)(O)('lla[%_]?[dt])([%S]-O)", b="\\arbup{uni}"}, 314 {a="%-?(uN)(O)('lla[%_]?[dt])([%S]-O)", b="\\arbup{uni}"},
315 {a="%-?(aN)(_A)(O)('lla[%_]?[dt])([%S]-O)", b="ạ\\arbup{ni}"}, 315 {a="%-?(aN)(_A)(O)('lla[%_]?[dt])([%S]-O)", b="ạ\\arbup{ni}"},
316 {a="%-?(aN)(Y)(O)('lla[%_]?[dt])([%S]-O)", b="ạ\\arbup{ni}"}, 316 {a="%-?(aN)(Y)(O)('lla[%_]?[dt])([%S]-O)", b="ạ\\arbup{ni}"},
317 {a="(T)%-?(aN)(O)('lla[%_]?[dt])([%S]-O)", b="t\\arbup{ani}"}, 317 {a="([TH])%-?(aN)(O)('lla[%_]?[dt])([%S]-O)", b="t\\arbup{ani}"},
318 {a="([^TA])%-?(aN)(O)('lla[%_]?[dt])([%S]-O)", b="%1\\arbup{ani}"}, 318 {a="([^TAH])%-?(aN)(O)('lla[%_]?[dt])([%S]-O)", b="%1\\arbup{ani}"},
319 {a="%-?(iN)(O)('lla[%_]?[dt])([%S]-O)", b="\\arbup{ini}"}, 319 {a="%-?(iN)(O)('lla[%_]?[dt])([%S]-O)", b="\\arbup{ini}"},
320 {a="%-?(uN)(%s)('lla[%_]?[dt])", b="\\arbup{uni}%2%3"}, 320 {a="%-?(uN)(%s)('lla[%_]?[dt])", b="\\arbup{uni}%2%3"},
321 {a="%-?(aN)(_A)(%s)('lla[%_]?[dt])", b="ạ\\arbup{ni}%3%4"}, 321 {a="%-?(aN)(_A)(%s)('lla[%_]?[dt])", b="ạ\\arbup{ni}%3%4"},
322 {a="%-?(aN)(Y)(%s)('lla[%_]?[dt])", b="ạ\\arbup{ni}%3%4"}, 322 {a="%-?(aN)(Y)(%s)('lla[%_]?[dt])", b="ạ\\arbup{ni}%3%4"},
323 {a="(T)%-?(aN)(%s)('lla[%_]?[dt])", b="t\\arbup{ani}%3%4"}, 323 {a="([TH])%-?(aN)(%s)('lla[%_]?[dt])", b="t\\arbup{ani}%3%4"},
324 {a="([^TA])%-?(aN)(%s)('lla[%_]?[dt])", b="%1\\arbup{ani}%3%4"}, 324 {a="([^TAH])%-?(aN)(%s)('lla[%_]?[dt])", b="%1\\arbup{ani}%3%4"},
325 {a="%-?(iN)(%s)('lla[%_]?[dt])", b="\\arbup{ini}%2%3"}, 325 {a="%-?(iN)(%s)('lla[%_]?[dt])", b="\\arbup{ini}%2%3"},
326 -- tanwīn + alif without hamza and kasra (ibn) or dhamma (uhrub) 326 -- tanwīn + alif without hamza and kasra (ibn) or dhamma (uhrub)
327 {a="%-?(uN)(O)([ui])([%S]-O)", b="\\arbup{un%3}"}, 327 {a="%-?(uN)(O)([ui])([%S]-O)", b="\\arbup{un%3}"},
328 {a="%-?(aN)(_A)(O)([ui])([%S]-O)", b="ạ\\arbup{n%4}"}, 328 {a="%-?(aN)(_A)(O)([ui])([%S]-O)", b="ạ\\arbup{n%4}"},
329 {a="%-?(aN)(Y)(O)([ui])([%S]-O)", b="ạ\\arbup{n%4}"}, 329 {a="%-?(aN)(Y)(O)([ui])([%S]-O)", b="ạ\\arbup{n%4}"},
330 {a="(T)%-?(aN)(O)([ui])([%S]-O)", b="t\\arbup{an%4}"}, 330 {a="([TH])%-?(aN)(O)([ui])([%S]-O)", b="t\\arbup{an%4}"},
331 {a="([^TA])%-?(aN)(O)([ui])([%S]-O)", b="%1\\arbup{an%4}"}, 331 {a="([^TAH])%-?(aN)(O)([ui])([%S]-O)", b="%1\\arbup{an%4}"},
332 {a="%-?(iN)(O)([ui])([%S]-O)", b="\\arbup{in%3}"}, 332 {a="%-?(iN)(O)([ui])([%S]-O)", b="\\arbup{in%3}"},
333 {a="(O[%S]-)([uai]N)(O)(\"?[ui])", b="'"}, 333 {a="(O[%S]-)([uai]N)(O)(\"?[ui])", b="'"},
334 {a="%-?(uN)(%s)([ui])", b="\\arbup{un%3}%2'"}, 334 {a="%-?(uN)(%s)([ui])", b="\\arbup{un%3}%2'"},
335 {a="%-?(aN)(_A)(%s)([ui])", b="ạ\\arbup{n%4}%3'"}, 335 {a="%-?(aN)(_A)(%s)([ui])", b="ạ\\arbup{n%4}%3'"},
336 {a="%-?(aN)(Y)(%s)([ui])", b="ạ\\arbup{n%4}%3'"}, 336 {a="%-?(aN)(Y)(%s)([ui])", b="ạ\\arbup{n%4}%3'"},
337 {a="(T)%-?(aN)(%s)([ui])", b="t\\arbup{an%4}%3'"}, 337 {a="([TH])%-?(aN)(%s)([ui])", b="t\\arbup{an%4}%3'"},
338 {a="([^TA])%-?(aN)(%s)([ui])", b="%1\\arbup{an%4}%3'"}, 338 {a="([^TAH])%-?(aN)(%s)([ui])", b="%1\\arbup{an%4}%3'"},
339 {a="%-?(iN)(%s)([ui])", b="\\arbup{in%3}%2'"}, 339 {a="%-?(iN)(%s)([ui])", b="\\arbup{in%3}%2'"},
340 -- 340 --
341-- {a="uN", b="\\arbup{un}"}, (now included in the last line of this table) 341-- {a="uN", b="\\arbup{un}"}, (now included in the last line of this table)
@@ -343,13 +343,13 @@ tanwintrdmg = {
343 -- needed by \arbcolor: 343 -- needed by \arbcolor:
344 {a="%-?(aN)(O[%S]-%_AO)", b="ạ\\arbup{n}"}, 344 {a="%-?(aN)(O[%S]-%_AO)", b="ạ\\arbup{n}"},
345 {a="%-?(aN)(O[%S]-YO)", b="ạ\\arbup{n}"}, 345 {a="%-?(aN)(O[%S]-YO)", b="ạ\\arbup{n}"},
346 {a="(O[%S]-TO)%-?(\"?aN)", b="\\arbup{an}"}, 346 {a="(O[%S]-[TH]O)%-?(\"?aN)", b="\\arbup{an}"},
347 {a="(O[%S]-[^TA]O)%-?(\"?aN)", b="\\arbup{an}"}, 347 {a="(O[%S]-[^TAH]O)%-?(\"?aN)", b="\\arbup{an}"},
348 -- 348 --
349 {a="%-?(aN)(_A)", b="ạ\\arbup{n}"}, 349 {a="%-?(aN)(_A)", b="ạ\\arbup{n}"},
350 {a="%-?(aN)(Y)", b="ạ\\arbup{n}"}, 350 {a="%-?(aN)(Y)", b="ạ\\arbup{n}"},
351 {a="(T)%-?(\"?aN)", b="t\\arbup{an}"}, 351 {a="([TH])%-?(\"?aN)", b="t\\arbup{an}"},
352 {a="([^TA])%-?(\"?aN)", b="%1\\arbup{an}"}, 352 {a="([^TAH])%-?(\"?aN)", b="%1\\arbup{an}"},
353 {a="%-?([ui])N", b="\\arbup{%1n}"} 353 {a="%-?([ui])N", b="\\arbup{%1n}"}
354} 354}
355 355
@@ -499,18 +499,20 @@ digraphstrdmg = {
499 {a="([%_]?[Uu])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy][%-l])", b="u%2%3"}, 499 {a="([%_]?[Uu])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy][%-l])", b="u%2%3"},
500 {a="([%_]?[Ii])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy][%-l])", b="i%2%3"}, 500 {a="([%_]?[Ii])(%s)([%(%[%|%<]?['][%_%^%.]?[l'btjghxdrzs`fqkmnwy][%-l])", b="i%2%3"},
501 {a="%-%-", b=""}, 501 {a="%-%-", b=""},
502 {a="iyyaT(%p*)$", b="īyaT%1"}, 502-- {a="iyyaT(%p*)$", b="īyaT%1"}, -- previously. is now:
503 {a="iyyaT(%p*%s)", b="īyaT%1"}, 503 {a="iyya([TH])(%p*)$", b="īya%1%2"},
504-- {a="iyyaT(%p*%s)", b="īyaT%1"}, -- previously. is now:
505 {a="iyya([TH])(%p*%s)", b="īya%1%2"},
504 {a="iyy(%p*)$", b="ī%1"}, 506 {a="iyy(%p*)$", b="ī%1"},
505 {a="iyy(%p*%s)", b="ī%1"}, 507 {a="iyy(%p*%s)", b="ī%1"},
506 -- {a="T([^uai])", b="%1"}, 508 -- {a="[TH]([^uai])", b="%1"},
507 {a="T(\\arbup)", b="t%1"}, 509 {a="[TH](\\arbup)", b="t%1"},
508 {a="([a%'][%_%^%.]?[tdrzsln]%-)(%S-)T([%(%[%|%<%s])(a[%_%^%.]?[tdrzsln]%-)", b="%1%2h%3%4"}, --p 510 {a="([a%'][%_%^%.]?[tdrzsln]%-)(%S-)[TH]([%(%[%|%<%s])(a[%_%^%.]?[tdrzsln]%-)", b="%1%2h%3%4"}, --p
509 {a="T([%(%[%|%<%s])(a[%_%^%.]?[tdrzsln]%-)", b="t%1%2"}, --p 511 {a="[TH]([%(%[%|%<%s])(a[%_%^%.]?[tdrzsln]%-)", b="t%1%2"}, --p
510 {a="T([%|\"])", b="t%1"}, 512 {a="[TH]([%|\"])", b="t%1"},
511 {a="T(%p*%s)", b="h%1"}, 513 {a="[TH](%p*%s)", b="h%1"},
512 {a="T(%p*)$", b="h%1"}, 514 {a="[TH](%p*)$", b="h%1"},
513 {a="T(%p*)(%W)", b="h%1%2"}, 515 {a="[TH](%p*)(%W)", b="h%1%2"},
514 {a="_t", b="ṯ"}, 516 {a="_t", b="ṯ"},
515 {a="%^g", b="ǧ"}, 517 {a="%^g", b="ǧ"},
516 {a="%.h", b="ḥ"}, 518 {a="%.h", b="ḥ"},
@@ -565,6 +567,7 @@ singletrdmg = {
565 {a="y", b="y"}, 567 {a="y", b="y"},
566 {a="T", b="t"}, 568 {a="T", b="t"},
567 -- additional characters (begin) 569 -- additional characters (begin)
570 {a="H", b="t"},
568 {a="p", b="p"}, 571 {a="p", b="p"},
569 {a="v", b="v"}, 572 {a="v", b="v"},
570 {a="g", b="g"}, 573 {a="g", b="g"},
@@ -680,13 +683,13 @@ tanwintrloc = {
680 -- needed by \arbcolor: 683 -- needed by \arbcolor:
681 {a="%-?(aN)(O[%S]-%_AO)", b="an"}, 684 {a="%-?(aN)(O[%S]-%_AO)", b="an"},
682 {a="%-?(aN)(O[%S]-YO)", b="an"}, 685 {a="%-?(aN)(O[%S]-YO)", b="an"},
683 {a="(O[%S]-TO)%-?(\"?aN)", b="an"}, 686 {a="(O[%S]-[TH]O)%-?(\"?aN)", b="an"},
684 {a="(O[%S]-[^TA]O)%-?(\"?aN)", b="an"}, 687 {a="(O[%S]-[^TAH]O)%-?(\"?aN)", b="an"},
685 -- 688 --
686 {a="%-?(aN)(_A)", b="an"}, 689 {a="%-?(aN)(_A)", b="an"},
687 {a="%-?(aN)(Y)", b="an"}, 690 {a="%-?(aN)(Y)", b="an"},
688 {a="(T)%-?(\"?aN)", b="tan"}, 691 {a="([TH])%-?(\"?aN)", b="tan"},
689 {a="([^TA])%-?(\"?aN)", b="%1an"} 692 {a="([^TAH])%-?(\"?aN)", b="%1an"}
690} 693}
691 694
692trigraphstrloc = { -- trigraphs or more 695trigraphstrloc = { -- trigraphs or more
@@ -773,12 +776,12 @@ digraphstrloc = {
773 {a="iyy(%p*%s)", b="ī%1"}, 776 {a="iyy(%p*%s)", b="ī%1"},
774 {a="iyy", b="īy"}, 777 {a="iyy", b="īy"},
775 {a="([tkdsg])(h)", b="%1'%2"}, 778 {a="([tkdsg])(h)", b="%1'%2"},
776 -- {a="T([^uai])", b="h%1"}, 779 -- {a="[TH]([^uai])", b="h%1"},
777 {a="([a%']l%-)(%S-)T([%(%[%|%<%s])(al%-)", b="%1%2h%3%4"}, --p 780 {a="([a%']l%-)(%S-)[TH]([%(%[%|%<%s])(al%-)", b="%1%2h%3%4"}, --p
778 {a="T([%(%[%|%<%s])(al%-)", b="t%1%2"}, --p 781 {a="[TH]([%(%[%|%<%s])(al%-)", b="t%1%2"}, --p
779 {a="T([%|\"])", b="t%1"}, 782 {a="[TH]([%|\"])", b="t%1"},
780 {a="T(%p*)$", b="h%1"}, 783 {a="[TH](%p*)$", b="h%1"},
781 {a="T(%p*%s)", b="h%1"}, 784 {a="[TH](%p*%s)", b="h%1"},
782 {a="_t", b="th"}, 785 {a="_t", b="th"},
783 {a="%^g", b="j"}, 786 {a="%^g", b="j"},
784 {a="%.h", b="ḥ"}, 787 {a="%.h", b="ḥ"},
@@ -832,6 +835,7 @@ singletrloc = {
832 {a="y", b="y"}, 835 {a="y", b="y"},
833 {a="T", b="t"}, 836 {a="T", b="t"},
834 -- additional characters (begin) 837 -- additional characters (begin)
838 {a="H", b="t"},
835 {a="p", b="p"}, 839 {a="p", b="p"},
836 {a="v", b="v"}, 840 {a="v", b="v"},
837 {a="g", b="g"}, 841 {a="g", b="g"},
@@ -1027,12 +1031,12 @@ digraphstrarabica = {
1027 {a="%-%-", b=""}, 1031 {a="%-%-", b=""},
1028 {a="iyy(%p*)$", b="ī%1"}, 1032 {a="iyy(%p*)$", b="ī%1"},
1029 {a="iyy(%p*%s)", b="ī%1"}, 1033 {a="iyy(%p*%s)", b="ī%1"},
1030 -- {a="T([^uai])", b="h%1"}, 1034 -- {a="[TH]([^uai])", b="h%1"},
1031 {a="([a%']l%-)(%S-)aT([%(%[%|%<%s])(al%-)", b="%1%2a%3%4"}, --p 1035 {a="([a%']l%-)(%S-)a[TH]([%(%[%|%<%s])(al%-)", b="%1%2a%3%4"}, --p
1032 {a="aT([%(%[%|%<%s])(al%-)", b="at%1%2"}, --p 1036 {a="a[TH]([%(%[%|%<%s])(al%-)", b="at%1%2"}, --p
1033 {a="T([%|\"])", b="t%1"}, 1037 {a="[TH]([%|\"])", b="t%1"},
1034 {a="aT(%p*)$", b="a%1"}, 1038 {a="a[TH](%p*)$", b="a%1"},
1035 {a="aT(%p*%s)", b="a%1"}, 1039 {a="a[TH](%p*%s)", b="a%1"},
1036 {a="_t", b="ṯ"}, 1040 {a="_t", b="ṯ"},
1037 {a="%^g", b="ǧ"}, 1041 {a="%^g", b="ǧ"},
1038 {a="%.h", b="ḥ"}, 1042 {a="%.h", b="ḥ"},
@@ -1086,6 +1090,7 @@ singletrarabica = {
1086 {a="y", b="y"}, 1090 {a="y", b="y"},
1087 {a="T", b="t"}, 1091 {a="T", b="t"},
1088 -- additional characters (begin) 1092 -- additional characters (begin)
1093 {a="H", b="t"},
1089 {a="p", b="p"}, 1094 {a="p", b="p"},
1090 {a="v", b="v"}, 1095 {a="v", b="v"},
1091 {a="g", b="g"}, 1096 {a="g", b="g"},
diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua
index 362c866..4db5d3a 100644
--- a/arabluatex_voc.lua
+++ b/arabluatex_voc.lua
@@ -243,7 +243,7 @@ hamza = {
243 -- mi'aT is special orthography (unlike ^say'aN and .zim'aN): 243 -- mi'aT is special orthography (unlike ^say'aN and .zim'aN):
244 -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new 244 -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new
245 -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new 245 -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new
246 {a="(mi)(%')(a[Tt])", b="%1ائ%3"}, 246 {a="(mi)(%')(a[TtH])", b="%1ائ%3"},
247 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"}, 247 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"},
248 -- final hamzah is on the line after a letter of prolongation or a 248 -- final hamzah is on the line after a letter of prolongation or a
249 -- consonant with sukūn 249 -- consonant with sukūn
@@ -368,7 +368,7 @@ hamzaeasy = { -- differences marked below with 'easy'
368 -- mi'aT is special orthography (unlike ^say'aN and .zim'aN) 368 -- mi'aT is special orthography (unlike ^say'aN and .zim'aN)
369 -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new 369 -- {a="(%^sa%.?[yY])(\"?%|?)(%')(aN)", b="%1%2ئ%4"}, --new
370 -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new 370 -- {a="(.zi?m)(%')(aN)", b="%1ئ%3"}, --new
371 {a="(mi)(%')(a[Tt])", b="%1ائ%3"}, 371 {a="(mi)(%')(a[TtH])", b="%1ائ%3"},
372 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"}, 372 {a="(mi)(%')(aN%_?[AY])", b="%1أ%3"},
373 -- easy (begin) 373 -- easy (begin)
374 -- The Munjid says that such words as radI'aN do not have the 374 -- The Munjid says that such words as radI'aN do not have the
@@ -443,9 +443,9 @@ tanwin = {
443 {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"}, 443 {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"},
444 {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, 444 {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"},
445 {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, 445 {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"},
446 {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, 446 {a="([TH])%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
447 {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new 447 {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new
448 {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, 448 {a="([^TAH])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
449 {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, 449 {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"},
450 -- assimilations (end) 450 -- assimilations (end)
451 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="%5"}, 451 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="%5"},
@@ -455,9 +455,9 @@ tanwin = {
455 {a="(B)%-?(\"aN)", b="%1"}, 455 {a="(B)%-?(\"aN)", b="%1"},
456 {a="%-?(\"aN)(_A)", b="ى"}, 456 {a="%-?(\"aN)(_A)", b="ى"},
457 {a="%-?(\"aN)(Y)", b="ى"}, 457 {a="%-?(\"aN)(Y)", b="ى"},
458 {a="(T)%-?(\"aN)", b="%1"}, 458 {a="([TH])%-?(\"aN)", b="%1"},
459 {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new 459 {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new
460 {a="([^TA])%-?(\"aN)", b="%1ا"}, 460 {a="([^TAH])%-?(\"aN)", b="%1ا"},
461 {a="%-?(\"iNI?)", b=""}, 461 {a="%-?(\"iNI?)", b=""},
462 -- quoted tanwīn (end) 462 -- quoted tanwīn (end)
463 {a="%-?(uN)", b="ٌ"}, 463 {a="%-?(uN)", b="ٌ"},
@@ -465,15 +465,15 @@ tanwin = {
465 -- needed by \arbcolor: 465 -- needed by \arbcolor:
466 {a="%-?(aN)(O[%S]-%_AO)", b="ً"}, 466 {a="%-?(aN)(O[%S]-%_AO)", b="ً"},
467 {a="%-?(aN)(O[%S]-YO)", b="ً"}, 467 {a="%-?(aN)(O[%S]-YO)", b="ً"},
468 {a="(O[%S]-TO)%-?(aN)", b="ً"}, 468 {a="(O[%S]-[TH]O)%-?(aN)", b="ً"},
469 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new 469 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new
470 {a="(O[%S]-[^TA]O)%-?(aN)", b="ًا"}, 470 {a="(O[%S]-[^TAH]O)%-?(aN)", b="ًا"},
471 -- 471 --
472 {a="%-?(aN)(_A)", b="ًى"}, 472 {a="%-?(aN)(_A)", b="ًى"},
473 {a="%-?(aN)(Y)", b="ًى"}, 473 {a="%-?(aN)(Y)", b="ًى"},
474 {a="(T)%-?(aN)", b="%1ً"}, 474 {a="([TH])%-?(aN)", b="%1ً"},
475 {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new 475 {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new
476 {a="([^TA])%-?(aN)", b="%1ًا"}, 476 {a="([^TAH])%-?(aN)", b="%1ًا"},
477 {a="%-?(iNI?)", b="ٍ"} 477 {a="%-?(iNI?)", b="ٍ"}
478} 478}
479 479
@@ -492,9 +492,9 @@ tanwineasy = { -- 'easy' requires some lines to be taken out:
492-- {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"}, 492-- {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"},
493-- {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, 493-- {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"},
494-- {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, 494-- {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"},
495-- {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, 495-- {a="([TH])%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
496-- {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new 496-- {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1%2%3%4%4"}, --new
497-- {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, 497-- {a="([^TAH])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
498-- {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, 498-- {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"},
499 -- assimilations (end) 499 -- assimilations (end)
500 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="%5"}, 500 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="%5"},
@@ -504,9 +504,9 @@ tanwineasy = { -- 'easy' requires some lines to be taken out:
504 {a="(B)%-?(\"aN)", b="%1"}, 504 {a="(B)%-?(\"aN)", b="%1"},
505 {a="%-?(\"aN)(_A)", b="ى"}, 505 {a="%-?(\"aN)(_A)", b="ى"},
506 {a="%-?(\"aN)(Y)", b="ى"}, 506 {a="%-?(\"aN)(Y)", b="ى"},
507 {a="(T)%-?(\"aN)", b="%1"}, 507 {a="([TH])%-?(\"aN)", b="%1"},
508 {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new 508 {a="([اآ])(ء)%-?(\"aN)", b="%1%2"}, --new
509 {a="([^TA])%-?(\"aN)", b="%1ا"}, 509 {a="([^TAH])%-?(\"aN)", b="%1ا"},
510 {a="%-?(\"iNI?)", b=""}, 510 {a="%-?(\"iNI?)", b=""},
511 -- quoted tanwīn (end) 511 -- quoted tanwīn (end)
512 {a="%-?(uN)", b="ٌ"}, 512 {a="%-?(uN)", b="ٌ"},
@@ -514,15 +514,15 @@ tanwineasy = { -- 'easy' requires some lines to be taken out:
514 -- needed by \arbcolor: 514 -- needed by \arbcolor:
515 {a="%-?(aN)(O[%S]-%_AO)", b="ً"}, 515 {a="%-?(aN)(O[%S]-%_AO)", b="ً"},
516 {a="%-?(aN)(O[%S]-YO)", b="ً"}, 516 {a="%-?(aN)(O[%S]-YO)", b="ً"},
517 {a="(O[%S]-TO)%-?(aN)", b="ً"}, 517 {a="(O[%S]-[TH]O)%-?(aN)", b="ً"},
518 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new 518 {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new
519 {a="(O[%S]-[^TA]O)%-?(aN)", b="ًا"}, 519 {a="(O[%S]-[^TAH]O)%-?(aN)", b="ًا"},
520 -- 520 --
521 {a="%-?(aN)(_A)", b="ًى"}, 521 {a="%-?(aN)(_A)", b="ًى"},
522 {a="%-?(aN)(Y)", b="ًى"}, 522 {a="%-?(aN)(Y)", b="ًى"},
523 {a="(T)%-?(aN)", b="%1ً"}, 523 {a="([TH])%-?(aN)", b="%1ً"},
524 {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new 524 {a="([اآ])(ء)%-?(aN)", b="%1%2ً"}, --new
525 {a="([^TA])%-?(aN)", b="%1ًا"}, 525 {a="([^TAH])%-?(aN)", b="%1ًا"},
526 {a="%-?(iNI?)", b="ٍ"} 526 {a="%-?(iNI?)", b="ٍ"}
527} 527}
528 528
@@ -836,6 +836,7 @@ single = {
836 {a="y", b="ي"}, 836 {a="y", b="ي"},
837 {a="T", b="ة"}, 837 {a="T", b="ة"},
838 -- additional characters (begin) 838 -- additional characters (begin)
839 {a="H", b="ه"},
839 {a="p", b="پ"}, 840 {a="p", b="پ"},
840 {a="v", b="ڤ"}, 841 {a="v", b="ڤ"},
841 {a="g", b="گ"}, 842 {a="g", b="گ"},
diff --git a/makefile b/makefile
index 19012c3..900ae1d 100644
--- a/makefile
+++ b/makefile
@@ -54,6 +54,11 @@ auctex: clean
54 fi 54 fi
55 cp $(pkg)*.el $(HOMEDIR)/.emacs.d/auctex/auto 55 cp $(pkg)*.el $(HOMEDIR)/.emacs.d/auctex/auto
56 56
57zip: all
58 ln -sf . $(pkg)
59 zip -Drq $(PWD)/$(pkg)-$(ver).zip $(pkg)/{samples,README.md,$(pkg)*.{pdf,sty,lua,el}}
60 rm $(pkg)
61
57package: clean all 62package: clean all
58 mkdir -p arabluatex/samples/ 63 mkdir -p arabluatex/samples/
59 cp *.{lua,ins,dtx,md,pdf} makefile README.tex arabluatex/ # .bib is in dtx 64 cp *.{lua,ins,dtx,md,pdf} makefile README.tex arabluatex/ # .bib is in dtx
@@ -83,4 +88,4 @@ clean:
83 pandoc -s README.tex -o README.md && sed -i 's/{#.*}//g' README.md 88 pandoc -s README.tex -o README.md && sed -i 's/{#.*}//g' README.md
84 pandoc -s README.tex -o about.html 89 pandoc -s README.tex -o about.html
85 90
86.PHONY: sty doc all local inst auctex package clean 91.PHONY: sty doc all local inst auctex zip package clean