@@ -2176,105 +2176,12 @@ for user agents which don't support a particular font technology.
2176
2176
</pre>
2177
2177
</div>
2178
2178
2179
- <h5 id="font-face-src-format-types">''@font-face'' format types</h5>
2180
-
2181
- Format strings defined by this specification are as follows.
2182
- The <<font-format>> values are synonyms for the formats below.
2183
-
2184
- <table class="data" id="fontformats">
2185
- <thead>
2186
- <tr>
2187
- <th> String
2188
- <th> Font Format
2189
- <th> Common extensions
2190
- <tbody>
2191
- <tr>
2192
- <th> "woff"
2193
- <td> <a href="https://www.w3.org/TR/WOFF/">WOFF (Web Open Font Format)</a>
2194
- <td> .woff
2195
- <tr>
2196
- <th> "truetype"
2197
- <td> <a href="https://www.microsoft.com/typography/otspec/default.htm">TrueType</a>
2198
- <td> .ttf
2199
- <tr>
2200
- <th> "opentype"
2201
- <td> <a href="https://www.microsoft.com/typography/otspec/default.htm">OpenType</a>
2202
- <td> .ttf, .otf
2203
- <tr>
2204
- <th> "woff2"
2205
- <td> <a href="https://www.w3.org/TR/WOFF2/">WOFF File Format 2.0 (Web Open Font Format)</a>
2206
- <td> .woff2
2207
- <tr>
2208
- <th> "embedded-opentype"
2209
- <td> <a href="https://www.w3.org/Submission/2008/SUBM-EOT-20080305/">Embedded OpenType</a>
2210
- <td> .eot
2211
- <tr>
2212
- <th> "collection"</th>
2213
- <td> <a href="https://docs.microsoft.com/en-us/typography/opentype/spec/otff#collections">OpenType Collection</a> </td>
2214
- <td> .otc,.ttc</td>
2215
- </tr>
2216
- <tr>
2217
- <th> "svg"
2218
- <td> <a href="https://www.w3.org/TR/SVG11/fonts.html">SVG Font</a> (deprecated)
2219
- <td> .svg, .svgz
2220
- </table>
2221
-
2222
- Given the overlap in common usage between TrueType and OpenType,
2223
- the format hints "truetype" and "opentype"
2224
- must be considered as synonymous;
2225
- a format hint of "opentype" does not imply
2226
- that the font contains Postscript CFF style glyph data
2227
- or that it contains OpenType layout information
2228
- (see <a href="#platform-props-to-css">Appendix A</a> for more background on this).
2229
-
2230
- <h5 id="font-face-src-requirement-types">''@font-face'' requirements</h5>
2231
-
2232
- The 'features' requirement refers to support for font features,
2233
- commonly implemented in [[!OPENTYPE]] with the <code> GSUB</code> and the <code> GPOS</code> tables,
2234
- as well as in [[!AAT-FEATURES]] using the <code> morx</code> and <code> kerx</code> tables
2235
- and [[!GRAPHITE]] with the <code> Silf</code> , <code> Glat </code> , <code> Gloc </code> ,
2236
- <code> Feat </code> and <code> Sill </code> tables.
2237
- The section on [[#font-rend-props]] describes properties that interact with these facilities.
2238
-
2239
- The 'variations' requirement refers to the support of font variations,
2240
- commonly implemented in [[!OPENTYPE]] with the
2241
- <code> avar</code> , <code> cvar</code> , <code> fvar</code> , <code> gvar</code> , <code> HVAR</code> , <code> MVAR</code> , <code> STAT</code> , and <code> VVAR</code> tables,
2242
- as well as in [[!AAT-FEATURES]] using the <code> avar</code> , <code> cvar</code> , <code> fvar</code> , and <code> gvar</code> tables.
2243
- The section on [[#basic-font-props]] as well as the section on [[#font-variation-props]]
2244
- describe properties that interact with these facilities.
2245
-
2246
- The 'color' requirement lists various types of color font file technologies.
2247
- Each of the arguments to the 'color' function represents a table
2248
- inside [[!OPENTYPE]] or [[!AAT-FEATURES]] fonts which must be supported
2249
- to satisfy this requirement.
2250
-
2251
- The 'palettes' requirement refers to support for font palettes,
2252
- commonly implemented in the [[!OPENTYPE]] and [[!AAT-FEATURES]]
2253
- with the <code> CPAL</code> table.
2254
- The section on [[#color-font-support]] describes properties that interact with these facilities.
2255
-
2256
- The 'incremental' requirement refers to client support for
2257
- incremental font loading,
2258
- using either the range-request or the patch-subset method [[PFE-report]] .
2259
-
2260
- Web authors can specify the 'format' function
2261
- to indicate that support is
2262
- required for correct rendering of a font.
2263
- This mechanism can be used for gracefully falling back
2264
- to an ancillary font
2265
- when variation support is not present.
2266
-
2267
- <div class="example">
2268
- This ''@font-face'' block shows how to use a color font if support is present on the user agent,
2269
- and falls back to a non-color-font if support is not present.
2270
- <pre>
2271
- @font-face {
2272
- font-family: "Trickster";
2273
- src: url("trickster-COLRv1.otf") format(opentype supports color(COLRv1)),
2274
- url("trickster-outline.otf") format(opentype);
2275
- }
2276
- </pre>
2277
- </div>
2179
+ <!-- font formats and font requirements
2180
+ moved from a minor section inside src
2181
+ to a new section
2182
+ so they can be more easily shared
2183
+ with css-conditional-4
2184
+ -->
2278
2185
2279
2186
<h5 id="local-font-fallback">Local font fallback</h5>
2280
2187
@@ -6753,6 +6660,115 @@ System Font</h3>
6753
6660
6754
6661
The System Font is the font which is used by the ''system-ui'' <a href="#system-ui-def">generic font family name</a> . It is an example of a Preinstalled Font.
6755
6662
6663
+ <h2 id="font-technologies-formats">
6664
+ Font Technologies and Formats
6665
+ </h2>
6666
+
6667
+ <h3 id="font-technology-definitions">Font technologies</h3>
6668
+
6669
+ The 'features-opentype' , 'features-aat' and 'features-graphite' technologies
6670
+ refer to support for font features,
6671
+ commonly implemented in [[!OPENTYPE]] with the <code> GSUB</code> and the <code> GPOS</code> tables,
6672
+ as well as in [[!AAT-FEATURES]] using the <code> morx</code> and <code> kerx</code> tables
6673
+ and [[!GRAPHITE]] with the <code> Silf</code> , <code> Glat </code> , <code> Gloc </code> ,
6674
+ <code> Feat </code> and <code> Sill </code> tables.
6675
+ The section on [[#font-rend-props]] describes properties that interact with these facilities.
6676
+
6677
+ The 'variations' technology refers to the support of font variations,
6678
+ commonly implemented in [[!OPENTYPE]] with the
6679
+ <code> avar</code> , <code> cvar</code> , <code> fvar</code> , <code> gvar</code> , <code> HVAR</code> , <code> MVAR</code> , <code> STAT</code> , and <code> VVAR</code> tables,
6680
+ as well as in [[!AAT-FEATURES]] using the <code> avar</code> , <code> cvar</code> , <code> fvar</code> , and <code> gvar</code> tables.
6681
+ The section on [[#basic-font-props]] as well as the section on [[#font-variation-props]]
6682
+ describe properties that interact with these facilities.
6683
+
6684
+ The 'color-colrv0' , 'color-colrv1' , 'color-svg' , 'color-sbix' and 'color-cbdt'
6685
+ technologies refers to various types of color font file technologies.
6686
+ Each one represents a table
6687
+ (<code> COLR</code> , <code> SVG</code> <code> sbix</code> or <code> cbdt</code> )
6688
+ inside [[!OPENTYPE]] or [[!AAT-FEATURES]] fonts which must be supported
6689
+ to satisfy this requirement.
6690
+
6691
+ The 'palettes' technology refers to support for font palettes,
6692
+ commonly implemented in the [[!OPENTYPE]] and [[!AAT-FEATURES]]
6693
+ with the <code> CPAL</code> table.
6694
+ The section on [[#color-font-support]] describes properties that interact with these facilities.
6695
+
6696
+ The 'incremental' requirement refers to client support for
6697
+ incremental font loading,
6698
+ using either the range-request or the patch-subset method [[PFE-report]] .
6699
+
6700
+ Web authors can specify the 'technology' function
6701
+ inside an ''@font-face'' 'src' descriptor
6702
+ to indicate that support is
6703
+ required for correct rendering of a font.
6704
+ This mechanism can be used for gracefully falling back
6705
+ to an ancillary font
6706
+ when requested support is not present.
6707
+
6708
+ <div class="example">
6709
+ This ''@font-face'' block shows how to use a color font if support is present on the user agent,
6710
+ and falls back to a non-color-font if support is not present.
6711
+ <pre>
6712
+ @font-face {
6713
+ font-family: "Trickster";
6714
+ src: url("trickster-COLRv1.otf") format(opentype supports color(COLRv1)),
6715
+ url("trickster-outline.otf") format(opentype);
6716
+ }
6717
+ </pre>
6718
+ </div>
6719
+
6720
+ <h3 id="font-formatdefinitions">Font formats</h3>
6721
+
6722
+ Format strings defined by this specification are as follows.
6723
+ The <<font-format>> values are synonyms for the formats below.
6724
+
6725
+ <table class="data" id="fontformats">
6726
+ <thead>
6727
+ <tr>
6728
+ <th> String
6729
+ <th> Font Format
6730
+ <th> Common extensions
6731
+ <tbody>
6732
+ <tr>
6733
+ <th> "collection"</th>
6734
+ <td> <a href="https://docs.microsoft.com/en-us/typography/opentype/spec/otff#collections">OpenType Collection</a> </td>
6735
+ <td> .otc,.ttc</td>
6736
+ <tr>
6737
+ <th> "embedded-opentype"
6738
+ <td> <a href="https://www.w3.org/Submission/2008/SUBM-EOT-20080305/">Embedded OpenType</a>
6739
+ <td> .eot
6740
+ <tr>
6741
+ <th> "opentype"
6742
+ <td> <a href="https://www.microsoft.com/typography/otspec/default.htm">OpenType</a>
6743
+ <td> .ttf, .otf
6744
+ <tr>
6745
+ <th> "svg"
6746
+ <td> <a href="https://www.w3.org/TR/SVG11/fonts.html">SVG Font</a> (deprecated)
6747
+ <td> .svg, .svgz
6748
+ <tr>
6749
+ <th> "truetype"
6750
+ <td> <a href="https://www.microsoft.com/typography/otspec/default.htm">TrueType</a>
6751
+ <td> .ttf
6752
+ <tr>
6753
+ <th> "woff"
6754
+ <td> <a href="https://www.w3.org/TR/WOFF/">WOFF 1.0 (Web Open Font Format)</a>
6755
+ <td> .woff
6756
+ <tr>
6757
+ <th> "woff2"
6758
+ <td> <a href="https://www.w3.org/TR/WOFF2/">WOFF 2.0 (Web Open Font Format)</a>
6759
+ <td> .woff2
6760
+ </table>
6761
+
6762
+ Given the overlap in common usage between TrueType and OpenType,
6763
+ the format hints "truetype" and "opentype"
6764
+ must be considered as synonymous;
6765
+ a format hint of "opentype" does not imply
6766
+ that the font contains Postscript CFF style glyph data
6767
+ or that it contains OpenType layout information
6768
+ (see <a href="#platform-props-to-css">Appendix A</a> for more background on this).
6769
+
6770
+
6771
+
6756
6772
<!--
6757
6773
███████ ████████ ██ ████████ ██████ ████████ ██ ██ ███████ ████████ ████████ ██
6758
6774
██ ██ ██ ██ ██ ██ ██ ██ ██ ███ ███ ██ ██ ██ ██ ██ ██
0 commit comments