X-Git-Url: https://melusine.eu.org/syracuse/G/git/?p=carto.git;a=blobdiff_plain;f=cartes%2F32U%2Fpostscript%2Fcarte1.ps;h=bbdc7df0ab5eb4808490b2da7c23cf5b80178d1d;hp=7fedf9dce4bffeec4344630c7e707cce64af316c;hb=afef5a7c7fa62420adbce7738989c6e5146cd1a8;hpb=7aac91b0a706cd21ff4805902de1744c0452a72c diff --git a/cartes/32U/postscript/carte1.ps b/cartes/32U/postscript/carte1.ps index 7fedf9d..bbdc7df 100644 --- a/cartes/32U/postscript/carte1.ps +++ b/cartes/32U/postscript/carte1.ps @@ -1,4 +1,4 @@ -%! PS +%!PS << /PageSize [750 900] >> setpagedevice % ------------------------------------------------------------------------------ @@ -20,12 +20,13 @@ gsave %% Couleur du fond 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 % ------------------------------------------------------------------------------ /Pas 1 def @@ -48,21 +49,32 @@ grestore } 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 @@ -71,40 +83,77 @@ disquedict /mtrx matrix put } 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 @@ -130,7 +179,7 @@ allemagne { Construction closepath gsave LightGoldenrod fill grestore} forall %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Länder (frontières) %%%%%%%%%%%%%%%%%%%%%%%%%%%%% lander { Construction closepath WhiteSmoke 0.5 setlinewidth stroke} forall -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Fleuves et rivières %%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Fleuves et rivières %%%%%%%%%%%%%%%%%%%%%%%%%%%%% [rhin saone elbe neckar rhone doubs danube oder saale mosel weser ems main] { { Construction DarkBlue 0.25 setlinewidth stroke} forall } forall @@ -141,7 +190,10 @@ lander { Construction closepath WhiteSmoke 0.5 setlinewidth stroke} 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 @@ -153,14 +205,30 @@ V_allemagne_capitales_lander { 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 (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