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