summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/latex/lettre/ecusson55.ps
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