|
|
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
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.