OSDN Git Service

Merge branch 'kitagawa_test' into kitagawa_ruby2
[luatex-ja/luatexja.git] / src / jfm-ujis.lua
1 -- -*- coding: utf-8 -*-
2 -- jfm-ujis.lua: LuaTeX-ja 標準 JFM
3 -- based on upnmlminr-h.tfm (a metric in UTF/OTF package used by upTeX).
4
5 -- JIS X 4051:2004 では,行末の句読点や中点はベタなのでそれに従う
6 -- kanjiskip:    0pt plus .25zw minus 0pt
7 -- xkanjiskip: .25zw plus .25zw (or .0833zw) minus .125zw
8
9
10 luatexja.jfont.define_jfm {
11    dir = 'yoko',
12    zw = 1.0, zh = 1.0,
13    kanjiskip =  {0.0, 0.25, 0},
14    xkanjiskip = {0.25, 0.25, .125},
15    [0] = {
16       align = 'left', left = 0.0, down = 0.0,
17       width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
18       glue = {
19          -- [index] = { width, stretch, shrink, [priority, [ratio]] }
20          [1] = { 0.5 , 0.0, 0.5,  0, 1 },
21          [2] = {0, 0, 0},
22          [3] = { 0.25, 0.0, 0.25, 1, 1 },
23          [4] = {0, 0, 0},
24          [6] = {0, 0, 0},
25          [7] = {0, 0, 0},
26          [8] = {0, 0, 0},
27          [9] = {0, 0, 0},
28       }
29    },
30
31    [1] = { -- 開き括弧類
32       chars = {
33          '‘', '“', '〈', '《', '「', '『', '【', '〔', '〖', 
34          '〘', '〝', '(', '[', '{', '⦅'
35       },
36       align = 'right', left = 0.0, down = 0.0,
37       width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
38       glue = {
39 -- 3 のみ四分,あとは0
40          [0] = {0, 0, 0},
41          [1] = {0, 0, 0},
42          [2] = {0, 0, 0},
43          [3] = { 0.25, 0.0, 0.25, 1 },
44          [4] = {0, 0, 0},
45          [5] = {0, 0, 0},
46          [6] = {0, 0, 0},
47          [7] = {0, 0, 0},
48          [8] = {0, 0, 0},
49          [9] = {0, 0, 0},
50       }
51    },
52
53    [2] = { -- 閉じ括弧類
54       chars = {
55          '’', '”', '〉', '》', '」', '』', '】', '〕', 
56          '〗', '〙', '〟', ')', ']', '}', '⦆', '、', ',*'
57       },
58       align = 'left', left = 0.0, down = 0.0,
59       width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
60       glue = {
61 -- 3 は四分, 2, 4, 9 は0, あとは0.5
62          [0] = { 0.5 , 0.0, 0.5, 0, -1 },
63          [1] = { 0.5 , 0.0, 0.5, 0, -1 },
64          [2] = {0, 0, 0},
65          [3] = { 0.25, 0.0, 0.25, 1, 1 },
66          [4] = {0, 0, 0},
67          [5] = { 0.5 , 0.0, 0.5, 0, -1 },
68          [6] = { 0.5 , 0.0, 0.5, 0, -1 },
69          [7] = { 0.5 , 0.0, 0.5, 0, -1 },
70          [8] = { 0.5 , 0.0, 0.5, 0, -1 },
71          [9] = {0, 0, 0},
72       }
73    },
74
75    [3] = { -- 中点類
76       chars = {'・', ':', ';'},
77       align = 'middle', left = 0.0, down = 0.0,
78       width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
79       --end_stretch = 0.25,
80       glue = {
81 -- 3 のみ 0.5,あとは0.25
82          [0] = { 0.25, 0.0, 0.25, 1, 1 },
83          [1] = { 0.25, 0.0, 0.25, 1, 1 },
84          [2] = { 0.25, 0.0, 0.25, 1, 1 },
85          [3] = { 0.5 , 0.0, 0.5 , 1, 0 },
86          [4] = { 0.25, 0.0, 0.25, 1, 1 },
87          [5] = { 0.25, 0.0, 0.25, 1, 1 },
88          [6] = { 0.25, 0.0, 0.25, 1, 1 },
89          [7] = { 0.25, 0.0, 0.25, 1, 1 },
90          [8] = { 0.25, 0.0, 0.25, 1, 1 },
91          [9] = { 0.25, 0.0, 0.25, 1, 1 },
92       }
93    },
94
95    [4] = { -- 句点類
96       chars = {'。', '.'},
97       align = 'left', left = 0.0, down = 0.0,
98       width = 0.5, height = 0.88, depth = 0.12, italic=0.0,
99       glue = {
100 -- 3 は.75, 2, 4 は0, あとは0.5
101          [0] = { 0.5 , 0.0, 0.5, 0, -1 },
102          [1] = { 0.5 , 0.0, 0.5, 0, -1 },
103          [3] = { 0.75, 0.0, 0.25, 1, -1/3 },
104          [5] = { 0.5 , 0.0, 0.5, 0, -1 },
105          [6] = { 0.5 , 0.0, 0.5, 0, -1 },
106          [7] = { 0.5 , 0.0, 0.5, 0, -1 },
107          [8] = { 0.5 , 0.0, 0.5, 0, -1 },
108          [9] = { 0.5 , 0.0, 0.5, 0, -1 },
109       }
110    },
111
112    [5] = { -- ダッシュ
113       chars = { '—', '―', '‥', '…', '〳', '〴', '〵', },
114       align = 'left', left = 0.0, down = 0.0,
115       width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
116       glue = {
117          [1] = { 0.5 , 0.0, 0.5, 0, 1 },
118          [2] = {0, 0, 0},
119          [3] = { 0.25, 0.0, 0.25, 1, 1 },
120          [4] = {0, 0, 0},
121          [6] = {0, 0, 0},
122          [9] = {0, 0, 0},
123       },
124       kern = {
125          [5] = 0.0
126       }
127    },
128
129    [6] = { -- 感嘆符・疑問符
130       chars = { '?', '!', '‼', '⁇', '⁈', '⁉', },
131       align = 'left', left = 0.0, down = 0.0,
132       width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
133       glue = {
134          [0] = { 0.5 , 0.0, 0.5, 0, 1 },
135          [1] = { 0.5 , 0.0, 0.5, 0, 1 },
136          [2] = {0, 0, 0},
137          [3] = { 0.75, 0.0, 0.25, 1, 1 },
138          [4] = {0, 0, 0},
139          [6] = {0, 0, 0},
140          [7] = { 0.5 , 0.0, 0.5, 0, 1 },
141          [8] = {0, 0, 0},
142          [9] = {0, 0, 0},
143       },
144       kern = {
145          [5] = 0.0
146       }
147    },
148
149    [7] = { -- 半角カナ
150       chars = {
151          '。', '「', '」', '、', '・', 'ヲ', 'ァ', 'ィ', 'ゥ', 
152          'ェ', 'ォ', 'ャ', 'ュ', 'ョ', 'ッ', 'ー', 'ア', 'イ', 
153          'ウ', 'エ', 'オ', 'カ', 'キ', 'ク', 'ケ', 'コ', 'サ', 
154          'シ', 'ス', 'セ', 'ソ', 'タ', 'チ', 'ツ', 'テ', 'ト', 
155          'ナ', 'ニ', 'ヌ', 'ネ', 'ノ', 'ハ', 'ヒ', 'フ', 'ヘ', 
156          'ホ', 'マ', 'ミ', 'ム', 'メ', 'モ', 'ヤ', 'ユ', 'ヨ', 
157          'ラ', 'リ', 'ル', 'レ', 'ロ', 'ワ', 'ン', '゙', '゚',
158          "AJ1-516", "AJ1-517", "AJ1-518", "AJ1-519", "AJ1-520", "AJ1-521", "AJ1-522", 
159          "AJ1-523", "AJ1-524", "AJ1-525", "AJ1-526", "AJ1-527", "AJ1-528", "AJ1-529", 
160          "AJ1-530", "AJ1-531", "AJ1-532", "AJ1-533", "AJ1-534", "AJ1-535", "AJ1-536", 
161          "AJ1-537", "AJ1-538", "AJ1-539", "AJ1-540", "AJ1-541", "AJ1-542", "AJ1-543", 
162          "AJ1-544", "AJ1-545", "AJ1-546", "AJ1-547", "AJ1-548", "AJ1-549", "AJ1-550", 
163          "AJ1-551", "AJ1-552", "AJ1-553", "AJ1-554", "AJ1-555", "AJ1-556", "AJ1-557", 
164          "AJ1-558", "AJ1-559", "AJ1-560", "AJ1-561", "AJ1-562", "AJ1-563", "AJ1-564", 
165          "AJ1-565", "AJ1-566", "AJ1-567", "AJ1-568", "AJ1-569", "AJ1-570", "AJ1-571", 
166          "AJ1-572", "AJ1-573", "AJ1-574", "AJ1-575", "AJ1-576", "AJ1-577", "AJ1-578", 
167          "AJ1-579", "AJ1-580", "AJ1-581", "AJ1-582", "AJ1-583", "AJ1-584", "AJ1-585", 
168          "AJ1-586", "AJ1-587", "AJ1-588", "AJ1-589", "AJ1-590", "AJ1-591", "AJ1-592", 
169          "AJ1-593", "AJ1-594", "AJ1-595", "AJ1-596", "AJ1-597", "AJ1-598",
170       },
171       align = 'left', left = 0.0, down = 0.0,
172       width = 0.5, height = 0.88, depth = 0.12, italic=0.0,      
173       glue = {
174          [1] = { 0.5 , 0.0, 0.5, 0, 1 },
175          [2] = {0, 0, 0},
176          [3] = { 0.25, 0.0, 0.25, 1, 1 },
177          [4] = {0, 0, 0},
178          [6] = {0, 0, 0},
179          [7] = {0, 0, 0},
180          [8] = {0, 0, 0},
181          [9] = {0, 0, 0},
182       }
183    },
184
185    [8] = { -- 罫線類.
186       chars = {
187          '─', '━', '│', '┃', '┄', '┅', '┆', '┇',
188          '┈', '┉', '┊', '┋', '┌', '┍', '┎', '┏',
189          '┐', '┑', '┒', '┓', '└', '┕', '┖', '┗',
190          '┘', '┙', '┚', '┛', '├', '┝', '┞', '┟',
191          '┠', '┡', '┢', '┣', '┤', '┥', '┦', '┧',
192          '┨', '┩', '┪', '┫', '┬', '┭', '┮', '┯',
193          '┰', '┱', '┲', '┳', '┴', '┵', '┶', '┷',
194          '┸', '┹', '┺', '┻', '┼', '┽', '┾', '┿',
195          '╀', '╁', '╂', '╃', '╄', '╅', '╆', '╇', 
196          '╈', '╉', '╊', '╋', '╌', '╍', '╎', '╏',
197          '═', '║', '╒', '╓', '╔', '╕', '╖', '╗',
198          '╘', '╙', '╚', '╛', '╜', '╝', '╞', '╟',
199          '╠', '╡', '╢', '╣', '╤', '╥', '╦', '╧',
200          '╨', '╩', '╪', '╫', '╬', '╭', '╮', '╯',
201          '╰', '╱', '╲', '╳', '╴', '╵', '╶', '╷',
202          '╸', '╹', '╺', '╻', '╼', '╽', '╾', '╿',
203       },
204       align = 'left', left = 0.0, down = 0.0,
205       width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
206       glue = {
207          [1] = { 0.5 , 0.0, 0.5, 0, 1 },
208          [2] = {0, 0, 0},
209          [3] = { 0.25, 0.0, 0.25, 1, 1 },
210          [4] = {0, 0, 0},
211          [6] = {0, 0, 0},
212          [9] = {0, 0, 0},
213       },
214       kern = {
215          [8] = 0.0
216       }
217    },
218
219    [9] = { -- 和字間隔
220       chars = {
221          ' '
222       },
223       align = 'left', left = 0.0, down = 0.0,
224       width = 1.0, height = 0.88, depth = 0.12, italic=0.0,
225       glue = {
226          [0] = {0, 0, 0}, 
227          [1] = {0, 0, 0}, 
228          [2] = {0, 0, 0}, 
229          [3] = { 0.25, 0.0, 0.25, 1 },
230          [4] = {0, 0, 0}, 
231          [5] = {0, 0, 0}, 
232          [6] = {0, 0, 0}, 
233          [7] = {0, 0, 0}, 
234          [8] = {0, 0, 0}, 
235          [9] = {0, 0, 0}, 
236       },
237    },
238
239
240    [99] = { -- box末尾
241       chars = {'boxbdd', 'parbdd'},
242       glue = {
243          [3] = { 0.25, 0.0, 0.25, 1 },
244       }
245    },
246
247 }