Annotation of researchv10no/cmd/postscript/postmd/postmd.ps, revision 1.1.1.1

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

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.