Skip to content

Commit f962009

Browse files
author
Greg Whitworth
committed
Merge branch 'master' of github.com:w3c/csswg-drafts
2 parents fc742cb + 8a556be commit f962009

File tree

4 files changed

+86
-52
lines changed

4 files changed

+86
-52
lines changed

Transitions.md

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
###Open
66

77
CSS Table
8-
* [transition request](https://lists.w3.org/Archives/Member/chairs/2016OctDec/0025.html) 14 Oct 2016
8+
* [transition request](https://lists.w3.org/Archives/Member/chairs/2016OctDec/0027.html) 17 Oct 2016
9+
* next step: fix bikeshed link errors, publication request
910

1011
###Closed
1112

@@ -16,13 +17,20 @@ _(none)_
1617
###Open
1718

1819
Paint API
19-
* [group decision](https://lists.w3.org/Archives/Public/public-houdini/2016Oct/0001.html) 09 Oct 2016
20-
* next step: transition request
20+
* [group decision](https://lists.w3.org/Archives/Public/public-houdini/2016Oct/0001.html) 09 Oct 2016, (pending edits)
21+
* next step: create [transition request](https://services.w3.org/xslt?xmlfile=https://www.w3.org/2005/08/01-transitions2015.html&xslfile=https://www.w3.org/2005/08/transitions2015.xsl&docstatus=cr-tr).
22+
* No changes section since FPWD
23+
* [17 Open issues](https://github.com/w3c/css-houdini-drafts/labels/css-paint-api-1)
24+
* No disposition of comments
25+
* Evidence of wide review
26+
* Implementation status and test suite?
2127

2228
CSS Scroll Snapping
2329
* [transition request](https://lists.w3.org/Archives/Member/chairs/2016OctDec/0000.html) 03 Oct 2016
2430
* transition approved, 13 Oct 2016
25-
* next step: publication, Tue 18 Oct 2016
31+
* [publication request](https://lists.w3.org/Archives/Member/w3c-css-wg/2016OctDec/0055.html) sent, 17 Oct 2016
32+
* webmaster bumped to Thurs 20 Oct 2016
33+
* next step: publication, Thurs 20 Oct 2016
2634

2735
###Closed
2836

css-fonts-4/Overview.bs

Lines changed: 57 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -251,7 +251,7 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
251251
<a href="#font-matching-algorithm">font matching section below</a> for the
252252
precise algorithm). For TrueType / OpenType fonts which use variations, the "wdth"
253253
variation is used to implement varying widths. The figure below shows how nine
254-
font-stretch property settings affect font selection for font family
254+
font-stretch property settings affect font matching for font family
255255
containing a variety of discrete widths. Grey indicates a width for which no
256256
face exists and a different width is substituted:
257257

@@ -284,23 +284,23 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
284284
<dl dfn-for=font-style dfn-type=value>
285285
<dt><dfn>normal</dfn></dt>
286286
<dd>
287-
Selects a face that is classified as a normal face, one that is neither italic or obliqued. This represents an oblique value of "0".
287+
Matches against a face that is classified as a normal face, one that is neither italic or obliqued. This represents an oblique value of "0".
288288
</dd>
289289

290290
<dt><dfn>italic</dfn></dt>
291291
<dd>
292-
selects a font that is labeled as an oblique face, or an italic face if one is not.
292+
Matches against a font that is labeled as an oblique face, or an italic face if one is not.
293293
</dd>
294294

295295
<dt><dfn>oblique <<angle>>?</dfn></dt>
296296
<dd>
297-
Controls the selection of an oblique face. The lack of a number represents an angle of "20deg". Values less than or equal to -90deg or values greater than or equal to 90deg are invalid and are treated as parse errors. (Note that a font may internally provide its own mapping for "oblique", but that mapping within the font is disregarded)
297+
Controls matching against an oblique face. The lack of a number represents an angle of "20deg". Values less than or equal to -90deg or values greater than or equal to 90deg are invalid and are treated as parse errors. (Note that a font may internally provide its own mapping for "oblique", but that mapping within the font is disregarded)
298298
</dd>
299299
</dl>
300300

301301
Some font families may contain only zero or one italic or oblique face, while yet other
302302
families may contain multiple oblique faces with varying
303-
angles. The font selection routine will select a font to use which
303+
angles. The font matching routine will select a font to use which
304304
is closest to the requested angle. In general, for a requested angle greater
305305
or equal to 20deg, larger angles are prefered; otherwise, smaller
306306
angles are preferred (see the
@@ -353,7 +353,9 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
353353
is a prioritized, comma-separated list of external references or
354354
locally-installed font face names. When a font is needed the user
355355
agent iterates over the set of references listed, using the first one
356-
it can successfully activate. Fonts containing invalid data or local
356+
it can successfully activate. Activation of a font involves downloading
357+
the file or reading it from disk, parsing it, and perhaps additional user-agent-dependent steps.
358+
Fonts containing invalid data or local
357359
font faces that are not found are ignored and the user agent loads the
358360
next font in the list.
359361

@@ -585,37 +587,43 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
585587

586588
<pre class='descdef mq'>
587589
Name: font-style
588-
Value: normal | italic | oblique <<angle>> ?
590+
Value: normal | italic | oblique [ <<angle>> | <<angle>>-<<angle>> ] ?
589591
For: @font-face
590592
Initial: normal
591593
</pre>
592594

593595
<pre class='descdef mq'>
594596
Name: font-weight
595-
Value: normal | bold | <<number>>
597+
Value: normal | bold | [ <<number>> | <<number>>-<<number>> ]
596598
For: @font-face
597599
Initial: normal
598600
</pre>
599601

600602
<pre class='descdef mq'>
601603
Name: font-stretch
602604
Value: normal | ultra-condensed | extra-condensed | condensed | semi-condensed |
603-
semi-expanded | expanded | extra-expanded | ultra-expanded | <<percentage>>
605+
semi-expanded | expanded | extra-expanded | ultra-expanded | [ <<percentage>> | <<percentage>>-<<percentage>> ]
604606
For: @font-face
605607
Initial: normal
606608
</pre>
607609

608610
These descriptors define the characteristics of a font face and are
609-
used in the process of matching styles to specific faces. For a font
611+
used in the process of matching styles to specific faces. For a font
610612
family defined with several <code>@font-face</code> rules, user agents can either
611613
download all faces in the family or use these descriptors to selectively
612-
download font faces that match actual styles used in document. The
613-
values for these descriptors are the same as those for the corresponding
614+
download font faces that match actual styles used in document. The
615+
meaning of the values for these descriptors are the same as those for the corresponding
614616
font properties except that relative keywords are not allowed, 'bolder' and
615-
'lighter'. If these descriptors are omitted, initial
617+
'lighter'. If these descriptors are omitted, initial
616618
values are assumed. If specified values are out of range of the accepted values
617619
of the property of the same name, the descriptor is treated as a parse error.
618620

621+
Ranges are accepted in these three descriptors in place of a single value. Where a single
622+
value is specified, it has the same meaning as a range with identical startpoint and
623+
endpoint. User agents may swap the computed value of the startpoint and endpoint of the range
624+
in order to forbid decreasing ranges. Both endpoints are inclusive.
625+
The ranges are used in the <a href="#font-matching-algorithm">Font Matching Algorithm</a> below.
626+
619627
The value for these font face style attributes is used in place of
620628
the style implied by the underlying font data. This allows authors to
621629
combine faces in flexible combinations, even in situations where the
@@ -784,8 +792,8 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
784792
selected by this algorithm, particular values for
785793
'font-stretch', 'font-style', and 'font-weight' must be applied
786794
before any layout or rendering occurs. The application of these values
787-
must be applied in the <a href="#apply-font-selection-variations">Apply
788-
font selection variations</a> step detailed in
795+
must be applied in the <a href="#apply-font-matching-variations">Apply
796+
font matching variations</a> step detailed in
789797
<a href="#font-feature-variation-resolution">Font Feature and Variation
790798
Resolution</a>.
791799
A group
@@ -798,10 +806,10 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
798806
<li>'font-stretch' is tried first. If a font
799807
does not have any concept of varying strengths of stretch values, its stretch value
800808
is mapped according table in the <a href="#stretchmappings">property definition</a>.
801-
If the matching set contains faces with width values
802-
matching the 'font-stretch' value, faces with other width
809+
If the matching set includes faces with width values
810+
containing the 'font-stretch' desired value, faces with other width
803811
values are removed from the matching set. If there is no face
804-
that exactly matches, a stretch value is chosen using the rules below:
812+
which contains the desired value, a stretch value is chosen using the rules below:
805813
<ul>
806814
<li>If the desired stretch value is less than 100, stretch values below the
807815
desired stretch value are checked in descending order followed by
@@ -814,14 +822,14 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
814822
</ul>
815823
Once the
816824
closest matching width has been determined by this process,
817-
faces with other widths are removed from the matching set.
825+
faces with widths which do not include this determined width are removed from the matching set.
818826
</li>
819827

820828
<li>'font-style' is tried next.
821829
If the value of 'font-style' is 'italic', italic faces are
822830
checked first, then oblique, then normal faces. If the value
823831
is 'oblique', oblique faces are checked first, then italic
824-
faces and then normal faces. If the value is 'normal',
832+
faces and then normal faces. If the value is 'normal',
825833
normal faces are checked first, then oblique faces, then
826834
italic faces. When checking oblique faces, an oblique angle is chosen using the rules below:
827835
<ul>
@@ -833,11 +841,13 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
833841
are checked in descending order until 0deg or a negative value is reached.
834842
<li>Otherwise, the same steps as above are performed, substituting negative values for the positive ones above.</li>
835843
</ul>
836-
During this operation, if a font does not have any concept of varying oblique angles, it is assumed to have an angle of 20deg. Faces with other style values are excluded
837-
from the matching set. User agents are permitted to
844+
During this operation, if an oblique font does not have any concept of varying oblique angles, it is assumed to have an angle of 20deg.
845+
If the search for a normal or italic face successfully determined a font, faces with other style values are excluded
846+
from the matching set. Otherwise, if the search for an oblique face successfully determined a font, fonts with oblique angles which do not include
847+
this determined angle are excluded from the matching set. User agents are permitted to
838848
distinguish between italic and oblique faces within platform
839849
font families but this is not required, so all
840-
italic or oblique faces may be treated as italic faces. However, within font
850+
italic or oblique faces may be treated as italic faces or oblique faces with an angle of 20deg. However, within font
841851
families defined via <code>@font-face</code> rules, italic and oblique
842852
faces must be distinguished using the value of the
843853
'font-style' descriptor.
@@ -853,9 +863,9 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
853863
If bolder/lighter relative weights are used, the
854864
effective weight is calculated based on the inherited weight
855865
value, as described in the definition of the 'font-weight'
856-
property. Given the desired weight and the weights of faces
866+
property. Given the desired weight and the weight ranges of faces
857867
in the matching set after the steps above, if the desired
858-
weight is available that face matches. Otherwise, a weight
868+
weight is available inside the weight range of a font in the matching set, then that face matches. Otherwise, a weight
859869
is chosen using the rules below:
860870
<ul>
861871
<li>If the desired weight is 400, 500 is checked first and then
@@ -872,6 +882,8 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
872882
weights below the desired weight in descending order until a
873883
match is found.</li>
874884
</ul>
885+
Once the closest matching weight has been determined by this process,
886+
faces with weights which do not include this determined width are removed from the matching set.
875887
</li>
876888

877889
<li>'font-size' must be
@@ -884,6 +896,11 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
884896
</li>
885897

886898
</ol>
899+
Note that more than one font may be remaining in the matching set after performing
900+
the above steps. If so, the user agent must choose a single font from
901+
the matching set and continue these steps with it. The choice of which
902+
font to choose may differ between multiple user agents and multiple operating
903+
system platforms; however, it must not differ between two elements in the same document.
887904
</li>
888905

889906
<li><p>If the matched face is defined via <code>@font-face</code>
@@ -992,7 +1009,7 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
9921009
<ol>
9931010
<li>Font features enabled by default, including features required for a given script.</li>
9941011

995-
<li id="apply-font-selection-variations">Font variations as enabled by the 'font-weight',
1012+
<li id="apply-font-matching-variations">Font variations as enabled by the 'font-weight',
9961013
'font-stretch', and 'font-style' properties.</li>
9971014

9981015
<li>If the font is defined via an <code>@font-face</code> rule, the font features
@@ -1126,8 +1143,6 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
11261143

11271144
<h2 id="font-variation-props">Font Variation Properties</h2>
11281145

1129-
Issue: For all the various kinds of zooms, describe whether font-optical-sizing is re-applied (layout-time) or not (paint scaling).
1130-
11311146
<pre class="propdef">
11321147
Name: font-optical-sizing
11331148
Value: auto | none
@@ -1149,6 +1164,10 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
11491164
<dd>The user agent must not modify the shape of glyphs for optical size.</dd>
11501165
</dl>
11511166

1167+
Pixel density as well as visual size of the text may influence the variation value chosen for 'font-optical-sizing'. When either pixel density or visual size of the text changes in response to a user operation or style change, user agents may choose a new value for this variation value only if the change is layout-causing. User agents are free to determine which changes are layout-causing.
1168+
1169+
Note: Some user operations, such as pinch-zoom, may be considered not-layout-causing if they do not cause text to reflow. However, other user operations, such as increasing text size for accessiblity purposes, may be considered layout-causing because they cause text to reflow. Similarly, the 'transform' property may be considered not-layout-causing because transforms generally do not cause text to reflow. Each user-agent is free to decide whether or not each operation is layout-changing or not.
1170+
11521171
<div class="figure"><img alt="text with and without 'font-optical-size'" src="fontopticalsize.png" /><p class="caption">Text with and without the use of 'font-optical-size'</p></div>
11531172

11541173
<h3>Low-level font variation settings control: the 'font-variation-settings' property</h3>
@@ -1175,7 +1194,7 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
11751194
property for special cases where its use is the only way of accessing
11761195
a particular infrequently used font variation.
11771196

1178-
A value of 'normal' means that no change in glyph shape, selection, or positioning occurs due to this property.
1197+
A value of 'normal' means that no change in glyph shape, matching, or positioning occurs due to this property.
11791198

11801199
The <<string>> is a case-sensitive OpenType or TrueType variation axis name. As
11811200
specified in the OpenType / TrueType specifications, axis names contain four
@@ -1187,14 +1206,13 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
11871206
<a href="https://www.microsoft.com/typography/otspec/fvar.htm">name rules</a>
11881207
defined in the OpenType specification.
11891208

1190-
Axis values not present in the font are ignored and therefore have no effect on font selection; a user agent must
1191-
not attempt to synthesize fallback behavior based on these feature
1192-
tags.
1209+
Axis values not present in the font, or axis values greater or less than the range supported by the font, are ignored and therefore have no effect; a user agent must
1210+
not attempt to synthesize fallback behavior based on these feature tags. Other axis values
1211+
within the same CSS 'font-variation-settings' statement are not ignored.
11931212

11941213
Values are allowed to be fractional or negative.
11951214

1196-
When values greater or less than the range supported by the font are
1197-
specified, the value is ignored and therefore has no effect on font selection.
1215+
If the same axis name appears twice, the second one supercedes the first.
11981216

11991217
Although specifically defined for OpenType / TrueType variations, variation axes
12001218
for other modern font formats that support font variations may be
@@ -1203,9 +1221,11 @@ at least as dark as its predecessor. Only values between 1 - 999 are valid, and
12031221

12041222
Animating font-variation-settings is possible using a mechanism similar to animating
12051223
the 'transform' property: Two declarations of font-feature-settings can be animated between
1206-
if they are "like". "Like" declarations are ones where the same sequence of properties appear
1207-
in the same order. If two declarations are "like" then animation occurs pairwise between
1208-
corresponding values in the declarations.
1224+
if they are "like". "Like" declarations are ones where the same set of properties appear (in any order).
1225+
If two declarations are "like" then animation occurs pairwise between
1226+
corresponding values in the declarations. Otherwise, animation is not possible. In this situation,
1227+
the "from" values of the animation are swapped to the "to" values at an unspecified time during
1228+
the animation.
12091229

12101230
<h2 id="platform-props-to-css" class="no-num">Appendix A: Mapping platform font properties to CSS properties</h2>
12111231

css-tables-3/Overview.bs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ Group: csswg
88
ED: https://drafts.csswg.org/css-tables-3/
99
TR: https://www.w3.org/TR/CSS2/tables.html
1010
Repository: w3c/csswg-drafts
11+
Warning: not ready
1112
Editor: Francois Remy, Microsoft
1213
Editor: Greg Whitworth, Microsoft
1314
Former editor: Bert Bos, W3C

0 commit comments

Comments
 (0)