-%! PS
+%!PS
<< /PageSize [750 900] >> setpagedevice
% ------------------------------------------------------------------------------
0 450 translate %% Déplacement du point origine
gsave %% Couleur du fond
0 0 moveto 750 0 rlineto 0 900 rlineto -750 0 rlineto
- closepath Aqua fill
+ closepath DeepSkyBlue fill
grestore
% ------------------------------------------------------------------------------
-(pays.ps) run
-(lander.ps) run
-(fleuves.ps) run
-(lacs.ps) run
-(villes.ps) run
+(pays.ps) run
+(lander.ps) run
+(fleuves.ps) run
+(lacs.ps) run
+(villes.ps) run
+(noms-iles.ps) run
+(noms-fleuves.ps) run
% ------------------------------------------------------------------------------
/Pas 1 def
-/RayonVille 2 def
-/LabelOffset 6 def
% ------------------------------------------------------------------------------
/Construction {
/region exch def
} for
} def
-/disquedict 10 dict def
-disquedict /mtrx matrix put
+/concatstrings {
+ exch dup length
+ 2 index length add string
+ dup dup 4 2 roll copy length
+ 4 -1 roll putinterval
+} bind def
-/Ville (Ville) def
-/Position -1 def
-/PlacePoint {
- aload pop
- /Position exch def
- /Ville exch def
- newpath
- disquedict begin
+%% PlacePoint et PlaceNom ------------------------------------------------------
+%% [e n (nom) angle] PlacePoint ensuite PlaceNom récupère ce qu'il lui faut dans
+%% dictionnaire placedict
+%%
+%% Usage : [e n (nom) pos (proc)] PlacePoint .... PlaceNom
+%% Le cinquième argument est facultatif....
+
+/placedict 10 dict def
+placedict /mtrx matrix put
+
+/PlacePoint {
+ placedict begin
+ /argv exch def /argn argv length def
+ argv aload pop
+ /proc (Place_Defaut) def
+ argn 4 gt { (Place_) exch concatstrings /proc exch def } if
+ /pos exch def /nom exch def
/Y exch def /X exch def
+ newpath
/savematrix mtrx currentmatrix def
- X Y translate RayonVille dup scale
+ X Y translate RayonDisque dup scale
0 0 1 0 360 arc
savematrix setmatrix
end
} def
/PlaceNom {
- Position -1 gt {
- disquedict begin
+ placedict begin
+ pos -1 gt {
/savematrix mtrx currentmatrix def
X Y translate
- %% Dimension (largeur) du nom -------------------------
- /Helvetica-Bold findfont 14 scalefont ISOEncode setfont
- Ville stringwidth pop /WX exch def
+ %% 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 5 sub moveto
- } {
- X 0 lt {
- %% Nom à gauche
- X WX sub Y 5 sub moveto
- } {
- Y 0 gt {
- %% Nom au dessus
- X WX 2 div sub Y moveto
- } {
- %% Nom en dessous
- X WX 2 div sub Y 10 sub moveto
- } ifelse
- } ifelse
- } ifelse
- %% Présentation du nom --------------------------------
- 0.7 setgray Ville show
- CouleurNom WX neg 0.65 sub 0.65 rmoveto Ville show
+ proc cvx exec
%% ----------------------------------------------------
savematrix setmatrix
- end
- } if
+ } if
+ end
+} def
+
+/Place_Defaut_Position {
+ pos cos LabelOffset mul /X exch def
+ pos sin LabelOffset mul /Y exch def
+ X 0 gt {
+ %% Nom à droite
+ X Y HauteurCaractere 2 div 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
+} def
+
+/Place_Defaut {
+ Place_Defaut_Position
+ %% Présentation du nom --------------------------------
+ 0.7 setgray nom show
+ CouleurNom wx neg 0.65 sub 0.65 rmoveto nom show
+} def
+
+/Place_Centering {
+ wx 2 div neg wx 2 div neg rmoveto
+ %% Présentation du nom --------------------------------
+ 0.7 setgray nom show
+ CouleurNom wx neg 0.65 sub 0.65 rmoveto nom show
+} def
+
+/Place_Rotate {
+ pos cos 0 ge {
+ pos rotate
+ LabelOffset HauteurCaractere 2 div neg moveto
+ } {
+ pos 180 sub rotate
+ LabelOffset wx add neg HauteurCaractere 2 div neg moveto
+ } ifelse
+ %% Présentation du nom --------------------------------
+ 0.7 setgray nom show
+ CouleurNom wx neg 0.65 sub 0.65 rmoveto nom show
} def
+
+/Place_RotateCentering {
+ pos rotate wx 2 div neg HauteurCaractere 2 div neg moveto
+ %% Présentation du nom --------------------------------
+ 0.7 setgray nom show
+ CouleurNom wx neg 0.65 sub 0.65 rmoveto nom show
+} def
+
+
% ------------------------------------------------------------------------------
1 setlinejoin
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Länder (frontières) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
lander { Construction closepath WhiteSmoke 0.5 setlinewidth stroke} forall
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Fleuves et rivières %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Fleuves et riviÃ\83¨res %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
[rhin saone elbe neckar rhone doubs danube oder saale mosel weser ems main] {
{ Construction DarkBlue 0.25 setlinewidth stroke} forall
} forall
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Villes (points) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-V_allemagne { PlacePoint gsave DarkRed fill grestore} forall
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Villes %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+/Helvetica-Bold findfont 8 scalefont ISOEncode setfont
+/HauteurCaractere 6 def
+/CouleurNom {DarkRed} def
+/RayonDisque 2 def
+/LabelOffset 5 def
+[V_allemagne V_hollande V_belgique V_luxembourg V_france V_suisse V_autriche
+V_tchequie V_pologne] {
+ { PlacePoint gsave DarkRed fill grestore PlaceNom} forall
+} forall
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Villes (points et noms) %%%%%%%%%%%%%%%%%%%%%%%%%
-/CouleurNom {Orange} def
-/RayonVille 3 def % Des points un peu plus gros pour les capitales
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Capitales %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+/Helvetica-Bold findfont 14 scalefont ISOEncode setfont
+/HauteurCaractere 10 def
+/CouleurNom {Orange} def
+/RayonDisque 3 def % Des points un peu plus gros pour les capitales
+/LabelOffset 6 def
V_allemagne_capitales_lander {
PlacePoint gsave YellowGreen fill grestore PlaceNom
} forall
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iles (Noms) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+/Helvetica-Bold findfont 6 scalefont ISOEncode setfont
+/HauteurCaractere 5 def
+/CouleurNom {DarkBlue} def
+/RayonDisque 3 def
+/LabelOffset 5 def
+I_allemagne {
+ PlacePoint PlaceNom
+} forall
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Rivières (Noms) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+/Helvetica-Bold findfont 6 scalefont ISOEncode setfont
+/HauteurCaractere 5 def
+/CouleurNom {DarkBlue} def
+R_allemagne {
+ PlacePoint PlaceNom
+} forall
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Autres annotations %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+/mo /moveto load def
+/Helvetica-Bold findfont 20 scalefont setfont
+/shm { gsave DarkBlue show grestore } def
+90.412 368.266 mo (Nordsee)shm
+630.412 418.266 mo (Ostsee)shm
+
+
showpage