OSDN Git Service

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