From e81d65fbcd01afbbd7900b00e65e793b430f8dd0 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Wed, 2 Mar 2016 17:27:51 +0100 Subject: add \cap{} command; correct transliteration tables --- arabluatex.lua | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) (limited to 'arabluatex.lua') diff --git a/arabluatex.lua b/arabluatex.lua index d76a284..df23ddc 100644 --- a/arabluatex.lua +++ b/arabluatex.lua @@ -108,6 +108,14 @@ local function indnum(str) return str end +local function takeoutcap(str) + str = string.gsub(str, "(\\cap.?)(%b{})", function(tag, body) + body = string.sub(body, 2, -2) + return string.format("%s", body) + end) + return str +end + local function voc(str) str = string.gsub(str, "\\arb(%b{})", function(inside) inside = string.sub(inside, 2, -2) @@ -270,6 +278,7 @@ end function processvoc(str) str = "\\arb{".. str.."}" + str = takeoutcap(str) str = protectarb(str) str = breakcmd(str) str = holdcmd(str) @@ -280,6 +289,7 @@ end function processfullvoc(str) str = "\\arb{".. str.."}" + str = takeoutcap(str) str = protectarb(str) str = breakcmd(str) str = holdcmd(str) @@ -290,6 +300,7 @@ end function processnovoc(str) str = "\\arb{".. str.."}" + str = takeoutcap(str) str = protectarb(str) str = breakcmd(str) str = holdcmd(str) @@ -312,6 +323,27 @@ function processtrans(str, mode) return str end +function cap(str) + str = string.gsub(str, "(\\txtrans.?)(%b{})", function(tag, body) + body = string.sub(body, 2, -2) + return string.format("%s", body) + end) + if string.find(str, "%-['`ʾʿ]") then + str = string.gsub(str, "(%-['`])", "%1\\MakeUppercase ") + str = string.gsub(str, "(%-ʿ)", "%1\\MakeUppercase ") + str = string.gsub(str, "(%-ʾ)", "%1\\MakeUppercase ") + elseif string.find(str, "%-[^'`ʾʿ]") then + str = string.gsub(str, "(%-)", "%1\\MakeUppercase ") + elseif string.find(str, "^['`ʾʿ]") then + str = string.gsub(str, "^(['`])", "%1\\MakeUppercase ") + str = string.gsub(str, "^(ʿ)", "%1\\MakeUppercase ") + str = string.gsub(str, "^(ʾ)", "%1\\MakeUppercase ") + else + str = "\\MakeUppercase "..str + end +return str +end + --print(processvoc("'at_A .sadIquN 'il_A ju.hA ya.tlubu min-hu .himAra-hu li-yarkiba-hu fI safraTiN qa.sIraTiN wa-qAla la-hu sawfa 'u`Idu-hu 'ilay-ka fI 'l-masA'i wa-'adfa`u la-ka 'ujraTaN 'at_A .sadIquN 'il_A ju.hA ya.tlubu min-hu .himAra-hu li-yarkiba-hu fI safraTiN qa.sIraTiN wa-qAla la-hu sawfa 'u`Idu-hu 'ilay-ka fI 'l-masA'i wa-'adfa`u la-ka 'ujraTaN")) --print(arbnum("bop 0123456789")) --print(processvoc("daxala \\arb[novoc]{mubtasimaN}")) -- cgit v1.2.3