7fedf9dce4bffeec4344630c7e707cce64af316c
[carto.git] / cartes / 32U / postscript / carte1.ps
1 %! PS
2
3 << /PageSize [750 900] >> setpagedevice
4 % ------------------------------------------------------------------------------
5 % Utilisation de l'encodage latin1 (utf8 ne peut être utilisé directement).
6 /ISOEncode {
7     dup length dict begin
8                 {1 index /FID ne {def} {pop pop} ifelse} forall
9                 /Encoding ISOLatin1Encoding def
10                 currentdict
11     end
12     /Temporary exch definefont
13 } bind def
14 % ------------------------------------------------------------------------------
15 (svgnames.ps) run                                %% Utilisation des couleurs SVG                           
16 0 450 translate                                  %% Déplacement du point origine
17 gsave                                                         %% Couleur du fond
18   0 0 moveto 750 0 rlineto 0 900 rlineto -750 0 rlineto
19   closepath DeepSkyBlue fill
20 grestore
21 % ------------------------------------------------------------------------------
22
23 (pays.ps)    run
24 (lander.ps)  run
25 (fleuves.ps) run
26 (lacs.ps)    run
27 (villes.ps)  run
28 (iles.ps)    run
29
30 % ------------------------------------------------------------------------------
31 /Pas 1 def
32 % ------------------------------------------------------------------------------
33 /Construction {
34         /region exch def
35         newpath
36         /nbr region length def
37         region 0 get aload pop
38         /Y exch def /X exch def
39         X Y moveto
40         /ncount 0 def
41         0 1 nbr 1 sub {
42                 /ncount ncount 1 add def
43                 region exch get aload pop
44                 ncount Pas mod 0 eq nbr ncount sub 0 lt or {
45                         /Y exch def /X exch def
46                         X  Y lineto
47                 }{ pop pop } ifelse
48         } for
49 } def
50
51 %% PlacePoint et PlaceNom ------------------------------------------------------
52 %% [e n (nom) angle] PlacePoint ensuite PlaceNom récupére ce qu'il lui faut dans
53 %% dictionnaire disquedict
54 /disquedict 10 dict def
55 disquedict /mtrx matrix put
56
57 /Nom (Ville) def
58 /Position -1 def
59 /PlacePoint {   
60         aload pop
61         /Position exch def
62         /Nom exch def
63         newpath
64         disquedict begin
65                 /Y exch def /X exch def
66                 /savematrix mtrx currentmatrix def
67                 X Y translate RayonDisque dup scale
68                 0 0 1 0 360 arc
69                 savematrix setmatrix
70         end
71 } def
72
73 /PlaceNom {
74         Position -1 gt {
75                 disquedict begin
76                         /savematrix mtrx currentmatrix def                      
77                         X Y translate
78                         %% Dimension (largeur) du nom -------------------------                 
79                         Nom stringwidth pop /WX exch def
80                         %% ----------------------------------------------------
81                         Position cos LabelOffset mul /X exch def
82                         Position sin LabelOffset mul /Y exch def
83                         X 0 gt {
84                                 %% Nom à droite
85                                 X Y HauteurCaractere 2 sub moveto
86                         } {
87                                 X 0 lt {
88                                         %% Nom à gauche
89                                         X WX sub Y HauteurCaractere 2 div  sub moveto
90                                 } {
91                                         Y 0 gt {
92                                                 %% Nom au dessus
93                                                 X WX 2 div sub Y moveto
94                                         } {
95                                                 %% Nom en dessous
96                                                 X WX 2 div sub Y HauteurCaractere sub moveto
97                                         } ifelse
98                                 } ifelse                
99                         } ifelse
100                         %% Présentation du nom --------------------------------                        
101                         0.7 setgray Nom show
102                         CouleurNom WX neg 0.65 sub 0.65 rmoveto Nom show
103                         %% ----------------------------------------------------
104                         savematrix setmatrix
105                 end
106         } if
107 } def
108 % ------------------------------------------------------------------------------
109
110 1 setlinejoin
111
112 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Pays (fond) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
113 allemagne { Construction closepath gsave LightGoldenrod fill grestore} forall
114 [hollande france italie suisse tchequie pologne belgique autriche
115   luxembourg liechtenstein danemark] {
116         { Construction closepath gsave MediumSeaGreen fill grestore} forall 
117 } forall
118
119 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Lacs (fond) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
120 [leman constance] {
121         { Construction closepath gsave DarkBlue fill grestore} forall
122 } forall
123
124 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Pays (frontières) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
125 [allemagne hollande france suisse tchequie pologne belgique autriche
126   luxembourg liechtenstein danemark] {
127         { Construction closepath DarkGray stroke } forall 
128 } forall
129
130 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Länder (frontières) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
131 lander { Construction closepath WhiteSmoke 0.5 setlinewidth stroke} forall
132
133 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Fleuves et rivières %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
134 [rhin saone elbe neckar rhone doubs danube oder saale mosel weser ems main] {
135         { Construction DarkBlue 0.25 setlinewidth stroke} forall
136 } forall
137
138 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Villes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
139 /Helvetica-Bold   findfont 8 scalefont ISOEncode setfont
140 /HauteurCaractere 6 def
141 /CouleurNom       {DarkRed} def
142 /RayonDisque      2 def
143 /LabelOffset      5 def
144 V_allemagne { PlacePoint gsave DarkRed fill grestore} forall
145
146 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Capitales %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
147 /Helvetica-Bold   findfont 14 scalefont ISOEncode setfont
148 /HauteurCaractere 10 def
149 /CouleurNom       {Orange} def
150 /RayonDisque      3 def         % Des points un peu plus gros pour les capitales
151 /LabelOffset      6 def
152 V_allemagne_capitales_lander {
153         PlacePoint gsave YellowGreen fill grestore PlaceNom
154 } forall
155
156 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
157 /Helvetica-Bold   findfont 6 scalefont ISOEncode setfont
158 /HauteurCaractere 5 def
159 /CouleurNom       {DarkBlue} def
160 /RayonDisque      3 def         
161 /LabelOffset      5 def
162 I_allemagne {
163         PlacePoint pop PlaceNom
164 } forall
165
166 showpage

Licence Creative Commons Les fichiers de Syracuse sont mis à disposition (sauf mention contraire) selon les termes de la
Licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 4.0 International.