You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: css-fonts-4/Overview.bs
+32-13Lines changed: 32 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -6,6 +6,7 @@ Status: ED
6
6
Work Status: Exploring
7
7
Group: CSSWG
8
8
ED: https://drafts.csswg.org/css-fonts-4/
9
+
TR: https://www.w3.org/TR/css-fonts-4/
9
10
Editor: John Daggett, Invited Expert, https://twitter.com/nattokirai
10
11
Editor: Myles C. Maxfield, Apple Inc., mmaxfield@apple.com
11
12
Abstract: This specification defines modifications to the existing <a href="https://drafts.csswg.org/css-fonts-3/">CSS Fonts 3</a> specification along with additional experimental features.
Controlling synthetic faces: the 'font-synthesis' property</h3>
1066
1080
1067
1081
<pre class="propdef">
@@ -2008,20 +2022,20 @@ if all font style properties were set to their initial value.
2008
2022
2009
2023
Consider a font family with three fonts, named A, B, and C, each with associated supported ranges for the 'font-stretch' descriptor. If an element is styled with "font-stretch: 125", the search algorithm can be visualized as follows:
2010
2024
2011
-
<img src="stretchdistance.svg">
2025
+
<img src="stretchdistance.svg" alt="algorithm">
2012
2026
2013
2027
The font stretch ranges supported by fonts A, B, and C are shown in the graph above. As you can see, because font B contains the minimum stretch value across the entire family, font B would be selected by this algorithm. However, if font B were somehow eliminated from the family, font C would then contain the lowest distance in the family, so it would be selected.
2014
2028
</div>
2015
2029
2016
2030
<div class="example">
2017
2031
Similar to the <a href="#ascendingstretch">previous example</a>, here is the conceptual distance graph for an element styled with "font-stretch: 75":
As you can see, because font B contains the minimum stretch value across the entire family, font B would be selected by this algorithm. However, if font B were somehow eliminated from the family, font A would then contain the lowest distance in the family, so it would be selected.
2022
2036
</div>
2023
2037
2024
-
2. <span id="font-style-matching">'font-style' is tried next.</span>
2038
+
2. <a href="#font-style-matching">'font-style' is tried next.</span>
2025
2039
If a font does not have any concept of varying strengths of italics or oblique angles, its style
2026
2040
is mapped according to the description in the 'font-style' property definition.
2027
2041
@@ -2041,7 +2055,7 @@ if all font style properties were set to their initial value.
2041
2055
<div class="example">
2042
2056
Similar to the <a href="#ascendingstretch">previous example</a>, here is the conceptual distance graph for an element styled with "font-style: italic":
As you can see, because font D contains the minimum italic value across the entire family, font D would be selected by this algorithm. However, if font D were somehow eliminated from the family, font E would then contain the lowest distance in the family, so it would be selected. If E were eliminated, C would be selected. If C were eliminated, font B would not be chosen immediately; instead, oblique values would be consulted and an oblique value might be chosen. However, if no oblique value is chosen, font B would then be selected, followed by font A.
2047
2061
</div>
@@ -2061,7 +2075,7 @@ if all font style properties were set to their initial value.
2061
2075
<div class="example">
2062
2076
Similar to the <a href="#ascendingstretch">previous example</a>, here is the conceptual distance graph for an element styled with "font-style: oblique 40deg":
As you can see, because font D contains the minimum oblique value across the entire family, font D would be selected by this algorithm. However, if font D were somehow eliminated from the family, font E would then contain the lowest distance in the family, so it would be selected. If E were eliminated, C would be selected. If C were eliminated, font B would not be chosen immediately; instead, italic values would be consulted and an italic value might be chosen. However, if no italic value is chosen, font B would then be selected, followed by font A.
2067
2081
</div>
@@ -2085,7 +2099,7 @@ if all font style properties were set to their initial value.
2085
2099
<div class="example">
2086
2100
Similar to the <a href="#ascendingstretch">previous example</a>, here is the conceptual distance graph for an element styled with "font-style: oblique 13deg":
As you can see, because font D contains the minimum oblique value across the entire family, font D would be selected by this algorithm. However, if font D were somehow eliminated from the family, font C would then contain the lowest distance in the family, so it would be selected. If C were eliminated, E would be selected. If E were eliminated, font B would not be chosen immediately; instead, italic values would be consulted and an italic value might be chosen. However, if no italic value is chosen, font B would then be selected, followed by font A.
2091
2105
</div>
@@ -2103,7 +2117,7 @@ if all font style properties were set to their initial value.
2103
2117
<div class="example">
2104
2118
Similar to the <a href="#ascendingstretch">previous example</a>, here is the conceptual distance graph for an element styled with "font-style: normal":
As you can see, because font C contains the minimum oblique value across the entire family, font C would be selected by this algorithm. However, if font C were somehow eliminated from the family, font B would not be chosen immediately; instead, italic values would be consulted and an italic value might be chosen. However, if no italic value is chosen, font B would then be selected, followed by font A.
2109
2123
</div>
@@ -2137,15 +2151,15 @@ if all font style properties were set to their initial value.
2137
2151
<div class="example">
2138
2152
Similar to the <a href="#ascendingstretch">previous example</a>, here is the conceptual distance graph for an element styled with "font-weight: 400":
2139
2153
2140
-
<img src="styleweight.svg">
2154
+
<img src="styleweight.svg" alt="distance graph">
2141
2155
2142
2156
As you can see, because font B contains the minimum oblique value across the entire family, font B would be selected by this algorithm. However, if font B were somehow eliminated from the family, font D would then contain the lowest distance in the family, so it would be selected. If D were eliminated, A would be selected, followed by fonts C and then E.
2143
2157
</div>
2144
2158
2145
2159
<div class="example">
2146
2160
Similar to the <a href="#ascendingstretch">previous example</a>, here is the conceptual distance graph for an element styled with "font-weight: 500":
As you can see, because font D contains the minimum oblique value across the entire family, font D would be selected by this algorithm. However, if font D were somehow eliminated from the family, font B would then contain the lowest distance in the family, so it would be selected. If B were eliminated, C would be selected, followed by fonts A and then E.
2151
2165
</div>
@@ -2157,7 +2171,7 @@ if all font style properties were set to their initial value.
2157
2171
<div class="example">
2158
2172
Similar to the <a href="#ascendingstretch">previous example</a>, here is the conceptual distance graph for an element styled with "font-weight: 300":
As you can see, because font B contains the minimum oblique value across the entire family, font B would be selected by this algorithm. However, if font B were somehow eliminated from the family, font A would then contain the lowest distance in the family, so it would be selected. If A were eliminated, C would be selected.
2163
2177
</div>
@@ -2243,6 +2257,11 @@ Cluster matching</h3>
2243
2257
2244
2258
Issue: Import from level 3
2245
2259
2260
+
<h2 id="font-rend-props">
2261
+
Font Feature Properties</h2>
2262
+
2263
+
Issue: Import from level 3
2264
+
2246
2265
<h2 id="font-feature-variation-resolution">
2247
2266
Font Feature and Variation Resolution</h3>
2248
2267
@@ -2767,7 +2786,7 @@ or implement the ability to disable color fonts,
2767
2786
''@font-palette-values'' rules must simply be ignored;
2768
2787
the behavior of individual descriptors as defined in this specification should not be altered.
2769
2788
2770
-
<h3 id="font-family-desc">
2789
+
<h3 id="font-family-2-desc">
2771
2790
Font family: the 'font-family' descriptor</h3>
2772
2791
2773
2792
<pre class='descdef mq'>
@@ -2931,7 +2950,7 @@ the variation selector is ignored.
2931
2950
User Agents can choose to draw a <a>Presentation Participating Code Point</a>
2932
2951
in either emoji style or text style.
2933
2952
User Agents may wish to follow
2934
-
the <a href="http://www.unicode.org/reports/tr51/proposed.html#Presentation_Style">guidance</a> of the Unicode Consortium
2953
+
the <a href="http://www.unicode.org/reports/tr51/index.html#Presentation_Style">guidance</a> of the Unicode Consortium
2935
2954
when performing this decision.
2936
2955
User agents also may wish to follow platform conventions when performing this decision.
0 commit comments