1 -- -*- coding: utf-8 -*-
2 -- jfm-ujisv.lua: LuaTeX-ja 標準 JFM(縦組み用)
3 -- based on upnmlminr-h.tfm (a metric in UTF/OTF package used by upTeX).
5 -- JIS X 4051:2004 では,行末の句読点や中点はベタなのでそれに従う
6 -- kanjiskip: 0pt plus .25zw minus 0pt
7 -- xkanjiskip: .25zw plus .25zw (or .0833zw) minus .125zw
10 luatexja.jfont.define_jfm {
13 kanjiskip = { 0.0, 0.25, 0 },
14 xkanjiskip = { 0.25, 0.25, .125 },
16 align = 'middle', left = 0.00, down = 0.00,
17 width = 1.0, height = 0.50, depth = 0.50, italic=0.0,
19 [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
20 [2] = { 0, 0, 0, kanjiskip_shrink=1 },
21 [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
22 [4] = { 0, 0, 0, kanjiskip_shrink=1 },
23 [6] = { 0, 0, 0, kanjiskip_shrink=1 },
24 [7] = { 0, 0, 0, kanjiskip_shrink=1 },
25 [8] = { 0, 0, 0, kanjiskip_shrink=1 },
31 '‘', '“', '〈', '《', '「', '『', '【', '〔', '〖',
32 '〘', '〝', '(', '[', '{', '⦅'
34 align = 'right', left = 0.0, down = 0.0,
35 width = 0.5, height = 0.50, depth = 0.50, italic=0.0,
38 [0] = { 0, 0, 0, kanjiskip_shrink=1 },
39 [1] = { 0, 0, 0, kanjiskip_shrink=1 },
40 [2] = { 0, 0, 0, kanjiskip_stretch=1, kanjiskip_shrink=1 },
41 [3] = { 0.25, 0.0, 0.25, priority=1 },
42 [4] = { 0, 0, 0, kanjiskip_shrink=1 },
43 [5] = { 0, 0, 0, kanjiskip_shrink=1 },
44 [6] = { 0, 0, 0, kanjiskip_shrink=1 },
45 [7] = { 0, 0, 0, kanjiskip_shrink=1 },
46 [8] = { 0, 0, 0, kanjiskip_shrink=1 },
52 '’', '”', '〉', '》', '」', '』', '】', '〕',
53 '〗', '〙', '〟', ')', ']', '}', '⦆', '、', ','
55 align = 'left', left = 0.0, down = 0.0,
56 width = 0.5, height = 0.50, depth = 0.50, italic=0.0,
58 -- 3 は四分, 2, 4, 9 は0, あとは0.5
59 [0] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
60 [1] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
61 [2] = { 0, 0, 0, kanjiskip_shrink=1 },
62 [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
63 [4] = { 0, 0, 0, kanjiskip_shrink=1 },
64 [5] = { 0.5 , 0.0, 0.5, rario=0, kanjiskip_stretch=1 },
65 [6] = { 0.5 , 0.0, 0.5, rario=0, kanjiskip_stretch=1 },
66 [7] = { 0.5 , 0.0, 0.5, rario=0, kanjiskip_stretch=1 },
67 [8] = { 0.5 , 0.0, 0.5, rario=0, kanjiskip_stretch=1 },
72 chars = {'・', ':', ';'},
73 align = 'middle', left = 0.0, down = 0.0,
74 width = 0.5, height = 0.50, depth = 0.50, italic=0.0,
78 [0] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
79 [1] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
80 [2] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
81 [3] = { 0.5 , 0.0, 0.25, priority=1 },
82 [4] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
83 [5] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
84 [6] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
85 [7] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
86 [8] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
92 align = 'left', left = 0.0, down = 0.0,
93 width = 0.5, height = 0.50, depth = 0.50, italic=0.0,
95 -- 3 は.75, 2, 4 は0, あとは0.5
96 [0] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
97 [1] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
98 [3] = { 0.75, 0.0, 0.25, priority=1, ratio=1./3, kanjiskip_stretch=1 },
99 [5] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
100 [6] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
101 [7] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
102 [8] = { 0.5 , 0.0, 0.5, ratio=0, kanjiskip_stretch=1 },
107 chars = { '—', '―', '‥', '…', '〳', '〴', '〵', },
108 align = 'left', left = 0.0, down = 0.0,
109 width = 1.0, height = 0.50, depth = 0.50, italic=0.0,
111 [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
112 [2] = { 0, 0, 0, kanjiskip_shrink=1 },
113 [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
114 [4] = { 0, 0, 0, kanjiskip_shrink=1 },
115 [6] = { 0, 0, 0, kanjiskip_shrink=1 },
123 chars = { '?', '!', '‼', '⁇', '⁈', '⁉', },
124 align = 'left', left = 0.0, down = 0.0,
125 width = 1.0, height = 0.50, depth = 0.50, italic=0.0,
127 [0] = { 1.0 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
128 [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
129 [2] = { 0, 0, 0, kanjiskip_shrink=1 },
130 [3] = { 0.75, 0.0, 0.25, priority=1, ratio=1 },
131 [4] = { 0, 0, 0, kanjiskip_shrink=1 },
132 [6] = { 0, 0, 0, kanjiskip_shrink=1 },
133 [7] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
134 [8] = { 0, 0, 0, kanjiskip_shrink=1 },
143 '。', '「', '」', '、', '・', 'ヲ', 'ァ', 'ィ', 'ゥ',
144 'ェ', 'ォ', 'ャ', 'ュ', 'ョ', 'ッ', 'ー', 'ア', 'イ',
145 'ウ', 'エ', 'オ', 'カ', 'キ', 'ク', 'ケ', 'コ', 'サ',
146 'シ', 'ス', 'セ', 'ソ', 'タ', 'チ', 'ツ', 'テ', 'ト',
147 'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'ヒ', 'フ', 'ヘ',
148 'ホ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ヤ', 'ユ', 'ヨ',
149 'ラ', 'リ', 'ル', 'レ', 'ロ', 'ワ', 'ン', '゙', '゚',
150 "AJ1-516", "AJ1-517", "AJ1-518", "AJ1-519", "AJ1-520", "AJ1-521", "AJ1-522",
151 "AJ1-523", "AJ1-524", "AJ1-525", "AJ1-526", "AJ1-527", "AJ1-528", "AJ1-529",
152 "AJ1-530", "AJ1-531", "AJ1-532", "AJ1-533", "AJ1-534", "AJ1-535", "AJ1-536",
153 "AJ1-537", "AJ1-538", "AJ1-539", "AJ1-540", "AJ1-541", "AJ1-542", "AJ1-543",
154 "AJ1-544", "AJ1-545", "AJ1-546", "AJ1-547", "AJ1-548", "AJ1-549", "AJ1-550",
155 "AJ1-551", "AJ1-552", "AJ1-553", "AJ1-554", "AJ1-555", "AJ1-556", "AJ1-557",
156 "AJ1-558", "AJ1-559", "AJ1-560", "AJ1-561", "AJ1-562", "AJ1-563", "AJ1-564",
157 "AJ1-565", "AJ1-566", "AJ1-567", "AJ1-568", "AJ1-569", "AJ1-570", "AJ1-571",
158 "AJ1-572", "AJ1-573", "AJ1-574", "AJ1-575", "AJ1-576", "AJ1-577", "AJ1-578",
159 "AJ1-579", "AJ1-580", "AJ1-581", "AJ1-582", "AJ1-583", "AJ1-584", "AJ1-585",
160 "AJ1-586", "AJ1-587", "AJ1-588", "AJ1-589", "AJ1-590", "AJ1-591", "AJ1-592",
161 "AJ1-593", "AJ1-594", "AJ1-595", "AJ1-596", "AJ1-597", "AJ1-598",
163 align = 'left', left = 0.0, down = 0.0,
164 width = 0.5, height = 0.5, depth = 0.5, italic=0.0,
166 [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
167 [2] = { 0, 0, 0, kanjiskip_shrink=1 },
168 [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
169 [4] = { 0, 0, 0, kanjiskip_shrink=1 },
170 [6] = { 0, 0, 0, kanjiskip_shrink=1 },
171 [7] = { 0, 0, 0, kanjiskip_shrink=1 },
172 [8] = { 0, 0, 0, kanjiskip_shrink=1 },
178 '─', '━', '│', '┃', '┄', '┅', '┆', '┇',
179 '┈', '┉', '┊', '┋', '┌', '┍', '┎', '┏',
180 '┐', '┑', '┒', '┓', '└', '┕', '┖', '┗',
181 '┘', '┙', '┚', '┛', '├', '┝', '┞', '┟',
182 '┠', '┡', '┢', '┣', '┤', '┥', '┦', '┧',
183 '┨', '┩', '┪', '┫', '┬', '┭', '┮', '┯',
184 '┰', '┱', '┲', '┳', '┴', '┵', '┶', '┷',
185 '┸', '┹', '┺', '┻', '┼', '┽', '┾', '┿',
186 '╀', '╁', '╂', '╃', '╄', '╅', '╆', '╇',
187 '╈', '╉', '╊', '╋', '╌', '╍', '╎', '╏',
188 '═', '║', '╒', '╓', '╔', '╕', '╖', '╗',
189 '╘', '╙', '╚', '╛', '╜', '╝', '╞', '╟',
190 '╠', '╡', '╢', '╣', '╤', '╥', '╦', '╧',
191 '╨', '╩', '╪', '╫', '╬', '╭', '╮', '╯',
192 '╰', '╱', '╲', '╳', '╴', '╵', '╶', '╷',
193 '╸', '╹', '╺', '╻', '╼', '╽', '╾', '╿',
195 align = 'left', left = 0.0, down = 0.0,
196 width = 1.0, height = 0.50, depth = 0.50, italic=0.0,
198 [1] = { 0.5 , 0.0, 0.5, ratio=1, kanjiskip_stretch=1 },
199 [2] = { 0, 0, 0, kanjiskip_shrink=1 },
200 [3] = { 0.25, 0.0, 0.25, priority=1, ratio=1 },
201 [4] = { 0, 0, 0, kanjiskip_shrink=1 },
202 [6] = { 0, 0, 0, kanjiskip_shrink=1 },
210 chars = {'boxbdd', 'parbdd'},
212 [3] = { 0.25, 0.0, 0.25, priority=1 },