1 \NeedsTeXFormat{LaTeX2e}
2 \ProvidesPackage{chise}[2003/10/18 v.0.2 (Omega/CHISE Team)]
3 % based on mulambda and omega-japanese
5 \RequirePackage[UT1]{fontenc}
9 \DeclareOption{utf8mcs}{
10 \externalocp\OCPuniGB=Utf8mcsToUniGB {}
12 \addbeforeocplist 1 \OCPuniGB
14 \externalocp\OCPuniCNS=Utf8mcsToUniCNS {}
16 \addbeforeocplist 1 \OCPuniCNS
18 \externalocp\OCPuniJIS=Utf8mcsToUniJIS {}
20 \addbeforeocplist 1 \OCPuniJIS
22 \externalocp\OCPuniKS=Utf8mcsToUniKS {}
24 \addbeforeocplist 1 \OCPuniKS
26 \externalocp\OCPuniMulti=Utf8mcsToUniMulti {}
28 \addbeforeocplist 1 \OCPuniMulti
31 \DeclareOption{utf8gb}{
32 \externalocp\OCPuniGB=Utf8gbToUniGB {}
34 \addbeforeocplist 1 \OCPuniGB
36 \externalocp\OCPuniCNS=Utf8gbToUniCNS {}
38 \addbeforeocplist 1 \OCPuniCNS
40 \externalocp\OCPuniJIS=Utf8gbToUniJIS {}
42 \addbeforeocplist 1 \OCPuniJIS
44 \externalocp\OCPuniKS=Utf8gbToUniKS {}
46 \addbeforeocplist 1 \OCPuniKS
48 \externalocp\OCPuniMulti=Utf8mcsToUniMulti {}
50 \addbeforeocplist 1 \OCPuniMulti
53 \DeclareOption{utf8cns}{
54 \externalocp\OCPuniGB=Utf8cnsToUniGB {}
56 \addbeforeocplist 1 \OCPuniGB
58 \externalocp\OCPuniCNS=Utf8cnsToUniCNS {}
60 \addbeforeocplist 1 \OCPuniCNS
62 \externalocp\OCPuniJIS=Utf8cnsToUniJIS {}
64 \addbeforeocplist 1 \OCPuniJIS
66 \externalocp\OCPuniKS=Utf8cnsToUniKS {}
68 \addbeforeocplist 1 \OCPuniKS
70 \externalocp\OCPuniMulti=Utf8mcsToUniMulti {}
72 \addbeforeocplist 1 \OCPuniMulti
75 \DeclareOption{utf8jis}{
76 \externalocp\OCPuniGB=Utf8jisToUniGB {}
78 \addbeforeocplist 1 \OCPuniGB
80 \externalocp\OCPuniCNS=Utf8jisToUniCNS {}
82 \addbeforeocplist 1 \OCPuniCNS
84 \externalocp\OCPuniJIS=Utf8jisToUniJIS {}
86 \addbeforeocplist 1 \OCPuniJIS
88 \externalocp\OCPuniKS=Utf8jisToUniKS {}
90 \addbeforeocplist 1 \OCPuniKS
92 \externalocp\OCPuniMulti=Utf8mcsToUniMulti {}
94 \addbeforeocplist 1 \OCPuniMulti
97 \DeclareOption{utf8ks}{
98 \externalocp\OCPuniGB=Utf8ksToUniGB {}
100 \addbeforeocplist 1 \OCPuniGB
102 \externalocp\OCPuniCNS=Utf8ksToUniCNS {}
104 \addbeforeocplist 1 \OCPuniCNS
106 \externalocp\OCPuniJIS=Utf8ksToUniJIS {}
108 \addbeforeocplist 1 \OCPuniJIS
110 \externalocp\OCPuniKS=Utf8ksToUniKS {}
112 \addbeforeocplist 1 \OCPuniKS
114 \externalocp\OCPuniMulti=Utf8mcsToUniMulti {}
116 \addbeforeocplist 1 \OCPuniMulti
120 \DeclareOption{gbfont}{
125 \DeclareOption{cnsfont}{
130 \DeclareOption{jisfont}{
135 \DeclareOption{ksfont}{
140 \DeclareOption{multifont}{
146 \DeclareOption{kage}{
148 \externalocp\OCPmkfont=makefonts.pl {}
150 \addbeforeocplist 1 \OCPmkfont
154 \pushocplist\mkfontOCP
160 \ocp\CJKbreak=cjkbreak
161 %% \ocplist\CJKadjust=
162 %% \addbeforeocplist 1 \CJKbreak
164 \def\cjkglue{\hskip 0pt plus 1pt minus .5pt}
168 \addbeforeocplist 1 \OCPutf
171 % \DefaultInputMode onebyte
172 % \InputMode currentfile onebyte
173 % \DefaultInputTranslation onebyte \OCPutf
174 % \InputTranslation currentfile \OCPutf
179 \def\selectjisfont{\fontencoding{OT1}\fontfamily{omjis}\selectfont}
180 \def\selectgbsfont{\fontencoding{OT1}\fontfamily{omgbs}\selectfont}
181 \def\selectcnsfont{\fontencoding{OT1}\fontfamily{omcns}\selectfont}
182 \def\selectksxfont{\fontencoding{OT1}\fontfamily{omksx}\selectfont}
183 %\def\JIS{\pushocplist\CJKadjust\selectjisfont}
184 %\def\GB{\pushocplist\CJKadjust\selectgbsfont}
185 %\def\KS{\pushocplist\CJKadjust\selectksxfont}
186 %\def\CNS{\pushocplist\CJKadjust\selectcnsfont}
188 \newenvironment{JISfont}{\pushocplist\uniJIS\selectjisfont}{}
189 \newenvironment{GBfont}{\pushocplist\uniGB\selectgbsfont}{}
190 \newenvironment{KSfont}{\pushocplist\uniKS\selectksxfont}{}
191 \newenvironment{CNSfont}{\pushocplist\uniCNS\selectcnsfont}{}
192 \newenvironment{Multifont}{\pushocplist\uniMulti}{}
193 \newenvironment{ASCII}{\pushocplist\NilOCP\fontencoding{T1}\fontfamily{\rmdefault}\selectfont}{}
195 \newcommand{\jisfont}[1]{\begingroup%
196 \pushocplist\uniJIS\selectjisfont #1\endgroup}
197 \newcommand{\gbfont}[1]{\begingroup%
198 \pushocplist\uniGB\selectgbsfont #1\endgroup}
199 \newcommand{\ksfont}[1]{\begingroup%
200 \pushocplist\uniKS\selectksxfont #1\endgroup}
201 \newcommand{\cnsfont}[1]{\begingroup%
202 \pushocplist\uniCNS\selectcnsfont #1\endgroup}
203 \newcommand{\multifont}[1]{\begingroup%
204 \pushocplist\uniMulti #1\endgroup}
205 \newcommand{\noncjk}[1]{\begingroup%
206 \normalfont\pushocplist\inutf #1\endgroup}
207 \newcommand{\ascii}[1]{\begingroup%
208 \pushocplist\NilOCP\fontencoding{T1}\fontfamily{\rmdefault}\selectfont #1\endgroup}
209 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
214 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
217 \def\idc@#1{{\selectgbsfont\clearocplists\char"#1}}
218 \def\idcltr{\idc@{2FF0}}
219 \def\idcatb{\idc@{2FF1}}
220 \def\idcltmr{\idc@{2FF2}}
221 \def\idcatmb{\idc@{2FF3}}
222 \def\idcfs{\idc@{2FF4}}
223 \def\idcsfa{\idc@{2FF5}}
224 \def\idcsfb{\idc@{2FF6}}
225 \def\idcsfl{\idc@{2FF7}}
226 \def\idcsful{\idc@{2FF8}}
227 \def\idcsfur{\idc@{2FF9}}
228 \def\idcsfll{\idc@{2FFA}}
229 \def\idcol{\idc@{2FFB}}
231 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
235 \DeclareFontFamily{OT1}{omgbs}{}
236 \DeclareFontShape{OT1}{omgbs}{m}{n}{
239 \DeclareFontShape{OT1}{omgbs}{m}{sc}{
242 \DeclareFontShape{OT1}{omgbs}{m}{it}{
245 \DeclareFontShape{OT1}{omgbs}{m}{sl}{
246 <-> ssub * omgbs/m/it
248 \DeclareFontShape{OT1}{omgbs}{m}{itsc}{
249 <-> ssub * omgbs/m/it
251 \DeclareFontShape{OT1}{omgbs}{m}{slsc}{
252 <-> ssub * omgbs/m/it
254 \DeclareFontShape{OT1}{omgbs}{bx}{n}{
257 \DeclareFontShape{OT1}{omgbs}{bx}{sc}{
258 <-> ssub * omgbs/bx/n
260 \DeclareFontShape{OT1}{omgbs}{bx}{it}{
263 \DeclareFontShape{OT1}{omgbs}{bx}{itsc}{
264 <-> ssub * omgbs/bx/it
266 \DeclareFontShape{OT1}{omgbs}{bx}{sl}{
267 <-> ssub * omgbs/bx/it
269 \DeclareFontShape{OT1}{omgbs}{bx}{slsc}{
270 <-> ssub * omgbs/bx/it
274 \DeclareFontFamily{OT1}{omcns}{}
275 \DeclareFontShape{OT1}{omcns}{m}{n}{
278 \DeclareFontShape{OT1}{omcns}{m}{sc}{
281 \DeclareFontShape{OT1}{omcns}{m}{it}{
284 \DeclareFontShape{OT1}{omcns}{m}{sl}{
285 <-> ssub * omcns/m/it
287 \DeclareFontShape{OT1}{omcns}{m}{itsc}{
288 <-> ssub * omcns/m/it
290 \DeclareFontShape{OT1}{omcns}{m}{slsc}{
291 <-> ssub * omcns/m/it
293 \DeclareFontShape{OT1}{omcns}{bx}{n}{
296 \DeclareFontShape{OT1}{omcns}{bx}{sc}{
297 <-> ssub * omcns/bx/n
299 \DeclareFontShape{OT1}{omcns}{bx}{it}{
302 \DeclareFontShape{OT1}{omcns}{bx}{itsc}{
303 <-> ssub * omcns/bx/it
305 \DeclareFontShape{OT1}{omcns}{bx}{sl}{
306 <-> ssub * omcns/bx/it
308 \DeclareFontShape{OT1}{omcns}{bx}{slsc}{
309 <-> ssub * omcns/bx/it
313 \DeclareFontFamily{OT1}{omjis}{}
314 \DeclareFontShape{OT1}{omjis}{m}{n}{
317 \DeclareFontShape{OT1}{omjis}{m}{sc}{
320 \DeclareFontShape{OT1}{omjis}{m}{it}{
323 \DeclareFontShape{OT1}{omjis}{m}{sl}{
324 <-> ssub * omjis/m/it
326 \DeclareFontShape{OT1}{omjis}{m}{itsc}{
327 <-> ssub * omjis/m/it
329 \DeclareFontShape{OT1}{omjis}{m}{slsc}{
330 <-> ssub * omjis/m/it
332 \DeclareFontShape{OT1}{omjis}{bx}{n}{
335 \DeclareFontShape{OT1}{omjis}{bx}{sc}{
336 <-> ssub * omjis/bx/n
338 \DeclareFontShape{OT1}{omjis}{bx}{it}{
341 \DeclareFontShape{OT1}{omjis}{bx}{itsc}{
342 <-> ssub * omjis/bx/it
344 \DeclareFontShape{OT1}{omjis}{bx}{sl}{
345 <-> ssub * omjis/bx/it
347 \DeclareFontShape{OT1}{omjis}{bx}{slsc}{
348 <-> ssub * omjis/bx/it
352 \DeclareFontFamily{OT1}{omksx}{}
353 \DeclareFontShape{OT1}{omksx}{m}{n}{
356 \DeclareFontShape{OT1}{omksx}{m}{sc}{
359 \DeclareFontShape{OT1}{omksx}{m}{it}{
362 \DeclareFontShape{OT1}{omksx}{m}{sl}{
363 <-> ssub * omksx/m/it
365 \DeclareFontShape{OT1}{omksx}{m}{itsc}{
366 <-> ssub * omksx/m/it
368 \DeclareFontShape{OT1}{omksx}{m}{slsc}{
369 <-> ssub * omksx/m/it
371 \DeclareFontShape{OT1}{omksx}{bx}{n}{
374 \DeclareFontShape{OT1}{omksx}{bx}{sc}{
375 <-> ssub * omksx/bx/n
377 \DeclareFontShape{OT1}{omksx}{bx}{it}{
380 \DeclareFontShape{OT1}{omksx}{bx}{itsc}{
381 <-> ssub * omksx/bx/it
383 \DeclareFontShape{OT1}{omksx}{bx}{sl}{
384 <-> ssub * omksx/bx/it
386 \DeclareFontShape{OT1}{omksx}{bx}{slsc}{
387 <-> ssub * omksx/bx/it
390 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
391 \DeclareFontFamily{OT1}{chise000}{}
392 \DeclareFontShape{OT1}{chise000}{m}{n}{
393 <-> [.96] chise000min
395 \DeclareFontShape{OT1}{chise000}{m}{sc}{
396 <-> [.96] ssub * chise000min/m/n
398 \DeclareFontShape{OT1}{chise000}{m}{it}{
399 <-> [.96] chise000min
401 \DeclareFontShape{OT1}{chise000}{m}{sl}{
402 <-> [.96] ssub * chise000min/m/it
404 \DeclareFontShape{OT1}{chise000}{m}{itsc}{
405 <-> [.96] ssub * chise000min/m/it
407 \DeclareFontShape{OT1}{chise000}{m}{slsc}{
408 <-> [.96] ssub * chise000min/m/it
410 \DeclareFontShape{OT1}{chise000}{bx}{n}{
411 <-> [.96] chise000got
413 \DeclareFontShape{OT1}{chise000}{bx}{sc}{
414 <-> [.96] ssub * chise000got/bx/n
416 \DeclareFontShape{OT1}{chise000}{bx}{it}{
417 <-> [.96] chise000got
419 \DeclareFontShape{OT1}{chise000}{bx}{itsc}{
420 <-> [.96] ssub * chise000got/bx/it
422 \DeclareFontShape{OT1}{chise000}{bx}{sl}{
423 <-> [.96] ssub * chise000got/bx/it
425 \DeclareFontShape{OT1}{chise000}{bx}{slsc}{
426 <-> [.96] ssub * chise000got/bx/it
429 \DeclareFontFamily{OT1}{gt01}{}
430 \DeclareFontShape{OT1}{gt01}{m}{n}{
433 \DeclareFontFamily{OT1}{gt02}{}
434 \DeclareFontShape{OT1}{gt02}{m}{n}{
437 \DeclareFontFamily{OT1}{gt03}{}
438 \DeclareFontShape{OT1}{gt03}{m}{n}{
441 \DeclareFontFamily{OT1}{gt04}{}
442 \DeclareFontShape{OT1}{gt04}{m}{n}{
445 \DeclareFontFamily{OT1}{gt05}{}
446 \DeclareFontShape{OT1}{gt05}{m}{n}{
449 \DeclareFontFamily{OT1}{gt06}{}
450 \DeclareFontShape{OT1}{gt06}{m}{n}{
453 \DeclareFontFamily{OT1}{gt07}{}
454 \DeclareFontShape{OT1}{gt07}{m}{n}{
457 \DeclareFontFamily{OT1}{gt08}{}
458 \DeclareFontShape{OT1}{gt08}{m}{n}{
461 \DeclareFontFamily{OT1}{gt09}{}
462 \DeclareFontShape{OT1}{gt09}{m}{n}{
465 \DeclareFontFamily{OT1}{gt10}{}
466 \DeclareFontShape{OT1}{gt10}{m}{n}{
469 \DeclareFontFamily{OT1}{gt11}{}
470 \DeclareFontShape{OT1}{gt11}{m}{n}{
474 \DeclareFontFamily{OT1}{cdp}{}
475 \DeclareFontShape{OT1}{cdp}{m}{n}{
479 \DeclareFontFamily{OT1}{hzk01}{}
480 \DeclareFontShape{OT1}{hzk01}{m}{n}{
483 \DeclareFontFamily{OT1}{hzk02}{}
484 \DeclareFontShape{OT1}{hzk02}{m}{n}{
487 \DeclareFontFamily{OT1}{hzk03}{}
488 \DeclareFontShape{OT1}{hzk03}{m}{n}{
491 \DeclareFontFamily{OT1}{hzk04}{}
492 \DeclareFontShape{OT1}{hzk04}{m}{n}{
495 \DeclareFontFamily{OT1}{hzk05}{}
496 \DeclareFontShape{OT1}{hzk05}{m}{n}{
499 \DeclareFontFamily{OT1}{hzk06}{}
500 \DeclareFontShape{OT1}{hzk06}{m}{n}{
503 \DeclareFontFamily{OT1}{hzk07}{}
504 \DeclareFontShape{OT1}{hzk07}{m}{n}{
507 \DeclareFontFamily{OT1}{hzk08}{}
508 \DeclareFontShape{OT1}{hzk08}{m}{n}{
511 \DeclareFontFamily{OT1}{hzk09}{}
512 \DeclareFontShape{OT1}{hzk09}{m}{n}{
515 \DeclareFontFamily{OT1}{hzk10}{}
516 \DeclareFontShape{OT1}{hzk10}{m}{n}{
519 \DeclareFontFamily{OT1}{hzk11}{}
520 \DeclareFontShape{OT1}{hzk11}{m}{n}{
523 \DeclareFontFamily{OT1}{hzk12}{}
524 \DeclareFontShape{OT1}{hzk12}{m}{n}{
528 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
529 % line break, from omega-japanese.
531 \def\CJKunbreakablekernone{%
533 \hskip 0sp plus 2sp minus 2sp
536 \def\CJKunbreakablekerntwo{%
538 \hskip 0sp plus 2sp minus 2sp
541 \def\CJKunbreakablekernthree{%
543 \hskip 0sp plus 2sp minus 2sp
546 \def\CJKbreakablekern{\hskip 0sp plus 2pt minus 2sp}
547 % BUG: \rlap should preserve the current font
549 \discretionary{\rlap{#1}}%
553 %% Hyphenation parameters
554 % If the badness does not exceed this, no hyphenation is
561 % Penalty added for the first hyphenation
562 % in the current paragraph
563 \hyphenpenalty=0 % Was 50
565 % Penalty added for subsequent hyphenations
566 \exhyphenpenalty=0 % Was 50
568 % TeX tries to minimize the demerit of the lines:
569 % (\linepenalty^2 + badness^2) + penalty^2
572 % If a tight line is followed by a loose one
573 % (or conversely), we add \adjdemerits
575 \adjdemerits=0 % Was 10000 % ???
577 % two hyphens on consecutive lines also add
579 \doublehyphendemerits=0 % Was 10000
581 % A hyphen on the last line also adds to
583 \finalhyphendemerits=0 % Was 5000
585 % Minimum number of characters in the current word
586 % before or after a hyphenation point
590 % line break definition ends.