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}
7 \DeclareOption{utf8mcs}{
8 \externalocp\OCPuniGB=Utf8mcsToUniGB {}
10 \addbeforeocplist 1 \OCPuniGB
12 \externalocp\OCPuniCNS=Utf8mcsToUniCNS {}
14 \addbeforeocplist 1 \OCPuniCNS
16 \externalocp\OCPuniJIS=Utf8mcsToUniJIS {}
18 \addbeforeocplist 1 \OCPuniJIS
20 \externalocp\OCPuniKS=Utf8mcsToUniKS {}
22 \addbeforeocplist 1 \OCPuniKS
24 \externalocp\OCPuniMulti=Utf8mcsToUniMulti {}
26 \addbeforeocplist 1 \OCPuniMulti
29 \DeclareOption{utf8gb}{
30 \externalocp\OCPuniGB=Utf8gbToUniGB {}
32 \addbeforeocplist 1 \OCPuniGB
34 \externalocp\OCPuniCNS=Utf8gbToUniCNS {}
36 \addbeforeocplist 1 \OCPuniCNS
38 \externalocp\OCPuniJIS=Utf8gbToUniJIS {}
40 \addbeforeocplist 1 \OCPuniJIS
42 \externalocp\OCPuniKS=Utf8gbToUniKS {}
44 \addbeforeocplist 1 \OCPuniKS
46 \externalocp\OCPuniMulti=Utf8mcsToUniMulti {}
48 \addbeforeocplist 1 \OCPuniMulti
51 \DeclareOption{utf8cns}{
52 \externalocp\OCPuniGB=Utf8cnsToUniGB {}
54 \addbeforeocplist 1 \OCPuniGB
56 \externalocp\OCPuniCNS=Utf8cnsToUniCNS {}
58 \addbeforeocplist 1 \OCPuniCNS
60 \externalocp\OCPuniJIS=Utf8cnsToUniJIS {}
62 \addbeforeocplist 1 \OCPuniJIS
64 \externalocp\OCPuniKS=Utf8cnsToUniKS {}
66 \addbeforeocplist 1 \OCPuniKS
68 \externalocp\OCPuniMulti=Utf8mcsToUniMulti {}
70 \addbeforeocplist 1 \OCPuniMulti
73 \DeclareOption{utf8jis}{
74 \externalocp\OCPuniGB=Utf8jisToUniGB {}
76 \addbeforeocplist 1 \OCPuniGB
78 \externalocp\OCPuniCNS=Utf8jisToUniCNS {}
80 \addbeforeocplist 1 \OCPuniCNS
82 \externalocp\OCPuniJIS=Utf8jisToUniJIS {}
84 \addbeforeocplist 1 \OCPuniJIS
86 \externalocp\OCPuniKS=Utf8jisToUniKS {}
88 \addbeforeocplist 1 \OCPuniKS
90 \externalocp\OCPuniMulti=Utf8mcsToUniMulti {}
92 \addbeforeocplist 1 \OCPuniMulti
95 \DeclareOption{utf8ks}{
96 \externalocp\OCPuniGB=Utf8ksToUniGB {}
98 \addbeforeocplist 1 \OCPuniGB
100 \externalocp\OCPuniCNS=Utf8ksToUniCNS {}
102 \addbeforeocplist 1 \OCPuniCNS
104 \externalocp\OCPuniJIS=Utf8ksToUniJIS {}
106 \addbeforeocplist 1 \OCPuniJIS
108 \externalocp\OCPuniKS=Utf8ksToUniKS {}
110 \addbeforeocplist 1 \OCPuniKS
112 \externalocp\OCPuniMulti=Utf8mcsToUniMulti {}
114 \addbeforeocplist 1 \OCPuniMulti
118 \DeclareOption{gbfont}{
123 \DeclareOption{cnsfont}{
128 \DeclareOption{jisfont}{
133 \DeclareOption{ksfont}{
138 \DeclareOption{multifont}{
144 \ocp\CJKbreak=cjkbreak
145 %% \ocplist\CJKadjust=
146 %% \addbeforeocplist 1 \CJKbreak
148 \def\cjkglue{\hskip 0pt plus 1pt minus .5pt}
152 \addbeforeocplist 1 \OCPutf
155 % \DefaultInputMode onebyte
156 % \InputMode currentfile onebyte
157 % \DefaultInputTranslation onebyte \OCPutf
158 % \InputTranslation currentfile \OCPutf
162 %%%%% to use KAGE server %%%%%
163 \externalocp\OCPmkfont=makefonts.pl {}
165 \addbeforeocplist 1 \OCPmkfont
169 \pushocplist\mkfontOCP
173 \def\selectjisfont{\fontencoding{OT1}\fontfamily{omjis}\selectfont}
174 \def\selectgbsfont{\fontencoding{OT1}\fontfamily{omgbs}\selectfont}
175 \def\selectcnsfont{\fontencoding{OT1}\fontfamily{omcns}\selectfont}
176 \def\selectksxfont{\fontencoding{OT1}\fontfamily{omksx}\selectfont}
177 %\def\JIS{\pushocplist\CJKadjust\selectjisfont}
178 %\def\GB{\pushocplist\CJKadjust\selectgbsfont}
179 %\def\KS{\pushocplist\CJKadjust\selectksxfont}
180 %\def\CNS{\pushocplist\CJKadjust\selectcnsfont}
182 \newenvironment{JISfont}{\pushocplist\uniJIS\selectjisfont}{}
183 \newenvironment{GBfont}{\pushocplist\uniGB\selectgbsfont}{}
184 \newenvironment{KSfont}{\pushocplist\uniKS\selectksxfont}{}
185 \newenvironment{CNSfont}{\pushocplist\uniCNS\selectcnsfont}{}
186 \newenvironment{Multifont}{\pushocplist\uniMulti}{}
187 \newenvironment{ASCII}{\pushocplist\NilOCP\fontencoding{T1}\fontfamily{\rmdefault}\selectfont}{}
189 \newcommand{\jisfont}[1]{\begingroup%
190 \pushocplist\uniJIS\selectjisfont #1\endgroup}
191 \newcommand{\gbfont}[1]{\begingroup%
192 \pushocplist\uniGB\selectgbsfont #1\endgroup}
193 \newcommand{\ksfont}[1]{\begingroup%
194 \pushocplist\uniKS\selectksxfont #1\endgroup}
195 \newcommand{\cnsfont}[1]{\begingroup%
196 \pushocplist\uniCNS\selectcnsfont #1\endgroup}
197 \newcommand{\multifont}[1]{\begingroup%
198 \pushocplist\uniMulti #1\endgroup}
199 \newcommand{\noncjk}[1]{\begingroup%
200 \normalfont\pushocplist\inutf #1\endgroup}
201 \newcommand{\ascii}[1]{\begingroup%
202 \pushocplist\NilOCP\fontencoding{T1}\fontfamily{\rmdefault}\selectfont #1\endgroup}
203 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
208 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
211 \def\idc@#1{{\selectgbsfont\clearocplists\char"#1}}
212 \def\idcltr{\idc@{2FF0}}
213 \def\idcatb{\idc@{2FF1}}
214 \def\idcltmr{\idc@{2FF2}}
215 \def\idcatmb{\idc@{2FF3}}
216 \def\idcfs{\idc@{2FF4}}
217 \def\idcsfa{\idc@{2FF5}}
218 \def\idcsfb{\idc@{2FF6}}
219 \def\idcsfl{\idc@{2FF7}}
220 \def\idcsful{\idc@{2FF8}}
221 \def\idcsfur{\idc@{2FF9}}
222 \def\idcsfll{\idc@{2FFA}}
223 \def\idcol{\idc@{2FFB}}
225 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
229 \DeclareFontFamily{OT1}{omgbs}{}
230 \DeclareFontShape{OT1}{omgbs}{m}{n}{
233 \DeclareFontShape{OT1}{omgbs}{m}{sc}{
236 \DeclareFontShape{OT1}{omgbs}{m}{it}{
239 \DeclareFontShape{OT1}{omgbs}{m}{sl}{
240 <-> ssub * omgbs/m/it
242 \DeclareFontShape{OT1}{omgbs}{m}{itsc}{
243 <-> ssub * omgbs/m/it
245 \DeclareFontShape{OT1}{omgbs}{m}{slsc}{
246 <-> ssub * omgbs/m/it
248 \DeclareFontShape{OT1}{omgbs}{bx}{n}{
251 \DeclareFontShape{OT1}{omgbs}{bx}{sc}{
252 <-> ssub * omgbs/bx/n
254 \DeclareFontShape{OT1}{omgbs}{bx}{it}{
257 \DeclareFontShape{OT1}{omgbs}{bx}{itsc}{
258 <-> ssub * omgbs/bx/it
260 \DeclareFontShape{OT1}{omgbs}{bx}{sl}{
261 <-> ssub * omgbs/bx/it
263 \DeclareFontShape{OT1}{omgbs}{bx}{slsc}{
264 <-> ssub * omgbs/bx/it
268 \DeclareFontFamily{OT1}{omcns}{}
269 \DeclareFontShape{OT1}{omcns}{m}{n}{
272 \DeclareFontShape{OT1}{omcns}{m}{sc}{
275 \DeclareFontShape{OT1}{omcns}{m}{it}{
278 \DeclareFontShape{OT1}{omcns}{m}{sl}{
279 <-> ssub * omcns/m/it
281 \DeclareFontShape{OT1}{omcns}{m}{itsc}{
282 <-> ssub * omcns/m/it
284 \DeclareFontShape{OT1}{omcns}{m}{slsc}{
285 <-> ssub * omcns/m/it
287 \DeclareFontShape{OT1}{omcns}{bx}{n}{
290 \DeclareFontShape{OT1}{omcns}{bx}{sc}{
291 <-> ssub * omcns/bx/n
293 \DeclareFontShape{OT1}{omcns}{bx}{it}{
296 \DeclareFontShape{OT1}{omcns}{bx}{itsc}{
297 <-> ssub * omcns/bx/it
299 \DeclareFontShape{OT1}{omcns}{bx}{sl}{
300 <-> ssub * omcns/bx/it
302 \DeclareFontShape{OT1}{omcns}{bx}{slsc}{
303 <-> ssub * omcns/bx/it
307 \DeclareFontFamily{OT1}{omjis}{}
308 \DeclareFontShape{OT1}{omjis}{m}{n}{
311 \DeclareFontShape{OT1}{omjis}{m}{sc}{
314 \DeclareFontShape{OT1}{omjis}{m}{it}{
317 \DeclareFontShape{OT1}{omjis}{m}{sl}{
318 <-> ssub * omjis/m/it
320 \DeclareFontShape{OT1}{omjis}{m}{itsc}{
321 <-> ssub * omjis/m/it
323 \DeclareFontShape{OT1}{omjis}{m}{slsc}{
324 <-> ssub * omjis/m/it
326 \DeclareFontShape{OT1}{omjis}{bx}{n}{
329 \DeclareFontShape{OT1}{omjis}{bx}{sc}{
330 <-> ssub * omjis/bx/n
332 \DeclareFontShape{OT1}{omjis}{bx}{it}{
335 \DeclareFontShape{OT1}{omjis}{bx}{itsc}{
336 <-> ssub * omjis/bx/it
338 \DeclareFontShape{OT1}{omjis}{bx}{sl}{
339 <-> ssub * omjis/bx/it
341 \DeclareFontShape{OT1}{omjis}{bx}{slsc}{
342 <-> ssub * omjis/bx/it
346 \DeclareFontFamily{OT1}{omksx}{}
347 \DeclareFontShape{OT1}{omksx}{m}{n}{
350 \DeclareFontShape{OT1}{omksx}{m}{sc}{
353 \DeclareFontShape{OT1}{omksx}{m}{it}{
356 \DeclareFontShape{OT1}{omksx}{m}{sl}{
357 <-> ssub * omksx/m/it
359 \DeclareFontShape{OT1}{omksx}{m}{itsc}{
360 <-> ssub * omksx/m/it
362 \DeclareFontShape{OT1}{omksx}{m}{slsc}{
363 <-> ssub * omksx/m/it
365 \DeclareFontShape{OT1}{omksx}{bx}{n}{
368 \DeclareFontShape{OT1}{omksx}{bx}{sc}{
369 <-> ssub * omksx/bx/n
371 \DeclareFontShape{OT1}{omksx}{bx}{it}{
374 \DeclareFontShape{OT1}{omksx}{bx}{itsc}{
375 <-> ssub * omksx/bx/it
377 \DeclareFontShape{OT1}{omksx}{bx}{sl}{
378 <-> ssub * omksx/bx/it
380 \DeclareFontShape{OT1}{omksx}{bx}{slsc}{
381 <-> ssub * omksx/bx/it
384 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
385 \DeclareFontFamily{OT1}{chise000}{}
386 \DeclareFontShape{OT1}{chise000}{m}{n}{
387 <-> [.96] chise000min
389 \DeclareFontShape{OT1}{chise000}{m}{sc}{
390 <-> [.96] ssub * chise000min/m/n
392 \DeclareFontShape{OT1}{chise000}{m}{it}{
393 <-> [.96] chise000min
395 \DeclareFontShape{OT1}{chise000}{m}{sl}{
396 <-> [.96] ssub * chise000min/m/it
398 \DeclareFontShape{OT1}{chise000}{m}{itsc}{
399 <-> [.96] ssub * chise000min/m/it
401 \DeclareFontShape{OT1}{chise000}{m}{slsc}{
402 <-> [.96] ssub * chise000min/m/it
404 \DeclareFontShape{OT1}{chise000}{bx}{n}{
405 <-> [.96] chise000got
407 \DeclareFontShape{OT1}{chise000}{bx}{sc}{
408 <-> [.96] ssub * chise000got/bx/n
410 \DeclareFontShape{OT1}{chise000}{bx}{it}{
411 <-> [.96] chise000got
413 \DeclareFontShape{OT1}{chise000}{bx}{itsc}{
414 <-> [.96] ssub * chise000got/bx/it
416 \DeclareFontShape{OT1}{chise000}{bx}{sl}{
417 <-> [.96] ssub * chise000got/bx/it
419 \DeclareFontShape{OT1}{chise000}{bx}{slsc}{
420 <-> [.96] ssub * chise000got/bx/it
423 \DeclareFontFamily{OT1}{gt01}{}
424 \DeclareFontShape{OT1}{gt01}{m}{n}{
427 \DeclareFontFamily{OT1}{gt02}{}
428 \DeclareFontShape{OT1}{gt02}{m}{n}{
431 \DeclareFontFamily{OT1}{gt03}{}
432 \DeclareFontShape{OT1}{gt03}{m}{n}{
435 \DeclareFontFamily{OT1}{gt04}{}
436 \DeclareFontShape{OT1}{gt04}{m}{n}{
439 \DeclareFontFamily{OT1}{gt05}{}
440 \DeclareFontShape{OT1}{gt05}{m}{n}{
443 \DeclareFontFamily{OT1}{gt06}{}
444 \DeclareFontShape{OT1}{gt06}{m}{n}{
447 \DeclareFontFamily{OT1}{gt07}{}
448 \DeclareFontShape{OT1}{gt07}{m}{n}{
451 \DeclareFontFamily{OT1}{gt08}{}
452 \DeclareFontShape{OT1}{gt08}{m}{n}{
455 \DeclareFontFamily{OT1}{gt09}{}
456 \DeclareFontShape{OT1}{gt09}{m}{n}{
459 \DeclareFontFamily{OT1}{gt10}{}
460 \DeclareFontShape{OT1}{gt10}{m}{n}{
463 \DeclareFontFamily{OT1}{gt11}{}
464 \DeclareFontShape{OT1}{gt11}{m}{n}{
468 \DeclareFontFamily{OT1}{cdp}{}
469 \DeclareFontShape{OT1}{cdp}{m}{n}{
473 \DeclareFontFamily{OT1}{hzk01}{}
474 \DeclareFontShape{OT1}{hzk01}{m}{n}{
477 \DeclareFontFamily{OT1}{hzk02}{}
478 \DeclareFontShape{OT1}{hzk02}{m}{n}{
481 \DeclareFontFamily{OT1}{hzk03}{}
482 \DeclareFontShape{OT1}{hzk03}{m}{n}{
485 \DeclareFontFamily{OT1}{hzk04}{}
486 \DeclareFontShape{OT1}{hzk04}{m}{n}{
489 \DeclareFontFamily{OT1}{hzk05}{}
490 \DeclareFontShape{OT1}{hzk05}{m}{n}{
493 \DeclareFontFamily{OT1}{hzk06}{}
494 \DeclareFontShape{OT1}{hzk06}{m}{n}{
497 \DeclareFontFamily{OT1}{hzk07}{}
498 \DeclareFontShape{OT1}{hzk07}{m}{n}{
501 \DeclareFontFamily{OT1}{hzk08}{}
502 \DeclareFontShape{OT1}{hzk08}{m}{n}{
505 \DeclareFontFamily{OT1}{hzk09}{}
506 \DeclareFontShape{OT1}{hzk09}{m}{n}{
509 \DeclareFontFamily{OT1}{hzk10}{}
510 \DeclareFontShape{OT1}{hzk10}{m}{n}{
513 \DeclareFontFamily{OT1}{hzk11}{}
514 \DeclareFontShape{OT1}{hzk11}{m}{n}{
517 \DeclareFontFamily{OT1}{hzk12}{}
518 \DeclareFontShape{OT1}{hzk12}{m}{n}{
522 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
523 % line break, from omega-japanese.
525 \def\CJKunbreakablekernone{%
527 \hskip 0sp plus 2sp minus 2sp
530 \def\CJKunbreakablekerntwo{%
532 \hskip 0sp plus 2sp minus 2sp
535 \def\CJKunbreakablekernthree{%
537 \hskip 0sp plus 2sp minus 2sp
540 \def\CJKbreakablekern{\hskip 0sp plus 2pt minus 2sp}
541 % BUG: \rlap should preserve the current font
543 \discretionary{\rlap{#1}}%
547 %% Hyphenation parameters
548 % If the badness does not exceed this, no hyphenation is
555 % Penalty added for the first hyphenation
556 % in the current paragraph
557 \hyphenpenalty=0 % Was 50
559 % Penalty added for subsequent hyphenations
560 \exhyphenpenalty=0 % Was 50
562 % TeX tries to minimize the demerit of the lines:
563 % (\linepenalty^2 + badness^2) + penalty^2
566 % If a tight line is followed by a loose one
567 % (or conversely), we add \adjdemerits
569 \adjdemerits=0 % Was 10000 % ???
571 % two hyphens on consecutive lines also add
573 \doublehyphendemerits=0 % Was 10000
575 % A hyphen on the last line also adds to
577 \finalhyphendemerits=0 % Was 5000
579 % Minimum number of characters in the current word
580 % before or after a hyphenation point
584 % line break definition ends.