|
|
1.1 ! root 1: % ! 2: % Version 3.3.2 prologue for matrix display files. ! 3: % ! 4: ! 5: /#copies 1 store ! 6: /aspectratio 1 def ! 7: /font /Helvetica def ! 8: /formsperpage 1 def ! 9: /landscape false def ! 10: /magnification 1 def ! 11: /margin 10 def ! 12: /orientation 0 def ! 13: /rotation 1 def ! 14: /size 9 def ! 15: /statspace 1.6 def ! 16: /ticklength .06 def ! 17: /tickspacing 10 def ! 18: /xoffset 0 def ! 19: /yoffset 0 def ! 20: ! 21: /useclippath true def ! 22: /pagebbox [0 0 612 792] def ! 23: ! 24: /inch {72 mul} bind def ! 25: /min {2 copy gt {exch} if pop} bind def ! 26: ! 27: /show {show} bind def % so later references don't bind ! 28: /stringwidth {stringwidth} bind def ! 29: ! 30: /setup { ! 31: counttomark 2 idiv {def} repeat pop ! 32: ! 33: landscape {/orientation 90 orientation add def} if ! 34: ! 35: pagedimensions ! 36: height width lt { ! 37: /statspace statspace height width div mul def ! 38: /size size height width div mul def ! 39: /ticklength ticklength height width div mul def ! 40: } if ! 41: /height height margin sub statspace inch sub ticklength inch sub size 6 mul sub def ! 42: /width width margin sub ticklength inch sub def ! 43: xcenter ycenter translate ! 44: orientation rotation mul rotate ! 45: xoffset inch yoffset inch translate ! 46: 0 height 2 div height width min 2 div sub translate ! 47: 0 statspace inch 2 div translate ! 48: magnification dup aspectratio mul scale ! 49: ! 50: 0 setlinewidth ! 51: } def ! 52: ! 53: /pagedimensions { ! 54: useclippath { ! 55: /pagebbox [clippath pathbbox newpath] def ! 56: } if ! 57: pagebbox aload pop ! 58: 4 -1 roll exch 4 1 roll 4 copy ! 59: landscape {4 2 roll} if ! 60: sub /width exch def ! 61: sub /height exch def ! 62: add 2 div /xcenter exch def ! 63: add 2 div /ycenter exch def ! 64: userdict /gotpagebbox true put ! 65: } def ! 66: ! 67: /pagesetup {/page exch def} bind def ! 68: ! 69: /bitmap { ! 70: /scanlines exch def ! 71: /scanlength exch def ! 72: ! 73: /picstr scanlength string def ! 74: ! 75: gsave ! 76: height scanlines div width scanlength div min ! 77: /scaling exch def ! 78: scaling scaling scale ! 79: ! 80: scanlength neg 2 div scanlines neg 2 div translate ! 81: scanlength scanlines scale ! 82: getbitmap ! 83: grestore ! 84: } bind def ! 85: ! 86: /getbitmap { ! 87: scanlength scanlines 8 [scanlength 0 0 scanlines neg 0 scanlines] { ! 88: 0 { ! 89: currentfile token pop dup ! 90: 0 eq {pop pop exit} if ! 91: /charcount exch def ! 92: picstr 1 index charcount getinterval ! 93: /repl exch def ! 94: currentfile repl readhexstring pop pop ! 95: charcount add ! 96: currentfile token pop { ! 97: picstr 1 index repl putinterval ! 98: charcount add ! 99: } repeat ! 100: } loop ! 101: picstr ! 102: } image ! 103: } bind def ! 104: ! 105: /labelmatrix { ! 106: /matrixlimits exch def ! 107: /matrixname exch def ! 108: ! 109: gsave ! 110: scaling scaling scale ! 111: font findfont size scaling div scalefont setfont ! 112: scanlength neg 2 div scanlines 2 div translate ! 113: ! 114: 0 scanlines size 1.5 mul scaling div add neg moveto ! 115: matrixname show ! 116: ! 117: scanlength scanlines size 1.5 mul scaling div add neg moveto ! 118: matrixlimits stringwidth pop neg 0 rmoveto ! 119: matrixlimits show ! 120: ! 121: newpath ! 122: 0 0 moveto ! 123: scanlength 0 rlineto ! 124: 0 scanlines neg rlineto ! 125: scanlength neg 0 rlineto ! 126: closepath stroke ! 127: ! 128: scanlength tickspacing idiv 1 add tickspacing 0 ticks ! 129: scanlines tickspacing idiv 1 add 0 tickspacing neg ticks ! 130: grestore ! 131: } bind def ! 132: ! 133: /ticks { ! 134: /dy exch def ! 135: /dx exch def ! 136: ! 137: /tl ticklength inch scaling div def ! 138: newpath ! 139: 0 0 moveto ! 140: { ! 141: gsave dx 0 eq {tl neg 0} {0 tl} ifelse rlineto stroke grestore ! 142: dx dy rmoveto ! 143: } repeat ! 144: } bind def ! 145: ! 146: /legend { ! 147: /regions exch def ! 148: /total exch def ! 149: ! 150: gsave ! 151: width height min 2 div neg dup size 2 mul sub translate ! 152: 0 statspace inch neg translate ! 153: ! 154: gsave ! 155: regions { ! 156: gsave ! 157: total div statspace inch size 2 mul sub mul size 2 mul add ! 158: width height min regions div exch scale ! 159: 1 1 8 [1 0 0 1 0 0] 5 -1 roll image ! 160: grestore ! 161: width height min regions div 0 translate ! 162: } repeat ! 163: grestore ! 164: ! 165: width height min size 1.5 mul neg translate ! 166: font findfont size scalefont setfont ! 167: dup dup add 1 add width height min exch div /interval exch def ! 168: { ! 169: interval neg 0 translate ! 170: interval 2 div neg 0 translate ! 171: dup stringwidth pop 2 div neg 0 moveto show ! 172: interval 2 div neg 0 translate ! 173: } repeat ! 174: grestore ! 175: } bind def ! 176: ! 177: /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.