]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.graphviz/src/org/simantics/graphviz/internal/xdot/Colors.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.graphviz / src / org / simantics / graphviz / internal / xdot / Colors.java
diff --git a/bundles/org.simantics.graphviz/src/org/simantics/graphviz/internal/xdot/Colors.java b/bundles/org.simantics.graphviz/src/org/simantics/graphviz/internal/xdot/Colors.java
new file mode 100644 (file)
index 0000000..d6f4982
--- /dev/null
@@ -0,0 +1,820 @@
+/*******************************************************************************\r
+ * Copyright (c) 2007, 2010 Association for Decentralized Information Management\r
+ * in Industry THTH ry.\r
+ * All rights reserved. This program and the accompanying materials\r
+ * are made available under the terms of the Eclipse Public License v1.0\r
+ * which accompanies this distribution, and is available at\r
+ * http://www.eclipse.org/legal/epl-v10.html\r
+ *\r
+ * Contributors:\r
+ *     VTT Technical Research Centre of Finland - initial API and implementation\r
+ *******************************************************************************/\r
+package org.simantics.graphviz.internal.xdot;\r
+\r
+import java.awt.Color;\r
+import java.util.HashMap;\r
+\r
+public class Colors {\r
+    \r
+    static HashMap<String, Color> x11ColorMap = new HashMap<String, Color>();\r
+\r
+    private static int getHex(String hex) {\r
+        int value = 0;\r
+        for(int i=0;i<hex.length();++i) {\r
+            value *= 0x10;\r
+            char c = hex.charAt(i);\r
+            if(c >= '0' && c <= '9')\r
+                value += c - '0';\r
+            else if(c >= 'a' && c <= 'f')\r
+                value += c - 'a' + 10;\r
+            else if(c >= 'A' && c <= 'F')\r
+                value += c - 'A' + 10;\r
+        }\r
+        return value;\r
+    }    \r
+    \r
+    public static Color getColor(String colorName) {\r
+        if(colorName.charAt(0) == '#') {\r
+            if(colorName.length() < 9)\r
+                return new Color(\r
+                    getHex(colorName.substring(1, 3)),\r
+                    getHex(colorName.substring(3, 5)),\r
+                    getHex(colorName.substring(5, 7))\r
+                    );\r
+            else \r
+                return new Color(\r
+                    getHex(colorName.substring(1, 3)),\r
+                    getHex(colorName.substring(3, 5)),\r
+                    getHex(colorName.substring(5, 7)),\r
+                    getHex(colorName.substring(7, 9))\r
+                    );\r
+        }\r
+        else {\r
+            Color color = x11ColorMap.get(colorName.toLowerCase());\r
+            if(color == null) {\r
+                System.err.println("Unknown color: " + colorName);\r
+                return Color.BLACK;\r
+            }\r
+            return color;\r
+        }\r
+    }\r
+\r
+    private static void addColor(int r, int g, int b, String name) {\r
+        x11ColorMap.put(name.toLowerCase(), new Color(r, g, b));\r
+    }\r
+    \r
+    static {\r
+        addColor(255, 250, 250, "snow");\r
+        addColor(248, 248, 255, "ghost white");\r
+        addColor(248, 248, 255, "GhostWhite");\r
+        addColor(245, 245, 245, "white smoke");\r
+        addColor(245, 245, 245, "WhiteSmoke");\r
+        addColor(220, 220, 220, "gainsboro");\r
+        addColor(255, 250, 240, "floral white");\r
+        addColor(255, 250, 240, "FloralWhite");\r
+        addColor(253, 245, 230, "old lace");\r
+        addColor(253, 245, 230, "OldLace");\r
+        addColor(250, 240, 230, "linen");\r
+        addColor(250, 235, 215, "antique white");\r
+        addColor(250, 235, 215, "AntiqueWhite");\r
+        addColor(255, 239, 213, "papaya whip");\r
+        addColor(255, 239, 213, "PapayaWhip");\r
+        addColor(255, 235, 205, "blanched almond");\r
+        addColor(255, 235, 205, "BlanchedAlmond");\r
+        addColor(255, 228, 196, "bisque");\r
+        addColor(255, 218, 185, "peach puff");\r
+        addColor(255, 218, 185, "PeachPuff");\r
+        addColor(255, 222, 173, "navajo white");\r
+        addColor(255, 222, 173, "NavajoWhite");\r
+        addColor(255, 228, 181, "moccasin");\r
+        addColor(255, 248, 220, "cornsilk");\r
+        addColor(255, 255, 240, "ivory");\r
+        addColor(255, 250, 205, "lemon chiffon");\r
+        addColor(255, 250, 205, "LemonChiffon");\r
+        addColor(255, 245, 238, "seashell");\r
+        addColor(240, 255, 240, "honeydew");\r
+        addColor(245, 255, 250, "mint cream");\r
+        addColor(245, 255, 250, "MintCream");\r
+        addColor(240, 255, 255, "azure");\r
+        addColor(240, 248, 255, "alice blue");\r
+        addColor(240, 248, 255, "AliceBlue");\r
+        addColor(230, 230, 250, "lavender");\r
+        addColor(255, 240, 245, "lavender blush");\r
+        addColor(255, 240, 245, "LavenderBlush");\r
+        addColor(255, 228, 225, "misty rose");\r
+        addColor(255, 228, 225, "MistyRose");\r
+        addColor(255, 255, 255, "white");\r
+        addColor(0, 0, 0, "black");\r
+        addColor(47, 79, 79, "dark slate gray");\r
+        addColor(47, 79, 79, "DarkSlateGray");\r
+        addColor(47, 79, 79, "dark slate grey");\r
+        addColor(47, 79, 79, "DarkSlateGrey");\r
+        addColor(105, 105, 105, "dim gray");\r
+        addColor(105, 105, 105, "DimGray");\r
+        addColor(105, 105, 105, "dim grey");\r
+        addColor(105, 105, 105, "DimGrey");\r
+        addColor(112, 128, 144, "slate gray");\r
+        addColor(112, 128, 144, "SlateGray");\r
+        addColor(112, 128, 144, "slate grey");\r
+        addColor(112, 128, 144, "SlateGrey");\r
+        addColor(119, 136, 153, "light slate gray");\r
+        addColor(119, 136, 153, "LightSlateGray");\r
+        addColor(119, 136, 153, "light slate grey");\r
+        addColor(119, 136, 153, "LightSlateGrey");\r
+        addColor(190, 190, 190, "gray");\r
+        addColor(190, 190, 190, "grey");\r
+        addColor(211, 211, 211, "light grey");\r
+        addColor(211, 211, 211, "LightGrey");\r
+        addColor(211, 211, 211, "light gray");\r
+        addColor(211, 211, 211, "LightGray");\r
+        addColor(25, 25, 112, "midnight blue");\r
+        addColor(25, 25, 112, "MidnightBlue");\r
+        addColor(0, 0, 128, "navy");\r
+        addColor(0, 0, 128, "navy blue");\r
+        addColor(0, 0, 128, "NavyBlue");\r
+        addColor(100, 149, 237, "cornflower blue");\r
+        addColor(100, 149, 237, "CornflowerBlue");\r
+        addColor(72, 61, 139, "dark slate blue");\r
+        addColor(72, 61, 139, "DarkSlateBlue");\r
+        addColor(106, 90, 205, "slate blue");\r
+        addColor(106, 90, 205, "SlateBlue");\r
+        addColor(123, 104, 238, "medium slate blue");\r
+        addColor(123, 104, 238, "MediumSlateBlue");\r
+        addColor(132, 112, 255, "light slate blue");\r
+        addColor(132, 112, 255, "LightSlateBlue");\r
+        addColor(0, 0, 205, "medium blue");\r
+        addColor(0, 0, 205, "MediumBlue");\r
+        addColor(65, 105, 225, "royal blue");\r
+        addColor(65, 105, 225, "RoyalBlue");\r
+        addColor(0, 0, 255, "blue");\r
+        addColor(30, 144, 255, "dodger blue");\r
+        addColor(30, 144, 255, "DodgerBlue");\r
+        addColor(0, 191, 255, "deep sky blue");\r
+        addColor(0, 191, 255, "DeepSkyBlue");\r
+        addColor(135, 206, 235, "sky blue");\r
+        addColor(135, 206, 235, "SkyBlue");\r
+        addColor(135, 206, 250, "light sky blue");\r
+        addColor(135, 206, 250, "LightSkyBlue");\r
+        addColor(70, 130, 180, "steel blue");\r
+        addColor(70, 130, 180, "SteelBlue");\r
+        addColor(176, 196, 222, "light steel blue");\r
+        addColor(176, 196, 222, "LightSteelBlue");\r
+        addColor(173, 216, 230, "light blue");\r
+        addColor(173, 216, 230, "LightBlue");\r
+        addColor(176, 224, 230, "powder blue");\r
+        addColor(176, 224, 230, "PowderBlue");\r
+        addColor(175, 238, 238, "pale turquoise");\r
+        addColor(175, 238, 238, "PaleTurquoise");\r
+        addColor(0, 206, 209, "dark turquoise");\r
+        addColor(0, 206, 209, "DarkTurquoise");\r
+        addColor(72, 209, 204, "medium turquoise");\r
+        addColor(72, 209, 204, "MediumTurquoise");\r
+        addColor(64, 224, 208, "turquoise");\r
+        addColor(0, 255, 255, "cyan");\r
+        addColor(224, 255, 255, "light cyan");\r
+        addColor(224, 255, 255, "LightCyan");\r
+        addColor(95, 158, 160, "cadet blue");\r
+        addColor(95, 158, 160, "CadetBlue");\r
+        addColor(102, 205, 170, "medium aquamarine");\r
+        addColor(102, 205, 170, "MediumAquamarine");\r
+        addColor(127, 255, 212, "aquamarine");\r
+        addColor(0, 100, 0, "dark green");\r
+        addColor(0, 100, 0, "DarkGreen");\r
+        addColor(85, 107, 47, "dark olive green");\r
+        addColor(85, 107, 47, "DarkOliveGreen");\r
+        addColor(143, 188, 143, "dark sea green");\r
+        addColor(143, 188, 143, "DarkSeaGreen");\r
+        addColor(46, 139, 87, "sea green");\r
+        addColor(46, 139, 87, "SeaGreen");\r
+        addColor(60, 179, 113, "medium sea green");\r
+        addColor(60, 179, 113, "MediumSeaGreen");\r
+        addColor(32, 178, 170, "light sea green");\r
+        addColor(32, 178, 170, "LightSeaGreen");\r
+        addColor(152, 251, 152, "pale green");\r
+        addColor(152, 251, 152, "PaleGreen");\r
+        addColor(0, 255, 127, "spring green");\r
+        addColor(0, 255, 127, "SpringGreen");\r
+        addColor(124, 252, 0, "lawn green");\r
+        addColor(124, 252, 0, "LawnGreen");\r
+        addColor(0, 255, 0, "green");\r
+        addColor(127, 255, 0, "chartreuse");\r
+        addColor(0, 250, 154, "medium spring green");\r
+        addColor(0, 250, 154, "MediumSpringGreen");\r
+        addColor(173, 255, 47, "green yellow");\r
+        addColor(173, 255, 47, "GreenYellow");\r
+        addColor(50, 205, 50, "lime green");\r
+        addColor(50, 205, 50, "LimeGreen");\r
+        addColor(154, 205, 50, "yellow green");\r
+        addColor(154, 205, 50, "YellowGreen");\r
+        addColor(34, 139, 34, "forest green");\r
+        addColor(34, 139, 34, "ForestGreen");\r
+        addColor(107, 142, 35, "olive drab");\r
+        addColor(107, 142, 35, "OliveDrab");\r
+        addColor(189, 183, 107, "dark khaki");\r
+        addColor(189, 183, 107, "DarkKhaki");\r
+        addColor(240, 230, 140, "khaki");\r
+        addColor(238, 232, 170, "pale goldenrod");\r
+        addColor(238, 232, 170, "PaleGoldenrod");\r
+        addColor(250, 250, 210, "light goldenrod yellow");\r
+        addColor(250, 250, 210, "LightGoldenrodYellow");\r
+        addColor(255, 255, 224, "light yellow");\r
+        addColor(255, 255, 224, "LightYellow");\r
+        addColor(255, 255, 0, "yellow");\r
+        addColor(255, 215, 0, "gold");\r
+        addColor(238, 221, 130, "light goldenrod");\r
+        addColor(238, 221, 130, "LightGoldenrod");\r
+        addColor(218, 165, 32, "goldenrod");\r
+        addColor(184, 134, 11, "dark goldenrod");\r
+        addColor(184, 134, 11, "DarkGoldenrod");\r
+        addColor(188, 143, 143, "rosy brown");\r
+        addColor(188, 143, 143, "RosyBrown");\r
+        addColor(205, 92, 92, "indian red");\r
+        addColor(205, 92, 92, "IndianRed");\r
+        addColor(139, 69, 19, "saddle brown");\r
+        addColor(139, 69, 19, "SaddleBrown");\r
+        addColor(160, 82, 45, "sienna");\r
+        addColor(205, 133, 63, "peru");\r
+        addColor(222, 184, 135, "burlywood");\r
+        addColor(245, 245, 220, "beige");\r
+        addColor(245, 222, 179, "wheat");\r
+        addColor(244, 164, 96, "sandy brown");\r
+        addColor(244, 164, 96, "SandyBrown");\r
+        addColor(210, 180, 140, "tan");\r
+        addColor(210, 105, 30, "chocolate");\r
+        addColor(178, 34, 34, "firebrick");\r
+        addColor(165, 42, 42, "brown");\r
+        addColor(233, 150, 122, "dark salmon");\r
+        addColor(233, 150, 122, "DarkSalmon");\r
+        addColor(250, 128, 114, "salmon");\r
+        addColor(255, 160, 122, "light salmon");\r
+        addColor(255, 160, 122, "LightSalmon");\r
+        addColor(255, 165, 0, "orange");\r
+        addColor(255, 140, 0, "dark orange");\r
+        addColor(255, 140, 0, "DarkOrange");\r
+        addColor(255, 127, 80, "coral");\r
+        addColor(240, 128, 128, "light coral");\r
+        addColor(240, 128, 128, "LightCoral");\r
+        addColor(255, 99, 71, "tomato");\r
+        addColor(255, 69, 0, "orange red");\r
+        addColor(255, 69, 0, "OrangeRed");\r
+        addColor(255, 0, 0, "red");\r
+        addColor(255, 105, 180, "hot pink");\r
+        addColor(255, 105, 180, "HotPink");\r
+        addColor(255, 20, 147, "deep pink");\r
+        addColor(255, 20, 147, "DeepPink");\r
+        addColor(255, 192, 203, "pink");\r
+        addColor(255, 182, 193, "light pink");\r
+        addColor(255, 182, 193, "LightPink");\r
+        addColor(219, 112, 147, "pale violet red");\r
+        addColor(219, 112, 147, "PaleVioletRed");\r
+        addColor(176, 48, 96, "maroon");\r
+        addColor(199, 21, 133, "medium violet red");\r
+        addColor(199, 21, 133, "MediumVioletRed");\r
+        addColor(208, 32, 144, "violet red");\r
+        addColor(208, 32, 144, "VioletRed");\r
+        addColor(255, 0, 255, "magenta");\r
+        addColor(238, 130, 238, "violet");\r
+        addColor(221, 160, 221, "plum");\r
+        addColor(218, 112, 214, "orchid");\r
+        addColor(186, 85, 211, "medium orchid");\r
+        addColor(186, 85, 211, "MediumOrchid");\r
+        addColor(153, 50, 204, "dark orchid");\r
+        addColor(153, 50, 204, "DarkOrchid");\r
+        addColor(148, 0, 211, "dark violet");\r
+        addColor(148, 0, 211, "DarkViolet");\r
+        addColor(138, 43, 226, "blue violet");\r
+        addColor(138, 43, 226, "BlueViolet");\r
+        addColor(160, 32, 240, "purple");\r
+        addColor(147, 112, 219, "medium purple");\r
+        addColor(147, 112, 219, "MediumPurple");\r
+        addColor(216, 191, 216, "thistle");\r
+        addColor(255, 250, 250, "snow1");\r
+        addColor(238, 233, 233, "snow2");\r
+        addColor(205, 201, 201, "snow3");\r
+        addColor(139, 137, 137, "snow4");\r
+        addColor(255, 245, 238, "seashell1");\r
+        addColor(238, 229, 222, "seashell2");\r
+        addColor(205, 197, 191, "seashell3");\r
+        addColor(139, 134, 130, "seashell4");\r
+        addColor(255, 239, 219, "AntiqueWhite1");\r
+        addColor(238, 223, 204, "AntiqueWhite2");\r
+        addColor(205, 192, 176, "AntiqueWhite3");\r
+        addColor(139, 131, 120, "AntiqueWhite4");\r
+        addColor(255, 228, 196, "bisque1");\r
+        addColor(238, 213, 183, "bisque2");\r
+        addColor(205, 183, 158, "bisque3");\r
+        addColor(139, 125, 107, "bisque4");\r
+        addColor(255, 218, 185, "PeachPuff1");\r
+        addColor(238, 203, 173, "PeachPuff2");\r
+        addColor(205, 175, 149, "PeachPuff3");\r
+        addColor(139, 119, 101, "PeachPuff4");\r
+        addColor(255, 222, 173, "NavajoWhite1");\r
+        addColor(238, 207, 161, "NavajoWhite2");\r
+        addColor(205, 179, 139, "NavajoWhite3");\r
+        addColor(139, 121, 94, "NavajoWhite4");\r
+        addColor(255, 250, 205, "LemonChiffon1");\r
+        addColor(238, 233, 191, "LemonChiffon2");\r
+        addColor(205, 201, 165, "LemonChiffon3");\r
+        addColor(139, 137, 112, "LemonChiffon4");\r
+        addColor(255, 248, 220, "cornsilk1");\r
+        addColor(238, 232, 205, "cornsilk2");\r
+        addColor(205, 200, 177, "cornsilk3");\r
+        addColor(139, 136, 120, "cornsilk4");\r
+        addColor(255, 255, 240, "ivory1");\r
+        addColor(238, 238, 224, "ivory2");\r
+        addColor(205, 205, 193, "ivory3");\r
+        addColor(139, 139, 131, "ivory4");\r
+        addColor(240, 255, 240, "honeydew1");\r
+        addColor(224, 238, 224, "honeydew2");\r
+        addColor(193, 205, 193, "honeydew3");\r
+        addColor(131, 139, 131, "honeydew4");\r
+        addColor(255, 240, 245, "LavenderBlush1");\r
+        addColor(238, 224, 229, "LavenderBlush2");\r
+        addColor(205, 193, 197, "LavenderBlush3");\r
+        addColor(139, 131, 134, "LavenderBlush4");\r
+        addColor(255, 228, 225, "MistyRose1");\r
+        addColor(238, 213, 210, "MistyRose2");\r
+        addColor(205, 183, 181, "MistyRose3");\r
+        addColor(139, 125, 123, "MistyRose4");\r
+        addColor(240, 255, 255, "azure1");\r
+        addColor(224, 238, 238, "azure2");\r
+        addColor(193, 205, 205, "azure3");\r
+        addColor(131, 139, 139, "azure4");\r
+        addColor(131, 111, 255, "SlateBlue1");\r
+        addColor(122, 103, 238, "SlateBlue2");\r
+        addColor(105, 89, 205, "SlateBlue3");\r
+        addColor(71, 60, 139, "SlateBlue4");\r
+        addColor(72, 118, 255, "RoyalBlue1");\r
+        addColor(67, 110, 238, "RoyalBlue2");\r
+        addColor(58, 95, 205, "RoyalBlue3");\r
+        addColor(39, 64, 139, "RoyalBlue4");\r
+        addColor(0, 0, 255, "blue1");\r
+        addColor(0, 0, 238, "blue2");\r
+        addColor(0, 0, 205, "blue3");\r
+        addColor(0, 0, 139, "blue4");\r
+        addColor(30, 144, 255, "DodgerBlue1");\r
+        addColor(28, 134, 238, "DodgerBlue2");\r
+        addColor(24, 116, 205, "DodgerBlue3");\r
+        addColor(16, 78, 139, "DodgerBlue4");\r
+        addColor(99, 184, 255, "SteelBlue1");\r
+        addColor(92, 172, 238, "SteelBlue2");\r
+        addColor(79, 148, 205, "SteelBlue3");\r
+        addColor(54, 100, 139, "SteelBlue4");\r
+        addColor(0, 191, 255, "DeepSkyBlue1");\r
+        addColor(0, 178, 238, "DeepSkyBlue2");\r
+        addColor(0, 154, 205, "DeepSkyBlue3");\r
+        addColor(0, 104, 139, "DeepSkyBlue4");\r
+        addColor(135, 206, 255, "SkyBlue1");\r
+        addColor(126, 192, 238, "SkyBlue2");\r
+        addColor(108, 166, 205, "SkyBlue3");\r
+        addColor(74, 112, 139, "SkyBlue4");\r
+        addColor(176, 226, 255, "LightSkyBlue1");\r
+        addColor(164, 211, 238, "LightSkyBlue2");\r
+        addColor(141, 182, 205, "LightSkyBlue3");\r
+        addColor(96, 123, 139, "LightSkyBlue4");\r
+        addColor(198, 226, 255, "SlateGray1");\r
+        addColor(185, 211, 238, "SlateGray2");\r
+        addColor(159, 182, 205, "SlateGray3");\r
+        addColor(108, 123, 139, "SlateGray4");\r
+        addColor(202, 225, 255, "LightSteelBlue1");\r
+        addColor(188, 210, 238, "LightSteelBlue2");\r
+        addColor(162, 181, 205, "LightSteelBlue3");\r
+        addColor(110, 123, 139, "LightSteelBlue4");\r
+        addColor(191, 239, 255, "LightBlue1");\r
+        addColor(178, 223, 238, "LightBlue2");\r
+        addColor(154, 192, 205, "LightBlue3");\r
+        addColor(104, 131, 139, "LightBlue4");\r
+        addColor(224, 255, 255, "LightCyan1");\r
+        addColor(209, 238, 238, "LightCyan2");\r
+        addColor(180, 205, 205, "LightCyan3");\r
+        addColor(122, 139, 139, "LightCyan4");\r
+        addColor(187, 255, 255, "PaleTurquoise1");\r
+        addColor(174, 238, 238, "PaleTurquoise2");\r
+        addColor(150, 205, 205, "PaleTurquoise3");\r
+        addColor(102, 139, 139, "PaleTurquoise4");\r
+        addColor(152, 245, 255, "CadetBlue1");\r
+        addColor(142, 229, 238, "CadetBlue2");\r
+        addColor(122, 197, 205, "CadetBlue3");\r
+        addColor(83, 134, 139, "CadetBlue4");\r
+        addColor(0, 245, 255, "turquoise1");\r
+        addColor(0, 229, 238, "turquoise2");\r
+        addColor(0, 197, 205, "turquoise3");\r
+        addColor(0, 134, 139, "turquoise4");\r
+        addColor(0, 255, 255, "cyan1");\r
+        addColor(0, 238, 238, "cyan2");\r
+        addColor(0, 205, 205, "cyan3");\r
+        addColor(0, 139, 139, "cyan4");\r
+        addColor(151, 255, 255, "DarkSlateGray1");\r
+        addColor(141, 238, 238, "DarkSlateGray2");\r
+        addColor(121, 205, 205, "DarkSlateGray3");\r
+        addColor(82, 139, 139, "DarkSlateGray4");\r
+        addColor(127, 255, 212, "aquamarine1");\r
+        addColor(118, 238, 198, "aquamarine2");\r
+        addColor(102, 205, 170, "aquamarine3");\r
+        addColor(69, 139, 116, "aquamarine4");\r
+        addColor(193, 255, 193, "DarkSeaGreen1");\r
+        addColor(180, 238, 180, "DarkSeaGreen2");\r
+        addColor(155, 205, 155, "DarkSeaGreen3");\r
+        addColor(105, 139, 105, "DarkSeaGreen4");\r
+        addColor(84, 255, 159, "SeaGreen1");\r
+        addColor(78, 238, 148, "SeaGreen2");\r
+        addColor(67, 205, 128, "SeaGreen3");\r
+        addColor(46, 139, 87, "SeaGreen4");\r
+        addColor(154, 255, 154, "PaleGreen1");\r
+        addColor(144, 238, 144, "PaleGreen2");\r
+        addColor(124, 205, 124, "PaleGreen3");\r
+        addColor(84, 139, 84, "PaleGreen4");\r
+        addColor(0, 255, 127, "SpringGreen1");\r
+        addColor(0, 238, 118, "SpringGreen2");\r
+        addColor(0, 205, 102, "SpringGreen3");\r
+        addColor(0, 139, 69, "SpringGreen4");\r
+        addColor(0, 255, 0, "green1");\r
+        addColor(0, 238, 0, "green2");\r
+        addColor(0, 205, 0, "green3");\r
+        addColor(0, 139, 0, "green4");\r
+        addColor(127, 255, 0, "chartreuse1");\r
+        addColor(118, 238, 0, "chartreuse2");\r
+        addColor(102, 205, 0, "chartreuse3");\r
+        addColor(69, 139, 0, "chartreuse4");\r
+        addColor(192, 255, 62, "OliveDrab1");\r
+        addColor(179, 238, 58, "OliveDrab2");\r
+        addColor(154, 205, 50, "OliveDrab3");\r
+        addColor(105, 139, 34, "OliveDrab4");\r
+        addColor(202, 255, 112, "DarkOliveGreen1");\r
+        addColor(188, 238, 104, "DarkOliveGreen2");\r
+        addColor(162, 205, 90, "DarkOliveGreen3");\r
+        addColor(110, 139, 61, "DarkOliveGreen4");\r
+        addColor(255, 246, 143, "khaki1");\r
+        addColor(238, 230, 133, "khaki2");\r
+        addColor(205, 198, 115, "khaki3");\r
+        addColor(139, 134, 78, "khaki4");\r
+        addColor(255, 236, 139, "LightGoldenrod1");\r
+        addColor(238, 220, 130, "LightGoldenrod2");\r
+        addColor(205, 190, 112, "LightGoldenrod3");\r
+        addColor(139, 129, 76, "LightGoldenrod4");\r
+        addColor(255, 255, 224, "LightYellow1");\r
+        addColor(238, 238, 209, "LightYellow2");\r
+        addColor(205, 205, 180, "LightYellow3");\r
+        addColor(139, 139, 122, "LightYellow4");\r
+        addColor(255, 255, 0, "yellow1");\r
+        addColor(238, 238, 0, "yellow2");\r
+        addColor(205, 205, 0, "yellow3");\r
+        addColor(139, 139, 0, "yellow4");\r
+        addColor(255, 215, 0, "gold1");\r
+        addColor(238, 201, 0, "gold2");\r
+        addColor(205, 173, 0, "gold3");\r
+        addColor(139, 117, 0, "gold4");\r
+        addColor(255, 193, 37, "goldenrod1");\r
+        addColor(238, 180, 34, "goldenrod2");\r
+        addColor(205, 155, 29, "goldenrod3");\r
+        addColor(139, 105, 20, "goldenrod4");\r
+        addColor(255, 185, 15, "DarkGoldenrod1");\r
+        addColor(238, 173, 14, "DarkGoldenrod2");\r
+        addColor(205, 149, 12, "DarkGoldenrod3");\r
+        addColor(139, 101, 8, "DarkGoldenrod4");\r
+        addColor(255, 193, 193, "RosyBrown1");\r
+        addColor(238, 180, 180, "RosyBrown2");\r
+        addColor(205, 155, 155, "RosyBrown3");\r
+        addColor(139, 105, 105, "RosyBrown4");\r
+        addColor(255, 106, 106, "IndianRed1");\r
+        addColor(238, 99, 99, "IndianRed2");\r
+        addColor(205, 85, 85, "IndianRed3");\r
+        addColor(139, 58, 58, "IndianRed4");\r
+        addColor(255, 130, 71, "sienna1");\r
+        addColor(238, 121, 66, "sienna2");\r
+        addColor(205, 104, 57, "sienna3");\r
+        addColor(139, 71, 38, "sienna4");\r
+        addColor(255, 211, 155, "burlywood1");\r
+        addColor(238, 197, 145, "burlywood2");\r
+        addColor(205, 170, 125, "burlywood3");\r
+        addColor(139, 115, 85, "burlywood4");\r
+        addColor(255, 231, 186, "wheat1");\r
+        addColor(238, 216, 174, "wheat2");\r
+        addColor(205, 186, 150, "wheat3");\r
+        addColor(139, 126, 102, "wheat4");\r
+        addColor(255, 165, 79, "tan1");\r
+        addColor(238, 154, 73, "tan2");\r
+        addColor(205, 133, 63, "tan3");\r
+        addColor(139, 90, 43, "tan4");\r
+        addColor(255, 127, 36, "chocolate1");\r
+        addColor(238, 118, 33, "chocolate2");\r
+        addColor(205, 102, 29, "chocolate3");\r
+        addColor(139, 69, 19, "chocolate4");\r
+        addColor(255, 48, 48, "firebrick1");\r
+        addColor(238, 44, 44, "firebrick2");\r
+        addColor(205, 38, 38, "firebrick3");\r
+        addColor(139, 26, 26, "firebrick4");\r
+        addColor(255, 64, 64, "brown1");\r
+        addColor(238, 59, 59, "brown2");\r
+        addColor(205, 51, 51, "brown3");\r
+        addColor(139, 35, 35, "brown4");\r
+        addColor(255, 140, 105, "salmon1");\r
+        addColor(238, 130, 98, "salmon2");\r
+        addColor(205, 112, 84, "salmon3");\r
+        addColor(139, 76, 57, "salmon4");\r
+        addColor(255, 160, 122, "LightSalmon1");\r
+        addColor(238, 149, 114, "LightSalmon2");\r
+        addColor(205, 129, 98, "LightSalmon3");\r
+        addColor(139, 87, 66, "LightSalmon4");\r
+        addColor(255, 165, 0, "orange1");\r
+        addColor(238, 154, 0, "orange2");\r
+        addColor(205, 133, 0, "orange3");\r
+        addColor(139, 90, 0, "orange4");\r
+        addColor(255, 127, 0, "DarkOrange1");\r
+        addColor(238, 118, 0, "DarkOrange2");\r
+        addColor(205, 102, 0, "DarkOrange3");\r
+        addColor(139, 69, 0, "DarkOrange4");\r
+        addColor(255, 114, 86, "coral1");\r
+        addColor(238, 106, 80, "coral2");\r
+        addColor(205, 91, 69, "coral3");\r
+        addColor(139, 62, 47, "coral4");\r
+        addColor(255, 99, 71, "tomato1");\r
+        addColor(238, 92, 66, "tomato2");\r
+        addColor(205, 79, 57, "tomato3");\r
+        addColor(139, 54, 38, "tomato4");\r
+        addColor(255, 69, 0, "OrangeRed1");\r
+        addColor(238, 64, 0, "OrangeRed2");\r
+        addColor(205, 55, 0, "OrangeRed3");\r
+        addColor(139, 37, 0, "OrangeRed4");\r
+        addColor(255, 0, 0, "red1");\r
+        addColor(238, 0, 0, "red2");\r
+        addColor(205, 0, 0, "red3");\r
+        addColor(139, 0, 0, "red4");\r
+        addColor(255, 20, 147, "DeepPink1");\r
+        addColor(238, 18, 137, "DeepPink2");\r
+        addColor(205, 16, 118, "DeepPink3");\r
+        addColor(139, 10, 80, "DeepPink4");\r
+        addColor(255, 110, 180, "HotPink1");\r
+        addColor(238, 106, 167, "HotPink2");\r
+        addColor(205, 96, 144, "HotPink3");\r
+        addColor(139, 58, 98, "HotPink4");\r
+        addColor(255, 181, 197, "pink1");\r
+        addColor(238, 169, 184, "pink2");\r
+        addColor(205, 145, 158, "pink3");\r
+        addColor(139, 99, 108, "pink4");\r
+        addColor(255, 174, 185, "LightPink1");\r
+        addColor(238, 162, 173, "LightPink2");\r
+        addColor(205, 140, 149, "LightPink3");\r
+        addColor(139, 95, 101, "LightPink4");\r
+        addColor(255, 130, 171, "PaleVioletRed1");\r
+        addColor(238, 121, 159, "PaleVioletRed2");\r
+        addColor(205, 104, 137, "PaleVioletRed3");\r
+        addColor(139, 71, 93, "PaleVioletRed4");\r
+        addColor(255, 52, 179, "maroon1");\r
+        addColor(238, 48, 167, "maroon2");\r
+        addColor(205, 41, 144, "maroon3");\r
+        addColor(139, 28, 98, "maroon4");\r
+        addColor(255, 62, 150, "VioletRed1");\r
+        addColor(238, 58, 140, "VioletRed2");\r
+        addColor(205, 50, 120, "VioletRed3");\r
+        addColor(139, 34, 82, "VioletRed4");\r
+        addColor(255, 0, 255, "magenta1");\r
+        addColor(238, 0, 238, "magenta2");\r
+        addColor(205, 0, 205, "magenta3");\r
+        addColor(139, 0, 139, "magenta4");\r
+        addColor(255, 131, 250, "orchid1");\r
+        addColor(238, 122, 233, "orchid2");\r
+        addColor(205, 105, 201, "orchid3");\r
+        addColor(139, 71, 137, "orchid4");\r
+        addColor(255, 187, 255, "plum1");\r
+        addColor(238, 174, 238, "plum2");\r
+        addColor(205, 150, 205, "plum3");\r
+        addColor(139, 102, 139, "plum4");\r
+        addColor(224, 102, 255, "MediumOrchid1");\r
+        addColor(209, 95, 238, "MediumOrchid2");\r
+        addColor(180, 82, 205, "MediumOrchid3");\r
+        addColor(122, 55, 139, "MediumOrchid4");\r
+        addColor(191, 62, 255, "DarkOrchid1");\r
+        addColor(178, 58, 238, "DarkOrchid2");\r
+        addColor(154, 50, 205, "DarkOrchid3");\r
+        addColor(104, 34, 139, "DarkOrchid4");\r
+        addColor(155, 48, 255, "purple1");\r
+        addColor(145, 44, 238, "purple2");\r
+        addColor(125, 38, 205, "purple3");\r
+        addColor(85, 26, 139, "purple4");\r
+        addColor(171, 130, 255, "MediumPurple1");\r
+        addColor(159, 121, 238, "MediumPurple2");\r
+        addColor(137, 104, 205, "MediumPurple3");\r
+        addColor(93, 71, 139, "MediumPurple4");\r
+        addColor(255, 225, 255, "thistle1");\r
+        addColor(238, 210, 238, "thistle2");\r
+        addColor(205, 181, 205, "thistle3");\r
+        addColor(139, 123, 139, "thistle4");\r
+        addColor(0, 0, 0, "gray0");\r
+        addColor(0, 0, 0, "grey0");\r
+        addColor(3, 3, 3, "gray1");\r
+        addColor(3, 3, 3, "grey1");\r
+        addColor(5, 5, 5, "gray2");\r
+        addColor(5, 5, 5, "grey2");\r
+        addColor(8, 8, 8, "gray3");\r
+        addColor(8, 8, 8, "grey3");\r
+        addColor(10, 10, 10, "gray4");\r
+        addColor(10, 10, 10, "grey4");\r
+        addColor(13, 13, 13, "gray5");\r
+        addColor(13, 13, 13, "grey5");\r
+        addColor(15, 15, 15, "gray6");\r
+        addColor(15, 15, 15, "grey6");\r
+        addColor(18, 18, 18, "gray7");\r
+        addColor(18, 18, 18, "grey7");\r
+        addColor(20, 20, 20, "gray8");\r
+        addColor(20, 20, 20, "grey8");\r
+        addColor(23, 23, 23, "gray9");\r
+        addColor(23, 23, 23, "grey9");\r
+        addColor(26, 26, 26, "gray10");\r
+        addColor(26, 26, 26, "grey10");\r
+        addColor(28, 28, 28, "gray11");\r
+        addColor(28, 28, 28, "grey11");\r
+        addColor(31, 31, 31, "gray12");\r
+        addColor(31, 31, 31, "grey12");\r
+        addColor(33, 33, 33, "gray13");\r
+        addColor(33, 33, 33, "grey13");\r
+        addColor(36, 36, 36, "gray14");\r
+        addColor(36, 36, 36, "grey14");\r
+        addColor(38, 38, 38, "gray15");\r
+        addColor(38, 38, 38, "grey15");\r
+        addColor(41, 41, 41, "gray16");\r
+        addColor(41, 41, 41, "grey16");\r
+        addColor(43, 43, 43, "gray17");\r
+        addColor(43, 43, 43, "grey17");\r
+        addColor(46, 46, 46, "gray18");\r
+        addColor(46, 46, 46, "grey18");\r
+        addColor(48, 48, 48, "gray19");\r
+        addColor(48, 48, 48, "grey19");\r
+        addColor(51, 51, 51, "gray20");\r
+        addColor(51, 51, 51, "grey20");\r
+        addColor(54, 54, 54, "gray21");\r
+        addColor(54, 54, 54, "grey21");\r
+        addColor(56, 56, 56, "gray22");\r
+        addColor(56, 56, 56, "grey22");\r
+        addColor(59, 59, 59, "gray23");\r
+        addColor(59, 59, 59, "grey23");\r
+        addColor(61, 61, 61, "gray24");\r
+        addColor(61, 61, 61, "grey24");\r
+        addColor(64, 64, 64, "gray25");\r
+        addColor(64, 64, 64, "grey25");\r
+        addColor(66, 66, 66, "gray26");\r
+        addColor(66, 66, 66, "grey26");\r
+        addColor(69, 69, 69, "gray27");\r
+        addColor(69, 69, 69, "grey27");\r
+        addColor(71, 71, 71, "gray28");\r
+        addColor(71, 71, 71, "grey28");\r
+        addColor(74, 74, 74, "gray29");\r
+        addColor(74, 74, 74, "grey29");\r
+        addColor(77, 77, 77, "gray30");\r
+        addColor(77, 77, 77, "grey30");\r
+        addColor(79, 79, 79, "gray31");\r
+        addColor(79, 79, 79, "grey31");\r
+        addColor(82, 82, 82, "gray32");\r
+        addColor(82, 82, 82, "grey32");\r
+        addColor(84, 84, 84, "gray33");\r
+        addColor(84, 84, 84, "grey33");\r
+        addColor(87, 87, 87, "gray34");\r
+        addColor(87, 87, 87, "grey34");\r
+        addColor(89, 89, 89, "gray35");\r
+        addColor(89, 89, 89, "grey35");\r
+        addColor(92, 92, 92, "gray36");\r
+        addColor(92, 92, 92, "grey36");\r
+        addColor(94, 94, 94, "gray37");\r
+        addColor(94, 94, 94, "grey37");\r
+        addColor(97, 97, 97, "gray38");\r
+        addColor(97, 97, 97, "grey38");\r
+        addColor(99, 99, 99, "gray39");\r
+        addColor(99, 99, 99, "grey39");\r
+        addColor(102, 102, 102, "gray40");\r
+        addColor(102, 102, 102, "grey40");\r
+        addColor(105, 105, 105, "gray41");\r
+        addColor(105, 105, 105, "grey41");\r
+        addColor(107, 107, 107, "gray42");\r
+        addColor(107, 107, 107, "grey42");\r
+        addColor(110, 110, 110, "gray43");\r
+        addColor(110, 110, 110, "grey43");\r
+        addColor(112, 112, 112, "gray44");\r
+        addColor(112, 112, 112, "grey44");\r
+        addColor(115, 115, 115, "gray45");\r
+        addColor(115, 115, 115, "grey45");\r
+        addColor(117, 117, 117, "gray46");\r
+        addColor(117, 117, 117, "grey46");\r
+        addColor(120, 120, 120, "gray47");\r
+        addColor(120, 120, 120, "grey47");\r
+        addColor(122, 122, 122, "gray48");\r
+        addColor(122, 122, 122, "grey48");\r
+        addColor(125, 125, 125, "gray49");\r
+        addColor(125, 125, 125, "grey49");\r
+        addColor(127, 127, 127, "gray50");\r
+        addColor(127, 127, 127, "grey50");\r
+        addColor(130, 130, 130, "gray51");\r
+        addColor(130, 130, 130, "grey51");\r
+        addColor(133, 133, 133, "gray52");\r
+        addColor(133, 133, 133, "grey52");\r
+        addColor(135, 135, 135, "gray53");\r
+        addColor(135, 135, 135, "grey53");\r
+        addColor(138, 138, 138, "gray54");\r
+        addColor(138, 138, 138, "grey54");\r
+        addColor(140, 140, 140, "gray55");\r
+        addColor(140, 140, 140, "grey55");\r
+        addColor(143, 143, 143, "gray56");\r
+        addColor(143, 143, 143, "grey56");\r
+        addColor(145, 145, 145, "gray57");\r
+        addColor(145, 145, 145, "grey57");\r
+        addColor(148, 148, 148, "gray58");\r
+        addColor(148, 148, 148, "grey58");\r
+        addColor(150, 150, 150, "gray59");\r
+        addColor(150, 150, 150, "grey59");\r
+        addColor(153, 153, 153, "gray60");\r
+        addColor(153, 153, 153, "grey60");\r
+        addColor(156, 156, 156, "gray61");\r
+        addColor(156, 156, 156, "grey61");\r
+        addColor(158, 158, 158, "gray62");\r
+        addColor(158, 158, 158, "grey62");\r
+        addColor(161, 161, 161, "gray63");\r
+        addColor(161, 161, 161, "grey63");\r
+        addColor(163, 163, 163, "gray64");\r
+        addColor(163, 163, 163, "grey64");\r
+        addColor(166, 166, 166, "gray65");\r
+        addColor(166, 166, 166, "grey65");\r
+        addColor(168, 168, 168, "gray66");\r
+        addColor(168, 168, 168, "grey66");\r
+        addColor(171, 171, 171, "gray67");\r
+        addColor(171, 171, 171, "grey67");\r
+        addColor(173, 173, 173, "gray68");\r
+        addColor(173, 173, 173, "grey68");\r
+        addColor(176, 176, 176, "gray69");\r
+        addColor(176, 176, 176, "grey69");\r
+        addColor(179, 179, 179, "gray70");\r
+        addColor(179, 179, 179, "grey70");\r
+        addColor(181, 181, 181, "gray71");\r
+        addColor(181, 181, 181, "grey71");\r
+        addColor(184, 184, 184, "gray72");\r
+        addColor(184, 184, 184, "grey72");\r
+        addColor(186, 186, 186, "gray73");\r
+        addColor(186, 186, 186, "grey73");\r
+        addColor(189, 189, 189, "gray74");\r
+        addColor(189, 189, 189, "grey74");\r
+        addColor(191, 191, 191, "gray75");\r
+        addColor(191, 191, 191, "grey75");\r
+        addColor(194, 194, 194, "gray76");\r
+        addColor(194, 194, 194, "grey76");\r
+        addColor(196, 196, 196, "gray77");\r
+        addColor(196, 196, 196, "grey77");\r
+        addColor(199, 199, 199, "gray78");\r
+        addColor(199, 199, 199, "grey78");\r
+        addColor(201, 201, 201, "gray79");\r
+        addColor(201, 201, 201, "grey79");\r
+        addColor(204, 204, 204, "gray80");\r
+        addColor(204, 204, 204, "grey80");\r
+        addColor(207, 207, 207, "gray81");\r
+        addColor(207, 207, 207, "grey81");\r
+        addColor(209, 209, 209, "gray82");\r
+        addColor(209, 209, 209, "grey82");\r
+        addColor(212, 212, 212, "gray83");\r
+        addColor(212, 212, 212, "grey83");\r
+        addColor(214, 214, 214, "gray84");\r
+        addColor(214, 214, 214, "grey84");\r
+        addColor(217, 217, 217, "gray85");\r
+        addColor(217, 217, 217, "grey85");\r
+        addColor(219, 219, 219, "gray86");\r
+        addColor(219, 219, 219, "grey86");\r
+        addColor(222, 222, 222, "gray87");\r
+        addColor(222, 222, 222, "grey87");\r
+        addColor(224, 224, 224, "gray88");\r
+        addColor(224, 224, 224, "grey88");\r
+        addColor(227, 227, 227, "gray89");\r
+        addColor(227, 227, 227, "grey89");\r
+        addColor(229, 229, 229, "gray90");\r
+        addColor(229, 229, 229, "grey90");\r
+        addColor(232, 232, 232, "gray91");\r
+        addColor(232, 232, 232, "grey91");\r
+        addColor(235, 235, 235, "gray92");\r
+        addColor(235, 235, 235, "grey92");\r
+        addColor(237, 237, 237, "gray93");\r
+        addColor(237, 237, 237, "grey93");\r
+        addColor(240, 240, 240, "gray94");\r
+        addColor(240, 240, 240, "grey94");\r
+        addColor(242, 242, 242, "gray95");\r
+        addColor(242, 242, 242, "grey95");\r
+        addColor(245, 245, 245, "gray96");\r
+        addColor(245, 245, 245, "grey96");\r
+        addColor(247, 247, 247, "gray97");\r
+        addColor(247, 247, 247, "grey97");\r
+        addColor(250, 250, 250, "gray98");\r
+        addColor(250, 250, 250, "grey98");\r
+        addColor(252, 252, 252, "gray99");\r
+        addColor(252, 252, 252, "grey99");\r
+        addColor(255, 255, 255, "gray100");\r
+        addColor(255, 255, 255, "grey100");\r
+        addColor(169, 169, 169, "dark grey");\r
+        addColor(169, 169, 169, "DarkGrey");\r
+        addColor(169, 169, 169, "dark gray");\r
+        addColor(169, 169, 169, "DarkGray");\r
+        addColor(0, 0, 139, "dark blue");\r
+        addColor(0, 0, 139, "DarkBlue");\r
+        addColor(0, 139, 139, "dark cyan");\r
+        addColor(0, 139, 139, "DarkCyan");\r
+        addColor(139, 0, 139, "dark magenta");\r
+        addColor(139, 0, 139, "DarkMagenta");\r
+        addColor(139, 0, 0, "dark red");\r
+        addColor(139, 0, 0, "DarkRed");\r
+        addColor(144, 238, 144, "light green");\r
+        addColor(144, 238, 144, "LightGreen");\r
+    }\r
+}\r