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