Skip to content

Commit a427dc8

Browse files
committed
[css-fonts-4] Fix #514 italic not a fallback for oblique
1 parent b889586 commit a427dc8

File tree

1 file changed

+24
-10
lines changed

1 file changed

+24
-10
lines changed

css-fonts-4/Overview.bs

Lines changed: 24 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -740,7 +740,10 @@ Font style: the 'font-style!!property' property</h3>
740740
but the mapping within the font is disregarded.)
741741
Fractional and negative values are accepted; however,
742742
values less than -90deg or values greater than 90deg are <a>invalid</a>.
743-
If no oblique faces exist, this value can match an italic face.
743+
If no oblique faces exist,
744+
<!-- https://github.com/w3c/csswg-drafts/issues/514#issuecomment-402010784 -->
745+
and 'font-synthesis-style' has the value auto,
746+
a synthetic oblique face will be generated.
744747
</dl>
745748

746749
A font family might contain no italic or oblique faces,
@@ -766,9 +769,6 @@ Font style: the 'font-style!!property' property</h3>
766769
when using variations
767770
to produce oblique faces.
768771

769-
ISSUE: The threshold for preferring oblique over normal
770-
<a href="https://github.com/w3c/csswg-drafts/issues/2295">should be lower than the average angle</a>.
771-
772772
Issue: What direction should positive and negative obliques skew in vertical writing mode?
773773
How do we achieve skews in the opposite dimension
774774
(needed for vertical writing)?
@@ -3066,10 +3066,17 @@ if all font style properties were set to their initial value.
30663066
faces with oblique values which do not include the desired oblique value are removed from the matching set.
30673067
2. Otherwise, oblique values above the desired oblique value are checked in ascending order followed by
30683068
oblique values below the desired oblique value, until 0 is hit. Only positive values of oblique values are checked in this stage.
3069-
3. If no match is found, italic values greater than or equal to 1 are checked in ascending order
3069+
3. If 'font-synthesis-style' has the value 'font-synthesis-style/auto',
3070+
then for variable fonts with a slnt axis
3071+
a match is is created by setting the slnt value
3072+
with the specified oblique value;
3073+
otherwise,
3074+
a fallback match is produced
3075+
by geometric shearing to the specified oblique value.
3076+
4. If no match is found, italic values greater than or equal to 1 are checked in ascending order
30703077
followed by italic values below 1 in descending order, until 0 is hit. Only positive values of italic values are checked in this stage.
3071-
4. If no match is found, oblique values less than or equal to 0deg are checked in descending order until a match is found.
3072-
5. If no match is found, italic values less than or equal to 0 are checked in descending order until a match is found.
3078+
5. If no match is found, oblique values less than or equal to 0deg are checked in descending order until a match is found.
3079+
6. If no match is found, italic values less than or equal to 0 are checked in descending order until a match is found.
30733080

30743081
<div class="example">
30753082
Similar to the <a href="#ascendingstretch">previous example</a>, here is the conceptual distance graph for an element styled with "font-style: oblique 40deg":
@@ -3089,11 +3096,18 @@ if all font style properties were set to their initial value.
30893096
2. Otherwise, oblique values below the desired oblique value are checked in descending order until 0 is hit, followed by
30903097
oblique values above the desired oblique value. Only positive values of oblique values are checked
30913098
in this stage.
3092-
3. If no match is found, italic values less than 1 are checked in descending order until 0 is hit,
3099+
3. If 'font-synthesis-style' has the value 'font-synthesis-style/auto',
3100+
then for variable fonts with a slnt axis
3101+
a match is is created by setting the slnt value
3102+
with the specified oblique value;
3103+
otherwise,
3104+
a fallback match is produced
3105+
by geometric shearing to the specified oblique value.
3106+
4. If no match is found, italic values less than 1 are checked in descending order until 0 is hit,
30933107
followed by italic values above 1 in ascending order. Only positive values of italic values
30943108
are checked in this stage.
3095-
4. If no match is found, oblique values less than or equal to 0deg are checked in descending order until a match is found.
3096-
5. If no match is found, italic values less than or equal to 0 are checked in descending order until a match is found.
3109+
5. If no match is found, oblique values less than or equal to 0deg are checked in descending order until a match is found.
3110+
6. If no match is found, italic values less than or equal to 0 are checked in descending order until a match is found.
30973111

30983112
<div class="example">
30993113
Similar to the <a href="#ascendingstretch">previous example</a>, here is the conceptual distance graph for an element styled with "font-style: oblique 13deg":

0 commit comments

Comments
 (0)