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}
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
194 \def\selectjisfont{\fontencoding{OT1}\fontfamily{omjis}\selectfont}
195 \def\selectgbsfont{\fontencoding{OT1}\fontfamily{omgbs}\selectfont}
196 \def\selectcnsfont{\fontencoding{OT1}\fontfamily{omcns}\selectfont}
197 \def\selectksxfont{\fontencoding{OT1}\fontfamily{omksx}\selectfont}
199 \newenvironment{JISfont}{\pushocplist\uniJIS\selectjisfont}{}
200 \newenvironment{GBfont}{\pushocplist\uniGB\selectgbsfont}{}
201 \newenvironment{KSfont}{\pushocplist\uniKS\selectksxfont}{}
202 \newenvironment{CNSfont}{\pushocplist\uniCNS\selectcnsfont}{}
203 \newenvironment{Multifont}{\pushocplist\uniMulti}{}
204 \newenvironment{ASCII}{\pushocplist\NilOCP\fontencoding{T1}\fontfamily{\rmdefault}\selectfont}{}
206 \newcommand{\jisfont}[1]{\begingroup%
207 \pushocplist\uniJIS\selectjisfont #1\endgroup}
208 \newcommand{\gbfont}[1]{\begingroup%
209 \pushocplist\uniGB\selectgbsfont #1\endgroup}
210 \newcommand{\ksfont}[1]{\begingroup%
211 \pushocplist\uniKS\selectksxfont #1\endgroup}
212 \newcommand{\cnsfont}[1]{\begingroup%
213 \pushocplist\uniCNS\selectcnsfont #1\endgroup}
214 \newcommand{\multifont}[1]{\begingroup%
215 \pushocplist\uniMulti #1\endgroup}
216 \newcommand{\noncjk}[1]{\begingroup%
217 \normalfont\pushocplist\inutf #1\endgroup}
218 \newcommand{\ascii}[1]{\begingroup%
219 \pushocplist\NilOCP\fontencoding{T1}\fontfamily{\rmdefault}\selectfont #1\endgroup}
220 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
225 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
228 \def\idc@#1{{\selectgbsfont\clearocplists\char"#1}}
229 \def\idcltr{\idc@{2FF0}}
230 \def\idcatb{\idc@{2FF1}}
231 \def\idcltmr{\idc@{2FF2}}
232 \def\idcatmb{\idc@{2FF3}}
233 \def\idcfs{\idc@{2FF4}}
234 \def\idcsfa{\idc@{2FF5}}
235 \def\idcsfb{\idc@{2FF6}}
236 \def\idcsfl{\idc@{2FF7}}
237 \def\idcsful{\idc@{2FF8}}
238 \def\idcsfur{\idc@{2FF9}}
239 \def\idcsfll{\idc@{2FFA}}
240 \def\idcol{\idc@{2FFB}}
242 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
246 \DeclareFontFamily{OT1}{omgbs}{}
247 \DeclareFontShape{OT1}{omgbs}{m}{n}{
250 \DeclareFontShape{OT1}{omgbs}{m}{sc}{
253 \DeclareFontShape{OT1}{omgbs}{m}{it}{
256 \DeclareFontShape{OT1}{omgbs}{m}{sl}{
257 <-> ssub * omgbs/m/it
259 \DeclareFontShape{OT1}{omgbs}{m}{itsc}{
260 <-> ssub * omgbs/m/it
262 \DeclareFontShape{OT1}{omgbs}{m}{slsc}{
263 <-> ssub * omgbs/m/it
265 \DeclareFontShape{OT1}{omgbs}{bx}{n}{
268 \DeclareFontShape{OT1}{omgbs}{bx}{sc}{
269 <-> ssub * omgbs/bx/n
271 \DeclareFontShape{OT1}{omgbs}{bx}{it}{
274 \DeclareFontShape{OT1}{omgbs}{bx}{itsc}{
275 <-> ssub * omgbs/bx/it
277 \DeclareFontShape{OT1}{omgbs}{bx}{sl}{
278 <-> ssub * omgbs/bx/it
280 \DeclareFontShape{OT1}{omgbs}{bx}{slsc}{
281 <-> ssub * omgbs/bx/it
285 \DeclareFontFamily{OT1}{omcns}{}
286 \DeclareFontShape{OT1}{omcns}{m}{n}{
289 \DeclareFontShape{OT1}{omcns}{m}{sc}{
292 \DeclareFontShape{OT1}{omcns}{m}{it}{
295 \DeclareFontShape{OT1}{omcns}{m}{sl}{
296 <-> ssub * omcns/m/it
298 \DeclareFontShape{OT1}{omcns}{m}{itsc}{
299 <-> ssub * omcns/m/it
301 \DeclareFontShape{OT1}{omcns}{m}{slsc}{
302 <-> ssub * omcns/m/it
304 \DeclareFontShape{OT1}{omcns}{bx}{n}{
307 \DeclareFontShape{OT1}{omcns}{bx}{sc}{
308 <-> ssub * omcns/bx/n
310 \DeclareFontShape{OT1}{omcns}{bx}{it}{
313 \DeclareFontShape{OT1}{omcns}{bx}{itsc}{
314 <-> ssub * omcns/bx/it
316 \DeclareFontShape{OT1}{omcns}{bx}{sl}{
317 <-> ssub * omcns/bx/it
319 \DeclareFontShape{OT1}{omcns}{bx}{slsc}{
320 <-> ssub * omcns/bx/it
324 \DeclareFontFamily{OT1}{omjis}{}
325 \DeclareFontShape{OT1}{omjis}{m}{n}{
328 \DeclareFontShape{OT1}{omjis}{m}{sc}{
331 \DeclareFontShape{OT1}{omjis}{m}{it}{
334 \DeclareFontShape{OT1}{omjis}{m}{sl}{
335 <-> ssub * omjis/m/it
337 \DeclareFontShape{OT1}{omjis}{m}{itsc}{
338 <-> ssub * omjis/m/it
340 \DeclareFontShape{OT1}{omjis}{m}{slsc}{
341 <-> ssub * omjis/m/it
343 \DeclareFontShape{OT1}{omjis}{bx}{n}{
346 \DeclareFontShape{OT1}{omjis}{bx}{sc}{
347 <-> ssub * omjis/bx/n
349 \DeclareFontShape{OT1}{omjis}{bx}{it}{
352 \DeclareFontShape{OT1}{omjis}{bx}{itsc}{
353 <-> ssub * omjis/bx/it
355 \DeclareFontShape{OT1}{omjis}{bx}{sl}{
356 <-> ssub * omjis/bx/it
358 \DeclareFontShape{OT1}{omjis}{bx}{slsc}{
359 <-> ssub * omjis/bx/it
363 \DeclareFontFamily{OT1}{omksx}{}
364 \DeclareFontShape{OT1}{omksx}{m}{n}{
367 \DeclareFontShape{OT1}{omksx}{m}{sc}{
370 \DeclareFontShape{OT1}{omksx}{m}{it}{
373 \DeclareFontShape{OT1}{omksx}{m}{sl}{
374 <-> ssub * omksx/m/it
376 \DeclareFontShape{OT1}{omksx}{m}{itsc}{
377 <-> ssub * omksx/m/it
379 \DeclareFontShape{OT1}{omksx}{m}{slsc}{
380 <-> ssub * omksx/m/it
382 \DeclareFontShape{OT1}{omksx}{bx}{n}{
385 \DeclareFontShape{OT1}{omksx}{bx}{sc}{
386 <-> ssub * omksx/bx/n
388 \DeclareFontShape{OT1}{omksx}{bx}{it}{
391 \DeclareFontShape{OT1}{omksx}{bx}{itsc}{
392 <-> ssub * omksx/bx/it
394 \DeclareFontShape{OT1}{omksx}{bx}{sl}{
395 <-> ssub * omksx/bx/it
397 \DeclareFontShape{OT1}{omksx}{bx}{slsc}{
398 <-> ssub * omksx/bx/it
401 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
402 \DeclareFontFamily{OT1}{chise000}{}
403 \DeclareFontShape{OT1}{chise000}{m}{n}{
404 <-> [.96] chise000min
406 \DeclareFontShape{OT1}{chise000}{m}{sc}{
407 <-> [.96] ssub * chise000min/m/n
409 \DeclareFontShape{OT1}{chise000}{m}{it}{
410 <-> [.96] chise000min
412 \DeclareFontShape{OT1}{chise000}{m}{sl}{
413 <-> [.96] ssub * chise000min/m/it
415 \DeclareFontShape{OT1}{chise000}{m}{itsc}{
416 <-> [.96] ssub * chise000min/m/it
418 \DeclareFontShape{OT1}{chise000}{m}{slsc}{
419 <-> [.96] ssub * chise000min/m/it
421 \DeclareFontShape{OT1}{chise000}{bx}{n}{
422 <-> [.96] chise000got
424 \DeclareFontShape{OT1}{chise000}{bx}{sc}{
425 <-> [.96] ssub * chise000got/bx/n
427 \DeclareFontShape{OT1}{chise000}{bx}{it}{
428 <-> [.96] chise000got
430 \DeclareFontShape{OT1}{chise000}{bx}{itsc}{
431 <-> [.96] ssub * chise000got/bx/it
433 \DeclareFontShape{OT1}{chise000}{bx}{sl}{
434 <-> [.96] ssub * chise000got/bx/it
436 \DeclareFontShape{OT1}{chise000}{bx}{slsc}{
437 <-> [.96] ssub * chise000got/bx/it
440 \DeclareFontFamily{OT1}{gt01}{}
441 \DeclareFontShape{OT1}{gt01}{m}{n}{
444 \DeclareFontFamily{OT1}{gt02}{}
445 \DeclareFontShape{OT1}{gt02}{m}{n}{
448 \DeclareFontFamily{OT1}{gt03}{}
449 \DeclareFontShape{OT1}{gt03}{m}{n}{
452 \DeclareFontFamily{OT1}{gt04}{}
453 \DeclareFontShape{OT1}{gt04}{m}{n}{
456 \DeclareFontFamily{OT1}{gt05}{}
457 \DeclareFontShape{OT1}{gt05}{m}{n}{
460 \DeclareFontFamily{OT1}{gt06}{}
461 \DeclareFontShape{OT1}{gt06}{m}{n}{
464 \DeclareFontFamily{OT1}{gt07}{}
465 \DeclareFontShape{OT1}{gt07}{m}{n}{
468 \DeclareFontFamily{OT1}{gt08}{}
469 \DeclareFontShape{OT1}{gt08}{m}{n}{
472 \DeclareFontFamily{OT1}{gt09}{}
473 \DeclareFontShape{OT1}{gt09}{m}{n}{
476 \DeclareFontFamily{OT1}{gt10}{}
477 \DeclareFontShape{OT1}{gt10}{m}{n}{
480 \DeclareFontFamily{OT1}{gt11}{}
481 \DeclareFontShape{OT1}{gt11}{m}{n}{
485 \DeclareFontFamily{OT1}{cdp}{}
486 \DeclareFontShape{OT1}{cdp}{m}{n}{
490 \DeclareFontFamily{OT1}{hzk01}{}
491 \DeclareFontShape{OT1}{hzk01}{m}{n}{
494 \DeclareFontFamily{OT1}{hzk02}{}
495 \DeclareFontShape{OT1}{hzk02}{m}{n}{
498 \DeclareFontFamily{OT1}{hzk03}{}
499 \DeclareFontShape{OT1}{hzk03}{m}{n}{
502 \DeclareFontFamily{OT1}{hzk04}{}
503 \DeclareFontShape{OT1}{hzk04}{m}{n}{
506 \DeclareFontFamily{OT1}{hzk05}{}
507 \DeclareFontShape{OT1}{hzk05}{m}{n}{
510 \DeclareFontFamily{OT1}{hzk06}{}
511 \DeclareFontShape{OT1}{hzk06}{m}{n}{
514 \DeclareFontFamily{OT1}{hzk07}{}
515 \DeclareFontShape{OT1}{hzk07}{m}{n}{
518 \DeclareFontFamily{OT1}{hzk08}{}
519 \DeclareFontShape{OT1}{hzk08}{m}{n}{
522 \DeclareFontFamily{OT1}{hzk09}{}
523 \DeclareFontShape{OT1}{hzk09}{m}{n}{
526 \DeclareFontFamily{OT1}{hzk10}{}
527 \DeclareFontShape{OT1}{hzk10}{m}{n}{
530 \DeclareFontFamily{OT1}{hzk11}{}
531 \DeclareFontShape{OT1}{hzk11}{m}{n}{
534 \DeclareFontFamily{OT1}{hzk12}{}
535 \DeclareFontShape{OT1}{hzk12}{m}{n}{
539 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
540 % line break, from omega-japanese.
542 \def\CJKunbreakablekernone{%
544 \hskip 0sp plus 2sp minus 2sp
547 \def\CJKunbreakablekerntwo{%
549 \hskip 0sp plus 2sp minus 2sp
552 \def\CJKunbreakablekernthree{%
554 \hskip 0sp plus 2sp minus 2sp
557 \def\CJKbreakablekern{\hskip 0sp plus 2pt minus 2sp}
558 % BUG: \rlap should preserve the current font
560 \discretionary{\rlap{#1}}%
564 %% Hyphenation parameters
565 % If the badness does not exceed this, no hyphenation is
572 % Penalty added for the first hyphenation
573 % in the current paragraph
574 \hyphenpenalty=0 % Was 50
576 % Penalty added for subsequent hyphenations
577 \exhyphenpenalty=0 % Was 50
579 % TeX tries to minimize the demerit of the lines:
580 % (\linepenalty^2 + badness^2) + penalty^2
583 % If a tight line is followed by a loose one
584 % (or conversely), we add \adjdemerits
586 \adjdemerits=0 % Was 10000 % ???
588 % two hyphens on consecutive lines also add
590 \doublehyphendemerits=0 % Was 10000
592 % A hyphen on the last line also adds to
594 \finalhyphendemerits=0 % Was 5000
596 % Minimum number of characters in the current word
597 % before or after a hyphenation point
601 % line break definition ends.
603 %%%% redundant font definition to avoid bug of omega.
605 \DeclareFontFamily{UT1}{omlgc}{}
607 \DeclareFontShape{UT1}{omlgc}{m}{n}{
610 \DeclareFontShape{UT1}{omlgc}{m}{sc}{
613 \DeclareFontShape{UT1}{omlgc}{m}{it}{
616 \DeclareFontShape{UT1}{omlgc}{m}{sl}{
617 <-> ssub * omlgc/m/it
619 \DeclareFontShape{UT1}{omlgc}{m}{itsc}{
620 <-> ssub * omlgc/m/it
622 \DeclareFontShape{UT1}{omlgc}{m}{slsc}{
623 <-> ssub * omlgc/m/it
625 \DeclareFontShape{UT1}{omlgc}{bx}{n}{
628 \DeclareFontShape{UT1}{omlgc}{bx}{sc}{
629 <-> ssub * omlgc/bx/n
631 \DeclareFontShape{UT1}{omlgc}{bx}{it}{
634 \DeclareFontShape{UT1}{omlgc}{bx}{itsc}{
635 <-> ssub * omlgc/bx/it
637 \DeclareFontShape{UT1}{omlgc}{bx}{sl}{
638 <-> ssub * omlgc/bx/it
640 \DeclareFontShape{UT1}{omlgc}{bx}{slsc}{
641 <-> ssub * omlgc/bx/it