@@ -2176,105 +2176,12 @@ for user agents which don't support a particular font technology.
21762176 </pre>
21772177 </div>
21782178
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+ -->
22782185
22792186 <h5 id="local-font-fallback">Local font fallback</h5>
22802187
@@ -6753,6 +6660,115 @@ System Font</h3>
67536660
67546661The 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.
67556662
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+
67566772<!--
67576773 ███████ ████████ ██ ████████ ██████ ████████ ██ ██ ███████ ████████ ████████ ██
67586774██ ██ ██ ██ ██ ██ ██ ██ ██ ███ ███ ██ ██ ██ ██ ██ ██
0 commit comments