2 \documentclass{article}
4 \usepackage{luaotfload}
8 local fontdata = containers.read(fonts.otf.cache, 'kozminpr6n-regular')
10 -- from fonts.otf.otf_to_tfm()
12 fontdata.shared = fontdata.shared or {
17 tfmdata = fonts.otf.copy_to_tfm(fontdata)
18 tfmdata.unique = tfmdata.unique or { }
19 tfmdata.shared = tfmdata.shared or { } -- combine
20 local shared = tfmdata.shared
21 shared.otfdata = fontdata
22 shared.features = features -- default
24 shared.processes = { }
25 tfmdata.luatex = fontdata.luatex
26 tfmdata.indices = fontdata.luatex.indices
27 tfmdata.unicodes = fontdata.luatex.unicodes
28 tfmdata.marks = fontdata.luatex.marks
29 tfmdata.originals = fontdata.luatex.originals
31 tfmdata.has_italic = fontdata.metadata.has_italic
32 if not tfmdata.language then tfmdata.language = 'dflt' end
33 if not tfmdata.script then tfmdata.script = 'dflt' end
34 _, shared.features = fonts.otf.set_features(tfmdata,fonts.define.check(features,fonts.otf.features.default))
36 -- from fonts.otf.read_from_open_type()
37 tfmdata = fonts.tfm.scale(tfmdata, 655360)
40 fontdata.subfonts = nil
41 fontdata.metadata = {}
43 fontdata.luatex.filename = 'dummy.otf'
44 fontdata.luatex.foundfilename = nil
48 fontdata.luatex.indices = nil
49 fontdata.luatex.unicodes = nil
50 fontdata.luatex.originals = nil
51 fontdata.luatex.tounicode = nil
53 tfmdata.descriptions = {}
60 tfmdata.embedding = 'no'
63 for k, v in pairs(tfmdata.characters) do
64 tfmdata.characters[k].height = nil
68 fontdata.pfminfo.os2_capheight = 0
70 table.tofile('luatexja-rmlgbm-data.lua', tfmdata, 'return', false, true, false)