From b92f35ef29f872cc17e2718dd0fb63d0a2d5db24 Mon Sep 17 00:00:00 2001 From: Robert Alessi Date: Sat, 16 Jun 2018 13:29:57 +0200 Subject: \arbcolor[]{} is now able to colorize everything, down to the diacritics! --- arabluatex.dtx | 8 +++----- arabluatex.lua | 36 +++++++++++++++++++++--------------- arabluatex_voc.lua | 3 +++ 3 files changed, 27 insertions(+), 20 deletions(-) diff --git a/arabluatex.dtx b/arabluatex.dtx index 3b74ab6..7f7a29b 100644 --- a/arabluatex.dtx +++ b/arabluatex.dtx @@ -2561,11 +2561,9 @@ word that \cs{arbnull} is applied to. % \fi % % \paragraph{Color}\NEWfeature{v1.12} this: -% \begingroup \newfontfamily\arabicfont{FreeSerif}[Script=Arabic] -% \arb{da_hal"+\arbcolor[red]{+t\arbcolor[blue]{+u}} -% mub"t+\arbcolor[brown]{+a}s+\arbcolor[blue]{+i\arbcolor[brown]{+maN}}} -% \endgroup -% +% \begin{arab}[trans] +% daxal\arbcolor[red]{tu} mub\arbcolor[blue]{ta}si\arbcolor[green]{maN} +% \end{arab} % \section{Transliteration} % \label{sec:transliteration} % It may be more appropriate to speak of \enquote{romanization} than diff --git a/arabluatex.lua b/arabluatex.lua index 11a91c3..84562be 100644 --- a/arabluatex.lua +++ b/arabluatex.lua @@ -128,15 +128,15 @@ local function breakcmd(str) bodytext = string.sub(bodytext, 2, -2) return string.format("\\al@brk{\\%s{%s}{\\arb{%s}}}", tag, bodycolor, bodytext) end) - -- \arbcolor - str = string.gsub(str, "(.)(\\arbcolor%s?)(%b[])(%b{})(.)", - function (li, tag, opt, body, lii) - li = string.gsub(li, "%+", "‍") -- ^^^^200d - lii = string.gsub(lii, "%+", "‍") -- ^^^^200d - body = string.sub(body, 2, -2) - body = string.gsub(body, "%+", "‍") -- ^^^^200d - return string.format("%s%s%s{%s}%s", li, tag, opt, body, lii) - end) + -- -- \arbcolor + -- str = string.gsub(str, "(.)(\\arbcolor%s?)(%b[])(%b{})(.)", + -- function (li, tag, opt, body, lii) + -- li = string.gsub(li, "%+", "‍") -- ^^^^200d + -- lii = string.gsub(lii, "%+", "‍") -- ^^^^200d + -- body = string.sub(body, 2, -2) + -- body = string.gsub(body, "%+", "‍") -- ^^^^200d + -- return string.format("%s%s%s{%s}%s", li, tag, opt, body, lii) + -- end) -- commands set by default in outofarb for i = 1,#outofarb do str = gsub(str, dblbkslash * lpeg.Cs(outofarb[i]) * cmdargs, "}%1%2%3\\arb{") @@ -308,7 +308,8 @@ local function voc(str, rules) inside = string.gsub(inside, null[i].a, null[i].b) end inside = indnum(inside) - return string.format("\\txarb{%s}", inside) +-- return string.format("\\txarb{%s}", inside) + return string.format("%s", inside) end) return str end @@ -344,7 +345,8 @@ local function voceasy(str) inside = string.gsub(inside, null[i].a, null[i].b) end inside = indnum(inside) - return string.format("\\txarb{%s}", inside) +-- return string.format("\\txarb{%s}", inside) + return string.format("%s", inside) end) return str end @@ -397,7 +399,8 @@ local function fullvoc(str, rules) inside = string.gsub(inside, null[i].a, null[i].b) end inside = indnum(inside) - return string.format("\\txarb{%s}", inside) +-- return string.format("\\txarb{%s}", inside) + return string.format("%s", inside) end) return str end @@ -445,7 +448,8 @@ local function fullvoceasy(str, rules) inside = string.gsub(inside, null[i].a, null[i].b) end inside = indnum(inside) - return string.format("\\txarb{%s}", inside) +-- return string.format("\\txarb{%s}", inside) + return string.format("%s", inside) end) return str end @@ -481,7 +485,8 @@ local function novoc(str) inside = string.gsub(inside, null[i].a, null[i].b) end inside = indnum(inside) - return string.format("\\txarb{%s}", inside) +-- return string.format("\\txarb{%s}", inside) + return string.format("%s", inside) end) return str end @@ -517,7 +522,8 @@ local function novoceasy(str) inside = string.gsub(inside, null[i].a, null[i].b) end inside = indnum(inside) - return string.format("\\txarb{%s}", inside) +-- return string.format("\\txarb{%s}", inside) + return string.format("%s", inside) end) return str end diff --git a/arabluatex_voc.lua b/arabluatex_voc.lua index 919a81d..c9d0334 100644 --- a/arabluatex_voc.lua +++ b/arabluatex_voc.lua @@ -836,6 +836,9 @@ shortv = { {a="\"u", b=""}, {a="\"a", b=""}, {a="\"i", b=""}, + {a="%.u", b="ُ"}, + {a="%.a", b="َ"}, + {a="%.i", b="ِ"}, {a="u", b="ُ"}, {a="a", b="َ"}, {a="i", b="ِ"} -- cgit v1.2.3