2 %%Title: examples/envelope
3 %%Creator: Xcircuit v2.3
4 %%CreationDate: Tue May 15 15:08:31 2001
6 %%BoundingBox: -4 -4 616 796
7 %%DocumentNeededResources: font Helvetica font Times-Roman font HelveticaISO
11 % PostScript prolog for output from xcircuit
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.
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
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
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
57 /Ss { /fscale fscale 0.67 mul def currentfont 0.67 cf0 0 fscale0 fscale mul
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
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
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
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.
154 % -132 -196 267 388 bbox
156 0.125 0.541 0.125 scb
158 44 -168 36 -144 28 -128 curveto
159 -4 -112 -44 -96 -52 -104 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
168 44 -168 40 -172 60 -180 curveto
171 68 -112 44 -88 124 -80 curveto
172 140 -80 148 -200 84 -176 curveto
177 36 -24 52 -120 60 -160 curveto
178 52 -168 56 -184 64 -188 3 polyc
183 68 16 76 0 92 0 curveto
184 108 0 28 8 44 8 curveto
187 28 -8 44 -40 60 -40 curveto
188 44 -32 52 -8 44 8 curveto
191 -44 -40 -44 -48 -52 -56 curveto
192 -52 -40 -44 -32 -44 -16 curveto
194 0.812 0.000 0.000 scb
196 116 112 92 144 76 168 curveto
197 44 176 28 176 20 160 curveto
198 20 168 4 176 -4 176 curveto
200 -12 184 -16 180 curveto
201 -44 200 -60 184 -84 192 curveto
202 -92 192 -100 184 -108 160 curveto
205 -116 160 -108 152 -124 152 curveto
206 -124 116 -120 88 -108 72 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
214 84 32 92 72 84 88 curveto
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
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
288 3 -18 3 -15 0 0 curveto
289 -3 -15 -3 -18 -8 -28 curveto
290 -2 -26 2 -26 8 -28 curveto
299 1 0.80 0 -40 0 20 2 polygon
300 1.00 0 0 40 arrowhead
305 %%PageOrientation: Landscape
308 90 rotate 0 -612 translate
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
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
339 pgsave restore showpage