Intent to Prototype: CJK punctuation kerning: the CSS `text-spacing-trim` property

138 views
Skip to first unread message

Koji Ishii

unread,
Aug 24, 2023, 2:23:29 AM8/24/23
to blink-dev, Lingqi Chi, fantasai, Myles C. Maxfield, Ian Kilpatrick

Contact emails

ko...@chromium.orglin...@chromium.org

Explainer

None

Specification

https://drafts.csswg.org/css-text-4/#text-spacing-trim-property

Design docs


https://docs.google.com/document/d/146Bupkg3nrNALL3bm8UElRd0vsLVH5807xubsnrthDw/edit?usp=sharing

Summary

Applies the kerning between CJK punctuation characters by removing glyph-internal spacings. This produces the visually pleasing typography as defined by JLREQ (Requirements for Japanese Text Layout) and CLREQ (Requirements for Chinese Text Layout). The desired effect is similar to the “kerning.” But unlike the Latin case, most fonts don’t provide the data for CJK punctuation characters, because the pairs and amounts are almost identical among different fonts (also see Avoiding Excessive Kerning below.) The rendering engine is responsible for determining the pairs and amounts. The property has several values. The initial implementation chooses a subset of the defined values, but which subset is TBD.



Blink component

Blink>Layout>Inline

Motivation

None



Initial public proposal

None

TAG review

None

TAG review status

Not applicable

Risks



Interoperability and Compatibility

None



Gecko: No signal

WebKit: Positive (https://github.com/w3c/csswg-drafts/issues/4246)

Web developers: Positive (https://twitter.com/fontplus/status/1405020633600233479) This tweet about a web font provider in Japan providing this feature in fotns got 485 likes as of Aug 2023.

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

None



Is this feature fully tested by web-platform-tests?

No. We plan to add tests.

Flag name on chrome://flags

None

Finch feature name

None

Non-finch justification

None

Requires code in //chrome?

False

Tracking bug

https://bugs.chromium.org/p/chromium/issues/detail?id=1463891

Estimated milestones

No milestones specified



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5170044014690304

This intent message was generated by Chrome Platform Status.
Reply all
Reply to author
Forward
0 new messages