2002/css-validator/org/w3c/css/values CssColorCSS3.java,NONE,1.1 CssColor.java,1.21,1.22 CssColorCSS1.java,1.16,1.17 CssColorCSS2.java,1.14,1.15 CssColorCSS21.java,1.7,1.8 HSLA.java,1.7,1.8 RGBA.java,1.8,1.9 ATSCColor.java,1.9,NONE CssColorConstants.java,1.7,NONE

Update of /sources/public/2002/css-validator/org/w3c/css/values
In directory hutz:/tmp/cvs-serv25474/org/w3c/css/values

Modified Files:
	CssColor.java CssColorCSS1.java CssColorCSS2.java 
	CssColorCSS21.java HSLA.java RGBA.java 
Added Files:
	CssColorCSS3.java 
Removed Files:
	ATSCColor.java CssColorConstants.java 
Log Message:
getting rid of multiple classes for Color value

Index: RGBA.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/RGBA.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- RGBA.java	6 Jan 2010 09:27:45 -0000	1.8
+++ RGBA.java	29 Sep 2011 09:09:00 -0000	1.9
@@ -16,6 +16,9 @@
 import org.w3c.css.util.Util;
 
 public class RGBA {
+    static final String functionname = "rgba";
+
+    String fname;
     String output = null;
     int r, g, b;
     float fr, fg, fb, a;
@@ -92,6 +95,15 @@
      * Create a new RGBA
      */
     public RGBA() {
+        fname = functionname;
+    }
+
+    /**
+     * Create a RGBA and with a specific function name
+     * (like astc-rgba http://www.atsc.org/cms/standards/a100/a_100_2.pdf #5.2.1.8.4.1
+     */
+    public RGBA(String fname) {
+        this.fname = fname;
     }
 
     /**
@@ -130,7 +142,8 @@
      */
     public String toString() {
         if (output == null) {
-            StringBuilder sb = new StringBuilder("rgba(");
+            StringBuilder sb = new StringBuilder();
+            sb.append(fname).append('(');
             if (isPercent()) {
                 sb.append(Util.displayFloat(fr)).append("%, ");
                 sb.append(Util.displayFloat(fg)).append("%, ");

Index: CssColorCSS2.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssColorCSS2.java,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -d -r1.14 -r1.15
--- CssColorCSS2.java	5 Jan 2010 13:50:00 -0000	1.14
+++ CssColorCSS2.java	29 Sep 2011 09:09:00 -0000	1.15
@@ -6,259 +6,75 @@
 // Please first read the full copyright statement in file COPYRIGHT.html
 package org.w3c.css.values;
 
-import org.w3c.css.util.ApplContext;
-import org.w3c.css.util.InvalidParamException;
-
 import java.util.HashMap;
 
 /**
- * <H3>
- * &nbsp;&nbsp; Color units
- * </H3>
- * <p/>
- * A color is a either a keyword or a numerical RGB specification.
- * <p/>
- * The suggested list of keyword color names is: aqua, black, blue, fuchsia,
- * gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white,
- * and yellow. These 16 colors are taken from the Windows VGA palette, and their
- * RGB values are not defined in this specification.
- * <PRE>
- * BODY {color: black; background: white }
- * H1 { color: maroon }
- * H2 { color: olive }
- * </PRE>
- * <p/>
- * The RGB color model is being used in numerical color specifications. These
- * examples all specify the same color:
- * <PRE>
- * EM { color: #f00 }              / * #rgb * /
- * EM { color: #ff0000 }           / * #rrggbb * /
- * EM { color: rgb(255,0,0) }      / * integer range 0 - 255 * /
- * EM { color: rgb(100%, 0%, 0%) } / * float range 0.0% - 100.0% * /
- * </PRE>
- * <p/>
- * The format of an RGB value in hexadecimal notation is a '#' immediately followed
- * by either three or six hexadecimal characters. The three-digit RGB notation
- * (#rgb) is converted into six-digit form (#rrggbb) by replicating digits,
- * not by adding zeros. For example, #fb0 expands to #ffbb00. This makes sure
- * that white (#ffffff) can be specified with the short notation (#fff) and
- * removes any dependencies on the color depth of the display.
- * <p/>
- * The format of an RGB value in the functional notation is 'rgb(' followed
- * by a comma-separated list of three numerical values (either three integer
- * values in the range of 0-255, or three percentage values in the range of
- * 0.0% to 100.0%) followed by ')'. Whitespace characters are allowed around
- * the numerical values.
- * <p/>
- * Values outside the numerical ranges should be clipped. The three rules below
- * are therefore equivalent:
- * <PRE>
- * EM { color: rgb(255,0,0) }       / * integer range 0 - 255 * /
- * EM { color: rgb(300,0,0) }       / * clipped to 255 * /
- * EM { color: rgb(110%, 0%, 0%) }  / * clipped to 100% * /
- * </PRE>
- * <p/>
- * RGB colors are specified in the sRGB color space <A HREF="#ref9">[9]</A>.
- * UAs may vary in the fidelity with which they represent these colors, but
- * use of sRGB provides an unambiguous and objectively measurable definition
- * of what the color should be, which can be related to international standards
- * <A HREF="#ref10">[10]</A>.
- * <p/>
- * UAs may limit their efforts in displaying colors to performing a gamma-correction
- * on them. sRGB specifies a display gamma of 2.2 under specified viewing
- * conditions. UAs adjust the colors given in CSS such that, in combination
- * with an output device's "natural" display gamma, an effective display gamma
- * of 2.2 is produced. <A HREF="#appendix-d">Appendix D</A> gives further details
- * of this. Note that only colors specified in CSS are affected; e.g., images
- * are expected to carry their own color information.
- * <p/>
- * <p/>
- * <H2>
- * <A NAME="appendix-d">Appendix D: Gamma correction</A>
- * </H2>
- * <p/>
- * (This appendix is informative, not normative)
- * <p/>
- * See the <A href="http://www.w3.org/pub/WWW/TR/PNG-GammaAppendix">Gamma
- * Tutorial</A> in the PNG specification <A href="#ref12">[12]</A> if you aren't
- * already familiar with gamma issues.
- * <p/>
- * In the computation, UAs displaying on a CRT may assume an ideal CRT and ignore
- * any effects on apparent gamma caused by dithering. That means the minimal
- * handling they need to do on current platforms is:
- * <DL>
- * <DT>
- * PC using MS-Windows
- * <DD>
- * none
- * <DT>
- * Unix using X11
- * <DD>
- * none
- * <DT>
- * Mac using QuickDraw
- * <DD>
- * apply gamma 1.39 <A HREF="#ref13">[13]</A> (ColorSync-savvy applications
- * may simply pass the sRGB ICC profile <A HREF="#ref14">[14]</A> to ColorSync
- * to perform correct color correction)
- * <DT>
- * SGI using X
- * <DD>
- * apply the gamma value from <TT>/etc/config/system.glGammaVal</TT> (the default
- * value being 1.70; applications running on Irix 6.2 or above may simply pass
- * the sRGB ICC profile to the color management system)
- * <DT>
- * NeXT using NeXTStep
- * <DD>
- * apply gamma 2.22
- * </DL>
- * <p/>
- * "Applying gamma" means that each of the three R, G and B must be converted
- * to R'=R<SUP>gamma</SUP>, G'=G<SUP>gamma</SUP>, G'=B<SUP>gamma</SUP>, before
- * handing to the OS.
- * <p/>
- * This may rapidly be done by building a 256-element lookup table once per
- * browser invocation thus:
- * <PRE>
- * for i := 0 to 255 do
- * raw := i / 255;
- * corr := pow (raw, gamma);
- * table[i] := trunc (0.5 + corr * 255.0)
- * end
- * </PRE>
- * <p/>
- * which then avoids any need to do transcendental math per color attribute,
- * far less per pixel.
- * <p/>
- * See also
- * <p/>
- * <A NAME="ref9">[9]</A> M Anderson, R Motta, S Chandrasekar, M Stokes:
- * "<A HREF="http://www.hpl.hp.com/personal/Michael_Stokes/srgb.htm">Proposal
- * for a Standard Color Space for the Internet - sRGB</A>"
- * (http://www.hpl.hp.com/personal/Michael_Stokes/srgb.htm)
- * <p/>
- * <A NAME="ref10">[10]</A> CIE Publication 15.2-1986,
- * "<A HREF="http://www.hike.te.chiba-u.ac.jp/ikeda/CIE/publ/abst/15-2-86.html">Colorimetry,
- * Second Edition</A>", ISBN 3-900-734-00-3
- * (http://www.hike.te.chiba-u.ac.jp/ikeda/CIE/publ/abst/15-2-86.html)
- * <p/>
- * <A NAME="ref12">[12]</A>
- * "<A href="http://www.w3.org/pub/WWW/TR/REC-png-multi.html">PNG (Portable
- * Network Graphics) Specification, Version 1.0 specification</A>"
- * (http://www.w3.org/pub/WWW/TR/REC-png-multi.html)
- * <p/>
- * <A NAME="ref13">[13]</A> Charles A. Poynton:
- * "<A HREF="ftp://ftp.inforamp.net/pub/users/poynton/doc/Mac/Mac_gamma.pdf">Gamma
- * correction on the Macintosh Platform</A>"
- * (ftp://ftp.inforamp.net/pub/users/poynton/doc/Mac/Mac_gamma.pdf)
- * <p/>
- * <A NAME="ref14">[14]</A> International Color Consortium:
- * "<A HREF="ftp://sgigate.sgi.com/pub/icc/ICC32.pdf">ICC Profile Format
- * Specification, version 3.2</A>", 1995 (ftp://sgigate.sgi.com/pub/icc/ICC32.pdf)
- *
+ @spec http://www.w3.org/TR/2008/REC-CSS2-20080411/syndata.html#color-units
  * @version $Revision$
  */
-public class CssColorCSS2 extends CssColor {
-
-    static HashMap<String, Object> definedColorsCSS2;
+public class CssColorCSS2 {
 
-    /**
-     * Create a new CssColorCSS2.
-     */
-    public CssColorCSS2() {
-        //color = new CssIdent("");
-    }
+    protected static final HashMap<String, RGB> definedRGBColorsCSS2;
+    protected static final HashMap<String, String> definedSystemColorsCSS2;
 
-    /**
-     * Create a new CssColorCSS2 with a color name.
-     *
-     * @param ac The context
-     * @param s  The name color.
-     * @throws InvalidParamException the color is incorrect
-     */
-    public CssColorCSS2(ApplContext ac, String s) throws InvalidParamException {
-        //	setIdentColor(s.toLowerCase(), ac);
-        setIdentColor(s, ac);
+    public static RGB getRGB(String ident) {
+        return definedRGBColorsCSS2.get(ident);
     }
 
-    /**
-     * Parse an ident color.
-     *
-     * @param s  the color name as a <EM>String<EM>
-     * @param ac The context
-     * @throws org.w3c.css.util.InvalidParamException
-     *          when the color definition is invalid
-     */
-    private void setIdentColor(String s, ApplContext ac)
-            throws InvalidParamException {
-        String lower_s = s.toLowerCase();
-        if (!computeIdentColor(definedColorsCSS2, lower_s)) {
-            throw new InvalidParamException("value", s, "color", ac);
-        }
+    public static String getSystem(String ident) {
+        return definedSystemColorsCSS2.get(ident);
     }
 
     static {
-        definedColorsCSS2 = new HashMap<String, Object>();
-        definedColorsCSS2.put("black",
-                new RGB(0, 0, 0));
-        definedColorsCSS2.put("silver",
-                new RGB(192, 192, 192));
-        definedColorsCSS2.put("gray",
-                new RGB(128, 128, 128));
-        definedColorsCSS2.put("white",
-                new RGB(255, 255, 255));
-        definedColorsCSS2.put("maroon",
-                new RGB(128, 0, 0));
-        definedColorsCSS2.put("red",
-                new RGB(255, 0, 0));
-        definedColorsCSS2.put("purple",
-                new RGB(128, 0, 128));
-        definedColorsCSS2.put("fuchsia",
-                new RGB(255, 0, 255));
-        definedColorsCSS2.put("green",
-                new RGB(0, 128, 0));
-        definedColorsCSS2.put("lime",
-                new RGB(0, 255, 0));
-        definedColorsCSS2.put("olive",
-                new RGB(128, 128, 0));
-        definedColorsCSS2.put("yellow",
-                new RGB(255, 255, 0));
-        definedColorsCSS2.put("navy",
-                new RGB(0, 0, 128));
-        definedColorsCSS2.put("blue",
-                new RGB(0, 0, 255));
-        definedColorsCSS2.put("teal",
-                new RGB(0, 128, 128));
-        definedColorsCSS2.put("aqua",
-                new RGB(0, 255, 255));
-        definedColorsCSS2.put("activeborder", "ActiveBorder");
-        definedColorsCSS2.put("activecaption", "ActiveCaption");
-        definedColorsCSS2.put("appworkspace", "AppWorkspace");
-        definedColorsCSS2.put("background", "Background");
-        definedColorsCSS2.put("buttonface", "ButtonFace");
-        definedColorsCSS2.put("buttonhighlight", "ButtonHighlight");
-        definedColorsCSS2.put("buttonshadow", "ButtonShadow");
-        definedColorsCSS2.put("buttontext", "ButtonText");
-        definedColorsCSS2.put("captiontext", "CaptionText");
-        definedColorsCSS2.put("graytext", "GrayText");
-        definedColorsCSS2.put("highlight", "Highlight");
-        definedColorsCSS2.put("highlighttext", "HighlightText");
-        definedColorsCSS2.put("inactiveborder", "InactiveBorder");
-        definedColorsCSS2.put("inactivecaption", "InactiveCaption");
-        definedColorsCSS2.put("inactivecaptiontext", "InactiveCaptionText");
-        definedColorsCSS2.put("infobackground", "InfoBackground");
-        definedColorsCSS2.put("infotext", "InfoText");
-        definedColorsCSS2.put("menu", "Menu");
-        definedColorsCSS2.put("menutext", "MenuText");
-        definedColorsCSS2.put("scrollbar", "Scrollbar");
-        definedColorsCSS2.put("threeddarkshadow", "ThreeDDarkShadow");
-        definedColorsCSS2.put("threedface", "ThreeDFace");
-        definedColorsCSS2.put("threedhighlight", "ThreeDHighlight");
-        definedColorsCSS2.put("threedlightshadow", "ThreeDLightShadow");
-        definedColorsCSS2.put("threedshadow", "ThreeDShadow");
-        definedColorsCSS2.put("window", "Window");
-        definedColorsCSS2.put("windowframe", "WindowFrame");
-        definedColorsCSS2.put("windowtext", "WindowText");
+        // http://www.w3.org/TR/2008/REC-CSS2-20080411/syndata.html#color-units
+        definedRGBColorsCSS2 = new HashMap<String, RGB>();
+        definedRGBColorsCSS2.put("black", new RGB(0, 0, 0));
+        definedRGBColorsCSS2.put("silver", new RGB(192, 192, 192));
+        definedRGBColorsCSS2.put("gray", new RGB(128, 128, 128));
+        definedRGBColorsCSS2.put("white", new RGB(255, 255, 255));
+        definedRGBColorsCSS2.put("maroon", new RGB(128, 0, 0));
+        definedRGBColorsCSS2.put("red", new RGB(255, 0, 0));
+        definedRGBColorsCSS2.put("purple", new RGB(128, 0, 128));
+        definedRGBColorsCSS2.put("fuchsia", new RGB(255, 0, 255));
+        definedRGBColorsCSS2.put("green", new RGB(0, 128, 0));
+        definedRGBColorsCSS2.put("lime", new RGB(0, 255, 0));
+        definedRGBColorsCSS2.put("olive", new RGB(128, 128, 0));
+        definedRGBColorsCSS2.put("yellow", new RGB(255, 255, 0));
+        definedRGBColorsCSS2.put("navy", new RGB(0, 0, 128));
+        definedRGBColorsCSS2.put("blue", new RGB(0, 0, 255));
+        definedRGBColorsCSS2.put("teal", new RGB(0, 128, 128));
+        definedRGBColorsCSS2.put("aqua", new RGB(0, 255, 255));
+
+        // http://www.w3.org/TR/2008/REC-CSS2-20080411/ui.html#system-colors
+        definedSystemColorsCSS2 = new HashMap<String, String>();
+        definedSystemColorsCSS2.put("activeborder", "ActiveBorder");
+        definedSystemColorsCSS2.put("activecaption", "ActiveCaption");
+        definedSystemColorsCSS2.put("appworkspace", "AppWorkspace");
+        definedSystemColorsCSS2.put("background", "Background");
+        definedSystemColorsCSS2.put("buttonface", "ButtonFace");
+        definedSystemColorsCSS2.put("buttonhighlight", "ButtonHighlight");
+        definedSystemColorsCSS2.put("buttonshadow", "ButtonShadow");
+        definedSystemColorsCSS2.put("buttontext", "ButtonText");
+        definedSystemColorsCSS2.put("captiontext", "CaptionText");
+        definedSystemColorsCSS2.put("graytext", "GrayText");
+        definedSystemColorsCSS2.put("highlight", "Highlight");
+        definedSystemColorsCSS2.put("highlighttext", "HighlightText");
+        definedSystemColorsCSS2.put("inactiveborder", "InactiveBorder");
+        definedSystemColorsCSS2.put("inactivecaption", "InactiveCaption");
+        definedSystemColorsCSS2.put("inactivecaptiontext", "InactiveCaptionText");
+        definedSystemColorsCSS2.put("infobackground", "InfoBackground");
+        definedSystemColorsCSS2.put("infotext", "InfoText");
+        definedSystemColorsCSS2.put("menu", "Menu");
+        definedSystemColorsCSS2.put("menutext", "MenuText");
+        definedSystemColorsCSS2.put("scrollbar", "Scrollbar");
+        definedSystemColorsCSS2.put("threeddarkshadow", "ThreeDDarkShadow");
+        definedSystemColorsCSS2.put("threedface", "ThreeDFace");
+        definedSystemColorsCSS2.put("threedhighlight", "ThreeDHighlight");
+        definedSystemColorsCSS2.put("threedlightshadow", "ThreeDLightShadow");
+        definedSystemColorsCSS2.put("threedshadow", "ThreeDShadow");
+        definedSystemColorsCSS2.put("window", "Window");
+        definedSystemColorsCSS2.put("windowframe", "WindowFrame");
+        definedSystemColorsCSS2.put("windowtext", "WindowText");
     }
 
 }

--- NEW FILE: CssColorCSS3.java ---
// $Id: CssColorCSS3.java,v 1.1 2011/09/29 09:09:00 ylafon Exp $
// Author: Jean-Guilhem Rouel
// (c) COPYRIGHT MIT, ERCIM and Keio, 2005.
// Please first read the full copyright statement in file COPYRIGHT.html
package org.w3c.css.values;

import java.util.HashMap;

/**
 * @spec http://www.w3.org/TR/2011/REC-css3-color-20110607/
 */
public class CssColorCSS3 {
    protected static final HashMap<String, RGB> definedRGBColorsCSS3;
    private static final RGBA trans;

    public static RGB getRGB(String ident) {
        return definedRGBColorsCSS3.get(ident);
    }

    public static RGBA getRGBA(String ident) {
        if ("transparent".equalsIgnoreCase(ident)) {
            return trans;
        }
        return null;
    }

    // those are the same as CSS2, let's use that
    // and note that they are deprecated...
    public static String getSystem(String ident) {
        return CssColorCSS2.definedSystemColorsCSS2.get(ident);
    }

    static {
        trans = new RGBA(0,0,0,0.f);
        // http://www.w3.org/TR/2011/REC-css3-color-20110607/#svg-color
        definedRGBColorsCSS3 = new HashMap<String, RGB>();

        definedRGBColorsCSS3.put("aliceblue", new RGB(240, 248, 255));
        definedRGBColorsCSS3.put("antiquewhite", new RGB(250, 235, 215));
        definedRGBColorsCSS3.put("aqua", new RGB(0, 255, 255));
        definedRGBColorsCSS3.put("aquamarine", new RGB(127, 255, 212));
        definedRGBColorsCSS3.put("azure", new RGB(240, 255, 255));
        definedRGBColorsCSS3.put("beige", new RGB(245, 245, 220));
        definedRGBColorsCSS3.put("bisque", new RGB(255, 228, 196));
        definedRGBColorsCSS3.put("black", new RGB(0, 0, 0));
        definedRGBColorsCSS3.put("blanchedalmond", new RGB(255, 235, 205));
        definedRGBColorsCSS3.put("blue", new RGB(0, 0, 255));
        definedRGBColorsCSS3.put("blueviolet", new RGB(138, 43, 226));
        definedRGBColorsCSS3.put("brown", new RGB(165, 42, 42));
        definedRGBColorsCSS3.put("burlywood", new RGB(222, 184, 135));
        definedRGBColorsCSS3.put("cadetblue", new RGB(95, 158, 160));
        definedRGBColorsCSS3.put("chartreuse", new RGB(127, 255, 0));
        definedRGBColorsCSS3.put("chocolate", new RGB(210, 105, 30));
        definedRGBColorsCSS3.put("coral", new RGB(255, 127, 80));
        definedRGBColorsCSS3.put("cornflowerblue", new RGB(100, 149, 237));
        definedRGBColorsCSS3.put("cornsilk", new RGB(255, 248, 220));
        definedRGBColorsCSS3.put("crimson", new RGB(220, 20, 60));
        definedRGBColorsCSS3.put("cyan", new RGB(0, 255, 255));
        definedRGBColorsCSS3.put("darkblue", new RGB(0, 0, 139));
        definedRGBColorsCSS3.put("darkcyan", new RGB(0, 139, 139));
        definedRGBColorsCSS3.put("darkgoldenrod", new RGB(184, 134, 11));
        definedRGBColorsCSS3.put("darkgray", new RGB(169, 169, 169));
        definedRGBColorsCSS3.put("darkgreen", new RGB(0, 100, 0));
        definedRGBColorsCSS3.put("darkgrey", new RGB(169, 169, 169));
        definedRGBColorsCSS3.put("darkkhaki", new RGB(189, 183, 107));
        definedRGBColorsCSS3.put("darkmagenta", new RGB(139, 0, 139));
        definedRGBColorsCSS3.put("darkolivegreen", new RGB(85, 107, 47));
        definedRGBColorsCSS3.put("darkorange", new RGB(255, 140, 0));
        definedRGBColorsCSS3.put("darkorchid", new RGB(153, 50, 204));
        definedRGBColorsCSS3.put("darkred", new RGB(139, 0, 0));
        definedRGBColorsCSS3.put("darksalmon", new RGB(233, 150, 122));
        definedRGBColorsCSS3.put("darkseagreen", new RGB(143, 188, 143));
        definedRGBColorsCSS3.put("darkslateblue", new RGB(72, 61, 139));
        definedRGBColorsCSS3.put("darkslategray", new RGB(47, 79, 79));
        definedRGBColorsCSS3.put("darkslategrey", new RGB(47, 79, 79));
        definedRGBColorsCSS3.put("darkturquoise", new RGB(0, 206, 209));
        definedRGBColorsCSS3.put("darkviolet", new RGB(148, 0, 211));
        definedRGBColorsCSS3.put("deeppink", new RGB(255, 20, 147));
        definedRGBColorsCSS3.put("deepskyblue", new RGB(0, 191, 255));
        definedRGBColorsCSS3.put("dimgray", new RGB(105, 105, 105));
        definedRGBColorsCSS3.put("dimgrey", new RGB(105, 105, 105));
        definedRGBColorsCSS3.put("dodgerblue", new RGB(30, 144, 255));
        definedRGBColorsCSS3.put("firebrick", new RGB(178, 34, 34));
        definedRGBColorsCSS3.put("floralwhite", new RGB(255, 250, 240));
        definedRGBColorsCSS3.put("forestgreen", new RGB(34, 139, 34));
        definedRGBColorsCSS3.put("fuchsia", new RGB(255, 0, 255));
        definedRGBColorsCSS3.put("gainsboro", new RGB(220, 220, 220));
        definedRGBColorsCSS3.put("ghostwhite", new RGB(248, 248, 255));
        definedRGBColorsCSS3.put("gold", new RGB(255, 215, 0));
        definedRGBColorsCSS3.put("goldenrod", new RGB(218, 165, 32));
        definedRGBColorsCSS3.put("gray", new RGB(128, 128, 128));
        definedRGBColorsCSS3.put("green", new RGB(0, 128, 0));
        definedRGBColorsCSS3.put("greenyellow", new RGB(173, 255, 47));
        definedRGBColorsCSS3.put("grey", new RGB(128, 128, 128));
        definedRGBColorsCSS3.put("honeydew", new RGB(240, 255, 240));
        definedRGBColorsCSS3.put("hotpink", new RGB(255, 105, 180));
        definedRGBColorsCSS3.put("indianred", new RGB(205, 92, 92));
        definedRGBColorsCSS3.put("indigo", new RGB(75, 0, 130));
        definedRGBColorsCSS3.put("ivory", new RGB(255, 255, 240));
        definedRGBColorsCSS3.put("khaki", new RGB(240, 230, 140));
        definedRGBColorsCSS3.put("lavender", new RGB(230, 230, 250));
        definedRGBColorsCSS3.put("lavenderblush", new RGB(255, 240, 245));
        definedRGBColorsCSS3.put("lawngreen", new RGB(124, 252, 0));
        definedRGBColorsCSS3.put("lemonchiffon", new RGB(255, 250, 205));
        definedRGBColorsCSS3.put("lightblue", new RGB(173, 216, 230));
        definedRGBColorsCSS3.put("lightcoral", new RGB(240, 128, 128));
        definedRGBColorsCSS3.put("lightcyan", new RGB(224, 255, 255));
        definedRGBColorsCSS3.put("lightgoldenrodyellow", new RGB(250, 250, 210));
        definedRGBColorsCSS3.put("lightgray", new RGB(211, 211, 211));
        definedRGBColorsCSS3.put("lightgreen", new RGB(144, 238, 144));
        definedRGBColorsCSS3.put("lightgrey", new RGB(211, 211, 211));
        definedRGBColorsCSS3.put("lightpink", new RGB(255, 182, 193));
        definedRGBColorsCSS3.put("lightsalmon", new RGB(255, 160, 122));
        definedRGBColorsCSS3.put("lightseagreen", new RGB(32, 178, 170));
        definedRGBColorsCSS3.put("lightskyblue", new RGB(135, 206, 250));
        definedRGBColorsCSS3.put("lightslategray", new RGB(119, 136, 153));
        definedRGBColorsCSS3.put("lightslategrey", new RGB(119, 136, 153));
        definedRGBColorsCSS3.put("lightsteelblue", new RGB(176, 196, 222));
        definedRGBColorsCSS3.put("lightyellow", new RGB(255, 255, 224));
        definedRGBColorsCSS3.put("lime", new RGB(0, 255, 0));
        definedRGBColorsCSS3.put("limegreen", new RGB(50, 205, 50));
        definedRGBColorsCSS3.put("linen", new RGB(250, 240, 230));
        definedRGBColorsCSS3.put("magenta", new RGB(255, 0, 255));
        definedRGBColorsCSS3.put("maroon", new RGB(128, 0, 0));
        definedRGBColorsCSS3.put("mediumaquamarine", new RGB(102, 205, 170));
        definedRGBColorsCSS3.put("mediumblue", new RGB(0, 0, 205));
        definedRGBColorsCSS3.put("mediumorchid", new RGB(186, 85, 211));
        definedRGBColorsCSS3.put("mediumpurple", new RGB(147, 112, 219));
        definedRGBColorsCSS3.put("mediumseagreen", new RGB(60, 179, 113));
        definedRGBColorsCSS3.put("mediumslateblue", new RGB(123, 104, 238));
        definedRGBColorsCSS3.put("mediumspringgreen", new RGB(0, 250, 154));
        definedRGBColorsCSS3.put("mediumturquoise", new RGB(72, 209, 204));
        definedRGBColorsCSS3.put("mediumvioletred", new RGB(199, 21, 133));
        definedRGBColorsCSS3.put("midnightblue", new RGB(25, 25, 112));
        definedRGBColorsCSS3.put("mintcream", new RGB(245, 255, 250));
        definedRGBColorsCSS3.put("mistyrose", new RGB(255, 228, 225));
        definedRGBColorsCSS3.put("moccasin", new RGB(255, 228, 181));
        definedRGBColorsCSS3.put("navajowhite", new RGB(255, 222, 173));
        definedRGBColorsCSS3.put("navy", new RGB(0, 0, 128));
        definedRGBColorsCSS3.put("oldlace", new RGB(253, 245, 230));
        definedRGBColorsCSS3.put("olive", new RGB(128, 128, 0));
        definedRGBColorsCSS3.put("olivedrab", new RGB(107, 142, 35));
        definedRGBColorsCSS3.put("orange", new RGB(255, 165, 0));
        definedRGBColorsCSS3.put("orangered", new RGB(255, 69, 0));
        definedRGBColorsCSS3.put("orchid", new RGB(218, 112, 214));
        definedRGBColorsCSS3.put("palegoldenrod", new RGB(238, 232, 170));
        definedRGBColorsCSS3.put("palegreen", new RGB(152, 251, 152));
        definedRGBColorsCSS3.put("paleturquoise", new RGB(175, 238, 238));
        definedRGBColorsCSS3.put("palevioletred", new RGB(219, 112, 147));
        definedRGBColorsCSS3.put("papayawhip", new RGB(255, 239, 213));
        definedRGBColorsCSS3.put("peachpuff", new RGB(255, 218, 185));
        definedRGBColorsCSS3.put("peru", new RGB(205, 133, 63));
        definedRGBColorsCSS3.put("pink", new RGB(255, 192, 203));
        definedRGBColorsCSS3.put("plum", new RGB(221, 160, 221));
        definedRGBColorsCSS3.put("powderblue", new RGB(176, 224, 230));
        definedRGBColorsCSS3.put("purple", new RGB(128, 0, 128));
        definedRGBColorsCSS3.put("red", new RGB(255, 0, 0));
        definedRGBColorsCSS3.put("rosybrown", new RGB(188, 143, 143));
        definedRGBColorsCSS3.put("royalblue", new RGB(65, 105, 225));
        definedRGBColorsCSS3.put("saddlebrown", new RGB(139, 69, 19));
        definedRGBColorsCSS3.put("salmon", new RGB(250, 128, 114));
        definedRGBColorsCSS3.put("sandybrown", new RGB(244, 164, 96));
        definedRGBColorsCSS3.put("seagreen", new RGB(46, 139, 87));
        definedRGBColorsCSS3.put("seashell", new RGB(255, 245, 238));
        definedRGBColorsCSS3.put("sienna", new RGB(160, 82, 45));
        definedRGBColorsCSS3.put("silver", new RGB(192, 192, 192));
        definedRGBColorsCSS3.put("skyblue", new RGB(135, 206, 235));
        definedRGBColorsCSS3.put("slateblue", new RGB(106, 90, 205));
        definedRGBColorsCSS3.put("slategray", new RGB(112, 128, 144));
        definedRGBColorsCSS3.put("slategrey", new RGB(112, 128, 144));
        definedRGBColorsCSS3.put("snow", new RGB(255, 250, 250));
        definedRGBColorsCSS3.put("springgreen", new RGB(0, 255, 127));
        definedRGBColorsCSS3.put("steelblue", new RGB(70, 130, 180));
        definedRGBColorsCSS3.put("tan", new RGB(210, 180, 140));
        definedRGBColorsCSS3.put("teal", new RGB(0, 128, 128));
        definedRGBColorsCSS3.put("thistle", new RGB(216, 191, 216));
        definedRGBColorsCSS3.put("tomato", new RGB(255, 99, 71));
        definedRGBColorsCSS3.put("turquoise", new RGB(64, 224, 208));
        definedRGBColorsCSS3.put("violet", new RGB(238, 130, 238));
        definedRGBColorsCSS3.put("wheat", new RGB(245, 222, 179));
        definedRGBColorsCSS3.put("white", new RGB(255, 255, 255));
        definedRGBColorsCSS3.put("whitesmoke", new RGB(245, 245, 245));
        definedRGBColorsCSS3.put("yellow", new RGB(255, 255, 0));
        definedRGBColorsCSS3.put("yellowgreen", new RGB(154, 205, 50));
    }
}

--- CssColorConstants.java DELETED ---

--- ATSCColor.java DELETED ---

Index: CssColor.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssColor.java,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- CssColor.java	27 Sep 2011 08:15:46 -0000	1.21
+++ CssColor.java	29 Sep 2011 09:09:00 -0000	1.22
@@ -16,150 +16,6 @@
 import static org.w3c.css.values.CssOperator.COMMA;
 
 /**
- * <H3>
- * &nbsp;&nbsp; Color units
- * </H3>
- * <p/>
- * A color is a either a keyword or a numerical RGB specification.
- * <p/>
- * The suggested list of keyword color names is: aqua, black, blue, fuchsia,
- * gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white,
- * and yellow. These 16 colors are taken from the Windows VGA palette,
- * and their RGB values are not defined in this specification.
- * <PRE>
- * BODY {color: black; background: white }
- * H1 { color: maroon }
- * H2 { color: olive }
- * </PRE>
- * <p/>
- * The RGB color model is being used in numerical color specifications. These
- * examples all specify the same color:
- * <PRE>
- * EM { color: #f00 }              / * #rgb * /
- * EM { color: #ff0000 }           / * #rrggbb * /
- * EM { color: rgb(255,0,0) }      / * integer range 0 - 255 * /
- * EM { color: rgb(100%, 0%, 0%) } / * float range 0.0% - 100.0% * /
- * </PRE>
- * <p/>
- * The format of an RGB value in hexadecimal notation is a '#' immediately followed
- * by either three or six hexadecimal characters. The three-digit RGB notation
- * (#rgb) is converted into six-digit form (#rrggbb) by replicating digits,
- * not by adding zeros. For example, #fb0 expands to #ffbb00. This makes sure
- * that white (#ffffff) can be specified with the short notation (#fff) and
- * removes any dependencies on the color depth of the display.
- * <p/>
- * The format of an RGB value in the functional notation is 'rgb(' followed
- * by a comma-separated list of three numerical values (either three integer
- * values in the range of 0-255, or three percentage values in the range of
- * 0.0% to 100.0%) followed by ')'. Whitespace characters are allowed around
- * the numerical values.
- * <p/>
- * Values outside the numerical ranges should be clipped. The three rules below
- * are therefore equivalent:
- * <PRE>
- * EM { color: rgb(255,0,0) }       / * integer range 0 - 255 * /
- * EM { color: rgb(300,0,0) }       / * clipped to 255 * /
- * EM { color: rgb(110%, 0%, 0%) }  / * clipped to 100% * /
- * </PRE>
- * <p/>
- * RGB colors are specified in the sRGB color space <A HREF="#ref9">[9]</A>.
- * UAs may vary in the fidelity with which they represent these colors, but
- * use of sRGB provides an unambiguous and objectively measurable definition
- * of what the color should be, which can be related to international standards
- * <A HREF="#ref10">[10]</A>.
- * <p/>
- * UAs may limit their efforts in displaying colors to performing a gamma-correction
- * on them. sRGB specifies a display gamma of 2.2 under specified viewing
- * conditions. UAs adjust the colors given in CSS such that, in combination
- * with an output device's "natural" display gamma, an effective display gamma
- * of 2.2 is produced. <A HREF="#appendix-d">Appendix D</A> gives further details
- * of this. Note that only colors specified in CSS are affected; e.g., images
- * are expected to carry their own color information.
- * <p/>
- * <p/>
- * <H2>
- * <A NAME="appendix-d">Appendix D: Gamma correction</A>
- * </H2>
- * <p/>
- * (This appendix is informative, not normative)
- * <p/>
- * See the <A href="http://www.w3.org/pub/WWW/TR/PNG-GammaAppendix">Gamma
- * Tutorial</A> in the PNG specification <A href="#ref12">[12]</A> if you aren't
- * already familiar with gamma issues.
- * <p/>
- * In the computation, UAs displaying on a CRT may assume an ideal CRT and ignore
- * any effects on apparent gamma caused by dithering. That means the minimal
- * handling they need to do on current platforms is:
- * <DL>
- * <DT>
- * PC using MS-Windows
- * <DD>
- * none
- * <DT>
- * Unix using X11
- * <DD>
- * none
- * <DT>
- * Mac using QuickDraw
- * <DD>
- * apply gamma 1.39 <A HREF="#ref13">[13]</A> (ColorSync-savvy applications
- * may simply pass the sRGB ICC profile <A HREF="#ref14">[14]</A> to ColorSync
- * to perform correct color correction)
- * <DT>
- * SGI using X
- * <DD>
- * apply the gamma value from <TT>/etc/config/system.glGammaVal</TT> (the default
- * value being 1.70; applications running on Irix 6.2 or above may simply pass
- * the sRGB ICC profile to the color management system)
- * <DT>
- * NeXT using NeXTStep
- * <DD>
- * apply gamma 2.22
- * </DL>
- * <p/>
- * "Applying gamma" means that each of the three R, G and B must be converted
- * to R'=R<SUP>gamma</SUP>, G'=G<SUP>gamma</SUP>, G'=B<SUP>gamma</SUP>, before
- * handing to the OS.
- * <p/>
- * This may rapidly be done by building a 256-element lookup table once per
- * browser invocation thus:
- * <PRE>
- * for i := 0 to 255 do
- * raw := i / 255;
- * corr := pow (raw, gamma);
- * table[i] := trunc (0.5 + corr * 255.0)
- * end
- * </PRE>
- * <p/>
- * which then avoids any need to do transcendental math per color attribute,
- * far less per pixel.
- * <p/>
- * See also
- * <p/>
- * <A NAME="ref9">[9]</A> M Anderson, R Motta, S Chandrasekar, M Stokes:
- * "<A HREF="http://www.hpl.hp.com/personal/Michael_Stokes/srgb.htm">Proposal
- * for a Standard Color Space for the Internet - sRGB</A>"
- * (http://www.hpl.hp.com/personal/Michael_Stokes/srgb.htm)
- * <p/>
- * <A NAME="ref10">[10]</A> CIE Publication 15.2-1986,
- * "<A HREF="http://www.hike.te.chiba-u.ac.jp/ikeda/CIE/publ/abst/15-2-86.html">Colorimetry,
- * Second Edition</A>", ISBN 3-900-734-00-3
- * (http://www.hike.te.chiba-u.ac.jp/ikeda/CIE/publ/abst/15-2-86.html)
- * <p/>
- * <A NAME="ref12">[12]</A>
- * "<A href="http://www.w3.org/pub/WWW/TR/REC-png-multi.html">PNG (Portable
- * Network Graphics) Specification, Version 1.0 specification</A>"
- * (http://www.w3.org/pub/WWW/TR/REC-png-multi.html)
- * <p/>
- * <A NAME="ref13">[13]</A> Charles A. Poynton:
- * "<A HREF="ftp://ftp.inforamp.net/pub/users/poynton/doc/Mac/Mac_gamma.pdf">Gamma
- * correction on the Macintosh Platform</A>"
- * (ftp://ftp.inforamp.net/pub/users/poynton/doc/Mac/Mac_gamma.pdf)
- * <p/>
- * <A NAME="ref14">[14]</A> International Color Consortium:
- * "<A HREF="ftp://sgigate.sgi.com/pub/icc/ICC32.pdf">ICC Profile Format
- * Specification, version 3.2</A>", 1995 (ftp://sgigate.sgi.com/pub/icc/ICC32.pdf)
- *
  * @version $Revision$
  */
 public class CssColor extends CssValue {
@@ -176,15 +32,10 @@
     HSL hsl = null;
     HSLA hsla = null;
 
-    protected static HashMap<String, Object> definedColors;
-    private static HashMap<String, String> deprecatedColors;
-    static CssIdent inherit;
-
     /**
      * Create a new CssColor.
      */
     public CssColor() {
-        color = inherit;
     }
 
     /**
@@ -217,34 +68,19 @@
      */
     public Object get() {
         if (color != null) {
-            if (color == inherit) {
-                return null;
-            } else {
-                return color;
-            }
+            return color;
         } else {
             return rgb;
         }
     }
 
-    /**
-     * Returns <code>true</code> if the internal value is the default value
-     * (e.g. 'inherited').
-     */
-    public boolean isDefault() {
-        return color == inherit;
-    }
 
     /**
      * Returns a string representation of the object.
      */
     public String toString() {
         if (color != null) {
-            if (color == inherit) {
-                return inherit.toString();
-            } else {
-                return color.toString();
-            }
+            return color.toString();
         } else if (rgba != null) {
             return rgba.toString();
         } else if (hsl != null) {
@@ -435,15 +271,58 @@
     private void setIdentColor(String s, ApplContext ac)
             throws InvalidParamException {
         String lower_s = s.toLowerCase();
-        if (computeIdentColor(definedColors, lower_s)) {
-            return;
-        } else if (deprecatedColors.get(lower_s) != null) {
-            color = lower_s;
-            ac.getFrame().addWarning("deprecated", s);
-            return;
+        switch (ac.getCssVersion()) {
+            case CSS1:
+                rgb = CssColorCSS1.getRGB(lower_s);
+                if (rgb == null) {
+                    throw new InvalidParamException("value", s, "color", ac);
+                }
+                color = lower_s;
+                break;
+            case CSS2:
+                rgb = CssColorCSS2.getRGB(lower_s);
+                if (rgb == null) {
+                    color = CssColorCSS2.getSystem(lower_s);
+                    if (color == null) {
+                        throw new InvalidParamException("value", s, "color", ac);
+                    }
+                } else {
+                    color = lower_s;
+                }
+                break;
+            case CSS21:
+                rgb = CssColorCSS21.getRGB(lower_s);
+                if (rgb == null) {
+                    color = CssColorCSS21.getSystem(lower_s);
+                    if (color == null) {
+                        throw new InvalidParamException("value", s, "color", ac);
+                    }
+                } else {
+                    color = lower_s;
+                }
+                break;
+            case CSS3:
+                // test RGB colors, RGBA colors (transparent), deprecated system colors
+                rgb = CssColorCSS3.getRGB(lower_s);
+                if (rgb != null) {
+                    color = lower_s;
+                    break;
+                }
+                rgba = CssColorCSS3.getRGBA(lower_s);
+                if (rgba != null) {
+                    color = lower_s;
+                    break;
+                }
+                color = CssColorCSS3.getSystem(lower_s);
+                if (color != null) {
+                    ac.getFrame().addWarning("deprecated", s);
+                    break;
+                }
+                // inherit or current color will be handled in the property def
+                throw new InvalidParamException("value", s, "color", ac);
+            default:
+                throw new InvalidParamException("value", s, "color", ac);
         }
-
-        throw new InvalidParamException("value", s, "color", ac);
     }
 
     /**
@@ -471,12 +350,24 @@
         return false;
     }
 
+    public void setATSCRGBAColor(CssExpression exp, ApplContext ac)
+            throws InvalidParamException {
+        rgba = new RGBA("atsc-rgba");
+        __setRGBAColor(rgba, exp, ac);
+
+    }
+
     public void setRGBAColor(CssExpression exp, ApplContext ac)
             throws InvalidParamException {
+        rgba = new RGBA();
+        __setRGBAColor(rgba, exp, ac);
+    }
+
+    private void __setRGBAColor(RGBA rgba, CssExpression exp, ApplContext ac)
+            throws InvalidParamException {
         CssValue val;
         char op;
         color = null;
-        rgba = new RGBA();
 
         val = exp.getValue();
         op = exp.getOperator();
@@ -739,375 +630,5 @@
         return p;
     }
 
-    /**
-     * Gets the red component of this color.
-     */
-    //    public Object getRed() {
-    //	return rgb.r;
-    //}
-
-    /**
-     * Gets the green component of this color.
-     */
-    //    public Object getGreen() {
-    //	return rgb.g;
-    //}
-
-    /**
-     * Gets the blue component of this color.
-     */
-    //public Object getBlue() {
-    //	return rgb.b;
-    //}
-
-    static {
-        inherit = CssIdent.getIdent("inherit");
-        definedColors = new HashMap<String, Object>();
-        deprecatedColors = new HashMap<String, String>();
-
-        definedColors.put("aliceblue",
-                new RGB(240, 248, 255));
-        definedColors.put("antiquewhite",
-                new RGB(250, 235, 215));
-        definedColors.put("aqua",
-                new RGB(0, 255, 255));
-        definedColors.put("aquamarine",
-                new RGB(127, 255, 212));
-        definedColors.put("azure",
-                new RGB(240, 255, 255));
-        definedColors.put("beige",
-                new RGB(245, 245, 220));
-        definedColors.put("bisque",
-                new RGB(255, 228, 196));
-        definedColors.put("black",
-                new RGB(0, 0, 0));
-        definedColors.put("blanchedalmond",
-                new RGB(255, 235, 205));
-        definedColors.put("blue",
-                new RGB(0, 0, 255));
-        definedColors.put("blueviolet",
-                new RGB(138, 43, 226));
-        definedColors.put("brown",
-                new RGB(165, 42, 42));
-        definedColors.put("burlywood",
-                new RGB(222, 184, 135));
-        definedColors.put("cadetBlue",
-                new RGB(95, 158, 160));
-        definedColors.put("chartreuse",
-                new RGB(127, 255, 0));
-        definedColors.put("chocolate",
-                new RGB(210, 105, 30));
-        definedColors.put("coral",
-                new RGB(255, 127, 80));
-        definedColors.put("cornflowerblue",
-                new RGB(100, 149, 237));
-        definedColors.put("cornsilk",
-                new RGB(255, 248, 220));
-        definedColors.put("crimson",
-                new RGB(220, 20, 60));
-        definedColors.put("cyan",
-                new RGB(0, 255, 255));
-        definedColors.put("darkblue",
-                new RGB(0, 0, 139));
-        definedColors.put("darkcyan",
-                new RGB(0, 139, 139));
-        definedColors.put("darkgoldenrod",
-                new RGB(184, 134, 11));
-        definedColors.put("darkgray",
-                new RGB(169, 169, 169));
-        definedColors.put("darkgreen",
-                new RGB(0, 100, 0));
-        definedColors.put("darkkhaki",
-                new RGB(189, 183, 107));
-        definedColors.put("darkmagenta",
-                new RGB(139, 0, 139));
-        definedColors.put("darkolivegreen",
-                new RGB(85, 107, 47));
-        definedColors.put("darkorange",
-                new RGB(255, 140, 0));
-        definedColors.put("darkorchid",
-                new RGB(153, 50, 204));
-        definedColors.put("darkred",
-                new RGB(139, 0, 0));
-        definedColors.put("darksalmon",
-                new RGB(233, 150, 122));
-        definedColors.put("darkseagreen",
-                new RGB(143, 188, 143));
-        definedColors.put("darkslateblue",
-                new RGB(72, 61, 139));
-        definedColors.put("darkslategray",
-                new RGB(47, 79, 79));
-        definedColors.put("darkturquoise",
-                new RGB(0, 206, 209));
-        definedColors.put("darkviolet",
-                new RGB(148, 0, 211));
-        definedColors.put("deeppink",
-                new RGB(255, 20, 147));
-        definedColors.put("deepskyblue",
-                new RGB(0, 191, 255));
-        definedColors.put("dimgray",
-                new RGB(105, 105, 105));
-        definedColors.put("dodgerblue",
-                new RGB(30, 144, 255));
-        definedColors.put("firebrick",
-                new RGB(178, 34, 34));
-        definedColors.put("floralwhite",
-                new RGB(255, 250, 240));
-        definedColors.put("forestgreen",
-                new RGB(34, 139, 34));
-        definedColors.put("fuchsia",
-                new RGB(255, 0, 255));
-        definedColors.put("gainsboro",
-                new RGB(220, 220, 220));
-        definedColors.put("ghostwhite",
-                new RGB(248, 248, 255));
-        definedColors.put("gold",
-                new RGB(255, 215, 0));
-        definedColors.put("goldenrod",
-                new RGB(218, 165, 32));
-        definedColors.put("gray",
-                new RGB(128, 128, 128));
-        definedColors.put("green",
-                new RGB(0, 128, 0));
-        definedColors.put("greenyellow",
-                new RGB(173, 255, 47));
-        definedColors.put("honeydew",
-                new RGB(240, 255, 240));
-        definedColors.put("hotpink",
-                new RGB(255, 105, 180));
-        definedColors.put("indianred",
-                new RGB(205, 92, 92));
-        definedColors.put("indigo",
-                new RGB(75, 0, 130));
-        definedColors.put("ivory",
-                new RGB(255, 255, 240));
-        definedColors.put("khaki",
-                new RGB(240, 230, 140));
-        definedColors.put("lavender",
-                new RGB(230, 230, 250));
-        definedColors.put("lavenderblush",
-                new RGB(255, 240, 245));
-        definedColors.put("lawngreen",
-                new RGB(124, 252, 0));
-        definedColors.put("lemonchiffon",
-                new RGB(255, 250, 205));
-        definedColors.put("lightblue",
-                new RGB(173, 216, 230));
-        definedColors.put("lightcoral",
-                new RGB(240, 128, 128));
-        definedColors.put("lightcyan",
-                new RGB(224, 255, 255));
-        definedColors.put("lightgoldenrodyellow",
-                new RGB(250, 250, 210));
-        definedColors.put("lightgreen",
-                new RGB(144, 238, 144));
-        definedColors.put("lightgrey",
-                new RGB(211, 211, 211));
-        definedColors.put("lightpink",
-                new RGB(255, 182, 193));
-        definedColors.put("lightsalmon",
-                new RGB(255, 160, 122));
-        definedColors.put("lightseagreen",
-                new RGB(32, 178, 170));
-        definedColors.put("lightskyblue",
-                new RGB(135, 206, 250));
-        definedColors.put("lightslategray",
-                new RGB(119, 136, 153));
-        definedColors.put("lightsteelblue",
-                new RGB(176, 196, 222));
-        definedColors.put("lightyellow",
-                new RGB(255, 255, 224));
-        definedColors.put("lime",
-                new RGB(0, 255, 0));
-        definedColors.put("limegreen",
-                new RGB(50, 205, 50));
-        definedColors.put("linen",
-                new RGB(250, 240, 230));
-        definedColors.put("magenta",
-                new RGB(255, 0, 255));
-        definedColors.put("maroon",
-                new RGB(128, 0, 0));
-        definedColors.put("mediumaquamarine",
-                new RGB(102, 205, 170));
-        definedColors.put("mediumblue",
-                new RGB(0, 0, 205));
-        definedColors.put("mediumorchid",
-                new RGB(186, 85, 211));
-        definedColors.put("mediumpurple",
-                new RGB(147, 112, 219));
-        definedColors.put("mediumseagreen",
-                new RGB(60, 179, 113));
-        definedColors.put("mediumslateblue",
-                new RGB(123, 104, 238));
-        definedColors.put("mediumspringgreen",
-                new RGB(0, 250, 154));
-        definedColors.put("mediumturquoise",
-                new RGB(72, 209, 204));
-        definedColors.put("mediumvioletred",
-                new RGB(199, 21, 133));
-        definedColors.put("midnightblue",
-                new RGB(25, 25, 112));
-        definedColors.put("mintcream",
-                new RGB(245, 255, 250));
-        definedColors.put("mistyrose",
-                new RGB(255, 228, 225));
-        definedColors.put("moccasin",
-                new RGB(255, 228, 181));
-        definedColors.put("navajowhite",
-                new RGB(255, 222, 173));
-        definedColors.put("navy",
-                new RGB(0, 0, 128));
-        definedColors.put("oldlace",
-                new RGB(253, 245, 230));
-        definedColors.put("olive",
-                new RGB(128, 128, 0));
-        definedColors.put("olivedrab",
-                new RGB(107, 142, 35));
-        definedColors.put("orange",
-                new RGB(255, 165, 0));
-        definedColors.put("orangered",
-                new RGB(255, 69, 0));
-        definedColors.put("orchid",
-                new RGB(218, 112, 214));
-        definedColors.put("palegoldenrod",
-                new RGB(238, 232, 170));
-        definedColors.put("palegreen",
-                new RGB(152, 251, 152));
-        definedColors.put("paleturquoise",
-                new RGB(175, 238, 238));
-        definedColors.put("palevioletred",
-                new RGB(219, 112, 147));
-        definedColors.put("papayawhip",
-                new RGB(255, 239, 213));
-        definedColors.put("peachpuff",
-                new RGB(255, 218, 185));
-        definedColors.put("peru",
-                new RGB(205, 133, 63));
-        definedColors.put("pink",
-                new RGB(255, 192, 203));
-        definedColors.put("plum",
-                new RGB(221, 160, 221));
-        definedColors.put("powderBlue",
-                new RGB(176, 224, 230));
-        definedColors.put("purple",
-                new RGB(128, 0, 128));
-        definedColors.put("red",
-                new RGB(255, 0, 0));
-        definedColors.put("rosybrown",
-                new RGB(188, 143, 143));
-        definedColors.put("royalblue",
-                new RGB(65, 105, 225));
-        definedColors.put("saddlebrown",
-                new RGB(139, 69, 19));
-        definedColors.put("salmon",
-                new RGB(250, 128, 114));
-        definedColors.put("sandybrown",
-                new RGB(244, 164, 96));
-        definedColors.put("seagreen",
-                new RGB(46, 139, 87));
-        definedColors.put("seashell",
-                new RGB(255, 245, 238));
-        definedColors.put("sienna",
-                new RGB(160, 82, 45));
-        definedColors.put("silver",
-                new RGB(192, 192, 192));
-        definedColors.put("skyblue",
-                new RGB(135, 206, 235));
-        definedColors.put("slateblue",
-                new RGB(106, 90, 205));
-        definedColors.put("slategray",
-                new RGB(112, 128, 144));
-        definedColors.put("snow",
-                new RGB(255, 250, 250));
-        definedColors.put("springgreen",
-                new RGB(0, 255, 127));
-        definedColors.put("steelblue",
-                new RGB(70, 130, 180));
-        definedColors.put("tan",
-                new RGB(210, 180, 140));
-        definedColors.put("teal",
-                new RGB(0, 128, 128));
-        definedColors.put("thistle",
-                new RGB(216, 191, 216));
-        definedColors.put("tomato",
-                new RGB(255, 99, 71));
-        definedColors.put("turquoise",
-                new RGB(64, 224, 208));
-        definedColors.put("violet",
-                new RGB(238, 130, 238));
-        definedColors.put("wheat",
-                new RGB(245, 222, 179));
-        definedColors.put("white",
-                new RGB(255, 255, 255));
-        definedColors.put("whitesmoke",
-                new RGB(245, 245, 245));
-        definedColors.put("yellow",
-                new RGB(255, 255, 0));
-        definedColors.put("yellowgreen",
-                new RGB(154, 205, 50));
-
-        definedColors.put("grey",
-                new RGB(128, 128, 128));
-        definedColors.put("darkslategrey",
-                new RGB(47, 79, 79));
-        definedColors.put("dimgrey",
-                new RGB(105, 105, 105));
-        definedColors.put("lightgray",
-                new RGB(211, 211, 211));
-        definedColors.put("lightslategrey",
-                new RGB(119, 136, 153));
-        definedColors.put("slategrey",
-                new RGB(112, 128, 144));
-        definedColors.put("transparent",
-                new RGBA(0, 0, 0, (float) 0.0));
-
-        //CSS2 System colors deprecated
-        deprecatedColors.put("activeborder", "ActiveBorder");
-        deprecatedColors.put("activecaption", "ActiveCaption");
-        deprecatedColors.put("appworkspace", "AppWorkspace");
-        deprecatedColors.put("background", "Background");
-        deprecatedColors.put("buttonface", "ButtonFace");
-        deprecatedColors.put("buttonhighlight", "ButtonHighlight");
-        deprecatedColors.put("buttonshadow", "ButtonShadow");
-        deprecatedColors.put("buttontext", "ButtonText");
-        deprecatedColors.put("captiontext", "CaptionText");
-        deprecatedColors.put("graytext", "GrayText");
-        deprecatedColors.put("highlight", "Highlight");
-        deprecatedColors.put("highlighttext", "HighlightText");
-        deprecatedColors.put("inactiveborder", "InactiveBorder");
-        deprecatedColors.put("inactivecaption", "InactiveCaption");
-        deprecatedColors.put("inactivecaptiontext", "InactiveCaptionText");
-        deprecatedColors.put("infobackground", "InfoBackground");
-        deprecatedColors.put("infotext", "InfoText");
-        deprecatedColors.put("menu", "Menu");
-        deprecatedColors.put("menutext", "MenuText");
-        deprecatedColors.put("scrollbar", "Scrollbar");
-        deprecatedColors.put("threeddarkshadow", "ThreeDDarkShadow");
-        deprecatedColors.put("threedface", "ThreeDFace");
-        deprecatedColors.put("threedhighlight", "ThreeDHighlight");
-        deprecatedColors.put("threedlightshadow", "ThreeDLightShadow");
-        deprecatedColors.put("threedshadow", "ThreeDShadow");
-        deprecatedColors.put("window", "Window");
-        deprecatedColors.put("windowframe", "WindowFrame");
-        deprecatedColors.put("windowtext", "WindowText");
-
-        // CSS3 user preferences for hyperlink colors -> removed from spec
-        /*
-       definedColors.put("ActiveHyperlink", "ActiveHyperlink");
-       definedColors.put("ActiveHyperlinkText", "ActiveHyperlinkText");
-       definedColors.put("HoverHyperlink", "HoverHyperlink");
-       definedColors.put("HoverHyperlinkText", "HoverHyperlinkText");
-       definedColors.put("Hyperlink", "Hyperlink");
-       definedColors.put("HyperlinkText", "HyperlinkText");
-       definedColors.put("VisitedHyperlink", "VisitedHyperlink");
-       definedColors.put("VisitedHyperlinkText", "VisitedHyperlinkText");
-       */
-
-        //Flavor system color
-        definedColors.put("flavor", "flavor");
-        definedColors.put("currentcolor", "currentColor");
-
-    }
-
 }
 

Index: CssColorCSS21.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssColorCSS21.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- CssColorCSS21.java	5 Jan 2010 19:49:51 -0000	1.7
+++ CssColorCSS21.java	29 Sep 2011 09:09:00 -0000	1.8
@@ -4,70 +4,42 @@
 // Please first read the full copyright statement in file COPYRIGHT.html
 package org.w3c.css.values;
 
-import org.w3c.css.util.ApplContext;
-import org.w3c.css.util.InvalidParamException;
-
-import static org.w3c.css.values.CssColorConstants.SYSTEMCOLORS;
-import static org.w3c.css.values.CssColorConstants.COLORNAME_CSS21;
+import java.util.HashMap;
 
 /**
- * CssColorCSS21<br />
- * Created: Aug 30, 2005 1:53:59 PM<br />
+ * @spec http://www.w3.org/TR/2011/REC-CSS2-20110607/syndata.html#color-units
  */
-public class CssColorCSS21 extends CssColorCSS2 {
-
-    private static int[] tableColorHash;
-    private static int[] tableSystemColorHash;
-
-    static {
-        // We create the two table containing hashvalues of each color
-        tableColorHash = new int[COLORNAME_CSS21.length];
-        for (int i = 0; i < COLORNAME_CSS21.length; i++) {
-            tableColorHash[i] = COLORNAME_CSS21[i].toLowerCase().hashCode();
-        }
-
-        tableSystemColorHash = new int[SYSTEMCOLORS.length];
-        for (int i = 0; i < tableSystemColorHash.length; i++) {
-            tableSystemColorHash[i] = SYSTEMCOLORS[i].toLowerCase().hashCode();
-        }
-    }
+public class CssColorCSS21 {
+    protected static final HashMap<String, RGB> definedRGBColorsCSS21;
 
-    public CssColorCSS21(ApplContext ac, String s)
-            throws InvalidParamException {
-        setIdentColor(s, ac);
+    public static RGB getRGB(String ident) {
+        return definedRGBColorsCSS21.get(ident);
     }
 
-    /**
-     * Parse an ident color.
-     */
-    private void setIdentColor(String s, ApplContext ac)
-            throws InvalidParamException {
-        String lower_s = s.toLowerCase();
-        int hash = lower_s.hashCode();
-
-        int indexOfColor = searchColor(hash, tableColorHash);
-
-        if (indexOfColor != -1) {
-            computeIdentColor(definedColors, COLORNAME_CSS21[indexOfColor]);
-        } else {
-            // the color has not been found, search it the system colors
-            indexOfColor = searchColor(hash, tableSystemColorHash);
-            if (indexOfColor != -1) {
-                computeIdentColor(definedColors, SYSTEMCOLORS[indexOfColor]);
-            } else {
-                // the color does not exist in this profile, this is an error
-                throw new InvalidParamException("value", s, "color", ac);
-            }
-        }
+    // those are the same as CSS2, let's use that
+    public static String getSystem(String ident) {
+        return CssColorCSS2.definedSystemColorsCSS2.get(ident);
     }
 
-    private int searchColor(int colorHash, int[] tableColorHash) {
-        for (int i = 0; i < tableColorHash.length; i++) {
-            if (tableColorHash[i] == colorHash) {
-                return i;
-            }
-        }
-        return -1;
+    static {
+        // http://www.w3.org/TR/2011/REC-CSS2-20110607/syndata.html#color-units
+        definedRGBColorsCSS21 = new HashMap<String, RGB>();
+        definedRGBColorsCSS21.put("orange", new RGB(255, 165, 0));
+        definedRGBColorsCSS21.put("black", new RGB(0, 0, 0));
+        definedRGBColorsCSS21.put("silver", new RGB(192, 192, 192));
+        definedRGBColorsCSS21.put("gray", new RGB(128, 128, 128));
+        definedRGBColorsCSS21.put("white", new RGB(255, 255, 255));
+        definedRGBColorsCSS21.put("maroon", new RGB(128, 0, 0));
+        definedRGBColorsCSS21.put("red", new RGB(255, 0, 0));
+        definedRGBColorsCSS21.put("purple", new RGB(128, 0, 128));
+        definedRGBColorsCSS21.put("fuchsia", new RGB(255, 0, 255));
+        definedRGBColorsCSS21.put("green", new RGB(0, 128, 0));
+        definedRGBColorsCSS21.put("lime", new RGB(0, 255, 0));
+        definedRGBColorsCSS21.put("olive", new RGB(128, 128, 0));
+        definedRGBColorsCSS21.put("yellow", new RGB(255, 255, 0));
+        definedRGBColorsCSS21.put("navy", new RGB(0, 0, 128));
+        definedRGBColorsCSS21.put("blue", new RGB(0, 0, 255));
+        definedRGBColorsCSS21.put("teal", new RGB(0, 128, 128));
+        definedRGBColorsCSS21.put("aqua", new RGB(0, 255, 255));
     }
-
 }

Index: CssColorCSS1.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/CssColorCSS1.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- CssColorCSS1.java	26 Sep 2011 14:32:16 -0000	1.16
+++ CssColorCSS1.java	29 Sep 2011 09:09:00 -0000	1.17
@@ -6,235 +6,38 @@
 // Please first read the full copyright statement in file COPYRIGHT.html
 package org.w3c.css.values;
 
-import org.w3c.css.util.ApplContext;
-import org.w3c.css.util.InvalidParamException;
-
 import java.util.HashMap;
 
 /**
- *   <H3>
- *     &nbsp;&nbsp; Color units
- *   </H3>
- *   <P>
- *   A color is a either a keyword or a numerical RGB specification.
- *   <P>
- *   The suggested list of keyword color names is: aqua, black, blue, fuchsia,
- *   gray, green, lime, maroon, navy, olive, purple, red, silver, teal, white,
- *   and yellow. These 16 colors are taken from the Windows VGA palette, and their
- *   RGB values are not defined in this specification.
- *   <PRE>
- *   BODY {color: black; background: white }
- *   H1 { color: maroon }
- *   H2 { color: olive }
- * </PRE>
- *   <P>
- *   The RGB color model is being used in numerical color specifications. These
- *   examples all specify the same color:
- *   <PRE>
- *   EM { color: #f00 }              / * #rgb * /
- *   EM { color: #ff0000 }           / * #rrggbb * /
- *   EM { color: rgb(255,0,0) }      / * integer range 0 - 255 * /
- *   EM { color: rgb(100%, 0%, 0%) } / * float range 0.0% - 100.0% * /
- * </PRE>
- *   <P>
- *   The format of an RGB value in hexadecimal notation is a '#' immediately followed
- *   by either three or six hexadecimal characters. The three-digit RGB notation
- *   (#rgb) is converted into six-digit form (#rrggbb) by replicating digits,
- *   not by adding zeros. For example, #fb0 expands to #ffbb00. This makes sure
- *   that white (#ffffff) can be specified with the short notation (#fff) and
- *   removes any dependencies on the color depth of the display.
- *   <P>
- *   The format of an RGB value in the functional notation is 'rgb(' followed
- *   by a comma-separated list of three numerical values (either three integer
- *   values in the range of 0-255, or three percentage values in the range of
- *   0.0% to 100.0%) followed by ')'. Whitespace characters are allowed around
- *   the numerical values.
- *   <P>
- *   Values outside the numerical ranges should be clipped. The three rules below
- *   are therefore equivalent:
- *   <PRE>
- *   EM { color: rgb(255,0,0) }       / * integer range 0 - 255 * /
- *   EM { color: rgb(300,0,0) }       / * clipped to 255 * /
- *   EM { color: rgb(110%, 0%, 0%) }  / * clipped to 100% * /
- * </PRE>
- *   <P>
- *   RGB colors are specified in the sRGB color space <A HREF="#ref9">[9]</A>.
- *   UAs may vary in the fidelity with which they represent these colors, but
- *   use of sRGB provides an unambiguous and objectively measurable definition
- *   of what the color should be, which can be related to international standards
- *   <A HREF="#ref10">[10]</A>.
- *   <P>
- *   UAs may limit their efforts in displaying colors to performing a gamma-correction
- *   on them. sRGB specifies a display gamma of 2.2 under specified viewing
- *   conditions. UAs adjust the colors given in CSS such that, in combination
- *   with an output device's "natural" display gamma, an effective display gamma
- *   of 2.2 is produced. <A HREF="#appendix-d">Appendix D</A> gives further details
- *   of this. Note that only colors specified in CSS are affected; e.g., images
- *   are expected to carry their own color information.
- *
- *
- *   <H2>
- *     <A NAME="appendix-d">Appendix D: Gamma correction</A>
- *   </H2>
- *   <P>
- *   (This appendix is informative, not normative)
- *   <P>
- *   See the <A href="http://www.w3.org/pub/WWW/TR/PNG-GammaAppendix">Gamma
- *   Tutorial</A> in the PNG specification <A href="#ref12">[12]</A> if you aren't
- *   already familiar with gamma issues.
- *   <P>
- *   In the computation, UAs displaying on a CRT may assume an ideal CRT and ignore
- *   any effects on apparent gamma caused by dithering. That means the minimal
- *   handling they need to do on current platforms is:
- *   <DL>
- *     <DT>
- *       PC using MS-Windows
- *     <DD>
- *       none
- *     <DT>
- *       Unix using X11
- *     <DD>
- *       none
- *     <DT>
- *       Mac using QuickDraw
- *     <DD>
- *       apply gamma 1.39 <A HREF="#ref13">[13]</A> (ColorSync-savvy applications
- *       may simply pass the sRGB ICC profile <A HREF="#ref14">[14]</A> to ColorSync
- *       to perform correct color correction)
- *     <DT>
- *       SGI using X
- *     <DD>
- *       apply the gamma value from <TT>/etc/config/system.glGammaVal</TT> (the default
- *       value being 1.70; applications running on Irix 6.2 or above may simply pass
- *       the sRGB ICC profile to the color management system)
- *     <DT>
- *       NeXT using NeXTStep
- *     <DD>
- *       apply gamma 2.22
- *   </DL>
- *   <P>
- *   "Applying gamma" means that each of the three R, G and B must be converted
- *   to R'=R<SUP>gamma</SUP>, G'=G<SUP>gamma</SUP>, G'=B<SUP>gamma</SUP>, before
- *   handing to the OS.
- *   <P>
- *   This may rapidly be done by building a 256-element lookup table once per
- *   browser invocation thus:
- *   <PRE>
- *   for i := 0 to 255 do
- *     raw := i / 255;
- *     corr := pow (raw, gamma);
- *     table[i] := trunc (0.5 + corr * 255.0)
- *   end
- * </PRE>
- *   <P>
- *   which then avoids any need to do transcendental math per color attribute,
- *   far less per pixel.
-
- * See also
- * <P>
- * <A NAME="ref9">[9]</A> M Anderson, R Motta, S Chandrasekar, M Stokes:
- * "<A HREF="http://www.hpl.hp.com/personal/Michael_Stokes/srgb.htm">Proposal
- * for a Standard Color Space for the Internet - sRGB</A>"
- * (http://www.hpl.hp.com/personal/Michael_Stokes/srgb.htm)
- *   <P>
- *  <A NAME="ref10">[10]</A> CIE Publication 15.2-1986,
- *  "<A HREF="http://www.hike.te.chiba-u.ac.jp/ikeda/CIE/publ/abst/15-2-86.html">Colorimetry,
- *  Second Edition</A>", ISBN 3-900-734-00-3
- *  (http://www.hike.te.chiba-u.ac.jp/ikeda/CIE/publ/abst/15-2-86.html)
- * <P>
- * <A NAME="ref12">[12]</A>
- * "<A href="http://www.w3.org/pub/WWW/TR/REC-png-multi.html">PNG (Portable
- * Network Graphics) Specification, Version 1.0 specification</A>"
- * (http://www.w3.org/pub/WWW/TR/REC-png-multi.html)
- * <P>
- * <A NAME="ref13">[13]</A> Charles A. Poynton:
- * "<A HREF="ftp://ftp.inforamp.net/pub/users/poynton/doc/Mac/Mac_gamma.pdf">Gamma
- * correction on the Macintosh Platform</A>"
- * (ftp://ftp.inforamp.net/pub/users/poynton/doc/Mac/Mac_gamma.pdf)
- * <P>
- * <A NAME="ref14">[14]</A> International Color Consortium:
- * "<A HREF="ftp://sgigate.sgi.com/pub/icc/ICC32.pdf">ICC Profile Format
- *  Specification, version 3.2</A>", 1995 (ftp://sgigate.sgi.com/pub/icc/ICC32.pdf)
- *
  * @version $Revision$
+ * @spec http://www.w3.org/TR/2008/REC-CSS1-20080411/#color-units
  */
-public class CssColorCSS1 extends CssColor {
-
-    private static HashMap<String,RGB> definedColorsCSS1;
-
-    /**
-     * Create a new CssColorCSS1
-     */
-    public CssColorCSS1() {
-	//color = new CssIdent("");
-    }
-
-    /**
-     * Create a new CssColor with a color name.
-     *
-     * @param s The name color.
-     * @exception InvalidParamException the color is incorrect
-     */
-    public CssColorCSS1(ApplContext ac, String s) throws InvalidParamException {
-	//	setIdentColor(s.toLowerCase(), ac);
-	setIdentColor(s, ac);
-    }
+public class CssColorCSS1 {
 
-    /**
-     * Parse an ident color.
-     */
-    private void setIdentColor(String s, ApplContext ac)
-	    throws InvalidParamException {
-	String lower_s = s.toLowerCase();
-	rgb = definedColorsCSS1.get(lower_s);
-	if (rgb != null) {
-		color = lower_s;
-// 2007-05 - this warning on color string capitalization is plain silly,
-// commenting it out-- ot@w3.org
-//		if (!obj.equals(s)) {
-//		    ac.getFrame().addWarning("color.mixed-capitalization",
-//					     s);
-//		}
-	    return;
-	}
+    protected static final HashMap<String, RGB> definedRGBColorsCSS1;
 
-	throw new InvalidParamException("value", s, "color", ac);
+    static RGB getRGB(String ident) {
+        return definedRGBColorsCSS1.get(ident);
     }
 
     static {
-	definedColorsCSS1 = new HashMap<String,RGB>();
-	definedColorsCSS1.put("black",
-			  new RGB(0, 0, 0));
-	definedColorsCSS1.put("silver",
-			  new RGB(192, 192, 192));
-	definedColorsCSS1.put("gray",
-			  new RGB(128, 128, 128));
-	definedColorsCSS1.put("white",
-			  new RGB(255, 255, 255));
-	definedColorsCSS1.put("maroon",
-			  new RGB(128, 0, 0));
-	definedColorsCSS1.put("red",
-			  new RGB(255, 0, 0));
-	definedColorsCSS1.put("purple",
-			  new RGB(128, 0, 128));
-	definedColorsCSS1.put("fuchsia",
-			  new RGB(255, 0, 255));
-	definedColorsCSS1.put("green",
-			  new RGB(0, 128, 0));
-	definedColorsCSS1.put("lime",
-			  new RGB(0, 255, 0));
-	definedColorsCSS1.put("olive",
-			  new RGB(128, 128, 0));
-	definedColorsCSS1.put("yellow",
-			  new RGB(255, 255, 0));
-	definedColorsCSS1.put("navy",
-			  new RGB(0, 0, 128));
-	definedColorsCSS1.put("blue",
-			  new RGB(0, 0, 255));
-	definedColorsCSS1.put("teal",
-			  new RGB(0, 128, 128));
-	definedColorsCSS1.put("aqua",
-			  new RGB(0, 255, 255));
+        definedRGBColorsCSS1 = new HashMap<String, RGB>();
+        definedRGBColorsCSS1.put("black", new RGB(0, 0, 0));
+        definedRGBColorsCSS1.put("silver", new RGB(192, 192, 192));
+        definedRGBColorsCSS1.put("gray", new RGB(128, 128, 128));
+        definedRGBColorsCSS1.put("white", new RGB(255, 255, 255));
+        definedRGBColorsCSS1.put("maroon", new RGB(128, 0, 0));
+        definedRGBColorsCSS1.put("red", new RGB(255, 0, 0));
+        definedRGBColorsCSS1.put("purple", new RGB(128, 0, 128));
+        definedRGBColorsCSS1.put("fuchsia", new RGB(255, 0, 255));
+        definedRGBColorsCSS1.put("green", new RGB(0, 128, 0));
+        definedRGBColorsCSS1.put("lime", new RGB(0, 255, 0));
+        definedRGBColorsCSS1.put("olive", new RGB(128, 128, 0));
+        definedRGBColorsCSS1.put("yellow", new RGB(255, 255, 0));
+        definedRGBColorsCSS1.put("navy", new RGB(0, 0, 128));
+        definedRGBColorsCSS1.put("blue", new RGB(0, 0, 255));
+        definedRGBColorsCSS1.put("teal", new RGB(0, 128, 128));
+        definedRGBColorsCSS1.put("aqua", new RGB(0, 255, 255));
     }
 
 }

Index: HSLA.java
===================================================================
RCS file: /sources/public/2002/css-validator/org/w3c/css/values/HSLA.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -d -r1.7 -r1.8
--- HSLA.java	6 Jan 2010 09:27:44 -0000	1.7
+++ HSLA.java	29 Sep 2011 09:09:00 -0000	1.8
@@ -65,7 +65,7 @@
      */
     public String toString() {
         if (output == null) {
-            StringBuilder sb = new StringBuilder("hsl(");
+            StringBuilder sb = new StringBuilder("hsla(");
             sb.append(Util.displayFloat(fh)).append(", ");
             sb.append(Util.displayFloat(fs)).append("%, ");
             sb.append(Util.displayFloat(fl)).append("%, ");

Received on Thursday, 29 September 2011 09:09:09 UTC