the following lua code is just a simple demo of TrueType&OpenType font
load process for myself use. and I've found that it can't work with
some OTF files recently. for example: AdobeSongStd-Light.otf. but it's
ok when I try to load the TrueType font for example: SimHei.ttf
callback.register('define_font',
function(name, size)
filename=kpse.find_file(name,"truetype fonts")
if (filename) then
ttffont = fontforge.to_table(fontforge.open(filename))
if ttffont then
f = { }
f.name = ttffont.fontname
f.fullname = ttffont.names[1].names.fullname
f.size = size
f.characters = {}
for char, glyph in pairs(ttffont.map.map) do
glyph_table = ttffont.glyphs[glyph]
f.characters[char] = {
index = glyph,
width = glyph_table.width * size/ttffont.units_per_em,
name = glyph_table.name,
}
end
f.filename = filename
f.type = 'real'
f.format = 'truetype'
f.cidinfo = {
registry = "Adobe",
ordering = "Identity",
supplement = 0,
version = 1
}
end
else
f = font.read_tfm(name, size)
end
return f
end
)
}
and luatex give me the error:
! LuaTeX error <\directlua0>:1: attempt to index field 'map' (a nil value).
I doubt maybe the OpenType file support in the fontforge is broken
now. Can anyone help to check this ?
_______________________________________________
dev-luatex mailing list
[email protected]
http://www.ntg.nl/mailman/listinfo/dev-luatex