From 901646a7dc08022c61ca4180302ac58296ec5443 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Thu, 30 Jun 2016 19:19:53 +0200 Subject: started implementing Buckwalter input scheme --- arabluatex.lua | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'arabluatex.lua') diff --git a/arabluatex.lua b/arabluatex.lua index 3e574cf..9134ce5 100644 --- a/arabluatex.lua +++ b/arabluatex.lua @@ -456,12 +456,26 @@ local function transloc(str) return str end -function processvoc(str, rules) +local function processbuckw(str) + str = string.gsub(str, "\\arb(%b{})", function(inside) + inside = string.sub(inside, 2, -2) + for i = 1,#buckwalter do + inside = string.gsub(inside, buckwalter[i].a, buckwalter[i].b) + end + return string.format("\\arb{%s}", inside) + end) +return str +end + +function processvoc(str, rules, scheme) str = "\\arb{".. str.."}" str = takeoutcapetc(str) str = protectarb(str) str = breakcmd(str) str = holdcmd(str) + if scheme == "buckwalter" then + str = processbuckw(str) + else end if rules == "easy" then str = voceasy(str) elseif rules == "dflt" then -- cgit v1.2.3