xserver

xserver with xephyr scale patch
git clone https://git.neptards.moe/u3shit/xserver.git
Log | Files | Refs | README | LICENSE

oscolor.c (57748B)


      1 /***********************************************************
      2 
      3 Copyright 1987, 1998  The Open Group
      4 
      5 Permission to use, copy, modify, distribute, and sell this software and its
      6 documentation for any purpose is hereby granted without fee, provided that
      7 the above copyright notice appear in all copies and that both that
      8 copyright notice and this permission notice appear in supporting
      9 documentation.
     10 
     11 The above copyright notice and this permission notice shall be included in
     12 all copies or substantial portions of the Software.
     13 
     14 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     15 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     16 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL THE
     17 OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
     18 AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
     19 CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
     20 
     21 Except as contained in this notice, the name of The Open Group shall not be
     22 used in advertising or otherwise to promote the sale, use or other dealings
     23 in this Software without prior written authorization from The Open Group.
     24 
     25 Copyright 1987 by Digital Equipment Corporation, Maynard, Massachusetts.
     26 
     27                         All Rights Reserved
     28 
     29 Permission to use, copy, modify, and distribute this software and its
     30 documentation for any purpose and without fee is hereby granted,
     31 provided that the above copyright notice appear in all copies and that
     32 both that copyright notice and this permission notice appear in
     33 supporting documentation, and that the name of Digital not be
     34 used in advertising or publicity pertaining to distribution of the
     35 software without specific, written prior permission.
     36 
     37 DIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
     38 ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
     39 DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
     40 ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
     41 WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
     42 ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
     43 SOFTWARE.
     44 
     45 ******************************************************************/
     46 
     47 #ifdef HAVE_DIX_CONFIG_H
     48 #include <dix-config.h>
     49 #endif
     50 
     51 #include <X11/keysym.h>
     52 #include "dix.h"
     53 #include "os.h"
     54 
     55 typedef struct _builtinColor {
     56     unsigned char red;
     57     unsigned char green;
     58     unsigned char blue;
     59     unsigned short name;
     60 } BuiltinColor;
     61 
     62 static const char BuiltinColorNames[] = {
     63     "alice blue\0"
     64         "AliceBlue\0"
     65         "antique white\0"
     66         "AntiqueWhite\0"
     67         "AntiqueWhite1\0"
     68         "AntiqueWhite2\0"
     69         "AntiqueWhite3\0"
     70         "AntiqueWhite4\0"
     71         "aqua\0"
     72         "aquamarine\0"
     73         "aquamarine1\0"
     74         "aquamarine2\0"
     75         "aquamarine3\0"
     76         "aquamarine4\0"
     77         "azure\0"
     78         "azure1\0"
     79         "azure2\0"
     80         "azure3\0"
     81         "azure4\0"
     82         "beige\0"
     83         "bisque\0"
     84         "bisque1\0"
     85         "bisque2\0"
     86         "bisque3\0"
     87         "bisque4\0"
     88         "black\0"
     89         "blanched almond\0"
     90         "BlanchedAlmond\0"
     91         "blue\0"
     92         "blue violet\0"
     93         "blue1\0"
     94         "blue2\0"
     95         "blue3\0"
     96         "blue4\0"
     97         "BlueViolet\0"
     98         "brown\0"
     99         "brown1\0"
    100         "brown2\0"
    101         "brown3\0"
    102         "brown4\0"
    103         "burlywood\0"
    104         "burlywood1\0"
    105         "burlywood2\0"
    106         "burlywood3\0"
    107         "burlywood4\0"
    108         "cadet blue\0"
    109         "CadetBlue\0"
    110         "CadetBlue1\0"
    111         "CadetBlue2\0"
    112         "CadetBlue3\0"
    113         "CadetBlue4\0"
    114         "chartreuse\0"
    115         "chartreuse1\0"
    116         "chartreuse2\0"
    117         "chartreuse3\0"
    118         "chartreuse4\0"
    119         "chocolate\0"
    120         "chocolate1\0"
    121         "chocolate2\0"
    122         "chocolate3\0"
    123         "chocolate4\0"
    124         "coral\0"
    125         "coral1\0"
    126         "coral2\0"
    127         "coral3\0"
    128         "coral4\0"
    129         "cornflower blue\0"
    130         "CornflowerBlue\0"
    131         "cornsilk\0"
    132         "cornsilk1\0"
    133         "cornsilk2\0"
    134         "cornsilk3\0"
    135         "cornsilk4\0"
    136         "crimson\0"
    137         "cyan\0"
    138         "cyan1\0"
    139         "cyan2\0"
    140         "cyan3\0"
    141         "cyan4\0"
    142         "dark blue\0"
    143         "dark cyan\0"
    144         "dark goldenrod\0"
    145         "dark gray\0"
    146         "dark green\0"
    147         "dark grey\0"
    148         "dark khaki\0"
    149         "dark magenta\0"
    150         "dark olive green\0"
    151         "dark orange\0"
    152         "dark orchid\0"
    153         "dark red\0"
    154         "dark salmon\0"
    155         "dark sea green\0"
    156         "dark slate blue\0"
    157         "dark slate gray\0"
    158         "dark slate grey\0"
    159         "dark turquoise\0"
    160         "dark violet\0"
    161         "DarkBlue\0"
    162         "DarkCyan\0"
    163         "DarkGoldenrod\0"
    164         "DarkGoldenrod1\0"
    165         "DarkGoldenrod2\0"
    166         "DarkGoldenrod3\0"
    167         "DarkGoldenrod4\0"
    168         "DarkGray\0"
    169         "DarkGreen\0"
    170         "DarkGrey\0"
    171         "DarkKhaki\0"
    172         "DarkMagenta\0"
    173         "DarkOliveGreen\0"
    174         "DarkOliveGreen1\0"
    175         "DarkOliveGreen2\0"
    176         "DarkOliveGreen3\0"
    177         "DarkOliveGreen4\0"
    178         "DarkOrange\0"
    179         "DarkOrange1\0"
    180         "DarkOrange2\0"
    181         "DarkOrange3\0"
    182         "DarkOrange4\0"
    183         "DarkOrchid\0"
    184         "DarkOrchid1\0"
    185         "DarkOrchid2\0"
    186         "DarkOrchid3\0"
    187         "DarkOrchid4\0"
    188         "DarkRed\0"
    189         "DarkSalmon\0"
    190         "DarkSeaGreen\0"
    191         "DarkSeaGreen1\0"
    192         "DarkSeaGreen2\0"
    193         "DarkSeaGreen3\0"
    194         "DarkSeaGreen4\0"
    195         "DarkSlateBlue\0"
    196         "DarkSlateGray\0"
    197         "DarkSlateGray1\0"
    198         "DarkSlateGray2\0"
    199         "DarkSlateGray3\0"
    200         "DarkSlateGray4\0"
    201         "DarkSlateGrey\0"
    202         "DarkTurquoise\0"
    203         "DarkViolet\0"
    204         "deep pink\0"
    205         "deep sky blue\0"
    206         "DeepPink\0"
    207         "DeepPink1\0"
    208         "DeepPink2\0"
    209         "DeepPink3\0"
    210         "DeepPink4\0"
    211         "DeepSkyBlue\0"
    212         "DeepSkyBlue1\0"
    213         "DeepSkyBlue2\0"
    214         "DeepSkyBlue3\0"
    215         "DeepSkyBlue4\0"
    216         "dim gray\0"
    217         "dim grey\0"
    218         "DimGray\0"
    219         "DimGrey\0"
    220         "dodger blue\0"
    221         "DodgerBlue\0"
    222         "DodgerBlue1\0"
    223         "DodgerBlue2\0"
    224         "DodgerBlue3\0"
    225         "DodgerBlue4\0"
    226         "firebrick\0"
    227         "firebrick1\0"
    228         "firebrick2\0"
    229         "firebrick3\0"
    230         "firebrick4\0"
    231         "floral white\0"
    232         "FloralWhite\0"
    233         "forest green\0"
    234         "ForestGreen\0"
    235         "fuchsia\0"
    236         "gainsboro\0"
    237         "ghost white\0"
    238         "GhostWhite\0"
    239         "gold\0"
    240         "gold1\0"
    241         "gold2\0"
    242         "gold3\0"
    243         "gold4\0"
    244         "goldenrod\0"
    245         "goldenrod1\0"
    246         "goldenrod2\0"
    247         "goldenrod3\0"
    248         "goldenrod4\0"
    249         "gray\0"
    250         "gray0\0"
    251         "gray1\0"
    252         "gray10\0"
    253         "gray100\0"
    254         "gray11\0"
    255         "gray12\0"
    256         "gray13\0"
    257         "gray14\0"
    258         "gray15\0"
    259         "gray16\0"
    260         "gray17\0"
    261         "gray18\0"
    262         "gray19\0"
    263         "gray2\0"
    264         "gray20\0"
    265         "gray21\0"
    266         "gray22\0"
    267         "gray23\0"
    268         "gray24\0"
    269         "gray25\0"
    270         "gray26\0"
    271         "gray27\0"
    272         "gray28\0"
    273         "gray29\0"
    274         "gray3\0"
    275         "gray30\0"
    276         "gray31\0"
    277         "gray32\0"
    278         "gray33\0"
    279         "gray34\0"
    280         "gray35\0"
    281         "gray36\0"
    282         "gray37\0"
    283         "gray38\0"
    284         "gray39\0"
    285         "gray4\0"
    286         "gray40\0"
    287         "gray41\0"
    288         "gray42\0"
    289         "gray43\0"
    290         "gray44\0"
    291         "gray45\0"
    292         "gray46\0"
    293         "gray47\0"
    294         "gray48\0"
    295         "gray49\0"
    296         "gray5\0"
    297         "gray50\0"
    298         "gray51\0"
    299         "gray52\0"
    300         "gray53\0"
    301         "gray54\0"
    302         "gray55\0"
    303         "gray56\0"
    304         "gray57\0"
    305         "gray58\0"
    306         "gray59\0"
    307         "gray6\0"
    308         "gray60\0"
    309         "gray61\0"
    310         "gray62\0"
    311         "gray63\0"
    312         "gray64\0"
    313         "gray65\0"
    314         "gray66\0"
    315         "gray67\0"
    316         "gray68\0"
    317         "gray69\0"
    318         "gray7\0"
    319         "gray70\0"
    320         "gray71\0"
    321         "gray72\0"
    322         "gray73\0"
    323         "gray74\0"
    324         "gray75\0"
    325         "gray76\0"
    326         "gray77\0"
    327         "gray78\0"
    328         "gray79\0"
    329         "gray8\0"
    330         "gray80\0"
    331         "gray81\0"
    332         "gray82\0"
    333         "gray83\0"
    334         "gray84\0"
    335         "gray85\0"
    336         "gray86\0"
    337         "gray87\0"
    338         "gray88\0"
    339         "gray89\0"
    340         "gray9\0"
    341         "gray90\0"
    342         "gray91\0"
    343         "gray92\0"
    344         "gray93\0"
    345         "gray94\0"
    346         "gray95\0"
    347         "gray96\0"
    348         "gray97\0"
    349         "gray98\0"
    350         "gray99\0"
    351         "green\0"
    352         "green yellow\0"
    353         "green1\0"
    354         "green2\0"
    355         "green3\0"
    356         "green4\0"
    357         "GreenYellow\0"
    358         "grey\0"
    359         "grey0\0"
    360         "grey1\0"
    361         "grey10\0"
    362         "grey100\0"
    363         "grey11\0"
    364         "grey12\0"
    365         "grey13\0"
    366         "grey14\0"
    367         "grey15\0"
    368         "grey16\0"
    369         "grey17\0"
    370         "grey18\0"
    371         "grey19\0"
    372         "grey2\0"
    373         "grey20\0"
    374         "grey21\0"
    375         "grey22\0"
    376         "grey23\0"
    377         "grey24\0"
    378         "grey25\0"
    379         "grey26\0"
    380         "grey27\0"
    381         "grey28\0"
    382         "grey29\0"
    383         "grey3\0"
    384         "grey30\0"
    385         "grey31\0"
    386         "grey32\0"
    387         "grey33\0"
    388         "grey34\0"
    389         "grey35\0"
    390         "grey36\0"
    391         "grey37\0"
    392         "grey38\0"
    393         "grey39\0"
    394         "grey4\0"
    395         "grey40\0"
    396         "grey41\0"
    397         "grey42\0"
    398         "grey43\0"
    399         "grey44\0"
    400         "grey45\0"
    401         "grey46\0"
    402         "grey47\0"
    403         "grey48\0"
    404         "grey49\0"
    405         "grey5\0"
    406         "grey50\0"
    407         "grey51\0"
    408         "grey52\0"
    409         "grey53\0"
    410         "grey54\0"
    411         "grey55\0"
    412         "grey56\0"
    413         "grey57\0"
    414         "grey58\0"
    415         "grey59\0"
    416         "grey6\0"
    417         "grey60\0"
    418         "grey61\0"
    419         "grey62\0"
    420         "grey63\0"
    421         "grey64\0"
    422         "grey65\0"
    423         "grey66\0"
    424         "grey67\0"
    425         "grey68\0"
    426         "grey69\0"
    427         "grey7\0"
    428         "grey70\0"
    429         "grey71\0"
    430         "grey72\0"
    431         "grey73\0"
    432         "grey74\0"
    433         "grey75\0"
    434         "grey76\0"
    435         "grey77\0"
    436         "grey78\0"
    437         "grey79\0"
    438         "grey8\0"
    439         "grey80\0"
    440         "grey81\0"
    441         "grey82\0"
    442         "grey83\0"
    443         "grey84\0"
    444         "grey85\0"
    445         "grey86\0"
    446         "grey87\0"
    447         "grey88\0"
    448         "grey89\0"
    449         "grey9\0"
    450         "grey90\0"
    451         "grey91\0"
    452         "grey92\0"
    453         "grey93\0"
    454         "grey94\0"
    455         "grey95\0"
    456         "grey96\0"
    457         "grey97\0"
    458         "grey98\0"
    459         "grey99\0"
    460         "honeydew\0"
    461         "honeydew1\0"
    462         "honeydew2\0"
    463         "honeydew3\0"
    464         "honeydew4\0"
    465         "hot pink\0"
    466         "HotPink\0"
    467         "HotPink1\0"
    468         "HotPink2\0"
    469         "HotPink3\0"
    470         "HotPink4\0"
    471         "indian red\0"
    472         "IndianRed\0"
    473         "IndianRed1\0"
    474         "IndianRed2\0"
    475         "IndianRed3\0"
    476         "IndianRed4\0"
    477         "indigo\0"
    478         "ivory\0"
    479         "ivory1\0"
    480         "ivory2\0"
    481         "ivory3\0"
    482         "ivory4\0"
    483         "khaki\0"
    484         "khaki1\0"
    485         "khaki2\0"
    486         "khaki3\0"
    487         "khaki4\0"
    488         "lavender\0"
    489         "lavender blush\0"
    490         "LavenderBlush\0"
    491         "LavenderBlush1\0"
    492         "LavenderBlush2\0"
    493         "LavenderBlush3\0"
    494         "LavenderBlush4\0"
    495         "lawn green\0"
    496         "LawnGreen\0"
    497         "lemon chiffon\0"
    498         "LemonChiffon\0"
    499         "LemonChiffon1\0"
    500         "LemonChiffon2\0"
    501         "LemonChiffon3\0"
    502         "LemonChiffon4\0"
    503         "light blue\0"
    504         "light coral\0"
    505         "light cyan\0"
    506         "light goldenrod\0"
    507         "light goldenrod yellow\0"
    508         "light gray\0"
    509         "light green\0"
    510         "light grey\0"
    511         "light pink\0"
    512         "light salmon\0"
    513         "light sea green\0"
    514         "light sky blue\0"
    515         "light slate blue\0"
    516         "light slate gray\0"
    517         "light slate grey\0"
    518         "light steel blue\0"
    519         "light yellow\0"
    520         "LightBlue\0"
    521         "LightBlue1\0"
    522         "LightBlue2\0"
    523         "LightBlue3\0"
    524         "LightBlue4\0"
    525         "LightCoral\0"
    526         "LightCyan\0"
    527         "LightCyan1\0"
    528         "LightCyan2\0"
    529         "LightCyan3\0"
    530         "LightCyan4\0"
    531         "LightGoldenrod\0"
    532         "LightGoldenrod1\0"
    533         "LightGoldenrod2\0"
    534         "LightGoldenrod3\0"
    535         "LightGoldenrod4\0"
    536         "LightGoldenrodYellow\0"
    537         "LightGray\0"
    538         "LightGreen\0"
    539         "LightGrey\0"
    540         "LightPink\0"
    541         "LightPink1\0"
    542         "LightPink2\0"
    543         "LightPink3\0"
    544         "LightPink4\0"
    545         "LightSalmon\0"
    546         "LightSalmon1\0"
    547         "LightSalmon2\0"
    548         "LightSalmon3\0"
    549         "LightSalmon4\0"
    550         "LightSeaGreen\0"
    551         "LightSkyBlue\0"
    552         "LightSkyBlue1\0"
    553         "LightSkyBlue2\0"
    554         "LightSkyBlue3\0"
    555         "LightSkyBlue4\0"
    556         "LightSlateBlue\0"
    557         "LightSlateGray\0"
    558         "LightSlateGrey\0"
    559         "LightSteelBlue\0"
    560         "LightSteelBlue1\0"
    561         "LightSteelBlue2\0"
    562         "LightSteelBlue3\0"
    563         "LightSteelBlue4\0"
    564         "LightYellow\0"
    565         "LightYellow1\0"
    566         "LightYellow2\0"
    567         "LightYellow3\0"
    568         "LightYellow4\0"
    569         "lime\0"
    570         "lime green\0"
    571         "LimeGreen\0"
    572         "linen\0"
    573         "magenta\0"
    574         "magenta1\0"
    575         "magenta2\0"
    576         "magenta3\0"
    577         "magenta4\0"
    578         "maroon\0"
    579         "maroon1\0"
    580         "maroon2\0"
    581         "maroon3\0"
    582         "maroon4\0"
    583         "medium aquamarine\0"
    584         "medium blue\0"
    585         "medium orchid\0"
    586         "medium purple\0"
    587         "medium sea green\0"
    588         "medium slate blue\0"
    589         "medium spring green\0"
    590         "medium turquoise\0"
    591         "medium violet red\0"
    592         "MediumAquamarine\0"
    593         "MediumBlue\0"
    594         "MediumOrchid\0"
    595         "MediumOrchid1\0"
    596         "MediumOrchid2\0"
    597         "MediumOrchid3\0"
    598         "MediumOrchid4\0"
    599         "MediumPurple\0"
    600         "MediumPurple1\0"
    601         "MediumPurple2\0"
    602         "MediumPurple3\0"
    603         "MediumPurple4\0"
    604         "MediumSeaGreen\0"
    605         "MediumSlateBlue\0"
    606         "MediumSpringGreen\0"
    607         "MediumTurquoise\0"
    608         "MediumVioletRed\0"
    609         "midnight blue\0"
    610         "MidnightBlue\0"
    611         "mint cream\0"
    612         "MintCream\0"
    613         "misty rose\0"
    614         "MistyRose\0"
    615         "MistyRose1\0"
    616         "MistyRose2\0"
    617         "MistyRose3\0"
    618         "MistyRose4\0"
    619         "moccasin\0"
    620         "navajo white\0"
    621         "NavajoWhite\0"
    622         "NavajoWhite1\0"
    623         "NavajoWhite2\0"
    624         "NavajoWhite3\0"
    625         "NavajoWhite4\0"
    626         "navy\0"
    627         "navy blue\0"
    628         "NavyBlue\0"
    629         "old lace\0"
    630         "OldLace\0"
    631         "olive\0"
    632         "olive drab\0"
    633         "OliveDrab\0"
    634         "OliveDrab1\0"
    635         "OliveDrab2\0"
    636         "OliveDrab3\0"
    637         "OliveDrab4\0"
    638         "orange\0"
    639         "orange red\0"
    640         "orange1\0"
    641         "orange2\0"
    642         "orange3\0"
    643         "orange4\0"
    644         "OrangeRed\0"
    645         "OrangeRed1\0"
    646         "OrangeRed2\0"
    647         "OrangeRed3\0"
    648         "OrangeRed4\0"
    649         "orchid\0"
    650         "orchid1\0"
    651         "orchid2\0"
    652         "orchid3\0"
    653         "orchid4\0"
    654         "pale goldenrod\0"
    655         "pale green\0"
    656         "pale turquoise\0"
    657         "pale violet red\0"
    658         "PaleGoldenrod\0"
    659         "PaleGreen\0"
    660         "PaleGreen1\0"
    661         "PaleGreen2\0"
    662         "PaleGreen3\0"
    663         "PaleGreen4\0"
    664         "PaleTurquoise\0"
    665         "PaleTurquoise1\0"
    666         "PaleTurquoise2\0"
    667         "PaleTurquoise3\0"
    668         "PaleTurquoise4\0"
    669         "PaleVioletRed\0"
    670         "PaleVioletRed1\0"
    671         "PaleVioletRed2\0"
    672         "PaleVioletRed3\0"
    673         "PaleVioletRed4\0"
    674         "papaya whip\0"
    675         "PapayaWhip\0"
    676         "peach puff\0"
    677         "PeachPuff\0"
    678         "PeachPuff1\0"
    679         "PeachPuff2\0"
    680         "PeachPuff3\0"
    681         "PeachPuff4\0"
    682         "peru\0"
    683         "pink\0"
    684         "pink1\0"
    685         "pink2\0"
    686         "pink3\0"
    687         "pink4\0"
    688         "plum\0"
    689         "plum1\0"
    690         "plum2\0"
    691         "plum3\0"
    692         "plum4\0"
    693         "powder blue\0"
    694         "PowderBlue\0"
    695         "purple\0"
    696         "purple1\0"
    697         "purple2\0"
    698         "purple3\0"
    699         "purple4\0"
    700         "rebecca purple\0"
    701         "RebeccaPurple\0"
    702         "red\0"
    703         "red1\0"
    704         "red2\0"
    705         "red3\0"
    706         "red4\0"
    707         "rosy brown\0"
    708         "RosyBrown\0"
    709         "RosyBrown1\0"
    710         "RosyBrown2\0"
    711         "RosyBrown3\0"
    712         "RosyBrown4\0"
    713         "royal blue\0"
    714         "RoyalBlue\0"
    715         "RoyalBlue1\0"
    716         "RoyalBlue2\0"
    717         "RoyalBlue3\0"
    718         "RoyalBlue4\0"
    719         "saddle brown\0"
    720         "SaddleBrown\0"
    721         "salmon\0"
    722         "salmon1\0"
    723         "salmon2\0"
    724         "salmon3\0"
    725         "salmon4\0"
    726         "sandy brown\0"
    727         "SandyBrown\0"
    728         "sea green\0"
    729         "SeaGreen\0"
    730         "SeaGreen1\0"
    731         "SeaGreen2\0"
    732         "SeaGreen3\0"
    733         "SeaGreen4\0"
    734         "seashell\0"
    735         "seashell1\0"
    736         "seashell2\0"
    737         "seashell3\0"
    738         "seashell4\0"
    739         "sienna\0"
    740         "sienna1\0"
    741         "sienna2\0"
    742         "sienna3\0"
    743         "sienna4\0"
    744         "silver\0"
    745         "sky blue\0"
    746         "SkyBlue\0"
    747         "SkyBlue1\0"
    748         "SkyBlue2\0"
    749         "SkyBlue3\0"
    750         "SkyBlue4\0"
    751         "slate blue\0"
    752         "slate gray\0"
    753         "slate grey\0"
    754         "SlateBlue\0"
    755         "SlateBlue1\0"
    756         "SlateBlue2\0"
    757         "SlateBlue3\0"
    758         "SlateBlue4\0"
    759         "SlateGray\0"
    760         "SlateGray1\0"
    761         "SlateGray2\0"
    762         "SlateGray3\0"
    763         "SlateGray4\0"
    764         "SlateGrey\0"
    765         "snow\0"
    766         "snow1\0"
    767         "snow2\0"
    768         "snow3\0"
    769         "snow4\0"
    770         "spring green\0"
    771         "SpringGreen\0"
    772         "SpringGreen1\0"
    773         "SpringGreen2\0"
    774         "SpringGreen3\0"
    775         "SpringGreen4\0"
    776         "steel blue\0"
    777         "SteelBlue\0"
    778         "SteelBlue1\0"
    779         "SteelBlue2\0"
    780         "SteelBlue3\0"
    781         "SteelBlue4\0"
    782         "tan\0"
    783         "tan1\0"
    784         "tan2\0"
    785         "tan3\0"
    786         "tan4\0"
    787         "teal\0"
    788         "thistle\0"
    789         "thistle1\0"
    790         "thistle2\0"
    791         "thistle3\0"
    792         "thistle4\0"
    793         "tomato\0"
    794         "tomato1\0"
    795         "tomato2\0"
    796         "tomato3\0"
    797         "tomato4\0"
    798         "turquoise\0"
    799         "turquoise1\0"
    800         "turquoise2\0"
    801         "turquoise3\0"
    802         "turquoise4\0"
    803         "violet\0"
    804         "violet red\0"
    805         "VioletRed\0"
    806         "VioletRed1\0"
    807         "VioletRed2\0"
    808         "VioletRed3\0"
    809         "VioletRed4\0"
    810         "web gray\0"
    811         "web green\0"
    812         "web grey\0"
    813         "web maroon\0"
    814         "web purple\0"
    815         "WebGray\0"
    816         "WebGreen\0"
    817         "WebGrey\0"
    818         "WebMaroon\0"
    819         "WebPurple\0"
    820         "wheat\0"
    821         "wheat1\0"
    822         "wheat2\0"
    823         "wheat3\0"
    824         "wheat4\0"
    825         "white\0"
    826         "white smoke\0"
    827         "WhiteSmoke\0"
    828         "x11 gray\0"
    829         "x11 green\0"
    830         "x11 grey\0"
    831         "x11 maroon\0"
    832         "x11 purple\0"
    833         "X11Gray\0"
    834         "X11Green\0"
    835         "X11Grey\0"
    836         "X11Maroon\0"
    837         "X11Purple\0"
    838         "yellow\0"
    839         "yellow green\0"
    840         "yellow1\0"
    841         "yellow2\0"
    842         "yellow3\0"
    843         "yellow4\0"
    844         "YellowGreen\0"
    845 };
    846 
    847 static const BuiltinColor BuiltinColors[] = {
    848     {240, 248, 255, 0},         /* alice blue */
    849     {240, 248, 255, 11},        /* AliceBlue */
    850     {250, 235, 215, 21},        /* antique white */
    851     {250, 235, 215, 35},        /* AntiqueWhite */
    852     {255, 239, 219, 48},        /* AntiqueWhite1 */
    853     {238, 223, 204, 62},        /* AntiqueWhite2 */
    854     {205, 192, 176, 76},        /* AntiqueWhite3 */
    855     {139, 131, 120, 90},        /* AntiqueWhite4 */
    856     {0, 255, 255, 104},         /* aqua */
    857     {127, 255, 212, 109},       /* aquamarine */
    858     {127, 255, 212, 120},       /* aquamarine1 */
    859     {118, 238, 198, 132},       /* aquamarine2 */
    860     {102, 205, 170, 144},       /* aquamarine3 */
    861     {69, 139, 116, 156},        /* aquamarine4 */
    862     {240, 255, 255, 168},       /* azure */
    863     {240, 255, 255, 174},       /* azure1 */
    864     {224, 238, 238, 181},       /* azure2 */
    865     {193, 205, 205, 188},       /* azure3 */
    866     {131, 139, 139, 195},       /* azure4 */
    867     {245, 245, 220, 202},       /* beige */
    868     {255, 228, 196, 208},       /* bisque */
    869     {255, 228, 196, 215},       /* bisque1 */
    870     {238, 213, 183, 223},       /* bisque2 */
    871     {205, 183, 158, 231},       /* bisque3 */
    872     {139, 125, 107, 239},       /* bisque4 */
    873     {0, 0, 0, 247},             /* black */
    874     {255, 235, 205, 253},       /* blanched almond */
    875     {255, 235, 205, 269},       /* BlanchedAlmond */
    876     {0, 0, 255, 284},           /* blue */
    877     {138, 43, 226, 289},        /* blue violet */
    878     {0, 0, 255, 301},           /* blue1 */
    879     {0, 0, 238, 307},           /* blue2 */
    880     {0, 0, 205, 313},           /* blue3 */
    881     {0, 0, 139, 319},           /* blue4 */
    882     {138, 43, 226, 325},        /* BlueViolet */
    883     {165, 42, 42, 336},         /* brown */
    884     {255, 64, 64, 342},         /* brown1 */
    885     {238, 59, 59, 349},         /* brown2 */
    886     {205, 51, 51, 356},         /* brown3 */
    887     {139, 35, 35, 363},         /* brown4 */
    888     {222, 184, 135, 370},       /* burlywood */
    889     {255, 211, 155, 380},       /* burlywood1 */
    890     {238, 197, 145, 391},       /* burlywood2 */
    891     {205, 170, 125, 402},       /* burlywood3 */
    892     {139, 115, 85, 413},        /* burlywood4 */
    893     {95, 158, 160, 424},        /* cadet blue */
    894     {95, 158, 160, 435},        /* CadetBlue */
    895     {152, 245, 255, 445},       /* CadetBlue1 */
    896     {142, 229, 238, 456},       /* CadetBlue2 */
    897     {122, 197, 205, 467},       /* CadetBlue3 */
    898     {83, 134, 139, 478},        /* CadetBlue4 */
    899     {127, 255, 0, 489},         /* chartreuse */
    900     {127, 255, 0, 500},         /* chartreuse1 */
    901     {118, 238, 0, 512},         /* chartreuse2 */
    902     {102, 205, 0, 524},         /* chartreuse3 */
    903     {69, 139, 0, 536},          /* chartreuse4 */
    904     {210, 105, 30, 548},        /* chocolate */
    905     {255, 127, 36, 558},        /* chocolate1 */
    906     {238, 118, 33, 569},        /* chocolate2 */
    907     {205, 102, 29, 580},        /* chocolate3 */
    908     {139, 69, 19, 591},         /* chocolate4 */
    909     {255, 127, 80, 602},        /* coral */
    910     {255, 114, 86, 608},        /* coral1 */
    911     {238, 106, 80, 615},        /* coral2 */
    912     {205, 91, 69, 622},         /* coral3 */
    913     {139, 62, 47, 629},         /* coral4 */
    914     {100, 149, 237, 636},       /* cornflower blue */
    915     {100, 149, 237, 652},       /* CornflowerBlue */
    916     {255, 248, 220, 667},       /* cornsilk */
    917     {255, 248, 220, 676},       /* cornsilk1 */
    918     {238, 232, 205, 686},       /* cornsilk2 */
    919     {205, 200, 177, 696},       /* cornsilk3 */
    920     {139, 136, 120, 706},       /* cornsilk4 */
    921     {220, 20, 60, 716},         /* crimson */
    922     {0, 255, 255, 724},         /* cyan */
    923     {0, 255, 255, 729},         /* cyan1 */
    924     {0, 238, 238, 735},         /* cyan2 */
    925     {0, 205, 205, 741},         /* cyan3 */
    926     {0, 139, 139, 747},         /* cyan4 */
    927     {0, 0, 139, 753},           /* dark blue */
    928     {0, 139, 139, 763},         /* dark cyan */
    929     {184, 134, 11, 773},        /* dark goldenrod */
    930     {169, 169, 169, 788},       /* dark gray */
    931     {0, 100, 0, 798},           /* dark green */
    932     {169, 169, 169, 809},       /* dark grey */
    933     {189, 183, 107, 819},       /* dark khaki */
    934     {139, 0, 139, 830},         /* dark magenta */
    935     {85, 107, 47, 843},         /* dark olive green */
    936     {255, 140, 0, 860},         /* dark orange */
    937     {153, 50, 204, 872},        /* dark orchid */
    938     {139, 0, 0, 884},           /* dark red */
    939     {233, 150, 122, 893},       /* dark salmon */
    940     {143, 188, 143, 905},       /* dark sea green */
    941     {72, 61, 139, 920},         /* dark slate blue */
    942     {47, 79, 79, 936},          /* dark slate gray */
    943     {47, 79, 79, 952},          /* dark slate grey */
    944     {0, 206, 209, 968},         /* dark turquoise */
    945     {148, 0, 211, 983},         /* dark violet */
    946     {0, 0, 139, 995},           /* DarkBlue */
    947     {0, 139, 139, 1004},        /* DarkCyan */
    948     {184, 134, 11, 1013},       /* DarkGoldenrod */
    949     {255, 185, 15, 1027},       /* DarkGoldenrod1 */
    950     {238, 173, 14, 1042},       /* DarkGoldenrod2 */
    951     {205, 149, 12, 1057},       /* DarkGoldenrod3 */
    952     {139, 101, 8, 1072},        /* DarkGoldenrod4 */
    953     {169, 169, 169, 1087},      /* DarkGray */
    954     {0, 100, 0, 1096},          /* DarkGreen */
    955     {169, 169, 169, 1106},      /* DarkGrey */
    956     {189, 183, 107, 1115},      /* DarkKhaki */
    957     {139, 0, 139, 1125},        /* DarkMagenta */
    958     {85, 107, 47, 1137},        /* DarkOliveGreen */
    959     {202, 255, 112, 1152},      /* DarkOliveGreen1 */
    960     {188, 238, 104, 1168},      /* DarkOliveGreen2 */
    961     {162, 205, 90, 1184},       /* DarkOliveGreen3 */
    962     {110, 139, 61, 1200},       /* DarkOliveGreen4 */
    963     {255, 140, 0, 1216},        /* DarkOrange */
    964     {255, 127, 0, 1227},        /* DarkOrange1 */
    965     {238, 118, 0, 1239},        /* DarkOrange2 */
    966     {205, 102, 0, 1251},        /* DarkOrange3 */
    967     {139, 69, 0, 1263},         /* DarkOrange4 */
    968     {153, 50, 204, 1275},       /* DarkOrchid */
    969     {191, 62, 255, 1286},       /* DarkOrchid1 */
    970     {178, 58, 238, 1298},       /* DarkOrchid2 */
    971     {154, 50, 205, 1310},       /* DarkOrchid3 */
    972     {104, 34, 139, 1322},       /* DarkOrchid4 */
    973     {139, 0, 0, 1334},          /* DarkRed */
    974     {233, 150, 122, 1342},      /* DarkSalmon */
    975     {143, 188, 143, 1353},      /* DarkSeaGreen */
    976     {193, 255, 193, 1366},      /* DarkSeaGreen1 */
    977     {180, 238, 180, 1380},      /* DarkSeaGreen2 */
    978     {155, 205, 155, 1394},      /* DarkSeaGreen3 */
    979     {105, 139, 105, 1408},      /* DarkSeaGreen4 */
    980     {72, 61, 139, 1422},        /* DarkSlateBlue */
    981     {47, 79, 79, 1436},         /* DarkSlateGray */
    982     {151, 255, 255, 1450},      /* DarkSlateGray1 */
    983     {141, 238, 238, 1465},      /* DarkSlateGray2 */
    984     {121, 205, 205, 1480},      /* DarkSlateGray3 */
    985     {82, 139, 139, 1495},       /* DarkSlateGray4 */
    986     {47, 79, 79, 1510},         /* DarkSlateGrey */
    987     {0, 206, 209, 1524},        /* DarkTurquoise */
    988     {148, 0, 211, 1538},        /* DarkViolet */
    989     {255, 20, 147, 1549},       /* deep pink */
    990     {0, 191, 255, 1559},        /* deep sky blue */
    991     {255, 20, 147, 1573},       /* DeepPink */
    992     {255, 20, 147, 1582},       /* DeepPink1 */
    993     {238, 18, 137, 1592},       /* DeepPink2 */
    994     {205, 16, 118, 1602},       /* DeepPink3 */
    995     {139, 10, 80, 1612},        /* DeepPink4 */
    996     {0, 191, 255, 1622},        /* DeepSkyBlue */
    997     {0, 191, 255, 1634},        /* DeepSkyBlue1 */
    998     {0, 178, 238, 1647},        /* DeepSkyBlue2 */
    999     {0, 154, 205, 1660},        /* DeepSkyBlue3 */
   1000     {0, 104, 139, 1673},        /* DeepSkyBlue4 */
   1001     {105, 105, 105, 1686},      /* dim gray */
   1002     {105, 105, 105, 1695},      /* dim grey */
   1003     {105, 105, 105, 1704},      /* DimGray */
   1004     {105, 105, 105, 1712},      /* DimGrey */
   1005     {30, 144, 255, 1720},       /* dodger blue */
   1006     {30, 144, 255, 1732},       /* DodgerBlue */
   1007     {30, 144, 255, 1743},       /* DodgerBlue1 */
   1008     {28, 134, 238, 1755},       /* DodgerBlue2 */
   1009     {24, 116, 205, 1767},       /* DodgerBlue3 */
   1010     {16, 78, 139, 1779},        /* DodgerBlue4 */
   1011     {178, 34, 34, 1791},        /* firebrick */
   1012     {255, 48, 48, 1801},        /* firebrick1 */
   1013     {238, 44, 44, 1812},        /* firebrick2 */
   1014     {205, 38, 38, 1823},        /* firebrick3 */
   1015     {139, 26, 26, 1834},        /* firebrick4 */
   1016     {255, 250, 240, 1845},      /* floral white */
   1017     {255, 250, 240, 1858},      /* FloralWhite */
   1018     {34, 139, 34, 1870},        /* forest green */
   1019     {34, 139, 34, 1883},        /* ForestGreen */
   1020     {255, 0, 255, 1895},        /* fuchsia */
   1021     {220, 220, 220, 1903},      /* gainsboro */
   1022     {248, 248, 255, 1913},      /* ghost white */
   1023     {248, 248, 255, 1925},      /* GhostWhite */
   1024     {255, 215, 0, 1936},        /* gold */
   1025     {255, 215, 0, 1941},        /* gold1 */
   1026     {238, 201, 0, 1947},        /* gold2 */
   1027     {205, 173, 0, 1953},        /* gold3 */
   1028     {139, 117, 0, 1959},        /* gold4 */
   1029     {218, 165, 32, 1965},       /* goldenrod */
   1030     {255, 193, 37, 1975},       /* goldenrod1 */
   1031     {238, 180, 34, 1986},       /* goldenrod2 */
   1032     {205, 155, 29, 1997},       /* goldenrod3 */
   1033     {139, 105, 20, 2008},       /* goldenrod4 */
   1034     {190, 190, 190, 2019},      /* gray */
   1035     {0, 0, 0, 2024},            /* gray0 */
   1036     {3, 3, 3, 2030},            /* gray1 */
   1037     {26, 26, 26, 2036},         /* gray10 */
   1038     {255, 255, 255, 2043},      /* gray100 */
   1039     {28, 28, 28, 2051},         /* gray11 */
   1040     {31, 31, 31, 2058},         /* gray12 */
   1041     {33, 33, 33, 2065},         /* gray13 */
   1042     {36, 36, 36, 2072},         /* gray14 */
   1043     {38, 38, 38, 2079},         /* gray15 */
   1044     {41, 41, 41, 2086},         /* gray16 */
   1045     {43, 43, 43, 2093},         /* gray17 */
   1046     {46, 46, 46, 2100},         /* gray18 */
   1047     {48, 48, 48, 2107},         /* gray19 */
   1048     {5, 5, 5, 2114},            /* gray2 */
   1049     {51, 51, 51, 2120},         /* gray20 */
   1050     {54, 54, 54, 2127},         /* gray21 */
   1051     {56, 56, 56, 2134},         /* gray22 */
   1052     {59, 59, 59, 2141},         /* gray23 */
   1053     {61, 61, 61, 2148},         /* gray24 */
   1054     {64, 64, 64, 2155},         /* gray25 */
   1055     {66, 66, 66, 2162},         /* gray26 */
   1056     {69, 69, 69, 2169},         /* gray27 */
   1057     {71, 71, 71, 2176},         /* gray28 */
   1058     {74, 74, 74, 2183},         /* gray29 */
   1059     {8, 8, 8, 2190},            /* gray3 */
   1060     {77, 77, 77, 2196},         /* gray30 */
   1061     {79, 79, 79, 2203},         /* gray31 */
   1062     {82, 82, 82, 2210},         /* gray32 */
   1063     {84, 84, 84, 2217},         /* gray33 */
   1064     {87, 87, 87, 2224},         /* gray34 */
   1065     {89, 89, 89, 2231},         /* gray35 */
   1066     {92, 92, 92, 2238},         /* gray36 */
   1067     {94, 94, 94, 2245},         /* gray37 */
   1068     {97, 97, 97, 2252},         /* gray38 */
   1069     {99, 99, 99, 2259},         /* gray39 */
   1070     {10, 10, 10, 2266},         /* gray4 */
   1071     {102, 102, 102, 2272},      /* gray40 */
   1072     {105, 105, 105, 2279},      /* gray41 */
   1073     {107, 107, 107, 2286},      /* gray42 */
   1074     {110, 110, 110, 2293},      /* gray43 */
   1075     {112, 112, 112, 2300},      /* gray44 */
   1076     {115, 115, 115, 2307},      /* gray45 */
   1077     {117, 117, 117, 2314},      /* gray46 */
   1078     {120, 120, 120, 2321},      /* gray47 */
   1079     {122, 122, 122, 2328},      /* gray48 */
   1080     {125, 125, 125, 2335},      /* gray49 */
   1081     {13, 13, 13, 2342},         /* gray5 */
   1082     {127, 127, 127, 2348},      /* gray50 */
   1083     {130, 130, 130, 2355},      /* gray51 */
   1084     {133, 133, 133, 2362},      /* gray52 */
   1085     {135, 135, 135, 2369},      /* gray53 */
   1086     {138, 138, 138, 2376},      /* gray54 */
   1087     {140, 140, 140, 2383},      /* gray55 */
   1088     {143, 143, 143, 2390},      /* gray56 */
   1089     {145, 145, 145, 2397},      /* gray57 */
   1090     {148, 148, 148, 2404},      /* gray58 */
   1091     {150, 150, 150, 2411},      /* gray59 */
   1092     {15, 15, 15, 2418},         /* gray6 */
   1093     {153, 153, 153, 2424},      /* gray60 */
   1094     {156, 156, 156, 2431},      /* gray61 */
   1095     {158, 158, 158, 2438},      /* gray62 */
   1096     {161, 161, 161, 2445},      /* gray63 */
   1097     {163, 163, 163, 2452},      /* gray64 */
   1098     {166, 166, 166, 2459},      /* gray65 */
   1099     {168, 168, 168, 2466},      /* gray66 */
   1100     {171, 171, 171, 2473},      /* gray67 */
   1101     {173, 173, 173, 2480},      /* gray68 */
   1102     {176, 176, 176, 2487},      /* gray69 */
   1103     {18, 18, 18, 2494},         /* gray7 */
   1104     {179, 179, 179, 2500},      /* gray70 */
   1105     {181, 181, 181, 2507},      /* gray71 */
   1106     {184, 184, 184, 2514},      /* gray72 */
   1107     {186, 186, 186, 2521},      /* gray73 */
   1108     {189, 189, 189, 2528},      /* gray74 */
   1109     {191, 191, 191, 2535},      /* gray75 */
   1110     {194, 194, 194, 2542},      /* gray76 */
   1111     {196, 196, 196, 2549},      /* gray77 */
   1112     {199, 199, 199, 2556},      /* gray78 */
   1113     {201, 201, 201, 2563},      /* gray79 */
   1114     {20, 20, 20, 2570},         /* gray8 */
   1115     {204, 204, 204, 2576},      /* gray80 */
   1116     {207, 207, 207, 2583},      /* gray81 */
   1117     {209, 209, 209, 2590},      /* gray82 */
   1118     {212, 212, 212, 2597},      /* gray83 */
   1119     {214, 214, 214, 2604},      /* gray84 */
   1120     {217, 217, 217, 2611},      /* gray85 */
   1121     {219, 219, 219, 2618},      /* gray86 */
   1122     {222, 222, 222, 2625},      /* gray87 */
   1123     {224, 224, 224, 2632},      /* gray88 */
   1124     {227, 227, 227, 2639},      /* gray89 */
   1125     {23, 23, 23, 2646},         /* gray9 */
   1126     {229, 229, 229, 2652},      /* gray90 */
   1127     {232, 232, 232, 2659},      /* gray91 */
   1128     {235, 235, 235, 2666},      /* gray92 */
   1129     {237, 237, 237, 2673},      /* gray93 */
   1130     {240, 240, 240, 2680},      /* gray94 */
   1131     {242, 242, 242, 2687},      /* gray95 */
   1132     {245, 245, 245, 2694},      /* gray96 */
   1133     {247, 247, 247, 2701},      /* gray97 */
   1134     {250, 250, 250, 2708},      /* gray98 */
   1135     {252, 252, 252, 2715},      /* gray99 */
   1136     {0, 255, 0, 2722},          /* green */
   1137     {173, 255, 47, 2728},       /* green yellow */
   1138     {0, 255, 0, 2741},          /* green1 */
   1139     {0, 238, 0, 2748},          /* green2 */
   1140     {0, 205, 0, 2755},          /* green3 */
   1141     {0, 139, 0, 2762},          /* green4 */
   1142     {173, 255, 47, 2769},       /* GreenYellow */
   1143     {190, 190, 190, 2781},      /* grey */
   1144     {0, 0, 0, 2786},            /* grey0 */
   1145     {3, 3, 3, 2792},            /* grey1 */
   1146     {26, 26, 26, 2798},         /* grey10 */
   1147     {255, 255, 255, 2805},      /* grey100 */
   1148     {28, 28, 28, 2813},         /* grey11 */
   1149     {31, 31, 31, 2820},         /* grey12 */
   1150     {33, 33, 33, 2827},         /* grey13 */
   1151     {36, 36, 36, 2834},         /* grey14 */
   1152     {38, 38, 38, 2841},         /* grey15 */
   1153     {41, 41, 41, 2848},         /* grey16 */
   1154     {43, 43, 43, 2855},         /* grey17 */
   1155     {46, 46, 46, 2862},         /* grey18 */
   1156     {48, 48, 48, 2869},         /* grey19 */
   1157     {5, 5, 5, 2876},            /* grey2 */
   1158     {51, 51, 51, 2882},         /* grey20 */
   1159     {54, 54, 54, 2889},         /* grey21 */
   1160     {56, 56, 56, 2896},         /* grey22 */
   1161     {59, 59, 59, 2903},         /* grey23 */
   1162     {61, 61, 61, 2910},         /* grey24 */
   1163     {64, 64, 64, 2917},         /* grey25 */
   1164     {66, 66, 66, 2924},         /* grey26 */
   1165     {69, 69, 69, 2931},         /* grey27 */
   1166     {71, 71, 71, 2938},         /* grey28 */
   1167     {74, 74, 74, 2945},         /* grey29 */
   1168     {8, 8, 8, 2952},            /* grey3 */
   1169     {77, 77, 77, 2958},         /* grey30 */
   1170     {79, 79, 79, 2965},         /* grey31 */
   1171     {82, 82, 82, 2972},         /* grey32 */
   1172     {84, 84, 84, 2979},         /* grey33 */
   1173     {87, 87, 87, 2986},         /* grey34 */
   1174     {89, 89, 89, 2993},         /* grey35 */
   1175     {92, 92, 92, 3000},         /* grey36 */
   1176     {94, 94, 94, 3007},         /* grey37 */
   1177     {97, 97, 97, 3014},         /* grey38 */
   1178     {99, 99, 99, 3021},         /* grey39 */
   1179     {10, 10, 10, 3028},         /* grey4 */
   1180     {102, 102, 102, 3034},      /* grey40 */
   1181     {105, 105, 105, 3041},      /* grey41 */
   1182     {107, 107, 107, 3048},      /* grey42 */
   1183     {110, 110, 110, 3055},      /* grey43 */
   1184     {112, 112, 112, 3062},      /* grey44 */
   1185     {115, 115, 115, 3069},      /* grey45 */
   1186     {117, 117, 117, 3076},      /* grey46 */
   1187     {120, 120, 120, 3083},      /* grey47 */
   1188     {122, 122, 122, 3090},      /* grey48 */
   1189     {125, 125, 125, 3097},      /* grey49 */
   1190     {13, 13, 13, 3104},         /* grey5 */
   1191     {127, 127, 127, 3110},      /* grey50 */
   1192     {130, 130, 130, 3117},      /* grey51 */
   1193     {133, 133, 133, 3124},      /* grey52 */
   1194     {135, 135, 135, 3131},      /* grey53 */
   1195     {138, 138, 138, 3138},      /* grey54 */
   1196     {140, 140, 140, 3145},      /* grey55 */
   1197     {143, 143, 143, 3152},      /* grey56 */
   1198     {145, 145, 145, 3159},      /* grey57 */
   1199     {148, 148, 148, 3166},      /* grey58 */
   1200     {150, 150, 150, 3173},      /* grey59 */
   1201     {15, 15, 15, 3180},         /* grey6 */
   1202     {153, 153, 153, 3186},      /* grey60 */
   1203     {156, 156, 156, 3193},      /* grey61 */
   1204     {158, 158, 158, 3200},      /* grey62 */
   1205     {161, 161, 161, 3207},      /* grey63 */
   1206     {163, 163, 163, 3214},      /* grey64 */
   1207     {166, 166, 166, 3221},      /* grey65 */
   1208     {168, 168, 168, 3228},      /* grey66 */
   1209     {171, 171, 171, 3235},      /* grey67 */
   1210     {173, 173, 173, 3242},      /* grey68 */
   1211     {176, 176, 176, 3249},      /* grey69 */
   1212     {18, 18, 18, 3256},         /* grey7 */
   1213     {179, 179, 179, 3262},      /* grey70 */
   1214     {181, 181, 181, 3269},      /* grey71 */
   1215     {184, 184, 184, 3276},      /* grey72 */
   1216     {186, 186, 186, 3283},      /* grey73 */
   1217     {189, 189, 189, 3290},      /* grey74 */
   1218     {191, 191, 191, 3297},      /* grey75 */
   1219     {194, 194, 194, 3304},      /* grey76 */
   1220     {196, 196, 196, 3311},      /* grey77 */
   1221     {199, 199, 199, 3318},      /* grey78 */
   1222     {201, 201, 201, 3325},      /* grey79 */
   1223     {20, 20, 20, 3332},         /* grey8 */
   1224     {204, 204, 204, 3338},      /* grey80 */
   1225     {207, 207, 207, 3345},      /* grey81 */
   1226     {209, 209, 209, 3352},      /* grey82 */
   1227     {212, 212, 212, 3359},      /* grey83 */
   1228     {214, 214, 214, 3366},      /* grey84 */
   1229     {217, 217, 217, 3373},      /* grey85 */
   1230     {219, 219, 219, 3380},      /* grey86 */
   1231     {222, 222, 222, 3387},      /* grey87 */
   1232     {224, 224, 224, 3394},      /* grey88 */
   1233     {227, 227, 227, 3401},      /* grey89 */
   1234     {23, 23, 23, 3408},         /* grey9 */
   1235     {229, 229, 229, 3414},      /* grey90 */
   1236     {232, 232, 232, 3421},      /* grey91 */
   1237     {235, 235, 235, 3428},      /* grey92 */
   1238     {237, 237, 237, 3435},      /* grey93 */
   1239     {240, 240, 240, 3442},      /* grey94 */
   1240     {242, 242, 242, 3449},      /* grey95 */
   1241     {245, 245, 245, 3456},      /* grey96 */
   1242     {247, 247, 247, 3463},      /* grey97 */
   1243     {250, 250, 250, 3470},      /* grey98 */
   1244     {252, 252, 252, 3477},      /* grey99 */
   1245     {240, 255, 240, 3484},      /* honeydew */
   1246     {240, 255, 240, 3493},      /* honeydew1 */
   1247     {224, 238, 224, 3503},      /* honeydew2 */
   1248     {193, 205, 193, 3513},      /* honeydew3 */
   1249     {131, 139, 131, 3523},      /* honeydew4 */
   1250     {255, 105, 180, 3533},      /* hot pink */
   1251     {255, 105, 180, 3542},      /* HotPink */
   1252     {255, 110, 180, 3550},      /* HotPink1 */
   1253     {238, 106, 167, 3559},      /* HotPink2 */
   1254     {205, 96, 144, 3568},       /* HotPink3 */
   1255     {139, 58, 98, 3577},        /* HotPink4 */
   1256     {205, 92, 92, 3586},        /* indian red */
   1257     {205, 92, 92, 3597},        /* IndianRed */
   1258     {255, 106, 106, 3607},      /* IndianRed1 */
   1259     {238, 99, 99, 3618},        /* IndianRed2 */
   1260     {205, 85, 85, 3629},        /* IndianRed3 */
   1261     {139, 58, 58, 3640},        /* IndianRed4 */
   1262     {75, 0, 130, 3651},         /* indigo */
   1263     {255, 255, 240, 3658},      /* ivory */
   1264     {255, 255, 240, 3664},      /* ivory1 */
   1265     {238, 238, 224, 3671},      /* ivory2 */
   1266     {205, 205, 193, 3678},      /* ivory3 */
   1267     {139, 139, 131, 3685},      /* ivory4 */
   1268     {240, 230, 140, 3692},      /* khaki */
   1269     {255, 246, 143, 3698},      /* khaki1 */
   1270     {238, 230, 133, 3705},      /* khaki2 */
   1271     {205, 198, 115, 3712},      /* khaki3 */
   1272     {139, 134, 78, 3719},       /* khaki4 */
   1273     {230, 230, 250, 3726},      /* lavender */
   1274     {255, 240, 245, 3735},      /* lavender blush */
   1275     {255, 240, 245, 3750},      /* LavenderBlush */
   1276     {255, 240, 245, 3764},      /* LavenderBlush1 */
   1277     {238, 224, 229, 3779},      /* LavenderBlush2 */
   1278     {205, 193, 197, 3794},      /* LavenderBlush3 */
   1279     {139, 131, 134, 3809},      /* LavenderBlush4 */
   1280     {124, 252, 0, 3824},        /* lawn green */
   1281     {124, 252, 0, 3835},        /* LawnGreen */
   1282     {255, 250, 205, 3845},      /* lemon chiffon */
   1283     {255, 250, 205, 3859},      /* LemonChiffon */
   1284     {255, 250, 205, 3872},      /* LemonChiffon1 */
   1285     {238, 233, 191, 3886},      /* LemonChiffon2 */
   1286     {205, 201, 165, 3900},      /* LemonChiffon3 */
   1287     {139, 137, 112, 3914},      /* LemonChiffon4 */
   1288     {173, 216, 230, 3928},      /* light blue */
   1289     {240, 128, 128, 3939},      /* light coral */
   1290     {224, 255, 255, 3951},      /* light cyan */
   1291     {238, 221, 130, 3962},      /* light goldenrod */
   1292     {250, 250, 210, 3978},      /* light goldenrod yellow */
   1293     {211, 211, 211, 4001},      /* light gray */
   1294     {144, 238, 144, 4012},      /* light green */
   1295     {211, 211, 211, 4024},      /* light grey */
   1296     {255, 182, 193, 4035},      /* light pink */
   1297     {255, 160, 122, 4046},      /* light salmon */
   1298     {32, 178, 170, 4059},       /* light sea green */
   1299     {135, 206, 250, 4075},      /* light sky blue */
   1300     {132, 112, 255, 4090},      /* light slate blue */
   1301     {119, 136, 153, 4107},      /* light slate gray */
   1302     {119, 136, 153, 4124},      /* light slate grey */
   1303     {176, 196, 222, 4141},      /* light steel blue */
   1304     {255, 255, 224, 4158},      /* light yellow */
   1305     {173, 216, 230, 4171},      /* LightBlue */
   1306     {191, 239, 255, 4181},      /* LightBlue1 */
   1307     {178, 223, 238, 4192},      /* LightBlue2 */
   1308     {154, 192, 205, 4203},      /* LightBlue3 */
   1309     {104, 131, 139, 4214},      /* LightBlue4 */
   1310     {240, 128, 128, 4225},      /* LightCoral */
   1311     {224, 255, 255, 4236},      /* LightCyan */
   1312     {224, 255, 255, 4246},      /* LightCyan1 */
   1313     {209, 238, 238, 4257},      /* LightCyan2 */
   1314     {180, 205, 205, 4268},      /* LightCyan3 */
   1315     {122, 139, 139, 4279},      /* LightCyan4 */
   1316     {238, 221, 130, 4290},      /* LightGoldenrod */
   1317     {255, 236, 139, 4305},      /* LightGoldenrod1 */
   1318     {238, 220, 130, 4321},      /* LightGoldenrod2 */
   1319     {205, 190, 112, 4337},      /* LightGoldenrod3 */
   1320     {139, 129, 76, 4353},       /* LightGoldenrod4 */
   1321     {250, 250, 210, 4369},      /* LightGoldenrodYellow */
   1322     {211, 211, 211, 4390},      /* LightGray */
   1323     {144, 238, 144, 4400},      /* LightGreen */
   1324     {211, 211, 211, 4411},      /* LightGrey */
   1325     {255, 182, 193, 4421},      /* LightPink */
   1326     {255, 174, 185, 4431},      /* LightPink1 */
   1327     {238, 162, 173, 4442},      /* LightPink2 */
   1328     {205, 140, 149, 4453},      /* LightPink3 */
   1329     {139, 95, 101, 4464},       /* LightPink4 */
   1330     {255, 160, 122, 4475},      /* LightSalmon */
   1331     {255, 160, 122, 4487},      /* LightSalmon1 */
   1332     {238, 149, 114, 4500},      /* LightSalmon2 */
   1333     {205, 129, 98, 4513},       /* LightSalmon3 */
   1334     {139, 87, 66, 4526},        /* LightSalmon4 */
   1335     {32, 178, 170, 4539},       /* LightSeaGreen */
   1336     {135, 206, 250, 4553},      /* LightSkyBlue */
   1337     {176, 226, 255, 4566},      /* LightSkyBlue1 */
   1338     {164, 211, 238, 4580},      /* LightSkyBlue2 */
   1339     {141, 182, 205, 4594},      /* LightSkyBlue3 */
   1340     {96, 123, 139, 4608},       /* LightSkyBlue4 */
   1341     {132, 112, 255, 4622},      /* LightSlateBlue */
   1342     {119, 136, 153, 4637},      /* LightSlateGray */
   1343     {119, 136, 153, 4652},      /* LightSlateGrey */
   1344     {176, 196, 222, 4667},      /* LightSteelBlue */
   1345     {202, 225, 255, 4682},      /* LightSteelBlue1 */
   1346     {188, 210, 238, 4698},      /* LightSteelBlue2 */
   1347     {162, 181, 205, 4714},      /* LightSteelBlue3 */
   1348     {110, 123, 139, 4730},      /* LightSteelBlue4 */
   1349     {255, 255, 224, 4746},      /* LightYellow */
   1350     {255, 255, 224, 4758},      /* LightYellow1 */
   1351     {238, 238, 209, 4771},      /* LightYellow2 */
   1352     {205, 205, 180, 4784},      /* LightYellow3 */
   1353     {139, 139, 122, 4797},      /* LightYellow4 */
   1354     {0, 255, 0, 4810},          /* lime */
   1355     {50, 205, 50, 4815},        /* lime green */
   1356     {50, 205, 50, 4826},        /* LimeGreen */
   1357     {250, 240, 230, 4836},      /* linen */
   1358     {255, 0, 255, 4842},        /* magenta */
   1359     {255, 0, 255, 4850},        /* magenta1 */
   1360     {238, 0, 238, 4859},        /* magenta2 */
   1361     {205, 0, 205, 4868},        /* magenta3 */
   1362     {139, 0, 139, 4877},        /* magenta4 */
   1363     {176, 48, 96, 4886},        /* maroon */
   1364     {255, 52, 179, 4893},       /* maroon1 */
   1365     {238, 48, 167, 4901},       /* maroon2 */
   1366     {205, 41, 144, 4909},       /* maroon3 */
   1367     {139, 28, 98, 4917},        /* maroon4 */
   1368     {102, 205, 170, 4925},      /* medium aquamarine */
   1369     {0, 0, 205, 4943},          /* medium blue */
   1370     {186, 85, 211, 4955},       /* medium orchid */
   1371     {147, 112, 219, 4969},      /* medium purple */
   1372     {60, 179, 113, 4983},       /* medium sea green */
   1373     {123, 104, 238, 5000},      /* medium slate blue */
   1374     {0, 250, 154, 5018},        /* medium spring green */
   1375     {72, 209, 204, 5038},       /* medium turquoise */
   1376     {199, 21, 133, 5055},       /* medium violet red */
   1377     {102, 205, 170, 5073},      /* MediumAquamarine */
   1378     {0, 0, 205, 5090},          /* MediumBlue */
   1379     {186, 85, 211, 5101},       /* MediumOrchid */
   1380     {224, 102, 255, 5114},      /* MediumOrchid1 */
   1381     {209, 95, 238, 5128},       /* MediumOrchid2 */
   1382     {180, 82, 205, 5142},       /* MediumOrchid3 */
   1383     {122, 55, 139, 5156},       /* MediumOrchid4 */
   1384     {147, 112, 219, 5170},      /* MediumPurple */
   1385     {171, 130, 255, 5183},      /* MediumPurple1 */
   1386     {159, 121, 238, 5197},      /* MediumPurple2 */
   1387     {137, 104, 205, 5211},      /* MediumPurple3 */
   1388     {93, 71, 139, 5225},        /* MediumPurple4 */
   1389     {60, 179, 113, 5239},       /* MediumSeaGreen */
   1390     {123, 104, 238, 5254},      /* MediumSlateBlue */
   1391     {0, 250, 154, 5270},        /* MediumSpringGreen */
   1392     {72, 209, 204, 5288},       /* MediumTurquoise */
   1393     {199, 21, 133, 5304},       /* MediumVioletRed */
   1394     {25, 25, 112, 5320},        /* midnight blue */
   1395     {25, 25, 112, 5334},        /* MidnightBlue */
   1396     {245, 255, 250, 5347},      /* mint cream */
   1397     {245, 255, 250, 5358},      /* MintCream */
   1398     {255, 228, 225, 5368},      /* misty rose */
   1399     {255, 228, 225, 5379},      /* MistyRose */
   1400     {255, 228, 225, 5389},      /* MistyRose1 */
   1401     {238, 213, 210, 5400},      /* MistyRose2 */
   1402     {205, 183, 181, 5411},      /* MistyRose3 */
   1403     {139, 125, 123, 5422},      /* MistyRose4 */
   1404     {255, 228, 181, 5433},      /* moccasin */
   1405     {255, 222, 173, 5442},      /* navajo white */
   1406     {255, 222, 173, 5455},      /* NavajoWhite */
   1407     {255, 222, 173, 5467},      /* NavajoWhite1 */
   1408     {238, 207, 161, 5480},      /* NavajoWhite2 */
   1409     {205, 179, 139, 5493},      /* NavajoWhite3 */
   1410     {139, 121, 94, 5506},       /* NavajoWhite4 */
   1411     {0, 0, 128, 5519},          /* navy */
   1412     {0, 0, 128, 5524},          /* navy blue */
   1413     {0, 0, 128, 5534},          /* NavyBlue */
   1414     {253, 245, 230, 5543},      /* old lace */
   1415     {253, 245, 230, 5552},      /* OldLace */
   1416     {128, 128, 0, 5560},        /* olive */
   1417     {107, 142, 35, 5566},       /* olive drab */
   1418     {107, 142, 35, 5577},       /* OliveDrab */
   1419     {192, 255, 62, 5587},       /* OliveDrab1 */
   1420     {179, 238, 58, 5598},       /* OliveDrab2 */
   1421     {154, 205, 50, 5609},       /* OliveDrab3 */
   1422     {105, 139, 34, 5620},       /* OliveDrab4 */
   1423     {255, 165, 0, 5631},        /* orange */
   1424     {255, 69, 0, 5638},         /* orange red */
   1425     {255, 165, 0, 5649},        /* orange1 */
   1426     {238, 154, 0, 5657},        /* orange2 */
   1427     {205, 133, 0, 5665},        /* orange3 */
   1428     {139, 90, 0, 5673},         /* orange4 */
   1429     {255, 69, 0, 5681},         /* OrangeRed */
   1430     {255, 69, 0, 5691},         /* OrangeRed1 */
   1431     {238, 64, 0, 5702},         /* OrangeRed2 */
   1432     {205, 55, 0, 5713},         /* OrangeRed3 */
   1433     {139, 37, 0, 5724},         /* OrangeRed4 */
   1434     {218, 112, 214, 5735},      /* orchid */
   1435     {255, 131, 250, 5742},      /* orchid1 */
   1436     {238, 122, 233, 5750},      /* orchid2 */
   1437     {205, 105, 201, 5758},      /* orchid3 */
   1438     {139, 71, 137, 5766},       /* orchid4 */
   1439     {238, 232, 170, 5774},      /* pale goldenrod */
   1440     {152, 251, 152, 5789},      /* pale green */
   1441     {175, 238, 238, 5800},      /* pale turquoise */
   1442     {219, 112, 147, 5815},      /* pale violet red */
   1443     {238, 232, 170, 5831},      /* PaleGoldenrod */
   1444     {152, 251, 152, 5845},      /* PaleGreen */
   1445     {154, 255, 154, 5855},      /* PaleGreen1 */
   1446     {144, 238, 144, 5866},      /* PaleGreen2 */
   1447     {124, 205, 124, 5877},      /* PaleGreen3 */
   1448     {84, 139, 84, 5888},        /* PaleGreen4 */
   1449     {175, 238, 238, 5899},      /* PaleTurquoise */
   1450     {187, 255, 255, 5913},      /* PaleTurquoise1 */
   1451     {174, 238, 238, 5928},      /* PaleTurquoise2 */
   1452     {150, 205, 205, 5943},      /* PaleTurquoise3 */
   1453     {102, 139, 139, 5958},      /* PaleTurquoise4 */
   1454     {219, 112, 147, 5973},      /* PaleVioletRed */
   1455     {255, 130, 171, 5987},      /* PaleVioletRed1 */
   1456     {238, 121, 159, 6002},      /* PaleVioletRed2 */
   1457     {205, 104, 137, 6017},      /* PaleVioletRed3 */
   1458     {139, 71, 93, 6032},        /* PaleVioletRed4 */
   1459     {255, 239, 213, 6047},      /* papaya whip */
   1460     {255, 239, 213, 6059},      /* PapayaWhip */
   1461     {255, 218, 185, 6070},      /* peach puff */
   1462     {255, 218, 185, 6081},      /* PeachPuff */
   1463     {255, 218, 185, 6091},      /* PeachPuff1 */
   1464     {238, 203, 173, 6102},      /* PeachPuff2 */
   1465     {205, 175, 149, 6113},      /* PeachPuff3 */
   1466     {139, 119, 101, 6124},      /* PeachPuff4 */
   1467     {205, 133, 63, 6135},       /* peru */
   1468     {255, 192, 203, 6140},      /* pink */
   1469     {255, 181, 197, 6145},      /* pink1 */
   1470     {238, 169, 184, 6151},      /* pink2 */
   1471     {205, 145, 158, 6157},      /* pink3 */
   1472     {139, 99, 108, 6163},       /* pink4 */
   1473     {221, 160, 221, 6169},      /* plum */
   1474     {255, 187, 255, 6174},      /* plum1 */
   1475     {238, 174, 238, 6180},      /* plum2 */
   1476     {205, 150, 205, 6186},      /* plum3 */
   1477     {139, 102, 139, 6192},      /* plum4 */
   1478     {176, 224, 230, 6198},      /* powder blue */
   1479     {176, 224, 230, 6210},      /* PowderBlue */
   1480     {160, 32, 240, 6221},       /* purple */
   1481     {155, 48, 255, 6228},       /* purple1 */
   1482     {145, 44, 238, 6236},       /* purple2 */
   1483     {125, 38, 205, 6244},       /* purple3 */
   1484     {85, 26, 139, 6252},        /* purple4 */
   1485     {102, 51, 153, 6260},       /* rebecca purple */
   1486     {102, 51, 153, 6275},       /* RebeccaPurple */
   1487     {255, 0, 0, 6289},          /* red */
   1488     {255, 0, 0, 6293},          /* red1 */
   1489     {238, 0, 0, 6298},          /* red2 */
   1490     {205, 0, 0, 6303},          /* red3 */
   1491     {139, 0, 0, 6308},          /* red4 */
   1492     {188, 143, 143, 6313},      /* rosy brown */
   1493     {188, 143, 143, 6324},      /* RosyBrown */
   1494     {255, 193, 193, 6334},      /* RosyBrown1 */
   1495     {238, 180, 180, 6345},      /* RosyBrown2 */
   1496     {205, 155, 155, 6356},      /* RosyBrown3 */
   1497     {139, 105, 105, 6367},      /* RosyBrown4 */
   1498     {65, 105, 225, 6378},       /* royal blue */
   1499     {65, 105, 225, 6389},       /* RoyalBlue */
   1500     {72, 118, 255, 6399},       /* RoyalBlue1 */
   1501     {67, 110, 238, 6410},       /* RoyalBlue2 */
   1502     {58, 95, 205, 6421},        /* RoyalBlue3 */
   1503     {39, 64, 139, 6432},        /* RoyalBlue4 */
   1504     {139, 69, 19, 6443},        /* saddle brown */
   1505     {139, 69, 19, 6456},        /* SaddleBrown */
   1506     {250, 128, 114, 6468},      /* salmon */
   1507     {255, 140, 105, 6475},      /* salmon1 */
   1508     {238, 130, 98, 6483},       /* salmon2 */
   1509     {205, 112, 84, 6491},       /* salmon3 */
   1510     {139, 76, 57, 6499},        /* salmon4 */
   1511     {244, 164, 96, 6507},       /* sandy brown */
   1512     {244, 164, 96, 6519},       /* SandyBrown */
   1513     {46, 139, 87, 6530},        /* sea green */
   1514     {46, 139, 87, 6540},        /* SeaGreen */
   1515     {84, 255, 159, 6549},       /* SeaGreen1 */
   1516     {78, 238, 148, 6559},       /* SeaGreen2 */
   1517     {67, 205, 128, 6569},       /* SeaGreen3 */
   1518     {46, 139, 87, 6579},        /* SeaGreen4 */
   1519     {255, 245, 238, 6589},      /* seashell */
   1520     {255, 245, 238, 6598},      /* seashell1 */
   1521     {238, 229, 222, 6608},      /* seashell2 */
   1522     {205, 197, 191, 6618},      /* seashell3 */
   1523     {139, 134, 130, 6628},      /* seashell4 */
   1524     {160, 82, 45, 6638},        /* sienna */
   1525     {255, 130, 71, 6645},       /* sienna1 */
   1526     {238, 121, 66, 6653},       /* sienna2 */
   1527     {205, 104, 57, 6661},       /* sienna3 */
   1528     {139, 71, 38, 6669},        /* sienna4 */
   1529     {192, 192, 192, 6677},      /* silver */
   1530     {135, 206, 235, 6684},      /* sky blue */
   1531     {135, 206, 235, 6693},      /* SkyBlue */
   1532     {135, 206, 255, 6701},      /* SkyBlue1 */
   1533     {126, 192, 238, 6710},      /* SkyBlue2 */
   1534     {108, 166, 205, 6719},      /* SkyBlue3 */
   1535     {74, 112, 139, 6728},       /* SkyBlue4 */
   1536     {106, 90, 205, 6737},       /* slate blue */
   1537     {112, 128, 144, 6748},      /* slate gray */
   1538     {112, 128, 144, 6759},      /* slate grey */
   1539     {106, 90, 205, 6770},       /* SlateBlue */
   1540     {131, 111, 255, 6780},      /* SlateBlue1 */
   1541     {122, 103, 238, 6791},      /* SlateBlue2 */
   1542     {105, 89, 205, 6802},       /* SlateBlue3 */
   1543     {71, 60, 139, 6813},        /* SlateBlue4 */
   1544     {112, 128, 144, 6824},      /* SlateGray */
   1545     {198, 226, 255, 6834},      /* SlateGray1 */
   1546     {185, 211, 238, 6845},      /* SlateGray2 */
   1547     {159, 182, 205, 6856},      /* SlateGray3 */
   1548     {108, 123, 139, 6867},      /* SlateGray4 */
   1549     {112, 128, 144, 6878},      /* SlateGrey */
   1550     {255, 250, 250, 6888},      /* snow */
   1551     {255, 250, 250, 6893},      /* snow1 */
   1552     {238, 233, 233, 6899},      /* snow2 */
   1553     {205, 201, 201, 6905},      /* snow3 */
   1554     {139, 137, 137, 6911},      /* snow4 */
   1555     {0, 255, 127, 6917},        /* spring green */
   1556     {0, 255, 127, 6930},        /* SpringGreen */
   1557     {0, 255, 127, 6942},        /* SpringGreen1 */
   1558     {0, 238, 118, 6955},        /* SpringGreen2 */
   1559     {0, 205, 102, 6968},        /* SpringGreen3 */
   1560     {0, 139, 69, 6981},         /* SpringGreen4 */
   1561     {70, 130, 180, 6994},       /* steel blue */
   1562     {70, 130, 180, 7005},       /* SteelBlue */
   1563     {99, 184, 255, 7015},       /* SteelBlue1 */
   1564     {92, 172, 238, 7026},       /* SteelBlue2 */
   1565     {79, 148, 205, 7037},       /* SteelBlue3 */
   1566     {54, 100, 139, 7048},       /* SteelBlue4 */
   1567     {210, 180, 140, 7059},      /* tan */
   1568     {255, 165, 79, 7063},       /* tan1 */
   1569     {238, 154, 73, 7068},       /* tan2 */
   1570     {205, 133, 63, 7073},       /* tan3 */
   1571     {139, 90, 43, 7078},        /* tan4 */
   1572     {0, 128, 128, 7083},        /* teal */
   1573     {216, 191, 216, 7088},      /* thistle */
   1574     {255, 225, 255, 7096},      /* thistle1 */
   1575     {238, 210, 238, 7105},      /* thistle2 */
   1576     {205, 181, 205, 7114},      /* thistle3 */
   1577     {139, 123, 139, 7123},      /* thistle4 */
   1578     {255, 99, 71, 7132},        /* tomato */
   1579     {255, 99, 71, 7139},        /* tomato1 */
   1580     {238, 92, 66, 7147},        /* tomato2 */
   1581     {205, 79, 57, 7155},        /* tomato3 */
   1582     {139, 54, 38, 7163},        /* tomato4 */
   1583     {64, 224, 208, 7171},       /* turquoise */
   1584     {0, 245, 255, 7181},        /* turquoise1 */
   1585     {0, 229, 238, 7192},        /* turquoise2 */
   1586     {0, 197, 205, 7203},        /* turquoise3 */
   1587     {0, 134, 139, 7214},        /* turquoise4 */
   1588     {238, 130, 238, 7225},      /* violet */
   1589     {208, 32, 144, 7232},       /* violet red */
   1590     {208, 32, 144, 7243},       /* VioletRed */
   1591     {255, 62, 150, 7253},       /* VioletRed1 */
   1592     {238, 58, 140, 7264},       /* VioletRed2 */
   1593     {205, 50, 120, 7275},       /* VioletRed3 */
   1594     {139, 34, 82, 7286},        /* VioletRed4 */
   1595     {128, 128, 128, 7297},      /* web gray */
   1596     {0, 128, 0, 7306},          /* web green */
   1597     {128, 128, 128, 7316},      /* web grey */
   1598     {128, 0, 0, 7325},          /* web maroon */
   1599     {128, 0, 128, 7336},        /* web purple */
   1600     {128, 128, 128, 7347},      /* WebGray */
   1601     {0, 128, 0, 7355},          /* WebGreen */
   1602     {128, 128, 128, 7364},      /* WebGrey */
   1603     {128, 0, 0, 7372},          /* WebMaroon */
   1604     {128, 0, 128, 7382},        /* WebPurple */
   1605     {245, 222, 179, 7392},      /* wheat */
   1606     {255, 231, 186, 7398},      /* wheat1 */
   1607     {238, 216, 174, 7405},      /* wheat2 */
   1608     {205, 186, 150, 7412},      /* wheat3 */
   1609     {139, 126, 102, 7419},      /* wheat4 */
   1610     {255, 255, 255, 7426},      /* white */
   1611     {245, 245, 245, 7432},      /* white smoke */
   1612     {245, 245, 245, 7444},      /* WhiteSmoke */
   1613     {190, 190, 190, 7455},      /* x11 gray */
   1614     {0, 255, 0, 7464},          /* x11 green */
   1615     {190, 190, 190, 7474},      /* x11 grey */
   1616     {176, 48, 96, 7483},        /* x11 maroon */
   1617     {160, 32, 240, 7494},       /* x11 purple */
   1618     {190, 190, 190, 7505},      /* X11Gray */
   1619     {0, 255, 0, 7513},          /* X11Green */
   1620     {190, 190, 190, 7522},      /* X11Grey */
   1621     {176, 48, 96, 7530},        /* X11Maroon */
   1622     {160, 32, 240, 7540},       /* X11Purple */
   1623     {255, 255, 0, 7550},        /* yellow */
   1624     {154, 205, 50, 7557},       /* yellow green */
   1625     {255, 255, 0, 7570},        /* yellow1 */
   1626     {238, 238, 0, 7578},        /* yellow2 */
   1627     {205, 205, 0, 7586},        /* yellow3 */
   1628     {139, 139, 0, 7594},        /* yellow4 */
   1629     {154, 205, 50, 7602},       /* YellowGreen */
   1630 };
   1631 
   1632 Bool
   1633 OsLookupColor(int screen,
   1634               char *name,
   1635               unsigned int len,
   1636               unsigned short *pred,
   1637               unsigned short *pgreen, unsigned short *pblue)
   1638 {
   1639     const BuiltinColor *c;
   1640     int low, mid, high;
   1641     int r;
   1642 
   1643     low = 0;
   1644     high = ARRAY_SIZE(BuiltinColors) - 1;
   1645     while (high >= low) {
   1646         mid = (low + high) / 2;
   1647         c = &BuiltinColors[mid];
   1648         r = strncasecmp(&BuiltinColorNames[c->name], name, len);
   1649         if (r == 0 && len == strlen(&BuiltinColorNames[c->name])) {
   1650             *pred = c->red * 0x101;
   1651             *pgreen = c->green * 0x101;
   1652             *pblue = c->blue * 0x101;
   1653             return TRUE;
   1654         }
   1655         if (r < 0)
   1656             low = mid + 1;
   1657         else
   1658             high = mid - 1;
   1659     }
   1660     return FALSE;
   1661 }