aboutsummaryrefslogtreecommitdiff
path: root/arabluatex_voc.lua
diff options
context:
space:
mode:
authorRobert Alessi <alessi@robertalessi.net>2016-05-25 18:52:33 +0200
committerRobert Alessi <alessi@robertalessi.net>2016-05-25 18:52:33 +0200
commitaa160a2fb75d07c7575e7677a8450896044269d3 (patch)
tree6e005030c4855a4c8e7f7f4959a790811fd2fa3c /arabluatex_voc.lua
parent6d65061031b9ee35de8166131b249f8238141d2b (diff)
downloadarabluatex-aa160a2fb75d07c7575e7677a8450896044269d3.tar.gz
implementation of ʾiʿrāb ġayr munṣarif (dmg mode)
Diffstat (limited to 'arabluatex_voc.lua')
-rw-r--r--arabluatex_voc.lua46
1 files changed, 34 insertions, 12 deletions
diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua
index 878f351..b7550e5 100644
--- a/arabluatex_voc.lua
+++ b/arabluatex_voc.lua
@@ -72,6 +72,8 @@ raw = {
72} 72}
73 73
74hamza = { 74hamza = {
75 -- next line for ʾiʿrāb hyphen
76 {a="(')(%-)([uaiUAI])", b="%1%3"},
75 -- hard coded hamza 77 -- hard coded hamza
76 {a="|\"'", b="ء"}, 78 {a="|\"'", b="ء"},
77 {a="A\"'", b="آ"}, 79 {a="A\"'", b="آ"},
@@ -91,7 +93,8 @@ hamza = {
91 {a="'i'([^uaiUAI])", b="إI%1"}, 93 {a="'i'([^uaiUAI])", b="إI%1"},
92 -- madda (historic writing below) 94 -- madda (historic writing below)
93 {a="'a'([^uaiUAI])", b="آ%1"}, 95 {a="'a'([^uaiUAI])", b="آ%1"},
94 {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, 96--tmp {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"},
97 {a="([^UIui])'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"},
95 {a="(A)(')(uN?)$", b="aآء%3"}, 98 {a="(A)(')(uN?)$", b="aآء%3"},
96 {a="(A)(')(uN?)(%W)", b="aآء%3%4"}, 99 {a="(A)(')(uN?)(%W)", b="aآء%3%4"},
97 {a="(A)(')(iN?)$", b="aآء%3"}, 100 {a="(A)(')(iN?)$", b="aآء%3"},
@@ -111,7 +114,7 @@ hamza = {
111 {a="([^uai])(')([uai]N?)$", b="%1ء%3"}, 114 {a="([^uai])(')([uai]N?)$", b="%1ء%3"},
112 {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"}, 115 {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"},
113-- u 116-- u
114 {a="(u)(')([uai]?N)$", b="%1ؤ%3"}, 117 {a="(u)(')([uai]N?)$", b="%1ؤ%3"},
115 {a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"}, 118 {a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"},
116 {a="(u)(')$", b="%1ؤ"}, 119 {a="(u)(')$", b="%1ؤ"},
117 {a="(u)(')(%W)", b="%1ؤ%3"}, 120 {a="(u)(')(%W)", b="%1ؤ%3"},
@@ -155,6 +158,8 @@ hamza = {
155} 158}
156 159
157hamzaeasy = { -- differences marked below with 'easy' 160hamzaeasy = { -- differences marked below with 'easy'
161 -- next line for ʾiʿrāb hyphen
162 {a="(')(%-)([uaiUAI])", b="%1%3"},
158 -- hard coded hamza 163 -- hard coded hamza
159 {a="|\"'", b="ء"}, 164 {a="|\"'", b="ء"},
160 {a="A\"'", b="آ"}, 165 {a="A\"'", b="آ"},
@@ -174,14 +179,17 @@ hamzaeasy = { -- differences marked below with 'easy'
174 {a="'i'([^uaiUAI])", b="إI%1"}, 179 {a="'i'([^uaiUAI])", b="إI%1"},
175 -- madda (historic writing below) 180 -- madda (historic writing below)
176 {a="'a'([^uaiUAI])", b="آ%1"}, 181 {a="'a'([^uaiUAI])", b="آ%1"},
177 {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"}, 182--tmp {a="'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="آ%1"},
178--easy {a="(A)(')(uN?)$", b="aآء%3"}, 183 {a="([^UIui])'a?A([%_%^%.]?[%`%'btjghdrzsfqklmnywAY])", b="%1آ%2"},
179--easy {a="(A)(')(uN?)(%W)", b="aآء%3%4"}, 184 --easy (begin)
180--easy {a="(A)(')(iN?)$", b="aآء%3"}, 185 {a="(A)(')(uN?)$", b="aاء%3"},
181--easy {a="(A)(')(iN?)(%W)", b="aآء%3%4"}, 186 {a="(A)(')(uN?)(%W)", b="aاء%3%4"},
182--easy {a="(A)(')(i)", b="aآئ%3"}, -- historic madda 187 {a="(A)(')(iN?)$", b="aاء%3"},
183--easy {a="(A)(')(u)", b="aآؤ%3"}, -- historic madda 188 {a="(A)(')(iN?)(%W)", b="aاء%3%4"},
184--easy {a="(A)(')", b="aآء"}, -- historic madda 189 {a="(A)(')(i)", b="aائ%3"}, -- historic madda
190 {a="(A)(')(u)", b="aاؤ%3"}, -- historic madda
191 {a="(A)(')", b="aاء"}, -- historic madda
192 --easy (end)
185 -- initial (needs both ^ and %W patterns) 193 -- initial (needs both ^ and %W patterns)
186 {a="^(')([ua])", b="أ%2"}, 194 {a="^(')([ua])", b="أ%2"},
187 {a="^(')(i)", b="إ%2"}, 195 {a="^(')(i)", b="إ%2"},
@@ -194,7 +202,7 @@ hamzaeasy = { -- differences marked below with 'easy'
194 {a="([^uai])(')([uai]N?)$", b="%1ء%3"}, 202 {a="([^uai])(')([uai]N?)$", b="%1ء%3"},
195 {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"}, 203 {a="([^uai])(')([uai]N?)(%W)", b="%1ء%3%4"},
196-- u 204-- u
197 {a="(u)(')([uai]?N)$", b="%1ؤ%3"}, 205 {a="(u)(')([uai]N?)$", b="%1ؤ%3"},
198 {a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"}, 206 {a="(u)(')([uai]N?)(%W)", b="%1ؤ%3%4"},
199 {a="(u)(')$", b="%1ؤ"}, 207 {a="(u)(')$", b="%1ؤ"},
200 {a="(u)(')(%W)", b="%1ؤ%3"}, 208 {a="(u)(')(%W)", b="%1ؤ%3"},
@@ -424,11 +432,25 @@ trigraphseasy = { -- differences marked below with 'easy'
424} 432}
425 433
426digraphs = { 434digraphs = {
435 -- ʾiʿrāb: straight double quote must be discarded
436 {a="(%-)(\"?[UI]na)(%p?%s)", b="%2%3"},
437 {a="(%-)(\"?[UI]na)(%p?)$", b="%2%3"},
438 {a="(%-)(\"?At[ui])(%p?%s)", b="%2%3"},
439 {a="(%-)(\"?At[ui])(%p?)$", b="%2%3"},
440 {a="(%-)(\"?Ani)(%p?%s)", b="%2%3"},
441 {a="(%-)(\"?Ani)(%p?)$", b="%2%3"},
442 {a="(%-)(\"?ayni)(%p?%s)", b="%2%3"},
443 {a="(%-)(\"?ayni)(%p?)$", b="%2%3"},
444 {a="(%-)(\"?[uai])(%p?%s)", b="%2%3"},
445 {a="(%-)(\"?[uai])(%p?)$", b="%2%3"},
446 -- ʾiʿrāb (end)
427 -- initial straight double quote gives a connective ʾalif 447 -- initial straight double quote gives a connective ʾalif
428 {a="^\"[uai]", b="ٱ"}, 448 {a="^\"[uai]", b="ٱ"},
429 {a="([%s%-])\"[uai]", b="%1ٱ"}, 449 {a="([%s%-])\"[uai]", b="%1ٱ"},
430 {a="(aW)(%s)([uai])", b="awuا%2%3"}, 450 {a="(aW)(%s)([uai])", b="awuا%2%3"},
431 {a="(%-)([uai])", b="%1ا%2"}, -- hyphen + initial alif without hamza 451--tmp-out {a="(%-)([uai])", b="%1ا%2"}, -- hyphen + initial alif without hamza
452 --tmp-added hyphen + initial alif without hamza:
453 {a="(%-)([uai])([%^%_%.%`]?)(%a)", b="%1ا%2%3%4"},
432 {a="^([uai])", b="ا%1"}, -- initial alif without hamza 454 {a="^([uai])", b="ا%1"}, -- initial alif without hamza
433 {a="(%s)([uai])", b="%1ا%2"}, -- initial alif without hamza 455 {a="(%s)([uai])", b="%1ا%2"}, -- initial alif without hamza
434 {a="%-%-", b="ـ"}, 456 {a="%-%-", b="ـ"},