X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fltj-direction.lua;h=e29503bef4ad5a6f0034e9e69041114a5cebf066;hb=0526b27bf88ed7f2adedef267f4d9226f6f5a692;hp=8ddc3b34370f096f0db90cb2be48eb357d5ee508;hpb=eceecf1e377fb936af0fd151ad67a92889bec979;p=luatex-ja%2Fluatexja.git diff --git a/src/ltj-direction.lua b/src/ltj-direction.lua index 8ddc3b3..e29503b 100644 --- a/src/ltj-direction.lua +++ b/src/ltj-direction.lua @@ -1066,6 +1066,11 @@ do setfield(db, 'head', db_head) end end + + local shipout_temp = node_new(id_hlist) + set_attr(shipout_temp, attr_dir, dir_yoko) + tex_set_attr('global', attr_dir, 0) + finalize_inner = function (box) for n in traverse(getlist(box)) do local nid = getid(n) @@ -1080,7 +1085,17 @@ do end end local getbox = tex.getbox + local setbox, copy = Dnode.setbox, Dnode.copy function luatexja.direction.finalize() - finalize_inner(to_direct(tex.getbox("AtBeginShipoutBox"))) + local a = to_direct(tex.getbox("AtBeginShipoutBox")) + local a_dir = get_box_dir(a, dir_yoko) + if a_dir~=dir_yoko then + local b = create_dir_node(a, a_dir, dir_yoko, false) + setfield(b, 'head', a); a = b + end + setfield(shipout_temp, 'head', a) + finalize_inner(shipout_temp) + setbox('global', "AtBeginShipoutBox", copy(getlist(shipout_temp))) + setfield(shipout_temp, 'head',nil) end end