Big thanks ChangSeok for implementing this and pushing for this feature.

I can say a few things about the open issues


> - https://github.com/w3c/csswg-drafts/issues/6384
>

font-size-adjust relies on a font metric reference point, for example, the
x-height, cap-height, etc. in order to scale font sizes to match on a
scaled metric.
Strictly speaking in the OpenType font spec, some metrics that are spec'ed
for font-size-adjust are optional in the font file. They might not exist in
the font file.
The discussion in this issue revolves around what to do when the metric
does not exist: There are mainly two alternatives:
a) don't adjust anything, b) adjust to a heuristic that tries to
approximate the missing value.

>From an interop point of view: a) is interoperable, b) is not interoperable
without spec changes in the CSS values spec to tighten the heuristics.
For Interop 2024, I think we can and should only test and consider the
happy path, in which the font has the metrics.

The missing metrics situation can be considered a somewhat rare edge case.


> - https://github.com/w3c/csswg-drafts/issues/10292
>

This discussion is about the computed style of font-size-adjust and whether
that should "leak" actual values that come from the font files. If I am not
mistaken, FF and Safari are currently aligned on doing that and making the
computed style show values from the font files, in order to inherit a
meaningful numerical value in the cascade. There are arguments for why this
is the right approach from a functionality point of view. Whether it's the
right approach from a CSS inheritance / logical point of view is perhaps
the question. I am not sure about WPT test coverage at the moment (it's
likely small), but for the time being I believe we can align with Safari
and FF. ChangSeok, do you agree?

Dominik


On Tue, May 21, 2024 at 3:43 PM Philip Jägenstedt <foo...@chromium.org>
wrote:

> Hi ChangSeok,
>
> Thank you for working on this, it's great to see both more powerful
> typography control, and progress on Interop 2024.
>
> Can you say something about the remaining failures in
> WPT? font-size-adjust-012.html font-size-adjust-013.html both look like
> minor differences, but it seems like it only happens on Linux (Chrome) and
> not Windows (Edge)?
>
> There are also 3 failing subtests in font-size-adjust-computed.html, does
> that depend on resolving one of the spec issues? Or can we match what
> Firefox and Safari do and pass the tests without waiting for spec changes?
>
> Best regards,
> Philip
>
> On Thu, May 16, 2024 at 5:01 PM Vladimir Levin <vmp...@chromium.org>
> wrote:
>
>>
>>
>> On Thu, May 16, 2024 at 10:02 AM ChangSeok Oh <changs...@chromium.org>
>> wrote:
>>
>>> Contact emails
>>> changseok...@bytedance.com, changs...@chromium.org
>>>
>>> Explainer
>>> None
>>>
>>> Specification
>>> https://www.w3.org/TR/css-fonts-5/#font-size-adjust-prop
>>>
>>> Summary
>>>
>>> The font-size-adjust CSS property enhances readability consistency by
>>> adjusting font size based on lowercase letter height rather than uppercase.
>>> Additionally, the newly introduced two-value syntax for font-size-adjust in
>>> the font module level 5 enables web designers to specify a font metric for
>>> size adjustment. This feature is one of focus areas for Interop 2024.
>>>
>>> Blink component
>>> Blink>CSS, Blink>Fonts
>>>
>>> TAG review
>>> None
>>>
>>> TAG review status
>>> Not applicable
>>>
>>> Risks
>>> Interoperability and Compatibility
>>>
>>> Gecko and WebKit have shipped this feature, and there is no major
>>> interoperability risk. However, certain aspects are still being discussed
>>> regarding interoperability concerns. [1, 2].
>>>
>>> [1] https://github.com/w3c/csswg-drafts/issues/6384 [2]
>>> https://github.com/w3c/csswg-drafts/issues/10292
>>>
>>> *Gecko*: Shipped/Shipping (
>>> https://bugzilla.mozilla.org/show_bug.cgi?id=1711479)
>>>
>>> *WebKit*: Shipped/Shipping (
>>> https://bugs.webkit.org/show_bug.cgi?id=254191)
>>>
>>> *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
>>>
>>> Debuggability
>>>
>>> N/A
>>>
>>> Will this feature be supported on all six Blink platforms (Windows, Mac,
>>> Linux, ChromeOS, Android, and Android WebView)?
>>> Yes. Windows experiences a minor sub-pixel mismatching issue in one wpt
>>> test, but it doesn't affect usability.
>>>
>>> Is this feature fully tested by web-platform-tests
>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>> ?
>>> Yes
>>>
>>> https://wpt.fyi/results/css/css-fonts?label=master&label=experimental&aligned&view=interop&q=label%3Ainterop-2024-font-size-adjust
>>>
>>> Flag name on chrome://flags
>>> enable-experimental-web-platform-features
>>>
>>> Finch feature name
>>> CSSFontSizeAdjust
>>>
>>> Requires code in //chrome?
>>> False
>>>
>>> Tracking bug
>>> - https://issues.chromium.org/issues/40081245
>>> - https://issues.chromium.org/issues/40186237
>>>
>>> Measurement
>>> - https://chromestatus.com/metrics/css/timeline/popularity/465
>>> - https://caniuse.com/font-size-adjust
>>>
>>> Availability expectation
>>> Both the Gecko and WebKit communities have implemented this feature, and
>>> corresponding tests are already included in the Web Platform Tests (WPT).
>>>
>>> Adoption expectation
>>> Firefox and WebKit variant browsers have embraced this feature.
>>>
>>> Adoption plan
>>> Blink is shipping this feature.
>>>
>>> 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?
>>>
>>> None
>>>
>>> Sample links
>>> https://developer.mozilla.org/en-US/docs/Web/CSS/font-size-adjust
>>>
>>> Estimated milestones
>>> Shipping on desktop
>>> 127
>>> Shipping on Android
>>> 127
>>> Shipping on WebView
>>> 127
>>>
>>> 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).
>>>
>>>
>>> Some concerns related to interoperability are still under discussion.
>>> - https://github.com/w3c/csswg-drafts/issues/6384
>>> - https://github.com/w3c/csswg-drafts/issues/10292
>>>
>>> Link to entry on the Chrome Platform Status
>>> - https://chromestatus.com/feature/5720910061371392
>>> - https://chromestatus.com/feature/5170570175447040
>>>
>>
>> Do you mind starting the various reviews (including API Owners) in the
>> chromestatus entry?:
>>
>> [image: chips.png]
>>
>> Thanks!
>>
>>
>>>
>>> Links to previous Intent discussions
>>> - Intent to prototype font-size-adjust:
>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/lqd_g6Z6fH4/m/qZyljJmg6oQJ
>>> - Intent to prototype the two value syntax:
>>> https://groups.google.com/a/chromium.org/g/blink-dev/c/2FufB-ckycw/m/mj1I3iUECAAJ
>>>
>>> Best,
>>>
>>> --
>>> You received this message because you are subscribed to the Google
>>> Groups "blink-dev" group.
>>> To unsubscribe from this group and stop receiving emails from it, send
>>> an email to blink-dev+unsubscr...@chromium.org.
>>> To view this discussion on the web visit
>>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/b34b218a-28c4-44e0-9451-3a2fc0949ab3n%40chromium.org
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/b34b218a-28c4-44e0-9451-3a2fc0949ab3n%40chromium.org?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "blink-dev" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to blink-dev+unsubscr...@chromium.org.
>> To view this discussion on the web visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2NOwQS9mwe7rrShcyapRmWTFh6%3DUTo9%2BGE%2B2E525TrpEA%40mail.gmail.com
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2NOwQS9mwe7rrShcyapRmWTFh6%3DUTo9%2BGE%2B2E525TrpEA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
> --
> You received this message because you are subscribed to the Google Groups
> "blink-dev" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to blink-dev+unsubscr...@chromium.org.
> To view this discussion on the web visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYdEOTMqLunu0zpsqqrS2XifPx9D%2BaXEwHS04gHVMRPKGw%40mail.gmail.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAARdPYdEOTMqLunu0zpsqqrS2XifPx9D%2BaXEwHS04gHVMRPKGw%40mail.gmail.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAN6muBuFLNNUoJp2qOJE8%2B%2BhWobaZSmsD7ddRK64U%2B4tK%3D5iiw%40mail.gmail.com.

Reply via email to