aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Alessi <alessi@robertalessi.net>2017-06-26 18:19:49 +0200
committerRobert Alessi <alessi@robertalessi.net>2017-06-26 18:19:49 +0200
commitcc3301afa6666b691d076756402932ded79d510c (patch)
treea003ed009fd44f10377b04adecbc376164e09aa8
parent884fec6d73854a8027dac0edfeb3b63a52c0a1a4 (diff)
downloadarabluatex-cc3301afa6666b691d076756402932ded79d510c.tar.gz
bugfix: sukūn quoting in 'easy' rules put an additional sukūn instead of taking it out; new encoding of bare ʾalif as .A
-rw-r--r--arabluatex.lua10
-rw-r--r--arabluatex_fullvoc.lua4
-rw-r--r--arabluatex_trans.lua9
-rw-r--r--arabluatex_voc.lua4
4 files changed, 25 insertions, 2 deletions
diff --git a/arabluatex.lua b/arabluatex.lua
index 1793564..9252127 100644
--- a/arabluatex.lua
+++ b/arabluatex.lua
@@ -335,8 +335,14 @@ local function fullvoceasy(str, rules)
335 inside = string.gsub(inside, digraphsfv[i].a, digraphsfv[i].b) 335 inside = string.gsub(inside, digraphsfv[i].a, digraphsfv[i].b)
336 end 336 end
337 end 337 end
338 for i = 1,#singlefveasy do 338 if rules == "nosukun" then
339 inside = string.gsub(inside, singlefveasy[i].a, singlefveasy[i].b) 339 for i = 1,#singlefveasy do
340 inside = string.gsub(inside, singlefveasy[i].a, singlefveasy[i].b)
341 end
342 else
343 for i = 1,#singlefv do
344 inside = string.gsub(inside, singlefv[i].a, singlefv[i].b)
345 end
340 end 346 end
341 for i = 1,#longv do 347 for i = 1,#longv do
342 inside = string.gsub(inside, longv[i].a, longv[i].b) 348 inside = string.gsub(inside, longv[i].a, longv[i].b)
diff --git a/arabluatex_fullvoc.lua b/arabluatex_fullvoc.lua
index ae4f42a..e1252e5 100644
--- a/arabluatex_fullvoc.lua
+++ b/arabluatex_fullvoc.lua
@@ -25,6 +25,8 @@ along with this program. If not, see
25hamzafv = { 25hamzafv = {
26 -- next line for ʾiʿrāb hyphen 26 -- next line for ʾiʿrāb hyphen
27 {a="(')(%-)([uaiUAI])", b="%1%3"}, 27 {a="(')(%-)([uaiUAI])", b="%1%3"},
28 -- next line for ʾalif alone
29 {a="%.A", b="ا"},
28 -- hard coded hamza 30 -- hard coded hamza
29 {a="|\"'", b="ء"}, 31 {a="|\"'", b="ء"},
30 {a="A\"'", b="آ"}, 32 {a="A\"'", b="آ"},
@@ -138,6 +140,8 @@ hamzafv = {
138hamzafveasy = { -- differences marked below with 'easy' 140hamzafveasy = { -- differences marked below with 'easy'
139 -- next line for ʾiʿrāb hyphen 141 -- next line for ʾiʿrāb hyphen
140 {a="(')(%-)([uaiUAI])", b="%1%3"}, 142 {a="(')(%-)([uaiUAI])", b="%1%3"},
143 -- next line for ʾalif alone
144 {a="%.A", b="ا"},
141 -- hard coded hamza 145 -- hard coded hamza
142 {a="|\"'", b="ء"}, 146 {a="|\"'", b="ء"},
143 {a="A\"'", b="آ"}, 147 {a="A\"'", b="آ"},
diff --git a/arabluatex_trans.lua b/arabluatex_trans.lua
index 52167e2..ebb8611 100644
--- a/arabluatex_trans.lua
+++ b/arabluatex_trans.lua
@@ -71,6 +71,9 @@ captr = {
71-- dmg 71-- dmg
72 72
73hamzatrdmg = { 73hamzatrdmg = {
74 -- next line for ʾalif alone
75 {a="(%.A)([^uai])", b=".|%2"},
76 {a="(%.A)([uai])", b="|%2"},
74 -- hard coded hamza 77 -- hard coded hamza
75 {a="|\"'", b="ʾ"}, 78 {a="|\"'", b="ʾ"},
76 {a="A\"'", b="ʾA"}, 79 {a="A\"'", b="ʾA"},
@@ -437,6 +440,9 @@ shortvtrdmg = {
437-- loc 440-- loc
438 441
439hamzatrloc = { 442hamzatrloc = {
443 -- next line for ʾalif alone
444 {a="(%.A)([^uai])", b=".|%2"},
445 {a="(%.A)([uai])", b="|%2"},
440 -- hard coded hamza 446 -- hard coded hamza
441 {a="|\"'", b="ʾ"}, 447 {a="|\"'", b="ʾ"},
442 {a="A\"'", b="ʾA"}, 448 {a="A\"'", b="ʾA"},
@@ -691,6 +697,9 @@ finaltrloc = {
691-- arabica 697-- arabica
692 698
693hamzatrarabica = { -- ≠ from hamzatrloc: initial hamza has to be held 699hamzatrarabica = { -- ≠ from hamzatrloc: initial hamza has to be held
700 -- next line for ʾalif alone
701 {a="(%.A)([^uai])", b=".|%2"},
702 {a="(%.A)([uai])", b="|%2"},
694 -- hard coded hamza 703 -- hard coded hamza
695 {a="|\"'", b="ʾ"}, 704 {a="|\"'", b="ʾ"},
696 {a="A\"'", b="ʾA"}, 705 {a="A\"'", b="ʾA"},
diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua
index 8f6b9bb..d3e32c3 100644
--- a/arabluatex_voc.lua
+++ b/arabluatex_voc.lua
@@ -170,6 +170,8 @@ buckwalter = {
170hamza = { 170hamza = {
171 -- next line for ʾiʿrāb hyphen 171 -- next line for ʾiʿrāb hyphen
172 {a="(')(%-)([uaiUAI])", b="%1%3"}, 172 {a="(')(%-)([uaiUAI])", b="%1%3"},
173 -- next line for ʾalif alone
174 {a="%.A", b="ا"},
173 -- hard coded hamza 175 -- hard coded hamza
174 {a="|\"'", b="ء"}, 176 {a="|\"'", b="ء"},
175 {a="A\"'", b="آ"}, 177 {a="A\"'", b="آ"},
@@ -274,6 +276,8 @@ hamza = {
274hamzaeasy = { -- differences marked below with 'easy' 276hamzaeasy = { -- differences marked below with 'easy'
275 -- next line for ʾiʿrāb hyphen 277 -- next line for ʾiʿrāb hyphen
276 {a="(')(%-)([uaiUAI])", b="%1%3"}, 278 {a="(')(%-)([uaiUAI])", b="%1%3"},
279 -- next line for ʾalif alone
280 {a="%.A", b="ا"},
277 -- hard coded hamza 281 -- hard coded hamza
278 {a="|\"'", b="ء"}, 282 {a="|\"'", b="ء"},
279 {a="A\"'", b="آ"}, 283 {a="A\"'", b="آ"},