diff options
author | Karl Berry <karl@freefriends.org> | 2012-09-04 23:02:12 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-09-04 23:02:12 +0000 |
commit | a0fb1a4d69667793af3cff54f71b5c01ad5434c1 (patch) | |
tree | 636b1fb2eb001114988f35e3f2c676b39db6d4f7 /Master/texmf-dist/tex/luatex/luatexja/luatexja.lua | |
parent | a3298cd2a9d5a805dea61e95b0077e73470ab270 (diff) |
luatexja (4sep12)
git-svn-id: svn://tug.org/texlive/trunk@27593 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/luatex/luatexja/luatexja.lua')
-rw-r--r-- | Master/texmf-dist/tex/luatex/luatexja/luatexja.lua | 35 |
1 files changed, 19 insertions, 16 deletions
diff --git a/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua b/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua index 7b608d50df4..98b0ae7dc5d 100644 --- a/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua +++ b/Master/texmf-dist/tex/luatex/luatexja/luatexja.lua @@ -86,6 +86,7 @@ local XKANJI_SKIP = 7 local PROCESSED = 8 local IC_PROCESSED = 9 local BOXBDD = 15 +local PROCESSED_BEGIN_FLAG = 16 -- Three aux. functions, bollowed from tex.web @@ -120,7 +121,7 @@ local function print_glue(d,order) return out end -local function print_spec(p) +function print_spec(p) local out=print_scaled(p.width)..'pt' if p.stretch~=0 then out=out..' plus '..print_glue(p.stretch,p.stretch_order) @@ -131,8 +132,6 @@ local function print_spec(p) return out end -function math.two_add(a,b) return a+b end -function math.two_average(a,b) return (a+b)/2 end ---- table: charprop_stack_table [stack_level].{pre|post|xsp}[chr_code] @@ -214,7 +213,7 @@ end -- EXT: print \global if necessary function luatexja.ext_print_global() - if isglobal=='global' then tex.sprint(cat_lp, '\\global') end + if luatexja.isglobal=='global' then tex.sprint(cat_lp, '\\global') end end -- main process @@ -242,16 +241,20 @@ luatexbase.add_to_callback('hpack_filter', 'luaotfload.hpack_filter') + 1) -- debug +local function get_attr_icflag(p) + return (has_attr(p, attr_icflag) or 0) % PROCESSED_BEGIN_FLAG +end + local debug_depth local function debug_show_node_X(p,print_fn) local k = debug_depth local s local pt=node_type(p.id) - local base = debug_depth .. string.format('%X', has_attr(p,attr_icflag) or 0) - .. ' ' .. tostring(p) + local base = debug_depth .. string.format('%X', get_attr_icflag(p)) + .. ' ' .. pt .. ' ' .. tostring(p.subtype) .. ' ' if pt == 'glyph' then - s = base .. ' ' .. utf.char(p.char) .. ' ' .. tostring(p.font) + s = base .. ' ' .. utf.char(p.char) .. ' ' .. tostring(p.font) .. ' (' .. print_scaled(p.height) .. '+' .. print_scaled(p.depth) .. ')x' .. print_scaled(p.width) print_fn(s) @@ -272,7 +275,7 @@ local function debug_show_node_X(p,print_fn) for i = 2, p.glue_order do s = s .. 'l' end end end - if has_attr(p, attr_icflag, PACKED) then + if get_attr_icflag(p) == PACKED then s = s .. ' (packed)' end print_fn(s) @@ -284,11 +287,11 @@ local function debug_show_node_X(p,print_fn) debug_depth=k elseif pt == 'glue' then s = base .. ' ' .. print_spec(p.spec) - if has_attr(p, attr_icflag)==FROM_JFM then + if get_attr_icflag(p)==FROM_JFM then s = s .. ' (from JFM)' - elseif has_attr(p, attr_icflag)==KANJI_SKIP then + elseif get_attr_icflag(p)==KANJI_SKIP then s = s .. ' (kanjiskip)' - elseif has_attr(p, attr_icflag)==XKANJI_SKIP then + elseif get_attr_icflag(p)==XKANJI_SKIP then s = s .. ' (xkanjiskip)' end print_fn(s) @@ -296,19 +299,19 @@ local function debug_show_node_X(p,print_fn) s = base .. ' ' .. print_scaled(p.kern) .. 'pt' if p.subtype==2 then s = s .. ' (for accent)' - elseif has_attr(p, attr_icflag)==IC_PROCESSED then + elseif get_attr_icflag(p)==IC_PROCESSED then s = s .. ' (italic correction)' - -- elseif has_attr(p, attr_icflag)==ITALIC then + -- elseif get_attr_icflag(p)==ITALIC then -- s = s .. ' (italic correction)' - elseif has_attr(p, attr_icflag)==FROM_JFM then + elseif get_attr_icflag(p)==FROM_JFM then s = s .. ' (from JFM)' - elseif has_attr(p, attr_icflag)==LINE_END then + elseif get_attr_icflag(p)==LINE_END then s = s .. " (from 'lineend' in JFM)" end print_fn(s) elseif pt == 'penalty' then s = base .. ' ' .. tostring(p.penalty) - if has_attr(p, attr_icflag)==KINSOKU then + if get_attr_icflag(p)==KINSOKU then s = s .. ' (for kinsoku)' end print_fn(s) |