summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlgs/kanji/kinit.ps
diff options
context:
space:
mode:
Diffstat (limited to 'Master/tlpkg/tlgs/kanji/kinit.ps')
-rw-r--r--Master/tlpkg/tlgs/kanji/kinit.ps457
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