X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fltj-pretreat.lua;h=99b8d60f686cc6c24529e7be0488636a546ab42a;hb=26649839d59f6fb2d9517806a2850200a16895bc;hp=8712f570ffb02692f5d2d4df90fcc44d5de6d53e;hpb=0e8b59d4e986bb2c1e1af9746d649389325db9a1;p=luatex-ja%2Fluatexja.git diff --git a/src/ltj-pretreat.lua b/src/ltj-pretreat.lua index 8712f57..99b8d60 100644 --- a/src/ltj-pretreat.lua +++ b/src/ltj-pretreat.lua @@ -42,6 +42,7 @@ local attr_icflag = luatexbase.attributes['ltj@icflag'] local is_ucs_in_japanese_char = ltjc.is_ucs_in_japanese_char_direct local ltjs_orig_char_table = ltjs.orig_char_table local ltjf_replace_altfont = ltjf.replace_altfont +local ltjf_font_extra_info = ltjf.font_extra_info local attr_orig_char = luatexbase.attributes['ltj@origchar'] local STCK = luatexja.userid_table.STCK local DIR = luatexja.userid_table.DIR @@ -121,7 +122,6 @@ end -- mode: true iff this function is called from hpack_filter local ltjs_report_stack_level = ltjs.report_stack_level -local ltjf_vert_form_table = ltjf.vert_form_table local ltjf_font_metric_table = ltjf.font_metric_table local font_getfont = font.getfont local function set_box_stack_level(head, mode) @@ -140,8 +140,9 @@ local function set_box_stack_level(head, mode) local nf = ltjf_replace_altfont( has_attr(p, attr_curtfnt) or getfont(p) , pc) setfield(p, 'font', nf) if ltjf_font_metric_table[nf].vert_activated then - pc = ltjf_vert_form_table [getchar(p)] - if font_getfont(nf).characters[pc] then setfield(p, 'char', pc) end + local pc = getchar(p) + pc = (ltjf_font_extra_info[nf] and ltjf_font_extra_info[nf][pc] and ltjf_font_extra_info[nf][pc].vform) + if pc and font_getfont(nf).characters[pc] then setfield(p, 'char', pc) end end end end