From e76d9ec8bfc3a80064856507fd9c2e5d186320d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcel=20Fabian=20Kr=C3=BCger?= Date: Mon, 28 Jun 2021 06:35:57 +0200 Subject: [PATCH] Fix style flag handling --- luamml-tex.lua | 2 +- pdfmml.lua | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/luamml-tex.lua b/luamml-tex.lua index a9be147..8832025 100644 --- a/luamml-tex.lua +++ b/luamml-tex.lua @@ -102,7 +102,7 @@ luatexbase.add_to_callback('pre_mlist_to_hlist_filter', function(mlist, style) end local display = style == 'display' local startmath = tex.nest.top.tail -- Must come before any write_struct calls which adds nodes - style = flag & 16 == 4 and flag>>5 & 0x7 or display and 0 or 2 + style = flag & 16 == 16 and flag>>5 & 0x7 or display and 0 or 2 local xml, core = process_mlist(mlist, style) if flag & 2 == 2 then xml = save_result(shallow_copy(xml), display) diff --git a/pdfmml.lua b/pdfmml.lua index 457dda2..7a0aac2 100755 --- a/pdfmml.lua +++ b/pdfmml.lua @@ -70,7 +70,7 @@ for i, block in ipairs(parsed.groups) do local flag, tag, label = block.flag, block.tag, block.label block = block[1] if flag & 3 ~= 0 then - local style = block.display and 0 or 2 + local style = flag & 16 == 16 and flag>>5 & 0x7 or block.display and 0 or 2 local xml = convert.process(parse_showlists(block, nil, nil, parsed), style) if flag & 2 == 2 then local stream = out_stream or assert(io.open(out_prefix .. tostring(i) .. out_suffix, 'w')) @@ -84,7 +84,7 @@ for i, block in ipairs(parsed.groups) do xml = {[0] = tag, xml} end end - if style == 2 and flag & 1 == 1 and label then + if (not block.display) and flag & 1 == 1 and label then if parsed.mathml[label] then error'Invalid label reuse' end