-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Capitales de Länder (points et noms) %%%%%%%%%%%%%%%%%%%%%%%%%
-/CouleurNom {Orange} def
-/RayonVille 2 def % Des points un peu plus gros pour les capitales
-V_allemagne_capitales_lander {
- PlacePoint gsave Orange fill grestore PlaceNom
+% ------------------------------------------------------------------------------
+/Pas 1 def
+% ------------------------------------------------------------------------------
+/Construction {
+ /region exch def
+ newpath
+ /nbr region length def
+ region 0 get aload pop
+ /Y exch def /X exch def
+ X Y moveto
+ /ncount 0 def
+ 0 1 nbr 1 sub {
+ /ncount ncount 1 add def
+ region exch get aload pop
+ ncount Pas mod 0 eq nbr ncount sub 0 lt or {
+ /Y exch def /X exch def
+ X Y lineto
+ }{ pop pop } ifelse
+ } for
+} def
+
+%% PlacePoint et PlaceNom ------------------------------------------------------
+%% [e n (nom) angle] PlacePoint ensuite PlaceNom récupére ce qu'il lui faut dans
+%% dictionnaire disquedict
+/disquedict 10 dict def
+disquedict /mtrx matrix put
+
+/Nom (Ville) def
+/Position -1 def
+/PlacePoint {
+ aload pop
+ /Position exch def
+ /Nom exch def
+ newpath
+ disquedict begin
+ /Y exch def /X exch def
+ /savematrix mtrx currentmatrix def
+ X Y translate RayonDisque dup scale
+ 0 0 1 0 360 arc
+ savematrix setmatrix
+ end
+} def
+
+/PlaceNom {
+ Position -1 gt {
+ disquedict begin
+ /savematrix mtrx currentmatrix def
+ X Y translate
+ %% Dimension (largeur) du nom -------------------------
+ Nom stringwidth pop /WX exch def
+ %% ----------------------------------------------------
+ Position cos LabelOffset mul /X exch def
+ Position sin LabelOffset mul /Y exch def
+ X 0 gt {
+ %% Nom à droite
+ X Y HauteurCaractere 2 sub moveto
+ } {
+ X 0 lt {
+ %% Nom à gauche
+ X WX sub Y HauteurCaractere 2 div sub moveto
+ } {
+ Y 0 gt {
+ %% Nom au dessus
+ X WX 2 div sub Y moveto
+ } {
+ %% Nom en dessous
+ X WX 2 div sub Y HauteurCaractere sub moveto
+ } ifelse
+ } ifelse
+ } ifelse
+ %% Présentation du nom --------------------------------
+ 0.7 setgray Nom show
+ CouleurNom WX neg 0.65 sub 0.65 rmoveto Nom show
+ %% ----------------------------------------------------
+ savematrix setmatrix
+ end
+ } if
+} def
+% ------------------------------------------------------------------------------
+
+1 setlinejoin
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Pays (fond) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+allemagne { Construction closepath gsave LightGoldenrod fill grestore} forall
+[hollande france italie suisse tchequie pologne belgique autriche
+ luxembourg liechtenstein danemark] {
+ { Construction closepath gsave MediumSeaGreen fill grestore} forall