diff options
Diffstat (limited to 'Master/tlpkg/tlgs/kanji/kinit.ps')
-rw-r--r-- | Master/tlpkg/tlgs/kanji/kinit.ps | 457 |
1 files changed, 457 insertions, 0 deletions
diff --git a/Master/tlpkg/tlgs/kanji/kinit.ps b/Master/tlpkg/tlgs/kanji/kinit.ps new file mode 100644 index 00000000000..d8980212642 --- /dev/null +++ b/Master/tlpkg/tlgs/kanji/kinit.ps @@ -0,0 +1,457 @@ +% +% kinit.ps - install Kanji fonts +% +% Apr. 4, 1992 by N.Katayama +% +% Akira Tanaka <akr@jaist.ac.jp> modified for gs4.03/VFlib support. 1996/10/17 + +%QUIET not { (Installing Kanji fonts... ) print flush } if + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Define utility operators +% + +14 dict begin % QUIET + % acvs, copyfont, + % buffer, basefontname, composename, + % JISMappingDict, SJISMappingDict, CNameMappingDict, + % StandardMappingProc, + % bitmapkanji, outlinekanji + % basekanji and compositekanji + +/QUIET true def + +% +% array string ACVS string +% + +/acvs { + % Check stack + 2 copy type /stringtype ne exch type /arraytype ne or { + /acvs errordict /typecheck get exec + } if + 2 copy length exch length ne { + /acvs errordict /rangecheck get exec + } if + % Convert array into string + 0 1 3 index length 1 sub { + dup 3 index exch get 2 index 3 1 roll put + } for + exch pop +} bind def + +% +% fontname newname COPYFONT - +% + +/copyfont { + % Check stack + count 2 lt { + /copyfont errordict /stackunderflow get exec + } if + 2 copy type /nametype ne exch type /nametype ne or { + /copyfont errordict /typecheck get exec + } if + exch findfont dup maxlength dict begin { + 1 index /FID ne 2 index /UniqueID ne and + { def }{ pop pop } ifelse + } forall + currentdict end + definefont pop +} bind def + +% +% Buffer +% + +/buffer 2 dict begin +/str 256 string def +/len 0 def +currentdict end def + +% +% font_name suffix1 row_code suffix2 BASEFONTNAME font_name +% + +/basefontname { + buffer begin + 4 -1 roll str cvs length /len exch def + str len 4 index putinterval 3 -1 roll length len add /len exch def + exch 16 str len 2 getinterval cvrs pop /len len 2 add def + str len 2 index putinterval length len add /len exch def + str 0 len getinterval cvn + end +} bind def + +% +% font_name suffix NAME font_name +% + +/composename { + buffer begin + exch str cvs length /len exch def + str len 2 index putinterval length len add /len exch def + str 0 len getinterval cvn + end +} bind def + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Define Encoding Vectors +% + +userdict begin + +% +% JIS +% + +/JISEncoding [ + 16#00 1 16#20 { pop 0 } for + 16#21 1 16#28 { 16#20 sub } for + 16#29 1 16#2F { pop 0 } for + 16#30 1 16#74 { 16#27 sub } for + 16#75 1 16#FF { pop 0 } for +] readonly def + +% +% Ext +% + +/ExtEncoding +[ + 16#00 1 16#20 { pop 0 } for + 16#21 1 16#27 { 16#20 sub } for + 16#28 1 16#28 { pop 0 } for + 16#29 1 16#2D { 16#21 sub } for + 16#2E 1 16#2F { pop 0 } for + 16#30 1 16#73 { 16#23 sub } for + 16#74 1 16#FF { pop 0 } for +] readonly def + +% +% EUC +% + +/EUCEncoding +[ + 16#00 1 16#A0 { pop 0 } for + 16#A1 1 16#A8 { 16#A0 sub } for + 16#A9 1 16#AF { pop 0 } for + 16#B0 1 16#F4 { 16#A7 sub } for + 16#F5 1 16#FF { pop 0 } for +] readonly def + +% +% JIS Sub +% + +/JISSubEncoding [ +% 16#00 + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#20 + /.notdef /c21 /c22 /c23 /c24 /c25 /c26 /c27 + /c28 /c29 /c2A /c2B /c2C /c2D /c2E /c2F + /c30 /c31 /c32 /c33 /c34 /c35 /c36 /c37 + /c38 /c39 /c3A /c3B /c3C /c3D /c3E /c3F +% 16#40 + /c40 /c41 /c42 /c43 /c44 /c45 /c46 /c47 + /c48 /c49 /c4A /c4B /c4C /c4D /c4E /c4F + /c50 /c51 /c52 /c53 /c54 /c55 /c56 /c57 + /c58 /c59 /c5A /c5B /c5C /c5D /c5E /c5F +% 16#60 + /c60 /c61 /c62 /c63 /c64 /c65 /c66 /c67 + /c68 /c69 /c6A /c6B /c6C /c6D /c6E /c6F + /c70 /c71 /c72 /c73 /c74 /c75 /c76 /c77 + /c78 /c79 /c7A /c7B /c7C /c7D /c7E /.notdef +128 copy ] readonly def + +% +% Roman +% + +/RomanEncoding [ +% 16#00 +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#20 +/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +/zero /one /two /three /four /five /six /seven +/eight /nine /colon /semicolon /less /equal /greater /question +% 16#40 +/at +/A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z +/bracketleft /yen /bracketright /asciicircum /underscore +% 16#60 +/quoteleft +/a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z +/braceleft /bar /braceright /overline /.notdef +% 16#80 +1 1 128 { /.notdef } for +] readonly def + +% +% Hiragana +% + +/HiraganaEncoding [ +% 16#00 +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#20 +/space /jperiod /jbracketleft /jbracketright +/jcomma /periodcentered /wogana /asmallgana +/ismallgana /usmallgana /esmallgana /osmallgana +/yasmallgana /yusmallgana /yosmallgana /tsusmallgana +/jprolonged /agana /igana /ugana /egana /ogana /kagana /kigana +/kugana /kegana /kogana /sagana /shigana /sugana /segana /sogana +% 16#40 +/tagana /chigana /tsugana /tegana /togana /nagana /nigana /nugana +/negana /nogana /hagana /higana /fugana /hegana /hogana /magana +/migana /mugana /megana /mogana /yagana /yugana /yogana /ragana +/rigana /rugana /regana /rogana /wagana /ngana /jvoiced /jsemivoiced +% 16#60 +/wigana /yegana /wasmallgana /.notdef /.notdef /.notdef /gagana /gigana +/gugana /gegana /gogana /zagana /jigana /zugana /zegana /zogana +/dagana /digana /dugana /degana /dogana /bagana /pagana /bigana +/pigana /bugana /pugana /begana /pegana /bogana /pogana /.notdef +% 16#80 +1 1 128 { /.notdef } for +] readonly def + +% +% Katakana +% + +/KatakanaEncoding [ +% 16#00 +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#20 +/space /jperiod /jbracketleft /jbracketright +/jcomma /periodcentered /wokana /asmallkana +/ismallkana /usmallkana /esmallkana /osmallkana +/yasmallkana /yusmallkana /yosmallkana /tsusmallkana +/jprolonged /akana /ikana /ukana /ekana /okana /kakana /kikana +/kukana /kekana /kokana /sakana /shikana /sukana /sekana /sokana +% 16#40 +/takana /chikana /tsukana /tekana /tokana /nakana /nikana /nukana +/nekana /nokana /hakana /hikana /fukana /hekana /hokana /makana +/mikana /mukana /mekana /mokana /yakana /yukana /yokana /rakana +/rikana /rukana /rekana /rokana /wakana /nkana /jvoiced /jsemivoiced +% 16#60 +/wikana /yekana /wasmallkana /kasmallkana /kesmallkana /vukana /gakana /gikana +/gukana /gekana /gokana /zakana /jikana /zukana /zekana /zokana +/dakana /dikana /dukana /dekana /dokana /bakana /pakana /bikana +/pikana /bukana /pukana /bekana /pekana /bokana /pokana /.notdef +% 16#80 +1 1 128 { /.notdef } for +] readonly def + +% +% Hankaku +% +/HankakuEncoding [ +% 16#00 +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +/.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#20 +/space /exclam /quotedbl /numbersign /dollar /percent /ampersand /quoteright +/parenleft /parenright /asterisk /plus /comma /hyphen /period /slash +/zero /one /two /three /four /five /six /seven +/eight /nine /colon /semicolon /less /equal /greater /question +% 16#40 +/at +/A /B /C /D /E /F /G /H /I /J /K /L /M /N /O /P /Q /R /S /T /U /V /W /X /Y /Z +/bracketleft /yen /bracketright /asciicircum /underscore +% 16#60 +/quoteleft +/a /b /c /d /e /f /g /h /i /j /k /l /m /n /o /p /q /r /s /t /u /v /w /x /y /z +/braceleft /bar /braceright /overline /.notdef +% 16#80 +/space /jperiod /jbracketleft /jbracketright +/jcomma /periodcentered /wogana /asmallgana +/ismallgana /usmallgana /esmallgana /osmallgana +/yasmallgana /yusmallgana /yosmallgana /tsusmallgana +/jprolonged /agana /igana /ugana /egana /ogana /kagana /kigana +/kugana /kegana /kogana /sagana /shigana /sugana /segana /sogana +%16#A0 +/space /jperiod /jbracketleft /jbracketright +/jcomma /periodcentered /wokana /asmallkana +/ismallkana /usmallkana /esmallkana /osmallkana +/yasmallkana /yusmallkana /yosmallkana /tsusmallkana +/jprolonged /akana /ikana /ukana /ekana /okana /kakana /kikana +/kukana /kekana /kokana /sakana /shikana /sukana /sekana /sokana +% 16#C0 +/takana /chikana /tsukana /tekana /tokana /nakana /nikana /nukana +/nekana /nokana /hakana /hikana /fukana /hekana /hokana /makana +/mikana /mukana /mekana /mokana /yakana /yukana /yokana /rakana +/rikana /rukana /rekana /rokana /wakana /nkana /jvoiced /jsemivoiced +% 16#E0 +/tagana /chigana /tsugana /tegana /togana /nagana /nigana /nugana +/negana /nogana /hagana /higana /fugana /hegana /hogana /magana +/migana /mugana /megana /mogana /yagana /yugana /yogana /ragana +/rigana /rugana /regana /rogana /wagana /ngana /jvoiced /jsemivoiced +] readonly def + +% +% Shift-JIS +% + +/RKSJEncoding [ 0 1 2 3 4 5 ] readonly def +/RKSJSubsVector [ 0 128 1 31 64 16 ] dup length string acvs readonly def + +/SJSuppAEncoding [ + 16#81 1 16#9F { 16#80 sub } for +] readonly def + +/SJSuppBEncoding [ + 16#E0 1 16#EA { 16#DF sub } for + 16#EB 1 16#EF { pop 0 } for +] readonly def + +/83pvSJSuppBEncoding [ + 16#E0 1 16#EE { 16#DF sub } for + 16#EF 1 16#EF { pop 0 } for +] readonly def + +/90pvSJSuppBEncoding [ + 16#E0 1 16#ED { 16#DF sub } for + 16#EE 1 16#EF { pop 0 } for +] readonly def + +/90msRKSJEncoding [ 0 1 2 3 4 5 ] readonly def +/90msRKSJSubsVector [ 0 128 1 31 64 29 ] dup length string acvs readonly def +/90msSJSuppBEncoding [ + 16#E0 1 16#EA { 16#DF sub } for + 16#EB 1 16#EC { pop 0 } for + 16#ED 1 16#EE { 16#E1 sub } for + 16#EF 1 16#F9 { pop 0 } for + 16#FA 1 16#FC { 16#EC sub } for +] readonly def + +/RKSuppKEncoding [ +% 16#00 + /space /jperiod /jbracketleft /jbracketright + /jcomma /periodcentered /wokana /asmallkana + /ismallkana /usmallkana /esmallkana /osmallkana + /yasmallkana /yusmallkana /yosmallkana /tsusmallkana + /jprolonged /akana /ikana /ukana /ekana /okana /kakana /kikana + /kukana /kekana /kokana /sakana /shikana /sukana /sekana /sokana +% 16#20 + /takana /chikana /tsukana /tekana /tokana /nakana /nikana /nukana + /nekana /nokana /hakana /hikana /fukana /hekana /hokana /makana + /mikana /mukana /mekana /mokana /yakana /yukana /yokana /rakana + /rikana /rukana /rekana /rokana /wakana /nkana /jvoiced /jsemivoiced +] readonly def + +/SJSubEncoding [ +% 16#00 + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#20 + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef + /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef /.notdef +% 16#40 + /c40 /c41 /c42 /c43 /c44 /c45 /c46 /c47 + /c48 /c49 /c4A /c4B /c4C /c4D /c4E /c4F + /c50 /c51 /c52 /c53 /c54 /c55 /c56 /c57 + /c58 /c59 /c5A /c5B /c5C /c5D /c5E /c5F +% 16#60 + /c60 /c61 /c62 /c63 /c64 /c65 /c66 /c67 + /c68 /c69 /c6A /c6B /c6C /c6D /c6E /c6F + /c70 /c71 /c72 /c73 /c74 /c75 /c76 /c77 + /c78 /c79 /c7A /c7B /c7C /c7D /c7E /.notdef +% 16#80 + /c80 /c81 /c82 /c83 /c84 /c85 /c86 /c87 + /c88 /c89 /c8A /c8B /c8C /c8D /c8E /c8F + /c90 /c91 /c92 /c93 /c94 /c95 /c96 /c97 + /c98 /c99 /c9A /c9B /c9C /c9D /c9E /c9F +% 16#A0 + /cA0 /cA1 /cA2 /cA3 /cA4 /cA5 /cA6 /cA7 + /cA8 /cA9 /cAA /cAB /cAC /cAD /cAE /cAF + /cB0 /cB1 /cB2 /cB3 /cB4 /cB5 /cB6 /cB7 + /cB8 /cB9 /cBA /cBB /cBC /cBD /cBE /cBF +% 16#C0 + /cC0 /cC1 /cC2 /cC3 /cC4 /cC5 /cC6 /cC7 + /cC8 /cC9 /cCA /cCB /cCC /cCD /cCE /cCF + /cD0 /cD1 /cD2 /cD3 /cD4 /cD5 /cD6 /cD7 + /cD8 /cD9 /cDA /cDB /cDC /cDD /cDE /cDF +% 16#E0 + /cE0 /cE1 /cE2 /cE3 /cE4 /cE5 /cE6 /cE7 + /cE8 /cE9 /cEA /cEB /cEC /cED /cEE /cEF + /cF0 /cF1 /cF2 /cF3 /cF4 /cF5 /cF6 /cF7 + /cF8 /cF9 /cFA /cFB /cFC /.notdef /.notdef /.notdef +] readonly def + +end + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Include supplementary files +% + +% Define basekanji operator + +(kbase.ps) runlibfile + +% Define compositekanji operator + +(kcomp.ps) runlibfile + +% Define Mapping Dictionary + +(kmapping.ps) runlibfile + +% Define outlinekanji operator + +(koutline.ps) runlibfile + +% Define bitmapkanji operator + +(kbitmap.ps) runlibfile +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Define NotDefFont +% + +7 dict begin +/FontName /NotDefFont def +/FontType 3 def +/FontMatrix [ 0.001 0 0 0.001 0 0 ] readonly def +/FontBBox { 0 -120 1000 880 } readonly def +/Encoding [ 0 1 255 { pop 0 } for ] readonly def +/BuildChar { pop pop + 1000 0 0 -120 1000 880 0 -1000 500 880 setcachedevice2 +} readonly def +currentdict end dup /FontName get exch definefont pop + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% Load Kanji font configuration file +% + +systemdict /KCONFIG 2 copy known { get }{ pop pop (kconfig.ps) } ifelse runlibfile + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +end + +%QUIET not { (done.\n) print flush } if |