postbgi.ps 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. %
  2. % Version 3.3.2 prologue for BGI files - STARE or PRISM.
  3. %
  4. /#copies 1 store
  5. /aspectratio 1 def
  6. /fixlinewidth true def
  7. /fixscreen false def
  8. /font /Courier def
  9. /formsperpage 1 def
  10. /landscape false def
  11. /linewidth 0 def
  12. /magnification 1 def
  13. /margin 0 def
  14. /orientation 0 def
  15. /prism false def
  16. /resolution 128 def
  17. /rotation 1 def
  18. /scaletodevice false def
  19. /screenheight 1280 def
  20. /screenwidth 1024 def
  21. /xoffset 0 def
  22. /yoffset 0 def
  23. /devres 72 0 matrix defaultmatrix dtransform dup mul exch dup mul add sqrt def
  24. /useclippath true def
  25. /pagebbox [0 0 612 792] def
  26. /inch {72 mul} bind def
  27. /min {2 copy gt {exch} if pop} bind def
  28. /kshow {kshow} bind def % so later references don't bind
  29. /show {show} bind def
  30. /setup {
  31. counttomark 2 idiv {def} repeat pop
  32. landscape {/orientation 90 orientation add def} if
  33. prism {/fixscreen true def /scaletodevice true def} if
  34. prism linewidth 0 eq and {/linewidth .3 def} if
  35. fixscreen {devres 4 div orientation currentscreen 3 1 roll pop pop setscreen} if
  36. pagedimensions
  37. /scaling
  38. scaletodevice
  39. {devres resolution div truncate 72 mul devres div dup}
  40. {height margin sub screenheight div width margin sub screenwidth div}
  41. ifelse
  42. min def
  43. xcenter ycenter translate
  44. orientation rotation mul rotate
  45. xoffset inch yoffset inch translate
  46. magnification dup aspectratio mul scale
  47. scaling scaling scale
  48. screenwidth 2 div neg screenheight 2 div neg translate
  49. tietodevicespace
  50. linewidth scaling div setlinewidth
  51. 1 setlinecap
  52. newpath
  53. } def
  54. /pagedimensions {
  55. useclippath {
  56. /pagebbox [clippath pathbbox newpath] def
  57. } if
  58. pagebbox aload pop
  59. 4 -1 roll exch 4 1 roll 4 copy
  60. landscape {4 2 roll} if
  61. sub /width exch def
  62. sub /height exch def
  63. add 2 div /xcenter exch def
  64. add 2 div /ycenter exch def
  65. userdict /gotpagebbox true put
  66. } def
  67. /pagesetup {/page exch def} bind def
  68. /tietodevicespace {
  69. fixlinewidth linewidth 0 gt and linewidth 1 lt and {
  70. /moveto {
  71. 2 copy /Y exch def /X exch def
  72. transform round exch round exch itransform
  73. moveto
  74. } bind def
  75. /lineto {
  76. 2 copy /Y exch def /X exch def
  77. transform round exch round exch itransform
  78. lineto
  79. } bind def
  80. /rlineto {Y add exch X add exch lineto} bind def
  81. /v V 0 get bind def
  82. } if
  83. } def
  84. /V [{moveto counttomark 2 idiv {rlineto} repeat stroke}] def
  85. /v V 0 get bind def
  86. /p {linewidth 2 div 0 360 arc fill} bind def
  87. /pp {/ch exch def counttomark 2 idiv {moveto xc yc rmoveto ch show} repeat} bind def
  88. /l {{scaling div} forall counttomark array astore 0 setdash} bind def
  89. /c {setrgbcolor} bind def
  90. /T {newpath moveto rlineto rlineto rlineto closepath eofill} bind def
  91. /R {
  92. newpath moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath
  93. 0 eq {stroke} {eofill} ifelse
  94. } bind def
  95. /f {
  96. dup dup
  97. /charwidth exch 6 mul def
  98. /xc exch -2.5 mul def
  99. /yc exch -3.5 mul def
  100. font findfont charwidth .6 div scalefont setfont
  101. } bind def
  102. /t {
  103. /str exch def
  104. gsave
  105. translate rotate
  106. xc yc moveto
  107. currentpoint
  108. {
  109. pop pop
  110. exch charwidth add exch
  111. moveto currentpoint
  112. } str kshow
  113. pop pop
  114. grestore
  115. } bind def
  116. /done {/lastpage where {pop lastpage} if} def