OSDN Git Service

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