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.lua191
1 files changed, 114 insertions, 77 deletions
diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua
index a2676e0be8f..ea7df9f69b5 100644
--- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua
+++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_fullvoc.lua
@@ -23,6 +23,8 @@ along with this program. If not, see
--]]
hamzafv = {
+ -- next line for ʾiʿrāb hyphen
+ {a="(')(%-)([uaiUAI])", b="%1%3"},
-- hard coded hamza
{a="|\"'", b="ء"},
{a="A\"'", b="آ"},
@@ -51,7 +53,9 @@ hamzafv = {
{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"},
@@ -71,7 +75,7 @@ hamzafv = {
{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"},
@@ -115,6 +119,8 @@ hamzafv = {
}
hamzafveasy = { -- 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="آ"},
@@ -143,14 +149,18 @@ hamzafveasy = { -- 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"},
@@ -163,7 +173,7 @@ hamzafveasy = { -- 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"},
@@ -207,73 +217,73 @@ hamzafveasy = { -- differences marked below with 'easy'
}
tanwinfv = {
- {a="uNU", b="ٌو"},
- {a="aNU", b="ًوا"},
- {a="iNU", b="ٍو"},
- {a="([uai]N)(%s)([uai])", b="%1%2ٱ"},
- {a="(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"},
+ {a="%-?uNU", b="ٌو"},
+ {a="%-?aNU", b="ًوا"},
+ {a="%-?iNU", b="ٍو"},
+ {a="%-?([uai]N)(%s)([uai])", b="%1%2ٱ"},
+ {a="%-?(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"},
-- 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="ٍ"}
}
tanwinfveasy = { -- no assimilations (see below)
- {a="uNU", b="ٌو"},
- {a="aNU", b="ًوا"},
- {a="iNU", b="ٍو"},
- {a="([uai]N)(%s)([uai])", b="%1%2ٱ"},
- {a="(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"},
+ {a="%-?uNU", b="ٌو"},
+ {a="%-?aNU", b="ًوا"},
+ {a="%-?iNU", b="ٍو"},
+ {a="%-?([uai]N)(%s)([uai])", b="%1%2ٱ"},
+ {a="%-?(aN[%_]?[AY])(%s)([uai])", b="%1%2ٱ"},
-- assimilations (begin)
---easy {a="(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"},
---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"},
---easy {a="(ء)(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
---easy {a="([^TA])(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
---easy {a="(iN)(%s)([rlmnwy])", b="ٍ%2%3%3"},
+--easy {a="%-?(uN)(%s)([rlmnwy])", b="ٌ%2%3%3"},
+--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"},
+--easy {a="(ء)%-?(aN)(%s)([rlmnwy])", b="%1ً%3%4%4"},
+--easy {a="([^TA])%-?(aN)(%s)([rlmnwy])", b="%1ًا%3%4%4"},
+--easy {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="ٍ"}
}
trigraphsfv = { -- trigraphs or more
@@ -290,10 +300,10 @@ trigraphsfv = { -- 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لٱ%2"},
- {a="([%s%-])(a)l%-(\"?[uai])", b="%1ا%2لٱ%3"},
+ {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لٱ%2"},
+ {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لْ"},
@@ -314,7 +324,7 @@ trigraphsfv = { -- 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="ٱلٱ%1"},
+ {a="'l%-(\"?[uai])", b="ٱل%1ٱ"},
-- art. with waṣla + lunar consonant (i.e. what remains)
{a="'l%-", b="ٱلْ"},
-- the silent wāw
@@ -346,10 +356,10 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs)
{a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"},
{a="([%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"},
-- al- + initial unstable hamza
- {a="^(a)l%-(\"?[uai])", b="ا%1لٱ%2"},
- {a="([%s%-])(a)l%-(\"?[uai])", b="%1ا%2لٱ%3"},
+ {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لٱ%2"},
+ {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لْ"},
@@ -370,7 +380,7 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs)
-- 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="ٱلٱ%1"},
+ {a="'l%-(\"?[uai])", b="ٱل%1ٱ"},
-- art. with waṣla + lunar consonant (i.e. what remains)
{a="'l%-", b="ٱلْ"},
-- the silent wāw
@@ -389,6 +399,18 @@ trigraphsfveasy = { -- trigraphs or more (see 'easy' tag below for the diffs)
}
digraphsfv = {
+ -- 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ٱ"},
@@ -436,9 +458,11 @@ digraphsfv = {
{a="ww", b="وّ"},
{a="yy", b="يّ"},
-- sukūn begin
+ -- first, take out hyphen if any:
+ {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"},
{a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])$", b="%1ْ"},
{a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%s])", b="%1ْ%2"},
- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIًٌٍ])", b="%1ْ%2"},
+ {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIYًٌٍ])", b="%1ْ%2"},
-- take out sukūn in cases of assimilation
{a="(n)(ْ)(%s)([روي])", b="%1%3%4"},
{a="(n)(ْ)(%s)([ل])", b="%1%3%4"},
@@ -474,6 +498,18 @@ digraphsfv = {
}
digraphsfveasy = { -- see the diffenrences under 'easy' marker below
+ -- 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ٱ"},
@@ -524,6 +560,8 @@ digraphsfveasy = { -- see the diffenrences under 'easy' marker below
-- first take out every previously generated sukūn by hamza rules,
-- so there be no need to edit them:
{a="ْ", b=""},
+ -- first, take out hyphen if any:
+-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])%-([uaiUAI])", b="%1%2"},
-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])$", b="%1ْ"},
-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%s])", b="%1ْ%2"},
-- {a="([%_%^%.]?[Bbtjghxdrzs%`fqklmnwy])([%_]?[^%_uaiUAIًٌٍ])", b="%1ْ%2"},
@@ -618,4 +656,3 @@ singlefveasy = { -- see the differences under 'easy' tag below
{a="([^0-9])%-([^0-9])", b="%1%2"},
{a="B", b="ـ"},
}
-