#
source:
trunk/third/transcript/lib/ps630.pro
@
9090

Revision 9090, 3.7 KB checked in by ghudson, 28 years ago (diff) |
---|

Line | |
---|---|

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 |

**Note:**See TracBrowser for help on using the repository browser.