-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Open
0 / 20 of 2 issues completedLabels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work lista: typographyText rendering, possibly libtxtText rendering, possibly libtxtplatform-webWeb applications specificallyWeb applications specificallyteam-webOwned by Web platform teamOwned by Web platform teamtriaged-webTriaged by Web platform teamTriaged by Web platform team
Description
What is WebParagraph?
It's a new implementation of Flutter's text layout system on the web (ParagraphBuilder, Paragraph, etc). This new implementation takes advantage of new browser APIs, namely Enhanced TextMetrics.
Why?
The browser already contains a full text layout system, but because it's not exposed to web apps, we had to bundle a lot of the same bits in each Flutter web app. By utilizing Enhanced TextMetrics, we can achieve the following:
- Reduce code size: Delete some parts of the text layout system that we don't need anymore: HarfBuzz, Font management, Freetype, Brotli decoder (was needed for Woff2), etc.
- Eliminate fallback fonts: Fallback fonts cost extra network bandwidth and add complexity. They were needed because we didn't have access to system/browser fonts.
- Eliminate the tofu box issue!
- Apple Emoji !
Here's a few examples of issues that we aim to close with WebParagraph:
- flutter web: use the device's default font instead of loading the large font filet from fonts.gstatic.com #163823
- Flutter 3.24 doesnt support Apple emojis #157918
- [Web] Don't show tofu boxes temporarily until suitable fonts are found and downloaded. #169455
- [web] Some Unicode fallbacks look bad #129329
- [web] Standardized way to preload emoji font using CanvasKit #78422
- [Web] [CanvasKit][Feature Request]: Load fonts as soon as detecting browser locale #77023
How can I try it out?
Thanks for your interest in this project! Please subscribe to this issue to be notified when WebParagraph is ready for testing by our users.
tirth-patel-nc, piedcipher, pedromassango, cheymos, HosamHasanRamadan and 48 moredabaisuv and Inmanu2024tirth-patel-nc, piedcipher, yjbanov, pedromassango, li8607 and 14 moretirth-patel-nc, piedcipher, yjbanov, pedromassango, ksokolovskyi and 18 moretirth-patel-nc, piedcipher, yjbanov, pedromassango, li8607 and 14 moredabaisuv and Inmanu2024
Sub-issues
Metadata
Metadata
Labels
P1High-priority issues at the top of the work listHigh-priority issues at the top of the work lista: typographyText rendering, possibly libtxtText rendering, possibly libtxtplatform-webWeb applications specificallyWeb applications specificallyteam-webOwned by Web platform teamOwned by Web platform teamtriaged-webTriaged by Web platform teamTriaged by Web platform team