2 \documentclass{article}
4 \usepackage{luaotfload}
8 function mkrmlgbm(nonfilename,opfilename)
9 local fontdata = containers.read(fonts.otf.cache, nonfilename)
11 -- from fonts.otf.otf_to_tfm()
13 fontdata.shared = fontdata.shared or {
18 tfmdata = fonts.otf.copy_to_tfm(fontdata)
19 tfmdata.unique = tfmdata.unique or { }
20 tfmdata.shared = tfmdata.shared or { } -- combine
21 local shared = tfmdata.shared
22 shared.otfdata = fontdata
23 shared.features = features -- default
25 shared.processes = { }
26 tfmdata.luatex = fontdata.luatex
27 tfmdata.indices = fontdata.luatex.indices
28 tfmdata.unicodes = fontdata.luatex.unicodes
29 tfmdata.marks = fontdata.luatex.marks
30 tfmdata.originals = fontdata.luatex.originals
32 tfmdata.has_italic = fontdata.metadata.has_italic
33 if not tfmdata.language then tfmdata.language = 'dflt' end
34 if not tfmdata.script then tfmdata.script = 'dflt' end
35 _, shared.features = fonts.otf.set_features(tfmdata,fonts.define.check(features,fonts.otf.features.default))
37 -- from fonts.otf.read_from_open_type()
38 tfmdata = fonts.tfm.scale(tfmdata, 655360)
41 fontdata.subfonts = nil
42 fontdata.metadata = {}
44 fontdata.luatex.filename = 'dummy.otf'
45 fontdata.luatex.foundfilename = nil
49 fontdata.luatex.indices = nil
50 fontdata.luatex.unicodes = nil
51 fontdata.luatex.originals = nil
52 fontdata.luatex.tounicode = nil
54 tfmdata.descriptions = {}
61 tfmdata.embedding = 'no'
64 for k, v in pairs(tfmdata.characters) do
65 tfmdata.characters[k].height = nil
69 fontdata.pfminfo.os2_capheight = 0
71 table.tofile(opfilename, tfmdata, 'return', false, true, false)
73 mkrmlgbm('AdobeMingStd-Light', 'luatexja-cid-std-adobe-cns1.lua')
74 mkrmlgbm('AdobeSongStd-Light', 'luatexja-cid-std-adobe-gb1.lua')
75 mkrmlgbm('KozMinPr6N-Regular', 'luatexja-cid-std-adobe-japan1.lua')
76 mkrmlgbm('AdobeMyungjoStd-Medium', 'luatexja-cid-std-adobe-korea1.lua')