1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
%#! lualatex
\documentclass{article}
\usepackage{luaotfload}
\usepackage{luacode}
\begin{luacode}
function mkrmlgbm(nonfilename,opfilename)
local fontdata = containers.read(fonts.otf.cache, nonfilename)
-- from fonts.otf.otf_to_tfm()
local tfmdata
fontdata.shared = fontdata.shared or {
featuredata = { },
anchorhash = { },
initialized = false,
}
tfmdata = fonts.otf.copy_to_tfm(fontdata)
tfmdata.unique = tfmdata.unique or { }
tfmdata.shared = tfmdata.shared or { } -- combine
local shared = tfmdata.shared
shared.otfdata = fontdata
shared.features = features -- default
shared.dynamics = { }
shared.processes = { }
tfmdata.luatex = fontdata.luatex
tfmdata.indices = fontdata.luatex.indices
tfmdata.unicodes = fontdata.luatex.unicodes
tfmdata.marks = fontdata.luatex.marks
tfmdata.originals = fontdata.luatex.originals
tfmdata.changed = { }
tfmdata.has_italic = fontdata.metadata.has_italic
if not tfmdata.language then tfmdata.language = 'dflt' end
if not tfmdata.script then tfmdata.script = 'dflt' end
_, shared.features = fonts.otf.set_features(tfmdata,fonts.define.check(features,fonts.otf.features.default))
-- from fonts.otf.read_from_open_type()
tfmdata = fonts.tfm.scale(tfmdata, 655360)
-- delete extra data
fontdata.subfonts = nil
fontdata.metadata = {}
fontdata.pfminfo = {}
fontdata.luatex.filename = 'dummy.otf'
fontdata.luatex.foundfilename = nil
fontdata.size = nil
fontdata.time = nil
fontdata.glyphs = nil
fontdata.luatex.indices = nil
fontdata.luatex.unicodes = nil
fontdata.luatex.originals = nil
fontdata.luatex.tounicode = nil
tfmdata.indices = nil
tfmdata.descriptions = {}
tfmdata.psname = ''
tfmdata.filename = ''
tfmdata.fontname = ''
tfmdata.fullname = ''
tfmdata.name = ''
tfmdata.embedding = 'no'
tfmdata.cache = 'yes'
for k, v in pairs(tfmdata.characters) do
tfmdata.characters[k].height = nil
end
-- for luaotfload
fontdata.pfminfo.os2_capheight = 0
table.tofile(opfilename, tfmdata, 'return', false, true, false)
end
mkrmlgbm('AdobeMingStd-Light', 'luatexja-cid-std-adobe-cns1.lua')
mkrmlgbm('AdobeSongStd-Light', 'luatexja-cid-std-adobe-gb1.lua')
mkrmlgbm('KozMinPr6N-Regular', 'luatexja-cid-std-adobe-japan1.lua')
mkrmlgbm('AdobeMyungjoStd-Medium', 'luatexja-cid-std-adobe-korea1.lua')
\end{luacode}
\begin{document}
\end{document}
|