dca88ea065
PR: ports/25101 Submitted by: Takeshi MUTOH <mutoh@info.nara-k.ac.jp>
247 lines
8.1 KiB
Text
247 lines
8.1 KiB
Text
--- 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 {
|