-%! PS
+%!PS
<< /PageSize [750 900] >> setpagedevice
% ------------------------------------------------------------------------------
grestore
% ------------------------------------------------------------------------------
-(pays.ps) run
-(lander.ps) run
-(fleuves.ps) run
-(lacs.ps) run
-(villes.ps) run
-(iles.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
+(noms-lacs.ps) run
% ------------------------------------------------------------------------------
/Pas 1 def
} for
} def
+/concatstrings {
+ exch dup length
+ 2 index length add string
+ dup dup 4 2 roll copy length
+ 4 -1 roll putinterval
+} bind 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
+%% [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 RayonDisque dup scale
0 0 1 0 360 arc
} def
/PlaceNom {
- Position -1 gt {
- disquedict begin
+ placedict begin
+ pos -1 gt {
/savematrix mtrx currentmatrix def
X Y translate
%% Dimension (largeur) du nom -------------------------
- Nom stringwidth pop /WX exch def
+ 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
+ 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
/CouleurNom {DarkRed} def
/RayonDisque 2 def
/LabelOffset 5 def
-V_allemagne { PlacePoint gsave DarkRed fill grestore} forall
+[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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Capitales %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/Helvetica-Bold findfont 14 scalefont ISOEncode setfont
PlacePoint gsave YellowGreen fill grestore PlaceNom
} forall
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iles %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Iles (Noms) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
/Helvetica-Bold findfont 6 scalefont ISOEncode setfont
/HauteurCaractere 5 def
/CouleurNom {DarkBlue} def
/RayonDisque 3 def
/LabelOffset 5 def
I_allemagne {
- PlacePoint pop PlaceNom
+ PlacePoint PlaceNom
} forall
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Rivières et lacs (Noms) %%%%%%%%%%%%%%%%%%%%%%%%
+/Helvetica-Bold findfont 6 scalefont ISOEncode setfont
+/HauteurCaractere 5 def
+/CouleurNom {DarkBlue} def
+[L_allemagne R_allemagne] {
+ { PlacePoint PlaceNom } forall
+} 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