LGTM1
On Fri, May 2, 2025, 1:00 AM 'Sejal Anand' via blink-dev
<blink-dev@chromium.org> wrote:
Hi Yoav , Vladimir,
The Web Platform Tests pull request is currently under review. I
will update the chrome entry with the relevant WPT links and share
it with the group once finalized. Please find my inline response
below.
Have you investigated some sites that may be impacted by that? I
think the rendering is certainly more correct for regular speech,
but say one was labeling columns by letters with letter spacing. I
feel like this would be negatively impacted by the change. I don't
image that's common, but having some examples of how letter
spacing is currently used with cursive scripts may be a good
investigation
Although I could not find above mentioned specific example, the
spec advises authors to avoid applying letter-spacing to cursive
scripts unless they are prepared to accept non-interoperable
results. This recommendation highlights that modifying
letter-spacing in cursive scripts can lead to inconsistent
rendering, potentially disrupting the natural connections between
letters. WPTs and web tests have been added to cover few
scenarios involving both cursive and non-cursive scripts.
On WPTs, what would it take to add the test? I think it's
important that these changes that affect certain scripts are
tested in WPT. Is it possible to add the required fonts to the
fonts directory?
I have submitted the WPT pull request for the
css/css-text/letter-spacing directory, and it is currently under
review.
Thank you,
Sejal
------------------------------------------------------------------------
*From:* Yoav Weiss (@Shopify) <yoavwe...@chromium.org>
*Sent:* Wednesday, April 30, 2025 6:04 PM
*To:* blink-dev <blink-dev@chromium.org>
*Cc:* Sejal Anand <sejalan...@microsoft.com>; blin...@chromium.org
<blink-dev@chromium.org>; Ragvesh Sharma's Organization (FTE)
<ragvesh_org_...@microsoft.com>; Chris Harrelson
<chris...@chromium.org>; Mike Taylor <miketa...@chromium.org>
*Subject:* Re: [EXTERNAL] Re: [blink-dev] Intent to Ship: Ignore
Letter Spacing in Cursive Scripts
Hey Sejal! Thanks for working on this, as that seems super important!
Would you be able to address Vlad's questions regarding the
potential compat impact?
On Wednesday, April 23, 2025 at 6:17:38 PM UTC+2
sejal...@microsoft.com wrote:
Hi Chris <mailto:chris...@chromium.org>,
This change will result in second 'OK' example mentioned in Spec.
Thank you,
Sejal
------------------------------------------------------------------------
*From:* Chris Harrelson <chris...@chromium.org>
*Sent:* Wednesday, April 23, 2025 8:51 PM
*To:* Mike Taylor <miketa...@chromium.org>
*Cc:* Sejal Anand <sejalan...@microsoft.com>;
blink-dev@chromium.org <blink-dev@chromium.org>; Ragvesh
Sharma's Organization (FTE) <ragvesh_org_...@microsoft.com>
*Subject:* [EXTERNAL] Re: [blink-dev] Intent to Ship: Ignore
Letter Spacing in Cursive Scripts
Hi, could you clarify which of the renderings in the example
27 table <https://www.w3.org/TR/css-text-3/#cursive-tracking>
will result? Is it the first "good" one or the second?
On Tue, Apr 22, 2025 at 11:18 AM Mike Taylor
<miketa...@chromium.org> wrote:
On 4/21/25 11:20 PM, 'Sejal Anand' via blink-dev wrote:
Contact emails
sejalan...@microsoft.com
Explainer
None
Specification
https://www.w3.org/TR/css-text-3/#cursive-tracking
Summary
This feature adds logic to ignore the letter-spacing
setting for cursive scripts as specified by the web
author, in line with the spec, to ensure that letter
spacing does not disrupt word structure and aims to
produce better user experience for users relying on
cursive scripts.
The spec suggests that the UA may apply letter spacing to
cursive scripts by translating the total extra space into
cursive elongation or compression. Otherwise, if the UA
cannot expand text from a cursive script without breaking
its cursive connections, it must not apply spacing
between any pair of that script’s typographic letter
units at all.
Ignoring letter spacing altogether for cursive scripts is
simpler and helps avoid performance issues as handling
spacing for such scripts requires complex calculations to
maintain cursive connections and account for
script-specific factors like elongation glyphs,
typefaces, and calligraphy preferences. With this
feature, Chromium ensures that cursive scripts will be
readable and properly spaced, even if the fonts don’t
have advanced typographic features.
The scripts that we are proposing to apply this to in
Chromium are Arabic, Hanifi Rohingya, Mandaic, Mongolian,
N’Ko, Phags Pa, and Syriac as these scripts are
considered cursive as per spec.
Blink component
Blink>Fonts
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EFonts%22>
TAG review
None
TAG review status
Not applicable
Can you say why?
Risks
Interoperability and Compatibility
Other browsers currently do not support this feature, as
there are open bugs for handling letter-spacing settings
in cursive scripts. Our implementation introduces a
behavior change that aligns with the spec by ignoring
letter-spacing settings to preserve script integrity,
prioritizing readability.
Since this behavior diverges from other browsers, there
are interoperability differences. With this change,
letter spacing will no longer be applied to cursive
scripts, even if specified by web authors. It’s important
to note that this could affect sites relying on
letter-spacing for cursive scripts.
Can you please say a little more here? Is this going to
strictly improve readability, or will there be cases where
a site appears "broken" to users or authors as a result of
this change?
/Gecko/: No signal
(https://bugzilla.mozilla.org/show_bug.cgi?id=1342835)
/WebKit/: No signal
(https://bugs.webkit.org/show_bug.cgi?id=195745)
Can you file formal position requests? Open bugs aren't
quite the same thing.
/Web developers/: Positive
(https://github.com/harfbuzz/harfbuzz/issues/358) Three
users have noted they are impacted by the CRBug.
/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
If I'm trying to figure out why my site is now different
between Chromium-based browsers and Firefox, is there
anything that DevTools can do to help me?
Will this feature be supported on all six Blink platforms
(Windows, Mac, Linux, ChromeOS, Android, and Android
WebView)?
Yes
Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?
No
No, WPT tests were not added because the
third_party/blink/web_tests/external/wpt/fonts directory
only contains auxiliary font files used by other tests.
However, there is an internal web test for this feature:
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/fonts/letter-spacing.html
There are few impacted tests where letter spacing is
applied on Arabic texts, these are being replaced with
Hebrew -
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/external/wpt/html/canvas/element/text/2d.text.measure.selection-rects-baselines.tentative.html
https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/web_tests/svg/text/textpath-connected-glyphs-expected.png
Flag name on about://flags
None
Finch feature name
IgnoreLetterSpacingInCursiveScripts
Rollout plan
Will ship enabled for all users
Requires code in //chrome?
False
Tracking bug
https://issues.chromium.org/issues/40618336
Estimated milestones
Shipping on desktop
137
Shipping on Android
137
Shipping on WebView
137
Shipping on iOS
137
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/4885407109742592?gate=6206904659083264
This intent message was generated by Chrome Platform
Status <https://chromestatus.com/>.
--
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 visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/KUXP153MB1400FE8EC556E78C1D98DCB4D4BB2%40KUXP153MB1400.APCP153.PROD.OUTLOOK.COM
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/KUXP153MB1400FE8EC556E78C1D98DCB4D4BB2%40KUXP153MB1400.APCP153.PROD.OUTLOOK.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 visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4bb27d17-9a02-4a9b-a517-e746c0d25577%40chromium.org
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4bb27d17-9a02-4a9b-a517-e746c0d25577%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 visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/KUXP153MB1400EF4CF7EE768FA9553C7AD48D2%40KUXP153MB1400.APCP153.PROD.OUTLOOK.COM
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/KUXP153MB1400EF4CF7EE768FA9553C7AD48D2%40KUXP153MB1400.APCP153.PROD.OUTLOOK.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 visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8VRTMZRiMgyk%2B0jwmyPV9Op6-%3Dgt_gv3Ghqhjj9rYcfg%40mail.gmail.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8VRTMZRiMgyk%2B0jwmyPV9Op6-%3Dgt_gv3Ghqhjj9rYcfg%40mail.gmail.com?utm_medium=email&utm_source=footer>.