Index: trunk/SophyaPI/PI/Tests/pist.cc
===================================================================
--- trunk/SophyaPI/PI/Tests/pist.cc	(revision 1845)
+++ trunk/SophyaPI/PI/Tests/pist.cc	(revision 1846)
@@ -95,9 +95,13 @@
   for(k=0; k<10; k++)
     mSL[k] = mSH[k] = 0;
-PIFont f(14, PI_DefaultFont);
+PIFont f(16, PI_DefaultFont);
 g->SelFont(f);
   g->SelForeground(PI_Black);
-g->DrawString(50,20,attstr[ia]);
-g->DrawString(XSize()/2,20,fszstr[js]);
+g->DrawString(50,24,attstr[ia]);
+g->DrawString(XSize()/2,24,fszstr[js]);
+ int fh,fa,fd;
+ fh = f.GetFontHeight(fa, fd);
+ cout << " FontSize= " << f.GetFontSize() << " FontHeight= " << fh << endl;
+g->DrawFBox(XSize()/2-30, 24-fh+2, fh, fh);
 
 
@@ -314,5 +318,5 @@
         printf("Creating EPS File %s (Encapsulated PostScript) \n", buff);
         PSFile *mps;
-	mps = new PSFile(buff, 0.75);
+	mps = new PSFile(buff);
 	mcurwin->PSPrint(mps,0,0);
 	delete mps;
Index: trunk/SophyaPI/PI/pigraphx.cc
===================================================================
--- trunk/SophyaPI/PI/pigraphx.cc	(revision 1845)
+++ trunk/SophyaPI/PI/pigraphx.cc	(revision 1846)
@@ -300,6 +300,6 @@
     case  PI_FStarMarker :
       for(k=0; k<10; k++) {
-        x[k] = (int)(starcoordx[k]*(float)mMrkSz+(float)x0+0.5);
-        y[k] = (int)(starcoordy[k]*(float)mMrkSz+(float)y0+0.5);
+        x[k] = (int)(starcoordx[k]*hmsz+(float)x0+0.5);
+        y[k] = (int)(starcoordy[k]*hmsz+(float)y0+0.5);
         }
       x[10] = x[0];   y[10] = y[0];
@@ -719,6 +719,9 @@
 double pio52 = pio5/2.;
 double cpi2 = M_PI/2.-pio5;  
-double re = 1.2;  // Rayon externe
-double ri = 0.5; //  rayon interne pour rext=1.2
+// Pentagone inscrit dans un cercle de rayon R1 = 1
+// les pointes de l'etoile seront inscrites dans un cercle 
+// de rayon R2 = 2.61803 
+double re = 1.;  // Rayon externe
+double ri = 0.38; //  rayon interne pour rext=1.2
 for(int k=0; k<5; k++) {
   starcoordx[2*k] = cos(k*pio5+cpi2)*re;
Index: trunk/SophyaPI/PI/psfile.cc
===================================================================
--- trunk/SophyaPI/PI/psfile.cc	(revision 1845)
+++ trunk/SophyaPI/PI/psfile.cc	(revision 1846)
@@ -234,6 +234,8 @@
 /PITriangle  {0 750 m 375 0 l 750 750 l c s} bind def\n\
 /PIFTriangle {0 750 m 375 0 l 750 750 l c f} bind def\n\
-/PIStar      {} def\n\
-/PIFStar     {} def\n\
+/PIStar      {731 260 m 459 260 l 375 0 l 291 260 l 19 260 l \
+239 419 l 155 678 l 375 518 l 595 678 l 511 419 l c s} def\n\
+/PIFStar     {731 260 m 459 260 l 375 0 l 291 260 l 19 260 l \
+239 419 l 155 678 l 375 518 l 595 678 l 511 419 l c f} def\n\
 end %%$PIDict\n\
 end %%$CharProcs\n\
@@ -245,5 +247,5 @@
 Encoding exch get\n\
 CharProcs exch get\n\
-end exec} def\n\
+end 75 slw exec} def\n\
 end\n\
 /PIMarkers $PIMarkers definefont pop\n\
@@ -303,19 +305,26 @@
 /* Definition de la resolution coordonnees user par defaut (point/cm ou pixels/cm) */ 
 
-int PSFile::def_user_resol_X = 30;
-int PSFile::def_user_resol_Y = 30;
-void PSFile::SetDefaultUserResolution(int resx, int resy)
+float PSFile::postscript_resolution = 28.;  /* environ 72 points / pouce  */
+float PSFile::def_user_resol_X = 30.;      /* environ 75 points / pouce  */
+float PSFile::def_user_resol_Y = 30.;
+float PSFile::def_user_resolution = 30.;
+
+void PSFile::SetUserCoordResolution(float resx, float resy)
 {
-  if ((resx < 1) || (resy < 1)) return;
+  if ((resx < 1.) || (resy < 1.)) return;
   def_user_resol_X = resx;
   def_user_resol_Y = resy;
-}
-void PSFile::GetDefaultUserResolution(int& resx, int& resy)
+  def_user_resolution = 0.5*(resx+resy);
+}
+float PSFile::GetUserCoordResolution(float& resx, float& resy)
 {
-  if ((resx < 1) || (resy < 1)) return;
   resx = def_user_resol_X;
   resy = def_user_resol_Y;
-}
-
+  return (def_user_resolution);
+}
+float PSFile::PSCoordResolution()
+{
+  return (postscript_resolution);
+}
 
 /* 
@@ -563,4 +572,13 @@
 	    boundingBox = 0 ; 
 	} /* BB */
+	/* facteur d'echelle pour les fontes*/
+	currentPage->FontScaleFactor = 1.1*scale; 
+	//	  postscript_resolution/def_user_resolution*scale;
+	/*
+	cout << " EPS_DBG_FontScaleFactor = " << currentPage->FontScaleFactor
+	     << " scale= " << scale << " postscript_resolution= " 
+	     << postscript_resolution << " def_user_resolution= " 
+	     << def_user_resolution << endl;
+	*/
     } /* EPS */
     /*
@@ -614,5 +632,5 @@
 		    tw, th, 
 		    0.5*(Tw-tw), -0.5*(Th+th)) ;
-	}
+	}  /* End if .Portrait  */
 	if(currentPage->orientation == PI_Landscape) {
 	    /* Idem avec X<->Y */
@@ -637,5 +655,13 @@
 	       th, tw,
 	       0.5*(Th-th), 0.5*(Tw-tw));
-	}
+	} /* End if .Landscape */
+	/* facteur d'echelle pour les fontes*/
+	currentPage->FontScaleFactor = 1.2*scale*postscript_resolution;
+	/*
+	cout << " PS_DBG_FontScaleFactor = " << currentPage->FontScaleFactor
+	     << " scale= " << scale << " postscript_resolution= " 
+	     << postscript_resolution << " def_user_resolution= " 
+	     << def_user_resolution << endl;
+	*/
     } /* End if .ps */
 // On redefint la fonte par defaut - $CHECK$ Reza 11/12/99
@@ -772,4 +798,5 @@
     bool change = false;
 
+    FontSize = (float)FontSize*currentPage->FontScaleFactor;
     /* Couleurs */
     if ( (DrawColor != PI_NotDefColor) && (DrawColor != mDrawColor) ) {
@@ -1066,5 +1093,6 @@
     if(MarkerSize != mMarkerSize || setFontDone) {
 	mMarkerSize = MarkerSize ;
-	fprintf(mPSFile, "/PIMarkers ff %d scf sf\n", mMarkerSize) ; 
+	fprintf(mPSFile, "/PIMarkers ff %d scf sf\n", 
+		(int)(mMarkerSize*currentPage->FontScaleFactor)) ; 
         setFontDone = false ; 
     }
@@ -1093,5 +1121,6 @@
     if(MarkerSize != mMarkerSize || setFontDone) {
 	mMarkerSize = MarkerSize ;
-	fprintf(mPSFile, "/PIMarkers ff %d scf sf\n", mMarkerSize) ; 
+	fprintf(mPSFile, "/PIMarkers ff %d scf sf\n",  
+		(int)(mMarkerSize*currentPage->FontScaleFactor)) ; 
         setFontDone = false ; 
     }
Index: trunk/SophyaPI/PI/psfile.h
===================================================================
--- trunk/SophyaPI/PI/psfile.h	(revision 1845)
+++ trunk/SophyaPI/PI/psfile.h	(revision 1846)
@@ -72,6 +72,7 @@
 public:
     /* Definition de la resolution coordonnees user par defaut (point/cm) */ 
-    static void SetDefaultUserResolution(int resx, int resy);
-    static void GetDefaultUserResolution(int & resx, int & resy);
+    static void SetUserCoordResolution(float resx, float resy);
+    static float GetUserCoordResolution(float & resx, float & resy);
+    static float PSCoordResolution(); 
 
     /* Production fichier eps */
@@ -80,5 +81,5 @@
     PSFile (const char * FileName, PIOrientation orientation, 
 	    PIPaperSize paperSize= PI_A4, 
-	    double marginX = 5.0, double marginY = 5.0 ) ;
+	    double marginX = 3.0, double marginY = 3.0 ) ;
 
     virtual      ~PSFile();
@@ -170,4 +171,5 @@
 	int BlocCounter;
 	double Dx,Dy;              /* Sommet SE (unites utilisateur) */ 
+        float FontScaleFactor;    /* Facteur d'echelle pour les fontes */ 
 	PIOrientation orientation;
 	long  begin, end, tmp;    /* Offsets dans le fichier */
@@ -207,5 +209,8 @@
 
   /* resolution coordonnees user (point/cm - pixels/cm) */
-    static int  def_user_resol_X, def_user_resol_Y; 
+    static float  def_user_resol_X, def_user_resol_Y; 
+    static float  def_user_resolution;
+  /* resolution coordonnees PostScript (point/cm - pixels/cm) */
+    static float  postscript_resolution;
 } ;
 
