oscolor.c 54 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599
  1. /***********************************************************
  2. Copyright 1987, 1998 The Open Group
  3. Permission to use, copy, modify, distribute, and sell this software and its
  4. documentation for any purpose is hereby granted without fee, provided that
  5. the above copyright notice appear in all copies and that both that
  6. copyright notice and this permission notice appear in supporting
  7. documentation.
  8. The above copyright notice and this permission notice shall be included in
  9. all copies or substantial portions of the Software.
  10. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
  11. IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
  12. FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
  13. OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
  14. AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
  15. CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
  16. Except as contained in this notice, the name of The Open Group shall not be
  17. used in advertising or otherwise to promote the sale, use or other dealings
  18. in this Software without prior written authorization from The Open Group.
  19. Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
  20. All Rights Reserved
  21. Permission to use, copy, modify, and distribute this software and its
  22. documentation for any purpose and without fee is hereby granted,
  23. provided that the above copyright notice appear in all copies and that
  24. both that copyright notice and this permission notice appear in
  25. supporting documentation, and that the name of Digital not be
  26. used in advertising or publicity pertaining to distribution of the
  27. software without specific, written prior permission.
  28. DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
  29. ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
  30. DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
  31. ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
  32. WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
  33. ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
  34. SOFTWARE.
  35. ******************************************************************/
  36. #ifdef HAVE_DIX_CONFIG_H
  37. #include <dix-config.h>
  38. #endif
  39. #include <X11/keysym.h>
  40. #include "os.h"
  41. typedef struct _builtinColor {
  42. unsigned char red;
  43. unsigned char green;
  44. unsigned char blue;
  45. unsigned short name;
  46. } BuiltinColor;
  47. static const char BuiltinColorNames[] = {
  48. "alice blue\0"
  49. "AliceBlue\0"
  50. "antique white\0"
  51. "AntiqueWhite\0"
  52. "AntiqueWhite1\0"
  53. "AntiqueWhite2\0"
  54. "AntiqueWhite3\0"
  55. "AntiqueWhite4\0"
  56. "aquamarine\0"
  57. "aquamarine1\0"
  58. "aquamarine2\0"
  59. "aquamarine3\0"
  60. "aquamarine4\0"
  61. "azure\0"
  62. "azure1\0"
  63. "azure2\0"
  64. "azure3\0"
  65. "azure4\0"
  66. "beige\0"
  67. "bisque\0"
  68. "bisque1\0"
  69. "bisque2\0"
  70. "bisque3\0"
  71. "bisque4\0"
  72. "black\0"
  73. "blanched almond\0"
  74. "BlanchedAlmond\0"
  75. "blue\0"
  76. "blue violet\0"
  77. "blue1\0"
  78. "blue2\0"
  79. "blue3\0"
  80. "blue4\0"
  81. "BlueViolet\0"
  82. "brown\0"
  83. "brown1\0"
  84. "brown2\0"
  85. "brown3\0"
  86. "brown4\0"
  87. "burlywood\0"
  88. "burlywood1\0"
  89. "burlywood2\0"
  90. "burlywood3\0"
  91. "burlywood4\0"
  92. "cadet blue\0"
  93. "CadetBlue\0"
  94. "CadetBlue1\0"
  95. "CadetBlue2\0"
  96. "CadetBlue3\0"
  97. "CadetBlue4\0"
  98. "chartreuse\0"
  99. "chartreuse1\0"
  100. "chartreuse2\0"
  101. "chartreuse3\0"
  102. "chartreuse4\0"
  103. "chocolate\0"
  104. "chocolate1\0"
  105. "chocolate2\0"
  106. "chocolate3\0"
  107. "chocolate4\0"
  108. "coral\0"
  109. "coral1\0"
  110. "coral2\0"
  111. "coral3\0"
  112. "coral4\0"
  113. "cornflower blue\0"
  114. "CornflowerBlue\0"
  115. "cornsilk\0"
  116. "cornsilk1\0"
  117. "cornsilk2\0"
  118. "cornsilk3\0"
  119. "cornsilk4\0"
  120. "cyan\0"
  121. "cyan1\0"
  122. "cyan2\0"
  123. "cyan3\0"
  124. "cyan4\0"
  125. "dark blue\0"
  126. "dark cyan\0"
  127. "dark goldenrod\0"
  128. "dark gray\0"
  129. "dark green\0"
  130. "dark grey\0"
  131. "dark khaki\0"
  132. "dark magenta\0"
  133. "dark olive green\0"
  134. "dark orange\0"
  135. "dark orchid\0"
  136. "dark red\0"
  137. "dark salmon\0"
  138. "dark sea green\0"
  139. "dark slate blue\0"
  140. "dark slate gray\0"
  141. "dark slate grey\0"
  142. "dark turquoise\0"
  143. "dark violet\0"
  144. "DarkBlue\0"
  145. "DarkCyan\0"
  146. "DarkGoldenrod\0"
  147. "DarkGoldenrod1\0"
  148. "DarkGoldenrod2\0"
  149. "DarkGoldenrod3\0"
  150. "DarkGoldenrod4\0"
  151. "DarkGray\0"
  152. "DarkGreen\0"
  153. "DarkGrey\0"
  154. "DarkKhaki\0"
  155. "DarkMagenta\0"
  156. "DarkOliveGreen\0"
  157. "DarkOliveGreen1\0"
  158. "DarkOliveGreen2\0"
  159. "DarkOliveGreen3\0"
  160. "DarkOliveGreen4\0"
  161. "DarkOrange\0"
  162. "DarkOrange1\0"
  163. "DarkOrange2\0"
  164. "DarkOrange3\0"
  165. "DarkOrange4\0"
  166. "DarkOrchid\0"
  167. "DarkOrchid1\0"
  168. "DarkOrchid2\0"
  169. "DarkOrchid3\0"
  170. "DarkOrchid4\0"
  171. "DarkRed\0"
  172. "DarkSalmon\0"
  173. "DarkSeaGreen\0"
  174. "DarkSeaGreen1\0"
  175. "DarkSeaGreen2\0"
  176. "DarkSeaGreen3\0"
  177. "DarkSeaGreen4\0"
  178. "DarkSlateBlue\0"
  179. "DarkSlateGray\0"
  180. "DarkSlateGray1\0"
  181. "DarkSlateGray2\0"
  182. "DarkSlateGray3\0"
  183. "DarkSlateGray4\0"
  184. "DarkSlateGrey\0"
  185. "DarkTurquoise\0"
  186. "DarkViolet\0"
  187. "deep pink\0"
  188. "deep sky blue\0"
  189. "DeepPink\0"
  190. "DeepPink1\0"
  191. "DeepPink2\0"
  192. "DeepPink3\0"
  193. "DeepPink4\0"
  194. "DeepSkyBlue\0"
  195. "DeepSkyBlue1\0"
  196. "DeepSkyBlue2\0"
  197. "DeepSkyBlue3\0"
  198. "DeepSkyBlue4\0"
  199. "dim gray\0"
  200. "dim grey\0"
  201. "DimGray\0"
  202. "DimGrey\0"
  203. "dodger blue\0"
  204. "DodgerBlue\0"
  205. "DodgerBlue1\0"
  206. "DodgerBlue2\0"
  207. "DodgerBlue3\0"
  208. "DodgerBlue4\0"
  209. "firebrick\0"
  210. "firebrick1\0"
  211. "firebrick2\0"
  212. "firebrick3\0"
  213. "firebrick4\0"
  214. "floral white\0"
  215. "FloralWhite\0"
  216. "forest green\0"
  217. "ForestGreen\0"
  218. "gainsboro\0"
  219. "ghost white\0"
  220. "GhostWhite\0"
  221. "gold\0"
  222. "gold1\0"
  223. "gold2\0"
  224. "gold3\0"
  225. "gold4\0"
  226. "goldenrod\0"
  227. "goldenrod1\0"
  228. "goldenrod2\0"
  229. "goldenrod3\0"
  230. "goldenrod4\0"
  231. "gray\0"
  232. "gray0\0"
  233. "gray1\0"
  234. "gray10\0"
  235. "gray100\0"
  236. "gray11\0"
  237. "gray12\0"
  238. "gray13\0"
  239. "gray14\0"
  240. "gray15\0"
  241. "gray16\0"
  242. "gray17\0"
  243. "gray18\0"
  244. "gray19\0"
  245. "gray2\0"
  246. "gray20\0"
  247. "gray21\0"
  248. "gray22\0"
  249. "gray23\0"
  250. "gray24\0"
  251. "gray25\0"
  252. "gray26\0"
  253. "gray27\0"
  254. "gray28\0"
  255. "gray29\0"
  256. "gray3\0"
  257. "gray30\0"
  258. "gray31\0"
  259. "gray32\0"
  260. "gray33\0"
  261. "gray34\0"
  262. "gray35\0"
  263. "gray36\0"
  264. "gray37\0"
  265. "gray38\0"
  266. "gray39\0"
  267. "gray4\0"
  268. "gray40\0"
  269. "gray41\0"
  270. "gray42\0"
  271. "gray43\0"
  272. "gray44\0"
  273. "gray45\0"
  274. "gray46\0"
  275. "gray47\0"
  276. "gray48\0"
  277. "gray49\0"
  278. "gray5\0"
  279. "gray50\0"
  280. "gray51\0"
  281. "gray52\0"
  282. "gray53\0"
  283. "gray54\0"
  284. "gray55\0"
  285. "gray56\0"
  286. "gray57\0"
  287. "gray58\0"
  288. "gray59\0"
  289. "gray6\0"
  290. "gray60\0"
  291. "gray61\0"
  292. "gray62\0"
  293. "gray63\0"
  294. "gray64\0"
  295. "gray65\0"
  296. "gray66\0"
  297. "gray67\0"
  298. "gray68\0"
  299. "gray69\0"
  300. "gray7\0"
  301. "gray70\0"
  302. "gray71\0"
  303. "gray72\0"
  304. "gray73\0"
  305. "gray74\0"
  306. "gray75\0"
  307. "gray76\0"
  308. "gray77\0"
  309. "gray78\0"
  310. "gray79\0"
  311. "gray8\0"
  312. "gray80\0"
  313. "gray81\0"
  314. "gray82\0"
  315. "gray83\0"
  316. "gray84\0"
  317. "gray85\0"
  318. "gray86\0"
  319. "gray87\0"
  320. "gray88\0"
  321. "gray89\0"
  322. "gray9\0"
  323. "gray90\0"
  324. "gray91\0"
  325. "gray92\0"
  326. "gray93\0"
  327. "gray94\0"
  328. "gray95\0"
  329. "gray96\0"
  330. "gray97\0"
  331. "gray98\0"
  332. "gray99\0"
  333. "green\0"
  334. "green yellow\0"
  335. "green1\0"
  336. "green2\0"
  337. "green3\0"
  338. "green4\0"
  339. "GreenYellow\0"
  340. "grey\0"
  341. "grey0\0"
  342. "grey1\0"
  343. "grey10\0"
  344. "grey100\0"
  345. "grey11\0"
  346. "grey12\0"
  347. "grey13\0"
  348. "grey14\0"
  349. "grey15\0"
  350. "grey16\0"
  351. "grey17\0"
  352. "grey18\0"
  353. "grey19\0"
  354. "grey2\0"
  355. "grey20\0"
  356. "grey21\0"
  357. "grey22\0"
  358. "grey23\0"
  359. "grey24\0"
  360. "grey25\0"
  361. "grey26\0"
  362. "grey27\0"
  363. "grey28\0"
  364. "grey29\0"
  365. "grey3\0"
  366. "grey30\0"
  367. "grey31\0"
  368. "grey32\0"
  369. "grey33\0"
  370. "grey34\0"
  371. "grey35\0"
  372. "grey36\0"
  373. "grey37\0"
  374. "grey38\0"
  375. "grey39\0"
  376. "grey4\0"
  377. "grey40\0"
  378. "grey41\0"
  379. "grey42\0"
  380. "grey43\0"
  381. "grey44\0"
  382. "grey45\0"
  383. "grey46\0"
  384. "grey47\0"
  385. "grey48\0"
  386. "grey49\0"
  387. "grey5\0"
  388. "grey50\0"
  389. "grey51\0"
  390. "grey52\0"
  391. "grey53\0"
  392. "grey54\0"
  393. "grey55\0"
  394. "grey56\0"
  395. "grey57\0"
  396. "grey58\0"
  397. "grey59\0"
  398. "grey6\0"
  399. "grey60\0"
  400. "grey61\0"
  401. "grey62\0"
  402. "grey63\0"
  403. "grey64\0"
  404. "grey65\0"
  405. "grey66\0"
  406. "grey67\0"
  407. "grey68\0"
  408. "grey69\0"
  409. "grey7\0"
  410. "grey70\0"
  411. "grey71\0"
  412. "grey72\0"
  413. "grey73\0"
  414. "grey74\0"
  415. "grey75\0"
  416. "grey76\0"
  417. "grey77\0"
  418. "grey78\0"
  419. "grey79\0"
  420. "grey8\0"
  421. "grey80\0"
  422. "grey81\0"
  423. "grey82\0"
  424. "grey83\0"
  425. "grey84\0"
  426. "grey85\0"
  427. "grey86\0"
  428. "grey87\0"
  429. "grey88\0"
  430. "grey89\0"
  431. "grey9\0"
  432. "grey90\0"
  433. "grey91\0"
  434. "grey92\0"
  435. "grey93\0"
  436. "grey94\0"
  437. "grey95\0"
  438. "grey96\0"
  439. "grey97\0"
  440. "grey98\0"
  441. "grey99\0"
  442. "honeydew\0"
  443. "honeydew1\0"
  444. "honeydew2\0"
  445. "honeydew3\0"
  446. "honeydew4\0"
  447. "hot pink\0"
  448. "HotPink\0"
  449. "HotPink1\0"
  450. "HotPink2\0"
  451. "HotPink3\0"
  452. "HotPink4\0"
  453. "indian red\0"
  454. "IndianRed\0"
  455. "IndianRed1\0"
  456. "IndianRed2\0"
  457. "IndianRed3\0"
  458. "IndianRed4\0"
  459. "ivory\0"
  460. "ivory1\0"
  461. "ivory2\0"
  462. "ivory3\0"
  463. "ivory4\0"
  464. "khaki\0"
  465. "khaki1\0"
  466. "khaki2\0"
  467. "khaki3\0"
  468. "khaki4\0"
  469. "lavender\0"
  470. "lavender blush\0"
  471. "LavenderBlush\0"
  472. "LavenderBlush1\0"
  473. "LavenderBlush2\0"
  474. "LavenderBlush3\0"
  475. "LavenderBlush4\0"
  476. "lawn green\0"
  477. "LawnGreen\0"
  478. "lemon chiffon\0"
  479. "LemonChiffon\0"
  480. "LemonChiffon1\0"
  481. "LemonChiffon2\0"
  482. "LemonChiffon3\0"
  483. "LemonChiffon4\0"
  484. "light blue\0"
  485. "light coral\0"
  486. "light cyan\0"
  487. "light goldenrod\0"
  488. "light goldenrod yellow\0"
  489. "light gray\0"
  490. "light green\0"
  491. "light grey\0"
  492. "light pink\0"
  493. "light salmon\0"
  494. "light sea green\0"
  495. "light sky blue\0"
  496. "light slate blue\0"
  497. "light slate gray\0"
  498. "light slate grey\0"
  499. "light steel blue\0"
  500. "light yellow\0"
  501. "LightBlue\0"
  502. "LightBlue1\0"
  503. "LightBlue2\0"
  504. "LightBlue3\0"
  505. "LightBlue4\0"
  506. "LightCoral\0"
  507. "LightCyan\0"
  508. "LightCyan1\0"
  509. "LightCyan2\0"
  510. "LightCyan3\0"
  511. "LightCyan4\0"
  512. "LightGoldenrod\0"
  513. "LightGoldenrod1\0"
  514. "LightGoldenrod2\0"
  515. "LightGoldenrod3\0"
  516. "LightGoldenrod4\0"
  517. "LightGoldenrodYellow\0"
  518. "LightGray\0"
  519. "LightGreen\0"
  520. "LightGrey\0"
  521. "LightPink\0"
  522. "LightPink1\0"
  523. "LightPink2\0"
  524. "LightPink3\0"
  525. "LightPink4\0"
  526. "LightSalmon\0"
  527. "LightSalmon1\0"
  528. "LightSalmon2\0"
  529. "LightSalmon3\0"
  530. "LightSalmon4\0"
  531. "LightSeaGreen\0"
  532. "LightSkyBlue\0"
  533. "LightSkyBlue1\0"
  534. "LightSkyBlue2\0"
  535. "LightSkyBlue3\0"
  536. "LightSkyBlue4\0"
  537. "LightSlateBlue\0"
  538. "LightSlateGray\0"
  539. "LightSlateGrey\0"
  540. "LightSteelBlue\0"
  541. "LightSteelBlue1\0"
  542. "LightSteelBlue2\0"
  543. "LightSteelBlue3\0"
  544. "LightSteelBlue4\0"
  545. "LightYellow\0"
  546. "LightYellow1\0"
  547. "LightYellow2\0"
  548. "LightYellow3\0"
  549. "LightYellow4\0"
  550. "lime green\0"
  551. "LimeGreen\0"
  552. "linen\0"
  553. "magenta\0"
  554. "magenta1\0"
  555. "magenta2\0"
  556. "magenta3\0"
  557. "magenta4\0"
  558. "maroon\0"
  559. "maroon1\0"
  560. "maroon2\0"
  561. "maroon3\0"
  562. "maroon4\0"
  563. "medium aquamarine\0"
  564. "medium blue\0"
  565. "medium orchid\0"
  566. "medium purple\0"
  567. "medium sea green\0"
  568. "medium slate blue\0"
  569. "medium spring green\0"
  570. "medium turquoise\0"
  571. "medium violet red\0"
  572. "MediumAquamarine\0"
  573. "MediumBlue\0"
  574. "MediumOrchid\0"
  575. "MediumOrchid1\0"
  576. "MediumOrchid2\0"
  577. "MediumOrchid3\0"
  578. "MediumOrchid4\0"
  579. "MediumPurple\0"
  580. "MediumPurple1\0"
  581. "MediumPurple2\0"
  582. "MediumPurple3\0"
  583. "MediumPurple4\0"
  584. "MediumSeaGreen\0"
  585. "MediumSlateBlue\0"
  586. "MediumSpringGreen\0"
  587. "MediumTurquoise\0"
  588. "MediumVioletRed\0"
  589. "midnight blue\0"
  590. "MidnightBlue\0"
  591. "mint cream\0"
  592. "MintCream\0"
  593. "misty rose\0"
  594. "MistyRose\0"
  595. "MistyRose1\0"
  596. "MistyRose2\0"
  597. "MistyRose3\0"
  598. "MistyRose4\0"
  599. "moccasin\0"
  600. "navajo white\0"
  601. "NavajoWhite\0"
  602. "NavajoWhite1\0"
  603. "NavajoWhite2\0"
  604. "NavajoWhite3\0"
  605. "NavajoWhite4\0"
  606. "navy\0"
  607. "navy blue\0"
  608. "NavyBlue\0"
  609. "old lace\0"
  610. "OldLace\0"
  611. "olive drab\0"
  612. "OliveDrab\0"
  613. "OliveDrab1\0"
  614. "OliveDrab2\0"
  615. "OliveDrab3\0"
  616. "OliveDrab4\0"
  617. "orange\0"
  618. "orange red\0"
  619. "orange1\0"
  620. "orange2\0"
  621. "orange3\0"
  622. "orange4\0"
  623. "OrangeRed\0"
  624. "OrangeRed1\0"
  625. "OrangeRed2\0"
  626. "OrangeRed3\0"
  627. "OrangeRed4\0"
  628. "orchid\0"
  629. "orchid1\0"
  630. "orchid2\0"
  631. "orchid3\0"
  632. "orchid4\0"
  633. "pale goldenrod\0"
  634. "pale green\0"
  635. "pale turquoise\0"
  636. "pale violet red\0"
  637. "PaleGoldenrod\0"
  638. "PaleGreen\0"
  639. "PaleGreen1\0"
  640. "PaleGreen2\0"
  641. "PaleGreen3\0"
  642. "PaleGreen4\0"
  643. "PaleTurquoise\0"
  644. "PaleTurquoise1\0"
  645. "PaleTurquoise2\0"
  646. "PaleTurquoise3\0"
  647. "PaleTurquoise4\0"
  648. "PaleVioletRed\0"
  649. "PaleVioletRed1\0"
  650. "PaleVioletRed2\0"
  651. "PaleVioletRed3\0"
  652. "PaleVioletRed4\0"
  653. "papaya whip\0"
  654. "PapayaWhip\0"
  655. "peach puff\0"
  656. "PeachPuff\0"
  657. "PeachPuff1\0"
  658. "PeachPuff2\0"
  659. "PeachPuff3\0"
  660. "PeachPuff4\0"
  661. "peru\0"
  662. "pink\0"
  663. "pink1\0"
  664. "pink2\0"
  665. "pink3\0"
  666. "pink4\0"
  667. "plum\0"
  668. "plum1\0"
  669. "plum2\0"
  670. "plum3\0"
  671. "plum4\0"
  672. "powder blue\0"
  673. "PowderBlue\0"
  674. "purple\0"
  675. "purple1\0"
  676. "purple2\0"
  677. "purple3\0"
  678. "purple4\0"
  679. "red\0"
  680. "red1\0"
  681. "red2\0"
  682. "red3\0"
  683. "red4\0"
  684. "rosy brown\0"
  685. "RosyBrown\0"
  686. "RosyBrown1\0"
  687. "RosyBrown2\0"
  688. "RosyBrown3\0"
  689. "RosyBrown4\0"
  690. "royal blue\0"
  691. "RoyalBlue\0"
  692. "RoyalBlue1\0"
  693. "RoyalBlue2\0"
  694. "RoyalBlue3\0"
  695. "RoyalBlue4\0"
  696. "saddle brown\0"
  697. "SaddleBrown\0"
  698. "salmon\0"
  699. "salmon1\0"
  700. "salmon2\0"
  701. "salmon3\0"
  702. "salmon4\0"
  703. "sandy brown\0"
  704. "SandyBrown\0"
  705. "sea green\0"
  706. "SeaGreen\0"
  707. "SeaGreen1\0"
  708. "SeaGreen2\0"
  709. "SeaGreen3\0"
  710. "SeaGreen4\0"
  711. "seashell\0"
  712. "seashell1\0"
  713. "seashell2\0"
  714. "seashell3\0"
  715. "seashell4\0"
  716. "sienna\0"
  717. "sienna1\0"
  718. "sienna2\0"
  719. "sienna3\0"
  720. "sienna4\0"
  721. "sky blue\0"
  722. "SkyBlue\0"
  723. "SkyBlue1\0"
  724. "SkyBlue2\0"
  725. "SkyBlue3\0"
  726. "SkyBlue4\0"
  727. "slate blue\0"
  728. "slate gray\0"
  729. "slate grey\0"
  730. "SlateBlue\0"
  731. "SlateBlue1\0"
  732. "SlateBlue2\0"
  733. "SlateBlue3\0"
  734. "SlateBlue4\0"
  735. "SlateGray\0"
  736. "SlateGray1\0"
  737. "SlateGray2\0"
  738. "SlateGray3\0"
  739. "SlateGray4\0"
  740. "SlateGrey\0"
  741. "snow\0"
  742. "snow1\0"
  743. "snow2\0"
  744. "snow3\0"
  745. "snow4\0"
  746. "spring green\0"
  747. "SpringGreen\0"
  748. "SpringGreen1\0"
  749. "SpringGreen2\0"
  750. "SpringGreen3\0"
  751. "SpringGreen4\0"
  752. "steel blue\0"
  753. "SteelBlue\0"
  754. "SteelBlue1\0"
  755. "SteelBlue2\0"
  756. "SteelBlue3\0"
  757. "SteelBlue4\0"
  758. "tan\0"
  759. "tan1\0"
  760. "tan2\0"
  761. "tan3\0"
  762. "tan4\0"
  763. "thistle\0"
  764. "thistle1\0"
  765. "thistle2\0"
  766. "thistle3\0"
  767. "thistle4\0"
  768. "tomato\0"
  769. "tomato1\0"
  770. "tomato2\0"
  771. "tomato3\0"
  772. "tomato4\0"
  773. "turquoise\0"
  774. "turquoise1\0"
  775. "turquoise2\0"
  776. "turquoise3\0"
  777. "turquoise4\0"
  778. "violet\0"
  779. "violet red\0"
  780. "VioletRed\0"
  781. "VioletRed1\0"
  782. "VioletRed2\0"
  783. "VioletRed3\0"
  784. "VioletRed4\0"
  785. "wheat\0"
  786. "wheat1\0"
  787. "wheat2\0"
  788. "wheat3\0"
  789. "wheat4\0"
  790. "white\0"
  791. "white smoke\0"
  792. "WhiteSmoke\0"
  793. "yellow\0"
  794. "yellow green\0"
  795. "yellow1\0" "yellow2\0" "yellow3\0" "yellow4\0" "YellowGreen\0"
  796. };
  797. static const BuiltinColor BuiltinColors[] = {
  798. {240, 248, 255, 0}, /* alice blue */
  799. {240, 248, 255, 11}, /* AliceBlue */
  800. {250, 235, 215, 21}, /* antique white */
  801. {250, 235, 215, 35}, /* AntiqueWhite */
  802. {255, 239, 219, 48}, /* AntiqueWhite1 */
  803. {238, 223, 204, 62}, /* AntiqueWhite2 */
  804. {205, 192, 176, 76}, /* AntiqueWhite3 */
  805. {139, 131, 120, 90}, /* AntiqueWhite4 */
  806. {127, 255, 212, 104}, /* aquamarine */
  807. {127, 255, 212, 115}, /* aquamarine1 */
  808. {118, 238, 198, 127}, /* aquamarine2 */
  809. {102, 205, 170, 139}, /* aquamarine3 */
  810. {69, 139, 116, 151}, /* aquamarine4 */
  811. {240, 255, 255, 163}, /* azure */
  812. {240, 255, 255, 169}, /* azure1 */
  813. {224, 238, 238, 176}, /* azure2 */
  814. {193, 205, 205, 183}, /* azure3 */
  815. {131, 139, 139, 190}, /* azure4 */
  816. {245, 245, 220, 197}, /* beige */
  817. {255, 228, 196, 203}, /* bisque */
  818. {255, 228, 196, 210}, /* bisque1 */
  819. {238, 213, 183, 218}, /* bisque2 */
  820. {205, 183, 158, 226}, /* bisque3 */
  821. {139, 125, 107, 234}, /* bisque4 */
  822. {0, 0, 0, 242}, /* black */
  823. {255, 235, 205, 248}, /* blanched almond */
  824. {255, 235, 205, 264}, /* BlanchedAlmond */
  825. {0, 0, 255, 279}, /* blue */
  826. {138, 43, 226, 284}, /* blue violet */
  827. {0, 0, 255, 296}, /* blue1 */
  828. {0, 0, 238, 302}, /* blue2 */
  829. {0, 0, 205, 308}, /* blue3 */
  830. {0, 0, 139, 314}, /* blue4 */
  831. {138, 43, 226, 320}, /* BlueViolet */
  832. {165, 42, 42, 331}, /* brown */
  833. {255, 64, 64, 337}, /* brown1 */
  834. {238, 59, 59, 344}, /* brown2 */
  835. {205, 51, 51, 351}, /* brown3 */
  836. {139, 35, 35, 358}, /* brown4 */
  837. {222, 184, 135, 365}, /* burlywood */
  838. {255, 211, 155, 375}, /* burlywood1 */
  839. {238, 197, 145, 386}, /* burlywood2 */
  840. {205, 170, 125, 397}, /* burlywood3 */
  841. {139, 115, 85, 408}, /* burlywood4 */
  842. {95, 158, 160, 419}, /* cadet blue */
  843. {95, 158, 160, 430}, /* CadetBlue */
  844. {152, 245, 255, 440}, /* CadetBlue1 */
  845. {142, 229, 238, 451}, /* CadetBlue2 */
  846. {122, 197, 205, 462}, /* CadetBlue3 */
  847. {83, 134, 139, 473}, /* CadetBlue4 */
  848. {127, 255, 0, 484}, /* chartreuse */
  849. {127, 255, 0, 495}, /* chartreuse1 */
  850. {118, 238, 0, 507}, /* chartreuse2 */
  851. {102, 205, 0, 519}, /* chartreuse3 */
  852. {69, 139, 0, 531}, /* chartreuse4 */
  853. {210, 105, 30, 543}, /* chocolate */
  854. {255, 127, 36, 553}, /* chocolate1 */
  855. {238, 118, 33, 564}, /* chocolate2 */
  856. {205, 102, 29, 575}, /* chocolate3 */
  857. {139, 69, 19, 586}, /* chocolate4 */
  858. {255, 127, 80, 597}, /* coral */
  859. {255, 114, 86, 603}, /* coral1 */
  860. {238, 106, 80, 610}, /* coral2 */
  861. {205, 91, 69, 617}, /* coral3 */
  862. {139, 62, 47, 624}, /* coral4 */
  863. {100, 149, 237, 631}, /* cornflower blue */
  864. {100, 149, 237, 647}, /* CornflowerBlue */
  865. {255, 248, 220, 662}, /* cornsilk */
  866. {255, 248, 220, 671}, /* cornsilk1 */
  867. {238, 232, 205, 681}, /* cornsilk2 */
  868. {205, 200, 177, 691}, /* cornsilk3 */
  869. {139, 136, 120, 701}, /* cornsilk4 */
  870. {0, 255, 255, 711}, /* cyan */
  871. {0, 255, 255, 716}, /* cyan1 */
  872. {0, 238, 238, 722}, /* cyan2 */
  873. {0, 205, 205, 728}, /* cyan3 */
  874. {0, 139, 139, 734}, /* cyan4 */
  875. {0, 0, 139, 740}, /* dark blue */
  876. {0, 139, 139, 750}, /* dark cyan */
  877. {184, 134, 11, 760}, /* dark goldenrod */
  878. {169, 169, 169, 775}, /* dark gray */
  879. {0, 100, 0, 785}, /* dark green */
  880. {169, 169, 169, 796}, /* dark grey */
  881. {189, 183, 107, 806}, /* dark khaki */
  882. {139, 0, 139, 817}, /* dark magenta */
  883. {85, 107, 47, 830}, /* dark olive green */
  884. {255, 140, 0, 847}, /* dark orange */
  885. {153, 50, 204, 859}, /* dark orchid */
  886. {139, 0, 0, 871}, /* dark red */
  887. {233, 150, 122, 880}, /* dark salmon */
  888. {143, 188, 143, 892}, /* dark sea green */
  889. {72, 61, 139, 907}, /* dark slate blue */
  890. {47, 79, 79, 923}, /* dark slate gray */
  891. {47, 79, 79, 939}, /* dark slate grey */
  892. {0, 206, 209, 955}, /* dark turquoise */
  893. {148, 0, 211, 970}, /* dark violet */
  894. {0, 0, 139, 982}, /* DarkBlue */
  895. {0, 139, 139, 991}, /* DarkCyan */
  896. {184, 134, 11, 1000}, /* DarkGoldenrod */
  897. {255, 185, 15, 1014}, /* DarkGoldenrod1 */
  898. {238, 173, 14, 1029}, /* DarkGoldenrod2 */
  899. {205, 149, 12, 1044}, /* DarkGoldenrod3 */
  900. {139, 101, 8, 1059}, /* DarkGoldenrod4 */
  901. {169, 169, 169, 1074}, /* DarkGray */
  902. {0, 100, 0, 1083}, /* DarkGreen */
  903. {169, 169, 169, 1093}, /* DarkGrey */
  904. {189, 183, 107, 1102}, /* DarkKhaki */
  905. {139, 0, 139, 1112}, /* DarkMagenta */
  906. {85, 107, 47, 1124}, /* DarkOliveGreen */
  907. {202, 255, 112, 1139}, /* DarkOliveGreen1 */
  908. {188, 238, 104, 1155}, /* DarkOliveGreen2 */
  909. {162, 205, 90, 1171}, /* DarkOliveGreen3 */
  910. {110, 139, 61, 1187}, /* DarkOliveGreen4 */
  911. {255, 140, 0, 1203}, /* DarkOrange */
  912. {255, 127, 0, 1214}, /* DarkOrange1 */
  913. {238, 118, 0, 1226}, /* DarkOrange2 */
  914. {205, 102, 0, 1238}, /* DarkOrange3 */
  915. {139, 69, 0, 1250}, /* DarkOrange4 */
  916. {153, 50, 204, 1262}, /* DarkOrchid */
  917. {191, 62, 255, 1273}, /* DarkOrchid1 */
  918. {178, 58, 238, 1285}, /* DarkOrchid2 */
  919. {154, 50, 205, 1297}, /* DarkOrchid3 */
  920. {104, 34, 139, 1309}, /* DarkOrchid4 */
  921. {139, 0, 0, 1321}, /* DarkRed */
  922. {233, 150, 122, 1329}, /* DarkSalmon */
  923. {143, 188, 143, 1340}, /* DarkSeaGreen */
  924. {193, 255, 193, 1353}, /* DarkSeaGreen1 */
  925. {180, 238, 180, 1367}, /* DarkSeaGreen2 */
  926. {155, 205, 155, 1381}, /* DarkSeaGreen3 */
  927. {105, 139, 105, 1395}, /* DarkSeaGreen4 */
  928. {72, 61, 139, 1409}, /* DarkSlateBlue */
  929. {47, 79, 79, 1423}, /* DarkSlateGray */
  930. {151, 255, 255, 1437}, /* DarkSlateGray1 */
  931. {141, 238, 238, 1452}, /* DarkSlateGray2 */
  932. {121, 205, 205, 1467}, /* DarkSlateGray3 */
  933. {82, 139, 139, 1482}, /* DarkSlateGray4 */
  934. {47, 79, 79, 1497}, /* DarkSlateGrey */
  935. {0, 206, 209, 1511}, /* DarkTurquoise */
  936. {148, 0, 211, 1525}, /* DarkViolet */
  937. {255, 20, 147, 1536}, /* deep pink */
  938. {0, 191, 255, 1546}, /* deep sky blue */
  939. {255, 20, 147, 1560}, /* DeepPink */
  940. {255, 20, 147, 1569}, /* DeepPink1 */
  941. {238, 18, 137, 1579}, /* DeepPink2 */
  942. {205, 16, 118, 1589}, /* DeepPink3 */
  943. {139, 10, 80, 1599}, /* DeepPink4 */
  944. {0, 191, 255, 1609}, /* DeepSkyBlue */
  945. {0, 191, 255, 1621}, /* DeepSkyBlue1 */
  946. {0, 178, 238, 1634}, /* DeepSkyBlue2 */
  947. {0, 154, 205, 1647}, /* DeepSkyBlue3 */
  948. {0, 104, 139, 1660}, /* DeepSkyBlue4 */
  949. {105, 105, 105, 1673}, /* dim gray */
  950. {105, 105, 105, 1682}, /* dim grey */
  951. {105, 105, 105, 1691}, /* DimGray */
  952. {105, 105, 105, 1699}, /* DimGrey */
  953. {30, 144, 255, 1707}, /* dodger blue */
  954. {30, 144, 255, 1719}, /* DodgerBlue */
  955. {30, 144, 255, 1730}, /* DodgerBlue1 */
  956. {28, 134, 238, 1742}, /* DodgerBlue2 */
  957. {24, 116, 205, 1754}, /* DodgerBlue3 */
  958. {16, 78, 139, 1766}, /* DodgerBlue4 */
  959. {178, 34, 34, 1778}, /* firebrick */
  960. {255, 48, 48, 1788}, /* firebrick1 */
  961. {238, 44, 44, 1799}, /* firebrick2 */
  962. {205, 38, 38, 1810}, /* firebrick3 */
  963. {139, 26, 26, 1821}, /* firebrick4 */
  964. {255, 250, 240, 1832}, /* floral white */
  965. {255, 250, 240, 1845}, /* FloralWhite */
  966. {34, 139, 34, 1857}, /* forest green */
  967. {34, 139, 34, 1870}, /* ForestGreen */
  968. {220, 220, 220, 1882}, /* gainsboro */
  969. {248, 248, 255, 1892}, /* ghost white */
  970. {248, 248, 255, 1904}, /* GhostWhite */
  971. {255, 215, 0, 1915}, /* gold */
  972. {255, 215, 0, 1920}, /* gold1 */
  973. {238, 201, 0, 1926}, /* gold2 */
  974. {205, 173, 0, 1932}, /* gold3 */
  975. {139, 117, 0, 1938}, /* gold4 */
  976. {218, 165, 32, 1944}, /* goldenrod */
  977. {255, 193, 37, 1954}, /* goldenrod1 */
  978. {238, 180, 34, 1965}, /* goldenrod2 */
  979. {205, 155, 29, 1976}, /* goldenrod3 */
  980. {139, 105, 20, 1987}, /* goldenrod4 */
  981. {190, 190, 190, 1998}, /* gray */
  982. {0, 0, 0, 2003}, /* gray0 */
  983. {3, 3, 3, 2009}, /* gray1 */
  984. {26, 26, 26, 2015}, /* gray10 */
  985. {255, 255, 255, 2022}, /* gray100 */
  986. {28, 28, 28, 2030}, /* gray11 */
  987. {31, 31, 31, 2037}, /* gray12 */
  988. {33, 33, 33, 2044}, /* gray13 */
  989. {36, 36, 36, 2051}, /* gray14 */
  990. {38, 38, 38, 2058}, /* gray15 */
  991. {41, 41, 41, 2065}, /* gray16 */
  992. {43, 43, 43, 2072}, /* gray17 */
  993. {46, 46, 46, 2079}, /* gray18 */
  994. {48, 48, 48, 2086}, /* gray19 */
  995. {5, 5, 5, 2093}, /* gray2 */
  996. {51, 51, 51, 2099}, /* gray20 */
  997. {54, 54, 54, 2106}, /* gray21 */
  998. {56, 56, 56, 2113}, /* gray22 */
  999. {59, 59, 59, 2120}, /* gray23 */
  1000. {61, 61, 61, 2127}, /* gray24 */
  1001. {64, 64, 64, 2134}, /* gray25 */
  1002. {66, 66, 66, 2141}, /* gray26 */
  1003. {69, 69, 69, 2148}, /* gray27 */
  1004. {71, 71, 71, 2155}, /* gray28 */
  1005. {74, 74, 74, 2162}, /* gray29 */
  1006. {8, 8, 8, 2169}, /* gray3 */
  1007. {77, 77, 77, 2175}, /* gray30 */
  1008. {79, 79, 79, 2182}, /* gray31 */
  1009. {82, 82, 82, 2189}, /* gray32 */
  1010. {84, 84, 84, 2196}, /* gray33 */
  1011. {87, 87, 87, 2203}, /* gray34 */
  1012. {89, 89, 89, 2210}, /* gray35 */
  1013. {92, 92, 92, 2217}, /* gray36 */
  1014. {94, 94, 94, 2224}, /* gray37 */
  1015. {97, 97, 97, 2231}, /* gray38 */
  1016. {99, 99, 99, 2238}, /* gray39 */
  1017. {10, 10, 10, 2245}, /* gray4 */
  1018. {102, 102, 102, 2251}, /* gray40 */
  1019. {105, 105, 105, 2258}, /* gray41 */
  1020. {107, 107, 107, 2265}, /* gray42 */
  1021. {110, 110, 110, 2272}, /* gray43 */
  1022. {112, 112, 112, 2279}, /* gray44 */
  1023. {115, 115, 115, 2286}, /* gray45 */
  1024. {117, 117, 117, 2293}, /* gray46 */
  1025. {120, 120, 120, 2300}, /* gray47 */
  1026. {122, 122, 122, 2307}, /* gray48 */
  1027. {125, 125, 125, 2314}, /* gray49 */
  1028. {13, 13, 13, 2321}, /* gray5 */
  1029. {127, 127, 127, 2327}, /* gray50 */
  1030. {130, 130, 130, 2334}, /* gray51 */
  1031. {133, 133, 133, 2341}, /* gray52 */
  1032. {135, 135, 135, 2348}, /* gray53 */
  1033. {138, 138, 138, 2355}, /* gray54 */
  1034. {140, 140, 140, 2362}, /* gray55 */
  1035. {143, 143, 143, 2369}, /* gray56 */
  1036. {145, 145, 145, 2376}, /* gray57 */
  1037. {148, 148, 148, 2383}, /* gray58 */
  1038. {150, 150, 150, 2390}, /* gray59 */
  1039. {15, 15, 15, 2397}, /* gray6 */
  1040. {153, 153, 153, 2403}, /* gray60 */
  1041. {156, 156, 156, 2410}, /* gray61 */
  1042. {158, 158, 158, 2417}, /* gray62 */
  1043. {161, 161, 161, 2424}, /* gray63 */
  1044. {163, 163, 163, 2431}, /* gray64 */
  1045. {166, 166, 166, 2438}, /* gray65 */
  1046. {168, 168, 168, 2445}, /* gray66 */
  1047. {171, 171, 171, 2452}, /* gray67 */
  1048. {173, 173, 173, 2459}, /* gray68 */
  1049. {176, 176, 176, 2466}, /* gray69 */
  1050. {18, 18, 18, 2473}, /* gray7 */
  1051. {179, 179, 179, 2479}, /* gray70 */
  1052. {181, 181, 181, 2486}, /* gray71 */
  1053. {184, 184, 184, 2493}, /* gray72 */
  1054. {186, 186, 186, 2500}, /* gray73 */
  1055. {189, 189, 189, 2507}, /* gray74 */
  1056. {191, 191, 191, 2514}, /* gray75 */
  1057. {194, 194, 194, 2521}, /* gray76 */
  1058. {196, 196, 196, 2528}, /* gray77 */
  1059. {199, 199, 199, 2535}, /* gray78 */
  1060. {201, 201, 201, 2542}, /* gray79 */
  1061. {20, 20, 20, 2549}, /* gray8 */
  1062. {204, 204, 204, 2555}, /* gray80 */
  1063. {207, 207, 207, 2562}, /* gray81 */
  1064. {209, 209, 209, 2569}, /* gray82 */
  1065. {212, 212, 212, 2576}, /* gray83 */
  1066. {214, 214, 214, 2583}, /* gray84 */
  1067. {217, 217, 217, 2590}, /* gray85 */
  1068. {219, 219, 219, 2597}, /* gray86 */
  1069. {222, 222, 222, 2604}, /* gray87 */
  1070. {224, 224, 224, 2611}, /* gray88 */
  1071. {227, 227, 227, 2618}, /* gray89 */
  1072. {23, 23, 23, 2625}, /* gray9 */
  1073. {229, 229, 229, 2631}, /* gray90 */
  1074. {232, 232, 232, 2638}, /* gray91 */
  1075. {235, 235, 235, 2645}, /* gray92 */
  1076. {237, 237, 237, 2652}, /* gray93 */
  1077. {240, 240, 240, 2659}, /* gray94 */
  1078. {242, 242, 242, 2666}, /* gray95 */
  1079. {245, 245, 245, 2673}, /* gray96 */
  1080. {247, 247, 247, 2680}, /* gray97 */
  1081. {250, 250, 250, 2687}, /* gray98 */
  1082. {252, 252, 252, 2694}, /* gray99 */
  1083. {0, 255, 0, 2701}, /* green */
  1084. {173, 255, 47, 2707}, /* green yellow */
  1085. {0, 255, 0, 2720}, /* green1 */
  1086. {0, 238, 0, 2727}, /* green2 */
  1087. {0, 205, 0, 2734}, /* green3 */
  1088. {0, 139, 0, 2741}, /* green4 */
  1089. {173, 255, 47, 2748}, /* GreenYellow */
  1090. {190, 190, 190, 2760}, /* grey */
  1091. {0, 0, 0, 2765}, /* grey0 */
  1092. {3, 3, 3, 2771}, /* grey1 */
  1093. {26, 26, 26, 2777}, /* grey10 */
  1094. {255, 255, 255, 2784}, /* grey100 */
  1095. {28, 28, 28, 2792}, /* grey11 */
  1096. {31, 31, 31, 2799}, /* grey12 */
  1097. {33, 33, 33, 2806}, /* grey13 */
  1098. {36, 36, 36, 2813}, /* grey14 */
  1099. {38, 38, 38, 2820}, /* grey15 */
  1100. {41, 41, 41, 2827}, /* grey16 */
  1101. {43, 43, 43, 2834}, /* grey17 */
  1102. {46, 46, 46, 2841}, /* grey18 */
  1103. {48, 48, 48, 2848}, /* grey19 */
  1104. {5, 5, 5, 2855}, /* grey2 */
  1105. {51, 51, 51, 2861}, /* grey20 */
  1106. {54, 54, 54, 2868}, /* grey21 */
  1107. {56, 56, 56, 2875}, /* grey22 */
  1108. {59, 59, 59, 2882}, /* grey23 */
  1109. {61, 61, 61, 2889}, /* grey24 */
  1110. {64, 64, 64, 2896}, /* grey25 */
  1111. {66, 66, 66, 2903}, /* grey26 */
  1112. {69, 69, 69, 2910}, /* grey27 */
  1113. {71, 71, 71, 2917}, /* grey28 */
  1114. {74, 74, 74, 2924}, /* grey29 */
  1115. {8, 8, 8, 2931}, /* grey3 */
  1116. {77, 77, 77, 2937}, /* grey30 */
  1117. {79, 79, 79, 2944}, /* grey31 */
  1118. {82, 82, 82, 2951}, /* grey32 */
  1119. {84, 84, 84, 2958}, /* grey33 */
  1120. {87, 87, 87, 2965}, /* grey34 */
  1121. {89, 89, 89, 2972}, /* grey35 */
  1122. {92, 92, 92, 2979}, /* grey36 */
  1123. {94, 94, 94, 2986}, /* grey37 */
  1124. {97, 97, 97, 2993}, /* grey38 */
  1125. {99, 99, 99, 3000}, /* grey39 */
  1126. {10, 10, 10, 3007}, /* grey4 */
  1127. {102, 102, 102, 3013}, /* grey40 */
  1128. {105, 105, 105, 3020}, /* grey41 */
  1129. {107, 107, 107, 3027}, /* grey42 */
  1130. {110, 110, 110, 3034}, /* grey43 */
  1131. {112, 112, 112, 3041}, /* grey44 */
  1132. {115, 115, 115, 3048}, /* grey45 */
  1133. {117, 117, 117, 3055}, /* grey46 */
  1134. {120, 120, 120, 3062}, /* grey47 */
  1135. {122, 122, 122, 3069}, /* grey48 */
  1136. {125, 125, 125, 3076}, /* grey49 */
  1137. {13, 13, 13, 3083}, /* grey5 */
  1138. {127, 127, 127, 3089}, /* grey50 */
  1139. {130, 130, 130, 3096}, /* grey51 */
  1140. {133, 133, 133, 3103}, /* grey52 */
  1141. {135, 135, 135, 3110}, /* grey53 */
  1142. {138, 138, 138, 3117}, /* grey54 */
  1143. {140, 140, 140, 3124}, /* grey55 */
  1144. {143, 143, 143, 3131}, /* grey56 */
  1145. {145, 145, 145, 3138}, /* grey57 */
  1146. {148, 148, 148, 3145}, /* grey58 */
  1147. {150, 150, 150, 3152}, /* grey59 */
  1148. {15, 15, 15, 3159}, /* grey6 */
  1149. {153, 153, 153, 3165}, /* grey60 */
  1150. {156, 156, 156, 3172}, /* grey61 */
  1151. {158, 158, 158, 3179}, /* grey62 */
  1152. {161, 161, 161, 3186}, /* grey63 */
  1153. {163, 163, 163, 3193}, /* grey64 */
  1154. {166, 166, 166, 3200}, /* grey65 */
  1155. {168, 168, 168, 3207}, /* grey66 */
  1156. {171, 171, 171, 3214}, /* grey67 */
  1157. {173, 173, 173, 3221}, /* grey68 */
  1158. {176, 176, 176, 3228}, /* grey69 */
  1159. {18, 18, 18, 3235}, /* grey7 */
  1160. {179, 179, 179, 3241}, /* grey70 */
  1161. {181, 181, 181, 3248}, /* grey71 */
  1162. {184, 184, 184, 3255}, /* grey72 */
  1163. {186, 186, 186, 3262}, /* grey73 */
  1164. {189, 189, 189, 3269}, /* grey74 */
  1165. {191, 191, 191, 3276}, /* grey75 */
  1166. {194, 194, 194, 3283}, /* grey76 */
  1167. {196, 196, 196, 3290}, /* grey77 */
  1168. {199, 199, 199, 3297}, /* grey78 */
  1169. {201, 201, 201, 3304}, /* grey79 */
  1170. {20, 20, 20, 3311}, /* grey8 */
  1171. {204, 204, 204, 3317}, /* grey80 */
  1172. {207, 207, 207, 3324}, /* grey81 */
  1173. {209, 209, 209, 3331}, /* grey82 */
  1174. {212, 212, 212, 3338}, /* grey83 */
  1175. {214, 214, 214, 3345}, /* grey84 */
  1176. {217, 217, 217, 3352}, /* grey85 */
  1177. {219, 219, 219, 3359}, /* grey86 */
  1178. {222, 222, 222, 3366}, /* grey87 */
  1179. {224, 224, 224, 3373}, /* grey88 */
  1180. {227, 227, 227, 3380}, /* grey89 */
  1181. {23, 23, 23, 3387}, /* grey9 */
  1182. {229, 229, 229, 3393}, /* grey90 */
  1183. {232, 232, 232, 3400}, /* grey91 */
  1184. {235, 235, 235, 3407}, /* grey92 */
  1185. {237, 237, 237, 3414}, /* grey93 */
  1186. {240, 240, 240, 3421}, /* grey94 */
  1187. {242, 242, 242, 3428}, /* grey95 */
  1188. {245, 245, 245, 3435}, /* grey96 */
  1189. {247, 247, 247, 3442}, /* grey97 */
  1190. {250, 250, 250, 3449}, /* grey98 */
  1191. {252, 252, 252, 3456}, /* grey99 */
  1192. {240, 255, 240, 3463}, /* honeydew */
  1193. {240, 255, 240, 3472}, /* honeydew1 */
  1194. {224, 238, 224, 3482}, /* honeydew2 */
  1195. {193, 205, 193, 3492}, /* honeydew3 */
  1196. {131, 139, 131, 3502}, /* honeydew4 */
  1197. {255, 105, 180, 3512}, /* hot pink */
  1198. {255, 105, 180, 3521}, /* HotPink */
  1199. {255, 110, 180, 3529}, /* HotPink1 */
  1200. {238, 106, 167, 3538}, /* HotPink2 */
  1201. {205, 96, 144, 3547}, /* HotPink3 */
  1202. {139, 58, 98, 3556}, /* HotPink4 */
  1203. {205, 92, 92, 3565}, /* indian red */
  1204. {205, 92, 92, 3576}, /* IndianRed */
  1205. {255, 106, 106, 3586}, /* IndianRed1 */
  1206. {238, 99, 99, 3597}, /* IndianRed2 */
  1207. {205, 85, 85, 3608}, /* IndianRed3 */
  1208. {139, 58, 58, 3619}, /* IndianRed4 */
  1209. {255, 255, 240, 3630}, /* ivory */
  1210. {255, 255, 240, 3636}, /* ivory1 */
  1211. {238, 238, 224, 3643}, /* ivory2 */
  1212. {205, 205, 193, 3650}, /* ivory3 */
  1213. {139, 139, 131, 3657}, /* ivory4 */
  1214. {240, 230, 140, 3664}, /* khaki */
  1215. {255, 246, 143, 3670}, /* khaki1 */
  1216. {238, 230, 133, 3677}, /* khaki2 */
  1217. {205, 198, 115, 3684}, /* khaki3 */
  1218. {139, 134, 78, 3691}, /* khaki4 */
  1219. {230, 230, 250, 3698}, /* lavender */
  1220. {255, 240, 245, 3707}, /* lavender blush */
  1221. {255, 240, 245, 3722}, /* LavenderBlush */
  1222. {255, 240, 245, 3736}, /* LavenderBlush1 */
  1223. {238, 224, 229, 3751}, /* LavenderBlush2 */
  1224. {205, 193, 197, 3766}, /* LavenderBlush3 */
  1225. {139, 131, 134, 3781}, /* LavenderBlush4 */
  1226. {124, 252, 0, 3796}, /* lawn green */
  1227. {124, 252, 0, 3807}, /* LawnGreen */
  1228. {255, 250, 205, 3817}, /* lemon chiffon */
  1229. {255, 250, 205, 3831}, /* LemonChiffon */
  1230. {255, 250, 205, 3844}, /* LemonChiffon1 */
  1231. {238, 233, 191, 3858}, /* LemonChiffon2 */
  1232. {205, 201, 165, 3872}, /* LemonChiffon3 */
  1233. {139, 137, 112, 3886}, /* LemonChiffon4 */
  1234. {173, 216, 230, 3900}, /* light blue */
  1235. {240, 128, 128, 3911}, /* light coral */
  1236. {224, 255, 255, 3923}, /* light cyan */
  1237. {238, 221, 130, 3934}, /* light goldenrod */
  1238. {250, 250, 210, 3950}, /* light goldenrod yellow */
  1239. {211, 211, 211, 3973}, /* light gray */
  1240. {144, 238, 144, 3984}, /* light green */
  1241. {211, 211, 211, 3996}, /* light grey */
  1242. {255, 182, 193, 4007}, /* light pink */
  1243. {255, 160, 122, 4018}, /* light salmon */
  1244. {32, 178, 170, 4031}, /* light sea green */
  1245. {135, 206, 250, 4047}, /* light sky blue */
  1246. {132, 112, 255, 4062}, /* light slate blue */
  1247. {119, 136, 153, 4079}, /* light slate gray */
  1248. {119, 136, 153, 4096}, /* light slate grey */
  1249. {176, 196, 222, 4113}, /* light steel blue */
  1250. {255, 255, 224, 4130}, /* light yellow */
  1251. {173, 216, 230, 4143}, /* LightBlue */
  1252. {191, 239, 255, 4153}, /* LightBlue1 */
  1253. {178, 223, 238, 4164}, /* LightBlue2 */
  1254. {154, 192, 205, 4175}, /* LightBlue3 */
  1255. {104, 131, 139, 4186}, /* LightBlue4 */
  1256. {240, 128, 128, 4197}, /* LightCoral */
  1257. {224, 255, 255, 4208}, /* LightCyan */
  1258. {224, 255, 255, 4218}, /* LightCyan1 */
  1259. {209, 238, 238, 4229}, /* LightCyan2 */
  1260. {180, 205, 205, 4240}, /* LightCyan3 */
  1261. {122, 139, 139, 4251}, /* LightCyan4 */
  1262. {238, 221, 130, 4262}, /* LightGoldenrod */
  1263. {255, 236, 139, 4277}, /* LightGoldenrod1 */
  1264. {238, 220, 130, 4293}, /* LightGoldenrod2 */
  1265. {205, 190, 112, 4309}, /* LightGoldenrod3 */
  1266. {139, 129, 76, 4325}, /* LightGoldenrod4 */
  1267. {250, 250, 210, 4341}, /* LightGoldenrodYellow */
  1268. {211, 211, 211, 4362}, /* LightGray */
  1269. {144, 238, 144, 4372}, /* LightGreen */
  1270. {211, 211, 211, 4383}, /* LightGrey */
  1271. {255, 182, 193, 4393}, /* LightPink */
  1272. {255, 174, 185, 4403}, /* LightPink1 */
  1273. {238, 162, 173, 4414}, /* LightPink2 */
  1274. {205, 140, 149, 4425}, /* LightPink3 */
  1275. {139, 95, 101, 4436}, /* LightPink4 */
  1276. {255, 160, 122, 4447}, /* LightSalmon */
  1277. {255, 160, 122, 4459}, /* LightSalmon1 */
  1278. {238, 149, 114, 4472}, /* LightSalmon2 */
  1279. {205, 129, 98, 4485}, /* LightSalmon3 */
  1280. {139, 87, 66, 4498}, /* LightSalmon4 */
  1281. {32, 178, 170, 4511}, /* LightSeaGreen */
  1282. {135, 206, 250, 4525}, /* LightSkyBlue */
  1283. {176, 226, 255, 4538}, /* LightSkyBlue1 */
  1284. {164, 211, 238, 4552}, /* LightSkyBlue2 */
  1285. {141, 182, 205, 4566}, /* LightSkyBlue3 */
  1286. {96, 123, 139, 4580}, /* LightSkyBlue4 */
  1287. {132, 112, 255, 4594}, /* LightSlateBlue */
  1288. {119, 136, 153, 4609}, /* LightSlateGray */
  1289. {119, 136, 153, 4624}, /* LightSlateGrey */
  1290. {176, 196, 222, 4639}, /* LightSteelBlue */
  1291. {202, 225, 255, 4654}, /* LightSteelBlue1 */
  1292. {188, 210, 238, 4670}, /* LightSteelBlue2 */
  1293. {162, 181, 205, 4686}, /* LightSteelBlue3 */
  1294. {110, 123, 139, 4702}, /* LightSteelBlue4 */
  1295. {255, 255, 224, 4718}, /* LightYellow */
  1296. {255, 255, 224, 4730}, /* LightYellow1 */
  1297. {238, 238, 209, 4743}, /* LightYellow2 */
  1298. {205, 205, 180, 4756}, /* LightYellow3 */
  1299. {139, 139, 122, 4769}, /* LightYellow4 */
  1300. {50, 205, 50, 4782}, /* lime green */
  1301. {50, 205, 50, 4793}, /* LimeGreen */
  1302. {250, 240, 230, 4803}, /* linen */
  1303. {255, 0, 255, 4809}, /* magenta */
  1304. {255, 0, 255, 4817}, /* magenta1 */
  1305. {238, 0, 238, 4826}, /* magenta2 */
  1306. {205, 0, 205, 4835}, /* magenta3 */
  1307. {139, 0, 139, 4844}, /* magenta4 */
  1308. {176, 48, 96, 4853}, /* maroon */
  1309. {255, 52, 179, 4860}, /* maroon1 */
  1310. {238, 48, 167, 4868}, /* maroon2 */
  1311. {205, 41, 144, 4876}, /* maroon3 */
  1312. {139, 28, 98, 4884}, /* maroon4 */
  1313. {102, 205, 170, 4892}, /* medium aquamarine */
  1314. {0, 0, 205, 4910}, /* medium blue */
  1315. {186, 85, 211, 4922}, /* medium orchid */
  1316. {147, 112, 219, 4936}, /* medium purple */
  1317. {60, 179, 113, 4950}, /* medium sea green */
  1318. {123, 104, 238, 4967}, /* medium slate blue */
  1319. {0, 250, 154, 4985}, /* medium spring green */
  1320. {72, 209, 204, 5005}, /* medium turquoise */
  1321. {199, 21, 133, 5022}, /* medium violet red */
  1322. {102, 205, 170, 5040}, /* MediumAquamarine */
  1323. {0, 0, 205, 5057}, /* MediumBlue */
  1324. {186, 85, 211, 5068}, /* MediumOrchid */
  1325. {224, 102, 255, 5081}, /* MediumOrchid1 */
  1326. {209, 95, 238, 5095}, /* MediumOrchid2 */
  1327. {180, 82, 205, 5109}, /* MediumOrchid3 */
  1328. {122, 55, 139, 5123}, /* MediumOrchid4 */
  1329. {147, 112, 219, 5137}, /* MediumPurple */
  1330. {171, 130, 255, 5150}, /* MediumPurple1 */
  1331. {159, 121, 238, 5164}, /* MediumPurple2 */
  1332. {137, 104, 205, 5178}, /* MediumPurple3 */
  1333. {93, 71, 139, 5192}, /* MediumPurple4 */
  1334. {60, 179, 113, 5206}, /* MediumSeaGreen */
  1335. {123, 104, 238, 5221}, /* MediumSlateBlue */
  1336. {0, 250, 154, 5237}, /* MediumSpringGreen */
  1337. {72, 209, 204, 5255}, /* MediumTurquoise */
  1338. {199, 21, 133, 5271}, /* MediumVioletRed */
  1339. {25, 25, 112, 5287}, /* midnight blue */
  1340. {25, 25, 112, 5301}, /* MidnightBlue */
  1341. {245, 255, 250, 5314}, /* mint cream */
  1342. {245, 255, 250, 5325}, /* MintCream */
  1343. {255, 228, 225, 5335}, /* misty rose */
  1344. {255, 228, 225, 5346}, /* MistyRose */
  1345. {255, 228, 225, 5356}, /* MistyRose1 */
  1346. {238, 213, 210, 5367}, /* MistyRose2 */
  1347. {205, 183, 181, 5378}, /* MistyRose3 */
  1348. {139, 125, 123, 5389}, /* MistyRose4 */
  1349. {255, 228, 181, 5400}, /* moccasin */
  1350. {255, 222, 173, 5409}, /* navajo white */
  1351. {255, 222, 173, 5422}, /* NavajoWhite */
  1352. {255, 222, 173, 5434}, /* NavajoWhite1 */
  1353. {238, 207, 161, 5447}, /* NavajoWhite2 */
  1354. {205, 179, 139, 5460}, /* NavajoWhite3 */
  1355. {139, 121, 94, 5473}, /* NavajoWhite4 */
  1356. {0, 0, 128, 5486}, /* navy */
  1357. {0, 0, 128, 5491}, /* navy blue */
  1358. {0, 0, 128, 5501}, /* NavyBlue */
  1359. {253, 245, 230, 5510}, /* old lace */
  1360. {253, 245, 230, 5519}, /* OldLace */
  1361. {107, 142, 35, 5527}, /* olive drab */
  1362. {107, 142, 35, 5538}, /* OliveDrab */
  1363. {192, 255, 62, 5548}, /* OliveDrab1 */
  1364. {179, 238, 58, 5559}, /* OliveDrab2 */
  1365. {154, 205, 50, 5570}, /* OliveDrab3 */
  1366. {105, 139, 34, 5581}, /* OliveDrab4 */
  1367. {255, 165, 0, 5592}, /* orange */
  1368. {255, 69, 0, 5599}, /* orange red */
  1369. {255, 165, 0, 5610}, /* orange1 */
  1370. {238, 154, 0, 5618}, /* orange2 */
  1371. {205, 133, 0, 5626}, /* orange3 */
  1372. {139, 90, 0, 5634}, /* orange4 */
  1373. {255, 69, 0, 5642}, /* OrangeRed */
  1374. {255, 69, 0, 5652}, /* OrangeRed1 */
  1375. {238, 64, 0, 5663}, /* OrangeRed2 */
  1376. {205, 55, 0, 5674}, /* OrangeRed3 */
  1377. {139, 37, 0, 5685}, /* OrangeRed4 */
  1378. {218, 112, 214, 5696}, /* orchid */
  1379. {255, 131, 250, 5703}, /* orchid1 */
  1380. {238, 122, 233, 5711}, /* orchid2 */
  1381. {205, 105, 201, 5719}, /* orchid3 */
  1382. {139, 71, 137, 5727}, /* orchid4 */
  1383. {238, 232, 170, 5735}, /* pale goldenrod */
  1384. {152, 251, 152, 5750}, /* pale green */
  1385. {175, 238, 238, 5761}, /* pale turquoise */
  1386. {219, 112, 147, 5776}, /* pale violet red */
  1387. {238, 232, 170, 5792}, /* PaleGoldenrod */
  1388. {152, 251, 152, 5806}, /* PaleGreen */
  1389. {154, 255, 154, 5816}, /* PaleGreen1 */
  1390. {144, 238, 144, 5827}, /* PaleGreen2 */
  1391. {124, 205, 124, 5838}, /* PaleGreen3 */
  1392. {84, 139, 84, 5849}, /* PaleGreen4 */
  1393. {175, 238, 238, 5860}, /* PaleTurquoise */
  1394. {187, 255, 255, 5874}, /* PaleTurquoise1 */
  1395. {174, 238, 238, 5889}, /* PaleTurquoise2 */
  1396. {150, 205, 205, 5904}, /* PaleTurquoise3 */
  1397. {102, 139, 139, 5919}, /* PaleTurquoise4 */
  1398. {219, 112, 147, 5934}, /* PaleVioletRed */
  1399. {255, 130, 171, 5948}, /* PaleVioletRed1 */
  1400. {238, 121, 159, 5963}, /* PaleVioletRed2 */
  1401. {205, 104, 137, 5978}, /* PaleVioletRed3 */
  1402. {139, 71, 93, 5993}, /* PaleVioletRed4 */
  1403. {255, 239, 213, 6008}, /* papaya whip */
  1404. {255, 239, 213, 6020}, /* PapayaWhip */
  1405. {255, 218, 185, 6031}, /* peach puff */
  1406. {255, 218, 185, 6042}, /* PeachPuff */
  1407. {255, 218, 185, 6052}, /* PeachPuff1 */
  1408. {238, 203, 173, 6063}, /* PeachPuff2 */
  1409. {205, 175, 149, 6074}, /* PeachPuff3 */
  1410. {139, 119, 101, 6085}, /* PeachPuff4 */
  1411. {205, 133, 63, 6096}, /* peru */
  1412. {255, 192, 203, 6101}, /* pink */
  1413. {255, 181, 197, 6106}, /* pink1 */
  1414. {238, 169, 184, 6112}, /* pink2 */
  1415. {205, 145, 158, 6118}, /* pink3 */
  1416. {139, 99, 108, 6124}, /* pink4 */
  1417. {221, 160, 221, 6130}, /* plum */
  1418. {255, 187, 255, 6135}, /* plum1 */
  1419. {238, 174, 238, 6141}, /* plum2 */
  1420. {205, 150, 205, 6147}, /* plum3 */
  1421. {139, 102, 139, 6153}, /* plum4 */
  1422. {176, 224, 230, 6159}, /* powder blue */
  1423. {176, 224, 230, 6171}, /* PowderBlue */
  1424. {160, 32, 240, 6182}, /* purple */
  1425. {155, 48, 255, 6189}, /* purple1 */
  1426. {145, 44, 238, 6197}, /* purple2 */
  1427. {125, 38, 205, 6205}, /* purple3 */
  1428. {85, 26, 139, 6213}, /* purple4 */
  1429. {255, 0, 0, 6221}, /* red */
  1430. {255, 0, 0, 6225}, /* red1 */
  1431. {238, 0, 0, 6230}, /* red2 */
  1432. {205, 0, 0, 6235}, /* red3 */
  1433. {139, 0, 0, 6240}, /* red4 */
  1434. {188, 143, 143, 6245}, /* rosy brown */
  1435. {188, 143, 143, 6256}, /* RosyBrown */
  1436. {255, 193, 193, 6266}, /* RosyBrown1 */
  1437. {238, 180, 180, 6277}, /* RosyBrown2 */
  1438. {205, 155, 155, 6288}, /* RosyBrown3 */
  1439. {139, 105, 105, 6299}, /* RosyBrown4 */
  1440. {65, 105, 225, 6310}, /* royal blue */
  1441. {65, 105, 225, 6321}, /* RoyalBlue */
  1442. {72, 118, 255, 6331}, /* RoyalBlue1 */
  1443. {67, 110, 238, 6342}, /* RoyalBlue2 */
  1444. {58, 95, 205, 6353}, /* RoyalBlue3 */
  1445. {39, 64, 139, 6364}, /* RoyalBlue4 */
  1446. {139, 69, 19, 6375}, /* saddle brown */
  1447. {139, 69, 19, 6388}, /* SaddleBrown */
  1448. {250, 128, 114, 6400}, /* salmon */
  1449. {255, 140, 105, 6407}, /* salmon1 */
  1450. {238, 130, 98, 6415}, /* salmon2 */
  1451. {205, 112, 84, 6423}, /* salmon3 */
  1452. {139, 76, 57, 6431}, /* salmon4 */
  1453. {244, 164, 96, 6439}, /* sandy brown */
  1454. {244, 164, 96, 6451}, /* SandyBrown */
  1455. {46, 139, 87, 6462}, /* sea green */
  1456. {46, 139, 87, 6472}, /* SeaGreen */
  1457. {84, 255, 159, 6481}, /* SeaGreen1 */
  1458. {78, 238, 148, 6491}, /* SeaGreen2 */
  1459. {67, 205, 128, 6501}, /* SeaGreen3 */
  1460. {46, 139, 87, 6511}, /* SeaGreen4 */
  1461. {255, 245, 238, 6521}, /* seashell */
  1462. {255, 245, 238, 6530}, /* seashell1 */
  1463. {238, 229, 222, 6540}, /* seashell2 */
  1464. {205, 197, 191, 6550}, /* seashell3 */
  1465. {139, 134, 130, 6560}, /* seashell4 */
  1466. {160, 82, 45, 6570}, /* sienna */
  1467. {255, 130, 71, 6577}, /* sienna1 */
  1468. {238, 121, 66, 6585}, /* sienna2 */
  1469. {205, 104, 57, 6593}, /* sienna3 */
  1470. {139, 71, 38, 6601}, /* sienna4 */
  1471. {135, 206, 235, 6609}, /* sky blue */
  1472. {135, 206, 235, 6618}, /* SkyBlue */
  1473. {135, 206, 255, 6626}, /* SkyBlue1 */
  1474. {126, 192, 238, 6635}, /* SkyBlue2 */
  1475. {108, 166, 205, 6644}, /* SkyBlue3 */
  1476. {74, 112, 139, 6653}, /* SkyBlue4 */
  1477. {106, 90, 205, 6662}, /* slate blue */
  1478. {112, 128, 144, 6673}, /* slate gray */
  1479. {112, 128, 144, 6684}, /* slate grey */
  1480. {106, 90, 205, 6695}, /* SlateBlue */
  1481. {131, 111, 255, 6705}, /* SlateBlue1 */
  1482. {122, 103, 238, 6716}, /* SlateBlue2 */
  1483. {105, 89, 205, 6727}, /* SlateBlue3 */
  1484. {71, 60, 139, 6738}, /* SlateBlue4 */
  1485. {112, 128, 144, 6749}, /* SlateGray */
  1486. {198, 226, 255, 6759}, /* SlateGray1 */
  1487. {185, 211, 238, 6770}, /* SlateGray2 */
  1488. {159, 182, 205, 6781}, /* SlateGray3 */
  1489. {108, 123, 139, 6792}, /* SlateGray4 */
  1490. {112, 128, 144, 6803}, /* SlateGrey */
  1491. {255, 250, 250, 6813}, /* snow */
  1492. {255, 250, 250, 6818}, /* snow1 */
  1493. {238, 233, 233, 6824}, /* snow2 */
  1494. {205, 201, 201, 6830}, /* snow3 */
  1495. {139, 137, 137, 6836}, /* snow4 */
  1496. {0, 255, 127, 6842}, /* spring green */
  1497. {0, 255, 127, 6855}, /* SpringGreen */
  1498. {0, 255, 127, 6867}, /* SpringGreen1 */
  1499. {0, 238, 118, 6880}, /* SpringGreen2 */
  1500. {0, 205, 102, 6893}, /* SpringGreen3 */
  1501. {0, 139, 69, 6906}, /* SpringGreen4 */
  1502. {70, 130, 180, 6919}, /* steel blue */
  1503. {70, 130, 180, 6930}, /* SteelBlue */
  1504. {99, 184, 255, 6940}, /* SteelBlue1 */
  1505. {92, 172, 238, 6951}, /* SteelBlue2 */
  1506. {79, 148, 205, 6962}, /* SteelBlue3 */
  1507. {54, 100, 139, 6973}, /* SteelBlue4 */
  1508. {210, 180, 140, 6984}, /* tan */
  1509. {255, 165, 79, 6988}, /* tan1 */
  1510. {238, 154, 73, 6993}, /* tan2 */
  1511. {205, 133, 63, 6998}, /* tan3 */
  1512. {139, 90, 43, 7003}, /* tan4 */
  1513. {216, 191, 216, 7008}, /* thistle */
  1514. {255, 225, 255, 7016}, /* thistle1 */
  1515. {238, 210, 238, 7025}, /* thistle2 */
  1516. {205, 181, 205, 7034}, /* thistle3 */
  1517. {139, 123, 139, 7043}, /* thistle4 */
  1518. {255, 99, 71, 7052}, /* tomato */
  1519. {255, 99, 71, 7059}, /* tomato1 */
  1520. {238, 92, 66, 7067}, /* tomato2 */
  1521. {205, 79, 57, 7075}, /* tomato3 */
  1522. {139, 54, 38, 7083}, /* tomato4 */
  1523. {64, 224, 208, 7091}, /* turquoise */
  1524. {0, 245, 255, 7101}, /* turquoise1 */
  1525. {0, 229, 238, 7112}, /* turquoise2 */
  1526. {0, 197, 205, 7123}, /* turquoise3 */
  1527. {0, 134, 139, 7134}, /* turquoise4 */
  1528. {238, 130, 238, 7145}, /* violet */
  1529. {208, 32, 144, 7152}, /* violet red */
  1530. {208, 32, 144, 7163}, /* VioletRed */
  1531. {255, 62, 150, 7173}, /* VioletRed1 */
  1532. {238, 58, 140, 7184}, /* VioletRed2 */
  1533. {205, 50, 120, 7195}, /* VioletRed3 */
  1534. {139, 34, 82, 7206}, /* VioletRed4 */
  1535. {245, 222, 179, 7217}, /* wheat */
  1536. {255, 231, 186, 7223}, /* wheat1 */
  1537. {238, 216, 174, 7230}, /* wheat2 */
  1538. {205, 186, 150, 7237}, /* wheat3 */
  1539. {139, 126, 102, 7244}, /* wheat4 */
  1540. {255, 255, 255, 7251}, /* white */
  1541. {245, 245, 245, 7257}, /* white smoke */
  1542. {245, 245, 245, 7269}, /* WhiteSmoke */
  1543. {255, 255, 0, 7280}, /* yellow */
  1544. {154, 205, 50, 7287}, /* yellow green */
  1545. {255, 255, 0, 7300}, /* yellow1 */
  1546. {238, 238, 0, 7308}, /* yellow2 */
  1547. {205, 205, 0, 7316}, /* yellow3 */
  1548. {139, 139, 0, 7324}, /* yellow4 */
  1549. {154, 205, 50, 7332}, /* YellowGreen */
  1550. };
  1551. #define NUM_BUILTIN_COLORS (sizeof (BuiltinColors) / sizeof (BuiltinColors[0]))
  1552. Bool
  1553. OsLookupColor(int screen,
  1554. char *name,
  1555. unsigned int len,
  1556. unsigned short *pred,
  1557. unsigned short *pgreen, unsigned short *pblue)
  1558. {
  1559. const BuiltinColor *c;
  1560. int low, mid, high;
  1561. int r;
  1562. low = 0;
  1563. high = NUM_BUILTIN_COLORS - 1;
  1564. while (high >= low) {
  1565. mid = (low + high) / 2;
  1566. c = &BuiltinColors[mid];
  1567. r = strncasecmp(&BuiltinColorNames[c->name], name, len);
  1568. if (r == 0 && len == strlen(&BuiltinColorNames[c->name])) {
  1569. *pred = c->red * 0x101;
  1570. *pgreen = c->green * 0x101;
  1571. *pblue = c->blue * 0x101;
  1572. return TRUE;
  1573. }
  1574. if (r < 0)
  1575. low = mid + 1;
  1576. else
  1577. high = mid - 1;
  1578. }
  1579. return FALSE;
  1580. }