From 03b1187135bacf873e3376e49b589b4524ee5f5e Mon Sep 17 00:00:00 2001 From: Hironori Kitagawa Date: Mon, 26 Sep 2011 18:21:50 +0900 Subject: [PATCH] Fixed ticket #26398, and whatsits from LuaTeX-ja stack system and \inhibitglue are now appended only in (restricted) horizontal mode. --- src/lltjfont.sty | 5 +++-- src/luatexja-core.lua | 2 +- src/luatexja-core.sty | 15 ++++++++++----- src/luatexja/jfmglue.lua | 7 +++++-- src/luatexja/stack.lua | 31 +++++++++++++++++-------------- test/test07-math.pdf | Bin 19464 -> 20505 bytes test/test07-math.tex | 9 +++++---- 7 files changed, 41 insertions(+), 28 deletions(-) diff --git a/src/lltjfont.sty b/src/lltjfont.sty index e6713e5..da35c15 100644 --- a/src/lltjfont.sty +++ b/src/lltjfont.sty @@ -654,8 +654,9 @@ \def\getanddefine@fonts#1#2{% \ltj@tempcnta=#1\ltj@@IsFontJapanese{\string#2}% - \ifin@\ltj@@ja@getanddefine@fonts{#1}{#2}% - \else \ltj@@al@getanddefine@fonts{#1}{#2}\fi + \ifin@\let\ltj@temp=\ltj@@ja@getanddefine@fonts% + \else \let\ltj@temp=\ltj@@al@getanddefine@fonts\fi + \ltj@temp{#1}{#2}% } \def\use@mathgroup#1#2{\relax\ifmmode \math@bgroup diff --git a/src/luatexja-core.lua b/src/luatexja-core.lua index aab611c..8190708 100644 --- a/src/luatexja-core.lua +++ b/src/luatexja-core.lua @@ -216,7 +216,7 @@ function debug_show_node_X(p,print_fn) local s local pt=node_type(p.id) local base = debug_depth .. string.format('%X', has_attr(p,attr_icflag) or 0) - .. ' ' .. pt .. ' ' .. p.subtype + .. ' ' .. pt .. ' ' .. tostring(p.subtype ) if pt == 'glyph' then s = base .. ' ' .. utf.char(p.char) .. ' ' .. tostring(p.font) .. ' (' .. print_scaled(p.height) .. '+' diff --git a/src/luatexja-core.sty b/src/luatexja-core.sty index ecde410..8c68293 100644 --- a/src/luatexja-core.sty +++ b/src/luatexja-core.sty @@ -253,16 +253,21 @@ \define@key[ltj]{japaram}{jascriptscriptfont}{% \expandafter\ltj@@set@stackfont#1:{mjss}} \def\ltj@@set@stackfont#1,#2:#3{% - {\directlua{tex.globaldefs=0}\ltj@curjfnt=-1 #2% - \global\ltj@tempcnta=\ltj@curjfnt}% - \ifnum\ltj@tempcnta=-1 + \directlua{% + ltj.global_temp = tex.globaldefs; + tex.globaldefs = 0}% + \ltj@tempcnta=\ltj@curjfnt\ltj@curjfnt=-1 #2% + \ifnum\ltj@curjfnt=-1 \@PackageError{luatexja-core}% {\string#2 is not a control sequence that represents \MessageBreak a Japanese font}{}% \else \directlua{luatexja.stack.set_stack_font(ltj.isglobal, \asluastring{#3}, - \ltj@safe@num@or\ltj@defnum{#1}, \the\ltj@tempcnta)}% - \fi} + \ltj@safe@num@or\ltj@defnum{#1}, \the\ltj@curjfnt)}% + \fi + \ltj@curjfnt=\ltj@tempcnta + \directlua{tex.globaldefs = ltj.global_temp}% + } % yalbaselineshift = % yjabaselineshift = diff --git a/src/luatexja/jfmglue.lua b/src/luatexja/jfmglue.lua index 902d81c..b4962ff 100644 --- a/src/luatexja/jfmglue.lua +++ b/src/luatexja/jfmglue.lua @@ -821,6 +821,9 @@ end -- \inhibitglue function create_inhibitglue_node() - local g=node_new(id_whatsit, sid_user) - g.user_id=30111; g.type=100; g.value=1; node.write(g) + if tex.nest[tex.nest.ptr].mode == 127 or + tex.nest[tex.nest.ptr].mode == -127 then + local g=node_new(id_whatsit, sid_user) + g.user_id=30111; g.type=100; g.value=1; node.write(g) + end end diff --git a/src/luatexja/stack.lua b/src/luatexja/stack.lua index ea23801..35d446f 100644 --- a/src/luatexja/stack.lua +++ b/src/luatexja/stack.lua @@ -20,21 +20,24 @@ local charprop_stack_table={}; charprop_stack_table[0]={} function get_stack_level() local i = tex.getcount('ltj@@stack') - local j = tex.currentgrouplevel - if j > tex.getcount('ltj@@group@level') then - i = i+1 -- new stack level - local gd = tex.globaldefs - if gd>0 then tex.globaldefs = 0 end - -- 'tex.globaldefs = 0' is local even if \globaldefs > 0. - tex.setcount('ltj@@group@level', j) - for k,v in pairs(charprop_stack_table) do -- clear the stack above i - if k>=i then charprop_stack_table[k]=nil end + if tex.nest[tex.nest.ptr].mode == 127 or + tex.nest[tex.nest.ptr].mode == -127 then + local j = tex.currentgrouplevel + if j > tex.getcount('ltj@@group@level') then + i = i+1 -- new stack level + local gd = tex.globaldefs + if gd>0 then tex.globaldefs = 0 end + -- 'tex.globaldefs = 0' is local even if \globaldefs > 0. + tex.setcount('ltj@@group@level', j) + for k,v in pairs(charprop_stack_table) do -- clear the stack above i + if k>=i then charprop_stack_table[k]=nil end + end + charprop_stack_table[i] = table.fastcopy(charprop_stack_table[i-1]) + tex.setcount('ltj@@stack', i) + if gd>0 then tex.globaldefs = gd end + local g = node_new(id_whatsit, sid_user) + g.user_id=30112; g.type=100; g.value=j; node.write(g) end - charprop_stack_table[i] = table.fastcopy(charprop_stack_table[i-1]) - tex.setcount('ltj@@stack', i) - if gd>0 then tex.globaldefs = gd end - local g = node_new(id_whatsit, sid_user) - g.user_id=30112; g.type=100; g.value=j; node.write(g) end return i end diff --git a/test/test07-math.pdf b/test/test07-math.pdf index 0ccf43fdd6e5c65d4da7d08bb707776b2b888ee5..dde7ccb7f4d22cb164f1d91c580ce4a78655f908 100644 GIT binary patch delta 13802 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 delta 12735 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