OSDN Git Service

c14c873515a5a360f815ad0839b7582b1bf7c616
[luatex-ja/luatexja.git] / test / test04-jfm.tex
1 %#!luatex
2 \input luatexja-core.sty
3
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あ・い←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{2}{`あ,"E0-"FF}
32 「\char"F4」は2番の文字範囲なので,和文扱いのはず
33
34 {iso8859-1 和文扱い:\ltjsetparameter{jacharrange={1}}%
35 \ltjgetparameter{jacharrange}{1}%
36 § ¶ ° £ ¥ \char"F4}
37
38 {iso8859-1 欧文扱い:\ltjsetparameter{jacharrange={-1}}%
39 \ltjgetparameter{jacharrange}{1}%
40 § ¶ ° £ ¥ \char"F4}
41
42
43 \head{文字範囲の状況取得}
44 \ltjgetparameter{jacharrange}{0}
45 \ltjgetparameter{jacharrange}{1}
46 \ltjgetparameter{jacharrange}{2}
47
48 \head{文字コード→文字範囲}
49 \ltjgetparameter{chartorange}{`い} % must be 217
50 \ltjgetparameter{chartorange}{`§} % must be 1
51 \ltjgetparameter{chartorange}{"F7} % must be 2
52 \ltjgetparameter{chartorange}{-1}  % must be error "
53
54 \medskip
55 \ltjsetparameter{jacharrange={-217}}
56 ほとんど欧文扱い.2番は別(「あ」)
57 \ltjsetparameter{jacharrange={218}}
58 和文扱いにもどる
59
60
61 \vfill\eject
62 \noindent{\bf\gt  以下はJFMグルー挿入検証}
63 \jfont\rmlh={psft:Ryumin-Light:jfm=test} at 10pt
64 \jfont\sixgt={psft:GothicBBB-Medium:jfm=ujis} at 6pt
65 \font\sixtt=cmtt10 at 6pt
66
67 \def\dumplist#1{\par\noindent\leavevmode
68 \hbox to 0.2\hsize{\copy#1\hss}%
69 \vbox{\hsize=0.6\hsize\sixtt\baselineskip=7.2pt\sixgt\let\\=\relax
70 \directlua{ltj.ext_show_node_list(tex.getbox(#1).head, '\\par', tex.print)}\hrule}}
71
72 \head{JA--JA (penなし)}
73
74 \setbox0=\hbox{\rmlh あア}\dumplist0
75
76 \setbox0=\hbox{\rmlh あイ}\dumplist0
77
78 \setbox0=\hbox{\rmlh あウ}\dumplist0
79
80 \setbox0=\hbox{\rmlh いア}\dumplist0
81
82 \setbox0=\hbox{\rmlh いイ}\dumplist0
83
84 \setbox0=\hbox{\rmlh いウ}\dumplist0
85
86 \head{JA--EN (penなし)}
87
88 \setbox0=\hbox{\rmlh あa}\dumplist0
89
90 \setbox0=\hbox{\rmlh いa}\dumplist0
91
92 \setbox0=\hbox{\rmlh うa}\dumplist0
93
94 \setbox0=\hbox{\rmlh えa}\dumplist0
95
96 \setbox0=\hbox{\rmlh おa}\dumplist0
97
98 \head{EN--JA (penなし)}
99
100 \setbox0=\hbox{\rmlh aあ}\dumplist0
101
102 \setbox0=\hbox{\rmlh aい}\dumplist0
103
104 \setbox0=\hbox{\rmlh aう}\dumplist0
105
106 \head{JA--明kern (penなし)}
107
108 \setbox0=\hbox{\rmlh あ\kern3pt}\dumplist0
109
110 \setbox0=\hbox{\rmlh い\kern3pt}\dumplist0
111
112 \setbox0=\hbox{\rmlh う\kern3pt}\dumplist0
113
114 \head{明kern--JA (penなし)}
115
116 \setbox0=\hbox{\rmlh \kern3ptあ}\dumplist0
117
118 \setbox0=\hbox{\rmlh \kern3ptい}\dumplist0
119
120 \setbox0=\hbox{\rmlh \kern3ptう}\dumplist0
121
122 \head{JA--hbox (penなし)}
123
124 \setbox0=\hbox{\rmlh あ\hbox{}}\dumplist0
125
126 \setbox0=\hbox{\rmlh い\hbox{}}\dumplist0
127
128 \setbox0=\hbox{\rmlh う\hbox{}}\dumplist0
129
130 \setbox0=\hbox{\rmlh え\hbox{}}\dumplist0
131
132 \head{hbox--JA (penなし)}
133
134 \setbox0=\hbox{\rmlh \hbox{}あ}\dumplist0
135
136 \setbox0=\hbox{\rmlh \hbox{}い}\dumplist0
137
138 \setbox0=\hbox{\rmlh \hbox{}う}\dumplist0
139
140 \head{JA--penalty (penなし)} TODO: この場合の挙動はこれで良いか?
141
142 \setbox0=\hbox{\rmlh あ\penalty567}\dumplist0
143
144 \setbox0=\hbox{\rmlh い\penalty567}\dumplist0
145
146 \setbox0=\hbox{\rmlh う\penalty567}\dumplist0
147
148 \setbox0=\hbox{\rmlh え\penalty567}\dumplist0
149
150 \head{penalty--JA (penなし)} TODO: この場合の挙動はこれで良いか?
151
152 \setbox0=\hbox{\rmlh \penalty567あ}\dumplist0
153
154 \setbox0=\hbox{\rmlh \penalty567い}\dumplist0
155
156 \setbox0=\hbox{\rmlh \penalty567う}\dumplist0
157
158 {\vfill\eject%
159
160 \ltjsetparameter{prebreakpenalty={`(,123}}
161 \ltjsetparameter{postbreakpenalty={`あ,123}}
162 \ltjsetparameter{postbreakpenalty={`い,123}}
163 \ltjsetparameter{postbreakpenalty={`う,123}}
164 \ltjsetparameter{postbreakpenalty={`え,123}}
165 \ltjsetparameter{postbreakpenalty={`お,123}}
166 \ltjsetparameter{postbreakpenalty={`a,321}}
167 \head{JA--JA (penあり)}
168
169 \setbox0=\hbox{\rmlh あア}\dumplist0
170
171 \setbox0=\hbox{\rmlh あイ}\dumplist0
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 \head{JA--EN (penあり)}
182
183 \setbox0=\hbox{\rmlh あa}\dumplist0
184
185 \setbox0=\hbox{\rmlh いa}\dumplist0
186
187 \setbox0=\hbox{\rmlh うa}\dumplist0
188
189 \setbox0=\hbox{\rmlh えa}\dumplist0
190
191 \setbox0=\hbox{\rmlh おa}\dumplist0
192
193 \head{EN--JA (penあり)}
194
195 \setbox0=\hbox{\rmlh aあ}\dumplist0
196
197 \setbox0=\hbox{\rmlh aい}\dumplist0
198
199 \setbox0=\hbox{\rmlh aう}\dumplist0
200
201 \head{italic correction}
202
203 \setbox0=\hbox{\it f\/(\/あ}\dumplist0
204
205 }
206
207 \vfill\eject
208 \noindent{\gt\bf [x]kanjiskipの挿入}
209
210 \head{kanjiskip from JFM, autospacing (JA--JA)}
211 \setbox0=\hbox{あ\rmlh あ}\dumplist0
212
213 {\kanjiskip=\maxdimen
214 \setbox0=\hbox{あ\rmlh あ}\dumplist0
215 \jfont\rmlk={psft:Ryumin-Light:jfm=test} at 12pt
216 \setbox0=\hbox{\rmlk は\rmlh あ}\dumplist0}
217
218 \def\naspc{\ltjsetparameter{autospacing=false}\relax}
219 \def\naxspc{\ltjsetparameter{autoxspacing=false}\relax}
220 \setbox0=\hbox{あ\naspc ああ}\dumplist0
221
222 \head{kanjiskip from JFM/autoxspacing (JA--EN)}
223 \setbox0=\hbox{\rmlh まx}\dumplist0
224
225 \setbox0=\hbox{\rmlh ま\naxspc x}\dumplist0
226
227 \setbox0=\hbox{\naxspc\rmlh まx}\dumplist0
228
229 {\xkanjiskip=\maxdimen\setbox0=\hbox{\rmlh まx}\dumplist0}
230
231 {\ltjsetparameter{jaxspmode={`ま,preonly}}
232 \setbox0=\hbox{\rmlh まx}\dumplist0}
233 {\ltjsetparameter{alxspmode={`x,postonly}}
234 \setbox0=\hbox{\rmlh まx}\dumplist0}
235
236
237 \head{kanjiskip from JFM/autoxspacing (EN--JA)}
238 \setbox0=\hbox{\rmlh xま}\dumplist0
239
240 \setbox0=\hbox{\rmlh x\naxspc ま}\dumplist0
241
242 \setbox0=\hbox{\naxspc\rmlh xま}\dumplist0
243
244 {\xkanjiskip=\maxdimen\setbox0=\hbox{\rmlh xま}\dumplist0}
245
246 {\ltjsetparameter{jaxspmode={`ま,postonly}}
247 \setbox0=\hbox{\rmlh xま}\dumplist0}
248 {\ltjsetparameter{alxspmode={`x,inhibit}}
249 \setbox0=\hbox{\rmlh xまおx}\dumplist0}
250
251 \end