end
function extract(head)
- local p = head, v
+ local p = head
+ local v
while p do
if p.id==id_whatsit then
if p.subtype==sid_user and p.user_id==30113 then
local g = node_new(id_glyph)
g.subtype = 0; g.char = p.value
v = has_attr(p, attr_curjfnt); g.font = v
- set_attr(g, attr_jchar_class,
- ltjf_find_char_class(g.char, ltjf_font_metric_table[v]))
set_attr(g, attr_curjfnt, v)
v = has_attr(p, attr_yablshift)
if v then
local fi = fonts.ids[fn]
if fi.cidinfo and fi.cidinfo.ordering == "Japan1" then
fmtable.cid_char_type = {}
- for i, v in pairs(ltjf.metrics[fmtable.jfm].chars) do
+ for i, v in pairs(fmtable.size_cache.chars) do
local j = string.match(i, "^AJ1%-([0-9]*)")
if j then
j = tonumber(fi.unicodes['Japan1.'..tostring(j)])
local function cid_set_char_class(arg, fmtable, char)
if arg~=0 then return arg
- elseif fmtable.cid_char_type then
+ elseif fmtable.cid_char_type then
return fmtable.cid_char_type[char] or 0
else return 0
end