[whatwg] Valid Unicode

Elliotte Harold elharo at metalab.unc.edu
Fri Dec 1 04:38:45 PST 2006

In 9.1.3 we see

Text must consist of valid Unicode characters other than U+0000. Text 
should not contain control characters other than space characters.

Later in we find:

If the number is not a valid Unicode character (e.g. if the number is 
higher than 1114111), or if the number is zero, then return a character 
token for the U+FFFD REPLACEMENT CHARACTER character instead.

I do not think the Unicode spec defines the notion of a "valid Unicode 
character". (It does define a valid Unicode code unit sequence, but 
that's a little different. A code unit sequence generally consists of 
more than one character.) Thus I suggest we need to be more precise here 
about what is and is not a valid Unicode character. In particular:

1. Are private use characters allowed?
2. Are control characters allowed (probably yes, based on other parts of 
the spec).
3. Are surrogate characters allowed? (probably no)
4. Are non-characters beyond 10FFFF allowed (no)
5. Are reserved but currently undefined characters allowed (yes)
6. Are noncharacters U+FDD0..U+FDEF allowed (?)
7. Are the noncharacters from the last two characters of each plane 
allowed (?)

Elliotte Rusty Harold  elharo at metalab.unc.edu
Java I/O 2nd Edition Just Published!

More information about the whatwg mailing list