blob: 27934d450e1abea91f6af446fecde9c3f330e65d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
|
%!PS-Adobe-2.0 EPSF-1.2
%%BoundingBox: 11 3 38 48
%%BeginPreview: 28 46 1 46
% 00048000
% 001ec000
% 009fd000
% 00eee000
% 017fe000
% 03fffc00
% 017f7800
% 01dd7000
% 07df7e00
% fffffff0
% 80040010
% 83c40010
% c7e40010
% e3c42d90
% ff642e90
% fdf42f90
% bffc2f90
% fcfc2790
% fe7c2f90
% bf7c2f90
% fffc2e90
% fffc2d90
% fffc2810
% fffc2810
% bffc2810
% bffc2810
% f77c2810
% 8efc7c10
% 8dfc7c10
% 98fdab10
% 88fdc790
% 8fbf83a0
% 9f7dc720
% 8b7d6d20
% 4f3c7c20
% 207c3840
% 207c0080
% 103c0080
% 080c0000
% 04040600
% 03040800
% 00e4f000
% 001f0000
% 00000000
% 5e6d5820
% 5a4850a0
%%EndImage
%%EndPreview
%!
/Jaune {1 setgray} def
/Rouge {1 setgray} def
/Noir {0 setgray} def
/Blanc {1 setgray} def
% Ellipse routine :
% Syntaxe: <rad sclx scly centx centy> Open_Ellipse
% where: rad -> max(x_width, y_width)
% sclx -> (rad==x_width) ? 1 : x_width / y_width
% scly -> (rad==x_width) ? y_width / x_width : 1
% centx -> x_center
% centy -> y_center
/Open_Ellipse { gsave newpath /cmtx matrix currentmatrix def
translate scale 0 0 3 -1 roll 0 360 arc } def
/Close_Ellipse { cmtx setmatrix grestore } def
/EcupathG
{newpath 20 70 moveto 45 70 lineto 45 10 lineto 45 35 25 270 180 arcn
closepath} def
/EcupathD
{newpath 45 70 moveto 70 70 lineto 70 35 lineto 45 35 25 0 270 arcn
closepath} def
/Ecu
{EcupathG 0.3 setlinewidth stroke
EcupathD 0.3 setlinewidth stroke} def
% RayonDroit routine:
% Syntax: <ang> RayonDroit
% Dessine un rayon droit dans la direction ang.
%
/RayonDroit
{ gsave newpath /cmtx matrix currentmatrix def
/angle exch def angle rotate
rmin 0 moveto rmax 0 lineto
rmin -1.5 lineto rmin 1.5 lineto rmax 0 lineto
gsave closepath Jaune fill grestore
stroke cmtx setmatrix grestore } def
% RayonFlamme routine:
% Syntax: <ang> RayonFlamme
% Dessine un rayon flamme dans la direction ang.
%
/RayonFlamme
{ gsave newpath /cmtx matrix currentmatrix def
/angle exch def angle rotate
rmax 0 moveto
rmax rmin sub 3 div dup 2 mul rmin add 4 3 -1 roll rmin add -3 4 2 roll
rmin 1.5 curveto
rmin -1.5 lineto
rmax rmin sub 3 div dup 2 mul rmin add -6 3 -1 roll rmin add 2 4 2
roll rmax 0 curveto
gsave closepath Jaune fill grestore
stroke cmtx setmatrix grestore } def
% Soleil routine:
% Syntax: <x y rsol rrays> Soleil
% Dessine le demi+ soleil de l'ecusson centre en x, y
%
/Soleil
{gsave newpath /omtx matrix currentmatrix def
/rmax exch def /rmin exch def translate
0 0 rmin -20 200 arc
gsave closepath Jaune fill grestore
0 RayonDroit
45 RayonDroit
90 RayonDroit
135 RayonDroit
180 RayonDroit
22.5 RayonFlamme
67.5 RayonFlamme
112.5 RayonFlamme
157.5 RayonFlamme
stroke omtx setmatrix grestore } def
/CleTube
{newpath
53 38 moveto
53 63 lineto
54.5 63 1.5 180 0 arcn
56 38 lineto
gsave closepath Jaune fill grestore
stroke} def
/CleCode
{newpath 60.5 59 moveto 59 59 lineto 59 56 lineto 57.5 56 lineto
57.5 55 lineto 59 55 lineto 59 52 lineto 60.5 52 lineto
60.5 55 lineto 62 55 lineto 62 56 lineto 60.5 56 lineto
60.5 59 lineto
56 58 moveto 57 58 lineto 57 62 lineto 58 62 lineto 59 61 lineto
60.5 61 lineto 61.5 62 lineto 63 62 lineto 63 59 lineto
62 59 lineto 62 58 lineto 63 58 lineto 63 53 lineto 62 53 lineto
62 52 lineto 63 52 lineto 63 49 lineto 61.5 49 lineto
60.5 50 lineto 59 50 lineto 58 49 lineto 57 49 lineto
57 53 lineto 56 53 lineto
gsave closepath Jaune fill grestore
stroke} def
/ClePoignee
{newpath 47 23 7.5 0 90 arc
47 38 7.5 270 360 arc
62 38 7.5 180 270 arc
62 23 7.5 90 180 arc 47 30.5 moveto
47 23 5.5 90 0 arcn 56.5 23 lineto
62 23 5.5 180 90 arcn 62 32.5 lineto
62 38 5.5 270 180 arcn 52.5 38 lineto
47 38 5.5 360 270 arcn 47 28.5 lineto
gsave Jaune fill grestore
newpath 52 38 moveto 57 38 lineto 57 37 1 90 -90 arcn 52 36 lineto
52 37 1 -90 90 arcn closepath
gsave Jaune fill grestore
stroke
newpath 52 25 moveto 57 25 lineto 57 24 1 90 -90 arcn 52 23 lineto
52 24 1 -90 90 arcn closepath
gsave Jaune fill grestore
stroke
newpath 54.5 23 2 -180 0 arc closepath
gsave Jaune fill grestore
stroke
newpath 60 33.5 moveto 60 27.5 lineto 61 27.5 1 180 0 arc 62 33.5 lineto
61 33.5 1 0 180 arc closepath
gsave Jaune fill grestore
stroke
newpath 62 30.5 2 -90 90 arc closepath
gsave Jaune fill grestore
stroke
newpath 47 33.5 moveto 47 27.5 lineto 48 27.5 1 180 0 arc 49 33.5 lineto
48 33.5 1 0 180 arc closepath
gsave Jaune fill grestore
stroke
newpath 47 30.5 2 90 -90 arc closepath
gsave Jaune fill grestore
stroke
47 23 7.5 15.5 74.5 arc stroke
62 23 7.5 105.5 164.5 arc stroke
62 38 7.5 195.5 254.5 arc stroke
47 38 7.5 285.5 344.5 arc stroke
47 23 5.5 21.3 68.7 arc stroke
62 23 5.5 111.3 158.7 arc stroke
62 38 5.5 201.3 248.7 arc stroke
47 38 5.5 291.3 338.7 arc stroke} def
/Cle
{ gsave newpath /cmtx matrix currentmatrix def
1 0 translate CleTube CleCode ClePoignee
cmtx setmatrix grestore } def
/AigleCorps
{newpath 45 56 moveto 38 62 lineto 32 62 lineto 31 61 lineto
34 60 34 59 32 58 curveto
33 55 36 56 38 55 curveto
38 50 33 46 34 51 curveto
23 64 lineto 20 60 23 59 30 52 curveto
21 57 lineto 20 54 22 53 29 50 curveto
21 51 lineto 22 47 23 47 28 47 curveto
21 45 lineto 23 42 24 43 30 45 curveto
22 39 lineto 25 37 26 39 31 43 curveto
27 33 lineto 30 33 31 35 34 42 curveto
34 39 lineto 35 40 36 41 36 42 curveto
39 43 40 40 34 35 curveto
39 31 39 30 41 35 curveto
41 31 37 27 37 26 curveto
40 28 lineto
36 23 37 19 39 19 curveto 37 19 41 23 42 25 curveto
41 20 lineto 42 20 lineto 45 15 lineto
gsave closepath Noir fill grestore
stroke} def
/AiglePatte
{newpath 37 34 moveto 33 30 lineto
32 30 30 31 28 31 curveto
28 30.5 29 31 31 29 curveto
27 29 27 28 26.5 27.5 curveto
28 28 28.5 28 30 28 curveto
28 27 27 25 28 25 curveto
29 27 32 27 33 26 curveto
34 24 31 25 32 24 curveto
33 23 36 27 34 29 curveto 38 33 lineto
gsave closepath Rouge fill grestore
stroke} def
/AigleBec
{ newpath 31 61 moveto
27 61 27 61 28 59 curveto
28 59.5 28 59.5 30 59.5 curveto
32 59.5 32 59.5 32 58 curveto
30 58 29 57 29 58 curveto
29 56.5 30 57 33 57 curveto
35 58.5 34 60 31 61 curveto
gsave closepath Rouge fill grestore
stroke } def
/AigleCouronne
{ newpath 38 62 moveto 38 63 lineto
38 64.5 1.5 -90 90 arc 32 66 lineto 32 64.5 1.5 90 -90 arc
32 62 lineto 38 62 lineto
gsave closepath Rouge fill grestore stroke
38 63 moveto 32 63 lineto
34 64.5 moveto 33 64.5 1 0 360 arc stroke
38 64.5 moveto 37 64.5 1 0 360 arc stroke
38 64 moveto 35 66.4 0.5 -90 270 arc Noir fill } def
/AigleOeil
{0.7 1 0.5 35.3 60.4 Open_Ellipse
gsave Jaune fill grestore
Close_Ellipse} def
/Aigle
{ AigleCorps AiglePatte AigleBec AigleCouronne AigleOeil} def
/IHS
{newpath 0.8 setlinewidth
41 75.5 moveto 41 71.5 lineto
43 75.5 moveto 43 71.5 lineto
43 73.5 moveto 45 73.5 lineto
45 75.5 moveto 45 71.5 lineto
49 75 moveto 47 75 lineto 47.5 73.5 lineto 47 72 lineto 49 72 lineto
42 76.5 moveto 44 76.5 lineto 45 76.5 1 180 0 arcn 48 76.5 lineto
stroke} def
/PostTenebrasLux
{22 3 moveto Weight { /Helvetica-Bold findfont } { /Helvetica findfont } ifelse
4.5 scalefont setfont
(POST TENEBRAS LUX) show} def
% Ecusson routine:
% Syntaxe: X Y SC W Ecusson --
% Dessine l'ecusson de Geneve centre dans un carre virtuel de
% SC points de cote dont le bas gauche est en X,Y.
% W est le poids de la legende "POST TENEBRAS LUX" (false = normal, true = bold)
%
% SC
% <-------------------------->
%
%
% ^ ---------------------
% | | | |
% | | | |
% | | | |
% | | | |
% | | | |
% SC | \ | /
% | \ | /
% | \ | /
% | \ | /
% | ---------
% X |
%-------------->v POST TENEBRAS LUX
% ^
% |
% |
% |
% Y |
% |
% |
%(0,0) |
/Ecusson
{/Weight exch def
gsave newpath /amtx matrix currentmatrix def
3 1 roll translate 100 div dup scale
0.1 setlinewidth 0 setlinejoin
45 72 7.5 15 Soleil
EcupathG Jaune fill
EcupathD Rouge fill
Noir
Ecu Cle Aigle
IHS PostTenebrasLux
amtx setmatrix grestore } def
% tests du fichier:
0 0 55 false Ecusson
% 50 500 55 false Ecusson
% 150 300 300 true Ecusson
% showpage
|