summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/luatex/luatexja/mk-rmlgbm-data.tex
blob: d3b7cddf44ba605b42abfea93ceabc6ef56dc9df (plain)
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}