comparison CADDSuite/data/gnuplot/prologue.ps @ 3:bb26168c5715

Uploaded
author marcel
date Tue, 12 Jul 2011 10:53:07 -0400
parents
children
comparison
equal deleted inserted replaced
2:e343494f18fe 3:bb26168c5715
1 %
2 % Gnuplot Prolog Version 4.4 (August 2010)
3 %
4 %/SuppressPDFMark true def
5 %
6 /M {moveto} bind def
7 /L {lineto} bind def
8 /R {rmoveto} bind def
9 /V {rlineto} bind def
10 /N {newpath moveto} bind def
11 /Z {closepath} bind def
12 /C {setrgbcolor} bind def
13 /f {rlineto fill} bind def
14 /g {setgray} bind def
15 /Gshow {show} def % May be redefined later in the file to support UTF-8
16 /vpt2 vpt 2 mul def
17 /hpt2 hpt 2 mul def
18 /Lshow {currentpoint stroke M 0 vshift R
19 Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
20 /Rshow {currentpoint stroke M dup stringwidth pop neg vshift R
21 Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
22 /Cshow {currentpoint stroke M dup stringwidth pop -2 div vshift R
23 Blacktext {gsave 0 setgray show grestore} {show} ifelse} def
24 /UP {dup vpt_ mul /vpt exch def hpt_ mul /hpt exch def
25 /hpt2 hpt 2 mul def /vpt2 vpt 2 mul def} def
26 /DL {Color {setrgbcolor Solid {pop []} if 0 setdash}
27 {pop pop pop 0 setgray Solid {pop []} if 0 setdash} ifelse} def
28 /BL {stroke userlinewidth 2 mul setlinewidth
29 Rounded {1 setlinejoin 1 setlinecap} if} def
30 /AL {stroke userlinewidth 2 div setlinewidth
31 Rounded {1 setlinejoin 1 setlinecap} if} def
32 /UL {dup gnulinewidth mul /userlinewidth exch def
33 dup 1 lt {pop 1} if 10 mul /udl exch def} def
34 /PL {stroke userlinewidth setlinewidth
35 Rounded {1 setlinejoin 1 setlinecap} if} def
36 3.8 setmiterlimit
37 % Default Line colors
38 /LCw {1 1 1} def
39 /LCb {0 0 0} def
40 /LCa {0 0 0} def
41 /LC0 {1 0 0} def
42 /LC1 {0 1 0} def
43 /LC2 {0 0 1} def
44 /LC3 {1 0 1} def
45 /LC4 {0 1 1} def
46 /LC5 {1 1 0} def
47 /LC6 {0 0 0} def
48 /LC7 {1 0.3 0} def
49 /LC8 {0.5 0.5 0.5} def
50 % Default Line Types
51 /LTw {PL [] 1 setgray} def
52 /LTb {BL [] LCb DL} def
53 /LTa {AL [1 udl mul 2 udl mul] 0 setdash LCa setrgbcolor} def
54 /LT0 {PL [] LC0 DL} def
55 /LT1 {PL [4 dl1 2 dl2] LC1 DL} def
56 /LT2 {PL [2 dl1 3 dl2] LC2 DL} def
57 /LT3 {PL [1 dl1 1.5 dl2] LC3 DL} def
58 /LT4 {PL [6 dl1 2 dl2 1 dl1 2 dl2] LC4 DL} def
59 /LT5 {PL [3 dl1 3 dl2 1 dl1 3 dl2] LC5 DL} def
60 /LT6 {PL [2 dl1 2 dl2 2 dl1 6 dl2] LC6 DL} def
61 /LT7 {PL [1 dl1 2 dl2 6 dl1 2 dl2 1 dl1 2 dl2] LC7 DL} def
62 /LT8 {PL [2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 2 dl2 2 dl1 4 dl2] LC8 DL} def
63 /Pnt {stroke [] 0 setdash gsave 1 setlinecap M 0 0 V stroke grestore} def
64 /Dia {stroke [] 0 setdash 2 copy vpt add M
65 hpt neg vpt neg V hpt vpt neg V
66 hpt vpt V hpt neg vpt V closepath stroke
67 Pnt} def
68 /Pls {stroke [] 0 setdash vpt sub M 0 vpt2 V
69 currentpoint stroke M
70 hpt neg vpt neg R hpt2 0 V stroke
71 } def
72 /Box {stroke [] 0 setdash 2 copy exch hpt sub exch vpt add M
73 0 vpt2 neg V hpt2 0 V 0 vpt2 V
74 hpt2 neg 0 V closepath stroke
75 Pnt} def
76 /Crs {stroke [] 0 setdash exch hpt sub exch vpt add M
77 hpt2 vpt2 neg V currentpoint stroke M
78 hpt2 neg 0 R hpt2 vpt2 V stroke} def
79 /TriU {stroke [] 0 setdash 2 copy vpt 1.12 mul add M
80 hpt neg vpt -1.62 mul V
81 hpt 2 mul 0 V
82 hpt neg vpt 1.62 mul V closepath stroke
83 Pnt} def
84 /Star {2 copy Pls Crs} def
85 /BoxF {stroke [] 0 setdash exch hpt sub exch vpt add M
86 0 vpt2 neg V hpt2 0 V 0 vpt2 V
87 hpt2 neg 0 V closepath fill} def
88 /TriUF {stroke [] 0 setdash vpt 1.12 mul add M
89 hpt neg vpt -1.62 mul V
90 hpt 2 mul 0 V
91 hpt neg vpt 1.62 mul V closepath fill} def
92 /TriD {stroke [] 0 setdash 2 copy vpt 1.12 mul sub M
93 hpt neg vpt 1.62 mul V
94 hpt 2 mul 0 V
95 hpt neg vpt -1.62 mul V closepath stroke
96 Pnt} def
97 /TriDF {stroke [] 0 setdash vpt 1.12 mul sub M
98 hpt neg vpt 1.62 mul V
99 hpt 2 mul 0 V
100 hpt neg vpt -1.62 mul V closepath fill} def
101 /DiaF {stroke [] 0 setdash vpt add M
102 hpt neg vpt neg V hpt vpt neg V
103 hpt vpt V hpt neg vpt V closepath fill} def
104 /Pent {stroke [] 0 setdash 2 copy gsave
105 translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
106 closepath stroke grestore Pnt} def
107 /PentF {stroke [] 0 setdash gsave
108 translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
109 closepath fill grestore} def
110 /Circle {stroke [] 0 setdash 2 copy
111 hpt 0 360 arc stroke Pnt} def
112 /CircleF {stroke [] 0 setdash hpt 0 360 arc fill} def
113 /C0 {BL [] 0 setdash 2 copy moveto vpt 90 450 arc} bind def
114 /C1 {BL [] 0 setdash 2 copy moveto
115 2 copy vpt 0 90 arc closepath fill
116 vpt 0 360 arc closepath} bind def
117 /C2 {BL [] 0 setdash 2 copy moveto
118 2 copy vpt 90 180 arc closepath fill
119 vpt 0 360 arc closepath} bind def
120 /C3 {BL [] 0 setdash 2 copy moveto
121 2 copy vpt 0 180 arc closepath fill
122 vpt 0 360 arc closepath} bind def
123 /C4 {BL [] 0 setdash 2 copy moveto
124 2 copy vpt 180 270 arc closepath fill
125 vpt 0 360 arc closepath} bind def
126 /C5 {BL [] 0 setdash 2 copy moveto
127 2 copy vpt 0 90 arc
128 2 copy moveto
129 2 copy vpt 180 270 arc closepath fill
130 vpt 0 360 arc} bind def
131 /C6 {BL [] 0 setdash 2 copy moveto
132 2 copy vpt 90 270 arc closepath fill
133 vpt 0 360 arc closepath} bind def
134 /C7 {BL [] 0 setdash 2 copy moveto
135 2 copy vpt 0 270 arc closepath fill
136 vpt 0 360 arc closepath} bind def
137 /C8 {BL [] 0 setdash 2 copy moveto
138 2 copy vpt 270 360 arc closepath fill
139 vpt 0 360 arc closepath} bind def
140 /C9 {BL [] 0 setdash 2 copy moveto
141 2 copy vpt 270 450 arc closepath fill
142 vpt 0 360 arc closepath} bind def
143 /C10 {BL [] 0 setdash 2 copy 2 copy moveto vpt 270 360 arc closepath fill
144 2 copy moveto
145 2 copy vpt 90 180 arc closepath fill
146 vpt 0 360 arc closepath} bind def
147 /C11 {BL [] 0 setdash 2 copy moveto
148 2 copy vpt 0 180 arc closepath fill
149 2 copy moveto
150 2 copy vpt 270 360 arc closepath fill
151 vpt 0 360 arc closepath} bind def
152 /C12 {BL [] 0 setdash 2 copy moveto
153 2 copy vpt 180 360 arc closepath fill
154 vpt 0 360 arc closepath} bind def
155 /C13 {BL [] 0 setdash 2 copy moveto
156 2 copy vpt 0 90 arc closepath fill
157 2 copy moveto
158 2 copy vpt 180 360 arc closepath fill
159 vpt 0 360 arc closepath} bind def
160 /C14 {BL [] 0 setdash 2 copy moveto
161 2 copy vpt 90 360 arc closepath fill
162 vpt 0 360 arc} bind def
163 /C15 {BL [] 0 setdash 2 copy vpt 0 360 arc closepath fill
164 vpt 0 360 arc closepath} bind def
165 /Rec {newpath 4 2 roll moveto 1 index 0 rlineto 0 exch rlineto
166 neg 0 rlineto closepath} bind def
167 /Square {dup Rec} bind def
168 /Bsquare {vpt sub exch vpt sub exch vpt2 Square} bind def
169 /S0 {BL [] 0 setdash 2 copy moveto 0 vpt rlineto BL Bsquare} bind def
170 /S1 {BL [] 0 setdash 2 copy vpt Square fill Bsquare} bind def
171 /S2 {BL [] 0 setdash 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
172 /S3 {BL [] 0 setdash 2 copy exch vpt sub exch vpt2 vpt Rec fill Bsquare} bind def
173 /S4 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
174 /S5 {BL [] 0 setdash 2 copy 2 copy vpt Square fill
175 exch vpt sub exch vpt sub vpt Square fill Bsquare} bind def
176 /S6 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill Bsquare} bind def
177 /S7 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt vpt2 Rec fill
178 2 copy vpt Square fill Bsquare} bind def
179 /S8 {BL [] 0 setdash 2 copy vpt sub vpt Square fill Bsquare} bind def
180 /S9 {BL [] 0 setdash 2 copy vpt sub vpt vpt2 Rec fill Bsquare} bind def
181 /S10 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt Square fill
182 Bsquare} bind def
183 /S11 {BL [] 0 setdash 2 copy vpt sub vpt Square fill 2 copy exch vpt sub exch vpt2 vpt Rec fill
184 Bsquare} bind def
185 /S12 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill Bsquare} bind def
186 /S13 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
187 2 copy vpt Square fill Bsquare} bind def
188 /S14 {BL [] 0 setdash 2 copy exch vpt sub exch vpt sub vpt2 vpt Rec fill
189 2 copy exch vpt sub exch vpt Square fill Bsquare} bind def
190 /S15 {BL [] 0 setdash 2 copy Bsquare fill Bsquare} bind def
191 /D0 {gsave translate 45 rotate 0 0 S0 stroke grestore} bind def
192 /D1 {gsave translate 45 rotate 0 0 S1 stroke grestore} bind def
193 /D2 {gsave translate 45 rotate 0 0 S2 stroke grestore} bind def
194 /D3 {gsave translate 45 rotate 0 0 S3 stroke grestore} bind def
195 /D4 {gsave translate 45 rotate 0 0 S4 stroke grestore} bind def
196 /D5 {gsave translate 45 rotate 0 0 S5 stroke grestore} bind def
197 /D6 {gsave translate 45 rotate 0 0 S6 stroke grestore} bind def
198 /D7 {gsave translate 45 rotate 0 0 S7 stroke grestore} bind def
199 /D8 {gsave translate 45 rotate 0 0 S8 stroke grestore} bind def
200 /D9 {gsave translate 45 rotate 0 0 S9 stroke grestore} bind def
201 /D10 {gsave translate 45 rotate 0 0 S10 stroke grestore} bind def
202 /D11 {gsave translate 45 rotate 0 0 S11 stroke grestore} bind def
203 /D12 {gsave translate 45 rotate 0 0 S12 stroke grestore} bind def
204 /D13 {gsave translate 45 rotate 0 0 S13 stroke grestore} bind def
205 /D14 {gsave translate 45 rotate 0 0 S14 stroke grestore} bind def
206 /D15 {gsave translate 45 rotate 0 0 S15 stroke grestore} bind def
207 /DiaE {stroke [] 0 setdash vpt add M
208 hpt neg vpt neg V hpt vpt neg V
209 hpt vpt V hpt neg vpt V closepath stroke} def
210 /BoxE {stroke [] 0 setdash exch hpt sub exch vpt add M
211 0 vpt2 neg V hpt2 0 V 0 vpt2 V
212 hpt2 neg 0 V closepath stroke} def
213 /TriUE {stroke [] 0 setdash vpt 1.12 mul add M
214 hpt neg vpt -1.62 mul V
215 hpt 2 mul 0 V
216 hpt neg vpt 1.62 mul V closepath stroke} def
217 /TriDE {stroke [] 0 setdash vpt 1.12 mul sub M
218 hpt neg vpt 1.62 mul V
219 hpt 2 mul 0 V
220 hpt neg vpt -1.62 mul V closepath stroke} def
221 /PentE {stroke [] 0 setdash gsave
222 translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
223 closepath stroke grestore} def
224 /CircE {stroke [] 0 setdash
225 hpt 0 360 arc stroke} def
226 /Opaque {gsave closepath 1 setgray fill grestore 0 setgray closepath} def
227 /DiaW {stroke [] 0 setdash vpt add M
228 hpt neg vpt neg V hpt vpt neg V
229 hpt vpt V hpt neg vpt V Opaque stroke} def
230 /BoxW {stroke [] 0 setdash exch hpt sub exch vpt add M
231 0 vpt2 neg V hpt2 0 V 0 vpt2 V
232 hpt2 neg 0 V Opaque stroke} def
233 /TriUW {stroke [] 0 setdash vpt 1.12 mul add M
234 hpt neg vpt -1.62 mul V
235 hpt 2 mul 0 V
236 hpt neg vpt 1.62 mul V Opaque stroke} def
237 /TriDW {stroke [] 0 setdash vpt 1.12 mul sub M
238 hpt neg vpt 1.62 mul V
239 hpt 2 mul 0 V
240 hpt neg vpt -1.62 mul V Opaque stroke} def
241 /PentW {stroke [] 0 setdash gsave
242 translate 0 hpt M 4 {72 rotate 0 hpt L} repeat
243 Opaque stroke grestore} def
244 /CircW {stroke [] 0 setdash
245 hpt 0 360 arc Opaque stroke} def
246 /BoxFill {gsave Rec 1 setgray fill grestore} def
247 /Density {
248 /Fillden exch def
249 currentrgbcolor
250 /ColB exch def /ColG exch def /ColR exch def
251 /ColR ColR Fillden mul Fillden sub 1 add def
252 /ColG ColG Fillden mul Fillden sub 1 add def
253 /ColB ColB Fillden mul Fillden sub 1 add def
254 ColR ColG ColB setrgbcolor} def
255 /BoxColFill {gsave Rec PolyFill} def
256 /PolyFill {gsave Density fill grestore grestore} def
257 /h {rlineto rlineto rlineto gsave closepath fill grestore} bind def
258 %
259 % PostScript Level 1 Pattern Fill routine for rectangles
260 % Usage: x y w h s a XX PatternFill
261 % x,y = lower left corner of box to be filled
262 % w,h = width and height of box
263 % a = angle in degrees between lines and x-axis
264 % XX = 0/1 for no/yes cross-hatch
265 %
266 /PatternFill {gsave /PFa [ 9 2 roll ] def
267 PFa 0 get PFa 2 get 2 div add PFa 1 get PFa 3 get 2 div add translate
268 PFa 2 get -2 div PFa 3 get -2 div PFa 2 get PFa 3 get Rec
269 gsave 1 setgray fill grestore clip
270 currentlinewidth 0.5 mul setlinewidth
271 /PFs PFa 2 get dup mul PFa 3 get dup mul add sqrt def
272 0 0 M PFa 5 get rotate PFs -2 div dup translate
273 0 1 PFs PFa 4 get div 1 add floor cvi
274 {PFa 4 get mul 0 M 0 PFs V} for
275 0 PFa 6 get ne {
276 0 1 PFs PFa 4 get div 1 add floor cvi
277 {PFa 4 get mul 0 2 1 roll M PFs 0 V} for
278 } if
279 stroke grestore} def
280 %
281 /languagelevel where
282 {pop languagelevel} {1} ifelse
283 2 lt
284 {/InterpretLevel1 true def}
285 {/InterpretLevel1 Level1 def}
286 ifelse
287 %
288 % PostScript level 2 pattern fill definitions
289 %
290 /Level2PatternFill {
291 /Tile8x8 {/PaintType 2 /PatternType 1 /TilingType 1 /BBox [0 0 8 8] /XStep 8 /YStep 8}
292 bind def
293 /KeepColor {currentrgbcolor [/Pattern /DeviceRGB] setcolorspace} bind def
294 << Tile8x8
295 /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke}
296 >> matrix makepattern
297 /Pat1 exch def
298 << Tile8x8
299 /PaintProc {0.5 setlinewidth pop 0 0 M 8 8 L 0 8 M 8 0 L stroke
300 0 4 M 4 8 L 8 4 L 4 0 L 0 4 L stroke}
301 >> matrix makepattern
302 /Pat2 exch def
303 << Tile8x8
304 /PaintProc {0.5 setlinewidth pop 0 0 M 0 8 L
305 8 8 L 8 0 L 0 0 L fill}
306 >> matrix makepattern
307 /Pat3 exch def
308 << Tile8x8
309 /PaintProc {0.5 setlinewidth pop -4 8 M 8 -4 L
310 0 12 M 12 0 L stroke}
311 >> matrix makepattern
312 /Pat4 exch def
313 << Tile8x8
314 /PaintProc {0.5 setlinewidth pop -4 0 M 8 12 L
315 0 -4 M 12 8 L stroke}
316 >> matrix makepattern
317 /Pat5 exch def
318 << Tile8x8
319 /PaintProc {0.5 setlinewidth pop -2 8 M 4 -4 L
320 0 12 M 8 -4 L 4 12 M 10 0 L stroke}
321 >> matrix makepattern
322 /Pat6 exch def
323 << Tile8x8
324 /PaintProc {0.5 setlinewidth pop -2 0 M 4 12 L
325 0 -4 M 8 12 L 4 -4 M 10 8 L stroke}
326 >> matrix makepattern
327 /Pat7 exch def
328 << Tile8x8
329 /PaintProc {0.5 setlinewidth pop 8 -2 M -4 4 L
330 12 0 M -4 8 L 12 4 M 0 10 L stroke}
331 >> matrix makepattern
332 /Pat8 exch def
333 << Tile8x8
334 /PaintProc {0.5 setlinewidth pop 0 -2 M 12 4 L
335 -4 0 M 12 8 L -4 4 M 8 10 L stroke}
336 >> matrix makepattern
337 /Pat9 exch def
338 /Pattern1 {PatternBgnd KeepColor Pat1 setpattern} bind def
339 /Pattern2 {PatternBgnd KeepColor Pat2 setpattern} bind def
340 /Pattern3 {PatternBgnd KeepColor Pat3 setpattern} bind def
341 /Pattern4 {PatternBgnd KeepColor Landscape {Pat5} {Pat4} ifelse setpattern} bind def
342 /Pattern5 {PatternBgnd KeepColor Landscape {Pat4} {Pat5} ifelse setpattern} bind def
343 /Pattern6 {PatternBgnd KeepColor Landscape {Pat9} {Pat6} ifelse setpattern} bind def
344 /Pattern7 {PatternBgnd KeepColor Landscape {Pat8} {Pat7} ifelse setpattern} bind def
345 } def
346 %
347 %
348 %End of PostScript Level 2 code
349 %
350 /PatternBgnd {
351 TransparentPatterns {} {gsave 1 setgray fill grestore} ifelse
352 } def
353 %
354 % Substitute for Level 2 pattern fill codes with
355 % grayscale if Level 2 support is not selected.
356 %
357 /Level1PatternFill {
358 /Pattern1 {0.250 Density} bind def
359 /Pattern2 {0.500 Density} bind def
360 /Pattern3 {0.750 Density} bind def
361 /Pattern4 {0.125 Density} bind def
362 /Pattern5 {0.375 Density} bind def
363 /Pattern6 {0.625 Density} bind def
364 /Pattern7 {0.875 Density} bind def
365 } def
366 %
367 % Now test for support of Level 2 code
368 %
369 Level1 {Level1PatternFill} {Level2PatternFill} ifelse
370 %
371 /Symbol-Oblique /Symbol findfont [1 0 .167 1 0 0] makefont
372 dup length dict begin {1 index /FID eq {pop pop} {def} ifelse} forall
373 currentdict end definefont pop