diff -Naru easychem-0.6/easychem.c devel/easychem.c
--- easychem-0.6/easychem.c	2005-05-04 10:10:07.000000000 +0200
+++ devel/easychem.c	2005-05-30 15:36:09.000000000 +0200
@@ -2961,12 +2961,15 @@
   g_set_application_name ("Easychem");
 #endif*/
 #ifdef I18N
-  setlocale (LC_ALL, "");
   bindtextdomain("easychem", PREFIX "/share/locale");
   textdomain ("easychem");
 #endif
-  setlocale (LC_NUMERIC, "C");
   gtk_init (&argc, &argv);
+
+/* The calls to setlocale must happen *after* call to gtk_init! */
+  setlocale (LC_ALL, "C");
+  setlocale (LC_NUMERIC, "C");
+
   signal (SIGINT, handle_signal);
   signal (SIGTERM, handle_signal);
   signal (SIGSEGV, handle_signal);
diff -Naru easychem-0.6/export.c devel/export.c
--- easychem-0.6/export.c	2005-05-04 10:10:07.000000000 +0200
+++ devel/export.c	2005-05-30 15:47:47.000000000 +0200
@@ -984,7 +984,7 @@
 eps_write (struct Bond *list, FILE * file, const int heading,
 	   const int bbox_atend)
 {
-#define SIZE 40
+#define SIZE 200
   struct Bond *group1, *group2, *current;
   gchar *str, *str2, buff[SIZE], *left, *right;
   time_t t;
@@ -1003,7 +1003,8 @@
     fprintf (file, "%%%%For: %s", str);
 
 #ifdef UNIX
-    gethostname (buff, SIZE);
+    gethostname (buff, SIZE - 1);
+    buff[SIZE-1] = 0;
     fprintf (file, "@%s", buff);
 #endif
 
@@ -1083,14 +1084,14 @@
 	    {
 	      if (group2 != NULL)
 		{
-		  str = centered_part_of_group (group2);
+		  str = centered_part_of_group (group1);
 		  str2 = LATIN1 (str);
 		  g_free (str);
 		  str = richtext_to_eps (str2, 0, strlen (str2));
 		  fprintf (file, "{%s}", str);
 		  g_free (str);
 		  g_free (str2);
-		  str = centered_part_of_group (group1);
+		  str = centered_part_of_group (group2);
 		  str2 = LATIN1 (str);
 		  g_free (str);
 		  str = richtext_to_eps (str2, 0, strlen (str2));
@@ -1912,8 +1913,8 @@
 	  break;
 
 	case BOND_ATOM:
-	  fprintf (file, "4 1 0 50 %d 0 10.0 0.0 %d ", color,
-	           prop.latex_export ? 3 : 5);
+	  fprintf (file, "4 1 0 50 %d 0 %g 0.0 %d ", color,
+	           10.0 * current->width, prop.latex_export ? 3 : 5);
 	  fprintf (file, "-1 -1 %d %d ", ex3, ey1 + ey2);
 	  for (i = 0; i < (signed) strlen (current->text); i++)
 	    if ((current->text)[i] == '\\')
@@ -1924,7 +1925,8 @@
 	  break;
 
 	case BOND_GROUP_L:
-	  fprintf (file, "4 0 0 50 %d 1 10.0 0.0 3 ", color);
+	  fprintf (file, "4 0 0 50 %d 1 %g 0.0 3 ", color,
+	           10.0 * current->width);
 	  fprintf (file, "-1 -1 %d %d ", ex3, ey1 + ey2);
 	  for (i = 0; i < (signed) strlen (current->text); i++)
 	    if ((current->text)[i] == '\\')
@@ -1935,7 +1937,8 @@
 	  break;
 
 	case BOND_GROUP_R:
-	  fprintf (file, "4 2 0 50 %d 1 10.0 0.0 3 ", color);
+	  fprintf (file, "4 2 0 50 %d 1 %g 0.0 3 ", color,
+	           10.0 * current->width);
 	  fprintf (file, "-1 -1 %d %d ", ex3, ey1 + ey2);
 	  for (i = 0; i < (signed) strlen (current->text); i++)
 	    if ((current->text)[i] == '\\')
diff -Naru easychem-0.6/postscript/cm_common.ps devel/postscript/cm_common.ps
--- easychem-0.6/postscript/cm_common.ps	2005-05-04 10:10:07.000000000 +0200
+++ devel/postscript/cm_common.ps	2005-05-06 10:49:11.000000000 +0200
@@ -1,6 +1,7 @@
 % This is used to set the font to the current fs/ft values
 /sf{ft 0 eq{/CMFX findfont}{ft 1 eq{/CMFXi findfont}{ft 2 eq{/CMFXb
-  findfont}{/CMFXbi findfont}ifelse}ifelse}ifelse fs scalefont setfont}bd
+  findfont}{/CMFXbi findfont}ifelse}ifelse}ifelse
+  fs relfs mul scalefont setfont}bd
 
 % We set the font
 sf
diff -Naru easychem-0.6/postscript/preamble.ps devel/postscript/preamble.ps
--- easychem-0.6/postscript/preamble.ps	2005-05-04 10:10:07.000000000 +0200
+++ devel/postscript/preamble.ps	2005-05-06 10:49:11.000000000 +0200
@@ -243,8 +243,10 @@
 1 setlinejoin
 0.6 setlinewidth
 1 setlinecap
-% Current size of the font
+% Current size of the font (10 for normal, 7 for sub- or superscript)
 /fs{10}bd
+% User relative font-size
+/relfs{1.0}bd
 % Current type of the font (0: regular, 1: italic, 2: bold)
 /ft{0}bd
 
diff -Naru easychem-0.6/postscript/times.ps devel/postscript/times.ps
--- easychem-0.6/postscript/times.ps	2005-05-04 10:10:07.000000000 +0200
+++ devel/postscript/times.ps	2005-05-06 10:49:11.000000000 +0200
@@ -39,11 +39,11 @@
 /TRb/Times-Bold latin1
 /TRbi/Times-BoldItalic latin1
 
-% This is used to set the font to the current fs/ft values
+% This is used to set the font to the current fs/relfs/ft values
 /sf{ft 0 eq{/TR findfont}{ft 1 eq{/TRi findfont}{ft 2 eq{/TRb findfont}{/TRbi
-    findfont}ifelse}ifelse}ifelse fs scalefont setfont}bd
-% This is used to set the font to Symbol, ignoring ft and using fs
-/g{/Symbol findfont fs scalefont setfont}bd
+    findfont}ifelse}ifelse}ifelse fs relfs mul scalefont setfont}bd
+% This is used to set the font to Symbol, ignoring ft and using relfs/fs
+/g{/Symbol findfont fs relfs mul scalefont setfont}bd
 
 % We set the font
 sf
diff -Naru easychem-0.6/TODO devel/TODO
--- easychem-0.6/TODO	2005-05-04 10:10:07.000000000 +0200
+++ devel/TODO	2005-05-30 15:47:47.000000000 +0200
@@ -3,6 +3,8 @@
 
 BUGS À CORRIGER
   - centre de la rotation / atome
+  - bug centrage CH_3-CH-CH
+  - utilisation de "\{"
 
 AJOUTS EN COURS
   - Support for accents and all latin scripts
@@ -25,6 +27,8 @@
   - export LaTeX
   - lasso
 
+  - MacOS X: regarder comment EquationService se démerde
+
 REMARQUES H&K
 
 Pourrais-tu modifier la distance par défaut des ornements. J'ai fait des
