aboutsummaryrefslogtreecommitdiff
path: root/arabluatex_voc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'arabluatex_voc.lua')
-rw-r--r--arabluatex_voc.lua122
1 files changed, 61 insertions, 61 deletions
diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua
index c9d0334..65fbc29 100644
--- a/arabluatex_voc.lua
+++ b/arabluatex_voc.lua
@@ -168,7 +168,7 @@ buckwalter = {
168 {a="F", b="aN"}, 168 {a="F", b="aN"},
169 {a="K", b="iN"}, 169 {a="K", b="iN"},
170 {a="o", b="\""}, 170 {a="o", b="\""},
171 {a="P", b="o"}, -- pass on to \arbnull 171 {a="P", b="O"}, -- pass on to \arbnull
172 -- hard-coded connective alif 172 -- hard-coded connective alif
173 {a="%[", b="ٱ"}, 173 {a="%[", b="ٱ"},
174 {a="L", b="ٱ"} -- BW safe 174 {a="L", b="ٱ"} -- BW safe
@@ -179,9 +179,9 @@ hamza = {
179 {a="(')(%-)([uaiUAI])", b="%1%3"}, 179 {a="(')(%-)([uaiUAI])", b="%1%3"},
180 -- next lines for ʾalif alone 180 -- next lines for ʾalif alone
181 {a="(%.A)([uai]?)l%-(%^n)", b="ا%2ل%3"}, --additional (^n is lunar) 181 {a="(%.A)([uai]?)l%-(%^n)", b="ا%2ل%3"}, --additional (^n is lunar)
182 {a="([%(%[%|%<%s%-o])(%.A)([uai]?)l%-(%^n)", b="%1ا%3%4"}, --additional (^n is lunar) --p 182 {a="([%(%[%|%<%s%-O])(%.A)([uai]?)l%-(%^n)", b="%1ا%3%4"}, --additional (^n is lunar) --p
183 {a="(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="ا%2ل%3%3"}, 183 {a="(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="ا%2ل%3%3"},
184 {a="([%(%[%|%<%s%-o])(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%3ل%4%4"}, --p 184 {a="([%(%[%|%<%s%-O])(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%3ل%4%4"}, --p
185 {a="%.A", b="ا"}, 185 {a="%.A", b="ا"},
186 -- hard coded hamza 186 -- hard coded hamza
187 {a="|\"'", b="ء"}, 187 {a="|\"'", b="ء"},
@@ -221,10 +221,10 @@ hamza = {
221 {a="(A)(')", b="aآء"}, -- historic madda 221 {a="(A)(')", b="aآء"}, -- historic madda
222 -- initial (needs both ^ and %W patterns) 222 -- initial (needs both ^ and %W patterns)
223 -- 'aw: the diphthong is to be resolved into 'awi' (next 8 lines) 223 -- 'aw: the diphthong is to be resolved into 'awi' (next 8 lines)
224 {a="^('aw)(o)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, 224 {a="^('aw)(O)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1i"},
225 {a="(%W)('aw)(o)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, 225 {a="(%W)('aw)(O)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1%2i"},
226 {a="^('aw)(o)(\"?[uai])([%S]-o)", b="%1i"}, 226 {a="^('aw)(O)(\"?[uai])([%S]-O)", b="%1i"},
227 {a="(%W)('aw)(o)(\"?[uai])([%S]-o)", b="%1%2i"}, 227 {a="(%W)('aw)(O)(\"?[uai])([%S]-O)", b="%1%2i"},
228 {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, 228 {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
229 {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, 229 {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"},
230 {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p 230 {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p
@@ -296,9 +296,9 @@ hamzaeasy = { -- differences marked below with 'easy'
296 {a="(')(%-)([uaiUAI])", b="%1%3"}, 296 {a="(')(%-)([uaiUAI])", b="%1%3"},
297 -- next lines for ʾalif alone (easy) 297 -- next lines for ʾalif alone (easy)
298 {a="(%.A)([uai]?)l%-(%^n)", b="ا%2ل%3"}, --additional (^n is lunar) 298 {a="(%.A)([uai]?)l%-(%^n)", b="ا%2ل%3"}, --additional (^n is lunar)
299 {a="([%(%[%|%<%s%-o])(%.A)([uai]?)l%-(%^n)", b="%1ا%3%4"}, --additional (^n is lunar) --p 299 {a="([%(%[%|%<%s%-O])(%.A)([uai]?)l%-(%^n)", b="%1ا%3%4"}, --additional (^n is lunar) --p
300 {a="(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="ا%2ل%3"}, 300 {a="(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="ا%2ل%3"},
301 {a="([%(%[%|%<%s%-o])(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%3ل%4"}, --p 301 {a="([%(%[%|%<%s%-O])(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%3ل%4"}, --p
302 {a="%.A", b="ا"}, 302 {a="%.A", b="ا"},
303 -- hard coded hamza 303 -- hard coded hamza
304 {a="|\"'", b="ء"}, 304 {a="|\"'", b="ء"},
@@ -340,10 +340,10 @@ hamzaeasy = { -- differences marked below with 'easy'
340 --easy (end) 340 --easy (end)
341 -- initial (needs both ^ and %W patterns) 341 -- initial (needs both ^ and %W patterns)
342 -- 'aw: the diphthong is to be resolved into 'awi' (next 8 lines) 342 -- 'aw: the diphthong is to be resolved into 'awi' (next 8 lines)
343 {a="^('aw)(o)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, 343 {a="^('aw)(O)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1i"},
344 {a="(%W)('aw)(o)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, 344 {a="(%W)('aw)(O)('[%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1%2i"},
345 {a="^('aw)(o)(\"?[uai])([%S]-o)", b="%1i"}, 345 {a="^('aw)(O)(\"?[uai])([%S]-O)", b="%1i"},
346 {a="(%W)('aw)(o)(\"?[uai])([%S]-o)", b="%1%2i"}, 346 {a="(%W)('aw)(O)(\"?[uai])([%S]-O)", b="%1%2i"},
347 {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, 347 {a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
348 {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, 348 {a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"},
349 {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, 349 {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"},
@@ -422,17 +422,17 @@ hamzaeasy = { -- differences marked below with 'easy'
422 422
423tanwin = { 423tanwin = {
424 -- assimilations (begin) 424 -- assimilations (begin)
425 {a="(o[%S]-)(%-?[uai]N[UI]?)(o)([rlmnwy])", b="%4%4"}, 425 {a="(O[%S]-)(%-?[uai]N[UI]?)(O)([rlmnwy])", b="%4%4"},
426 {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"}, 426 {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"},
427 -- assimilations (end) 427 -- assimilations (end)
428 {a="(o[%S]-)(%-?[uai]N[UI]?)(o)([uai])", b="%4"}, 428 {a="(O[%S]-)(%-?[uai]N[UI]?)(O)([uai])", b="%4"},
429 {a="%-?uNU", b="ٌو"}, 429 {a="%-?uNU", b="ٌو"},
430 {a="%-?aNU", b="ًوا"}, 430 {a="%-?aNU", b="ًوا"},
431 {a="%-?iNU", b="ٍو"}, 431 {a="%-?iNU", b="ٍو"},
432 -- assimilations (begin) 432 -- assimilations (begin)
433 {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, 433 {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"},
434 {a="(o[%S]-)(%-?aN)(_A)(o)([rlmnwy])", b="%5%5"}, 434 {a="(O[%S]-)(%-?aN)(_A)(O)([rlmnwy])", b="%5%5"},
435 {a="(o[%S]-)(%-?aN)(Y)(o)([rlmnwy])", b="%5%5"}, 435 {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"},
436 {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, 436 {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"},
437 {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, 437 {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"},
438 {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, 438 {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
@@ -440,8 +440,8 @@ tanwin = {
440 {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, 440 {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
441 {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, 441 {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"},
442 -- assimilations (end) 442 -- assimilations (end)
443 {a="(o[%S]-)(%-?aN)(_A)(o)([uai])", b="%5"}, 443 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="%5"},
444 {a="(o[%S]-)(%-?aN)(Y)(o)([uai])", b="%5"}, 444 {a="(O[%S]-)(%-?aN)(Y)(O)([uai])", b="%5"},
445 -- quoted tanwīn (begin) 445 -- quoted tanwīn (begin)
446 {a="%-?(\"uN)", b=""}, 446 {a="%-?(\"uN)", b=""},
447 {a="(B)%-?(\"aN)", b="%1"}, 447 {a="(B)%-?(\"aN)", b="%1"},
@@ -464,17 +464,17 @@ tanwin = {
464 464
465tanwineasy = { -- 'easy' requires some lines to be taken out: 465tanwineasy = { -- 'easy' requires some lines to be taken out:
466 -- assimilations (begin) 466 -- assimilations (begin)
467-- {a="(o[%S]-)(%-?[uai]N[UI]?)(o)([rlmnwy])", b="%4%4"}, 467-- {a="(O[%S]-)(%-?[uai]N[UI]?)(O)([rlmnwy])", b="%4%4"},
468-- {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"}, 468-- {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"},
469 -- assimilations (end) 469 -- assimilations (end)
470 {a="(o[%S]-)(%-?[uai]N[UI]?)(o)([uai])", b="%4"}, 470 {a="(O[%S]-)(%-?[uai]N[UI]?)(O)([uai])", b="%4"},
471 {a="%-?uNU", b="ٌو"}, 471 {a="%-?uNU", b="ٌو"},
472 {a="%-?aNU", b="ًوا"}, 472 {a="%-?aNU", b="ًوا"},
473 {a="%-?iNU", b="ٍو"}, 473 {a="%-?iNU", b="ٍو"},
474 -- assimilations (begin) 474 -- assimilations (begin)
475-- {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"}, 475-- {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"},
476-- {a="(o[%S]-)(%-?aN)(_A)(o)([rlmnwy])", b="%5%5"}, 476-- {a="(O[%S]-)(%-?aN)(_A)(O)([rlmnwy])", b="%5%5"},
477-- {a="(o[%S]-)(%-?aN)(Y)(o)([rlmnwy])", b="%5%5"}, 477-- {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"},
478-- {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"}, 478-- {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"},
479-- {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"}, 479-- {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"},
480-- {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"}, 480-- {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
@@ -482,8 +482,8 @@ tanwineasy = { -- 'easy' requires some lines to be taken out:
482-- {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"}, 482-- {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
483-- {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"}, 483-- {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"},
484 -- assimilations (end) 484 -- assimilations (end)
485 {a="(o[%S]-)(%-?aN)(_A)(o)([uai])", b="%5"}, 485 {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="%5"},
486 {a="(o[%S]-)(%-?aN)(Y)(o)([uai])", b="%5"}, 486 {a="(O[%S]-)(%-?aN)(Y)(O)([uai])", b="%5"},
487 -- quoted tanwīn (begin) 487 -- quoted tanwīn (begin)
488 {a="%-?(\"uN)", b=""}, 488 {a="%-?(\"uN)", b=""},
489 {a="(B)%-?(\"aN)", b="%1"}, 489 {a="(B)%-?(\"aN)", b="%1"},
@@ -509,42 +509,42 @@ trigraphs = { -- trigraphs or more
509 {a="^'ll(a)([%_]?[dt])", b="الّ%1%2"}, 509 {a="^'ll(a)([%_]?[dt])", b="الّ%1%2"},
510 {a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1الّ%2%3"}, --p 510 {a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1الّ%2%3"}, --p
511 -- law: the diphthong is to be resolved into 'awi' (next 8 lines) 511 -- law: the diphthong is to be resolved into 'awi' (next 8 lines)
512 {a="^(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, 512 {a="^(law)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1i"},
513 {a="(%W)(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, 513 {a="(%W)(law)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1%2i"},
514 {a="^(law)(o)(\"?[uai])([%S]-o)", b="%1i"}, 514 {a="^(law)(O)(\"?[uai])([%S]-O)", b="%1i"},
515 {a="(%W)(law)(o)(\"?[uai])([%S]-o)", b="%1%2i"}, 515 {a="(%W)(law)(O)(\"?[uai])([%S]-O)", b="%1%2i"},
516 {a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, 516 {a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
517 {a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, 517 {a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"},
518 {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p 518 {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p
519 {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, --p 519 {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, --p
520 -- al- + lām 520 -- al- + lām
521 {a="^(a)l%-(l)", b="ا%1ل%2%2"}, 521 {a="^(a)l%-(l)", b="ا%1ل%2%2"},
522 {a="([%(%[%|%<%s%-o])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p 522 {a="([%(%[%|%<%s%-O])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p
523 -- al- + solar consonant ('c' and '^n' are additional characters) 523 -- al- + solar consonant ('c' and '^n' are additional characters)
524 {a="^(a)l%-(%^n)", b="ا%1ل%2"}, -- ^n is lunar 524 {a="^(a)l%-(%^n)", b="ا%1ل%2"}, -- ^n is lunar
525 {a="([%(%[%|%<%s%-o])(a)l%-(%^n)", b="%1ا%2ل%3"},-- ^n is lunar --p 525 {a="([%(%[%|%<%s%-O])(a)l%-(%^n)", b="%1ا%2ل%3"},-- ^n is lunar --p
526 {a="^(a)l%-([%_%^%.]?[tdrzsnc])", b="ا%1ل%2%2"}, 526 {a="^(a)l%-([%_%^%.]?[tdrzsnc])", b="ا%1ل%2%2"},
527 {a="([%(%[%|%<%s%-o])(a)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%2ل%3%3"}, --p 527 {a="([%(%[%|%<%s%-O])(a)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%2ل%3%3"}, --p
528 -- assim. art. + solar consonant ('c' and '^n' are additional characters) 528 -- assim. art. + solar consonant ('c' and '^n' are additional characters)
529 {a="^(a)(%^n)%-", b="ا%1ل"}, -- ^n is lunar 529 {a="^(a)(%^n)%-", b="ا%1ل"}, -- ^n is lunar
530 {a="([%(%[%|%<%s%-o])(a)(%^n)%-", b="%1ا%2ل"},-- ^n is lunar --p 530 {a="([%(%[%|%<%s%-O])(a)(%^n)%-", b="%1ا%2ل"},-- ^n is lunar --p
531 {a="^(a)([%_%^%.]?[tdrzsnc])%-", b="ا%1ل%2"}, 531 {a="^(a)([%_%^%.]?[tdrzsnc])%-", b="ا%1ل%2"},
532 {a="([%(%[%|%<%s%-o])(a)([%_%^%.]?[tdrzsnc])%-", b="%1ا%2ل%3"}, --p 532 {a="([%(%[%|%<%s%-O])(a)([%_%^%.]?[tdrzsnc])%-", b="%1ا%2ل%3"}, --p
533 -- al- + initial unstable hamza 533 -- al- + initial unstable hamza
534 {a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"}, 534 {a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"},
535 {a="([%(%[%|%<%s%-o])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, --p 535 {a="([%(%[%|%<%s%-O])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, --p
536 {a="^(a)l%-([uai])", b="ا%1ل%2ا"}, 536 {a="^(a)l%-([uai])", b="ا%1ل%2ا"},
537 {a="([%(%[%|%<%s%-o])(a)l%-([uai])", b="%1ا%2ل%3ا"}, --p 537 {a="([%(%[%|%<%s%-O])(a)l%-([uai])", b="%1ا%2ل%3ا"}, --p
538 -- li-/la- + art. + initial unstable hamza is a special orthography 538 -- li-/la- + art. + initial unstable hamza is a special orthography
539 {a="l([ai])%-l%-(\")([uai])", b="ل%1ل%3ٱ"}, 539 {a="l([ai])%-l%-(\")([uai])", b="ل%1ل%3ٱ"},
540 {a="l([ai])%-l%-([uai])", b="ل%1ل%2ا"}, 540 {a="l([ai])%-l%-([uai])", b="ل%1ل%2ا"},
541 -- al- + lunar consonant (i.e. what remains) 541 -- al- + lunar consonant (i.e. what remains)
542 {a="^(a)l%-", b="ا%1ل"}, 542 {a="^(a)l%-", b="ا%1ل"},
543 {a="([%(%[%|%<%s%-o])(a)l%-", b="%1ا%2ل"}, --p 543 {a="([%(%[%|%<%s%-O])(a)l%-", b="%1ا%2ل"}, --p
544 -- diphthongs to be resolved before ʾalif conjunctionis 544 -- diphthongs to be resolved before ʾalif conjunctionis
545 {a="(aW)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="awuا"}, 545 {a="(aW)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="awuا"},
546 {a="(aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1u"}, 546 {a="(aw)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1u"},
547 {a="(ay)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, 547 {a="(ay)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1i"},
548 {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, 548 {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"},
549 {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, 549 {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"},
550 {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, 550 {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
@@ -589,7 +589,7 @@ trigraphs = { -- trigraphs or more
589idgham = { 589idgham = {
590 -- assimilations 590 -- assimilations
591 {a="(n)(%s)([rlmnwy])", b="%1%2%3%3"}, 591 {a="(n)(%s)([rlmnwy])", b="%1%2%3%3"},
592 {a="(n)(o)([rlmnwy])([%S]-o)", b="%3"} 592 {a="(n)(O)([rlmnwy])([%S]-O)", b="%3"}
593} 593}
594 594
595trigraphseasy = { -- differences marked below with 'easy' 595trigraphseasy = { -- differences marked below with 'easy'
@@ -599,43 +599,43 @@ trigraphseasy = { -- differences marked below with 'easy'
599 {a="^'ll(a)([%_]?[dt])", b="الّ%1%2"}, 599 {a="^'ll(a)([%_]?[dt])", b="الّ%1%2"},
600 {a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1الّ%2%3"}, --p 600 {a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1الّ%2%3"}, --p
601 -- law: the diphthong is to be resloved into 'awi' (next 8 lines) 601 -- law: the diphthong is to be resloved into 'awi' (next 8 lines)
602 {a="^(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, 602 {a="^(law)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1i"},
603 {a="(%W)(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"}, 603 {a="(%W)(law)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1%2i"},
604 {a="^(law)(o)(\"?[uai])([%S]-o)", b="%1i"}, 604 {a="^(law)(O)(\"?[uai])([%S]-O)", b="%1i"},
605 {a="(%W)(law)(o)(\"?[uai])([%S]-o)", b="%1%2i"}, 605 {a="(%W)(law)(O)(\"?[uai])([%S]-O)", b="%1%2i"},
606 {a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, 606 {a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
607 {a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"}, 607 {a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"},
608 {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p 608 {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p
609 {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, --p 609 {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, --p
610 -- al- + lām (easy) 610 -- al- + lām (easy)
611 {a="^(a)l%-(l)", b="ا%1ل%2"}, 611 {a="^(a)l%-(l)", b="ا%1ل%2"},
612 {a="([%(%[%|%<%s%-o])(a)l%-(l)", b="%1ا%2ل%3"}, --p 612 {a="([%(%[%|%<%s%-O])(a)l%-(l)", b="%1ا%2ل%3"}, --p
613 -- al- + solar consonant (easy) ('c' and '^n' are additional characters) 613 -- al- + solar consonant (easy) ('c' and '^n' are additional characters)
614 {a="^(a)l%-(%^n)", b="ا%1ل%2"}, -- ^n is lunar 614 {a="^(a)l%-(%^n)", b="ا%1ل%2"}, -- ^n is lunar
615 {a="([%(%[%|%<%s%-o])(a)l%-(%^n)", b="%1ا%2ل%3"}, -- ^n is lunar --p 615 {a="([%(%[%|%<%s%-O])(a)l%-(%^n)", b="%1ا%2ل%3"}, -- ^n is lunar --p
616 {a="^(a)l%-([%_%^%.]?[tdrzsnc])", b="ا%1ل%2"}, 616 {a="^(a)l%-([%_%^%.]?[tdrzsnc])", b="ا%1ل%2"},
617 {a="([%(%[%|%<%s%-o])(a)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%2ل%3"}, --p 617 {a="([%(%[%|%<%s%-O])(a)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%2ل%3"}, --p
618 -- assim. art. + solar consonant (easy) ('c' and '^n' are 618 -- assim. art. + solar consonant (easy) ('c' and '^n' are
619 -- additional characters) 619 -- additional characters)
620 {a="^(a)(%^n)%-", b="ا%1ل"}, -- ^n is lunar 620 {a="^(a)(%^n)%-", b="ا%1ل"}, -- ^n is lunar
621 {a="([%(%[%|%<%s%-o])(a)(%^n)%-", b="%1ا%2ل"}, -- ^n is lunar --p 621 {a="([%(%[%|%<%s%-O])(a)(%^n)%-", b="%1ا%2ل"}, -- ^n is lunar --p
622 {a="^(a)([%_%^%.]?[tdrzsnc])%-", b="ا%1ل"}, 622 {a="^(a)([%_%^%.]?[tdrzsnc])%-", b="ا%1ل"},
623 {a="([%(%[%|%<%s%-o])(a)([%_%^%.]?[tdrzsnc])%-", b="%1ا%2ل"}, --p 623 {a="([%(%[%|%<%s%-O])(a)([%_%^%.]?[tdrzsnc])%-", b="%1ا%2ل"}, --p
624 -- al- + initial unstable hamza 624 -- al- + initial unstable hamza
625 {a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"}, 625 {a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"},
626 {a="([%(%[%|%<%s%-o])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, --p 626 {a="([%(%[%|%<%s%-O])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, --p
627 {a="^(a)l%-([uai])", b="ا%1ل%2ا"}, 627 {a="^(a)l%-([uai])", b="ا%1ل%2ا"},
628 {a="([%(%[%|%<%s%-o])(a)l%-([uai])", b="%1ا%2ل%3ا"}, --p 628 {a="([%(%[%|%<%s%-O])(a)l%-([uai])", b="%1ا%2ل%3ا"}, --p
629 -- li-/la- + art. + initial unstable hamza is a special orthography 629 -- li-/la- + art. + initial unstable hamza is a special orthography
630 {a="l([ai])%-l%-(\")([uai])", b="ل%1ل%3ٱ"}, 630 {a="l([ai])%-l%-(\")([uai])", b="ل%1ل%3ٱ"},
631 {a="l([ai])%-l%-([uai])", b="ل%1ل%2ا"}, 631 {a="l([ai])%-l%-([uai])", b="ل%1ل%2ا"},
632 -- al- + lunar consonant (i.e. what remains) 632 -- al- + lunar consonant (i.e. what remains)
633 {a="^(a)l%-", b="ا%1ل"}, 633 {a="^(a)l%-", b="ا%1ل"},
634 {a="([%(%[%|%<%s%-o])(a)l%-", b="%1ا%2ل"}, --p 634 {a="([%(%[%|%<%s%-O])(a)l%-", b="%1ا%2ل"}, --p
635 -- diphthongs to be resolved before ʾalif conjunctionis 635 -- diphthongs to be resolved before ʾalif conjunctionis
636 {a="(aW)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="awuا"}, 636 {a="(aW)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="awuا"},
637 {a="(aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1u"}, 637 {a="(aw)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1u"},
638 {a="(ay)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"}, 638 {a="(ay)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1i"},
639 {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"}, 639 {a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"},
640 {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"}, 640 {a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"},
641 {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"}, 641 {a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
@@ -694,18 +694,18 @@ digraphs = {
694 {a="^\"[uai]", b="ٱ"}, 694 {a="^\"[uai]", b="ٱ"},
695 {a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p 695 {a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p
696 -- diphthongs to be resolved before ʾalif conjunctionis 696 -- diphthongs to be resolved before ʾalif conjunctionis
697 {a="(aW)(o)(\"?[uai])([%S]-o)", b="awuا"}, 697 {a="(aW)(O)(\"?[uai])([%S]-O)", b="awuا"},
698 {a="(aW)(%s)([%(%[%|%<]?)([uai])", b="awuا%2%3%4"}, --p 698 {a="(aW)(%s)([%(%[%|%<]?)([uai])", b="awuا%2%3%4"}, --p
699 {a="(aw)(o)(\"?[uai])([%S]-o)", b="%1u"}, 699 {a="(aw)(O)(\"?[uai])([%S]-O)", b="%1u"},
700 {a="(aw)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1u%2%3ا"}, --p 700 {a="(aw)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1u%2%3ا"}, --p
701 {a="(ay)(o)(\"?[uai])([%S]-o)", b="%1i"}, 701 {a="(ay)(O)(\"?[uai])([%S]-O)", b="%1i"},
702 {a="(ay)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1i%2%3ا"}, --p 702 {a="(ay)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1i%2%3ا"}, --p
703 -- hyphen + initial alif without hamza: 703 -- hyphen + initial alif without hamza:
704 {a="([uai]%-)(\"?[uai])([%^%_%.%`]?)([%aإأؤئ])", b="%1ا%3%4"}, 704 {a="([uai]%-)(\"?[uai])([%^%_%.%`]?)([%aإأؤئ])", b="%1ا%3%4"},
705 -- initial alif without hamza 705 -- initial alif without hamza
706 {a="^([%(%[%|%<]?)(\"?[uai])", b="%1ا%2"}, --p 706 {a="^([%(%[%|%<]?)(\"?[uai])", b="%1ا%2"}, --p
707 -- initial alif without hamza 707 -- initial alif without hamza
708 {a="(o[%S]-)([uaiUAIY])(o)(\"?[uai])", b="ا"}, 708 {a="(O[%S]-)([uaiUAIY])(O)(\"?[uai])", b="ا"},
709 {a="(%s)([%(%[%|%<]?)(\"?[uai])", b="%1%2ا"}, --p 709 {a="(%s)([%(%[%|%<]?)(\"?[uai])", b="%1%2ا"}, --p
710 {a="%-%-", b="ـ"}, 710 {a="%-%-", b="ـ"},
711 {a="ؤؤ", b="ؤّ"}, 711 {a="ؤؤ", b="ؤّ"},
@@ -872,6 +872,6 @@ punctuation = {
872null = { 872null = {
873 {a="%|", b=""}, 873 {a="%|", b=""},
874 {a="([^0-9])(%-)", b="%1"}, 874 {a="([^0-9])(%-)", b="%1"},
875 {a="o[%S]-o", b=""}, 875 {a="O[%S]-O", b=""},
876 {a="[%^%_](.)", b=">??<%1"} 876 {a="[%^%_](.)", b=">??<%1"}
877} 877}