WinWorkstation.st
branchjv
changeset 7715 925b859e1758
parent 7602 f1afeef47a60
parent 7677 e79cf02d0d4a
child 7716 3dba89415c91
--- a/WinWorkstation.st	Fri Nov 18 20:50:35 2016 +0000
+++ b/WinWorkstation.st	Fri Nov 18 21:26:33 2016 +0000
@@ -1102,11 +1102,6 @@
 
 extern HANDLE __getHInstance();
 
-#ifdef xxWIN32THREADS
-extern void __suspendAktThread();
-extern void __resumeAktThread();
-#endif
-
 static void __debugEvent__() {}
 
 #ifdef DEBUGMASK
@@ -1134,15 +1129,8 @@
 static int
 st2RGB(int color, struct gcData *gcData)
 {
-	int ir,ig,ib;
-
-	if (gcData) {
-	    if (gcData->bitmapColorBitCount == 1) {
-	      if (color)
-		  return WhitePixel;
-	      else
-		  return BlackPixel;
-	    }
+	if (gcData && gcData->bitmapColorBitCount == 1) {
+	    return (color ? WhitePixel : BlackPixel);
 	}
 #ifdef ALWAYSTRUECOLOR
 	return (color & 0xffffff);
@@ -1151,9 +1139,9 @@
 	    return 0;
 	} else {
 	    if ((__depth == 16) || (__depth == 15)) {
-		ib = (color & 0x1f) << 3;
-		ig = ((color >> 5) & 0x3f) << 2;
-		ir = ((color >> 11) & 0x1f) << 3;
+		int ib = (color & 0x1f) << 3;
+		int ig = ((color >> 5) & 0x3f) << 2;
+		int ir = ((color >> 11) & 0x1f) << 3;
 		ir |= 7;
 		ig |= 3;
 		ib |= 7;
@@ -1165,8 +1153,7 @@
 }
 
 static int
-RGB2st(r, g, b)
-    int r, g, b;
+RGB2st(int r, int g, int b)
 {
 	int ir,ig,ib,id;
 
@@ -1203,8 +1190,7 @@
  * return a windows top-window
  */
 static HWND
-GetTopParent(hWnd)
-    HWND hwnd;
+GetTopParent(HWND hwnd)
 {
 	HWND lastParent = hWnd;
 	HWND nextParent;
@@ -1247,11 +1233,8 @@
 static int
 _DeleteBrush(HBRUSH br, int lineNr)
 {
-    int r;
-
-    if ((br != __whiteBrush)
-     && (br != __blackBrush)) {
-	r = DeleteObject(br);
+    if ((br != __whiteBrush) && (br != __blackBrush)) {
+	int r = DeleteObject(br);
 
 	if (r == 0)
 	    console_fprintf(stderr, "WinWorkstation [warning]: ERROR in DeleteBrush %x [%d]\n", br, lineNr);
@@ -1263,11 +1246,8 @@
 static int
 _DeletePen(HPEN p, int lineNr)
 {
-    int r;
-
-    if ((p != __whitePen)
-     && (p != __blackPen)) {
-	r = DeleteObject(p);
+    if ((p != __whitePen) && (p != __blackPen)) {
+	int r = DeleteObject(p);
 
 	if (r == 0)
 	    console_fprintf(stderr, "WinWorkstation [warning]: ERROR in DeletePen %x [%d]\n", p, lineNr);
@@ -1283,8 +1263,7 @@
 {
     int i, r;
 
-    if ((p == __whitePen)
-     || (p == __blackPen)) {
+    if ((p == __whitePen) || (p == __blackPen)) {
 	return 1; /* not deleted, but OK */
     }
     for (i=0; i<NUM_PEN_CACHED;i++) {
@@ -1315,8 +1294,7 @@
 	    return 1; /* not deleted, but OK */
 	}
     }
-    if ((br == __whiteBrush)
-     || (br == __blackBrush)) {
+    if ((br == __whiteBrush) || (br == __blackBrush)) {
 	return 1; /* not deleted, but OK */
     }
     r = DeleteObject(br);
@@ -1649,9 +1627,8 @@
 static void
 GcDataReleaseBrush(HDC hDC, struct gcData *gcData)
 {
-    HBRUSH hBrush;
-
-    hBrush = gcData->hBrush;
+    HBRUSH hBrush = gcData->hBrush;
+
     if (gcData->save_hBrush) {
 	SelectObject(hDC, gcData->save_hBrush);
 	gcData->save_hBrush = NULL;
@@ -1884,7 +1861,7 @@
 }
 
 static int
-unlockEvents() {
+unlockEvents(void) {
 #ifdef LOCK_DEBUG
     lockCountEvents--;
     if (lockCountEvents != 0) {
@@ -1903,7 +1880,7 @@
 
 
 static int
-initEventqueue() {
+initEventqueue(void) {
     struct queuedEvent *bulk;
     int i;
 
@@ -2235,7 +2212,6 @@
  * if a region is passed in, it is not destroyed.
  */
 
-
 static int
 __generateExposes(HWND hWnd, HRGN hRgnInOrNull, int msgType, int doClear)
 {
@@ -2382,7 +2358,7 @@
 
 
 static int
-getModifiers()
+getModifiers(void)
 {
     int modifiers = 0;
 
@@ -4313,16 +4289,13 @@
 	case WM_COPYDATA:
 	    DPRINTFIF(__debug_WM_COPYDATA__ , ("WM_COPYDATA\n"));
 	    {
-		PCOPYDATASTRUCT pCDs;
-		int dwData;
-		void *pData;
+		PCOPYDATASTRUCT pCDs = (PCOPYDATASTRUCT) lParam;
+		int dwData = pCDs->dwData;
+		int nBytes = pCDs->cbData;
+		void *pData = pCDs->lpData;
 		void *pCopiedData;
-		int nBytes;
-
-		pCDs = (PCOPYDATASTRUCT) lParam;
-		dwData = pCDs->dwData;
-		nBytes = pCDs->cbData;
-		pData = (void *)pCDs->lpData;
+
+		DPRINTFIF(__debug_WM_COPYDATA__ , ("WM_COPYDATA %d %lx\n", nBytes, pData));
 
 		/*
 		 * because pData is only valid here, copy it out to a malloc'd
@@ -4335,7 +4308,7 @@
 		    pCopiedData = NULL;
 		}
 		//     (flag, hWnd, message, wParam, arg1, arg2, arg3, arg4, evTime)
-		enqEvent(0, hWnd, WM_COPYDATA, wParam, (INT)pCopiedData, nBytes, 0, 0, EV_NOTIME);
+		enqEvent(0, hWnd, WM_COPYDATA, wParam, (INT)pCopiedData, nBytes, dwData, 0, EV_NOTIME);
 	    }
 	    *pDefault = 0;
 	    break;
@@ -4562,8 +4535,6 @@
     return 0;
 }
 
-LONG APIENTRY
-MainWndProc(HWND hWnd,UINT message,UINT wParam,LONG lParam);
 
 static void _USERENTRY
 dispatchThread(void *arg)
@@ -4968,26 +4939,26 @@
 	return TRUE;
 }
 
-#define xxUSE_EnumFontFamiliesEx
+#ifdef USE_EnumFontFamiliesEx
+# define LOGFONTTYPE  ENUMLOGFONTEX
+#else
+# define LOGFONTTYPE  LOGFONT
+#endif
 
 static int CALLBACK
-EnumFPTypeFaceProc( lplf, lptm, dwType, lpData )
-#ifdef USE_EnumFontFamiliesEx
-	ENUMLOGFONTEX   *lplf;
-#else
-	LOGFONT         *lplf;
-#endif
-	TEXTMETRIC      *lptm;
-	DWORD           dwType;
-	void            *lpData;
-{
+EnumFPTypeFaceProc(
+    const LOGFONTTYPE *lplf,   /* ptr to of logical-font data */
+    const TEXTMETRIC  *lptm,   /* ptr to physical font data */
+    DWORD dwType,              /* font type */
+    LPARAM lpData              /* application supplied data */
+) {
 	OBJ t;
 	volatile OBJ *refToList;
 	OBJ  typeFaceList;
 	char *faceNameString;
 
 	if (lplf) {
-	    refToList = (OBJ*) lpData;
+	    refToList = (OBJ *) lpData;
 	    __PROTECT__(*refToList);
 
 #ifdef USE_EnumFontFamiliesEx
@@ -5238,17 +5209,14 @@
 	return newArray;
 }
 
+
 static int CALLBACK
-EnumFontsProc( lplf, lptm, dwType, lpData )
-#ifdef USE_EnumFontFamiliesEx
-	ENUMLOGFONTEX   *lplf;
-#else
-	LOGFONT         *lplf;     /* ptr to of logical-font data */
-#endif
-	TEXTMETRIC      *lptm;     /* ptr to physical font data */
-	DWORD           dwType;    /* font type */
-	void            *lpData;   /* application supplied data */
-{
+EnumFontsProc(
+    const LOGFONTTYPE *lplf,   // ptr to of logical-font data
+    const TEXTMETRIC *lptm,    // ptr to physical font data
+    DWORD dwType,              // font type
+    LPARAM lpData              // application supplied data
+) {
 	volatile OBJ *refToList;
 	OBJ list;
 	OBJ infoArray;
@@ -5257,7 +5225,7 @@
 	DPRINTF(("EnumFontsProc\n"));
 
 	if ( lplf ) {
-	    refToList = (OBJ*) lpData;
+	    refToList = (OBJ *) lpData;
 
 	    __PROTECT__(*refToList);
 #ifdef USE_EnumFontFamiliesEx
@@ -5288,21 +5256,17 @@
 };
 
 static int CALLBACK
-EnumDisplayMonitorsProc( hMonitor, hdcMonitor, lprcMonitor, lpData )
-    HMONITOR hMonitor;
-    HDC hdcMonitor;
-    LPRECT lprcMonitor;
-    struct EnumDisplayMonitorsProcData *lpData;
+EnumDisplayMonitorsProc(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM lpData)
 {
+    struct EnumDisplayMonitorsProcData *procData = (struct EnumDisplayMonitorsProcData *)lpData;
     OBJ mHandle;
 
-    __PROTECT__(lpData->hArray);
+    __PROTECT__(procData->hArray);
     mHandle = __MKEXTERNALADDRESS(hMonitor);
-    __UNPROTECT__(lpData->hArray);
-
-    __ArrayInstPtr(lpData->hArray)->a_element[lpData->index] = mHandle;
-    __STORE(lpData->hArray, mHandle);
-    lpData->index++;
+    __UNPROTECT__(procData->hArray);
+
+    __arrayVal(procData->hArray)[procData->index++] = mHandle;
+    __STORE(procData->hArray, mHandle);
     return (1);
 }
 
@@ -5342,14 +5306,12 @@
     self initializeStandardColorNames.
 
     NativeWidgets := NativeDialogs := NativeFileDialogs := false.
-
     BeepDuration := 200.        "milliseconds"
-
     ButtonTranslation := #(1 2 2).
 
     "/ SysColorChanges are reported *very* often when exceed is running,
     "/ but are also needed to update my view colors when the settings change.
-    "/ I dont know what exceed is doing there ...
+    "/ I don't know what exceed is doing there ...
     "/ IgnoreSysColorChanges := true.
     IgnoreSysColorChanges := false.
     SystemColorValues := IdentityDictionary new.
@@ -5357,18 +5319,20 @@
     "/ translation table from ST/X windowType symbol (system-independent)
     "/ to Windows windowClass (windows-specific).
 
-    NativeWidgetClassTable := IdentityDictionary new.
-    NativeWidgetClassTable at:#ScrollBar                put:'SCROLLBAR'.
-    NativeWidgetClassTable at:#HorizontalScrollBar      put:'SCROLLBAR'.
-    NativeWidgetClassTable at:#VerticalScrollBar        put:'SCROLLBAR'.
-    NativeWidgetClassTable at:#CheckBox                 put:'BUTTON'.
-    NativeWidgetClassTable at:#RadioButton              put:'BUTTON'.
-    NativeWidgetClassTable at:#Button                   put:'BUTTON'.
-    NativeWidgetClassTable at:#DefaultButton            put:'BUTTON'.
-    NativeWidgetClassTable at:#OwnerDrawButton          put:'BUTTON'.
-    NativeWidgetClassTable at:#ComboBox                 put:'COMBOBOX'.
-    NativeWidgetClassTable at:#EditField                put:'EDIT'.
-    NativeWidgetClassTable at:#ListBox                  put:'LISTBOX'.
+    NativeWidgetClassTable := IdentityDictionary
+	withKeysAndValues:#(
+		ScrollBar                 SCROLLBAR
+		HorizontalScrollBar       SCROLLBAR
+		VerticalScrollBar         SCROLLBAR
+		CheckBox                  BUTTON
+		RadioButton               BUTTON
+		Button                    BUTTON
+		DefaultButton             BUTTON
+		OwnerDrawButton           BUTTON
+		ComboBox                  COMBOBOX
+		EditField                 EDIT
+		ListBox                   LISTBOX
+	).
 
     "Modified: / 24-08-2010 / 16:42:23 / sr"
 !
@@ -5378,820 +5342,818 @@
 
     "setup standard color names (X-color names)"
 
-    StandardColorValues := Dictionary new.
-    #(
-	(240 248 255)   'aliceblue'
-	(250 235 215)   'antiquewhite'
-	(255 239 219)   'AntiqueWhite1'
-	(238 223 204)   'AntiqueWhite2'
-	(205 192 176)   'AntiqueWhite3'
-	(139 131 120)   'AntiqueWhite4'
-	(127 255 212)   'aquamarine'
-	(127 255 212)   'aquamarine1'
-	(118 238 198)   'aquamarine2'
-	(102 205 170)   'aquamarine3'
-	( 69 139 116)   'aquamarine4'
-	(240 255 255)   'azure'
-	(240 255 255)   'azure1'
-	(224 238 238)   'azure2'
-	(193 205 205)   'azure3'
-	(131 139 139)   'azure4'
-	(245 245 220)   'beige'
-	(255 228 196)   'bisque'
-	(255 228 196)   'bisque1'
-	(238 213 183)   'bisque2'
-	(205 183 158)   'bisque3'
-	(139 125 107)   'bisque4'
-	(  0   0   0)   'black'
-	(255 235 205)   'blanchedalmond'
-	(  0   0 255)   'blue'
-	(138  43 226)   'blueviolet'
-	(  0   0 255)   'blue1'
-	(  0   0 238)   'blue2'
-	(  0   0 205)   'blue3'
-	(  0   0 139)   'blue4'
-	(165  42  42)   'brown'
-	(255  64  64)   'brown1'
-	(238  59  59)   'brown2'
-	(205  51  51)   'brown3'
-	(139  35  35)   'brown4'
-	(222 184 135)   'burlywood'
-	(255 211 155)   'burlywood1'
-	(238 197 145)   'burlywood2'
-	(205 170 125)   'burlywood3'
-	(139 115  85)   'burlywood4'
-	( 95 158 160)   'cadetblue'
-	(152 245 255)   'CadetBlue1'
-	(142 229 238)   'CadetBlue2'
-	(122 197 205)   'CadetBlue3'
-	( 83 134 139)   'CadetBlue4'
-	(127 255   0)   'chartreuse'
-	(127 255   0)   'chartreuse1'
-	(118 238   0)   'chartreuse2'
-	(102 205   0)   'chartreuse3'
-	( 69 139   0)   'chartreuse4'
-	(210 105  30)   'chocolate'
-	(255 127  36)   'chocolate1'
-	(238 118  33)   'chocolate2'
-	(205 102  29)   'chocolate3'
-	(139  69  19)   'chocolate4'
-	(255 127  80)   'coral'
-	(255 114  86)   'coral1'
-	(238 106  80)   'coral2'
-	(205  91  69)   'coral3'
-	(139  62  47)   'coral4'
-	(100 149 237)   'cornflowerblue'
-	(255 248 220)   'cornsilk'
-	(255 248 220)   'cornsilk1'
-	(238 232 205)   'cornsilk2'
-	(205 200 177)   'cornsilk3'
-	(139 136 120)   'cornsilk4'
-	(  0 255 255)   'cyan'
-	(  0 255 255)   'cyan1'
-	(  0 238 238)   'cyan2'
-	(  0 205 205)   'cyan3'
-	(  0 139 139)   'cyan4'
-	(  0   0 139)   'darkblue'
-	(  0 139 139)   'darkcyan'
-	(184 134  11)   'darkgoldenrod'
-	(169 169 169)   'darkgray'
-	(  0 100   0)   'darkgreen'
-	(169 169 169)   'darkgrey'
-	(189 183 107)   'darkkhaki'
-	(139   0 139)   'darkmagenta'
-	( 85 107  47)   'darkolivegreen'
-	(255 140   0)   'darkorange'
-	(153  50 204)   'darkorchid'
-	(139   0   0)   'darkred'
-	(233 150 122)   'darksalmon'
-	(143 188 143)   'darkseagreen'
-	( 72  61 139)   'darkslateblue'
-	( 47  79  79)   'darkslategray'
-	( 47  79  79)   'darkslategrey'
-	(  0 206 209)   'darkturquoise'
-	(148   0 211)   'darkviolet'
-	(255 185  15)   'DarkGoldenrod1'
-	(238 173  14)   'DarkGoldenrod2'
-	(205 149  12)   'DarkGoldenrod3'
-	(139 101   8)   'DarkGoldenrod4'
-	(202 255 112)   'DarkOliveGreen1'
-	(188 238 104)   'DarkOliveGreen2'
-	(162 205  90)   'DarkOliveGreen3'
-	(110 139  61)   'DarkOliveGreen4'
-	(255 127   0)   'DarkOrange1'
-	(238 118   0)   'DarkOrange2'
-	(205 102   0)   'DarkOrange3'
-	(139  69   0)   'DarkOrange4'
-	(191  62 255)   'DarkOrchid1'
-	(178  58 238)   'DarkOrchid2'
-	(154  50 205)   'DarkOrchid3'
-	(104  34 139)   'DarkOrchid4'
-	(193 255 193)   'DarkSeaGreen1'
-	(180 238 180)   'DarkSeaGreen2'
-	(155 205 155)   'DarkSeaGreen3'
-	(105 139 105)   'DarkSeaGreen4'
-	(151 255 255)   'DarkSlateGray1'
-	(141 238 238)   'DarkSlateGray2'
-	(121 205 205)   'DarkSlateGray3'
-	( 82 139 139)   'DarkSlateGray4'
-	(255  20 147)   'deeppink'
-	(  0 191 255)   'deepskyblue'
-	(255  20 147)   'DeepPink'
-	(255  20 147)   'DeepPink1'
-	(238  18 137)   'DeepPink2'
-	(205  16 118)   'DeepPink3'
-	(139  10  80)   'DeepPink4'
-	(  0 191 255)   'DeepSkyBlue1'
-	(  0 178 238)   'DeepSkyBlue2'
-	(  0 154 205)   'DeepSkyBlue3'
-	(  0 104 139)   'DeepSkyBlue4'
-	(105 105 105)   'dimgray'
-	(105 105 105)   'dimgrey'
-	( 30 144 255)   'dodgerblue'
-	( 30 144 255)   'DodgerBlue1'
-	( 28 134 238)   'DodgerBlue2'
-	( 24 116 205)   'DodgerBlue3'
-	( 16  78 139)   'DodgerBlue4'
-	(178  34  34)   'firebrick'
-	(255  48  48)   'firebrick1'
-	(238  44  44)   'firebrick2'
-	(205  38  38)   'firebrick3'
-	(139  26  26)   'firebrick4'
-	(255 250 240)   'floralwhite'
-	( 34 139  34)   'forestgreen'
-	(220 220 220)   'gainsboro'
-	(248 248 255)   'ghostwhite'
-	(255 215   0)   'gold'
-	(255 215   0)   'gold1'
-	(238 201   0)   'gold2'
-	(205 173   0)   'gold3'
-	(139 117   0)   'gold4'
-	(218 165  32)   'goldenrod'
-	(255 193  37)   'goldenrod1'
-	(238 180  34)   'goldenrod2'
-	(205 155  29)   'goldenrod3'
-	(139 105  20)   'goldenrod4'
-	(192 192 192)   'grey'
-	(  0   0   0)   'grey0'
-	(  3   3   3)   'grey1'
-	( 26  26  26)   'grey10'
-	(255 255 255)   'grey100'
-	( 28  28  28)   'grey11'
-	( 31  31  31)   'grey12'
-	( 33  33  33)   'grey13'
-	( 36  36  36)   'grey14'
-	( 38  38  38)   'grey15'
-	( 41  41  41)   'grey16'
-	( 43  43  43)   'grey17'
-	( 46  46  46)   'grey18'
-	( 48  48  48)   'grey19'
-	(  5   5   5)   'grey2'
-	( 51  51  51)   'grey20'
-	( 54  54  54)   'grey21'
-	( 56  56  56)   'grey22'
-	( 59  59  59)   'grey23'
-	( 61  61  61)   'grey24'
-	( 64  64  64)   'grey25'
-	( 66  66  66)   'grey26'
-	( 69  69  69)   'grey27'
-	( 71  71  71)   'grey28'
-	( 74  74  74)   'grey29'
-	(  8   8   8)   'grey3'
-	( 77  77  77)   'grey30'
-	( 79  79  79)   'grey31'
-	( 82  82  82)   'grey32'
-	( 84  84  84)   'grey33'
-	( 87  87  87)   'grey34'
-	( 89  89  89)   'grey35'
-	( 92  92  92)   'grey36'
-	( 94  94  94)   'grey37'
-	( 97  97  97)   'grey38'
-	( 99  99  99)   'grey39'
-	( 10  10  10)   'grey4'
-	(102 102 102)   'grey40'
-	(105 105 105)   'grey41'
-	(107 107 107)   'grey42'
-	(110 110 110)   'grey43'
-	(112 112 112)   'grey44'
-	(115 115 115)   'grey45'
-	(117 117 117)   'grey46'
-	(120 120 120)   'grey47'
-	(122 122 122)   'grey48'
-	(125 125 125)   'grey49'
-	( 13  13  13)   'grey5'
-	(127 127 127)   'grey50'
-	(130 130 130)   'grey51'
-	(133 133 133)   'grey52'
-	(135 135 135)   'grey53'
-	(138 138 138)   'grey54'
-	(140 140 140)   'grey55'
-	(143 143 143)   'grey56'
-	(145 145 145)   'grey57'
-	(148 148 148)   'grey58'
-	(150 150 150)   'grey59'
-	( 15  15  15)   'grey6'
-	(153 153 153)   'grey60'
-	(156 156 156)   'grey61'
-	(158 158 158)   'grey62'
-	(161 161 161)   'grey63'
-	(163 163 163)   'grey64'
-	(166 166 166)   'grey65'
-	(168 168 168)   'grey66'
-	(171 171 171)   'grey67'
-	(173 173 173)   'grey68'
-	(176 176 176)   'grey69'
-	( 18  18  18)   'grey7'
-	(179 179 179)   'grey70'
-	(181 181 181)   'grey71'
-	(184 184 184)   'grey72'
-	(186 186 186)   'grey73'
-	(189 189 189)   'grey74'
-	(191 191 191)   'grey75'
-	(194 194 194)   'grey76'
-	(196 196 196)   'grey77'
-	(199 199 199)   'grey78'
-	(201 201 201)   'grey79'
-	( 20  20  20)   'grey8'
-	(204 204 204)   'grey80'
-	(207 207 207)   'grey81'
-	(209 209 209)   'grey82'
-	(212 212 212)   'grey83'
-	(214 214 214)   'grey84'
-	(217 217 217)   'grey85'
-	(219 219 219)   'grey86'
-	(222 222 222)   'grey87'
-	(224 224 224)   'grey88'
-	(227 227 227)   'grey89'
-	( 23  23  23)   'grey9'
-	(229 229 229)   'grey90'
-	(232 232 232)   'grey91'
-	(235 235 235)   'grey92'
-	(237 237 237)   'grey93'
-	(240 240 240)   'grey94'
-	(242 242 242)   'grey95'
-	(245 245 245)   'grey96'
-	(247 247 247)   'grey97'
-	(250 250 250)   'grey98'
-	(252 252 252)   'grey99'
-
-	(192 192 192)   'gray'
-	(  0   0   0)   'gray0'
-	(  3   3   3)   'gray1'
-	( 26  26  26)   'gray10'
-	(255 255 255)   'gray100'
-	( 28  28  28)   'gray11'
-	( 31  31  31)   'gray12'
-	( 33  33  33)   'gray13'
-	( 36  36  36)   'gray14'
-	( 38  38  38)   'gray15'
-	( 41  41  41)   'gray16'
-	( 43  43  43)   'gray17'
-	( 46  46  46)   'gray18'
-	( 48  48  48)   'gray19'
-	(  5   5   5)   'gray2'
-	( 51  51  51)   'gray20'
-	( 54  54  54)   'gray21'
-	( 56  56  56)   'gray22'
-	( 59  59  59)   'gray23'
-	( 61  61  61)   'gray24'
-	( 64  64  64)   'gray25'
-	( 66  66  66)   'gray26'
-	( 69  69  69)   'gray27'
-	( 71  71  71)   'gray28'
-	( 74  74  74)   'gray29'
-	(  8   8   8)   'gray3'
-	( 77  77  77)   'gray30'
-	( 79  79  79)   'gray31'
-	( 82  82  82)   'gray32'
-	( 84  84  84)   'gray33'
-	( 87  87  87)   'gray34'
-	( 89  89  89)   'gray35'
-	( 92  92  92)   'gray36'
-	( 94  94  94)   'gray37'
-	( 97  97  97)   'gray38'
-	( 99  99  99)   'gray39'
-	( 10  10  10)   'gray4'
-	(102 102 102)   'gray40'
-	(105 105 105)   'gray41'
-	(107 107 107)   'gray42'
-	(110 110 110)   'gray43'
-	(112 112 112)   'gray44'
-	(115 115 115)   'gray45'
-	(117 117 117)   'gray46'
-	(120 120 120)   'gray47'
-	(122 122 122)   'gray48'
-	(125 125 125)   'gray49'
-	( 13  13  13)   'gray5'
-	(127 127 127)   'gray50'
-	(130 130 130)   'gray51'
-	(133 133 133)   'gray52'
-	(135 135 135)   'gray53'
-	(138 138 138)   'gray54'
-	(140 140 140)   'gray55'
-	(143 143 143)   'gray56'
-	(145 145 145)   'gray57'
-	(148 148 148)   'gray58'
-	(150 150 150)   'gray59'
-	( 15  15  15)   'gray6'
-	(153 153 153)   'gray60'
-	(156 156 156)   'gray61'
-	(158 158 158)   'gray62'
-	(161 161 161)   'gray63'
-	(163 163 163)   'gray64'
-	(166 166 166)   'gray65'
-	(168 168 168)   'gray66'
-	(171 171 171)   'gray67'
-	(173 173 173)   'gray68'
-	(176 176 176)   'gray69'
-	( 18  18  18)   'gray7'
-	(179 179 179)   'gray70'
-	(181 181 181)   'gray71'
-	(184 184 184)   'gray72'
-	(186 186 186)   'gray73'
-	(189 189 189)   'gray74'
-	(191 191 191)   'gray75'
-	(194 194 194)   'gray76'
-	(196 196 196)   'gray77'
-	(199 199 199)   'gray78'
-	(201 201 201)   'gray79'
-	( 20  20  20)   'gray8'
-	(204 204 204)   'gray80'
-	(207 207 207)   'gray81'
-	(209 209 209)   'gray82'
-	(212 212 212)   'gray83'
-	(214 214 214)   'gray84'
-	(217 217 217)   'gray85'
-	(219 219 219)   'gray86'
-	(222 222 222)   'gray87'
-	(224 224 224)   'gray88'
-	(227 227 227)   'gray89'
-	( 23  23  23)   'gray9'
-	(229 229 229)   'gray90'
-	(232 232 232)   'gray91'
-	(235 235 235)   'gray92'
-	(237 237 237)   'gray93'
-	(240 240 240)   'gray94'
-	(242 242 242)   'gray95'
-	(245 245 245)   'gray96'
-	(247 247 247)   'gray97'
-	(250 250 250)   'gray98'
-	(252 252 252)   'gray99'
-	(  0 255   0)   'green'
-	(173 255  47)   'greenyellow'
-	(  0 255   0)   'green1'
-	(  0 238   0)   'green2'
-	(  0 205   0)   'green3'
-	(  0 139   0)   'green4'
-	(240 255 240)   'honeydew'
-	(240 255 240)   'honeydew1'
-	(224 238 224)   'honeydew2'
-	(193 205 193)   'honeydew3'
-	(131 139 131)   'honeydew4'
-	(255 105 180)   'hotpink'
-	(255 110 180)   'HotPink1'
-	(238 106 167)   'HotPink2'
-	(205  96 144)   'HotPink3'
-	(139  58  98)   'HotPink4'
-	(205  92  92)   'indianred'
-	(255 106 106)   'IndianRed1'
-	(238  99  99)   'IndianRed2'
-	(205  85  85)   'IndianRed3'
-	(139  58  58)   'IndianRed4'
-	(255 255 240)   'ivory'
-	(255 255 240)   'ivory1'
-	(238 238 224)   'ivory2'
-	(205 205 193)   'ivory3'
-	(139 139 131)   'ivory4'
-	(240 230 140)   'khaki'
-	(255 246 143)   'khaki1'
-	(238 230 133)   'khaki2'
-	(205 198 115)   'khaki3'
-	(139 134  78)   'khaki4'
-	(230 230 250)   'lavender'
-	(255 240 245)   'lavenderblush'
-	(255 240 245)   'LavenderBlush1'
-	(238 224 229)   'LavenderBlush2'
-	(205 193 197)   'LavenderBlush3'
-	(139 131 134)   'LavenderBlush4'
-	(124 252   0)   'lawngreen'
-	(255 250 205)   'lemonchiffon'
-	(255 250 205)   'LemonChiffon1'
-	(238 233 191)   'LemonChiffon2'
-	(205 201 165)   'LemonChiffon3'
-	(139 137 112)   'LemonChiffon4'
-	(173 216 230)   'lightblue'
-	(240 128 128)   'lightcoral'
-	(224 255 255)   'lightcyan'
-	(238 221 130)   'lightgoldenrod'
-	(250 250 210)   'lightgoldenrodyellow'
-	(211 211 211)   'lightgray'
-	(144 238 144)   'lightgreen'
-	(211 211 211)   'lightgrey'
-	(255 182 193)   'lightpink'
-	(255 160 122)   'lightsalmon'
-	( 32 178 170)   'lightseagreen'
-	(135 206 250)   'lightskyblue'
-	(132 112 255)   'lightslateblue'
-	(119 136 153)   'lightslategray'
-	(119 136 153)   'lightslategrey'
-	(176 196 222)   'lightsteelblue'
-	(255 255 224)   'lightyellow'
-	(191 239 255)   'LightBlue1'
-	(178 223 238)   'LightBlue2'
-	(154 192 205)   'LightBlue3'
-	(104 131 139)   'LightBlue4'
-	(224 255 255)   'LightCyan1'
-	(209 238 238)   'LightCyan2'
-	(180 205 205)   'LightCyan3'
-	(122 139 139)   'LightCyan4'
-	(255 236 139)   'LightGoldenrod1'
-	(238 220 130)   'LightGoldenrod2'
-	(205 190 112)   'LightGoldenrod3'
-	(139 129  76)   'LightGoldenrod4'
-	(255 174 185)   'LightPink1'
-	(238 162 173)   'LightPink2'
-	(205 140 149)   'LightPink3'
-	(139  95 101)   'LightPink4'
-	(255 160 122)   'LightSalmon1'
-	(238 149 114)   'LightSalmon2'
-	(205 129  98)   'LightSalmon3'
-	(139  87  66)   'LightSalmon4'
-	(176 226 255)   'LightSkyBlue1'
-	(164 211 238)   'LightSkyBlue2'
-	(141 182 205)   'LightSkyBlue3'
-	( 96 123 139)   'LightSkyBlue4'
-	(202 225 255)   'LightSteelBlue1'
-	(188 210 238)   'LightSteelBlue2'
-	(162 181 205)   'LightSteelBlue3'
-	(110 123 139)   'LightSteelBlue4'
-	(255 255 224)   'LightYellow1'
-	(238 238 209)   'LightYellow2'
-	(205 205 180)   'LightYellow3'
-	(139 139 122)   'LightYellow4'
-	( 50 205  50)   'limegreen'
-	(250 240 230)   'linen'
-	(255   0 255)   'magenta'
-	(255   0 255)   'magenta1'
-	(238   0 238)   'magenta2'
-	(205   0 205)   'magenta3'
-	(139   0 139)   'magenta4'
-	(176  48  96)   'maroon'
-	(255  52 179)   'maroon1'
-	(238  48 167)   'maroon2'
-	(205  41 144)   'maroon3'
-	(139  28  98)   'maroon4'
-	(102 205 170)   'mediumaquamarine'
-	(  0   0 205)   'mediumblue'
-	(186  85 211)   'mediumorchid'
-	(147 112 219)   'mediumpurple'
-	( 60 179 113)   'mediumseagreen'
-	(123 104 238)   'mediumslateblue'
-	(  0 250 154)   'mediumspringgreen'
-	( 72 209 204)   'mediumturquoise'
-	(199  21 133)   'mediumvioletred'
-	(224 102 255)   'MediumOrchid1'
-	(209  95 238)   'MediumOrchid2'
-	(180  82 205)   'MediumOrchid3'
-	(122  55 139)   'MediumOrchid4'
-	(171 130 255)   'MediumPurple1'
-	(159 121 238)   'MediumPurple2'
-	(137 104 205)   'MediumPurple3'
-	( 93  71 139)   'MediumPurple4'
-	( 25  25 112)   'midnightblue'
-	(245 255 250)   'mintcream'
-	(255 228 225)   'mistyrose'
-	(255 228 225)   'MistyRose1'
-	(238 213 210)   'MistyRose2'
-	(205 183 181)   'MistyRose3'
-	(139 125 123)   'MistyRose4'
-	(255 228 181)   'moccasin'
-	(255 222 173)   'navajowhite'
-	(255 222 173)   'NavajoWhite1'
-	(238 207 161)   'NavajoWhite2'
-	(205 179 139)   'NavajoWhite3'
-	(139 121  94)   'NavajoWhite4'
-	(  0   0 128)   'navy'
-	(  0   0 128)   'navyblue'
-	(253 245 230)   'oldlace'
-	(107 142  35)   'olivedrab'
-	(192 255  62)   'OliveDrab1'
-	(179 238  58)   'OliveDrab2'
-	(154 205  50)   'OliveDrab3'
-	(105 139  34)   'OliveDrab4'
-	(255 165   0)   'orange'
-	(255 165   0)   'orange1'
-	(238 154   0)   'orange2'
-	(205 133   0)   'orange3'
-	(139  90   0)   'orange4'
-	(255  69   0)   'orangered'
-	(255  69   0)   'OrangeRed1'
-	(238  64   0)   'OrangeRed2'
-	(205  55   0)   'OrangeRed3'
-	(139  37   0)   'OrangeRed4'
-	(218 112 214)   'orchid'
-	(255 131 250)   'orchid1'
-	(238 122 233)   'orchid2'
-	(205 105 201)   'orchid3'
-	(139  71 137)   'orchid4'
-	(238 232 170)   'palegoldenrod'
-	(152 251 152)   'palegreen'
-	(175 238 238)   'paleturquoise'
-	(219 112 147)   'palevioletred'
-	(154 255 154)   'PaleGreen1'
-	(144 238 144)   'PaleGreen2'
-	(124 205 124)   'PaleGreen3'
-	( 84 139  84)   'PaleGreen4'
-	(187 255 255)   'PaleTurquoise1'
-	(174 238 238)   'PaleTurquoise2'
-	(150 205 205)   'PaleTurquoise3'
-	(102 139 139)   'PaleTurquoise4'
-	(255 130 171)   'PaleVioletRed1'
-	(238 121 159)   'PaleVioletRed2'
-	(205 104 137)   'PaleVioletRed3'
-	(139  71  93)   'PaleVioletRed4'
-	(255 239 213)   'papayawhip'
-	(255 218 185)   'peachpuff'
-	(255 218 185)   'PeachPuff1'
-	(238 203 173)   'PeachPuff2'
-	(205 175 149)   'PeachPuff3'
-	(139 119 101)   'PeachPuff4'
-	(205 133  63)   'peru'
-	(255 192 203)   'pink'
-	(255 181 197)   'pink1'
-	(238 169 184)   'pink2'
-	(205 145 158)   'pink3'
-	(139  99 108)   'pink4'
-	(221 160 221)   'plum'
-	(255 187 255)   'plum1'
-	(238 174 238)   'plum2'
-	(205 150 205)   'plum3'
-	(139 102 139)   'plum4'
-	(176 224 230)   'powderblue'
-	(160  32 240)   'purple'
-	(155  48 255)   'purple1'
-	(145  44 238)   'purple2'
-	(125  38 205)   'purple3'
-	( 85  26 139)   'purple4'
-	(255   0   0)   'red'
-	(255   0   0)   'red1'
-	(238   0   0)   'red2'
-	(205   0   0)   'red3'
-	(139   0   0)   'red4'
-	(188 143 143)   'rosybrown'
-	(255 193 193)   'RosyBrown1'
-	(238 180 180)   'RosyBrown2'
-	(205 155 155)   'RosyBrown3'
-	(139 105 105)   'RosyBrown4'
-	( 65 105 225)   'royalblue'
-	( 72 118 255)   'RoyalBlue1'
-	( 67 110 238)   'RoyalBlue2'
-	( 58  95 205)   'RoyalBlue3'
-	( 39  64 139)   'RoyalBlue4'
-	(139  69  19)   'saddlebrown'
-	(250 128 114)   'salmon'
-	(255 140 105)   'salmon1'
-	(238 130  98)   'salmon2'
-	(205 112  84)   'salmon3'
-	(139  76  57)   'salmon4'
-	(244 164  96)   'sandybrown'
-	( 255 206 137)  'scoActiveBackground'
-	( 43  45  49)   'scoActiveForeground'
-	( 254 222 255)  'scoActiveTopShadow'
-	( 172 186 204)  'scoAltBackground'
-	( 203 203 192)  'scoBackground'
-	( 11   0 113)   'scoForeground'
-	( 141 178 215)  'scoHighlight'
-	( 255 240 248)  'scoTopShadow'
-	( 46 139  87)   'seagreen'
-	( 84 255 159)   'SeaGreen1'
-	( 78 238 148)   'SeaGreen2'
-	( 67 205 128)   'SeaGreen3'
-	( 46 139  87)   'SeaGreen4'
-	(255 245 238)   'seashell'
-	(255 245 238)   'seashell1'
-	(238 229 222)   'seashell2'
-	(205 197 191)   'seashell3'
-	(139 134 130)   'seashell4'
-	(142 56 142)    'sgi beet'
-	(197 193 170)   'sgi bright gray'
-	(197 193 170)   'sgi bright grey'
-	(113 198 113)   'sgi chartreuse'
-	( 85  85  85)   'sgi dark gray'
-	( 85  85  85)   'sgi dark grey'
-	(  0   0   0)   'sgi gray 0'
-	(255 255 255)   'sgi gray 100'
-	( 30  30  30)   'sgi gray 12'
-	( 40  40  40)   'sgi gray 16'
-	( 51  51  51)   'sgi gray 20'
-	( 61  61  61)   'sgi gray 24'
-	( 71  71  71)   'sgi gray 28'
-	( 81  81  81)   'sgi gray 32'
-	( 91  91  91)   'sgi gray 36'
-	( 10  10  10)   'sgi gray 4'
-	(102 102 102)   'sgi gray 40'
-	(112 112 112)   'sgi gray 44'
-	(122 122 122)   'sgi gray 48'
-	(132 132 132)   'sgi gray 52'
-	(142 142 142)   'sgi gray 56'
-	(153 153 153)   'sgi gray 60'
-	(163 163 163)   'sgi gray 64'
-	(173 173 173)   'sgi gray 68'
-	(183 183 183)   'sgi gray 72'
-	(193 193 193)   'sgi gray 76'
-	( 20  20  20)   'sgi gray 8'
-	(204 204 204)   'sgi gray 80'
-	(214 214 214)   'sgi gray 84'
-	(224 224 224)   'sgi gray 88'
-	(234 234 234)   'sgi gray 92'
-	(244 244 244)   'sgi gray 96'
-	(  0   0   0)   'sgi grey 0'
-	(255 255 255)   'sgi grey 100'
-	( 30  30  30)   'sgi grey 12'
-	( 40  40  40)   'sgi grey 16'
-	( 51  51  51)   'sgi grey 20'
-	( 61  61  61)   'sgi grey 24'
-	( 71  71  71)   'sgi grey 28'
-	( 81  81  81)   'sgi grey 32'
-	( 91  91  91)   'sgi grey 36'
-	( 10  10  10)   'sgi grey 4'
-	(102 102 102)   'sgi grey 40'
-	(112 112 112)   'sgi grey 44'
-	(122 122 122)   'sgi grey 48'
-	(132 132 132)   'sgi grey 52'
-	(142 142 142)   'sgi grey 56'
-	(153 153 153)   'sgi grey 60'
-	(163 163 163)   'sgi grey 64'
-	(173 173 173)   'sgi grey 68'
-	(183 183 183)   'sgi grey 72'
-	(193 193 193)   'sgi grey 76'
-	( 20  20  20)   'sgi grey 8'
-	(204 204 204)   'sgi grey 80'
-	(214 214 214)   'sgi grey 84'
-	(224 224 224)   'sgi grey 88'
-	(234 234 234)   'sgi grey 92'
-	(244 244 244)   'sgi grey 96'
-	(125 158 192)   'sgi light blue'
-	(170 170 170)   'sgi light gray'
-	(170 170 170)   'sgi light grey'
-	(132 132 132)   'sgi medium gray'
-	(132 132 132)   'sgi medium grey'
-	(142 142  56)   'sgi olive drab'
-	(198 113 113)   'sgi salmon'
-	(113 113 198)   'sgi slate blue'
-	( 56 142 142)   'sgi teal'
-	( 40  40  40)   'sgi very dark gray'
-	( 40  40  40)   'sgi very dark grey'
-	(214 214 214)   'sgi very light gray'
-	(214 214 214)   'sgi very light grey'
-	(142 56 142)    'SGIBeet'
-	(197 193 170)   'SGIBrightGray'
-	(197 193 170)   'SGIBrightGrey'
-	(113 198 113)   'SGIChartreuse'
-	( 85  85  85)   'SGIDarkGray'
-	( 85  85  85)   'SGIDarkGrey'
-	(  0   0   0)   'SGIGray0'
-	(255 255 255)   'SGIGray100'
-	( 30  30  30)   'SGIGray12'
-	( 40  40  40)   'SGIGray16'
-	( 51  51  51)   'SGIGray20'
-	( 61  61  61)   'SGIGray24'
-	( 71  71  71)   'SGIGray28'
-	( 81  81  81)   'SGIGray32'
-	( 91  91  91)   'SGIGray36'
-	( 10  10  10)   'SGIGray4'
-	(102 102 102)   'SGIGray40'
-	(112 112 112)   'SGIGray44'
-	(122 122 122)   'SGIGray48'
-	(132 132 132)   'SGIGray52'
-	(142 142 142)   'SGIGray56'
-	(153 153 153)   'SGIGray60'
-	(163 163 163)   'SGIGray64'
-	(173 173 173)   'SGIGray68'
-	(183 183 183)   'SGIGray72'
-	(193 193 193)   'SGIGray76'
-	( 20  20  20)   'SGIGray8'
-	(204 204 204)   'SGIGray80'
-	(214 214 214)   'SGIGray84'
-	(224 224 224)   'SGIGray88'
-	(234 234 234)   'SGIGray92'
-	(244 244 244)   'SGIGray96'
-	(  0   0   0)   'SGIGrey0'
-	(255 255 255)   'SGIGrey100'
-	( 30  30  30)   'SGIGrey12'
-	( 40  40  40)   'SGIGrey16'
-	( 51  51  51)   'SGIGrey20'
-	( 61  61  61)   'SGIGrey24'
-	( 71  71  71)   'SGIGrey28'
-	( 81  81  81)   'SGIGrey32'
-	( 91  91  91)   'SGIGrey36'
-	( 10  10  10)   'SGIGrey4'
-	(102 102 102)   'SGIGrey40'
-	(112 112 112)   'SGIGrey44'
-	(122 122 122)   'SGIGrey48'
-	(132 132 132)   'SGIGrey52'
-	(142 142 142)   'SGIGrey56'
-	(153 153 153)   'SGIGrey60'
-	(163 163 163)   'SGIGrey64'
-	(173 173 173)   'SGIGrey68'
-	(183 183 183)   'SGIGrey72'
-	(193 193 193)   'SGIGrey76'
-	( 20  20  20)   'SGIGrey8'
-	(204 204 204)   'SGIGrey80'
-	(214 214 214)   'SGIGrey84'
-	(224 224 224)   'SGIGrey88'
-	(234 234 234)   'SGIGrey92'
-	(244 244 244)   'SGIGrey96'
-	(125 158 192)   'SGILightBlue'
-	(170 170 170)   'SGILightGray'
-	(170 170 170)   'SGILightGrey'
-	(132 132 132)   'SGIMediumGray'
-	(132 132 132)   'SGIMediumGrey'
-	(142 142  56)   'SGIOliveDrab'
-	(198 113 113)   'SGISalmon'
-	(113 113 198)   'SGISlateBlue'
-	( 56 142 142)   'SGITeal'
-	( 40  40  40)   'SGIVeryDarkGray'
-	( 40  40  40)   'SGIVeryDarkGrey'
-	(214 214 214)   'SGIVeryLightGray'
-	(214 214 214)   'SGIVeryLightGrey'
-	(160  82  45)   'sienna'
-	(255 130  71)   'sienna1'
-	(238 121  66)   'sienna2'
-	(205 104  57)   'sienna3'
-	(139  71  38)   'sienna4'
-	(135 206 235)   'skyblue'
-	(135 206 255)   'SkyBlue1'
-	(126 192 238)   'SkyBlue2'
-	(108 166 205)   'SkyBlue3'
-	( 74 112 139)   'SkyBlue4'
-	(112 128 144)   'slategray'
-	(112 128 144)   'slategrey'
-	(106  90 205)   'slateblue'
-	(131 111 255)   'SlateBlue1'
-	(122 103 238)   'SlateBlue2'
-	(105  89 205)   'SlateBlue3'
-	( 71  60 139)   'SlateBlue4'
-	(198 226 255)   'SlateGray1'
-	(185 211 238)   'SlateGray2'
-	(159 182 205)   'SlateGray3'
-	(108 123 139)   'SlateGray4'
-	(255 250 250)   'snow'
-	(255 250 250)   'snow1'
-	(238 233 233)   'snow2'
-	(205 201 201)   'snow3'
-	(139 137 137)   'snow4'
-	(  0 255 127)   'springgreen'
-	(  0 255 127)   'SpringGreen1'
-	(  0 238 118)   'SpringGreen2'
-	(  0 205 102)   'SpringGreen3'
-	(  0 139  69)   'SpringGreen4'
-	( 70 130 180)   'steelblue'
-	( 99 184 255)   'SteelBlue1'
-	( 92 172 238)   'SteelBlue2'
-	( 79 148 205)   'SteelBlue3'
-	( 54 100 139)   'SteelBlue4'
-	(210 180 140)   'tan'
-	(255 165  79)   'tan1'
-	(238 154  73)   'tan2'
-	(205 133  63)   'tan3'
-	(139  90  43)   'tan4'
-	(216 191 216)   'thistle'
-	(255 225 255)   'thistle1'
-	(238 210 238)   'thistle2'
-	(205 181 205)   'thistle3'
-	(139 123 139)   'thistle4'
-	(255  99  71)   'tomato'
-	(255  99  71)   'tomato1'
-	(238  92  66)   'tomato2'
-	(205  79  57)   'tomato3'
-	(139  54  38)   'tomato4'
-	( 64 224 208)   'turquoise'
-	(  0 245 255)   'turquoise1'
-	(  0 229 238)   'turquoise2'
-	(  0 197 205)   'turquoise3'
-	(  0 134 139)   'turquoise4'
-	(238 130 238)   'violet'
-	(208  32 144)   'violetred'
-	(255  62 150)   'VioletRed1'
-	(238  58 140)   'VioletRed2'
-	(205  50 120)   'VioletRed3'
-	(139  34  82)   'VioletRed4'
-	(245 222 179)   'wheat'
-	(255 231 186)   'wheat1'
-	(238 216 174)   'wheat2'
-	(205 186 150)   'wheat3'
-	(139 126 102)   'wheat4'
-	(255 255 255)   'white'
-	(245 245 245)   'whitesmoke'
-	(255 255   0)   'yellow'
-	(154 205  50)   'yellowgreen'
-	(255 255   0)   'yellow1'
-	(238 238   0)   'yellow2'
-	(205 205   0)   'yellow3'
-	(139 139   0)   'yellow4'
-    ) pairWiseDo:[ :value :name |
-	StandardColorValues at:name put:value
-    ].
+    StandardColorValues := Dictionary
+	withKeysAndValues:#(
+	    'aliceblue'     (240 248 255)
+	    'antiquewhite'  (250 235 215)
+	    'AntiqueWhite1' (255 239 219)
+	    'AntiqueWhite2' (238 223 204)
+	    'AntiqueWhite3' (205 192 176)
+	    'AntiqueWhite4' (139 131 120)
+	    'aquamarine'    (127 255 212)
+	    'aquamarine1'   (127 255 212)
+	    'aquamarine2'   (118 238 198)
+	    'aquamarine3'   (102 205 170)
+	    'aquamarine4'   (69 139 116)
+	    'azure'         (240 255 255)
+	    'azure1'        (240 255 255)
+	    'azure2'        (224 238 238)
+	    'azure3'        (193 205 205)
+	    'azure4'        (131 139 139)
+	    'beige'         (245 245 220)
+	    'bisque'        (255 228 196)
+	    'bisque1'       (255 228 196)
+	    'bisque2'       (238 213 183)
+	    'bisque3'       (205 183 158)
+	    'bisque4'       (139 125 107)
+	    'black'         (0 0 0)
+	    'blanchedalmond'        (255 235 205)
+	    'blue'          (0 0 255)
+	    'blueviolet'    (138 43 226)
+	    'blue1'         (0 0 255)
+	    'blue2'         (0 0 238)
+	    'blue3'         (0 0 205)
+	    'blue4'         (0 0 139)
+	    'brown'         (165 42 42)
+	    'brown1'        (255 64 64)
+	    'brown2'        (238 59 59)
+	    'brown3'        (205 51 51)
+	    'brown4'        (139 35 35)
+	    'burlywood'     (222 184 135)
+	    'burlywood1'    (255 211 155)
+	    'burlywood2'    (238 197 145)
+	    'burlywood3'    (205 170 125)
+	    'burlywood4'    (139 115 85)
+	    'cadetblue'     (95 158 160)
+	    'CadetBlue1'    (152 245 255)
+	    'CadetBlue2'    (142 229 238)
+	    'CadetBlue3'    (122 197 205)
+	    'CadetBlue4'    (83 134 139)
+	    'chartreuse'    (127 255 0)
+	    'chartreuse1'   (127 255 0)
+	    'chartreuse2'   (118 238 0)
+	    'chartreuse3'   (102 205 0)
+	    'chartreuse4'   (69 139 0)
+	    'chocolate'     (210 105 30)
+	    'chocolate1'    (255 127 36)
+	    'chocolate2'    (238 118 33)
+	    'chocolate3'    (205 102 29)
+	    'chocolate4'    (139 69 19)
+	    'coral'         (255 127 80)
+	    'coral1'        (255 114 86)
+	    'coral2'        (238 106 80)
+	    'coral3'        (205 91 69)
+	    'coral4'        (139 62 47)
+	    'cornflowerblue'        (100 149 237)
+	    'cornsilk'      (255 248 220)
+	    'cornsilk1'     (255 248 220)
+	    'cornsilk2'     (238 232 205)
+	    'cornsilk3'     (205 200 177)
+	    'cornsilk4'     (139 136 120)
+	    'cyan'          (0 255 255)
+	    'cyan1'         (0 255 255)
+	    'cyan2'         (0 238 238)
+	    'cyan3'         (0 205 205)
+	    'cyan4'         (0 139 139)
+	    'darkblue'      (0 0 139)
+	    'darkcyan'      (0 139 139)
+	    'darkgoldenrod' (184 134 11)
+	    'darkgray'      (169 169 169)
+	    'darkgreen'     (0 100 0)
+	    'darkgrey'      (169 169 169)
+	    'darkkhaki'     (189 183 107)
+	    'darkmagenta'   (139 0 139)
+	    'darkolivegreen'        (85 107 47)
+	    'darkorange'    (255 140 0)
+	    'darkorchid'    (153 50 204)
+	    'darkred'       (139 0 0)
+	    'darksalmon'    (233 150 122)
+	    'darkseagreen'  (143 188 143)
+	    'darkslateblue' (72 61 139)
+	    'darkslategray' (47 79 79)
+	    'darkslategrey' (47 79 79)
+	    'darkturquoise' (0 206 209)
+	    'darkviolet'    (148 0 211)
+	    'DarkGoldenrod1'        (255 185 15)
+	    'DarkGoldenrod2'        (238 173 14)
+	    'DarkGoldenrod3'        (205 149 12)
+	    'DarkGoldenrod4'        (139 101 8)
+	    'DarkOliveGreen1'       (202 255 112)
+	    'DarkOliveGreen2'       (188 238 104)
+	    'DarkOliveGreen3'       (162 205 90)
+	    'DarkOliveGreen4'       (110 139 61)
+	    'DarkOrange1'   (255 127 0)
+	    'DarkOrange2'   (238 118 0)
+	    'DarkOrange3'   (205 102 0)
+	    'DarkOrange4'   (139 69 0)
+	    'DarkOrchid1'   (191 62 255)
+	    'DarkOrchid2'   (178 58 238)
+	    'DarkOrchid3'   (154 50 205)
+	    'DarkOrchid4'   (104 34 139)
+	    'DarkSeaGreen1' (193 255 193)
+	    'DarkSeaGreen2' (180 238 180)
+	    'DarkSeaGreen3' (155 205 155)
+	    'DarkSeaGreen4' (105 139 105)
+	    'DarkSlateGray1'        (151 255 255)
+	    'DarkSlateGray2'        (141 238 238)
+	    'DarkSlateGray3'        (121 205 205)
+	    'DarkSlateGray4'        (82 139 139)
+	    'deeppink'      (255 20 147)
+	    'deepskyblue'   (0 191 255)
+	    'DeepPink'      (255 20 147)
+	    'DeepPink1'     (255 20 147)
+	    'DeepPink2'     (238 18 137)
+	    'DeepPink3'     (205 16 118)
+	    'DeepPink4'     (139 10 80)
+	    'DeepSkyBlue1'  (0 191 255)
+	    'DeepSkyBlue2'  (0 178 238)
+	    'DeepSkyBlue3'  (0 154 205)
+	    'DeepSkyBlue4'  (0 104 139)
+	    'dimgray'       (105 105 105)
+	    'dimgrey'       (105 105 105)
+	    'dodgerblue'    (30 144 255)
+	    'DodgerBlue1'   (30 144 255)
+	    'DodgerBlue2'   (28 134 238)
+	    'DodgerBlue3'   (24 116 205)
+	    'DodgerBlue4'   (16 78 139)
+	    'firebrick'     (178 34 34)
+	    'firebrick1'    (255 48 48)
+	    'firebrick2'    (238 44 44)
+	    'firebrick3'    (205 38 38)
+	    'firebrick4'    (139 26 26)
+	    'floralwhite'   (255 250 240)
+	    'forestgreen'   (34 139 34)
+	    'gainsboro'     (220 220 220)
+	    'ghostwhite'    (248 248 255)
+	    'gold'          (255 215 0)
+	    'gold1'         (255 215 0)
+	    'gold2'         (238 201 0)
+	    'gold3'         (205 173 0)
+	    'gold4'         (139 117 0)
+	    'goldenrod'     (218 165 32)
+	    'goldenrod1'    (255 193 37)
+	    'goldenrod2'    (238 180 34)
+	    'goldenrod3'    (205 155 29)
+	    'goldenrod4'    (139 105 20)
+	    'grey'          (192 192 192)
+	    'grey0'         (0 0 0)
+	    'grey1'         (3 3 3)
+	    'grey10'        (26 26 26)
+	    'grey100'       (255 255 255)
+	    'grey11'        (28 28 28)
+	    'grey12'        (31 31 31)
+	    'grey13'        (33 33 33)
+	    'grey14'        (36 36 36)
+	    'grey15'        (38 38 38)
+	    'grey16'        (41 41 41)
+	    'grey17'        (43 43 43)
+	    'grey18'        (46 46 46)
+	    'grey19'        (48 48 48)
+	    'grey2'         (5 5 5)
+	    'grey20'        (51 51 51)
+	    'grey21'        (54 54 54)
+	    'grey22'        (56 56 56)
+	    'grey23'        (59 59 59)
+	    'grey24'        (61 61 61)
+	    'grey25'        (64 64 64)
+	    'grey26'        (66 66 66)
+	    'grey27'        (69 69 69)
+	    'grey28'        (71 71 71)
+	    'grey29'        (74 74 74)
+	    'grey3'         (8 8 8)
+	    'grey30'        (77 77 77)
+	    'grey31'        (79 79 79)
+	    'grey32'        (82 82 82)
+	    'grey33'        (84 84 84)
+	    'grey34'        (87 87 87)
+	    'grey35'        (89 89 89)
+	    'grey36'        (92 92 92)
+	    'grey37'        (94 94 94)
+	    'grey38'        (97 97 97)
+	    'grey39'        (99 99 99)
+	    'grey4'         (10 10 10)
+	    'grey40'        (102 102 102)
+	    'grey41'        (105 105 105)
+	    'grey42'        (107 107 107)
+	    'grey43'        (110 110 110)
+	    'grey44'        (112 112 112)
+	    'grey45'        (115 115 115)
+	    'grey46'        (117 117 117)
+	    'grey47'        (120 120 120)
+	    'grey48'        (122 122 122)
+	    'grey49'        (125 125 125)
+	    'grey5'         (13 13 13)
+	    'grey50'        (127 127 127)
+	    'grey51'        (130 130 130)
+	    'grey52'        (133 133 133)
+	    'grey53'        (135 135 135)
+	    'grey54'        (138 138 138)
+	    'grey55'        (140 140 140)
+	    'grey56'        (143 143 143)
+	    'grey57'        (145 145 145)
+	    'grey58'        (148 148 148)
+	    'grey59'        (150 150 150)
+	    'grey6'         (15 15 15)
+	    'grey60'        (153 153 153)
+	    'grey61'        (156 156 156)
+	    'grey62'        (158 158 158)
+	    'grey63'        (161 161 161)
+	    'grey64'        (163 163 163)
+	    'grey65'        (166 166 166)
+	    'grey66'        (168 168 168)
+	    'grey67'        (171 171 171)
+	    'grey68'        (173 173 173)
+	    'grey69'        (176 176 176)
+	    'grey7'         (18 18 18)
+	    'grey70'        (179 179 179)
+	    'grey71'        (181 181 181)
+	    'grey72'        (184 184 184)
+	    'grey73'        (186 186 186)
+	    'grey74'        (189 189 189)
+	    'grey75'        (191 191 191)
+	    'grey76'        (194 194 194)
+	    'grey77'        (196 196 196)
+	    'grey78'        (199 199 199)
+	    'grey79'        (201 201 201)
+	    'grey8'         (20 20 20)
+	    'grey80'        (204 204 204)
+	    'grey81'        (207 207 207)
+	    'grey82'        (209 209 209)
+	    'grey83'        (212 212 212)
+	    'grey84'        (214 214 214)
+	    'grey85'        (217 217 217)
+	    'grey86'        (219 219 219)
+	    'grey87'        (222 222 222)
+	    'grey88'        (224 224 224)
+	    'grey89'        (227 227 227)
+	    'grey9'         (23 23 23)
+	    'grey90'        (229 229 229)
+	    'grey91'        (232 232 232)
+	    'grey92'        (235 235 235)
+	    'grey93'        (237 237 237)
+	    'grey94'        (240 240 240)
+	    'grey95'        (242 242 242)
+	    'grey96'        (245 245 245)
+	    'grey97'        (247 247 247)
+	    'grey98'        (250 250 250)
+	    'grey99'        (252 252 252)
+	    'gray'          (192 192 192)
+	    'gray0'         (0 0 0)
+	    'gray1'         (3 3 3)
+	    'gray10'        (26 26 26)
+	    'gray100'       (255 255 255)
+	    'gray11'        (28 28 28)
+	    'gray12'        (31 31 31)
+	    'gray13'        (33 33 33)
+	    'gray14'        (36 36 36)
+	    'gray15'        (38 38 38)
+	    'gray16'        (41 41 41)
+	    'gray17'        (43 43 43)
+	    'gray18'        (46 46 46)
+	    'gray19'        (48 48 48)
+	    'gray2'         (5 5 5)
+	    'gray20'        (51 51 51)
+	    'gray21'        (54 54 54)
+	    'gray22'        (56 56 56)
+	    'gray23'        (59 59 59)
+	    'gray24'        (61 61 61)
+	    'gray25'        (64 64 64)
+	    'gray26'        (66 66 66)
+	    'gray27'        (69 69 69)
+	    'gray28'        (71 71 71)
+	    'gray29'        (74 74 74)
+	    'gray3'         (8 8 8)
+	    'gray30'        (77 77 77)
+	    'gray31'        (79 79 79)
+	    'gray32'        (82 82 82)
+	    'gray33'        (84 84 84)
+	    'gray34'        (87 87 87)
+	    'gray35'        (89 89 89)
+	    'gray36'        (92 92 92)
+	    'gray37'        (94 94 94)
+	    'gray38'        (97 97 97)
+	    'gray39'        (99 99 99)
+	    'gray4'         (10 10 10)
+	    'gray40'        (102 102 102)
+	    'gray41'        (105 105 105)
+	    'gray42'        (107 107 107)
+	    'gray43'        (110 110 110)
+	    'gray44'        (112 112 112)
+	    'gray45'        (115 115 115)
+	    'gray46'        (117 117 117)
+	    'gray47'        (120 120 120)
+	    'gray48'        (122 122 122)
+	    'gray49'        (125 125 125)
+	    'gray5'         (13 13 13)
+	    'gray50'        (127 127 127)
+	    'gray51'        (130 130 130)
+	    'gray52'        (133 133 133)
+	    'gray53'        (135 135 135)
+	    'gray54'        (138 138 138)
+	    'gray55'        (140 140 140)
+	    'gray56'        (143 143 143)
+	    'gray57'        (145 145 145)
+	    'gray58'        (148 148 148)
+	    'gray59'        (150 150 150)
+	    'gray6'         (15 15 15)
+	    'gray60'        (153 153 153)
+	    'gray61'        (156 156 156)
+	    'gray62'        (158 158 158)
+	    'gray63'        (161 161 161)
+	    'gray64'        (163 163 163)
+	    'gray65'        (166 166 166)
+	    'gray66'        (168 168 168)
+	    'gray67'        (171 171 171)
+	    'gray68'        (173 173 173)
+	    'gray69'        (176 176 176)
+	    'gray7'         (18 18 18)
+	    'gray70'        (179 179 179)
+	    'gray71'        (181 181 181)
+	    'gray72'        (184 184 184)
+	    'gray73'        (186 186 186)
+	    'gray74'        (189 189 189)
+	    'gray75'        (191 191 191)
+	    'gray76'        (194 194 194)
+	    'gray77'        (196 196 196)
+	    'gray78'        (199 199 199)
+	    'gray79'        (201 201 201)
+	    'gray8'         (20 20 20)
+	    'gray80'        (204 204 204)
+	    'gray81'        (207 207 207)
+	    'gray82'        (209 209 209)
+	    'gray83'        (212 212 212)
+	    'gray84'        (214 214 214)
+	    'gray85'        (217 217 217)
+	    'gray86'        (219 219 219)
+	    'gray87'        (222 222 222)
+	    'gray88'        (224 224 224)
+	    'gray89'        (227 227 227)
+	    'gray9'         (23 23 23)
+	    'gray90'        (229 229 229)
+	    'gray91'        (232 232 232)
+	    'gray92'        (235 235 235)
+	    'gray93'        (237 237 237)
+	    'gray94'        (240 240 240)
+	    'gray95'        (242 242 242)
+	    'gray96'        (245 245 245)
+	    'gray97'        (247 247 247)
+	    'gray98'        (250 250 250)
+	    'gray99'        (252 252 252)
+	    'green'         (0 255 0)
+	    'greenyellow'   (173 255 47)
+	    'green1'        (0 255 0)
+	    'green2'        (0 238 0)
+	    'green3'        (0 205 0)
+	    'green4'        (0 139 0)
+	    'honeydew'      (240 255 240)
+	    'honeydew1'     (240 255 240)
+	    'honeydew2'     (224 238 224)
+	    'honeydew3'     (193 205 193)
+	    'honeydew4'     (131 139 131)
+	    'hotpink'       (255 105 180)
+	    'HotPink1'      (255 110 180)
+	    'HotPink2'      (238 106 167)
+	    'HotPink3'      (205 96 144)
+	    'HotPink4'      (139 58 98)
+	    'indianred'     (205 92 92)
+	    'IndianRed1'    (255 106 106)
+	    'IndianRed2'    (238 99 99)
+	    'IndianRed3'    (205 85 85)
+	    'IndianRed4'    (139 58 58)
+	    'ivory'         (255 255 240)
+	    'ivory1'        (255 255 240)
+	    'ivory2'        (238 238 224)
+	    'ivory3'        (205 205 193)
+	    'ivory4'        (139 139 131)
+	    'khaki'         (240 230 140)
+	    'khaki1'        (255 246 143)
+	    'khaki2'        (238 230 133)
+	    'khaki3'        (205 198 115)
+	    'khaki4'        (139 134 78)
+	    'lavender'      (230 230 250)
+	    'lavenderblush'         (255 240 245)
+	    'LavenderBlush1'        (255 240 245)
+	    'LavenderBlush2'        (238 224 229)
+	    'LavenderBlush3'        (205 193 197)
+	    'LavenderBlush4'        (139 131 134)
+	    'lawngreen'     (124 252 0)
+	    'lemonchiffon'  (255 250 205)
+	    'LemonChiffon1'         (255 250 205)
+	    'LemonChiffon2'         (238 233 191)
+	    'LemonChiffon3'         (205 201 165)
+	    'LemonChiffon4'         (139 137 112)
+	    'lightblue'     (173 216 230)
+	    'lightcoral'    (240 128 128)
+	    'lightcyan'     (224 255 255)
+	    'lightgoldenrod'        (238 221 130)
+	    'lightgoldenrodyellow'  (250 250 210)
+	    'lightgray'     (211 211 211)
+	    'lightgreen'    (144 238 144)
+	    'lightgrey'     (211 211 211)
+	    'lightpink'     (255 182 193)
+	    'lightsalmon'   (255 160 122)
+	    'lightseagreen' (32 178 170)
+	    'lightskyblue'  (135 206 250)
+	    'lightslateblue'        (132 112 255)
+	    'lightslategray'        (119 136 153)
+	    'lightslategrey'        (119 136 153)
+	    'lightsteelblue'        (176 196 222)
+	    'lightyellow'   (255 255 224)
+	    'LightBlue1'    (191 239 255)
+	    'LightBlue2'    (178 223 238)
+	    'LightBlue3'    (154 192 205)
+	    'LightBlue4'    (104 131 139)
+	    'LightCyan1'    (224 255 255)
+	    'LightCyan2'    (209 238 238)
+	    'LightCyan3'    (180 205 205)
+	    'LightCyan4'    (122 139 139)
+	    'LightGoldenrod1'       (255 236 139)
+	    'LightGoldenrod2'       (238 220 130)
+	    'LightGoldenrod3'       (205 190 112)
+	    'LightGoldenrod4'       (139 129 76)
+	    'LightPink1'    (255 174 185)
+	    'LightPink2'    (238 162 173)
+	    'LightPink3'    (205 140 149)
+	    'LightPink4'    (139 95 101)
+	    'LightSalmon1'  (255 160 122)
+	    'LightSalmon2'  (238 149 114)
+	    'LightSalmon3'  (205 129 98)
+	    'LightSalmon4'  (139 87 66)
+	    'LightSkyBlue1'         (176 226 255)
+	    'LightSkyBlue2'         (164 211 238)
+	    'LightSkyBlue3'         (141 182 205)
+	    'LightSkyBlue4'         (96 123 139)
+	    'LightSteelBlue1'       (202 225 255)
+	    'LightSteelBlue2'       (188 210 238)
+	    'LightSteelBlue3'       (162 181 205)
+	    'LightSteelBlue4'       (110 123 139)
+	    'LightYellow1'  (255 255 224)
+	    'LightYellow2'  (238 238 209)
+	    'LightYellow3'  (205 205 180)
+	    'LightYellow4'  (139 139 122)
+	    'limegreen'     (50 205 50)
+	    'linen'         (250 240 230)
+	    'magenta'       (255 0 255)
+	    'magenta1'      (255 0 255)
+	    'magenta2'      (238 0 238)
+	    'magenta3'      (205 0 205)
+	    'magenta4'      (139 0 139)
+	    'maroon'        (176 48 96)
+	    'maroon1'       (255 52 179)
+	    'maroon2'       (238 48 167)
+	    'maroon3'       (205 41 144)
+	    'maroon4'       (139 28 98)
+	    'mediumaquamarine'      (102 205 170)
+	    'mediumblue'    (0 0 205)
+	    'mediumorchid'  (186 85 211)
+	    'mediumpurple'  (147 112 219)
+	    'mediumseagreen'        (60 179 113)
+	    'mediumslateblue'       (123 104 238)
+	    'mediumspringgreen'     (0 250 154)
+	    'mediumturquoise'       (72 209 204)
+	    'mediumvioletred'       (199 21 133)
+	    'MediumOrchid1'         (224 102 255)
+	    'MediumOrchid2' (209 95 238)
+	    'MediumOrchid3' (180 82 205)
+	    'MediumOrchid4' (122 55 139)
+	    'MediumPurple1' (171 130 255)
+	    'MediumPurple2' (159 121 238)
+	    'MediumPurple3' (137 104 205)
+	    'MediumPurple4' (93 71 139)
+	    'midnightblue'  (25 25 112)
+	    'mintcream'     (245 255 250)
+	    'mistyrose'     (255 228 225)
+	    'MistyRose1'    (255 228 225)
+	    'MistyRose2'    (238 213 210)
+	    'MistyRose3'    (205 183 181)
+	    'MistyRose4'    (139 125 123)
+	    'moccasin'      (255 228 181)
+	    'navajowhite'   (255 222 173)
+	    'NavajoWhite1'  (255 222 173)
+	    'NavajoWhite2'  (238 207 161)
+	    'NavajoWhite3'  (205 179 139)
+	    'NavajoWhite4'  (139 121 94)
+	    'navy'          (0 0 128)
+	    'navyblue'      (0 0 128)
+	    'oldlace'       (253 245 230)
+	    'olivedrab'     (107 142 35)
+	    'OliveDrab1'    (192 255 62)
+	    'OliveDrab2'    (179 238 58)
+	    'OliveDrab3'    (154 205 50)
+	    'OliveDrab4'    (105 139 34)
+	    'orange'        (255 165 0)
+	    'orange1'       (255 165 0)
+	    'orange2'       (238 154 0)
+	    'orange3'       (205 133 0)
+	    'orange4'       (139 90 0)
+	    'orangered'     (255 69 0)
+	    'OrangeRed1'    (255 69 0)
+	    'OrangeRed2'    (238 64 0)
+	    'OrangeRed3'    (205 55 0)
+	    'OrangeRed4'    (139 37 0)
+	    'orchid'        (218 112 214)
+	    'orchid1'       (255 131 250)
+	    'orchid2'       (238 122 233)
+	    'orchid3'       (205 105 201)
+	    'orchid4'       (139 71 137)
+	    'palegoldenrod' (238 232 170)
+	    'palegreen'     (152 251 152)
+	    'paleturquoise' (175 238 238)
+	    'palevioletred' (219 112 147)
+	    'PaleGreen1'    (154 255 154)
+	    'PaleGreen2'    (144 238 144)
+	    'PaleGreen3'    (124 205 124)
+	    'PaleGreen4'    (84 139 84)
+	    'PaleTurquoise1'        (187 255 255)
+	    'PaleTurquoise2'        (174 238 238)
+	    'PaleTurquoise3'        (150 205 205)
+	    'PaleTurquoise4'        (102 139 139)
+	    'PaleVioletRed1'        (255 130 171)
+	    'PaleVioletRed2'        (238 121 159)
+	    'PaleVioletRed3'        (205 104 137)
+	    'PaleVioletRed4'        (139 71 93)
+	    'papayawhip'    (255 239 213)
+	    'peachpuff'     (255 218 185)
+	    'PeachPuff1'    (255 218 185)
+	    'PeachPuff2'    (238 203 173)
+	    'PeachPuff3'    (205 175 149)
+	    'PeachPuff4'    (139 119 101)
+	    'peru'  (205 133 63)
+	    'pink'  (255 192 203)
+	    'pink1' (255 181 197)
+	    'pink2' (238 169 184)
+	    'pink3' (205 145 158)
+	    'pink4' (139 99 108)
+	    'plum'  (221 160 221)
+	    'plum1' (255 187 255)
+	    'plum2' (238 174 238)
+	    'plum3' (205 150 205)
+	    'plum4' (139 102 139)
+	    'powderblue'    (176 224 230)
+	    'purple'        (160 32 240)
+	    'purple1'       (155 48 255)
+	    'purple2'       (145 44 238)
+	    'purple3'       (125 38 205)
+	    'purple4'       (85 26 139)
+	    'red'   (255 0 0)
+	    'red1'  (255 0 0)
+	    'red2'  (238 0 0)
+	    'red3'  (205 0 0)
+	    'red4'  (139 0 0)
+	    'rosybrown'     (188 143 143)
+	    'RosyBrown1'    (255 193 193)
+	    'RosyBrown2'    (238 180 180)
+	    'RosyBrown3'    (205 155 155)
+	    'RosyBrown4'    (139 105 105)
+	    'royalblue'     (65 105 225)
+	    'RoyalBlue1'    (72 118 255)
+	    'RoyalBlue2'    (67 110 238)
+	    'RoyalBlue3'    (58 95 205)
+	    'RoyalBlue4'    (39 64 139)
+	    'saddlebrown'   (139 69 19)
+	    'salmon'        (250 128 114)
+	    'salmon1'       (255 140 105)
+	    'salmon2'       (238 130 98)
+	    'salmon3'       (205 112 84)
+	    'salmon4'       (139 76 57)
+	    'sandybrown'    (244 164 96)
+	    'scoActiveBackground'   (255 206 137)
+	    'scoActiveForeground'   (43 45 49)
+	    'scoActiveTopShadow'    (254 222 255)
+	    'scoAltBackground'      (172 186 204)
+	    'scoBackground' (203 203 192)
+	    'scoForeground' (11 0 113)
+	    'scoHighlight'  (141 178 215)
+	    'scoTopShadow'  (255 240 248)
+	    'seagreen'      (46 139 87)
+	    'SeaGreen1'     (84 255 159)
+	    'SeaGreen2'     (78 238 148)
+	    'SeaGreen3'     (67 205 128)
+	    'SeaGreen4'     (46 139 87)
+	    'seashell'      (255 245 238)
+	    'seashell1'     (255 245 238)
+	    'seashell2'     (238 229 222)
+	    'seashell3'     (205 197 191)
+	    'seashell4'     (139 134 130)
+	    'sgi beet'      (142 56 142)
+	    'sgi bright gray'       (197 193 170)
+	    'sgi bright grey'       (197 193 170)
+	    'sgi chartreuse'        (113 198 113)
+	    'sgi dark gray' (85 85 85)
+	    'sgi dark grey' (85 85 85)
+	    'sgi gray 0'    (0 0 0)
+	    'sgi gray 100'  (255 255 255)
+	    'sgi gray 12'   (30 30 30)
+	    'sgi gray 16'   (40 40 40)
+	    'sgi gray 20'   (51 51 51)
+	    'sgi gray 24'   (61 61 61)
+	    'sgi gray 28'   (71 71 71)
+	    'sgi gray 32'   (81 81 81)
+	    'sgi gray 36'   (91 91 91)
+	    'sgi gray 4'    (10 10 10)
+	    'sgi gray 40'   (102 102 102)
+	    'sgi gray 44'   (112 112 112)
+	    'sgi gray 48'   (122 122 122)
+	    'sgi gray 52'   (132 132 132)
+	    'sgi gray 56'   (142 142 142)
+	    'sgi gray 60'   (153 153 153)
+	    'sgi gray 64'   (163 163 163)
+	    'sgi gray 68'   (173 173 173)
+	    'sgi gray 72'   (183 183 183)
+	    'sgi gray 76'   (193 193 193)
+	    'sgi gray 8'    (20 20 20)
+	    'sgi gray 80'   (204 204 204)
+	    'sgi gray 84'   (214 214 214)
+	    'sgi gray 88'   (224 224 224)
+	    'sgi gray 92'   (234 234 234)
+	    'sgi gray 96'   (244 244 244)
+	    'sgi grey 0'    (0 0 0)
+	    'sgi grey 100'  (255 255 255)
+	    'sgi grey 12'   (30 30 30)
+	    'sgi grey 16'   (40 40 40)
+	    'sgi grey 20'   (51 51 51)
+	    'sgi grey 24'   (61 61 61)
+	    'sgi grey 28'   (71 71 71)
+	    'sgi grey 32'   (81 81 81)
+	    'sgi grey 36'   (91 91 91)
+	    'sgi grey 4'    (10 10 10)
+	    'sgi grey 40'   (102 102 102)
+	    'sgi grey 44'   (112 112 112)
+	    'sgi grey 48'   (122 122 122)
+	    'sgi grey 52'   (132 132 132)
+	    'sgi grey 56'   (142 142 142)
+	    'sgi grey 60'   (153 153 153)
+	    'sgi grey 64'   (163 163 163)
+	    'sgi grey 68'   (173 173 173)
+	    'sgi grey 72'   (183 183 183)
+	    'sgi grey 76'   (193 193 193)
+	    'sgi grey 8'    (20 20 20)
+	    'sgi grey 80'   (204 204 204)
+	    'sgi grey 84'   (214 214 214)
+	    'sgi grey 88'   (224 224 224)
+	    'sgi grey 92'   (234 234 234)
+	    'sgi grey 96'   (244 244 244)
+	    'sgi light blue'        (125 158 192)
+	    'sgi light gray'        (170 170 170)
+	    'sgi light grey'        (170 170 170)
+	    'sgi medium gray'       (132 132 132)
+	    'sgi medium grey'       (132 132 132)
+	    'sgi olive drab'        (142 142 56)
+	    'sgi salmon'    (198 113 113)
+	    'sgi slate blue'        (113 113 198)
+	    'sgi teal'      (56 142 142)
+	    'sgi very dark gray'    (40 40 40)
+	    'sgi very dark grey'    (40 40 40)
+	    'sgi very light gray'   (214 214 214)
+	    'sgi very light grey'   (214 214 214)
+	    'SGIBeet'       (142 56 142)
+	    'SGIBrightGray' (197 193 170)
+	    'SGIBrightGrey' (197 193 170)
+	    'SGIChartreuse' (113 198 113)
+	    'SGIDarkGray'   (85 85 85)
+	    'SGIDarkGrey'   (85 85 85)
+	    'SGIGray0'      (0 0 0)
+	    'SGIGray100'    (255 255 255)
+	    'SGIGray12'     (30 30 30)
+	    'SGIGray16'     (40 40 40)
+	    'SGIGray20'     (51 51 51)
+	    'SGIGray24'     (61 61 61)
+	    'SGIGray28'     (71 71 71)
+	    'SGIGray32'     (81 81 81)
+	    'SGIGray36'     (91 91 91)
+	    'SGIGray4'      (10 10 10)
+	    'SGIGray40'     (102 102 102)
+	    'SGIGray44'     (112 112 112)
+	    'SGIGray48'     (122 122 122)
+	    'SGIGray52'     (132 132 132)
+	    'SGIGray56'     (142 142 142)
+	    'SGIGray60'     (153 153 153)
+	    'SGIGray64'     (163 163 163)
+	    'SGIGray68'     (173 173 173)
+	    'SGIGray72'     (183 183 183)
+	    'SGIGray76'     (193 193 193)
+	    'SGIGray8'      (20 20 20)
+	    'SGIGray80'     (204 204 204)
+	    'SGIGray84'     (214 214 214)
+	    'SGIGray88'     (224 224 224)
+	    'SGIGray92'     (234 234 234)
+	    'SGIGray96'     (244 244 244)
+	    'SGIGrey0'      (0 0 0)
+	    'SGIGrey100'    (255 255 255)
+	    'SGIGrey12'     (30 30 30)
+	    'SGIGrey16'     (40 40 40)
+	    'SGIGrey20'     (51 51 51)
+	    'SGIGrey24'     (61 61 61)
+	    'SGIGrey28'     (71 71 71)
+	    'SGIGrey32'     (81 81 81)
+	    'SGIGrey36'     (91 91 91)
+	    'SGIGrey4'      (10 10 10)
+	    'SGIGrey40'     (102 102 102)
+	    'SGIGrey44'     (112 112 112)
+	    'SGIGrey48'     (122 122 122)
+	    'SGIGrey52'     (132 132 132)
+	    'SGIGrey56'     (142 142 142)
+	    'SGIGrey60'     (153 153 153)
+	    'SGIGrey64'     (163 163 163)
+	    'SGIGrey68'     (173 173 173)
+	    'SGIGrey72'     (183 183 183)
+	    'SGIGrey76'     (193 193 193)
+	    'SGIGrey8'      (20 20 20)
+	    'SGIGrey80'     (204 204 204)
+	    'SGIGrey84'     (214 214 214)
+	    'SGIGrey88'     (224 224 224)
+	    'SGIGrey92'     (234 234 234)
+	    'SGIGrey96'     (244 244 244)
+	    'SGILightBlue'  (125 158 192)
+	    'SGILightGray'  (170 170 170)
+	    'SGILightGrey'  (170 170 170)
+	    'SGIMediumGray' (132 132 132)
+	    'SGIMediumGrey' (132 132 132)
+	    'SGIOliveDrab'  (142 142 56)
+	    'SGISalmon'     (198 113 113)
+	    'SGISlateBlue'  (113 113 198)
+	    'SGITeal'       (56 142 142)
+	    'SGIVeryDarkGray'       (40 40 40)
+	    'SGIVeryDarkGrey'       (40 40 40)
+	    'SGIVeryLightGray'      (214 214 214)
+	    'SGIVeryLightGrey'      (214 214 214)
+	    'sienna'        (160 82 45)
+	    'sienna1'       (255 130 71)
+	    'sienna2'       (238 121 66)
+	    'sienna3'       (205 104 57)
+	    'sienna4'       (139 71 38)
+	    'skyblue'       (135 206 235)
+	    'SkyBlue1'      (135 206 255)
+	    'SkyBlue2'      (126 192 238)
+	    'SkyBlue3'      (108 166 205)
+	    'SkyBlue4'      (74 112 139)
+	    'slategray'     (112 128 144)
+	    'slategrey'     (112 128 144)
+	    'slateblue'     (106 90 205)
+	    'SlateBlue1'    (131 111 255)
+	    'SlateBlue2'    (122 103 238)
+	    'SlateBlue3'    (105 89 205)
+	    'SlateBlue4'    (71 60 139)
+	    'SlateGray1'    (198 226 255)
+	    'SlateGray2'    (185 211 238)
+	    'SlateGray3'    (159 182 205)
+	    'SlateGray4'    (108 123 139)
+	    'snow'          (255 250 250)
+	    'snow1'         (255 250 250)
+	    'snow2'         (238 233 233)
+	    'snow3'         (205 201 201)
+	    'snow4'         (139 137 137)
+	    'springgreen'   (0 255 127)
+	    'SpringGreen1'  (0 255 127)
+	    'SpringGreen2'  (0 238 118)
+	    'SpringGreen3'  (0 205 102)
+	    'SpringGreen4'  (0 139 69)
+	    'steelblue'     (70 130 180)
+	    'SteelBlue1'    (99 184 255)
+	    'SteelBlue2'    (92 172 238)
+	    'SteelBlue3'    (79 148 205)
+	    'SteelBlue4'    (54 100 139)
+	    'tan'   (210 180 140)
+	    'tan1'  (255 165 79)
+	    'tan2'  (238 154 73)
+	    'tan3'  (205 133 63)
+	    'tan4'  (139 90 43)
+	    'thistle'       (216 191 216)
+	    'thistle1'      (255 225 255)
+	    'thistle2'      (238 210 238)
+	    'thistle3'      (205 181 205)
+	    'thistle4'      (139 123 139)
+	    'tomato'        (255 99 71)
+	    'tomato1'       (255 99 71)
+	    'tomato2'       (238 92 66)
+	    'tomato3'       (205 79 57)
+	    'tomato4'       (139 54 38)
+	    'turquoise'     (64 224 208)
+	    'turquoise1'    (0 245 255)
+	    'turquoise2'    (0 229 238)
+	    'turquoise3'    (0 197 205)
+	    'turquoise4'    (0 134 139)
+	    'violet'        (238 130 238)
+	    'violetred'     (208 32 144)
+	    'VioletRed1'    (255 62 150)
+	    'VioletRed2'    (238 58 140)
+	    'VioletRed3'    (205 50 120)
+	    'VioletRed4'    (139 34 82)
+	    'wheat'         (245 222 179)
+	    'wheat1'        (255 231 186)
+	    'wheat2'        (238 216 174)
+	    'wheat3'        (205 186 150)
+	    'wheat4'        (139 126 102)
+	    'white'         (255 255 255)
+	    'whitesmoke'    (245 245 245)
+	    'yellow'        (255 255 0)
+	    'yellowgreen'   (154 205 50)
+	    'yellow1'       (255 255 0)
+	    'yellow2'       (238 238 0)
+	    'yellow3'       (205 205 0)
+	    'yellow4'       (139 139 0)
+	).
+
     "
      WinWorkstation initializeStandardColorNames
     "
@@ -6294,130 +6256,130 @@
 
     msg = 'WM_ALL' ifTrue:[
 %{
-	__debug_WM_ALL__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_ALL__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_USER' ifTrue:[
 %{
-	__debug_WM_MOUSEENTER__ = (aBoolean == true) ? 1 : 0;
-	__debug_WM_MOUSELEAVE__ = (aBoolean == true) ? 1 : 0;
-	__debug_WM_MOUSEMOVE__ = (aBoolean == true) ? 1 : 0;
-	__debug_WM_MOUSEACTIVATE__ = (aBoolean == true) ? 1 : 0;
-	__debug_WM_BUTTONUP__ = (aBoolean == true) ? 1 : 0;
-	__debug_WM_BUTTONDOWN__ = (aBoolean == true) ? 1 : 0;
-	__debug_WM_KEYUP__ = (aBoolean == true) ? 1 : 0;
-	__debug_WM_KEYDOWN__ = (aBoolean == true) ? 1 : 0;
-	__debug_WM_CHAR__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_MOUSEENTER__ = (aBoolean == true);
+	__debug_WM_MOUSELEAVE__ = (aBoolean == true);
+	__debug_WM_MOUSEMOVE__ = (aBoolean == true);
+	__debug_WM_MOUSEACTIVATE__ = (aBoolean == true);
+	__debug_WM_BUTTONUP__ = (aBoolean == true);
+	__debug_WM_BUTTONDOWN__ = (aBoolean == true);
+	__debug_WM_KEYUP__ = (aBoolean == true);
+	__debug_WM_KEYDOWN__ = (aBoolean == true);
+	__debug_WM_CHAR__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
 
     msg = 'WM_MOUSEENTER' ifTrue:[
 %{
-	__debug_WM_MOUSEENTER__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_MOUSEENTER__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_MOUSELEAVE' ifTrue:[
 %{
-	__debug_WM_MOUSELEAVE__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_MOUSELEAVE__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_MOUSEMOVE' ifTrue:[
 %{
-	__debug_WM_MOUSEMOVE__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_MOUSEMOVE__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_MOUSEACTIVATE' ifTrue:[
 %{
-	__debug_WM_MOUSEACTIVATE__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_MOUSEACTIVATE__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_BUTTONUP' ifTrue:[
 %{
-	__debug_WM_BUTTONUP__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_BUTTONUP__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_BUTTONDOWN' ifTrue:[
 %{
-	__debug_WM_BUTTONDOWN__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_BUTTONDOWN__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_KEYUP' ifTrue:[
 %{
-	__debug_WM_KEYUP__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_KEYUP__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_KEYDOWN' ifTrue:[
 %{
-	__debug_WM_KEYDOWN__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_KEYDOWN__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_CHAR' ifTrue:[
 %{
-	__debug_WM_CHAR__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_CHAR__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_PAINT' ifTrue:[
 %{
-	__debug_WM_PAINT__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_PAINT__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_MOVING' ifTrue:[
 %{
-	__debug_WM_MOVING__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_MOVING__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_ERASEBKGND' ifTrue:[
 %{
-	__debug_WM_ERASEBKGND__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_ERASEBKGND__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_SETTEXT' ifTrue:[
 %{
-	__debug_WM_SETTEXT__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_SETTEXT__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_COPYDATA' ifTrue:[
 %{
-	__debug_WM_COPYDATA__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_COPYDATA__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_DROPFILES' ifTrue:[
 %{
-	__debug_WM_DROPFILES__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_DROPFILES__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_SHOWWINDOW' ifTrue:[
 %{
-	__debug_WM_SHOWWINDOW__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_SHOWWINDOW__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_SETCURSOR' ifTrue:[
 %{
-	__debug_WM_SETCURSOR__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_SETCURSOR__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
     msg = 'WM_FOCUS' ifTrue:[
 %{
-	__debug_WM_FOCUS__ = (aBoolean == true) ? 1 : 0;
+	__debug_WM_FOCUS__ = (aBoolean == true);
 	RETURN (self);
 %}
     ].
@@ -6434,7 +6396,7 @@
      WinWorkstation debug:true message:'WM_KEYUP'
      WinWorkstation debug:true message:'WM_KEYDOWN'
      WinWorkstation debug:true message:'WM_CHAR'
-     WinWorkstation debug:true message:'WM_BUTTONDOWN'
+     WinWorkstation debug:true message:'WM_COPYDATA'
     "
 !
 
@@ -6451,7 +6413,7 @@
 debugNative:aBoolean
 %{  /* NOCONTEXT */
 
-    __debugNative__ = (aBoolean == true) ? 1 : 0;
+    __debugNative__ = (aBoolean == true);
 %}
     "
      WinWorkstation debugNative:true
@@ -9703,44 +9665,49 @@
 getScaledRGBFromName:colorName into:aBlock
     "get scaled rgb components (0..16rFFFF) of color named colorName,
      and evaluate the 3-arg block, aBlock with them.
-     Return nil for unknown color names."
+     Return nil for unknown color names or invalid hex numbers."
 
     |triple r g b found cName|
 
     r := g := b := 0.
     found := false.
     (colorName startsWith:$#) ifTrue:[
-	"/ color in r/g/b hex notation
-	r := Integer readFrom:(colorName copyFrom:2 to:3) radix:16.
-	g := Integer readFrom:(colorName copyFrom:4 to:5) radix:16.
-	b := Integer readFrom:(colorName copyFrom:6 to:7) radix:16.
-	found := true.
+        "/ color in r/g/b hex notation
+        colorName size == 7 ifTrue:[
+            r := Integer readFrom:(colorName copyFrom:2 to:3) radix:16 onError:[nil].
+            g := Integer readFrom:(colorName copyFrom:4 to:5) radix:16 onError:[nil].
+            b := Integer readFrom:(colorName copyFrom:6 to:7) radix:16 onError:[nil].
+        ].
+        (r isNil or:[g isNil or:[b isNil]]) ifTrue:[^ nil].
+        found := true.
     ] ifFalse:[
-	cName := colorName asString.
-	triple := StandardColorValues at:cName ifAbsent:nil.
-	triple isNil ifTrue:[
-	    "/ try lowercase name
-	    cName := cName asLowercase.
-	    triple := StandardColorValues at:cName ifAbsent:nil.
-	    triple isNil ifTrue:[
-		"/ try lowercase without intermixed spaces
-		cName := cName asCollectionOfWords asStringWith:nil.
-		triple := StandardColorValues at:cName ifAbsent:nil.
-	    ].
-	].
-	triple notNil ifTrue:[
-	    r := triple at:1.
-	    g := triple at:2.
-	    b := triple at:3.
-	    found := true.
-	].
+        cName := colorName asString.
+        triple := StandardColorValues at:cName ifAbsent:nil.
+        triple isNil ifTrue:[
+            "/ try lowercase name
+            cName := cName asLowercase.
+            triple := StandardColorValues at:cName ifAbsent:nil.
+            triple isNil ifTrue:[
+                "/ try lowercase without intermixed spaces
+                cName := cName asCollectionOfWords asStringWith:nil.
+                triple := StandardColorValues at:cName ifAbsent:nil.
+            ].
+        ].
+        triple notNil ifTrue:[
+            r := triple at:1.
+            g := triple at:2.
+            b := triple at:3.
+            found := true.
+        ].
     ].
     found ifFalse:[
-	"/ ('WinWorkstation: unknown color: ' , colorName) infoPrintCR.
-	^ nil.
+        "/ ('WinWorkstation: unknown color: ' , colorName) infoPrintCR.
+        ^ nil.
     ].
 
     ^ aBlock value:((r * 256) + r) value:((g * 256) + g) value:((b * 256) + b)
+
+    "Modified (comment): / 14-11-2016 / 14:02:11 / cg"
 !
 
 listOfAvailableColors
@@ -12738,14 +12705,15 @@
 
 	    /* message from another process */
 	    case WM_COPYDATA:
-		DPRINTF((">>> WM_COPYDATA\n"));
+		DPRINTF((">>> WM_COPYDATA"));
 		{
 		    OBJ eventData;
 		    void *data = (void *)(ev->ev_arg1);
-		    int nBytes = ev->ev_arg2;
-
-		    if (ev->ev_arg1) {
-			eventData = __MKBYTEARRAY(data, nBytes);
+		    DPRINTFIF((__debug_WM_COPYDATA__) , (">>> WM_COPYDATA %s (%d)\n", data, ev->ev_arg2));
+
+		    if (data) {
+			eventData = __MKBYTEARRAY(data, (int)ev->ev_arg2);
+			free(data);     // see winEventProcessing()
 		    } else {
 			eventData = nil;
 		    }
@@ -13736,9 +13704,9 @@
 %{
     if (__tmpDC) {
 #ifdef USE_EnumFontFamiliesEx
-	EnumFontFamiliesEx( __tmpDC, NULL, EnumFPTypeFaceProc, (INT)&(typeFaceList));
-#else
-	EnumFontFamilies( __tmpDC, NULL, EnumFPTypeFaceProc, (INT)&(typeFaceList));
+	EnumFontFamiliesEx( __tmpDC, NULL, EnumFPTypeFaceProc, (INT)&typeFaceList);
+#else
+	EnumFontFamilies( __tmpDC, NULL, EnumFPTypeFaceProc, (INT)&typeFaceList);
 #endif
     }
 %}
@@ -13751,9 +13719,9 @@
     if (__isStringLike(typeFace)) {
 	if (__tmpDC) {
 #ifdef USE_EnumFontFamiliesEx
-	    EnumFontFamiliesEx(__tmpDC, __stringVal(typeFace), EnumFontsProc, (INT)&(fontList));
-#else
-	    EnumFontFamilies(__tmpDC, __stringVal(typeFace), EnumFontsProc, (INT)&(fontList));
+	    EnumFontFamiliesEx(__tmpDC, __stringVal(typeFace), EnumFontsProc, (INT)&fontList);
+#else
+	    EnumFontFamilies(__tmpDC, __stringVal(typeFace), EnumFontsProc, (INT)&fontList);
 #endif
 	}
     }
@@ -15596,7 +15564,7 @@
 
     data.hArray = handleArray;
     data.index = 0;
-    EnumDisplayMonitors(NULL, NULL, EnumDisplayMonitorsProc, (INT)(&data));
+    EnumDisplayMonitors(NULL, NULL, EnumDisplayMonitorsProc, (INT)&data);
 %}.
     ^ handleArray
 
@@ -17756,13 +17724,13 @@
 
     ((lpClassName notNil and:[lpClassName isWideString])
      or:[lpWindowName notNil and:[lpWindowName isWideString]]) ifTrue:[
-        ^ self
-            primFindWindowW:(lpClassName isNil
-                                    ifTrue:[nil]
-                                    ifFalse:[lpClassName asUnicode16StringZ])
-            windowName:(lpWindowName isNil
-                                    ifTrue:[nil]
-                                    ifFalse:[lpWindowName asUnicode16StringZ])
+	^ self
+	    primFindWindowW:(lpClassName isNil
+				    ifTrue:[nil]
+				    ifFalse:[lpClassName asUnicode16StringZ])
+	    windowName:(lpWindowName isNil
+				    ifTrue:[nil]
+				    ifFalse:[lpWindowName asUnicode16StringZ])
     ].
     ^ self primFindWindowA:lpClassName windowName:lpWindowName
 
@@ -18275,7 +18243,7 @@
     <apicall: handle "FindWindowW" (pointer pointer) module: "user32.dll" >
 
     "
-     Display primFindWindowW: nil windowName: 'ST/X Launcher' asUnicode16String 
+     Display primFindWindowW: nil windowName: 'ST/X Launcher' asUnicode16String
     "
 !
 
@@ -18646,9 +18614,9 @@
 
     externalBytes := aByteArrayOrString asExternalBytesUnprotected.
     copyDataStruct := CopyDataStructStructure new.
-    copyDataStruct 
-        cbData:externalBytes size;
-        lpData:externalBytes address.
+    copyDataStruct
+	cbData:externalBytes size;
+	lpData:externalBytes address.
     lParam := copyDataStruct asExternalBytesUnprotected.
     ^ self primSendMessage:aWindowId message:messageType wParam:nil lParam:lParam.
 
@@ -19392,7 +19360,7 @@
 
 sizeInBytes
     ExternalAddress pointerSize == 8 ifTrue:[
-        ^ 20.
+	^ 24.
     ].
     ^ 12
 ! !
@@ -19408,46 +19376,46 @@
 
 cbData
     ExternalAddress pointerSize == 8 ifTrue:[
-        ^ self unsignedInt32At: 8 + 1.
+	^ self unsignedInt32At: 8 + 1.
     ].
     ^ self unsignedInt32At: 4 + 1.
 !
 
 cbData: cbData
     ExternalAddress pointerSize == 8 ifTrue:[
-        self unsignedInt32At: 8 + 1  put: cbData.
+	self unsignedInt32At: 8 + 1  put: cbData.
     ] ifFalse:[
-        self unsignedInt32At: 4 + 1  put: cbData.
+	self unsignedInt32At: 4 + 1  put: cbData.
     ].
 !
 
 dwData
     ExternalAddress pointerSize == 8 ifTrue:[
-        ^ self unsignedInt64At: 0 + 1.
+	^ self unsignedInt64At: 0 + 1.
     ].
     ^ self unsignedInt32At: 0 + 1.
 !
 
 dwData: dwData
     ExternalAddress pointerSize == 8 ifTrue:[
-        self unsignedInt64At: 0 + 1 put:dwData.
+	self unsignedInt64At: 0 + 1 put:dwData.
     ] ifFalse:[
-        self unsignedInt32At: 0 + 1 put:dwData.
+	self unsignedInt32At: 0 + 1 put:dwData.
     ].
 !
 
 lpData
     ExternalAddress pointerSize == 8 ifTrue:[
-        ^ self unsignedInt64At: 12 + 1.
+	^ self unsignedInt64At: 16 + 1.
     ].
     ^ self unsignedInt32At: 8 + 1.
 !
 
 lpData: lpData
     ExternalAddress pointerSize == 8 ifTrue:[
-        self unsignedInt64At: 12 + 1  put: lpData.
+	self unsignedInt64At: 16 + 1  put: lpData.
     ] ifFalse:[
-        self unsignedInt32At: 8 + 1  put: lpData.
+	self unsignedInt32At: 8 + 1  put: lpData.
     ].
 ! !