OSDN Git Service

Merge branch 'master' into kitagawa_cid
[luatex-ja/luatexja.git] / test / test04-jfm.tex
1 %#!luatex test04-jfm.tex
2 \input luatexja-core.sty
3 \def\head#1{\medskip\penalty-100\noindent{\bf\tengt ■ #1}\par\penalty10000 }
4 \jfont\rml={psft:Ryumin-Light:jfm=ujis} at 10pt
5 \rml あ\inhibitglue\char"201Cあ・い\inhibitglue ()あ←Ryumin-Light
6
7 \jfont\rml={file:ipam.ttf:jfm=ujis} at 10pt
8 \rml あ\inhibitglue\char"201Cあ・い←IPA\hbox{}明朝 (ipam)
9
10 \jfont\rml={file:KozMinPr6N-Regular.otf:jfm=ujis} at 10pt
11 \rml あ\inhibitglue\char"201Cあ・い←KozMinPr6N-Regular
12
13 \jfont\rml={file:ipamp.ttf:jfm=ujis} at 10pt
14 \rml あ\inhibitglue\char"201Cあ・い←IPA P\hbox{}明朝 (ipamp)
15
16 {\scrollmode
17 \globaljfont\rml={psft:GothicBBB-Medium:jfm=bad} at 10pt % must be error
18 }
19 \rml あ123 % \rml は未定義となる
20 {\tt\meaning\rml}
21
22 \bigskip
23 \font\rml={file:ipaexg.ttf} at 10pt\rml
24
25 ここからは,欧文文字フォントはIPA EXゴシック
26
27
28 \head{文字範囲の代入/取得テスト}
29
30 \ltjdefcharrange{9}{`あ,"E0-"FF}
31 「\char"F4」は9番の文字範囲なので,和文扱いのはず
32
33 {iso8859-1 和文扱い:\ltjsetparameter{jacharrange={1,8}}%
34 \ltjgetparameter{jacharrange}{1}%
35 § ¶ ° £ ¥ \char"F4}
36
37 {iso8859-1 欧文扱い:\ltjsetparameter{jacharrange={-1,-8}}%
38 \ltjgetparameter{jacharrange}{1}%
39 § ¶ ° £ ¥ \char"F4}
40
41 {標準:%
42 \ltjgetparameter{jacharrange}{1}%
43 § ¶ ° £ ¥ \char"F4}
44
45
46 \head{文字範囲の状況取得}
47 \ltjgetparameter{jacharrange}{0}
48 \ltjgetparameter{jacharrange}{1}
49 \ltjgetparameter{jacharrange}{2}
50
51 \head{文字コード→文字範囲}
52 \ltjgetparameter{chartorange}{`い} % must be 6
53 \ltjgetparameter{chartorange}{`§} % must be 8
54 \ltjgetparameter{chartorange}{"F7} % must be 9
55 \ltjgetparameter{chartorange}{-1}  % must be error "
56
57 \medskip
58 \ltjsetparameter{jacharrange={-217}}
59 ほとんど欧文扱い.2番は別(「あ」)
60 \ltjsetparameter{jacharrange={218}}
61 和文扱いにもどる
62
63 \head{Ticket \#25121}
64 \setbox0=\hbox{\ltjsetparameter{kanjiskip=-5pt}
65 あいうえお\hbox{\ltjsetparameter{kanjiskip=12pt}かきくけこ}さしすせそ\par a}\copy0
66 \tracingonline=0\showboxdepth=10000\showboxbreadth=10000\tracingonline=1\showbox0
67
68 {\ltjsetparameter{kanjiskip=3pt}
69 あいうえお{\ltjsetparameter{kanjiskip=-5pt}% this setting is ignored
70 かきくけこ}さしすせそ\par}
71
72 {\ltjsetparameter{kanjiskip=3pt}
73 あいうえおさしすせそ}\par
74
75 \vfill\eject\tracingonline=0
76 \noindent{\bf\gt  以下はJFMグルー挿入検証}
77 \jfont\rmlh={psft:Ryumin-Light:jfm=test} at 10pt
78 \jfont\sixgt={psft:GothicBBB-Medium:jfm=ujis} at 6pt
79 \font\sixtt=cmtt10 at 6pt
80
81 \def\dumplist#1{\par\noindent\leavevmode
82 \hbox to 0.2\hsize{\copy#1\hss}%
83 \vbox{\hsize=0.6\hsize\sixtt\baselineskip=7.2pt\sixgt\let\\=\relax
84 \directlua{luatexja.ext_show_node_list(tex.getbox(#1).head, '\\par ', tex.print)}\hrule}}
85
86 %\tracingonline=1\tracingoutput=1\showboxdepth=3\showboxbreadth=100
87
88 \head{JA--JA (penなし)}
89
90 \setbox0=\hbox{\rmlh あア}\dumplist0
91
92 \setbox0=\hbox{\rmlh あイ}\dumplist0
93
94 \setbox0=\hbox{\rmlh あウ}\dumplist0
95
96 \setbox0=\hbox{\rmlh いア}\dumplist0
97
98 \setbox0=\hbox{\rmlh いイ}\dumplist0
99
100 \setbox0=\hbox{\rmlh いウ}\dumplist0
101
102 \head{JA--EN (penなし)}
103
104 \setbox0=\hbox{\rmlh あa}\dumplist0
105
106 \setbox0=\hbox{\rmlh いa}\dumplist0
107
108 \setbox0=\hbox{\rmlh うa}\dumplist0
109
110 \setbox0=\hbox{\rmlh えa}\dumplist0
111
112 \setbox0=\hbox{\rmlh おa}\dumplist0
113
114 \head{EN--JA (penなし)}
115
116 \setbox0=\hbox{\rmlh aあ}\dumplist0
117
118 \setbox0=\hbox{\rmlh aい}\dumplist0
119
120 \setbox0=\hbox{\rmlh aう}\dumplist0
121
122 \head{JA--明kern (penなし)}
123
124 \setbox0=\hbox{\rmlh あ\kern3pt}\dumplist0
125
126 \setbox0=\hbox{\rmlh い\kern3pt}\dumplist0
127
128 \setbox0=\hbox{\rmlh う\kern3pt}\dumplist0
129
130 \head{明kern--JA (penなし)}
131
132 \setbox0=\hbox{\rmlh \kern3ptあ}\dumplist0
133
134 \setbox0=\hbox{\rmlh \kern3ptい}\dumplist0
135
136 \setbox0=\hbox{\rmlh \kern3ptう}\dumplist0
137
138 \head{JA--hbox (penなし)}
139
140 \setbox0=\hbox{\rmlh あ\hbox{}}\dumplist0
141
142 \setbox0=\hbox{\rmlh い\hbox{}}\dumplist0
143
144 \setbox0=\hbox{\rmlh う\hbox{}}\dumplist0
145
146 \setbox0=\hbox{\rmlh え\hbox{}}\dumplist0
147
148 \setbox0=\hbox{\rmlh あ\hbox{ア}}\dumplist0
149
150 \setbox0=\hbox{\rmlh あ\hbox{a}}\dumplist0
151
152 \setbox0=\hbox{\rmlh い\hbox{a}}\dumplist0
153
154 \head{hbox--JA (penなし)}
155
156 \setbox0=\hbox{\rmlh \hbox{}あ}\dumplist0
157
158 \setbox0=\hbox{\rmlh \hbox{}い}\dumplist0
159
160 \setbox0=\hbox{\rmlh \hbox{}う}\dumplist0
161
162 {\vfill\eject%
163
164 \ltjsetparameter{prebreakpenalty={`(,123}}
165 \ltjsetparameter{postbreakpenalty={`あ,123}}
166 \ltjsetparameter{prebreakpenalty={`い,571}, postbreakpenalty={`い,123}}
167 \ltjsetparameter{postbreakpenalty={`う,123}}
168 \ltjsetparameter{postbreakpenalty={`え,123}}
169 \ltjsetparameter{postbreakpenalty={`お,123}}
170 \ltjsetparameter{postbreakpenalty={`a,321}}
171 \head{JA--JA (penあり)}
172
173 \setbox0=\hbox{\rmlh あア}\dumplist0
174
175 \setbox0=\hbox{\rmlh あイ}\dumplist0
176
177 \setbox0=\hbox{\rmlh あウ}\dumplist0
178
179 \setbox0=\hbox{\rmlh いア}\dumplist0
180
181 \setbox0=\hbox{\rmlh いイ}\dumplist0
182
183 \setbox0=\hbox{\rmlh いウ}\dumplist0
184
185 \head{JA--EN (penあり)}
186
187 \setbox0=\hbox{\rmlh あa}\dumplist0
188
189 \setbox0=\hbox{\rmlh いa}\dumplist0
190
191 \setbox0=\hbox{\rmlh うa}\dumplist0
192
193 \setbox0=\hbox{\rmlh えa}\dumplist0
194
195 \setbox0=\hbox{\rmlh おa}\dumplist0
196
197 \head{EN--JA (penあり)}
198
199 \setbox0=\hbox{\rmlh aあ}\dumplist0
200
201 \setbox0=\hbox{\rmlh aい}\dumplist0
202
203 \setbox0=\hbox{\rmlh aう}\dumplist0
204
205 \head{JA--hbox (penあり)}
206
207 \setbox0=\hbox{\rmlh あ\hbox{ア}}\dumplist0
208
209 \setbox0=\hbox{\rmlh あ\hbox{a}}\dumplist0
210
211 \setbox0=\hbox{\rmlh い\hbox{a}}\dumplist0
212
213 \setbox0=\hbox{\rmlh \hbox{(}い\hbox{)}}\dumplist0
214
215 \head{italic correction}
216
217 \setbox0=\hbox{\it f\/(\/あ}\dumplist0
218
219 }
220
221 \vfill\eject
222 \noindent{\gt\bf [x]kanjiskipの挿入}
223
224 \head{kanjiskip from JFM, autospacing (JA--JA)}
225 \setbox0=\hbox{\rmlh ああ}\dumplist0
226
227 {\ltjsetparameter{kanjiskip=\maxdimen}
228 \setbox0=\hbox{\rmlh ああ}\dumplist0
229 \jfont\rmlk={psft:Ryumin-Light:jfm=test} at 12pt
230 \setbox0=\hbox{\rmlk は\rmlh あ}\dumplist0}
231
232 \def\naspc{\ltjsetparameter{autospacing=false}\relax}
233 \def\naxspc{\ltjsetparameter{autoxspacing=false}\relax}
234 \setbox0=\hbox{\rmlh あ\naspc ああ}\dumplist0
235
236 \head{kanjiskip from JFM/autoxspacing (JA--EN)}
237 \setbox0=\hbox{\rmlh まx}\dumplist0
238
239 \setbox0=\hbox{\rmlh ま\naxspc x}\dumplist0
240
241 \setbox0=\hbox{\naxspc\rmlh まx}\dumplist0
242
243 {\ltjsetparameter{xkanjiskip=\maxdimen}\setbox0=\hbox{\rmlh まx}\dumplist0}
244
245 {\ltjsetparameter{jaxspmode={`ま,preonly}}
246 \setbox0=\hbox{\rmlh まx}\dumplist0}
247 {\ltjsetparameter{alxspmode={`x,postonly}}
248 \setbox0=\hbox{\rmlh まx}\dumplist0}
249
250 \head{xkanjiskip from JFM/autoxspacing (EN--JA)}
251 \setbox0=\hbox{\rmlh xま}\dumplist0
252
253 \setbox0=\hbox{\rmlh x\naxspc ま}\dumplist0
254
255 \setbox0=\hbox{\naxspc\rmlh xま}\dumplist0
256
257 {\ltjsetparameter{xkanjiskip=\maxdimen}\setbox0=\hbox{\rmlh xま}\dumplist0}
258
259 {\ltjsetparameter{jaxspmode={`ま,postonly}}
260 \setbox0=\hbox{\rmlh xま}\dumplist0}
261 {\ltjsetparameter{alxspmode={`x,inhibit}}
262 \setbox0=\hbox{\rmlh xまおx}\dumplist0}
263
264 \head{more than one penalty}
265
266 \setbox0=\hbox{\rmlh お\penalty1701\penalty1701\penalty1701い}
267 \dumplist0
268 \setbox0=\hbox{\rmlh お\penalty1701\penalty1701\penalty1701お}
269 \dumplist0
270 \setbox0=\hbox{\rmlh あ\penalty1701\penalty1701\penalty1701い}
271 \dumplist0
272 \setbox0=\hbox{\rmlh あ\penalty1701\penalty1701\penalty1701お}
273 \dumplist0
274
275 \head{その他: italic correction and accents}
276
277 \setbox0=\hbox{\tenrm あ\/j}
278 \dumplist0
279 \setbox0=\hbox{\tenrm )\/j}
280 \dumplist0
281 \setbox0=\hbox{\tenrm\rmlh れ\v{A})}
282 \dumplist0
283
284 \head{その他: box boundary}
285
286 \setbox0=\hbox{\rmlh かあか}
287 \dumplist0
288 \setbox0=\hbox{a\setbox3=\hbox{\rmlh  かあか}\unhbox3a}
289 \dumplist0
290 \setbox0=\hbox{a\setbox3=\hbox{\rmlh  か}\box3a}
291 \dumplist0
292 \setbox0=\hbox{\rmlh き\hbox{か}き\hbox{き}き}
293 \dumplist0
294
295 {\ltjsetparameter{postbreakpenalty={`あ,1000},prebreakpenalty={`あ,1000}}
296 \setbox0=\hbox{あ\hbox{(}あ\setbox3=\hbox{(}\unhbox3あ}
297 \dumplist0}
298
299 \vfill\eject
300 \noindent{\gt\bf paragraph, hbox and math boundary}
301
302 \setbox1=\vbox{\parindent19.2pt \rmlh\hsize=100pt\parfillskip=30pt
303 かエ\par\global\setbox0=\lastbox}
304 \dumplist0
305
306 \setbox1=\vbox{\noindent\rmlh\hsize=100pt\parfillskip=30pt
307 かエ\par\global\setbox0=\lastbox}
308 \dumplist0
309
310 \setbox0=\hbox{\rmlh かエ}
311 \dumplist0
312
313 \setbox0=\hbox{\rmlh あ$a$さ$a$か}
314 \dumplist0
315
316 \head{その他: unhbox の連続}
317 \setbox0=\hbox{\tenmin\setbox1=\hbox{)}\setbox2=\hbox{a}\unhbox1\unhbox2}
318 \dumplist0
319
320 \setbox3=\hbox{\tenmin\setbox1=\hbox{)}\setbox2=\hbox{a}\unhbox1\unhbox2}
321 \setbox0=\hbox{\unhbox3}
322 \dumplist0
323
324 \setbox0=\hbox{\tenmin\setbox1=\hbox{()}\setbox2=\hbox{「」}%
325   \unhcopy1\unhbox1\unhbox2}
326 \dumplist0
327
328 \head{その他: 「前由来」「後由来」JFM由来グルー}
329 \setbox0=\hbox{\tenmin あ\fivemin (}
330 \dumplist0
331
332 \setbox0=\hbox{\fivemin あ\tenmin (}
333 \dumplist0
334
335 \setbox0=\hbox{\fivemin .\tenmin ・}
336 \dumplist0
337
338 \setbox0=\hbox{\tenmin .\fivemin ・}
339 \dumplist0
340 \end