[9089] | 1 | % Start of ps630.pro -- prolog for Diablo 630 translator |
---|
| 2 | % Copyright (c) 1985,1987 Adobe Systems Incorporated. All Rights Reserved. |
---|
| 3 | % GOVERNMENT END USERS: See Notice file in TranScript library directory |
---|
| 4 | % -- probably /usr/lib/ps/Notice |
---|
| 5 | % RCS: $Header: /afs/dev.mit.edu/source/repository/third/transcript/lib/ps630.pro,v 1.1.1.1 1996-10-07 20:25:31 ghudson Exp $ |
---|
| 6 | /maxtabs 159 def |
---|
| 7 | /htabs maxtabs 1 add array def |
---|
| 8 | /JA 514 array def |
---|
| 9 | /MRESET {/MR 1020 def /ML 18 def}def% paperright paperleft |
---|
| 10 | /MRS {currentpoint pop add /MR exch def}def |
---|
| 11 | /MLS {/ML currentpoint pop def}def |
---|
| 12 | /NM 1 def |
---|
| 13 | /BM 2 def |
---|
| 14 | /SM 4 def |
---|
| 15 | /UM 8 def |
---|
| 16 | /SBM 16 def |
---|
| 17 | /SPM 32 def |
---|
| 18 | /CR{VU ML exch moveto}def |
---|
| 19 | /LF{VU currentpoint pop exch moveto}def |
---|
| 20 | /M/moveto load def |
---|
| 21 | /R {0 rmoveto} def |
---|
| 22 | /PGI{.6 setlinewidth}def |
---|
| 23 | /PG{currentpoint pop showpage PGI}def |
---|
| 24 | /HU{.6 mul}def |
---|
| 25 | /VU{1.5 mul}def |
---|
| 26 | /SP{gsave exec grestore 1 0 rmoveto exec -1 0 rmoveto}def |
---|
| 27 | /UP{currentpoint /y exch def /x exch def |
---|
| 28 | grestore gsave currentpoint 3 sub newpath moveto x y 3 |
---|
| 29 | sub lineto stroke grestore x y moveto} def |
---|
| 30 | /SETM{dup NM and 0 ne {NFT setfont}if |
---|
| 31 | BM and 0 ne {BFT setfont}if |
---|
| 32 | }def |
---|
| 33 | /GETW{/W 0 def /NC 0 def 0 2 SARR length 1 sub dup |
---|
| 34 | /nelts exch def |
---|
| 35 | {dup SARR exch get SETM 1 add SARR exch get |
---|
| 36 | dup length NC add /NC exch def incr 0 ne |
---|
| 37 | {dup length incr mul W add /W exch def}if |
---|
| 38 | stringwidth pop W add /W exch def}for |
---|
| 39 | W}def |
---|
| 40 | /JUMS{dup SARR exch get dup /mode exch def SETM |
---|
| 41 | mode SBM and 0 ne{0 PSVMI2 neg rmoveto}if |
---|
| 42 | mode SPM and 0 ne{0 PSVMI2 rmoveto}if |
---|
| 43 | mode UM and 0 ne dup{gsave}if exch}def |
---|
| 44 | /JU{/incr exch def /nspaces exch def |
---|
| 45 | GETW MR currentpoint pop sub exch sub /bs exch def |
---|
| 46 | ( ) stringwidth pop incr add .5 mul dup nspaces mul bs abs gt |
---|
| 47 | {pop /incsp bs nspaces div def} |
---|
| 48 | {bs 0 lt {neg} if |
---|
| 49 | /incsp exch def bs nspaces incsp mul sub NC 1 sub dup 0 eq{pop 1}if div |
---|
| 50 | dup abs 4.2 le |
---|
| 51 | {incr add /incr exch def} {pop /incsp 0 def} ifelse |
---|
| 52 | }ifelse |
---|
| 53 | 0 2 nelts |
---|
| 54 | {JUMS 1 add incsp 0 32 incr 0 6 -1 roll SARR exch get mode SM and 0 ne |
---|
| 55 | {{awidthshow} 7 copy SP}{awidthshow}ifelse{UP} if} for |
---|
| 56 | }def |
---|
| 57 | /S{/incr 0 def CTEST mode SM and 0 ne{{show} 2 copy SP}{show}ifelse{UP}if}def |
---|
| 58 | /GSH {gsave show grestore}def |
---|
| 59 | /CTEST{/str exch def dup /mode exch def |
---|
| 60 | UM and 0 ne dup {gsave} if mode SETM str}def |
---|
| 61 | /AS{/incr exch def CTEST |
---|
| 62 | incr exch 0 exch mode SM and 0 ne{{ashow} 4 copy SP}{ashow}ifelse{UP}if}def |
---|
| 63 | /CTABALL{htabs /tabs exch def 0 1 maxtabs{tabs exch 999999 put}for}def |
---|
| 64 | /STAB{currentpoint pop htabs |
---|
| 65 | /tabs exch def round /tabloc exch def tabs dup maxtabs get 999999 eq |
---|
| 66 | {tabloc TF dup dup tabs exch get tabloc ne |
---|
| 67 | {1 add maxtabs exch 1 neg exch{tabs exch dup tabs exch 1 sub get put}for |
---|
| 68 | tabloc put}{pop pop pop}ifelse}{pop}ifelse}def |
---|
| 69 | /CTAB{currentpoint pop htabs |
---|
| 70 | /tabs exch def round dup/tabloc exch def TF dup tabs exch get tabloc eq |
---|
| 71 | {1 maxtabs 1 sub{tabs exch 2 copy 1 add get put}for |
---|
| 72 | tabs maxtabs 999999 put}{pop}ifelse}def |
---|
| 73 | /DOTAB{currentpoint exch true htabs |
---|
| 74 | /tabs exch def /sr exch def 1 add TF dup maxtabs le |
---|
| 75 | {tabs exch get dup 999999 ne |
---|
| 76 | {sr{exch moveto}{3 -1 roll sub neg moveto}ifelse}{CL}ifelse |
---|
| 77 | }{CL}ifelse}def |
---|
| 78 | /CL{pop pop sr not{pop}if}def |
---|
| 79 | /TF{/val exch def maxtabs 1 add 0 1 maxtabs |
---|
| 80 | {dup tabs exch get val ge {exch pop exit}{pop}ifelse}for}def |
---|
| 81 | /AC{/incr exch def GETW neg MR add ML add 2 div currentpoint exch pop moveto |
---|
| 82 | 0 2 nelts{JUMS 1 add SARR exch get incr exch 0 exch mode SM and 0 ne |
---|
| 83 | {{ashow}4 copy SP}{ashow}ifelse{UP}if}for}def |
---|
| 84 | /SJA{counttomark JA exch 0 exch getinterval astore exch pop /SARR exch def}def |
---|
| 85 | /RMV{/incr exch def dup dup stringwidth pop PSHMI sub |
---|
| 86 | exch length 1 sub incr mul add neg 0 rmoveto gsave}def |
---|
| 87 | /RMVBK{grestore PSHMI incr add neg 0 rmoveto}def |
---|
| 88 | |
---|