X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fltj-pretreat.lua;h=7d332578e7ed2d1283e81eafd668a039c70e48f1;hb=f078ac2f7998a102c7ec765e725f2269eed9f872;hp=985914d5e24d7bb5b04d327cbf6799d06e92e55b;hpb=0f0921ced2b53537326ad20ce546020b3cae2670;p=luatex-ja%2Fluatexja.git diff --git a/src/ltj-pretreat.lua b/src/ltj-pretreat.lua index 985914d..7d33257 100644 --- a/src/ltj-pretreat.lua +++ b/src/ltj-pretreat.lua @@ -43,8 +43,6 @@ 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 local PROCESSED_BEGIN_FLAG = luatexja.icflag_table.PROCESSED_BEGIN_FLAG @@ -103,7 +101,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 @@ -149,6 +149,7 @@ local function set_box_stack_level(head, mode) if ltjf_font_metric_table[nf].vert_activated then local pc = getchar(p) pc = ltjf_font_metric_table[nf].vform[pc] + if pc then setchar(p, pc) end end end end