Intent to Ship: FontFace width attribute and font-width descriptor

53 views
Skip to first unread message

Chromestatus

unread,
12:46 AM (2 hours ago) 12:46 AM
to blin...@chromium.org, michael....@gmail.com
Contact emails
michael....@gmail.com

Specification
https://drafts.csswg.org/css-fonts-4/#font-width-prop

Summary
Exposes the width attribute on FontFace and the @font-face font-width descriptor as aliases for stretch and font-stretch. Aligns Chromium with the updated CSS Font Loading and CSS Fonts 4 specifications. Developers can now inspect or initialize font face widths using FontFace.width and CSS font-width interchangeably with stretch and font-stretch.

Blink component
Blink>CSS

Web Feature ID
font-width

Motivation
CSS Font Loading and CSS Fonts 4 define width as the primary FontFace descriptor attribute and @font-face descriptor, while retaining stretch as a legacy alias. Chromium previously ignored the width constructor member and font-width descriptor, causing Web Platform Tests to fail. Exposing width aligns Chromium with the updated specification.

Initial public proposal
No information provided

TAG review
Not needed - Small spec-alignment bug fix.

TAG review status
Not applicable

Goals for experimentation
None

Risks


Interoperability and Compatibility
Low risk. Fixes failing Web Platform Tests and aligns Chromium with the updated CSS Font Loading and CSS Fonts 4 specifications.

Gecko: Shipped/Shipping (https://wpt.fyi/results/css/css-font-loading/font-face-width-descriptor-aliasing.html) Firefox passes the test.

WebKit: No signal

Web developers: No signals

Other signals:

WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that it has potentially high risk for Android WebView-based applications?

None. It is strictly additive aliasing for existing stretch functionality.


Debuggability
No special DevTools debugging support required. Standard CSS descriptor inspection applies.

Will this feature be supported on all six Blink platforms (Windows, Mac, Linux, ChromeOS, Android, and Android WebView)?
Yes
Supported in Blink CSS core.

Is this feature fully tested by web-platform-tests?
Yes
https://wpt.fyi/results/css/css-font-loading/font-face-width-descriptor-aliasing.html

Flag name on about://flags
No information provided

Finch feature name
No information provided

Non-finch justification
Waterfall rollout without Finch flag.

Rollout plan
Will ship enabled for all users

Requires code in //chrome?
False

Tracking bug
https://issues.chromium.org/issues/543938492

Measurement
None

Availability expectation
Feature is available on Web Platform Baseline within 12 months of launch in Chrome.

Adoption expectation
Feature is considered a best practice for configuring font face width descriptors within 12 months of reaching Web Platform baseline.

Adoption plan
Web Platform Tests (WPT) have been added to ensure cross-browser interoperability. MDN documentation will be updated to reflect FontFace.width as the standard descriptor.

Non-OSS dependencies

Does the feature depend on any code or APIs outside the Chromium open source repository and its open-source dependencies to function?

No

Estimated milestones
Shipping on desktop153
Shipping on Android153
Shipping on WebView153


Anticipated spec changes

Open questions about a feature may be a source of future web compat or interop issues. Please list open issues (e.g. links to known github issues in the project for the feature specification) whose resolution may introduce web compat/interop risk (e.g., changing to naming or structure of the API in a non-backward-compatible way).

None

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5145402365050880?gate=5525688097570816

This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages