From d4e5c239b0d5cd9e974e172efc304c64446d8011 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Sun, 3 Jul 2016 19:24:23 +0200 Subject: arabluatex.sty now accepts Buckwalter scheme --- arabluatex.dtx | 11 ++++++----- arabluatex.lua | 10 ++++++++-- arabluatex_voc.lua | 13 ++----------- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/arabluatex.dtx b/arabluatex.dtx index 8fb206b..736c44d 100644 --- a/arabluatex.dtx +++ b/arabluatex.dtx @@ -2385,12 +2385,12 @@ wa-ya.sIru ta.hta 'l-jild-i \ifx\@tempa\al@mode@fullvoc% \bgroup\textdir TRT\arabicfont% \luadirect{tex.sprint(processfullvoc(\luastringN{#2}, - \luastringO{\al@arb@rules}))}\egroup% + \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@novoc% \bgroup\textdir TRT\arabicfont% \luadirect{tex.sprint(processnovoc(\luastringN{#2}, - \luastringO{\al@arb@rules}))}\egroup% + \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@trans% \bgroup\textdir TLT\al@trans@style% @@ -2416,17 +2416,18 @@ wa-ya.sIru ta.hta 'l-jild-i \ifx\@tempa\al@mode@fullvoc% \bgroup\pardir TRT\textdir TRT\arabicfont% \luadirect{tex.sprint(processfullvoc(\luastringO{\BODY}, - \luastringO{\al@arb@rules}))}\egroup% + \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else% \ifx\@tempa\al@mode@novoc% \bgroup\pardir TRT\textdir TRT\arabicfont% \luadirect{tex.sprint(processnovoc(\luastringO{\BODY}, - \luastringO{\al@arb@rules}))}\egroup% + \luastringO{\al@arb@rules}, \luastringO{\al@input@scheme}))}\egroup% \else \ifx\@tempa\al@mode@trans% \bgroup\pardir TLT\textdir TLT\al@trans@style% \luadirect{tex.sprint(processtrans(\luastringO{\BODY}, \luastringO{\al@trans@convention}, - \luastringO{\al@arb@rules}))}\egroup% + \luastringO{\al@arb@rules}, + \luastringO{\al@input@scheme}))}\egroup% \else \fi\fi\fi\fi}[\par] % \end{macrocode} % \end{environment} diff --git a/arabluatex.lua b/arabluatex.lua index 5400a62..b21ee63 100644 --- a/arabluatex.lua +++ b/arabluatex.lua @@ -485,12 +485,15 @@ function processvoc(str, rules, scheme) return str end -function processfullvoc(str, rules) +function processfullvoc(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 = fullvoceasy(str) elseif rules == "dflt" then @@ -500,12 +503,15 @@ function processfullvoc(str, rules) return str end -function processnovoc(str, rules) +function processnovoc(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 = novoceasy(str) elseif rules == "dflt" then diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua index 5c1fabf..59e861f 100644 --- a/arabluatex_voc.lua +++ b/arabluatex_voc.lua @@ -114,21 +114,13 @@ buckwalter = { {a="^Aal%-?", b="al-"}, {a="(%W)Aal%-?", b="%1al-"}, {a="([%-%s])Al%-?", b="%1\'l-"}, --- {a="([fw]a?)([tw]a?)Al", b="%1-%2-\'l-"}, --- {a="([fw]a?)(bi?)Al", b="%1-%2-\'l-"}, --- {a="([fw]a?)(l[ai]?l)Al", b="%1-%2-l-"}, --- {a="(al%-[%a])(%~)", b="%1"}, --- {a="([fltw]a?)Al%-?", b="%1-\'l-"}, --- {a="(bi?)Al%-?", b="%1-'l-"}, --- {a="(li?)Al%-?", b="%1-l-"}, {a="(\'l%-[%g])(%~)", b="%1"}, -- digraphs begin - {a="([^a])A", b="%1\"A"}, {a="aA", b="A"}, {a="uw([^%~])", b="U%1"}, {a="iy([^%~])", b="I%1"}, -- digraphs end - -- madda: get it back + -- madda: get it back now {a="%@", b="A\"\'"}, -- šadda: {a="([%g])(%~)", b="%1%1"}, @@ -149,8 +141,7 @@ buckwalter = { {a="K", b="iN"}, {a="o", b="\""}, -- hard-coded connective alif - {a="%[", b="ٱ"}, --- {a="%_", b="--"}, + {a="%[", b="ٱ"} } hamza = { -- cgit v1.2.3