X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fltj-pretreat.lua;h=1729c9e7f03f663c043d93fbdd30acc249fdb2af;hb=3fae82d64b193c794fdf2f1262d80bddc98ce5a8;hp=9ff46ebb9f2c72957ac18ac76a73a20b6443818e;hpb=95c99bddc6db5f6d23c6eb09c9a2831f82be5662;p=luatex-ja%2Fluatexja.git diff --git a/src/ltj-pretreat.lua b/src/ltj-pretreat.lua index 9ff46eb..1729c9e 100644 --- a/src/ltj-pretreat.lua +++ b/src/ltj-pretreat.lua @@ -43,7 +43,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 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 @@ -103,7 +103,9 @@ do while pid==id_glyph do local pc = getchar(p) if has_attr(p, attr_icflag, 0) and is_ucs_in_japanese_char(p, pc) then - setfont(p, ltjf_replace_altfont(has_attr(p, attr_curjfnt) or getfont(p), pc)) + local pf = has_attr(p, attr_curjfnt) + pf = (pf and pf>0 and pf) or getfont(p) + setfont(p, ltjf_replace_altfont(pf, pc)) setlang(p, lang_ja) ltjs_orig_char_table[p] = pc end @@ -148,8 +150,8 @@ local function set_box_stack_level(head, mode) setfont(p, nf) if ltjf_font_metric_table[nf].vert_activated then 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 setchar(p, pc) end + pc = ltjf_font_metric_table[nf].vform[pc] + if pc then setchar(p, pc) end end end end