[css-syntax] Revert (parts of) "Revert <unicode-range> changes from CSS 2.1"

Wed, 04 Sep 2013 18:46:11 +0100

author
Simon Sapin <simon.sapin@exyr.org>
date
Wed, 04 Sep 2013 18:46:11 +0100
changeset 9016
d88caaa3d5fa
parent 9015
c28d63e2592f
child 9017
a767f1a3ff12

[css-syntax] Revert (parts of) "Revert <unicode-range> changes from CSS 2.1"

This reverts parts of commit 23590701e57879cfb0ba67e47524c2f2b889fe74.

Namely:

* The tokens have a pair of integers, rather than strings or "a range".
* Keep the "Consume a unicode-range token" section as in earlier EDs.
* Remove the "Set the unicode-range’s range" section: the tokenizer does
no error handling / normalization beyond parsing hex digits into
integers.

css-syntax/Diagrams.src.html file | annotate | diff | comparison | revisions
css-syntax/Overview.html file | annotate | diff | comparison | revisions
css-syntax/Overview.src.html file | annotate | diff | comparison | revisions
     1.1 --- a/css-syntax/Diagrams.src.html	Wed Sep 04 16:48:16 2013 +0200
     1.2 +++ b/css-syntax/Diagrams.src.html	Wed Sep 04 18:46:11 2013 +0100
     1.3 @@ -153,10 +153,15 @@
     1.4  		'U',
     1.5  		'u'),
     1.6  	'+',
     1.7 -	Sequence(OneOrMore(Choice(0, NonTerminal('hex digit'), '?'), Comment('1-6 times'))),
     1.8 -	Optional(Sequence(
     1.9 -		'-',
    1.10 -		OneOrMore(NonTerminal('hex digit'), Comment('1-6 times'))))));
    1.11 +	Choice(0,
    1.12 +		Sequence(OneOrMore(NonTerminal('hex digit'), Comment('1-6 times'))),
    1.13 +		Sequence(
    1.14 +			ZeroOrMore(NonTerminal('hex digit'), Comment('1-5 times')),
    1.15 +			OneOrMore('?', Comment('1 to (6 - digits) times'))),
    1.16 +		Sequence(
    1.17 +			OneOrMore(NonTerminal('hex digit'), Comment('1-6 times')),
    1.18 +			'-',
    1.19 +			OneOrMore(NonTerminal('hex digit'), Comment('1-6 times'))))));
    1.20  
    1.21  add('〈include-match〉', Diagram('~='));
    1.22  
     2.1 --- a/css-syntax/Overview.html	Wed Sep 04 16:48:16 2013 +0200
     2.2 +++ b/css-syntax/Overview.html	Wed Sep 04 18:46:11 2013 +0100
     2.3 @@ -14,7 +14,7 @@
     2.4  </a></p>
     2.5    <h1 class="p-name no-ref" id=title>CSS Syntax Module Level 3</h1>
     2.6    <h2 class="no-num no-toc no-ref heading settled heading" id=subtitle><span class=content>Editor’s Draft,
     2.7 -    <span class=dt-updated><span class=value-title title=20130901>1 September 2013</span></span></span></h2>
     2.8 +    <span class=dt-updated><span class=value-title title=20130904>4 September 2013</span></span></span></h2>
     2.9    <div data-fill-with=spec-metadata><dl><dt>This version:<dd><a class=u-url href=http://dev.w3.org/csswg/css-syntax>http://dev.w3.org/csswg/css-syntax</a><dt>Editor’s Draft:<dd><a href=http://dev.w3.org/csswg/css-syntax>http://dev.w3.org/csswg/css-syntax</a><dt>Previous Versions:<dd><a href=http://www.w3.org/TR/2003/WD-css3-syntax-20030813/ rel=previous>http://www.w3.org/TR/2003/WD-css3-syntax-20030813/</a>
    2.10  <dt>Feedback:</dt>
    2.11      <dd><a href="mailto:www-style@w3.org?subject=%5Bcss-syntax%5D%20feedback">www-style@w3.org</a>
    2.12 @@ -526,18 +526,15 @@
    2.13  
    2.14  		<li>
    2.15  			<a class=css-code data-link-type=token href=#tokendef-unicode-range>〈unicode-range〉</a> tokens have
    2.16 -			a <dfn data-dfn-type=dfn data-noexport="" id=unicode-range-start title=unicode-range-start>start<a class=self-link href=#unicode-range-start></a></dfn> made of one to six <a href=#hex-digit>hex digits</a> or U+003F QUESTION MARK (?) code points,
    2.17 -			and and optional <dfn data-dfn-type=dfn data-noexport="" id=unicode-range-end title=unicode-range-end>end<a class=self-link href=#unicode-range-end></a></dfn> made of one to six <a href=#hex-digit>hex digits</a>.
    2.18 +			a <dfn data-dfn-type=dfn data-noexport="" id=unicode-range-start title="start of the range">start<a class=self-link href=#unicode-range-start></a></dfn>
    2.19 +			and an <dfn data-dfn-type=dfn data-noexport="" id=unicode-range-end title="end of the range">end<a class=self-link href=#unicode-range-end></a></dfn>,
    2.20 +			a pair of integers.
    2.21 +
    2.22  	</ul>
    2.23  
    2.24  <p class=note>	Note: The type flag of hash tokens is used in the Selectors syntax <a data-biblio-type=informative data-link-type=biblio href=#select title=SELECT>[SELECT]</a>.
    2.25  	Only hash tokens with the "id" type are valid <a href=http://www.w3.org/TR/selectors/#id-selectors>ID selectors</a>.
    2.26  
    2.27 -<p class=note>	Note: The syntax of <a class=css-code data-link-type=token href=#tokendef-unicode-range>〈unicode-range〉</a> tokens defined in this specification
    2.28 -	is a super-set of the <a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-fonts-3/#urange-value>&lt;urange&gt;</a> value accepted by <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-fonts-3/#at-font-face-rule>@font-face</a>’s <a class=property data-link-type=propdesc href=http://dev.w3.org/csswg/css-fonts-3/#descdef-unicode-range title=unicode-range>unicode-range</a> descriptor. <a data-biblio-type=informative data-link-type=biblio href=#css3-fonts title=CSS3-FONTS>[CSS3-FONTS]</a>
    2.29 -	For example, <span class=css data-link-type=maybe>U+4??6</span> and <span class=css data-link-type=maybe>U+1??-300</span> are valid <a class=css-code data-link-type=token href=#tokendef-unicode-range>〈unicode-range〉</a> tokens
    2.30 -	but not valid <a class="production css-code" data-link-type=type href=http://dev.w3.org/csswg/css-fonts-3/#urange-value>&lt;urange&gt;</a> values.
    2.31 -
    2.32  <p class=note>	Note: As a technical note,
    2.33  	the tokenizer defined here requires only three <a href=#code-point>code points</a> of look-ahead.
    2.34  	The tokens it produces are designed to allow Selectors to be parsed with one token of look-ahead,
    2.35 @@ -567,6 +564,7 @@
    2.36  		The generated SVG is copied here so that JavaScript is not required
    2.37  		to view the spec.
    2.38  	-->
    2.39 +
    2.40  	<dl>
    2.41  		<dt id=comment-diagram><a class=self-link href=#comment-diagram></a>comment</dt>
    2.42  		<dd><svg class=railroad-diagram height=81 width=497><g transform="translate(.5 .5)"><path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"></path><path d="M40 41h10"></path><g><path d="M50 41h0"></path><path d="M86 41h0"></path><rect height=22 rx=10 ry=10 width=36 x=50 y=30></rect><text x=68 y=45>/*</text></g><path d="M86 41h10"></path><g><path d="M96 41h0"></path><path d="M400 41h0"></path><path d="M96 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M116 21h264"></path></g><path d="M380 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M96 41h20"></path><g><path d="M116 41h0"></path><path d="M380 41h0"></path><path d="M116 41h10"></path><g><path d="M126 41h0"></path><path d="M370 41h0"></path><rect height=22 width=244 x=126 y=30></rect><text x=248 y=45>anything but * followed by /</text></g><path d="M370 41h10"></path><path d="M126 41a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path><g><path d="M126 61h244"></path></g><path d="M370 61a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path></g><path d="M380 41h20"></path></g><path d="M400 41h10"></path><g><path d="M410 41h0"></path><path d="M446 41h0"></path><rect height=22 rx=10 ry=10 width=36 x=410 y=30></rect><text x=428 y=45>*/</text></g><path d="M446 41h10"></path><path d="M 456 41 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg></dd>
    2.43 @@ -617,7 +615,7 @@
    2.44  		<dd><svg class=railroad-diagram height=62 width=233><g transform="translate(.5 .5)"><path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"></path><path d="M40 31h10"></path><g><path d="M50 31h0"></path><path d="M134 31h0"></path><rect height=22 width=84 x=50 y=20></rect><text x=92 y=35>〈number〉</text></g><path d="M134 31h10"></path><path d="M144 31h10"></path><g><path d="M154 31h0"></path><path d="M182 31h0"></path><rect height=22 rx=10 ry=10 width=28 x=154 y=20></rect><text x=168 y=35>%</text></g><path d="M182 31h10"></path><path d="M 192 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg></dd>
    2.45  
    2.46  		<dt id=〈unicode-range〉-diagram><a class=self-link href=#〈unicode-range〉-diagram></a>〈unicode-range〉</dt>
    2.47 -		<dd><svg class=railroad-diagram height=132 width=589><g transform="translate(.5 .5)"><path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"></path><g><path d="M40 41h0"></path><path d="M108 41h0"></path><path d="M40 41h20"></path><g><path d="M60 41h0"></path><path d="M88 41h0"></path><rect height=22 rx=10 ry=10 width=28 x=60 y=30></rect><text x=74 y=45>U</text></g><path d="M88 41h20"></path><path d="M40 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><g><path d="M60 71h0"></path><path d="M88 71h0"></path><rect height=22 rx=10 ry=10 width=28 x=60 y=60></rect><text x=74 y=75>u</text></g><path d="M88 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path></g><path d="M108 41h10"></path><g><path d="M118 41h0"></path><path d="M146 41h0"></path><rect height=22 rx=10 ry=10 width=28 x=118 y=30></rect><text x=132 y=45>+</text></g><path d="M146 41h10"></path><g><path d="M156 41h0"></path><path d="M328 41h0"></path><path d="M156 41h10"></path><g><path d="M166 41h0"></path><path d="M318 41h0"></path><path d="M166 41h10"></path><g><path d="M176 41h0"></path><path d="M308 41h0"></path><path d="M176 41h20"></path><g><path d="M196 41h0"></path><path d="M288 41h0"></path><rect height=22 width=92 x=196 y=30></rect><text x=242 y=45>hex digit</text></g><path d="M288 41h20"></path><path d="M176 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><g><path d="M196 71h32"></path><path d="M256 71h32"></path><rect height=22 rx=10 ry=10 width=28 x=228 y=60></rect><text x=242 y=75>?</text></g><path d="M288 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path></g><path d="M308 41h10"></path><path d="M176 41a10 10 0 0 0 -10 10v40a10 10 0 0 0 10 10"></path><g><path d="M176 101h29.5"></path><path d="M278.5 101h29.5"></path><text class=comment x=242 y=106>1-6 times</text></g><path d="M308 101a10 10 0 0 0 10 -10v-40a10 10 0 0 0 -10 -10"></path></g><path d="M318 41h10"></path></g><g><path d="M328 41h0"></path><path d="M548 41h0"></path><path d="M328 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M348 21h180"></path></g><path d="M528 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M328 41h20"></path><g><path d="M348 41h0"></path><path d="M528 41h0"></path><path d="M348 41h10"></path><g><path d="M358 41h0"></path><path d="M386 41h0"></path><rect height=22 rx=10 ry=10 width=28 x=358 y=30></rect><text x=372 y=45>-</text></g><path d="M386 41h10"></path><path d="M396 41h10"></path><g><path d="M406 41h0"></path><path d="M518 41h0"></path><path d="M406 41h10"></path><g><path d="M416 41h0"></path><path d="M508 41h0"></path><rect height=22 width=92 x=416 y=30></rect><text x=462 y=45>hex digit</text></g><path d="M508 41h10"></path><path d="M416 41a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path><g><path d="M416 71h9.5"></path><path d="M498.5 71h9.5"></path><text class=comment x=462 y=76>1-6 times</text></g><path d="M508 71a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path></g><path d="M518 41h10"></path></g><path d="M528 41h20"></path></g><path d="M 548 41 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg></dd>
    2.48 +		<dd><svg class=railroad-diagram height=222 width=600><g transform="translate(.5 .5)"><path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"></path><g><path d="M40 31h0"></path><path d="M108 31h0"></path><path d="M40 31h20"></path><g><path d="M60 31h0"></path><path d="M88 31h0"></path><rect height=22 rx=10 ry=10 width=28 x=60 y=20></rect><text x=74 y=35>U</text></g><path d="M88 31h20"></path><path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><g><path d="M60 61h0"></path><path d="M88 61h0"></path><rect height=22 rx=10 ry=10 width=28 x=60 y=50></rect><text x=74 y=65>u</text></g><path d="M88 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path></g><path d="M108 31h10"></path><g><path d="M118 31h0"></path><path d="M146 31h0"></path><rect height=22 rx=10 ry=10 width=28 x=118 y=20></rect><text x=132 y=35>+</text></g><path d="M146 31h10"></path><g><path d="M156 31h0"></path><path d="M559 31h0"></path><path d="M156 31h20"></path><g><path d="M176 31h115.5"></path><path d="M423.5 31h115.5"></path><path d="M291.5 31h10"></path><g><path d="M301.5 31h0"></path><path d="M413.5 31h0"></path><path d="M301.5 31h10"></path><g><path d="M311.5 31h0"></path><path d="M403.5 31h0"></path><rect height=22 width=92 x=311.5 y=20></rect><text x=357.5 y=35>hex digit</text></g><path d="M403.5 31h10"></path><path d="M311.5 31a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path><g><path d="M311.5 61h9.5"></path><path d="M394 61h9.5"></path><text class=comment x=357.5 y=66>1-6 times</text></g><path d="M403.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path></g><path d="M413.5 31h10"></path></g><path d="M539 31h20"></path><path d="M156 31a10 10 0 0 1 10 10v50a10 10 0 0 0 10 10"></path><g><path d="M176 101h0"></path><path d="M539 101h0"></path><g><path d="M176 101h0"></path><path d="M328 101h0"></path><path d="M176 101a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M196 81h112"></path></g><path d="M308 81a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M176 101h20"></path><g><path d="M196 101h0"></path><path d="M308 101h0"></path><path d="M196 101h10"></path><g><path d="M206 101h0"></path><path d="M298 101h0"></path><rect height=22 width=92 x=206 y=90></rect><text x=252 y=105>hex digit</text></g><path d="M298 101h10"></path><path d="M206 101a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path><g><path d="M206 131h9.5"></path><path d="M288.5 131h9.5"></path><text class=comment x=252 y=136>1-5 times</text></g><path d="M298 131a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path></g><path d="M308 101h20"></path></g><path d="M328 101h10"></path><g><path d="M338 101h0"></path><path d="M529 101h0"></path><path d="M338 101h10"></path><g><path d="M348 101h71.5"></path><path d="M447.5 101h71.5"></path><rect height=22 rx=10 ry=10 width=28 x=419.5 y=90></rect><text x=433.5 y=105>?</text></g><path d="M519 101h10"></path><path d="M348 101a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path><g><path d="M348 131h0"></path><path d="M519 131h0"></path><text class=comment x=433.5 y=136>1 to (6 - digits) times</text></g><path d="M519 131a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path></g><path d="M529 101h10"></path></g><path d="M539 101a10 10 0 0 0 10 -10v-50a10 10 0 0 1 10 -10"></path><path d="M156 31a10 10 0 0 1 10 10v110a10 10 0 0 0 10 10"></path><g><path d="M176 161h25.5"></path><path d="M513.5 161h25.5"></path><path d="M201.5 161h10"></path><g><path d="M211.5 161h0"></path><path d="M323.5 161h0"></path><path d="M211.5 161h10"></path><g><path d="M221.5 161h0"></path><path d="M313.5 161h0"></path><rect height=22 width=92 x=221.5 y=150></rect><text x=267.5 y=165>hex digit</text></g><path d="M313.5 161h10"></path><path d="M221.5 161a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path><g><path d="M221.5 191h9.5"></path><path d="M304 191h9.5"></path><text class=comment x=267.5 y=196>1-6 times</text></g><path d="M313.5 191a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path></g><path d="M323.5 161h10"></path><path d="M333.5 161h10"></path><g><path d="M343.5 161h0"></path><path d="M371.5 161h0"></path><rect height=22 rx=10 ry=10 width=28 x=343.5 y=150></rect><text x=357.5 y=165>-</text></g><path d="M371.5 161h10"></path><path d="M381.5 161h10"></path><g><path d="M391.5 161h0"></path><path d="M503.5 161h0"></path><path d="M391.5 161h10"></path><g><path d="M401.5 161h0"></path><path d="M493.5 161h0"></path><rect height=22 width=92 x=401.5 y=150></rect><text x=447.5 y=165>hex digit</text></g><path d="M493.5 161h10"></path><path d="M401.5 161a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path><g><path d="M401.5 191h9.5"></path><path d="M484 191h9.5"></path><text class=comment x=447.5 y=196>1-6 times</text></g><path d="M493.5 191a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path></g><path d="M503.5 161h10"></path></g><path d="M539 161a10 10 0 0 0 10 -10v-110a10 10 0 0 1 10 -10"></path></g><path d="M 559 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg></dd>
    2.49  
    2.50  		<dt id=〈include-match〉-diagram><a class=self-link href=#〈include-match〉-diagram></a>〈include-match〉</dt>
    2.51  		<dd><svg class=railroad-diagram height=62 width=137><g transform="translate(.5 .5)"><path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"></path><path d="M40 31h10"></path><g><path d="M50 31h0"></path><path d="M86 31h0"></path><rect height=22 rx=10 ry=10 width=36 x=50 y=20></rect><text x=68 y=35>~=</text></g><path d="M86 31h10"></path><path d="M 96 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg></dd>
    2.52 @@ -1251,13 +1249,32 @@
    2.53  
    2.54  	<ol>
    2.55  		<li>
    2.56 -			Consume as many <a href=#hex-digit>hex digits</a> or U+003F QUESTION MARK (?) as possible,
    2.57 -			but no more than 6.
    2.58 -
    2.59 -		<li>
    2.60 -			Create a new <a class=css-code data-link-type=token href=#tokendef-unicode-range>〈unicode-range〉</a>
    2.61 -			with its <a href=#unicode-range-start title=unicode-range-start>start</a> set to the result of the previous step,
    2.62 -			and with its <a href=#unicode-range-end title=unicode-range-end>end</a> initially unset.
    2.63 +			Consume as many <a href=#hex-digit>hex digits</a> as possible, but no more than 6.
    2.64 +			If less than 6 <a href=#hex-digit>hex digits</a> were consumed,
    2.65 +			consume as many U+003F QUESTION MARK (?) <a href=#code-point>code points</a> as possible,
    2.66 +			but no more than enough to make the total of <a href=#hex-digit>hex digits</a> and U+003F QUESTION MARK (?) <a href=#code-point>code points</a> equal to 6.
    2.67 +
    2.68 +<p>			If any U+003F QUESTION MARK (?) <a href=#code-point>code points</a> were consumed,
    2.69 +			then:
    2.70 +
    2.71 +			<ol>
    2.72 +				<li>
    2.73 +					Interpret the consumed <a href=#code-point>code points</a> as a hexadecimal number,
    2.74 +					with the U+003F QUESTION MARK (?) <a href=#code-point>code points</a> replaced by U+0030 DIGIT ZERO (0) <a href=#code-point>code points</a>.
    2.75 +					This is the <a href=#unicode-range-start>start of the range</a>.
    2.76 +
    2.77 +				<li>
    2.78 +					Interpret the consumed <a href=#code-point>code points</a> as a hexadecimal number again,
    2.79 +					with the U+003F QUESTION MARK (?) <a href=#code-point>code point</a> replaced by U+0046 LATIN CAPITAL LETTER F (F) <a href=#code-point>code points</a>.
    2.80 +					This is the <a href=#unicode-range-end>end of the range</a>.
    2.81 +
    2.82 +				<li>
    2.83 +					Return a new <a class=css-code data-link-type=token href=#tokendef-unicode-range>〈unicode-range〉</a> with the above start and end.
    2.84 +			</ol>
    2.85 +
    2.86 +<p>			Otherwise,
    2.87 +			interpret the digits as a hexadecimal number.
    2.88 +			This is the <a href=#unicode-range-start>start of the range</a>.
    2.89  
    2.90  		<li>
    2.91  			If the <a href=#next-input-code-point title="next input code point">next 2 input code point</a> are
    2.92 @@ -1265,16 +1282,19 @@
    2.93  			then:
    2.94  
    2.95  			<ol>
    2.96 -				<li>
    2.97 -					Consume the <a href=#next-input-code-point>next input code point</a>.
    2.98 +				<li>Consume the <a href=#next-input-code-point>next input code point</a>.
    2.99  
   2.100  				<li>
   2.101  					Consume as many <a href=#hex-digit>hex digits</a> as possible, but no more than 6.
   2.102 -					Set the <a href=#unicode-range-end title=unicode-range-end>unicode-range’s end</a> to the result.
   2.103 +					Interpret the digits as a hexadecimal number.
   2.104 +					This is the <a href=#unicode-range-end>end of the range</a>.
   2.105  			</ol>
   2.106  
   2.107  		<li>
   2.108 -			Return the token.
   2.109 +			Otherwise, the <a href=#unicode-range-end>end of the range</a> is the <a href=#unicode-range-start>start of the range</a>.
   2.110 +
   2.111 +		<li>
   2.112 +			Return the <a class=css-code data-link-type=token href=#tokendef-unicode-range>〈unicode-range〉</a> with the above start and end.
   2.113  	</ol>
   2.114  
   2.115  
   2.116 @@ -2918,6 +2938,9 @@
   2.117  			e.g. two consecutive <a class=css-code data-link-type=token href=#tokendef-ident>〈ident〉</a>s.
   2.118  
   2.119  		<li>
   2.120 +			The <a class=css-code data-link-type=token href=#tokendef-unicode-range>〈unicode-range〉</a> token is now more restrictive.
   2.121 +
   2.122 +		<li>
   2.123  			Apply the <a href=http://www.w3.org/TR/CSS21/syndata.html#unexpected-eof>EOF error handling rule</a> in the tokenizer
   2.124  			and emit normal <a class=css-code data-link-type=token href=#tokendef-string>〈string〉</a> and <a class=css-code data-link-type=token href=#tokendef-url>〈url〉</a> tokens rather than BAD_STRING or BAD_URI
   2.125  			on EOF.
   2.126 @@ -3145,7 +3168,7 @@
   2.127  
   2.128  <h3 class="no-num no-ref heading settled heading" id=informative><span class=content>
   2.129  Informative References</span><a class=self-link href=#informative></a></h3>
   2.130 -<div data-fill-with=informative-references><dl><dt id=css-variables title=CSS-VARIABLES><a class=self-link href=#css-variables></a>[CSS-VARIABLES]<dd>Luke Macpherson; Tab Atkins Jr.; Daniel Glazman. <a href=http://www.w3.org/TR/2012/WD-css-variables-20120410/>CSS Variables Module Level 1</a>. 10 April 2012. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2012/WD-css-variables-20120410/>http://www.w3.org/TR/2012/WD-css-variables-20120410/</a><dt id=css3-animations title=CSS3-ANIMATIONS><a class=self-link href=#css3-animations></a>[CSS3-ANIMATIONS]<dd>Dean Jackson; et al. <a href=http://www.w3.org/TR/2012/WD-css3-animations-20120403/>CSS Animations</a>. 3 April 2012. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2012/WD-css3-animations-20120403/>http://www.w3.org/TR/2012/WD-css3-animations-20120403/</a><dt id=css3-conditional title=CSS3-CONDITIONAL><a class=self-link href=#css3-conditional></a>[CSS3-CONDITIONAL]<dd>L. David Baron. <a href=http://www.w3.org/TR/2012/WD-css3-conditional-20121213/>CSS Conditional Rules Module Level 3</a>. 13 December 2012. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2012/WD-css3-conditional-20121213/>http://www.w3.org/TR/2012/WD-css3-conditional-20121213/</a><dt id=css3-fonts title=CSS3-FONTS><a class=self-link href=#css3-fonts></a>[CSS3-FONTS]<dd>John Daggett. <a href=http://www.w3.org/TR/2012/WD-css3-fonts-20121211/>CSS Fonts Module Level 3</a>. 11 December 2012. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2012/WD-css3-fonts-20121211/>http://www.w3.org/TR/2012/WD-css3-fonts-20121211/</a><dt id=mediaq title=MEDIAQ><a class=self-link href=#mediaq></a>[MEDIAQ]<dd>Florian Rivoal. <a href=http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/>Media Queries</a>. 19 June 2012. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/>http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/</a></dl></div>
   2.131 +<div data-fill-with=informative-references><dl><dt id=css-variables title=CSS-VARIABLES><a class=self-link href=#css-variables></a>[CSS-VARIABLES]<dd>Luke Macpherson; Tab Atkins Jr.; Daniel Glazman. <a href=http://www.w3.org/TR/2012/WD-css-variables-20120410/>CSS Variables Module Level 1</a>. 10 April 2012. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2012/WD-css-variables-20120410/>http://www.w3.org/TR/2012/WD-css-variables-20120410/</a><dt id=css3-animations title=CSS3-ANIMATIONS><a class=self-link href=#css3-animations></a>[CSS3-ANIMATIONS]<dd>Dean Jackson; et al. <a href=http://www.w3.org/TR/2012/WD-css3-animations-20120403/>CSS Animations</a>. 3 April 2012. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2012/WD-css3-animations-20120403/>http://www.w3.org/TR/2012/WD-css3-animations-20120403/</a><dt id=css3-conditional title=CSS3-CONDITIONAL><a class=self-link href=#css3-conditional></a>[CSS3-CONDITIONAL]<dd>L. David Baron. <a href=http://www.w3.org/TR/2012/WD-css3-conditional-20121213/>CSS Conditional Rules Module Level 3</a>. 13 December 2012. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2012/WD-css3-conditional-20121213/>http://www.w3.org/TR/2012/WD-css3-conditional-20121213/</a><dt id=mediaq title=MEDIAQ><a class=self-link href=#mediaq></a>[MEDIAQ]<dd>Florian Rivoal. <a href=http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/>Media Queries</a>. 19 June 2012. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/>http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/</a></dl></div>
   2.132  
   2.133  <h2 class="no-num no-ref heading settled heading" id=index><span class=content>
   2.134  Index</span><a class=self-link href=#index></a></h2>
   2.135 @@ -3211,6 +3234,7 @@
   2.136  <li>〈dimension〉, <a href=#tokendef-dimension title="section 4">4</a>
   2.137  <li>encoding, <a href=#encoding title="section 8.2">8.2</a>
   2.138  <li>ending token, <a href=#ending-token title="section 5.4.7">5.4.7</a>
   2.139 +<li>end of the range, <a href=#unicode-range-end title="section 4">4</a>
   2.140  <li>〈EOF〉, <a href=#tokendef-eof title="section 5.2">5.2</a>
   2.141  <li>EOF code point, <a href=#eof-code-point title="section 4.2">4.2</a>
   2.142  <li>escaping, <a href=#escaping0 title="section 2.1">2.1</a>
   2.143 @@ -3256,6 +3280,7 @@
   2.144  <li>&lt;signed-integer&gt;, <a href=#typedef-signed-integer title="section 6.2">6.2</a>
   2.145  <li>&lt;signless-integer&gt;, <a href=#typedef-signless-integer title="section 6.2">6.2</a>
   2.146  <li>simple block, <a href=#simple-block title="section 5">5</a>
   2.147 +<li>start of the range, <a href=#unicode-range-start title="section 4">4</a>
   2.148  <li>starts with an identifier, <a href=#check-if-three-code-points-would-start-an-identifier0 title="section 4.3.9">4.3.9</a>
   2.149  <li>starts with a number, <a href=#check-if-three-code-points-would-start-a-number0 title="section 4.3.10">4.3.10</a>
   2.150  <li>starts with a valid escape, <a href=#check-if-two-code-points-are-a-valid-escape0 title="section 4.3.8">4.3.8</a>
   2.151 @@ -3269,8 +3294,6 @@
   2.152  <li>surrogate code point, <a href=#surrogate-code-point title="section 4.2">4.2</a>
   2.153  <li>top-level flag, <a href=#top-level-flag title="section 5.4.1">5.4.1</a>
   2.154  <li>〈unicode-range〉, <a href=#tokendef-unicode-range title="section 4">4</a>
   2.155 -<li>unicode-range-end, <a href=#unicode-range-end title="section 4">4</a>
   2.156 -<li>unicode-range-start, <a href=#unicode-range-start title="section 4">4</a>
   2.157  <li>uppercase letter, <a href=#uppercase-letter title="section 4.2">4.2</a>
   2.158  <li>〈url〉, <a href=#tokendef-url title="section 4">4</a>
   2.159  <li>〈whitespace〉, <a href=#tokendef-whitespace title="section 4">4</a>
     3.1 --- a/css-syntax/Overview.src.html	Wed Sep 04 16:48:16 2013 +0200
     3.2 +++ b/css-syntax/Overview.src.html	Wed Sep 04 18:46:11 2013 +0100
     3.3 @@ -410,18 +410,15 @@
     3.4  
     3.5  		<li>
     3.6  			<<<unicode-range>>> tokens have
     3.7 -			a <dfn id=unicode-range-start title=unicode-range-start>start</dfn> made of one to six <a>hex digits</a> or U+003F QUESTION MARK (?) code points,
     3.8 -			and and optional <dfn id=unicode-range-end title=unicode-range-end>end</dfn> made of one to six <a>hex digits</a>.
     3.9 +			a <dfn id=unicode-range-start title="start of the range">start</dfn>
    3.10 +			and an <dfn id=unicode-range-end title="end of the range">end</dfn>,
    3.11 +			a pair of integers.
    3.12 +
    3.13  	</ul>
    3.14  
    3.15  	Note: The type flag of hash tokens is used in the Selectors syntax [[SELECT]].
    3.16  	Only hash tokens with the "id" type are valid <a href="http://www.w3.org/TR/selectors/#id-selectors">ID selectors</a>.
    3.17  
    3.18 -	Note: The syntax of <<<unicode-range>>> tokens defined in this specification
    3.19 -	is a super-set of the <<urange>> value accepted by ''@font-face''’s 'unicode-range' descriptor. [[CSS3-FONTS]]
    3.20 -	For example, ''U+4??6'' and ''U+1??-300'' are valid <<<unicode-range>>> tokens
    3.21 -	but not valid <<urange>> values.
    3.22 -
    3.23  	Note: As a technical note,
    3.24  	the tokenizer defined here requires only three <a>code points</a> of look-ahead.
    3.25  	The tokens it produces are designed to allow Selectors to be parsed with one token of look-ahead,
    3.26 @@ -451,6 +448,7 @@
    3.27  		The generated SVG is copied here so that JavaScript is not required
    3.28  		to view the spec.
    3.29  	-->
    3.30 +
    3.31  	<dl>
    3.32  		<dt id="comment-diagram">comment</dt>
    3.33  		<dd><svg class="railroad-diagram" width="497" height="81"><g transform="translate(.5 .5)"><path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"></path><path d="M40 41h10"></path><g><path d="M50 41h0"></path><path d="M86 41h0"></path><rect x="50" y="30" width="36" height="22" rx="10" ry="10"></rect><text x="68" y="45">/*</text></g><path d="M86 41h10"></path><g><path d="M96 41h0"></path><path d="M400 41h0"></path><path d="M96 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M116 21h264"></path></g><path d="M380 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M96 41h20"></path><g><path d="M116 41h0"></path><path d="M380 41h0"></path><path d="M116 41h10"></path><g><path d="M126 41h0"></path><path d="M370 41h0"></path><rect x="126" y="30" width="244" height="22"></rect><text x="248" y="45">anything but * followed by /</text></g><path d="M370 41h10"></path><path d="M126 41a10 10 0 0 0 -10 10v0a10 10 0 0 0 10 10"></path><g><path d="M126 61h244"></path></g><path d="M370 61a10 10 0 0 0 10 -10v0a10 10 0 0 0 -10 -10"></path></g><path d="M380 41h20"></path></g><path d="M400 41h10"></path><g><path d="M410 41h0"></path><path d="M446 41h0"></path><rect x="410" y="30" width="36" height="22" rx="10" ry="10"></rect><text x="428" y="45">*/</text></g><path d="M446 41h10"></path><path d="M 456 41 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg></dd>
    3.34 @@ -501,7 +499,7 @@
    3.35  		<dd><svg class="railroad-diagram" width="233" height="62"><g transform="translate(.5 .5)"><path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"></path><path d="M40 31h10"></path><g><path d="M50 31h0"></path><path d="M134 31h0"></path><rect x="50" y="20" width="84" height="22"></rect><text x="92" y="35">〈number〉</text></g><path d="M134 31h10"></path><path d="M144 31h10"></path><g><path d="M154 31h0"></path><path d="M182 31h0"></path><rect x="154" y="20" width="28" height="22" rx="10" ry="10"></rect><text x="168" y="35">%</text></g><path d="M182 31h10"></path><path d="M 192 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg></dd>
    3.36  
    3.37  		<dt id="〈unicode-range〉-diagram">〈unicode-range〉</dt>
    3.38 -		<dd><svg class="railroad-diagram" width="589" height="132"><g transform="translate(.5 .5)"><path d="M 20 31 v 20 m 10 -20 v 20 m -10 -10 h 20.5"></path><g><path d="M40 41h0"></path><path d="M108 41h0"></path><path d="M40 41h20"></path><g><path d="M60 41h0"></path><path d="M88 41h0"></path><rect x="60" y="30" width="28" height="22" rx="10" ry="10"></rect><text x="74" y="45">U</text></g><path d="M88 41h20"></path><path d="M40 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><g><path d="M60 71h0"></path><path d="M88 71h0"></path><rect x="60" y="60" width="28" height="22" rx="10" ry="10"></rect><text x="74" y="75">u</text></g><path d="M88 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path></g><path d="M108 41h10"></path><g><path d="M118 41h0"></path><path d="M146 41h0"></path><rect x="118" y="30" width="28" height="22" rx="10" ry="10"></rect><text x="132" y="45">+</text></g><path d="M146 41h10"></path><g><path d="M156 41h0"></path><path d="M328 41h0"></path><path d="M156 41h10"></path><g><path d="M166 41h0"></path><path d="M318 41h0"></path><path d="M166 41h10"></path><g><path d="M176 41h0"></path><path d="M308 41h0"></path><path d="M176 41h20"></path><g><path d="M196 41h0"></path><path d="M288 41h0"></path><rect x="196" y="30" width="92" height="22"></rect><text x="242" y="45">hex digit</text></g><path d="M288 41h20"></path><path d="M176 41a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><g><path d="M196 71h32"></path><path d="M256 71h32"></path><rect x="228" y="60" width="28" height="22" rx="10" ry="10"></rect><text x="242" y="75">?</text></g><path d="M288 71a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path></g><path d="M308 41h10"></path><path d="M176 41a10 10 0 0 0 -10 10v40a10 10 0 0 0 10 10"></path><g><path d="M176 101h29.5"></path><path d="M278.5 101h29.5"></path><text x="242" y="106" class="comment">1-6 times</text></g><path d="M308 101a10 10 0 0 0 10 -10v-40a10 10 0 0 0 -10 -10"></path></g><path d="M318 41h10"></path></g><g><path d="M328 41h0"></path><path d="M548 41h0"></path><path d="M328 41a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M348 21h180"></path></g><path d="M528 21a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M328 41h20"></path><g><path d="M348 41h0"></path><path d="M528 41h0"></path><path d="M348 41h10"></path><g><path d="M358 41h0"></path><path d="M386 41h0"></path><rect x="358" y="30" width="28" height="22" rx="10" ry="10"></rect><text x="372" y="45">-</text></g><path d="M386 41h10"></path><path d="M396 41h10"></path><g><path d="M406 41h0"></path><path d="M518 41h0"></path><path d="M406 41h10"></path><g><path d="M416 41h0"></path><path d="M508 41h0"></path><rect x="416" y="30" width="92" height="22"></rect><text x="462" y="45">hex digit</text></g><path d="M508 41h10"></path><path d="M416 41a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path><g><path d="M416 71h9.5"></path><path d="M498.5 71h9.5"></path><text x="462" y="76" class="comment">1-6 times</text></g><path d="M508 71a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path></g><path d="M518 41h10"></path></g><path d="M528 41h20"></path></g><path d="M 548 41 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg></dd>
    3.39 +		<dd><svg class="railroad-diagram" width="600" height="222"><g transform="translate(.5 .5)"><path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"></path><g><path d="M40 31h0"></path><path d="M108 31h0"></path><path d="M40 31h20"></path><g><path d="M60 31h0"></path><path d="M88 31h0"></path><rect x="60" y="20" width="28" height="22" rx="10" ry="10"></rect><text x="74" y="35">U</text></g><path d="M88 31h20"></path><path d="M40 31a10 10 0 0 1 10 10v10a10 10 0 0 0 10 10"></path><g><path d="M60 61h0"></path><path d="M88 61h0"></path><rect x="60" y="50" width="28" height="22" rx="10" ry="10"></rect><text x="74" y="65">u</text></g><path d="M88 61a10 10 0 0 0 10 -10v-10a10 10 0 0 1 10 -10"></path></g><path d="M108 31h10"></path><g><path d="M118 31h0"></path><path d="M146 31h0"></path><rect x="118" y="20" width="28" height="22" rx="10" ry="10"></rect><text x="132" y="35">+</text></g><path d="M146 31h10"></path><g><path d="M156 31h0"></path><path d="M559 31h0"></path><path d="M156 31h20"></path><g><path d="M176 31h115.5"></path><path d="M423.5 31h115.5"></path><path d="M291.5 31h10"></path><g><path d="M301.5 31h0"></path><path d="M413.5 31h0"></path><path d="M301.5 31h10"></path><g><path d="M311.5 31h0"></path><path d="M403.5 31h0"></path><rect x="311.5" y="20" width="92" height="22"></rect><text x="357.5" y="35">hex digit</text></g><path d="M403.5 31h10"></path><path d="M311.5 31a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path><g><path d="M311.5 61h9.5"></path><path d="M394 61h9.5"></path><text x="357.5" y="66" class="comment">1-6 times</text></g><path d="M403.5 61a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path></g><path d="M413.5 31h10"></path></g><path d="M539 31h20"></path><path d="M156 31a10 10 0 0 1 10 10v50a10 10 0 0 0 10 10"></path><g><path d="M176 101h0"></path><path d="M539 101h0"></path><g><path d="M176 101h0"></path><path d="M328 101h0"></path><path d="M176 101a10 10 0 0 0 10 -10v0a10 10 0 0 1 10 -10"></path><g><path d="M196 81h112"></path></g><path d="M308 81a10 10 0 0 1 10 10v0a10 10 0 0 0 10 10"></path><path d="M176 101h20"></path><g><path d="M196 101h0"></path><path d="M308 101h0"></path><path d="M196 101h10"></path><g><path d="M206 101h0"></path><path d="M298 101h0"></path><rect x="206" y="90" width="92" height="22"></rect><text x="252" y="105">hex digit</text></g><path d="M298 101h10"></path><path d="M206 101a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path><g><path d="M206 131h9.5"></path><path d="M288.5 131h9.5"></path><text x="252" y="136" class="comment">1-5 times</text></g><path d="M298 131a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path></g><path d="M308 101h20"></path></g><path d="M328 101h10"></path><g><path d="M338 101h0"></path><path d="M529 101h0"></path><path d="M338 101h10"></path><g><path d="M348 101h71.5"></path><path d="M447.5 101h71.5"></path><rect x="419.5" y="90" width="28" height="22" rx="10" ry="10"></rect><text x="433.5" y="105">?</text></g><path d="M519 101h10"></path><path d="M348 101a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path><g><path d="M348 131h0"></path><path d="M519 131h0"></path><text x="433.5" y="136" class="comment">1 to (6 - digits) times</text></g><path d="M519 131a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path></g><path d="M529 101h10"></path></g><path d="M539 101a10 10 0 0 0 10 -10v-50a10 10 0 0 1 10 -10"></path><path d="M156 31a10 10 0 0 1 10 10v110a10 10 0 0 0 10 10"></path><g><path d="M176 161h25.5"></path><path d="M513.5 161h25.5"></path><path d="M201.5 161h10"></path><g><path d="M211.5 161h0"></path><path d="M323.5 161h0"></path><path d="M211.5 161h10"></path><g><path d="M221.5 161h0"></path><path d="M313.5 161h0"></path><rect x="221.5" y="150" width="92" height="22"></rect><text x="267.5" y="165">hex digit</text></g><path d="M313.5 161h10"></path><path d="M221.5 161a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path><g><path d="M221.5 191h9.5"></path><path d="M304 191h9.5"></path><text x="267.5" y="196" class="comment">1-6 times</text></g><path d="M313.5 191a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path></g><path d="M323.5 161h10"></path><path d="M333.5 161h10"></path><g><path d="M343.5 161h0"></path><path d="M371.5 161h0"></path><rect x="343.5" y="150" width="28" height="22" rx="10" ry="10"></rect><text x="357.5" y="165">-</text></g><path d="M371.5 161h10"></path><path d="M381.5 161h10"></path><g><path d="M391.5 161h0"></path><path d="M503.5 161h0"></path><path d="M391.5 161h10"></path><g><path d="M401.5 161h0"></path><path d="M493.5 161h0"></path><rect x="401.5" y="150" width="92" height="22"></rect><text x="447.5" y="165">hex digit</text></g><path d="M493.5 161h10"></path><path d="M401.5 161a10 10 0 0 0 -10 10v10a10 10 0 0 0 10 10"></path><g><path d="M401.5 191h9.5"></path><path d="M484 191h9.5"></path><text x="447.5" y="196" class="comment">1-6 times</text></g><path d="M493.5 191a10 10 0 0 0 10 -10v-10a10 10 0 0 0 -10 -10"></path></g><path d="M503.5 161h10"></path></g><path d="M539 161a10 10 0 0 0 10 -10v-110a10 10 0 0 1 10 -10"></path></g><path d="M 559 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg></dd>
    3.40  
    3.41  		<dt id="〈include-match〉-diagram">〈include-match〉</dt>
    3.42  		<dd><svg class="railroad-diagram" width="137" height="62"><g transform="translate(.5 .5)"><path d="M 20 21 v 20 m 10 -20 v 20 m -10 -10 h 20.5"></path><path d="M40 31h10"></path><g><path d="M50 31h0"></path><path d="M86 31h0"></path><rect x="50" y="20" width="36" height="22" rx="10" ry="10"></rect><text x="68" y="35">~=</text></g><path d="M86 31h10"></path><path d="M 96 31 h 20 m -10 -10 v 20 m 10 -20 v 20"></path></g></svg></dd>
    3.43 @@ -1135,13 +1133,32 @@
    3.44  
    3.45  	<ol>
    3.46  		<li>
    3.47 -			Consume as many <a>hex digits</a> or U+003F QUESTION MARK (?) as possible,
    3.48 -			but no more than 6.
    3.49 -
    3.50 -		<li>
    3.51 -			Create a new <<<unicode-range>>>
    3.52 -			with its <a title=unicode-range-start>start</a> set to the result of the previous step,
    3.53 -			and with its <a title=unicode-range-end>end</a> initially unset.
    3.54 +			Consume as many <a>hex digits</a> as possible, but no more than 6.
    3.55 +			If less than 6 <a>hex digits</a> were consumed,
    3.56 +			consume as many U+003F QUESTION MARK (?) <a>code points</a> as possible,
    3.57 +			but no more than enough to make the total of <a>hex digits</a> and U+003F QUESTION MARK (?) <a>code points</a> equal to 6.
    3.58 +
    3.59 +			If any U+003F QUESTION MARK (?) <a>code points</a> were consumed,
    3.60 +			then:
    3.61 +
    3.62 +			<ol>
    3.63 +				<li>
    3.64 +					Interpret the consumed <a>code points</a> as a hexadecimal number,
    3.65 +					with the U+003F QUESTION MARK (?) <a>code points</a> replaced by U+0030 DIGIT ZERO (0) <a>code points</a>.
    3.66 +					This is the <a>start of the range</a>.
    3.67 +
    3.68 +				<li>
    3.69 +					Interpret the consumed <a>code points</a> as a hexadecimal number again,
    3.70 +					with the U+003F QUESTION MARK (?) <a>code point</a> replaced by U+0046 LATIN CAPITAL LETTER F (F) <a>code points</a>.
    3.71 +					This is the <a>end of the range</a>.
    3.72 +
    3.73 +				<li>
    3.74 +					Return a new <<<unicode-range>>> with the above start and end.
    3.75 +			</ol>
    3.76 +
    3.77 +			Otherwise,
    3.78 +			interpret the digits as a hexadecimal number.
    3.79 +			This is the <a>start of the range</a>.
    3.80  
    3.81  		<li>
    3.82  			If the <a title="next input code point">next 2 input code point</a> are
    3.83 @@ -1149,16 +1166,19 @@
    3.84  			then:
    3.85  
    3.86  			<ol>
    3.87 -				<li>
    3.88 -					Consume the <a>next input code point</a>.
    3.89 +				<li>Consume the <a>next input code point</a>.
    3.90  
    3.91  				<li>
    3.92  					Consume as many <a>hex digits</a> as possible, but no more than 6.
    3.93 -					Set the <a title=unicode-range-end>unicode-range’s end</a> to the result.
    3.94 +					Interpret the digits as a hexadecimal number.
    3.95 +					This is the <a>end of the range</a>.
    3.96  			</ol>
    3.97  
    3.98  		<li>
    3.99 -			Return the token.
   3.100 +			Otherwise, the <a>end of the range</a> is the <a>start of the range</a>.
   3.101 +
   3.102 +		<li>
   3.103 +			Return the <<<unicode-range>>> with the above start and end.
   3.104  	</ol>
   3.105  
   3.106  
   3.107 @@ -2807,6 +2827,9 @@
   3.108  			e.g. two consecutive <<<ident>>>s.
   3.109  
   3.110  		<li>
   3.111 +			The <<<unicode-range>>> token is now more restrictive.
   3.112 +
   3.113 +		<li>
   3.114  			Apply the <a href="http://www.w3.org/TR/CSS21/syndata.html#unexpected-eof">EOF error handling rule</a> in the tokenizer
   3.115  			and emit normal <<<string>>> and <<<url>>> tokens rather than BAD_STRING or BAD_URI
   3.116  			on EOF.

mercurial