comparison src/objects-msw.c @ 442:abe6d1db359e r21-2-36

Import from CVS: tag r21-2-36
author cvs
date Mon, 13 Aug 2007 11:35:02 +0200
parents 8de8e3f6228a
children 183866b06e0b
comparison
equal deleted inserted replaced
441:72a7cfa4a488 442:abe6d1db359e
47 47
48 #include "buffer.h" 48 #include "buffer.h"
49 #include "device.h" 49 #include "device.h"
50 #include "insdel.h" 50 #include "insdel.h"
51 51
52 #if (defined(__CYGWIN32__) || defined(__MINGW32__)) && \ 52 typedef struct colormap_t
53 CYGWIN_VERSION_DLL_MAJOR < 21 53 {
54 #define stricmp strcasecmp 54 const char *name;
55 #define FONTENUMPROC FONTENUMEXPROC 55 COLORREF colorref;
56 #define ntmTm ntmentm
57 #endif
58
59 typedef struct colormap_t
60 {
61 CONST char *name;
62 CONST COLORREF colorref;
63 } colormap_t; 56 } colormap_t;
64 57
65 /* Colors from X11R6 "XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp" */ 58 /* Colors from X11R6 "XConsortium: rgb.txt,v 10.41 94/02/20 18:39:36 rws Exp" */
66 static CONST colormap_t mswindows_X_color_map[] = 59 /* MSWindows tends to round up the numbers in it's palette, ie where X uses
67 { 60 * 127, MSWindows uses 128. Colors commented as "Adjusted" are tweaked to
68 {"snow" , PALETTERGB (255, 250, 250) }, 61 * match the Windows standard palette to increase the likelihood of
69 {"GhostWhite" , PALETTERGB (248, 248, 255) }, 62 * mswindows_color_to_string() finding a named match.
70 {"WhiteSmoke" , PALETTERGB (245, 245, 245) }, 63 */
71 {"gainsboro" , PALETTERGB (220, 220, 220) }, 64 static const colormap_t mswindows_X_color_map[] =
72 {"FloralWhite" , PALETTERGB (255, 250, 240) }, 65 {
73 {"OldLace" , PALETTERGB (253, 245, 230) }, 66 {"white" , PALETTERGB (255, 255, 255) },
74 {"linen" , PALETTERGB (250, 240, 230) }, 67 {"black" , PALETTERGB (0, 0, 0) },
75 {"AntiqueWhite" , PALETTERGB (250, 235, 215) }, 68 {"snow" , PALETTERGB (255, 250, 250) },
76 {"PapayaWhip" , PALETTERGB (255, 239, 213) }, 69 {"GhostWhite" , PALETTERGB (248, 248, 255) },
77 {"BlanchedAlmond" , PALETTERGB (255, 235, 205) }, 70 {"WhiteSmoke" , PALETTERGB (245, 245, 245) },
78 {"bisque" , PALETTERGB (255, 228, 196) }, 71 {"gainsboro" , PALETTERGB (220, 220, 220) },
79 {"PeachPuff" , PALETTERGB (255, 218, 185) }, 72 {"FloralWhite" , PALETTERGB (255, 250, 240) },
80 {"NavajoWhite" , PALETTERGB (255, 222, 173) }, 73 {"OldLace" , PALETTERGB (253, 245, 230) },
81 {"moccasin" , PALETTERGB (255, 228, 181) }, 74 {"linen" , PALETTERGB (250, 240, 230) },
82 {"cornsilk" , PALETTERGB (255, 248, 220) }, 75 {"AntiqueWhite" , PALETTERGB (250, 235, 215) },
83 {"ivory" , PALETTERGB (255, 255, 240) }, 76 {"PapayaWhip" , PALETTERGB (255, 239, 213) },
84 {"LemonChiffon" , PALETTERGB (255, 250, 205) }, 77 {"BlanchedAlmond" , PALETTERGB (255, 235, 205) },
85 {"seashell" , PALETTERGB (255, 245, 238) }, 78 {"bisque" , PALETTERGB (255, 228, 196) },
86 {"honeydew" , PALETTERGB (240, 255, 240) }, 79 {"PeachPuff" , PALETTERGB (255, 218, 185) },
87 {"MintCream" , PALETTERGB (245, 255, 250) }, 80 {"NavajoWhite" , PALETTERGB (255, 222, 173) },
88 {"azure" , PALETTERGB (240, 255, 255) }, 81 {"moccasin" , PALETTERGB (255, 228, 181) },
89 {"AliceBlue" , PALETTERGB (240, 248, 255) }, 82 {"cornsilk" , PALETTERGB (255, 248, 220) },
90 {"lavender" , PALETTERGB (230, 230, 250) }, 83 {"ivory" , PALETTERGB (255, 255, 240) },
91 {"LavenderBlush" , PALETTERGB (255, 240, 245) }, 84 {"LemonChiffon" , PALETTERGB (255, 250, 205) },
92 {"MistyRose" , PALETTERGB (255, 228, 225) }, 85 {"seashell" , PALETTERGB (255, 245, 238) },
93 {"white" , PALETTERGB (255, 255, 255) }, 86 {"honeydew" , PALETTERGB (240, 255, 240) },
94 {"black" , PALETTERGB (0, 0, 0) }, 87 {"MintCream" , PALETTERGB (245, 255, 250) },
95 {"DarkSlateGray" , PALETTERGB (47, 79, 79) }, 88 {"azure" , PALETTERGB (240, 255, 255) },
96 {"DarkSlateGrey" , PALETTERGB (47, 79, 79) }, 89 {"AliceBlue" , PALETTERGB (240, 248, 255) },
97 {"DimGray" , PALETTERGB (105, 105, 105) }, 90 {"lavender" , PALETTERGB (230, 230, 250) },
98 {"DimGrey" , PALETTERGB (105, 105, 105) }, 91 {"LavenderBlush" , PALETTERGB (255, 240, 245) },
99 {"SlateGray" , PALETTERGB (112, 128, 144) }, 92 {"MistyRose" , PALETTERGB (255, 228, 225) },
100 {"SlateGrey" , PALETTERGB (112, 128, 144) }, 93 {"DarkSlateGray" , PALETTERGB (47, 79, 79) },
101 {"LightSlateGray" , PALETTERGB (119, 136, 153) }, 94 {"DarkSlateGrey" , PALETTERGB (47, 79, 79) },
102 {"LightSlateGrey" , PALETTERGB (119, 136, 153) }, 95 {"DimGray" , PALETTERGB (105, 105, 105) },
103 {"gray" , PALETTERGB (190, 190, 190) }, 96 {"DimGrey" , PALETTERGB (105, 105, 105) },
104 {"grey" , PALETTERGB (190, 190, 190) }, 97 {"SlateGray" , PALETTERGB (112, 128, 144) },
105 {"LightGrey" , PALETTERGB (211, 211, 211) }, 98 {"SlateGrey" , PALETTERGB (112, 128, 144) },
106 {"LightGray" , PALETTERGB (211, 211, 211) }, 99 {"LightSlateGray" , PALETTERGB (119, 136, 153) },
107 {"MidnightBlue" , PALETTERGB (25, 25, 112) }, 100 {"LightSlateGrey" , PALETTERGB (119, 136, 153) },
108 {"navy" , PALETTERGB (0, 0, 128) }, 101 {"gray" , PALETTERGB (190, 190, 190) },
109 {"NavyBlue" , PALETTERGB (0, 0, 128) }, 102 {"grey" , PALETTERGB (190, 190, 190) },
110 {"CornflowerBlue" , PALETTERGB (100, 149, 237) }, 103 {"LightGrey" , PALETTERGB (211, 211, 211) },
111 {"DarkSlateBlue" , PALETTERGB (72, 61, 139) }, 104 {"LightGray" , PALETTERGB (211, 211, 211) },
112 {"SlateBlue" , PALETTERGB (106, 90, 205) }, 105 {"MidnightBlue" , PALETTERGB (25, 25, 112) },
113 {"MediumSlateBlue" , PALETTERGB (123, 104, 238) }, 106 {"navy" , PALETTERGB (0, 0, 128) },
114 {"LightSlateBlue" , PALETTERGB (132, 112, 255) }, 107 {"NavyBlue" , PALETTERGB (0, 0, 128) },
115 {"MediumBlue" , PALETTERGB (0, 0, 205) }, 108 {"CornflowerBlue" , PALETTERGB (100, 149, 237) },
116 {"RoyalBlue" , PALETTERGB (65, 105, 225) }, 109 {"DarkSlateBlue" , PALETTERGB (72, 61, 139) },
117 {"blue" , PALETTERGB (0, 0, 255) }, 110 {"SlateBlue" , PALETTERGB (106, 90, 205) },
118 {"DodgerBlue" , PALETTERGB (30, 144, 255) }, 111 {"MediumSlateBlue" , PALETTERGB (123, 104, 238) },
119 {"DeepSkyBlue" , PALETTERGB (0, 191, 255) }, 112 {"LightSlateBlue" , PALETTERGB (132, 112, 255) },
120 {"SkyBlue" , PALETTERGB (135, 206, 235) }, 113 {"MediumBlue" , PALETTERGB (0, 0, 205) },
121 {"LightSkyBlue" , PALETTERGB (135, 206, 250) }, 114 {"RoyalBlue" , PALETTERGB (65, 105, 225) },
122 {"SteelBlue" , PALETTERGB (70, 130, 180) }, 115 {"blue" , PALETTERGB (0, 0, 255) },
123 {"LightSteelBlue" , PALETTERGB (176, 196, 222) }, 116 {"DodgerBlue" , PALETTERGB (30, 144, 255) },
124 {"LightBlue" , PALETTERGB (173, 216, 230) }, 117 {"DeepSkyBlue" , PALETTERGB (0, 191, 255) },
125 {"PowderBlue" , PALETTERGB (176, 224, 230) }, 118 {"SkyBlue" , PALETTERGB (135, 206, 235) },
126 {"PaleTurquoise" , PALETTERGB (175, 238, 238) }, 119 {"LightSkyBlue" , PALETTERGB (135, 206, 250) },
127 {"DarkTurquoise" , PALETTERGB (0, 206, 209) }, 120 {"SteelBlue" , PALETTERGB (70, 130, 180) },
128 {"MediumTurquoise" , PALETTERGB (72, 209, 204) }, 121 {"LightSteelBlue" , PALETTERGB (176, 196, 222) },
129 {"turquoise" , PALETTERGB (64, 224, 208) }, 122 {"LightBlue" , PALETTERGB (173, 216, 230) },
130 {"cyan" , PALETTERGB (0, 255, 255) }, 123 {"PowderBlue" , PALETTERGB (176, 224, 230) },
131 {"LightCyan" , PALETTERGB (224, 255, 255) }, 124 {"PaleTurquoise" , PALETTERGB (175, 238, 238) },
132 {"CadetBlue" , PALETTERGB (95, 158, 160) }, 125 {"DarkTurquoise" , PALETTERGB (0, 206, 209) },
133 {"MediumAquamarine" , PALETTERGB (102, 205, 170) }, 126 {"MediumTurquoise" , PALETTERGB (72, 209, 204) },
134 {"aquamarine" , PALETTERGB (127, 255, 212) }, 127 {"turquoise" , PALETTERGB (64, 224, 208) },
135 {"DarkGreen" , PALETTERGB (0, 100, 0) }, 128 {"cyan" , PALETTERGB (0, 255, 255) },
136 {"DarkOliveGreen" , PALETTERGB (85, 107, 47) }, 129 {"LightCyan" , PALETTERGB (224, 255, 255) },
137 {"DarkSeaGreen" , PALETTERGB (143, 188, 143) }, 130 {"CadetBlue" , PALETTERGB (95, 158, 160) },
138 {"SeaGreen" , PALETTERGB (46, 139, 87) }, 131 {"MediumAquamarine" , PALETTERGB (102, 205, 170) },
139 {"MediumSeaGreen" , PALETTERGB (60, 179, 113) }, 132 {"aquamarine" , PALETTERGB (127, 255, 212) },
140 {"LightSeaGreen" , PALETTERGB (32, 178, 170) }, 133 {"DarkGreen" , PALETTERGB (0, 128, 0) }, /* Adjusted */
141 {"PaleGreen" , PALETTERGB (152, 251, 152) }, 134 {"DarkOliveGreen" , PALETTERGB (85, 107, 47) },
142 {"SpringGreen" , PALETTERGB (0, 255, 127) }, 135 {"DarkSeaGreen" , PALETTERGB (143, 188, 143) },
143 {"LawnGreen" , PALETTERGB (124, 252, 0) }, 136 {"SeaGreen" , PALETTERGB (46, 139, 87) },
144 {"green" , PALETTERGB (0, 255, 0) }, 137 {"MediumSeaGreen" , PALETTERGB (60, 179, 113) },
145 {"chartreuse" , PALETTERGB (127, 255, 0) }, 138 {"LightSeaGreen" , PALETTERGB (32, 178, 170) },
146 {"MediumSpringGreen" , PALETTERGB (0, 250, 154) }, 139 {"PaleGreen" , PALETTERGB (152, 251, 152) },
147 {"GreenYellow" , PALETTERGB (173, 255, 47) }, 140 {"SpringGreen" , PALETTERGB (0, 255, 127) },
148 {"LimeGreen" , PALETTERGB (50, 205, 50) }, 141 {"LawnGreen" , PALETTERGB (124, 252, 0) },
149 {"YellowGreen" , PALETTERGB (154, 205, 50) }, 142 {"green" , PALETTERGB (0, 255, 0) },
150 {"ForestGreen" , PALETTERGB (34, 139, 34) }, 143 {"chartreuse" , PALETTERGB (127, 255, 0) },
151 {"OliveDrab" , PALETTERGB (107, 142, 35) }, 144 {"MediumSpringGreen" , PALETTERGB (0, 250, 154) },
152 {"DarkKhaki" , PALETTERGB (189, 183, 107) }, 145 {"GreenYellow" , PALETTERGB (173, 255, 47) },
153 {"khaki" , PALETTERGB (240, 230, 140) }, 146 {"LimeGreen" , PALETTERGB (50, 205, 50) },
154 {"PaleGoldenrod" , PALETTERGB (238, 232, 170) }, 147 {"YellowGreen" , PALETTERGB (154, 205, 50) },
155 {"LightGoldenrodYellow" , PALETTERGB (250, 250, 210) }, 148 {"ForestGreen" , PALETTERGB (34, 139, 34) },
156 {"LightYellow" , PALETTERGB (255, 255, 224) }, 149 {"OliveDrab" , PALETTERGB (107, 142, 35) },
157 {"yellow" , PALETTERGB (255, 255, 0) }, 150 {"DarkKhaki" , PALETTERGB (189, 183, 107) },
158 {"gold" , PALETTERGB (255, 215, 0) }, 151 {"khaki" , PALETTERGB (240, 230, 140) },
159 {"LightGoldenrod" , PALETTERGB (238, 221, 130) }, 152 {"PaleGoldenrod" , PALETTERGB (238, 232, 170) },
160 {"goldenrod" , PALETTERGB (218, 165, 32) }, 153 {"LightGoldenrodYellow", PALETTERGB (250, 250, 210) },
161 {"DarkGoldenrod" , PALETTERGB (184, 134, 11) }, 154 {"LightYellow" , PALETTERGB (255, 255, 224) },
162 {"RosyBrown" , PALETTERGB (188, 143, 143) }, 155 {"LightYellow" , PALETTERGB (255, 255, 225) }, /* Adjusted */
163 {"IndianRed" , PALETTERGB (205, 92, 92) }, 156 {"yellow" , PALETTERGB (255, 255, 0) },
164 {"SaddleBrown" , PALETTERGB (139, 69, 19) }, 157 {"gold" , PALETTERGB (255, 215, 0) },
165 {"sienna" , PALETTERGB (160, 82, 45) }, 158 {"LightGoldenrod" , PALETTERGB (238, 221, 130) },
166 {"peru" , PALETTERGB (205, 133, 63) }, 159 {"goldenrod" , PALETTERGB (218, 165, 32) },
167 {"burlywood" , PALETTERGB (222, 184, 135) }, 160 {"DarkGoldenrod" , PALETTERGB (184, 134, 11) },
168 {"beige" , PALETTERGB (245, 245, 220) }, 161 {"RosyBrown" , PALETTERGB (188, 143, 143) },
169 {"wheat" , PALETTERGB (245, 222, 179) }, 162 {"IndianRed" , PALETTERGB (205, 92, 92) },
170 {"SandyBrown" , PALETTERGB (244, 164, 96) }, 163 {"SaddleBrown" , PALETTERGB (139, 69, 19) },
171 {"tan" , PALETTERGB (210, 180, 140) }, 164 {"sienna" , PALETTERGB (160, 82, 45) },
172 {"chocolate" , PALETTERGB (210, 105, 30) }, 165 {"peru" , PALETTERGB (205, 133, 63) },
173 {"firebrick" , PALETTERGB (178, 34, 34) }, 166 {"burlywood" , PALETTERGB (222, 184, 135) },
174 {"brown" , PALETTERGB (165, 42, 42) }, 167 {"beige" , PALETTERGB (245, 245, 220) },
175 {"DarkSalmon" , PALETTERGB (233, 150, 122) }, 168 {"wheat" , PALETTERGB (245, 222, 179) },
176 {"salmon" , PALETTERGB (250, 128, 114) }, 169 {"SandyBrown" , PALETTERGB (244, 164, 96) },
177 {"LightSalmon" , PALETTERGB (255, 160, 122) }, 170 {"tan" , PALETTERGB (210, 180, 140) },
178 {"orange" , PALETTERGB (255, 165, 0) }, 171 {"chocolate" , PALETTERGB (210, 105, 30) },
179 {"DarkOrange" , PALETTERGB (255, 140, 0) }, 172 {"firebrick" , PALETTERGB (178, 34, 34) },
180 {"coral" , PALETTERGB (255, 127, 80) }, 173 {"brown" , PALETTERGB (165, 42, 42) },
181 {"LightCoral" , PALETTERGB (240, 128, 128) }, 174 {"DarkSalmon" , PALETTERGB (233, 150, 122) },
182 {"tomato" , PALETTERGB (255, 99, 71) }, 175 {"salmon" , PALETTERGB (250, 128, 114) },
183 {"OrangeRed" , PALETTERGB (255, 69, 0) }, 176 {"LightSalmon" , PALETTERGB (255, 160, 122) },
184 {"red" , PALETTERGB (255, 0, 0) }, 177 {"orange" , PALETTERGB (255, 165, 0) },
185 {"HotPink" , PALETTERGB (255, 105, 180) }, 178 {"DarkOrange" , PALETTERGB (255, 140, 0) },
186 {"DeepPink" , PALETTERGB (255, 20, 147) }, 179 {"coral" , PALETTERGB (255, 127, 80) },
187 {"pink" , PALETTERGB (255, 192, 203) }, 180 {"LightCoral" , PALETTERGB (240, 128, 128) },
188 {"LightPink" , PALETTERGB (255, 182, 193) }, 181 {"tomato" , PALETTERGB (255, 99, 71) },
189 {"PaleVioletRed" , PALETTERGB (219, 112, 147) }, 182 {"OrangeRed" , PALETTERGB (255, 69, 0) },
190 {"maroon" , PALETTERGB (176, 48, 96) }, 183 {"red" , PALETTERGB (255, 0, 0) },
191 {"MediumVioletRed" , PALETTERGB (199, 21, 133) }, 184 {"HotPink" , PALETTERGB (255, 105, 180) },
192 {"VioletRed" , PALETTERGB (208, 32, 144) }, 185 {"DeepPink" , PALETTERGB (255, 20, 147) },
193 {"magenta" , PALETTERGB (255, 0, 255) }, 186 {"pink" , PALETTERGB (255, 192, 203) },
194 {"violet" , PALETTERGB (238, 130, 238) }, 187 {"LightPink" , PALETTERGB (255, 182, 193) },
195 {"plum" , PALETTERGB (221, 160, 221) }, 188 {"PaleVioletRed" , PALETTERGB (219, 112, 147) },
196 {"orchid" , PALETTERGB (218, 112, 214) }, 189 {"maroon" , PALETTERGB (176, 48, 96) },
197 {"MediumOrchid" , PALETTERGB (186, 85, 211) }, 190 {"MediumVioletRed" , PALETTERGB (199, 21, 133) },
198 {"DarkOrchid" , PALETTERGB (153, 50, 204) }, 191 {"VioletRed" , PALETTERGB (208, 32, 144) },
199 {"DarkViolet" , PALETTERGB (148, 0, 211) }, 192 {"magenta" , PALETTERGB (255, 0, 255) },
200 {"BlueViolet" , PALETTERGB (138, 43, 226) }, 193 {"violet" , PALETTERGB (238, 130, 238) },
201 {"purple" , PALETTERGB (160, 32, 240) }, 194 {"plum" , PALETTERGB (221, 160, 221) },
202 {"MediumPurple" , PALETTERGB (147, 112, 219) }, 195 {"orchid" , PALETTERGB (218, 112, 214) },
203 {"thistle" , PALETTERGB (216, 191, 216) }, 196 {"MediumOrchid" , PALETTERGB (186, 85, 211) },
204 {"snow1" , PALETTERGB (255, 250, 250) }, 197 {"DarkOrchid" , PALETTERGB (153, 50, 204) },
205 {"snow2" , PALETTERGB (238, 233, 233) }, 198 {"DarkViolet" , PALETTERGB (148, 0, 211) },
206 {"snow3" , PALETTERGB (205, 201, 201) }, 199 {"BlueViolet" , PALETTERGB (138, 43, 226) },
207 {"snow4" , PALETTERGB (139, 137, 137) }, 200 {"purple" , PALETTERGB (160, 32, 240) },
208 {"seashell1" , PALETTERGB (255, 245, 238) }, 201 {"MediumPurple" , PALETTERGB (147, 112, 219) },
209 {"seashell2" , PALETTERGB (238, 229, 222) }, 202 {"thistle" , PALETTERGB (216, 191, 216) },
210 {"seashell3" , PALETTERGB (205, 197, 191) }, 203 {"snow1" , PALETTERGB (255, 250, 250) },
211 {"seashell4" , PALETTERGB (139, 134, 130) }, 204 {"snow2" , PALETTERGB (238, 233, 233) },
212 {"AntiqueWhite1" , PALETTERGB (255, 239, 219) }, 205 {"snow3" , PALETTERGB (205, 201, 201) },
213 {"AntiqueWhite2" , PALETTERGB (238, 223, 204) }, 206 {"snow4" , PALETTERGB (139, 137, 137) },
214 {"AntiqueWhite3" , PALETTERGB (205, 192, 176) }, 207 {"seashell1" , PALETTERGB (255, 245, 238) },
215 {"AntiqueWhite4" , PALETTERGB (139, 131, 120) }, 208 {"seashell2" , PALETTERGB (238, 229, 222) },
216 {"bisque1" , PALETTERGB (255, 228, 196) }, 209 {"seashell3" , PALETTERGB (205, 197, 191) },
217 {"bisque2" , PALETTERGB (238, 213, 183) }, 210 {"seashell4" , PALETTERGB (139, 134, 130) },
218 {"bisque3" , PALETTERGB (205, 183, 158) }, 211 {"AntiqueWhite1" , PALETTERGB (255, 239, 219) },
219 {"bisque4" , PALETTERGB (139, 125, 107) }, 212 {"AntiqueWhite2" , PALETTERGB (238, 223, 204) },
220 {"PeachPuff1" , PALETTERGB (255, 218, 185) }, 213 {"AntiqueWhite3" , PALETTERGB (205, 192, 176) },
221 {"PeachPuff2" , PALETTERGB (238, 203, 173) }, 214 {"AntiqueWhite4" , PALETTERGB (139, 131, 120) },
222 {"PeachPuff3" , PALETTERGB (205, 175, 149) }, 215 {"bisque1" , PALETTERGB (255, 228, 196) },
223 {"PeachPuff4" , PALETTERGB (139, 119, 101) }, 216 {"bisque2" , PALETTERGB (238, 213, 183) },
224 {"NavajoWhite1" , PALETTERGB (255, 222, 173) }, 217 {"bisque3" , PALETTERGB (205, 183, 158) },
225 {"NavajoWhite2" , PALETTERGB (238, 207, 161) }, 218 {"bisque4" , PALETTERGB (139, 125, 107) },
226 {"NavajoWhite3" , PALETTERGB (205, 179, 139) }, 219 {"PeachPuff1" , PALETTERGB (255, 218, 185) },
227 {"NavajoWhite4" , PALETTERGB (139, 121, 94) }, 220 {"PeachPuff2" , PALETTERGB (238, 203, 173) },
228 {"LemonChiffon1" , PALETTERGB (255, 250, 205) }, 221 {"PeachPuff3" , PALETTERGB (205, 175, 149) },
229 {"LemonChiffon2" , PALETTERGB (238, 233, 191) }, 222 {"PeachPuff4" , PALETTERGB (139, 119, 101) },
230 {"LemonChiffon3" , PALETTERGB (205, 201, 165) }, 223 {"NavajoWhite1" , PALETTERGB (255, 222, 173) },
231 {"LemonChiffon4" , PALETTERGB (139, 137, 112) }, 224 {"NavajoWhite2" , PALETTERGB (238, 207, 161) },
232 {"cornsilk1" , PALETTERGB (255, 248, 220) }, 225 {"NavajoWhite3" , PALETTERGB (205, 179, 139) },
233 {"cornsilk2" , PALETTERGB (238, 232, 205) }, 226 {"NavajoWhite4" , PALETTERGB (139, 121, 94) },
234 {"cornsilk3" , PALETTERGB (205, 200, 177) }, 227 {"LemonChiffon1" , PALETTERGB (255, 250, 205) },
235 {"cornsilk4" , PALETTERGB (139, 136, 120) }, 228 {"LemonChiffon2" , PALETTERGB (238, 233, 191) },
236 {"ivory1" , PALETTERGB (255, 255, 240) }, 229 {"LemonChiffon3" , PALETTERGB (205, 201, 165) },
237 {"ivory2" , PALETTERGB (238, 238, 224) }, 230 {"LemonChiffon4" , PALETTERGB (139, 137, 112) },
238 {"ivory3" , PALETTERGB (205, 205, 193) }, 231 {"cornsilk1" , PALETTERGB (255, 248, 220) },
239 {"ivory4" , PALETTERGB (139, 139, 131) }, 232 {"cornsilk2" , PALETTERGB (238, 232, 205) },
240 {"honeydew1" , PALETTERGB (240, 255, 240) }, 233 {"cornsilk3" , PALETTERGB (205, 200, 177) },
241 {"honeydew2" , PALETTERGB (224, 238, 224) }, 234 {"cornsilk4" , PALETTERGB (139, 136, 120) },
242 {"honeydew3" , PALETTERGB (193, 205, 193) }, 235 {"ivory1" , PALETTERGB (255, 255, 240) },
243 {"honeydew4" , PALETTERGB (131, 139, 131) }, 236 {"ivory2" , PALETTERGB (240, 240, 208) }, /* Adjusted */
244 {"LavenderBlush1" , PALETTERGB (255, 240, 245) }, 237 {"ivory3" , PALETTERGB (205, 205, 193) },
245 {"LavenderBlush2" , PALETTERGB (238, 224, 229) }, 238 {"ivory4" , PALETTERGB (139, 139, 131) },
246 {"LavenderBlush3" , PALETTERGB (205, 193, 197) }, 239 {"honeydew1" , PALETTERGB (240, 255, 240) },
247 {"LavenderBlush4" , PALETTERGB (139, 131, 134) }, 240 {"honeydew2" , PALETTERGB (224, 238, 224) },
248 {"MistyRose1" , PALETTERGB (255, 228, 225) }, 241 {"honeydew3" , PALETTERGB (193, 205, 193) },
249 {"MistyRose2" , PALETTERGB (238, 213, 210) }, 242 {"honeydew4" , PALETTERGB (131, 139, 131) },
250 {"MistyRose3" , PALETTERGB (205, 183, 181) }, 243 {"LavenderBlush1" , PALETTERGB (255, 240, 245) },
251 {"MistyRose4" , PALETTERGB (139, 125, 123) }, 244 {"LavenderBlush2" , PALETTERGB (238, 224, 229) },
252 {"azure1" , PALETTERGB (240, 255, 255) }, 245 {"LavenderBlush3" , PALETTERGB (205, 193, 197) },
253 {"azure2" , PALETTERGB (224, 238, 238) }, 246 {"LavenderBlush4" , PALETTERGB (139, 131, 134) },
254 {"azure3" , PALETTERGB (193, 205, 205) }, 247 {"MistyRose1" , PALETTERGB (255, 228, 225) },
255 {"azure4" , PALETTERGB (131, 139, 139) }, 248 {"MistyRose2" , PALETTERGB (238, 213, 210) },
256 {"SlateBlue1" , PALETTERGB (131, 111, 255) }, 249 {"MistyRose3" , PALETTERGB (205, 183, 181) },
257 {"SlateBlue2" , PALETTERGB (122, 103, 238) }, 250 {"MistyRose4" , PALETTERGB (139, 125, 123) },
258 {"SlateBlue3" , PALETTERGB (105, 89, 205) }, 251 {"azure1" , PALETTERGB (240, 255, 255) },
259 {"SlateBlue4" , PALETTERGB (71, 60, 139) }, 252 {"azure2" , PALETTERGB (224, 238, 238) },
260 {"RoyalBlue1" , PALETTERGB (72, 118, 255) }, 253 {"azure3" , PALETTERGB (193, 205, 205) },
261 {"RoyalBlue2" , PALETTERGB (67, 110, 238) }, 254 {"azure4" , PALETTERGB (131, 139, 139) },
262 {"RoyalBlue3" , PALETTERGB (58, 95, 205) }, 255 {"SlateBlue1" , PALETTERGB (131, 111, 255) },
263 {"RoyalBlue4" , PALETTERGB (39, 64, 139) }, 256 {"SlateBlue2" , PALETTERGB (122, 103, 238) },
264 {"blue1" , PALETTERGB (0, 0, 255) }, 257 {"SlateBlue3" , PALETTERGB (105, 89, 205) },
265 {"blue2" , PALETTERGB (0, 0, 238) }, 258 {"SlateBlue4" , PALETTERGB (71, 60, 139) },
266 {"blue3" , PALETTERGB (0, 0, 205) }, 259 {"RoyalBlue1" , PALETTERGB (72, 118, 255) },
267 {"blue4" , PALETTERGB (0, 0, 139) }, 260 {"RoyalBlue2" , PALETTERGB (67, 110, 238) },
268 {"DodgerBlue1" , PALETTERGB (30, 144, 255) }, 261 {"RoyalBlue3" , PALETTERGB (58, 95, 205) },
269 {"DodgerBlue2" , PALETTERGB (28, 134, 238) }, 262 {"RoyalBlue4" , PALETTERGB (39, 64, 139) },
270 {"DodgerBlue3" , PALETTERGB (24, 116, 205) }, 263 {"blue1" , PALETTERGB (0, 0, 255) },
271 {"DodgerBlue4" , PALETTERGB (16, 78, 139) }, 264 {"blue2" , PALETTERGB (0, 0, 238) },
272 {"SteelBlue1" , PALETTERGB (99, 184, 255) }, 265 {"blue3" , PALETTERGB (0, 0, 205) },
273 {"SteelBlue2" , PALETTERGB (92, 172, 238) }, 266 {"blue4" , PALETTERGB (0, 0, 139) },
274 {"SteelBlue3" , PALETTERGB (79, 148, 205) }, 267 {"DodgerBlue1" , PALETTERGB (30, 144, 255) },
275 {"SteelBlue4" , PALETTERGB (54, 100, 139) }, 268 {"DodgerBlue2" , PALETTERGB (28, 134, 238) },
276 {"DeepSkyBlue1" , PALETTERGB (0, 191, 255) }, 269 {"DodgerBlue3" , PALETTERGB (24, 116, 205) },
277 {"DeepSkyBlue2" , PALETTERGB (0, 178, 238) }, 270 {"DodgerBlue4" , PALETTERGB (16, 78, 139) },
278 {"DeepSkyBlue3" , PALETTERGB (0, 154, 205) }, 271 {"SteelBlue1" , PALETTERGB (99, 184, 255) },
279 {"DeepSkyBlue4" , PALETTERGB (0, 104, 139) }, 272 {"SteelBlue2" , PALETTERGB (92, 172, 238) },
280 {"SkyBlue1" , PALETTERGB (135, 206, 255) }, 273 {"SteelBlue3" , PALETTERGB (79, 148, 205) },
281 {"SkyBlue2" , PALETTERGB (126, 192, 238) }, 274 {"SteelBlue4" , PALETTERGB (54, 100, 139) },
282 {"SkyBlue3" , PALETTERGB (108, 166, 205) }, 275 {"DeepSkyBlue1" , PALETTERGB (0, 191, 255) },
283 {"SkyBlue4" , PALETTERGB (74, 112, 139) }, 276 {"DeepSkyBlue2" , PALETTERGB (0, 178, 238) },
284 {"LightSkyBlue1" , PALETTERGB (176, 226, 255) }, 277 {"DeepSkyBlue3" , PALETTERGB (0, 154, 205) },
285 {"LightSkyBlue2" , PALETTERGB (164, 211, 238) }, 278 {"DeepSkyBlue4" , PALETTERGB (0, 104, 139) },
286 {"LightSkyBlue3" , PALETTERGB (141, 182, 205) }, 279 {"SkyBlue1" , PALETTERGB (135, 206, 255) },
287 {"LightSkyBlue4" , PALETTERGB (96, 123, 139) }, 280 {"SkyBlue2" , PALETTERGB (126, 192, 238) },
288 {"SlateGray1" , PALETTERGB (198, 226, 255) }, 281 {"SkyBlue3" , PALETTERGB (108, 166, 205) },
289 {"SlateGray2" , PALETTERGB (185, 211, 238) }, 282 {"SkyBlue4" , PALETTERGB (74, 112, 139) },
290 {"SlateGray3" , PALETTERGB (159, 182, 205) }, 283 {"LightSkyBlue1" , PALETTERGB (176, 226, 255) },
291 {"SlateGray4" , PALETTERGB (108, 123, 139) }, 284 {"LightSkyBlue2" , PALETTERGB (164, 211, 238) },
292 {"LightSteelBlue1" , PALETTERGB (202, 225, 255) }, 285 {"LightSkyBlue3" , PALETTERGB (141, 182, 205) },
293 {"LightSteelBlue2" , PALETTERGB (188, 210, 238) }, 286 {"LightSkyBlue4" , PALETTERGB (96, 123, 139) },
294 {"LightSteelBlue3" , PALETTERGB (162, 181, 205) }, 287 {"SlateGray1" , PALETTERGB (198, 226, 255) },
295 {"LightSteelBlue4" , PALETTERGB (110, 123, 139) }, 288 {"SlateGray2" , PALETTERGB (185, 211, 238) },
296 {"LightBlue1" , PALETTERGB (191, 239, 255) }, 289 {"SlateGray3" , PALETTERGB (159, 182, 205) },
297 {"LightBlue2" , PALETTERGB (178, 223, 238) }, 290 {"SlateGray4" , PALETTERGB (108, 123, 139) },
298 {"LightBlue3" , PALETTERGB (154, 192, 205) }, 291 {"LightSteelBlue1" , PALETTERGB (202, 225, 255) },
299 {"LightBlue4" , PALETTERGB (104, 131, 139) }, 292 {"LightSteelBlue2" , PALETTERGB (188, 210, 238) },
300 {"LightCyan1" , PALETTERGB (224, 255, 255) }, 293 {"LightSteelBlue3" , PALETTERGB (162, 181, 205) },
301 {"LightCyan2" , PALETTERGB (209, 238, 238) }, 294 {"LightSteelBlue4" , PALETTERGB (110, 123, 139) },
302 {"LightCyan3" , PALETTERGB (180, 205, 205) }, 295 {"LightBlue1" , PALETTERGB (191, 239, 255) },
303 {"LightCyan4" , PALETTERGB (122, 139, 139) }, 296 {"LightBlue2" , PALETTERGB (178, 223, 238) },
304 {"PaleTurquoise1" , PALETTERGB (187, 255, 255) }, 297 {"LightBlue3" , PALETTERGB (154, 192, 205) },
305 {"PaleTurquoise2" , PALETTERGB (174, 238, 238) }, 298 {"LightBlue4" , PALETTERGB (104, 131, 139) },
306 {"PaleTurquoise3" , PALETTERGB (150, 205, 205) }, 299 {"LightCyan1" , PALETTERGB (224, 255, 255) },
307 {"PaleTurquoise4" , PALETTERGB (102, 139, 139) }, 300 {"LightCyan2" , PALETTERGB (209, 238, 238) },
308 {"CadetBlue1" , PALETTERGB (152, 245, 255) }, 301 {"LightCyan3" , PALETTERGB (180, 205, 205) },
309 {"CadetBlue2" , PALETTERGB (142, 229, 238) }, 302 {"LightCyan4" , PALETTERGB (122, 139, 139) },
310 {"CadetBlue3" , PALETTERGB (122, 197, 205) }, 303 {"PaleTurquoise1" , PALETTERGB (187, 255, 255) },
311 {"CadetBlue4" , PALETTERGB (83, 134, 139) }, 304 {"PaleTurquoise2" , PALETTERGB (174, 238, 238) },
312 {"turquoise1" , PALETTERGB (0, 245, 255) }, 305 {"PaleTurquoise3" , PALETTERGB (150, 205, 205) },
313 {"turquoise2" , PALETTERGB (0, 229, 238) }, 306 {"PaleTurquoise4" , PALETTERGB (102, 139, 139) },
314 {"turquoise3" , PALETTERGB (0, 197, 205) }, 307 {"CadetBlue1" , PALETTERGB (152, 245, 255) },
315 {"turquoise4" , PALETTERGB (0, 134, 139) }, 308 {"CadetBlue2" , PALETTERGB (144, 220, 240) }, /* Adjusted */
316 {"cyan1" , PALETTERGB (0, 255, 255) }, 309 {"CadetBlue3" , PALETTERGB (122, 197, 205) },
317 {"cyan2" , PALETTERGB (0, 238, 238) }, 310 {"CadetBlue4" , PALETTERGB (83, 134, 139) },
318 {"cyan3" , PALETTERGB (0, 205, 205) }, 311 {"turquoise1" , PALETTERGB (0, 245, 255) },
319 {"cyan4" , PALETTERGB (0, 139, 139) }, 312 {"turquoise2" , PALETTERGB (0, 229, 238) },
320 {"DarkSlateGray1" , PALETTERGB (151, 255, 255) }, 313 {"turquoise3" , PALETTERGB (0, 197, 205) },
321 {"DarkSlateGray2" , PALETTERGB (141, 238, 238) }, 314 {"turquoise4" , PALETTERGB (0, 134, 139) },
322 {"DarkSlateGray3" , PALETTERGB (121, 205, 205) }, 315 {"cyan1" , PALETTERGB (0, 255, 255) },
323 {"DarkSlateGray4" , PALETTERGB (82, 139, 139) }, 316 {"cyan2" , PALETTERGB (0, 238, 238) },
324 {"aquamarine1" , PALETTERGB (127, 255, 212) }, 317 {"cyan3" , PALETTERGB (0, 205, 205) },
325 {"aquamarine2" , PALETTERGB (118, 238, 198) }, 318 {"cyan4" , PALETTERGB (0, 139, 139) },
326 {"aquamarine3" , PALETTERGB (102, 205, 170) }, 319 {"DarkSlateGray1" , PALETTERGB (151, 255, 255) },
327 {"aquamarine4" , PALETTERGB (69, 139, 116) }, 320 {"DarkSlateGray2" , PALETTERGB (141, 238, 238) },
328 {"DarkSeaGreen1" , PALETTERGB (193, 255, 193) }, 321 {"DarkSlateGray3" , PALETTERGB (121, 205, 205) },
329 {"DarkSeaGreen2" , PALETTERGB (180, 238, 180) }, 322 {"DarkSlateGray4" , PALETTERGB (82, 139, 139) },
330 {"DarkSeaGreen3" , PALETTERGB (155, 205, 155) }, 323 {"aquamarine1" , PALETTERGB (127, 255, 212) },
331 {"DarkSeaGreen4" , PALETTERGB (105, 139, 105) }, 324 {"aquamarine2" , PALETTERGB (118, 238, 198) },
332 {"SeaGreen1" , PALETTERGB (84, 255, 159) }, 325 {"aquamarine3" , PALETTERGB (102, 205, 170) },
333 {"SeaGreen2" , PALETTERGB (78, 238, 148) }, 326 {"aquamarine4" , PALETTERGB (69, 139, 116) },
334 {"SeaGreen3" , PALETTERGB (67, 205, 128) }, 327 {"DarkSeaGreen1" , PALETTERGB (193, 255, 193) },
335 {"SeaGreen4" , PALETTERGB (46, 139, 87) }, 328 {"DarkSeaGreen2" , PALETTERGB (180, 238, 180) },
336 {"PaleGreen1" , PALETTERGB (154, 255, 154) }, 329 {"DarkSeaGreen3" , PALETTERGB (155, 205, 155) },
337 {"PaleGreen2" , PALETTERGB (144, 238, 144) }, 330 {"DarkSeaGreen4" , PALETTERGB (105, 139, 105) },
338 {"PaleGreen3" , PALETTERGB (124, 205, 124) }, 331 {"SeaGreen1" , PALETTERGB (84, 255, 159) },
339 {"PaleGreen4" , PALETTERGB (84, 139, 84) }, 332 {"SeaGreen2" , PALETTERGB (78, 238, 148) },
340 {"SpringGreen1" , PALETTERGB (0, 255, 127) }, 333 {"SeaGreen3" , PALETTERGB (67, 205, 128) },
341 {"SpringGreen2" , PALETTERGB (0, 238, 118) }, 334 {"SeaGreen4" , PALETTERGB (46, 139, 87) },
342 {"SpringGreen3" , PALETTERGB (0, 205, 102) }, 335 {"PaleGreen1" , PALETTERGB (154, 255, 154) },
343 {"SpringGreen4" , PALETTERGB (0, 139, 69) }, 336 {"PaleGreen2" , PALETTERGB (144, 238, 144) },
344 {"green1" , PALETTERGB (0, 255, 0) }, 337 {"PaleGreen3" , PALETTERGB (124, 205, 124) },
345 {"green2" , PALETTERGB (0, 238, 0) }, 338 {"PaleGreen4" , PALETTERGB (84, 139, 84) },
346 {"green3" , PALETTERGB (0, 205, 0) }, 339 {"SpringGreen1" , PALETTERGB (0, 255, 127) },
347 {"green4" , PALETTERGB (0, 139, 0) }, 340 {"SpringGreen2" , PALETTERGB (0, 238, 118) },
348 {"chartreuse1" , PALETTERGB (127, 255, 0) }, 341 {"SpringGreen3" , PALETTERGB (0, 205, 102) },
349 {"chartreuse2" , PALETTERGB (118, 238, 0) }, 342 {"SpringGreen4" , PALETTERGB (0, 139, 69) },
350 {"chartreuse3" , PALETTERGB (102, 205, 0) }, 343 {"green1" , PALETTERGB (0, 255, 0) },
351 {"chartreuse4" , PALETTERGB (69, 139, 0) }, 344 {"green2" , PALETTERGB (0, 238, 0) },
352 {"OliveDrab1" , PALETTERGB (192, 255, 62) }, 345 {"green3" , PALETTERGB (0, 205, 0) },
353 {"OliveDrab2" , PALETTERGB (179, 238, 58) }, 346 {"green4" , PALETTERGB (0, 139, 0) },
354 {"OliveDrab3" , PALETTERGB (154, 205, 50) }, 347 {"chartreuse1" , PALETTERGB (127, 255, 0) },
355 {"OliveDrab4" , PALETTERGB (105, 139, 34) }, 348 {"chartreuse2" , PALETTERGB (118, 238, 0) },
356 {"DarkOliveGreen1" , PALETTERGB (202, 255, 112) }, 349 {"chartreuse3" , PALETTERGB (102, 205, 0) },
357 {"DarkOliveGreen2" , PALETTERGB (188, 238, 104) }, 350 {"chartreuse4" , PALETTERGB (69, 139, 0) },
358 {"DarkOliveGreen3" , PALETTERGB (162, 205, 90) }, 351 {"OliveDrab1" , PALETTERGB (192, 255, 62) },
359 {"DarkOliveGreen4" , PALETTERGB (110, 139, 61) }, 352 {"OliveDrab2" , PALETTERGB (179, 238, 58) },
360 {"khaki1" , PALETTERGB (255, 246, 143) }, 353 {"OliveDrab3" , PALETTERGB (154, 205, 50) },
361 {"khaki2" , PALETTERGB (238, 230, 133) }, 354 {"OliveDrab4" , PALETTERGB (105, 139, 34) },
362 {"khaki3" , PALETTERGB (205, 198, 115) }, 355 {"DarkOliveGreen1" , PALETTERGB (202, 255, 112) },
363 {"khaki4" , PALETTERGB (139, 134, 78) }, 356 {"DarkOliveGreen2" , PALETTERGB (188, 238, 104) },
364 {"LightGoldenrod1" , PALETTERGB (255, 236, 139) }, 357 {"DarkOliveGreen3" , PALETTERGB (162, 205, 90) },
365 {"LightGoldenrod2" , PALETTERGB (238, 220, 130) }, 358 {"DarkOliveGreen4" , PALETTERGB (110, 139, 61) },
366 {"LightGoldenrod3" , PALETTERGB (205, 190, 112) }, 359 {"khaki1" , PALETTERGB (255, 246, 143) },
367 {"LightGoldenrod4" , PALETTERGB (139, 129, 76) }, 360 {"khaki2" , PALETTERGB (238, 230, 133) },
368 {"LightYellow1" , PALETTERGB (255, 255, 224) }, 361 {"khaki3" , PALETTERGB (205, 198, 115) },
369 {"LightYellow2" , PALETTERGB (238, 238, 209) }, 362 {"khaki4" , PALETTERGB (139, 134, 78) },
370 {"LightYellow3" , PALETTERGB (205, 205, 180) }, 363 {"LightGoldenrod1" , PALETTERGB (255, 236, 139) },
371 {"LightYellow4" , PALETTERGB (139, 139, 122) }, 364 {"LightGoldenrod2" , PALETTERGB (238, 220, 130) },
372 {"yellow1" , PALETTERGB (255, 255, 0) }, 365 {"LightGoldenrod3" , PALETTERGB (205, 190, 112) },
373 {"yellow2" , PALETTERGB (238, 238, 0) }, 366 {"LightGoldenrod4" , PALETTERGB (139, 129, 76) },
374 {"yellow3" , PALETTERGB (205, 205, 0) }, 367 {"LightYellow1" , PALETTERGB (255, 255, 224) },
375 {"yellow4" , PALETTERGB (139, 139, 0) }, 368 {"LightYellow2" , PALETTERGB (238, 238, 209) },
376 {"gold1" , PALETTERGB (255, 215, 0) }, 369 {"LightYellow3" , PALETTERGB (205, 205, 180) },
377 {"gold2" , PALETTERGB (238, 201, 0) }, 370 {"LightYellow4" , PALETTERGB (139, 139, 122) },
378 {"gold3" , PALETTERGB (205, 173, 0) }, 371 {"yellow1" , PALETTERGB (255, 255, 0) },
379 {"gold4" , PALETTERGB (139, 117, 0) }, 372 {"yellow2" , PALETTERGB (238, 238, 0) },
380 {"goldenrod1" , PALETTERGB (255, 193, 37) }, 373 {"yellow3" , PALETTERGB (205, 205, 0) },
381 {"goldenrod2" , PALETTERGB (238, 180, 34) }, 374 {"yellow4" , PALETTERGB (139, 139, 0) },
382 {"goldenrod3" , PALETTERGB (205, 155, 29) }, 375 {"gold1" , PALETTERGB (255, 215, 0) },
383 {"goldenrod4" , PALETTERGB (139, 105, 20) }, 376 {"gold2" , PALETTERGB (238, 201, 0) },
384 {"DarkGoldenrod1" , PALETTERGB (255, 185, 15) }, 377 {"gold3" , PALETTERGB (205, 173, 0) },
385 {"DarkGoldenrod2" , PALETTERGB (238, 173, 14) }, 378 {"gold4" , PALETTERGB (139, 117, 0) },
386 {"DarkGoldenrod3" , PALETTERGB (205, 149, 12) }, 379 {"goldenrod1" , PALETTERGB (255, 193, 37) },
387 {"DarkGoldenrod4" , PALETTERGB (139, 101, 8) }, 380 {"goldenrod2" , PALETTERGB (238, 180, 34) },
388 {"RosyBrown1" , PALETTERGB (255, 193, 193) }, 381 {"goldenrod3" , PALETTERGB (205, 155, 29) },
389 {"RosyBrown2" , PALETTERGB (238, 180, 180) }, 382 {"goldenrod4" , PALETTERGB (139, 105, 20) },
390 {"RosyBrown3" , PALETTERGB (205, 155, 155) }, 383 {"DarkGoldenrod1" , PALETTERGB (255, 185, 15) },
391 {"RosyBrown4" , PALETTERGB (139, 105, 105) }, 384 {"DarkGoldenrod2" , PALETTERGB (238, 173, 14) },
392 {"IndianRed1" , PALETTERGB (255, 106, 106) }, 385 {"DarkGoldenrod3" , PALETTERGB (205, 149, 12) },
393 {"IndianRed2" , PALETTERGB (238, 99, 99) }, 386 {"DarkGoldenrod4" , PALETTERGB (139, 101, 8) },
394 {"IndianRed3" , PALETTERGB (205, 85, 85) }, 387 {"RosyBrown1" , PALETTERGB (255, 193, 193) },
395 {"IndianRed4" , PALETTERGB (139, 58, 58) }, 388 {"RosyBrown2" , PALETTERGB (238, 180, 180) },
396 {"sienna1" , PALETTERGB (255, 130, 71) }, 389 {"RosyBrown3" , PALETTERGB (205, 155, 155) },
397 {"sienna2" , PALETTERGB (238, 121, 66) }, 390 {"RosyBrown4" , PALETTERGB (139, 105, 105) },
398 {"sienna3" , PALETTERGB (205, 104, 57) }, 391 {"IndianRed1" , PALETTERGB (255, 106, 106) },
399 {"sienna4" , PALETTERGB (139, 71, 38) }, 392 {"IndianRed2" , PALETTERGB (238, 99, 99) },
400 {"burlywood1" , PALETTERGB (255, 211, 155) }, 393 {"IndianRed3" , PALETTERGB (205, 85, 85) },
401 {"burlywood2" , PALETTERGB (238, 197, 145) }, 394 {"IndianRed4" , PALETTERGB (139, 58, 58) },
402 {"burlywood3" , PALETTERGB (205, 170, 125) }, 395 {"sienna1" , PALETTERGB (255, 130, 71) },
403 {"burlywood4" , PALETTERGB (139, 115, 85) }, 396 {"sienna2" , PALETTERGB (238, 121, 66) },
404 {"wheat1" , PALETTERGB (255, 231, 186) }, 397 {"sienna3" , PALETTERGB (205, 104, 57) },
405 {"wheat2" , PALETTERGB (238, 216, 174) }, 398 {"sienna4" , PALETTERGB (139, 71, 38) },
406 {"wheat3" , PALETTERGB (205, 186, 150) }, 399 {"burlywood1" , PALETTERGB (255, 211, 155) },
407 {"wheat4" , PALETTERGB (139, 126, 102) }, 400 {"burlywood2" , PALETTERGB (238, 197, 145) },
408 {"tan1" , PALETTERGB (255, 165, 79) }, 401 {"burlywood3" , PALETTERGB (205, 170, 125) },
409 {"tan2" , PALETTERGB (238, 154, 73) }, 402 {"burlywood4" , PALETTERGB (139, 115, 85) },
410 {"tan3" , PALETTERGB (205, 133, 63) }, 403 {"wheat1" , PALETTERGB (255, 231, 186) },
411 {"tan4" , PALETTERGB (139, 90, 43) }, 404 {"wheat2" , PALETTERGB (238, 216, 174) },
412 {"chocolate1" , PALETTERGB (255, 127, 36) }, 405 {"wheat3" , PALETTERGB (205, 186, 150) },
413 {"chocolate2" , PALETTERGB (238, 118, 33) }, 406 {"wheat4" , PALETTERGB (139, 126, 102) },
414 {"chocolate3" , PALETTERGB (205, 102, 29) }, 407 {"tan1" , PALETTERGB (255, 165, 79) },
415 {"chocolate4" , PALETTERGB (139, 69, 19) }, 408 {"tan2" , PALETTERGB (238, 154, 73) },
416 {"firebrick1" , PALETTERGB (255, 48, 48) }, 409 {"tan3" , PALETTERGB (205, 133, 63) },
417 {"firebrick2" , PALETTERGB (238, 44, 44) }, 410 {"tan4" , PALETTERGB (139, 90, 43) },
418 {"firebrick3" , PALETTERGB (205, 38, 38) }, 411 {"chocolate1" , PALETTERGB (255, 127, 36) },
419 {"firebrick4" , PALETTERGB (139, 26, 26) }, 412 {"chocolate2" , PALETTERGB (238, 118, 33) },
420 {"brown1" , PALETTERGB (255, 64, 64) }, 413 {"chocolate3" , PALETTERGB (205, 102, 29) },
421 {"brown2" , PALETTERGB (238, 59, 59) }, 414 {"chocolate4" , PALETTERGB (139, 69, 19) },
422 {"brown3" , PALETTERGB (205, 51, 51) }, 415 {"firebrick1" , PALETTERGB (255, 48, 48) },
423 {"brown4" , PALETTERGB (139, 35, 35) }, 416 {"firebrick2" , PALETTERGB (238, 44, 44) },
424 {"salmon1" , PALETTERGB (255, 140, 105) }, 417 {"firebrick3" , PALETTERGB (205, 38, 38) },
425 {"salmon2" , PALETTERGB (238, 130, 98) }, 418 {"firebrick4" , PALETTERGB (139, 26, 26) },
426 {"salmon3" , PALETTERGB (205, 112, 84) }, 419 {"brown1" , PALETTERGB (255, 64, 64) },
427 {"salmon4" , PALETTERGB (139, 76, 57) }, 420 {"brown2" , PALETTERGB (238, 59, 59) },
428 {"LightSalmon1" , PALETTERGB (255, 160, 122) }, 421 {"brown3" , PALETTERGB (205, 51, 51) },
429 {"LightSalmon2" , PALETTERGB (238, 149, 114) }, 422 {"brown4" , PALETTERGB (139, 35, 35) },
430 {"LightSalmon3" , PALETTERGB (205, 129, 98) }, 423 {"salmon1" , PALETTERGB (255, 140, 105) },
431 {"LightSalmon4" , PALETTERGB (139, 87, 66) }, 424 {"salmon2" , PALETTERGB (238, 130, 98) },
432 {"orange1" , PALETTERGB (255, 165, 0) }, 425 {"salmon3" , PALETTERGB (205, 112, 84) },
433 {"orange2" , PALETTERGB (238, 154, 0) }, 426 {"salmon4" , PALETTERGB (139, 76, 57) },
434 {"orange3" , PALETTERGB (205, 133, 0) }, 427 {"LightSalmon1" , PALETTERGB (255, 160, 122) },
435 {"orange4" , PALETTERGB (139, 90, 0) }, 428 {"LightSalmon2" , PALETTERGB (238, 149, 114) },
436 {"DarkOrange1" , PALETTERGB (255, 127, 0) }, 429 {"LightSalmon3" , PALETTERGB (205, 129, 98) },
437 {"DarkOrange2" , PALETTERGB (238, 118, 0) }, 430 {"LightSalmon4" , PALETTERGB (139, 87, 66) },
438 {"DarkOrange3" , PALETTERGB (205, 102, 0) }, 431 {"orange1" , PALETTERGB (255, 165, 0) },
439 {"DarkOrange4" , PALETTERGB (139, 69, 0) }, 432 {"orange2" , PALETTERGB (238, 154, 0) },
440 {"coral1" , PALETTERGB (255, 114, 86) }, 433 {"orange3" , PALETTERGB (205, 133, 0) },
441 {"coral2" , PALETTERGB (238, 106, 80) }, 434 {"orange4" , PALETTERGB (139, 90, 0) },
442 {"coral3" , PALETTERGB (205, 91, 69) }, 435 {"DarkOrange1" , PALETTERGB (255, 127, 0) },
443 {"coral4" , PALETTERGB (139, 62, 47) }, 436 {"DarkOrange2" , PALETTERGB (238, 118, 0) },
444 {"tomato1" , PALETTERGB (255, 99, 71) }, 437 {"DarkOrange3" , PALETTERGB (205, 102, 0) },
445 {"tomato2" , PALETTERGB (238, 92, 66) }, 438 {"DarkOrange4" , PALETTERGB (139, 69, 0) },
446 {"tomato3" , PALETTERGB (205, 79, 57) }, 439 {"coral1" , PALETTERGB (255, 114, 86) },
447 {"tomato4" , PALETTERGB (139, 54, 38) }, 440 {"coral2" , PALETTERGB (238, 106, 80) },
448 {"OrangeRed1" , PALETTERGB (255, 69, 0) }, 441 {"coral3" , PALETTERGB (205, 91, 69) },
449 {"OrangeRed2" , PALETTERGB (238, 64, 0) }, 442 {"coral4" , PALETTERGB (139, 62, 47) },
450 {"OrangeRed3" , PALETTERGB (205, 55, 0) }, 443 {"tomato1" , PALETTERGB (255, 99, 71) },
451 {"OrangeRed4" , PALETTERGB (139, 37, 0) }, 444 {"tomato2" , PALETTERGB (238, 92, 66) },
452 {"red1" , PALETTERGB (255, 0, 0) }, 445 {"tomato3" , PALETTERGB (205, 79, 57) },
453 {"red2" , PALETTERGB (238, 0, 0) }, 446 {"tomato4" , PALETTERGB (139, 54, 38) },
454 {"red3" , PALETTERGB (205, 0, 0) }, 447 {"OrangeRed1" , PALETTERGB (255, 69, 0) },
455 {"red4" , PALETTERGB (139, 0, 0) }, 448 {"OrangeRed2" , PALETTERGB (238, 64, 0) },
456 {"DeepPink1" , PALETTERGB (255, 20, 147) }, 449 {"OrangeRed3" , PALETTERGB (205, 55, 0) },
457 {"DeepPink2" , PALETTERGB (238, 18, 137) }, 450 {"OrangeRed4" , PALETTERGB (139, 37, 0) },
458 {"DeepPink3" , PALETTERGB (205, 16, 118) }, 451 {"red1" , PALETTERGB (255, 0, 0) },
459 {"DeepPink4" , PALETTERGB (139, 10, 80) }, 452 {"red2" , PALETTERGB (238, 0, 0) },
460 {"HotPink1" , PALETTERGB (255, 110, 180) }, 453 {"red3" , PALETTERGB (205, 0, 0) },
461 {"HotPink2" , PALETTERGB (238, 106, 167) }, 454 {"red4" , PALETTERGB (139, 0, 0) },
462 {"HotPink3" , PALETTERGB (205, 96, 144) }, 455 {"DeepPink1" , PALETTERGB (255, 20, 147) },
463 {"HotPink4" , PALETTERGB (139, 58, 98) }, 456 {"DeepPink2" , PALETTERGB (238, 18, 137) },
464 {"pink1" , PALETTERGB (255, 181, 197) }, 457 {"DeepPink3" , PALETTERGB (205, 16, 118) },
465 {"pink2" , PALETTERGB (238, 169, 184) }, 458 {"DeepPink4" , PALETTERGB (139, 10, 80) },
466 {"pink3" , PALETTERGB (205, 145, 158) }, 459 {"HotPink1" , PALETTERGB (255, 110, 180) },
467 {"pink4" , PALETTERGB (139, 99, 108) }, 460 {"HotPink2" , PALETTERGB (238, 106, 167) },
468 {"LightPink1" , PALETTERGB (255, 174, 185) }, 461 {"HotPink3" , PALETTERGB (205, 96, 144) },
469 {"LightPink2" , PALETTERGB (238, 162, 173) }, 462 {"HotPink4" , PALETTERGB (139, 58, 98) },
470 {"LightPink3" , PALETTERGB (205, 140, 149) }, 463 {"pink1" , PALETTERGB (255, 181, 197) },
471 {"LightPink4" , PALETTERGB (139, 95, 101) }, 464 {"pink2" , PALETTERGB (238, 169, 184) },
472 {"PaleVioletRed1" , PALETTERGB (255, 130, 171) }, 465 {"pink3" , PALETTERGB (205, 145, 158) },
473 {"PaleVioletRed2" , PALETTERGB (238, 121, 159) }, 466 {"pink4" , PALETTERGB (139, 99, 108) },
474 {"PaleVioletRed3" , PALETTERGB (205, 104, 137) }, 467 {"LightPink1" , PALETTERGB (255, 174, 185) },
475 {"PaleVioletRed4" , PALETTERGB (139, 71, 93) }, 468 {"LightPink2" , PALETTERGB (238, 162, 173) },
476 {"maroon1" , PALETTERGB (255, 52, 179) }, 469 {"LightPink3" , PALETTERGB (205, 140, 149) },
477 {"maroon2" , PALETTERGB (238, 48, 167) }, 470 {"LightPink4" , PALETTERGB (139, 95, 101) },
478 {"maroon3" , PALETTERGB (205, 41, 144) }, 471 {"PaleVioletRed1" , PALETTERGB (255, 130, 171) },
479 {"maroon4" , PALETTERGB (139, 28, 98) }, 472 {"PaleVioletRed2" , PALETTERGB (238, 121, 159) },
480 {"VioletRed1" , PALETTERGB (255, 62, 150) }, 473 {"PaleVioletRed3" , PALETTERGB (205, 104, 137) },
481 {"VioletRed2" , PALETTERGB (238, 58, 140) }, 474 {"PaleVioletRed4" , PALETTERGB (139, 71, 93) },
482 {"VioletRed3" , PALETTERGB (205, 50, 120) }, 475 {"maroon1" , PALETTERGB (255, 52, 179) },
483 {"VioletRed4" , PALETTERGB (139, 34, 82) }, 476 {"maroon2" , PALETTERGB (238, 48, 167) },
484 {"magenta1" , PALETTERGB (255, 0, 255) }, 477 {"maroon3" , PALETTERGB (205, 41, 144) },
485 {"magenta2" , PALETTERGB (238, 0, 238) }, 478 {"maroon4" , PALETTERGB (139, 28, 98) },
486 {"magenta3" , PALETTERGB (205, 0, 205) }, 479 {"VioletRed1" , PALETTERGB (255, 62, 150) },
487 {"magenta4" , PALETTERGB (139, 0, 139) }, 480 {"VioletRed2" , PALETTERGB (238, 58, 140) },
488 {"orchid1" , PALETTERGB (255, 131, 250) }, 481 {"VioletRed3" , PALETTERGB (205, 50, 120) },
489 {"orchid2" , PALETTERGB (238, 122, 233) }, 482 {"VioletRed4" , PALETTERGB (139, 34, 82) },
490 {"orchid3" , PALETTERGB (205, 105, 201) }, 483 {"magenta1" , PALETTERGB (255, 0, 255) },
491 {"orchid4" , PALETTERGB (139, 71, 137) }, 484 {"magenta2" , PALETTERGB (238, 0, 238) },
492 {"plum1" , PALETTERGB (255, 187, 255) }, 485 {"magenta3" , PALETTERGB (205, 0, 205) },
493 {"plum2" , PALETTERGB (238, 174, 238) }, 486 {"magenta4" , PALETTERGB (139, 0, 139) },
494 {"plum3" , PALETTERGB (205, 150, 205) }, 487 {"orchid1" , PALETTERGB (255, 131, 250) },
495 {"plum4" , PALETTERGB (139, 102, 139) }, 488 {"orchid2" , PALETTERGB (238, 122, 233) },
496 {"MediumOrchid1" , PALETTERGB (224, 102, 255) }, 489 {"orchid3" , PALETTERGB (205, 105, 201) },
497 {"MediumOrchid2" , PALETTERGB (209, 95, 238) }, 490 {"orchid4" , PALETTERGB (139, 71, 137) },
498 {"MediumOrchid3" , PALETTERGB (180, 82, 205) }, 491 {"plum1" , PALETTERGB (255, 187, 255) },
499 {"MediumOrchid4" , PALETTERGB (122, 55, 139) }, 492 {"plum2" , PALETTERGB (238, 174, 238) },
500 {"DarkOrchid1" , PALETTERGB (191, 62, 255) }, 493 {"plum3" , PALETTERGB (205, 150, 205) },
501 {"DarkOrchid2" , PALETTERGB (178, 58, 238) }, 494 {"plum4" , PALETTERGB (139, 102, 139) },
502 {"DarkOrchid3" , PALETTERGB (154, 50, 205) }, 495 {"MediumOrchid1" , PALETTERGB (224, 102, 255) },
503 {"DarkOrchid4" , PALETTERGB (104, 34, 139) }, 496 {"MediumOrchid2" , PALETTERGB (209, 95, 238) },
504 {"purple1" , PALETTERGB (155, 48, 255) }, 497 {"MediumOrchid3" , PALETTERGB (180, 82, 205) },
505 {"purple2" , PALETTERGB (145, 44, 238) }, 498 {"MediumOrchid4" , PALETTERGB (122, 55, 139) },
506 {"purple3" , PALETTERGB (125, 38, 205) }, 499 {"DarkOrchid1" , PALETTERGB (191, 62, 255) },
507 {"purple4" , PALETTERGB (85, 26, 139) }, 500 {"DarkOrchid2" , PALETTERGB (178, 58, 238) },
508 {"MediumPurple1" , PALETTERGB (171, 130, 255) }, 501 {"DarkOrchid3" , PALETTERGB (154, 50, 205) },
509 {"MediumPurple2" , PALETTERGB (159, 121, 238) }, 502 {"DarkOrchid4" , PALETTERGB (104, 34, 139) },
510 {"MediumPurple3" , PALETTERGB (137, 104, 205) }, 503 {"purple1" , PALETTERGB (155, 48, 255) },
511 {"MediumPurple4" , PALETTERGB (93, 71, 139) }, 504 {"purple2" , PALETTERGB (145, 44, 238) },
512 {"thistle1" , PALETTERGB (255, 225, 255) }, 505 {"purple3" , PALETTERGB (125, 38, 205) },
513 {"thistle2" , PALETTERGB (238, 210, 238) }, 506 {"purple4" , PALETTERGB (85, 26, 139) },
514 {"thistle3" , PALETTERGB (205, 181, 205) }, 507 {"MediumPurple1" , PALETTERGB (171, 130, 255) },
515 {"thistle4" , PALETTERGB (139, 123, 139) }, 508 {"MediumPurple2" , PALETTERGB (159, 121, 238) },
516 {"gray0" , PALETTERGB (0, 0, 0) }, 509 {"MediumPurple3" , PALETTERGB (137, 104, 205) },
517 {"grey0" , PALETTERGB (0, 0, 0) }, 510 {"MediumPurple4" , PALETTERGB (93, 71, 139) },
518 {"gray1" , PALETTERGB (3, 3, 3) }, 511 {"thistle1" , PALETTERGB (255, 225, 255) },
519 {"grey1" , PALETTERGB (3, 3, 3) }, 512 {"thistle2" , PALETTERGB (238, 210, 238) },
520 {"gray2" , PALETTERGB (5, 5, 5) }, 513 {"thistle3" , PALETTERGB (205, 181, 205) },
521 {"grey2" , PALETTERGB (5, 5, 5) }, 514 {"thistle4" , PALETTERGB (139, 123, 139) },
522 {"gray3" , PALETTERGB (8, 8, 8) }, 515 {"gray0" , PALETTERGB (0, 0, 0) },
523 {"grey3" , PALETTERGB (8, 8, 8) }, 516 {"grey0" , PALETTERGB (0, 0, 0) },
524 {"gray4" , PALETTERGB (10, 10, 10) }, 517 {"gray1" , PALETTERGB (3, 3, 3) },
525 {"grey4" , PALETTERGB (10, 10, 10) }, 518 {"grey1" , PALETTERGB (3, 3, 3) },
526 {"gray5" , PALETTERGB (13, 13, 13) }, 519 {"gray2" , PALETTERGB (5, 5, 5) },
527 {"grey5" , PALETTERGB (13, 13, 13) }, 520 {"grey2" , PALETTERGB (5, 5, 5) },
528 {"gray6" , PALETTERGB (15, 15, 15) }, 521 {"gray3" , PALETTERGB (8, 8, 8) },
529 {"grey6" , PALETTERGB (15, 15, 15) }, 522 {"grey3" , PALETTERGB (8, 8, 8) },
530 {"gray7" , PALETTERGB (18, 18, 18) }, 523 {"gray4" , PALETTERGB (10, 10, 10) },
531 {"grey7" , PALETTERGB (18, 18, 18) }, 524 {"grey4" , PALETTERGB (10, 10, 10) },
532 {"gray8" , PALETTERGB (20, 20, 20) }, 525 {"gray5" , PALETTERGB (13, 13, 13) },
533 {"grey8" , PALETTERGB (20, 20, 20) }, 526 {"grey5" , PALETTERGB (13, 13, 13) },
534 {"gray9" , PALETTERGB (23, 23, 23) }, 527 {"gray6" , PALETTERGB (15, 15, 15) },
535 {"grey9" , PALETTERGB (23, 23, 23) }, 528 {"grey6" , PALETTERGB (15, 15, 15) },
536 {"gray10" , PALETTERGB (26, 26, 26) }, 529 {"gray7" , PALETTERGB (18, 18, 18) },
537 {"grey10" , PALETTERGB (26, 26, 26) }, 530 {"grey7" , PALETTERGB (18, 18, 18) },
538 {"gray11" , PALETTERGB (28, 28, 28) }, 531 {"gray8" , PALETTERGB (20, 20, 20) },
539 {"grey11" , PALETTERGB (28, 28, 28) }, 532 {"grey8" , PALETTERGB (20, 20, 20) },
540 {"gray12" , PALETTERGB (31, 31, 31) }, 533 {"gray9" , PALETTERGB (23, 23, 23) },
541 {"grey12" , PALETTERGB (31, 31, 31) }, 534 {"grey9" , PALETTERGB (23, 23, 23) },
542 {"gray13" , PALETTERGB (33, 33, 33) }, 535 {"gray10" , PALETTERGB (26, 26, 26) },
543 {"grey13" , PALETTERGB (33, 33, 33) }, 536 {"grey10" , PALETTERGB (26, 26, 26) },
544 {"gray14" , PALETTERGB (36, 36, 36) }, 537 {"gray11" , PALETTERGB (28, 28, 28) },
545 {"grey14" , PALETTERGB (36, 36, 36) }, 538 {"grey11" , PALETTERGB (28, 28, 28) },
546 {"gray15" , PALETTERGB (38, 38, 38) }, 539 {"gray12" , PALETTERGB (31, 31, 31) },
547 {"grey15" , PALETTERGB (38, 38, 38) }, 540 {"grey12" , PALETTERGB (31, 31, 31) },
548 {"gray16" , PALETTERGB (41, 41, 41) }, 541 {"gray13" , PALETTERGB (33, 33, 33) },
549 {"grey16" , PALETTERGB (41, 41, 41) }, 542 {"grey13" , PALETTERGB (33, 33, 33) },
550 {"gray17" , PALETTERGB (43, 43, 43) }, 543 {"gray14" , PALETTERGB (36, 36, 36) },
551 {"grey17" , PALETTERGB (43, 43, 43) }, 544 {"grey14" , PALETTERGB (36, 36, 36) },
552 {"gray18" , PALETTERGB (46, 46, 46) }, 545 {"gray15" , PALETTERGB (38, 38, 38) },
553 {"grey18" , PALETTERGB (46, 46, 46) }, 546 {"grey15" , PALETTERGB (38, 38, 38) },
554 {"gray19" , PALETTERGB (48, 48, 48) }, 547 {"gray16" , PALETTERGB (41, 41, 41) },
555 {"grey19" , PALETTERGB (48, 48, 48) }, 548 {"grey16" , PALETTERGB (41, 41, 41) },
556 {"gray20" , PALETTERGB (51, 51, 51) }, 549 {"gray17" , PALETTERGB (43, 43, 43) },
557 {"grey20" , PALETTERGB (51, 51, 51) }, 550 {"grey17" , PALETTERGB (43, 43, 43) },
558 {"gray21" , PALETTERGB (54, 54, 54) }, 551 {"gray18" , PALETTERGB (46, 46, 46) },
559 {"grey21" , PALETTERGB (54, 54, 54) }, 552 {"grey18" , PALETTERGB (46, 46, 46) },
560 {"gray22" , PALETTERGB (56, 56, 56) }, 553 {"gray19" , PALETTERGB (48, 48, 48) },
561 {"grey22" , PALETTERGB (56, 56, 56) }, 554 {"grey19" , PALETTERGB (48, 48, 48) },
562 {"gray23" , PALETTERGB (59, 59, 59) }, 555 {"gray20" , PALETTERGB (51, 51, 51) },
563 {"grey23" , PALETTERGB (59, 59, 59) }, 556 {"grey20" , PALETTERGB (51, 51, 51) },
564 {"gray24" , PALETTERGB (61, 61, 61) }, 557 {"gray21" , PALETTERGB (54, 54, 54) },
565 {"grey24" , PALETTERGB (61, 61, 61) }, 558 {"grey21" , PALETTERGB (54, 54, 54) },
566 {"gray25" , PALETTERGB (64, 64, 64) }, 559 {"gray22" , PALETTERGB (56, 56, 56) },
567 {"grey25" , PALETTERGB (64, 64, 64) }, 560 {"grey22" , PALETTERGB (56, 56, 56) },
568 {"gray26" , PALETTERGB (66, 66, 66) }, 561 {"gray23" , PALETTERGB (59, 59, 59) },
569 {"grey26" , PALETTERGB (66, 66, 66) }, 562 {"grey23" , PALETTERGB (59, 59, 59) },
570 {"gray27" , PALETTERGB (69, 69, 69) }, 563 {"gray24" , PALETTERGB (61, 61, 61) },
571 {"grey27" , PALETTERGB (69, 69, 69) }, 564 {"grey24" , PALETTERGB (61, 61, 61) },
572 {"gray28" , PALETTERGB (71, 71, 71) }, 565 {"gray25" , PALETTERGB (64, 64, 64) },
573 {"grey28" , PALETTERGB (71, 71, 71) }, 566 {"grey25" , PALETTERGB (64, 64, 64) },
574 {"gray29" , PALETTERGB (74, 74, 74) }, 567 {"gray26" , PALETTERGB (66, 66, 66) },
575 {"grey29" , PALETTERGB (74, 74, 74) }, 568 {"grey26" , PALETTERGB (66, 66, 66) },
576 {"gray30" , PALETTERGB (77, 77, 77) }, 569 {"gray27" , PALETTERGB (69, 69, 69) },
577 {"grey30" , PALETTERGB (77, 77, 77) }, 570 {"grey27" , PALETTERGB (69, 69, 69) },
578 {"gray31" , PALETTERGB (79, 79, 79) }, 571 {"gray28" , PALETTERGB (71, 71, 71) },
579 {"grey31" , PALETTERGB (79, 79, 79) }, 572 {"grey28" , PALETTERGB (71, 71, 71) },
580 {"gray32" , PALETTERGB (82, 82, 82) }, 573 {"gray29" , PALETTERGB (74, 74, 74) },
581 {"grey32" , PALETTERGB (82, 82, 82) }, 574 {"grey29" , PALETTERGB (74, 74, 74) },
582 {"gray33" , PALETTERGB (84, 84, 84) }, 575 {"gray30" , PALETTERGB (77, 77, 77) },
583 {"grey33" , PALETTERGB (84, 84, 84) }, 576 {"grey30" , PALETTERGB (77, 77, 77) },
584 {"gray34" , PALETTERGB (87, 87, 87) }, 577 {"gray31" , PALETTERGB (79, 79, 79) },
585 {"grey34" , PALETTERGB (87, 87, 87) }, 578 {"grey31" , PALETTERGB (79, 79, 79) },
586 {"gray35" , PALETTERGB (89, 89, 89) }, 579 {"gray32" , PALETTERGB (82, 82, 82) },
587 {"grey35" , PALETTERGB (89, 89, 89) }, 580 {"grey32" , PALETTERGB (82, 82, 82) },
588 {"gray36" , PALETTERGB (92, 92, 92) }, 581 {"gray33" , PALETTERGB (84, 84, 84) },
589 {"grey36" , PALETTERGB (92, 92, 92) }, 582 {"grey33" , PALETTERGB (84, 84, 84) },
590 {"gray37" , PALETTERGB (94, 94, 94) }, 583 {"gray34" , PALETTERGB (87, 87, 87) },
591 {"grey37" , PALETTERGB (94, 94, 94) }, 584 {"grey34" , PALETTERGB (87, 87, 87) },
592 {"gray38" , PALETTERGB (97, 97, 97) }, 585 {"gray35" , PALETTERGB (89, 89, 89) },
593 {"grey38" , PALETTERGB (97, 97, 97) }, 586 {"grey35" , PALETTERGB (89, 89, 89) },
594 {"gray39" , PALETTERGB (99, 99, 99) }, 587 {"gray36" , PALETTERGB (92, 92, 92) },
595 {"grey39" , PALETTERGB (99, 99, 99) }, 588 {"grey36" , PALETTERGB (92, 92, 92) },
596 {"gray40" , PALETTERGB (102, 102, 102) }, 589 {"gray37" , PALETTERGB (94, 94, 94) },
597 {"grey40" , PALETTERGB (102, 102, 102) }, 590 {"grey37" , PALETTERGB (94, 94, 94) },
598 {"gray41" , PALETTERGB (105, 105, 105) }, 591 {"gray38" , PALETTERGB (97, 97, 97) },
599 {"grey41" , PALETTERGB (105, 105, 105) }, 592 {"grey38" , PALETTERGB (97, 97, 97) },
600 {"gray42" , PALETTERGB (107, 107, 107) }, 593 {"gray39" , PALETTERGB (99, 99, 99) },
601 {"grey42" , PALETTERGB (107, 107, 107) }, 594 {"grey39" , PALETTERGB (99, 99, 99) },
602 {"gray43" , PALETTERGB (110, 110, 110) }, 595 {"gray40" , PALETTERGB (102, 102, 102) },
603 {"grey43" , PALETTERGB (110, 110, 110) }, 596 {"grey40" , PALETTERGB (102, 102, 102) },
604 {"gray44" , PALETTERGB (112, 112, 112) }, 597 {"gray41" , PALETTERGB (105, 105, 105) },
605 {"grey44" , PALETTERGB (112, 112, 112) }, 598 {"grey41" , PALETTERGB (105, 105, 105) },
606 {"gray45" , PALETTERGB (115, 115, 115) }, 599 {"gray42" , PALETTERGB (107, 107, 107) },
607 {"grey45" , PALETTERGB (115, 115, 115) }, 600 {"grey42" , PALETTERGB (107, 107, 107) },
608 {"gray46" , PALETTERGB (117, 117, 117) }, 601 {"gray43" , PALETTERGB (110, 110, 110) },
609 {"grey46" , PALETTERGB (117, 117, 117) }, 602 {"grey43" , PALETTERGB (110, 110, 110) },
610 {"gray47" , PALETTERGB (120, 120, 120) }, 603 {"gray44" , PALETTERGB (112, 112, 112) },
611 {"grey47" , PALETTERGB (120, 120, 120) }, 604 {"grey44" , PALETTERGB (112, 112, 112) },
612 {"gray48" , PALETTERGB (122, 122, 122) }, 605 {"gray45" , PALETTERGB (115, 115, 115) },
613 {"grey48" , PALETTERGB (122, 122, 122) }, 606 {"grey45" , PALETTERGB (115, 115, 115) },
614 {"gray49" , PALETTERGB (125, 125, 125) }, 607 {"gray46" , PALETTERGB (117, 117, 117) },
615 {"grey49" , PALETTERGB (125, 125, 125) }, 608 {"grey46" , PALETTERGB (117, 117, 117) },
616 {"gray50" , PALETTERGB (127, 127, 127) }, 609 {"gray47" , PALETTERGB (120, 120, 120) },
617 {"grey50" , PALETTERGB (127, 127, 127) }, 610 {"grey47" , PALETTERGB (120, 120, 120) },
618 {"gray51" , PALETTERGB (130, 130, 130) }, 611 {"gray48" , PALETTERGB (122, 122, 122) },
619 {"grey51" , PALETTERGB (130, 130, 130) }, 612 {"grey48" , PALETTERGB (122, 122, 122) },
620 {"gray52" , PALETTERGB (133, 133, 133) }, 613 {"gray49" , PALETTERGB (125, 125, 125) },
621 {"grey52" , PALETTERGB (133, 133, 133) }, 614 {"grey49" , PALETTERGB (125, 125, 125) },
622 {"gray53" , PALETTERGB (135, 135, 135) }, 615 {"gray50" , PALETTERGB (128, 128, 128) }, /* Adjusted */
623 {"grey53" , PALETTERGB (135, 135, 135) }, 616 {"grey50" , PALETTERGB (128, 128, 128) }, /* Adjusted */
624 {"gray54" , PALETTERGB (138, 138, 138) }, 617 {"gray51" , PALETTERGB (130, 130, 130) },
625 {"grey54" , PALETTERGB (138, 138, 138) }, 618 {"grey51" , PALETTERGB (130, 130, 130) },
626 {"gray55" , PALETTERGB (140, 140, 140) }, 619 {"gray52" , PALETTERGB (133, 133, 133) },
627 {"grey55" , PALETTERGB (140, 140, 140) }, 620 {"grey52" , PALETTERGB (133, 133, 133) },
628 {"gray56" , PALETTERGB (143, 143, 143) }, 621 {"gray53" , PALETTERGB (135, 135, 135) },
629 {"grey56" , PALETTERGB (143, 143, 143) }, 622 {"grey53" , PALETTERGB (135, 135, 135) },
630 {"gray57" , PALETTERGB (145, 145, 145) }, 623 {"gray54" , PALETTERGB (138, 138, 138) },
631 {"grey57" , PALETTERGB (145, 145, 145) }, 624 {"grey54" , PALETTERGB (138, 138, 138) },
632 {"gray58" , PALETTERGB (148, 148, 148) }, 625 {"gray55" , PALETTERGB (140, 140, 140) },
633 {"grey58" , PALETTERGB (148, 148, 148) }, 626 {"grey55" , PALETTERGB (140, 140, 140) },
634 {"gray59" , PALETTERGB (150, 150, 150) }, 627 {"gray56" , PALETTERGB (143, 143, 143) },
635 {"grey59" , PALETTERGB (150, 150, 150) }, 628 {"grey56" , PALETTERGB (143, 143, 143) },
636 {"gray60" , PALETTERGB (153, 153, 153) }, 629 {"gray57" , PALETTERGB (145, 145, 145) },
637 {"grey60" , PALETTERGB (153, 153, 153) }, 630 {"grey57" , PALETTERGB (145, 145, 145) },
638 {"gray61" , PALETTERGB (156, 156, 156) }, 631 {"gray58" , PALETTERGB (148, 148, 148) },
639 {"grey61" , PALETTERGB (156, 156, 156) }, 632 {"grey58" , PALETTERGB (148, 148, 148) },
640 {"gray62" , PALETTERGB (158, 158, 158) }, 633 {"gray59" , PALETTERGB (150, 150, 150) },
641 {"grey62" , PALETTERGB (158, 158, 158) }, 634 {"grey59" , PALETTERGB (150, 150, 150) },
642 {"gray63" , PALETTERGB (161, 161, 161) }, 635 {"gray60" , PALETTERGB (153, 153, 153) },
643 {"grey63" , PALETTERGB (161, 161, 161) }, 636 {"grey60" , PALETTERGB (153, 153, 153) },
644 {"gray64" , PALETTERGB (163, 163, 163) }, 637 {"gray61" , PALETTERGB (156, 156, 156) },
645 {"grey64" , PALETTERGB (163, 163, 163) }, 638 {"grey61" , PALETTERGB (156, 156, 156) },
646 {"gray65" , PALETTERGB (166, 166, 166) }, 639 {"gray62" , PALETTERGB (158, 158, 158) },
647 {"grey65" , PALETTERGB (166, 166, 166) }, 640 {"grey62" , PALETTERGB (158, 158, 158) },
648 {"gray66" , PALETTERGB (168, 168, 168) }, 641 {"gray63" , PALETTERGB (161, 161, 161) },
649 {"grey66" , PALETTERGB (168, 168, 168) }, 642 {"grey63" , PALETTERGB (161, 161, 161) },
650 {"gray67" , PALETTERGB (171, 171, 171) }, 643 {"gray64" , PALETTERGB (163, 163, 163) },
651 {"grey67" , PALETTERGB (171, 171, 171) }, 644 {"grey64" , PALETTERGB (163, 163, 163) },
652 {"gray68" , PALETTERGB (173, 173, 173) }, 645 {"gray65" , PALETTERGB (166, 166, 166) },
653 {"grey68" , PALETTERGB (173, 173, 173) }, 646 {"grey65" , PALETTERGB (166, 166, 166) },
654 {"gray69" , PALETTERGB (176, 176, 176) }, 647 {"gray66" , PALETTERGB (168, 168, 168) },
655 {"grey69" , PALETTERGB (176, 176, 176) }, 648 {"grey66" , PALETTERGB (168, 168, 168) },
656 {"gray70" , PALETTERGB (179, 179, 179) }, 649 {"gray67" , PALETTERGB (171, 171, 171) },
657 {"grey70" , PALETTERGB (179, 179, 179) }, 650 {"grey67" , PALETTERGB (171, 171, 171) },
658 {"gray71" , PALETTERGB (181, 181, 181) }, 651 {"gray68" , PALETTERGB (173, 173, 173) },
659 {"grey71" , PALETTERGB (181, 181, 181) }, 652 {"grey68" , PALETTERGB (173, 173, 173) },
660 {"gray72" , PALETTERGB (184, 184, 184) }, 653 {"gray69" , PALETTERGB (176, 176, 176) },
661 {"grey72" , PALETTERGB (184, 184, 184) }, 654 {"grey69" , PALETTERGB (176, 176, 176) },
662 {"gray73" , PALETTERGB (186, 186, 186) }, 655 {"gray70" , PALETTERGB (179, 179, 179) },
663 {"grey73" , PALETTERGB (186, 186, 186) }, 656 {"grey70" , PALETTERGB (179, 179, 179) },
664 {"gray74" , PALETTERGB (189, 189, 189) }, 657 {"gray71" , PALETTERGB (181, 181, 181) },
665 {"grey74" , PALETTERGB (189, 189, 189) }, 658 {"grey71" , PALETTERGB (181, 181, 181) },
666 {"gray75" , PALETTERGB (191, 191, 191) }, 659 {"gray72" , PALETTERGB (184, 184, 184) },
667 {"grey75" , PALETTERGB (191, 191, 191) }, 660 {"grey72" , PALETTERGB (184, 184, 184) },
668 {"gray76" , PALETTERGB (194, 194, 194) }, 661 {"gray73" , PALETTERGB (186, 186, 186) },
669 {"grey76" , PALETTERGB (194, 194, 194) }, 662 {"grey73" , PALETTERGB (186, 186, 186) },
670 {"gray77" , PALETTERGB (196, 196, 196) }, 663 {"gray74" , PALETTERGB (189, 189, 189) },
671 {"grey77" , PALETTERGB (196, 196, 196) }, 664 {"grey74" , PALETTERGB (189, 189, 189) },
672 {"gray78" , PALETTERGB (199, 199, 199) }, 665 {"gray75" , PALETTERGB (192, 192, 192) }, /* Adjusted */
673 {"grey78" , PALETTERGB (199, 199, 199) }, 666 {"grey75" , PALETTERGB (192, 192, 192) }, /* Adjusted */
674 {"gray79" , PALETTERGB (201, 201, 201) }, 667 {"gray76" , PALETTERGB (194, 194, 194) },
675 {"grey79" , PALETTERGB (201, 201, 201) }, 668 {"grey76" , PALETTERGB (194, 194, 194) },
676 {"gray80" , PALETTERGB (204, 204, 204) }, 669 {"gray77" , PALETTERGB (196, 196, 196) },
677 {"grey80" , PALETTERGB (204, 204, 204) }, 670 {"grey77" , PALETTERGB (196, 196, 196) },
678 {"gray81" , PALETTERGB (207, 207, 207) }, 671 {"gray78" , PALETTERGB (199, 199, 199) },
679 {"grey81" , PALETTERGB (207, 207, 207) }, 672 {"grey78" , PALETTERGB (199, 199, 199) },
680 {"gray82" , PALETTERGB (209, 209, 209) }, 673 {"gray79" , PALETTERGB (201, 201, 201) },
681 {"grey82" , PALETTERGB (209, 209, 209) }, 674 {"grey79" , PALETTERGB (201, 201, 201) },
682 {"gray83" , PALETTERGB (212, 212, 212) }, 675 {"gray80" , PALETTERGB (204, 204, 204) },
683 {"grey83" , PALETTERGB (212, 212, 212) }, 676 {"grey80" , PALETTERGB (204, 204, 204) },
684 {"gray84" , PALETTERGB (214, 214, 214) }, 677 {"gray81" , PALETTERGB (207, 207, 207) },
685 {"grey84" , PALETTERGB (214, 214, 214) }, 678 {"grey81" , PALETTERGB (207, 207, 207) },
686 {"gray85" , PALETTERGB (217, 217, 217) }, 679 {"gray82" , PALETTERGB (209, 209, 209) },
687 {"grey85" , PALETTERGB (217, 217, 217) }, 680 {"grey82" , PALETTERGB (209, 209, 209) },
688 {"gray86" , PALETTERGB (219, 219, 219) }, 681 {"gray83" , PALETTERGB (212, 212, 212) },
689 {"grey86" , PALETTERGB (219, 219, 219) }, 682 {"grey83" , PALETTERGB (212, 212, 212) },
690 {"gray87" , PALETTERGB (222, 222, 222) }, 683 {"gray84" , PALETTERGB (214, 214, 214) },
691 {"grey87" , PALETTERGB (222, 222, 222) }, 684 {"grey84" , PALETTERGB (214, 214, 214) },
692 {"gray88" , PALETTERGB (224, 224, 224) }, 685 {"gray85" , PALETTERGB (217, 217, 217) },
693 {"grey88" , PALETTERGB (224, 224, 224) }, 686 {"grey85" , PALETTERGB (217, 217, 217) },
694 {"gray89" , PALETTERGB (227, 227, 227) }, 687 {"gray86" , PALETTERGB (219, 219, 219) },
695 {"grey89" , PALETTERGB (227, 227, 227) }, 688 {"grey86" , PALETTERGB (219, 219, 219) },
696 {"gray90" , PALETTERGB (229, 229, 229) }, 689 {"gray87" , PALETTERGB (222, 222, 222) },
697 {"grey90" , PALETTERGB (229, 229, 229) }, 690 {"grey87" , PALETTERGB (222, 222, 222) },
698 {"gray91" , PALETTERGB (232, 232, 232) }, 691 {"gray88" , PALETTERGB (224, 224, 224) },
699 {"grey91" , PALETTERGB (232, 232, 232) }, 692 {"grey88" , PALETTERGB (224, 224, 224) },
700 {"gray92" , PALETTERGB (235, 235, 235) }, 693 {"gray89" , PALETTERGB (227, 227, 227) },
701 {"grey92" , PALETTERGB (235, 235, 235) }, 694 {"grey89" , PALETTERGB (227, 227, 227) },
702 {"gray93" , PALETTERGB (237, 237, 237) }, 695 {"gray90" , PALETTERGB (229, 229, 229) },
703 {"grey93" , PALETTERGB (237, 237, 237) }, 696 {"grey90" , PALETTERGB (229, 229, 229) },
704 {"gray94" , PALETTERGB (240, 240, 240) }, 697 {"gray91" , PALETTERGB (232, 232, 232) },
705 {"grey94" , PALETTERGB (240, 240, 240) }, 698 {"grey91" , PALETTERGB (232, 232, 232) },
706 {"gray95" , PALETTERGB (242, 242, 242) }, 699 {"gray92" , PALETTERGB (235, 235, 235) },
707 {"grey95" , PALETTERGB (242, 242, 242) }, 700 {"grey92" , PALETTERGB (235, 235, 235) },
708 {"gray96" , PALETTERGB (245, 245, 245) }, 701 {"gray93" , PALETTERGB (237, 237, 237) },
709 {"grey96" , PALETTERGB (245, 245, 245) }, 702 {"grey93" , PALETTERGB (237, 237, 237) },
710 {"gray97" , PALETTERGB (247, 247, 247) }, 703 {"gray94" , PALETTERGB (240, 240, 240) },
711 {"grey97" , PALETTERGB (247, 247, 247) }, 704 {"grey94" , PALETTERGB (240, 240, 240) },
712 {"gray98" , PALETTERGB (250, 250, 250) }, 705 {"gray95" , PALETTERGB (242, 242, 242) },
713 {"grey98" , PALETTERGB (250, 250, 250) }, 706 {"grey95" , PALETTERGB (242, 242, 242) },
714 {"gray99" , PALETTERGB (252, 252, 252) }, 707 {"gray96" , PALETTERGB (245, 245, 245) },
715 {"grey99" , PALETTERGB (252, 252, 252) }, 708 {"grey96" , PALETTERGB (245, 245, 245) },
716 {"gray100" , PALETTERGB (255, 255, 255) }, 709 {"gray97" , PALETTERGB (247, 247, 247) },
717 {"grey100" , PALETTERGB (255, 255, 255) }, 710 {"grey97" , PALETTERGB (247, 247, 247) },
718 {"DarkGrey" , PALETTERGB (169, 169, 169) }, 711 {"gray98" , PALETTERGB (250, 250, 250) },
719 {"DarkGray" , PALETTERGB (169, 169, 169) }, 712 {"grey98" , PALETTERGB (250, 250, 250) },
720 {"DarkBlue" , PALETTERGB (0, 0, 139) }, 713 {"gray99" , PALETTERGB (252, 252, 252) },
721 {"DarkCyan" , PALETTERGB (0, 139, 139) }, 714 {"grey99" , PALETTERGB (252, 252, 252) },
722 {"DarkMagenta" , PALETTERGB (139, 0, 139) }, 715 {"gray100" , PALETTERGB (255, 255, 255) },
723 {"DarkRed" , PALETTERGB (139, 0, 0) }, 716 {"grey100" , PALETTERGB (255, 255, 255) },
724 {"LightGreen" , PALETTERGB (144, 238, 144) } 717 {"DarkGrey" , PALETTERGB (169, 169, 169) },
718 {"DarkGray" , PALETTERGB (169, 169, 169) },
719 {"DarkBlue" , PALETTERGB (0, 0, 128) }, /* Adjusted == Navy */
720 {"DarkCyan" , PALETTERGB (0, 128, 128) }, /* Adjusted */
721 {"DarkMagenta" , PALETTERGB (128, 0, 128) }, /* Adjusted */
722 {"DarkRed" , PALETTERGB (128, 0, 0) }, /* Adjusted */
723 {"LightGreen" , PALETTERGB (144, 238, 144) },
724 /* Added to match values in the default Windows palette: */
725 {"DarkYellow" , PALETTERGB (128, 128, 0) },
726 {"PaleYellow" , PALETTERGB (255, 255, 128) }
725 }; 727 };
726 728
727 729
728 typedef struct fontmap_t 730 typedef struct fontmap_t
729 { 731 {
730 CONST char *name; 732 const char *name;
731 CONST int value; 733 int value;
732 } fontmap_t; 734 } fontmap_t;
733 735
734 /* Default weight first, preferred names listed before synonyms */ 736 /* Default weight first, preferred names listed before synonyms */
735 static CONST fontmap_t fontweight_map[] = 737 static const fontmap_t fontweight_map[] =
736 { 738 {
737 {"Regular" , FW_REGULAR}, /* The standard font weight */ 739 {"Regular" , FW_REGULAR}, /* The standard font weight */
738 {"Thin" , FW_THIN}, 740 {"Thin" , FW_THIN},
739 {"Extra Light" , FW_EXTRALIGHT}, 741 {"Extra Light" , FW_EXTRALIGHT},
740 {"Ultra Light" , FW_ULTRALIGHT}, 742 {"Ultra Light" , FW_ULTRALIGHT},
748 {"Ultra Bold" , FW_ULTRABOLD}, 750 {"Ultra Bold" , FW_ULTRABOLD},
749 {"Heavy" , FW_HEAVY}, 751 {"Heavy" , FW_HEAVY},
750 {"Black" , FW_BLACK} 752 {"Black" , FW_BLACK}
751 }; 753 };
752 754
753 /* Default charset first, no synonyms allowed because these names are 755 /* Default charset first, no synonyms allowed because these names are
754 * matched against the names reported by win32 by match_font() */ 756 * matched against the names reported by win32 by match_font() */
755 static CONST fontmap_t charset_map[] = 757 static const fontmap_t charset_map[] =
756 { 758 {
757 {"Western" , ANSI_CHARSET}, 759 {"Western" , ANSI_CHARSET},
758 {"Symbol" , SYMBOL_CHARSET}, 760 {"Symbol" , SYMBOL_CHARSET},
759 {"Shift JIS" , SHIFTJIS_CHARSET}, /* #### Name to be verified */ 761 {"Shift JIS" , SHIFTJIS_CHARSET}, /* #### Name to be verified */
760 {"GB2312" , GB2312_CHARSET}, /* #### Name to be verified */ 762 {"GB2312" , GB2312_CHARSET}, /* #### Name to be verified */
780 /************************************************************************/ 782 /************************************************************************/
781 /* helpers */ 783 /* helpers */
782 /************************************************************************/ 784 /************************************************************************/
783 785
784 static int 786 static int
785 hexval (char c) 787 hexval (char c)
786 { 788 {
787 /* assumes ASCII and isxdigit(c) */ 789 /* assumes ASCII and isxdigit(c) */
788 if (c >= 'a') 790 if (c >= 'a')
789 return c-'a' + 10; 791 return c-'a' + 10;
790 else if (c >= 'A') 792 else if (c >= 'A')
792 else 794 else
793 return c-'0'; 795 return c-'0';
794 } 796 }
795 797
796 COLORREF 798 COLORREF
797 mswindows_string_to_color(CONST char *name) 799 mswindows_string_to_color(const char *name)
798 { 800 {
799 int i; 801 int i;
800 802
801 if (*name == '#') 803 if (*name == '#')
802 { 804 {
803 /* numeric names look like "#RRGGBB", "#RRRGGGBBB" or "#RRRRGGGGBBBB" 805 /* numeric names look like "#RRGGBB", "#RRRGGGBBB" or "#RRRRGGGGBBBB"
804 or "rgb:rrrr/gggg/bbbb" */ 806 or "rgb:rrrr/gggg/bbbb" */
805 unsigned int r, g, b; 807 unsigned int r, g, b;
806 808
807 for (i=1; i<strlen(name); i++) 809 for (i=1; i<strlen(name); i++)
808 { 810 {
809 if (!isxdigit ((int)name[i])) 811 if (!isxdigit ((int)name[i]))
810 return (COLORREF) -1; 812 return (COLORREF) -1;
811 } 813 }
850 g /= 17; 852 g /= 17;
851 b /= 17; 853 b /= 17;
852 } 854 }
853 return (PALETTERGB (r, g, b)); 855 return (PALETTERGB (r, g, b));
854 } 856 }
855 else 857 else
856 return (COLORREF) -1; 858 return (COLORREF) -1;
857 } 859 }
858 else if (*name) /* Can't be an empty string */ 860 else if (*name) /* Can't be an empty string */
859 { 861 {
860 char *nospaces = alloca (strlen (name)+1); 862 char *nospaces = (char*) alloca (strlen (name)+1);
861 char *c=nospaces; 863 char *c = nospaces;
862 while (*name) 864 while (*name)
863 if (*name != ' ') 865 if (*name != ' ')
864 *(c++) = *(name++); 866 *c++ = *name++;
865 else 867 else
866 name++; 868 name++;
867 *c = '\0'; 869 *c = '\0';
868 870
869 for (i=0; i< countof (mswindows_X_color_map); i++) 871 for (i = 0; i < countof (mswindows_X_color_map); i++)
870 if (!stricmp (nospaces, mswindows_X_color_map[i].name)) 872 if (!stricmp (nospaces, mswindows_X_color_map[i].name))
871 return (mswindows_X_color_map[i].colorref); 873 return (mswindows_X_color_map[i].colorref);
872 } 874 }
873 return (COLORREF) -1; 875 return (COLORREF) -1;
876 }
877
878 Lisp_Object
879 mswindows_color_to_string (COLORREF color)
880 {
881 int i;
882 char buf[8];
883 COLORREF pcolor = PALETTERGB (GetRValue (color), GetGValue (color),
884 GetBValue (color));
885
886 for (i=0; i < countof (mswindows_X_color_map); i++)
887 if (pcolor == (mswindows_X_color_map[i].colorref))
888 return build_string (mswindows_X_color_map[i].name);
889
890 sprintf (buf, "#%02X%02X%02X",
891 GetRValue (color), GetGValue (color), GetBValue (color));
892 return build_string (buf);
874 } 893 }
875 894
876 /* 895 /*
877 * Returns non-zero if the two supplied font patterns match. 896 * Returns non-zero if the two supplied font patterns match.
878 * If they match and fontname is not NULL, copies the logical OR of the 897 * If they match and fontname is not NULL, copies the logical OR of the
940 HDC hdc; 959 HDC hdc;
941 Lisp_Object list; 960 Lisp_Object list;
942 }; 961 };
943 962
944 static int CALLBACK 963 static int CALLBACK
945 font_enum_callback_2 (ENUMLOGFONTEX *lpelfe, NEWTEXTMETRICEX *lpntme, 964 old_font_enum_callback_2 (ENUMLOGFONT FAR *lpelfe, NEWTEXTMETRIC FAR *lpntme,
946 int FontType, struct font_enum_t *font_enum) 965 int FontType, struct font_enum_t *font_enum)
947 { 966 {
948 char fontname[MSW_FONTSIZE]; 967 char fontname[MSW_FONTSIZE];
949 Lisp_Object fontname_lispstr; 968 Lisp_Object fontname_lispstr;
950 int i; 969 int i;
951 970
952 /* 971 /*
953 * The enumerated font weights are not to be trusted because: 972 * The enumerated font weights are not to be trusted because:
954 * a) lpelfe->elfStyle is only filled in for TrueType fonts. 973 * a) lpelfe->elfStyle is only filled in for TrueType fonts.
955 * b) Not all Bold and Italic styles of all fonts (inluding some Vector, 974 * b) Not all Bold and Italic styles of all fonts (including some Vector,
975 * Truetype and Raster fonts) are enumerated.
976 * I guess that fonts for which Bold and Italic styles are generated
977 * 'on-the-fly' are not enumerated. It would be overly restrictive to
978 * disallow Bold And Italic weights for these fonts, so we just leave
979 * weights unspecified. This means that we have to weed out duplicates of
980 * those fonts that do get enumerated with different weights.
981 */
982 if (FontType == 0 /*vector*/ || FontType == TRUETYPE_FONTTYPE)
983 /* Scalable, so leave pointsize blank */
984 sprintf (fontname, "%s::::", lpelfe->elfLogFont.lfFaceName);
985 else
986 /* Formula for pointsize->height from LOGFONT docs in Platform SDK */
987 sprintf (fontname, "%s::%d::", lpelfe->elfLogFont.lfFaceName,
988 MulDiv (lpntme->tmHeight - lpntme->tmInternalLeading,
989 72, GetDeviceCaps (font_enum->hdc, LOGPIXELSY)));
990
991 /*
992 * The enumerated font character set strings are not to be trusted because
993 * lpelfe->elfScript is returned in the host language and not in English.
994 * We can't know a priori the translations of "Western", "Central European"
995 * etc into the host language, so we must use English. The same argument
996 * applies to the font weight string when matching fonts.
997 */
998 for (i=0; i<countof (charset_map); i++)
999 if (lpelfe->elfLogFont.lfCharSet == charset_map[i].value)
1000 {
1001 strcat (fontname, charset_map[i].name);
1002 break;
1003 }
1004 if (i==countof (charset_map))
1005 strcpy (fontname, charset_map[0].name);
1006
1007 /* Add the font name to the list if not already there */
1008 fontname_lispstr = build_string (fontname);
1009 if (NILP (memq_no_quit (fontname_lispstr, font_enum->list)))
1010 font_enum->list = Fcons (fontname_lispstr, font_enum->list);
1011
1012 return 1;
1013 }
1014
1015 static int CALLBACK
1016 old_font_enum_callback_1 (ENUMLOGFONT FAR *lpelfe, NEWTEXTMETRIC FAR *lpntme,
1017 int FontType, struct font_enum_t *font_enum)
1018 {
1019 /* This function gets called once per facename per character set.
1020 * We call a second callback to enumerate the fonts in each facename */
1021 return EnumFontFamilies (font_enum->hdc, lpelfe->elfLogFont.lfFaceName,
1022 (FONTENUMPROC) old_font_enum_callback_2,
1023 (LPARAM) font_enum);
1024 }
1025
1026 static int CALLBACK
1027 font_enum_callback_2 (ENUMLOGFONTEX *lpelfe, NEWTEXTMETRICEX *lpntme,
1028 int FontType, struct font_enum_t *font_enum)
1029 {
1030 char fontname[MSW_FONTSIZE];
1031 Lisp_Object fontname_lispstr;
1032 int i;
1033
1034 /*
1035 * The enumerated font weights are not to be trusted because:
1036 * a) lpelfe->elfStyle is only filled in for TrueType fonts.
1037 * b) Not all Bold and Italic styles of all fonts (including some Vector,
956 * Truetype and Raster fonts) are enumerated. 1038 * Truetype and Raster fonts) are enumerated.
957 * I guess that fonts for which Bold and Italic styles are generated 1039 * I guess that fonts for which Bold and Italic styles are generated
958 * 'on-the-fly' are not enumerated. It would be overly restrictive to 1040 * 'on-the-fly' are not enumerated. It would be overly restrictive to
959 * disallow Bold And Italic weights for these fonts, so we just leave 1041 * disallow Bold And Italic weights for these fonts, so we just leave
960 * weights unspecified. This means that we have to weed out duplicates of 1042 * weights unspecified. This means that we have to weed out duplicates of
992 1074
993 return 1; 1075 return 1;
994 } 1076 }
995 1077
996 static int CALLBACK 1078 static int CALLBACK
997 font_enum_callback_1 (ENUMLOGFONTEX *lpelfe, NEWTEXTMETRICEX *lpntme, 1079 font_enum_callback_1 (ENUMLOGFONTEX *lpelfe, NEWTEXTMETRICEX *lpntme,
998 int FontType, struct font_enum_t *font_enum) 1080 int FontType, struct font_enum_t *font_enum)
999 { 1081 {
1000 /* This function gets called once per facename per character set. 1082 /* This function gets called once per facename per character set.
1001 * We call a second callback to enumerate the fonts in each facename */ 1083 * We call a second callback to enumerate the fonts in each facename */
1002 return EnumFontFamiliesEx (font_enum->hdc, &lpelfe->elfLogFont, 1084 return xEnumFontFamiliesExA (font_enum->hdc, &lpelfe->elfLogFont,
1003 (FONTENUMPROC) font_enum_callback_2, 1085 (FONTENUMPROC) font_enum_callback_2,
1004 (LPARAM) font_enum, 0); 1086 (LPARAM) font_enum, 0);
1005 } 1087 }
1006 1088
1007 /* 1089 /*
1008 * Enumerate the available on the HDC fonts and return a list of string 1090 * Enumerate the available on the HDC fonts and return a list of string
1009 * font names. 1091 * font names.
1019 logfont.lfCharSet = DEFAULT_CHARSET; 1101 logfont.lfCharSet = DEFAULT_CHARSET;
1020 logfont.lfFaceName[0] = '\0'; 1102 logfont.lfFaceName[0] = '\0';
1021 logfont.lfPitchAndFamily = DEFAULT_PITCH; 1103 logfont.lfPitchAndFamily = DEFAULT_PITCH;
1022 font_enum.hdc = hdc; 1104 font_enum.hdc = hdc;
1023 font_enum.list = Qnil; 1105 font_enum.list = Qnil;
1024 EnumFontFamiliesEx (hdc, &logfont, (FONTENUMPROC) font_enum_callback_1, 1106 if (xEnumFontFamiliesExA)
1025 (LPARAM) (&font_enum), 0); 1107 xEnumFontFamiliesExA (hdc, &logfont, (FONTENUMPROC) font_enum_callback_1,
1108 (LPARAM) (&font_enum), 0);
1109 else /* NT 3.5x */
1110 EnumFontFamilies (hdc, 0, (FONTENUMPROC) old_font_enum_callback_1,
1111 (LPARAM) (&font_enum));
1112
1026 return font_enum.list; 1113 return font_enum.list;
1027 } 1114 }
1028 1115
1029 static void 1116 static HFONT
1030 mswindows_create_font_variant (Lisp_Font_Instance* f, 1117 mswindows_create_font_variant (Lisp_Font_Instance* f,
1031 int under, int strike) 1118 int under, int strike)
1032 { 1119 {
1033 /* Cannot GC */ 1120 /* Cannot GC */
1034 1121
1051 if (hfont == NULL) 1138 if (hfont == NULL)
1052 hfont = MSWINDOWS_BAD_HFONT; 1139 hfont = MSWINDOWS_BAD_HFONT;
1053 } 1140 }
1054 1141
1055 FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f, under, strike) = hfont; 1142 FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f, under, strike) = hfont;
1143 return hfont;
1056 } 1144 }
1057 1145
1058 HFONT 1146 HFONT
1059 mswindows_get_hfont (Lisp_Font_Instance* f, 1147 mswindows_get_hfont (Lisp_Font_Instance* f,
1060 int under, int strike) 1148 int under, int strike)
1061 { 1149 {
1062 /* Cannot GC */ 1150 /* Cannot GC */
1063 HFONT hfont; 1151 HFONT hfont = FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f, under, strike);
1064 1152
1065 if (FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f, under, strike) == NULL) 1153 if (hfont == NULL)
1066 mswindows_create_font_variant (f, under, strike); 1154 hfont = mswindows_create_font_variant (f, under, strike);
1067
1068 assert (FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f, under, strike) != NULL);
1069
1070 hfont = FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f, under, strike);
1071 1155
1072 /* If strikeout/underline variant of the font could not be 1156 /* If strikeout/underline variant of the font could not be
1073 created, then use the base version of the font */ 1157 created, then use the base version of the font */
1074 if (hfont == MSWINDOWS_BAD_HFONT) 1158 if (hfont == MSWINDOWS_BAD_HFONT)
1075 hfont = FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f, 0, 0); 1159 hfont = FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f, 0, 0);
1085 1169
1086 static int 1170 static int
1087 mswindows_initialize_color_instance (Lisp_Color_Instance *c, Lisp_Object name, 1171 mswindows_initialize_color_instance (Lisp_Color_Instance *c, Lisp_Object name,
1088 Lisp_Object device, Error_behavior errb) 1172 Lisp_Object device, Error_behavior errb)
1089 { 1173 {
1090 CONST char *extname; 1174 const char *extname;
1091 COLORREF color; 1175 COLORREF color;
1092 1176
1093 TO_EXTERNAL_FORMAT (LISP_STRING, name, 1177 TO_EXTERNAL_FORMAT (LISP_STRING, name,
1094 C_STRING_ALLOCA, extname, 1178 C_STRING_ALLOCA, extname,
1095 Qctext); 1179 Qctext);
1157 } 1241 }
1158 1242
1159 static int 1243 static int
1160 mswindows_valid_color_name_p (struct device *d, Lisp_Object color) 1244 mswindows_valid_color_name_p (struct device *d, Lisp_Object color)
1161 { 1245 {
1162 CONST char *extname; 1246 const char *extname;
1163 1247
1164 TO_EXTERNAL_FORMAT (LISP_STRING, color, 1248 TO_EXTERNAL_FORMAT (LISP_STRING, color,
1165 C_STRING_ALLOCA, extname, 1249 C_STRING_ALLOCA, extname,
1166 Qctext); 1250 Qctext);
1167 return (mswindows_string_to_color(extname)!=-1); 1251 return (mswindows_string_to_color(extname)!=-1);
1171 1255
1172 static void 1256 static void
1173 mswindows_finalize_font_instance (Lisp_Font_Instance *f); 1257 mswindows_finalize_font_instance (Lisp_Font_Instance *f);
1174 1258
1175 /* 1259 /*
1176 * This is a work horse for both mswindows_initialize_font_instanc and 1260 * This is a work horse for both mswindows_initialize_font_instance and
1177 * msprinter_initialize_font_instance. 1261 * msprinter_initialize_font_instance.
1178 */ 1262 */
1179 static int 1263 static int
1180 initialize_font_instance (Lisp_Font_Instance *f, Lisp_Object name, 1264 initialize_font_instance (Lisp_Font_Instance *f, Lisp_Object name,
1181 Lisp_Object device_font_list, HDC hdc, 1265 Lisp_Object device_font_list, HDC hdc,
1182 Error_behavior errb) 1266 Error_behavior errb)
1183 { 1267 {
1184 CONST char *extname; 1268 const char *extname;
1185 LOGFONT logfont; 1269 LOGFONT logfont;
1186 int fields, i; 1270 int fields, i;
1187 int pt; 1271 int pt;
1188 char fontname[LF_FACESIZE], weight[LF_FACESIZE], *style, points[8]; 1272 char fontname[LF_FACESIZE], weight[LF_FACESIZE], *style, points[8];
1189 char effects[LF_FACESIZE], charset[LF_FACESIZE]; 1273 char effects[LF_FACESIZE], charset[LF_FACESIZE];
1190 char *c; 1274 char *c;
1191 HFONT hfont, holdfont; 1275 HFONT hfont, hfont2;
1192 TEXTMETRIC metrics; 1276 TEXTMETRIC metrics;
1193 1277
1194 extname = XSTRING_DATA (name); 1278 extname = XSTRING_DATA (name);
1195 1279
1196 /* 1280 /*
1245 else 1329 else
1246 style = NULL; 1330 style = NULL;
1247 1331
1248 for (i=0; i<countof (fontweight_map); i++) 1332 for (i=0; i<countof (fontweight_map); i++)
1249 if (!stricmp (weight, fontweight_map[i].name)) 1333 if (!stricmp (weight, fontweight_map[i].name))
1250 { 1334 {
1251 logfont.lfWeight = fontweight_map[i].value; 1335 logfont.lfWeight = fontweight_map[i].value;
1252 break; 1336 break;
1253 } 1337 }
1254 if (i == countof (fontweight_map)) /* No matching weight */ 1338 if (i == countof (fontweight_map)) /* No matching weight */
1255 { 1339 {
1348 } 1432 }
1349 else 1433 else
1350 effects[0] = '\0'; 1434 effects[0] = '\0';
1351 1435
1352 /* Charset */ 1436 /* Charset */
1353 /* charset can be specified even if earlier fields havn't been */ 1437 /* charset can be specified even if earlier fields haven't been */
1354 if (fields < 5) 1438 if (fields < 5)
1355 { 1439 {
1356 if ((c=strchr (extname, ':')) && (c=strchr (c+1, ':')) && 1440 if ((c=strchr (extname, ':')) && (c=strchr (c+1, ':')) &&
1357 (c=strchr (c+1, ':')) && (c=strchr (c+1, ':'))) 1441 (c=strchr (c+1, ':')) && (c=strchr (c+1, ':')))
1358 { 1442 {
1388 logfont.lfQuality = PROOF_QUALITY; 1472 logfont.lfQuality = PROOF_QUALITY;
1389 #endif 1473 #endif
1390 /* Default to monospaced if the specified fontname doesn't exist. */ 1474 /* Default to monospaced if the specified fontname doesn't exist. */
1391 logfont.lfPitchAndFamily = FF_MODERN; 1475 logfont.lfPitchAndFamily = FF_MODERN;
1392 1476
1393 /* Windows will silently substitute a default font if the fontname 1477 /* Windows will silently substitute a default font if the fontname specifies
1394 specifies a non-existent font. So we check the font against the 1478 a non-existent font. This is bad for screen fonts because it doesn't
1395 device's list of font patterns to make sure that at least one of 1479 allow higher-level code to see the error and to act appropriately.
1396 them matches. 1480 For instance complex_vars_of_faces() sets up a fallback list of fonts
1397 1481 for the default face. */
1398 Personally, I do not like the idea - it is better to come out with
1399 some font than completely without one. The diversity of printer
1400 fonts is much greater than that of screen font. We can tread on
1401 that. -- kkm. */
1402 1482
1403 if (!NILP (device_font_list)) 1483 if (!NILP (device_font_list))
1404 { 1484 {
1405 Lisp_Object fonttail; 1485 Lisp_Object fonttail;
1406 char truename[MSW_FONTSIZE]; 1486 char truename[MSW_FONTSIZE];
1424 return 0; 1504 return 0;
1425 } 1505 }
1426 1506
1427 f->data = xnew_and_zero (struct mswindows_font_instance_data); 1507 f->data = xnew_and_zero (struct mswindows_font_instance_data);
1428 FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f,0,0) = hfont; 1508 FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f,0,0) = hfont;
1429 1509
1430 holdfont = SelectObject(hdc, hfont); 1510 /* Some underlined fonts have the descent of one pixel more than their
1431 if (!holdfont) 1511 non-underlined counterparts. Font variants though are assumed to have
1512 identical metrics. So get the font metrics from the underlined variant
1513 of the font */
1514 hfont2 = mswindows_create_font_variant (f, 1, 0);
1515 if (hfont2 != MSWINDOWS_BAD_HFONT)
1516 hfont = hfont2;
1517
1518 hfont2 = (HFONT) SelectObject (hdc, hfont);
1519 if (!hfont2)
1432 { 1520 {
1433 mswindows_finalize_font_instance (f); 1521 mswindows_finalize_font_instance (f);
1434 maybe_signal_simple_error ("Couldn't map font", name, Qfont, errb); 1522 maybe_signal_simple_error ("Couldn't map font", name, Qfont, errb);
1435 return 0; 1523 return 0;
1436 } 1524 }
1437
1438 GetTextMetrics (hdc, &metrics); 1525 GetTextMetrics (hdc, &metrics);
1439 SelectObject(hdc, holdfont); 1526 SelectObject(hdc, hfont2);
1440 1527
1441 f->width = (unsigned short) metrics.tmAveCharWidth; 1528 f->width = (unsigned short) metrics.tmAveCharWidth;
1442 f->height = (unsigned short) metrics.tmHeight; 1529 f->height = (unsigned short) metrics.tmHeight;
1443 /* Font variant metrics hack. The problem is that in Windows 1530 f->ascent = (unsigned short) metrics.tmAscent;
1444 some underlined fonts have the descent of one pixel more 1531 f->descent = (unsigned short) metrics.tmDescent;
1445 than their non-underlined counterparts. Font variants
1446 though are assumed to have identical metrics. Lowering
1447 the font's baseline one pixel down cures the problem, and
1448 is visually undetectable. - kkm */
1449 f->ascent = (unsigned short) metrics.tmAscent - 1;
1450 f->descent = (unsigned short) metrics.tmDescent + 1;
1451 f->proportional_p = (metrics.tmPitchAndFamily & TMPF_FIXED_PITCH); 1532 f->proportional_p = (metrics.tmPitchAndFamily & TMPF_FIXED_PITCH);
1452 1533
1453 return 1; 1534 return 1;
1454 } 1535 }
1455 1536
1503 mswindows_print_font_instance (Lisp_Font_Instance *f, 1584 mswindows_print_font_instance (Lisp_Font_Instance *f,
1504 Lisp_Object printcharfun, 1585 Lisp_Object printcharfun,
1505 int escapeflag) 1586 int escapeflag)
1506 { 1587 {
1507 char buf[10]; 1588 char buf[10];
1508 sprintf (buf, " 0x%lx", 1589 sprintf (buf, " 0x%lx",
1509 (unsigned long)FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f,0,0)); 1590 (unsigned long)FONT_INSTANCE_MSWINDOWS_HFONT_VARIANT (f,0,0));
1510 write_c_string (buf, printcharfun); 1591 write_c_string (buf, printcharfun);
1511 } 1592 }
1512 1593
1513 static Lisp_Object 1594 static Lisp_Object
1543 mswindows_font_instance_truename (Lisp_Font_Instance *f, Error_behavior errb) 1624 mswindows_font_instance_truename (Lisp_Font_Instance *f, Error_behavior errb)
1544 { 1625 {
1545 int nsep=0; 1626 int nsep=0;
1546 char *name = (char *) XSTRING_DATA (f->name); 1627 char *name = (char *) XSTRING_DATA (f->name);
1547 char* ptr = name; 1628 char* ptr = name;
1548 char* extname = alloca (strlen (name) + 19); 1629 char* extname = (char*) alloca (strlen (name) + 19);
1549 strcpy (extname, name); 1630 strcpy (extname, name);
1550 1631
1551 while ((ptr = strchr (ptr, ':')) != 0) 1632 while ((ptr = strchr (ptr, ':')) != 0)
1552 { 1633 {
1553 ptr++; 1634 ptr++;
1568 case 3: 1649 case 3:
1569 strcat (extname, ":Western"); 1650 strcat (extname, ":Western");
1570 break; 1651 break;
1571 default:; 1652 default:;
1572 } 1653 }
1573 1654
1574 return build_ext_string (extname, Qnative); 1655 return build_ext_string (extname, Qnative);
1575 } 1656 }
1576 1657
1577 #ifdef MULE 1658 #ifdef MULE
1578 1659
1579 static int 1660 static int
1580 mswindows_font_spec_matches_charset (struct device *d, Lisp_Object charset, 1661 mswindows_font_spec_matches_charset (struct device *d, Lisp_Object charset,
1581 CONST Bufbyte *nonreloc, Lisp_Object reloc, 1662 const Bufbyte *nonreloc, Lisp_Object reloc,
1582 Bytecount offset, Bytecount length) 1663 Bytecount offset, Bytecount length)
1583 { 1664 {
1584 /* #### Implement me */ 1665 /* #### Implement me */
1585 if (UNBOUNDP (charset)) 1666 if (UNBOUNDP (charset))
1586 return 1; 1667 return 1;
1587 1668
1588 return 1; 1669 return 1;
1589 } 1670 }
1590 1671
1591 /* find a font spec that matches font spec FONT and also matches 1672 /* find a font spec that matches font spec FONT and also matches
1592 (the registry of) CHARSET. */ 1673 (the registry of) CHARSET. */
1646 1727
1647 CONSOLE_HAS_METHOD (mswindows, initialize_font_instance); 1728 CONSOLE_HAS_METHOD (mswindows, initialize_font_instance);
1648 /* CONSOLE_HAS_METHOD (mswindows, mark_font_instance); */ 1729 /* CONSOLE_HAS_METHOD (mswindows, mark_font_instance); */
1649 CONSOLE_HAS_METHOD (mswindows, print_font_instance); 1730 CONSOLE_HAS_METHOD (mswindows, print_font_instance);
1650 CONSOLE_HAS_METHOD (mswindows, finalize_font_instance); 1731 CONSOLE_HAS_METHOD (mswindows, finalize_font_instance);
1651 CONSOLE_HAS_METHOD (mswindows, font_instance_truename); 1732 CONSOLE_HAS_METHOD (mswindows, font_instance_truename);
1652 CONSOLE_HAS_METHOD (mswindows, list_fonts); 1733 CONSOLE_HAS_METHOD (mswindows, list_fonts);
1653 #ifdef MULE 1734 #ifdef MULE
1654 CONSOLE_HAS_METHOD (mswindows, font_spec_matches_charset); 1735 CONSOLE_HAS_METHOD (mswindows, font_spec_matches_charset);
1655 CONSOLE_HAS_METHOD (mswindows, find_charset_font); 1736 CONSOLE_HAS_METHOD (mswindows, find_charset_font);
1656 #endif 1737 #endif
1669 1750
1670 CONSOLE_HAS_METHOD (msprinter, initialize_font_instance); 1751 CONSOLE_HAS_METHOD (msprinter, initialize_font_instance);
1671 /* CONSOLE_INHERITS_METHOD (msprinter, mswindows, mark_font_instance); */ 1752 /* CONSOLE_INHERITS_METHOD (msprinter, mswindows, mark_font_instance); */
1672 CONSOLE_INHERITS_METHOD (msprinter, mswindows, print_font_instance); 1753 CONSOLE_INHERITS_METHOD (msprinter, mswindows, print_font_instance);
1673 CONSOLE_INHERITS_METHOD (msprinter, mswindows, finalize_font_instance); 1754 CONSOLE_INHERITS_METHOD (msprinter, mswindows, finalize_font_instance);
1674 CONSOLE_INHERITS_METHOD (msprinter, mswindows, font_instance_truename); 1755 CONSOLE_INHERITS_METHOD (msprinter, mswindows, font_instance_truename);
1675 CONSOLE_INHERITS_METHOD (msprinter, mswindows, list_fonts); 1756 CONSOLE_INHERITS_METHOD (msprinter, mswindows, list_fonts);
1676 #ifdef MULE 1757 #ifdef MULE
1677 CONSOLE_INHERITS_METHOD (msprinter, mswindows, font_spec_matches_charset); 1758 CONSOLE_INHERITS_METHOD (msprinter, mswindows, font_spec_matches_charset);
1678 CONSOLE_INHERITS_METHOD (msprinter, mswindows, find_charset_font); 1759 CONSOLE_INHERITS_METHOD (msprinter, mswindows, find_charset_font);
1679 #endif 1760 #endif