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.
11 %% Replace all "/usr/local/share/texmf/omega/ocp/local/chise/"
12 %% to the appropriate path.
14 \DeclareOption{utf8mcs}{
15 \CHISEsetupOCP{Utf8mcs}
17 \DeclareOption{utf8gb}{
18 \CHISEsetupOCP{Utf8gb}
20 \DeclareOption{utf8cns}{
21 \CHISEsetupOCP{Utf8cns}
23 \DeclareOption{utf8jis}{
24 \CHISEsetupOCP{Utf8jis}
26 \DeclareOption{utf8ks}{
27 \CHISEsetupOCP{Utf8ks}
29 \DeclareOption{utf8big5}{
30 \CHISEsetupOCP{Utf8big5}
33 \DeclareOption{gbfont}{
38 \DeclareOption{cnsfont}{
43 \DeclareOption{jisfont}{
48 \DeclareOption{ksfont}{
53 \DeclareOption{multifont}{
61 \externalocp\OCPmkfont=/usr/local/share/texmf/omega/ocp/local/chise/makefonts.pl {}
63 \addbeforeocplist 1 \OCPmkfont
67 \pushocplist\mkfontOCP
75 \addbeforeocplist 1 \OCPutf
79 \ocp\OCPGrUniToFont=uni2greekfix
80 \ocp\OCPCyrUniToFont=uni2latfix
81 \ocp\OCPLatinUniToFont=uni2latfix
83 \addbeforeocplist 1 \OCPutf
84 \addbeforeocplist 1 \OCPTeX
85 \addbeforeocplist 1 \OCPGrUniToFont
88 \addbeforeocplist 1 \OCPutf
89 \addbeforeocplist 1 \OCPTeX
90 \addbeforeocplist 1 \OCPCyrUniToFont
93 \addbeforeocplist 1 \OCPutf
94 \addbeforeocplist 1 \OCPTeX
95 \addbeforeocplist 1 \OCPLatinUniToFont
102 \def\rmdefault{omlgc}
107 \def\CHISEsetupOCP#1{
108 \externalocp\OCPuniGBrmSP=/usr/local/share/texmf/omega/ocp/local/chise/#1ToUniGB {}
110 \addbeforeocplist 1 \OCPuniGBrmSP
112 \externalocp\OCPuniCNSrmSP=/usr/local/share/texmf/omega/ocp/local/chise/#1ToUniCNS {}
114 \addbeforeocplist 1 \OCPuniCNSrmSP
116 \externalocp\OCPuniJISrmSP=/usr/local/share/texmf/omega/ocp/local/chise/#1ToUniJIS {}
118 \addbeforeocplist 1 \OCPuniJISrmSP
120 \externalocp\OCPuniKSrmSP=/usr/local/share/texmf/omega/ocp/local/chise/#1ToUniKS {}
122 \addbeforeocplist 1 \OCPuniKSrmSP
124 \externalocp\OCPuniMultirmSP=/usr/local/share/texmf/omega/ocp/local/chise/#1ToUniMulti {}
125 \ocplist\uniMultirmSP=
126 \addbeforeocplist 1 \OCPuniMultirmSP
128 \externalocp\OCPuniGBwithSP=/usr/local/share/texmf/omega/ocp/local/chise/#1ToUniGBSp {}
129 \ocplist\uniGBwithSP=
130 \addbeforeocplist 1 \OCPuniGBwithSP
132 \externalocp\OCPuniCNSwithSP=/usr/local/share/texmf/omega/ocp/local/chise/#1ToUniCNSSp {}
133 \ocplist\uniCNSwithSP=
134 \addbeforeocplist 1 \OCPuniCNSwithSP
136 \externalocp\OCPuniJISwithSP=/usr/local/share/texmf/omega/ocp/local/chise/#1ToUniJISSp {}
137 \ocplist\uniJISwithSP=
138 \addbeforeocplist 1 \OCPuniJISwithSP
140 \externalocp\OCPuniKSwithSP=/usr/local/share/texmf/omega/ocp/local/chise/#1ToUniKSSp {}
141 \ocplist\uniKSwithSP=
142 \addbeforeocplist 1 \OCPuniKSwithSP
144 \externalocp\OCPuniMultiwithSP=/usr/local/share/texmf/omega/ocp/local/chise/#1ToUniMultiSp {}
145 \ocplist\uniMultiwithSP=
146 \addbeforeocplist 1 \OCPuniMultiwithSP
148 \let\uniGB=\uniGBrmSP
149 \let\uniCNS=\uniCNSrmSP
150 \let\uniJIS=\uniJISrmSP
151 \let\uniKS=\uniKSrmSP
152 \let\uniMulti=\uniMultirmSP
155 \def\selectjisfont{\fontencoding{OT1}\fontfamily{omjis}\selectfont}
156 \def\selectgbsfont{\fontencoding{OT1}\fontfamily{omgbs}\selectfont}
157 \def\selectcnsfont{\fontencoding{OT1}\fontfamily{omcns}\selectfont}
158 \def\selectksxfont{\fontencoding{OT1}\fontfamily{omksx}\selectfont}
159 \def\selectlgcfont{\fontencoding{OT1}\fontfamily{omlgc}\selectfont}
161 \newenvironment{JISfont}{\pushocplist\uniJIS}{}
162 \newenvironment{GBfont}{\pushocplist\uniGB}{}
163 \newenvironment{KSfont}{\pushocplist\uniKS}{}
164 \newenvironment{CNSfont}{\pushocplist\uniCNS}{}
165 \newenvironment{Multifont}{\pushocplist\uniMulti}{}
166 \newenvironment{NonCJK}{\pushocplist\inutf\selectlgcfont}{}
167 \newenvironment{ASCII}{\clearocplists\fontencoding{T1}\selectnormalfont}{}
169 \newenvironment{GreekScript}{\pushocplist\GreekOCP\selectlgcfont%
170 \language=3\lefthyphenmin=2\righthyphenmin=2}{%
172 \newenvironment{CyrillicScript}{\pushocplist\CyrillicOCP\selectlgcfont}{}
173 \newenvironment{LatinScript}{\pushocplist\LatinOCP\selectlgcfont}{}
175 \newcommand{\jisfont}[1]{\begingroup%
176 \pushocplist\uniJIS #1\endgroup}
177 \newcommand{\gbfont}[1]{\begingroup%
178 \pushocplist\uniGB #1\endgroup}
179 \newcommand{\ksfont}[1]{\begingroup%
180 \pushocplist\uniKS #1\endgroup}
181 \newcommand{\cnsfont}[1]{\begingroup%
182 \pushocplist\uniCNS #1\endgroup}
183 \newcommand{\multifont}[1]{\begingroup%
184 \pushocplist\uniMulti #1\endgroup}
185 \newcommand{\noncjk}[1]{\begingroup%
186 \pushocplist\inutf\selectlgcfont #1\endgroup}
187 % \normalfont\pushocplist\inutf #1\endgroup}
188 \newcommand{\ascii}[1]{\begingroup%
189 \clearocplists\selectlgcfont #1\endgroup}
190 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
195 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
198 \def\idc@#1{{\selectgbsfont\clearocplists\char"#1}}
199 \def\idcltr{\idc@{2FF0}}
200 \def\idcatb{\idc@{2FF1}}
201 \def\idcltmr{\idc@{2FF2}}
202 \def\idcatmb{\idc@{2FF3}}
203 \def\idcfs{\idc@{2FF4}}
204 \def\idcsfa{\idc@{2FF5}}
205 \def\idcsfb{\idc@{2FF6}}
206 \def\idcsfl{\idc@{2FF7}}
207 \def\idcsful{\idc@{2FF8}}
208 \def\idcsfur{\idc@{2FF9}}
209 \def\idcsfll{\idc@{2FFA}}
210 \def\idcol{\idc@{2FFB}}
212 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
216 \DeclareFontFamily{OT1}{omgbs}{}
217 \DeclareFontShape{OT1}{omgbs}{m}{n}{
220 \DeclareFontShape{OT1}{omgbs}{m}{sc}{
223 \DeclareFontShape{OT1}{omgbs}{m}{it}{
226 \DeclareFontShape{OT1}{omgbs}{m}{sl}{
227 <-> ssub * omgbs/m/it
229 \DeclareFontShape{OT1}{omgbs}{m}{itsc}{
230 <-> ssub * omgbs/m/it
232 \DeclareFontShape{OT1}{omgbs}{m}{slsc}{
233 <-> ssub * omgbs/m/it
235 \DeclareFontShape{OT1}{omgbs}{bx}{n}{
238 \DeclareFontShape{OT1}{omgbs}{bx}{sc}{
239 <-> ssub * omgbs/bx/n
241 \DeclareFontShape{OT1}{omgbs}{bx}{it}{
244 \DeclareFontShape{OT1}{omgbs}{bx}{itsc}{
245 <-> ssub * omgbs/bx/it
247 \DeclareFontShape{OT1}{omgbs}{bx}{sl}{
248 <-> ssub * omgbs/bx/it
250 \DeclareFontShape{OT1}{omgbs}{bx}{slsc}{
251 <-> ssub * omgbs/bx/it
255 \DeclareFontFamily{OT1}{omcns}{}
256 \DeclareFontShape{OT1}{omcns}{m}{n}{
259 \DeclareFontShape{OT1}{omcns}{m}{sc}{
262 \DeclareFontShape{OT1}{omcns}{m}{it}{
265 \DeclareFontShape{OT1}{omcns}{m}{sl}{
266 <-> ssub * omcns/m/it
268 \DeclareFontShape{OT1}{omcns}{m}{itsc}{
269 <-> ssub * omcns/m/it
271 \DeclareFontShape{OT1}{omcns}{m}{slsc}{
272 <-> ssub * omcns/m/it
274 \DeclareFontShape{OT1}{omcns}{bx}{n}{
277 \DeclareFontShape{OT1}{omcns}{bx}{sc}{
278 <-> ssub * omcns/bx/n
280 \DeclareFontShape{OT1}{omcns}{bx}{it}{
283 \DeclareFontShape{OT1}{omcns}{bx}{itsc}{
284 <-> ssub * omcns/bx/it
286 \DeclareFontShape{OT1}{omcns}{bx}{sl}{
287 <-> ssub * omcns/bx/it
289 \DeclareFontShape{OT1}{omcns}{bx}{slsc}{
290 <-> ssub * omcns/bx/it
294 \DeclareFontFamily{OT1}{omjis}{}
295 \DeclareFontShape{OT1}{omjis}{m}{n}{
298 \DeclareFontShape{OT1}{omjis}{m}{sc}{
301 \DeclareFontShape{OT1}{omjis}{m}{it}{
304 \DeclareFontShape{OT1}{omjis}{m}{sl}{
305 <-> ssub * omjis/m/it
307 \DeclareFontShape{OT1}{omjis}{m}{itsc}{
308 <-> ssub * omjis/m/it
310 \DeclareFontShape{OT1}{omjis}{m}{slsc}{
311 <-> ssub * omjis/m/it
313 \DeclareFontShape{OT1}{omjis}{bx}{n}{
316 \DeclareFontShape{OT1}{omjis}{bx}{sc}{
317 <-> ssub * omjis/bx/n
319 \DeclareFontShape{OT1}{omjis}{bx}{it}{
322 \DeclareFontShape{OT1}{omjis}{bx}{itsc}{
323 <-> ssub * omjis/bx/it
325 \DeclareFontShape{OT1}{omjis}{bx}{sl}{
326 <-> ssub * omjis/bx/it
328 \DeclareFontShape{OT1}{omjis}{bx}{slsc}{
329 <-> ssub * omjis/bx/it
333 \DeclareFontFamily{OT1}{omksx}{}
334 \DeclareFontShape{OT1}{omksx}{m}{n}{
337 \DeclareFontShape{OT1}{omksx}{m}{sc}{
340 \DeclareFontShape{OT1}{omksx}{m}{it}{
343 \DeclareFontShape{OT1}{omksx}{m}{sl}{
344 <-> ssub * omksx/m/it
346 \DeclareFontShape{OT1}{omksx}{m}{itsc}{
347 <-> ssub * omksx/m/it
349 \DeclareFontShape{OT1}{omksx}{m}{slsc}{
350 <-> ssub * omksx/m/it
352 \DeclareFontShape{OT1}{omksx}{bx}{n}{
355 \DeclareFontShape{OT1}{omksx}{bx}{sc}{
356 <-> ssub * omksx/bx/n
358 \DeclareFontShape{OT1}{omksx}{bx}{it}{
361 \DeclareFontShape{OT1}{omksx}{bx}{itsc}{
362 <-> ssub * omksx/bx/it
364 \DeclareFontShape{OT1}{omksx}{bx}{sl}{
365 <-> ssub * omksx/bx/it
367 \DeclareFontShape{OT1}{omksx}{bx}{slsc}{
368 <-> ssub * omksx/bx/it
371 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
372 \DeclareFontFamily{OT1}{chise000}{}
373 \DeclareFontShape{OT1}{chise000}{m}{n}{
374 <-> [.96] chise000min
376 \DeclareFontShape{OT1}{chise000}{m}{sc}{
377 <-> [.96] ssub * chise000min/m/n
379 \DeclareFontShape{OT1}{chise000}{m}{it}{
380 <-> [.96] chise000min
382 \DeclareFontShape{OT1}{chise000}{m}{sl}{
383 <-> [.96] ssub * chise000min/m/it
385 \DeclareFontShape{OT1}{chise000}{m}{itsc}{
386 <-> [.96] ssub * chise000min/m/it
388 \DeclareFontShape{OT1}{chise000}{m}{slsc}{
389 <-> [.96] ssub * chise000min/m/it
391 \DeclareFontShape{OT1}{chise000}{bx}{n}{
392 <-> [.96] chise000got
394 \DeclareFontShape{OT1}{chise000}{bx}{sc}{
395 <-> [.96] ssub * chise000got/bx/n
397 \DeclareFontShape{OT1}{chise000}{bx}{it}{
398 <-> [.96] chise000got
400 \DeclareFontShape{OT1}{chise000}{bx}{itsc}{
401 <-> [.96] ssub * chise000got/bx/it
403 \DeclareFontShape{OT1}{chise000}{bx}{sl}{
404 <-> [.96] ssub * chise000got/bx/it
406 \DeclareFontShape{OT1}{chise000}{bx}{slsc}{
407 <-> [.96] ssub * chise000got/bx/it
410 \DeclareFontFamily{OT1}{gt01}{}
411 \DeclareFontShape{OT1}{gt01}{m}{n}{
414 \DeclareFontFamily{OT1}{gt02}{}
415 \DeclareFontShape{OT1}{gt02}{m}{n}{
418 \DeclareFontFamily{OT1}{gt03}{}
419 \DeclareFontShape{OT1}{gt03}{m}{n}{
422 \DeclareFontFamily{OT1}{gt04}{}
423 \DeclareFontShape{OT1}{gt04}{m}{n}{
426 \DeclareFontFamily{OT1}{gt05}{}
427 \DeclareFontShape{OT1}{gt05}{m}{n}{
430 \DeclareFontFamily{OT1}{gt06}{}
431 \DeclareFontShape{OT1}{gt06}{m}{n}{
434 \DeclareFontFamily{OT1}{gt07}{}
435 \DeclareFontShape{OT1}{gt07}{m}{n}{
438 \DeclareFontFamily{OT1}{gt08}{}
439 \DeclareFontShape{OT1}{gt08}{m}{n}{
442 \DeclareFontFamily{OT1}{gt09}{}
443 \DeclareFontShape{OT1}{gt09}{m}{n}{
446 \DeclareFontFamily{OT1}{gt10}{}
447 \DeclareFontShape{OT1}{gt10}{m}{n}{
450 \DeclareFontFamily{OT1}{gt11}{}
451 \DeclareFontShape{OT1}{gt11}{m}{n}{
455 \DeclareFontFamily{OT1}{cdp}{}
456 \DeclareFontShape{OT1}{cdp}{m}{n}{
460 \DeclareFontFamily{OT1}{hzk01}{}
461 \DeclareFontShape{OT1}{hzk01}{m}{n}{
464 \DeclareFontFamily{OT1}{hzk02}{}
465 \DeclareFontShape{OT1}{hzk02}{m}{n}{
468 \DeclareFontFamily{OT1}{hzk03}{}
469 \DeclareFontShape{OT1}{hzk03}{m}{n}{
472 \DeclareFontFamily{OT1}{hzk04}{}
473 \DeclareFontShape{OT1}{hzk04}{m}{n}{
476 \DeclareFontFamily{OT1}{hzk05}{}
477 \DeclareFontShape{OT1}{hzk05}{m}{n}{
480 \DeclareFontFamily{OT1}{hzk06}{}
481 \DeclareFontShape{OT1}{hzk06}{m}{n}{
484 \DeclareFontFamily{OT1}{hzk07}{}
485 \DeclareFontShape{OT1}{hzk07}{m}{n}{
488 \DeclareFontFamily{OT1}{hzk08}{}
489 \DeclareFontShape{OT1}{hzk08}{m}{n}{
492 \DeclareFontFamily{OT1}{hzk09}{}
493 \DeclareFontShape{OT1}{hzk09}{m}{n}{
496 \DeclareFontFamily{OT1}{hzk10}{}
497 \DeclareFontShape{OT1}{hzk10}{m}{n}{
500 \DeclareFontFamily{OT1}{hzk11}{}
501 \DeclareFontShape{OT1}{hzk11}{m}{n}{
504 \DeclareFontFamily{OT1}{hzk12}{}
505 \DeclareFontShape{OT1}{hzk12}{m}{n}{
509 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
510 % line break, from omega-japanese.
512 \def\CJKunbreakablekernone{%
514 \hskip 0sp plus 2sp minus 2sp
517 \def\CJKunbreakablekerntwo{%
519 \hskip 0sp plus 2sp minus 2sp
522 \def\CJKunbreakablekernthree{%
524 \hskip 0sp plus 2sp minus 2sp
527 \def\CJKbreakablekern{\hskip 0sp plus 2pt minus 2sp}
528 % BUG: \rlap should preserve the current font
530 \discretionary{\rlap{#1}}%
534 %% Hyphenation parameters
535 % If the badness does not exceed this, no hyphenation is
542 % Penalty added for the first hyphenation
543 % in the current paragraph
544 \hyphenpenalty=0 % Was 50
546 % Penalty added for subsequent hyphenations
547 \exhyphenpenalty=0 % Was 50
549 % TeX tries to minimize the demerit of the lines:
550 % (\linepenalty^2 + badness^2) + penalty^2
553 % If a tight line is followed by a loose one
554 % (or conversely), we add \adjdemerits
556 \adjdemerits=0 % Was 10000 % ???
558 % two hyphens on consecutive lines also add
560 \doublehyphendemerits=0 % Was 10000
562 % A hyphen on the last line also adds to
564 \finalhyphendemerits=0 % Was 5000
566 % Minimum number of characters in the current word
567 % before or after a hyphenation point
571 % line break definition ends.
573 %%%% redundant font definition to avoid bug of omega.
575 \DeclareFontFamily{OT1}{omlgc}{}
577 \DeclareFontShape{OT1}{omlgc}{m}{n}{
580 \DeclareFontShape{OT1}{omlgc}{m}{sc}{
583 \DeclareFontShape{OT1}{omlgc}{m}{it}{
586 \DeclareFontShape{OT1}{omlgc}{m}{sl}{
587 <-> ssub * omlgc/m/it
589 \DeclareFontShape{OT1}{omlgc}{m}{itsc}{
590 <-> ssub * omlgc/m/it
592 \DeclareFontShape{OT1}{omlgc}{m}{slsc}{
593 <-> ssub * omlgc/m/it
595 \DeclareFontShape{OT1}{omlgc}{bx}{n}{
598 \DeclareFontShape{OT1}{omlgc}{bx}{sc}{
599 <-> ssub * omlgc/bx/n
601 \DeclareFontShape{OT1}{omlgc}{bx}{it}{
604 \DeclareFontShape{OT1}{omlgc}{bx}{itsc}{
605 <-> ssub * omlgc/bx/it
607 \DeclareFontShape{OT1}{omlgc}{bx}{sl}{
608 <-> ssub * omlgc/bx/it
610 \DeclareFontShape{OT1}{omlgc}{bx}{slsc}{
611 <-> ssub * omlgc/bx/it
614 % The declaration below should be in ot1enc.def.
615 \DeclareTextSymbol{\textbullet}{OT1}{"2022}