@@ -222,6 +222,16 @@ Error Handling</h3>
222222 and thus thrown away when they are verified against their grammar.
223223 </ul>
224224
225+ <!--
226+ ████████ ███████ ██ ██ ████████ ██ ██ ████ ████████ ████ ██ ██ ██████
227+ ██ ██ ██ ██ ██ ██ ███ ██ ██ ██ ██ ███ ██ ██ ██
228+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ██ ██ ████ ██ ██
229+ ██ ██ ██ █████ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████
230+ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██ ██ ██ ████ ██ ██
231+ ██ ██ ██ ██ ██ ██ ██ ███ ██ ██ ██ ██ ███ ██ ██
232+ ██ ███████ ██ ██ ████████ ██ ██ ████ ████████ ████ ██ ██ ██████
233+ -->
234+
225235<h2 id="tokenizing-and-parsing">
226236Tokenizing and Parsing CSS</h2>
227237
@@ -471,6 +481,16 @@ Tokenization</h2>
471481 and additional tokens may be added in the future to maintain this invariant.
472482
473483
484+ <!--
485+ ████████ ███ ████ ██ ████████ ███████ ███ ████████
486+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
487+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
488+ ████████ ██ ██ ██ ██ ████████ ██ ██ ██ ██ ██ ██
489+ ██ ██ █████████ ██ ██ ██ ██ ██ ██ █████████ ██ ██
490+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
491+ ██ ██ ██ ██ ████ ████████ ██ ██ ███████ ██ ██ ████████
492+ -->
493+
474494<h3 id='token-diagrams'>
475495Token Railroad Diagrams</h3>
476496
@@ -757,6 +777,16 @@ Token Railroad Diagrams</h3>
757777 </pre>
758778 </dl>
759779
780+ <!--
781+ ████████ ████████ ██ ██ ██████
782+ ██ ██ ██ ███ ██ ██ ██
783+ ██ ██ ██ ████ ██ ██
784+ ██ ██ ██████ ██ ██ ██ ██████
785+ ██ ██ ██ ██ ████ ██
786+ ██ ██ ██ ██ ███ ██ ██
787+ ████████ ██ ██ ██ ██████
788+ -->
789+
760790<h3 id="tokenizer-definitions">
761791Definitions</h3>
762792
@@ -862,6 +892,16 @@ Definitions</h3>
862892
863893 </dl>
864894
895+ <!--
896+ ████████ ███████ ██ ██ ████████ ██ ██ ████ ████████ ████████ ████████
897+ ██ ██ ██ ██ ██ ██ ███ ██ ██ ██ ██ ██ ██
898+ ██ ██ ██ ██ ██ ██ ████ ██ ██ ██ ██ ██ ██
899+ ██ ██ ██ █████ ██████ ██ ██ ██ ██ ██ ██████ ████████
900+ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██ ██ ██ ██
901+ ██ ██ ██ ██ ██ ██ ██ ███ ██ ██ ██ ██ ██
902+ ██ ███████ ██ ██ ████████ ██ ██ ████ ████████ ████████ ██ ██
903+ -->
904+
865905<h3 id="tokenizer-algorithms">
866906Tokenizer Algorithms</h3>
867907
@@ -1739,22 +1779,13 @@ Consume the remnants of a bad url</h4>
17391779
17401780
17411781<!--
1742- PPPPPPPPPPPPPPPPP AAA RRRRRRRRRRRRRRRRR SSSSSSSSSSSSSSS EEEEEEEEEEEEEEEEEEEEEERRRRRRRRRRRRRRRRR
1743- P::::::::::::::::P A:::A R::::::::::::::::R SS:::::::::::::::SE::::::::::::::::::::ER::::::::::::::::R
1744- P::::::PPPPPP:::::P A:::::A R::::::RRRRRR:::::R S:::::SSSSSS::::::SE::::::::::::::::::::ER::::::RRRRRR:::::R
1745- PP:::::P P:::::P A:::::::A RR:::::R R:::::RS:::::S SSSSSSSEE::::::EEEEEEEEE::::ERR:::::R R:::::R
1746- P::::P P:::::P A:::::::::A R::::R R:::::RS:::::S E:::::E EEEEEE R::::R R:::::R
1747- P::::P P:::::PA:::::A:::::A R::::R R:::::RS:::::S E:::::E R::::R R:::::R
1748- P::::PPPPPP:::::PA:::::A A:::::A R::::RRRRRR:::::R S::::SSSS E::::::EEEEEEEEEE R::::RRRRRR:::::R
1749- P:::::::::::::PPA:::::A A:::::A R:::::::::::::RR SS::::::SSSSS E:::::::::::::::E R:::::::::::::RR
1750- P::::PPPPPPPPP A:::::A A:::::A R::::RRRRRR:::::R SSS::::::::SS E:::::::::::::::E R::::RRRRRR:::::R
1751- P::::P A:::::AAAAAAAAA:::::A R::::R R:::::R SSSSSS::::S E::::::EEEEEEEEEE R::::R R:::::R
1752- P::::P A:::::::::::::::::::::A R::::R R:::::R S:::::S E:::::E R::::R R:::::R
1753- P::::P A:::::AAAAAAAAAAAAA:::::A R::::R R:::::R S:::::S E:::::E EEEEEE R::::R R:::::R
1754- PP::::::PP A:::::A A:::::A RR:::::R R:::::RSSSSSSS S:::::SEE::::::EEEEEEEE:::::ERR:::::R R:::::R
1755- P::::::::P A:::::A A:::::A R::::::R R:::::RS::::::SSSSSS:::::SE::::::::::::::::::::ER::::::R R:::::R
1756- P::::::::P A:::::A A:::::A R::::::R R:::::RS:::::::::::::::SS E::::::::::::::::::::ER::::::R R:::::R
1757- PPPPPPPPPPAAAAAAA AAAAAAARRRRRRRR RRRRRRR SSSSSSSSSSSSSSS EEEEEEEEEEEEEEEEEEEEEERRRRRRRR RRRRRRR
1782+ ████████ ███ ████████ ██████ ████████ ████████
1783+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
1784+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
1785+ ████████ ██ ██ ████████ ██████ ██████ ████████
1786+ ██ █████████ ██ ██ ██ ██ ██ ██
1787+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
1788+ ██ ██ ██ ██ ██ ██████ ████████ ██ ██
17581789-->
17591790
17601791<h2 id="parsing">
@@ -1847,6 +1878,16 @@ Parsing</h2>
18471878 and a value consisting of a list of component values.
18481879 </dl>
18491880
1881+ <!--
1882+ ████████ ███ ████ ██ ████████ ███████ ███ ████████
1883+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
1884+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
1885+ ████████ ██ ██ ██ ██ ████████ ██ ██ ██ ██ ██ ██
1886+ ██ ██ █████████ ██ ██ ██ ██ ██ ██ █████████ ██ ██
1887+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
1888+ ██ ██ ██ ██ ████ ████████ ██ ██ ███████ ██ ██ ████████
1889+ -->
1890+
18501891<h3 id='parser-diagrams'>
18511892Parser Railroad Diagrams</h3>
18521893
@@ -1989,6 +2030,16 @@ Parser Railroad Diagrams</h3>
19892030 </pre>
19902031 </dl>
19912032
2033+ <!--
2034+ ████████ ████████ ██ ██ ██████
2035+ ██ ██ ██ ███ ██ ██ ██
2036+ ██ ██ ██ ████ ██ ██
2037+ ██ ██ ██████ ██ ██ ██ ██████
2038+ ██ ██ ██ ██ ████ ██
2039+ ██ ██ ██ ██ ███ ██ ██
2040+ ████████ ██ ██ ██ ██████
2041+ -->
2042+
19922043<h3 id="parser-definitions">
19932044Definitions</h3>
19942045
@@ -2036,7 +2087,15 @@ Definitions</h3>
20362087 and check if they are a <a>case-sensitive</a> match.
20372088 </dl>
20382089
2039-
2090+ <!--
2091+ ████████ ██ ██ ████████ ████████ ██ ██ ████████ ███████ ████ ██ ██ ████████ ██████
2092+ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ ██ ██ ██
2093+ ██ ████ ██ ██ ██ ██ ████ ██ ██ ██ ██ ██ ████ ██ ██ ██
2094+ ██████ ██ ██ ██ ██ ████████ ██ ████████ ██ ██ ██ ██ ██ ██ ██ ██████
2095+ ██ ██ ████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██
2096+ ██ ██ ███ ██ ██ ██ ██ ██ ██ ██ ██ ██ ███ ██ ██ ██
2097+ ████████ ██ ██ ██ ██ ██ ██ ██ ███████ ████ ██ ██ ██ ██████
2098+ -->
20402099
20412100<h3 id="parser-entry-points">
20422101Parser Entry Points</h3>
@@ -2316,6 +2375,15 @@ Parse a comma-separated list of component values</h4>
23162375 Return <var> list of cvls</var> .
23172376 </ol>
23182377
2378+ <!--
2379+ ███ ██ ██████ ███████ ██████
2380+ ██ ██ ██ ██ ██ ██ ██ ██ ██
2381+ ██ ██ ██ ██ ██ ██ ██
2382+ ██ ██ ██ ██ ████ ██ ██ ██████
2383+ █████████ ██ ██ ██ ██ ██ ██
2384+ ██ ██ ██ ██ ██ ██ ██ ██ ██
2385+ ██ ██ ████████ ██████ ███████ ██████
2386+ -->
23192387
23202388<h3 id="parser-algorithms">
23212389Parser Algorithms</h3>
@@ -2616,7 +2684,15 @@ Consume a function</h4>
26162684 to the function's value.
26172685 </dl>
26182686
2619-
2687+ <!--
2688+ ███ ██ ██ ████████
2689+ ██ ██ ███ ██ ██ ██ ██
2690+ ██ ██ ████ ██ ██ ██ ██
2691+ ██ ██ ██ ██ ██ ██████ ████████
2692+ █████████ ██ ████ ██ ██ ██
2693+ ██ ██ ██ ███ ██ ██ ██
2694+ ██ ██ ██ ██ ████████
2695+ -->
26202696
26212697<h2 id="anb-microsyntax">
26222698The <var>An+B</var> microsyntax</h2>
@@ -2850,10 +2926,65 @@ The <code><an+b></code> type</h3>
28502926 <dd>
28512927 <var> A</var> is the dimension's value, 1, or -1, respectively.
28522928 <var> B</var> is the integer’s value.
2853- If a '-' was provided between the two, <var> B</var> is instead the negation of the integer’s value.
2929+ If a <code> '-' </code> was provided between the two, <var> B</var> is instead the negation of the integer’s value.
28542930 </dl>
28552931
2932+ <!-- Big Text: urange -->
2933+
2934+ <h2 id="urange">
2935+ The Unicode-Range microsyntax</h2>
28562936
2937+ Some constructs,
2938+ such as the 'unicode-range' descriptor for the ''@font-face'' rule,
2939+ need a way to describe one or more unicode code points.
2940+ The <dfn><urange></dfn> production represents a range of one or more unicode code points.
2941+
2942+ Informally, the <<urange>> production has three forms:
2943+
2944+ <dl>
2945+ <dt> U+0001
2946+ <dd>
2947+ Defines a range consisting of a single code point,
2948+ in this case the code point "1".
2949+ The numeric part is a <a title="hex digit">hexadecimal number</a> .
2950+
2951+ <dt> U+0001-00ff
2952+ <dd>
2953+ Defines a range of codepoints between the first and the second value,
2954+ in this case the range between "1" and "ff" (255 in decimal) inclusive.
2955+
2956+ <dt> U+00??
2957+ <dd>
2958+ Defines a range of codepoints where the "?" characters range over all <a>hex digits</a> ,
2959+ in this case defining the same as the value ''U+0000-00ff'' .
2960+ </dl>
2961+
2962+ <h3 id="urange-syntax">
2963+ The <<urange>> type</h3>
2964+
2965+ The <<urange>> notation was originally defined as a primitive token in CSS,
2966+ but it is used very rarely,
2967+ and collides with legitimate <<ident-token>> s in confusing ways.
2968+ This section describes how to recognize the <<urange>> notation
2969+ in terms of existing CSS tokens,
2970+ and how to interpret it as a range of unicode codepoints.
2971+
2972+ The <<urange>> type is defined
2973+ (using the <a href="http://www.w3.org/TR/css3-values/#value-defs">Value Definition Syntax in the Values & Units spec</a> ) as:
2974+
2975+ <pre class="prod">
2976+ </pre>
2977+
2978+
2979+ <!--
6D50
2980+ ██████ ████████ ███ ██ ██ ██ ██ ███ ████████ ██████
2981+ ██ ██ ██ ██ ██ ██ ███ ███ ███ ███ ██ ██ ██ ██ ██ ██
2982+ ██ ██ ██ ██ ██ ████ ████ ████ ████ ██ ██ ██ ██ ██
2983+ ██ ████ ████████ ██ ██ ██ ███ ██ ██ ███ ██ ██ ██ ████████ ██████
2984+ ██ ██ ██ ██ █████████ ██ ██ ██ ██ █████████ ██ ██ ██
2985+ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
2986+ ██████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████
2987+ -->
28572988
28582989<h2 id='rule-defs'>
28592990Defining Grammars for Rules and Other Values</h2>
@@ -3011,6 +3142,15 @@ Defining Block Contents: the <<declaration-list>>, <<rule-list>>, and <<styleshe
30113142 which causes them to be dropped from the outer rule's value if they appear.
30123143 </div>
30133144
3145+ <!--
3146+ ██████ ██████ ██████
3147+ ██ ██ ██ ██ ██ ██
3148+ ██ ██ ██
3149+ ██ ██████ ██████
3150+ ██ ██ ██
3151+ ██ ██ ██ ██ ██ ██
3152+ ██████ ██████ ██████
3153+ -->
30143154
30153155<h2 id="css-stylesheets">
30163156CSS stylesheets</h2>
@@ -3082,7 +3222,15 @@ The ''@charset'' Rule</h3>
30823222 Therefore, an @charset rule may appear in the object model even if it was ignored by that algorithm.
30833223 (For instance, if it was written with extra whitespace or with single rather than double quotes.)
30843224
3085-
3225+ <!--
3226+ ██████ ████████ ████████ ████ ███ ██
3227+ ██ ██ ██ ██ ██ ██ ██ ██ ██
3228+ ██ ██ ██ ██ ██ ██ ██ ██
3229+ ██████ ██████ ████████ ██ ██ ██ ██
3230+ ██ ██ ██ ██ ██ █████████ ██
3231+ ██ ██ ██ ██ ██ ██ ██ ██ ██
3232+ ██████ ████████ ██ ██ ████ ██ ██ ████████
3233+ -->
30863234
30873235<h2 id="serialization">
30883236Serialization</h2>
@@ -3249,7 +3397,17 @@ Serializing <var><an+b></var></h3>
32493397 Serialize <var> B</var> and append it to <var> s</var> .
32503398 </dl>
32513399
3252- Return <var> s</var> .
3400+ Return <var> s</var> .
3401+
3402+ <!--
3403+ ██████ ██ ██ ███ ██ ██ ██████ ████████ ██████
3404+ ██ ██ ██ ██ ██ ██ ███ ██ ██ ██ ██ ██ ██
3405+ ██ ██ ██ ██ ██ ████ ██ ██ ██ ██
3406+ ██ █████████ ██ ██ ██ ██ ██ ██ ████ ██████ ██████
3407+ ██ ██ ██ █████████ ██ ████ ██ ██ ██ ██
3408+ ██ ██ ██ ██ ██ ██ ██ ███ ██ ██ ██ ██ ██
3409+ ██████ ██ ██ ██ ██ ██ ██ ██████ ████████ ██████
3410+ -->
32533411
32543412<h2 id="changes">
32553413Changes</h2>
0 commit comments