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[OT1]{fontenc}
9 %% You must change the path of inCHISE,
10 %% if inCHISE is not located in the default directory.
12 \DeclareOption{utf8mcs}{
13 \externalocp\OCPuniGB=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniGB {}
15 \addbeforeocplist 1 \OCPuniGB
17 \externalocp\OCPuniCNS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniCNS {}
19 \addbeforeocplist 1 \OCPuniCNS
21 \externalocp\OCPuniJIS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniJIS {}
23 \addbeforeocplist 1 \OCPuniJIS
25 \externalocp\OCPuniKS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniKS {}
27 \addbeforeocplist 1 \OCPuniKS
29 \externalocp\OCPuniMulti=/usr/local/share/texmf/omega/ocp/local/chise/Utf8mcsToUniMulti {}
31 \addbeforeocplist 1 \OCPuniMulti
34 \DeclareOption{utf8gb}{
35 \externalocp\OCPuniGB=/usr/local/share/texmf/omega/ocp/local/chise/Utf8gbToUniGB {}
37 \addbeforeocplist 1 \OCPuniGB
39 \externalocp\OCPuniCNS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8gbToUniCNS {}
41 \addbeforeocplist 1 \OCPuniCNS
43 \externalocp\OCPuniJIS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8gbToUniJIS {}
45 \addbeforeocplist 1 \OCPuniJIS
47 \externalocp\OCPuniKS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8gbToUniKS {}
49 \addbeforeocplist 1 \OCPuniKS
51 \externalocp\OCPuniMulti=/usr/local/share/texmf/omega/ocp/local/chise/Utf8gbToUniMulti {}
53 \addbeforeocplist 1 \OCPuniMulti
56 \DeclareOption{utf8cns}{
57 \externalocp\OCPuniGB=/usr/local/share/texmf/omega/ocp/local/chise/Utf8cnsToUniGB {}
59 \addbeforeocplist 1 \OCPuniGB
61 \externalocp\OCPuniCNS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8cnsToUniCNS {}
63 \addbeforeocplist 1 \OCPuniCNS
65 \externalocp\OCPuniJIS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8cnsToUniJIS {}
67 \addbeforeocplist 1 \OCPuniJIS
69 \externalocp\OCPuniKS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8cnsToUniKS {}
71 \addbeforeocplist 1 \OCPuniKS
73 \externalocp\OCPuniMulti=/usr/local/share/texmf/omega/ocp/local/chise/Utf8cnsToUniMulti {}
75 \addbeforeocplist 1 \OCPuniMulti
78 \DeclareOption{utf8jis}{
79 \externalocp\OCPuniGB=/usr/local/share/texmf/omega/ocp/local/chise/Utf8jisToUniGB {}
81 \addbeforeocplist 1 \OCPuniGB
83 \externalocp\OCPuniCNS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8jisToUniCNS {}
85 \addbeforeocplist 1 \OCPuniCNS
87 \externalocp\OCPuniJIS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8jisToUniJIS {}
89 \addbeforeocplist 1 \OCPuniJIS
91 \externalocp\OCPuniKS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8jisToUniKS {}
93 \addbeforeocplist 1 \OCPuniKS
95 \externalocp\OCPuniMulti=/usr/local/share/texmf/omega/ocp/local/chise/Utf8jisToUniMulti {}
97 \addbeforeocplist 1 \OCPuniMulti
100 \DeclareOption{utf8ks}{
101 \externalocp\OCPuniGB=/usr/local/share/texmf/omega/ocp/local/chise/Utf8ksToUniGB {}
103 \addbeforeocplist 1 \OCPuniGB
105 \externalocp\OCPuniCNS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8ksToUniCNS {}
107 \addbeforeocplist 1 \OCPuniCNS
109 \externalocp\OCPuniJIS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8ksToUniJIS {}
111 \addbeforeocplist 1 \OCPuniJIS
113 \externalocp\OCPuniKS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8ksToUniKS {}
115 \addbeforeocplist 1 \OCPuniKS
117 \externalocp\OCPuniMulti=/usr/local/share/texmf/omega/ocp/local/chise/Utf8ksToUniMulti {}
119 \addbeforeocplist 1 \OCPuniMulti
122 \DeclareOption{utf8big5}{
123 \externalocp\OCPuniGB=/usr/local/share/texmf/omega/ocp/local/chise/Utf8big5ToUniGB {}
125 \addbeforeocplist 1 \OCPuniGB
127 \externalocp\OCPuniCNS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8big5ToUniCNS {}
129 \addbeforeocplist 1 \OCPuniCNS
131 \externalocp\OCPuniJIS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8big5ToUniJIS {}
133 \addbeforeocplist 1 \OCPuniJIS
135 \externalocp\OCPuniKS=/usr/local/share/texmf/omega/ocp/local/chise/Utf8big5ToUniKS {}
137 \addbeforeocplist 1 \OCPuniKS
139 \externalocp\OCPuniMulti=/usr/local/share/texmf/omega/ocp/local/chise/Utf8big5ToUniMulti {}
141 \addbeforeocplist 1 \OCPuniMulti
145 \DeclareOption{gbfont}{
150 \DeclareOption{cnsfont}{
155 \DeclareOption{jisfont}{
160 \DeclareOption{ksfont}{
165 \DeclareOption{multifont}{
171 \DeclareOption{kage}{
173 \externalocp\OCPmkfont=/usr/local/share/texmf/omega/ocp/local/chise/makefonts.pl {}
175 \addbeforeocplist 1 \OCPmkfont
179 \pushocplist\mkfontOCP
185 \ocp\OCPutf=inutf8fix
187 \addbeforeocplist 1 \OCPutf
191 \ocp\OCPGrUniToFont=uni2greekfix
192 \ocp\OCPCyrUniToFont=uni2latfix
193 \ocp\OCPLatinUniToFont=uni2latfix
195 \addbeforeocplist 1 \OCPutf
196 \addbeforeocplist 1 \OCPTeX
197 \addbeforeocplist 1 \OCPGrUniToFont
200 \addbeforeocplist 1 \OCPutf
201 \addbeforeocplist 1 \OCPTeX
202 \addbeforeocplist 1 \OCPCyrUniToFont
205 \addbeforeocplist 1 \OCPutf
206 \addbeforeocplist 1 \OCPTeX
207 \addbeforeocplist 1 \OCPLatinUniToFont
214 \def\rmdefault{omlgc}
218 \def\selectjisfont{\fontencoding{OT1}\fontfamily{omjis}\selectfont}
219 \def\selectgbsfont{\fontencoding{OT1}\fontfamily{omgbs}\selectfont}
220 \def\selectcnsfont{\fontencoding{OT1}\fontfamily{omcns}\selectfont}
221 \def\selectksxfont{\fontencoding{OT1}\fontfamily{omksx}\selectfont}
222 \def\selectlgcfont{\fontencoding{OT1}\fontfamily{omlgc}\selectfont}
224 \newenvironment{JISfont}{\pushocplist\uniJIS}{}
225 \newenvironment{GBfont}{\pushocplist\uniGB}{}
226 \newenvironment{KSfont}{\pushocplist\uniKS}{}
227 \newenvironment{CNSfont}{\pushocplist\uniCNS}{}
228 \newenvironment{Multifont}{\pushocplist\uniMulti}{}
229 \newenvironment{NonCJK}{\pushocplist\inutf\selectlgcfont}{}
230 \newenvironment{ASCII}{\clearocplists\fontencoding{T1}\selectnormalfont}{}
232 \newenvironment{GreekScript}{\pushocplist\GreekOCP\selectlgcfont%
233 \language=3\lefthyphenmin=2\righthyphenmin=2}{%
235 \newenvironment{CyrillicScript}{\pushocplist\CyrillicOCP\selectlgcfont}{}
236 \newenvironment{LatinScript}{\pushocplist\LatinOCP\selectlgcfont}{}
239 \newcommand{\jisfont}[1]{\begingroup%
240 \pushocplist\uniJIS #1\endgroup}
241 \newcommand{\gbfont}[1]{\begingroup%
242 \pushocplist\uniGB #1\endgroup}
243 \newcommand{\ksfont}[1]{\begingroup%
244 \pushocplist\uniKS #1\endgroup}
245 \newcommand{\cnsfont}[1]{\begingroup%
246 \pushocplist\uniCNS #1\endgroup}
247 \newcommand{\multifont}[1]{\begingroup%
248 \pushocplist\uniMulti #1\endgroup}
249 \newcommand{\noncjk}[1]{\begingroup%
250 \pushocplist\inutf\selectlgcfont #1\endgroup}
251 % \normalfont\pushocplist\inutf #1\endgroup}
252 \newcommand{\ascii}[1]{\begingroup%
253 \clearocplists\selectlgcfont #1\endgroup}
254 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
259 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
262 \def\idc@#1{{\selectgbsfont\clearocplists\char"#1}}
263 \def\idcltr{\idc@{2FF0}}
264 \def\idcatb{\idc@{2FF1}}
265 \def\idcltmr{\idc@{2FF2}}
266 \def\idcatmb{\idc@{2FF3}}
267 \def\idcfs{\idc@{2FF4}}
268 \def\idcsfa{\idc@{2FF5}}
269 \def\idcsfb{\idc@{2FF6}}
270 \def\idcsfl{\idc@{2FF7}}
271 \def\idcsful{\idc@{2FF8}}
272 \def\idcsfur{\idc@{2FF9}}
273 \def\idcsfll{\idc@{2FFA}}
274 \def\idcol{\idc@{2FFB}}
276 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
280 \DeclareFontFamily{OT1}{omgbs}{}
281 \DeclareFontShape{OT1}{omgbs}{m}{n}{
284 \DeclareFontShape{OT1}{omgbs}{m}{sc}{
287 \DeclareFontShape{OT1}{omgbs}{m}{it}{
290 \DeclareFontShape{OT1}{omgbs}{m}{sl}{
291 <-> ssub * omgbs/m/it
293 \DeclareFontShape{OT1}{omgbs}{m}{itsc}{
294 <-> ssub * omgbs/m/it
296 \DeclareFontShape{OT1}{omgbs}{m}{slsc}{
297 <-> ssub * omgbs/m/it
299 \DeclareFontShape{OT1}{omgbs}{bx}{n}{
302 \DeclareFontShape{OT1}{omgbs}{bx}{sc}{
303 <-> ssub * omgbs/bx/n
305 \DeclareFontShape{OT1}{omgbs}{bx}{it}{
308 \DeclareFontShape{OT1}{omgbs}{bx}{itsc}{
309 <-> ssub * omgbs/bx/it
311 \DeclareFontShape{OT1}{omgbs}{bx}{sl}{
312 <-> ssub * omgbs/bx/it
314 \DeclareFontShape{OT1}{omgbs}{bx}{slsc}{
315 <-> ssub * omgbs/bx/it
319 \DeclareFontFamily{OT1}{omcns}{}
320 \DeclareFontShape{OT1}{omcns}{m}{n}{
323 \DeclareFontShape{OT1}{omcns}{m}{sc}{
326 \DeclareFontShape{OT1}{omcns}{m}{it}{
329 \DeclareFontShape{OT1}{omcns}{m}{sl}{
330 <-> ssub * omcns/m/it
332 \DeclareFontShape{OT1}{omcns}{m}{itsc}{
333 <-> ssub * omcns/m/it
335 \DeclareFontShape{OT1}{omcns}{m}{slsc}{
336 <-> ssub * omcns/m/it
338 \DeclareFontShape{OT1}{omcns}{bx}{n}{
341 \DeclareFontShape{OT1}{omcns}{bx}{sc}{
342 <-> ssub * omcns/bx/n
344 \DeclareFontShape{OT1}{omcns}{bx}{it}{
347 \DeclareFontShape{OT1}{omcns}{bx}{itsc}{
348 <-> ssub * omcns/bx/it
350 \DeclareFontShape{OT1}{omcns}{bx}{sl}{
351 <-> ssub * omcns/bx/it
353 \DeclareFontShape{OT1}{omcns}{bx}{slsc}{
354 <-> ssub * omcns/bx/it
358 \DeclareFontFamily{OT1}{omjis}{}
359 \DeclareFontShape{OT1}{omjis}{m}{n}{
362 \DeclareFontShape{OT1}{omjis}{m}{sc}{
365 \DeclareFontShape{OT1}{omjis}{m}{it}{
368 \DeclareFontShape{OT1}{omjis}{m}{sl}{
369 <-> ssub * omjis/m/it
371 \DeclareFontShape{OT1}{omjis}{m}{itsc}{
372 <-> ssub * omjis/m/it
374 \DeclareFontShape{OT1}{omjis}{m}{slsc}{
375 <-> ssub * omjis/m/it
377 \DeclareFontShape{OT1}{omjis}{bx}{n}{
380 \DeclareFontShape{OT1}{omjis}{bx}{sc}{
381 <-> ssub * omjis/bx/n
383 \DeclareFontShape{OT1}{omjis}{bx}{it}{
386 \DeclareFontShape{OT1}{omjis}{bx}{itsc}{
387 <-> ssub * omjis/bx/it
389 \DeclareFontShape{OT1}{omjis}{bx}{sl}{
390 <-> ssub * omjis/bx/it
392 \DeclareFontShape{OT1}{omjis}{bx}{slsc}{
393 <-> ssub * omjis/bx/it
397 \DeclareFontFamily{OT1}{omksx}{}
398 \DeclareFontShape{OT1}{omksx}{m}{n}{
401 \DeclareFontShape{OT1}{omksx}{m}{sc}{
404 \DeclareFontShape{OT1}{omksx}{m}{it}{
407 \DeclareFontShape{OT1}{omksx}{m}{sl}{
408 <-> ssub * omksx/m/it
410 \DeclareFontShape{OT1}{omksx}{m}{itsc}{
411 <-> ssub * omksx/m/it
413 \DeclareFontShape{OT1}{omksx}{m}{slsc}{
414 <-> ssub * omksx/m/it
416 \DeclareFontShape{OT1}{omksx}{bx}{n}{
419 \DeclareFontShape{OT1}{omksx}{bx}{sc}{
420 <-> ssub * omksx/bx/n
422 \DeclareFontShape{OT1}{omksx}{bx}{it}{
425 \DeclareFontShape{OT1}{omksx}{bx}{itsc}{
426 <-> ssub * omksx/bx/it
428 \DeclareFontShape{OT1}{omksx}{bx}{sl}{
429 <-> ssub * omksx/bx/it
431 \DeclareFontShape{OT1}{omksx}{bx}{slsc}{
432 <-> ssub * omksx/bx/it
435 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
436 \DeclareFontFamily{OT1}{chise000}{}
437 \DeclareFontShape{OT1}{chise000}{m}{n}{
438 <-> [.96] chise000min
440 \DeclareFontShape{OT1}{chise000}{m}{sc}{
441 <-> [.96] ssub * chise000min/m/n
443 \DeclareFontShape{OT1}{chise000}{m}{it}{
444 <-> [.96] chise000min
446 \DeclareFontShape{OT1}{chise000}{m}{sl}{
447 <-> [.96] ssub * chise000min/m/it
449 \DeclareFontShape{OT1}{chise000}{m}{itsc}{
450 <-> [.96] ssub * chise000min/m/it
452 \DeclareFontShape{OT1}{chise000}{m}{slsc}{
453 <-> [.96] ssub * chise000min/m/it
455 \DeclareFontShape{OT1}{chise000}{bx}{n}{
456 <-> [.96] chise000got
458 \DeclareFontShape{OT1}{chise000}{bx}{sc}{
459 <-> [.96] ssub * chise000got/bx/n
461 \DeclareFontShape{OT1}{chise000}{bx}{it}{
462 <-> [.96] chise000got
464 \DeclareFontShape{OT1}{chise000}{bx}{itsc}{
465 <-> [.96] ssub * chise000got/bx/it
467 \DeclareFontShape{OT1}{chise000}{bx}{sl}{
468 <-> [.96] ssub * chise000got/bx/it
470 \DeclareFontShape{OT1}{chise000}{bx}{slsc}{
471 <-> [.96] ssub * chise000got/bx/it
474 \DeclareFontFamily{OT1}{gt01}{}
475 \DeclareFontShape{OT1}{gt01}{m}{n}{
478 \DeclareFontFamily{OT1}{gt02}{}
479 \DeclareFontShape{OT1}{gt02}{m}{n}{
482 \DeclareFontFamily{OT1}{gt03}{}
483 \DeclareFontShape{OT1}{gt03}{m}{n}{
486 \DeclareFontFamily{OT1}{gt04}{}
487 \DeclareFontShape{OT1}{gt04}{m}{n}{
490 \DeclareFontFamily{OT1}{gt05}{}
491 \DeclareFontShape{OT1}{gt05}{m}{n}{
494 \DeclareFontFamily{OT1}{gt06}{}
495 \DeclareFontShape{OT1}{gt06}{m}{n}{
498 \DeclareFontFamily{OT1}{gt07}{}
499 \DeclareFontShape{OT1}{gt07}{m}{n}{
502 \DeclareFontFamily{OT1}{gt08}{}
503 \DeclareFontShape{OT1}{gt08}{m}{n}{
506 \DeclareFontFamily{OT1}{gt09}{}
507 \DeclareFontShape{OT1}{gt09}{m}{n}{
510 \DeclareFontFamily{OT1}{gt10}{}
511 \DeclareFontShape{OT1}{gt10}{m}{n}{
514 \DeclareFontFamily{OT1}{gt11}{}
515 \DeclareFontShape{OT1}{gt11}{m}{n}{
519 \DeclareFontFamily{OT1}{cdp}{}
520 \DeclareFontShape{OT1}{cdp}{m}{n}{
524 \DeclareFontFamily{OT1}{hzk01}{}
525 \DeclareFontShape{OT1}{hzk01}{m}{n}{
528 \DeclareFontFamily{OT1}{hzk02}{}
529 \DeclareFontShape{OT1}{hzk02}{m}{n}{
532 \DeclareFontFamily{OT1}{hzk03}{}
533 \DeclareFontShape{OT1}{hzk03}{m}{n}{
536 \DeclareFontFamily{OT1}{hzk04}{}
537 \DeclareFontShape{OT1}{hzk04}{m}{n}{
540 \DeclareFontFamily{OT1}{hzk05}{}
541 \DeclareFontShape{OT1}{hzk05}{m}{n}{
544 \DeclareFontFamily{OT1}{hzk06}{}
545 \DeclareFontShape{OT1}{hzk06}{m}{n}{
548 \DeclareFontFamily{OT1}{hzk07}{}
549 \DeclareFontShape{OT1}{hzk07}{m}{n}{
552 \DeclareFontFamily{OT1}{hzk08}{}
553 \DeclareFontShape{OT1}{hzk08}{m}{n}{
556 \DeclareFontFamily{OT1}{hzk09}{}
557 \DeclareFontShape{OT1}{hzk09}{m}{n}{
560 \DeclareFontFamily{OT1}{hzk10}{}
561 \DeclareFontShape{OT1}{hzk10}{m}{n}{
564 \DeclareFontFamily{OT1}{hzk11}{}
565 \DeclareFontShape{OT1}{hzk11}{m}{n}{
568 \DeclareFontFamily{OT1}{hzk12}{}
569 \DeclareFontShape{OT1}{hzk12}{m}{n}{
573 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
574 % line break, from omega-japanese.
576 \def\CJKunbreakablekernone{%
578 \hskip 0sp plus 2sp minus 2sp
581 \def\CJKunbreakablekerntwo{%
583 \hskip 0sp plus 2sp minus 2sp
586 \def\CJKunbreakablekernthree{%
588 \hskip 0sp plus 2sp minus 2sp
591 \def\CJKbreakablekern{\hskip 0sp plus 2pt minus 2sp}
592 % BUG: \rlap should preserve the current font
594 \discretionary{\rlap{#1}}%
598 %% Hyphenation parameters
599 % If the badness does not exceed this, no hyphenation is
606 % Penalty added for the first hyphenation
607 % in the current paragraph
608 \hyphenpenalty=0 % Was 50
610 % Penalty added for subsequent hyphenations
611 \exhyphenpenalty=0 % Was 50
613 % TeX tries to minimize the demerit of the lines:
614 % (\linepenalty^2 + badness^2) + penalty^2
617 % If a tight line is followed by a loose one
618 % (or conversely), we add \adjdemerits
620 \adjdemerits=0 % Was 10000 % ???
622 % two hyphens on consecutive lines also add
624 \doublehyphendemerits=0 % Was 10000
626 % A hyphen on the last line also adds to
628 \finalhyphendemerits=0 % Was 5000
630 % Minimum number of characters in the current word
631 % before or after a hyphenation point
635 % line break definition ends.
637 %%%% redundant font definition to avoid bug of omega.
639 \DeclareFontFamily{OT1}{omlgc}{}
641 \DeclareFontShape{OT1}{omlgc}{m}{n}{
644 \DeclareFontShape{OT1}{omlgc}{m}{sc}{
647 \DeclareFontShape{OT1}{omlgc}{m}{it}{
650 \DeclareFontShape{OT1}{omlgc}{m}{sl}{
651 <-> ssub * omlgc/m/it
653 \DeclareFontShape{OT1}{omlgc}{m}{itsc}{
654 <-> ssub * omlgc/m/it
656 \DeclareFontShape{OT1}{omlgc}{m}{slsc}{
657 <-> ssub * omlgc/m/it
659 \DeclareFontShape{OT1}{omlgc}{bx}{n}{
662 \DeclareFontShape{OT1}{omlgc}{bx}{sc}{
663 <-> ssub * omlgc/bx/n
665 \DeclareFontShape{OT1}{omlgc}{bx}{it}{
668 \DeclareFontShape{OT1}{omlgc}{bx}{itsc}{
669 <-> ssub * omlgc/bx/it
671 \DeclareFontShape{OT1}{omlgc}{bx}{sl}{
672 <-> ssub * omlgc/bx/it
674 \DeclareFontShape{OT1}{omlgc}{bx}{slsc}{
675 <-> ssub * omlgc/bx/it