Skip to content

[web] Remove CanvasKit's dependency on ICU data #112820

@mdebbar

Description

@mdebbar

The goal here is to remove ICU data from the CanvasKit wasm bundle (~500kb gzipped).

Right now, SkParagraph depends on ICU data to do things like line breaks, bidi regions, grapheme and word boundaries. Instead, we propose that the flutter web engine supply all the necessary bits such that ICU isn't needed anymore.

To get there, we will be using the following:

  1. Intl.Segmenter for grapheme and word boundaries.
  2. v8BreakIterator for line breaks on Chrome (and our own implementation for other browsers).
  3. Our own implementation for Bidi regions.

Metadata

Metadata

Assignees

Labels

P1High-priority issues at the top of the work lista: sizeReducing IPA/APK/JS sizesa: typographyText rendering, possibly libtxtdependency: skiaSkia team may need to help use: web_canvaskitCanvasKit (a.k.a. Skia-on-WebGL) rendering backend for Webperf: app sizePerformance issues related to app size (binary/code size) or disk spaceplatform-webWeb applications specifically

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions