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.