summaryrefslogtreecommitdiff
path: root/macros/luatex/generic/luaxml/luaxml-transform.lua
diff options
context:
space:
mode:
Diffstat (limited to 'macros/luatex/generic/luaxml/luaxml-transform.lua')
-rw-r--r--macros/luatex/generic/luaxml/luaxml-transform.lua19
1 files changed, 15 insertions, 4 deletions
diff --git a/macros/luatex/generic/luaxml/luaxml-transform.lua b/macros/luatex/generic/luaxml/luaxml-transform.lua
index d7631ac78e..b6841fea5f 100644
--- a/macros/luatex/generic/luaxml/luaxml-transform.lua
+++ b/macros/luatex/generic/luaxml/luaxml-transform.lua
@@ -4,8 +4,15 @@
-- code originaly comes from from https://github.com/michal-h21/luaxml-mathml
--
-local domobject = require "luaxml-domobject"
-local cssquery = require "luaxml-cssquery"
+local domobject
+local cssquery
+if kpse then
+ domobject = require "luaxml-domobject"
+ cssquery = require "luaxml-cssquery"
+else
+ domobject = require "luaxml.domobject"
+ cssquery = require "luaxml.cssquery"
+end
-- initialize CSS selector object
local css = cssquery()
@@ -49,14 +56,18 @@ local function process_text(text, parameters)
-- process all Unicode characters and find if they should be replaced
for _, char in utf8.codes(text) do
-- construct new string with replacements or original char
- t[#t+1] = unicodes[char] or utf8.char(char)
+ if verbatim then
+ t[#t+1] = utf8.char(char)
+ else
+ t[#t+1] = unicodes[char] or utf8.char(char)
+ end
end
local text = table.concat(t)
if parameters.collapse_newlines==true then
text = text:gsub("\n", " ")
end
-- verbatim can be set in parameters table. it prevent collapsing of spaces.
- if not parameters.verbatim then
+ if not verbatim then
text = text:gsub("(%s%s+)", function(a) return a:sub(1,1) end)
end
return text