Annotation of researchv10no/cmd/post.src/postbgi/postbgi.ps, revision 1.1.1.1

1.1       root        1: %
                      2: % Version 3.3.2 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: /kshow {kshow} bind def                % so later references don't bind
                     34: /show {show} bind def
                     35: 
                     36: /setup {
                     37:        counttomark 2 idiv {def} repeat pop
                     38: 
                     39:        landscape {/orientation 90 orientation add def} if
                     40:        prism {/fixscreen true def /scaletodevice true def} if
                     41:        prism linewidth 0 eq and {/linewidth .3 def} if
                     42:        fixscreen {devres 4 div orientation currentscreen 3 1 roll pop pop setscreen} if
                     43: 
                     44:        pagedimensions
                     45:        /scaling
                     46:                scaletodevice
                     47:                        {devres resolution div truncate 72 mul devres div dup}
                     48:                        {height margin sub screenheight div width margin sub screenwidth div}
                     49:                ifelse
                     50:        min def
                     51:        xcenter ycenter translate
                     52:        orientation rotation mul rotate
                     53:        xoffset inch yoffset inch translate
                     54:        magnification dup aspectratio mul scale
                     55:        scaling scaling scale
                     56:        screenwidth 2 div neg screenheight 2 div neg translate
                     57: 
                     58:        tietodevicespace
                     59:        linewidth scaling div setlinewidth
                     60:        1 setlinecap
                     61:        newpath
                     62: } def
                     63: 
                     64: /pagedimensions {
                     65:        useclippath {
                     66:                /pagebbox [clippath pathbbox newpath] def
                     67:        } if
                     68:        pagebbox aload pop
                     69:        4 -1 roll exch 4 1 roll 4 copy
                     70:        landscape {4 2 roll} if
                     71:        sub /width exch def
                     72:        sub /height exch def
                     73:        add 2 div /xcenter exch def
                     74:        add 2 div /ycenter exch def
                     75:        userdict /gotpagebbox true put
                     76: } def
                     77: 
                     78: /pagesetup {/page exch def} bind def
                     79: 
                     80: /tietodevicespace {
                     81:        fixlinewidth linewidth 0 gt and linewidth 1 lt and {
                     82:                /moveto {
                     83:                        2 copy /Y exch def /X exch def
                     84:                        transform round exch round exch itransform
                     85:                        moveto
                     86:                } bind def
                     87:                /lineto {
                     88:                        2 copy /Y exch def /X exch def
                     89:                        transform round exch round exch itransform
                     90:                        lineto
                     91:                } bind def
                     92:                /rlineto {Y add exch X add exch lineto} bind def
                     93:                /v V 0 get bind def
                     94:        } if
                     95: } def
                     96: 
                     97: /V [{moveto counttomark 2 idiv {rlineto} repeat stroke}] def
                     98: /v V 0 get bind def
                     99: /p {linewidth 2 div 0 360 arc fill} bind def
                    100: /pp {/ch exch def counttomark 2 idiv {moveto xc yc rmoveto ch show} repeat} bind def
                    101: 
                    102: /l {{scaling div} forall counttomark array astore 0 setdash} bind def
                    103: /c {setrgbcolor} bind def
                    104: 
                    105: /T {newpath moveto rlineto rlineto rlineto closepath eofill} bind def
                    106: 
                    107: /R {
                    108:        newpath moveto 1 index 0 rlineto 0 exch rlineto neg 0 rlineto closepath
                    109:        0 eq {stroke} {eofill} ifelse
                    110: } bind def
                    111: 
                    112: /f {
                    113:        dup dup
                    114:        /charwidth exch 6 mul def
                    115:        /xc exch -2.5 mul def
                    116:        /yc exch -3.5 mul def
                    117:        font findfont charwidth .6 div scalefont setfont
                    118: } bind def
                    119: 
                    120: /t {
                    121:        /str exch def
                    122:        gsave
                    123:        translate rotate
                    124:        xc yc moveto
                    125:        currentpoint
                    126:        {
                    127:                pop pop
                    128:                exch charwidth add exch
                    129:                moveto currentpoint
                    130:        } str kshow
                    131:        pop pop
                    132:        grestore
                    133: } bind def
                    134: 
                    135: /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.