use $omegadb_path of Chise_utils.pm.
[chise/omega.git] / chise.sty
1 \NeedsTeXFormat{LaTeX2e}
2 \ProvidesPackage{chise}[2003/11/26 v.0.2 (Omega/CHISE Team)]
3 % based on mulambda and omega-japanese
4 %\RequirePackage{omega}
5 \RequirePackage[UT1]{fontenc}
6
7 %% options %%
8
9 %% You must change the path of inCHISE,
10 %% if inCHISE is not located in the default directory.
11
12 \DeclareOption{utf8mcs}{
13   \externalocp\OCPuniGB=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniGB {}
14   \ocplist\uniGB=
15     \addbeforeocplist 1 \OCPuniGB
16     \nullocplist
17   \externalocp\OCPuniCNS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniCNS {}
18   \ocplist\uniCNS=
19     \addbeforeocplist 1 \OCPuniCNS
20     \nullocplist
21   \externalocp\OCPuniJIS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniJIS {}
22   \ocplist\uniJIS=
23     \addbeforeocplist 1 \OCPuniJIS
24     \nullocplist
25   \externalocp\OCPuniKS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniKS {}
26   \ocplist\uniKS=
27     \addbeforeocplist 1 \OCPuniKS
28     \nullocplist
29   \externalocp\OCPuniMulti=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniMulti {}
30   \ocplist\uniMulti=
31     \addbeforeocplist 1 \OCPuniMulti
32     \nullocplist
33 }
34 \DeclareOption{utf8gb}{
35   \externalocp\OCPuniGB=/usr/local/share/texmf/omega/ocp/local/chise/Utf8gbToUniGB {}
36   \ocplist\uniGB=
37     \addbeforeocplist 1 \OCPuniGB
38     \nullocplist
39   \externalocp\OCPuniCNS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8gbToUniCNS {}
40   \ocplist\uniCNS=
41     \addbeforeocplist 1 \OCPuniCNS
42     \nullocplist
43   \externalocp\OCPuniJIS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8gbToUniJIS {}
44   \ocplist\uniJIS=
45     \addbeforeocplist 1 \OCPuniJIS
46     \nullocplist
47   \externalocp\OCPuniKS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8gbToUniKS {}
48   \ocplist\uniKS=
49     \addbeforeocplist 1 \OCPuniKS
50     \nullocplist
51   \externalocp\OCPuniMulti=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniMulti {}
52   \ocplist\uniMulti=
53     \addbeforeocplist 1 \OCPuniMulti
54     \nullocplist
55 }
56 \DeclareOption{utf8cns}{
57   \externalocp\OCPuniGB=/usr/local/share/texmf/omega/ocp/local/chise/Utf8cnsToUniGB {}
58   \ocplist\uniGB=
59     \addbeforeocplist 1 \OCPuniGB
60     \nullocplist
61   \externalocp\OCPuniCNS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8cnsToUniCNS {}
62   \ocplist\uniCNS=
63     \addbeforeocplist 1 \OCPuniCNS
64     \nullocplist
65   \externalocp\OCPuniJIS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8cnsToUniJIS {}
66   \ocplist\uniJIS=
67     \addbeforeocplist 1 \OCPuniJIS
68     \nullocplist
69   \externalocp\OCPuniKS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8cnsToUniKS {}
70   \ocplist\uniKS=
71     \addbeforeocplist 1 \OCPuniKS
72     \nullocplist
73   \externalocp\OCPuniMulti=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniMulti {}
74   \ocplist\uniMulti=
75     \addbeforeocplist 1 \OCPuniMulti
76     \nullocplist
77 }
78 \DeclareOption{utf8jis}{
79   \externalocp\OCPuniGB=/usr/local/share/texmf/omega/ocp/local/chise/Utf8jisToUniGB {}
80   \ocplist\uniGB=
81     \addbeforeocplist 1 \OCPuniGB
82     \nullocplist
83   \externalocp\OCPuniCNS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8jisToUniCNS {}
84   \ocplist\uniCNS=
85     \addbeforeocplist 1 \OCPuniCNS
86     \nullocplist
87   \externalocp\OCPuniJIS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8jisToUniJIS {}
88   \ocplist\uniJIS=
89     \addbeforeocplist 1 \OCPuniJIS
90     \nullocplist
91   \externalocp\OCPuniKS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8jisToUniKS {}
92   \ocplist\uniKS=
93     \addbeforeocplist 1 \OCPuniKS
94     \nullocplist
95   \externalocp\OCPuniMulti=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniMulti {}
96   \ocplist\uniMulti=
97     \addbeforeocplist 1 \OCPuniMulti
98     \nullocplist
99 }
100 \DeclareOption{utf8ks}{
101   \externalocp\OCPuniGB=/usr/local/share/texmf/omega/ocp/local/chise/Utf8ksToUniGB {}
102   \ocplist\uniGB=
103     \addbeforeocplist 1 \OCPuniGB
104     \nullocplist
105   \externalocp\OCPuniCNS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8ksToUniCNS {}
106   \ocplist\uniCNS=
107     \addbeforeocplist 1 \OCPuniCNS
108     \nullocplist
109   \externalocp\OCPuniJIS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8ksToUniJIS {}
110   \ocplist\uniJIS=
111     \addbeforeocplist 1 \OCPuniJIS
112     \nullocplist
113   \externalocp\OCPuniKS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8ksToUniKS {}
114   \ocplist\uniKS=
115     \addbeforeocplist 1 \OCPuniKS
116     \nullocplist
117   \externalocp\OCPuniMulti=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniMulti {}
118   \ocplist\uniMulti=
119     \addbeforeocplist 1 \OCPuniMulti
120     \nullocplist
121 }
122
123 \DeclareOption{gbfont}{
124   \AtBeginDocument{
125     \GBfont
126   }
127 }
128 \DeclareOption{cnsfont}{
129   \AtBeginDocument{
130     \CNSfont
131   }
132 }
133 \DeclareOption{jisfont}{
134   \AtBeginDocument{
135     \JISfont
136   }
137 }
138 \DeclareOption{ksfont}{
139   \AtBeginDocument{
140     \KSfont
141   }
142 }
143 \DeclareOption{multifont}{
144   \AtBeginDocument{
145     \Multifont
146   }
147 }
148
149 \DeclareOption{kage}{
150   % to use KAGE server
151   \externalocp\OCPmkfont=/usr/local/share/texmf/omega/ocp/local/chise/makefonts.pl {}
152   \ocplist\mkfontOCP=
153   \addbeforeocplist 1 \OCPmkfont
154   \nullocplist
155
156   \AtEndDocument{
157     \pushocplist\mkfontOCP
158   }
159 }
160
161 %% end options %%
162
163 \ocp\OCPutf=inutf8fix
164 \ocplist\inutf
165   \addbeforeocplist 1 \OCPutf
166   \nullocplist
167 \AtBeginDocument{
168   \pushocplist\inutf
169 }
170
171 % Settings for CJK
172 \def\selectjisfont{\fontencoding{OT1}\fontfamily{omjis}\selectfont}
173 \def\selectgbsfont{\fontencoding{OT1}\fontfamily{omgbs}\selectfont}
174 \def\selectcnsfont{\fontencoding{OT1}\fontfamily{omcns}\selectfont}
175 \def\selectksxfont{\fontencoding{OT1}\fontfamily{omksx}\selectfont}
176
177 \newenvironment{JISfont}{\pushocplist\uniJIS\selectjisfont}{}
178 \newenvironment{GBfont}{\pushocplist\uniGB\selectgbsfont}{}
179 \newenvironment{KSfont}{\pushocplist\uniKS\selectksxfont}{}
180 \newenvironment{CNSfont}{\pushocplist\uniCNS\selectcnsfont}{}
181 \newenvironment{Multifont}{\pushocplist\uniMulti}{}
182 \newenvironment{ASCII}{\pushocplist\NilOCP\fontencoding{T1}\fontfamily{\rmdefault}\selectfont}{}
183
184 \newcommand{\jisfont}[1]{\begingroup%
185   \pushocplist\uniJIS\selectjisfont #1\endgroup}
186 \newcommand{\gbfont}[1]{\begingroup%
187   \pushocplist\uniGB\selectgbsfont #1\endgroup}
188 \newcommand{\ksfont}[1]{\begingroup%
189   \pushocplist\uniKS\selectksxfont #1\endgroup}
190 \newcommand{\cnsfont}[1]{\begingroup%
191   \pushocplist\uniCNS\selectcnsfont #1\endgroup}
192 \newcommand{\multifont}[1]{\begingroup%
193   \pushocplist\uniMulti #1\endgroup}
194 \newcommand{\noncjk}[1]{\begingroup%
195   \normalfont\pushocplist\inutf #1\endgroup}
196 \newcommand{\ascii}[1]{\begingroup%
197   \pushocplist\NilOCP\fontencoding{T1}\fontfamily{\rmdefault}\selectfont #1\endgroup}
198 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
199 % Entity Reference
200 % ----------------
201 \def\ER#1{amp#1;}
202 %
203 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
204 % IDC for print
205 % -------------
206 \def\idc@#1{{\selectgbsfont\clearocplists\char"#1}}
207 \def\idcltr{\idc@{2FF0}}
208 \def\idcatb{\idc@{2FF1}}
209 \def\idcltmr{\idc@{2FF2}}
210 \def\idcatmb{\idc@{2FF3}}
211 \def\idcfs{\idc@{2FF4}}
212 \def\idcsfa{\idc@{2FF5}}
213 \def\idcsfb{\idc@{2FF6}}
214 \def\idcsfl{\idc@{2FF7}}
215 \def\idcsful{\idc@{2FF8}}
216 \def\idcsfur{\idc@{2FF9}}
217 \def\idcsfll{\idc@{2FFA}}
218 \def\idcol{\idc@{2FFB}}
219 %
220 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
221 % Font Declaration
222 % ----------------
223 %% omgbs
224 \DeclareFontFamily{OT1}{omgbs}{}
225 \DeclareFontShape{OT1}{omgbs}{m}{n}{
226    <->omgbs
227 }{}
228 \DeclareFontShape{OT1}{omgbs}{m}{sc}{
229    <-> ssub * omgbs/m/n
230 }{}
231 \DeclareFontShape{OT1}{omgbs}{m}{it}{
232    <->omgb
233 }{}
234 \DeclareFontShape{OT1}{omgbs}{m}{sl}{
235    <-> ssub * omgbs/m/it
236 }{}
237 \DeclareFontShape{OT1}{omgbs}{m}{itsc}{
238    <-> ssub * omgbs/m/it
239 }{}
240 \DeclareFontShape{OT1}{omgbs}{m}{slsc}{
241    <-> ssub * omgbs/m/it
242 }{}
243 \DeclareFontShape{OT1}{omgbs}{bx}{n}{
244    <->omgbsgt
245 }{}
246 \DeclareFontShape{OT1}{omgbs}{bx}{sc}{
247    <-> ssub * omgbs/bx/n
248 }{}
249 \DeclareFontShape{OT1}{omgbs}{bx}{it}{
250    <->omgbsgt
251 }{}
252 \DeclareFontShape{OT1}{omgbs}{bx}{itsc}{
253    <-> ssub * omgbs/bx/it
254 }{}
255 \DeclareFontShape{OT1}{omgbs}{bx}{sl}{
256    <-> ssub * omgbs/bx/it
257 }{}
258 \DeclareFontShape{OT1}{omgbs}{bx}{slsc}{
259    <-> ssub * omgbs/bx/it
260 }{}
261
262 %% omcns
263 \DeclareFontFamily{OT1}{omcns}{}
264 \DeclareFontShape{OT1}{omcns}{m}{n}{
265    <->omcns
266 }{}
267 \DeclareFontShape{OT1}{omcns}{m}{sc}{
268    <-> ssub * omcns/m/n
269 }{}
270 \DeclareFontShape{OT1}{omcns}{m}{it}{
271    <->omcns
272 }{}
273 \DeclareFontShape{OT1}{omcns}{m}{sl}{
274    <-> ssub * omcns/m/it
275 }{}
276 \DeclareFontShape{OT1}{omcns}{m}{itsc}{
277    <-> ssub * omcns/m/it
278 }{}
279 \DeclareFontShape{OT1}{omcns}{m}{slsc}{
280    <-> ssub * omcns/m/it
281 }{}
282 \DeclareFontShape{OT1}{omcns}{bx}{n}{
283    <->omcnsgt
284 }{}
285 \DeclareFontShape{OT1}{omcns}{bx}{sc}{
286    <-> ssub * omcns/bx/n
287 }{}
288 \DeclareFontShape{OT1}{omcns}{bx}{it}{
289    <->omcnsgt
290 }{}
291 \DeclareFontShape{OT1}{omcns}{bx}{itsc}{
292    <-> ssub * omcns/bx/it
293 }{}
294 \DeclareFontShape{OT1}{omcns}{bx}{sl}{
295    <-> ssub * omcns/bx/it
296 }{}
297 \DeclareFontShape{OT1}{omcns}{bx}{slsc}{
298    <-> ssub * omcns/bx/it
299 }{}
300
301 %%
302 \DeclareFontFamily{OT1}{omjis}{}
303 \DeclareFontShape{OT1}{omjis}{m}{n}{
304    <->omjis
305 }{}
306 \DeclareFontShape{OT1}{omjis}{m}{sc}{
307    <-> ssub * omjis/m/n
308 }{}
309 \DeclareFontShape{OT1}{omjis}{m}{it}{
310    <->omjis
311 }{}
312 \DeclareFontShape{OT1}{omjis}{m}{sl}{
313    <-> ssub * omjis/m/it
314 }{}
315 \DeclareFontShape{OT1}{omjis}{m}{itsc}{
316    <-> ssub * omjis/m/it
317 }{}
318 \DeclareFontShape{OT1}{omjis}{m}{slsc}{
319    <-> ssub * omjis/m/it
320 }{}
321 \DeclareFontShape{OT1}{omjis}{bx}{n}{
322    <->omjisgt
323 }{}
324 \DeclareFontShape{OT1}{omjis}{bx}{sc}{
325    <-> ssub * omjis/bx/n
326 }{}
327 \DeclareFontShape{OT1}{omjis}{bx}{it}{
328    <->omjisgt
329 }{}
330 \DeclareFontShape{OT1}{omjis}{bx}{itsc}{
331    <-> ssub * omjis/bx/it
332 }{}
333 \DeclareFontShape{OT1}{omjis}{bx}{sl}{
334    <-> ssub * omjis/bx/it
335 }{}
336 \DeclareFontShape{OT1}{omjis}{bx}{slsc}{
337    <-> ssub * omjis/bx/it
338 }{}
339
340 %% omksx
341 \DeclareFontFamily{OT1}{omksx}{}
342 \DeclareFontShape{OT1}{omksx}{m}{n}{
343    <->omksx
344 }{}
345 \DeclareFontShape{OT1}{omksx}{m}{sc}{
346    <-> ssub * omksx/m/n
347 }{}
348 \DeclareFontShape{OT1}{omksx}{m}{it}{
349    <->omksx
350 }{}
351 \DeclareFontShape{OT1}{omksx}{m}{sl}{
352    <-> ssub * omksx/m/it
353 }{}
354 \DeclareFontShape{OT1}{omksx}{m}{itsc}{
355    <-> ssub * omksx/m/it
356 }{}
357 \DeclareFontShape{OT1}{omksx}{m}{slsc}{
358    <-> ssub * omksx/m/it
359 }{}
360 \DeclareFontShape{OT1}{omksx}{bx}{n}{
361    <->omksxgt
362 }{}
363 \DeclareFontShape{OT1}{omksx}{bx}{sc}{
364    <-> ssub * omksx/bx/n
365 }{}
366 \DeclareFontShape{OT1}{omksx}{bx}{it}{
367    <->omksxgt
368 }{}
369 \DeclareFontShape{OT1}{omksx}{bx}{itsc}{
370    <-> ssub * omksx/bx/it
371 }{}
372 \DeclareFontShape{OT1}{omksx}{bx}{sl}{
373    <-> ssub * omksx/bx/it
374 }{}
375 \DeclareFontShape{OT1}{omksx}{bx}{slsc}{
376    <-> ssub * omksx/bx/it
377 }{}
378
379 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
380 \DeclareFontFamily{OT1}{chise000}{}
381 \DeclareFontShape{OT1}{chise000}{m}{n}{
382    <-> [.96] chise000min
383 }{}
384 \DeclareFontShape{OT1}{chise000}{m}{sc}{
385    <-> [.96] ssub * chise000min/m/n
386 }{}
387 \DeclareFontShape{OT1}{chise000}{m}{it}{
388    <-> [.96] chise000min
389 }{}
390 \DeclareFontShape{OT1}{chise000}{m}{sl}{
391    <-> [.96] ssub * chise000min/m/it
392 }{}
393 \DeclareFontShape{OT1}{chise000}{m}{itsc}{
394    <-> [.96] ssub * chise000min/m/it
395 }{}
396 \DeclareFontShape{OT1}{chise000}{m}{slsc}{
397    <-> [.96] ssub * chise000min/m/it
398 }{}
399 \DeclareFontShape{OT1}{chise000}{bx}{n}{
400    <-> [.96] chise000got
401 }{}
402 \DeclareFontShape{OT1}{chise000}{bx}{sc}{
403    <-> [.96] ssub * chise000got/bx/n
404 }{}
405 \DeclareFontShape{OT1}{chise000}{bx}{it}{
406    <-> [.96] chise000got
407 }{}
408 \DeclareFontShape{OT1}{chise000}{bx}{itsc}{
409    <-> [.96] ssub * chise000got/bx/it
410 }{}
411 \DeclareFontShape{OT1}{chise000}{bx}{sl}{
412    <-> [.96] ssub * chise000got/bx/it
413 }{}
414 \DeclareFontShape{OT1}{chise000}{bx}{slsc}{
415    <-> [.96] ssub * chise000got/bx/it
416 }{}
417 %%% GT
418 \DeclareFontFamily{OT1}{gt01}{}
419 \DeclareFontShape{OT1}{gt01}{m}{n}{
420    <-> gt01
421 }{}
422 \DeclareFontFamily{OT1}{gt02}{}
423 \DeclareFontShape{OT1}{gt02}{m}{n}{
424    <-> gt02
425 }{}
426 \DeclareFontFamily{OT1}{gt03}{}
427 \DeclareFontShape{OT1}{gt03}{m}{n}{
428    <-> gt03
429 }{}
430 \DeclareFontFamily{OT1}{gt04}{}
431 \DeclareFontShape{OT1}{gt04}{m}{n}{
432    <-> gt04
433 }{}
434 \DeclareFontFamily{OT1}{gt05}{}
435 \DeclareFontShape{OT1}{gt05}{m}{n}{
436    <-> gt05
437 }{}
438 \DeclareFontFamily{OT1}{gt06}{}
439 \DeclareFontShape{OT1}{gt06}{m}{n}{
440    <-> gt06
441 }{}
442 \DeclareFontFamily{OT1}{gt07}{}
443 \DeclareFontShape{OT1}{gt07}{m}{n}{
444    <-> gt07
445 }{}
446 \DeclareFontFamily{OT1}{gt08}{}
447 \DeclareFontShape{OT1}{gt08}{m}{n}{
448    <-> gt08
449 }{}
450 \DeclareFontFamily{OT1}{gt09}{}
451 \DeclareFontShape{OT1}{gt09}{m}{n}{
452    <-> gt09
453 }{}
454 \DeclareFontFamily{OT1}{gt10}{}
455 \DeclareFontShape{OT1}{gt10}{m}{n}{
456    <-> gt10
457 }{}
458 \DeclareFontFamily{OT1}{gt11}{}
459 \DeclareFontShape{OT1}{gt11}{m}{n}{
460    <-> gt11
461 }{}
462 % CDP
463 \DeclareFontFamily{OT1}{cdp}{}
464 \DeclareFontShape{OT1}{cdp}{m}{n}{
465    <-> cdp
466 }{}
467 % Hanziku
468 \DeclareFontFamily{OT1}{hzk01}{}
469 \DeclareFontShape{OT1}{hzk01}{m}{n}{
470    <-> hzk01
471 }{}
472 \DeclareFontFamily{OT1}{hzk02}{}
473 \DeclareFontShape{OT1}{hzk02}{m}{n}{
474    <-> hzk02
475 }{}
476 \DeclareFontFamily{OT1}{hzk03}{}
477 \DeclareFontShape{OT1}{hzk03}{m}{n}{
478    <-> hzk03
479 }{}
480 \DeclareFontFamily{OT1}{hzk04}{}
481 \DeclareFontShape{OT1}{hzk04}{m}{n}{
482    <-> hzk04
483 }{}
484 \DeclareFontFamily{OT1}{hzk05}{}
485 \DeclareFontShape{OT1}{hzk05}{m}{n}{
486    <-> hzk05
487 }{}
488 \DeclareFontFamily{OT1}{hzk06}{}
489 \DeclareFontShape{OT1}{hzk06}{m}{n}{
490    <-> hzk06
491 }{}
492 \DeclareFontFamily{OT1}{hzk07}{}
493 \DeclareFontShape{OT1}{hzk07}{m}{n}{
494    <-> hzk07
495 }{}
496 \DeclareFontFamily{OT1}{hzk08}{}
497 \DeclareFontShape{OT1}{hzk08}{m}{n}{
498    <-> hzk08
499 }{}
500 \DeclareFontFamily{OT1}{hzk09}{}
501 \DeclareFontShape{OT1}{hzk09}{m}{n}{
502    <-> hzk09
503 }{}
504 \DeclareFontFamily{OT1}{hzk10}{}
505 \DeclareFontShape{OT1}{hzk10}{m}{n}{
506    <-> hzk10
507 }{}
508 \DeclareFontFamily{OT1}{hzk11}{}
509 \DeclareFontShape{OT1}{hzk11}{m}{n}{
510    <-> hzk11
511 }{}
512 \DeclareFontFamily{OT1}{hzk12}{}
513 \DeclareFontShape{OT1}{hzk12}{m}{n}{
514    <-> hzk12
515 }{}
516 %
517 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
518 % line break, from omega-japanese.
519
520 \def\CJKunbreakablekernone{%
521   \nobreak
522   \hskip 0sp plus 2sp minus 2sp
523   \nobreak
524 }
525 \def\CJKunbreakablekerntwo{%
526   \penalty 500
527   \hskip 0sp plus 2sp minus 2sp
528   \penalty 500
529 }
530 \def\CJKunbreakablekernthree{%
531   \penalty 200
532   \hskip 0sp plus 2sp minus 2sp
533   \penalty 200
534 }
535 \def\CJKbreakablekern{\hskip 0sp plus 2pt minus 2sp}
536 % BUG: \rlap should preserve the current font
537 \def\CJKprotrude#1{%
538   \discretionary{\rlap{#1}}%
539                 {}%
540                 {#1}%
541 }
542 %% Hyphenation parameters
543   % If the badness does not exceed this, no hyphenation is
544   % attempted
545   \pretolerance=-1
546
547   % Maximal badness
548   \tolerance=200
549
550   % Penalty added for the first hyphenation
551   % in the current paragraph
552   \hyphenpenalty=0 % Was 50
553
554   % Penalty added for subsequent hyphenations
555   \exhyphenpenalty=0 % Was 50
556
557   % TeX tries to minimize the demerit of the lines:
558   % (\linepenalty^2 + badness^2) + penalty^2
559   \linepenalty=10
560
561   % If a tight line is followed by a loose one
562   % (or conversely), we add \adjdemerits 
563   % to the demerit
564   \adjdemerits=0 % Was 10000 % ???
565
566   % two hyphens on consecutive lines also add 
567   % to the demerit
568   \doublehyphendemerits=0 % Was 10000
569
570   % A hyphen on the last line also adds to
571   % the demerit.
572   \finalhyphendemerits=0 % Was 5000
573
574   % Minimum number of characters in the current word
575   % before or after a hyphenation point
576   \lefthyphenmin=2
577   \righthyphenmin=3
578
579 % line break definition ends.
580
581 %%%% redundant font definition to avoid bug of omega.
582
583 \DeclareFontFamily{UT1}{omlgc}{}
584
585 \DeclareFontShape{UT1}{omlgc}{m}{n}{
586    <->omlgc
587 }{}
588 \DeclareFontShape{UT1}{omlgc}{m}{sc}{
589    <-> ssub * omlgc/m/n
590 }{}
591 \DeclareFontShape{UT1}{omlgc}{m}{it}{
592    <->omlgci
593 }{}
594 \DeclareFontShape{UT1}{omlgc}{m}{sl}{
595    <-> ssub * omlgc/m/it
596 }{}
597 \DeclareFontShape{UT1}{omlgc}{m}{itsc}{
598    <-> ssub * omlgc/m/it
599 }{}
600 \DeclareFontShape{UT1}{omlgc}{m}{slsc}{
601    <-> ssub * omlgc/m/it
602 }{}
603 \DeclareFontShape{UT1}{omlgc}{bx}{n}{
604    <->omlgcb
605 }{}
606 \DeclareFontShape{UT1}{omlgc}{bx}{sc}{
607    <-> ssub * omlgc/bx/n
608 }{}
609 \DeclareFontShape{UT1}{omlgc}{bx}{it}{
610    <->omlgcbi
611 }{}
612 \DeclareFontShape{UT1}{omlgc}{bx}{itsc}{
613    <-> ssub * omlgc/bx/it
614 }{}
615 \DeclareFontShape{UT1}{omlgc}{bx}{sl}{
616    <-> ssub * omlgc/bx/it
617 }{}
618 \DeclareFontShape{UT1}{omlgc}{bx}{slsc}{
619    <-> ssub * omlgc/bx/it
620 }{}
621
622 \ProcessOptions
623 \endinput