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.

[https://groups.google.com/a/chromium.org/group/blink-dev/attach/f14d6b6cd768f/image.png?part=0.1&view=1]

Thank you,
Sejal
________________________________
From: Chris Harrelson <chris...@chromium.org<mailto:chris...@chromium.org>>
Sent: Wednesday, April 23, 2025 8:51 PM
To: Mike Taylor <miketa...@chromium.org<mailto:miketa...@chromium.org>>
Cc: Sejal Anand <sejalan...@microsoft.com<mailto:sejalan...@microsoft.com>>; 
blink-dev@chromium.org<mailto:blink-dev@chromium.org> 
<blink-dev@chromium.org<mailto:blink-dev@chromium.org>>; Ragvesh Sharma's 
Organization (FTE) 
<ragvesh_org_...@microsoft.com<mailto: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<mailto:miketa...@chromium.org>> wrote:

On 4/21/25 11:20 PM, 'Sejal Anand' via blink-dev wrote:

Contact emails
sejalan...@microsoft.com<mailto: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<mailto: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<mailto: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.

Reply via email to