+-- UTR#50 で R もしくは Tr と指定されているが,縦組用グリフがないもの
+local function capsule_glyph_tate_rot(p, met, char_data, head, dir, asc)
+ fshift.down = char_data.down; fshift.left = char_data.left
+ fshift = call_callback("luatexja.set_width", fshift, met, char_data)
+ local kbl = has_attr(p, attr_tkblshift) or 0
+ -- f*: whd specified in JFM
+ local pwidth, pheight,pdepth = getwhd(p)
+ local fwidth = char_data.width or pwidth
+ local fheight= char_data.height or pheight
+ local fdepth = char_data.depth or pdepth
+ local q
+ head, q = node_remove(head, p)
+ local xo, yo = getoffsets(p)
+ setoffsets(p, xo + char_data.align*(fwidth-pwidth) - fshift.left,
+ yo - fshift.down - asc);
+ setnext(p, nil)
+ local box = node_new(id_hlist)
+ setwhd(box, fwidth, fheight, fdepth)
+ setfield(box, 'head', p)
+ setfield(box, 'shift', kbl)
+ setdir(box, dir)
+ set_attr(box, attr_icflag, PACKED)
+ head = q and node_insert_before(head, q, box)
+ or node_insert_after(head, node_tail(head), box)
+ return q, head, box
+end
+
+local function capsule_glyph_tate(p, met, char_data, head, dir)