home *** CD-ROM | disk | FTP | other *** search
- %ident "@(#)////usr/lib/lp/postscript/postmd.ps.sl 1.1 4.0 12/08/90 40521 AT&T-USL"
- %
- % Version 3.15 prologue for matrix display files.
- %
-
- /#copies 1 store
- /aspectratio 1 def
- /font /Helvetica def
- /formsperpage 1 def
- /landscape false def
- /magnification 1 def
- /margin 10 def
- /orientation 0 def
- /size 9 def
- /statspace 1.6 def
- /ticklength .06 def
- /tickspacing 10 def
- /xoffset 0 def
- /yoffset 0 def
-
- /useclippath true def
- /pagebbox [0 0 612 792] def
-
- /inch {72 mul} bind def
- /min {2 copy gt {exch} if pop} bind def
-
- /setup {
- counttomark 2 idiv {def} repeat pop
-
- landscape {/orientation 90 orientation add def} if
-
- pagedimensions
- height width lt {
- /statspace statspace height width div mul def
- /size size height width div mul def
- /ticklength ticklength height width div mul def
- } if
- /height height margin sub statspace inch sub ticklength inch sub size 6 mul sub def
- /width width margin sub ticklength inch sub def
- xcenter ycenter translate
- orientation neg rotate
- xoffset inch yoffset inch translate
- 0 height 2 div height width min 2 div sub translate
- 0 statspace inch 2 div translate
- magnification dup aspectratio mul scale
-
- 0 setlinewidth
- } def
-
- /pagedimensions {
- useclippath {
- /pagebbox [clippath pathbbox newpath] def
- } if
- pagebbox aload pop
- 4 -1 roll exch 4 1 roll 4 copy
- landscape {4 2 roll} if
- sub /width exch def
- sub /height exch def
- add 2 div /xcenter exch def
- add 2 div /ycenter exch def
- userdict /gotpagebbox true put
- } def
-
- /pagesetup {/page exch def} bind def
-
- /bitmap {
- /scanlines exch def
- /scanlength exch def
-
- /picstr scanlength string def
-
- gsave
- height scanlines div width scanlength div min
- /scaling exch def
- scaling scaling scale
-
- scanlength neg 2 div scanlines neg 2 div translate
- scanlength scanlines scale
- getbitmap
- grestore
- } bind def
-
- /getbitmap {
- scanlength scanlines 8 [scanlength 0 0 scanlines neg 0 scanlines] {
- 0 {
- currentfile token pop dup
- 0 eq {pop pop exit} if
- /charcount exch def
- picstr 1 index charcount getinterval
- /repl exch def
- currentfile repl readhexstring pop pop
- charcount add
- currentfile token pop {
- picstr 1 index repl putinterval
- charcount add
- } repeat
- } loop
- picstr
- } image
- } bind def
-
- /labelmatrix {
- /matrixlimits exch def
- /matrixname exch def
-
- gsave
- scaling scaling scale
- font findfont size scaling div scalefont setfont
- scanlength neg 2 div scanlines 2 div translate
-
- 0 scanlines size 1.5 mul scaling div add neg moveto
- matrixname show
-
- scanlength scanlines size 1.5 mul scaling div add neg moveto
- matrixlimits stringwidth pop neg 0 rmoveto
- matrixlimits show
-
- newpath
- 0 0 moveto
- scanlength 0 rlineto
- 0 scanlines neg rlineto
- scanlength neg 0 rlineto
- closepath stroke
-
- scanlength tickspacing idiv 1 add tickspacing 0 ticks
- scanlines tickspacing idiv 1 add 0 tickspacing neg ticks
- grestore
- } bind def
-
- /ticks {
- /dy exch def
- /dx exch def
-
- /tl ticklength inch scaling div def
- newpath
- 0 0 moveto
- {
- gsave dx 0 eq {tl neg 0} {0 tl} ifelse rlineto stroke grestore
- dx dy rmoveto
- } repeat
- } bind def
-
- /legend {
- /regions exch def
- /total exch def
-
- gsave
- width height min 2 div neg dup size 2 mul sub translate
- 0 statspace inch neg translate
-
- gsave
- regions {
- gsave
- total div statspace inch size 2 mul sub mul size 2 mul add
- width height min regions div exch scale
- 1 1 8 [1 0 0 1 0 0] 5 -1 roll image
- grestore
- width height min regions div 0 translate
- } repeat
- grestore
-
- width height min size 1.5 mul neg translate
- font findfont size scalefont setfont
- dup dup add 1 add width height min exch div /interval exch def
- {
- interval neg 0 translate
- interval 2 div neg 0 translate
- dup stringwidth pop 2 div neg 0 moveto show
- interval 2 div neg 0 translate
- } repeat
- grestore
- } bind def
-
- /done {/lastpage where {pop lastpage} if} def
-