home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 4 / AUCD4.iso / acorn / riscos / releases / ro2extra / !PrinterPS / PSprolog2 < prev    next >
Text File  |  1989-04-27  |  5KB  |  71 lines

  1. % > <PDriver$Dir>.<PDriver$PSprologue2>
  2. % Main prologue file for the PostScript printer driver module.
  3. % Version 2.00, first used with version 2.04 of the module.
  4. % (compressed version)
  5. /PDdict 200 dict def PDdict begin/LW/setlinewidth load def/St/stroke
  6. load def/T/translate load def/S/save load def/R/restore load
  7. def/GS/gsave load def/GR/grestore load def/CP/clippath load
  8. def/Cl/closepath load def/M/moveto load def/L/lineto load def/B/curveto
  9. load def/PS{72. 180. div dup scale newpath[]0. setdash}bind
  10. def/Copies{#copies/#copies 3 -1 roll def showpage/#copies exch def}bind
  11. def/MP{400. div}bind def/Fb{65536. div}bind def/WM1 matrix def/WM2
  12. matrix def/UM{Fb 4 1 roll Fb 4 1 roll Fb 4 1 roll Fb 4 1 roll 0. 0. WM1
  13. astore concat}bind def/Bx{4 copy 5 1 roll 4 2 roll 5 -1 roll M L L L
  14. Cl}bind def/Cp{Bx clip newpath}bind def/MC{0. 0. Cp}bind def/G{255. div
  15. setgray}bind def/C{255. div 3 1 roll 255. div 3 1 roll 255. div 3 1 roll
  16. setrgbcolor}bind def/Eps 0.1 MP def/VSt{2 setlinecap 0 setlinejoin
  17. 2.000001 setmiterlimit 2. LW 0. Eps rlineto St}bind def/VFl{Cl GS fill
  18. GR VSt}bind def/Li{M L VSt}bind def/Pt{M VSt}bind def/Tr{M L L VFl}bind
  19. def/Rc{Bx VFl}bind def/Pr{6 copy M L L 5 -1 roll 4 -1 roll sub add 4 1
  20. roll exch sub add exch L VFl}bind def/Ln{dup mul exch dup mul add
  21. sqrt}bind def/Cir{0. 360. arc}bind def/VC{Ln Cir}bind def/CS{VC VSt}bind
  22. def/CF{VC VFl}bind def/VA{2 copy Ln 5 1 roll exch atan 3 1 roll exch
  23. atan arc}bind def/Ac{VA VSt}bind def/Cd{VA VFl}bind def/Sc{5 index 5
  24. index M VA VFl}bind def/VE{0. 5 1 roll WM1 astore WM2 currentmatrix exch
  25. concat 0. 0. 1. Cir setmatrix}bind def/ES{VE VSt}bind def/EF{VE VFl}bind
  26. def/Max{2 copy lt{exch}if pop}bind def/DM{256. div 6 1 roll 256. div 6 1
  27. roll Fb 256. div 6 1 roll Fb 256. div 6 1 roll Fb 256. div 6 1 roll Fb
  28. 256. div 6 1 roll WM1 astore concat}bind def/CJ{Fb setmiterlimit
  29. setlinecap setlinejoin}bind def/WS 4096 string def/SMat matrix
  30. def/SS{div 3 1 roll div exch scale}bind def/SM{1. exch div 0. 0. 1. 0.
  31. 0. SMat astore pop}bind def/RC{WS 0 3 index put dup 1 gt{WS 1 3 index
  32. put dup 2 gt{WS 2 3 index put WS 3 3 index put dup 4 gt{WS 4 WS 0 4
  33. getinterval putinterval dup 8 gt{WS 8 WS 0 8 getinterval putinterval dup
  34. 16 gt{WS 16 WS 0 16 getinterval putinterval dup 32 gt{WS 32 WS 0 32
  35. getinterval putinterval dup 64 gt{WS 64 WS 0 64 getinterval putinterval
  36. dup 128 gt{WS 128 WS 0 128 getinterval putinterval dup 256 gt{WS 256 WS
  37. 0 256 getinterval putinterval dup 512 gt{WS 512 WS 0 512 getinterval
  38. putinterval dup 1024 gt{WS 1024 WS 0 1024 getinterval putinterval dup
  39. 2048 gt{WS 2048 WS 0 2048 getinterval
  40. putinterval}if}if}if}if}if}if}if}if}if}if}if}if pop pop}bind
  41. def/SR{currentfile token pop dup 0 gt{WS 0 3 -1 roll getinterval
  42. currentfile exch readhexstring pop}{neg currentfile token pop 1 index RC
  43. WS 0 3 -1 roll getinterval}ifelse}bind def/S1{true SMat/SR load
  44. imagemask}bind def 255 2048 RC/FFs WS 0 2048 getinterval 2048 string
  45. copy def/SF{/WS2 FFs 0 4 index 7 add 8 idiv 4 index mul getinterval def
  46. true SMat{WS2}imagemask}bind def/SN{8 SMat/SR load image}bind def/TS{1.
  47. exch div exch 1. exch div exch scale}bind def/Fn{16. div 1000. mul exch
  48. 16. div 1000. mul exch dup/fheight exch def 0. 0. 3 -1 roll 0. 0. WM1
  49. astore fonts 3 -1 roll get exch makefont setfont}bind def/Ul{GS 2 copy
  50. Ln ulpos ulthick 2. div sub 256. div fheight mul exch div dup 2 index
  51. neg mul exch 3 index mul rmoveto 2 copy rlineto ulthick 256. div fheight
  52. mul LW 0 setlinecap St GR}bind def/AC{3 -1 roll exch sub 3 index length
  53. div 4 1 roll sub 1 index length div 3 1 roll}bind def/Tx{M 2 index
  54. stringwidth AC ashow}bind def/JTx{/spaces exch def/Ydef exch def/Xdef
  55. exch def M 2 index stringwidth Ydef add exch Xdef add exch AC Xdef
  56. spaces div Ydef spaces div 32 6 3 roll awidthshow}bind def/UTx{/ulthick
  57. exch def/ulpos exch def M Ul 2 index stringwidth AC ashow}bind
  58. def/UJTx{/ulthick exch def/ulpos exch def/spaces exch def/Ydef exch
  59. def/Xdef exch def M Ul 2 index stringwidth Ydef add exch Xdef add exch
  60. AC Xdef spaces div Ydef spaces div 32 6 3 roll awidthshow}bind def/cdefs
  61. 224 8 mul string def cdefs 127 32 sub 8 mul FFs 0 8 getinterval
  62. putinterval/DC{32 sub 8 mul cdefs exch 8 getinterval currentfile exch
  63. readhexstring pop pop}bind def/ArcFont dup 6 dict dup
  64. begin/FontMatrix[1. 0. 0. 1. 0. -1.]def/FontType 3 def/FontBBox[0. 0. 1.
  65. 1.]def/Encoding 256 array def 0 1 255{Encoding exch/.notdef
  66. put}for/BuildChar{xgap ygap setcharwidth 8 8 true 8. 0. 0. 8. 0. 0. WM2
  67. astore 5 -1 roll 32 sub 8 mul cdefs exch 8 getinterval imagemask
  68. pop}bind def end definefont fonts 3 1 roll put/V{GS 2 index div/ygap
  69. exch def 2 index div/xgap exch def 0. 0. 3 -1 roll 0. 0. WM1 astore
  70. fonts/ArcFont get exch makefont setfont moveto show GR}bind def end
  71.