X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fltj-setwidth.lua;h=d92a4c667d65ab2f0c6d2f6e272bf2bf1daef4bf;hb=1379fbf6aae445cdce3906e7b83cc1c8550e78d5;hp=99bc9dbb0703b065f1d4cf2b1b05157ac27a8890;hpb=13a0202f984e6b75332f4f3c137e05e57ea79cd7;p=luatex-ja%2Fluatexja.git diff --git a/src/ltj-setwidth.lua b/src/ltj-setwidth.lua index 99bc9db..d92a4c6 100644 --- a/src/ltj-setwidth.lua +++ b/src/ltj-setwidth.lua @@ -37,9 +37,7 @@ local id_whatsit = node.id('whatsit') local sid_save = node.subtype('pdf_save') local sid_restore = node.subtype('pdf_restore') local sid_matrix = node.subtype('pdf_setmatrix') -local dir_tate = 3 -local dir_yoko = 4 -local DIR = luatexja.stack_table_index.DIR +local dir_tate = luatexja.dir_table.dir_tate local attr_jchar_class = luatexbase.attributes['ltj@charclass'] local attr_curjfnt = luatexbase.attributes['ltj@curjfnt'] @@ -99,12 +97,12 @@ local function capsule_glyph_yoko(p, met, class) setfield(box, 'head', p) setfield(box, 'shift', y_shift) setfield(box, 'dir', dir) - set_attr(box, attr_icflag, PACKED + get_pr_begin_flag(p)) + set_attr(box, attr_icflag, PACKED) head = q and node_insert_before(head, q, box) or node_insert_after(head, node_tail(head), box) return q else - set_attr(p, attr_icflag, PROCESSED + get_pr_begin_flag(p)) + set_attr(p, attr_icflag, PROCESSED) setfield(p, 'xoffset', getfield(p, 'xoffset') - fshift.left) setfield(p, 'yoffset', getfield(p, 'yoffset') - (has_attr(p, attr_ykblshift) or 0) - fshift.down) @@ -151,7 +149,7 @@ local function capsule_glyph_tate(p, met, class) setfield(k2, 'next', p); setfield(p, 'next', k3); setfield(k3, 'next', wr); - set_attr(box, attr_icflag, PACKED + get_pr_begin_flag(p)) + set_attr(box, attr_icflag, PACKED) head = q and node_insert_before(head, q, box) or node_insert_after(head, node_tail(head), box) return q @@ -176,7 +174,7 @@ local function capsule_glyph_math(p, met, class) setfield(box, 'head', p) setfield(box, 'shift', y_shift) setfield(box, 'dir', tex.mathdir) - set_attr(box, attr_icflag, PACKED + get_pr_begin_flag(p)) + set_attr(box, attr_icflag, PACKED) return box end luatexja.setwidth.capsule_glyph_math = capsule_glyph_math @@ -196,7 +194,9 @@ function luatexja.setwidth.set_ja_width(ahead, adir) p = capsule_glyph(p, ltjf_font_metric_table[pf], has_attr(p, attr_jchar_class)) else - set_attr(p, attr_icflag, PROCESSED + get_pr_begin_flag(p)) + -- TODO: neg. offset does not increase depth + --local d = getfield(p, 'yoffset') - (has_attr(p,attr_ablshift) or 0) + set_attr(p, attr_icflag, PROCESSED) setfield(p, 'yoffset', getfield(p, 'yoffset') - (has_attr(p,attr_ablshift) or 0)) p = node_next(p) @@ -215,7 +215,7 @@ function luatexja.setwidth.set_ja_width(ahead, adir) local v = has_attr(p,attr_yablshift) or 0 setfield(p, 'height', getfield(p, 'height')-v) setfield(p, 'depth', getfield(p, 'depth')+v) - set_attr(p, attr_icflag, PROCESSED + get_pr_begin_flag(p)) + set_attr(p, attr_icflag, PROCESSED) end end end