Index: /trunk/Ohana/src/kapa/graph/DrawObjects.c
===================================================================
--- /trunk/Ohana/src/kapa/graph/DrawObjects.c	(revision 5610)
+++ /trunk/Ohana/src/kapa/graph/DrawObjects.c	(revision 5611)
@@ -27,6 +27,6 @@
 int DrawObjectN (Layout *layout, Gobjects *object) {
   
-  static unsigned char dash[2] = {5,10};
-  static unsigned char dot[2] = {3,3};
+  static char dash[2] = {5,10};
+  static char dot[2] = {3,3};
   int lweight;
   
Index: /trunk/Ohana/src/kapa/graph/DrawRotString.c
===================================================================
--- /trunk/Ohana/src/kapa/graph/DrawRotString.c	(revision 5610)
+++ /trunk/Ohana/src/kapa/graph/DrawRotString.c	(revision 5611)
@@ -1,5 +1,5 @@
 # include "Ximage.h"
-# include "alphabet.h"
-
+
+# define NROTCHARS 256
 # define XPROC(x,y) (scale*(cs*((x) - x0) - sn*((y) - y0)) + X0)
 # define YPROC(x,y) (scale*(cs*((y) - y0) + sn*((x) - x0)) + Y0)
@@ -8,8 +8,16 @@
 int DrawRotText (int x, int y, char *string, int pos, double angle) {
 
-  char *c, *bitmap, basefont[64];
+  unsigned char *bitmap;
+  char *currentname, basename[64], *c; 
   int i, dy, dx, N, X, Y, code;
-  int dX, Xoff, dY, Yoff, YoffBase, basesize;
-  double cs, sn;
+  int dX, Xoff, dY, Yoff, YoffBase;
+  int currentsize, basesize;
+  double cs, sn, currentscale;
+  RotFont *currentfont;
+
+  currentname = GetRotFont (&currentsize);
+  currentfont = GetRotFontData (&currentscale);
+  strcpy (basename, currentname);
+  basesize = currentsize;
 
   /* strip leading whitespace */
@@ -21,5 +29,5 @@
   sn = sin(angle*RAD_DEG);
   dX = RotStrlen (c);
-  dY = activefont[65].ascent;
+  dY = currentfont[65].ascent;
 
   /* apply appropriate offset */
@@ -39,12 +47,9 @@
   code = FALSE;
 
-  strcpy (basefont, currentname);
-  basesize = currentsize;
-
   YoffBase = Yoff;
   /* draw characters one-by-one */
   for (i = 0; i < strlen(c); i++) {
     N = (int)(c[i]);
-    if ((N < 0) || (N >= NROT)) continue;
+    if ((N < 0) || (N >= NROTCHARS)) continue;
 
     /* check for special characters */
@@ -52,14 +57,17 @@
       if (N == 94) {
 	SetRotFont (currentname, (int)(0.8*currentsize));
-	Yoff -= 0.5*activescale*dY;
+	currentfont = GetRotFontData (&currentscale);
+	Yoff -= 0.5*currentscale*dY;
 	continue;
       }
       if (N == 95) { 
 	SetRotFont (currentname, (int)(0.8*currentsize));
-	Yoff += 0.5*activescale*dY;
+	currentfont = GetRotFontData (&currentscale);
+	Yoff += 0.5*currentscale*dY;
 	continue;
       }
       if (N == 124) {
 	SetRotFont (currentname, basesize);
+	currentfont = GetRotFontData (&currentscale);
 	Yoff = YoffBase;
 	continue;
@@ -72,13 +80,17 @@
 	if (c[i+1] == 'h') {
 	  SetRotFont ("helvetica", currentsize);
+	  currentfont = GetRotFontData (&currentscale);
 	}
 	if (c[i+1] == 't') {
 	  SetRotFont ("times", currentsize);
+	  currentfont = GetRotFontData (&currentscale);
 	}
 	if (c[i+1] == 'c') {
 	  SetRotFont ("courier", currentsize);
+	  currentfont = GetRotFontData (&currentscale);
 	}
 	if (c[i+1] == 's') {
 	  SetRotFont ("symbol", currentsize);
+	  currentfont = GetRotFontData (&currentscale);
 	}
 	i++;
@@ -88,17 +100,17 @@
     code = FALSE;
 
-    bitmap = activefont[N].bits;
-    dx = activefont[N].dx;
-    dy = activefont[N].dy;
-    X = x + (int)(Xoff*cs - Yoff*sn) + (int)(activescale*activefont[N].ascent*sn);
-    Y = y + (int)(Xoff*sn + Yoff*cs) - (int)(activescale*activefont[N].ascent*cs);
-    DrawRotBitmap (X, Y, dx, dy, bitmap, TRUE, angle, activescale);
-    Xoff += 1 + (int)(activescale*dx + 0.5);
+    bitmap = currentfont[N].bits;
+    dx = currentfont[N].dx;
+    dy = currentfont[N].dy;
+    X = x + (int)(Xoff*cs - Yoff*sn) + (int)(currentscale*currentfont[N].ascent*sn);
+    Y = y + (int)(Xoff*sn + Yoff*cs) - (int)(currentscale*currentfont[N].ascent*cs);
+    DrawRotBitmap (X, Y, dx, dy, bitmap, TRUE, angle, currentscale);
+    Xoff += 1 + (int)(currentscale*dx + 0.5);
   }
-  SetRotFont (basefont, basesize);
+  SetRotFont (basename, basesize);
   return (TRUE);
 }
 
-int DrawRotBitmap (int x, int y, int dx, int dy, char *bitmap, int mode, double angle, double scale) {
+int DrawRotBitmap (int x, int y, int dx, int dy, unsigned char *bitmap, int mode, double angle, double scale) {
 
   int ii, jj, byte_line, byte, bit, flag;
Index: /trunk/Ohana/src/kapa/graph/PSRotFont.c
===================================================================
--- /trunk/Ohana/src/kapa/graph/PSRotFont.c	(revision 5610)
+++ /trunk/Ohana/src/kapa/graph/PSRotFont.c	(revision 5611)
@@ -1,4 +1,4 @@
 # include "Ximage.h"
-# include "alphabet.h"
+# define NROTCHARS 256
 
 /* writes commands to print string at location and angle using
@@ -6,10 +6,16 @@
 void PSRotText (FILE *f, int x, int y, char *string, int pos, double angle) {
 
-  char *c, *segment, basefont[64];
+  char *c, *segment, basename[64], *currentname;
   int i, N, code;
   int dX, dY, Xoff, Yoff, X, Y, Nseg, NSEG, YoffBase;
-  double cs, sn, fscale;
-  int basesize;
-    
+  double cs, sn, fscale, currentscale;
+  int basesize, currentsize;
+  RotFont *currentfont;
+  
+  currentname = GetRotFont (&currentsize);
+  currentfont = GetRotFontData (&currentscale);
+  strcpy (basename, currentname);
+  basesize = currentsize;
+
   /* strip off leading whitespace */
   for (c = string; (*c == ' ') || (*c == '\t'); c++);
@@ -24,5 +30,5 @@
   if (!strcmp (currentname, "symbol")) fscale = 1.2;
   dX = fscale*RotStrlen (c);
-  dY = activefont[65].ascent;
+  dY = currentfont[65].ascent;
   
   /* apply appropriate offset */
@@ -44,8 +50,5 @@
   Y = y - Xoff*sn + Yoff*cs;
 
-  basesize = currentsize;
-  strcpy (basefont, currentname);
-
-  PSSetFont (f, currentsize);
+  PSSetFont (f, currentname, currentsize);
   fprintf (f, "gsave\n");
   fprintf (f, " %d %d moveto %f rotate\n", X, Y, -angle);
@@ -61,5 +64,5 @@
   for (i = 0; i < strlen (c); i++) {
     N = (int)(c[i]);
-    if ((N < 0) || (N >= NROT)) continue;
+    if ((N < 0) || (N >= NROTCHARS)) continue;
 
     /* check for special characters */
@@ -69,8 +72,9 @@
 	PSDumpRotSegment (f, segment, &Nseg);
 	SetRotFont (currentname, (int)(0.8*currentsize));
-	Yoff = 0.75*activescale*dY;
+	currentfont = GetRotFontData (&currentscale);
+	Yoff = 0.75*currentscale*dY;
 	fprintf (f, "0 %d rmoveto\n", Yoff);
 	YoffBase += Yoff;
-	PSSetFont (f, currentsize);
+	PSSetFont (f, currentname, currentsize);
 	continue;
       }
@@ -79,8 +83,9 @@
 	PSDumpRotSegment (f, segment, &Nseg);
 	SetRotFont (currentname, (int)(0.8*currentsize));
-	Yoff = -0.5*activescale*dY;
+	currentfont = GetRotFontData (&currentscale);
+	Yoff = -0.5*currentscale*dY;
 	fprintf (f, "0 %d rmoveto\n", Yoff);
 	YoffBase += Yoff;
-	PSSetFont (f, currentsize);
+	PSSetFont (f, currentname, currentsize);
 	continue;
       }
@@ -89,7 +94,8 @@
 	PSDumpRotSegment (f, segment, &Nseg);
 	SetRotFont (currentname, basesize);
+	currentfont = GetRotFontData (&currentscale);
 	fprintf (f, "0 %d rmoveto\n", -YoffBase);
 	YoffBase = 0;
-	PSSetFont (f, currentsize);
+	PSSetFont (f, currentname, currentsize);
 	continue;
       }
@@ -118,17 +124,21 @@
 	if (c[i+1] == 'h') {
 	  SetRotFont ("helvetica", currentsize);
-	  PSSetFont (f, currentsize);
+	  currentfont = GetRotFontData (&currentscale);
+	  PSSetFont (f, currentname, currentsize);
 	}
 	if (c[i+1] == 't') {
 	  SetRotFont ("times", currentsize);
-	  PSSetFont (f, currentsize);
+	  currentfont = GetRotFontData (&currentscale);
+	  PSSetFont (f, currentname, currentsize);
 	}
 	if (c[i+1] == 'c') {
 	  SetRotFont ("courier", currentsize);
-	  PSSetFont (f, currentsize);
+	  currentfont = GetRotFontData (&currentscale);
+	  PSSetFont (f, currentname, currentsize);
 	}
 	if (c[i+1] == 's') {
 	  SetRotFont ("symbol", currentsize);
-	  PSSetFont (f, currentsize);
+	  currentfont = GetRotFontData (&currentscale);
+	  PSSetFont (f, currentname, currentsize);
 	}
 	i++;
@@ -144,5 +154,5 @@
   fprintf (f, "stroke grestore\n");
   free (segment);
-  SetRotFont (basefont, basesize);
+  SetRotFont (basename, basesize);
 }
 
@@ -154,12 +164,12 @@
 }
 
-void PSSetFont (FILE *f, int size) {
-  if (!strcmp (currentname, "times")) 
+void PSSetFont (FILE *f, char *name, int size) {
+  if (!strcmp (name, "times")) 
     fprintf (f, "/Times-Roman findfont %d scalefont setfont\n", size);
-  if (!strcmp (currentname, "helvetica")) 
+  if (!strcmp (name, "helvetica")) 
     fprintf (f, "/Helvetica findfont %d scalefont setfont\n", size);
-  if (!strcmp (currentname, "courier")) 
+  if (!strcmp (name, "courier")) 
     fprintf (f, "/Courier findfont %d scalefont setfont\n", size);
-  if (!strcmp (currentname, "symbol")) 
+  if (!strcmp (name, "symbol")) 
     fprintf (f, "/Symbol findfont %d scalefont setfont\n", size);
 }
Index: /trunk/Ohana/src/kapa/graph/RotFont.c
===================================================================
--- /trunk/Ohana/src/kapa/graph/RotFont.c	(revision 5610)
+++ /trunk/Ohana/src/kapa/graph/RotFont.c	(revision 5611)
@@ -1,6 +1,13 @@
 # include "Ximage.h"
 # include "alphabet.h"
-# define NROT 256
   
+static int Nrotfonts;
+static FontSet *RotFonts;
+
+static char currentname[64];
+static int  currentsize;
+static double currentscale;
+static RotFont *currentfont;
+
 void InitRotFonts () {
 
@@ -9,15 +16,15 @@
   Nhardwired = sizeof (HardwiredFonts) / sizeof (FontSet);
   
-  Nallfonts = Nhardwired;
-  ALLOCATE (AllFonts, FontSet, Nallfonts);
+  Nrotfonts = Nhardwired;
+  ALLOCATE (RotFonts, FontSet, Nrotfonts);
   
   for (i = 0; i < Nhardwired; i++) {
-    AllFonts[i] = HardwiredFonts[i];
+    RotFonts[i] = HardwiredFonts[i];
   }
 
-  activefont = AllFonts[DEFFONT].font;
-  activescale = 1.0;
-  strcpy (currentname, AllFonts[DEFFONT].name);
-  currentsize = AllFonts[DEFFONT].size;
+  currentfont = RotFonts[DEFFONT].font;
+  currentscale = 1.0;
+  strcpy (currentname, RotFonts[DEFFONT].name);
+  currentsize = RotFonts[DEFFONT].size;
 }
 
@@ -29,13 +36,13 @@
   dsize = 10000;
   bsize = 10000;
-  for (i = 0; i < Nallfonts; i++) {
-    if (!strcasecmp (AllFonts[i].name, name)) {
+  for (i = 0; i < Nrotfonts; i++) {
+    if (!strcasecmp (RotFonts[i].name, name)) {
       good = i;
-      nsize = abs (AllFonts[i].size - size);
+      nsize = abs (RotFonts[i].size - size);
       if (nsize < dsize) {
 	match = i;
 	dsize = nsize;
       }
-      msize = AllFonts[i].size - size;
+      msize = RotFonts[i].size - size;
       if ((msize < bsize) && (msize >= 0)) {
 	bigger = i;
@@ -48,6 +55,6 @@
   if (bigger != -1) match = bigger;
   if (match != -1) {
-    activefont = AllFonts[match].font;
-    activescale = (double) size / AllFonts[match].size;
+    currentfont = RotFonts[match].font;
+    currentscale = (double) size / RotFonts[match].size;
     currentsize = size;
     strcpy (currentname, name);
@@ -67,4 +74,9 @@
 }
 
+RotFont *GetRotFontData (double *scale) {
+  *scale = currentscale;
+  return (currentfont);
+}
+
 int RotStrlen (char *c) {
 
@@ -72,5 +84,5 @@
   double scale; 
   
-  scale = activescale;
+  scale = currentscale;
 
   /* find string length */
@@ -94,5 +106,5 @@
       }
       if (N == 124) { /* normal-script */
-	scale = activescale;
+	scale = currentscale;
 	continue;
       }
@@ -107,5 +119,5 @@
     }
     code = FALSE;
-    dX += scale*activefont[N].dx + 1;
+    dX += scale*currentfont[N].dx + 1;
   }
   return (dX);
Index: /trunk/Ohana/src/kapa/graph/bDrawRotFont.c
===================================================================
--- /trunk/Ohana/src/kapa/graph/bDrawRotFont.c	(revision 5610)
+++ /trunk/Ohana/src/kapa/graph/bDrawRotFont.c	(revision 5611)
@@ -1,6 +1,6 @@
 # include "Ximage.h"
 # include "bDraw.h"
-# include "alphabet.h"
-
+
+# define NROTCHARS 256
 # define XPROC(x,y) (scale*(cs*((x) - x0) - sn*((y) - y0)) + X0)
 # define YPROC(x,y) (scale*(cs*((y) - y0) + sn*((x) - x0)) + Y0)
@@ -12,12 +12,19 @@
 int bDrawRotText (int x, int y, char *string, int pos, double angle) {
 
-  char *c, *bitmap, basefont[64];
+  unsigned char *bitmap;
+  char *currentname, basename[64], *c; 
   int i, dy, dx, N, X, Y, code;
-  int dX, Xoff, dY, Yoff, YoffBase, basesize;
-  double cs, sn;
-
-  // return (TRUE);
+  int dX, Xoff, dY, Yoff, YoffBase;
+  int currentsize, basesize;
+  double cs, sn, currentscale;
+  RotFont *currentfont;
+
   white = GetColorByName ("white");
   black = GetColorByName ("black");
+
+  currentname = GetRotFont (&currentsize);
+  currentfont = GetRotFontData (&currentscale);
+  strcpy (basename, currentname);
+  basesize = currentsize;
 
   /* strip leading whitespace */
@@ -29,5 +36,5 @@
   sn = sin(angle*RAD_DEG);
   dX = RotStrlen (c);
-  dY = activefont[65].ascent;
+  dY = currentfont[65].ascent;
 
   /* apply appropriate offset */
@@ -47,12 +54,9 @@
   code = FALSE;
 
-  strcpy (basefont, currentname);
-  basesize = currentsize;
-
   YoffBase = Yoff;
   /* draw characters one-by-one */
   for (i = 0; i < strlen(c); i++) {
     N = (int)(c[i]);
-    if ((N < 0) || (N >= NROT)) continue;
+    if ((N < 0) || (N >= NROTCHARS)) continue;
 
     /* check for special characters */
@@ -60,14 +64,17 @@
       if (N == 94) {
 	SetRotFont (currentname, (int)(0.8*currentsize));
-	Yoff -= 0.5*activescale*dY;
+	currentfont = GetRotFontData (&currentscale);
+	Yoff -= 0.5*currentscale*dY;
 	continue;
       }
       if (N == 95) { 
 	SetRotFont (currentname, (int)(0.8*currentsize));
-	Yoff += 0.5*activescale*dY;
+	currentfont = GetRotFontData (&currentscale);
+	Yoff += 0.5*currentscale*dY;
 	continue;
       }
       if (N == 124) {
 	SetRotFont (currentname, basesize);
+	currentfont = GetRotFontData (&currentscale);
 	Yoff = YoffBase;
 	continue;
@@ -80,13 +87,17 @@
 	if (c[i+1] == 'h') {
 	  SetRotFont ("helvetica", currentsize);
+	  currentfont = GetRotFontData (&currentscale);
 	}
 	if (c[i+1] == 't') {
 	  SetRotFont ("times", currentsize);
+	  currentfont = GetRotFontData (&currentscale);
 	}
 	if (c[i+1] == 'c') {
 	  SetRotFont ("courier", currentsize);
+	  currentfont = GetRotFontData (&currentscale);
 	}
 	if (c[i+1] == 's') {
 	  SetRotFont ("symbol", currentsize);
+	  currentfont = GetRotFontData (&currentscale);
 	}
 	i++;
@@ -96,17 +107,17 @@
     code = FALSE;
 
-    bitmap = activefont[N].bits;
-    dx = activefont[N].dx;
-    dy = activefont[N].dy;
-    X = x + (int)(Xoff*cs - Yoff*sn) + (int)(activescale*activefont[N].ascent*sn);
-    Y = y + (int)(Xoff*sn + Yoff*cs) - (int)(activescale*activefont[N].ascent*cs);
-    bDrawRotBitmap (X, Y, dx, dy, bitmap, TRUE, angle, activescale);
-    Xoff += 1 + (int)(activescale*dx + 0.5);
+    bitmap = currentfont[N].bits;
+    dx = currentfont[N].dx;
+    dy = currentfont[N].dy;
+    X = x + (int)(Xoff*cs - Yoff*sn) + (int)(currentscale*currentfont[N].ascent*sn);
+    Y = y + (int)(Xoff*sn + Yoff*cs) - (int)(currentscale*currentfont[N].ascent*cs);
+    bDrawRotBitmap (X, Y, dx, dy, bitmap, TRUE, angle, currentscale);
+    Xoff += 1 + (int)(currentscale*dx + 0.5);
   }
-  SetRotFont (basefont, basesize);
+  SetRotFont (basename, basesize);
   return (TRUE);
 }
 
-int bDrawRotBitmap (int x, int y, int dx, int dy, char *bitmap, int mode, double angle, double scale) {
+int bDrawRotBitmap (int x, int y, int dx, int dy, unsigned char *bitmap, int mode, double angle, double scale) {
 
   int ii, jj, byte_line, byte, bit, flag;
Index: /trunk/Ohana/src/kapa/include/alphabet.h
===================================================================
--- /trunk/Ohana/src/kapa/include/alphabet.h	(revision 5610)
+++ /trunk/Ohana/src/kapa/include/alphabet.h	(revision 5611)
@@ -1,13 +1,2 @@
-typedef struct {
-  int dx, dy, ascent;
-  char *bits;
-} RotFont;
-
-typedef struct {
-  RotFont *font;
-  char name[64];
-  int size;
-} FontSet;
-
 # include "../rotfont/times8.h"
 # include "../rotfont/times12.h"
@@ -62,10 +51,3 @@
 
 /* put these as static in RotFont.c with accessor functions */
-int Nallfonts;
-FontSet *AllFonts;
-RotFont *activefont;
-double activescale;
-
-char currentname[64];
-int  currentsize;
 # define NROT 256
Index: /trunk/Ohana/src/kapa/include/bDraw.h
===================================================================
--- /trunk/Ohana/src/kapa/include/bDraw.h	(revision 5610)
+++ /trunk/Ohana/src/kapa/include/bDraw.h	(revision 5611)
@@ -39,3 +39,3 @@
 void bDrawTriFill (int x1, int y1, int x2, int y2, int x3, int y3);
 int bDrawRotText (int x, int y, char *string, int pos, double angle);
-int bDrawRotBitmap (int x, int y, int dx, int dy, char *bitmap, int mode, double angle, double scale);
+int bDrawRotBitmap (int x, int y, int dx, int dy, unsigned char *bitmap, int mode, double angle, double scale);
Index: /trunk/Ohana/src/kapa/include/prototypes.h
===================================================================
--- /trunk/Ohana/src/kapa/include/prototypes.h	(revision 5610)
+++ /trunk/Ohana/src/kapa/include/prototypes.h	(revision 5611)
@@ -64,13 +64,14 @@
 int           remove_argument     PROTO((int, int *, char **));
 
+RotFont *GetRotFontData (double *scale);
 int SetRotFont PROTO((char *name, int size));
 void InitRotFonts PROTO(());
 int DrawRotText PROTO((int x, int y, char *string, int pos, double angle));
-int DrawRotBitmap PROTO((int x, int y, int dx, int dy, char *bitmap, int mode, double angle, double scale));
+int DrawRotBitmap PROTO((int x, int y, int dx, int dy, unsigned char *bitmap, int mode, double angle, double scale));
 char *GetRotFont PROTO((int *size));
 int RotStrlen PROTO((char *c));
 void PSRotText PROTO((FILE *f, int x, int y, char *string, int pos, double angle));
 void PSDumpRotSegment PROTO((FILE *f, char *segment, int *Nseg));
-void PSSetFont PROTO((FILE *f, int size));
+void PSSetFont PROTO((FILE *f, char *name, int size));
 void MakeGC ();
 
Index: /trunk/Ohana/src/kapa/include/structures.h
===================================================================
--- /trunk/Ohana/src/kapa/include/structures.h	(revision 5610)
+++ /trunk/Ohana/src/kapa/include/structures.h	(revision 5611)
@@ -56,5 +56,5 @@
   int    width;
   int    height;
-  char  *bits;
+  unsigned char *bits;
 } Icon;
 
@@ -111,4 +111,14 @@
 } Axis;
 
+typedef struct {
+  int dx, dy, ascent;
+  unsigned char *bits;
+} RotFont;
+
+typedef struct {
+  RotFont *font;
+  char name[64];
+  int size;
+} FontSet;
 
 /******** Here we define the Layout struct specific to this program  *******/
Index: /trunk/Ohana/src/kapa/setup/MakeColormap.c
===================================================================
--- /trunk/Ohana/src/kapa/setup/MakeColormap.c	(revision 5610)
+++ /trunk/Ohana/src/kapa/setup/MakeColormap.c	(revision 5611)
@@ -9,29 +9,30 @@
  */
 
+/* the three columns here are : (opihi name) : (X11 name) : (PostScript coordinate) */
 # define NGRAPHCOLORS 23
-static char GRAPHCOLORS[NGRAPHCOLORS][2][15] = {
-{"black",    "0.00 0.00 0.00"}, 
-{"white",    "1.00 1.00 1.00"}, 
-{"red",      "1.00 0.00 0.00"}, 
-{"pink",     "1.00 0.75 0.80"}, 
-{"orange",   "1.00 0.65 0.00"}, 
-{"yellow",   "1.00 1.00 0.00"}, 
-{"wheat",    "0.96 0.87 0.70"}, 
-{"gold",     "1.00 0.84 0.00"}, 
-{"green",    "0.00 1.00 0.00"}, 
-{"darkgreen","0.00 0.40 0.00"}, 
-{"blue",     "0.00 0.00 1.00"}, 
-{"skyblue",  "0.53 0.81 0.92"}, 
-{"indigo",   "0.56 0.16 0.87"}, 
-{"violet",   "1.00 0.00 0.00"},
-{"grey10",   "0.10 0.10 0.10"},
-{"grey20",   "0.20 0.20 0.20"},
-{"grey30",   "0.30 0.30 0.30"},
-{"grey40",   "0.40 0.40 0.40"},
-{"grey50",   "0.50 0.50 0.50"},
-{"grey60",   "0.60 0.60 0.60"},
-{"grey70",   "0.70 0.70 0.70"},
-{"grey80",   "0.80 0.80 0.80"},
-{"grey90",   "0.90 0.90 0.90"}};
+static char GRAPHCOLORS[NGRAPHCOLORS][3][16] = {
+{"black",    	 "black",    	 "0.00 0.00 0.00"}, 
+{"white",    	 "white",    	 "1.00 1.00 1.00"}, 
+{"red",      	 "red",      	 "1.00 0.00 0.00"}, 
+{"pink",     	 "pink",     	 "1.00 0.75 0.80"}, 
+{"orange",   	 "orange",   	 "1.00 0.65 0.00"}, 
+{"yellow",   	 "yellow",   	 "1.00 1.00 0.00"}, 
+{"wheat",    	 "wheat",    	 "0.96 0.87 0.70"}, 
+{"gold",     	 "gold",     	 "1.00 0.84 0.00"}, 
+{"green",    	 "green",    	 "0.00 1.00 0.00"}, 
+{"darkgreen",	 "darkgreen",	 "0.00 0.40 0.00"}, 
+{"blue",     	 "blue",     	 "0.00 0.00 1.00"}, 
+{"skyblue",  	 "skyblue",  	 "0.53 0.81 0.92"}, 
+{"indigo",   	 "mediumpurple", "0.57 0.44 0.86"}, 
+{"violet",   	 "darkviolet", 	 "0.58 0.00 0.88"},
+{"grey10",   	 "grey10",   	 "0.10 0.10 0.10"},
+{"grey20",   	 "grey20",   	 "0.20 0.20 0.20"},
+{"grey30",   	 "grey30",   	 "0.30 0.30 0.30"},
+{"grey40",   	 "grey40",   	 "0.40 0.40 0.40"},
+{"grey50",   	 "grey50",   	 "0.50 0.50 0.50"},
+{"grey60",   	 "grey60",   	 "0.60 0.60 0.60"},
+{"grey70",   	 "grey70",   	 "0.70 0.70 0.70"},
+{"grey80",   	 "grey80",   	 "0.80 0.80 0.80"},
+{"grey90",   	 "grey90",   	 "0.90 0.90 0.90"}};
 
 int GetColormapSize () {
@@ -40,5 +41,5 @@
 
 char *GetRGBString (int N) {
-  return (GRAPHCOLORS[N][1]);
+  return (GRAPHCOLORS[N][2]);
 }
 
@@ -53,5 +54,5 @@
   /* define the palette */
   for (i = 0; i < NGRAPHCOLORS; i++) {
-    sscanf (GRAPHCOLORS[i][1], "%f %f %f", &red, &green, &blue);
+    sscanf (GRAPHCOLORS[i][2], "%f %f %f", &red, &green, &blue);
     palette[i].red = (0xff * red);
     palette[i].green = (0xff * green);
@@ -70,6 +71,8 @@
 
   for (i = 0; i < NGRAPHCOLORS; i++) {
-    temp_name = XGetDefault (graphic.display, argv[0], GRAPHCOLORS[i][0]);
-    graphic.color[i] = GetColor (graphic.display, (temp_name == (char *) NULL ? GRAPHCOLORS[i][0] : temp_name), graphic.colormap, graphic.fore);
+    temp_name = XGetDefault (graphic.display, argv[0], GRAPHCOLORS[i][1]);
+    graphic.color[i] = GetColor (graphic.display, 
+				 (temp_name == (char *) NULL ? GRAPHCOLORS[i][1] : temp_name), 
+				 graphic.colormap, graphic.fore);
   }
 }
Index: /trunk/Ohana/src/kapa/setup/TopWindow.c
===================================================================
--- /trunk/Ohana/src/kapa/setup/TopWindow.c	(revision 5610)
+++ /trunk/Ohana/src/kapa/setup/TopWindow.c	(revision 5611)
@@ -11,5 +11,5 @@
   MakeGC ();
 
-  icon[0].pixmap = XCreateBitmapFromData (graphic.display, graphic.window, icon[0].bits, icon[0].width, icon[0].height);
+  icon[0].pixmap = XCreateBitmapFromData (graphic.display, graphic.window, (char *) icon[0].bits, icon[0].width, icon[0].height);
 
   MakeCursor (DEFAULT_CURSOR);
