Skip to content

Commit 27f390d

Browse files
committed
[css-fonts-5] copy parsing src from fonts 4
1 parent 4fa4f5b commit 27f390d

File tree

1 file changed

+48
-46
lines changed

1 file changed

+48
-46
lines changed

css-fonts-5/Overview.bs

Lines changed: 48 additions & 46 deletions
Original file line numberDiff line numberDiff line change
@@ -347,66 +347,68 @@ The <dfn id="at-font-face-rule">''@font-face''</dfn> rule</h3>
347347

348348
<h3 id="src-desc">Font reference: the 'src' descriptor</h3>
349349

350-
<h4 id="font-face-src-parsing">Parsing the 'src!!descriptor' descriptor</h4>
351350

352351
<!-- same as CSS Fonts 4, keep the two in sync -->
352+
<h4 id="font-face-src-parsing">Parsing the 'src!!descriptor' descriptor</h4>
353353

354-
The 'src!!descriptor' descriptor value must be parsed
355-
according to section [[css-syntax#parse-comma-separated-list-of-component-values]].
356-
Then each component value is parsed according to this grammar:
354+
The 'src!!descriptor' descriptor value must be parsed
355+
according to section [[css-syntax#parse-comma-separated-list-of-component-values]].
356+
Then each component value is parsed according to this grammar:
357357

358358

359-
<pre><<url>> [ format(<<font-format>> [supports <<font-technology>>#]?)]? | local(<<font-face-name>>)</pre>
359+
<pre><<url>> [ format(<<font-format>>)]? [ technology( <<font-technology>>#)]? | local(<<font-face-name>>)</pre>
360360

361-
<pre class="prod"><dfn id="font-format-values">&lt;font-format&gt;</dfn>
362-
= [<<string>> | woff | truetype | opentype
363-
| woff2 | embedded-opentype | collection | svg]</pre>
361+
<pre class="prod"><dfn id="font-format-values">&lt;font-format&gt;</dfn>
362+
= [<<string>> | collection | embedded-opentype | opentype
363+
| svg | truetype | woff | woff2 ]</pre>
364364

365-
<pre class="prod"><dfn id="font-technology-values">&lt;font-technology&gt;</dfn>
366-
= [features(<<font-feature-technology>>) | variations
367-
| color(<<color-font-technology>>) | palettes
368-
| incremental ]</pre>
365+
<pre class="prod"><dfn id="font-technology-values">&lt;font-technology&gt;</dfn>
366+
= <<font-feature-technology>> | <<color-font-technology>>
367+
| variations | palettes | incremental ]</pre>
369368

370-
<pre class="prod"><dfn id="font-feature-technology-values">&lt;font-feature-technology&gt;</dfn>
371-
= [opentype | aat | graphite]</pre>
369+
<pre class="prod"><dfn id="font-feature-technology-values">&lt;font-feature-technology&gt;</dfn>
370+
= [feature-opentype | feature-aat | feature-graphite]</pre>
372371

373-
<pre class="prod"><dfn id="color-font-technology-values">&lt;color-font-technology&gt;</dfn>
374-
= [COLRv0 | COLRv1 | SVG | sbix | CBDT ]</pre>
372+
<pre class="prod"><dfn id="color-font-technology-values">&lt;color-font-technology&gt;</dfn>
373+
= [color-COLRv0 | color-COLRv1 | color-SVG | color-sbix | color-CBDT ]</pre>
375374

376-
If a component value is parsed correctly
377-
and is of a format and font technology that the UA supports,
378-
add it to the list of supported sources.
379-
If parsing a component value results in a parsing error
380-
or its format or technology are unsupported,
381-
do not add it to the list of supported sources.
375+
If a component value is parsed correctly
376+
and is of a <a href="#font-format-definitions">font format</a> or
377+
<a href="#font-technology-definitions">font technology</a>
378+
that the UA supports,
379+
add it to the list of supported sources.
380+
If parsing a component value results in a parsing error
381+
or its format or technology are unsupported,
382+
do not add it to the list of supported sources.
382383

383-
If there are no supported entries at the end of this process,
384-
the value for the 'src!!descriptor' descriptor is a parse error.
384+
If there are no supported entries at the end of this process,
385+
the value for the 'src!!descriptor' descriptor is a parse error.
385386

386-
These parsing rules allow for graceful fallback of fonts
387-
for user agents which don't support a particular font technology.
387+
These parsing rules allow for graceful fallback of fonts
388+
for user agents which don't support a particular font technology
389+
or font format.
388390

389-
<div class="example" id="ex-incremental">
390-
For example,
391-
when incremental transfer is not supported,
392-
a woff2 compressed version of the font
393-
is supplied,
394-
for optimal performance.
395-
Then,
396-
for incremental transfer using the
397-
<a href="https://www.w3.org/TR/2020/NOTE-PFE-evaluation-20201015/#range-request">range-request method</a>,
398-
the raw uncompressed OpenType font is provided
399-
so that the client
400-
can perform byte range requests.
391+
<div class="example" id="ex-incremental">
392+
For example,
393+
when incremental transfer is not supported,
394+
a woff2 compressed version of the font
395+
is supplied,
396+
for optimal performance.
397+
Then,
398+
for incremental transfer using the
399+
<a href="https://www.w3.org/TR/2020/NOTE-PFE-evaluation-20201015/#range-request">range-request method</a>,
400+
the raw uncompressed OpenType font is provided
401+
so that the client
402+
can perform byte range requests.
401403

402-
<pre>
403-
@font-face {
404-
font-family: "MyIncrementallyLoadedWebFont";
405-
src: url("FallbackURLForBrowsersWhichDontSupportIncrementalLoading.woff2") format("woff2");
406-
src: url("MyIncrementallyLoadedWebFont.otf") format(opentype supports incremental);
407-
}
408-
</pre>
409-
</div>
404+
<pre>
405+
@font-face {
406+
font-family: "MyIncrementallyLoadedWebFont";
407+
src: url("FallbackURLForBrowsersWhichDontSupportIncrementalLoading.woff2") format("woff2");
408+
src: url("MyIncrementallyLoadedWebFont.otf") format(opentype) technology(incremental);
409+
}
410+
</pre>
411+
</div>
410412

411413

412414
<h3 id="font-size-desc">

0 commit comments

Comments
 (0)