« Paper Sizes in MOOXML: Inflexible, incomplete and ignores ISO 216 standards. | Main | Italy adopts ODF as a National Standard »

Thursday, 25 January 2007

MSOOXML contradicts W3C SVG Colour definitions

With the huge adoption of W3C standards like HTML, XML and SVG, we would assume that MSOOXML would conform to the well used standards. However MSOOXML colour values contradict W3C SVG's specifications.

In section 2.18.46 (page 2521) the specification lists Red-Green-Blue (RGB) values for common colour names which correlate with the standard W3C SVG Color Keyword Names. However, the hexadecimal RGB values differ with the same colour names:

Svgcolour1

“Light Gray”, “Dark Gray” and “Dark Green” show the most visible differences and this will cause significant confusion and frustration for documents which need to represent colours with high fidelity.

In contrast, section 5.1.12.48 (p. 4531) "ST_PresetColorVal" (Preset Color Value) matches W3C SVG colors well, in that the RGB values are exactly the same. Unfortunately, it renames "darkGray" to "dkGray" and "lightGray" to "ltGray" to avoid self-contradiction at the cost of preventing harmonization with the W3C SVG standard.

We need to find out why a mature specification like MSOOXML would need to redefine a well known and well used colour definition (SVG) and also redefine it twice (2.18.46 and 5.1.12.48) within its own specification?


yk.

TrackBack

TrackBack URL for this entry:
http://www.typepad.com/t/trackback/686627/7629776

Listed below are links to weblogs that reference MSOOXML contradicts W3C SVG Colour definitions:

Comments

The Windows color choices that you exhibit are selected from the *standard* color map that is defined for HTML/XHTML.

The idea is to make sure there is accurate rendering on a wide range of displays. The standard color map does not use color levels 64, 8B, A9, or D3 (although 00 is a universal winner for "darkest").

It would appear that SVG conflicts with another older and far more widely-used W3C standard. Fancy that.

Of course, all of the color *codes* can be used in Microsoft Office and OOX, the problem here seems to be about color *coded-names*.

With regard to the coded-names for the 10 office standard *text* colors (beside white and black and the greys), Microsoft names them Dark Red, Red, Orange, Yellow, Light Green, Green, Light Blue, Blue, Dark Blue, and Purple in the en-us UI of Office Word 2007 (B2TR, I'll install the RTM version later today). They seem to be careful to avoid the names that are not that well-known (e.g., teal, maroon, and so on).

I placed text phrases of the same color as the phrase into a .DOCX file and see that names are not used in the XML. Color codes are used. These are the color values used for my choices: C00000 (dark red), FF0000, FFC000, FFFF00, 92D050, 00B050, 00B0F0, 0070C0, 002060, and 7030A0 (purple). There are a number of color levels outside of the standard subset here: 20, 50, 70, 92, B0, C0, D0, and F0.

This leads me to wonder how you arrived at the Microsoft color-code choices.

Section 2.18.46 (of the Markup Reference volume) is about text *highlighting* color -- for highlighting over text, not a normal color or color settings used elsewhere. There is only one listed reference to this standard type from elsewhere in the specification and it is for highlighting text in WordML. There are a fixed number of values (you can't specify your own code), so color coded-names must be used in OOX for the hightlighting attribute, but we know what the corresponding codes are. The human-understandable names (not color-attribute values) all say "Highlight Color" quite prominently. This is apparently not a place where anyone things having rigorous precision for these color name-codes is a big deal. They don't apply to SVG or to DrawingML at all.

With regard to Drawing ML (section 5.1), section 5.1.12.48 specifies Preset Color Values that are only used within that format. In this portion of the specification, the code values are identical to the SVG ones you offer, although the coded-names (which do not in any way use SVG namespaces) abbreviate "dark" to "dk" and "light" to "lt". These are strictly-defined and perfectly convertible between SVG and DrawingML, without any loss and with no mystery. Some conflict.

I haven't checked carefully, bit I wonder if it would be a good idea to examine ODF to make sure it doesn't have any similar "contradiction" before pouncing on OOXML.

Dennis (orcmid),

My reply to your query is in my next blog post here:

/2007/01/msooxmls_disreg.html

yk.

Post a comment

If you have a TypeKey or TypePad account, please Sign In

Welcome to
Open Malaysia blog!

  • Bloggers @ Open Malaysia
    We are a group of individual bloggers working to build openness in Malaysia's ICT culture. Most of us have day jobs and a couple of us are students. Those with a job work for companies ranging from large international enterprises to self-run Malaysian start-ups.
    Email us at this address:
    open -AT- openmalaysiablog -DOT- com

Disclaimer...

  • We declare our independence of opinions from our employers, institutions, associations and clients, past and present. Thoughts and expressions in the Open Malaysia blog are rightly each blogger's own and each of us stand by what we individually write. Views by readers who post comments and others whose writings we link to in this blog are theirs.

March 2008

Sun Mon Tue Wed Thu Fri Sat
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

Subscribe to this site
- FeedBurner Feed

Subscribe to this site
- email alert options

Your email address:


Powered by FeedBlitz

Enter your email address:

Delivered by FeedBurner

Powered by TypePad