/[emacs]/emacs/lisp/term/tty-colors.el
ViewVC logotype

Diff of /emacs/lisp/term/tty-colors.el

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

revision 1.10 by eliz, Fri Jan 25 13:16:23 2002 UTC revision 1.11 by miles, Sun Jun 9 12:53:53 2002 UTC
# Line 1  Line 1 
1  ;;; tty-colors.el --- color support for character terminals  ;;; tty-colors.el --- color support for character terminals
2    
3  ;; Copyright (C) 1999, 2000, 2001 Free Software Foundation, Inc.  ;; Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
4    
5  ;; Author: Eli Zaretskii <eliz@is.elta.co.il>  ;; Author: Eli Zaretskii <eliz@is.elta.co.il>
6  ;; Maintainer: FSF  ;; Maintainer: FSF
# Line 80  Line 80 
80  ;; names such as "lightred" or "lightblue", because they will have  ;; names such as "lightred" or "lightblue", because they will have
81  ;; different effect on different displays.  Instead, use "red1" and  ;; different effect on different displays.  Instead, use "red1" and
82  ;; "blue1", respectively.  ;; "blue1", respectively.
83    ;;
84    ;; Note: the RGB values below are in the range 0-65535, but are derived
85    ;; from the standard 8-bit X definitions (so the upper and lower bytes
86    ;; of each value are actually identical).
87    ;;
88  (defvar color-name-rgb-alist  (defvar color-name-rgb-alist
89    '(("snow"             255 250 250)    '(("snow"             65535 64250 64250)
90      ("ghostwhite"       248 248 255)      ("ghostwhite"       63736 63736 65535)
91      ("whitesmoke"       245 245 245)      ("whitesmoke"       62965 62965 62965)
92      ("gainsboro"        220 220 220)      ("gainsboro"        56540 56540 56540)
93      ("floralwhite"      255 250 240)      ("floralwhite"      65535 64250 61680)
94      ("oldlace"          253 245 230)      ("oldlace"          65021 62965 59110)
95      ("linen"            250 240 230)      ("linen"            64250 61680 59110)
96      ("antiquewhite"     250 235 215)      ("antiquewhite"     64250 60395 55255)
97      ("papayawhip"       255 239 213)      ("papayawhip"       65535 61423 54741)
98      ("blanchedalmond"   255 235 205)      ("blanchedalmond"   65535 60395 52685)
99      ("bisque"           255 228 196)      ("bisque"           65535 58596 50372)
100      ("peachpuff"        255 218 185)      ("peachpuff"        65535 56026 47545)
101      ("navajowhite"      255 222 173)      ("navajowhite"      65535 57054 44461)
102      ("moccasin"         255 228 181)      ("moccasin"         65535 58596 46517)
103      ("cornsilk"         255 248 220)      ("cornsilk"         65535 63736 56540)
104      ("ivory"            255 255 240)      ("ivory"            65535 65535 61680)
105      ("lemonchiffon"     255 250 205)      ("lemonchiffon"     65535 64250 52685)
106      ("seashell"         255 245 238)      ("seashell"         65535 62965 61166)
107      ("honeydew"         240 255 240)      ("honeydew"         61680 65535 61680)
108      ("mintcream"        245 255 250)      ("mintcream"        62965 65535 64250)
109      ("azure"            240 255 255)      ("azure"            61680 65535 65535)
110      ("aliceblue"        240 248 255)      ("aliceblue"        61680 63736 65535)
111      ("lavender"         230 230 250)      ("lavender"         59110 59110 64250)
112      ("lavenderblush"    255 240 245)      ("lavenderblush"    65535 61680 62965)
113      ("mistyrose"        255 228 225)      ("mistyrose"        65535 58596 57825)
114      ("white"            255 255 255)      ("white"            65535 65535 65535)
115      ("black"            0 0 0)      ("black"                0     0     0)
116      ("darkslategray"    47 79 79)      ("darkslategray"    12079 20303 20303)
117      ("darkslategrey"    47 79 79)      ("darkslategrey"    12079 20303 20303)
118      ("dimgray"          105 105 105)      ("dimgray"          26985 26985 26985)
119      ("dimgrey"          105 105 105)      ("dimgrey"          26985 26985 26985)
120      ("slategray"        112 128 144)      ("slategray"        28784 32896 37008)
121      ("slategrey"        112 128 144)      ("slategrey"        28784 32896 37008)
122      ("lightslategray"   119 136 153)      ("lightslategray"   30583 34952 39321)
123      ("lightslategrey"   119 136 153)      ("lightslategrey"   30583 34952 39321)
124      ("gray"             190 190 190)      ("gray"             48830 48830 48830)
125      ("grey"             190 190 190)      ("grey"             48830 48830 48830)
126      ("lightgrey"        211 211 211)      ("lightgrey"        54227 54227 54227)
127      ("lightgray"        211 211 211)      ("lightgray"        54227 54227 54227)
128      ("midnightblue"     25 25 112)      ("midnightblue"      6425  6425 28784)
129      ("navy"             0 0 128)      ("navy"                 0     0 32896)
130      ("navyblue"         0 0 128)      ("navyblue"             0     0 32896)
131      ("cornflowerblue"   100 149 237)      ("cornflowerblue"   25700 38293 60909)
132      ("darkslateblue"    72 61 139)      ("darkslateblue"    18504 15677 35723)
133      ("slateblue"        106 90 205)      ("slateblue"        27242 23130 52685)
134      ("mediumslateblue"  123 104 238)      ("mediumslateblue"  31611 26728 61166)
135      ("lightslateblue"   132 112 255)      ("lightslateblue"   33924 28784 65535)
136      ("mediumblue"       0 0 205)      ("mediumblue"           0     0 52685)
137      ("royalblue"        65 105 225)      ("royalblue"        16705 26985 57825)
138      ("blue"             0 0 255)      ("blue"                 0     0 65535)
139      ("dodgerblue"       30 144 255)      ("dodgerblue"        7710 37008 65535)
140      ("deepskyblue"      0 191 255)      ("deepskyblue"          0 49087 65535)
141      ("skyblue"          135 206 235)      ("skyblue"          34695 52942 60395)
142      ("lightskyblue"     135 206 250)      ("lightskyblue"     34695 52942 64250)
143      ("steelblue"        70 130 180)      ("steelblue"        17990 33410 46260)
144      ("lightsteelblue"   176 196 222)      ("lightsteelblue"   45232 50372 57054)
145      ("lightblue"        173 216 230)      ("lightblue"        44461 55512 59110)
146      ("powderblue"       176 224 230)      ("powderblue"       45232 57568 59110)
147      ("paleturquoise"    175 238 238)      ("paleturquoise"    44975 61166 61166)
148      ("darkturquoise"    0 206 209)      ("darkturquoise"        0 52942 53713)
149      ("mediumturquoise"  72 209 204)      ("mediumturquoise"  18504 53713 52428)
150      ("turquoise"        64 224 208)      ("turquoise"        16448 57568 53456)
151      ("cyan"             0 255 255)      ("cyan"                 0 65535 65535)
152      ("lightcyan"        224 255 255)      ("lightcyan"        57568 65535 65535)
153      ("cadetblue"        95 158 160)      ("cadetblue"        24415 40606 41120)
154      ("mediumaquamarine" 102 205 170)      ("mediumaquamarine" 26214 52685 43690)
155      ("aquamarine"       127 255 212)      ("aquamarine"       32639 65535 54484)
156      ("darkgreen"        0 100 0)      ("darkgreen"            0 25700     0)
157      ("darkolivegreen"   85 107 47)      ("darkolivegreen"   21845 27499 12079)
158      ("darkseagreen"     143 188 143)      ("darkseagreen"     36751 48316 36751)
159      ("seagreen"         46 139 87)      ("seagreen"         11822 35723 22359)
160      ("mediumseagreen"   60 179 113)      ("mediumseagreen"   15420 46003 29041)
161      ("lightseagreen"    32 178 170)      ("lightseagreen"     8224 45746 43690)
162      ("palegreen"        152 251 152)      ("palegreen"        39064 64507 39064)
163      ("springgreen"      0 255 127)      ("springgreen"          0 65535 32639)
164      ("lawngreen"        124 252 0)      ("lawngreen"        31868 64764     0)
165      ("green"            0 255 0)      ("green"                0 65535     0)
166      ("chartreuse"       127 255 0)      ("chartreuse"       32639 65535     0)
167      ("mediumspringgreen"        0 250 154)      ("mediumspringgreen"    0 64250 39578)
168      ("greenyellow"      173 255 47)      ("greenyellow"      44461 65535 12079)
169      ("limegreen"        50 205 50)      ("limegreen"        12850 52685 12850)
170      ("yellowgreen"      154 205 50)      ("yellowgreen"      39578 52685 12850)
171      ("forestgreen"      34 139 34)      ("forestgreen"       8738 35723  8738)
172      ("olivedrab"        107 142 35)      ("olivedrab"        27499 36494  8995)
173      ("darkkhaki"        189 183 107)      ("darkkhaki"        48573 47031 27499)
174      ("khaki"            240 230 140)      ("khaki"            61680 59110 35980)
175      ("palegoldenrod"    238 232 170)      ("palegoldenrod"    61166 59624 43690)
176      ("lightgoldenrodyellow"     250 250 210)      ("lightgoldenrodyellow" 64250 64250 53970)
177      ("lightyellow"      255 255 224)      ("lightyellow"      65535 65535 57568)
178      ("yellow"           255 255 0)      ("yellow"           65535 65535     0)
179      ("gold"             255 215 0)      ("gold"             65535 55255     0)
180      ("lightgoldenrod"   238 221 130)      ("lightgoldenrod"   61166 56797 33410)
181      ("goldenrod"        218 165 32)      ("goldenrod"        56026 42405  8224)
182      ("darkgoldenrod"    184 134 11)      ("darkgoldenrod"    47288 34438  2827)
183      ("rosybrown"        188 143 143)      ("rosybrown"        48316 36751 36751)
184      ("indianred"        205 92 92)      ("indianred"        52685 23644 23644)
185      ("saddlebrown"      139 69 19)      ("saddlebrown"      35723 17733  4883)
186      ("sienna"           160 82 45)      ("sienna"           41120 21074 11565)
187      ("peru"             205 133 63)      ("peru"             52685 34181 16191)
188      ("burlywood"        222 184 135)      ("burlywood"        57054 47288 34695)
189      ("beige"            245 245 220)      ("beige"            62965 62965 56540)
190      ("wheat"            245 222 179)      ("wheat"            62965 57054 46003)
191      ("sandybrown"       244 164 96)      ("sandybrown"       62708 42148 24672)
192      ("tan"              210 180 140)      ("tan"              53970 46260 35980)
193      ("chocolate"        210 105 30)      ("chocolate"        53970 26985  7710)
194      ("firebrick"        178 34 34)      ("firebrick"        45746  8738  8738)
195      ("brown"            165 42 42)      ("brown"            42405 10794 10794)
196      ("darksalmon"       233 150 122)      ("darksalmon"       59881 38550 31354)
197      ("salmon"           250 128 114)      ("salmon"           64250 32896 29298)
198      ("lightsalmon"      255 160 122)      ("lightsalmon"      65535 41120 31354)
199      ("orange"           255 165 0)      ("orange"           65535 42405     0)
200      ("darkorange"       255 140 0)      ("darkorange"       65535 35980     0)
201      ("coral"            255 127 80)      ("coral"            65535 32639 20560)
202      ("lightcoral"       240 128 128)      ("lightcoral"       61680 32896 32896)
203      ("tomato"           255 99 71)      ("tomato"           65535 25443 18247)
204      ("orangered"        255 69 0)      ("orangered"        65535 17733     0)
205      ("red"              255 0 0)      ("red"              65535     0     0)
206      ("hotpink"          255 105 180)      ("hotpink"          65535 26985 46260)
207      ("deeppink"         255 20 147)      ("deeppink"         65535  5140 37779)
208      ("pink"             255 192 203)      ("pink"             65535 49344 52171)
209      ("lightpink"        255 182 193)      ("lightpink"        65535 46774 49601)
210      ("palevioletred"    219 112 147)      ("palevioletred"    56283 28784 37779)
211      ("maroon"           176 48 96)      ("maroon"           45232 12336 24672)
212      ("mediumvioletred"  199 21 133)      ("mediumvioletred"  51143  5397 34181)
213      ("violetred"        208 32 144)      ("violetred"        53456  8224 37008)
214      ("magenta"          255 0 255)      ("magenta"          65535     0 65535)
215      ("violet"           238 130 238)      ("violet"           61166 33410 61166)
216      ("plum"             221 160 221)      ("plum"             56797 41120 56797)
217      ("orchid"           218 112 214)      ("orchid"           56026 28784 54998)
218      ("mediumorchid"     186 85 211)      ("mediumorchid"     47802 21845 54227)
219      ("darkorchid"       153 50 204)      ("darkorchid"       39321 12850 52428)
220      ("darkviolet"       148 0 211)      ("darkviolet"       38036     0 54227)
221      ("blueviolet"       138 43 226)      ("blueviolet"       35466 11051 58082)
222      ("purple"           160 32 240)      ("purple"           41120  8224 61680)
223      ("mediumpurple"     147 112 219)      ("mediumpurple"     37779 28784 56283)
224      ("thistle"          216 191 216)      ("thistle"          55512 49087 55512)
225      ("snow1"            255 250 250)      ("snow1"            65535 64250 64250)
226      ("snow2"            238 233 233)      ("snow2"            61166 59881 59881)
227      ("snow3"            205 201 201)      ("snow3"            52685 51657 51657)
228      ("snow4"            139 137 137)      ("snow4"            35723 35209 35209)
229      ("seashell1"        255 245 238)      ("seashell1"        65535 62965 61166)
230      ("seashell2"        238 229 222)      ("seashell2"        61166 58853 57054)
231      ("seashell3"        205 197 191)      ("seashell3"        52685 50629 49087)
232      ("seashell4"        139 134 130)      ("seashell4"        35723 34438 33410)
233      ("antiquewhite1"    255 239 219)      ("antiquewhite1"    65535 61423 56283)
234      ("antiquewhite2"    238 223 204)      ("antiquewhite2"    61166 57311 52428)
235      ("antiquewhite3"    205 192 176)      ("antiquewhite3"    52685 49344 45232)
236      ("antiquewhite4"    139 131 120)      ("antiquewhite4"    35723 33667 30840)
237      ("bisque1"          255 228 196)      ("bisque1"          65535 58596 50372)
238      ("bisque2"          238 213 183)      ("bisque2"          61166 54741 47031)
239      ("bisque3"          205 183 158)      ("bisque3"          52685 47031 40606)
240      ("bisque4"          139 125 107)      ("bisque4"          35723 32125 27499)
241      ("peachpuff1"       255 218 185)      ("peachpuff1"       65535 56026 47545)
242      ("peachpuff2"       238 203 173)      ("peachpuff2"       61166 52171 44461)
243      ("peachpuff3"       205 175 149)      ("peachpuff3"       52685 44975 38293)
244      ("peachpuff4"       139 119 101)      ("peachpuff4"       35723 30583 25957)
245      ("navajowhite1"     255 222 173)      ("navajowhite1"     65535 57054 44461)
246      ("navajowhite2"     238 207 161)      ("navajowhite2"     61166 53199 41377)
247      ("navajowhite3"     205 179 139)      ("navajowhite3"     52685 46003 35723)
248      ("navajowhite4"     139 121 94)      ("navajowhite4"     35723 31097 24158)
249      ("lemonchiffon1"    255 250 205)      ("lemonchiffon1"    65535 64250 52685)
250      ("lemonchiffon2"    238 233 191)      ("lemonchiffon2"    61166 59881 49087)
251      ("lemonchiffon3"    205 201 165)      ("lemonchiffon3"    52685 51657 42405)
252      ("lemonchiffon4"    139 137 112)      ("lemonchiffon4"    35723 35209 28784)
253      ("cornsilk1"        255 248 220)      ("cornsilk1"        65535 63736 56540)
254      ("cornsilk2"        238 232 205)      ("cornsilk2"        61166 59624 52685)
255      ("cornsilk3"        205 200 177)      ("cornsilk3"        52685 51400 45489)
256      ("cornsilk4"        139 136 120)      ("cornsilk4"        35723 34952 30840)
257      ("ivory1"           255 255 240)      ("ivory1"           65535 65535 61680)
258      ("ivory2"           238 238 224)      ("ivory2"           61166 61166 57568)
259      ("ivory3"           205 205 193)      ("ivory3"           52685 52685 49601)
260      ("ivory4"           139 139 131)      ("ivory4"           35723 35723 33667)
261      ("honeydew1"        240 255 240)      ("honeydew1"        61680 65535 61680)
262      ("honeydew2"        224 238 224)      ("honeydew2"        57568 61166 57568)
263      ("honeydew3"        193 205 193)      ("honeydew3"        49601 52685 49601)
264      ("honeydew4"        131 139 131)      ("honeydew4"        33667 35723 33667)
265      ("lavenderblush1"   255 240 245)      ("lavenderblush1"   65535 61680 62965)
266      ("lavenderblush2"   238 224 229)      ("lavenderblush2"   61166 57568 58853)
267      ("lavenderblush3"   205 193 197)      ("lavenderblush3"   52685 49601 50629)
268      ("lavenderblush4"   139 131 134)      ("lavenderblush4"   35723 33667 34438)
269      ("mistyrose1"       255 228 225)      ("mistyrose1"       65535 58596 57825)
270      ("mistyrose2"       238 213 210)      ("mistyrose2"       61166 54741 53970)
271      ("mistyrose3"       205 183 181)      ("mistyrose3"       52685 47031 46517)
272      ("mistyrose4"       139 125 123)      ("mistyrose4"       35723 32125 31611)
273      ("azure1"           240 255 255)      ("azure1"           61680 65535 65535)
274      ("azure2"           224 238 238)      ("azure2"           57568 61166 61166)
275      ("azure3"           193 205 205)      ("azure3"           49601 52685 52685)
276      ("azure4"           131 139 139)      ("azure4"           33667 35723 35723)
277      ("slateblue1"       131 111 255)      ("slateblue1"       33667 28527 65535)
278      ("slateblue2"       122 103 238)      ("slateblue2"       31354 26471 61166)
279      ("slateblue3"       105 89 205)      ("slateblue3"       26985 22873 52685)
280      ("slateblue4"       71 60 139)      ("slateblue4"       18247 15420 35723)
281      ("royalblue1"       72 118 255)      ("royalblue1"       18504 30326 65535)
282      ("royalblue2"       67 110 238)      ("royalblue2"       17219 28270 61166)
283      ("royalblue3"       58 95 205)      ("royalblue3"       14906 24415 52685)
284      ("royalblue4"       39 64 139)      ("royalblue4"       10023 16448 35723)
285      ("blue1"            0 0 255)      ("blue1"                0     0 65535)
286      ("blue2"            0 0 238)      ("blue2"                0     0 61166)
287      ("blue3"            0 0 205)      ("blue3"                0     0 52685)
288      ("blue4"            0 0 139)      ("blue4"                0     0 35723)
289      ("dodgerblue1"      30 144 255)      ("dodgerblue1"       7710 37008 65535)
290      ("dodgerblue2"      28 134 238)      ("dodgerblue2"       7196 34438 61166)
291      ("dodgerblue3"      24 116 205)      ("dodgerblue3"       6168 29812 52685)
292      ("dodgerblue4"      16 78 139)      ("dodgerblue4"       4112 20046 35723)
293      ("steelblue1"       99 184 255)      ("steelblue1"       25443 47288 65535)
294      ("steelblue2"       92 172 238)      ("steelblue2"       23644 44204 61166)
295      ("steelblue3"       79 148 205)      ("steelblue3"       20303 38036 52685)
296      ("steelblue4"       54 100 139)      ("steelblue4"       13878 25700 35723)
297      ("deepskyblue1"     0 191 255)      ("deepskyblue1"         0 49087 65535)
298      ("deepskyblue2"     0 178 238)      ("deepskyblue2"         0 45746 61166)
299      ("deepskyblue3"     0 154 205)      ("deepskyblue3"         0 39578 52685)
300      ("deepskyblue4"     0 104 139)      ("deepskyblue4"         0 26728 35723)
301      ("skyblue1"         135 206 255)      ("skyblue1"         34695 52942 65535)
302      ("skyblue2"         126 192 238)      ("skyblue2"         32382 49344 61166)
303      ("skyblue3"         108 166 205)      ("skyblue3"         27756 42662 52685)
304      ("skyblue4"         74 112 139)      ("skyblue4"         19018 28784 35723)
305      ("lightskyblue1"    176 226 255)      ("lightskyblue1"    45232 58082 65535)
306      ("lightskyblue2"    164 211 238)      ("lightskyblue2"    42148 54227 61166)
307      ("lightskyblue3"    141 182 205)      ("lightskyblue3"    36237 46774 52685)
308      ("lightskyblue4"    96 123 139)      ("lightskyblue4"    24672 31611 35723)
309      ("slategray1"       198 226 255)      ("slategray1"       50886 58082 65535)
310      ("slategray2"       185 211 238)      ("slategray2"       47545 54227 61166)
311      ("slategray3"       159 182 205)      ("slategray3"       40863 46774 52685)
312      ("slategray4"       108 123 139)      ("slategray4"       27756 31611 35723)
313      ("lightsteelblue1"  202 225 255)      ("lightsteelblue1"  51914 57825 65535)
314      ("lightsteelblue2"  188 210 238)      ("lightsteelblue2"  48316 53970 61166)
315      ("lightsteelblue3"  162 181 205)      ("lightsteelblue3"  41634 46517 52685)
316      ("lightsteelblue4"  110 123 139)      ("lightsteelblue4"  28270 31611 35723)
317      ("lightblue1"       191 239 255)      ("lightblue1"       49087 61423 65535)
318      ("lightblue2"       178 223 238)      ("lightblue2"       45746 57311 61166)
319      ("lightblue3"       154 192 205)      ("lightblue3"       39578 49344 52685)
320      ("lightblue4"       104 131 139)      ("lightblue4"       26728 33667 35723)
321      ("lightcyan1"       224 255 255)      ("lightcyan1"       57568 65535 65535)
322      ("lightcyan2"       209 238 238)      ("lightcyan2"       53713 61166 61166)
323      ("lightcyan3"       180 205 205)      ("lightcyan3"       46260 52685 52685)
324      ("lightcyan4"       122 139 139)      ("lightcyan4"       31354 35723 35723)
325      ("paleturquoise1"   187 255 255)      ("paleturquoise1"   48059 65535 65535)
326      ("paleturquoise2"   174 238 238)      ("paleturquoise2"   44718 61166 61166)
327      ("paleturquoise3"   150 205 205)      ("paleturquoise3"   38550 52685 52685)
328      ("paleturquoise4"   102 139 139)      ("paleturquoise4"   26214 35723 35723)
329      ("cadetblue1"       152 245 255)      ("cadetblue1"       39064 62965 65535)
330      ("cadetblue2"       142 229 238)      ("cadetblue2"       36494 58853 61166)
331      ("cadetblue3"       122 197 205)      ("cadetblue3"       31354 50629 52685)
332      ("cadetblue4"       83 134 139)      ("cadetblue4"       21331 34438 35723)
333      ("turquoise1"       0 245 255)      ("turquoise1"           0 62965 65535)
334      ("turquoise2"       0 229 238)      ("turquoise2"           0 58853 61166)
335      ("turquoise3"       0 197 205)      ("turquoise3"           0 50629 52685)
336      ("turquoise4"       0 134 139)      ("turquoise4"           0 34438 35723)
337      ("cyan1"            0 255 255)      ("cyan1"                0 65535 65535)
338      ("cyan2"            0 238 238)      ("cyan2"                0 61166 61166)
339      ("cyan3"            0 205 205)      ("cyan3"                0 52685 52685)
340      ("cyan4"            0 139 139)      ("cyan4"                0 35723 35723)
341      ("darkslategray1"   151 255 255)      ("darkslategray1"   38807 65535 65535)
342      ("darkslategray2"   141 238 238)      ("darkslategray2"   36237 61166 61166)
343      ("darkslategray3"   121 205 205)      ("darkslategray3"   31097 52685 52685)
344      ("darkslategray4"   82 139 139)      ("darkslategray4"   21074 35723 35723)
345      ("aquamarine1"      127 255 212)      ("aquamarine1"      32639 65535 54484)
346      ("aquamarine2"      118 238 198)      ("aquamarine2"      30326 61166 50886)
347      ("aquamarine3"      102 205 170)      ("aquamarine3"      26214 52685 43690)
348      ("aquamarine4"      69 139 116)      ("aquamarine4"      17733 35723 29812)
349      ("darkseagreen1"    193 255 193)      ("darkseagreen1"    49601 65535 49601)
350      ("darkseagreen2"    180 238 180)      ("darkseagreen2"    46260 61166 46260)
351      ("darkseagreen3"    155 205 155)      ("darkseagreen3"    39835 52685 39835)
352      ("darkseagreen4"    105 139 105)      ("darkseagreen4"    26985 35723 26985)
353      ("seagreen1"        84 255 159)      ("seagreen1"        21588 65535 40863)
354      ("seagreen2"        78 238 148)      ("seagreen2"        20046 61166 38036)
355      ("seagreen3"        67 205 128)      ("seagreen3"        17219 52685 32896)
356      ("seagreen4"        46 139 87)      ("seagreen4"        11822 35723 22359)
357      ("palegreen1"       154 255 154)      ("palegreen1"       39578 65535 39578)
358      ("palegreen2"       144 238 144)      ("palegreen2"       37008 61166 37008)
359      ("palegreen3"       124 205 124)      ("palegreen3"       31868 52685 31868)
360      ("palegreen4"       84 139 84)      ("palegreen4"       21588 35723 21588)
361      ("springgreen1"     0 255 127)      ("springgreen1"         0 65535 32639)
362      ("springgreen2"     0 238 118)      ("springgreen2"         0 61166 30326)
363      ("springgreen3"     0 205 102)      ("springgreen3"         0 52685 26214)
364      ("springgreen4"     0 139 69)      ("springgreen4"         0 35723 17733)
365      ("green1"           0 255 0)      ("green1"               0 65535     0)
366      ("green2"           0 238 0)      ("green2"               0 61166     0)
367      ("green3"           0 205 0)      ("green3"               0 52685     0)
368      ("green4"           0 139 0)      ("green4"               0 35723     0)
369      ("chartreuse1"      127 255 0)      ("chartreuse1"      32639 65535     0)
370      ("chartreuse2"      118 238 0)      ("chartreuse2"      30326 61166     0)
371      ("chartreuse3"      102 205 0)      ("chartreuse3"      26214 52685     0)
372      ("chartreuse4"      69 139 0)      ("chartreuse4"      17733 35723     0)
373      ("olivedrab1"       192 255 62)      ("olivedrab1"       49344 65535 15934)
374      ("olivedrab2"       179 238 58)      ("olivedrab2"       46003 61166 14906)
375      ("olivedrab3"       154 205 50)      ("olivedrab3"       39578 52685 12850)
376      ("olivedrab4"       105 139 34)      ("olivedrab4"       26985 35723  8738)
377      ("darkolivegreen1"  202 255 112)      ("darkolivegreen1"  51914 65535 28784)
378      ("darkolivegreen2"  188 238 104)      ("darkolivegreen2"  48316 61166 26728)
379      ("darkolivegreen3"  162 205 90)      ("darkolivegreen3"  41634 52685 23130)
380      ("darkolivegreen4"  110 139 61)      ("darkolivegreen4"  28270 35723 15677)
381      ("khaki1"           255 246 143)      ("khaki1"           65535 63222 36751)
382      ("khaki2"           238 230 133)      ("khaki2"           61166 59110 34181)
383      ("khaki3"           205 198 115)      ("khaki3"           52685 50886 29555)
384      ("khaki4"           139 134 78)      ("khaki4"           35723 34438 20046)
385      ("lightgoldenrod1"  255 236 139)      ("lightgoldenrod1"  65535 60652 35723)
386      ("lightgoldenrod2"  238 220 130)      ("lightgoldenrod2"  61166 56540 33410)
387      ("lightgoldenrod3"  205 190 112)      ("lightgoldenrod3"  52685 48830 28784)
388      ("lightgoldenrod4"  139 129 76)      ("lightgoldenrod4"  35723 33153 19532)
389      ("lightyellow1"     255 255 224)      ("lightyellow1"     65535 65535 57568)
390      ("lightyellow2"     238 238 209)      ("lightyellow2"     61166 61166 53713)
391      ("lightyellow3"     205 205 180)      ("lightyellow3"     52685 52685 46260)
392      ("lightyellow4"     139 139 122)      ("lightyellow4"     35723 35723 31354)
393      ("yellow1"          255 255 0)      ("yellow1"          65535 65535     0)
394      ("yellow2"          238 238 0)      ("yellow2"          61166 61166     0)
395      ("yellow3"          205 205 0)      ("yellow3"          52685 52685     0)
396      ("yellow4"          139 139 0)      ("yellow4"          35723 35723     0)
397      ("gold1"            255 215 0)      ("gold1"            65535 55255     0)
398      ("gold2"            238 201 0)      ("gold2"            61166 51657     0)
399      ("gold3"            205 173 0)      ("gold3"            52685 44461     0)
400      ("gold4"            139 117 0)      ("gold4"            35723 30069     0)
401      ("goldenrod1"       255 193 37)      ("goldenrod1"       65535 49601  9509)
402      ("goldenrod2"       238 180 34)      ("goldenrod2"       61166 46260  8738)
403      ("goldenrod3"       205 155 29)      ("goldenrod3"       52685 39835  7453)
404      ("goldenrod4"       139 105 20)      ("goldenrod4"       35723 26985  5140)
405      ("darkgoldenrod1"   255 185 15)      ("darkgoldenrod1"   65535 47545  3855)
406      ("darkgoldenrod2"   238 173 14)      ("darkgoldenrod2"   61166 44461  3598)
407      ("darkgoldenrod3"   205 149 12)      ("darkgoldenrod3"   52685 38293  3084)
408      ("darkgoldenrod4"   139 101 8)      ("darkgoldenrod4"   35723 25957  2056)
409      ("rosybrown1"       255 193 193)      ("rosybrown1"       65535 49601 49601)
410      ("rosybrown2"       238 180 180)      ("rosybrown2"       61166 46260 46260)
411      ("rosybrown3"       205 155 155)      ("rosybrown3"       52685 39835 39835)
412      ("rosybrown4"       139 105 105)      ("rosybrown4"       35723 26985 26985)
413      ("indianred1"       255 106 106)      ("indianred1"       65535 27242 27242)
414      ("indianred2"       238 99 99)      ("indianred2"       61166 25443 25443)
415      ("indianred3"       205 85 85)      ("indianred3"       52685 21845 21845)
416      ("indianred4"       139 58 58)      ("indianred4"       35723 14906 14906)
417      ("sienna1"          255 130 71)      ("sienna1"          65535 33410 18247)
418      ("sienna2"          238 121 66)      ("sienna2"          61166 31097 16962)
419      ("sienna3"          205 104 57)      ("sienna3"          52685 26728 14649)
420      ("sienna4"          139 71 38)      ("sienna4"          35723 18247  9766)
421      ("burlywood1"       255 211 155)      ("burlywood1"       65535 54227 39835)
422      ("burlywood2"       238 197 145)      ("burlywood2"       61166 50629 37265)
423      ("burlywood3"       205 170 125)      ("burlywood3"       52685 43690 32125)
424      ("burlywood4"       139 115 85)      ("burlywood4"       35723 29555 21845)
425      ("wheat1"           255 231 186)      ("wheat1"           65535 59367 47802)
426      ("wheat2"           238 216 174)      ("wheat2"           61166 55512 44718)
427      ("wheat3"           205 186 150)      ("wheat3"           52685 47802 38550)
428      ("wheat4"           139 126 102)      ("wheat4"           35723 32382 26214)
429      ("tan1"             255 165 79)      ("tan1"             65535 42405 20303)
430      ("tan2"             238 154 73)      ("tan2"             61166 39578 18761)
431      ("tan3"             205 133 63)      ("tan3"             52685 34181 16191)
432      ("tan4"             139 90 43)      ("tan4"             35723 23130 11051)
433      ("chocolate1"       255 127 36)      ("chocolate1"       65535 32639  9252)
434      ("chocolate2"       238 118 33)      ("chocolate2"       61166 30326  8481)
435      ("chocolate3"       205 102 29)      ("chocolate3"       52685 26214  7453)
436      ("chocolate4"       139 69 19)      ("chocolate4"       35723 17733  4883)
437      ("firebrick1"       255 48 48)      ("firebrick1"       65535 12336 12336)
438      ("firebrick2"       238 44 44)      ("firebrick2"       61166 11308 11308)
439      ("firebrick3"       205 38 38)      ("firebrick3"       52685  9766  9766)
440      ("firebrick4"       139 26 26)      ("firebrick4"       35723  6682  6682)
441      ("brown1"           255 64 64)      ("brown1"           65535 16448 16448)
442      ("brown2"           238 59 59)      ("brown2"           61166 15163 15163)
443      ("brown3"           205 51 51)      ("brown3"           52685 13107 13107)
444      ("brown4"           139 35 35)      ("brown4"           35723  8995  8995)
445      ("salmon1"          255 140 105)      ("salmon1"          65535 35980 26985)
446      ("salmon2"          238 130 98)      ("salmon2"          61166 33410 25186)
447      ("salmon3"          205 112 84)      ("salmon3"          52685 28784 21588)
448      ("salmon4"          139 76 57)      ("salmon4"          35723 19532 14649)
449      ("lightsalmon1"     255 160 122)      ("lightsalmon1"     65535 41120 31354)
450      ("lightsalmon2"     238 149 114)      ("lightsalmon2"     61166 38293 29298)
451      ("lightsalmon3"     205 129 98)      ("lightsalmon3"     52685 33153 25186)
452      ("lightsalmon4"     139 87 66)      ("lightsalmon4"     35723 22359 16962)
453      ("orange1"          255 165 0)      ("orange1"          65535 42405     0)
454      ("orange2"          238 154 0)      ("orange2"          61166 39578     0)
455      ("orange3"          205 133 0)      ("orange3"          52685 34181     0)
456      ("orange4"          139 90 0)      ("orange4"          35723 23130     0)
457      ("darkorange1"      255 127 0)      ("darkorange1"      65535 32639     0)
458      ("darkorange2"      238 118 0)      ("darkorange2"      61166 30326     0)
459      ("darkorange3"      205 102 0)      ("darkorange3"      52685 26214     0)
460      ("darkorange4"      139 69 0)      ("darkorange4"      35723 17733     0)
461      ("coral1"           255 114 86)      ("coral1"           65535 29298 22102)
462      ("coral2"           238 106 80)      ("coral2"           61166 27242 20560)
463      ("coral3"           205 91 69)      ("coral3"           52685 23387 17733)
464      ("coral4"           139 62 47)      ("coral4"           35723 15934 12079)
465      ("tomato1"          255 99 71)      ("tomato1"          65535 25443 18247)
466      ("tomato2"          238 92 66)      ("tomato2"          61166 23644 16962)
467      ("tomato3"          205 79 57)      ("tomato3"          52685 20303 14649)
468      ("tomato4"          139 54 38)      ("tomato4"          35723 13878  9766)
469      ("orangered1"       255 69 0)      ("orangered1"       65535 17733     0)
470      ("orangered2"       238 64 0)      ("orangered2"       61166 16448     0)
471      ("orangered3"       205 55 0)      ("orangered3"       52685 14135     0)
472      ("orangered4"       139 37 0)      ("orangered4"       35723  9509     0)
473      ("red1"             255 0 0)      ("red1"             65535     0     0)
474      ("red2"             238 0 0)      ("red2"             61166     0     0)
475      ("red3"             205 0 0)      ("red3"             52685     0     0)
476      ("red4"             139 0 0)      ("red4"             35723     0     0)
477      ("deeppink1"        255 20 147)      ("deeppink1"        65535  5140 37779)
478      ("deeppink2"        238 18 137)      ("deeppink2"        61166  4626 35209)
479      ("deeppink3"        205 16 118)      ("deeppink3"        52685  4112 30326)
480      ("deeppink4"        139 10 80)      ("deeppink4"        35723  2570 20560)
481      ("hotpink1"         255 110 180)      ("hotpink1"         65535 28270 46260)
482      ("hotpink2"         238 106 167)      ("hotpink2"         61166 27242 42919)
483      ("hotpink3"         205 96 144)      ("hotpink3"         52685 24672 37008)
484      ("hotpink4"         139 58 98)      ("hotpink4"         35723 14906 25186)
485      ("pink1"            255 181 197)      ("pink1"            65535 46517 50629)
486      ("pink2"            238 169 184)      ("pink2"            61166 43433 47288)
487      ("pink3"            205 145 158)      ("pink3"            52685 37265 40606)
488      ("pink4"            139 99 108)      ("pink4"            35723 25443 27756)
489      ("lightpink1"       255 174 185)      ("lightpink1"       65535 44718 47545)
490      ("lightpink2"       238 162 173)      ("lightpink2"       61166 41634 44461)
491      ("lightpink3"       205 140 149)      ("lightpink3"       52685 35980 38293)
492      ("lightpink4"       139 95 101)      ("lightpink4"       35723 24415 25957)
493      ("palevioletred1"   255 130 171)      ("palevioletred1"   65535 33410 43947)
494      ("palevioletred2"   238 121 159)      ("palevioletred2"   61166 31097 40863)
495      ("palevioletred3"   205 104 137)      ("palevioletred3"   52685 26728 35209)
496      ("palevioletred4"   139 71 93)      ("palevioletred4"   35723 18247 23901)
497      ("maroon1"          255 52 179)      ("maroon1"          65535 13364 46003)
498      ("maroon2"          238 48 167)      ("maroon2"          61166 12336 42919)
499      ("maroon3"          205 41 144)      ("maroon3"          52685 10537 37008)
500      ("maroon4"          139 28 98)      ("maroon4"          35723  7196 25186)
501      ("violetred1"       255 62 150)      ("violetred1"       65535 15934 38550)
502      ("violetred2"       238 58 140)      ("violetred2"       61166 14906 35980)
503      ("violetred3"       205 50 120)      ("violetred3"       52685 12850 30840)
504      ("violetred4"       139 34 82)      ("violetred4"       35723  8738 21074)
505      ("magenta1"         255 0 255)      ("magenta1"         65535     0 65535)
506      ("magenta2"         238 0 238)      ("magenta2"         61166     0 61166)
507      ("magenta3"         205 0 205)      ("magenta3"         52685     0 52685)
508      ("magenta4"         139 0 139)      ("magenta4"         35723     0 35723)
509      ("orchid1"          255 131 250)      ("orchid1"          65535 33667 64250)
510      ("orchid2"          238 122 233)      ("orchid2"          61166 31354 59881)
511      ("orchid3"          205 105 201)      ("orchid3"          52685 26985 51657)
512      ("orchid4"          139 71 137)      ("orchid4"          35723 18247 35209)
513      ("plum1"            255 187 255)      ("plum1"            65535 48059 65535)
514      ("plum2"            238 174 238)      ("plum2"            61166 44718 61166)
515      ("plum3"            205 150 205)      ("plum3"            52685 38550 52685)
516      ("plum4"            139 102 139)      ("plum4"            35723 26214 35723)
517      ("mediumorchid1"    224 102 255)      ("mediumorchid1"    57568 26214 65535)
518      ("mediumorchid2"    209 95 238)      ("mediumorchid2"    53713 24415 61166)
519      ("mediumorchid3"    180 82 205)      ("mediumorchid3"    46260 21074 52685)
520      ("mediumorchid4"    122 55 139)      ("mediumorchid4"    31354 14135 35723)
521      ("darkorchid1"      191 62 255)      ("darkorchid1"      49087 15934 65535)
522      ("darkorchid2"      178 58 238)      ("darkorchid2"      45746 14906 61166)
523      ("darkorchid3"      154 50 205)      ("darkorchid3"      39578 12850 52685)
524      ("darkorchid4"      104 34 139)      ("darkorchid4"      26728  8738 35723)
525      ("purple1"          155 48 255)      ("purple1"          39835 12336 65535)
526      ("purple2"          145 44 238)      ("purple2"          37265 11308 61166)
527      ("purple3"          125 38 205)      ("purple3"          32125  9766 52685)
528      ("purple4"          85 26 139)      ("purple4"          21845  6682 35723)
529      ("mediumpurple1"    171 130 255)      ("mediumpurple1"    43947 33410 65535)
530      ("mediumpurple2"    159 121 238)      ("mediumpurple2"    40863 31097 61166)
531      ("mediumpurple3"    137 104 205)      ("mediumpurple3"    35209 26728 52685)
532      ("mediumpurple4"    93 71 139)      ("mediumpurple4"    23901 18247 35723)
533      ("thistle1"         255 225 255)      ("thistle1"         65535 57825 65535)
534      ("thistle2"         238 210 238)      ("thistle2"         61166 53970 61166)
535      ("thistle3"         205 181 205)      ("thistle3"         52685 46517 52685)
536      ("thistle4"         139 123 139)      ("thistle4"         35723 31611 35723)
537      ("gray0"            0 0 0)      ("gray0"                0     0     0)
538      ("grey0"            0 0 0)      ("grey0"                0     0     0)
539      ("gray1"            3 3 3)      ("gray1"              771   771   771)
540      ("grey1"            3 3 3)      ("grey1"              771   771   771)
541      ("gray2"            5 5 5)      ("gray2"             1285  1285  1285)
542      ("grey2"            5 5 5)      ("grey2"             1285  1285  1285)
543      ("gray3"            8 8 8)      ("gray3"             2056  2056  2056)
544      ("grey3"            8 8 8)      ("grey3"             2056  2056  2056)
545      ("gray4"            10 10 10)      ("gray4"             2570  2570  2570)
546      ("grey4"            10 10 10)      ("grey4"             2570  2570  2570)
547      ("gray5"            13 13 13)      ("gray5"             3341  3341  3341)
548      ("grey5"            13 13 13)      ("grey5"             3341  3341  3341)
549      ("gray6"            15 15 15)      ("gray6"             3855  3855  3855)
550      ("grey6"            15 15 15)      ("grey6"             3855  3855  3855)
551      ("gray7"            18 18 18)      ("gray7"             4626  4626  4626)
552      ("grey7"            18 18 18)      ("grey7"             4626  4626  4626)
553      ("gray8"            20 20 20)      ("gray8"             5140  5140  5140)
554      ("grey8"            20 20 20)      ("grey8"             5140  5140  5140)
555      ("gray9"            23 23 23)      ("gray9"             5911  5911  5911)
556      ("grey9"            23 23 23)      ("grey9"             5911  5911  5911)
557      ("gray10"           26 26 26)      ("gray10"            6682  6682  6682)
558      ("grey10"           26 26 26)      ("grey10"            6682  6682  6682)
559      ("gray11"           28 28 28)      ("gray11"            7196  7196  7196)
560      ("grey11"           28 28 28)      ("grey11"            7196  7196  7196)
561      ("gray12"           31 31 31)      ("gray12"            7967  7967  7967)
562      ("grey12"           31 31 31)      ("grey12"            7967  7967  7967)
563      ("gray13"           33 33 33)      ("gray13"            8481  8481  8481)
564      ("grey13"           33 33 33)      ("grey13"            8481  8481  8481)
565      ("gray14"           36 36 36)      ("gray14"            9252  9252  9252)
566      ("grey14"           36 36 36)      ("grey14"            9252  9252  9252)
567      ("gray15"           38 38 38)      ("gray15"            9766  9766  9766)
568      ("grey15"           38 38 38)      ("grey15"            9766  9766  9766)
569      ("gray16"           41 41 41)      ("gray16"           10537 10537 10537)
570      ("grey16"           41 41 41)      ("grey16"           10537 10537 10537)
571      ("gray17"           43 43 43)      ("gray17"           11051 11051 11051)
572      ("grey17"           43 43 43)      ("grey17"           11051 11051 11051)
573      ("gray18"           46 46 46)      ("gray18"           11822 11822 11822)
574      ("grey18"           46 46 46)      ("grey18"           11822 11822 11822)
575      ("gray19"           48 48 48)      ("gray19"           12336 12336 12336)
576      ("grey19"           48 48 48)      ("grey19"           12336 12336 12336)
577      ("gray20"           51 51 51)      ("gray20"           13107 13107 13107)
578      ("grey20"           51 51 51)      ("grey20"           13107 13107 13107)
579      ("gray21"           54 54 54)      ("gray21"           13878 13878 13878)
580      ("grey21"           54 54 54)      ("grey21"           13878 13878 13878)
581      ("gray22"           56 56 56)      ("gray22"           14392 14392 14392)
582      ("grey22"           56 56 56)      ("grey22"           14392 14392 14392)
583      ("gray23"           59 59 59)      ("gray23"           15163 15163 15163)
584      ("grey23"           59 59 59)      ("grey23"           15163 15163 15163)
585      ("gray24"           61 61 61)      ("gray24"           15677 15677 15677)
586      ("grey24"           61 61 61)      ("grey24"           15677 15677 15677)
587      ("gray25"           64 64 64)      ("gray25"           16448 16448 16448)
588      ("grey25"           64 64 64)      ("grey25"           16448 16448 16448)
589      ("gray26"           66 66 66)      ("gray26"           16962 16962 16962)
590      ("grey26"           66 66 66)      ("grey26"           16962 16962 16962)
591      ("gray27"           69 69 69)      ("gray27"           17733 17733 17733)
592      ("grey27"           69 69 69)      ("grey27"           17733 17733 17733)
593      ("gray28"           71 71 71)      ("gray28"           18247 18247 18247)
594      ("grey28"           71 71 71)      ("grey28"           18247 18247 18247)
595      ("gray29"           74 74 74)      ("gray29"           19018 19018 19018)
596      ("grey29"           74 74 74)      ("grey29"           19018 19018 19018)
597      ("gray30"           77 77 77)      ("gray30"           19789 19789 19789)
598      ("grey30"           77 77 77)      ("grey30"           19789 19789 19789)
599      ("gray31"           79 79 79)      ("gray31"           20303 20303 20303)
600      ("grey31"           79 79 79)      ("grey31"           20303 20303 20303)
601      ("gray32"           82 82 82)      ("gray32"           21074 21074 21074)
602      ("grey32"           82 82 82)      ("grey32"           21074 21074 21074)
603      ("gray33"           84 84 84)      ("gray33"           21588 21588 21588)
604      ("grey33"           84 84 84)      ("grey33"           21588 21588 21588)
605      ("gray34"           87 87 87)      ("gray34"           22359 22359 22359)
606      ("grey34"           87 87 87)      ("grey34"           22359 22359 22359)
607      ("gray35"           89 89 89)      ("gray35"           22873 22873 22873)
608      ("grey35"           89 89 89)      ("grey35"           22873 22873 22873)
609      ("gray36"           92 92 92)      ("gray36"           23644 23644 23644)
610      ("grey36"           92 92 92)      ("grey36"           23644 23644 23644)
611      ("gray37"           94 94 94)      ("gray37"           24158 24158 24158)
612      ("grey37"           94 94 94)      ("grey37"           24158 24158 24158)
613      ("gray38"           97 97 97)      ("gray38"           24929 24929 24929)
614      ("grey38"           97 97 97)      ("grey38"           24929 24929 24929)
615      ("gray39"           99 99 99)      ("gray39"           25443 25443 25443)
616      ("grey39"           99 99 99)      ("grey39"           25443 25443 25443)
617      ("gray40"           102 102 102)      ("gray40"           26214 26214 26214)
618      ("grey40"           102 102 102)      ("grey40"           26214 26214 26214)
619      ("gray41"           105 105 105)      ("gray41"           26985 26985 26985)
620      ("grey41"           105 105 105)      ("grey41"           26985 26985 26985)
621      ("gray42"           107 107 107)      ("gray42"           27499 27499 27499)
622      ("grey42"           107 107 107)      ("grey42"           27499 27499 27499)
623      ("gray43"           110 110 110)      ("gray43"           28270 28270 28270)
624      ("grey43"           110 110 110)      ("grey43"           28270 28270 28270)
625      ("gray44"           112 112 112)      ("gray44"           28784 28784 28784)
626      ("grey44"           112 112 112)      ("grey44"           28784 28784 28784)
627      ("gray45"           115 115 115)      ("gray45"           29555 29555 29555)
628      ("grey45"           115 115 115)      ("grey45"           29555 29555 29555)
629      ("gray46"           117 117 117)      ("gray46"           30069 30069 30069)
630      ("grey46"           117 117 117)      ("grey46"           30069 30069 30069)
631      ("gray47"           120 120 120)      ("gray47"           30840 30840 30840)
632      ("grey47"           120 120 120)      ("grey47"           30840 30840 30840)
633      ("gray48"           122 122 122)      ("gray48"           31354 31354 31354)
634      ("grey48"           122 122 122)      ("grey48"           31354 31354 31354)
635      ("gray49"           125 125 125)      ("gray49"           32125 32125 32125)
636      ("grey49"           125 125 125)      ("grey49"           32125 32125 32125)
637      ("gray50"           127 127 127)      ("gray50"           32639 32639 32639)
638      ("grey50"           127 127 127)      ("grey50"           32639 32639 32639)
639      ("gray51"           130 130 130)      ("gray51"           33410 33410 33410)
640      ("grey51"           130 130 130)      ("grey51"           33410 33410 33410)
641      ("gray52"           133 133 133)      ("gray52"           34181 34181 34181)
642      ("grey52"           133 133 133)      ("grey52"           34181 34181 34181)
643      ("gray53"           135 135 135)      ("gray53"           34695 34695 34695)
644      ("grey53"           135 135 135)      ("grey53"           34695 34695 34695)
645      ("gray54"           138 138 138)      ("gray54"           35466 35466 35466)
646      ("grey54"           138 138 138)      ("grey54"           35466 35466 35466)
647      ("gray55"           140 140 140)      ("gray55"           35980 35980 35980)
648      ("grey55"           140 140 140)      ("grey55"           35980 35980 35980)
649      ("gray56"           143 143 143)      ("gray56"           36751 36751 36751)
650      ("grey56"           143 143 143)      ("grey56"           36751 36751 36751)
651      ("gray57"           145 145 145)      ("gray57"           37265 37265 37265)
652      ("grey57"           145 145 145)      ("grey57"           37265 37265 37265)
653      ("gray58"           148 148 148)      ("gray58"           38036 38036 38036)
654      ("grey58"           148 148 148)      ("grey58"           38036 38036 38036)
655      ("gray59"           150 150 150)      ("gray59"           38550 38550 38550)
656      ("grey59"           150 150 150)      ("grey59"           38550 38550 38550)
657      ("gray60"           153 153 153)      ("gray60"           39321 39321 39321)
658      ("grey60"           153 153 153)      ("grey60"           39321 39321 39321)
659      ("gray61"           156 156 156)      ("gray61"           40092 40092 40092)
660      ("grey61"           156 156 156)      ("grey61"           40092 40092 40092)
661      ("gray62"           158 158 158)      ("gray62"           40606 40606 40606)
662      ("grey62"           158 158 158)      ("grey62"           40606 40606 40606)
663      ("gray63"           161 161 161)      ("gray63"           41377 41377 41377)
664      ("grey63"           161 161 161)      ("grey63"           41377 41377 41377)
665      ("gray64"           163 163 163)      ("gray64"           41891 41891 41891)
666      ("grey64"           163 163 163)      ("grey64"           41891 41891 41891)
667      ("gray65"           166 166 166)      ("gray65"           42662 42662 42662)
668      ("grey65"           166 166 166)      ("grey65"           42662 42662 42662)
669      ("gray66"           168 168 168)      ("gray66"           43176 43176 43176)
670      ("grey66"           168 168 168)      ("grey66"           43176 43176 43176)
671      ("gray67"           171 171 171)      ("gray67"           43947 43947 43947)
672      ("grey67"           171 171 171)      ("grey67"           43947 43947 43947)
673      ("gray68"           173 173 173)      ("gray68"           44461 44461 44461)
674      ("grey68"           173 173 173)      ("grey68"           44461 44461 44461)
675      ("gray69"           176 176 176)      ("gray69"           45232 45232 45232)
676      ("grey69"           176 176 176)      ("grey69"           45232 45232 45232)
677      ("gray70"           179 179 179)      ("gray70"           46003 46003 46003)
678      ("grey70"           179 179 179)      ("grey70"           46003 46003 46003)
679      ("gray71"           181 181 181)      ("gray71"           46517 46517 46517)
680      ("grey71"           181 181 181)      ("grey71"           46517 46517 46517)
681      ("gray72"           184 184 184)      ("gray72"           47288 47288 47288)
682      ("grey72"           184 184 184)      ("grey72"           47288 47288 47288)
683      ("gray73"           186 186 186)      ("gray73"           47802 47802 47802)
684      ("grey73"           186 186 186)      ("grey73"           47802 47802 47802)
685      ("gray74"           189 189 189)      ("gray74"           48573 48573 48573)
686      ("grey74"           189 189 189)      ("grey74"           48573 48573 48573)
687      ("gray75"           191 191 191)      ("gray75"           49087 49087 49087)
688      ("grey75"           191 191 191)      ("grey75"           49087 49087 49087)
689      ("gray76"           194 194 194)      ("gray76"           49858 49858 49858)
690      ("grey76"           194 194 194)      ("grey76"           49858 49858 49858)
691      ("gray77"           196 196 196)      ("gray77"           50372 50372 50372)
692      ("grey77"           196 196 196)      ("grey77"           50372 50372 50372)
693      ("gray78"           199 199 199)      ("gray78"           51143 51143 51143)
694      ("grey78"           199 199 199)      ("grey78"           51143 51143 51143)
695      ("gray79"           201 201 201)      ("gray79"           51657 51657 51657)
696      ("grey79"           201 201 201)      ("grey79"           51657 51657 51657)
697      ("gray80"           204 204 204)      ("gray80"           52428 52428 52428)
698      ("grey80"           204 204 204)      ("grey80"           52428 52428 52428)
699      ("gray81"           207 207 207)      ("gray81"           53199 53199 53199)
700      ("grey81"           207 207 207)      ("grey81"           53199 53199 53199)
701      ("gray82"           209 209 209)      ("gray82"           53713 53713 53713)
702      ("grey82"           209 209 209)      ("grey82"           53713 53713 53713)
703      ("gray83"           212 212 212)      ("gray83"           54484 54484 54484)
704      ("grey83"           212 212 212)      ("grey83"           54484 54484 54484)
705      ("gray84"           214 214 214)      ("gray84"           54998 54998 54998)
706      ("grey84"           214 214 214)      ("grey84"           54998 54998 54998)
707      ("gray85"           217 217 217)      ("gray85"           55769 55769 55769)
708      ("grey85"           217 217 217)      ("grey85"           55769 55769 55769)
709      ("gray86"           219 219 219)      ("gray86"           56283 56283 56283)
710      ("grey86"           219 219 219)      ("grey86"           56283 56283 56283)
711      ("gray87"           222 222 222)      ("gray87"           57054 57054 57054)
712      ("grey87"           222 222 222)      ("grey87"           57054 57054 57054)
713      ("gray88"           224 224 224)      ("gray88"           57568 57568 57568)
714      ("grey88"           224 224 224)      ("grey88"           57568 57568 57568)
715      ("gray89"           227 227 227)      ("gray89"           58339 58339 58339)
716      ("grey89"           227 227 227)      ("grey89"           58339 58339 58339)
717      ("gray90"           229 229 229)      ("gray90"           58853 58853 58853)
718      ("grey90"           229 229 229)      ("grey90"           58853 58853 58853)
719      ("gray91"           232 232 232)      ("gray91"           59624 59624 59624)
720      ("grey91"           232 232 232)      ("grey91"           59624 59624 59624)
721      ("gray92"           235 235 235)      ("gray92"           60395 60395 60395)
722      ("grey92"           235 235 235)      ("grey92"           60395 60395 60395)
723      ("gray93"           237 237 237)      ("gray93"           60909 60909 60909)
724      ("grey93"           237 237 237)      ("grey93"           60909 60909 60909)
725      ("gray94"           240 240 240)      ("gray94"           61680 61680 61680)
726      ("grey94"           240 240 240)      ("grey94"           61680 61680 61680)
727      ("gray95"           242 242 242)      ("gray95"           62194 62194 62194)
728      ("grey95"           242 242 242)      ("grey95"           62194 62194 62194)
729      ("gray96"           245 245 245)      ("gray96"           62965 62965 62965)
730      ("grey96"           245 245 245)      ("grey96"           62965 62965 62965)
731      ("gray97"           247 247 247)      ("gray97"           63479 63479 63479)
732      ("grey97"           247 247 247)      ("grey97"           63479 63479 63479)
733      ("gray98"           250 250 250)      ("gray98"           64250 64250 64250)
734      ("grey98"           250 250 250)      ("grey98"           64250 64250 64250)
735      ("gray99"           252 252 252)      ("gray99"           64764 64764 64764)
736      ("grey99"           252 252 252)      ("grey99"           64764 64764 64764)
737      ("gray100"          255 255 255)      ("gray100"          65535 65535 65535)
738      ("grey100"          255 255 255)      ("grey100"          65535 65535 65535)
739      ("darkgrey"         169 169 169)      ("darkgrey"         43433 43433 43433)
740      ("darkgray"         169 169 169)      ("darkgray"         43433 43433 43433)
741      ("darkblue"         0 0 139)      ("darkblue"             0     0 35723)
742      ("darkcyan"         0 139 139) ; no "lightmagenta", see the comment above      ("darkcyan"             0 35723 35723) ; no "lightmagenta", see comment above
743      ("darkmagenta"      139 0 139)      ("darkmagenta"      35723     0 35723)
744      ("darkred"          139 0 0)  ; but no "lightred", see the comment above      ("darkred"          35723     0     0)  ; but no "lightred", see comment above
745      ("lightgreen"       144 238 144))      ("lightgreen"       37008 61166 37008))
746    "An alist of X color names and associated 8-bit RGB values.")    "An alist of X color names and associated 16-bit RGB values.")
747    
748  (defvar tty-standard-colors  (defvar tty-standard-colors
749    '(("black"    0     0     0     0)    '(("black"    0     0     0     0)
# Line 821  Value is the modified color alist for FR Line 826  Value is the modified color alist for FR
826  (defun tty-color-canonicalize (color)  (defun tty-color-canonicalize (color)
827    "Return COLOR in canonical form.    "Return COLOR in canonical form.
828  A canonicalized color name is all-lower case, with any blanks removed."  A canonicalized color name is all-lower case, with any blanks removed."
829    (let ((color (downcase color)))    (let ((case-fold-search nil))
830      (while (string-match " +" color)      (if (string-match "[A-Z ]" color)
831        (setq color (replace-match "" nil nil color)))          (replace-regexp-in-string " +" "" (downcase color))
832      color))        color)))
833    
834  (defun tty-color-define (name index &optional rgb frame)  (defun tty-color-define (name index &optional rgb frame)
835    "Specify a tty color by its NAME, terminal INDEX and RGB values.    "Specify a tty color by its NAME, terminal INDEX and RGB values.
# Line 861  of gray, thus the name." Line 866  of gray, thus the name."
866  (defun tty-color-approximate (rgb &optional frame)  (defun tty-color-approximate (rgb &optional frame)
867    "Given a list of 3 rgb values in RGB, find the color in `tty-color-alist'    "Given a list of 3 rgb values in RGB, find the color in `tty-color-alist'
868  which is the best approximation in the 3-dimensional RGB space,  which is the best approximation in the 3-dimensional RGB space,
869  and return the index associated with the approximating color.  and return its description.
870  Each value of the RGB triplet has to be scaled to the 0..255 range.  
871    Value is a list of the form \(NAME INDEX R G B\).  Note that the returned
872    NAME is not necessarily the same string as the argument COLOR, because
873    the latter might need to be approximated if it is not supported directly.
874    
875    Each value of the RGB triplet should be in the range 0..65535 range.
876  FRAME defaults to the selected frame."  FRAME defaults to the selected frame."
877    (let* ((color-list (tty-color-alist frame))    (let* ((color-list (tty-color-alist frame))
878           (candidate (car color-list))           (candidate (car color-list))
879           (best-distance 195076) ;; 3 * 255^2 + 15           (best-distance 195076) ;; 3 * 255^2 + 15
880             (r (ash (car rgb) -8))
881             (g (ash (cadr rgb) -8))
882             (b (ash (nth 2 rgb) -8))
883           best-color)           best-color)
884      (while candidate      (while candidate
885        (let* ((try-rgb (cddr candidate))        (let ((try-rgb (cddr candidate))
886               (r (car rgb))              ;; If the approximated color is not close enough to the
887               (g (cadr rgb))              ;; gray diagonal of the RGB cube, favor non-gray colors.
888               (b (nth 2 rgb))              ;; (The number 0.065 is an empirical ad-hoc'ery.)
889               ;; If the approximated color is not close enough to the              (favor-non-gray (>= (tty-color-off-gray-diag r g b) 0.065))
890               ;; gray diagonal of the RGB cube, favor non-gray colors.              try-r try-g try-b
891               ;; (The number 0.065 is an empirical ad-hoc'ery.)              dif-r dif-g dif-b dist)
              (favor-non-gray (>= (tty-color-off-gray-diag r g b) 0.065))  
              try-r try-g try-b  
              dif-r dif-g dif-b dist)  
892          ;; If the RGB values of the candidate color are unknown, we          ;; If the RGB values of the candidate color are unknown, we
893          ;; never consider it for approximating another color.          ;; never consider it for approximating another color.
894          (if try-rgb          (if try-rgb
# Line 886  FRAME defaults to the selected frame." Line 896  FRAME defaults to the selected frame."
896                (setq try-r (lsh (car try-rgb) -8)                (setq try-r (lsh (car try-rgb) -8)
897                      try-g (lsh (cadr try-rgb) -8)                      try-g (lsh (cadr try-rgb) -8)
898                      try-b (lsh (nth 2 try-rgb) -8))                      try-b (lsh (nth 2 try-rgb) -8))
899                (setq dif-r (- (car rgb) try-r)                (setq dif-r (- r try-r)
900                      dif-g (- (cadr rgb) try-g)                      dif-g (- g try-g)
901                      dif-b (- (nth 2 rgb) try-b))                      dif-b (- b try-b))
902                (setq dist (+ (* dif-r dif-r) (* dif-g dif-g) (* dif-b dif-b)))                (setq dist (+ (* dif-r dif-r) (* dif-g dif-g) (* dif-b dif-b)))
903                (if (and (< dist best-distance)                (if (and (< dist best-distance)
904                         ;; The candidate color is on the gray diagonal                         ;; The candidate color is on the gray diagonal
# Line 899  FRAME defaults to the selected frame." Line 909  FRAME defaults to the selected frame."
909                          best-color candidate)))))                          best-color candidate)))))
910        (setq color-list (cdr color-list))        (setq color-list (cdr color-list))
911        (setq candidate (car color-list)))        (setq candidate (car color-list)))
912      (cadr best-color)))      best-color))
913    
914    (defun tty-color-standard-values (color)
915    "Return standard RGB values of the color COLOR.
916    
917    The result is a list of integer RGB values--(RED GREEN BLUE).
918    These values range from 0 to 65535; white is (65535 65535 65535).
919    
920    The returned value reflects the standard X definition of COLOR,
921    regardless of whether the terminal can display it, so the return value
922    should be the same regardless of what display is being used."
923      (let ((len (length color)))
924        (cond ((and (>= len 4) ;; X-style "#XXYYZZ" color spec
925                    (eq (aref color 0) ?#)
926                    (member (aref color 1)
927                            '(?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9
928                                 ?a ?b ?c ?d ?e ?f)))
929               ;; Translate the string "#XXYYZZ" into a list
930               ;; of numbers (XX YY ZZ).  If the primary colors
931               ;; are specified with less than 4 hex digits,
932               ;; the used digits represent the most significant
933               ;; bits of the value (e.g. #XYZ = #X000Y000Z000).
934               (let* ((ndig (/ (- len 1) 3))
935                      (i1 1)
936                      (i2 (+ i1 ndig))
937                      (i3 (+ i2 ndig)))
938                 (list
939                  (lsh
940                   (string-to-number (substring color i1 i2) 16)
941                   (* 4 (- 4 ndig)))
942                  (lsh
943                   (string-to-number (substring color i2 i3) 16)
944                   (* 4 (- 4 ndig)))
945                  (lsh
946                   (string-to-number (substring color i3) 16)
947                   (* 4 (- 4 ndig))))))
948              ((and (>= len 9) ;; X-style RGB:xx/yy/zz color spec
949                    (string= (substring color 0 4) "rgb:"))
950               ;; Translate the string "RGB:XX/YY/ZZ" into a list
951               ;; of numbers (XX YY ZZ).  If fewer than 4 hex
952               ;; digits are used, they represent the fraction
953               ;; of the maximum value (RGB:X/Y/Z = #XXXXYYYYZZZZ).
954               (let* ((ndig (/ (- len 3) 3))
955                      (maxval (1- (ash 1 (* 4 (- ndig 1)))))
956                      (i1 4)
957                      (i2 (+ i1 ndig))
958                      (i3 (+ i2 ndig)))
959                 (list
960                  (/ (* (string-to-number
961                         (substring color i1 (- i2 1)) 16)
962                        255)
963                     maxval)
964                  (/ (* (string-to-number
965                         (substring color i2 (- i3 1)) 16)
966                        255)
967                     maxval)
968                  (/ (* (string-to-number
969                         (substring color i3) 16)
970                        255)
971                     maxval))))
972              (t
973               (cdr (assoc color color-name-rgb-alist))))))
974    
975  (defun tty-color-translate (color &optional frame)  (defun tty-color-translate (color &optional frame)
976    "Given a color COLOR, return the index of the corresponding TTY color.    "Given a color COLOR, return the index of the corresponding TTY color.
# Line 918  If COLOR is neither a valid X RGB specif Line 989  If COLOR is neither a valid X RGB specif
989  name of a color in `color-name-rgb-alist', the returned value is nil.  name of a color in `color-name-rgb-alist', the returned value is nil.
990    
991  If FRAME is unspecified or nil, it defaults to the selected frame."  If FRAME is unspecified or nil, it defaults to the selected frame."
992    (and (stringp color)    (cadr (tty-color-desc color frame)))
        (let* ((color (tty-color-canonicalize color))  
               (idx (cadr (assoc color (tty-color-alist frame)))))  
          (or idx  
              (let* ((len (length color))  
                     (maxval 256)  
                     (rgb  
                      (cond  
                       ((and (>= len 4)  ;; X-style "#XXYYZZ" color spec  
                             (eq (aref color 0) ?#)  
                             (member (aref color 1)  
                                     '(?0 ?1 ?2 ?3 ?4 ?5 ?6 ?7 ?8 ?9  
                                          ?a ?b ?c ?d ?e ?f)))  
                        ;; Translate the string "#XXYYZZ" into a list  
                        ;; of numbers (XX YY ZZ).  If the primary colors  
                        ;; are specified with less than 4 hex digits,  
                        ;; the used digits represent the most significant  
                        ;; bits of the value (e.g. #XYZ = #X000Y000Z000).  
                        (let* ((ndig (/ (- len 1) 3))  
                               (i1 1)  
                               (i2 (+ i1 ndig))  
                               (i3 (+ i2 ndig)))  
                          (list  
                           (lsh  
                            (string-to-number (substring color i1 i2) 16)  
                            (* 4 (- 2 ndig)))  
                           (lsh  
                            (string-to-number (substring color i2 i3) 16)  
                            (* 4 (- 2 ndig)))  
                           (lsh  
                            (string-to-number (substring color i3) 16)  
                            (* 4 (- 2 ndig))))))  
                       ((and (>= len 9)  ;; X-style RGB:xx/yy/zz color spec  
                             (string= (substring color 0 4) "rgb:"))  
                        ;; Translate the string "RGB:XX/YY/ZZ" into a list  
                        ;; of numbers (XX YY ZZ).  If fewer than 4 hex  
                        ;; digits are used, they represent the fraction  
                        ;; of the maximum value (RGB:X/Y/Z = #XXXXYYYYZZZZ).  
                        (let* ((ndig (/ (- len 3) 3))  
                               (maxval (1- (expt 16 (- ndig 1))))  
                               (i1 4)  
                               (i2 (+ i1 ndig))  
                               (i3 (+ i2 ndig)))  
                          (list  
                           (/ (* (string-to-number  
                                  (substring color i1 (- i2 1)) 16)  
                                 255)  
                              maxval)  
                           (/ (* (string-to-number  
                                  (substring color i2 (- i3 1)) 16)  
                                 255)  
                              maxval)  
                           (/ (* (string-to-number  
                                  (substring color i3) 16)  
                                 255)  
                              maxval))))  
                       (t  
                        (cdr (assoc color color-name-rgb-alist))))))  
                (and rgb (tty-color-approximate rgb frame)))))))  
993    
994  (defun tty-color-by-index (idx &optional frame)  (defun tty-color-by-index (idx &optional frame)
995    "Given a numeric index of a tty color, return its description.    "Given a numeric index of a tty color, return its description.
# Line 1001  values for a supported color that is its Line 1014  values for a supported color that is its
1014  The value is a list of integer RGB values--\(RED GREEN BLUE\).  The value is a list of integer RGB values--\(RED GREEN BLUE\).
1015  These values range from 0 to 65535; white is (65535 65535 65535).  These values range from 0 to 65535; white is (65535 65535 65535).
1016  If FRAME is omitted or nil, use the selected frame."  If FRAME is omitted or nil, use the selected frame."
1017    (let* ((frame (or frame (selected-frame)))    (cddr (tty-color-desc color frame)))
          (color (tty-color-canonicalize color))  
          (supported (assoc color (tty-color-alist frame))))  
     (or (and supported (cddr supported)) ; full spec in tty-color-alist  
         (and supported  ; no RGB values in tty-color-alist: use X RGB values  
              (assoc color color-name-rgb-alist)  
              (cddr  
               (tty-color-by-index  
                (tty-color-approximate  
                 (cdr (assoc color color-name-rgb-alist)) frame) frame)))  
         (cddr (tty-color-by-index (tty-color-translate color frame) frame)))))  
1018    
1019  (defun tty-color-desc (color &optional frame)  (defun tty-color-desc (color &optional frame)
1020    "Return the description of the color COLOR for a character terminal.    "Return the description of the color COLOR for a character terminal.
1021    Value is a list of the form \(NAME INDEX R G B\).  The returned NAME or
1022  FRAME, if unspecified or nil, defaults to the selected frame.  RGB value may not be the same as the argument COLOR, because the latter
1023  Value is a list of the form \(NAME INDEX R G B\).  Note that the returned  might need to be approximated if it is not supported directly."
1024  NAME is not necessarily the same string as the argument COLOR, because    (and (stringp color)
1025  the latter might need to be approximated if it is not supported directly."         (let ((color (tty-color-canonicalize color)))
1026    (let ((idx (tty-color-translate color frame)))            (or (assoc color (tty-color-alist frame))
1027      (tty-color-by-index idx frame)))                (let ((rgb (tty-color-standard-values color)))
1028                    (and rgb (tty-color-approximate rgb frame)))))))
1029    
1030  (defun tty-color-gray-shades (&optional display)  (defun tty-color-gray-shades (&optional display)
1031    "Return the number of gray colors supported by DISPLAY's terminal.    "Return the number of gray colors supported by DISPLAY's terminal.

Legend:
Removed from v.1.10  
changed lines
  Added in v.1.11

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26