home *** CD-ROM | disk | FTP | other *** search
/ ARM Club 3 / TheARMClub_PDCD3.iso / programs / acorn / riscos2 / apps1 / !PrinterPS / PSprolog2 < prev    next >
Encoding:
Text File  |  1988-12-06  |  4.5 KB  |  70 lines

  1. % > <PDriver$Dir>.<PDriver$PSprologue2>
  2. % Main prologue file for the PostScript printer driver module.
  3. % Version 1.02, first used with version 1.02 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 exch def}bind def/MP{400 div}bind def/Fb{16#10000
  11. div}bind def/WM1 matrix def/WM2 matrix def/UM{Fb 4 1 roll Fb 4 1 roll Fb
  12. 4 1 roll Fb 4 1 roll 0 0 WM1 astore concat}bind def/Bx{4 copy 5 1 roll 4
  13. 2 roll 5 -1 roll M L L L Cl}bind def/Cp{Bx clip newpath}bind
  14. def/MC{initclip 0 0 Cp}bind def/G{255 div setgray}bind def/C{255 div 3 1
  15. roll 255 div 3 1 roll 255 div 3 1 roll setrgbcolor}bind def/Eps 0.1 MP
  16. def/VSt{2 setlinecap 0 setlinejoin 2.000001 setmiterlimit 2 LW 0 Eps
  17. rlineto St}bind def/VFl{Cl GS fill GR VSt}bind def/Li{M L VSt}bind
  18. def/Pt{M VSt}bind def/Tr{M L L VFl}bind def/Rc{Bx VFl}bind def/Pr{6 copy
  19. M L L 5 -1 roll 4 -1 roll sub add 4 1 roll exch sub add exch L VFl}bind
  20. def/Ln{dup mul exch dup mul add sqrt}bind def/Cir{0 360 arc}bind
  21. def/VC{Ln Cir}bind def/CS{VC VSt}bind def/CF{VC VFl}bind def/VA{2 copy
  22. Ln 5 1 roll exch atan 3 1 roll exch atan arc}bind def/Ac{VA VSt}bind
  23. def/Cd{VA VFl}bind def/Sc{5 index 5 index M VA VFl}bind def/VE{0 5 1
  24. roll WM1 astore WM2 currentmatrix exch concat 0 0 1 Cir setmatrix}bind
  25. def/ES{VE VSt}bind def/EF{VE VFl}bind def/Exch{exch}bind def/Max{2 copy
  26. lt/Exch load if pop}bind def/ExchPop{exch pop}bind def/Div{div}bind
  27. def/DF{WM1 currentmatrix aload pop pop pop 4 copy 4 -1 roll mul 3 1 roll
  28. mul sub abs 5 1 roll abs exch abs add 3 1 roll abs exch abs add Max dup
  29. 0 eq/ExchPop load/Div load ifelse 2 sqrt div mul 1 Max setflat}bind
  30. def/DM{256 div 6 1 roll 256 div 6 1 roll Fb 256 div 6 1 roll Fb 256 div
  31. 6 1 roll Fb 256 div 6 1 roll Fb 256 div 6 1 roll WM1 astore concat}bind
  32. def/CJ{Fb setmiterlimit setlinecap setlinejoin}bind def/WS 16#1000
  33. string def/FFs 16#800 string def FFs 0<FFFFFFFFFFFFFFFF>putinterval FFs
  34. 16#8 FFs 0 16#8 getinterval putinterval FFs 16#10 FFs 0 16#10
  35. getinterval putinterval FFs 16#20 FFs 0 16#20 getinterval putinterval
  36. FFs 16#40 FFs 0 16#40 getinterval putinterval FFs 16#80 FFs 0 16#80
  37. getinterval putinterval FFs 16#100 FFs 0 16#100 getinterval putinterval
  38. FFs 16#200 FFs 0 16#200 getinterval putinterval FFs 16#400 FFs 0 16#400
  39. getinterval putinterval/SMat matrix def/SS{div 3 1 roll div exch
  40. scale}bind def/SM{1 exch div 0 0 1 0 0 SMat astore pop}bind
  41. def/RetWS2{WS2}bind def/S1{currentfile WS 0 4 index 7 add 8 idiv 4 index
  42. mul getinterval readhexstring pop/WS2 exch def true SMat/RetWS2 load
  43. imagemask}bind def/SF{true SMat FFs 0 5 index 7 add 8 idiv 5 index mul
  44. getinterval imagemask}bind def/SN{currentfile WS 0 4 index 4 index mul
  45. getinterval readhexstring pop/WS2 exch def 8 SMat/RetWS2 load image}bind
  46. def/TS{1 exch div exch 1 exch div exch scale}bind def/Fn{16 div 1000 mul
  47. exch 16 div 1000 mul exch dup/fheight exch def 0 0 3 -1 roll 0 0 WM1
  48. astore fonts 3 -1 roll get exch makefont setfont}bind def/Ul{GS 2 copy
  49. Ln ulpos ulthick 2 div sub 256 div fheight mul exch div dup 2 index neg
  50. mul exch 3 index mul rmoveto 2 copy rlineto ulthick 256 div fheight mul
  51. LW 0 setlinecap St GR}bind def/AC{3 -1 roll exch sub 3 index length div
  52. 4 1 roll sub 1 index length div 3 1 roll}bind def/Tx{M 2 index
  53. stringwidth AC ashow}bind def/JTx{/spaces exch def/Ydef exch def/Xdef
  54. exch def M 2 index stringwidth Ydef add exch Xdef add exch AC Xdef
  55. spaces div Ydef spaces div 32 6 3 roll awidthshow}bind def/UTx{/ulthick
  56. exch def/ulpos exch def M Ul 2 index stringwidth AC ashow}bind
  57. def/UJTx{/ulthick exch def/ulpos exch def/spaces exch def/Ydef exch
  58. def/Xdef exch def M Ul 2 index stringwidth Ydef add exch Xdef add exch
  59. AC Xdef spaces div Ydef spaces div 32 6 3 roll awidthshow}bind def/cdefs
  60. 224 8 mul string def cdefs 127 32 sub 8 mul FFs 0 8 getinterval
  61. putinterval/DC{32 sub 8 mul cdefs exch 8 getinterval currentfile exch
  62. readhexstring pop pop}bind def/ArcFont dup 6 dict dup begin/FontMatrix[1
  63. 0 0 1 0 -1]def/FontType 3 def/FontBBox[0 0 1 1]def/Encoding 256 array
  64. def 0 1 255{Encoding exch/.notdef put}for/BuildChar{xgap ygap
  65. setcharwidth 8 8 true 8 0 0 8 0 0 WM2 astore 5 -1 roll 32 sub 8 mul
  66. cdefs exch 8 getinterval imagemask pop}bind def end definefont fonts 3 1
  67. roll put/V{GS 2 index div/ygap exch def 2 index div/xgap exch def 0 0 3
  68. -1 roll 0 0 WM1 astore fonts/ArcFont get exch makefont setfont moveto
  69. show GR}bind def end
  70.