1599 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			1599 lines
		
	
	
		
			54 KiB
		
	
	
	
		
			C
		
	
	
	
| /***********************************************************
 | |
| 
 | |
| Copyright 1987, 1998  The Open Group
 | |
| 
 | |
| Permission to use, copy, modify, distribute, and sell this software and its
 | |
| documentation for any purpose is hereby granted without fee, provided that
 | |
| the above copyright notice appear in all copies and that both that
 | |
| copyright notice and this permission notice appear in supporting
 | |
| documentation.
 | |
| 
 | |
| The above copyright notice and this permission notice shall be included in
 | |
| all copies or substantial portions of the Software.
 | |
| 
 | |
| THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 | |
| IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 | |
| FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
 | |
| OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
 | |
| AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
 | |
| CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 | |
| 
 | |
| Except as contained in this notice, the name of The Open Group shall not be
 | |
| used in advertising or otherwise to promote the sale, use or other dealings
 | |
| in this Software without prior written authorization from The Open Group.
 | |
| 
 | |
| Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
 | |
| 
 | |
|                         All Rights Reserved
 | |
| 
 | |
| Permission to use, copy, modify, and distribute this software and its 
 | |
| documentation for any purpose and without fee is hereby granted, 
 | |
| provided that the above copyright notice appear in all copies and that
 | |
| both that copyright notice and this permission notice appear in 
 | |
| supporting documentation, and that the name of Digital not be
 | |
| used in advertising or publicity pertaining to distribution of the
 | |
| software without specific, written prior permission.  
 | |
| 
 | |
| DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
 | |
| ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
 | |
| DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
 | |
| ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
 | |
| WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
 | |
| ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
 | |
| SOFTWARE.
 | |
| 
 | |
| ******************************************************************/
 | |
| 
 | |
| #ifdef HAVE_DIX_CONFIG_H
 | |
| #include <dix-config.h>
 | |
| #endif
 | |
| 
 | |
| #include <X11/keysym.h>
 | |
| #include "os.h"
 | |
| 
 | |
| typedef struct _builtinColor {
 | |
|     unsigned char red;
 | |
|     unsigned char green;
 | |
|     unsigned char blue;
 | |
|     unsigned short name;
 | |
| } BuiltinColor;
 | |
| 
 | |
| static const char BuiltinColorNames[] = {
 | |
|     "alice blue\0"
 | |
|         "AliceBlue\0"
 | |
|         "antique white\0"
 | |
|         "AntiqueWhite\0"
 | |
|         "AntiqueWhite1\0"
 | |
|         "AntiqueWhite2\0"
 | |
|         "AntiqueWhite3\0"
 | |
|         "AntiqueWhite4\0"
 | |
|         "aquamarine\0"
 | |
|         "aquamarine1\0"
 | |
|         "aquamarine2\0"
 | |
|         "aquamarine3\0"
 | |
|         "aquamarine4\0"
 | |
|         "azure\0"
 | |
|         "azure1\0"
 | |
|         "azure2\0"
 | |
|         "azure3\0"
 | |
|         "azure4\0"
 | |
|         "beige\0"
 | |
|         "bisque\0"
 | |
|         "bisque1\0"
 | |
|         "bisque2\0"
 | |
|         "bisque3\0"
 | |
|         "bisque4\0"
 | |
|         "black\0"
 | |
|         "blanched almond\0"
 | |
|         "BlanchedAlmond\0"
 | |
|         "blue\0"
 | |
|         "blue violet\0"
 | |
|         "blue1\0"
 | |
|         "blue2\0"
 | |
|         "blue3\0"
 | |
|         "blue4\0"
 | |
|         "BlueViolet\0"
 | |
|         "brown\0"
 | |
|         "brown1\0"
 | |
|         "brown2\0"
 | |
|         "brown3\0"
 | |
|         "brown4\0"
 | |
|         "burlywood\0"
 | |
|         "burlywood1\0"
 | |
|         "burlywood2\0"
 | |
|         "burlywood3\0"
 | |
|         "burlywood4\0"
 | |
|         "cadet blue\0"
 | |
|         "CadetBlue\0"
 | |
|         "CadetBlue1\0"
 | |
|         "CadetBlue2\0"
 | |
|         "CadetBlue3\0"
 | |
|         "CadetBlue4\0"
 | |
|         "chartreuse\0"
 | |
|         "chartreuse1\0"
 | |
|         "chartreuse2\0"
 | |
|         "chartreuse3\0"
 | |
|         "chartreuse4\0"
 | |
|         "chocolate\0"
 | |
|         "chocolate1\0"
 | |
|         "chocolate2\0"
 | |
|         "chocolate3\0"
 | |
|         "chocolate4\0"
 | |
|         "coral\0"
 | |
|         "coral1\0"
 | |
|         "coral2\0"
 | |
|         "coral3\0"
 | |
|         "coral4\0"
 | |
|         "cornflower blue\0"
 | |
|         "CornflowerBlue\0"
 | |
|         "cornsilk\0"
 | |
|         "cornsilk1\0"
 | |
|         "cornsilk2\0"
 | |
|         "cornsilk3\0"
 | |
|         "cornsilk4\0"
 | |
|         "cyan\0"
 | |
|         "cyan1\0"
 | |
|         "cyan2\0"
 | |
|         "cyan3\0"
 | |
|         "cyan4\0"
 | |
|         "dark blue\0"
 | |
|         "dark cyan\0"
 | |
|         "dark goldenrod\0"
 | |
|         "dark gray\0"
 | |
|         "dark green\0"
 | |
|         "dark grey\0"
 | |
|         "dark khaki\0"
 | |
|         "dark magenta\0"
 | |
|         "dark olive green\0"
 | |
|         "dark orange\0"
 | |
|         "dark orchid\0"
 | |
|         "dark red\0"
 | |
|         "dark salmon\0"
 | |
|         "dark sea green\0"
 | |
|         "dark slate blue\0"
 | |
|         "dark slate gray\0"
 | |
|         "dark slate grey\0"
 | |
|         "dark turquoise\0"
 | |
|         "dark violet\0"
 | |
|         "DarkBlue\0"
 | |
|         "DarkCyan\0"
 | |
|         "DarkGoldenrod\0"
 | |
|         "DarkGoldenrod1\0"
 | |
|         "DarkGoldenrod2\0"
 | |
|         "DarkGoldenrod3\0"
 | |
|         "DarkGoldenrod4\0"
 | |
|         "DarkGray\0"
 | |
|         "DarkGreen\0"
 | |
|         "DarkGrey\0"
 | |
|         "DarkKhaki\0"
 | |
|         "DarkMagenta\0"
 | |
|         "DarkOliveGreen\0"
 | |
|         "DarkOliveGreen1\0"
 | |
|         "DarkOliveGreen2\0"
 | |
|         "DarkOliveGreen3\0"
 | |
|         "DarkOliveGreen4\0"
 | |
|         "DarkOrange\0"
 | |
|         "DarkOrange1\0"
 | |
|         "DarkOrange2\0"
 | |
|         "DarkOrange3\0"
 | |
|         "DarkOrange4\0"
 | |
|         "DarkOrchid\0"
 | |
|         "DarkOrchid1\0"
 | |
|         "DarkOrchid2\0"
 | |
|         "DarkOrchid3\0"
 | |
|         "DarkOrchid4\0"
 | |
|         "DarkRed\0"
 | |
|         "DarkSalmon\0"
 | |
|         "DarkSeaGreen\0"
 | |
|         "DarkSeaGreen1\0"
 | |
|         "DarkSeaGreen2\0"
 | |
|         "DarkSeaGreen3\0"
 | |
|         "DarkSeaGreen4\0"
 | |
|         "DarkSlateBlue\0"
 | |
|         "DarkSlateGray\0"
 | |
|         "DarkSlateGray1\0"
 | |
|         "DarkSlateGray2\0"
 | |
|         "DarkSlateGray3\0"
 | |
|         "DarkSlateGray4\0"
 | |
|         "DarkSlateGrey\0"
 | |
|         "DarkTurquoise\0"
 | |
|         "DarkViolet\0"
 | |
|         "deep pink\0"
 | |
|         "deep sky blue\0"
 | |
|         "DeepPink\0"
 | |
|         "DeepPink1\0"
 | |
|         "DeepPink2\0"
 | |
|         "DeepPink3\0"
 | |
|         "DeepPink4\0"
 | |
|         "DeepSkyBlue\0"
 | |
|         "DeepSkyBlue1\0"
 | |
|         "DeepSkyBlue2\0"
 | |
|         "DeepSkyBlue3\0"
 | |
|         "DeepSkyBlue4\0"
 | |
|         "dim gray\0"
 | |
|         "dim grey\0"
 | |
|         "DimGray\0"
 | |
|         "DimGrey\0"
 | |
|         "dodger blue\0"
 | |
|         "DodgerBlue\0"
 | |
|         "DodgerBlue1\0"
 | |
|         "DodgerBlue2\0"
 | |
|         "DodgerBlue3\0"
 | |
|         "DodgerBlue4\0"
 | |
|         "firebrick\0"
 | |
|         "firebrick1\0"
 | |
|         "firebrick2\0"
 | |
|         "firebrick3\0"
 | |
|         "firebrick4\0"
 | |
|         "floral white\0"
 | |
|         "FloralWhite\0"
 | |
|         "forest green\0"
 | |
|         "ForestGreen\0"
 | |
|         "gainsboro\0"
 | |
|         "ghost white\0"
 | |
|         "GhostWhite\0"
 | |
|         "gold\0"
 | |
|         "gold1\0"
 | |
|         "gold2\0"
 | |
|         "gold3\0"
 | |
|         "gold4\0"
 | |
|         "goldenrod\0"
 | |
|         "goldenrod1\0"
 | |
|         "goldenrod2\0"
 | |
|         "goldenrod3\0"
 | |
|         "goldenrod4\0"
 | |
|         "gray\0"
 | |
|         "gray0\0"
 | |
|         "gray1\0"
 | |
|         "gray10\0"
 | |
|         "gray100\0"
 | |
|         "gray11\0"
 | |
|         "gray12\0"
 | |
|         "gray13\0"
 | |
|         "gray14\0"
 | |
|         "gray15\0"
 | |
|         "gray16\0"
 | |
|         "gray17\0"
 | |
|         "gray18\0"
 | |
|         "gray19\0"
 | |
|         "gray2\0"
 | |
|         "gray20\0"
 | |
|         "gray21\0"
 | |
|         "gray22\0"
 | |
|         "gray23\0"
 | |
|         "gray24\0"
 | |
|         "gray25\0"
 | |
|         "gray26\0"
 | |
|         "gray27\0"
 | |
|         "gray28\0"
 | |
|         "gray29\0"
 | |
|         "gray3\0"
 | |
|         "gray30\0"
 | |
|         "gray31\0"
 | |
|         "gray32\0"
 | |
|         "gray33\0"
 | |
|         "gray34\0"
 | |
|         "gray35\0"
 | |
|         "gray36\0"
 | |
|         "gray37\0"
 | |
|         "gray38\0"
 | |
|         "gray39\0"
 | |
|         "gray4\0"
 | |
|         "gray40\0"
 | |
|         "gray41\0"
 | |
|         "gray42\0"
 | |
|         "gray43\0"
 | |
|         "gray44\0"
 | |
|         "gray45\0"
 | |
|         "gray46\0"
 | |
|         "gray47\0"
 | |
|         "gray48\0"
 | |
|         "gray49\0"
 | |
|         "gray5\0"
 | |
|         "gray50\0"
 | |
|         "gray51\0"
 | |
|         "gray52\0"
 | |
|         "gray53\0"
 | |
|         "gray54\0"
 | |
|         "gray55\0"
 | |
|         "gray56\0"
 | |
|         "gray57\0"
 | |
|         "gray58\0"
 | |
|         "gray59\0"
 | |
|         "gray6\0"
 | |
|         "gray60\0"
 | |
|         "gray61\0"
 | |
|         "gray62\0"
 | |
|         "gray63\0"
 | |
|         "gray64\0"
 | |
|         "gray65\0"
 | |
|         "gray66\0"
 | |
|         "gray67\0"
 | |
|         "gray68\0"
 | |
|         "gray69\0"
 | |
|         "gray7\0"
 | |
|         "gray70\0"
 | |
|         "gray71\0"
 | |
|         "gray72\0"
 | |
|         "gray73\0"
 | |
|         "gray74\0"
 | |
|         "gray75\0"
 | |
|         "gray76\0"
 | |
|         "gray77\0"
 | |
|         "gray78\0"
 | |
|         "gray79\0"
 | |
|         "gray8\0"
 | |
|         "gray80\0"
 | |
|         "gray81\0"
 | |
|         "gray82\0"
 | |
|         "gray83\0"
 | |
|         "gray84\0"
 | |
|         "gray85\0"
 | |
|         "gray86\0"
 | |
|         "gray87\0"
 | |
|         "gray88\0"
 | |
|         "gray89\0"
 | |
|         "gray9\0"
 | |
|         "gray90\0"
 | |
|         "gray91\0"
 | |
|         "gray92\0"
 | |
|         "gray93\0"
 | |
|         "gray94\0"
 | |
|         "gray95\0"
 | |
|         "gray96\0"
 | |
|         "gray97\0"
 | |
|         "gray98\0"
 | |
|         "gray99\0"
 | |
|         "green\0"
 | |
|         "green yellow\0"
 | |
|         "green1\0"
 | |
|         "green2\0"
 | |
|         "green3\0"
 | |
|         "green4\0"
 | |
|         "GreenYellow\0"
 | |
|         "grey\0"
 | |
|         "grey0\0"
 | |
|         "grey1\0"
 | |
|         "grey10\0"
 | |
|         "grey100\0"
 | |
|         "grey11\0"
 | |
|         "grey12\0"
 | |
|         "grey13\0"
 | |
|         "grey14\0"
 | |
|         "grey15\0"
 | |
|         "grey16\0"
 | |
|         "grey17\0"
 | |
|         "grey18\0"
 | |
|         "grey19\0"
 | |
|         "grey2\0"
 | |
|         "grey20\0"
 | |
|         "grey21\0"
 | |
|         "grey22\0"
 | |
|         "grey23\0"
 | |
|         "grey24\0"
 | |
|         "grey25\0"
 | |
|         "grey26\0"
 | |
|         "grey27\0"
 | |
|         "grey28\0"
 | |
|         "grey29\0"
 | |
|         "grey3\0"
 | |
|         "grey30\0"
 | |
|         "grey31\0"
 | |
|         "grey32\0"
 | |
|         "grey33\0"
 | |
|         "grey34\0"
 | |
|         "grey35\0"
 | |
|         "grey36\0"
 | |
|         "grey37\0"
 | |
|         "grey38\0"
 | |
|         "grey39\0"
 | |
|         "grey4\0"
 | |
|         "grey40\0"
 | |
|         "grey41\0"
 | |
|         "grey42\0"
 | |
|         "grey43\0"
 | |
|         "grey44\0"
 | |
|         "grey45\0"
 | |
|         "grey46\0"
 | |
|         "grey47\0"
 | |
|         "grey48\0"
 | |
|         "grey49\0"
 | |
|         "grey5\0"
 | |
|         "grey50\0"
 | |
|         "grey51\0"
 | |
|         "grey52\0"
 | |
|         "grey53\0"
 | |
|         "grey54\0"
 | |
|         "grey55\0"
 | |
|         "grey56\0"
 | |
|         "grey57\0"
 | |
|         "grey58\0"
 | |
|         "grey59\0"
 | |
|         "grey6\0"
 | |
|         "grey60\0"
 | |
|         "grey61\0"
 | |
|         "grey62\0"
 | |
|         "grey63\0"
 | |
|         "grey64\0"
 | |
|         "grey65\0"
 | |
|         "grey66\0"
 | |
|         "grey67\0"
 | |
|         "grey68\0"
 | |
|         "grey69\0"
 | |
|         "grey7\0"
 | |
|         "grey70\0"
 | |
|         "grey71\0"
 | |
|         "grey72\0"
 | |
|         "grey73\0"
 | |
|         "grey74\0"
 | |
|         "grey75\0"
 | |
|         "grey76\0"
 | |
|         "grey77\0"
 | |
|         "grey78\0"
 | |
|         "grey79\0"
 | |
|         "grey8\0"
 | |
|         "grey80\0"
 | |
|         "grey81\0"
 | |
|         "grey82\0"
 | |
|         "grey83\0"
 | |
|         "grey84\0"
 | |
|         "grey85\0"
 | |
|         "grey86\0"
 | |
|         "grey87\0"
 | |
|         "grey88\0"
 | |
|         "grey89\0"
 | |
|         "grey9\0"
 | |
|         "grey90\0"
 | |
|         "grey91\0"
 | |
|         "grey92\0"
 | |
|         "grey93\0"
 | |
|         "grey94\0"
 | |
|         "grey95\0"
 | |
|         "grey96\0"
 | |
|         "grey97\0"
 | |
|         "grey98\0"
 | |
|         "grey99\0"
 | |
|         "honeydew\0"
 | |
|         "honeydew1\0"
 | |
|         "honeydew2\0"
 | |
|         "honeydew3\0"
 | |
|         "honeydew4\0"
 | |
|         "hot pink\0"
 | |
|         "HotPink\0"
 | |
|         "HotPink1\0"
 | |
|         "HotPink2\0"
 | |
|         "HotPink3\0"
 | |
|         "HotPink4\0"
 | |
|         "indian red\0"
 | |
|         "IndianRed\0"
 | |
|         "IndianRed1\0"
 | |
|         "IndianRed2\0"
 | |
|         "IndianRed3\0"
 | |
|         "IndianRed4\0"
 | |
|         "ivory\0"
 | |
|         "ivory1\0"
 | |
|         "ivory2\0"
 | |
|         "ivory3\0"
 | |
|         "ivory4\0"
 | |
|         "khaki\0"
 | |
|         "khaki1\0"
 | |
|         "khaki2\0"
 | |
|         "khaki3\0"
 | |
|         "khaki4\0"
 | |
|         "lavender\0"
 | |
|         "lavender blush\0"
 | |
|         "LavenderBlush\0"
 | |
|         "LavenderBlush1\0"
 | |
|         "LavenderBlush2\0"
 | |
|         "LavenderBlush3\0"
 | |
|         "LavenderBlush4\0"
 | |
|         "lawn green\0"
 | |
|         "LawnGreen\0"
 | |
|         "lemon chiffon\0"
 | |
|         "LemonChiffon\0"
 | |
|         "LemonChiffon1\0"
 | |
|         "LemonChiffon2\0"
 | |
|         "LemonChiffon3\0"
 | |
|         "LemonChiffon4\0"
 | |
|         "light blue\0"
 | |
|         "light coral\0"
 | |
|         "light cyan\0"
 | |
|         "light goldenrod\0"
 | |
|         "light goldenrod yellow\0"
 | |
|         "light gray\0"
 | |
|         "light green\0"
 | |
|         "light grey\0"
 | |
|         "light pink\0"
 | |
|         "light salmon\0"
 | |
|         "light sea green\0"
 | |
|         "light sky blue\0"
 | |
|         "light slate blue\0"
 | |
|         "light slate gray\0"
 | |
|         "light slate grey\0"
 | |
|         "light steel blue\0"
 | |
|         "light yellow\0"
 | |
|         "LightBlue\0"
 | |
|         "LightBlue1\0"
 | |
|         "LightBlue2\0"
 | |
|         "LightBlue3\0"
 | |
|         "LightBlue4\0"
 | |
|         "LightCoral\0"
 | |
|         "LightCyan\0"
 | |
|         "LightCyan1\0"
 | |
|         "LightCyan2\0"
 | |
|         "LightCyan3\0"
 | |
|         "LightCyan4\0"
 | |
|         "LightGoldenrod\0"
 | |
|         "LightGoldenrod1\0"
 | |
|         "LightGoldenrod2\0"
 | |
|         "LightGoldenrod3\0"
 | |
|         "LightGoldenrod4\0"
 | |
|         "LightGoldenrodYellow\0"
 | |
|         "LightGray\0"
 | |
|         "LightGreen\0"
 | |
|         "LightGrey\0"
 | |
|         "LightPink\0"
 | |
|         "LightPink1\0"
 | |
|         "LightPink2\0"
 | |
|         "LightPink3\0"
 | |
|         "LightPink4\0"
 | |
|         "LightSalmon\0"
 | |
|         "LightSalmon1\0"
 | |
|         "LightSalmon2\0"
 | |
|         "LightSalmon3\0"
 | |
|         "LightSalmon4\0"
 | |
|         "LightSeaGreen\0"
 | |
|         "LightSkyBlue\0"
 | |
|         "LightSkyBlue1\0"
 | |
|         "LightSkyBlue2\0"
 | |
|         "LightSkyBlue3\0"
 | |
|         "LightSkyBlue4\0"
 | |
|         "LightSlateBlue\0"
 | |
|         "LightSlateGray\0"
 | |
|         "LightSlateGrey\0"
 | |
|         "LightSteelBlue\0"
 | |
|         "LightSteelBlue1\0"
 | |
|         "LightSteelBlue2\0"
 | |
|         "LightSteelBlue3\0"
 | |
|         "LightSteelBlue4\0"
 | |
|         "LightYellow\0"
 | |
|         "LightYellow1\0"
 | |
|         "LightYellow2\0"
 | |
|         "LightYellow3\0"
 | |
|         "LightYellow4\0"
 | |
|         "lime green\0"
 | |
|         "LimeGreen\0"
 | |
|         "linen\0"
 | |
|         "magenta\0"
 | |
|         "magenta1\0"
 | |
|         "magenta2\0"
 | |
|         "magenta3\0"
 | |
|         "magenta4\0"
 | |
|         "maroon\0"
 | |
|         "maroon1\0"
 | |
|         "maroon2\0"
 | |
|         "maroon3\0"
 | |
|         "maroon4\0"
 | |
|         "medium aquamarine\0"
 | |
|         "medium blue\0"
 | |
|         "medium orchid\0"
 | |
|         "medium purple\0"
 | |
|         "medium sea green\0"
 | |
|         "medium slate blue\0"
 | |
|         "medium spring green\0"
 | |
|         "medium turquoise\0"
 | |
|         "medium violet red\0"
 | |
|         "MediumAquamarine\0"
 | |
|         "MediumBlue\0"
 | |
|         "MediumOrchid\0"
 | |
|         "MediumOrchid1\0"
 | |
|         "MediumOrchid2\0"
 | |
|         "MediumOrchid3\0"
 | |
|         "MediumOrchid4\0"
 | |
|         "MediumPurple\0"
 | |
|         "MediumPurple1\0"
 | |
|         "MediumPurple2\0"
 | |
|         "MediumPurple3\0"
 | |
|         "MediumPurple4\0"
 | |
|         "MediumSeaGreen\0"
 | |
|         "MediumSlateBlue\0"
 | |
|         "MediumSpringGreen\0"
 | |
|         "MediumTurquoise\0"
 | |
|         "MediumVioletRed\0"
 | |
|         "midnight blue\0"
 | |
|         "MidnightBlue\0"
 | |
|         "mint cream\0"
 | |
|         "MintCream\0"
 | |
|         "misty rose\0"
 | |
|         "MistyRose\0"
 | |
|         "MistyRose1\0"
 | |
|         "MistyRose2\0"
 | |
|         "MistyRose3\0"
 | |
|         "MistyRose4\0"
 | |
|         "moccasin\0"
 | |
|         "navajo white\0"
 | |
|         "NavajoWhite\0"
 | |
|         "NavajoWhite1\0"
 | |
|         "NavajoWhite2\0"
 | |
|         "NavajoWhite3\0"
 | |
|         "NavajoWhite4\0"
 | |
|         "navy\0"
 | |
|         "navy blue\0"
 | |
|         "NavyBlue\0"
 | |
|         "old lace\0"
 | |
|         "OldLace\0"
 | |
|         "olive drab\0"
 | |
|         "OliveDrab\0"
 | |
|         "OliveDrab1\0"
 | |
|         "OliveDrab2\0"
 | |
|         "OliveDrab3\0"
 | |
|         "OliveDrab4\0"
 | |
|         "orange\0"
 | |
|         "orange red\0"
 | |
|         "orange1\0"
 | |
|         "orange2\0"
 | |
|         "orange3\0"
 | |
|         "orange4\0"
 | |
|         "OrangeRed\0"
 | |
|         "OrangeRed1\0"
 | |
|         "OrangeRed2\0"
 | |
|         "OrangeRed3\0"
 | |
|         "OrangeRed4\0"
 | |
|         "orchid\0"
 | |
|         "orchid1\0"
 | |
|         "orchid2\0"
 | |
|         "orchid3\0"
 | |
|         "orchid4\0"
 | |
|         "pale goldenrod\0"
 | |
|         "pale green\0"
 | |
|         "pale turquoise\0"
 | |
|         "pale violet red\0"
 | |
|         "PaleGoldenrod\0"
 | |
|         "PaleGreen\0"
 | |
|         "PaleGreen1\0"
 | |
|         "PaleGreen2\0"
 | |
|         "PaleGreen3\0"
 | |
|         "PaleGreen4\0"
 | |
|         "PaleTurquoise\0"
 | |
|         "PaleTurquoise1\0"
 | |
|         "PaleTurquoise2\0"
 | |
|         "PaleTurquoise3\0"
 | |
|         "PaleTurquoise4\0"
 | |
|         "PaleVioletRed\0"
 | |
|         "PaleVioletRed1\0"
 | |
|         "PaleVioletRed2\0"
 | |
|         "PaleVioletRed3\0"
 | |
|         "PaleVioletRed4\0"
 | |
|         "papaya whip\0"
 | |
|         "PapayaWhip\0"
 | |
|         "peach puff\0"
 | |
|         "PeachPuff\0"
 | |
|         "PeachPuff1\0"
 | |
|         "PeachPuff2\0"
 | |
|         "PeachPuff3\0"
 | |
|         "PeachPuff4\0"
 | |
|         "peru\0"
 | |
|         "pink\0"
 | |
|         "pink1\0"
 | |
|         "pink2\0"
 | |
|         "pink3\0"
 | |
|         "pink4\0"
 | |
|         "plum\0"
 | |
|         "plum1\0"
 | |
|         "plum2\0"
 | |
|         "plum3\0"
 | |
|         "plum4\0"
 | |
|         "powder blue\0"
 | |
|         "PowderBlue\0"
 | |
|         "purple\0"
 | |
|         "purple1\0"
 | |
|         "purple2\0"
 | |
|         "purple3\0"
 | |
|         "purple4\0"
 | |
|         "red\0"
 | |
|         "red1\0"
 | |
|         "red2\0"
 | |
|         "red3\0"
 | |
|         "red4\0"
 | |
|         "rosy brown\0"
 | |
|         "RosyBrown\0"
 | |
|         "RosyBrown1\0"
 | |
|         "RosyBrown2\0"
 | |
|         "RosyBrown3\0"
 | |
|         "RosyBrown4\0"
 | |
|         "royal blue\0"
 | |
|         "RoyalBlue\0"
 | |
|         "RoyalBlue1\0"
 | |
|         "RoyalBlue2\0"
 | |
|         "RoyalBlue3\0"
 | |
|         "RoyalBlue4\0"
 | |
|         "saddle brown\0"
 | |
|         "SaddleBrown\0"
 | |
|         "salmon\0"
 | |
|         "salmon1\0"
 | |
|         "salmon2\0"
 | |
|         "salmon3\0"
 | |
|         "salmon4\0"
 | |
|         "sandy brown\0"
 | |
|         "SandyBrown\0"
 | |
|         "sea green\0"
 | |
|         "SeaGreen\0"
 | |
|         "SeaGreen1\0"
 | |
|         "SeaGreen2\0"
 | |
|         "SeaGreen3\0"
 | |
|         "SeaGreen4\0"
 | |
|         "seashell\0"
 | |
|         "seashell1\0"
 | |
|         "seashell2\0"
 | |
|         "seashell3\0"
 | |
|         "seashell4\0"
 | |
|         "sienna\0"
 | |
|         "sienna1\0"
 | |
|         "sienna2\0"
 | |
|         "sienna3\0"
 | |
|         "sienna4\0"
 | |
|         "sky blue\0"
 | |
|         "SkyBlue\0"
 | |
|         "SkyBlue1\0"
 | |
|         "SkyBlue2\0"
 | |
|         "SkyBlue3\0"
 | |
|         "SkyBlue4\0"
 | |
|         "slate blue\0"
 | |
|         "slate gray\0"
 | |
|         "slate grey\0"
 | |
|         "SlateBlue\0"
 | |
|         "SlateBlue1\0"
 | |
|         "SlateBlue2\0"
 | |
|         "SlateBlue3\0"
 | |
|         "SlateBlue4\0"
 | |
|         "SlateGray\0"
 | |
|         "SlateGray1\0"
 | |
|         "SlateGray2\0"
 | |
|         "SlateGray3\0"
 | |
|         "SlateGray4\0"
 | |
|         "SlateGrey\0"
 | |
|         "snow\0"
 | |
|         "snow1\0"
 | |
|         "snow2\0"
 | |
|         "snow3\0"
 | |
|         "snow4\0"
 | |
|         "spring green\0"
 | |
|         "SpringGreen\0"
 | |
|         "SpringGreen1\0"
 | |
|         "SpringGreen2\0"
 | |
|         "SpringGreen3\0"
 | |
|         "SpringGreen4\0"
 | |
|         "steel blue\0"
 | |
|         "SteelBlue\0"
 | |
|         "SteelBlue1\0"
 | |
|         "SteelBlue2\0"
 | |
|         "SteelBlue3\0"
 | |
|         "SteelBlue4\0"
 | |
|         "tan\0"
 | |
|         "tan1\0"
 | |
|         "tan2\0"
 | |
|         "tan3\0"
 | |
|         "tan4\0"
 | |
|         "thistle\0"
 | |
|         "thistle1\0"
 | |
|         "thistle2\0"
 | |
|         "thistle3\0"
 | |
|         "thistle4\0"
 | |
|         "tomato\0"
 | |
|         "tomato1\0"
 | |
|         "tomato2\0"
 | |
|         "tomato3\0"
 | |
|         "tomato4\0"
 | |
|         "turquoise\0"
 | |
|         "turquoise1\0"
 | |
|         "turquoise2\0"
 | |
|         "turquoise3\0"
 | |
|         "turquoise4\0"
 | |
|         "violet\0"
 | |
|         "violet red\0"
 | |
|         "VioletRed\0"
 | |
|         "VioletRed1\0"
 | |
|         "VioletRed2\0"
 | |
|         "VioletRed3\0"
 | |
|         "VioletRed4\0"
 | |
|         "wheat\0"
 | |
|         "wheat1\0"
 | |
|         "wheat2\0"
 | |
|         "wheat3\0"
 | |
|         "wheat4\0"
 | |
|         "white\0"
 | |
|         "white smoke\0"
 | |
|         "WhiteSmoke\0"
 | |
|         "yellow\0"
 | |
|         "yellow green\0"
 | |
|         "yellow1\0" "yellow2\0" "yellow3\0" "yellow4\0" "YellowGreen\0"
 | |
| };
 | |
| 
 | |
| static const BuiltinColor BuiltinColors[] = {
 | |
|     {240, 248, 255, 0},         /* alice blue */
 | |
|     {240, 248, 255, 11},        /* AliceBlue */
 | |
|     {250, 235, 215, 21},        /* antique white */
 | |
|     {250, 235, 215, 35},        /* AntiqueWhite */
 | |
|     {255, 239, 219, 48},        /* AntiqueWhite1 */
 | |
|     {238, 223, 204, 62},        /* AntiqueWhite2 */
 | |
|     {205, 192, 176, 76},        /* AntiqueWhite3 */
 | |
|     {139, 131, 120, 90},        /* AntiqueWhite4 */
 | |
|     {127, 255, 212, 104},       /* aquamarine */
 | |
|     {127, 255, 212, 115},       /* aquamarine1 */
 | |
|     {118, 238, 198, 127},       /* aquamarine2 */
 | |
|     {102, 205, 170, 139},       /* aquamarine3 */
 | |
|     {69, 139, 116, 151},        /* aquamarine4 */
 | |
|     {240, 255, 255, 163},       /* azure */
 | |
|     {240, 255, 255, 169},       /* azure1 */
 | |
|     {224, 238, 238, 176},       /* azure2 */
 | |
|     {193, 205, 205, 183},       /* azure3 */
 | |
|     {131, 139, 139, 190},       /* azure4 */
 | |
|     {245, 245, 220, 197},       /* beige */
 | |
|     {255, 228, 196, 203},       /* bisque */
 | |
|     {255, 228, 196, 210},       /* bisque1 */
 | |
|     {238, 213, 183, 218},       /* bisque2 */
 | |
|     {205, 183, 158, 226},       /* bisque3 */
 | |
|     {139, 125, 107, 234},       /* bisque4 */
 | |
|     {0, 0, 0, 242},             /* black */
 | |
|     {255, 235, 205, 248},       /* blanched almond */
 | |
|     {255, 235, 205, 264},       /* BlanchedAlmond */
 | |
|     {0, 0, 255, 279},           /* blue */
 | |
|     {138, 43, 226, 284},        /* blue violet */
 | |
|     {0, 0, 255, 296},           /* blue1 */
 | |
|     {0, 0, 238, 302},           /* blue2 */
 | |
|     {0, 0, 205, 308},           /* blue3 */
 | |
|     {0, 0, 139, 314},           /* blue4 */
 | |
|     {138, 43, 226, 320},        /* BlueViolet */
 | |
|     {165, 42, 42, 331},         /* brown */
 | |
|     {255, 64, 64, 337},         /* brown1 */
 | |
|     {238, 59, 59, 344},         /* brown2 */
 | |
|     {205, 51, 51, 351},         /* brown3 */
 | |
|     {139, 35, 35, 358},         /* brown4 */
 | |
|     {222, 184, 135, 365},       /* burlywood */
 | |
|     {255, 211, 155, 375},       /* burlywood1 */
 | |
|     {238, 197, 145, 386},       /* burlywood2 */
 | |
|     {205, 170, 125, 397},       /* burlywood3 */
 | |
|     {139, 115, 85, 408},        /* burlywood4 */
 | |
|     {95, 158, 160, 419},        /* cadet blue */
 | |
|     {95, 158, 160, 430},        /* CadetBlue */
 | |
|     {152, 245, 255, 440},       /* CadetBlue1 */
 | |
|     {142, 229, 238, 451},       /* CadetBlue2 */
 | |
|     {122, 197, 205, 462},       /* CadetBlue3 */
 | |
|     {83, 134, 139, 473},        /* CadetBlue4 */
 | |
|     {127, 255, 0, 484},         /* chartreuse */
 | |
|     {127, 255, 0, 495},         /* chartreuse1 */
 | |
|     {118, 238, 0, 507},         /* chartreuse2 */
 | |
|     {102, 205, 0, 519},         /* chartreuse3 */
 | |
|     {69, 139, 0, 531},          /* chartreuse4 */
 | |
|     {210, 105, 30, 543},        /* chocolate */
 | |
|     {255, 127, 36, 553},        /* chocolate1 */
 | |
|     {238, 118, 33, 564},        /* chocolate2 */
 | |
|     {205, 102, 29, 575},        /* chocolate3 */
 | |
|     {139, 69, 19, 586},         /* chocolate4 */
 | |
|     {255, 127, 80, 597},        /* coral */
 | |
|     {255, 114, 86, 603},        /* coral1 */
 | |
|     {238, 106, 80, 610},        /* coral2 */
 | |
|     {205, 91, 69, 617},         /* coral3 */
 | |
|     {139, 62, 47, 624},         /* coral4 */
 | |
|     {100, 149, 237, 631},       /* cornflower blue */
 | |
|     {100, 149, 237, 647},       /* CornflowerBlue */
 | |
|     {255, 248, 220, 662},       /* cornsilk */
 | |
|     {255, 248, 220, 671},       /* cornsilk1 */
 | |
|     {238, 232, 205, 681},       /* cornsilk2 */
 | |
|     {205, 200, 177, 691},       /* cornsilk3 */
 | |
|     {139, 136, 120, 701},       /* cornsilk4 */
 | |
|     {0, 255, 255, 711},         /* cyan */
 | |
|     {0, 255, 255, 716},         /* cyan1 */
 | |
|     {0, 238, 238, 722},         /* cyan2 */
 | |
|     {0, 205, 205, 728},         /* cyan3 */
 | |
|     {0, 139, 139, 734},         /* cyan4 */
 | |
|     {0, 0, 139, 740},           /* dark blue */
 | |
|     {0, 139, 139, 750},         /* dark cyan */
 | |
|     {184, 134, 11, 760},        /* dark goldenrod */
 | |
|     {169, 169, 169, 775},       /* dark gray */
 | |
|     {0, 100, 0, 785},           /* dark green */
 | |
|     {169, 169, 169, 796},       /* dark grey */
 | |
|     {189, 183, 107, 806},       /* dark khaki */
 | |
|     {139, 0, 139, 817},         /* dark magenta */
 | |
|     {85, 107, 47, 830},         /* dark olive green */
 | |
|     {255, 140, 0, 847},         /* dark orange */
 | |
|     {153, 50, 204, 859},        /* dark orchid */
 | |
|     {139, 0, 0, 871},           /* dark red */
 | |
|     {233, 150, 122, 880},       /* dark salmon */
 | |
|     {143, 188, 143, 892},       /* dark sea green */
 | |
|     {72, 61, 139, 907},         /* dark slate blue */
 | |
|     {47, 79, 79, 923},          /* dark slate gray */
 | |
|     {47, 79, 79, 939},          /* dark slate grey */
 | |
|     {0, 206, 209, 955},         /* dark turquoise */
 | |
|     {148, 0, 211, 970},         /* dark violet */
 | |
|     {0, 0, 139, 982},           /* DarkBlue */
 | |
|     {0, 139, 139, 991},         /* DarkCyan */
 | |
|     {184, 134, 11, 1000},       /* DarkGoldenrod */
 | |
|     {255, 185, 15, 1014},       /* DarkGoldenrod1 */
 | |
|     {238, 173, 14, 1029},       /* DarkGoldenrod2 */
 | |
|     {205, 149, 12, 1044},       /* DarkGoldenrod3 */
 | |
|     {139, 101, 8, 1059},        /* DarkGoldenrod4 */
 | |
|     {169, 169, 169, 1074},      /* DarkGray */
 | |
|     {0, 100, 0, 1083},          /* DarkGreen */
 | |
|     {169, 169, 169, 1093},      /* DarkGrey */
 | |
|     {189, 183, 107, 1102},      /* DarkKhaki */
 | |
|     {139, 0, 139, 1112},        /* DarkMagenta */
 | |
|     {85, 107, 47, 1124},        /* DarkOliveGreen */
 | |
|     {202, 255, 112, 1139},      /* DarkOliveGreen1 */
 | |
|     {188, 238, 104, 1155},      /* DarkOliveGreen2 */
 | |
|     {162, 205, 90, 1171},       /* DarkOliveGreen3 */
 | |
|     {110, 139, 61, 1187},       /* DarkOliveGreen4 */
 | |
|     {255, 140, 0, 1203},        /* DarkOrange */
 | |
|     {255, 127, 0, 1214},        /* DarkOrange1 */
 | |
|     {238, 118, 0, 1226},        /* DarkOrange2 */
 | |
|     {205, 102, 0, 1238},        /* DarkOrange3 */
 | |
|     {139, 69, 0, 1250},         /* DarkOrange4 */
 | |
|     {153, 50, 204, 1262},       /* DarkOrchid */
 | |
|     {191, 62, 255, 1273},       /* DarkOrchid1 */
 | |
|     {178, 58, 238, 1285},       /* DarkOrchid2 */
 | |
|     {154, 50, 205, 1297},       /* DarkOrchid3 */
 | |
|     {104, 34, 139, 1309},       /* DarkOrchid4 */
 | |
|     {139, 0, 0, 1321},          /* DarkRed */
 | |
|     {233, 150, 122, 1329},      /* DarkSalmon */
 | |
|     {143, 188, 143, 1340},      /* DarkSeaGreen */
 | |
|     {193, 255, 193, 1353},      /* DarkSeaGreen1 */
 | |
|     {180, 238, 180, 1367},      /* DarkSeaGreen2 */
 | |
|     {155, 205, 155, 1381},      /* DarkSeaGreen3 */
 | |
|     {105, 139, 105, 1395},      /* DarkSeaGreen4 */
 | |
|     {72, 61, 139, 1409},        /* DarkSlateBlue */
 | |
|     {47, 79, 79, 1423},         /* DarkSlateGray */
 | |
|     {151, 255, 255, 1437},      /* DarkSlateGray1 */
 | |
|     {141, 238, 238, 1452},      /* DarkSlateGray2 */
 | |
|     {121, 205, 205, 1467},      /* DarkSlateGray3 */
 | |
|     {82, 139, 139, 1482},       /* DarkSlateGray4 */
 | |
|     {47, 79, 79, 1497},         /* DarkSlateGrey */
 | |
|     {0, 206, 209, 1511},        /* DarkTurquoise */
 | |
|     {148, 0, 211, 1525},        /* DarkViolet */
 | |
|     {255, 20, 147, 1536},       /* deep pink */
 | |
|     {0, 191, 255, 1546},        /* deep sky blue */
 | |
|     {255, 20, 147, 1560},       /* DeepPink */
 | |
|     {255, 20, 147, 1569},       /* DeepPink1 */
 | |
|     {238, 18, 137, 1579},       /* DeepPink2 */
 | |
|     {205, 16, 118, 1589},       /* DeepPink3 */
 | |
|     {139, 10, 80, 1599},        /* DeepPink4 */
 | |
|     {0, 191, 255, 1609},        /* DeepSkyBlue */
 | |
|     {0, 191, 255, 1621},        /* DeepSkyBlue1 */
 | |
|     {0, 178, 238, 1634},        /* DeepSkyBlue2 */
 | |
|     {0, 154, 205, 1647},        /* DeepSkyBlue3 */
 | |
|     {0, 104, 139, 1660},        /* DeepSkyBlue4 */
 | |
|     {105, 105, 105, 1673},      /* dim gray */
 | |
|     {105, 105, 105, 1682},      /* dim grey */
 | |
|     {105, 105, 105, 1691},      /* DimGray */
 | |
|     {105, 105, 105, 1699},      /* DimGrey */
 | |
|     {30, 144, 255, 1707},       /* dodger blue */
 | |
|     {30, 144, 255, 1719},       /* DodgerBlue */
 | |
|     {30, 144, 255, 1730},       /* DodgerBlue1 */
 | |
|     {28, 134, 238, 1742},       /* DodgerBlue2 */
 | |
|     {24, 116, 205, 1754},       /* DodgerBlue3 */
 | |
|     {16, 78, 139, 1766},        /* DodgerBlue4 */
 | |
|     {178, 34, 34, 1778},        /* firebrick */
 | |
|     {255, 48, 48, 1788},        /* firebrick1 */
 | |
|     {238, 44, 44, 1799},        /* firebrick2 */
 | |
|     {205, 38, 38, 1810},        /* firebrick3 */
 | |
|     {139, 26, 26, 1821},        /* firebrick4 */
 | |
|     {255, 250, 240, 1832},      /* floral white */
 | |
|     {255, 250, 240, 1845},      /* FloralWhite */
 | |
|     {34, 139, 34, 1857},        /* forest green */
 | |
|     {34, 139, 34, 1870},        /* ForestGreen */
 | |
|     {220, 220, 220, 1882},      /* gainsboro */
 | |
|     {248, 248, 255, 1892},      /* ghost white */
 | |
|     {248, 248, 255, 1904},      /* GhostWhite */
 | |
|     {255, 215, 0, 1915},        /* gold */
 | |
|     {255, 215, 0, 1920},        /* gold1 */
 | |
|     {238, 201, 0, 1926},        /* gold2 */
 | |
|     {205, 173, 0, 1932},        /* gold3 */
 | |
|     {139, 117, 0, 1938},        /* gold4 */
 | |
|     {218, 165, 32, 1944},       /* goldenrod */
 | |
|     {255, 193, 37, 1954},       /* goldenrod1 */
 | |
|     {238, 180, 34, 1965},       /* goldenrod2 */
 | |
|     {205, 155, 29, 1976},       /* goldenrod3 */
 | |
|     {139, 105, 20, 1987},       /* goldenrod4 */
 | |
|     {190, 190, 190, 1998},      /* gray */
 | |
|     {0, 0, 0, 2003},            /* gray0 */
 | |
|     {3, 3, 3, 2009},            /* gray1 */
 | |
|     {26, 26, 26, 2015},         /* gray10 */
 | |
|     {255, 255, 255, 2022},      /* gray100 */
 | |
|     {28, 28, 28, 2030},         /* gray11 */
 | |
|     {31, 31, 31, 2037},         /* gray12 */
 | |
|     {33, 33, 33, 2044},         /* gray13 */
 | |
|     {36, 36, 36, 2051},         /* gray14 */
 | |
|     {38, 38, 38, 2058},         /* gray15 */
 | |
|     {41, 41, 41, 2065},         /* gray16 */
 | |
|     {43, 43, 43, 2072},         /* gray17 */
 | |
|     {46, 46, 46, 2079},         /* gray18 */
 | |
|     {48, 48, 48, 2086},         /* gray19 */
 | |
|     {5, 5, 5, 2093},            /* gray2 */
 | |
|     {51, 51, 51, 2099},         /* gray20 */
 | |
|     {54, 54, 54, 2106},         /* gray21 */
 | |
|     {56, 56, 56, 2113},         /* gray22 */
 | |
|     {59, 59, 59, 2120},         /* gray23 */
 | |
|     {61, 61, 61, 2127},         /* gray24 */
 | |
|     {64, 64, 64, 2134},         /* gray25 */
 | |
|     {66, 66, 66, 2141},         /* gray26 */
 | |
|     {69, 69, 69, 2148},         /* gray27 */
 | |
|     {71, 71, 71, 2155},         /* gray28 */
 | |
|     {74, 74, 74, 2162},         /* gray29 */
 | |
|     {8, 8, 8, 2169},            /* gray3 */
 | |
|     {77, 77, 77, 2175},         /* gray30 */
 | |
|     {79, 79, 79, 2182},         /* gray31 */
 | |
|     {82, 82, 82, 2189},         /* gray32 */
 | |
|     {84, 84, 84, 2196},         /* gray33 */
 | |
|     {87, 87, 87, 2203},         /* gray34 */
 | |
|     {89, 89, 89, 2210},         /* gray35 */
 | |
|     {92, 92, 92, 2217},         /* gray36 */
 | |
|     {94, 94, 94, 2224},         /* gray37 */
 | |
|     {97, 97, 97, 2231},         /* gray38 */
 | |
|     {99, 99, 99, 2238},         /* gray39 */
 | |
|     {10, 10, 10, 2245},         /* gray4 */
 | |
|     {102, 102, 102, 2251},      /* gray40 */
 | |
|     {105, 105, 105, 2258},      /* gray41 */
 | |
|     {107, 107, 107, 2265},      /* gray42 */
 | |
|     {110, 110, 110, 2272},      /* gray43 */
 | |
|     {112, 112, 112, 2279},      /* gray44 */
 | |
|     {115, 115, 115, 2286},      /* gray45 */
 | |
|     {117, 117, 117, 2293},      /* gray46 */
 | |
|     {120, 120, 120, 2300},      /* gray47 */
 | |
|     {122, 122, 122, 2307},      /* gray48 */
 | |
|     {125, 125, 125, 2314},      /* gray49 */
 | |
|     {13, 13, 13, 2321},         /* gray5 */
 | |
|     {127, 127, 127, 2327},      /* gray50 */
 | |
|     {130, 130, 130, 2334},      /* gray51 */
 | |
|     {133, 133, 133, 2341},      /* gray52 */
 | |
|     {135, 135, 135, 2348},      /* gray53 */
 | |
|     {138, 138, 138, 2355},      /* gray54 */
 | |
|     {140, 140, 140, 2362},      /* gray55 */
 | |
|     {143, 143, 143, 2369},      /* gray56 */
 | |
|     {145, 145, 145, 2376},      /* gray57 */
 | |
|     {148, 148, 148, 2383},      /* gray58 */
 | |
|     {150, 150, 150, 2390},      /* gray59 */
 | |
|     {15, 15, 15, 2397},         /* gray6 */
 | |
|     {153, 153, 153, 2403},      /* gray60 */
 | |
|     {156, 156, 156, 2410},      /* gray61 */
 | |
|     {158, 158, 158, 2417},      /* gray62 */
 | |
|     {161, 161, 161, 2424},      /* gray63 */
 | |
|     {163, 163, 163, 2431},      /* gray64 */
 | |
|     {166, 166, 166, 2438},      /* gray65 */
 | |
|     {168, 168, 168, 2445},      /* gray66 */
 | |
|     {171, 171, 171, 2452},      /* gray67 */
 | |
|     {173, 173, 173, 2459},      /* gray68 */
 | |
|     {176, 176, 176, 2466},      /* gray69 */
 | |
|     {18, 18, 18, 2473},         /* gray7 */
 | |
|     {179, 179, 179, 2479},      /* gray70 */
 | |
|     {181, 181, 181, 2486},      /* gray71 */
 | |
|     {184, 184, 184, 2493},      /* gray72 */
 | |
|     {186, 186, 186, 2500},      /* gray73 */
 | |
|     {189, 189, 189, 2507},      /* gray74 */
 | |
|     {191, 191, 191, 2514},      /* gray75 */
 | |
|     {194, 194, 194, 2521},      /* gray76 */
 | |
|     {196, 196, 196, 2528},      /* gray77 */
 | |
|     {199, 199, 199, 2535},      /* gray78 */
 | |
|     {201, 201, 201, 2542},      /* gray79 */
 | |
|     {20, 20, 20, 2549},         /* gray8 */
 | |
|     {204, 204, 204, 2555},      /* gray80 */
 | |
|     {207, 207, 207, 2562},      /* gray81 */
 | |
|     {209, 209, 209, 2569},      /* gray82 */
 | |
|     {212, 212, 212, 2576},      /* gray83 */
 | |
|     {214, 214, 214, 2583},      /* gray84 */
 | |
|     {217, 217, 217, 2590},      /* gray85 */
 | |
|     {219, 219, 219, 2597},      /* gray86 */
 | |
|     {222, 222, 222, 2604},      /* gray87 */
 | |
|     {224, 224, 224, 2611},      /* gray88 */
 | |
|     {227, 227, 227, 2618},      /* gray89 */
 | |
|     {23, 23, 23, 2625},         /* gray9 */
 | |
|     {229, 229, 229, 2631},      /* gray90 */
 | |
|     {232, 232, 232, 2638},      /* gray91 */
 | |
|     {235, 235, 235, 2645},      /* gray92 */
 | |
|     {237, 237, 237, 2652},      /* gray93 */
 | |
|     {240, 240, 240, 2659},      /* gray94 */
 | |
|     {242, 242, 242, 2666},      /* gray95 */
 | |
|     {245, 245, 245, 2673},      /* gray96 */
 | |
|     {247, 247, 247, 2680},      /* gray97 */
 | |
|     {250, 250, 250, 2687},      /* gray98 */
 | |
|     {252, 252, 252, 2694},      /* gray99 */
 | |
|     {0, 255, 0, 2701},          /* green */
 | |
|     {173, 255, 47, 2707},       /* green yellow */
 | |
|     {0, 255, 0, 2720},          /* green1 */
 | |
|     {0, 238, 0, 2727},          /* green2 */
 | |
|     {0, 205, 0, 2734},          /* green3 */
 | |
|     {0, 139, 0, 2741},          /* green4 */
 | |
|     {173, 255, 47, 2748},       /* GreenYellow */
 | |
|     {190, 190, 190, 2760},      /* grey */
 | |
|     {0, 0, 0, 2765},            /* grey0 */
 | |
|     {3, 3, 3, 2771},            /* grey1 */
 | |
|     {26, 26, 26, 2777},         /* grey10 */
 | |
|     {255, 255, 255, 2784},      /* grey100 */
 | |
|     {28, 28, 28, 2792},         /* grey11 */
 | |
|     {31, 31, 31, 2799},         /* grey12 */
 | |
|     {33, 33, 33, 2806},         /* grey13 */
 | |
|     {36, 36, 36, 2813},         /* grey14 */
 | |
|     {38, 38, 38, 2820},         /* grey15 */
 | |
|     {41, 41, 41, 2827},         /* grey16 */
 | |
|     {43, 43, 43, 2834},         /* grey17 */
 | |
|     {46, 46, 46, 2841},         /* grey18 */
 | |
|     {48, 48, 48, 2848},         /* grey19 */
 | |
|     {5, 5, 5, 2855},            /* grey2 */
 | |
|     {51, 51, 51, 2861},         /* grey20 */
 | |
|     {54, 54, 54, 2868},         /* grey21 */
 | |
|     {56, 56, 56, 2875},         /* grey22 */
 | |
|     {59, 59, 59, 2882},         /* grey23 */
 | |
|     {61, 61, 61, 2889},         /* grey24 */
 | |
|     {64, 64, 64, 2896},         /* grey25 */
 | |
|     {66, 66, 66, 2903},         /* grey26 */
 | |
|     {69, 69, 69, 2910},         /* grey27 */
 | |
|     {71, 71, 71, 2917},         /* grey28 */
 | |
|     {74, 74, 74, 2924},         /* grey29 */
 | |
|     {8, 8, 8, 2931},            /* grey3 */
 | |
|     {77, 77, 77, 2937},         /* grey30 */
 | |
|     {79, 79, 79, 2944},         /* grey31 */
 | |
|     {82, 82, 82, 2951},         /* grey32 */
 | |
|     {84, 84, 84, 2958},         /* grey33 */
 | |
|     {87, 87, 87, 2965},         /* grey34 */
 | |
|     {89, 89, 89, 2972},         /* grey35 */
 | |
|     {92, 92, 92, 2979},         /* grey36 */
 | |
|     {94, 94, 94, 2986},         /* grey37 */
 | |
|     {97, 97, 97, 2993},         /* grey38 */
 | |
|     {99, 99, 99, 3000},         /* grey39 */
 | |
|     {10, 10, 10, 3007},         /* grey4 */
 | |
|     {102, 102, 102, 3013},      /* grey40 */
 | |
|     {105, 105, 105, 3020},      /* grey41 */
 | |
|     {107, 107, 107, 3027},      /* grey42 */
 | |
|     {110, 110, 110, 3034},      /* grey43 */
 | |
|     {112, 112, 112, 3041},      /* grey44 */
 | |
|     {115, 115, 115, 3048},      /* grey45 */
 | |
|     {117, 117, 117, 3055},      /* grey46 */
 | |
|     {120, 120, 120, 3062},      /* grey47 */
 | |
|     {122, 122, 122, 3069},      /* grey48 */
 | |
|     {125, 125, 125, 3076},      /* grey49 */
 | |
|     {13, 13, 13, 3083},         /* grey5 */
 | |
|     {127, 127, 127, 3089},      /* grey50 */
 | |
|     {130, 130, 130, 3096},      /* grey51 */
 | |
|     {133, 133, 133, 3103},      /* grey52 */
 | |
|     {135, 135, 135, 3110},      /* grey53 */
 | |
|     {138, 138, 138, 3117},      /* grey54 */
 | |
|     {140, 140, 140, 3124},      /* grey55 */
 | |
|     {143, 143, 143, 3131},      /* grey56 */
 | |
|     {145, 145, 145, 3138},      /* grey57 */
 | |
|     {148, 148, 148, 3145},      /* grey58 */
 | |
|     {150, 150, 150, 3152},      /* grey59 */
 | |
|     {15, 15, 15, 3159},         /* grey6 */
 | |
|     {153, 153, 153, 3165},      /* grey60 */
 | |
|     {156, 156, 156, 3172},      /* grey61 */
 | |
|     {158, 158, 158, 3179},      /* grey62 */
 | |
|     {161, 161, 161, 3186},      /* grey63 */
 | |
|     {163, 163, 163, 3193},      /* grey64 */
 | |
|     {166, 166, 166, 3200},      /* grey65 */
 | |
|     {168, 168, 168, 3207},      /* grey66 */
 | |
|     {171, 171, 171, 3214},      /* grey67 */
 | |
|     {173, 173, 173, 3221},      /* grey68 */
 | |
|     {176, 176, 176, 3228},      /* grey69 */
 | |
|     {18, 18, 18, 3235},         /* grey7 */
 | |
|     {179, 179, 179, 3241},      /* grey70 */
 | |
|     {181, 181, 181, 3248},      /* grey71 */
 | |
|     {184, 184, 184, 3255},      /* grey72 */
 | |
|     {186, 186, 186, 3262},      /* grey73 */
 | |
|     {189, 189, 189, 3269},      /* grey74 */
 | |
|     {191, 191, 191, 3276},      /* grey75 */
 | |
|     {194, 194, 194, 3283},      /* grey76 */
 | |
|     {196, 196, 196, 3290},      /* grey77 */
 | |
|     {199, 199, 199, 3297},      /* grey78 */
 | |
|     {201, 201, 201, 3304},      /* grey79 */
 | |
|     {20, 20, 20, 3311},         /* grey8 */
 | |
|     {204, 204, 204, 3317},      /* grey80 */
 | |
|     {207, 207, 207, 3324},      /* grey81 */
 | |
|     {209, 209, 209, 3331},      /* grey82 */
 | |
|     {212, 212, 212, 3338},      /* grey83 */
 | |
|     {214, 214, 214, 3345},      /* grey84 */
 | |
|     {217, 217, 217, 3352},      /* grey85 */
 | |
|     {219, 219, 219, 3359},      /* grey86 */
 | |
|     {222, 222, 222, 3366},      /* grey87 */
 | |
|     {224, 224, 224, 3373},      /* grey88 */
 | |
|     {227, 227, 227, 3380},      /* grey89 */
 | |
|     {23, 23, 23, 3387},         /* grey9 */
 | |
|     {229, 229, 229, 3393},      /* grey90 */
 | |
|     {232, 232, 232, 3400},      /* grey91 */
 | |
|     {235, 235, 235, 3407},      /* grey92 */
 | |
|     {237, 237, 237, 3414},      /* grey93 */
 | |
|     {240, 240, 240, 3421},      /* grey94 */
 | |
|     {242, 242, 242, 3428},      /* grey95 */
 | |
|     {245, 245, 245, 3435},      /* grey96 */
 | |
|     {247, 247, 247, 3442},      /* grey97 */
 | |
|     {250, 250, 250, 3449},      /* grey98 */
 | |
|     {252, 252, 252, 3456},      /* grey99 */
 | |
|     {240, 255, 240, 3463},      /* honeydew */
 | |
|     {240, 255, 240, 3472},      /* honeydew1 */
 | |
|     {224, 238, 224, 3482},      /* honeydew2 */
 | |
|     {193, 205, 193, 3492},      /* honeydew3 */
 | |
|     {131, 139, 131, 3502},      /* honeydew4 */
 | |
|     {255, 105, 180, 3512},      /* hot pink */
 | |
|     {255, 105, 180, 3521},      /* HotPink */
 | |
|     {255, 110, 180, 3529},      /* HotPink1 */
 | |
|     {238, 106, 167, 3538},      /* HotPink2 */
 | |
|     {205, 96, 144, 3547},       /* HotPink3 */
 | |
|     {139, 58, 98, 3556},        /* HotPink4 */
 | |
|     {205, 92, 92, 3565},        /* indian red */
 | |
|     {205, 92, 92, 3576},        /* IndianRed */
 | |
|     {255, 106, 106, 3586},      /* IndianRed1 */
 | |
|     {238, 99, 99, 3597},        /* IndianRed2 */
 | |
|     {205, 85, 85, 3608},        /* IndianRed3 */
 | |
|     {139, 58, 58, 3619},        /* IndianRed4 */
 | |
|     {255, 255, 240, 3630},      /* ivory */
 | |
|     {255, 255, 240, 3636},      /* ivory1 */
 | |
|     {238, 238, 224, 3643},      /* ivory2 */
 | |
|     {205, 205, 193, 3650},      /* ivory3 */
 | |
|     {139, 139, 131, 3657},      /* ivory4 */
 | |
|     {240, 230, 140, 3664},      /* khaki */
 | |
|     {255, 246, 143, 3670},      /* khaki1 */
 | |
|     {238, 230, 133, 3677},      /* khaki2 */
 | |
|     {205, 198, 115, 3684},      /* khaki3 */
 | |
|     {139, 134, 78, 3691},       /* khaki4 */
 | |
|     {230, 230, 250, 3698},      /* lavender */
 | |
|     {255, 240, 245, 3707},      /* lavender blush */
 | |
|     {255, 240, 245, 3722},      /* LavenderBlush */
 | |
|     {255, 240, 245, 3736},      /* LavenderBlush1 */
 | |
|     {238, 224, 229, 3751},      /* LavenderBlush2 */
 | |
|     {205, 193, 197, 3766},      /* LavenderBlush3 */
 | |
|     {139, 131, 134, 3781},      /* LavenderBlush4 */
 | |
|     {124, 252, 0, 3796},        /* lawn green */
 | |
|     {124, 252, 0, 3807},        /* LawnGreen */
 | |
|     {255, 250, 205, 3817},      /* lemon chiffon */
 | |
|     {255, 250, 205, 3831},      /* LemonChiffon */
 | |
|     {255, 250, 205, 3844},      /* LemonChiffon1 */
 | |
|     {238, 233, 191, 3858},      /* LemonChiffon2 */
 | |
|     {205, 201, 165, 3872},      /* LemonChiffon3 */
 | |
|     {139, 137, 112, 3886},      /* LemonChiffon4 */
 | |
|     {173, 216, 230, 3900},      /* light blue */
 | |
|     {240, 128, 128, 3911},      /* light coral */
 | |
|     {224, 255, 255, 3923},      /* light cyan */
 | |
|     {238, 221, 130, 3934},      /* light goldenrod */
 | |
|     {250, 250, 210, 3950},      /* light goldenrod yellow */
 | |
|     {211, 211, 211, 3973},      /* light gray */
 | |
|     {144, 238, 144, 3984},      /* light green */
 | |
|     {211, 211, 211, 3996},      /* light grey */
 | |
|     {255, 182, 193, 4007},      /* light pink */
 | |
|     {255, 160, 122, 4018},      /* light salmon */
 | |
|     {32, 178, 170, 4031},       /* light sea green */
 | |
|     {135, 206, 250, 4047},      /* light sky blue */
 | |
|     {132, 112, 255, 4062},      /* light slate blue */
 | |
|     {119, 136, 153, 4079},      /* light slate gray */
 | |
|     {119, 136, 153, 4096},      /* light slate grey */
 | |
|     {176, 196, 222, 4113},      /* light steel blue */
 | |
|     {255, 255, 224, 4130},      /* light yellow */
 | |
|     {173, 216, 230, 4143},      /* LightBlue */
 | |
|     {191, 239, 255, 4153},      /* LightBlue1 */
 | |
|     {178, 223, 238, 4164},      /* LightBlue2 */
 | |
|     {154, 192, 205, 4175},      /* LightBlue3 */
 | |
|     {104, 131, 139, 4186},      /* LightBlue4 */
 | |
|     {240, 128, 128, 4197},      /* LightCoral */
 | |
|     {224, 255, 255, 4208},      /* LightCyan */
 | |
|     {224, 255, 255, 4218},      /* LightCyan1 */
 | |
|     {209, 238, 238, 4229},      /* LightCyan2 */
 | |
|     {180, 205, 205, 4240},      /* LightCyan3 */
 | |
|     {122, 139, 139, 4251},      /* LightCyan4 */
 | |
|     {238, 221, 130, 4262},      /* LightGoldenrod */
 | |
|     {255, 236, 139, 4277},      /* LightGoldenrod1 */
 | |
|     {238, 220, 130, 4293},      /* LightGoldenrod2 */
 | |
|     {205, 190, 112, 4309},      /* LightGoldenrod3 */
 | |
|     {139, 129, 76, 4325},       /* LightGoldenrod4 */
 | |
|     {250, 250, 210, 4341},      /* LightGoldenrodYellow */
 | |
|     {211, 211, 211, 4362},      /* LightGray */
 | |
|     {144, 238, 144, 4372},      /* LightGreen */
 | |
|     {211, 211, 211, 4383},      /* LightGrey */
 | |
|     {255, 182, 193, 4393},      /* LightPink */
 | |
|     {255, 174, 185, 4403},      /* LightPink1 */
 | |
|     {238, 162, 173, 4414},      /* LightPink2 */
 | |
|     {205, 140, 149, 4425},      /* LightPink3 */
 | |
|     {139, 95, 101, 4436},       /* LightPink4 */
 | |
|     {255, 160, 122, 4447},      /* LightSalmon */
 | |
|     {255, 160, 122, 4459},      /* LightSalmon1 */
 | |
|     {238, 149, 114, 4472},      /* LightSalmon2 */
 | |
|     {205, 129, 98, 4485},       /* LightSalmon3 */
 | |
|     {139, 87, 66, 4498},        /* LightSalmon4 */
 | |
|     {32, 178, 170, 4511},       /* LightSeaGreen */
 | |
|     {135, 206, 250, 4525},      /* LightSkyBlue */
 | |
|     {176, 226, 255, 4538},      /* LightSkyBlue1 */
 | |
|     {164, 211, 238, 4552},      /* LightSkyBlue2 */
 | |
|     {141, 182, 205, 4566},      /* LightSkyBlue3 */
 | |
|     {96, 123, 139, 4580},       /* LightSkyBlue4 */
 | |
|     {132, 112, 255, 4594},      /* LightSlateBlue */
 | |
|     {119, 136, 153, 4609},      /* LightSlateGray */
 | |
|     {119, 136, 153, 4624},      /* LightSlateGrey */
 | |
|     {176, 196, 222, 4639},      /* LightSteelBlue */
 | |
|     {202, 225, 255, 4654},      /* LightSteelBlue1 */
 | |
|     {188, 210, 238, 4670},      /* LightSteelBlue2 */
 | |
|     {162, 181, 205, 4686},      /* LightSteelBlue3 */
 | |
|     {110, 123, 139, 4702},      /* LightSteelBlue4 */
 | |
|     {255, 255, 224, 4718},      /* LightYellow */
 | |
|     {255, 255, 224, 4730},      /* LightYellow1 */
 | |
|     {238, 238, 209, 4743},      /* LightYellow2 */
 | |
|     {205, 205, 180, 4756},      /* LightYellow3 */
 | |
|     {139, 139, 122, 4769},      /* LightYellow4 */
 | |
|     {50, 205, 50, 4782},        /* lime green */
 | |
|     {50, 205, 50, 4793},        /* LimeGreen */
 | |
|     {250, 240, 230, 4803},      /* linen */
 | |
|     {255, 0, 255, 4809},        /* magenta */
 | |
|     {255, 0, 255, 4817},        /* magenta1 */
 | |
|     {238, 0, 238, 4826},        /* magenta2 */
 | |
|     {205, 0, 205, 4835},        /* magenta3 */
 | |
|     {139, 0, 139, 4844},        /* magenta4 */
 | |
|     {176, 48, 96, 4853},        /* maroon */
 | |
|     {255, 52, 179, 4860},       /* maroon1 */
 | |
|     {238, 48, 167, 4868},       /* maroon2 */
 | |
|     {205, 41, 144, 4876},       /* maroon3 */
 | |
|     {139, 28, 98, 4884},        /* maroon4 */
 | |
|     {102, 205, 170, 4892},      /* medium aquamarine */
 | |
|     {0, 0, 205, 4910},          /* medium blue */
 | |
|     {186, 85, 211, 4922},       /* medium orchid */
 | |
|     {147, 112, 219, 4936},      /* medium purple */
 | |
|     {60, 179, 113, 4950},       /* medium sea green */
 | |
|     {123, 104, 238, 4967},      /* medium slate blue */
 | |
|     {0, 250, 154, 4985},        /* medium spring green */
 | |
|     {72, 209, 204, 5005},       /* medium turquoise */
 | |
|     {199, 21, 133, 5022},       /* medium violet red */
 | |
|     {102, 205, 170, 5040},      /* MediumAquamarine */
 | |
|     {0, 0, 205, 5057},          /* MediumBlue */
 | |
|     {186, 85, 211, 5068},       /* MediumOrchid */
 | |
|     {224, 102, 255, 5081},      /* MediumOrchid1 */
 | |
|     {209, 95, 238, 5095},       /* MediumOrchid2 */
 | |
|     {180, 82, 205, 5109},       /* MediumOrchid3 */
 | |
|     {122, 55, 139, 5123},       /* MediumOrchid4 */
 | |
|     {147, 112, 219, 5137},      /* MediumPurple */
 | |
|     {171, 130, 255, 5150},      /* MediumPurple1 */
 | |
|     {159, 121, 238, 5164},      /* MediumPurple2 */
 | |
|     {137, 104, 205, 5178},      /* MediumPurple3 */
 | |
|     {93, 71, 139, 5192},        /* MediumPurple4 */
 | |
|     {60, 179, 113, 5206},       /* MediumSeaGreen */
 | |
|     {123, 104, 238, 5221},      /* MediumSlateBlue */
 | |
|     {0, 250, 154, 5237},        /* MediumSpringGreen */
 | |
|     {72, 209, 204, 5255},       /* MediumTurquoise */
 | |
|     {199, 21, 133, 5271},       /* MediumVioletRed */
 | |
|     {25, 25, 112, 5287},        /* midnight blue */
 | |
|     {25, 25, 112, 5301},        /* MidnightBlue */
 | |
|     {245, 255, 250, 5314},      /* mint cream */
 | |
|     {245, 255, 250, 5325},      /* MintCream */
 | |
|     {255, 228, 225, 5335},      /* misty rose */
 | |
|     {255, 228, 225, 5346},      /* MistyRose */
 | |
|     {255, 228, 225, 5356},      /* MistyRose1 */
 | |
|     {238, 213, 210, 5367},      /* MistyRose2 */
 | |
|     {205, 183, 181, 5378},      /* MistyRose3 */
 | |
|     {139, 125, 123, 5389},      /* MistyRose4 */
 | |
|     {255, 228, 181, 5400},      /* moccasin */
 | |
|     {255, 222, 173, 5409},      /* navajo white */
 | |
|     {255, 222, 173, 5422},      /* NavajoWhite */
 | |
|     {255, 222, 173, 5434},      /* NavajoWhite1 */
 | |
|     {238, 207, 161, 5447},      /* NavajoWhite2 */
 | |
|     {205, 179, 139, 5460},      /* NavajoWhite3 */
 | |
|     {139, 121, 94, 5473},       /* NavajoWhite4 */
 | |
|     {0, 0, 128, 5486},          /* navy */
 | |
|     {0, 0, 128, 5491},          /* navy blue */
 | |
|     {0, 0, 128, 5501},          /* NavyBlue */
 | |
|     {253, 245, 230, 5510},      /* old lace */
 | |
|     {253, 245, 230, 5519},      /* OldLace */
 | |
|     {107, 142, 35, 5527},       /* olive drab */
 | |
|     {107, 142, 35, 5538},       /* OliveDrab */
 | |
|     {192, 255, 62, 5548},       /* OliveDrab1 */
 | |
|     {179, 238, 58, 5559},       /* OliveDrab2 */
 | |
|     {154, 205, 50, 5570},       /* OliveDrab3 */
 | |
|     {105, 139, 34, 5581},       /* OliveDrab4 */
 | |
|     {255, 165, 0, 5592},        /* orange */
 | |
|     {255, 69, 0, 5599},         /* orange red */
 | |
|     {255, 165, 0, 5610},        /* orange1 */
 | |
|     {238, 154, 0, 5618},        /* orange2 */
 | |
|     {205, 133, 0, 5626},        /* orange3 */
 | |
|     {139, 90, 0, 5634},         /* orange4 */
 | |
|     {255, 69, 0, 5642},         /* OrangeRed */
 | |
|     {255, 69, 0, 5652},         /* OrangeRed1 */
 | |
|     {238, 64, 0, 5663},         /* OrangeRed2 */
 | |
|     {205, 55, 0, 5674},         /* OrangeRed3 */
 | |
|     {139, 37, 0, 5685},         /* OrangeRed4 */
 | |
|     {218, 112, 214, 5696},      /* orchid */
 | |
|     {255, 131, 250, 5703},      /* orchid1 */
 | |
|     {238, 122, 233, 5711},      /* orchid2 */
 | |
|     {205, 105, 201, 5719},      /* orchid3 */
 | |
|     {139, 71, 137, 5727},       /* orchid4 */
 | |
|     {238, 232, 170, 5735},      /* pale goldenrod */
 | |
|     {152, 251, 152, 5750},      /* pale green */
 | |
|     {175, 238, 238, 5761},      /* pale turquoise */
 | |
|     {219, 112, 147, 5776},      /* pale violet red */
 | |
|     {238, 232, 170, 5792},      /* PaleGoldenrod */
 | |
|     {152, 251, 152, 5806},      /* PaleGreen */
 | |
|     {154, 255, 154, 5816},      /* PaleGreen1 */
 | |
|     {144, 238, 144, 5827},      /* PaleGreen2 */
 | |
|     {124, 205, 124, 5838},      /* PaleGreen3 */
 | |
|     {84, 139, 84, 5849},        /* PaleGreen4 */
 | |
|     {175, 238, 238, 5860},      /* PaleTurquoise */
 | |
|     {187, 255, 255, 5874},      /* PaleTurquoise1 */
 | |
|     {174, 238, 238, 5889},      /* PaleTurquoise2 */
 | |
|     {150, 205, 205, 5904},      /* PaleTurquoise3 */
 | |
|     {102, 139, 139, 5919},      /* PaleTurquoise4 */
 | |
|     {219, 112, 147, 5934},      /* PaleVioletRed */
 | |
|     {255, 130, 171, 5948},      /* PaleVioletRed1 */
 | |
|     {238, 121, 159, 5963},      /* PaleVioletRed2 */
 | |
|     {205, 104, 137, 5978},      /* PaleVioletRed3 */
 | |
|     {139, 71, 93, 5993},        /* PaleVioletRed4 */
 | |
|     {255, 239, 213, 6008},      /* papaya whip */
 | |
|     {255, 239, 213, 6020},      /* PapayaWhip */
 | |
|     {255, 218, 185, 6031},      /* peach puff */
 | |
|     {255, 218, 185, 6042},      /* PeachPuff */
 | |
|     {255, 218, 185, 6052},      /* PeachPuff1 */
 | |
|     {238, 203, 173, 6063},      /* PeachPuff2 */
 | |
|     {205, 175, 149, 6074},      /* PeachPuff3 */
 | |
|     {139, 119, 101, 6085},      /* PeachPuff4 */
 | |
|     {205, 133, 63, 6096},       /* peru */
 | |
|     {255, 192, 203, 6101},      /* pink */
 | |
|     {255, 181, 197, 6106},      /* pink1 */
 | |
|     {238, 169, 184, 6112},      /* pink2 */
 | |
|     {205, 145, 158, 6118},      /* pink3 */
 | |
|     {139, 99, 108, 6124},       /* pink4 */
 | |
|     {221, 160, 221, 6130},      /* plum */
 | |
|     {255, 187, 255, 6135},      /* plum1 */
 | |
|     {238, 174, 238, 6141},      /* plum2 */
 | |
|     {205, 150, 205, 6147},      /* plum3 */
 | |
|     {139, 102, 139, 6153},      /* plum4 */
 | |
|     {176, 224, 230, 6159},      /* powder blue */
 | |
|     {176, 224, 230, 6171},      /* PowderBlue */
 | |
|     {160, 32, 240, 6182},       /* purple */
 | |
|     {155, 48, 255, 6189},       /* purple1 */
 | |
|     {145, 44, 238, 6197},       /* purple2 */
 | |
|     {125, 38, 205, 6205},       /* purple3 */
 | |
|     {85, 26, 139, 6213},        /* purple4 */
 | |
|     {255, 0, 0, 6221},          /* red */
 | |
|     {255, 0, 0, 6225},          /* red1 */
 | |
|     {238, 0, 0, 6230},          /* red2 */
 | |
|     {205, 0, 0, 6235},          /* red3 */
 | |
|     {139, 0, 0, 6240},          /* red4 */
 | |
|     {188, 143, 143, 6245},      /* rosy brown */
 | |
|     {188, 143, 143, 6256},      /* RosyBrown */
 | |
|     {255, 193, 193, 6266},      /* RosyBrown1 */
 | |
|     {238, 180, 180, 6277},      /* RosyBrown2 */
 | |
|     {205, 155, 155, 6288},      /* RosyBrown3 */
 | |
|     {139, 105, 105, 6299},      /* RosyBrown4 */
 | |
|     {65, 105, 225, 6310},       /* royal blue */
 | |
|     {65, 105, 225, 6321},       /* RoyalBlue */
 | |
|     {72, 118, 255, 6331},       /* RoyalBlue1 */
 | |
|     {67, 110, 238, 6342},       /* RoyalBlue2 */
 | |
|     {58, 95, 205, 6353},        /* RoyalBlue3 */
 | |
|     {39, 64, 139, 6364},        /* RoyalBlue4 */
 | |
|     {139, 69, 19, 6375},        /* saddle brown */
 | |
|     {139, 69, 19, 6388},        /* SaddleBrown */
 | |
|     {250, 128, 114, 6400},      /* salmon */
 | |
|     {255, 140, 105, 6407},      /* salmon1 */
 | |
|     {238, 130, 98, 6415},       /* salmon2 */
 | |
|     {205, 112, 84, 6423},       /* salmon3 */
 | |
|     {139, 76, 57, 6431},        /* salmon4 */
 | |
|     {244, 164, 96, 6439},       /* sandy brown */
 | |
|     {244, 164, 96, 6451},       /* SandyBrown */
 | |
|     {46, 139, 87, 6462},        /* sea green */
 | |
|     {46, 139, 87, 6472},        /* SeaGreen */
 | |
|     {84, 255, 159, 6481},       /* SeaGreen1 */
 | |
|     {78, 238, 148, 6491},       /* SeaGreen2 */
 | |
|     {67, 205, 128, 6501},       /* SeaGreen3 */
 | |
|     {46, 139, 87, 6511},        /* SeaGreen4 */
 | |
|     {255, 245, 238, 6521},      /* seashell */
 | |
|     {255, 245, 238, 6530},      /* seashell1 */
 | |
|     {238, 229, 222, 6540},      /* seashell2 */
 | |
|     {205, 197, 191, 6550},      /* seashell3 */
 | |
|     {139, 134, 130, 6560},      /* seashell4 */
 | |
|     {160, 82, 45, 6570},        /* sienna */
 | |
|     {255, 130, 71, 6577},       /* sienna1 */
 | |
|     {238, 121, 66, 6585},       /* sienna2 */
 | |
|     {205, 104, 57, 6593},       /* sienna3 */
 | |
|     {139, 71, 38, 6601},        /* sienna4 */
 | |
|     {135, 206, 235, 6609},      /* sky blue */
 | |
|     {135, 206, 235, 6618},      /* SkyBlue */
 | |
|     {135, 206, 255, 6626},      /* SkyBlue1 */
 | |
|     {126, 192, 238, 6635},      /* SkyBlue2 */
 | |
|     {108, 166, 205, 6644},      /* SkyBlue3 */
 | |
|     {74, 112, 139, 6653},       /* SkyBlue4 */
 | |
|     {106, 90, 205, 6662},       /* slate blue */
 | |
|     {112, 128, 144, 6673},      /* slate gray */
 | |
|     {112, 128, 144, 6684},      /* slate grey */
 | |
|     {106, 90, 205, 6695},       /* SlateBlue */
 | |
|     {131, 111, 255, 6705},      /* SlateBlue1 */
 | |
|     {122, 103, 238, 6716},      /* SlateBlue2 */
 | |
|     {105, 89, 205, 6727},       /* SlateBlue3 */
 | |
|     {71, 60, 139, 6738},        /* SlateBlue4 */
 | |
|     {112, 128, 144, 6749},      /* SlateGray */
 | |
|     {198, 226, 255, 6759},      /* SlateGray1 */
 | |
|     {185, 211, 238, 6770},      /* SlateGray2 */
 | |
|     {159, 182, 205, 6781},      /* SlateGray3 */
 | |
|     {108, 123, 139, 6792},      /* SlateGray4 */
 | |
|     {112, 128, 144, 6803},      /* SlateGrey */
 | |
|     {255, 250, 250, 6813},      /* snow */
 | |
|     {255, 250, 250, 6818},      /* snow1 */
 | |
|     {238, 233, 233, 6824},      /* snow2 */
 | |
|     {205, 201, 201, 6830},      /* snow3 */
 | |
|     {139, 137, 137, 6836},      /* snow4 */
 | |
|     {0, 255, 127, 6842},        /* spring green */
 | |
|     {0, 255, 127, 6855},        /* SpringGreen */
 | |
|     {0, 255, 127, 6867},        /* SpringGreen1 */
 | |
|     {0, 238, 118, 6880},        /* SpringGreen2 */
 | |
|     {0, 205, 102, 6893},        /* SpringGreen3 */
 | |
|     {0, 139, 69, 6906},         /* SpringGreen4 */
 | |
|     {70, 130, 180, 6919},       /* steel blue */
 | |
|     {70, 130, 180, 6930},       /* SteelBlue */
 | |
|     {99, 184, 255, 6940},       /* SteelBlue1 */
 | |
|     {92, 172, 238, 6951},       /* SteelBlue2 */
 | |
|     {79, 148, 205, 6962},       /* SteelBlue3 */
 | |
|     {54, 100, 139, 6973},       /* SteelBlue4 */
 | |
|     {210, 180, 140, 6984},      /* tan */
 | |
|     {255, 165, 79, 6988},       /* tan1 */
 | |
|     {238, 154, 73, 6993},       /* tan2 */
 | |
|     {205, 133, 63, 6998},       /* tan3 */
 | |
|     {139, 90, 43, 7003},        /* tan4 */
 | |
|     {216, 191, 216, 7008},      /* thistle */
 | |
|     {255, 225, 255, 7016},      /* thistle1 */
 | |
|     {238, 210, 238, 7025},      /* thistle2 */
 | |
|     {205, 181, 205, 7034},      /* thistle3 */
 | |
|     {139, 123, 139, 7043},      /* thistle4 */
 | |
|     {255, 99, 71, 7052},        /* tomato */
 | |
|     {255, 99, 71, 7059},        /* tomato1 */
 | |
|     {238, 92, 66, 7067},        /* tomato2 */
 | |
|     {205, 79, 57, 7075},        /* tomato3 */
 | |
|     {139, 54, 38, 7083},        /* tomato4 */
 | |
|     {64, 224, 208, 7091},       /* turquoise */
 | |
|     {0, 245, 255, 7101},        /* turquoise1 */
 | |
|     {0, 229, 238, 7112},        /* turquoise2 */
 | |
|     {0, 197, 205, 7123},        /* turquoise3 */
 | |
|     {0, 134, 139, 7134},        /* turquoise4 */
 | |
|     {238, 130, 238, 7145},      /* violet */
 | |
|     {208, 32, 144, 7152},       /* violet red */
 | |
|     {208, 32, 144, 7163},       /* VioletRed */
 | |
|     {255, 62, 150, 7173},       /* VioletRed1 */
 | |
|     {238, 58, 140, 7184},       /* VioletRed2 */
 | |
|     {205, 50, 120, 7195},       /* VioletRed3 */
 | |
|     {139, 34, 82, 7206},        /* VioletRed4 */
 | |
|     {245, 222, 179, 7217},      /* wheat */
 | |
|     {255, 231, 186, 7223},      /* wheat1 */
 | |
|     {238, 216, 174, 7230},      /* wheat2 */
 | |
|     {205, 186, 150, 7237},      /* wheat3 */
 | |
|     {139, 126, 102, 7244},      /* wheat4 */
 | |
|     {255, 255, 255, 7251},      /* white */
 | |
|     {245, 245, 245, 7257},      /* white smoke */
 | |
|     {245, 245, 245, 7269},      /* WhiteSmoke */
 | |
|     {255, 255, 0, 7280},        /* yellow */
 | |
|     {154, 205, 50, 7287},       /* yellow green */
 | |
|     {255, 255, 0, 7300},        /* yellow1 */
 | |
|     {238, 238, 0, 7308},        /* yellow2 */
 | |
|     {205, 205, 0, 7316},        /* yellow3 */
 | |
|     {139, 139, 0, 7324},        /* yellow4 */
 | |
|     {154, 205, 50, 7332},       /* YellowGreen */
 | |
| };
 | |
| 
 | |
| #define NUM_BUILTIN_COLORS  (sizeof (BuiltinColors) / sizeof (BuiltinColors[0]))
 | |
| 
 | |
| Bool
 | |
| OsLookupColor(int screen,
 | |
|               char *name,
 | |
|               unsigned int len,
 | |
|               unsigned short *pred,
 | |
|               unsigned short *pgreen, unsigned short *pblue)
 | |
| {
 | |
|     const BuiltinColor *c;
 | |
|     int low, mid, high;
 | |
|     int r;
 | |
| 
 | |
|     low = 0;
 | |
|     high = NUM_BUILTIN_COLORS - 1;
 | |
|     while (high >= low) {
 | |
|         mid = (low + high) / 2;
 | |
|         c = &BuiltinColors[mid];
 | |
|         r = strncasecmp(&BuiltinColorNames[c->name], name, len);
 | |
|         if (r == 0 && len == strlen(&BuiltinColorNames[c->name])) {
 | |
|             *pred = c->red * 0x101;
 | |
|             *pgreen = c->green * 0x101;
 | |
|             *pblue = c->blue * 0x101;
 | |
|             return TRUE;
 | |
|         }
 | |
|         if (r < 0)
 | |
|             low = mid + 1;
 | |
|         else
 | |
|             high = mid - 1;
 | |
|     }
 | |
|     return FALSE;
 | |
| }
 |