Skip to content

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

@kojiishi

Description

@kojiishi

I'd like to bring up a discussion by sharing our experience on implementing a 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    css-text-4i18n-clreqChinese language enablementi18n-jlreqJapanese language enablementi18n-trackerGroup bringing to attention of Internationalization, or tracked by i18n but not needing response.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions