[csswg-drafts] [css-text-4] Glyphs may collide by "Fullwidth Punctuation Collapsing" (#8292)

kojiishi has just created a new issue for https://github.com/w3c/csswg-drafts:

== [css-text-4] Glyphs may collide by "Fullwidth Punctuation Collapsing" ==
I'd like to bring up a discussion by sharing our experience on implementing [a tool](https://github.com/googlefonts/chws_tool) that adds the functionality of "[Fullwidth Punctuation Collapsing]" in fonts as the OpenType `chws` feature.

This worked quite well for Noto CJK, and the fonts are shipping as part of Android and ChromeOS for months.

When we tried to support some other fonts, there were some cases where glyphs collide. We started adding an "exception list" for some fonts. When we tried to support more fonts, a good number of collisions were found. As we tested, the exception list grew longer and longer. Some of them are from font creators not knowing which glyphs must have enough spacing. Some of them are intentional, such as curly braces in extra bold fonts not being able to fit in half-width.

Given the experience, we implemented the automatic glyph bounding box detection in the tool. The currnet implementation is rather simple, just exclude the code point if its glyph does not have expected spacing.

Using `halt` is another option, but there are many fonts that don't have `halt`. I guess there are multiple ways to resolve this, including not to do anything but let authors turn the feature off for such fonts or for specific pairs, but I'd like to hear what people thinks.

/cc @fantasai @litherum @frivoal @MurakamiShinyu 

[Fullwidth Punctuation Collapsing]: https://drafts.csswg.org/css-text-4/#fullwidth-collapsing


Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/8292 using your GitHub account


-- 
Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config

Received on Monday, 9 January 2023 21:12:35 UTC