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
<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
<https://bugzilla.mozilla.org/show_bug.cgi?id=1342835>)
/WebKit/: No signal (https://bugs.webkit.org/show_bug.cgi?id=195745
<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
<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
<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/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
<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
<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
<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.