Index: trunk/SophyaPI/PI/Tests/pit1.cc
===================================================================
--- trunk/SophyaPI/PI/Tests/pit1.cc	(revision 392)
+++ trunk/SophyaPI/PI/Tests/pit1.cc	(revision 402)
@@ -116,5 +116,5 @@
 PIFont f3(14,PI_TimesFont,PI_BoldFont);
 g->SelFont(f3);
-g->DrawString(20, 170, "Times-Font");
+g->DrawString(20, 170, "Times-Font-Bold");
 PIFont f4(14,PI_HelveticaFont,PI_BoldFont);
 g->SelFont(f4);
@@ -123,4 +123,5 @@
 g->SelFont(f5);
 g->DrawString(20, 210, "Symbol-Font");
+g->SelFont(f0);
 
 
Index: trunk/SophyaPI/PI/Tests/pitcons.cc
===================================================================
--- trunk/SophyaPI/PI/Tests/pitcons.cc	(revision 392)
+++ trunk/SophyaPI/PI/Tests/pitcons.cc	(revision 402)
@@ -102,4 +102,6 @@
 PITApp::~PITApp()
 {
+  if (scons) delete scons;
+  if (cons) delete cons;
 }  
 
Index: trunk/SophyaPI/PI/picons.cc
===================================================================
--- trunk/SophyaPI/PI/picons.cc	(revision 392)
+++ trunk/SophyaPI/PI/picons.cc	(revision 402)
@@ -14,4 +14,24 @@
 static PIMenu* opmc=NULL;
 static int nb_opmc = 0;
+
+static void ActivatePIConsOptionMenu(PIConsole* par)
+{
+  if (opmc)  delete opmc;
+  opmc = NULL;
+
+  opmc = new PIMenu(par, "OptCons", k_PopupMenu);
+  opmc->AppendItem("SmallFont", 3101);
+  opmc->AppendItem("NormalFont", 3102);
+  opmc->AppendItem("LargeFont", 3103);
+  opmc->AppendItem("25L x 80C", 3301);
+  opmc->AppendItem("25L x 132C", 3302);
+  opmc->AppendItem("5L x 80C", 3303);
+  opmc->AppendItem("Bkg White", 3201);
+  opmc->AppendItem("Bkg Black", 3202);
+  
+  opmc->SetMsgParent((PIMsgHandler*)par);
+  opmc->Show(); 
+  
+}
 
 /*  --------------------------------------------------------------------------------- */
@@ -72,20 +92,8 @@
 mCurC = 0;
 
+
 // Pour ajouter un scroll-bar
 AssocScrollBar(par, nom, scb, sx, sy, px, py);
 
-// Pour le menu des options : Fontes, couleur, ...
-if (!opmc) {
-  opmc = new PIMenu(this, "OptCons", k_PopupMenu);
-  opmc->AppendItem("SmallFont", 3101);
-  opmc->AppendItem("NormalFont", 3102);
-  opmc->AppendItem("LargeFont", 3103);
-  opmc->AppendItem("25L x 80C", 3301);
-  opmc->AppendItem("25L x 132C", 3302);
-  opmc->AppendItem("5L x 80C", 3303);
-  opmc->AppendItem("Bkg White", 3201);
-  opmc->AppendItem("Bkg Black", 3202);
-  }
-nb_opmc++;
 
 ActivateKeyboard();  // Gestion de l'edition 
@@ -107,6 +115,5 @@
 delete[] mCmdStr;
 if (mScb) delete mScb;
-nb_opmc--;
-if (nb_opmc == 0) { delete opmc;  opmc=NULL; }
+if (opmc) { delete opmc;  opmc=NULL; }
 }
 
@@ -298,6 +305,5 @@
 if (kmod == PIKM_Alt) {
   if (key == 'O' || key == 'o') {   // Menu des options 
-    opmc->SetMsgParent((PIMsgHandler*)this);
-    opmc->Show(); 
+    ActivatePIConsOptionMenu(this);
     return;
     }
@@ -452,6 +458,5 @@
 void PIConsole::But3Press(int x, int y)
 {
-opmc->SetMsgParent((PIMsgHandler*)this);
-opmc->Show((PIWdg*)this, x, y);
+ActivatePIConsOptionMenu(this);
 }
 
@@ -862,4 +867,5 @@
     }
   if (fgr) Refresh();
+  delete opmc;  opmc = NULL;
   }
 // Le traitement du scroll-bar
Index: trunk/SophyaPI/PI/pifontx.cc
===================================================================
--- trunk/SophyaPI/PI/pifontx.cc	(revision 392)
+++ trunk/SophyaPI/PI/pifontx.cc	(revision 402)
@@ -230,5 +230,5 @@
     2*sizeof(String) , XtRString, "*-helvetica" } ,
   { "timesfontFamilyName", "TimesfontFamilyName", XtRString, sizeof(String),
-    2*sizeof(String) , XtRString, "*-times" } ,
+    3*sizeof(String) , XtRString, "*-times" } ,
   { "symbolfontFamilyName", "SymbolfontFamilyName", XtRString, sizeof(String),
     4*sizeof(String) , XtRString, "*-symbol" }
@@ -251,10 +251,18 @@
   char **list;
 
-  for (k=0; k<5; k++)    // Recherche de la fonte pour tailles croissantes
-    {
+  for (k=0; k<5; k++)  {  // Recherche de la fonte pour tailles croissantes
     sprintf(buff,"-%s-%s-*-%d-*-*-*-*-*-*-*", apd.fntFam[kfn], fnbi[jat], fntsz[isz]+k);
     list = XListFonts(mdsp, buff, 10, &count);
     XFreeFontNames(list);
     if (count > 0)  break;
+    }
+  // certaines fontes n'ont pas de version  bold ou italique
+  if ( (count == 0) && (jat > 0) ) {
+    for (k=0; k<5; k++)  {  // Recherche de la fonte pour tailles croissantes
+      sprintf(buff,"-%s-%s-*-%d-*-*-*-*-*-*-*", apd.fntFam[kfn], fnbi[0], fntsz[isz]+k);
+      list = XListFonts(mdsp, buff, 10, &count);
+      XFreeFontNames(list);
+      if (count > 0)  break;
+      }
     }
   if (count > 0) 
