diff options
author | Robert Alessi <alessi@robertalessi.net> | 2017-06-26 18:19:49 +0200 |
---|---|---|
committer | Robert Alessi <alessi@robertalessi.net> | 2017-06-26 18:19:49 +0200 |
commit | cc3301afa6666b691d076756402932ded79d510c (patch) | |
tree | a003ed009fd44f10377b04adecbc376164e09aa8 | |
parent | 884fec6d73854a8027dac0edfeb3b63a52c0a1a4 (diff) | |
download | arabluatex-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.lua | 10 | ||||
-rw-r--r-- | arabluatex_fullvoc.lua | 4 | ||||
-rw-r--r-- | arabluatex_trans.lua | 9 | ||||
-rw-r--r-- | arabluatex_voc.lua | 4 |
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 | |||
25 | hamzafv = { | 25 | hamzafv = { |
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 = { | |||
138 | hamzafveasy = { -- differences marked below with 'easy' | 140 | hamzafveasy = { -- 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 | ||
73 | hamzatrdmg = { | 73 | hamzatrdmg = { |
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 | ||
439 | hamzatrloc = { | 442 | hamzatrloc = { |
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 | ||
693 | hamzatrarabica = { -- ≠ from hamzatrloc: initial hamza has to be held | 699 | hamzatrarabica = { -- ≠ 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 = { | |||
170 | hamza = { | 170 | hamza = { |
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 = { | |||
274 | hamzaeasy = { -- differences marked below with 'easy' | 276 | hamzaeasy = { -- 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="آ"}, |