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

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

unix.superglobalmegacorp.com

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