X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=src%2Fltj-pretreat.lua;h=6f72256d05e1615dc6a696c46e3bc863eecec84b;hb=3c2f5346fa635e1423ccd51441927a754e26a392;hp=21f0076558ca7b106dc62a98989a3f56dbd72239;hpb=0c68dbd01bde529de4c2a340f7579826694d5203;p=luatex-ja%2Fluatexja.git diff --git a/src/ltj-pretreat.lua b/src/ltj-pretreat.lua index 21f0076..6f72256 100644 --- a/src/ltj-pretreat.lua +++ b/src/ltj-pretreat.lua @@ -3,7 +3,6 @@ -- luatexja.load_module('charrange'); local ltjc = luatexja.charrange -luatexja.load_module('jfont'); local ltjf = luatexja.jfont luatexja.load_module('stack'); local ltjs = luatexja.stack local floor = math.floor @@ -15,7 +14,6 @@ local node_remove = node.remove local node_next = node.next local node_free = node.free local tex_getcount = tex.getcount -local fonts_ids = fonts.ids local id_glyph = node.id('glyph') local id_math = node.id('math') @@ -25,56 +23,10 @@ local sid_user = node.subtype('user_defined') local attr_curjfnt = luatexbase.attributes['ltj@curjfnt'] local attr_icflag = luatexbase.attributes['ltj@icflag'] -local ltjf_font_metric_table = ltjf.font_metric_table local ltjc_is_ucs_in_japanese_char = ltjc.is_ucs_in_japanese_char local attr_orig_char = luatexbase.attributes['ltj@origchar'] local STCK = luatexja.userid_table.STCK -local fwglyph = { - ["Japan1"] = { - [0x00A4] = 16280, - [0x00A9] = 8059, - [0x00AC] = 8008, - [0x00AE] = 8060, - [0x00B5] = 12093, - [0x00BC] = 8185, - [0x00BD] = 8184, - [0x00BE] = 9783, - [0x2012] = 16206, - [0x201C] = 672, - [0x201D] = 673, - [0x201E] = 8280, - [0x2022] = 12256, - [0x2026] = 668, - [0x20AC] = 9779, - [0x2122] = 11853, - [0x2127] = 16204, - [0x2153] = 9781, - [0x2154] = 9782, - [0x2155] = 9784, - [0x215B] = 9796, - [0x215C] = 9797, - [0x215D] = 9798, - [0x215E] = 9799, - [0x2209] = 16299, - [0x2225] = 16196, - [0x2226] = 16300, - [0x2245] = 16301, - [0x2248] = 16302, - [0x2262] = 16303, - [0x2276] = 16304, - [0x2277] = 16305, - [0x2284] = 16306, - [0x2285] = 16307, - [0x228A] = 16308, - [0x228B] = 16309, - [0x22DA] = 16310, - [0x22DB] = 16311, - [0x2318] = 16271, - } -} - - ------------------------------------------------------------------------ -- MAIN PROCESS STEP 1: replace fonts ------------------------------------------------------------------------ @@ -87,20 +39,9 @@ local function suppress_hyphenate_ja(head) local pid = p.id if pid == id_glyph then if (has_attr(p, attr_icflag) or 0)<=0 and ltjc_is_ucs_in_japanese_char(p) then - local pf = has_attr(p, attr_curjfnt) or p.font - p.font = pf + p.font = has_attr(p, attr_curjfnt) or p.font p.subtype = floor(p.subtype*0.5)*2 set_attr(p, attr_orig_char, p.char) - if ltjf_font_metric_table[pf] and ltjf_font_metric_table[pf].mono_flag then - local pco = fonts_ids[pf].cidinfo.ordering - for i,v in pairs(fwglyph) do - if pco == i then - local fwc = fonts_ids[pf].unicodes[pco .. '.'.. tostring(v[p.char])] - if fwc then p.char = fwc end - break - end - end - end end elseif pid == id_math then p = node_next(p) -- skip math on @@ -140,4 +81,4 @@ luatexbase.add_to_callback('hyphenate', luatexja.pretreat = { set_box_stack_level = set_box_stack_level, -} \ No newline at end of file +}