Bug 44039

Summary: c1 control codes shouldn't be interpreted as microsoft characters
Product: WebKit Reporter: Michael Gilbert <michael.s.gilbert>
Component: DOMAssignee: Nobody <webkit-unassigned>
Status: RESOLVED INVALID    
Severity: Normal CC: ap, vincent-webkit
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: PC   
OS: Linux   
URL: http://bugs.debian.org/592884

Description Michael Gilbert 2010-08-15 15:59:33 PDT
hi, a debian user submitted the following bug:

  According to the W3C[*], C1 control codes such as U+0080 should not
  be interpreted as Microsoft characters. In the attached testcase,
  WebKit (tested with /usr/lib/webkit-1.0-2/libexec/GtkLauncher)
  renders U+0080 as a Euro symbol, which is incorrect.

see linked debian bug for more info.

thanks,
mike
Comment 1 Alexey Proskuryakov 2010-08-16 05:02:45 PDT
The test case attached to the Debian bug contains &#x80; in a text/html file (which also has ignored XHTML-style incantations inside). Handling of these is defined in HTML5 section 10.2.4.70 Tokenizing character references:

---------------------
If that number is one of the numbers in the first column of the following table, then this is a parse error. Find the row with that number in the first column, and return a character token for the Unicode character given in the second column of that row.

Number	Unicode character
0x00	U+FFFD	REPLACEMENT CHARACTER
0x0D	U+000D	CARRIAGE RETURN (CR)
0x80	U+20AC	EURO SIGN (€)
<...>
---------------------

Obviously, we match the HTML5 spec here.

If iI re-save this test case as an XHTML file, the character reference is interpreted as U+0080.

WebKit correctly implements the relevant specifications, and matches other browsers (I only tested Firefox 3.6.8 this time, but my recollection is that IE does the same). The FAQ is obsolete.
Comment 2 Vincent Lefevre 2010-08-16 09:10:37 PDT
OK, thanks for the information. I've just sent a comment to the W3C about the FAQ (using the "Send us a comment" link).