From c3cc5c607345f1aed1375ecb5103e6bc51f313b3 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Wed, 28 Sep 2016 10:20:30 +0200 Subject: =?UTF-8?q?added=20a=20'starred'=20version=20of=20\SetArbEasy=20wh?= =?UTF-8?q?ich=20further=20takes=20away=20the=20automatically=20generated?= =?UTF-8?q?=20suk=C5=ABn?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- arabluatex.lua | 22 +++++++++++++++------- 1 file changed, 15 insertions(+), 7 deletions(-) (limited to 'arabluatex.lua') diff --git a/arabluatex.lua b/arabluatex.lua index 35dccff..956f796 100644 --- a/arabluatex.lua +++ b/arabluatex.lua @@ -241,7 +241,7 @@ local function fullvoc(str) return str end -local function fullvoceasy(str) +local function fullvoceasy(str, opt) str = string.gsub(str, "\\arb(%b{})", function(inside) inside = string.sub(inside, 2, -2) for i = 1,#hamzafveasy do @@ -253,8 +253,14 @@ local function fullvoceasy(str) for i = 1,#trigraphsfveasy do inside = string.gsub(inside, trigraphsfveasy[i].a, trigraphsfveasy[i].b) end - for i = 1,#digraphsfveasy do - inside = string.gsub(inside, digraphsfveasy[i].a, digraphsfveasy[i].b) + if opt == "nosukun" then + for i = 1,#digraphsfveasy do + inside = string.gsub(inside, digraphsfveasy[i].a, digraphsfveasy[i].b) + end + else + for i = 1,#digraphsfv do + inside = string.gsub(inside, digraphsfv[i].a, digraphsfv[i].b) + end end for i = 1,#singlefveasy do inside = string.gsub(inside, singlefveasy[i].a, singlefveasy[i].b) @@ -477,7 +483,7 @@ function processvoc(str, rules, scheme) if scheme == "buckwalter" then str = processbuckw(str) else end - if rules == "easy" then + if rules == "easy" or rules == "easynosukun" then str = voceasy(str) elseif rules == "dflt" then str = voc(str) @@ -496,7 +502,9 @@ function processfullvoc(str, rules, scheme) str = processbuckw(str) else end if rules == "easy" then - str = fullvoceasy(str) + str = fullvoceasy(str, "sukun") + elseif rules == "easynosukun" then + str = fullvoceasy(str, "nosukun") elseif rules == "dflt" then str = fullvoc(str) else end @@ -513,7 +521,7 @@ function processnovoc(str, rules, scheme) if scheme == "buckwalter" then str = processbuckw(str) else end - if rules == "easy" then + if rules == "easy" or rules == "easynosukun" then str = novoceasy(str) elseif rules == "dflt" then str = novoc(str) @@ -532,7 +540,7 @@ function processtrans(str, mode, rules, scheme) str = processbuckw(str) else end if mode == "dmg" then - if rules == "easy" then + if rules == "easy" or rules == "easynosukun" then str = transdmgeasy(str) elseif rules == "dflt" then str = transdmg(str) -- cgit v1.2.3