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.lua108
1 files changed, 80 insertions, 28 deletions
diff --git a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua
index 02c3febe93c..6be30d12f99 100644
--- a/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua
+++ b/Master/texmf-dist/tex/lualatex/arabluatex/arabluatex_voc.lua
@@ -161,6 +161,7 @@ buckwalter = {
{a="F", b="aN"},
{a="K", b="iN"},
{a="o", b="\""},
+ {a="P", b="o"}, -- pass on to \arbnull
-- hard-coded connective alif
{a="%[", b="ٱ"},
{a="L", b="ٱ"} -- BW safe
@@ -201,11 +202,15 @@ hamza = {
{a="(A)(')(u)", b="aآؤ%3"}, -- historic madda
{a="(A)(')", b="aآء"}, -- historic madda
-- initial (needs both ^ and %W patterns)
- -- 'aw: the diphthong is to be resoved into 'awi' (next 4 lines)
+ -- '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)(%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"},
- {a="(%W)('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"},
+ {a="^('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p
+ {a="(%W)('aw)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, --p
-- then the 'initial' rules for the remaining cases
{a="^(')([ua])", b="أ%2"},
{a="^(')(i)", b="إ%2"},
@@ -298,7 +303,11 @@ hamzaeasy = { -- differences marked below with 'easy'
{a="(A)(')", b="aاء"}, -- historic madda
--easy (end)
-- initial (needs both ^ and %W patterns)
- -- 'aw: the diphthong is to be resoved into 'awi' (next 4 lines)
+ -- '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)(%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"},
@@ -359,11 +368,18 @@ hamzaeasy = { -- differences marked below with 'easy'
}
tanwin = {
+ -- assimilations (begin)
+ {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="%4"},
{a="%-?uNU", b="ٌو"},
{a="%-?aNU", b="ًوا"},
{a="%-?iNU", b="ٍو"},
-- 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="%-?(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"},
@@ -371,6 +387,8 @@ tanwin = {
{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="%5"},
+ {a="(o[%S]-)(%-?aN)(Y)(o)([uai])", b="%5"},
-- quoted tanwīn (begin)
{a="%-?(\"uN)", b=""},
{a="(B)%-?(\"aN)", b="%1"},
@@ -392,11 +410,18 @@ tanwin = {
}
tanwineasy = { -- 'easy' requires some lines to be taken out:
+ -- assimilations (begin)
+-- {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="%4"},
{a="%-?uNU", b="ٌو"},
{a="%-?aNU", b="ًوا"},
{a="%-?iNU", b="ٍو"},
-- 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="%-?(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"},
@@ -404,6 +429,8 @@ tanwineasy = { -- 'easy' requires some lines to be taken out:
-- {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="%5"},
+ {a="(o[%S]-)(%-?aN)(Y)(o)([uai])", b="%5"},
-- quoted tanwīn (begin)
{a="%-?(\"uN)", b=""},
{a="(B)%-?(\"aN)", b="%1"},
@@ -428,32 +455,39 @@ trigraphs = { -- trigraphs or more
-- '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 resoved into 'awi' (next 4 lines)
+ -- 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)(%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"},
+ {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p
+ {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, --p
-- al- + lām
{a="^(a)l%-(l)", b="ا%1ل%2%2"},
- {a="([%(%[%|%<%s%-])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p
+ {a="([%(%[%|%<%s%-o])(a)l%-(l)", b="%1ا%2ل%3%3"}, --p
-- al- + solar consonant
{a="^(a)l%-([%_%^%.]?[tdrzsn])", b="ا%1ل%2%2"},
- {a="([%(%[%|%<%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3%3"}, --p
+ {a="([%(%[%|%<%s%-o])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3%3"}, --p
-- assim. art. + solar consonant
{a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل%2"},
- {a="([%(%[%|%<%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"}, --p
+ {a="([%(%[%|%<%s%-o])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل%3"}, --p
-- al- + initial unstable hamza
{a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"},
- {a="([%(%[%|%<%s%-])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, --p
+ {a="([%(%[%|%<%s%-o])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, --p
{a="^(a)l%-([uai])", b="ا%1ل%2ا"},
- {a="([%(%[%|%<%s%-])(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ل%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ل"}, --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)(%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"},
@@ -489,7 +523,8 @@ trigraphs = { -- trigraphs or more
idgham = {
-- assimilations
- {a="(n)(%s)([rlmnwy])", b="%1%2%3%3"}
+ {a="(n)(%s)([rlmnwy])", b="%1%2%3%3"},
+ {a="(n)(o)([rlmnwy])([%S]-o)", b="%3"}
}
trigraphseasy = { -- differences marked below with 'easy'
@@ -498,32 +533,39 @@ trigraphseasy = { -- differences marked below with 'easy'
-- '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 resoved into 'awi' (next 4 lines)
+ -- law: the diphthong is to be resloved 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)(%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"},
+ {a="^(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1i%2%3"}, --p
+ {a="(%W)(law)(%s)([%(%[%|%<]?\"?[uai])", b="%1%2i%3%4"}, --p
-- al- + lām (easy)
{a="^(a)l%-(l)", b="ا%1ل%2"},
- {a="([%(%[%|%<%s%-])(a)l%-(l)", b="%1ا%2ل%3"}, --p
+ {a="([%(%[%|%<%s%-o])(a)l%-(l)", b="%1ا%2ل%3"}, --p
-- al- + solar consonant (easy)
{a="^(a)l%-([%_%^%.]?[tdrzsn])", b="ا%1ل%2"},
- {a="([%(%[%|%<%s%-])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3"}, --p
+ {a="([%(%[%|%<%s%-o])(a)l%-([%_%^%.]?[tdrzsn])", b="%1ا%2ل%3"}, --p
-- assim. art. + solar consonant (easy)
{a="^(a)([%_%^%.]?[tdrzsn])%-", b="ا%1ل"},
- {a="([%(%[%|%<%s%-])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل"}, --p
+ {a="([%(%[%|%<%s%-o])(a)([%_%^%.]?[tdrzsn])%-", b="%1ا%2ل"}, --p
-- al- + initial unstable hamza
{a="^(a)l%-(\")([uai])", b="ا%1ل%3ٱ"},
- {a="([%(%[%|%<%s%-])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, --p
+ {a="([%(%[%|%<%s%-o])(a)l%-(\")([uai])", b="%1ا%2ل%4ٱ"}, --p
{a="^(a)l%-([uai])", b="ا%1ل%2ا"},
- {a="([%(%[%|%<%s%-])(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ل%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ل"}, --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)(%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"},
@@ -573,11 +615,20 @@ digraphs = {
-- initial straight double quote gives a connective ʾalif
{a="^\"[uai]", b="ٱ"},
{a="([%(%[%|%<%s%-])\"[uai]", b="%1ٱ"}, --p
- {a="(aW)(%s)([uai])", b="awuا%2%3"},
+ -- diphthongs to be resolved before ʾalif conjunctionis
+ {a="(aW)(o)(\"?[uai])([%S]-o)", b="awuا"},
+ {a="(aW)(%s)([%(%[%|%<]?)([uai])", b="awuا%2%3%4"}, --p
+ {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)(%s)([%(%[%|%<]?)(\"?[uai])", b="%1i%2%3ا"}, --p
-- hyphen + initial alif without hamza:
- {a="(%-)([uai])([%^%_%.%`]?)(%a)", b="%1ا%3%4"},
- {a="^([%(%[%|%<]?)([uai])", b="%1ا%2"}, -- initial alif without hamza --p
- {a="(%s)([%(%[%|%<]?)([uai])", b="%1%2ا"}, -- initial alif without hamza --p
+ {a="([uai]%-)(\"?[uai])([%^%_%.%`]?)(%a)", b="%1ا%3%4"},
+ -- initial alif without hamza
+ {a="^([%(%[%|%<]?)(\"?[uai])", b="%1ا%2"}, --p
+ -- initial alif without hamza
+ {a="(o[%S]-)([uaiUAIY])(o)(\"?[uai])", b="ا"},
+ {a="(%s)([%(%[%|%<]?)(\"?[uai])", b="%1%2ا"}, --p
{a="%-%-", b="ـ"},
{a="ؤؤ", b="ؤّ"},
{a="أأ", b="أّ"},
@@ -715,5 +766,6 @@ punctuation = {
null = {
{a="%|", b=""},
- {a="([^0-9])(%-)", b="%1"}
+ {a="([^0-9])(%-)", b="%1"},
+ {a="o[%S]-o", b=""}
}