One more check on valid display which is known to be in the startup
[xcircuit.git] / examples / envelope.ps
blobf5e17c5e283d03aa2086fb3375d549fa01404c2c
1 %!PS-Adobe-3.0
2 %%Title: examples/envelope
3 %%Creator: Xcircuit v2.3
4 %%CreationDate: Tue May 15 15:08:31 2001
5 %%Pages: 1
6 %%BoundingBox: -4 -4 616 796
7 %%DocumentNeededResources: font Helvetica font Times-Roman font HelveticaISO 
8 %%EndComments
9 %%BeginProlog
11 %  PostScript prolog for output from xcircuit
12 %  Version: 2.3
14 %  Electrical circuit (and otherwise general) drawing program
16 %  Written by Tim Edwards 8/5/93--5/15/01  (tim@bach.ece.jhu.edu)
17 %  The Johns Hopkins University
19 %%BeginResource: procset XCIRCproc 2.3 1
20 % supporting definitions --- these are the primary xcircuit types.
22 /XCIRCsave save def
23 /topmat matrix currentmatrix def
25 /fontslant { /slant exch def [1 0 slant 1 0 0] 
26     exch findfont exch makefont dup length dict /ndict exch def
27     { 1 index /FID ne { ndict 3 1 roll put } { pop pop } ifelse } forall
28     ndict definefont pop} def
29 /ul { dup type /stringtype eq showflag 1 eq and { gsave 
30    currentpoint topmat setmatrix 0 0 moveto 2 index stringwidth pop (_)
31    false charpath flattenpath pathbbox grestore exch pop 1 index
32    sub setlinewidth exch pop currentpoint 3 -1 roll add moveto 0
33    rlineto stroke moveto } if } def
34 /ol { dup type /stringtype eq showflag 1 eq and { gsave gsave
35    currentpoint topmat setmatrix 2 index stringwidth pop 3 index
36    true charpath flattenpath pathbbox grestore exch pop
37    exch pop topmat setmatrix (_) true charpath pathbbox grestore
38    exch pop 1 index sub setlinewidth exch pop currentpoint
39    exch 4 1 roll exch sub add moveto pop 0 rlineto stroke
40    moveto } if } def
41 /stW { gsave currentpoint newpath moveto true charpath flattenpath
42         pathbbox pop exch pop sub grestore } def
43 /Ts {mark Tabs aload pop counttomark 1 add array astore /Tabs exch def Tabs
44         0 currentpoint pop put} def
45 /Tbn {mark Tabs aload pop counttomark dup 2 add 1 roll cleartomark 1 sub} def
46 /Tb { 0 1 Tbn {Tabs exch get dup currentpoint pop lt
47         {currentpoint exch pop moveto exit} {pop} ifelse } for } def
48 /Tf { Tbn -1 0 {Tabs exch get dup currentpoint pop gt
49         {currentpoint exch pop moveto exit} {pop} ifelse } for } def
50 /qS { (aa) stW (a a) stW sub 4 div 0 Kn } def
51 /hS { qS qS } def
52 /pspc 0 def
53 /cf0 { scalefont setfont } bind def
54 /Kn { dup kY add /kY exch def rmoveto } bind def
55 /ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
56         0.33 mul neg Kn} def
57 /Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
58         0.67 mul Kn } def
59 /ns { 0 kY neg Kn /kY 0 def /fscale 1.0 def xfont0 1.0 cf0 } def
60 /CR { ns 0 /Bline Bline fscale0 neg add def Bline moveto } def
61 /cf { dup type /realtype ne {1.0} if exch findfont exch kY 0 eq
62         { 40 mul dup /fscale0 exch def cf0 /xfont0 currentfont def}
63         {fscale0 mul fscale mul cf0} ifelse } def
64 /ctmk { counttomark dup 2 add -1 roll pop } bind def
65 /label { gsave translate 0 0 moveto dup scale /rotval exch def /just exch def
66         just 16 and 0 gt {0 1 dtransform gsave pagemat setmatrix idtransform
67         exch grestore 1 0 dtransform gsave pagemat setmatrix idtransform
68         exch grestore dup 0 eq {pop mul 0 gt} {3 1 roll pop pop 0 lt} ifelse
69         {-1 /just just dup 3 and 1 ne {3 xor} if def} {1} ifelse exch 0 lt
70         {-1 /just just dup 12 and 4 ne {12 xor} if def} {1} ifelse scale }
71         if /showflag 0 def /fspc pspc def /Bline 0 def /Tabs 0 array def
72         /fscale 1.0 def /kY 0 def
73         gsave dup 1 add copy 0 exch {exch dup type /stringtype eq {true
74         charpath flattenpath} {exec} ifelse } repeat pop pathbbox grestore
75         3 -1 roll pop 3 1 roll just 1 and 0 gt {just 2 and 0 gt {exch pop
76         neg fspc sub} {exch sub 0.5 mul neg} ifelse} {pop neg fspc add}
77         ifelse exch Bline exch just 4 and 0 gt {just 8 and 0 gt {exch pop
78         neg fspc sub} {add 0.5 mul neg} ifelse} {pop neg fspc add} ifelse
79         /showflag 1 def rotval rotate Kn currentpoint translate
80         /Bline 0 def /Tabs 0 array def /fscale 1.0 def /kY 0 def
81         {dup type /stringtype eq {show}{exec} ifelse} repeat grestore } def
82 /pinlabel { hlevel 0 eq { /pspc 20 def label /pspc 0 def }
83         { pop pop pop pop {pop} repeat } ifelse } def
84 /pinglobal { pinlabel } def
85 /infolabel { pinlabel } def
87 /scb { setrgbcolor } bind def  /sce { defColor aload pop scb } bind def
88 /cRedef {/defColor currentcolor 3 array astore def} def
89 /begingate { /hlevel hlevel 1 add def /defColor currentcolor sce 3 array
90         astore def gsave sce translate 0 0 moveto dup 0 lt
91         {neg 1 sub -1 1 scale} if rotate dup scale } bind def
92 /makeparm  {3 string cvs dup length 1 add string /tstr exch def tstr exch
93         1 exch putinterval tstr 0 (v) putinterval tstr cvn} bind def
94 /beginparm { -1 1 {makeparm exch def} for
95         dup type /arraytype eq { aload length -1 1 {makeparm exch def}
96         for } if begingate } bind def
97 /endgate { /hlevel hlevel 1 sub def grestore defColor aload pop cRedef
98         scb} bind def
100 /hlevel 0 def
101 /tmpa [1 0 0 1 0 0] def
102 /gar {8 8 true tmpa {<c0 c0 00 00 0c 0c 00 00>} imagemask} bind
103 {8 8 true tmpa {<30 70 60 02 03 07 06 20>} imagemask} bind
104 {8 8 true tmpa {<0c 1e 1e 0c c0 e1 e1 c0>} imagemask} bind
105 {8 8 true tmpa {<0f 0f 0f 0f f0 f0 f0 f0>} imagemask} bind
106 {8 8 true tmpa {<3f f3 e1 e1 f3 3f 1e 1e>} imagemask} bind
107 {8 8 true tmpa {<df cf 8f 9f fd fc f8 f9>} imagemask} bind
108 {8 8 true tmpa {<ff 3f 3f ff ff f3 f3 ff>} imagemask} bind 7 array astore def
109 /ppaint { gsave clip tmpa dup setmatrix pathbbox neg exch neg 4 2 roll
110   neg 4 -1 roll 2 copy gt {exch} if 8 div ceiling 8 mul 4 2 roll neg 2 copy
111   gt {exch} if 8 div ceiling 8 mul 3 -1 roll -8 5 -1 roll
112   { 3 index exch 5 exch put dup -8 3 index { 3 index
113   exch 4 exch put 3 index exec } for } for pop pop pop pop grestore } bind def
114 /setstyles {
115   currentlinewidth mul setlinewidth /style exch def
116   style 1 and 0 gt not {closepath} if
117   style 2 and 0 gt {currentlinewidth 4 mul dup 2 array astore 0 setdash} if 
118   style 4 and 0 gt {0.5 currentlinewidth 4 mul 2 array astore 0 setdash} if 
119   style dup 256 ge exch 480 lt and { gsave 1 setgray eofill grestore } if
120   style 16 and 0 gt { gsave style 224 and -5 bitshift dup 7 lt
121         {gar exch get ppaint} { pop eofill } ifelse grestore } if
122   style 8 and 0 gt style 512 eq or { newpath } { stroke } ifelse grestore } def
124 /polygon { gsave /num exch def moveto num 1 sub {lineto} repeat setstyles } def
125 /xcarc   { gsave newpath arc setstyles } def
126 /elb { matrix currentmatrix 7 -1 roll 7 -1 roll translate 5 1 roll 4 -1 roll
127         3 index div 1 scale } def
128 /ele { 0 4 1 roll 0 4 1 roll } bind def
129 /ellipse { gsave elb newpath ele arc setmatrix setstyles } def
130 /pellip  { elb ele arc setmatrix } def
131 /nellip  { elb ele arcn setmatrix } def
132 /spline  { gsave moveto curveto setstyles } def
133 /polyc   { {lineto} repeat } bind def
134 /beginpath { gsave moveto } bind def
135 /endpath { setstyles } bind def
136 /bop     { 1 setlinecap 0 setlinejoin 6 setmiterlimit 0 0 0 scb cRedef } def
137 /insertion {/PSobj save def /showpage {} def bop translate} def
138 /end_insert {PSobj restore} def
139 /setpagemat {/pagemat matrix currentmatrix def} def
140 /inchscale  {setpagemat 0.375 mul dup scale} def
141 /cmscale    {setpagemat 0.35433071 mul dup scale} def
143 %%EndResource
144 %%EndProlog
146 /Helvetica findfont dup length dict begin
147 {1 index /FID ne {def} {pop pop} ifelse} forall
148 /Encoding ISOLatin1Encoding def currentdict end
149 /HelveticaISO exch definefont pop
151 % XCircuit output starts here.
153 /rose {
154 % -132 -196 267 388 bbox
155 begingate
156 0.125 0.541 0.125 scb
157 60 -176 beginpath
158 44 -168 36 -144 28 -128 curveto
159 -4 -112 -44 -96 -52 -104 curveto
160 -60 -112 -124 -120 
161 -132 -144 curveto
162 -116 -144 -124 -136 -100 -152 curveto
163 36 -168 28 -180 24 -176 16 -188 12 -184 
164 4 -192 0 -188 -8 -196 -12 -192 -20 -196 -24 -192 -32 -196 -36 -192 -48 -192 -48 
165 -188 -60 -188 -60 -184 -68 -184 -68 -180 -76 -176 -72 -172 -84 -168 -80 -164 
166 -92 -160 -92 -156 25 polyc
167 36 -160 1 polyc
168 44 -168 40 -172 60 -180 curveto
169 241  1.00 endpath
170 60 -144 beginpath
171 68 -112 44 -88 124 -80 curveto
172 140 -80 148 -200 84 -176 curveto
173 60 -144 64 -164 64 
174 -172 72 -172 4 polyc
175 241  1.00 endpath
176 28 -16 beginpath
177 36 -24 52 -120 60 -160 curveto
178 52 -168 56 -184 64 -188 3 polyc
179 44 -128 20 -16 
180 12 -8 curveto
181 241  1.00 endpath
182 52 16 beginpath
183 68 16 76 0 92 0 curveto
184 108 0 28 8 44 8 curveto
185 241  1.00 endpath
186 12 -8 beginpath
187 28 -8 44 -40 60 -40 curveto
188 44 -32 52 -8 44 8 curveto
189 241  1.00 endpath
190 -20 -16 beginpath
191 -44 -40 -44 -48 -52 -56 curveto
192 -52 -40 -44 -32 -44 -16 curveto
193 241  1.00 endpath
194 0.812 0.000 0.000 scb
195 84 88 beginpath
196 116 112 92 144 76 168 curveto
197 44 176 28 176 20 160 curveto
198 20 168 4 176 -4 176 curveto
199 -4 180 
200 -12 184 -16 180 curveto
201 -44 200 -60 184 -84 192 curveto
202 -92 192 -100 184 -108 160 curveto
203 -116 160 
204 1 polyc
205 -116 160 -108 152 -124 152 curveto
206 -124 116 -120 88 -108 72 curveto
207 -116 80 -116 80 
208 -124 80 curveto
209 -128 56 -136 36 -124 32 curveto
210 -92 24 -76 8 -76 0 curveto
211 -76 -4 -80 -4 -76 -8 curveto
212 -4 -32 
213 52 8 52 24 curveto
214 84 32 92 72 84 88 curveto
215 241  1.00 endpath
217 1  1.00 -108 80 -124 72 -124 152 -92 48 spline
218 1  1.00 -100 160 -100 168 -68 160 -116 160 spline
219 1  1.00 -116 160 -108 152 -124 152 -116 160 spline
220 1  1.00 -68 152 -60 176 -20 176 -84 128 spline
221 1  1.00 -4 192 -4 168 12 160 -20 176 spline
222 1  1.00 20 152 44 136 60 104 12 160 spline
223 1  1.00 28 176 44 176 76 168 20 160 spline
224 1  1.00 92 144 116 112 84 88 76 168 spline
225 1  1.00 60 96 52 80 52 24 76 120 spline
226 1  1.00 92 72 84 32 52 24 84 88 spline
227 1  1.00 -52 200 -60 184 -84 192 -20 184 spline
228 1  1.00 -92 192 -100 184 -108 160 -84 192 spline
229 1  1.00 52 8 -4 -32 -76 -8 52 24 spline
230 1  1.00 28 64 -12 24 -36 32 52 72 spline
231 1  1.00 68 72 4 64 -36 32 52 72 spline
232 1  1.00 -20 32 -84 16 -76 -8 -36 32 spline
233 1  1.00 -76 8 -92 24 -124 32 -76 0 spline
234 1  1.00 -140 24 -132 48 -124 80 -108 32 spline
235 1  1.00 -92 32 -76 64 -20 48 -108 32 spline
236 1  1.00 -116 80 -116 80 -108 72 -124 80 spline
237 1  1.00 20 168 4 176 -4 176 20 160 spline
238 1  1.00 36 112 20 112 -4 56 12 136 spline
239 1  1.00 28 136 36 112 60 96 12 136 spline
240 1  1.00 20 120 4 152 -12 152 20 104 spline
241 1  1.00 4 112 -28 160 -36 152 20 104 spline
242 1  1.00 -20 152 -68 136 -60 96 -36 152 spline
243 1  1.00 -44 88 -36 80 -20 80 -52 104 spline
244 1  1.00 -4 72 -44 80 -44 72 12 96 spline
245 1  1.00 -92 128 -92 112 -100 112 -52 128 spline
246 1  1.00 -84 80 -100 64 -84 48 -100 112 spline
247 1  1.00 -76 96 -100 88 -68 80 -60 104 spline
248 1  1.00 -76 72 -76 64 -68 56 -84 88 spline
249 1  1.00 -44 72 -44 72 -36 56 -68 80 spline
250 1  1.00 -20 96 -20 96 -12 80 -28 104 spline
251 1  1.00 -36 112 -44 120 -28 128 -36 104 spline
252 1  1.00 -12 104 -36 104 -28 104 -12 112 spline
253 1  1.00 -12 112 -28 136 -28 112 -12 112 spline
254 1  1.00 -52 104 -52 112 -36 120 -52 104 spline
255 1  1.00 -44 120 -52 120 -60 104 -36 128 spline
256 1  1.00 -36 160 -4 144 12 128 -36 152 spline
257 1  1.00 -44 -40 -44 -48 -52 -56 -20 -16 spline
258 1  1.00 -44 -32 -52 -40 -52 -56 -44 -16 spline
259 1  1.00 28 -8 44 -40 60 -40 12 -8 spline
260 1  1.00 52 -8 44 -32 60 -40 44 8 spline
261 1  1.00 68 16 76 0 92 0 52 16 spline
262 1  1.00 108 0 28 8 44 8 92 0 spline
263 1  1.00 20 -16 44 -128 52 -168 12 -8 spline
264 1  1.00 36 -24 52 -120 60 -160 28 -16 spline
265 1  1.00 68 -112 44 -88 124 -80 60 -144 spline
266 1  1.00 140 -80 148 -200 84 -176 124 -80 spline
267 1  1.00 100 -120 100 -128 68 -168 116 -104 spline
268 1  1.00 44 -168 36 -144 28 -128 60 -176 spline
269 1  1.00 -4 -112 -44 -96 -52 -104 28 -128 spline
270 1  1.00 -60 -112 -124 -120 -132 -144 -52 -104 spline
271 1  1.00 -116 -144 -124 -136 -100 -152 -132 -144 spline
272 1  1.00 36 -168 28 -180 24 -176 16 -188 12 -184 4 -192 0 -188 -8 -196 -12 -192 
273 -20 -196 -24 -192 -32 -196 -36 -192 -48 -192 -48 -188 -60 -188 -60 -184 -68 
274 -184 -68 -180 -76 -176 -72 -172 -84 -168 -80 -164 -92 -160 -92 -156 -100 -152 
275 26 polygon
276 1  1.00 -80 -128 -12 -136 32 -156 -116 -136 spline
277 1  1.00 44 -168 40 -172 60 -180 36 -160 spline
278 1  1.00 100 -120 100 -128 68 -168 116 -104 spline
279 1  1.00 -80 -128 -12 -136 32 -156 -116 -136 spline
280 endgate
281 } def
283 /arrowhead {
284 % -12 -32 24 36 bbox
285 % trivial
286 begingate
287 8 -28 beginpath
288 3 -18 3 -15 0 0 curveto
289 -3 -15 -3 -18 -8 -28 curveto
290 -2 -26 2 -26 8 -28 curveto
291 249  1.00 endpath
292 endgate
293 } def
295 /arrow {
296 % -12 -40 24 80 bbox
297 % trivial
298 begingate
299 1  0.80 0 -40 0 20 2 polygon
300 1.00 0 0 40 arrowhead
301 endgate
302 } def
304 %%Page: 1 1
305 %%PageOrientation: Landscape
306 /pgsave save def bop
307 % 288 432 offsets
308 90 rotate 0 -612 translate
309 1.0000 inchscale
310 2.6000 setlinewidth
312 1.000 1.000 0.525 scb
313 240  1.00 768 1136 768 1248 1200 1248 1200 1136 4 polygon
315 (Anywhere, USA 12345) {CR} (12345 A Street) {CR} (Return Address) 
316 {/Times-Roman cf} 6 16 0 0.80 864 1152 label
317 0.000 0.000 1.000 scb
318 0  1.00 1888 1072 1888 1232 2048 1232 2048 1072 4 polygon
320 (here) {CR} (stamp) {CR} (place) {/Helvetica cf} 6 21 0 1.00 1968 1152 label
321 1.000 0.647 0.000 scb
322 512  1.00 0 1632 0 0 2112 0 2112 1632 4 polygon
323 512  1.00 736 1296 736 336 2112 336 2112 1296 4 polygon
325 (Somewhere Else, USA 01234) {CR} (123 Another Street) {CR} (Recipient Address) 
326 {/Times-Roman cf} 6 16 0 1.00 1232 704 label
327 0.25 0 816 1192 rose
328 1.00 315 928 1584 arrow
329 (inch paper size) {CR} (\275 \327 11) {hS} (describes 8) {CR} 
330 (Outer bounding box) {/HelveticaISO cf} 8 31 0 1.00 864 1552 label
331 1.00 285 688 944 arrow
332 (envelope size.) {CR} (describes 5 \327 7 inch) {CR} (Inner bounding box) 
333 {/HelveticaISO cf} 6 31 0 1.00 608 912 label
334 (output. ) {CR} (not appear in the) {CR} (Bounding boxes do) {/Helvetica cf} 6 
335 28 0 1.00 256 720 label
336 (tray for envelopes.) {CR} (to the printer's paper) {CR} 
337 (is positioned according) {CR} (Inner bounding box) {/Helvetica cf} 8 28 0 1.00 
338 256 544 label
339 pgsave restore showpage
341 %%Trailer
342 XCIRCsave restore
343 %%EOF