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/Utf8mcsToUniMulti {}
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/Utf8mcsToUniMulti {}
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/Utf8mcsToUniMulti {}
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/Utf8mcsToUniMulti {}
119 \addbeforeocplist 1 \OCPuniMulti
123 \DeclareOption{gbfont}{
128 \DeclareOption{cnsfont}{
133 \DeclareOption{jisfont}{
138 \DeclareOption{ksfont}{
143 \DeclareOption{multifont}{
149 \DeclareOption{kage}{
151 \externalocp\OCPmkfont=/usr/local/share/texmf/omega/ocp/local/chise/makefonts.pl {}
153 \addbeforeocplist 1 \OCPmkfont
157 \pushocplist\mkfontOCP
163 \ocp\OCPutf=inutf8fix
165 \addbeforeocplist 1 \OCPutf
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}
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}{}
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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
203 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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}}
220 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
224 \DeclareFontFamily{OT1}{omgbs}{}
225 \DeclareFontShape{OT1}{omgbs}{m}{n}{
228 \DeclareFontShape{OT1}{omgbs}{m}{sc}{
231 \DeclareFontShape{OT1}{omgbs}{m}{it}{
234 \DeclareFontShape{OT1}{omgbs}{m}{sl}{
235 <-> ssub * omgbs/m/it
237 \DeclareFontShape{OT1}{omgbs}{m}{itsc}{
238 <-> ssub * omgbs/m/it
240 \DeclareFontShape{OT1}{omgbs}{m}{slsc}{
241 <-> ssub * omgbs/m/it
243 \DeclareFontShape{OT1}{omgbs}{bx}{n}{
246 \DeclareFontShape{OT1}{omgbs}{bx}{sc}{
247 <-> ssub * omgbs/bx/n
249 \DeclareFontShape{OT1}{omgbs}{bx}{it}{
252 \DeclareFontShape{OT1}{omgbs}{bx}{itsc}{
253 <-> ssub * omgbs/bx/it
255 \DeclareFontShape{OT1}{omgbs}{bx}{sl}{
256 <-> ssub * omgbs/bx/it
258 \DeclareFontShape{OT1}{omgbs}{bx}{slsc}{
259 <-> ssub * omgbs/bx/it
263 \DeclareFontFamily{OT1}{omcns}{}
264 \DeclareFontShape{OT1}{omcns}{m}{n}{
267 \DeclareFontShape{OT1}{omcns}{m}{sc}{
270 \DeclareFontShape{OT1}{omcns}{m}{it}{
273 \DeclareFontShape{OT1}{omcns}{m}{sl}{
274 <-> ssub * omcns/m/it
276 \DeclareFontShape{OT1}{omcns}{m}{itsc}{
277 <-> ssub * omcns/m/it
279 \DeclareFontShape{OT1}{omcns}{m}{slsc}{
280 <-> ssub * omcns/m/it
282 \DeclareFontShape{OT1}{omcns}{bx}{n}{
285 \DeclareFontShape{OT1}{omcns}{bx}{sc}{
286 <-> ssub * omcns/bx/n
288 \DeclareFontShape{OT1}{omcns}{bx}{it}{
291 \DeclareFontShape{OT1}{omcns}{bx}{itsc}{
292 <-> ssub * omcns/bx/it
294 \DeclareFontShape{OT1}{omcns}{bx}{sl}{
295 <-> ssub * omcns/bx/it
297 \DeclareFontShape{OT1}{omcns}{bx}{slsc}{
298 <-> ssub * omcns/bx/it
302 \DeclareFontFamily{OT1}{omjis}{}
303 \DeclareFontShape{OT1}{omjis}{m}{n}{
306 \DeclareFontShape{OT1}{omjis}{m}{sc}{
309 \DeclareFontShape{OT1}{omjis}{m}{it}{
312 \DeclareFontShape{OT1}{omjis}{m}{sl}{
313 <-> ssub * omjis/m/it
315 \DeclareFontShape{OT1}{omjis}{m}{itsc}{
316 <-> ssub * omjis/m/it
318 \DeclareFontShape{OT1}{omjis}{m}{slsc}{
319 <-> ssub * omjis/m/it
321 \DeclareFontShape{OT1}{omjis}{bx}{n}{
324 \DeclareFontShape{OT1}{omjis}{bx}{sc}{
325 <-> ssub * omjis/bx/n
327 \DeclareFontShape{OT1}{omjis}{bx}{it}{
330 \DeclareFontShape{OT1}{omjis}{bx}{itsc}{
331 <-> ssub * omjis/bx/it
333 \DeclareFontShape{OT1}{omjis}{bx}{sl}{
334 <-> ssub * omjis/bx/it
336 \DeclareFontShape{OT1}{omjis}{bx}{slsc}{
337 <-> ssub * omjis/bx/it
341 \DeclareFontFamily{OT1}{omksx}{}
342 \DeclareFontShape{OT1}{omksx}{m}{n}{
345 \DeclareFontShape{OT1}{omksx}{m}{sc}{
348 \DeclareFontShape{OT1}{omksx}{m}{it}{
351 \DeclareFontShape{OT1}{omksx}{m}{sl}{
352 <-> ssub * omksx/m/it
354 \DeclareFontShape{OT1}{omksx}{m}{itsc}{
355 <-> ssub * omksx/m/it
357 \DeclareFontShape{OT1}{omksx}{m}{slsc}{
358 <-> ssub * omksx/m/it
360 \DeclareFontShape{OT1}{omksx}{bx}{n}{
363 \DeclareFontShape{OT1}{omksx}{bx}{sc}{
364 <-> ssub * omksx/bx/n
366 \DeclareFontShape{OT1}{omksx}{bx}{it}{
369 \DeclareFontShape{OT1}{omksx}{bx}{itsc}{
370 <-> ssub * omksx/bx/it
372 \DeclareFontShape{OT1}{omksx}{bx}{sl}{
373 <-> ssub * omksx/bx/it
375 \DeclareFontShape{OT1}{omksx}{bx}{slsc}{
376 <-> ssub * omksx/bx/it
379 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
380 \DeclareFontFamily{OT1}{chise000}{}
381 \DeclareFontShape{OT1}{chise000}{m}{n}{
382 <-> [.96] chise000min
384 \DeclareFontShape{OT1}{chise000}{m}{sc}{
385 <-> [.96] ssub * chise000min/m/n
387 \DeclareFontShape{OT1}{chise000}{m}{it}{
388 <-> [.96] chise000min
390 \DeclareFontShape{OT1}{chise000}{m}{sl}{
391 <-> [.96] ssub * chise000min/m/it
393 \DeclareFontShape{OT1}{chise000}{m}{itsc}{
394 <-> [.96] ssub * chise000min/m/it
396 \DeclareFontShape{OT1}{chise000}{m}{slsc}{
397 <-> [.96] ssub * chise000min/m/it
399 \DeclareFontShape{OT1}{chise000}{bx}{n}{
400 <-> [.96] chise000got
402 \DeclareFontShape{OT1}{chise000}{bx}{sc}{
403 <-> [.96] ssub * chise000got/bx/n
405 \DeclareFontShape{OT1}{chise000}{bx}{it}{
406 <-> [.96] chise000got
408 \DeclareFontShape{OT1}{chise000}{bx}{itsc}{
409 <-> [.96] ssub * chise000got/bx/it
411 \DeclareFontShape{OT1}{chise000}{bx}{sl}{
412 <-> [.96] ssub * chise000got/bx/it
414 \DeclareFontShape{OT1}{chise000}{bx}{slsc}{
415 <-> [.96] ssub * chise000got/bx/it
418 \DeclareFontFamily{OT1}{gt01}{}
419 \DeclareFontShape{OT1}{gt01}{m}{n}{
422 \DeclareFontFamily{OT1}{gt02}{}
423 \DeclareFontShape{OT1}{gt02}{m}{n}{
426 \DeclareFontFamily{OT1}{gt03}{}
427 \DeclareFontShape{OT1}{gt03}{m}{n}{
430 \DeclareFontFamily{OT1}{gt04}{}
431 \DeclareFontShape{OT1}{gt04}{m}{n}{
434 \DeclareFontFamily{OT1}{gt05}{}
435 \DeclareFontShape{OT1}{gt05}{m}{n}{
438 \DeclareFontFamily{OT1}{gt06}{}
439 \DeclareFontShape{OT1}{gt06}{m}{n}{
442 \DeclareFontFamily{OT1}{gt07}{}
443 \DeclareFontShape{OT1}{gt07}{m}{n}{
446 \DeclareFontFamily{OT1}{gt08}{}
447 \DeclareFontShape{OT1}{gt08}{m}{n}{
450 \DeclareFontFamily{OT1}{gt09}{}
451 \DeclareFontShape{OT1}{gt09}{m}{n}{
454 \DeclareFontFamily{OT1}{gt10}{}
455 \DeclareFontShape{OT1}{gt10}{m}{n}{
458 \DeclareFontFamily{OT1}{gt11}{}
459 \DeclareFontShape{OT1}{gt11}{m}{n}{
463 \DeclareFontFamily{OT1}{cdp}{}
464 \DeclareFontShape{OT1}{cdp}{m}{n}{
468 \DeclareFontFamily{OT1}{hzk01}{}
469 \DeclareFontShape{OT1}{hzk01}{m}{n}{
472 \DeclareFontFamily{OT1}{hzk02}{}
473 \DeclareFontShape{OT1}{hzk02}{m}{n}{
476 \DeclareFontFamily{OT1}{hzk03}{}
477 \DeclareFontShape{OT1}{hzk03}{m}{n}{
480 \DeclareFontFamily{OT1}{hzk04}{}
481 \DeclareFontShape{OT1}{hzk04}{m}{n}{
484 \DeclareFontFamily{OT1}{hzk05}{}
485 \DeclareFontShape{OT1}{hzk05}{m}{n}{
488 \DeclareFontFamily{OT1}{hzk06}{}
489 \DeclareFontShape{OT1}{hzk06}{m}{n}{
492 \DeclareFontFamily{OT1}{hzk07}{}
493 \DeclareFontShape{OT1}{hzk07}{m}{n}{
496 \DeclareFontFamily{OT1}{hzk08}{}
497 \DeclareFontShape{OT1}{hzk08}{m}{n}{
500 \DeclareFontFamily{OT1}{hzk09}{}
501 \DeclareFontShape{OT1}{hzk09}{m}{n}{
504 \DeclareFontFamily{OT1}{hzk10}{}
505 \DeclareFontShape{OT1}{hzk10}{m}{n}{
508 \DeclareFontFamily{OT1}{hzk11}{}
509 \DeclareFontShape{OT1}{hzk11}{m}{n}{
512 \DeclareFontFamily{OT1}{hzk12}{}
513 \DeclareFontShape{OT1}{hzk12}{m}{n}{
517 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
518 % line break, from omega-japanese.
520 \def\CJKunbreakablekernone{%
522 \hskip 0sp plus 2sp minus 2sp
525 \def\CJKunbreakablekerntwo{%
527 \hskip 0sp plus 2sp minus 2sp
530 \def\CJKunbreakablekernthree{%
532 \hskip 0sp plus 2sp minus 2sp
535 \def\CJKbreakablekern{\hskip 0sp plus 2pt minus 2sp}
536 % BUG: \rlap should preserve the current font
538 \discretionary{\rlap{#1}}%
542 %% Hyphenation parameters
543 % If the badness does not exceed this, no hyphenation is
550 % Penalty added for the first hyphenation
551 % in the current paragraph
552 \hyphenpenalty=0 % Was 50
554 % Penalty added for subsequent hyphenations
555 \exhyphenpenalty=0 % Was 50
557 % TeX tries to minimize the demerit of the lines:
558 % (\linepenalty^2 + badness^2) + penalty^2
561 % If a tight line is followed by a loose one
562 % (or conversely), we add \adjdemerits
564 \adjdemerits=0 % Was 10000 % ???
566 % two hyphens on consecutive lines also add
568 \doublehyphendemerits=0 % Was 10000
570 % A hyphen on the last line also adds to
572 \finalhyphendemerits=0 % Was 5000
574 % Minimum number of characters in the current word
575 % before or after a hyphenation point
579 % line break definition ends.
581 %%%% redundant font definition to avoid bug of omega.
583 \DeclareFontFamily{UT1}{omlgc}{}
585 \DeclareFontShape{UT1}{omlgc}{m}{n}{
588 \DeclareFontShape{UT1}{omlgc}{m}{sc}{
591 \DeclareFontShape{UT1}{omlgc}{m}{it}{
594 \DeclareFontShape{UT1}{omlgc}{m}{sl}{
595 <-> ssub * omlgc/m/it
597 \DeclareFontShape{UT1}{omlgc}{m}{itsc}{
598 <-> ssub * omlgc/m/it
600 \DeclareFontShape{UT1}{omlgc}{m}{slsc}{
601 <-> ssub * omlgc/m/it
603 \DeclareFontShape{UT1}{omlgc}{bx}{n}{
606 \DeclareFontShape{UT1}{omlgc}{bx}{sc}{
607 <-> ssub * omlgc/bx/n
609 \DeclareFontShape{UT1}{omlgc}{bx}{it}{
612 \DeclareFontShape{UT1}{omlgc}{bx}{itsc}{
613 <-> ssub * omlgc/bx/it
615 \DeclareFontShape{UT1}{omlgc}{bx}{sl}{
616 <-> ssub * omlgc/bx/it
618 \DeclareFontShape{UT1}{omlgc}{bx}{slsc}{
619 <-> ssub * omlgc/bx/it