summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua')
-rw-r--r--Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua185
1 files changed, 104 insertions, 81 deletions
diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua
index 4f5399fc5ac..0e5cfc671e8 100644
--- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua
+++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua
@@ -72,6 +72,8 @@ raw = {
}
hamza = {
+ -- next line for ʾiʿrāb hyphen
+ {a="(')(%-)([uaiUAI])", b="%1%3"},
-- hard coded hamza
{a="|\"'", b="ء"},
{a="A\"'", b="آ"},
@@ -91,7 +93,9 @@ hamza = {
{a="'i'([^uaiUAI])", b="إI%1"},
-- madda (historic writing below)
{a="'a'([^uaiUAI])", b="آ%1"},
- {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"},
+ {a="([^uiUI])\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"},
+ {a="^\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"},
+ {a="(%W)\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"},
{a="(A)(')(uN?)$", b="aآء%3"},
{a="(A)(')(uN?)(%W)", b="aآء%3%4"},
{a="(A)(')(iN?)$", b="aآء%3"},
@@ -111,7 +115,7 @@ hamza = {
{a="([^uai])(')([uai]N?)$", b="%1ء%3"},
{a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"},
-- u
- {a="(u)(')([uai]?N)$", b="%1ؤ%3"},
+ {a="(u)(')([uai]N?)$", b="%1ؤ%3"},
{a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"},
{a="(u)(')$", b="%1ؤ"},
{a="(u)(')(%W)", b="%1ؤ%3"},
@@ -155,6 +159,8 @@ hamza = {
}
hamzaeasy = { -- differences marked below with 'easy'
+ -- next line for ʾiʿrāb hyphen
+ {a="(')(%-)([uaiUAI])", b="%1%3"},
-- hard coded hamza
{a="|\"'", b="ء"},
{a="A\"'", b="آ"},
@@ -174,14 +180,18 @@ hamzaeasy = { -- differences marked below with 'easy'
{a="'i'([^uaiUAI])", b="إI%1"},
-- madda (historic writing below)
{a="'a'([^uaiUAI])", b="آ%1"},
- {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"},
---easy {a="(A)(')(uN?)$", b="aآء%3"},
---easy {a="(A)(')(uN?)(%W)", b="aآء%3%4"},
---easy {a="(A)(')(iN?)$", b="aآء%3"},
---easy {a="(A)(')(iN?)(%W)", b="aآء%3%4"},
---easy {a="(A)(')(i)", b="aآئ%3"}, -- historic madda
---easy {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda
---easy {a="(A)(')", b="aآء"}, -- historic madda
+ {a="([^uiUI])\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"},
+ {a="^\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"},
+ {a="(%W)\'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"},
+ --easy (begin)
+ {a="(A)(')(uN?)$", b="aاء%3"},
+ {a="(A)(')(uN?)(%W)", b="aاء%3%4"},
+ {a="(A)(')(iN?)$", b="aاء%3"},
+ {a="(A)(')(iN?)(%W)", b="aاء%3%4"},
+ {a="(A)(')(i)", b="aائ%3"}, -- historic madda
+ {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda
+ {a="(A)(')", b="aاء"}, -- historic madda
+ --easy (end)
-- initial (needs both ^ and %W patterns)
{a="^(')([ua])", b="أ%2"},
{a="^(')(i)", b="إ%2"},
@@ -194,7 +204,7 @@ hamzaeasy = { -- differences marked below with 'easy'
{a="([^uai])(')([uai]N?)$", b="%1ء%3"},
{a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"},
-- u
- {a="(u)(')([uai]?N)$", b="%1ؤ%3"},
+ {a="(u)(')([uai]N?)$", b="%1ؤ%3"},
{a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"},
{a="(u)(')$", b="%1ؤ"},
{a="(u)(')(%W)", b="%1ؤ%3"},
@@ -238,69 +248,69 @@ hamzaeasy = { -- differences marked below with 'easy'
}
tanwin = {
- {a="uNU", b="ٌو"},
- {a="aNU", b="ًوا"},
- {a="iNU", b="ٍو"},
+ {a="%-?uNU", b="ٌو"},
+ {a="%-?aNU", b="ًوا"},
+ {a="%-?iNU", b="ٍو"},
-- assimilations (begin)
- {a="(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"},
- {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"},
- {a="(ء)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
- {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
- {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"},
+ {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"},
+ {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"},
+ {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
+ {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
+ {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"},
-- assimilations (end)
-- quoted tanwīn (begin)
- {a="(\"uN)", b=""},
- {a="(B)(\"aN)", b="%1"},
- {a="(\"aN)(_A)", b="ى"},
- {a="(\"aN)(Y)", b="ى"},
- {a="(T)(\"aN)", b="%1"},
- {a="(ء)(\"aN)", b="%1"},
- {a="([^TA])(\"aN)", b="%1ا"},
- {a="(\"iN)", b=""},
+ {a="%-?(\"uN)", b=""},
+ {a="(B)%-?(\"aN)", b="%1"},
+ {a="%-?(\"aN)(_A)", b="ى"},
+ {a="%-?(\"aN)(Y)", b="ى"},
+ {a="(T)%-?(\"aN)", b="%1"},
+ {a="(ء)%-?(\"aN)", b="%1"},
+ {a="([^TA])%-?(\"aN)", b="%1ا"},
+ {a="%-?(\"iNI?)", b=""},
-- quoted tanwīn (end)
- {a="(uN)", b="ٌ"},
- {a="(B)(aN)", b="%1ً"},
- {a="(aN)(_A)", b="ًى"},
- {a="(aN)(Y)", b="ًى"},
- {a="(T)(aN)", b="%1ً"},
- {a="(ء)(aN)", b="%1ً"},
- {a="([^TA])(aN)", b="%1ًا"},
- {a="(iN)", b="ٍ"}
+ {a="%-?(uN)", b="ٌ"},
+ {a="(B)%-?(aN)", b="%1ً"},
+ {a="%-?(aN)(_A)", b="ًى"},
+ {a="%-?(aN)(Y)", b="ًى"},
+ {a="(T)%-?(aN)", b="%1ً"},
+ {a="(ء)%-?(aN)", b="%1ً"},
+ {a="([^TA])%-?(aN)", b="%1ًا"},
+ {a="%-?(iNI?)", b="ٍ"}
}
tanwineasy = { -- 'easy' requires some lines to be taken out:
- {a="uNU", b="ٌو"},
- {a="aNU", b="ًوا"},
- {a="iNU", b="ٍو"},
+ {a="%-?uNU", b="ٌو"},
+ {a="%-?aNU", b="ًوا"},
+ {a="%-?iNU", b="ٍو"},
-- assimilations (begin)
--- {a="(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"},
--- {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"},
--- {a="(ء)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
--- {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
--- {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"},
+-- {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"},
+-- {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"},
+-- {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
+-- {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
+-- {a="%-?(iNI?)(%s)([rlmnwy])", b="ٍ%2%3%3"},
-- assimilations (end)
-- quoted tanwīn (begin)
- {a="(\"uN)", b=""},
- {a="(B)(\"aN)", b="%1"},
- {a="(\"aN)(_A)", b="ى"},
- {a="(\"aN)(Y)", b="ى"},
- {a="(T)(\"aN)", b="%1"},
- {a="(ء)(\"aN)", b="%1"},
- {a="([^TA])(\"aN)", b="%1ا"},
- {a="(\"iN)", b=""},
+ {a="%-?(\"uN)", b=""},
+ {a="(B)%-?(\"aN)", b="%1"},
+ {a="%-?(\"aN)(_A)", b="ى"},
+ {a="%-?(\"aN)(Y)", b="ى"},
+ {a="(T)%-?(\"aN)", b="%1"},
+ {a="(ء)%-?(\"aN)", b="%1"},
+ {a="([^TA])%-?(\"aN)", b="%1ا"},
+ {a="%-?(\"iNI?)", b=""},
-- quoted tanwīn (end)
- {a="(uN)", b="ٌ"},
- {a="(B)(aN)", b="%1ً"},
- {a="(aN)(_A)", b="ًى"},
- {a="(aN)(Y)", b="ًى"},
- {a="(T)(aN)", b="%1ً"},
- {a="(ء)(aN)", b="%1ً"},
- {a="([^TA])(aN)", b="%1ًا"},
- {a="(iN)", b="ٍ"}
+ {a="%-?(uN)", b="ٌ"},
+ {a="(B)%-?(aN)", b="%1ً"},
+ {a="%-?(aN)(_A)", b="ًى"},
+ {a="%-?(aN)(Y)", b="ًى"},
+ {a="(T)%-?(aN)", b="%1ً"},
+ {a="(ء)%-?(aN)", b="%1ً"},
+ {a="([^TA])%-?(aN)", b="%1ًا"},
+ {a="%-?(iNI?)", b="ٍ"}
}
trigraphs = { -- trigraphs or more
@@ -317,13 +327,13 @@ trigraphs = { -- trigraphs or more
{a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"},
{a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"},
-- al- + initial unstable hamza
- {a="^(a)l%-(\")([uai])", b="ا%1لٱ%3"},
- {a="([%s%-])(a)l%-(\")([uai])", b="%1ا%2لٱ%4"},
- {a="^(a)l%-([uai])", b="ا%1لا%2"},
- {a="([%s%-])(a)l%-([uai])", b="%1ا%2لا%3"},
+ {a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"},
+ {a="([%s%-])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"},
+ {a="^(a)l%-([uai])", b="ا%1ل%2ا"},
+ {a="([%s%-])(a)l%-([uai])", b="%1ا%2ل%3ا"},
-- li-/la- + art. + initial unstable hamza is a special orthography
- {a="l([ai])%-l%-(\")([uai])", b="ل%1لٱ%3"},
- {a="l([ai])%-l%-([uai])", b="ل%1لا%2"},
+ {a="l([ai])%-l%-(\")([uai])", b="ل%1ل%3ٱ"},
+ {a="l([ai])%-l%-([uai])", b="ل%1ل%2ا"},
-- al- + lunar consonant (i.e. what remains)
{a="^(a)l%-", b="ا%1ل"},
{a="([%s%-])(a)l%-", b="%1ا%2ل"},
@@ -344,8 +354,8 @@ trigraphs = { -- trigraphs or more
-- li-/la + assim. art. + solar consonant is a special orthography
{a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="ل%1ل%3%3"},
-- art. with waṣla + initial unstable hamza
- {a="'l%-(\")([uai])", b="الٱ%2"},
- {a="'l%-([uai])", b="الا%1"},
+ {a="'l%-(\")([uai])", b="ال%2ٱ"},
+ {a="'l%-([uai])", b="ال%1ا"},
-- art. with waṣla + lunar consonant (i.e. what remains)
{a="'l%-", b="ال"},
-- the silent wāw
@@ -377,13 +387,13 @@ trigraphseasy = { -- differences marked below with 'easy'
{a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل"},
{a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل"},
-- al- + initial unstable hamza
- {a="^(a)l%-(\")([uai])", b="ا%1لٱ%3"},
- {a="([%s%-])(a)l%-(\")([uai])", b="%1ا%2لٱ%4"},
- {a="^(a)l%-([uai])", b="ا%1لا%2"},
- {a="([%s%-])(a)l%-([uai])", b="%1ا%2لا%3"},
+ {a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"},
+ {a="([%s%-])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"},
+ {a="^(a)l%-([uai])", b="ا%1ل%2ا"},
+ {a="([%s%-])(a)l%-([uai])", b="%1ا%2ل%3ا"},
-- li-/la- + art. + initial unstable hamza is a special orthography
- {a="l([ai])%-l%-(\")([uai])", b="ل%1لٱ%3"},
- {a="l([ai])%-l%-([uai])", b="ل%1لا%2"},
+ {a="l([ai])%-l%-(\")([uai])", b="ل%1ل%3ٱ"},
+ {a="l([ai])%-l%-([uai])", b="ل%1ل%2ا"},
-- al- + lunar consonant (i.e. what remains)
{a="^(a)l%-", b="ا%1ل"},
{a="([%s%-])(a)l%-", b="%1ا%2ل"},
@@ -404,8 +414,8 @@ trigraphseasy = { -- differences marked below with 'easy'
-- li-/la + assim. art. + solar consonant is a special orthography (easy)
{a="l([ai])%-([%_%^%.]?[tdrzsn])%-([%_%^%.]?[tdrzsn])", b="ل%1ل%3"},
-- art. with waṣla + initial unstable hamza
- {a="'l%-(\")([uai])", b="الٱ%2"},
- {a="'l%-([uai])", b="الا%1"},
+ {a="'l%-(\")([uai])", b="ال%2ٱ"},
+ {a="'l%-([uai])", b="ال%1ا"},
-- art. with waṣla + lunar consonant (i.e. what remains)
{a="'l%-", b="ال"},
-- the silent wāw
@@ -424,13 +434,26 @@ trigraphseasy = { -- differences marked below with 'easy'
}
digraphs = {
+ -- ʾiʿrāb: straight double quote must be discarded
+ {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"},
+ {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"},
+ {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"},
+ {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"},
+ {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"},
+ {a="(%-)(\"?Ani)(%p?)$", b="%2%3"},
+ {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"},
+ {a="(%-)(\"?ayni)(%p?)$", b="%2%3"},
+ {a="(%-)(\"?[uai])(%p?%s)", b="%2%3"},
+ {a="(%-)(\"?[uai])(%p?)$", b="%2%3"},
+ -- ʾiʿrāb (end)
-- initial straight double quote gives a connective ʾalif
{a="^\"[uai]", b="ٱ"},
{a="([%s%-])\"[uai]", b="%1ٱ"},
{a="(aW)(%s)([uai])", b="awuا%2%3"},
- {a="(%-)([uai])", b="%1ا%2"}, -- hyphen + initial alif without hamza
+ -- hyphen + initial alif without hamza:
+ {a="(%-)([uai])([%^%_%.%`]?)(%a)", b="%1ا%3%4"},
{a="^([uai])", b="ا%1"}, -- initial alif without hamza
- {a="(%s)([uai])", b="%1ا%2"}, -- initial alif without hamza
+ {a="(%s)([uai])", b="%1ا"}, -- initial alif without hamza
{a="%-%-", b="ـ"},
{a="ؤؤ", b="ؤّ"},
{a="أأ", b="أّ"},