8000 [css-syntax] Add big text. Start the <urange> syntax section. · w3c/csswg-drafts@98ffa44 · GitHub
Skip to content

Commit 98ffa44

Browse files
committed
[css-syntax] Add big text. Start the <urange> syntax section.
--HG-- extra : rebase_source : c33fbfad104d6d1058f2ae1bb7bf390fdff57466
1 parent 29656ac commit 98ffa44

2 files changed

Lines changed: 291 additions & 69 deletions

File tree

css-syntax/Overview.bs

Lines changed: 179 additions & 21 deletions
6D50
Original file line numberDiff line numberDiff line change
@@ -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">
226236
Tokenizing 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'>
475495
Token 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">
761791
Definitions</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">
866906
Tokenizer 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'>
18511892
Parser 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">
19932044
Definitions</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">
20422101
Parser 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">
23212389
Parser 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">
26222698
The <var>An+B</var> microsyntax</h2>
@@ -2850,10 +2926,65 @@ The <code>&lt;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>&lt;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+
<!--
2980+
██████ ████████ ███ ██ ██ ██ ██ ███ ████████ ██████
2981+
██ ██ ██ ██ ██ ██ ███ ███ ███ ███ ██ ██ ██ ██ ██ ██
2982+
██ ██ ██ ██ ██ ████ ████ ████ ████ ██ ██ ██ ██ ██
2983+
██ ████ ████████ ██ ██ ██ ███ ██ ██ ███ ██ ██ ██ ████████ ██████
2984+
██ ██ ██ ██ █████████ ██ ██ ██ ██ █████████ ██ ██ ██
2985+
██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██
2986+
██████ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██████
2987+
-->
28572988

28582989
<h2 id='rule-defs'>
28592990
Defining 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">
30163156
CSS 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">
30883236
Serialization</h2>
@@ -3249,7 +3397,17 @@ Serializing <var>&lt;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">
32553413
Changes</h2>

0 commit comments

Comments
 (0)