/[dtapublic]/projs/ets/trunk/src/c_tk_base_7_5_w_mods/xcolors.c
ViewVC logotype

Diff of /projs/ets/trunk/src/c_tk_base_7_5_w_mods/xcolors.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 69 by dashley, Sat Nov 5 10:54:17 2016 UTC revision 71 by dashley, Sat Nov 5 11:07:06 2016 UTC
# Line 1  Line 1 
1  /* $Header$ */  /* $Header$ */
2    
3  /*  /*
4   * xcolors.c --   * xcolors.c --
5   *   *
6   *      This file contains the routines used to map from X color   *      This file contains the routines used to map from X color
7   *      names to RGB and pixel values.   *      names to RGB and pixel values.
8   *   *
9   * Copyright (c) 1996 by Sun Microsystems, Inc.   * Copyright (c) 1996 by Sun Microsystems, Inc.
10   *   *
11   * See the file "license.terms" for information on usage and redistribution   * See the file "license.terms" for information on usage and redistribution
12   * of this file, and for a DISCLAIMER OF ALL WARRANTIES.   * of this file, and for a DISCLAIMER OF ALL WARRANTIES.
13   *   *
14   * RCS: @(#) $Id: xcolors.c,v 1.1.1.1 2001/06/13 05:15:39 dtashley Exp $   * RCS: @(#) $Id: xcolors.c,v 1.1.1.1 2001/06/13 05:15:39 dtashley Exp $
15   */   */
16    
17  #include "tkInt.h"  #include "tkInt.h"
18    
19  /*  /*
20   * Define an array that defines the mapping from color names to RGB values.   * Define an array that defines the mapping from color names to RGB values.
21   * Note that this array must be kept sorted alphabetically so that the   * Note that this array must be kept sorted alphabetically so that the
22   * binary search used in XParseColor will succeed.   * binary search used in XParseColor will succeed.
23   */   */
24    
25  typedef struct {  typedef struct {
26      char *name;      char *name;
27      unsigned char red;      unsigned char red;
28      unsigned char green;      unsigned char green;
29      unsigned char blue;      unsigned char blue;
30  } XColorEntry;  } XColorEntry;
31    
32  static XColorEntry xColors[] = {  static XColorEntry xColors[] = {
33      "alice blue", 240, 248, 255,      "alice blue", 240, 248, 255,
34      "AliceBlue", 240, 248, 255,      "AliceBlue", 240, 248, 255,
35      "antique white", 250, 235, 215,      "antique white", 250, 235, 215,
36      "AntiqueWhite", 250, 235, 215,      "AntiqueWhite", 250, 235, 215,
37      "AntiqueWhite1", 255, 239, 219,      "AntiqueWhite1", 255, 239, 219,
38      "AntiqueWhite2", 238, 223, 204,      "AntiqueWhite2", 238, 223, 204,
39      "AntiqueWhite3", 205, 192, 176,      "AntiqueWhite3", 205, 192, 176,
40      "AntiqueWhite4", 139, 131, 120,      "AntiqueWhite4", 139, 131, 120,
41      "aquamarine", 127, 255, 212,      "aquamarine", 127, 255, 212,
42      "aquamarine1", 127, 255, 212,      "aquamarine1", 127, 255, 212,
43      "aquamarine2", 118, 238, 198,      "aquamarine2", 118, 238, 198,
44      "aquamarine3", 102, 205, 170,      "aquamarine3", 102, 205, 170,
45      "aquamarine4", 69, 139, 116,      "aquamarine4", 69, 139, 116,
46      "azure", 240, 255, 255,      "azure", 240, 255, 255,
47      "azure1", 240, 255, 255,      "azure1", 240, 255, 255,
48      "azure2", 224, 238, 238,      "azure2", 224, 238, 238,
49      "azure3", 193, 205, 205,      "azure3", 193, 205, 205,
50      "azure4", 131, 139, 139,      "azure4", 131, 139, 139,
51      "beige", 245, 245, 220,      "beige", 245, 245, 220,
52      "bisque", 255, 228, 196,      "bisque", 255, 228, 196,
53      "bisque1", 255, 228, 196,      "bisque1", 255, 228, 196,
54      "bisque2", 238, 213, 183,      "bisque2", 238, 213, 183,
55      "bisque3", 205, 183, 158,      "bisque3", 205, 183, 158,
56      "bisque4", 139, 125, 107,      "bisque4", 139, 125, 107,
57      "black", 0, 0, 0,      "black", 0, 0, 0,
58      "blanched almond", 255, 235, 205,      "blanched almond", 255, 235, 205,
59      "BlanchedAlmond", 255, 235, 205,      "BlanchedAlmond", 255, 235, 205,
60      "blue", 0, 0, 255,      "blue", 0, 0, 255,
61      "blue violet", 138, 43, 226,      "blue violet", 138, 43, 226,
62      "blue1", 0, 0, 255,      "blue1", 0, 0, 255,
63      "blue2", 0, 0, 238,      "blue2", 0, 0, 238,
64      "blue3", 0, 0, 205,      "blue3", 0, 0, 205,
65      "blue4", 0, 0, 139,      "blue4", 0, 0, 139,
66      "BlueViolet", 138, 43, 226,      "BlueViolet", 138, 43, 226,
67      "brown", 165, 42, 42,      "brown", 165, 42, 42,
68      "brown1", 255, 64, 64,      "brown1", 255, 64, 64,
69      "brown2", 238, 59, 59,      "brown2", 238, 59, 59,
70      "brown3", 205, 51, 51,      "brown3", 205, 51, 51,
71      "brown4", 139, 35, 35,      "brown4", 139, 35, 35,
72      "burlywood", 222, 184, 135,      "burlywood", 222, 184, 135,
73      "burlywood1", 255, 211, 155,      "burlywood1", 255, 211, 155,
74      "burlywood2", 238, 197, 145,      "burlywood2", 238, 197, 145,
75      "burlywood3", 205, 170, 125,      "burlywood3", 205, 170, 125,
76      "burlywood4", 139, 115, 85,      "burlywood4", 139, 115, 85,
77      "cadet blue", 95, 158, 160,      "cadet blue", 95, 158, 160,
78      "CadetBlue", 95, 158, 160,      "CadetBlue", 95, 158, 160,
79      "CadetBlue1", 152, 245, 255,      "CadetBlue1", 152, 245, 255,
80      "CadetBlue2", 142, 229, 238,      "CadetBlue2", 142, 229, 238,
81      "CadetBlue3", 122, 197, 205,      "CadetBlue3", 122, 197, 205,
82      "CadetBlue4", 83, 134, 139,      "CadetBlue4", 83, 134, 139,
83      "chartreuse", 127, 255, 0,      "chartreuse", 127, 255, 0,
84      "chartreuse1", 127, 255, 0,      "chartreuse1", 127, 255, 0,
85      "chartreuse2", 118, 238, 0,      "chartreuse2", 118, 238, 0,
86      "chartreuse3", 102, 205, 0,      "chartreuse3", 102, 205, 0,
87      "chartreuse4", 69, 139, 0,      "chartreuse4", 69, 139, 0,
88      "chocolate", 210, 105, 30,      "chocolate", 210, 105, 30,
89      "chocolate1", 255, 127, 36,      "chocolate1", 255, 127, 36,
90      "chocolate2", 238, 118, 33,      "chocolate2", 238, 118, 33,
91      "chocolate3", 205, 102, 29,      "chocolate3", 205, 102, 29,
92      "chocolate4", 139, 69, 19,      "chocolate4", 139, 69, 19,
93      "coral", 255, 127, 80,      "coral", 255, 127, 80,
94      "coral1", 255, 114, 86,      "coral1", 255, 114, 86,
95      "coral2", 238, 106, 80,      "coral2", 238, 106, 80,
96      "coral3", 205, 91, 69,      "coral3", 205, 91, 69,
97      "coral4", 139, 62, 47,      "coral4", 139, 62, 47,
98      "cornflower blue", 100, 149, 237,      "cornflower blue", 100, 149, 237,
99      "CornflowerBlue", 100, 149, 237,      "CornflowerBlue", 100, 149, 237,
100      "cornsilk", 255, 248, 220,      "cornsilk", 255, 248, 220,
101      "cornsilk1", 255, 248, 220,      "cornsilk1", 255, 248, 220,
102      "cornsilk2", 238, 232, 205,      "cornsilk2", 238, 232, 205,
103      "cornsilk3", 205, 200, 177,      "cornsilk3", 205, 200, 177,
104      "cornsilk4", 139, 136, 120,      "cornsilk4", 139, 136, 120,
105      "cyan", 0, 255, 255,      "cyan", 0, 255, 255,
106      "cyan1", 0, 255, 255,      "cyan1", 0, 255, 255,
107      "cyan2", 0, 238, 238,      "cyan2", 0, 238, 238,
108      "cyan3", 0, 205, 205,      "cyan3", 0, 205, 205,
109      "cyan4", 0, 139, 139,      "cyan4", 0, 139, 139,
110      "dark blue", 0, 0, 139,      "dark blue", 0, 0, 139,
111      "dark cyan", 0, 139, 139,      "dark cyan", 0, 139, 139,
112      "dark goldenrod", 184, 134, 11,      "dark goldenrod", 184, 134, 11,
113      "dark gray", 169, 169, 169,      "dark gray", 169, 169, 169,
114      "dark green", 0, 100, 0,      "dark green", 0, 100, 0,
115      "dark grey", 169, 169, 169,      "dark grey", 169, 169, 169,
116      "dark khaki", 189, 183, 107,      "dark khaki", 189, 183, 107,
117      "dark magenta", 139, 0, 139,      "dark magenta", 139, 0, 139,
118      "dark olive green", 85, 107, 47,      "dark olive green", 85, 107, 47,
119      "dark orange", 255, 140, 0,      "dark orange", 255, 140, 0,
120      "dark orchid", 153, 50, 204,      "dark orchid", 153, 50, 204,
121      "dark red", 139, 0, 0,      "dark red", 139, 0, 0,
122      "dark salmon", 233, 150, 122,      "dark salmon", 233, 150, 122,
123      "dark sea green", 143, 188, 143,      "dark sea green", 143, 188, 143,
124      "dark slate blue", 72, 61, 139,      "dark slate blue", 72, 61, 139,
125      "dark slate gray", 47, 79, 79,      "dark slate gray", 47, 79, 79,
126      "dark slate grey", 47, 79, 79,      "dark slate grey", 47, 79, 79,
127      "dark turquoise", 0, 206, 209,      "dark turquoise", 0, 206, 209,
128      "dark violet", 148, 0, 211,      "dark violet", 148, 0, 211,
129      "DarkBlue", 0, 0, 139,      "DarkBlue", 0, 0, 139,
130      "DarkCyan", 0, 139, 139,      "DarkCyan", 0, 139, 139,
131      "DarkGoldenrod", 184, 134, 11,      "DarkGoldenrod", 184, 134, 11,
132      "DarkGoldenrod1", 255, 185, 15,      "DarkGoldenrod1", 255, 185, 15,
133      "DarkGoldenrod2", 238, 173, 14,      "DarkGoldenrod2", 238, 173, 14,
134      "DarkGoldenrod3", 205, 149, 12,      "DarkGoldenrod3", 205, 149, 12,
135      "DarkGoldenrod4", 139, 101, 8,      "DarkGoldenrod4", 139, 101, 8,
136      "DarkGray", 169, 169, 169,      "DarkGray", 169, 169, 169,
137      "DarkGreen", 0, 100, 0,      "DarkGreen", 0, 100, 0,
138      "DarkGrey", 169, 169, 169,      "DarkGrey", 169, 169, 169,
139      "DarkKhaki", 189, 183, 107,      "DarkKhaki", 189, 183, 107,
140      "DarkMagenta", 139, 0, 139,      "DarkMagenta", 139, 0, 139,
141      "DarkOliveGreen", 85, 107, 47,      "DarkOliveGreen", 85, 107, 47,
142      "DarkOliveGreen1", 202, 255, 112,      "DarkOliveGreen1", 202, 255, 112,
143      "DarkOliveGreen2", 188, 238, 104,      "DarkOliveGreen2", 188, 238, 104,
144      "DarkOliveGreen3", 162, 205, 90,      "DarkOliveGreen3", 162, 205, 90,
145      "DarkOliveGreen4", 110, 139, 61,      "DarkOliveGreen4", 110, 139, 61,
146      "DarkOrange", 255, 140, 0,      "DarkOrange", 255, 140, 0,
147      "DarkOrange1", 255, 127, 0,      "DarkOrange1", 255, 127, 0,
148      "DarkOrange2", 238, 118, 0,      "DarkOrange2", 238, 118, 0,
149      "DarkOrange3", 205, 102, 0,      "DarkOrange3", 205, 102, 0,
150      "DarkOrange4", 139, 69, 0,      "DarkOrange4", 139, 69, 0,
151      "DarkOrchid", 153, 50, 204,      "DarkOrchid", 153, 50, 204,
152      "DarkOrchid1", 191, 62, 255,      "DarkOrchid1", 191, 62, 255,
153      "DarkOrchid2", 178, 58, 238,      "DarkOrchid2", 178, 58, 238,
154      "DarkOrchid3", 154, 50, 205,      "DarkOrchid3", 154, 50, 205,
155      "DarkOrchid4", 104, 34, 139,      "DarkOrchid4", 104, 34, 139,
156      "DarkRed", 139, 0, 0,      "DarkRed", 139, 0, 0,
157      "DarkSalmon", 233, 150, 122,      "DarkSalmon", 233, 150, 122,
158      "DarkSeaGreen", 143, 188, 143,      "DarkSeaGreen", 143, 188, 143,
159      "DarkSeaGreen1", 193, 255, 193,      "DarkSeaGreen1", 193, 255, 193,
160      "DarkSeaGreen2", 180, 238, 180,      "DarkSeaGreen2", 180, 238, 180,
161      "DarkSeaGreen3", 155, 205, 155,      "DarkSeaGreen3", 155, 205, 155,
162      "DarkSeaGreen4", 105, 139, 105,      "DarkSeaGreen4", 105, 139, 105,
163      "DarkSlateBlue", 72, 61, 139,      "DarkSlateBlue", 72, 61, 139,
164      "DarkSlateGray", 47, 79, 79,      "DarkSlateGray", 47, 79, 79,
165      "DarkSlateGray1", 151, 255, 255,      "DarkSlateGray1", 151, 255, 255,
166      "DarkSlateGray2", 141, 238, 238,      "DarkSlateGray2", 141, 238, 238,
167      "DarkSlateGray3", 121, 205, 205,      "DarkSlateGray3", 121, 205, 205,
168      "DarkSlateGray4", 82, 139, 139,      "DarkSlateGray4", 82, 139, 139,
169      "DarkSlateGrey", 47, 79, 79,      "DarkSlateGrey", 47, 79, 79,
170      "DarkTurquoise", 0, 206, 209,      "DarkTurquoise", 0, 206, 209,
171      "DarkViolet", 148, 0, 211,      "DarkViolet", 148, 0, 211,
172      "deep pink", 255, 20, 147,      "deep pink", 255, 20, 147,
173      "deep sky blue", 0, 191, 255,      "deep sky blue", 0, 191, 255,
174      "DeepPink", 255, 20, 147,      "DeepPink", 255, 20, 147,
175      "DeepPink1", 255, 20, 147,      "DeepPink1", 255, 20, 147,
176      "DeepPink2", 238, 18, 137,      "DeepPink2", 238, 18, 137,
177      "DeepPink3", 205, 16, 118,      "DeepPink3", 205, 16, 118,
178      "DeepPink4", 139, 10, 80,      "DeepPink4", 139, 10, 80,
179      "DeepSkyBlue", 0, 191, 255,      "DeepSkyBlue", 0, 191, 255,
180      "DeepSkyBlue1", 0, 191, 255,      "DeepSkyBlue1", 0, 191, 255,
181      "DeepSkyBlue2", 0, 178, 238,      "DeepSkyBlue2", 0, 178, 238,
182      "DeepSkyBlue3", 0, 154, 205,      "DeepSkyBlue3", 0, 154, 205,
183      "DeepSkyBlue4", 0, 104, 139,      "DeepSkyBlue4", 0, 104, 139,
184      "dim gray", 105, 105, 105,      "dim gray", 105, 105, 105,
185      "dim grey", 105, 105, 105,      "dim grey", 105, 105, 105,
186      "DimGray", 105, 105, 105,      "DimGray", 105, 105, 105,
187      "DimGrey", 105, 105, 105,      "DimGrey", 105, 105, 105,
188      "dodger blue", 30, 144, 255,      "dodger blue", 30, 144, 255,
189      "DodgerBlue", 30, 144, 255,      "DodgerBlue", 30, 144, 255,
190      "DodgerBlue1", 30, 144, 255,      "DodgerBlue1", 30, 144, 255,
191      "DodgerBlue2", 28, 134, 238,      "DodgerBlue2", 28, 134, 238,
192      "DodgerBlue3", 24, 116, 205,      "DodgerBlue3", 24, 116, 205,
193      "DodgerBlue4", 16, 78, 139,      "DodgerBlue4", 16, 78, 139,
194      "firebrick", 178, 34, 34,      "firebrick", 178, 34, 34,
195      "firebrick1", 255, 48, 48,      "firebrick1", 255, 48, 48,
196      "firebrick2", 238, 44, 44,      "firebrick2", 238, 44, 44,
197      "firebrick3", 205, 38, 38,      "firebrick3", 205, 38, 38,
198      "firebrick4", 139, 26, 26,      "firebrick4", 139, 26, 26,
199      "floral white", 255, 250, 240,      "floral white", 255, 250, 240,
200      "FloralWhite", 255, 250, 240,      "FloralWhite", 255, 250, 240,
201      "forest green", 34, 139, 34,      "forest green", 34, 139, 34,
202      "ForestGreen", 34, 139, 34,      "ForestGreen", 34, 139, 34,
203      "gainsboro", 220, 220, 220,      "gainsboro", 220, 220, 220,
204      "ghost white", 248, 248, 255,      "ghost white", 248, 248, 255,
205      "GhostWhite", 248, 248, 255,      "GhostWhite", 248, 248, 255,
206      "gold", 255, 215, 0,      "gold", 255, 215, 0,
207      "gold1", 255, 215, 0,      "gold1", 255, 215, 0,
208      "gold2", 238, 201, 0,      "gold2", 238, 201, 0,
209      "gold3", 205, 173, 0,      "gold3", 205, 173, 0,
210      "gold4", 139, 117, 0,      "gold4", 139, 117, 0,
211      "goldenrod", 218, 165, 32,      "goldenrod", 218, 165, 32,
212      "goldenrod1", 255, 193, 37,      "goldenrod1", 255, 193, 37,
213      "goldenrod2", 238, 180, 34,      "goldenrod2", 238, 180, 34,
214      "goldenrod3", 205, 155, 29,      "goldenrod3", 205, 155, 29,
215      "goldenrod4", 139, 105, 20,      "goldenrod4", 139, 105, 20,
216      "gray", 190, 190, 190,      "gray", 190, 190, 190,
217      "gray0", 0, 0, 0,      "gray0", 0, 0, 0,
218      "gray1", 3, 3, 3,      "gray1", 3, 3, 3,
219      "gray10", 26, 26, 26,      "gray10", 26, 26, 26,
220      "gray100", 255, 255, 255,      "gray100", 255, 255, 255,
221      "gray11", 28, 28, 28,      "gray11", 28, 28, 28,
222      "gray12", 31, 31, 31,      "gray12", 31, 31, 31,
223      "gray13", 33, 33, 33,      "gray13", 33, 33, 33,
224      "gray14", 36, 36, 36,      "gray14", 36, 36, 36,
225      "gray15", 38, 38, 38,      "gray15", 38, 38, 38,
226      "gray16", 41, 41, 41,      "gray16", 41, 41, 41,
227      "gray17", 43, 43, 43,      "gray17", 43, 43, 43,
228      "gray18", 46, 46, 46,      "gray18", 46, 46, 46,
229      "gray19", 48, 48, 48,      "gray19", 48, 48, 48,
230      "gray2", 5, 5, 5,      "gray2", 5, 5, 5,
231      "gray20", 51, 51, 51,      "gray20", 51, 51, 51,
232      "gray21", 54, 54, 54,      "gray21", 54, 54, 54,
233      "gray22", 56, 56, 56,      "gray22", 56, 56, 56,
234      "gray23", 59, 59, 59,      "gray23", 59, 59, 59,
235      "gray24", 61, 61, 61,      "gray24", 61, 61, 61,
236      "gray25", 64, 64, 64,      "gray25", 64, 64, 64,
237      "gray26", 66, 66, 66,      "gray26", 66, 66, 66,
238      "gray27", 69, 69, 69,      "gray27", 69, 69, 69,
239      "gray28", 71, 71, 71,      "gray28", 71, 71, 71,
240      "gray29", 74, 74, 74,      "gray29", 74, 74, 74,
241      "gray3", 8, 8, 8,      "gray3", 8, 8, 8,
242      "gray30", 77, 77, 77,      "gray30", 77, 77, 77,
243      "gray31", 79, 79, 79,      "gray31", 79, 79, 79,
244      "gray32", 82, 82, 82,      "gray32", 82, 82, 82,
245      "gray33", 84, 84, 84,      "gray33", 84, 84, 84,
246      "gray34", 87, 87, 87,      "gray34", 87, 87, 87,
247      "gray35", 89, 89, 89,      "gray35", 89, 89, 89,
248      "gray36", 92, 92, 92,      "gray36", 92, 92, 92,
249      "gray37", 94, 94, 94,      "gray37", 94, 94, 94,
250      "gray38", 97, 97, 97,      "gray38", 97, 97, 97,
251      "gray39", 99, 99, 99,      "gray39", 99, 99, 99,
252      "gray4", 10, 10, 10,      "gray4", 10, 10, 10,
253      "gray40", 102, 102, 102,      "gray40", 102, 102, 102,
254      "gray41", 105, 105, 105,      "gray41", 105, 105, 105,
255      "gray42", 107, 107, 107,      "gray42", 107, 107, 107,
256      "gray43", 110, 110, 110,      "gray43", 110, 110, 110,
257      "gray44", 112, 112, 112,      "gray44", 112, 112, 112,
258      "gray45", 115, 115, 115,      "gray45", 115, 115, 115,
259      "gray46", 117, 117, 117,      "gray46", 117, 117, 117,
260      "gray47", 120, 120, 120,      "gray47", 120, 120, 120,
261      "gray48", 122, 122, 122,      "gray48", 122, 122, 122,
262      "gray49", 125, 125, 125,      "gray49", 125, 125, 125,
263      "gray5", 13, 13, 13,      "gray5", 13, 13, 13,
264      "gray50", 127, 127, 127,      "gray50", 127, 127, 127,
265      "gray51", 130, 130, 130,      "gray51", 130, 130, 130,
266      "gray52", 133, 133, 133,      "gray52", 133, 133, 133,
267      "gray53", 135, 135, 135,      "gray53", 135, 135, 135,
268      "gray54", 138, 138, 138,      "gray54", 138, 138, 138,
269      "gray55", 140, 140, 140,      "gray55", 140, 140, 140,
270      "gray56", 143, 143, 143,      "gray56", 143, 143, 143,
271      "gray57", 145, 145, 145,      "gray57", 145, 145, 145,
272      "gray58", 148, 148, 148,      "gray58", 148, 148, 148,
273      "gray59", 150, 150, 150,      "gray59", 150, 150, 150,
274      "gray6", 15, 15, 15,      "gray6", 15, 15, 15,
275      "gray60", 153, 153, 153,      "gray60", 153, 153, 153,
276      "gray61", 156, 156, 156,      "gray61", 156, 156, 156,
277      "gray62", 158, 158, 158,      "gray62", 158, 158, 158,
278      "gray63", 161, 161, 161,      "gray63", 161, 161, 161,
279      "gray64", 163, 163, 163,      "gray64", 163, 163, 163,
280      "gray65", 166, 166, 166,      "gray65", 166, 166, 166,
281      "gray66", 168, 168, 168,      "gray66", 168, 168, 168,
282      "gray67", 171, 171, 171,      "gray67", 171, 171, 171,
283      "gray68", 173, 173, 173,      "gray68", 173, 173, 173,
284      "gray69", 176, 176, 176,      "gray69", 176, 176, 176,
285      "gray7", 18, 18, 18,      "gray7", 18, 18, 18,
286      "gray70", 179, 179, 179,      "gray70", 179, 179, 179,
287      "gray71", 181, 181, 181,      "gray71", 181, 181, 181,
288      "gray72", 184, 184, 184,      "gray72", 184, 184, 184,
289      "gray73", 186, 186, 186,      "gray73", 186, 186, 186,
290      "gray74", 189, 189, 189,      "gray74", 189, 189, 189,
291      "gray75", 191, 191, 191,      "gray75", 191, 191, 191,
292      "gray76", 194, 194, 194,      "gray76", 194, 194, 194,
293      "gray77", 196, 196, 196,      "gray77", 196, 196, 196,
294      "gray78", 199, 199, 199,      "gray78", 199, 199, 199,
295      "gray79", 201, 201, 201,      "gray79", 201, 201, 201,
296      "gray8", 20, 20, 20,      "gray8", 20, 20, 20,
297      "gray80", 204, 204, 204,      "gray80", 204, 204, 204,
298      "gray81", 207, 207, 207,      "gray81", 207, 207, 207,
299      "gray82", 209, 209, 209,      "gray82", 209, 209, 209,
300      "gray83", 212, 212, 212,      "gray83", 212, 212, 212,
301      "gray84", 214, 214, 214,      "gray84", 214, 214, 214,
302      "gray85", 217, 217, 217,      "gray85", 217, 217, 217,
303      "gray86", 219, 219, 219,      "gray86", 219, 219, 219,
304      "gray87", 222, 222, 222,      "gray87", 222, 222, 222,
305      "gray88", 224, 224, 224,      "gray88", 224, 224, 224,
306      "gray89", 227, 227, 227,      "gray89", 227, 227, 227,
307      "gray9", 23, 23, 23,      "gray9", 23, 23, 23,
308      "gray90", 229, 229, 229,      "gray90", 229, 229, 229,
309      "gray91", 232, 232, 232,      "gray91", 232, 232, 232,
310      "gray92", 235, 235, 235,      "gray92", 235, 235, 235,
311      "gray93", 237, 237, 237,      "gray93", 237, 237, 237,
312      "gray94", 240, 240, 240,      "gray94", 240, 240, 240,
313      "gray95", 242, 242, 242,      "gray95", 242, 242, 242,
314      "gray96", 245, 245, 245,      "gray96", 245, 245, 245,
315      "gray97", 247, 247, 247,      "gray97", 247, 247, 247,
316      "gray98", 250, 250, 250,      "gray98", 250, 250, 250,
317      "gray99", 252, 252, 252,      "gray99", 252, 252, 252,
318      "green", 0, 255, 0,      "green", 0, 255, 0,
319      "green yellow", 173, 255, 47,      "green yellow", 173, 255, 47,
320      "green1", 0, 255, 0,      "green1", 0, 255, 0,
321      "green2", 0, 238, 0,      "green2", 0, 238, 0,
322      "green3", 0, 205, 0,      "green3", 0, 205, 0,
323      "green4", 0, 139, 0,      "green4", 0, 139, 0,
324      "GreenYellow", 173, 255, 47,      "GreenYellow", 173, 255, 47,
325      "grey", 190, 190, 190,      "grey", 190, 190, 190,
326      "grey0", 0, 0, 0,      "grey0", 0, 0, 0,
327      "grey1", 3, 3, 3,      "grey1", 3, 3, 3,
328      "grey10", 26, 26, 26,      "grey10", 26, 26, 26,
329      "grey100", 255, 255, 255,      "grey100", 255, 255, 255,
330      "grey11", 28, 28, 28,      "grey11", 28, 28, 28,
331      "grey12", 31, 31, 31,      "grey12", 31, 31, 31,
332      "grey13", 33, 33, 33,      "grey13", 33, 33, 33,
333      "grey14", 36, 36, 36,      "grey14", 36, 36, 36,
334      "grey15", 38, 38, 38,      "grey15", 38, 38, 38,
335      "grey16", 41, 41, 41,      "grey16", 41, 41, 41,
336      "grey17", 43, 43, 43,      "grey17", 43, 43, 43,
337      "grey18", 46, 46, 46,      "grey18", 46, 46, 46,
338      "grey19", 48, 48, 48,      "grey19", 48, 48, 48,
339      "grey2", 5, 5, 5,      "grey2", 5, 5, 5,
340      "grey20", 51, 51, 51,      "grey20", 51, 51, 51,
341      "grey21", 54, 54, 54,      "grey21", 54, 54, 54,
342      "grey22", 56, 56, 56,      "grey22", 56, 56, 56,
343      "grey23", 59, 59, 59,      "grey23", 59, 59, 59,
344      "grey24", 61, 61, 61,      "grey24", 61, 61, 61,
345      "grey25", 64, 64, 64,      "grey25", 64, 64, 64,
346      "grey26", 66, 66, 66,      "grey26", 66, 66, 66,
347      "grey27", 69, 69, 69,      "grey27", 69, 69, 69,
348      "grey28", 71, 71, 71,      "grey28", 71, 71, 71,
349      "grey29", 74, 74, 74,      "grey29", 74, 74, 74,
350      "grey3", 8, 8, 8,      "grey3", 8, 8, 8,
351      "grey30", 77, 77, 77,      "grey30", 77, 77, 77,
352      "grey31", 79, 79, 79,      "grey31", 79, 79, 79,
353      "grey32", 82, 82, 82,      "grey32", 82, 82, 82,
354      "grey33", 84, 84, 84,      "grey33", 84, 84, 84,
355      "grey34", 87, 87, 87,      "grey34", 87, 87, 87,
356      "grey35", 89, 89, 89,      "grey35", 89, 89, 89,
357      "grey36", 92, 92, 92,      "grey36", 92, 92, 92,
358      "grey37", 94, 94, 94,      "grey37", 94, 94, 94,
359      "grey38", 97, 97, 97,      "grey38", 97, 97, 97,
360      "grey39", 99, 99, 99,      "grey39", 99, 99, 99,
361      "grey4", 10, 10, 10,      "grey4", 10, 10, 10,
362      "grey40", 102, 102, 102,      "grey40", 102, 102, 102,
363      "grey41", 105, 105, 105,      "grey41", 105, 105, 105,
364      "grey42", 107, 107, 107,      "grey42", 107, 107, 107,
365      "grey43", 110, 110, 110,      "grey43", 110, 110, 110,
366      "grey44", 112, 112, 112,      "grey44", 112, 112, 112,
367      "grey45", 115, 115, 115,      "grey45", 115, 115, 115,
368      "grey46", 117, 117, 117,      "grey46", 117, 117, 117,
369      "grey47", 120, 120, 120,      "grey47", 120, 120, 120,
370      "grey48", 122, 122, 122,      "grey48", 122, 122, 122,
371      "grey49", 125, 125, 125,      "grey49", 125, 125, 125,
372      "grey5", 13, 13, 13,      "grey5", 13, 13, 13,
373      "grey50", 127, 127, 127,      "grey50", 127, 127, 127,
374      "grey51", 130, 130, 130,      "grey51", 130, 130, 130,
375      "grey52", 133, 133, 133,      "grey52", 133, 133, 133,
376      "grey53", 135, 135, 135,      "grey53", 135, 135, 135,
377      "grey54", 138, 138, 138,      "grey54", 138, 138, 138,
378      "grey55", 140, 140, 140,      "grey55", 140, 140, 140,
379      "grey56", 143, 143, 143,      "grey56", 143, 143, 143,
380      "grey57", 145, 145, 145,      "grey57", 145, 145, 145,
381      "grey58", 148, 148, 148,      "grey58", 148, 148, 148,
382      "grey59", 150, 150, 150,      "grey59", 150, 150, 150,
383      "grey6", 15, 15, 15,      "grey6", 15, 15, 15,
384      "grey60", 153, 153, 153,      "grey60", 153, 153, 153,
385      "grey61", 156, 156, 156,      "grey61", 156, 156, 156,
386      "grey62", 158, 158, 158,      "grey62", 158, 158, 158,
387      "grey63", 161, 161, 161,      "grey63", 161, 161, 161,
388      "grey64", 163, 163, 163,      "grey64", 163, 163, 163,
389      "grey65", 166, 166, 166,      "grey65", 166, 166, 166,
390      "grey66", 168, 168, 168,      "grey66", 168, 168, 168,
391      "grey67", 171, 171, 171,      "grey67", 171, 171, 171,
392      "grey68", 173, 173, 173,      "grey68", 173, 173, 173,
393      "grey69", 176, 176, 176,      "grey69", 176, 176, 176,
394      "grey7", 18, 18, 18,      "grey7", 18, 18, 18,
395      "grey70", 179, 179, 179,      "grey70", 179, 179, 179,
396      "grey71", 181, 181, 181,      "grey71", 181, 181, 181,
397      "grey72", 184, 184, 184,      "grey72", 184, 184, 184,
398      "grey73", 186, 186, 186,      "grey73", 186, 186, 186,
399      "grey74", 189, 189, 189,      "grey74", 189, 189, 189,
400      "grey75", 191, 191, 191,      "grey75", 191, 191, 191,
401      "grey76", 194, 194, 194,      "grey76", 194, 194, 194,
402      "grey77", 196, 196, 196,      "grey77", 196, 196, 196,
403      "grey78", 199, 199, 199,      "grey78", 199, 199, 199,
404      "grey79", 201, 201, 201,      "grey79", 201, 201, 201,
405      "grey8", 20, 20, 20,      "grey8", 20, 20, 20,
406      "grey80", 204, 204, 204,      "grey80", 204, 204, 204,
407      "grey81", 207, 207, 207,      "grey81", 207, 207, 207,
408      "grey82", 209, 209, 209,      "grey82", 209, 209, 209,
409      "grey83", 212, 212, 212,      "grey83", 212, 212, 212,
410      "grey84", 214, 214, 214,      "grey84", 214, 214, 214,
411      "grey85", 217, 217, 217,      "grey85", 217, 217, 217,
412      "grey86", 219, 219, 219,      "grey86", 219, 219, 219,
413      "grey87", 222, 222, 222,      "grey87", 222, 222, 222,
414      "grey88", 224, 224, 224,      "grey88", 224, 224, 224,
415      "grey89", 227, 227, 227,      "grey89", 227, 227, 227,
416      "grey9", 23, 23, 23,      "grey9", 23, 23, 23,
417      "grey90", 229, 229, 229,      "grey90", 229, 229, 229,
418      "grey91", 232, 232, 232,      "grey91", 232, 232, 232,
419      "grey92", 235, 235, 235,      "grey92", 235, 235, 235,
420      "grey93", 237, 237, 237,      "grey93", 237, 237, 237,
421      "grey94", 240, 240, 240,      "grey94", 240, 240, 240,
422      "grey95", 242, 242, 242,      "grey95", 242, 242, 242,
423      "grey96", 245, 245, 245,      "grey96", 245, 245, 245,
424      "grey97", 247, 247, 247,      "grey97", 247, 247, 247,
425      "grey98", 250, 250, 250,      "grey98", 250, 250, 250,
426      "grey99", 252, 252, 252,      "grey99", 252, 252, 252,
427      "honeydew", 240, 255, 240,      "honeydew", 240, 255, 240,
428      "honeydew1", 240, 255, 240,      "honeydew1", 240, 255, 240,
429      "honeydew2", 224, 238, 224,      "honeydew2", 224, 238, 224,
430      "honeydew3", 193, 205, 193,      "honeydew3", 193, 205, 193,
431      "honeydew4", 131, 139, 131,      "honeydew4", 131, 139, 131,
432      "hot pink", 255, 105, 180,      "hot pink", 255, 105, 180,
433      "HotPink", 255, 105, 180,      "HotPink", 255, 105, 180,
434      "HotPink1", 255, 110, 180,      "HotPink1", 255, 110, 180,
435      "HotPink2", 238, 106, 167,      "HotPink2", 238, 106, 167,
436      "HotPink3", 205, 96, 144,      "HotPink3", 205, 96, 144,
437      "HotPink4", 139, 58, 98,      "HotPink4", 139, 58, 98,
438      "indian red", 205, 92, 92,      "indian red", 205, 92, 92,
439      "IndianRed", 205, 92, 92,      "IndianRed", 205, 92, 92,
440      "IndianRed1", 255, 106, 106,      "IndianRed1", 255, 106, 106,
441      "IndianRed2", 238, 99, 99,      "IndianRed2", 238, 99, 99,
442      "IndianRed3", 205, 85, 85,      "IndianRed3", 205, 85, 85,
443      "IndianRed4", 139, 58, 58,      "IndianRed4", 139, 58, 58,
444      "ivory", 255, 255, 240,      "ivory", 255, 255, 240,
445      "ivory1", 255, 255, 240,      "ivory1", 255, 255, 240,
446      "ivory2", 238, 238, 224,      "ivory2", 238, 238, 224,
447      "ivory3", 205, 205, 193,      "ivory3", 205, 205, 193,
448      "ivory4", 139, 139, 131,      "ivory4", 139, 139, 131,
449      "khaki", 240, 230, 140,      "khaki", 240, 230, 140,
450      "khaki1", 255, 246, 143,      "khaki1", 255, 246, 143,
451      "khaki2", 238, 230, 133,      "khaki2", 238, 230, 133,
452      "khaki3", 205, 198, 115,      "khaki3", 205, 198, 115,
453      "khaki4", 139, 134, 78,      "khaki4", 139, 134, 78,
454      "lavender", 230, 230, 250,      "lavender", 230, 230, 250,
455      "lavender blush", 255, 240, 245,      "lavender blush", 255, 240, 245,
456      "LavenderBlush", 255, 240, 245,      "LavenderBlush", 255, 240, 245,
457      "LavenderBlush1", 255, 240, 245,      "LavenderBlush1", 255, 240, 245,
458      "LavenderBlush2", 238, 224, 229,      "LavenderBlush2", 238, 224, 229,
459      "LavenderBlush3", 205, 193, 197,      "LavenderBlush3", 205, 193, 197,
460      "LavenderBlush4", 139, 131, 134,      "LavenderBlush4", 139, 131, 134,
461      "lawn green", 124, 252, 0,      "lawn green", 124, 252, 0,
462      "LawnGreen", 124, 252, 0,      "LawnGreen", 124, 252, 0,
463      "lemon chiffon", 255, 250, 205,      "lemon chiffon", 255, 250, 205,
464      "LemonChiffon", 255, 250, 205,      "LemonChiffon", 255, 250, 205,
465      "LemonChiffon1", 255, 250, 205,      "LemonChiffon1", 255, 250, 205,
466      "LemonChiffon2", 238, 233, 191,      "LemonChiffon2", 238, 233, 191,
467      "LemonChiffon3", 205, 201, 165,      "LemonChiffon3", 205, 201, 165,
468      "LemonChiffon4", 139, 137, 112,      "LemonChiffon4", 139, 137, 112,
469      "light blue", 173, 216, 230,      "light blue", 173, 216, 230,
470      "light coral", 240, 128, 128,      "light coral", 240, 128, 128,
471      "light cyan", 224, 255, 255,      "light cyan", 224, 255, 255,
472      "light goldenrod", 238, 221, 130,      "light goldenrod", 238, 221, 130,
473      "light goldenrod yellow", 250, 250, 210,      "light goldenrod yellow", 250, 250, 210,
474      "light gray", 211, 211, 211,      "light gray", 211, 211, 211,
475      "light green", 144, 238, 144,      "light green", 144, 238, 144,
476      "light grey", 211, 211, 211,      "light grey", 211, 211, 211,
477      "light pink", 255, 182, 193,      "light pink", 255, 182, 193,
478      "light salmon", 255, 160, 122,      "light salmon", 255, 160, 122,
479      "light sea green", 32, 178, 170,      "light sea green", 32, 178, 170,
480      "light sky blue", 135, 206, 250,      "light sky blue", 135, 206, 250,
481      "light slate blue", 132, 112, 255,      "light slate blue", 132, 112, 255,
482      "light slate gray", 119, 136, 153,      "light slate gray", 119, 136, 153,
483      "light slate grey", 119, 136, 153,      "light slate grey", 119, 136, 153,
484      "light steel blue", 176, 196, 222,      "light steel blue", 176, 196, 222,
485      "light yellow", 255, 255, 224,      "light yellow", 255, 255, 224,
486      "LightBlue", 173, 216, 230,      "LightBlue", 173, 216, 230,
487      "LightBlue1", 191, 239, 255,      "LightBlue1", 191, 239, 255,
488      "LightBlue2", 178, 223, 238,      "LightBlue2", 178, 223, 238,
489      "LightBlue3", 154, 192, 205,      "LightBlue3", 154, 192, 205,
490      "LightBlue4", 104, 131, 139,      "LightBlue4", 104, 131, 139,
491      "LightCoral", 240, 128, 128,      "LightCoral", 240, 128, 128,
492      "LightCyan", 224, 255, 255,      "LightCyan", 224, 255, 255,
493      "LightCyan1", 224, 255, 255,      "LightCyan1", 224, 255, 255,
494      "LightCyan2", 209, 238, 238,      "LightCyan2", 209, 238, 238,
495      "LightCyan3", 180, 205, 205,      "LightCyan3", 180, 205, 205,
496      "LightCyan4", 122, 139, 139,      "LightCyan4", 122, 139, 139,
497      "LightGoldenrod", 238, 221, 130,      "LightGoldenrod", 238, 221, 130,
498      "LightGoldenrod1", 255, 236, 139,      "LightGoldenrod1", 255, 236, 139,
499      "LightGoldenrod2", 238, 220, 130,      "LightGoldenrod2", 238, 220, 130,
500      "LightGoldenrod3", 205, 190, 112,      "LightGoldenrod3", 205, 190, 112,
501      "LightGoldenrod4", 139, 129, 76,      "LightGoldenrod4", 139, 129, 76,
502      "LightGoldenrodYellow", 250, 250, 210,      "LightGoldenrodYellow", 250, 250, 210,
503      "LightGray", 211, 211, 211,      "LightGray", 211, 211, 211,
504      "LightGreen", 144, 238, 144,      "LightGreen", 144, 238, 144,
505      "LightGrey", 211, 211, 211,      "LightGrey", 211, 211, 211,
506      "LightPink", 255, 182, 193,      "LightPink", 255, 182, 193,
507      "LightPink1", 255, 174, 185,      "LightPink1", 255, 174, 185,
508      "LightPink2", 238, 162, 173,      "LightPink2", 238, 162, 173,
509      "LightPink3", 205, 140, 149,      "LightPink3", 205, 140, 149,
510      "LightPink4", 139, 95, 101,      "LightPink4", 139, 95, 101,
511      "LightSalmon", 255, 160, 122,      "LightSalmon", 255, 160, 122,
512      "LightSalmon1", 255, 160, 122,      "LightSalmon1", 255, 160, 122,
513      "LightSalmon2", 238, 149, 114,      "LightSalmon2", 238, 149, 114,
514      "LightSalmon3", 205, 129, 98,      "LightSalmon3", 205, 129, 98,
515      "LightSalmon4", 139, 87, 66,      "LightSalmon4", 139, 87, 66,
516      "LightSeaGreen", 32, 178, 170,      "LightSeaGreen", 32, 178, 170,
517      "LightSkyBlue", 135, 206, 250,      "LightSkyBlue", 135, 206, 250,
518      "LightSkyBlue1", 176, 226, 255,      "LightSkyBlue1", 176, 226, 255,
519      "LightSkyBlue2", 164, 211, 238,      "LightSkyBlue2", 164, 211, 238,
520      "LightSkyBlue3", 141, 182, 205,      "LightSkyBlue3", 141, 182, 205,
521      "LightSkyBlue4", 96, 123, 139,      "LightSkyBlue4", 96, 123, 139,
522      "LightSlateBlue", 132, 112, 255,      "LightSlateBlue", 132, 112, 255,
523      "LightSlateGray", 119, 136, 153,      "LightSlateGray", 119, 136, 153,
524      "LightSlateGrey", 119, 136, 153,      "LightSlateGrey", 119, 136, 153,
525      "LightSteelBlue", 176, 196, 222,      "LightSteelBlue", 176, 196, 222,
526      "LightSteelBlue1", 202, 225, 255,      "LightSteelBlue1", 202, 225, 255,
527      "LightSteelBlue2", 188, 210, 238,      "LightSteelBlue2", 188, 210, 238,
528      "LightSteelBlue3", 162, 181, 205,      "LightSteelBlue3", 162, 181, 205,
529      "LightSteelBlue4", 110, 123, 139,      "LightSteelBlue4", 110, 123, 139,
530      "LightYellow", 255, 255, 224,      "LightYellow", 255, 255, 224,
531      "LightYellow1", 255, 255, 224,      "LightYellow1", 255, 255, 224,
532      "LightYellow2", 238, 238, 209,      "LightYellow2", 238, 238, 209,
533      "LightYellow3", 205, 205, 180,      "LightYellow3", 205, 205, 180,
534      "LightYellow4", 139, 139, 122,      "LightYellow4", 139, 139, 122,
535      "lime green", 50, 205, 50,      "lime green", 50, 205, 50,
536      "LimeGreen", 50, 205, 50,      "LimeGreen", 50, 205, 50,
537      "linen", 250, 240, 230,      "linen", 250, 240, 230,
538      "magenta", 255, 0, 255,      "magenta", 255, 0, 255,
539      "magenta1", 255, 0, 255,      "magenta1", 255, 0, 255,
540      "magenta2", 238, 0, 238,      "magenta2", 238, 0, 238,
541      "magenta3", 205, 0, 205,      "magenta3", 205, 0, 205,
542      "magenta4", 139, 0, 139,      "magenta4", 139, 0, 139,
543      "maroon", 176, 48, 96,      "maroon", 176, 48, 96,
544      "maroon1", 255, 52, 179,      "maroon1", 255, 52, 179,
545      "maroon2", 238, 48, 167,      "maroon2", 238, 48, 167,
546      "maroon3", 205, 41, 144,      "maroon3", 205, 41, 144,
547      "maroon4", 139, 28, 98,      "maroon4", 139, 28, 98,
548      "medium aquamarine", 102, 205, 170,      "medium aquamarine", 102, 205, 170,
549      "medium blue", 0, 0, 205,      "medium blue", 0, 0, 205,
550      "medium orchid", 186, 85, 211,      "medium orchid", 186, 85, 211,
551      "medium purple", 147, 112, 219,      "medium purple", 147, 112, 219,
552      "medium sea green", 60, 179, 113,      "medium sea green", 60, 179, 113,
553      "medium slate blue", 123, 104, 238,      "medium slate blue", 123, 104, 238,
554      "medium spring green", 0, 250, 154,      "medium spring green", 0, 250, 154,
555      "medium turquoise", 72, 209, 204,      "medium turquoise", 72, 209, 204,
556      "medium violet red", 199, 21, 133,      "medium violet red", 199, 21, 133,
557      "MediumAquamarine", 102, 205, 170,      "MediumAquamarine", 102, 205, 170,
558      "MediumBlue", 0, 0, 205,      "MediumBlue", 0, 0, 205,
559      "MediumOrchid", 186, 85, 211,      "MediumOrchid", 186, 85, 211,
560      "MediumOrchid1", 224, 102, 255,      "MediumOrchid1", 224, 102, 255,
561      "MediumOrchid2", 209, 95, 238,      "MediumOrchid2", 209, 95, 238,
562      "MediumOrchid3", 180, 82, 205,      "MediumOrchid3", 180, 82, 205,
563      "MediumOrchid4", 122, 55, 139,      "MediumOrchid4", 122, 55, 139,
564      "MediumPurple", 147, 112, 219,      "MediumPurple", 147, 112, 219,
565      "MediumPurple1", 171, 130, 255,      "MediumPurple1", 171, 130, 255,
566      "MediumPurple2", 159, 121, 238,      "MediumPurple2", 159, 121, 238,
567      "MediumPurple3", 137, 104, 205,      "MediumPurple3", 137, 104, 205,
568      "MediumPurple4", 93, 71, 139,      "MediumPurple4", 93, 71, 139,
569      "MediumSeaGreen", 60, 179, 113,      "MediumSeaGreen", 60, 179, 113,
570      "MediumSlateBlue", 123, 104, 238,      "MediumSlateBlue", 123, 104, 238,
571      "MediumSpringGreen", 0, 250, 154,      "MediumSpringGreen", 0, 250, 154,
572      "MediumTurquoise", 72, 209, 204,      "MediumTurquoise", 72, 209, 204,
573      "MediumVioletRed", 199, 21, 133,      "MediumVioletRed", 199, 21, 133,
574      "midnight blue", 25, 25, 112,      "midnight blue", 25, 25, 112,
575      "MidnightBlue", 25, 25, 112,      "MidnightBlue", 25, 25, 112,
576      "mint cream", 245, 255, 250,      "mint cream", 245, 255, 250,
577      "MintCream", 245, 255, 250,      "MintCream", 245, 255, 250,
578      "misty rose", 255, 228, 225,      "misty rose", 255, 228, 225,
579      "MistyRose", 255, 228, 225,      "MistyRose", 255, 228, 225,
580      "MistyRose1", 255, 228, 225,      "MistyRose1", 255, 228, 225,
581      "MistyRose2", 238, 213, 210,      "MistyRose2", 238, 213, 210,
582      "MistyRose3", 205, 183, 181,      "MistyRose3", 205, 183, 181,
583      "MistyRose4", 139, 125, 123,      "MistyRose4", 139, 125, 123,
584      "moccasin", 255, 228, 181,      "moccasin", 255, 228, 181,
585      "navajo white", 255, 222, 173,      "navajo white", 255, 222, 173,
586      "NavajoWhite", 255, 222, 173,      "NavajoWhite", 255, 222, 173,
587      "NavajoWhite1", 255, 222, 173,      "NavajoWhite1", 255, 222, 173,
588      "NavajoWhite2", 238, 207, 161,      "NavajoWhite2", 238, 207, 161,
589      "NavajoWhite3", 205, 179, 139,      "NavajoWhite3", 205, 179, 139,
590      "NavajoWhite4", 139, 121, 94,      "NavajoWhite4", 139, 121, 94,
591      "navy", 0, 0, 128,      "navy", 0, 0, 128,
592      "navy blue", 0, 0, 128,      "navy blue", 0, 0, 128,
593      "NavyBlue", 0, 0, 128,      "NavyBlue", 0, 0, 128,
594      "old lace", 253, 245, 230,      "old lace", 253, 245, 230,
595      "OldLace", 253, 245, 230,      "OldLace", 253, 245, 230,
596      "olive drab", 107, 142, 35,      "olive drab", 107, 142, 35,
597      "OliveDrab", 107, 142, 35,      "OliveDrab", 107, 142, 35,
598      "OliveDrab1", 192, 255, 62,      "OliveDrab1", 192, 255, 62,
599      "OliveDrab2", 179, 238, 58,      "OliveDrab2", 179, 238, 58,
600      "OliveDrab3", 154, 205, 50,      "OliveDrab3", 154, 205, 50,
601      "OliveDrab4", 105, 139, 34,      "OliveDrab4", 105, 139, 34,
602      "orange", 255, 165, 0,      "orange", 255, 165, 0,
603      "orange red", 255, 69, 0,      "orange red", 255, 69, 0,
604      "orange1", 255, 165, 0,      "orange1", 255, 165, 0,
605      "orange2", 238, 154, 0,      "orange2", 238, 154, 0,
606      "orange3", 205, 133, 0,      "orange3", 205, 133, 0,
607      "orange4", 139, 90, 0,      "orange4", 139, 90, 0,
608      "OrangeRed", 255, 69, 0,      "OrangeRed", 255, 69, 0,
609      "OrangeRed1", 255, 69, 0,      "OrangeRed1", 255, 69, 0,
610      "OrangeRed2", 238, 64, 0,      "OrangeRed2", 238, 64, 0,
611      "OrangeRed3", 205, 55, 0,      "OrangeRed3", 205, 55, 0,
612      "OrangeRed4", 139, 37, 0,      "OrangeRed4", 139, 37, 0,
613      "orchid", 218, 112, 214,      "orchid", 218, 112, 214,
614      "orchid1", 255, 131, 250,      "orchid1", 255, 131, 250,
615      "orchid2", 238, 122, 233,      "orchid2", 238, 122, 233,
616      "orchid3", 205, 105, 201,      "orchid3", 205, 105, 201,
617      "orchid4", 139, 71, 137,      "orchid4", 139, 71, 137,
618      "pale goldenrod", 238, 232, 170,      "pale goldenrod", 238, 232, 170,
619      "pale green", 152, 251, 152,      "pale green", 152, 251, 152,
620      "pale turquoise", 175, 238, 238,      "pale turquoise", 175, 238, 238,
621      "pale violet red", 219, 112, 147,      "pale violet red", 219, 112, 147,
622      "PaleGoldenrod", 238, 232, 170,      "PaleGoldenrod", 238, 232, 170,
623      "PaleGreen", 152, 251, 152,      "PaleGreen", 152, 251, 152,
624      "PaleGreen1", 154, 255, 154,      "PaleGreen1", 154, 255, 154,
625      "PaleGreen2", 144, 238, 144,      "PaleGreen2", 144, 238, 144,
626      "PaleGreen3", 124, 205, 124,      "PaleGreen3", 124, 205, 124,
627      "PaleGreen4", 84, 139, 84,      "PaleGreen4", 84, 139, 84,
628      "PaleTurquoise", 175, 238, 238,      "PaleTurquoise", 175, 238, 238,
629      "PaleTurquoise1", 187, 255, 255,      "PaleTurquoise1", 187, 255, 255,
630      "PaleTurquoise2", 174, 238, 238,      "PaleTurquoise2", 174, 238, 238,
631      "PaleTurquoise3", 150, 205, 205,      "PaleTurquoise3", 150, 205, 205,
632      "PaleTurquoise4", 102, 139, 139,      "PaleTurquoise4", 102, 139, 139,
633      "PaleVioletRed", 219, 112, 147,      "PaleVioletRed", 219, 112, 147,
634      "PaleVioletRed1", 255, 130, 171,      "PaleVioletRed1", 255, 130, 171,
635      "PaleVioletRed2", 238, 121, 159,      "PaleVioletRed2", 238, 121, 159,
636      "PaleVioletRed3", 205, 104, 137,      "PaleVioletRed3", 205, 104, 137,
637      "PaleVioletRed4", 139, 71, 93,      "PaleVioletRed4", 139, 71, 93,
638      "papaya whip", 255, 239, 213,      "papaya whip", 255, 239, 213,
639      "PapayaWhip", 255, 239, 213,      "PapayaWhip", 255, 239, 213,
640      "peach puff", 255, 218, 185,      "peach puff", 255, 218, 185,
641      "PeachPuff", 255, 218, 185,      "PeachPuff", 255, 218, 185,
642      "PeachPuff1", 255, 218, 185,      "PeachPuff1", 255, 218, 185,
643      "PeachPuff2", 238, 203, 173,      "PeachPuff2", 238, 203, 173,
644      "PeachPuff3", 205, 175, 149,      "PeachPuff3", 205, 175, 149,
645      "PeachPuff4", 139, 119, 101,      "PeachPuff4", 139, 119, 101,
646      "peru", 205, 133, 63,      "peru", 205, 133, 63,
647      "pink", 255, 192, 203,      "pink", 255, 192, 203,
648      "pink1", 255, 181, 197,      "pink1", 255, 181, 197,
649      "pink2", 238, 169, 184,      "pink2", 238, 169, 184,
650      "pink3", 205, 145, 158,      "pink3", 205, 145, 158,
651      "pink4", 139, 99, 108,      "pink4", 139, 99, 108,
652      "plum", 221, 160, 221,      "plum", 221, 160, 221,
653      "plum1", 255, 187, 255,      "plum1", 255, 187, 255,
654      "plum2", 238, 174, 238,      "plum2", 238, 174, 238,
655      "plum3", 205, 150, 205,      "plum3", 205, 150, 205,
656      "plum4", 139, 102, 139,      "plum4", 139, 102, 139,
657      "powder blue", 176, 224, 230,      "powder blue", 176, 224, 230,
658      "PowderBlue", 176, 224, 230,      "PowderBlue", 176, 224, 230,
659      "purple", 160, 32, 240,      "purple", 160, 32, 240,
660      "purple1", 155, 48, 255,      "purple1", 155, 48, 255,
661      "purple2", 145, 44, 238,      "purple2", 145, 44, 238,
662      "purple3", 125, 38, 205,      "purple3", 125, 38, 205,
663      "purple4", 85, 26, 139,      "purple4", 85, 26, 139,
664      "red", 255, 0, 0,      "red", 255, 0, 0,
665      "red1", 255, 0, 0,      "red1", 255, 0, 0,
666      "red2", 238, 0, 0,      "red2", 238, 0, 0,
667      "red3", 205, 0, 0,      "red3", 205, 0, 0,
668      "red4", 139, 0, 0,      "red4", 139, 0, 0,
669      "rosy brown", 188, 143, 143,      "rosy brown", 188, 143, 143,
670      "RosyBrown", 188, 143, 143,      "RosyBrown", 188, 143, 143,
671      "RosyBrown1", 255, 193, 193,      "RosyBrown1", 255, 193, 193,
672      "RosyBrown2", 238, 180, 180,      "RosyBrown2", 238, 180, 180,
673      "RosyBrown3", 205, 155, 155,      "RosyBrown3", 205, 155, 155,
674      "RosyBrown4", 139, 105, 105,      "RosyBrown4", 139, 105, 105,
675      "royal blue", 65, 105, 225,      "royal blue", 65, 105, 225,
676      "RoyalBlue", 65, 105, 225,      "RoyalBlue", 65, 105, 225,
677      "RoyalBlue1", 72, 118, 255,      "RoyalBlue1", 72, 118, 255,
678      "RoyalBlue2", 67, 110, 238,      "RoyalBlue2", 67, 110, 238,
679      "RoyalBlue3", 58, 95, 205,      "RoyalBlue3", 58, 95, 205,
680      "RoyalBlue4", 39, 64, 139,      "RoyalBlue4", 39, 64, 139,
681      "saddle brown", 139, 69, 19,      "saddle brown", 139, 69, 19,
682      "SaddleBrown", 139, 69, 19,      "SaddleBrown", 139, 69, 19,
683      "salmon", 250, 128, 114,      "salmon", 250, 128, 114,
684      "salmon1", 255, 140, 105,      "salmon1", 255, 140, 105,
685      "salmon2", 238, 130, 98,      "salmon2", 238, 130, 98,
686      "salmon3", 205, 112, 84,      "salmon3", 205, 112, 84,
687      "salmon4", 139, 76, 57,      "salmon4", 139, 76, 57,
688      "sandy brown", 244, 164, 96,      "sandy brown", 244, 164, 96,
689      "SandyBrown", 244, 164, 96,      "SandyBrown", 244, 164, 96,
690      "sea green", 46, 139, 87,      "sea green", 46, 139, 87,
691      "SeaGreen", 46, 139, 87,      "SeaGreen", 46, 139, 87,
692      "SeaGreen1", 84, 255, 159,      "SeaGreen1", 84, 255, 159,
693      "SeaGreen2", 78, 238, 148,      "SeaGreen2", 78, 238, 148,
694      "SeaGreen3", 67, 205, 128,      "SeaGreen3", 67, 205, 128,
695      "SeaGreen4", 46, 139, 87,      "SeaGreen4", 46, 139, 87,
696      "seashell", 255, 245, 238,      "seashell", 255, 245, 238,
697      "seashell1", 255, 245, 238,      "seashell1", 255, 245, 238,
698      "seashell2", 238, 229, 222,      "seashell2", 238, 229, 222,
699      "seashell3", 205, 197, 191,      "seashell3", 205, 197, 191,
700      "seashell4", 139, 134, 130,      "seashell4", 139, 134, 130,
701      "sienna", 160, 82, 45,      "sienna", 160, 82, 45,
702      "sienna1", 255, 130, 71,      "sienna1", 255, 130, 71,
703      "sienna2", 238, 121, 66,      "sienna2", 238, 121, 66,
704      "sienna3", 205, 104, 57,      "sienna3", 205, 104, 57,
705      "sienna4", 139, 71, 38,      "sienna4", 139, 71, 38,
706      "sky blue", 135, 206, 235,      "sky blue", 135, 206, 235,
707      "SkyBlue", 135, 206, 235,      "SkyBlue", 135, 206, 235,
708      "SkyBlue1", 135, 206, 255,      "SkyBlue1", 135, 206, 255,
709      "SkyBlue2", 126, 192, 238,      "SkyBlue2", 126, 192, 238,
710      "SkyBlue3", 108, 166, 205,      "SkyBlue3", 108, 166, 205,
711      "SkyBlue4", 74, 112, 139,      "SkyBlue4", 74, 112, 139,
712      "slate blue", 106, 90, 205,      "slate blue", 106, 90, 205,
713      "slate gray", 112, 128, 144,      "slate gray", 112, 128, 144,
714      "slate grey", 112, 128, 144,      "slate grey", 112, 128, 144,
715      "SlateBlue", 106, 90, 205,      "SlateBlue", 106, 90, 205,
716      "SlateBlue1", 131, 111, 255,      "SlateBlue1", 131, 111, 255,
717      "SlateBlue2", 122, 103, 238,      "SlateBlue2", 122, 103, 238,
718      "SlateBlue3", 105, 89, 205,      "SlateBlue3", 105, 89, 205,
719      "SlateBlue4", 71, 60, 139,      "SlateBlue4", 71, 60, 139,
720      "SlateGray", 112, 128, 144,      "SlateGray", 112, 128, 144,
721      "SlateGray1", 198, 226, 255,      "SlateGray1", 198, 226, 255,
722      "SlateGray2", 185, 211, 238,      "SlateGray2", 185, 211, 238,
723      "SlateGray3", 159, 182, 205,      "SlateGray3", 159, 182, 205,
724      "SlateGray4", 108, 123, 139,      "SlateGray4", 108, 123, 139,
725      "SlateGrey", 112, 128, 144,      "SlateGrey", 112, 128, 144,
726      "snow", 255, 250, 250,      "snow", 255, 250, 250,
727      "snow1", 255, 250, 250,      "snow1", 255, 250, 250,
728      "snow2", 238, 233, 233,      "snow2", 238, 233, 233,
729      "snow3", 205, 201, 201,      "snow3", 205, 201, 201,
730      "snow4", 139, 137, 137,      "snow4", 139, 137, 137,
731      "spring green", 0, 255, 127,      "spring green", 0, 255, 127,
732      "SpringGreen", 0, 255, 127,      "SpringGreen", 0, 255, 127,
733      "SpringGreen1", 0, 255, 127,      "SpringGreen1", 0, 255, 127,
734      "SpringGreen2", 0, 238, 118,      "SpringGreen2", 0, 238, 118,
735      "SpringGreen3", 0, 205, 102,      "SpringGreen3", 0, 205, 102,
736      "SpringGreen4", 0, 139, 69,      "SpringGreen4", 0, 139, 69,
737      "steel blue", 70, 130, 180,      "steel blue", 70, 130, 180,
738      "SteelBlue", 70, 130, 180,      "SteelBlue", 70, 130, 180,
739      "SteelBlue1", 99, 184, 255,      "SteelBlue1", 99, 184, 255,
740      "SteelBlue2", 92, 172, 238,      "SteelBlue2", 92, 172, 238,
741      "SteelBlue3", 79, 148, 205,      "SteelBlue3", 79, 148, 205,
742      "SteelBlue4", 54, 100, 139,      "SteelBlue4", 54, 100, 139,
743      "tan", 210, 180, 140,      "tan", 210, 180, 140,
744      "tan1", 255, 165, 79,      "tan1", 255, 165, 79,
745      "tan2", 238, 154, 73,      "tan2", 238, 154, 73,
746      "tan3", 205, 133, 63,      "tan3", 205, 133, 63,
747      "tan4", 139, 90, 43,      "tan4", 139, 90, 43,
748      "thistle", 216, 191, 216,      "thistle", 216, 191, 216,
749      "thistle1", 255, 225, 255,      "thistle1", 255, 225, 255,
750      "thistle2", 238, 210, 238,      "thistle2", 238, 210, 238,
751      "thistle3", 205, 181, 205,      "thistle3", 205, 181, 205,
752      "thistle4", 139, 123, 139,      "thistle4", 139, 123, 139,
753      "tomato", 255, 99, 71,      "tomato", 255, 99, 71,
754      "tomato1", 255, 99, 71,      "tomato1", 255, 99, 71,
755      "tomato2", 238, 92, 66,      "tomato2", 238, 92, 66,
756      "tomato3", 205, 79, 57,      "tomato3", 205, 79, 57,
757      "tomato4", 139, 54, 38,      "tomato4", 139, 54, 38,
758      "turquoise", 64, 224, 208,      "turquoise", 64, 224, 208,
759      "turquoise1", 0, 245, 255,      "turquoise1", 0, 245, 255,
760      "turquoise2", 0, 229, 238,      "turquoise2", 0, 229, 238,
761      "turquoise3", 0, 197, 205,      "turquoise3", 0, 197, 205,
762      "turquoise4", 0, 134, 139,      "turquoise4", 0, 134, 139,
763      "violet", 238, 130, 238,      "violet", 238, 130, 238,
764      "violet red", 208, 32, 144,      "violet red", 208, 32, 144,
765      "VioletRed", 208, 32, 144,      "VioletRed", 208, 32, 144,
766      "VioletRed1", 255, 62, 150,      "VioletRed1", 255, 62, 150,
767      "VioletRed2", 238, 58, 140,      "VioletRed2", 238, 58, 140,
768      "VioletRed3", 205, 50, 120,      "VioletRed3", 205, 50, 120,
769      "VioletRed4", 139, 34, 82,      "VioletRed4", 139, 34, 82,
770      "wheat", 245, 222, 179,      "wheat", 245, 222, 179,
771      "wheat1", 255, 231, 186,      "wheat1", 255, 231, 186,
772      "wheat2", 238, 216, 174,      "wheat2", 238, 216, 174,
773      "wheat3", 205, 186, 150,      "wheat3", 205, 186, 150,
774      "wheat4", 139, 126, 102,      "wheat4", 139, 126, 102,
775      "white", 255, 255, 255,      "white", 255, 255, 255,
776      "white smoke", 245, 245, 245,      "white smoke", 245, 245, 245,
777      "WhiteSmoke", 245, 245, 245,      "WhiteSmoke", 245, 245, 245,
778      "yellow", 255, 255, 0,      "yellow", 255, 255, 0,
779      "yellow green", 154, 205, 50,      "yellow green", 154, 205, 50,
780      "yellow1", 255, 255, 0,      "yellow1", 255, 255, 0,
781      "yellow2", 238, 238, 0,      "yellow2", 238, 238, 0,
782      "yellow3", 205, 205, 0,      "yellow3", 205, 205, 0,
783      "yellow4", 139, 139, 0,      "yellow4", 139, 139, 0,
784      "YellowGreen", 154, 205, 50,      "YellowGreen", 154, 205, 50,
785      NULL, 0, 0, 0      NULL, 0, 0, 0
786  };  };
787    
788    
789  /*  /*
790   * This value will be set to the number of colors in the color table   * This value will be set to the number of colors in the color table
791   * the first time it is needed.   * the first time it is needed.
792   */   */
793    
794  static int numXColors = 0;  static int numXColors = 0;
795    
796  /*  /*
797   * Forward declarations for functions used only in this file.   * Forward declarations for functions used only in this file.
798   */   */
799    
800  static int      FindColor _ANSI_ARGS_((const char *name, XColor *colorPtr));  static int      FindColor _ANSI_ARGS_((const char *name, XColor *colorPtr));
801    
802  /*  /*
803   *----------------------------------------------------------------------   *----------------------------------------------------------------------
804   *   *
805   * FindColor --   * FindColor --
806   *   *
807   *      This routine finds the color entry that corresponds to the   *      This routine finds the color entry that corresponds to the
808   *      specified color.   *      specified color.
809   *   *
810   * Results:   * Results:
811   *      Returns non-zero on success.  The RGB values of the XColor   *      Returns non-zero on success.  The RGB values of the XColor
812   *      will be initialized to the proper values on success.   *      will be initialized to the proper values on success.
813   *   *
814   * Side effects:   * Side effects:
815   *      None.   *      None.
816   *   *
817   *----------------------------------------------------------------------   *----------------------------------------------------------------------
818   */   */
819    
820  static int  static int
821  FindColor(name, colorPtr)  FindColor(name, colorPtr)
822      const char *name;      const char *name;
823      XColor *colorPtr;      XColor *colorPtr;
824  {  {
825      int l, u, r, i;      int l, u, r, i;
826    
827      /*      /*
828       * Count the number of elements in the color array if we haven't       * Count the number of elements in the color array if we haven't
829       * done so yet.       * done so yet.
830       */       */
831    
832      if (numXColors == 0) {      if (numXColors == 0) {
833          XColorEntry *ePtr;          XColorEntry *ePtr;
834          for (ePtr = xColors; ePtr->name != NULL; ePtr++) {          for (ePtr = xColors; ePtr->name != NULL; ePtr++) {
835              numXColors++;              numXColors++;
836          }          }
837      }      }
838    
839      /*      /*
840       * Perform a binary search on the sorted array of colors.       * Perform a binary search on the sorted array of colors.
841       */       */
842    
843      l = 0;      l = 0;
844      u = numXColors - 1;      u = numXColors - 1;
845      while (l <= u) {      while (l <= u) {
846          i = (l + u) / 2;          i = (l + u) / 2;
847          r = strcasecmp(name, xColors[i].name);          r = strcasecmp(name, xColors[i].name);
848          if (r == 0) {          if (r == 0) {
849              break;              break;
850          } else if (r < 0) {          } else if (r < 0) {
851              u = i-1;              u = i-1;
852          } else {          } else {
853              l = i+1;              l = i+1;
854          }          }
855      }      }
856      if (l > u) {      if (l > u) {
857          return 0;          return 0;
858      }      }
859      colorPtr->red = ((xColors[i].red << 8) | xColors[i].red);      colorPtr->red = ((xColors[i].red << 8) | xColors[i].red);
860      colorPtr->green = ((xColors[i].green << 8) | xColors[i].green);      colorPtr->green = ((xColors[i].green << 8) | xColors[i].green);
861      colorPtr->blue = ((xColors[i].blue << 8) | xColors[i].blue);      colorPtr->blue = ((xColors[i].blue << 8) | xColors[i].blue);
862      return 1;      return 1;
863  }  }
864    
865  /*  /*
866   *----------------------------------------------------------------------   *----------------------------------------------------------------------
867   *   *
868   * XParseColor --   * XParseColor --
869   *   *
870   *      Partial implementation of X color name parsing interface.   *      Partial implementation of X color name parsing interface.
871   *   *
872   * Results:   * Results:
873   *      Returns non-zero on success.   *      Returns non-zero on success.
874   *   *
875   * Side effects:   * Side effects:
876   *      None.   *      None.
877   *   *
878   *----------------------------------------------------------------------   *----------------------------------------------------------------------
879   */   */
880    
881  Status  Status
882  XParseColor(display, map, spec, colorPtr)  XParseColor(display, map, spec, colorPtr)
883      Display *display;      Display *display;
884      Colormap map;      Colormap map;
885      const char* spec;      const char* spec;
886      XColor *colorPtr;      XColor *colorPtr;
887  {  {
888      if (spec[0] == '#') {      if (spec[0] == '#') {
889          char fmt[16];          char fmt[16];
890          int i, red, green, blue;          int i, red, green, blue;
891    
892          if ((i = strlen(spec+1))%3) {          if ((i = strlen(spec+1))%3) {
893              return 0;              return 0;
894          }          }
895          i /= 3;          i /= 3;
896    
897          sprintf(fmt, "%%%dx%%%dx%%%dx", i, i, i);          sprintf(fmt, "%%%dx%%%dx%%%dx", i, i, i);
898          if (sscanf(spec+1, fmt, &red, &green, &blue) != 3) {          if (sscanf(spec+1, fmt, &red, &green, &blue) != 3) {
899              return 0;              return 0;
900          }          }
901          colorPtr->red = (((unsigned short) red) << (4 * (4 - i)))          colorPtr->red = (((unsigned short) red) << (4 * (4 - i)))
902              | ((unsigned short) red);              | ((unsigned short) red);
903          colorPtr->green = (((unsigned short) green) << (4 * (4 - i)))          colorPtr->green = (((unsigned short) green) << (4 * (4 - i)))
904              | ((unsigned short) green);              | ((unsigned short) green);
905          colorPtr->blue = (((unsigned short) blue) << (4 * (4 - i)))          colorPtr->blue = (((unsigned short) blue) << (4 * (4 - i)))
906              | ((unsigned short) blue);              | ((unsigned short) blue);
907      } else {      } else {
908          if (!FindColor(spec, colorPtr)) {          if (!FindColor(spec, colorPtr)) {
909              return 0;              return 0;
910          }          }
911      }      }
912      colorPtr->pixel = TkpGetPixel(colorPtr);      colorPtr->pixel = TkpGetPixel(colorPtr);
913      colorPtr->flags = DoRed|DoGreen|DoBlue;      colorPtr->flags = DoRed|DoGreen|DoBlue;
914      colorPtr->pad = 0;      colorPtr->pad = 0;
915      return 1;      return 1;
916  }  }
917    
918  /* End of xcolors.c */  /* End of xcolors.c */

Legend:
Removed from v.69  
changed lines
  Added in v.71

dashley@gmail.com
ViewVC Help
Powered by ViewVC 1.1.25