[get_box_dir(b, dir_yoko)%dir_math_mod][new_dir][getid(b)]) do
local cmd, arg, nn = v[1], v[2]
if cmd=='kern' then
- nn = node_new(id_kern)
+ nn = node_new(id_kern, 1)
setfield(nn, 'kern', arg(w, h, d, dn_w, dn_h, dn_d))
elseif cmd=='whatsit' then
nn = node_new(id_whatsit, arg)
end
if not gb then
if ga then
- gb = node_new(id_kern); setfield(gb, 'kern', 0)
+ gb = node_new(id_kern, 1); setfield(gb, 'kern', 0)
else return nil end
elseif not ga then
- ga = node_new(id_kern); setfield(ga, 'kern', 0)
+ ga = node_new(id_kern, 1); setfield(ga, 'kern', 0)
end
local k = 2*getid(gb) - getid(ga)
}
end
for k,w in pairs(v.kern) do
- local g = node_new(id_kern)
+ local g = node_new(id_kern, 1)
setfield(g, 'kern', w[1])
- setfield(g, 'subtype', 1)
set_attr(g, attr_icflag, FROM_JFM)
v[k] = {g, ratio=w[2]/sz}
end
else
local ITALIC = luatexja.icflag_table.ITALIC
new_ic_kern = function()
- local g = node_new(id_kern)
- setfield(g, 'subtype', 1); set_attr(g, attr_icflag, ITALIC)
+ local g = node_new(id_kern, 1)
+ set_attr(g, attr_icflag, ITALIC)
return g
end
end
setfield(rt, 'head', nil); node_free(rt);
end
end
- local a, k = node_new(id_rule), node_new(id_kern)
+ local a, k = node_new(id_rule), node_new(id_kern, 1)
setfield(a, 'width', 0); setfield(a, 'height', 0)
setfield(a, 'depth', 0); setfield(k, 'kern', rgap)
insert_after(r, r, a); insert_after(r, a, k);
a = node.direct.vpack(r); setfield(a, 'shift', 0)
set_attr(a, attr_ruby, post_intrusion)
if rsmash or getfield(a, 'height')<getfield(p, 'height') then
- local k = node_new(id_kern)
+ local k = node_new(id_kern, 1)
setfield(k, 'kern', -getfield(a, 'height')+getfield(p, 'height'))
setfield(a, 'head', k); insert_before(r, r, k)
setfield(a, 'height', getfield(p, 'height'))
local wm = node_new(id_whatsit, sid_matrix)
setfield(wm, 'data', '0 1 -1 0')
local pwnh = -round(0.5*getfield(p, 'width'))
- local k2 = node_new(id_kern); setfield(k2, 'kern', pwnh)
- local k3 = node_new(id_kern); setfield(k3, 'kern', -getfield(p, 'width')-pwnh)
+ local k2 = node_new(id_kern, 1); setfield(k2, 'kern', pwnh)
+ local k3 = node_new(id_kern, 1); setfield(k3, 'kern', -getfield(p, 'width')-pwnh)
local wr = node_new(id_whatsit, sid_restore)
setfield(box, 'head', ws)
setfield(ws, 'next', wm); setfield(wm, 'next', k2);