--- header.ps.org	Wed Jan 31 21:59:27 2001
+++ header.ps	Wed Jan 31 22:00:47 2001
@@ -4,15 +4,197 @@
 %%Pages: 1
 %%PageOrder: Ascend
 %%BoundingBox: 0 0 612 792
-%%DocumentFonts: Times-Roman
+%%DocumentFonts: Times-Roman Rymin-Light-EUC-H
 %%EndComments
 
+%%BeginProcSet: cmpfont.ps 1 2
+% composite fonts for ASCII-EUC mixed string
+% Version 1.2 1/31/1990
+% Author Ken'ichi HANDA (handa@etl.go.jp)
+% Modified Norio Katayama (katayama@rd.nacsis.ac.jp),1998% Anyone can freely copy, modify, distribute this program.
+/copyfont {	% font-dic extra-entry-count  copyfont  font-dic
+	1 index maxlength add dict begin
+	{	1 index /FID ne 2 index /UniqueID ne and
+		{def} {pop pop} ifelse
+	} forall
+	currentdict
+	end
+} bind def
+
+/compositefont {	% ASCIIFontName EUCFontName  compositefont  font'
+    userdict /fixeucfont_dict known not {
+	userdict begin
+	    /fixeucfont_dict 2 dict begin
+		/UpperByteEncoding [
+		    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
+		] def
+	        /LowerByteEncoding [
+		    16#00 1 16#A0 { pop /.notdef } for
+		    16#A1 1 16#FE { 16#80 sub 16 2 string cvrs
+				    (cXX) dup 1 4 -1 roll
+				    putinterval cvn } for
+		    /.notdef
+		] def
+		currentdict
+	    end def
+	end
+    } if
+    findfont dup /FontType get 0 eq {
+	12 dict begin
+	    %
+	    % 7+8 bit EUC font
+	    %
+	    12 dict begin
+		/EUCFont exch def
+		/FontInfo (7+8 bit EUC font) readonly def
+		/PaintType 0 def
+		/FontType 0 def
+		/FontMatrix matrix def
+		% /FontName
+		/Encoding fixeucfont_dict /UpperByteEncoding get def
+		/FMapType 2 def
+		EUCFont /WMode known
+		{ EUCFont /WMode get /WMode exch def }
+		{ /WMode 0 def } ifelse
+		/FDepVector [
+		    EUCFont /FDepVector get 0 get
+		    [ 16#21 1 16#28 {} for 16#30 1 16#74 {} for ]
+		    {
+			13 dict begin
+			    /EUCFont EUCFont def
+			    /UpperByte exch 16#80 add def	
+			    % /FontName
+			    /FontInfo (EUC lower byte font) readonly def
+			    /PaintType 0 def
+			    /FontType 3 def
+			    /FontMatrix matrix def
+			    /FontBBox {0 0 0 0} def
+			    /Encoding
+				fixeucfont_dict /LowerByteEncoding get def
+			    % /UniqueID
+			    % /WMode
+			    /BuildChar {
+				gsave
+				exch dup /EUCFont get setfont
+				/UpperByte get
+				2 string
+				dup 0 4 -1 roll put
+				dup 1 4 -1 roll put
+				dup stringwidth setcharwidth
+				0 0 moveto show
+				grestore
+			    } bind def
+			    currentdict
+			end
+			/lowerbytefont exch definefont
+		    } forall
+		] def
+		currentdict
+	    end
+	    /eucfont exch definefont
+	    exch
+	    findfont 1 copyfont dup begin
+		/FontMatrix FontMatrix [1 0 0 1 0 0.05] matrix concatmatrix def
+	    end
+	    /asciifont exch definefont
+	    exch
+	    /FDepVector [ 4 2 roll ] def
+	    /FontType 0 def
+	    /WMode 0 def
+	    /FMapType 4 def
+	    /FontMatrix matrix def
+	    /Encoding [0 1] def
+	    /FontBBox {0 0 0 0} def
+	    currentdict
+	end
+    }{
+	pop findfont 0 copyfont
+    } ifelse
+} def	
+
+/slantfont {	% FontName slant-degree  slantfont  font'
+    exch findfont 1 copyfont begin
+    [ 1 0 4 -1 roll 1 0 0 ] FontMatrix exch matrix concatmatrix
+    /FontMatrix exch def
+    currentdict
+    end
+} def
+%%EndProcSet
+
+% reencodeISO was modified to deal with a composite font correctly.
+% Modifier: Shigeru Chiba (chiba@is.s.u-tokyo.ac.jp)
+%           Kazuhiro Kazama (kazama@expert-sun.ntt.jp)
+/reencodeISOa {		% CompFontName font reencodeISOb font' 
+dup length dict begin
+{ 1 index /FID ne { def }{ pop pop } ifelse } forall
+/Encoding ISOLatin1Encoding def
+currentdict end definefont
+} def
+
+/reencodeISO {		% FontName reencodeISO font
+    dup dup findfont dup /FontType get 0 ne {
+    reencodeISOa
+}{
+    dup length dict begin {
+    1 index dup /FID eq {
+	pop pop pop
+    }{ /FDepVector eq {
+	dup length array copy
+	dup dup 0 get 4 index exch reencodeISOa	0 exch put def
+    }{
+	def
+    } ifelse } ifelse } forall
+    currentdict end definefont
+} ifelse } def
+
+/ISOLatin1Encoding [
+/.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
+/space/exclam/quotedbl/numbersign/dollar/percent/ampersand/quoteright
+/parenleft/parenright/asterisk/plus/comma/minus/period/slash
+/zero/one/two/three/four/five/six/seven/eight/nine/colon/semicolon
+/less/equal/greater/question/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/backslash/bracketright
+/asciicircum/underscore/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/asciitilde
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef
+/.notdef/dotlessi/grave/acute/circumflex/tilde/macron/breve
+/dotaccent/dieresis/.notdef/ring/cedilla/.notdef/hungarumlaut
+/ogonek/caron/space/exclamdown/cent/sterling/currency/yen/brokenbar
+/section/dieresis/copyright/ordfeminine/guillemotleft/logicalnot
+/hyphen/registered/macron/degree/plusminus/twosuperior/threesuperior
+/acute/mu/paragraph/periodcentered/cedilla/onesuperior/ordmasculine
+/guillemotright/onequarter/onehalf/threequarters/questiondown
+/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
+/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex
+/Idieresis/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis
+/multiply/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute
+/Thorn/germandbls/agrave/aacute/acircumflex/atilde/adieresis
+/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave
+/iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex
+/otilde/odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis
+/yacute/thorn/ydieresis
+] def
+
+%%BeginSetup
+/Times-Ryumin
+    /Times-Roman /Ryumin-Light-EUC-H compositefont definefont pop
+/Times-Ryumin reencodeISO def
+%%EndSetup
+
 % Simple defs
 /inch { 72 mul } def
 /mm { 72 mul 25.4 div } def
 
 % User-defined parameters (with defaults)
-/FontName	/Times-Roman	def
+/FontName	/Times-Ryumin	def
 /RealWidth	8.5 inch	def
 /RealHeight	11 inch		def
 /LandScape      true            def
@@ -52,44 +234,6 @@
 /SetFontHeight          { /FontHeight exch def } def
 /SetA4Paper		{ /RealWidth 210 mm def /RealHeight 297 mm def} def
 /SetUSLetter		{ /RealWidth 8.5 inch def /RealHeight 11 inch def } def
-
-% Define /ISOLatin1Encoding only if it's not already there.
-/ISOLatin1Encoding where { pop save true }{ false } ifelse
-    /ISOLatin1Encoding [
-	StandardEncoding 0 45 getinterval aload pop
-	/minus
-	StandardEncoding 46 98 getinterval aload pop
-	/dotlessi /grave /acute /circumflex /tilde /macron /breve /dotaccent
-	/dieresis /.notdef /ring /cedilla /.notdef /hungarumlaut /ogonek
-	/caron /space /exclamdown /cent /sterling /currency /yen /brokenbar
-	/section /dieresis /copyright /ordfeminine /guillemotleft /logicalnot
-	/hyphen /registered /macron /degree /plusminus /twosuperior
-	/threesuperior /acute /mu /paragraph /periodcentered /cedilla
-	/onesuperior /ordmasculine /guillemotright /onequarter /onehalf
-	/threequarters /questiondown /Agrave /Aacute /Acircumflex /Atilde
-	/Adieresis /Aring /AE /Ccedilla /Egrave /Eacute /Ecircumflex /Edieresis
-	/Igrave /Iacute /Icircumflex /Idieresis /Eth /Ntilde /Ograve /Oacute
-	/Ocircumflex /Otilde /Odieresis /multiply /Oslash /Ugrave /Uacute
-	/Ucircumflex /Udieresis /Yacute /Thorn /germandbls /agrave /aacute
-	/acircumflex /atilde /adieresis /aring /ae /ccedilla /egrave /eacute
-	/ecircumflex /edieresis /igrave /iacute /icircumflex /idieresis /eth
-	/ntilde /ograve /oacute /ocircumflex /otilde /odieresis /divide /oslash
-	/ugrave /uacute /ucircumflex /udieresis /yacute /thorn /ydieresis
-    ] def
-{ restore } if
-
-/reencodeISO { %def
-    findfont dup length dict
-    begin
-	{ 1 index /FID ne { def }{ pop pop } ifelse } forall
-	/Encoding ISOLatin1Encoding def
-	currentdict
-    end
-    definefont pop
-} bind def
-
-/isoFont FontName reencodeISO
-/FontName /isoFont def
 
 % Compute layout
 /ComputeLayout {
