X-Git-Url: http://git.osdn.net/view?p=luatex-ja%2Fluatexja.git;a=blobdiff_plain;f=src%2Fltj-jfmglue.lua;h=a3dbc258ff4a34e96d47101bbd79ca45ce8afac8;hp=1887b78b4a2bf559a231b8b37c2fe33f69da5cd0;hb=c272ae071309f4f79ff90ad2feefea070cde6a03;hpb=ae1314aae218985b5db11fb08f143476ce5df3e3 diff --git a/src/ltj-jfmglue.lua b/src/ltj-jfmglue.lua index 1887b78..a3dbc25 100644 --- a/src/ltj-jfmglue.lua +++ b/src/ltj-jfmglue.lua @@ -176,13 +176,9 @@ local function check_box(box_ptr, box_end) end while p and p~=box_end do local pid = p.id - if pid==id_kern then - if p.subtype==2 then - p = node_next(node_next(node_next(p))); pid = p.id - elseif IC_PROCESSED == has_attr(p, attr_icflag) then - p = node_next(p); pid = p.id - end - end + if pid==id_kern and p.subtype==2 then + p = node_next(node_next(node_next(p))); pid = p.id -- p must be glyph_node + end if pid==id_glyph then repeat if find_first_char then @@ -191,9 +187,11 @@ local function check_box(box_ptr, box_end) last_char = p; found_visible_node = true; p=node_next(p) if (not p) or p==box_end then return found_visible_node end until p.id~=id_glyph - pid = p.id + pid = p.id -- p must be non-nil end - if pid==id_hlist then + if pid==id_kern and has_attr(p, attr_icflag)==IC_PROCESSED then + p = node_next(p); + elseif pid==id_hlist then if PACKED == has_attr(p, attr_icflag) then if find_first_char then first_char = p.head; find_first_char = false