summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua')
-rw-r--r--Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua151
1 files changed, 87 insertions, 64 deletions
diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua
index fd0916950f7..8d2615e308a 100644
--- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua
+++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua
@@ -27,9 +27,9 @@ hamzafv = {
{a="(')(%-)([uaiUAI])", b="%1%3"},
-- next lines for ʾalif alone
{a="(%.A)([uai]?)l%-(%^n)", b="ا%2ل%3"}, --additional (^n is lunar)
- {a="([%(%[%|%<%s%-o])(%.A)([uai]?)l%-(%^n)", b="%1ا%3%4"}, --additional (^n is lunar) --p
+ {a="([%(%[%|%<%s%-O])(%.A)([uai]?)l%-(%^n)", b="%1ا%3%4"}, --additional (^n is lunar) --p
{a="(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="ا%2ل%3%3"},
- {a="([%(%[%|%<%s%-o])(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%3ل%4%4"}, --p
+ {a="([%(%[%|%<%s%-O])(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%3ل%4%4"}, --p
{a="%.A", b="ا"},
-- hard coded hamza
{a="|\"'", b="ء"},
@@ -68,7 +68,9 @@ hamzafv = {
{a="'a'([^uaiUAI])", b="آ%1"},
{a="([^uiyUI])\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
{a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"},
+ {a="\'a?A(O[%_%^%.]?[%`%'btjghxdrzsfqklmnywAY]-O)", b="آ"},
{a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
+ {a="(A)(O%'[%S]-O)", b="آ"},
{a="(A)(')(uN?%p*)$", b="aآء%3"},
{a="(A)(')(uN?)(%p*%s)", b="aآء%3%4"},
{a="(A)(')(iN?%p*)$", b="aآء%3"},
@@ -78,10 +80,10 @@ hamzafv = {
{a="(A)(')", b="aآء"}, -- historic madda
-- initial (needs both ^ and %W patterns)
-- 'aw: the diphthong is to be resolved into 'awi' (next 8 lines)
- {a="^('aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"},
- {a="(%W)('aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"},
- {a="^('aw)(o)([%(%[%|%<]?\"?[uai])([%S]-o)", b="%1i"},
- {a="(%W)('aw)(o)([%(%[%|%<]?\"?[uai])([%S]-o)", b="%1%2i"},
+ {a="^('aw)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1i"},
+ {a="(%W)('aw)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1%2i"},
+ {a="^('aw)(O)([%(%[%|%<]?\"?[uai])([%S]-O)", b="%1i"},
+ {a="(%W)('aw)(O)([%(%[%|%<]?\"?[uai])([%S]-O)", b="%1%2i"},
{a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
{a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"},
{a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"},
@@ -153,9 +155,9 @@ hamzafveasy = { -- differences marked below with 'easy'
{a="(')(%-)([uaiUAI])", b="%1%3"},
-- next lines for ʾalif alone
{a="(%.A)([uai]?)l%-(%^n)", b="ا%2ل%3"}, --additional (^n is lunar)
- {a="([%(%[%|%<%s%-o])(%.A)([uai]?)l%-(%^n)", b="%1ا%3%4"}, --additional (^n is lunar) --p
+ {a="([%(%[%|%<%s%-O])(%.A)([uai]?)l%-(%^n)", b="%1ا%3%4"}, --additional (^n is lunar) --p
{a="(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="ا%2ل%3%3"},
- {a="([%(%[%|%<%s%-o])(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%3ل%4%4"}, --p
+ {a="([%(%[%|%<%s%-O])(%.A)([uai]?)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%3ل%4%4"}, --p
{a="%.A", b="ا"},
-- hard coded hamza
{a="|\"'", b="ء"},
@@ -194,8 +196,10 @@ hamzafveasy = { -- differences marked below with 'easy'
{a="'a'([^uaiUAI])", b="آ%1"},
{a="([^uiyUI])\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
{a="^\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="آ%1"},
+ {a="\'a?A(O[%_%^%.]?[%`%'btjghxdrzsfqklmnywAY]-O)", b="آ"},
{a="(%W)\'a?A([%_%^%.]?[%`%'btjghxdrzsfqklmnywAY])", b="%1آ%2"},
--easy (begin)
+ {a="(A)(O%'[%S]-O)", b="ا"},
{a="(A)(')(uN?%p*)$", b="aاء%3"},
{a="(A)(')(uN?)(%p*%s)", b="aاء%3%4"},
{a="(A)(')(iN?%p*)$", b="aاء%3"},
@@ -206,10 +210,10 @@ hamzafveasy = { -- differences marked below with 'easy'
--easy (end)
-- initial (needs both ^ and %W patterns)
-- 'aw: the diphthong is to be resolved into 'awi' (next 8 lines)
- {a="^('aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"},
- {a="(%W)('aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"},
- {a="^('aw)(o)([%(%[%|%<]?\"?[uai])([%S]-o)", b="%1i"},
- {a="(%W)('aw)(o)([%(%[%|%<]?\"?[uai])([%S]-o)", b="%1%2i"},
+ {a="^('aw)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1i"},
+ {a="(%W)('aw)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1%2i"},
+ {a="^('aw)(O)([%(%[%|%<]?\"?[uai])([%S]-O)", b="%1i"},
+ {a="(%W)('aw)(O)([%(%[%|%<]?\"?[uai])([%S]-O)", b="%1%2i"},
{a="^('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
{a="(%W)('aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"},
{a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"},
@@ -288,10 +292,10 @@ hamzafveasy = { -- differences marked below with 'easy'
tanwinfv = { -- with assimilations (\SetArbDflt*)
-- assimilations (begin)
- {a="(o[%S]-)(%-?[uai]N[UI]?)(o)([rlmnwy])", b="%4%4"},
+ {a="(O[%S]-)(%-?[uai]N[UI]?)(O)([rlmnwy])", b="%4%4"},
{a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"},
-- assimilations (end)
- {a="(o[%S]-)(%-?[uai]N[UI]?)(o)([uai])", b="ٱ"},
+ {a="(O[%S]-)(%-?[uai]N[UI]?)(O)([uai])", b="ٱ"},
{a="%-?(uNU)(%s)([uai])", b="%1%2ٱ"},
{a="%-?(aNU)(%s)([uai])", b="%1%2ٱ"},
{a="%-?(iNU)(%s)([uai])", b="%1%2ٱ"},
@@ -302,8 +306,8 @@ tanwinfv = { -- with assimilations (\SetArbDflt*)
{a="%-?(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"},
-- assimilations (begin)
{a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"},
- {a="(o[%S]-)(%-?aN)(_A)(o)([rlmnwy])", b="%5%5"},
- {a="(o[%S]-)(%-?aN)(Y)(o)([rlmnwy])", b="%5%5"},
+ {a="(O[%S]-)(%-?aN)(_A)(O)([rlmnwy])", b="%5%5"},
+ {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"},
{a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"},
{a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"},
{a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
@@ -311,8 +315,8 @@ tanwinfv = { -- with assimilations (\SetArbDflt*)
{a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
{a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"},
-- assimilations (end)
- {a="(o[%S]-)(%-?aN)(_A)(o)([uai])", b="ٱ"},
- {a="(o[%S]-)(%-?aN)(Y)(o)([uai])", b="ٱ"},
+ {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="ٱ"},
+ {a="(O[%S]-)(%-?aN)(Y)(O)([uai])", b="ٱ"},
-- quoted tanwīn (begin)
{a="%-?(\"uN)", b=""},
{a="(B)%-?(\"aN)", b="%1"},
@@ -325,6 +329,13 @@ tanwinfv = { -- with assimilations (\SetArbDflt*)
-- quoted tanwīn (end)
{a="%-?(uN)", b="ٌ"},
{a="(B)%-?(aN)", b="%1ً"},
+ -- needed by \arbcolor:
+ {a="%-?(aN)(O[%S]-%_AO)", b="ً"},
+ {a="%-?(aN)(O[%S]-YO)", b="ً"},
+ {a="(O[%S]-TO)%-?(aN)", b="ً"},
+ {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new
+ {a="(O[%S]-[^TA]O)%-?(aN)", b="ًا"},
+ --
{a="%-?(aN)(_A)", b="ًى"},
{a="%-?(aN)(Y)", b="ًى"},
{a="(T)%-?(aN)", b="%1ً"},
@@ -335,10 +346,10 @@ tanwinfv = { -- with assimilations (\SetArbDflt*)
tanwinfveasy = { -- no assimilations (see below)
-- assimilations (begin)
---easy {a="(o[%S]-)(%-?[uai]N[UI]?)(o)([rlmnwy])", b="%4%4"},
+--easy {a="(O[%S]-)(%-?[uai]N[UI]?)(O)([rlmnwy])", b="%4%4"},
--easy {a="(%-?[uai]NU)(%s)([rlmnwy])", b="%1%2%3%3"},
-- assimilations (end)
- {a="(o[%S]-)(%-?[uai]N[UI]?)(o)([uai])", b="ٱ"},
+ {a="(O[%S]-)(%-?[uai]N[UI]?)(O)([uai])", b="ٱ"},
{a="%-?(uNU)(%s)([uai])", b="%1%2ٱ"},
{a="%-?(aNU)(%s)([uai])", b="%1%2ٱ"},
{a="%-?(iNU)(%s)([uai])", b="%1%2ٱ"},
@@ -349,8 +360,8 @@ tanwinfveasy = { -- no assimilations (see below)
{a="%-?(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"},
-- assimilations (begin)
--easy {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"},
---easy {a="(o[%S]-)(%-?aN)(_A)(o)([rlmnwy])", b="%5%5"},
---easy {a="(o[%S]-)(%-?aN)(Y)(o)([rlmnwy])", b="%5%5"},
+--easy {a="(O[%S]-)(%-?aN)(_A)(O)([rlmnwy])", b="%5%5"},
+--easy {a="(O[%S]-)(%-?aN)(Y)(O)([rlmnwy])", b="%5%5"},
--easy {a="%-?(aN)(_A)(%s)([rlmnwy])", b="ًى%3%4%4"},
--easy {a="%-?(aN)(Y)(%s)([rlmnwy])", b="ًى%3%4%4"},
--easy {a="(T)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
@@ -358,8 +369,8 @@ tanwinfveasy = { -- no assimilations (see below)
--easy {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
--easy {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"},
-- assimilations (end)
- {a="(o[%S]-)(%-?aN)(_A)(o)([uai])", b="ٱ"},
- {a="(o[%S]-)(%-?aN)(Y)(o)([uai])", b="ٱ"},
+ {a="(O[%S]-)(%-?aN)(_A)(O)([uai])", b="ٱ"},
+ {a="(O[%S]-)(%-?aN)(Y)(O)([uai])", b="ٱ"},
-- quoted tanwīn (begin)
{a="%-?(\"uN)", b=""},
{a="(B)%-?(\"aN)", b="%1"},
@@ -372,6 +383,13 @@ tanwinfveasy = { -- no assimilations (see below)
-- quoted tanwīn (end)
{a="%-?(uN)", b="ٌ"},
{a="(B)%-?(aN)", b="%1ً"},
+ -- needed by \arbcolor:
+ {a="%-?(aN)(O[%S]-%_AO)", b="ً"},
+ {a="%-?(aN)(O[%S]-YO)", b="ً"},
+ {a="(O[%S]-TO)%-?(aN)", b="ً"},
+ {a="(O[%S]-)([اآ])(ء)(O)%-?(aN)", b="ً"}, --new
+ {a="(O[%S]-[^TA]O)%-?(aN)", b="ًا"},
+ --
{a="%-?(aN)(_A)", b="ًى"},
{a="%-?(aN)(Y)", b="ًى"},
{a="(T)%-?(aN)", b="%1ً"},
@@ -381,43 +399,45 @@ tanwinfveasy = { -- no assimilations (see below)
}
trigraphsfv = { -- trigraphs or more
+ -- ʾalif al-waṣl: put it back on with \arbnull
+ {a="(O[%S]-)([%'a]l%-)(O)(\"?[uai])", b="ٱ"},
-- 'llatI / 'llad_I
{a="^'ll(a)([%_]?[dt])", b="ٱلّ%1%2"},
{a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1ٱلّ%2%3"}, --p
-- law: the diphthong is to be resolved into 'awi' (next 8 lines)
- {a="^(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"},
- {a="(%W)(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"},
- {a="^(law)(o)(\"?[uai])([%S]-o)", b="%1i"},
- {a="(%W)(law)(o)(\"?[uai])([%S]-o)", b="%1%2i"},
+ {a="^(law)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1i"},
+ {a="(%W)(law)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1%2i"},
+ {a="^(law)(O)(\"?[uai])([%S]-O)", b="%1i"},
+ {a="(%W)(law)(O)(\"?[uai])([%S]-O)", b="%1%2i"},
{a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
{a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"},
{a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"},
{a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"},
-- al- + lām
{a="^(a)l%-(l)", b="ا%1ل%2%2"},
- {a="([%(%[%|%<%s%-o])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p
+ {a="([%(%[%|%<%s%-O])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p
-- al- + solar consonant ('c' and '^n' are additional characters)
{a="^(a)l%-(%^n)", b="ا%1ل%2"}, -- ^n is lunar
- {a="([%(%[%|%<%s%-o])(a)l%-(%^n)", b="%1ا%2ل%3"}, -- ^n is lunar --p
+ {a="([%(%[%|%<%s%-O])(a)l%-(%^n)", b="%1ا%2ل%3"}, -- ^n is lunar --p
{a="^(a)l%-([%_%^%.]?[tdrzsnc])", b="ا%1ل%2%2"},
- {a="([%(%[%|%<%s%-o])(a)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%2ل%3%3"}, --p
+ {a="([%(%[%|%<%s%-O])(a)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%2ل%3%3"}, --p
-- assim. art. + solar consonant ('c' and '^n' are additional characters)
{a="^(a)(%^n)%-", b="ا%1ل"}, -- ^n is lunar
- {a="([%(%[%|%<%s%-o])(a)(%^n)%-", b="%1ا%2ل"}, -- ^n is lunar --p
+ {a="([%(%[%|%<%s%-O])(a)(%^n)%-", b="%1ا%2ل"}, -- ^n is lunar --p
{a="^(a)([%_%^%.]?[tdrzsnc])%-", b="ا%1ل%2"},
- {a="([%(%[%|%<%s%-o])(a)([%_%^%.]?[tdrzsnc])%-", b="%1ا%2ل%3"}, --p
+ {a="([%(%[%|%<%s%-O])(a)([%_%^%.]?[tdrzsnc])%-", b="%1ا%2ل%3"}, --p
-- al- + initial unstable hamza
{a="^(a)l%-(\"?[uai])", b="ا%1ل%2ٱ"},
- {a="([%(%[%|%<%s%-o])(a)l%-(\"?[uai])", b="%1ا%2ل%3ٱ"}, --p
+ {a="([%(%[%|%<%s%-O])(a)l%-(\"?[uai])", b="%1ا%2ل%3ٱ"}, --p
-- li-/la + art. + initial unstable hamza is a special orthography
{a="l([ai])%-l%-(\"?[uai])", b="ل%1ل%2ٱ"},
-- al- + lunar consonant (i.e. what remains)
{a="^(a)l%-", b="ا%1لْ"},
- {a="([%(%[%|%<%s%-o])(a)l%-", b="%1ا%2لْ"}, --p
+ {a="([%(%[%|%<%s%-O])(a)l%-", b="%1ا%2لْ"}, --p
-- diphthongs to be resolved before ʾalif conjunctionis
- {a="(aW)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="awuا"},
- {a="(aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1u"},
- {a="(ay)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"},
+ {a="(aW)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="awuا"},
+ {a="(aw)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1u"},
+ {a="(ay)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1i"},
{a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"},
{a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"},
{a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
@@ -462,43 +482,45 @@ trigraphsfv = { -- trigraphs or more
-- file.
trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs)
+ -- ʾalif al-waṣl: put it back on with \arbnull
+ {a="(O[%S]-)([%'a]l%-)(O)(\"?[uai])", b="ٱ"},
-- 'llatI / 'llad_I
{a="^'ll(a)([%_]?[dt])", b="ٱلّ%1%2"},
{a="([%(%[%|%<%s%-])'ll(a)([%_]?[dt])", b="%1ٱلّ%2%3"}, --p
-- law: the diphthong is to be resolved into 'awi' (next 8 lines)
- {a="^(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"},
- {a="(%W)(law)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1%2i"},
- {a="^(law)(o)(\"?[uai])([%S]-o)", b="%1i"},
- {a="(%W)(law)(o)(\"?[uai])([%S]-o)", b="%1%2i"},
+ {a="^(law)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1i"},
+ {a="(%W)(law)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1%2i"},
+ {a="^(law)(O)(\"?[uai])([%S]-O)", b="%1i"},
+ {a="(%W)(law)(O)(\"?[uai])([%S]-O)", b="%1%2i"},
{a="^(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
{a="(%W)(law)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1%2i%3%4"},
{a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"},
{a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"},
-- al- + lām
{a="^(a)l%-(l)", b="ا%1ل%2%2"},
- {a="([%(%[%|%<%s%-o])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p
+ {a="([%(%[%|%<%s%-O])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p
-- al- + solar consonant ('c' and '^n' are additional characters)
{a="^(a)l%-(%^n)", b="ا%1ل%2"}, -- ^n is lunar
- {a="([%(%[%|%<%s%-o])(a)l%-(%^n)", b="%1ا%2ل%3"}, -- ^n is lunar --p
+ {a="([%(%[%|%<%s%-O])(a)l%-(%^n)", b="%1ا%2ل%3"}, -- ^n is lunar --p
{a="^(a)l%-([%_%^%.]?[tdrzsnc])", b="ا%1ل%2%2"},
- {a="([%(%[%|%<%s%-o])(a)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%2ل%3%3"}, --p
+ {a="([%(%[%|%<%s%-O])(a)l%-([%_%^%.]?[tdrzsnc])", b="%1ا%2ل%3%3"}, --p
-- assim. art. + solar consonant ('c' and '^n' are additional characters)
{a="^(a)(%^n)%-", b="ا%1ل"}, -- ^n is lunar
- {a="([%(%[%|%<%s%-o])(a)(%^n)%-", b="%1ا%2ل"}, -- ^n is lunar --p
+ {a="([%(%[%|%<%s%-O])(a)(%^n)%-", b="%1ا%2ل"}, -- ^n is lunar --p
{a="^(a)([%_%^%.]?[tdrzsnc])%-", b="ا%1ل%2"},
- {a="([%(%[%|%<%s%-o])(a)([%_%^%.]?[tdrzsnc])%-", b="%1ا%2ل%3"}, --p
+ {a="([%(%[%|%<%s%-O])(a)([%_%^%.]?[tdrzsnc])%-", b="%1ا%2ل%3"}, --p
-- al- + initial unstable hamza
{a="^(a)l%-(\"?[uai])", b="ا%1ل%2ٱ"},
- {a="([%(%[%|%<%s%-o])(a)l%-(\"?[uai])", b="%1ا%2ل%3ٱ"}, --p
+ {a="([%(%[%|%<%s%-O])(a)l%-(\"?[uai])", b="%1ا%2ل%3ٱ"}, --p
-- li-/la + art. + initial unstable hamza is a special orthography
{a="l([ai])%-l%-(\"?[uai])", b="ل%1ل%2ٱ"},
-- al- + lunar consonant (i.e. what remains)
{a="^(a)l%-", b="ا%1لْ"},
- {a="([%(%[%|%<%s%-o])(a)l%-", b="%1ا%2لْ"}, --p
+ {a="([%(%[%|%<%s%-O])(a)l%-", b="%1ا%2لْ"}, --p
-- diphthongs to be resolved before ʾalif conjunctionis
- {a="(aW)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="awuا"},
- {a="(aw)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1u"},
- {a="(ay)(o)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-o)", b="%1i"},
+ {a="(aW)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="awuا"},
+ {a="(aw)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1u"},
+ {a="(ay)(O)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)([%S]-O)", b="%1i"},
{a="(aW)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="awuا%2%3"},
{a="(aw)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1u%2%3"},
{a="(ay)(%s)(['][%_%^%.]?[l'btjghxdrzs`fqkmnwy]%-)", b="%1i%2%3"},
@@ -556,17 +578,17 @@ digraphsfvidgham = {
{a="^\"[uai]", b="ٱ"},
{a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p
-- diphthongs to be resolved before ʾalif conjunctionis
- {a="(aW)(o)(\"?[uai])([%S]-o)", b="awuا"},
+ {a="(aW)(O)(\"?[uai])([%S]-O)", b="awuا"},
{a="(aW)(%s)([%(%[%|%<]?)(\"?[uai])", b="awuا%2%3ٱ"}, --p
- {a="(aw)(o)(\"?[uai])([%S]-o)", b="%1u"},
+ {a="(aw)(O)(\"?[uai])([%S]-O)", b="%1u"},
{a="(aw)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1u%2%3ٱ"}, --p
- {a="(ay)(o)(\"?[uai])([%S]-o)", b="%1i"},
+ {a="(ay)(O)(\"?[uai])([%S]-O)", b="%1i"},
{a="(ay)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1i%2%3ٱ"}, --p
-- hyphen + initial alif without hamza
-- {a="([uai]%-)(\"?[uai])", b="%1ٱ"},
{a="([uai]%-)(\"?[uai])([%^%_%.%`]?)([%aأإؤئ])", b="%1ٱ%3%4"},
-- initial alif without hamza (next 4 lines)
- {a="(o[%S]-)([uaiUAIY])(o)(\"?[uai])", b="ٱ"},
+ {a="(O[%S]-)([uaiUAIY])(O)(\"?[uai])", b="ٱ"},
{a="([%_]?[uaiUAIY])(%s[%(%[%|%<]?)(\"?[uai])", b="%1%2ٱ"}, --p
{a="^([%(%[%|%<]?)(\"?[uai])", b="%1ا%2"}, --p
{a="(%s)([%(%[%|%<]?)(\"?[uai])", b="%1%2ا%3"}, --p
@@ -683,17 +705,17 @@ digraphsfv = {
{a="^\"[uai]", b="ٱ"},
{a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p
-- diphthongs to be resolved before ʾalif conjunctionis
- {a="(aW)(o)(\"?[uai])([%S]-o)", b="awuا"},
+ {a="(aW)(O)(\"?[uai])([%S]-O)", b="awuا"},
{a="(aW)(%s)([%(%[%|%<]?)(\"?[uai])", b="awuا%2%3ٱ"}, --p
- {a="(aw)(o)(\"?[uai])([%S]-o)", b="%1u"},
+ {a="(aw)(O)(\"?[uai])([%S]-O)", b="%1u"},
{a="(aw)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1u%2%3ٱ"}, --p
- {a="(ay)(o)(\"?[uai])([%S]-o)", b="%1i"},
+ {a="(ay)(O)(\"?[uai])([%S]-O)", b="%1i"},
{a="(ay)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1i%2%3ٱ"}, --p
-- hyphen + initial alif without hamza
-- {a="([uai]%-)(\"?[uai])", b="%1ٱ"},
{a="([uai]%-)(\"?[uai])([%^%_%.%`]?)([%aأإؤئ])", b="%1ٱ%3%4"},
-- initial alif without hamza (next 4 lines)
- {a="(o[%S]-)([uaiUAIY])(o)(\"?[uai])", b="ٱ"},
+ {a="(O[%S]-)([uaiUAIY])(O)(\"?[uai])", b="ٱ"},
{a="([%_]?[uaiUAIY])(%s[%(%[%|%<]?)(\"?[uai])", b="%1%2ٱ"}, --p
{a="^([%(%[%|%<]?)(\"?[uai])", b="%1ا%2"}, --p
{a="(%s)([%(%[%|%<]?)(\"?[uai])", b="%1%2ا%3"}, --p
@@ -810,17 +832,17 @@ digraphsfveasy = { -- see the differences under 'easy' marker below
{a="^\"[uai]", b="ٱ"},
{a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p
-- diphthongs to be resolved before ʾalif conjunctionis
- {a="(aW)(o)(\"?[uai])([%S]-o)", b="awuا"},
+ {a="(aW)(O)(\"?[uai])([%S]-O)", b="awuا"},
{a="(aW)(%s)([%(%[%|%<]?)(\"?[uai])", b="awuا%2%3ٱ"}, --p
- {a="(aw)(o)(\"?[uai])([%S]-o)", b="%1u"},
+ {a="(aw)(O)(\"?[uai])([%S]-O)", b="%1u"},
{a="(aw)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1u%2%3ٱ"}, --p
- {a="(ay)(o)(\"?[uai])([%S]-o)", b="%1i"},
+ {a="(ay)(O)(\"?[uai])([%S]-O)", b="%1i"},
{a="(ay)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1i%2%3ٱ"}, --p
-- hyphen + initial alif without hamza
-- {a="([uai]%-)(\"?[uai])", b="%1ٱ"},
{a="([uai]%-)(\"?[uai])([%^%_%.%`]?)([%aأإؤئ])", b="%1ٱ%3%4"},
-- initial alif without hamza (next 4 lines)
- {a="(o[%S]-)([uaiUAIY])(o)(\"?[uai])", b="ٱ"},
+ {a="(O[%S]-)([uaiUAIY])(O)(\"?[uai])", b="ٱ"},
{a="([%_]?[uaiUAIY])(%s[%(%[%|%<]?)(\"?[uai])", b="%1%2ٱ"}, --p
{a="^([%(%[%|%<]?)(\"?[uai])", b="%1ا%2"}, --p
{a="(%s)([%(%[%|%<]?)(\"?[uai])", b="%1%2ا%3"}, --p
@@ -952,6 +974,7 @@ singlefv = {
{a="\"$", b=""},
{a="\"(%W)", b="%1"},
{a="\"([^uaiUAI])", b="%1"},
+ {a="o", b="ْ"}, -- hard-coded sukūn
{a="([^0-9])%-([^0-9])", b="%1%2"},
{a="B", b="ـ"},
}