summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>2005-03-05 00:50:48 +0000
committerOwen Taylor <otaylor@src.gnome.org>2005-03-05 00:50:48 +0000
commit19eb8c57fe45fabcda2a3d62672496ce0e86b1c5 (patch)
treec841cf6093ff18c8fdb85a0de8183842e52b83b5
parentc4086835761f0021c372cf2d44998aac89b4778d (diff)
downloadpango-19eb8c57fe45fabcda2a3d62672496ce0e86b1c5.tar.gz
Reduce non-shared data (#168899, inspired by patches from Tommi Komulainen
2005-03-04 Owen Taylor <otaylor@redhat.com> Reduce non-shared data (#168899, inspired by patches from Tommi Komulainen and Ross Burton) * pango/pango-color.c pango/pango-color-table.h tools/gen-color-table.pl: Redo storage of colors to use offsets into a static string rather than embedded strings. (Inspired by a patch from Tommi Komulainen, #168899) * pango/break.c pango/fonts.c pango/pango-color.c pango/pango-layout.c pango/pango-markup.c pango/pango-script-lang-table.h pango/mini-fribidi/fribidi_types.c tools/gen-script-for-lang.c: Add const in various places * modules/arabic/arabic-fc.c modules/hebrew/hebrew-fc.c: modules/indic/{indic-fc.c,indic-ot-class-tables.c, indic-ot.h} modules/syriac/syriac-ot.c (syriac): Further addition of const.
-rw-r--r--ChangeLog22
-rw-r--r--ChangeLog.pre-1-1022
-rw-r--r--modules/arabic/arabic-ot.c2
-rw-r--r--modules/hebrew/hebrew-fc.c2
-rw-r--r--modules/indic/indic-fc.c18
-rw-r--r--modules/indic/indic-ot-class-tables.c40
-rw-r--r--modules/indic/indic-ot.h22
-rw-r--r--modules/syriac/syriac-ot.c2
-rw-r--r--modules/thai/thai-fc.c8
-rw-r--r--pango/break.c46
-rw-r--r--pango/fonts.c12
-rw-r--r--pango/mini-fribidi/fribidi_types.c2
-rw-r--r--pango/pango-color-table.h1521
-rw-r--r--pango/pango-color.c766
-rw-r--r--pango/pango-layout.c2
-rw-r--r--pango/pango-markup.c2
-rw-r--r--pango/pango-script-lang-table.h2
-rwxr-xr-xtools/gen-color-table.pl74
-rw-r--r--tools/gen-script-for-lang.c2
19 files changed, 1723 insertions, 844 deletions
diff --git a/ChangeLog b/ChangeLog
index 3af9790e..b4146b78 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,27 @@
2005-03-04 Owen Taylor <otaylor@redhat.com>
+ Reduce non-shared data (#168899, inspired by patches
+ from Tommi Komulainen and Ross Burton)
+
+ * pango/pango-color.c pango/pango-color-table.h
+ tools/gen-color-table.pl: Redo storage of colors to
+ use offsets into a static string rather than embedded
+ strings. (Inspired by a patch from Tommi Komulainen,
+ #168899)
+
+ * pango/break.c pango/fonts.c pango/pango-color.c
+ pango/pango-layout.c pango/pango-markup.c
+ pango/pango-script-lang-table.h
+ pango/mini-fribidi/fribidi_types.c
+ tools/gen-script-for-lang.c: Add const in various places
+
+ * modules/arabic/arabic-fc.c modules/hebrew/hebrew-fc.c:
+ modules/indic/{indic-fc.c,indic-ot-class-tables.c,
+ indic-ot.h} modules/syriac/syriac-ot.c (syriac): Further
+ addition of const.
+
+2005-03-04 Owen Taylor <otaylor@redhat.com>
+
* === Released 1.8.1 ===
* configure.in: Version 1.8.1
diff --git a/ChangeLog.pre-1-10 b/ChangeLog.pre-1-10
index 3af9790e..b4146b78 100644
--- a/ChangeLog.pre-1-10
+++ b/ChangeLog.pre-1-10
@@ -1,5 +1,27 @@
2005-03-04 Owen Taylor <otaylor@redhat.com>
+ Reduce non-shared data (#168899, inspired by patches
+ from Tommi Komulainen and Ross Burton)
+
+ * pango/pango-color.c pango/pango-color-table.h
+ tools/gen-color-table.pl: Redo storage of colors to
+ use offsets into a static string rather than embedded
+ strings. (Inspired by a patch from Tommi Komulainen,
+ #168899)
+
+ * pango/break.c pango/fonts.c pango/pango-color.c
+ pango/pango-layout.c pango/pango-markup.c
+ pango/pango-script-lang-table.h
+ pango/mini-fribidi/fribidi_types.c
+ tools/gen-script-for-lang.c: Add const in various places
+
+ * modules/arabic/arabic-fc.c modules/hebrew/hebrew-fc.c:
+ modules/indic/{indic-fc.c,indic-ot-class-tables.c,
+ indic-ot.h} modules/syriac/syriac-ot.c (syriac): Further
+ addition of const.
+
+2005-03-04 Owen Taylor <otaylor@redhat.com>
+
* === Released 1.8.1 ===
* configure.in: Version 1.8.1
diff --git a/modules/arabic/arabic-ot.c b/modules/arabic/arabic-ot.c
index d5fd89ea..ef667e68 100644
--- a/modules/arabic/arabic-ot.c
+++ b/modules/arabic/arabic-ot.c
@@ -33,7 +33,7 @@
*
*/
-joining_class arabic[] =
+static const joining_class arabic[] =
{
/* U+0620 */
none, none, right, right,
diff --git a/modules/hebrew/hebrew-fc.c b/modules/hebrew/hebrew-fc.c
index 5f6c1885..78b3cb9a 100644
--- a/modules/hebrew/hebrew-fc.c
+++ b/modules/hebrew/hebrew-fc.c
@@ -174,7 +174,7 @@ get_ruleset (FT_Face face)
{
PangoOTRuleset *ruleset;
static GQuark ruleset_quark = 0;
- static PangoOTTag hebr_tag = FT_MAKE_TAG ('h', 'e', 'b', 'r');
+ static const PangoOTTag hebr_tag = FT_MAKE_TAG ('h', 'e', 'b', 'r');
guint script_index;
PangoOTInfo *info = pango_ot_info_get (face);
diff --git a/modules/indic/indic-fc.c b/modules/indic/indic-fc.c
index b9816a21..c795a210 100644
--- a/modules/indic/indic-fc.c
+++ b/modules/indic/indic-fc.c
@@ -38,15 +38,15 @@ typedef PangoEngineShapeClass IndicEngineFcClass ; /* No extra fields needed */
struct _IndicEngineFc
{
PangoEngineShape shapeEngine;
- PangoIndicInfo *indicInfo;
+ const PangoIndicInfo *indicInfo;
};
struct _PangoIndicInfo
{
- PangoOTTag scriptTag;
- IndicOTClassTable *classTable;
- gchar *gsubQuarkName;
- gchar *gposQuarkName;
+ PangoOTTag scriptTag;
+ const IndicOTClassTable *classTable;
+ gchar *gsubQuarkName;
+ gchar *gposQuarkName;
};
#define ENGINE_SUFFIX "ScriptEngineFc"
@@ -122,7 +122,7 @@ static PangoEngineInfo script_engines[] = {
* in a macro that calls a body macro that can be redefined, or by
* putting the pointers to the PangoEngineInfo in PangoIndicInfo...
*/
-static PangoIndicInfo indic_info[] = {
+static const PangoIndicInfo indic_info[] = {
PANGO_INDIC_INFO(deva), PANGO_INDIC_INFO(beng), PANGO_INDIC_INFO(guru),
PANGO_INDIC_INFO(gujr), PANGO_INDIC_INFO(orya), PANGO_INDIC_INFO(taml),
PANGO_INDIC_INFO(telu), PANGO_INDIC_INFO(knda), PANGO_INDIC_INFO(mlym),
@@ -173,7 +173,7 @@ maybe_add_GPOS_feature (PangoOTRuleset *ruleset,
}
static PangoOTRuleset *
-get_gsub_ruleset (FT_Face face, PangoIndicInfo *indic_info)
+get_gsub_ruleset (FT_Face face, const PangoIndicInfo *indic_info)
{
PangoOTInfo *info = pango_ot_info_get (face);
GQuark ruleset_quark = g_quark_from_string (indic_info->gsubQuarkName);
@@ -217,7 +217,7 @@ get_gsub_ruleset (FT_Face face, PangoIndicInfo *indic_info)
static PangoOTRuleset *
-get_gpos_ruleset (FT_Face face, PangoIndicInfo *indic_info)
+get_gpos_ruleset (FT_Face face, const PangoIndicInfo *indic_info)
{
PangoOTInfo *info = pango_ot_info_get (face);
GQuark ruleset_quark = g_quark_from_string (indic_info->gposQuarkName);
@@ -319,7 +319,7 @@ indic_engine_shape (PangoEngineShape *engine,
PangoOTRuleset *gsub_ruleset = NULL, *gpos_ruleset = NULL;
PangoOTBuffer *buffer;
IndicEngineFc *indic_shape_engine = NULL;
- PangoIndicInfo *indic_info = NULL;
+ const PangoIndicInfo *indic_info = NULL;
PangoFcFont *fc_font;
MPreFixups *mprefixups;
diff --git a/modules/indic/indic-ot-class-tables.c b/modules/indic/indic-ot-class-tables.c
index 4f9a74b5..1a0321c8 100644
--- a/modules/indic/indic-ot-class-tables.c
+++ b/modules/indic/indic-ot-class-tables.c
@@ -71,7 +71,7 @@ enum
/*
* Character class tables
*/
-static IndicOTCharClass devaCharClasses[] =
+static const IndicOTCharClass devaCharClasses[] =
{
_xx, _ma, _ma, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, /* 0900 - 090F */
_iv, _iv, _iv, _iv, _iv, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, /* 0910 - 091F */
@@ -88,7 +88,7 @@ static IndicOTCharClass devaCharClasses[] =
* right behavior for the sequences "a halant ya aa" and
* "e halant ya aa".
*/
-static IndicOTCharClass bengCharClasses[] =
+static const IndicOTCharClass bengCharClasses[] =
{
_xx, _ma, _mp, _mp, _xx, _ct, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _xx, _ct, /* 0980 - 098F */
_iv, _xx, _xx, _iv, _iv, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, /* 0990 - 099F */
@@ -100,7 +100,7 @@ static IndicOTCharClass bengCharClasses[] =
_ct, _ct, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx /* 09F0 - 09FA */
};
-static IndicOTCharClass guruCharClasses[] =
+static const IndicOTCharClass guruCharClasses[] =
{
_xx, _ma, _ma, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _xx, _xx, _xx, _iv, /* 0A00 - 0A0F */
_iv, _xx, _xx, _iv, _iv, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, /* 0A10 - 0A1F */
@@ -112,7 +112,7 @@ static IndicOTCharClass guruCharClasses[] =
_ma, _ma, _ct, _ct, _xx /* 0A70 - 0A74 */
};
-static IndicOTCharClass gujrCharClasses[] =
+static const IndicOTCharClass gujrCharClasses[] =
{
_xx, _ma, _ma, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _iv, _xx, _iv, /* 0A80 - 0A8F */
_iv, _iv, _xx, _iv, _iv, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, /* 0A90 - 0A9F */
@@ -123,7 +123,7 @@ static IndicOTCharClass gujrCharClasses[] =
_iv, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx /* 0AE0 - 0AEF */
};
-static IndicOTCharClass oryaCharClasses[] =
+static const IndicOTCharClass oryaCharClasses[] =
{
_xx, _ma, _ma, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _xx, _iv, /* 0B00 - 0B0F */
_iv, _xx, _xx, _iv, _iv, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, /* 0B10 - 0B1F */
@@ -135,7 +135,7 @@ static IndicOTCharClass oryaCharClasses[] =
_xx /* 0B70 */
};
-static IndicOTCharClass tamlCharClasses[] =
+static const IndicOTCharClass tamlCharClasses[] =
{
_xx, _xx, _ma, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _xx, _xx, _iv, _iv, /* 0B80 - 0B8F */
_iv, _xx, _iv, _iv, _iv, _ct, _xx, _xx, _xx, _ct, _ct, _xx, _ct, _xx, _ct, _ct, /* 0B90 - 0B9F */
@@ -148,7 +148,7 @@ static IndicOTCharClass tamlCharClasses[] =
};
/* FIXME: Should some of the bb's be pb's? (KA, NA, MA, YA, VA, etc. (approx 13)) */
-static IndicOTCharClass teluCharClasses[] =
+static const IndicOTCharClass teluCharClasses[] =
{
_xx, _mp, _mp, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _iv, _iv, /* 0C00 - 0C0F */
_iv, _xx, _iv, _iv, _iv, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, /* 0C10 - 0C1F */
@@ -167,7 +167,7 @@ static IndicOTCharClass teluCharClasses[] =
*
* http://brahmi.sourceforge.net/docs/KannadaComputing.html
*/
-static IndicOTCharClass kndaCharClasses[] =
+static const IndicOTCharClass kndaCharClasses[] =
{
_xx, _xx, _mp, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _iv, /* 0C80 - 0C8F */
_iv, _xx, _iv, _iv, _iv, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, _bb, /* 0C90 - 0C9F */
@@ -182,7 +182,7 @@ static IndicOTCharClass kndaCharClasses[] =
* FIXME: this is correct for old-style Malayalam (MAL) but not for reformed Malayalam (MLR)
* FIXME: should there be a REPH for old-style Malayalam?
*/
-static IndicOTCharClass mlymCharClasses[] =
+static const IndicOTCharClass mlymCharClasses[] =
{
_xx, _xx, _mp, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _iv, _iv, /* 0D00 - 0D0F */
_iv, _xx, _iv, _iv, _iv, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _ct, _bb, /* 0D10 - 0D1F */
@@ -193,7 +193,7 @@ static IndicOTCharClass mlymCharClasses[] =
_iv, _iv, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx, _xx /* 0D60 - 0D6F */
};
-static IndicOTCharClass sinhCharClasses[] =
+static const IndicOTCharClass sinhCharClasses[] =
{
_xx, _xx, _mp, _mp, _xx, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, _iv, /* 0D80 - 0D8F */
_iv, _iv, _iv, _iv, _iv, _iv, _iv, _xx, _xx, _xx, _ct, _ct, _ct, _ct, _ct, _ct, /* 0D90 - 0D9F */
@@ -249,25 +249,25 @@ static const IndicOTSplitMatra sinhSplitTable[] = {{0x0DD9, 0x0DCA}, {0x0DD9, 0x
/*
* Indic Class Tables
*/
-IndicOTClassTable deva_class_table = {0x0900, 0x0970, 2, DEVA_SCRIPT_FLAGS, devaCharClasses, NULL};
+const IndicOTClassTable deva_class_table = {0x0900, 0x0970, 2, DEVA_SCRIPT_FLAGS, devaCharClasses, NULL};
-IndicOTClassTable beng_class_table = {0x0980, 0x09FA, 3, BENG_SCRIPT_FLAGS, bengCharClasses, bengSplitTable};
+const IndicOTClassTable beng_class_table = {0x0980, 0x09FA, 3, BENG_SCRIPT_FLAGS, bengCharClasses, bengSplitTable};
-IndicOTClassTable guru_class_table = {0x0A00, 0x0A74, 2, GURU_SCRIPT_FLAGS, guruCharClasses, NULL};
+const IndicOTClassTable guru_class_table = {0x0A00, 0x0A74, 2, GURU_SCRIPT_FLAGS, guruCharClasses, NULL};
-IndicOTClassTable gujr_class_table = {0x0A80, 0x0AEF, 2, GUJR_SCRIPT_FLAGS, gujrCharClasses, NULL};
+const IndicOTClassTable gujr_class_table = {0x0A80, 0x0AEF, 2, GUJR_SCRIPT_FLAGS, gujrCharClasses, NULL};
-IndicOTClassTable orya_class_table = {0x0B00, 0x0B70, 3, ORYA_SCRIPT_FLAGS, oryaCharClasses, oryaSplitTable};
+const IndicOTClassTable orya_class_table = {0x0B00, 0x0B70, 3, ORYA_SCRIPT_FLAGS, oryaCharClasses, oryaSplitTable};
-IndicOTClassTable taml_class_table = {0x0B80, 0x0BF2, 3, TAML_SCRIPT_FLAGS, tamlCharClasses, tamlSplitTable};
+const IndicOTClassTable taml_class_table = {0x0B80, 0x0BF2, 3, TAML_SCRIPT_FLAGS, tamlCharClasses, tamlSplitTable};
-IndicOTClassTable telu_class_table = {0x0C00, 0x0C6F, 3, TELU_SCRIPT_FLAGS, teluCharClasses, teluSplitTable};
+const IndicOTClassTable telu_class_table = {0x0C00, 0x0C6F, 3, TELU_SCRIPT_FLAGS, teluCharClasses, teluSplitTable};
-IndicOTClassTable knda_class_table = {0x0C80, 0x0CEF, 4, KNDA_SCRIPT_FLAGS, kndaCharClasses, kndaSplitTable};
+const IndicOTClassTable knda_class_table = {0x0C80, 0x0CEF, 4, KNDA_SCRIPT_FLAGS, kndaCharClasses, kndaSplitTable};
-IndicOTClassTable mlym_class_table = {0x0D00, 0x0D6F, 3, MLYM_SCRIPT_FLAGS, mlymCharClasses, mlymSplitTable};
+const IndicOTClassTable mlym_class_table = {0x0D00, 0x0D6F, 3, MLYM_SCRIPT_FLAGS, mlymCharClasses, mlymSplitTable};
-IndicOTClassTable sinh_class_table = {0x0D80, 0x0DF4, 3, SINH_SCRIPT_FLAGS, sinhCharClasses, sinhSplitTable};
+const IndicOTClassTable sinh_class_table = {0x0D80, 0x0DF4, 3, SINH_SCRIPT_FLAGS, sinhCharClasses, sinhSplitTable};
const IndicOTSplitMatra *indic_ot_get_split_matra(const IndicOTClassTable *class_table, IndicOTCharClass char_class)
{
diff --git a/modules/indic/indic-ot.h b/modules/indic/indic-ot.h
index 47ec64e4..d4c37a8b 100644
--- a/modules/indic/indic-ot.h
+++ b/modules/indic/indic-ot.h
@@ -204,23 +204,23 @@ struct _IndicOTClassTable
gunichar lastChar;
glong worstCaseExpansion;
IndicOTScriptFlags scriptFlags;
- IndicOTCharClass *charClasses;
+ const IndicOTCharClass *charClasses;
const IndicOTSplitMatra *splitMatraTable;
};
typedef struct _IndicOTClassTable IndicOTClassTable;
-extern IndicOTClassTable deva_class_table;
-extern IndicOTClassTable beng_class_table;
-extern IndicOTClassTable guru_class_table;
-extern IndicOTClassTable gujr_class_table;
-extern IndicOTClassTable orya_class_table;
-extern IndicOTClassTable taml_class_table;
-extern IndicOTClassTable telu_class_table;
-extern IndicOTClassTable knda_class_table;
-extern IndicOTClassTable mlym_class_table;
-extern IndicOTClassTable sinh_class_table;
+extern const IndicOTClassTable deva_class_table;
+extern const IndicOTClassTable beng_class_table;
+extern const IndicOTClassTable guru_class_table;
+extern const IndicOTClassTable gujr_class_table;
+extern const IndicOTClassTable orya_class_table;
+extern const IndicOTClassTable taml_class_table;
+extern const IndicOTClassTable telu_class_table;
+extern const IndicOTClassTable knda_class_table;
+extern const IndicOTClassTable mlym_class_table;
+extern const IndicOTClassTable sinh_class_table;
const IndicOTSplitMatra *indic_ot_get_split_matra(const IndicOTClassTable *class_table, IndicOTCharClass char_class);
diff --git a/modules/syriac/syriac-ot.c b/modules/syriac/syriac-ot.c
index 6de4aa13..6011932f 100644
--- a/modules/syriac/syriac-ot.c
+++ b/modules/syriac/syriac-ot.c
@@ -30,7 +30,7 @@
*
* All other characters are given the joining class `none'.
*/
-JoiningClass syriac[] =
+static const JoiningClass syriac[] =
{
/* U+0700 */
none, none, none, none,
diff --git a/modules/thai/thai-fc.c b/modules/thai/thai-fc.c
index cb77a0b0..444dd4f2 100644
--- a/modules/thai/thai-fc.c
+++ b/modules/thai/thai-fc.c
@@ -61,7 +61,7 @@ static PangoEngineInfo script_engines[] = {
/* TIS-to-Unicode glyph maps for characters 0x80-0xff
*/
-static int tis620_0[128] = {
+static const int tis620_0[128] = {
/**/ 0, 0, 0, 0, 0, 0, 0, 0,
/**/ 0, 0, 0, 0, 0, 0, 0, 0,
/**/ 0, 0, 0, 0, 0, 0, 0, 0,
@@ -80,7 +80,7 @@ static int tis620_0[128] = {
0x0e58, 0x0e59, 0x0e5a, 0x0e5b, 0, 0, 0, 0
};
-static int tis620_1[128] = {
+static const int tis620_1[128] = {
/**/ 0, 0, 0, 0xf88c, 0xf88f, 0xf892, 0xf895, 0xf898,
0xf88b, 0xf88e, 0xf891, 0xf894, 0xf897, 0, 0, 0xf899,
/**/ 0, 0, 0xf884, 0xf889, 0xf885, 0xf886, 0xf887, 0xf888,
@@ -99,7 +99,7 @@ static int tis620_1[128] = {
0x0e58, 0x0e59, 0, 0, 0, 0, 0, 0
};
-static int tis620_2[128] = {
+static const int tis620_2[128] = {
0xf700, 0xf701, 0xf702, 0xf703, 0xf704, 0x2026, 0xf705, 0xf706,
0xf707, 0xf708, 0xf709, 0xf70a, 0xf70b, 0xf70c, 0xf70d, 0xf70e,
0xf70f, 0x2018, 0x2019, 0x201c, 0x201d, 0x2022, 0x2013, 0x2014,
@@ -118,7 +118,7 @@ static int tis620_2[128] = {
0x0e58, 0x0e59, 0x0e5a, 0x0e5b, 0xf718, 0xf719, 0xf71a, 0
};
-static int lao_0[128] = {
+static const int lao_0[128] = {
/**/ 0, 0, 0, 0, 0, 0, 0, 0,
/**/ 0, 0, 0, 0, 0, 0, 0, 0,
/**/ 0, 0, 0, 0, 0, 0, 0, 0,
diff --git a/pango/break.c b/pango/break.c
index 9b08dece..8dcecec9 100644
--- a/pango/break.c
+++ b/pango/break.c
@@ -80,7 +80,7 @@ enum
INDEX_NEXT_LINE
};
-static BreakOpportunity row_OPEN_PUNCTUATION[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_OPEN_PUNCTUATION[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
@@ -89,7 +89,7 @@ static BreakOpportunity row_OPEN_PUNCTUATION[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_CLOSE_PUNCTUATION[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_CLOSE_PUNCTUATION[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_IF_SPACES, BREAK_ALLOWED, BREAK_ALLOWED,
@@ -98,7 +98,7 @@ static BreakOpportunity row_CLOSE_PUNCTUATION[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_QUOTATION[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_QUOTATION[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_IF_SPACES, BREAK_IF_SPACES, BREAK_IF_SPACES, BREAK_IF_SPACES,
@@ -107,7 +107,7 @@ static BreakOpportunity row_QUOTATION[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_NON_BREAKING_GLUE[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_NON_BREAKING_GLUE[INDEX_END_OF_TABLE] = {
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_IF_SPACES, BREAK_IF_SPACES, BREAK_IF_SPACES, BREAK_IF_SPACES,
@@ -116,7 +116,7 @@ static BreakOpportunity row_NON_BREAKING_GLUE[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_NON_STARTER[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_NON_STARTER[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED,
@@ -125,7 +125,7 @@ static BreakOpportunity row_NON_STARTER[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_EXCLAMATION[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_EXCLAMATION[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED,
@@ -134,7 +134,7 @@ static BreakOpportunity row_EXCLAMATION[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_SYMBOL[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_SYMBOL[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_IF_SPACES, BREAK_ALLOWED,
@@ -143,7 +143,7 @@ static BreakOpportunity row_SYMBOL[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_INFIX_SEPARATOR[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_INFIX_SEPARATOR[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_IF_SPACES, BREAK_IF_SPACES,
@@ -152,7 +152,7 @@ static BreakOpportunity row_INFIX_SEPARATOR[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_PREFIX[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_PREFIX[INDEX_END_OF_TABLE] = {
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_IF_SPACES, BREAK_IF_SPACES,
@@ -161,7 +161,7 @@ static BreakOpportunity row_PREFIX[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_POSTFIX[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_POSTFIX[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED,
@@ -170,7 +170,7 @@ static BreakOpportunity row_POSTFIX[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_NUMERIC[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_NUMERIC[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_IF_SPACES, BREAK_IF_SPACES, BREAK_IF_SPACES,
@@ -179,7 +179,7 @@ static BreakOpportunity row_NUMERIC[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_ALPHABETIC[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_ALPHABETIC[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_IF_SPACES, BREAK_IF_SPACES,
@@ -188,7 +188,7 @@ static BreakOpportunity row_ALPHABETIC[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_IDEOGRAPHIC[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_IDEOGRAPHIC[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_IF_SPACES, BREAK_ALLOWED, BREAK_ALLOWED,
@@ -197,7 +197,7 @@ static BreakOpportunity row_IDEOGRAPHIC[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_INSEPARABLE[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_INSEPARABLE[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED,
@@ -206,7 +206,7 @@ static BreakOpportunity row_INSEPARABLE[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_HYPHEN[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_HYPHEN[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_IF_SPACES, BREAK_ALLOWED,
@@ -215,7 +215,7 @@ static BreakOpportunity row_HYPHEN[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_AFTER[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_AFTER[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED,
@@ -224,7 +224,7 @@ static BreakOpportunity row_AFTER[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_BEFORE[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_BEFORE[INDEX_END_OF_TABLE] = {
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_IF_SPACES, BREAK_IF_SPACES, BREAK_IF_SPACES, BREAK_IF_SPACES,
@@ -233,7 +233,7 @@ static BreakOpportunity row_BEFORE[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_BEFORE_AND_AFTER[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_BEFORE_AND_AFTER[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED,
@@ -242,7 +242,7 @@ static BreakOpportunity row_BEFORE_AND_AFTER[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_ZERO_WIDTH_SPACE[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_ZERO_WIDTH_SPACE[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED, BREAK_ALLOWED,
@@ -251,7 +251,7 @@ static BreakOpportunity row_ZERO_WIDTH_SPACE[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED
};
-static BreakOpportunity row_COMBINING_MARK[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_COMBINING_MARK[INDEX_END_OF_TABLE] = {
BREAK_ALLOWED, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_ALLOWED, BREAK_ALLOWED, BREAK_IF_SPACES, BREAK_IF_SPACES,
@@ -260,7 +260,7 @@ static BreakOpportunity row_COMBINING_MARK[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity row_WORD_JOINER[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity row_WORD_JOINER[INDEX_END_OF_TABLE] = {
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_IF_SPACES, BREAK_IF_SPACES,
BREAK_IF_SPACES, BREAK_PROHIBITED, BREAK_PROHIBITED, BREAK_PROHIBITED,
BREAK_IF_SPACES, BREAK_IF_SPACES, BREAK_IF_SPACES, BREAK_IF_SPACES,
@@ -269,7 +269,7 @@ static BreakOpportunity row_WORD_JOINER[INDEX_END_OF_TABLE] = {
BREAK_PROHIBITED
};
-static BreakOpportunity *line_break_rows[INDEX_END_OF_TABLE] = {
+static const BreakOpportunity *const line_break_rows[INDEX_END_OF_TABLE] = {
row_OPEN_PUNCTUATION, /* INDEX_OPEN_PUNCTUATION */
row_CLOSE_PUNCTUATION, /* INDEX_CLOSE_PUNCTUATION */
row_QUOTATION, /* INDEX_QUOTATION */
@@ -294,7 +294,7 @@ static BreakOpportunity *line_break_rows[INDEX_END_OF_TABLE] = {
};
/* Map GUnicodeBreakType to table indexes */
-static int line_break_indexes[] = {
+static const int line_break_indexes[] = {
INDEX_MANDATORY,
INDEX_CARRIAGE_RETURN,
INDEX_LINE_FEED,
diff --git a/pango/fonts.c b/pango/fonts.c
index 68fd2df3..fcd57250 100644
--- a/pango/fonts.c
+++ b/pango/fonts.c
@@ -776,18 +776,18 @@ typedef struct
const char *str;
} FieldMap;
-static FieldMap style_map[] = {
+static const FieldMap style_map[] = {
{ PANGO_STYLE_NORMAL, NULL },
{ PANGO_STYLE_OBLIQUE, "Oblique" },
{ PANGO_STYLE_ITALIC, "Italic" }
};
-static FieldMap variant_map[] = {
+static const FieldMap variant_map[] = {
{ PANGO_VARIANT_NORMAL, NULL },
{ PANGO_VARIANT_SMALL_CAPS, "Small-Caps" }
};
-static FieldMap weight_map[] = {
+static const FieldMap weight_map[] = {
{ PANGO_WEIGHT_ULTRALIGHT, "Ultra-Light" },
{ PANGO_WEIGHT_LIGHT, "Light" },
{ PANGO_WEIGHT_NORMAL, NULL },
@@ -798,7 +798,7 @@ static FieldMap weight_map[] = {
{ PANGO_WEIGHT_HEAVY, "Heavy" }
};
-static FieldMap stretch_map[] = {
+static const FieldMap stretch_map[] = {
{ PANGO_STRETCH_ULTRA_CONDENSED, "Ultra-Condensed" },
{ PANGO_STRETCH_EXTRA_CONDENSED, "Extra-Condensed" },
{ PANGO_STRETCH_CONDENSED, "Condensed" },
@@ -811,7 +811,7 @@ static FieldMap stretch_map[] = {
};
static gboolean
-find_field (FieldMap *map, int n_elements, const char *str, int len, int *val)
+find_field (const FieldMap *map, int n_elements, const char *str, int len, int *val)
{
int i;
@@ -977,7 +977,7 @@ pango_font_description_from_string (const char *str)
}
static void
-append_field (GString *str, FieldMap *map, int n_elements, int val)
+append_field (GString *str, const FieldMap *map, int n_elements, int val)
{
int i;
for (i=0; i<n_elements; i++)
diff --git a/pango/mini-fribidi/fribidi_types.c b/pango/mini-fribidi/fribidi_types.c
index b025d033..2729592d 100644
--- a/pango/mini-fribidi/fribidi_types.c
+++ b/pango/mini-fribidi/fribidi_types.c
@@ -117,7 +117,7 @@ fribidi_type_name (FriBidiCharType c)
#endif
/* Map fribidi_prop_types to fribidi_types. */
-static FriBidiCharType fribidi_prop_to_type_array[] = {
+static const FriBidiCharType fribidi_prop_to_type_array[] = {
#define _FRIBIDI_ADD_TYPE(TYPE) FRIBIDI_TYPE_##TYPE,
#include "fribidi_types.i"
#undef _FRIBIDI_ADD_TYPE
diff --git a/pango/pango-color-table.h b/pango/pango-color-table.h
new file mode 100644
index 00000000..0c6286c0
--- /dev/null
+++ b/pango/pango-color-table.h
@@ -0,0 +1,1521 @@
+/* pango-color-table.h: Generated by gen-color-table.pl from rgb.txt
+ *
+ * Date: Fri Mar 4 23:40:25 2005
+ *
+ * Do not edit.
+ */
+static const char color_names[] =
+ "alice blue\0"
+ "AliceBlue\0"
+ "antique white\0"
+ "AntiqueWhite\0"
+ "AntiqueWhite1\0"
+ "AntiqueWhite2\0"
+ "AntiqueWhite3\0"
+ "AntiqueWhite4\0"
+ "aquamarine\0"
+ "aquamarine1\0"
+ "aquamarine2\0"
+ "aquamarine3\0"
+ "aquamarine4\0"
+ "azure\0"
+ "azure1\0"
+ "azure2\0"
+ "azure3\0"
+ "azure4\0"
+ "beige\0"
+ "bisque\0"
+ "bisque1\0"
+ "bisque2\0"
+ "bisque3\0"
+ "bisque4\0"
+ "black\0"
+ "blanched almond\0"
+ "BlanchedAlmond\0"
+ "blue\0"
+ "blue violet\0"
+ "blue1\0"
+ "blue2\0"
+ "blue3\0"
+ "blue4\0"
+ "BlueViolet\0"
+ "brown\0"
+ "brown1\0"
+ "brown2\0"
+ "brown3\0"
+ "brown4\0"
+ "burlywood\0"
+ "burlywood1\0"
+ "burlywood2\0"
+ "burlywood3\0"
+ "burlywood4\0"
+ "cadet blue\0"
+ "CadetBlue\0"
+ "CadetBlue1\0"
+ "CadetBlue2\0"
+ "CadetBlue3\0"
+ "CadetBlue4\0"
+ "chartreuse\0"
+ "chartreuse1\0"
+ "chartreuse2\0"
+ "chartreuse3\0"
+ "chartreuse4\0"
+ "chocolate\0"
+ "chocolate1\0"
+ "chocolate2\0"
+ "chocolate3\0"
+ "chocolate4\0"
+ "coral\0"
+ "coral1\0"
+ "coral2\0"
+ "coral3\0"
+ "coral4\0"
+ "cornflower blue\0"
+ "CornflowerBlue\0"
+ "cornsilk\0"
+ "cornsilk1\0"
+ "cornsilk2\0"
+ "cornsilk3\0"
+ "cornsilk4\0"
+ "cyan\0"
+ "cyan1\0"
+ "cyan2\0"
+ "cyan3\0"
+ "cyan4\0"
+ "dark blue\0"
+ "dark cyan\0"
+ "dark goldenrod\0"
+ "dark gray\0"
+ "dark green\0"
+ "dark grey\0"
+ "dark khaki\0"
+ "dark magenta\0"
+ "dark olive green\0"
+ "dark orange\0"
+ "dark orchid\0"
+ "dark red\0"
+ "dark salmon\0"
+ "dark sea green\0"
+ "dark slate blue\0"
+ "dark slate gray\0"
+ "dark slate grey\0"
+ "dark turquoise\0"
+ "dark violet\0"
+ "DarkBlue\0"
+ "DarkCyan\0"
+ "DarkGoldenrod\0"
+ "DarkGoldenrod1\0"
+ "DarkGoldenrod2\0"
+ "DarkGoldenrod3\0"
+ "DarkGoldenrod4\0"
+ "DarkGray\0"
+ "DarkGreen\0"
+ "DarkGrey\0"
+ "DarkKhaki\0"
+ "DarkMagenta\0"
+ "DarkOliveGreen\0"
+ "DarkOliveGreen1\0"
+ "DarkOliveGreen2\0"
+ "DarkOliveGreen3\0"
+ "DarkOliveGreen4\0"
+ "DarkOrange\0"
+ "DarkOrange1\0"
+ "DarkOrange2\0"
+ "DarkOrange3\0"
+ "DarkOrange4\0"
+ "DarkOrchid\0"
+ "DarkOrchid1\0"
+ "DarkOrchid2\0"
+ "DarkOrchid3\0"
+ "DarkOrchid4\0"
+ "DarkRed\0"
+ "DarkSalmon\0"
+ "DarkSeaGreen\0"
+ "DarkSeaGreen1\0"
+ "DarkSeaGreen2\0"
+ "DarkSeaGreen3\0"
+ "DarkSeaGreen4\0"
+ "DarkSlateBlue\0"
+ "DarkSlateGray\0"
+ "DarkSlateGray1\0"
+ "DarkSlateGray2\0"
+ "DarkSlateGray3\0"
+ "DarkSlateGray4\0"
+ "DarkSlateGrey\0"
+ "DarkTurquoise\0"
+ "DarkViolet\0"
+ "deep pink\0"
+ "deep sky blue\0"
+ "DeepPink\0"
+ "DeepPink1\0"
+ "DeepPink2\0"
+ "DeepPink3\0"
+ "DeepPink4\0"
+ "DeepSkyBlue\0"
+ "DeepSkyBlue1\0"
+ "DeepSkyBlue2\0"
+ "DeepSkyBlue3\0"
+ "DeepSkyBlue4\0"
+ "dim gray\0"
+ "dim grey\0"
+ "DimGray\0"
+ "DimGrey\0"
+ "dodger blue\0"
+ "DodgerBlue\0"
+ "DodgerBlue1\0"
+ "DodgerBlue2\0"
+ "DodgerBlue3\0"
+ "DodgerBlue4\0"
+ "firebrick\0"
+ "firebrick1\0"
+ "firebrick2\0"
+ "firebrick3\0"
+ "firebrick4\0"
+ "floral white\0"
+ "FloralWhite\0"
+ "forest green\0"
+ "ForestGreen\0"
+ "gainsboro\0"
+ "ghost white\0"
+ "GhostWhite\0"
+ "gold\0"
+ "gold1\0"
+ "gold2\0"
+ "gold3\0"
+ "gold4\0"
+ "goldenrod\0"
+ "goldenrod1\0"
+ "goldenrod2\0"
+ "goldenrod3\0"
+ "goldenrod4\0"
+ "gray\0"
+ "gray0\0"
+ "gray1\0"
+ "gray10\0"
+ "gray100\0"
+ "gray11\0"
+ "gray12\0"
+ "gray13\0"
+ "gray14\0"
+ "gray15\0"
+ "gray16\0"
+ "gray17\0"
+ "gray18\0"
+ "gray19\0"
+ "gray2\0"
+ "gray20\0"
+ "gray21\0"
+ "gray22\0"
+ "gray23\0"
+ "gray24\0"
+ "gray25\0"
+ "gray26\0"
+ "gray27\0"
+ "gray28\0"
+ "gray29\0"
+ "gray3\0"
+ "gray30\0"
+ "gray31\0"
+ "gray32\0"
+ "gray33\0"
+ "gray34\0"
+ "gray35\0"
+ "gray36\0"
+ "gray37\0"
+ "gray38\0"
+ "gray39\0"
+ "gray4\0"
+ "gray40\0"
+ "gray41\0"
+ "gray42\0"
+ "gray43\0"
+ "gray44\0"
+ "gray45\0"
+ "gray46\0"
+ "gray47\0"
+ "gray48\0"
+ "gray49\0"
+ "gray5\0"
+ "gray50\0"
+ "gray51\0"
+ "gray52\0"
+ "gray53\0"
+ "gray54\0"
+ "gray55\0"
+ "gray56\0"
+ "gray57\0"
+ "gray58\0"
+ "gray59\0"
+ "gray6\0"
+ "gray60\0"
+ "gray61\0"
+ "gray62\0"
+ "gray63\0"
+ "gray64\0"
+ "gray65\0"
+ "gray66\0"
+ "gray67\0"
+ "gray68\0"
+ "gray69\0"
+ "gray7\0"
+ "gray70\0"
+ "gray71\0"
+ "gray72\0"
+ "gray73\0"
+ "gray74\0"
+ "gray75\0"
+ "gray76\0"
+ "gray77\0"
+ "gray78\0"
+ "gray79\0"
+ "gray8\0"
+ "gray80\0"
+ "gray81\0"
+ "gray82\0"
+ "gray83\0"
+ "gray84\0"
+ "gray85\0"
+ "gray86\0"
+ "gray87\0"
+ "gray88\0"
+ "gray89\0"
+ "gray9\0"
+ "gray90\0"
+ "gray91\0"
+ "gray92\0"
+ "gray93\0"
+ "gray94\0"
+ "gray95\0"
+ "gray96\0"
+ "gray97\0"
+ "gray98\0"
+ "gray99\0"
+ "green\0"
+ "green yellow\0"
+ "green1\0"
+ "green2\0"
+ "green3\0"
+ "green4\0"
+ "GreenYellow\0"
+ "grey\0"
+ "grey0\0"
+ "grey1\0"
+ "grey10\0"
+ "grey100\0"
+ "grey11\0"
+ "grey12\0"
+ "grey13\0"
+ "grey14\0"
+ "grey15\0"
+ "grey16\0"
+ "grey17\0"
+ "grey18\0"
+ "grey19\0"
+ "grey2\0"
+ "grey20\0"
+ "grey21\0"
+ "grey22\0"
+ "grey23\0"
+ "grey24\0"
+ "grey25\0"
+ "grey26\0"
+ "grey27\0"
+ "grey28\0"
+ "grey29\0"
+ "grey3\0"
+ "grey30\0"
+ "grey31\0"
+ "grey32\0"
+ "grey33\0"
+ "grey34\0"
+ "grey35\0"
+ "grey36\0"
+ "grey37\0"
+ "grey38\0"
+ "grey39\0"
+ "grey4\0"
+ "grey40\0"
+ "grey41\0"
+ "grey42\0"
+ "grey43\0"
+ "grey44\0"
+ "grey45\0"
+ "grey46\0"
+ "grey47\0"
+ "grey48\0"
+ "grey49\0"
+ "grey5\0"
+ "grey50\0"
+ "grey51\0"
+ "grey52\0"
+ "grey53\0"
+ "grey54\0"
+ "grey55\0"
+ "grey56\0"
+ "grey57\0"
+ "grey58\0"
+ "grey59\0"
+ "grey6\0"
+ "grey60\0"
+ "grey61\0"
+ "grey62\0"
+ "grey63\0"
+ "grey64\0"
+ "grey65\0"
+ "grey66\0"
+ "grey67\0"
+ "grey68\0"
+ "grey69\0"
+ "grey7\0"
+ "grey70\0"
+ "grey71\0"
+ "grey72\0"
+ "grey73\0"
+ "grey74\0"
+ "grey75\0"
+ "grey76\0"
+ "grey77\0"
+ "grey78\0"
+ "grey79\0"
+ "grey8\0"
+ "grey80\0"
+ "grey81\0"
+ "grey82\0"
+ "grey83\0"
+ "grey84\0"
+ "grey85\0"
+ "grey86\0"
+ "grey87\0"
+ "grey88\0"
+ "grey89\0"
+ "grey9\0"
+ "grey90\0"
+ "grey91\0"
+ "grey92\0"
+ "grey93\0"
+ "grey94\0"
+ "grey95\0"
+ "grey96\0"
+ "grey97\0"
+ "grey98\0"
+ "grey99\0"
+ "honeydew\0"
+ "honeydew1\0"
+ "honeydew2\0"
+ "honeydew3\0"
+ "honeydew4\0"
+ "hot pink\0"
+ "HotPink\0"
+ "HotPink1\0"
+ "HotPink2\0"
+ "HotPink3\0"
+ "HotPink4\0"
+ "indian red\0"
+ "IndianRed\0"
+ "IndianRed1\0"
+ "IndianRed2\0"
+ "IndianRed3\0"
+ "IndianRed4\0"
+ "ivory\0"
+ "ivory1\0"
+ "ivory2\0"
+ "ivory3\0"
+ "ivory4\0"
+ "khaki\0"
+ "khaki1\0"
+ "khaki2\0"
+ "khaki3\0"
+ "khaki4\0"
+ "lavender\0"
+ "lavender blush\0"
+ "LavenderBlush\0"
+ "LavenderBlush1\0"
+ "LavenderBlush2\0"
+ "LavenderBlush3\0"
+ "LavenderBlush4\0"
+ "lawn green\0"
+ "LawnGreen\0"
+ "lemon chiffon\0"
+ "LemonChiffon\0"
+ "LemonChiffon1\0"
+ "LemonChiffon2\0"
+ "LemonChiffon3\0"
+ "LemonChiffon4\0"
+ "light blue\0"
+ "light coral\0"
+ "light cyan\0"
+ "light goldenrod\0"
+ "light goldenrod yellow\0"
+ "light gray\0"
+ "light green\0"
+ "light grey\0"
+ "light pink\0"
+ "light salmon\0"
+ "light sea green\0"
+ "light sky blue\0"
+ "light slate blue\0"
+ "light slate gray\0"
+ "light slate grey\0"
+ "light steel blue\0"
+ "light yellow\0"
+ "LightBlue\0"
+ "LightBlue1\0"
+ "LightBlue2\0"
+ "LightBlue3\0"
+ "LightBlue4\0"
+ "LightCoral\0"
+ "LightCyan\0"
+ "LightCyan1\0"
+ "LightCyan2\0"
+ "LightCyan3\0"
+ "LightCyan4\0"
+ "LightGoldenrod\0"
+ "LightGoldenrod1\0"
+ "LightGoldenrod2\0"
+ "LightGoldenrod3\0"
+ "LightGoldenrod4\0"
+ "LightGoldenrodYellow\0"
+ "LightGray\0"
+ "LightGreen\0"
+ "LightGrey\0"
+ "LightPink\0"
+ "LightPink1\0"
+ "LightPink2\0"
+ "LightPink3\0"
+ "LightPink4\0"
+ "LightSalmon\0"
+ "LightSalmon1\0"
+ "LightSalmon2\0"
+ "LightSalmon3\0"
+ "LightSalmon4\0"
+ "LightSeaGreen\0"
+ "LightSkyBlue\0"
+ "LightSkyBlue1\0"
+ "LightSkyBlue2\0"
+ "LightSkyBlue3\0"
+ "LightSkyBlue4\0"
+ "LightSlateBlue\0"
+ "LightSlateGray\0"
+ "LightSlateGrey\0"
+ "LightSteelBlue\0"
+ "LightSteelBlue1\0"
+ "LightSteelBlue2\0"
+ "LightSteelBlue3\0"
+ "LightSteelBlue4\0"
+ "LightYellow\0"
+ "LightYellow1\0"
+ "LightYellow2\0"
+ "LightYellow3\0"
+ "LightYellow4\0"
+ "lime green\0"
+ "LimeGreen\0"
+ "linen\0"
+ "magenta\0"
+ "magenta1\0"
+ "magenta2\0"
+ "magenta3\0"
+ "magenta4\0"
+ "maroon\0"
+ "maroon1\0"
+ "maroon2\0"
+ "maroon3\0"
+ "maroon4\0"
+ "medium aquamarine\0"
+ "medium blue\0"
+ "medium orchid\0"
+ "medium purple\0"
+ "medium sea green\0"
+ "medium slate blue\0"
+ "medium spring green\0"
+ "medium turquoise\0"
+ "medium violet red\0"
+ "MediumAquamarine\0"
+ "MediumBlue\0"
+ "MediumOrchid\0"
+ "MediumOrchid1\0"
+ "MediumOrchid2\0"
+ "MediumOrchid3\0"
+ "MediumOrchid4\0"
+ "MediumPurple\0"
+ "MediumPurple1\0"
+ "MediumPurple2\0"
+ "MediumPurple3\0"
+ "MediumPurple4\0"
+ "MediumSeaGreen\0"
+ "MediumSlateBlue\0"
+ "MediumSpringGreen\0"
+ "MediumTurquoise\0"
+ "MediumVioletRed\0"
+ "midnight blue\0"
+ "MidnightBlue\0"
+ "mint cream\0"
+ "MintCream\0"
+ "misty rose\0"
+ "MistyRose\0"
+ "MistyRose1\0"
+ "MistyRose2\0"
+ "MistyRose3\0"
+ "MistyRose4\0"
+ "moccasin\0"
+ "navajo white\0"
+ "NavajoWhite\0"
+ "NavajoWhite1\0"
+ "NavajoWhite2\0"
+ "NavajoWhite3\0"
+ "NavajoWhite4\0"
+ "navy\0"
+ "navy blue\0"
+ "NavyBlue\0"
+ "old lace\0"
+ "OldLace\0"
+ "olive drab\0"
+ "OliveDrab\0"
+ "OliveDrab1\0"
+ "OliveDrab2\0"
+ "OliveDrab3\0"
+ "OliveDrab4\0"
+ "orange\0"
+ "orange red\0"
+ "orange1\0"
+ "orange2\0"
+ "orange3\0"
+ "orange4\0"
+ "OrangeRed\0"
+ "OrangeRed1\0"
+ "OrangeRed2\0"
+ "OrangeRed3\0"
+ "OrangeRed4\0"
+ "orchid\0"
+ "orchid1\0"
+ "orchid2\0"
+ "orchid3\0"
+ "orchid4\0"
+ "pale goldenrod\0"
+ "pale green\0"
+ "pale turquoise\0"
+ "pale violet red\0"
+ "PaleGoldenrod\0"
+ "PaleGreen\0"
+ "PaleGreen1\0"
+ "PaleGreen2\0"
+ "PaleGreen3\0"
+ "PaleGreen4\0"
+ "PaleTurquoise\0"
+ "PaleTurquoise1\0"
+ "PaleTurquoise2\0"
+ "PaleTurquoise3\0"
+ "PaleTurquoise4\0"
+ "PaleVioletRed\0"
+ "PaleVioletRed1\0"
+ "PaleVioletRed2\0"
+ "PaleVioletRed3\0"
+ "PaleVioletRed4\0"
+ "papaya whip\0"
+ "PapayaWhip\0"
+ "peach puff\0"
+ "PeachPuff\0"
+ "PeachPuff1\0"
+ "PeachPuff2\0"
+ "PeachPuff3\0"
+ "PeachPuff4\0"
+ "peru\0"
+ "pink\0"
+ "pink1\0"
+ "pink2\0"
+ "pink3\0"
+ "pink4\0"
+ "plum\0"
+ "plum1\0"
+ "plum2\0"
+ "plum3\0"
+ "plum4\0"
+ "powder blue\0"
+ "PowderBlue\0"
+ "purple\0"
+ "purple1\0"
+ "purple2\0"
+ "purple3\0"
+ "purple4\0"
+ "red\0"
+ "red1\0"
+ "red2\0"
+ "red3\0"
+ "red4\0"
+ "rosy brown\0"
+ "RosyBrown\0"
+ "RosyBrown1\0"
+ "RosyBrown2\0"
+ "RosyBrown3\0"
+ "RosyBrown4\0"
+ "royal blue\0"
+ "RoyalBlue\0"
+ "RoyalBlue1\0"
+ "RoyalBlue2\0"
+ "RoyalBlue3\0"
+ "RoyalBlue4\0"
+ "saddle brown\0"
+ "SaddleBrown\0"
+ "salmon\0"
+ "salmon1\0"
+ "salmon2\0"
+ "salmon3\0"
+ "salmon4\0"
+ "sandy brown\0"
+ "SandyBrown\0"
+ "sea green\0"
+ "SeaGreen\0"
+ "SeaGreen1\0"
+ "SeaGreen2\0"
+ "SeaGreen3\0"
+ "SeaGreen4\0"
+ "seashell\0"
+ "seashell1\0"
+ "seashell2\0"
+ "seashell3\0"
+ "seashell4\0"
+ "sienna\0"
+ "sienna1\0"
+ "sienna2\0"
+ "sienna3\0"
+ "sienna4\0"
+ "sky blue\0"
+ "SkyBlue\0"
+ "SkyBlue1\0"
+ "SkyBlue2\0"
+ "SkyBlue3\0"
+ "SkyBlue4\0"
+ "slate blue\0"
+ "slate gray\0"
+ "slate grey\0"
+ "SlateBlue\0"
+ "SlateBlue1\0"
+ "SlateBlue2\0"
+ "SlateBlue3\0"
+ "SlateBlue4\0"
+ "SlateGray\0"
+ "SlateGray1\0"
+ "SlateGray2\0"
+ "SlateGray3\0"
+ "SlateGray4\0"
+ "SlateGrey\0"
+ "snow\0"
+ "snow1\0"
+ "snow2\0"
+ "snow3\0"
+ "snow4\0"
+ "spring green\0"
+ "SpringGreen\0"
+ "SpringGreen1\0"
+ "SpringGreen2\0"
+ "SpringGreen3\0"
+ "SpringGreen4\0"
+ "steel blue\0"
+ "SteelBlue\0"
+ "SteelBlue1\0"
+ "SteelBlue2\0"
+ "SteelBlue3\0"
+ "SteelBlue4\0"
+ "tan\0"
+ "tan1\0"
+ "tan2\0"
+ "tan3\0"
+ "tan4\0"
+ "thistle\0"
+ "thistle1\0"
+ "thistle2\0"
+ "thistle3\0"
+ "thistle4\0"
+ "tomato\0"
+ "tomato1\0"
+ "tomato2\0"
+ "tomato3\0"
+ "tomato4\0"
+ "turquoise\0"
+ "turquoise1\0"
+ "turquoise2\0"
+ "turquoise3\0"
+ "turquoise4\0"
+ "violet\0"
+ "violet red\0"
+ "VioletRed\0"
+ "VioletRed1\0"
+ "VioletRed2\0"
+ "VioletRed3\0"
+ "VioletRed4\0"
+ "wheat\0"
+ "wheat1\0"
+ "wheat2\0"
+ "wheat3\0"
+ "wheat4\0"
+ "white\0"
+ "white smoke\0"
+ "WhiteSmoke\0"
+ "yellow\0"
+ "yellow green\0"
+ "yellow1\0"
+ "yellow2\0"
+ "yellow3\0"
+ "yellow4\0"
+ "YellowGreen\0";
+
+typedef struct {
+ guint16 name_offset;
+ guchar red;
+ guchar green;
+ guchar blue;
+} ColorEntry;
+
+static const ColorEntry color_entries[] = {
+ { 0, 240, 248, 255 },
+ { 11, 240, 248, 255 },
+ { 21, 250, 235, 215 },
+ { 35, 250, 235, 215 },
+ { 48, 255, 239, 219 },
+ { 62, 238, 223, 204 },
+ { 76, 205, 192, 176 },
+ { 90, 139, 131, 120 },
+ { 104, 127, 255, 212 },
+ { 115, 127, 255, 212 },
+ { 127, 118, 238, 198 },
+ { 139, 102, 205, 170 },
+ { 151, 69, 139, 116 },
+ { 163, 240, 255, 255 },
+ { 169, 240, 255, 255 },
+ { 176, 224, 238, 238 },
+ { 183, 193, 205, 205 },
+ { 190, 131, 139, 139 },
+ { 197, 245, 245, 220 },
+ { 203, 255, 228, 196 },
+ { 210, 255, 228, 196 },
+ { 218, 238, 213, 183 },
+ { 226, 205, 183, 158 },
+ { 234, 139, 125, 107 },
+ { 242, 0, 0, 0 },
+ { 248, 255, 235, 205 },
+ { 264, 255, 235, 205 },
+ { 279, 0, 0, 255 },
+ { 284, 138, 43, 226 },
+ { 296, 0, 0, 255 },
+ { 302, 0, 0, 238 },
+ { 308, 0, 0, 205 },
+ { 314, 0, 0, 139 },
+ { 320, 138, 43, 226 },
+ { 331, 165, 42, 42 },
+ { 337, 255, 64, 64 },
+ { 344, 238, 59, 59 },
+ { 351, 205, 51, 51 },
+ { 358, 139, 35, 35 },
+ { 365, 222, 184, 135 },
+ { 375, 255, 211, 155 },
+ { 386, 238, 197, 145 },
+ { 397, 205, 170, 125 },
+ { 408, 139, 115, 85 },
+ { 419, 95, 158, 160 },
+ { 430, 95, 158, 160 },
+ { 440, 152, 245, 255 },
+ { 451, 142, 229, 238 },
+ { 462, 122, 197, 205 },
+ { 473, 83, 134, 139 },
+ { 484, 127, 255, 0 },
+ { 495, 127, 255, 0 },
+ { 507, 118, 238, 0 },
+ { 519, 102, 205, 0 },
+ { 531, 69, 139, 0 },
+ { 543, 210, 105, 30 },
+ { 553, 255, 127, 36 },
+ { 564, 238, 118, 33 },
+ { 575, 205, 102, 29 },
+ { 586, 139, 69, 19 },
+ { 597, 255, 127, 80 },
+ { 603, 255, 114, 86 },
+ { 610, 238, 106, 80 },
+ { 617, 205, 91, 69 },
+ { 624, 139, 62, 47 },
+ { 631, 100, 149, 237 },
+ { 647, 100, 149, 237 },
+ { 662, 255, 248, 220 },
+ { 671, 255, 248, 220 },
+ { 681, 238, 232, 205 },
+ { 691, 205, 200, 177 },
+ { 701, 139, 136, 120 },
+ { 711, 0, 255, 255 },
+ { 716, 0, 255, 255 },
+ { 722, 0, 238, 238 },
+ { 728, 0, 205, 205 },
+ { 734, 0, 139, 139 },
+ { 740, 0, 0, 139 },
+ { 750, 0, 139, 139 },
+ { 760, 184, 134, 11 },
+ { 775, 169, 169, 169 },
+ { 785, 0, 100, 0 },
+ { 796, 169, 169, 169 },
+ { 806, 189, 183, 107 },
+ { 817, 139, 0, 139 },
+ { 830, 85, 107, 47 },
+ { 847, 255, 140, 0 },
+ { 859, 153, 50, 204 },
+ { 871, 139, 0, 0 },
+ { 880, 233, 150, 122 },
+ { 892, 143, 188, 143 },
+ { 907, 72, 61, 139 },
+ { 923, 47, 79, 79 },
+ { 939, 47, 79, 79 },
+ { 955, 0, 206, 209 },
+ { 970, 148, 0, 211 },
+ { 982, 0, 0, 139 },
+ { 991, 0, 139, 139 },
+ { 1000, 184, 134, 11 },
+ { 1014, 255, 185, 15 },
+ { 1029, 238, 173, 14 },
+ { 1044, 205, 149, 12 },
+ { 1059, 139, 101, 8 },
+ { 1074, 169, 169, 169 },
+ { 1083, 0, 100, 0 },
+ { 1093, 169, 169, 169 },
+ { 1102, 189, 183, 107 },
+ { 1112, 139, 0, 139 },
+ { 1124, 85, 107, 47 },
+ { 1139, 202, 255, 112 },
+ { 1155, 188, 238, 104 },
+ { 1171, 162, 205, 90 },
+ { 1187, 110, 139, 61 },
+ { 1203, 255, 140, 0 },
+ { 1214, 255, 127, 0 },
+ { 1226, 238, 118, 0 },
+ { 1238, 205, 102, 0 },
+ { 1250, 139, 69, 0 },
+ { 1262, 153, 50, 204 },
+ { 1273, 191, 62, 255 },
+ { 1285, 178, 58, 238 },
+ { 1297, 154, 50, 205 },
+ { 1309, 104, 34, 139 },
+ { 1321, 139, 0, 0 },
+ { 1329, 233, 150, 122 },
+ { 1340, 143, 188, 143 },
+ { 1353, 193, 255, 193 },
+ { 1367, 180, 238, 180 },
+ { 1381, 155, 205, 155 },
+ { 1395, 105, 139, 105 },
+ { 1409, 72, 61, 139 },
+ { 1423, 47, 79, 79 },
+ { 1437, 151, 255, 255 },
+ { 1452, 141, 238, 238 },
+ { 1467, 121, 205, 205 },
+ { 1482, 82, 139, 139 },
+ { 1497, 47, 79, 79 },
+ { 1511, 0, 206, 209 },
+ { 1525, 148, 0, 211 },
+ { 1536, 255, 20, 147 },
+ { 1546, 0, 191, 255 },
+ { 1560, 255, 20, 147 },
+ { 1569, 255, 20, 147 },
+ { 1579, 238, 18, 137 },
+ { 1589, 205, 16, 118 },
+ { 1599, 139, 10, 80 },
+ { 1609, 0, 191, 255 },
+ { 1621, 0, 191, 255 },
+ { 1634, 0, 178, 238 },
+ { 1647, 0, 154, 205 },
+ { 1660, 0, 104, 139 },
+ { 1673, 105, 105, 105 },
+ { 1682, 105, 105, 105 },
+ { 1691, 105, 105, 105 },
+ { 1699, 105, 105, 105 },
+ { 1707, 30, 144, 255 },
+ { 1719, 30, 144, 255 },
+ { 1730, 30, 144, 255 },
+ { 1742, 28, 134, 238 },
+ { 1754, 24, 116, 205 },
+ { 1766, 16, 78, 139 },
+ { 1778, 178, 34, 34 },
+ { 1788, 255, 48, 48 },
+ { 1799, 238, 44, 44 },
+ { 1810, 205, 38, 38 },
+ { 1821, 139, 26, 26 },
+ { 1832, 255, 250, 240 },
+ { 1845, 255, 250, 240 },
+ { 1857, 34, 139, 34 },
+ { 1870, 34, 139, 34 },
+ { 1882, 220, 220, 220 },
+ { 1892, 248, 248, 255 },
+ { 1904, 248, 248, 255 },
+ { 1915, 255, 215, 0 },
+ { 1920, 255, 215, 0 },
+ { 1926, 238, 201, 0 },
+ { 1932, 205, 173, 0 },
+ { 1938, 139, 117, 0 },
+ { 1944, 218, 165, 32 },
+ { 1954, 255, 193, 37 },
+ { 1965, 238, 180, 34 },
+ { 1976, 205, 155, 29 },
+ { 1987, 139, 105, 20 },
+ { 1998, 190, 190, 190 },
+ { 2003, 0, 0, 0 },
+ { 2009, 3, 3, 3 },
+ { 2015, 26, 26, 26 },
+ { 2022, 255, 255, 255 },
+ { 2030, 28, 28, 28 },
+ { 2037, 31, 31, 31 },
+ { 2044, 33, 33, 33 },
+ { 2051, 36, 36, 36 },
+ { 2058, 38, 38, 38 },
+ { 2065, 41, 41, 41 },
+ { 2072, 43, 43, 43 },
+ { 2079, 46, 46, 46 },
+ { 2086, 48, 48, 48 },
+ { 2093, 5, 5, 5 },
+ { 2099, 51, 51, 51 },
+ { 2106, 54, 54, 54 },
+ { 2113, 56, 56, 56 },
+ { 2120, 59, 59, 59 },
+ { 2127, 61, 61, 61 },
+ { 2134, 64, 64, 64 },
+ { 2141, 66, 66, 66 },
+ { 2148, 69, 69, 69 },
+ { 2155, 71, 71, 71 },
+ { 2162, 74, 74, 74 },
+ { 2169, 8, 8, 8 },
+ { 2175, 77, 77, 77 },
+ { 2182, 79, 79, 79 },
+ { 2189, 82, 82, 82 },
+ { 2196, 84, 84, 84 },
+ { 2203, 87, 87, 87 },
+ { 2210, 89, 89, 89 },
+ { 2217, 92, 92, 92 },
+ { 2224, 94, 94, 94 },
+ { 2231, 97, 97, 97 },
+ { 2238, 99, 99, 99 },
+ { 2245, 10, 10, 10 },
+ { 2251, 102, 102, 102 },
+ { 2258, 105, 105, 105 },
+ { 2265, 107, 107, 107 },
+ { 2272, 110, 110, 110 },
+ { 2279, 112, 112, 112 },
+ { 2286, 115, 115, 115 },
+ { 2293, 117, 117, 117 },
+ { 2300, 120, 120, 120 },
+ { 2307, 122, 122, 122 },
+ { 2314, 125, 125, 125 },
+ { 2321, 13, 13, 13 },
+ { 2327, 127, 127, 127 },
+ { 2334, 130, 130, 130 },
+ { 2341, 133, 133, 133 },
+ { 2348, 135, 135, 135 },
+ { 2355, 138, 138, 138 },
+ { 2362, 140, 140, 140 },
+ { 2369, 143, 143, 143 },
+ { 2376, 145, 145, 145 },
+ { 2383, 148, 148, 148 },
+ { 2390, 150, 150, 150 },
+ { 2397, 15, 15, 15 },
+ { 2403, 153, 153, 153 },
+ { 2410, 156, 156, 156 },
+ { 2417, 158, 158, 158 },
+ { 2424, 161, 161, 161 },
+ { 2431, 163, 163, 163 },
+ { 2438, 166, 166, 166 },
+ { 2445, 168, 168, 168 },
+ { 2452, 171, 171, 171 },
+ { 2459, 173, 173, 173 },
+ { 2466, 176, 176, 176 },
+ { 2473, 18, 18, 18 },
+ { 2479, 179, 179, 179 },
+ { 2486, 181, 181, 181 },
+ { 2493, 184, 184, 184 },
+ { 2500, 186, 186, 186 },
+ { 2507, 189, 189, 189 },
+ { 2514, 191, 191, 191 },
+ { 2521, 194, 194, 194 },
+ { 2528, 196, 196, 196 },
+ { 2535, 199, 199, 199 },
+ { 2542, 201, 201, 201 },
+ { 2549, 20, 20, 20 },
+ { 2555, 204, 204, 204 },
+ { 2562, 207, 207, 207 },
+ { 2569, 209, 209, 209 },
+ { 2576, 212, 212, 212 },
+ { 2583, 214, 214, 214 },
+ { 2590, 217, 217, 217 },
+ { 2597, 219, 219, 219 },
+ { 2604, 222, 222, 222 },
+ { 2611, 224, 224, 224 },
+ { 2618, 227, 227, 227 },
+ { 2625, 23, 23, 23 },
+ { 2631, 229, 229, 229 },
+ { 2638, 232, 232, 232 },
+ { 2645, 235, 235, 235 },
+ { 2652, 237, 237, 237 },
+ { 2659, 240, 240, 240 },
+ { 2666, 242, 242, 242 },
+ { 2673, 245, 245, 245 },
+ { 2680, 247, 247, 247 },
+ { 2687, 250, 250, 250 },
+ { 2694, 252, 252, 252 },
+ { 2701, 0, 255, 0 },
+ { 2707, 173, 255, 47 },
+ { 2720, 0, 255, 0 },
+ { 2727, 0, 238, 0 },
+ { 2734, 0, 205, 0 },
+ { 2741, 0, 139, 0 },
+ { 2748, 173, 255, 47 },
+ { 2760, 190, 190, 190 },
+ { 2765, 0, 0, 0 },
+ { 2771, 3, 3, 3 },
+ { 2777, 26, 26, 26 },
+ { 2784, 255, 255, 255 },
+ { 2792, 28, 28, 28 },
+ { 2799, 31, 31, 31 },
+ { 2806, 33, 33, 33 },
+ { 2813, 36, 36, 36 },
+ { 2820, 38, 38, 38 },
+ { 2827, 41, 41, 41 },
+ { 2834, 43, 43, 43 },
+ { 2841, 46, 46, 46 },
+ { 2848, 48, 48, 48 },
+ { 2855, 5, 5, 5 },
+ { 2861, 51, 51, 51 },
+ { 2868, 54, 54, 54 },
+ { 2875, 56, 56, 56 },
+ { 2882, 59, 59, 59 },
+ { 2889, 61, 61, 61 },
+ { 2896, 64, 64, 64 },
+ { 2903, 66, 66, 66 },
+ { 2910, 69, 69, 69 },
+ { 2917, 71, 71, 71 },
+ { 2924, 74, 74, 74 },
+ { 2931, 8, 8, 8 },
+ { 2937, 77, 77, 77 },
+ { 2944, 79, 79, 79 },
+ { 2951, 82, 82, 82 },
+ { 2958, 84, 84, 84 },
+ { 2965, 87, 87, 87 },
+ { 2972, 89, 89, 89 },
+ { 2979, 92, 92, 92 },
+ { 2986, 94, 94, 94 },
+ { 2993, 97, 97, 97 },
+ { 3000, 99, 99, 99 },
+ { 3007, 10, 10, 10 },
+ { 3013, 102, 102, 102 },
+ { 3020, 105, 105, 105 },
+ { 3027, 107, 107, 107 },
+ { 3034, 110, 110, 110 },
+ { 3041, 112, 112, 112 },
+ { 3048, 115, 115, 115 },
+ { 3055, 117, 117, 117 },
+ { 3062, 120, 120, 120 },
+ { 3069, 122, 122, 122 },
+ { 3076, 125, 125, 125 },
+ { 3083, 13, 13, 13 },
+ { 3089, 127, 127, 127 },
+ { 3096, 130, 130, 130 },
+ { 3103, 133, 133, 133 },
+ { 3110, 135, 135, 135 },
+ { 3117, 138, 138, 138 },
+ { 3124, 140, 140, 140 },
+ { 3131, 143, 143, 143 },
+ { 3138, 145, 145, 145 },
+ { 3145, 148, 148, 148 },
+ { 3152, 150, 150, 150 },
+ { 3159, 15, 15, 15 },
+ { 3165, 153, 153, 153 },
+ { 3172, 156, 156, 156 },
+ { 3179, 158, 158, 158 },
+ { 3186, 161, 161, 161 },
+ { 3193, 163, 163, 163 },
+ { 3200, 166, 166, 166 },
+ { 3207, 168, 168, 168 },
+ { 3214, 171, 171, 171 },
+ { 3221, 173, 173, 173 },
+ { 3228, 176, 176, 176 },
+ { 3235, 18, 18, 18 },
+ { 3241, 179, 179, 179 },
+ { 3248, 181, 181, 181 },
+ { 3255, 184, 184, 184 },
+ { 3262, 186, 186, 186 },
+ { 3269, 189, 189, 189 },
+ { 3276, 191, 191, 191 },
+ { 3283, 194, 194, 194 },
+ { 3290, 196, 196, 196 },
+ { 3297, 199, 199, 199 },
+ { 3304, 201, 201, 201 },
+ { 3311, 20, 20, 20 },
+ { 3317, 204, 204, 204 },
+ { 3324, 207, 207, 207 },
+ { 3331, 209, 209, 209 },
+ { 3338, 212, 212, 212 },
+ { 3345, 214, 214, 214 },
+ { 3352, 217, 217, 217 },
+ { 3359, 219, 219, 219 },
+ { 3366, 222, 222, 222 },
+ { 3373, 224, 224, 224 },
+ { 3380, 227, 227, 227 },
+ { 3387, 23, 23, 23 },
+ { 3393, 229, 229, 229 },
+ { 3400, 232, 232, 232 },
+ { 3407, 235, 235, 235 },
+ { 3414, 237, 237, 237 },
+ { 3421, 240, 240, 240 },
+ { 3428, 242, 242, 242 },
+ { 3435, 245, 245, 245 },
+ { 3442, 247, 247, 247 },
+ { 3449, 250, 250, 250 },
+ { 3456, 252, 252, 252 },
+ { 3463, 240, 255, 240 },
+ { 3472, 240, 255, 240 },
+ { 3482, 224, 238, 224 },
+ { 3492, 193, 205, 193 },
+ { 3502, 131, 139, 131 },
+ { 3512, 255, 105, 180 },
+ { 3521, 255, 105, 180 },
+ { 3529, 255, 110, 180 },
+ { 3538, 238, 106, 167 },
+ { 3547, 205, 96, 144 },
+ { 3556, 139, 58, 98 },
+ { 3565, 205, 92, 92 },
+ { 3576, 205, 92, 92 },
+ { 3586, 255, 106, 106 },
+ { 3597, 238, 99, 99 },
+ { 3608, 205, 85, 85 },
+ { 3619, 139, 58, 58 },
+ { 3630, 255, 255, 240 },
+ { 3636, 255, 255, 240 },
+ { 3643, 238, 238, 224 },
+ { 3650, 205, 205, 193 },
+ { 3657, 139, 139, 131 },
+ { 3664, 240, 230, 140 },
+ { 3670, 255, 246, 143 },
+ { 3677, 238, 230, 133 },
+ { 3684, 205, 198, 115 },
+ { 3691, 139, 134, 78 },
+ { 3698, 230, 230, 250 },
+ { 3707, 255, 240, 245 },
+ { 3722, 255, 240, 245 },
+ { 3736, 255, 240, 245 },
+ { 3751, 238, 224, 229 },
+ { 3766, 205, 193, 197 },
+ { 3781, 139, 131, 134 },
+ { 3796, 124, 252, 0 },
+ { 3807, 124, 252, 0 },
+ { 3817, 255, 250, 205 },
+ { 3831, 255, 250, 205 },
+ { 3844, 255, 250, 205 },
+ { 3858, 238, 233, 191 },
+ { 3872, 205, 201, 165 },
+ { 3886, 139, 137, 112 },
+ { 3900, 173, 216, 230 },
+ { 3911, 240, 128, 128 },
+ { 3923, 224, 255, 255 },
+ { 3934, 238, 221, 130 },
+ { 3950, 250, 250, 210 },
+ { 3973, 211, 211, 211 },
+ { 3984, 144, 238, 144 },
+ { 3996, 211, 211, 211 },
+ { 4007, 255, 182, 193 },
+ { 4018, 255, 160, 122 },
+ { 4031, 32, 178, 170 },
+ { 4047, 135, 206, 250 },
+ { 4062, 132, 112, 255 },
+ { 4079, 119, 136, 153 },
+ { 4096, 119, 136, 153 },
+ { 4113, 176, 196, 222 },
+ { 4130, 255, 255, 224 },
+ { 4143, 173, 216, 230 },
+ { 4153, 191, 239, 255 },
+ { 4164, 178, 223, 238 },
+ { 4175, 154, 192, 205 },
+ { 4186, 104, 131, 139 },
+ { 4197, 240, 128, 128 },
+ { 4208, 224, 255, 255 },
+ { 4218, 224, 255, 255 },
+ { 4229, 209, 238, 238 },
+ { 4240, 180, 205, 205 },
+ { 4251, 122, 139, 139 },
+ { 4262, 238, 221, 130 },
+ { 4277, 255, 236, 139 },
+ { 4293, 238, 220, 130 },
+ { 4309, 205, 190, 112 },
+ { 4325, 139, 129, 76 },
+ { 4341, 250, 250, 210 },
+ { 4362, 211, 211, 211 },
+ { 4372, 144, 238, 144 },
+ { 4383, 211, 211, 211 },
+ { 4393, 255, 182, 193 },
+ { 4403, 255, 174, 185 },
+ { 4414, 238, 162, 173 },
+ { 4425, 205, 140, 149 },
+ { 4436, 139, 95, 101 },
+ { 4447, 255, 160, 122 },
+ { 4459, 255, 160, 122 },
+ { 4472, 238, 149, 114 },
+ { 4485, 205, 129, 98 },
+ { 4498, 139, 87, 66 },
+ { 4511, 32, 178, 170 },
+ { 4525, 135, 206, 250 },
+ { 4538, 176, 226, 255 },
+ { 4552, 164, 211, 238 },
+ { 4566, 141, 182, 205 },
+ { 4580, 96, 123, 139 },
+ { 4594, 132, 112, 255 },
+ { 4609, 119, 136, 153 },
+ { 4624, 119, 136, 153 },
+ { 4639, 176, 196, 222 },
+ { 4654, 202, 225, 255 },
+ { 4670, 188, 210, 238 },
+ { 4686, 162, 181, 205 },
+ { 4702, 110, 123, 139 },
+ { 4718, 255, 255, 224 },
+ { 4730, 255, 255, 224 },
+ { 4743, 238, 238, 209 },
+ { 4756, 205, 205, 180 },
+ { 4769, 139, 139, 122 },
+ { 4782, 50, 205, 50 },
+ { 4793, 50, 205, 50 },
+ { 4803, 250, 240, 230 },
+ { 4809, 255, 0, 255 },
+ { 4817, 255, 0, 255 },
+ { 4826, 238, 0, 238 },
+ { 4835, 205, 0, 205 },
+ { 4844, 139, 0, 139 },
+ { 4853, 176, 48, 96 },
+ { 4860, 255, 52, 179 },
+ { 4868, 238, 48, 167 },
+ { 4876, 205, 41, 144 },
+ { 4884, 139, 28, 98 },
+ { 4892, 102, 205, 170 },
+ { 4910, 0, 0, 205 },
+ { 4922, 186, 85, 211 },
+ { 4936, 147, 112, 219 },
+ { 4950, 60, 179, 113 },
+ { 4967, 123, 104, 238 },
+ { 4985, 0, 250, 154 },
+ { 5005, 72, 209, 204 },
+ { 5022, 199, 21, 133 },
+ { 5040, 102, 205, 170 },
+ { 5057, 0, 0, 205 },
+ { 5068, 186, 85, 211 },
+ { 5081, 224, 102, 255 },
+ { 5095, 209, 95, 238 },
+ { 5109, 180, 82, 205 },
+ { 5123, 122, 55, 139 },
+ { 5137, 147, 112, 219 },
+ { 5150, 171, 130, 255 },
+ { 5164, 159, 121, 238 },
+ { 5178, 137, 104, 205 },
+ { 5192, 93, 71, 139 },
+ { 5206, 60, 179, 113 },
+ { 5221, 123, 104, 238 },
+ { 5237, 0, 250, 154 },
+ { 5255, 72, 209, 204 },
+ { 5271, 199, 21, 133 },
+ { 5287, 25, 25, 112 },
+ { 5301, 25, 25, 112 },
+ { 5314, 245, 255, 250 },
+ { 5325, 245, 255, 250 },
+ { 5335, 255, 228, 225 },
+ { 5346, 255, 228, 225 },
+ { 5356, 255, 228, 225 },
+ { 5367, 238, 213, 210 },
+ { 5378, 205, 183, 181 },
+ { 5389, 139, 125, 123 },
+ { 5400, 255, 228, 181 },
+ { 5409, 255, 222, 173 },
+ { 5422, 255, 222, 173 },
+ { 5434, 255, 222, 173 },
+ { 5447, 238, 207, 161 },
+ { 5460, 205, 179, 139 },
+ { 5473, 139, 121, 94 },
+ { 5486, 0, 0, 128 },
+ { 5491, 0, 0, 128 },
+ { 5501, 0, 0, 128 },
+ { 5510, 253, 245, 230 },
+ { 5519, 253, 245, 230 },
+ { 5527, 107, 142, 35 },
+ { 5538, 107, 142, 35 },
+ { 5548, 192, 255, 62 },
+ { 5559, 179, 238, 58 },
+ { 5570, 154, 205, 50 },
+ { 5581, 105, 139, 34 },
+ { 5592, 255, 165, 0 },
+ { 5599, 255, 69, 0 },
+ { 5610, 255, 165, 0 },
+ { 5618, 238, 154, 0 },
+ { 5626, 205, 133, 0 },
+ { 5634, 139, 90, 0 },
+ { 5642, 255, 69, 0 },
+ { 5652, 255, 69, 0 },
+ { 5663, 238, 64, 0 },
+ { 5674, 205, 55, 0 },
+ { 5685, 139, 37, 0 },
+ { 5696, 218, 112, 214 },
+ { 5703, 255, 131, 250 },
+ { 5711, 238, 122, 233 },
+ { 5719, 205, 105, 201 },
+ { 5727, 139, 71, 137 },
+ { 5735, 238, 232, 170 },
+ { 5750, 152, 251, 152 },
+ { 5761, 175, 238, 238 },
+ { 5776, 219, 112, 147 },
+ { 5792, 238, 232, 170 },
+ { 5806, 152, 251, 152 },
+ { 5816, 154, 255, 154 },
+ { 5827, 144, 238, 144 },
+ { 5838, 124, 205, 124 },
+ { 5849, 84, 139, 84 },
+ { 5860, 175, 238, 238 },
+ { 5874, 187, 255, 255 },
+ { 5889, 174, 238, 238 },
+ { 5904, 150, 205, 205 },
+ { 5919, 102, 139, 139 },
+ { 5934, 219, 112, 147 },
+ { 5948, 255, 130, 171 },
+ { 5963, 238, 121, 159 },
+ { 5978, 205, 104, 137 },
+ { 5993, 139, 71, 93 },
+ { 6008, 255, 239, 213 },
+ { 6020, 255, 239, 213 },
+ { 6031, 255, 218, 185 },
+ { 6042, 255, 218, 185 },
+ { 6052, 255, 218, 185 },
+ { 6063, 238, 203, 173 },
+ { 6074, 205, 175, 149 },
+ { 6085, 139, 119, 101 },
+ { 6096, 205, 133, 63 },
+ { 6101, 255, 192, 203 },
+ { 6106, 255, 181, 197 },
+ { 6112, 238, 169, 184 },
+ { 6118, 205, 145, 158 },
+ { 6124, 139, 99, 108 },
+ { 6130, 221, 160, 221 },
+ { 6135, 255, 187, 255 },
+ { 6141, 238, 174, 238 },
+ { 6147, 205, 150, 205 },
+ { 6153, 139, 102, 139 },
+ { 6159, 176, 224, 230 },
+ { 6171, 176, 224, 230 },
+ { 6182, 160, 32, 240 },
+ { 6189, 155, 48, 255 },
+ { 6197, 145, 44, 238 },
+ { 6205, 125, 38, 205 },
+ { 6213, 85, 26, 139 },
+ { 6221, 255, 0, 0 },
+ { 6225, 255, 0, 0 },
+ { 6230, 238, 0, 0 },
+ { 6235, 205, 0, 0 },
+ { 6240, 139, 0, 0 },
+ { 6245, 188, 143, 143 },
+ { 6256, 188, 143, 143 },
+ { 6266, 255, 193, 193 },
+ { 6277, 238, 180, 180 },
+ { 6288, 205, 155, 155 },
+ { 6299, 139, 105, 105 },
+ { 6310, 65, 105, 225 },
+ { 6321, 65, 105, 225 },
+ { 6331, 72, 118, 255 },
+ { 6342, 67, 110, 238 },
+ { 6353, 58, 95, 205 },
+ { 6364, 39, 64, 139 },
+ { 6375, 139, 69, 19 },
+ { 6388, 139, 69, 19 },
+ { 6400, 250, 128, 114 },
+ { 6407, 255, 140, 105 },
+ { 6415, 238, 130, 98 },
+ { 6423, 205, 112, 84 },
+ { 6431, 139, 76, 57 },
+ { 6439, 244, 164, 96 },
+ { 6451, 244, 164, 96 },
+ { 6462, 46, 139, 87 },
+ { 6472, 46, 139, 87 },
+ { 6481, 84, 255, 159 },
+ { 6491, 78, 238, 148 },
+ { 6501, 67, 205, 128 },
+ { 6511, 46, 139, 87 },
+ { 6521, 255, 245, 238 },
+ { 6530, 255, 245, 238 },
+ { 6540, 238, 229, 222 },
+ { 6550, 205, 197, 191 },
+ { 6560, 139, 134, 130 },
+ { 6570, 160, 82, 45 },
+ { 6577, 255, 130, 71 },
+ { 6585, 238, 121, 66 },
+ { 6593, 205, 104, 57 },
+ { 6601, 139, 71, 38 },
+ { 6609, 135, 206, 235 },
+ { 6618, 135, 206, 235 },
+ { 6626, 135, 206, 255 },
+ { 6635, 126, 192, 238 },
+ { 6644, 108, 166, 205 },
+ { 6653, 74, 112, 139 },
+ { 6662, 106, 90, 205 },
+ { 6673, 112, 128, 144 },
+ { 6684, 112, 128, 144 },
+ { 6695, 106, 90, 205 },
+ { 6705, 131, 111, 255 },
+ { 6716, 122, 103, 238 },
+ { 6727, 105, 89, 205 },
+ { 6738, 71, 60, 139 },
+ { 6749, 112, 128, 144 },
+ { 6759, 198, 226, 255 },
+ { 6770, 185, 211, 238 },
+ { 6781, 159, 182, 205 },
+ { 6792, 108, 123, 139 },
+ { 6803, 112, 128, 144 },
+ { 6813, 255, 250, 250 },
+ { 6818, 255, 250, 250 },
+ { 6824, 238, 233, 233 },
+ { 6830, 205, 201, 201 },
+ { 6836, 139, 137, 137 },
+ { 6842, 0, 255, 127 },
+ { 6855, 0, 255, 127 },
+ { 6867, 0, 255, 127 },
+ { 6880, 0, 238, 118 },
+ { 6893, 0, 205, 102 },
+ { 6906, 0, 139, 69 },
+ { 6919, 70, 130, 180 },
+ { 6930, 70, 130, 180 },
+ { 6940, 99, 184, 255 },
+ { 6951, 92, 172, 238 },
+ { 6962, 79, 148, 205 },
+ { 6973, 54, 100, 139 },
+ { 6984, 210, 180, 140 },
+ { 6988, 255, 165, 79 },
+ { 6993, 238, 154, 73 },
+ { 6998, 205, 133, 63 },
+ { 7003, 139, 90, 43 },
+ { 7008, 216, 191, 216 },
+ { 7016, 255, 225, 255 },
+ { 7025, 238, 210, 238 },
+ { 7034, 205, 181, 205 },
+ { 7043, 139, 123, 139 },
+ { 7052, 255, 99, 71 },
+ { 7059, 255, 99, 71 },
+ { 7067, 238, 92, 66 },
+ { 7075, 205, 79, 57 },
+ { 7083, 139, 54, 38 },
+ { 7091, 64, 224, 208 },
+ { 7101, 0, 245, 255 },
+ { 7112, 0, 229, 238 },
+ { 7123, 0, 197, 205 },
+ { 7134, 0, 134, 139 },
+ { 7145, 238, 130, 238 },
+ { 7152, 208, 32, 144 },
+ { 7163, 208, 32, 144 },
+ { 7173, 255, 62, 150 },
+ { 7184, 238, 58, 140 },
+ { 7195, 205, 50, 120 },
+ { 7206, 139, 34, 82 },
+ { 7217, 245, 222, 179 },
+ { 7223, 255, 231, 186 },
+ { 7230, 238, 216, 174 },
+ { 7237, 205, 186, 150 },
+ { 7244, 139, 126, 102 },
+ { 7251, 255, 255, 255 },
+ { 7257, 245, 245, 245 },
+ { 7269, 245, 245, 245 },
+ { 7280, 255, 255, 0 },
+ { 7287, 154, 205, 50 },
+ { 7300, 255, 255, 0 },
+ { 7308, 238, 238, 0 },
+ { 7316, 205, 205, 0 },
+ { 7324, 139, 139, 0 },
+ { 7332, 154, 205, 50 }
+};
diff --git a/pango/pango-color.c b/pango/pango-color.c
index 9e831587..18f18392 100644
--- a/pango/pango-color.c
+++ b/pango/pango-color.c
@@ -124,772 +124,12 @@ pango_color_free (PangoColor *color)
* terms specified in this license.
*/
-typedef struct {
- const char *name;
- unsigned char red;
- unsigned char green;
- unsigned char blue;
-} ColorEntry;
-
-static ColorEntry xColors[] = {
- { "alice blue", 240, 248, 255 },
- { "AliceBlue", 240, 248, 255 },
- { "antique white", 250, 235, 215 },
- { "AntiqueWhite", 250, 235, 215 },
- { "AntiqueWhite1", 255, 239, 219 },
- { "AntiqueWhite2", 238, 223, 204 },
- { "AntiqueWhite3", 205, 192, 176 },
- { "AntiqueWhite4", 139, 131, 120 },
- { "aquamarine", 127, 255, 212 },
- { "aquamarine1", 127, 255, 212 },
- { "aquamarine2", 118, 238, 198 },
- { "aquamarine3", 102, 205, 170 },
- { "aquamarine4", 69, 139, 116 },
- { "azure", 240, 255, 255 },
- { "azure1", 240, 255, 255 },
- { "azure2", 224, 238, 238 },
- { "azure3", 193, 205, 205 },
- { "azure4", 131, 139, 139 },
- { "beige", 245, 245, 220 },
- { "bisque", 255, 228, 196 },
- { "bisque1", 255, 228, 196 },
- { "bisque2", 238, 213, 183 },
- { "bisque3", 205, 183, 158 },
- { "bisque4", 139, 125, 107 },
- { "black", 0, 0, 0 },
- { "blanched almond", 255, 235, 205 },
- { "BlanchedAlmond", 255, 235, 205 },
- { "blue", 0, 0, 255 },
- { "blue violet", 138, 43, 226 },
- { "blue1", 0, 0, 255 },
- { "blue2", 0, 0, 238 },
- { "blue3", 0, 0, 205 },
- { "blue4", 0, 0, 139 },
- { "BlueViolet", 138, 43, 226 },
- { "brown", 165, 42, 42 },
- { "brown1", 255, 64, 64 },
- { "brown2", 238, 59, 59 },
- { "brown3", 205, 51, 51 },
- { "brown4", 139, 35, 35 },
- { "burlywood", 222, 184, 135 },
- { "burlywood1", 255, 211, 155 },
- { "burlywood2", 238, 197, 145 },
- { "burlywood3", 205, 170, 125 },
- { "burlywood4", 139, 115, 85 },
- { "cadet blue", 95, 158, 160 },
- { "CadetBlue", 95, 158, 160 },
- { "CadetBlue1", 152, 245, 255 },
- { "CadetBlue2", 142, 229, 238 },
- { "CadetBlue3", 122, 197, 205 },
- { "CadetBlue4", 83, 134, 139 },
- { "chartreuse", 127, 255, 0 },
- { "chartreuse1", 127, 255, 0 },
- { "chartreuse2", 118, 238, 0 },
- { "chartreuse3", 102, 205, 0 },
- { "chartreuse4", 69, 139, 0 },
- { "chocolate", 210, 105, 30 },
- { "chocolate1", 255, 127, 36 },
- { "chocolate2", 238, 118, 33 },
- { "chocolate3", 205, 102, 29 },
- { "chocolate4", 139, 69, 19 },
- { "coral", 255, 127, 80 },
- { "coral1", 255, 114, 86 },
- { "coral2", 238, 106, 80 },
- { "coral3", 205, 91, 69 },
- { "coral4", 139, 62, 47 },
- { "cornflower blue", 100, 149, 237 },
- { "CornflowerBlue", 100, 149, 237 },
- { "cornsilk", 255, 248, 220 },
- { "cornsilk1", 255, 248, 220 },
- { "cornsilk2", 238, 232, 205 },
- { "cornsilk3", 205, 200, 177 },
- { "cornsilk4", 139, 136, 120 },
- { "cyan", 0, 255, 255 },
- { "cyan1", 0, 255, 255 },
- { "cyan2", 0, 238, 238 },
- { "cyan3", 0, 205, 205 },
- { "cyan4", 0, 139, 139 },
- { "dark blue", 0, 0, 139 },
- { "dark cyan", 0, 139, 139 },
- { "dark goldenrod", 184, 134, 11 },
- { "dark gray", 169, 169, 169 },
- { "dark green", 0, 100, 0 },
- { "dark grey", 169, 169, 169 },
- { "dark khaki", 189, 183, 107 },
- { "dark magenta", 139, 0, 139 },
- { "dark olive green", 85, 107, 47 },
- { "dark orange", 255, 140, 0 },
- { "dark orchid", 153, 50, 204 },
- { "dark red", 139, 0, 0 },
- { "dark salmon", 233, 150, 122 },
- { "dark sea green", 143, 188, 143 },
- { "dark slate blue", 72, 61, 139 },
- { "dark slate gray", 47, 79, 79 },
- { "dark slate grey", 47, 79, 79 },
- { "dark turquoise", 0, 206, 209 },
- { "dark violet", 148, 0, 211 },
- { "DarkBlue", 0, 0, 139 },
- { "DarkCyan", 0, 139, 139 },
- { "DarkGoldenrod", 184, 134, 11 },
- { "DarkGoldenrod1", 255, 185, 15 },
- { "DarkGoldenrod2", 238, 173, 14 },
- { "DarkGoldenrod3", 205, 149, 12 },
- { "DarkGoldenrod4", 139, 101, 8 },
- { "DarkGray", 169, 169, 169 },
- { "DarkGreen", 0, 100, 0 },
- { "DarkGrey", 169, 169, 169 },
- { "DarkKhaki", 189, 183, 107 },
- { "DarkMagenta", 139, 0, 139 },
- { "DarkOliveGreen", 85, 107, 47 },
- { "DarkOliveGreen1", 202, 255, 112 },
- { "DarkOliveGreen2", 188, 238, 104 },
- { "DarkOliveGreen3", 162, 205, 90 },
- { "DarkOliveGreen4", 110, 139, 61 },
- { "DarkOrange", 255, 140, 0 },
- { "DarkOrange1", 255, 127, 0 },
- { "DarkOrange2", 238, 118, 0 },
- { "DarkOrange3", 205, 102, 0 },
- { "DarkOrange4", 139, 69, 0 },
- { "DarkOrchid", 153, 50, 204 },
- { "DarkOrchid1", 191, 62, 255 },
- { "DarkOrchid2", 178, 58, 238 },
- { "DarkOrchid3", 154, 50, 205 },
- { "DarkOrchid4", 104, 34, 139 },
- { "DarkRed", 139, 0, 0 },
- { "DarkSalmon", 233, 150, 122 },
- { "DarkSeaGreen", 143, 188, 143 },
- { "DarkSeaGreen1", 193, 255, 193 },
- { "DarkSeaGreen2", 180, 238, 180 },
- { "DarkSeaGreen3", 155, 205, 155 },
- { "DarkSeaGreen4", 105, 139, 105 },
- { "DarkSlateBlue", 72, 61, 139 },
- { "DarkSlateGray", 47, 79, 79 },
- { "DarkSlateGray1", 151, 255, 255 },
- { "DarkSlateGray2", 141, 238, 238 },
- { "DarkSlateGray3", 121, 205, 205 },
- { "DarkSlateGray4", 82, 139, 139 },
- { "DarkSlateGrey", 47, 79, 79 },
- { "DarkTurquoise", 0, 206, 209 },
- { "DarkViolet", 148, 0, 211 },
- { "deep pink", 255, 20, 147 },
- { "deep sky blue", 0, 191, 255 },
- { "DeepPink", 255, 20, 147 },
- { "DeepPink1", 255, 20, 147 },
- { "DeepPink2", 238, 18, 137 },
- { "DeepPink3", 205, 16, 118 },
- { "DeepPink4", 139, 10, 80 },
- { "DeepSkyBlue", 0, 191, 255 },
- { "DeepSkyBlue1", 0, 191, 255 },
- { "DeepSkyBlue2", 0, 178, 238 },
- { "DeepSkyBlue3", 0, 154, 205 },
- { "DeepSkyBlue4", 0, 104, 139 },
- { "dim gray", 105, 105, 105 },
- { "dim grey", 105, 105, 105 },
- { "DimGray", 105, 105, 105 },
- { "DimGrey", 105, 105, 105 },
- { "dodger blue", 30, 144, 255 },
- { "DodgerBlue", 30, 144, 255 },
- { "DodgerBlue1", 30, 144, 255 },
- { "DodgerBlue2", 28, 134, 238 },
- { "DodgerBlue3", 24, 116, 205 },
- { "DodgerBlue4", 16, 78, 139 },
- { "firebrick", 178, 34, 34 },
- { "firebrick1", 255, 48, 48 },
- { "firebrick2", 238, 44, 44 },
- { "firebrick3", 205, 38, 38 },
- { "firebrick4", 139, 26, 26 },
- { "floral white", 255, 250, 240 },
- { "FloralWhite", 255, 250, 240 },
- { "forest green", 34, 139, 34 },
- { "ForestGreen", 34, 139, 34 },
- { "gainsboro", 220, 220, 220 },
- { "ghost white", 248, 248, 255 },
- { "GhostWhite", 248, 248, 255 },
- { "gold", 255, 215, 0 },
- { "gold1", 255, 215, 0 },
- { "gold2", 238, 201, 0 },
- { "gold3", 205, 173, 0 },
- { "gold4", 139, 117, 0 },
- { "goldenrod", 218, 165, 32 },
- { "goldenrod1", 255, 193, 37 },
- { "goldenrod2", 238, 180, 34 },
- { "goldenrod3", 205, 155, 29 },
- { "goldenrod4", 139, 105, 20 },
- { "gray", 190, 190, 190 },
- { "gray0", 0, 0, 0 },
- { "gray1", 3, 3, 3 },
- { "gray10", 26, 26, 26 },
- { "gray100", 255, 255, 255 },
- { "gray11", 28, 28, 28 },
- { "gray12", 31, 31, 31 },
- { "gray13", 33, 33, 33 },
- { "gray14", 36, 36, 36 },
- { "gray15", 38, 38, 38 },
- { "gray16", 41, 41, 41 },
- { "gray17", 43, 43, 43 },
- { "gray18", 46, 46, 46 },
- { "gray19", 48, 48, 48 },
- { "gray2", 5, 5, 5 },
- { "gray20", 51, 51, 51 },
- { "gray21", 54, 54, 54 },
- { "gray22", 56, 56, 56 },
- { "gray23", 59, 59, 59 },
- { "gray24", 61, 61, 61 },
- { "gray25", 64, 64, 64 },
- { "gray26", 66, 66, 66 },
- { "gray27", 69, 69, 69 },
- { "gray28", 71, 71, 71 },
- { "gray29", 74, 74, 74 },
- { "gray3", 8, 8, 8 },
- { "gray30", 77, 77, 77 },
- { "gray31", 79, 79, 79 },
- { "gray32", 82, 82, 82 },
- { "gray33", 84, 84, 84 },
- { "gray34", 87, 87, 87 },
- { "gray35", 89, 89, 89 },
- { "gray36", 92, 92, 92 },
- { "gray37", 94, 94, 94 },
- { "gray38", 97, 97, 97 },
- { "gray39", 99, 99, 99 },
- { "gray4", 10, 10, 10 },
- { "gray40", 102, 102, 102 },
- { "gray41", 105, 105, 105 },
- { "gray42", 107, 107, 107 },
- { "gray43", 110, 110, 110 },
- { "gray44", 112, 112, 112 },
- { "gray45", 115, 115, 115 },
- { "gray46", 117, 117, 117 },
- { "gray47", 120, 120, 120 },
- { "gray48", 122, 122, 122 },
- { "gray49", 125, 125, 125 },
- { "gray5", 13, 13, 13 },
- { "gray50", 127, 127, 127 },
- { "gray51", 130, 130, 130 },
- { "gray52", 133, 133, 133 },
- { "gray53", 135, 135, 135 },
- { "gray54", 138, 138, 138 },
- { "gray55", 140, 140, 140 },
- { "gray56", 143, 143, 143 },
- { "gray57", 145, 145, 145 },
- { "gray58", 148, 148, 148 },
- { "gray59", 150, 150, 150 },
- { "gray6", 15, 15, 15 },
- { "gray60", 153, 153, 153 },
- { "gray61", 156, 156, 156 },
- { "gray62", 158, 158, 158 },
- { "gray63", 161, 161, 161 },
- { "gray64", 163, 163, 163 },
- { "gray65", 166, 166, 166 },
- { "gray66", 168, 168, 168 },
- { "gray67", 171, 171, 171 },
- { "gray68", 173, 173, 173 },
- { "gray69", 176, 176, 176 },
- { "gray7", 18, 18, 18 },
- { "gray70", 179, 179, 179 },
- { "gray71", 181, 181, 181 },
- { "gray72", 184, 184, 184 },
- { "gray73", 186, 186, 186 },
- { "gray74", 189, 189, 189 },
- { "gray75", 191, 191, 191 },
- { "gray76", 194, 194, 194 },
- { "gray77", 196, 196, 196 },
- { "gray78", 199, 199, 199 },
- { "gray79", 201, 201, 201 },
- { "gray8", 20, 20, 20 },
- { "gray80", 204, 204, 204 },
- { "gray81", 207, 207, 207 },
- { "gray82", 209, 209, 209 },
- { "gray83", 212, 212, 212 },
- { "gray84", 214, 214, 214 },
- { "gray85", 217, 217, 217 },
- { "gray86", 219, 219, 219 },
- { "gray87", 222, 222, 222 },
- { "gray88", 224, 224, 224 },
- { "gray89", 227, 227, 227 },
- { "gray9", 23, 23, 23 },
- { "gray90", 229, 229, 229 },
- { "gray91", 232, 232, 232 },
- { "gray92", 235, 235, 235 },
- { "gray93", 237, 237, 237 },
- { "gray94", 240, 240, 240 },
- { "gray95", 242, 242, 242 },
- { "gray96", 245, 245, 245 },
- { "gray97", 247, 247, 247 },
- { "gray98", 250, 250, 250 },
- { "gray99", 252, 252, 252 },
- { "green", 0, 255, 0 },
- { "green yellow", 173, 255, 47 },
- { "green1", 0, 255, 0 },
- { "green2", 0, 238, 0 },
- { "green3", 0, 205, 0 },
- { "green4", 0, 139, 0 },
- { "GreenYellow", 173, 255, 47 },
- { "grey", 190, 190, 190 },
- { "grey0", 0, 0, 0 },
- { "grey1", 3, 3, 3 },
- { "grey10", 26, 26, 26 },
- { "grey100", 255, 255, 255 },
- { "grey11", 28, 28, 28 },
- { "grey12", 31, 31, 31 },
- { "grey13", 33, 33, 33 },
- { "grey14", 36, 36, 36 },
- { "grey15", 38, 38, 38 },
- { "grey16", 41, 41, 41 },
- { "grey17", 43, 43, 43 },
- { "grey18", 46, 46, 46 },
- { "grey19", 48, 48, 48 },
- { "grey2", 5, 5, 5 },
- { "grey20", 51, 51, 51 },
- { "grey21", 54, 54, 54 },
- { "grey22", 56, 56, 56 },
- { "grey23", 59, 59, 59 },
- { "grey24", 61, 61, 61 },
- { "grey25", 64, 64, 64 },
- { "grey26", 66, 66, 66 },
- { "grey27", 69, 69, 69 },
- { "grey28", 71, 71, 71 },
- { "grey29", 74, 74, 74 },
- { "grey3", 8, 8, 8 },
- { "grey30", 77, 77, 77 },
- { "grey31", 79, 79, 79 },
- { "grey32", 82, 82, 82 },
- { "grey33", 84, 84, 84 },
- { "grey34", 87, 87, 87 },
- { "grey35", 89, 89, 89 },
- { "grey36", 92, 92, 92 },
- { "grey37", 94, 94, 94 },
- { "grey38", 97, 97, 97 },
- { "grey39", 99, 99, 99 },
- { "grey4", 10, 10, 10 },
- { "grey40", 102, 102, 102 },
- { "grey41", 105, 105, 105 },
- { "grey42", 107, 107, 107 },
- { "grey43", 110, 110, 110 },
- { "grey44", 112, 112, 112 },
- { "grey45", 115, 115, 115 },
- { "grey46", 117, 117, 117 },
- { "grey47", 120, 120, 120 },
- { "grey48", 122, 122, 122 },
- { "grey49", 125, 125, 125 },
- { "grey5", 13, 13, 13 },
- { "grey50", 127, 127, 127 },
- { "grey51", 130, 130, 130 },
- { "grey52", 133, 133, 133 },
- { "grey53", 135, 135, 135 },
- { "grey54", 138, 138, 138 },
- { "grey55", 140, 140, 140 },
- { "grey56", 143, 143, 143 },
- { "grey57", 145, 145, 145 },
- { "grey58", 148, 148, 148 },
- { "grey59", 150, 150, 150 },
- { "grey6", 15, 15, 15 },
- { "grey60", 153, 153, 153 },
- { "grey61", 156, 156, 156 },
- { "grey62", 158, 158, 158 },
- { "grey63", 161, 161, 161 },
- { "grey64", 163, 163, 163 },
- { "grey65", 166, 166, 166 },
- { "grey66", 168, 168, 168 },
- { "grey67", 171, 171, 171 },
- { "grey68", 173, 173, 173 },
- { "grey69", 176, 176, 176 },
- { "grey7", 18, 18, 18 },
- { "grey70", 179, 179, 179 },
- { "grey71", 181, 181, 181 },
- { "grey72", 184, 184, 184 },
- { "grey73", 186, 186, 186 },
- { "grey74", 189, 189, 189 },
- { "grey75", 191, 191, 191 },
- { "grey76", 194, 194, 194 },
- { "grey77", 196, 196, 196 },
- { "grey78", 199, 199, 199 },
- { "grey79", 201, 201, 201 },
- { "grey8", 20, 20, 20 },
- { "grey80", 204, 204, 204 },
- { "grey81", 207, 207, 207 },
- { "grey82", 209, 209, 209 },
- { "grey83", 212, 212, 212 },
- { "grey84", 214, 214, 214 },
- { "grey85", 217, 217, 217 },
- { "grey86", 219, 219, 219 },
- { "grey87", 222, 222, 222 },
- { "grey88", 224, 224, 224 },
- { "grey89", 227, 227, 227 },
- { "grey9", 23, 23, 23 },
- { "grey90", 229, 229, 229 },
- { "grey91", 232, 232, 232 },
- { "grey92", 235, 235, 235 },
- { "grey93", 237, 237, 237 },
- { "grey94", 240, 240, 240 },
- { "grey95", 242, 242, 242 },
- { "grey96", 245, 245, 245 },
- { "grey97", 247, 247, 247 },
- { "grey98", 250, 250, 250 },
- { "grey99", 252, 252, 252 },
- { "honeydew", 240, 255, 240 },
- { "honeydew1", 240, 255, 240 },
- { "honeydew2", 224, 238, 224 },
- { "honeydew3", 193, 205, 193 },
- { "honeydew4", 131, 139, 131 },
- { "hot pink", 255, 105, 180 },
- { "HotPink", 255, 105, 180 },
- { "HotPink1", 255, 110, 180 },
- { "HotPink2", 238, 106, 167 },
- { "HotPink3", 205, 96, 144 },
- { "HotPink4", 139, 58, 98 },
- { "indian red", 205, 92, 92 },
- { "IndianRed", 205, 92, 92 },
- { "IndianRed1", 255, 106, 106 },
- { "IndianRed2", 238, 99, 99 },
- { "IndianRed3", 205, 85, 85 },
- { "IndianRed4", 139, 58, 58 },
- { "ivory", 255, 255, 240 },
- { "ivory1", 255, 255, 240 },
- { "ivory2", 238, 238, 224 },
- { "ivory3", 205, 205, 193 },
- { "ivory4", 139, 139, 131 },
- { "khaki", 240, 230, 140 },
- { "khaki1", 255, 246, 143 },
- { "khaki2", 238, 230, 133 },
- { "khaki3", 205, 198, 115 },
- { "khaki4", 139, 134, 78 },
- { "lavender", 230, 230, 250 },
- { "lavender blush", 255, 240, 245 },
- { "LavenderBlush", 255, 240, 245 },
- { "LavenderBlush1", 255, 240, 245 },
- { "LavenderBlush2", 238, 224, 229 },
- { "LavenderBlush3", 205, 193, 197 },
- { "LavenderBlush4", 139, 131, 134 },
- { "lawn green", 124, 252, 0 },
- { "LawnGreen", 124, 252, 0 },
- { "lemon chiffon", 255, 250, 205 },
- { "LemonChiffon", 255, 250, 205 },
- { "LemonChiffon1", 255, 250, 205 },
- { "LemonChiffon2", 238, 233, 191 },
- { "LemonChiffon3", 205, 201, 165 },
- { "LemonChiffon4", 139, 137, 112 },
- { "light blue", 173, 216, 230 },
- { "light coral", 240, 128, 128 },
- { "light cyan", 224, 255, 255 },
- { "light goldenrod", 238, 221, 130 },
- { "light goldenrod yellow", 250, 250, 210 },
- { "light gray", 211, 211, 211 },
- { "light green", 144, 238, 144 },
- { "light grey", 211, 211, 211 },
- { "light pink", 255, 182, 193 },
- { "light salmon", 255, 160, 122 },
- { "light sea green", 32, 178, 170 },
- { "light sky blue", 135, 206, 250 },
- { "light slate blue", 132, 112, 255 },
- { "light slate gray", 119, 136, 153 },
- { "light slate grey", 119, 136, 153 },
- { "light steel blue", 176, 196, 222 },
- { "light yellow", 255, 255, 224 },
- { "LightBlue", 173, 216, 230 },
- { "LightBlue1", 191, 239, 255 },
- { "LightBlue2", 178, 223, 238 },
- { "LightBlue3", 154, 192, 205 },
- { "LightBlue4", 104, 131, 139 },
- { "LightCoral", 240, 128, 128 },
- { "LightCyan", 224, 255, 255 },
- { "LightCyan1", 224, 255, 255 },
- { "LightCyan2", 209, 238, 238 },
- { "LightCyan3", 180, 205, 205 },
- { "LightCyan4", 122, 139, 139 },
- { "LightGoldenrod", 238, 221, 130 },
- { "LightGoldenrod1", 255, 236, 139 },
- { "LightGoldenrod2", 238, 220, 130 },
- { "LightGoldenrod3", 205, 190, 112 },
- { "LightGoldenrod4", 139, 129, 76 },
- { "LightGoldenrodYellow", 250, 250, 210 },
- { "LightGray", 211, 211, 211 },
- { "LightGreen", 144, 238, 144 },
- { "LightGrey", 211, 211, 211 },
- { "LightPink", 255, 182, 193 },
- { "LightPink1", 255, 174, 185 },
- { "LightPink2", 238, 162, 173 },
- { "LightPink3", 205, 140, 149 },
- { "LightPink4", 139, 95, 101 },
- { "LightSalmon", 255, 160, 122 },
- { "LightSalmon1", 255, 160, 122 },
- { "LightSalmon2", 238, 149, 114 },
- { "LightSalmon3", 205, 129, 98 },
- { "LightSalmon4", 139, 87, 66 },
- { "LightSeaGreen", 32, 178, 170 },
- { "LightSkyBlue", 135, 206, 250 },
- { "LightSkyBlue1", 176, 226, 255 },
- { "LightSkyBlue2", 164, 211, 238 },
- { "LightSkyBlue3", 141, 182, 205 },
- { "LightSkyBlue4", 96, 123, 139 },
- { "LightSlateBlue", 132, 112, 255 },
- { "LightSlateGray", 119, 136, 153 },
- { "LightSlateGrey", 119, 136, 153 },
- { "LightSteelBlue", 176, 196, 222 },
- { "LightSteelBlue1", 202, 225, 255 },
- { "LightSteelBlue2", 188, 210, 238 },
- { "LightSteelBlue3", 162, 181, 205 },
- { "LightSteelBlue4", 110, 123, 139 },
- { "LightYellow", 255, 255, 224 },
- { "LightYellow1", 255, 255, 224 },
- { "LightYellow2", 238, 238, 209 },
- { "LightYellow3", 205, 205, 180 },
- { "LightYellow4", 139, 139, 122 },
- { "lime green", 50, 205, 50 },
- { "LimeGreen", 50, 205, 50 },
- { "linen", 250, 240, 230 },
- { "magenta", 255, 0, 255 },
- { "magenta1", 255, 0, 255 },
- { "magenta2", 238, 0, 238 },
- { "magenta3", 205, 0, 205 },
- { "magenta4", 139, 0, 139 },
- { "maroon", 176, 48, 96 },
- { "maroon1", 255, 52, 179 },
- { "maroon2", 238, 48, 167 },
- { "maroon3", 205, 41, 144 },
- { "maroon4", 139, 28, 98 },
- { "medium aquamarine", 102, 205, 170 },
- { "medium blue", 0, 0, 205 },
- { "medium orchid", 186, 85, 211 },
- { "medium purple", 147, 112, 219 },
- { "medium sea green", 60, 179, 113 },
- { "medium slate blue", 123, 104, 238 },
- { "medium spring green", 0, 250, 154 },
- { "medium turquoise", 72, 209, 204 },
- { "medium violet red", 199, 21, 133 },
- { "MediumAquamarine", 102, 205, 170 },
- { "MediumBlue", 0, 0, 205 },
- { "MediumOrchid", 186, 85, 211 },
- { "MediumOrchid1", 224, 102, 255 },
- { "MediumOrchid2", 209, 95, 238 },
- { "MediumOrchid3", 180, 82, 205 },
- { "MediumOrchid4", 122, 55, 139 },
- { "MediumPurple", 147, 112, 219 },
- { "MediumPurple1", 171, 130, 255 },
- { "MediumPurple2", 159, 121, 238 },
- { "MediumPurple3", 137, 104, 205 },
- { "MediumPurple4", 93, 71, 139 },
- { "MediumSeaGreen", 60, 179, 113 },
- { "MediumSlateBlue", 123, 104, 238 },
- { "MediumSpringGreen", 0, 250, 154 },
- { "MediumTurquoise", 72, 209, 204 },
- { "MediumVioletRed", 199, 21, 133 },
- { "midnight blue", 25, 25, 112 },
- { "MidnightBlue", 25, 25, 112 },
- { "mint cream", 245, 255, 250 },
- { "MintCream", 245, 255, 250 },
- { "misty rose", 255, 228, 225 },
- { "MistyRose", 255, 228, 225 },
- { "MistyRose1", 255, 228, 225 },
- { "MistyRose2", 238, 213, 210 },
- { "MistyRose3", 205, 183, 181 },
- { "MistyRose4", 139, 125, 123 },
- { "moccasin", 255, 228, 181 },
- { "navajo white", 255, 222, 173 },
- { "NavajoWhite", 255, 222, 173 },
- { "NavajoWhite1", 255, 222, 173 },
- { "NavajoWhite2", 238, 207, 161 },
- { "NavajoWhite3", 205, 179, 139 },
- { "NavajoWhite4", 139, 121, 94 },
- { "navy", 0, 0, 128 },
- { "navy blue", 0, 0, 128 },
- { "NavyBlue", 0, 0, 128 },
- { "old lace", 253, 245, 230 },
- { "OldLace", 253, 245, 230 },
- { "olive drab", 107, 142, 35 },
- { "OliveDrab", 107, 142, 35 },
- { "OliveDrab1", 192, 255, 62 },
- { "OliveDrab2", 179, 238, 58 },
- { "OliveDrab3", 154, 205, 50 },
- { "OliveDrab4", 105, 139, 34 },
- { "orange", 255, 165, 0 },
- { "orange red", 255, 69, 0 },
- { "orange1", 255, 165, 0 },
- { "orange2", 238, 154, 0 },
- { "orange3", 205, 133, 0 },
- { "orange4", 139, 90, 0 },
- { "OrangeRed", 255, 69, 0 },
- { "OrangeRed1", 255, 69, 0 },
- { "OrangeRed2", 238, 64, 0 },
- { "OrangeRed3", 205, 55, 0 },
- { "OrangeRed4", 139, 37, 0 },
- { "orchid", 218, 112, 214 },
- { "orchid1", 255, 131, 250 },
- { "orchid2", 238, 122, 233 },
- { "orchid3", 205, 105, 201 },
- { "orchid4", 139, 71, 137 },
- { "pale goldenrod", 238, 232, 170 },
- { "pale green", 152, 251, 152 },
- { "pale turquoise", 175, 238, 238 },
- { "pale violet red", 219, 112, 147 },
- { "PaleGoldenrod", 238, 232, 170 },
- { "PaleGreen", 152, 251, 152 },
- { "PaleGreen1", 154, 255, 154 },
- { "PaleGreen2", 144, 238, 144 },
- { "PaleGreen3", 124, 205, 124 },
- { "PaleGreen4", 84, 139, 84 },
- { "PaleTurquoise", 175, 238, 238 },
- { "PaleTurquoise1", 187, 255, 255 },
- { "PaleTurquoise2", 174, 238, 238 },
- { "PaleTurquoise3", 150, 205, 205 },
- { "PaleTurquoise4", 102, 139, 139 },
- { "PaleVioletRed", 219, 112, 147 },
- { "PaleVioletRed1", 255, 130, 171 },
- { "PaleVioletRed2", 238, 121, 159 },
- { "PaleVioletRed3", 205, 104, 137 },
- { "PaleVioletRed4", 139, 71, 93 },
- { "papaya whip", 255, 239, 213 },
- { "PapayaWhip", 255, 239, 213 },
- { "peach puff", 255, 218, 185 },
- { "PeachPuff", 255, 218, 185 },
- { "PeachPuff1", 255, 218, 185 },
- { "PeachPuff2", 238, 203, 173 },
- { "PeachPuff3", 205, 175, 149 },
- { "PeachPuff4", 139, 119, 101 },
- { "peru", 205, 133, 63 },
- { "pink", 255, 192, 203 },
- { "pink1", 255, 181, 197 },
- { "pink2", 238, 169, 184 },
- { "pink3", 205, 145, 158 },
- { "pink4", 139, 99, 108 },
- { "plum", 221, 160, 221 },
- { "plum1", 255, 187, 255 },
- { "plum2", 238, 174, 238 },
- { "plum3", 205, 150, 205 },
- { "plum4", 139, 102, 139 },
- { "powder blue", 176, 224, 230 },
- { "PowderBlue", 176, 224, 230 },
- { "purple", 160, 32, 240 },
- { "purple1", 155, 48, 255 },
- { "purple2", 145, 44, 238 },
- { "purple3", 125, 38, 205 },
- { "purple4", 85, 26, 139 },
- { "red", 255, 0, 0 },
- { "red1", 255, 0, 0 },
- { "red2", 238, 0, 0 },
- { "red3", 205, 0, 0 },
- { "red4", 139, 0, 0 },
- { "rosy brown", 188, 143, 143 },
- { "RosyBrown", 188, 143, 143 },
- { "RosyBrown1", 255, 193, 193 },
- { "RosyBrown2", 238, 180, 180 },
- { "RosyBrown3", 205, 155, 155 },
- { "RosyBrown4", 139, 105, 105 },
- { "royal blue", 65, 105, 225 },
- { "RoyalBlue", 65, 105, 225 },
- { "RoyalBlue1", 72, 118, 255 },
- { "RoyalBlue2", 67, 110, 238 },
- { "RoyalBlue3", 58, 95, 205 },
- { "RoyalBlue4", 39, 64, 139 },
- { "saddle brown", 139, 69, 19 },
- { "SaddleBrown", 139, 69, 19 },
- { "salmon", 250, 128, 114 },
- { "salmon1", 255, 140, 105 },
- { "salmon2", 238, 130, 98 },
- { "salmon3", 205, 112, 84 },
- { "salmon4", 139, 76, 57 },
- { "sandy brown", 244, 164, 96 },
- { "SandyBrown", 244, 164, 96 },
- { "sea green", 46, 139, 87 },
- { "SeaGreen", 46, 139, 87 },
- { "SeaGreen1", 84, 255, 159 },
- { "SeaGreen2", 78, 238, 148 },
- { "SeaGreen3", 67, 205, 128 },
- { "SeaGreen4", 46, 139, 87 },
- { "seashell", 255, 245, 238 },
- { "seashell1", 255, 245, 238 },
- { "seashell2", 238, 229, 222 },
- { "seashell3", 205, 197, 191 },
- { "seashell4", 139, 134, 130 },
- { "sienna", 160, 82, 45 },
- { "sienna1", 255, 130, 71 },
- { "sienna2", 238, 121, 66 },
- { "sienna3", 205, 104, 57 },
- { "sienna4", 139, 71, 38 },
- { "sky blue", 135, 206, 235 },
- { "SkyBlue", 135, 206, 235 },
- { "SkyBlue1", 135, 206, 255 },
- { "SkyBlue2", 126, 192, 238 },
- { "SkyBlue3", 108, 166, 205 },
- { "SkyBlue4", 74, 112, 139 },
- { "slate blue", 106, 90, 205 },
- { "slate gray", 112, 128, 144 },
- { "slate grey", 112, 128, 144 },
- { "SlateBlue", 106, 90, 205 },
- { "SlateBlue1", 131, 111, 255 },
- { "SlateBlue2", 122, 103, 238 },
- { "SlateBlue3", 105, 89, 205 },
- { "SlateBlue4", 71, 60, 139 },
- { "SlateGray", 112, 128, 144 },
- { "SlateGray1", 198, 226, 255 },
- { "SlateGray2", 185, 211, 238 },
- { "SlateGray3", 159, 182, 205 },
- { "SlateGray4", 108, 123, 139 },
- { "SlateGrey", 112, 128, 144 },
- { "snow", 255, 250, 250 },
- { "snow1", 255, 250, 250 },
- { "snow2", 238, 233, 233 },
- { "snow3", 205, 201, 201 },
- { "snow4", 139, 137, 137 },
- { "spring green", 0, 255, 127 },
- { "SpringGreen", 0, 255, 127 },
- { "SpringGreen1", 0, 255, 127 },
- { "SpringGreen2", 0, 238, 118 },
- { "SpringGreen3", 0, 205, 102 },
- { "SpringGreen4", 0, 139, 69 },
- { "steel blue", 70, 130, 180 },
- { "SteelBlue", 70, 130, 180 },
- { "SteelBlue1", 99, 184, 255 },
- { "SteelBlue2", 92, 172, 238 },
- { "SteelBlue3", 79, 148, 205 },
- { "SteelBlue4", 54, 100, 139 },
- { "tan", 210, 180, 140 },
- { "tan1", 255, 165, 79 },
- { "tan2", 238, 154, 73 },
- { "tan3", 205, 133, 63 },
- { "tan4", 139, 90, 43 },
- { "thistle", 216, 191, 216 },
- { "thistle1", 255, 225, 255 },
- { "thistle2", 238, 210, 238 },
- { "thistle3", 205, 181, 205 },
- { "thistle4", 139, 123, 139 },
- { "tomato", 255, 99, 71 },
- { "tomato1", 255, 99, 71 },
- { "tomato2", 238, 92, 66 },
- { "tomato3", 205, 79, 57 },
- { "tomato4", 139, 54, 38 },
- { "turquoise", 64, 224, 208 },
- { "turquoise1", 0, 245, 255 },
- { "turquoise2", 0, 229, 238 },
- { "turquoise3", 0, 197, 205 },
- { "turquoise4", 0, 134, 139 },
- { "violet", 238, 130, 238 },
- { "violet red", 208, 32, 144 },
- { "VioletRed", 208, 32, 144 },
- { "VioletRed1", 255, 62, 150 },
- { "VioletRed2", 238, 58, 140 },
- { "VioletRed3", 205, 50, 120 },
- { "VioletRed4", 139, 34, 82 },
- { "wheat", 245, 222, 179 },
- { "wheat1", 255, 231, 186 },
- { "wheat2", 238, 216, 174 },
- { "wheat3", 205, 186, 150 },
- { "wheat4", 139, 126, 102 },
- { "white", 255, 255, 255 },
- { "white smoke", 245, 245, 245 },
- { "WhiteSmoke", 245, 245, 245 },
- { "yellow", 255, 255, 0 },
- { "yellow green", 154, 205, 50 },
- { "yellow1", 255, 255, 0 },
- { "yellow2", 238, 238, 0 },
- { "yellow3", 205, 205, 0 },
- { "yellow4", 139, 139, 0 },
- { "YellowGreen", 154, 205, 50 }
-};
+#include "pango-color-table.h"
static int
compare_xcolor_entries (const void *a, const void *b)
{
- return g_ascii_strcasecmp ((const char *) a, ((const ColorEntry *) b)->name);
+ return g_ascii_strcasecmp ((const char *) a, color_names + ((const ColorEntry *) b)->name_offset);
}
static gboolean
@@ -898,7 +138,7 @@ find_color(const char *name,
{
ColorEntry *found;
- found = bsearch (name, xColors, G_N_ELEMENTS (xColors),
+ found = bsearch (name, color_entries, G_N_ELEMENTS (color_entries),
sizeof (ColorEntry),
compare_xcolor_entries);
if (found == NULL)
diff --git a/pango/pango-layout.c b/pango/pango-layout.c
index 8fef04bd..fd43ff9d 100644
--- a/pango/pango-layout.c
+++ b/pango/pango-layout.c
@@ -3087,7 +3087,7 @@ static gboolean
no_shape_filter_func (PangoAttribute *attribute,
gpointer data)
{
- static PangoAttrType no_shape_types[] = {
+ static const PangoAttrType no_shape_types[] = {
PANGO_ATTR_FOREGROUND,
PANGO_ATTR_BACKGROUND,
PANGO_ATTR_UNDERLINE,
diff --git a/pango/pango-markup.c b/pango/pango-markup.c
index 5f68b8cd..d2d39409 100644
--- a/pango/pango-markup.c
+++ b/pango/pango-markup.c
@@ -539,7 +539,7 @@ xml_isspace (char c)
return c == ' ' || c == '\t' || c == '\n' || c == '\r';
}
-static GMarkupParser pango_markup_parser = {
+static const GMarkupParser pango_markup_parser = {
start_element_handler,
end_element_handler,
text_handler,
diff --git a/pango/pango-script-lang-table.h b/pango/pango-script-lang-table.h
index e3f0b783..a74e2635 100644
--- a/pango/pango-script-lang-table.h
+++ b/pango/pango-script-lang-table.h
@@ -10,7 +10,7 @@ typedef struct {
PangoScript scripts[3];
} PangoScriptForLang;
-PangoScriptForLang pango_script_for_lang[] = {
+static const PangoScriptForLang pango_script_for_lang[] = {
{ "aa", { PANGO_SCRIPT_LATIN, PANGO_SCRIPT_INVALID_CODE, PANGO_SCRIPT_INVALID_CODE } },
{ "ab", { PANGO_SCRIPT_CYRILLIC, PANGO_SCRIPT_INVALID_CODE, PANGO_SCRIPT_INVALID_CODE } },
{ "af", { PANGO_SCRIPT_LATIN, PANGO_SCRIPT_INVALID_CODE, PANGO_SCRIPT_INVALID_CODE } },
diff --git a/tools/gen-color-table.pl b/tools/gen-color-table.pl
new file mode 100755
index 00000000..e62994e1
--- /dev/null
+++ b/tools/gen-color-table.pl
@@ -0,0 +1,74 @@
+#!/usr/bin/perl -w
+
+if (@ARGV != 1) {
+ die "Usage: gen-colors.pl rgb.txt > pango-color-table.h\n";
+}
+
+open IN, $ARGV[0] || die "Cannot open $ARGV[0]: $!\n";
+
+@colors = ();
+while (defined($_ = <IN>)) {
+ next if /^!/;
+ if (!/^\s*([0-9]+)\s+([0-9]+)\s+([0-9]+)\s+(.*\S)\s+$/) {
+ die "Cannot parse line $_";
+ }
+
+ push @colors, [$1, $2, $3, $4];
+}
+
+@colors = sort { lc($a->[3]) cmp lc($b->[3]) } @colors;
+
+$offset = 0;
+
+$date = gmtime;
+
+print <<EOT;
+/* pango-color-table.h: Generated by gen-color-table.pl from rgb.txt
+ *
+ * Date: $date
+ *
+ * Do not edit.
+ */
+static const char color_names[] =
+EOT
+
+for $color (@colors) {
+ $name = $color->[3];
+
+ if ($offset != 0) {
+ print qq(\n);
+ }
+ print qq( "$name\\0");
+
+ $color->[4] = $offset;
+ $offset += length($name) + 1;
+}
+
+print ";\n\n";
+
+print <<EOT;
+typedef struct {
+ guint16 name_offset;
+ guchar red;
+ guchar green;
+ guchar blue;
+} ColorEntry;
+
+static const ColorEntry color_entries[] = {
+EOT
+
+$i = 0;
+for $color (@colors) {
+ $red = $color->[0];
+ $green = $color->[1];
+ $blue = $color->[2];
+ $offset = $color->[4];
+
+ if ($i != 0) {
+ print ",\n";
+ }
+ print " { $offset, $red, $green, $blue }";
+ $i++;
+}
+
+print "\n};\n";
diff --git a/tools/gen-script-for-lang.c b/tools/gen-script-for-lang.c
index 0eb8e7ad..9b243e31 100644
--- a/tools/gen-script-for-lang.c
+++ b/tools/gen-script-for-lang.c
@@ -269,7 +269,7 @@ int main (int argc, char **argv)
" PangoScript scripts[%d];\n"
"} PangoScriptForLang;\n"
"\n"
- "PangoScriptForLang pango_script_for_lang[] = {\n",
+ "static const PangoScriptForLang pango_script_for_lang[] = {\n",
max_lang_len,
MAX_SCRIPTS);