Skip to content

[web] Render soft hyphens (Hyphens API) on WebParagraph #193506

Description

@dbebawy

#185152 adds a Hyphens API (ParagraphStyle.hyphens, Text.hyphens, etc.) so that soft hyphens (U+00AD) render as a visible hyphen at line breaks. On native platforms the engine passes this through to Skia's ParagraphStyle::setRenderSoftHyphens.

CanvasKit and Skwasm now render soft hyphens: CanvasKit in #194339 (with Skia's binding from https://skia-review.googlesource.com/c/skia/+/1378836) and Skwasm in #193850. WebParagraph, the experimental pure-Dart text renderer, still stores hyphens without acting on it: its line breaker and painter don't draw a hyphen when a line breaks at U+00AD.

Splitting this out of #18443 so that #185152 can close that issue for native platforms, per #185152 (comment).

Related: #189617 (customizing the hyphen string), #189234 (hyphen glyph excluded from selection highlight).

Activity

  1. added
    c: new featureNothing broken; request for a new capability
    engineflutter/engine related. See also e: labels.
    a: typographyText rendering, possibly libtxt
    platform-webWeb applications specifically
    e: web_canvaskitCanvasKit (a.k.a. Skia-on-WebGL) rendering backend for Web
    e: web_skwasmSkwasm rendering backend for web
    team-webOwned by Web platform team
    on Sep 29, 2026
  2. added a commit that references this issue on Oct 5, 2026
  3. 2 remaining items

  4. added 3 commits that reference this issue on Oct 27, 2026
    6bbb470
    24e828b
    88b5e70
  5. added 3 commits that reference this issue on Oct 30, 2026
    bc11571
    31a0908
    11db239
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

a: typographyText rendering, possibly libtxtc: new featureNothing broken; request for a new capabilitye: web_canvaskitCanvasKit (a.k.a. Skia-on-WebGL) rendering backend for Webe: web_skwasmSkwasm rendering backend for webengineflutter/engine related. See also e: labels.platform-webWeb applications specificallyteam-webOwned by Web platform team

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions