According to https://issues.chromium.org/u/2/issues/40160099#comment20 -
it is not being pursued.
On 9/12/24 2:56 AM, Joe Lewis wrote:
Is this initiative progressing. I'm writing a web-based word processor
and this will save a lot of efforts.
Curious to know if this is something that's still being pursued or
should I write my own layouting engine?
Thanks,
Joe
On Thursday 16 December, 2021 at 2:30:17 pm UTC+5:30 Frank Tang wrote:
I am proposing an enhancement of Intl.Segmenter API (adding line
break support) to TC39 for ECMA402 (see
https://github.com/tc39-transfer/proposal-intl-segmenter-v2 ) The
API expose "line break opportunity" of text which implement the
Unicode® Standard Annex #14
<https://github.com/w3c/css-houdini-drafts/issues/14> UNICODE LINE
BREAKING ALGORITHM (see https://www.unicode.org/reports/tr14/)
so it can be used for developer to use it with
1. multiple lines of text rendering in <CANVAS>
2. jsPDF and other context which need to layout text into
multiple lines
3. SVG multiple lines of text
During the stage advancement discussion, one delegate suggest me
to reach out to Houdini to see which one of the following is better
1. Instead of adding that to ECMA402 as a low level API, leave
that part of job (breaking text into multiple lines of text)
to Houdini to add such API to empower developers to use it on
<CANVAS>, SVG , or for jsPDF and therefore there are no need
to add them into ECMA402, OR
2. TC39 add such low level API into ECMA402 to allow developers
to use that with the currently defined Houdini APIs, OR
3. TC39 add such low level API into ECMA402 to allow Houdini to
depends on Intl.Segmenter for the job of finding out
linguistic line break opportunity.
Please comment so we can move forward better in TC39 / ECMA402. Thanks
Similar question to you- do you think the enhancement to
Intl.Segmenter will be conflict or redundant to your API? or will
it complement the API you intend to implement?
On Mon, Dec 14, 2020 at 10:30 AM 'Sushanth Rajasankar' via
blink-dev <blin...@chromium.org> wrote:
Thanks, Ashley. I'm excited to see that we can help simplify
code and address your use case. Looking forward to your
feedback once we have a prototype in Chromium.
------------------------------------------------------------------------
*From:* Ashley Gullen <ash...@scirra.com>
*Sent:* Wednesday, December 9, 2020 2:53 AM
*To:* Sushanth Rajasankar <sushanth....@microsoft.com>
*Cc:* blin...@chromium.org <blin...@chromium.org>; Travis
Leithead <travis....@microsoft.com>
*Subject:* [EXTERNAL] Re: [blink-dev] Re: Intent to Prototype:
Canvas Formatted Text
This would be good for our game engine Construct 3
(www.construct.net
<https://nam06.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.construct.net%2F&data=04%7C01%7CSushanth.Rajasankar%40microsoft.com%7Caeae998363ce4e73f49108d89c30b767%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637431080336822305%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=nrKkgGSHQNxJMC724eJ30MgiN%2BitYpfjchzWnWELkLE%3D&reserved=0>)
as well.
Our engine renders entirely to a canvas, and for displaying
text we use the canvas text APIs. Since ~2012 we've had to
maintain our own custom word wrap engine in JavaScript to
handle multi-line text, and I doubt it does everything this
proposal does especially with regards to break opportunities
and bidi text, so it would be great if the browser could
handle that for us. I do think backwards compatibility would
be tricky though, as switching existing content to a different
word wrap engine will probably result in unwanted differences,
but there's not much that can be done about that.
On Tue, 8 Dec 2020 at 21:27, 'Sushanth Rajasankar' via
blink-dev <blin...@chromium.org> wrote:
Fixing the row for "Web Developer signals"
We do have positive signals from web developers, they are
interested in adopting this API for both performance and
correctness reasons
nhelfman · GitHub
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnhelfman&data=04%7C01%7CSushanth.Rajasankar%40microsoft.com%7Caeae998363ce4e73f49108d89c30b767%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637431080336832260%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=VlWmi4gNHtCAdi7aNobH2oaJovJ651u7xOrrSbV%2BWXw%3D&reserved=0>
-
Excel Online - Microsoft
bonmotbot (Igor Kopylov) · GitHub
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fbonmotbot&data=04%7C01%7CSushanth.Rajasankar%40microsoft.com%7Caeae998363ce4e73f49108d89c30b767%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637431080336832260%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Inf8rhPrPgAJTtKtsvRokBOCrzK6Umn8pUo8apcIZaQ%3D&reserved=0>
-
GSuite - Google
Thanks,
Sushanth
------------------------------------------------------------------------
*From:* 'Sushanth Rajasankar' via blink-dev
<blin...@chromium.org>
*Sent:* Friday, December 4, 2020 4:36 PM
*To:* blin...@chromium.org <blin...@chromium.org>
*Cc:* Travis Leithead <travis....@microsoft.com>
*Subject:* [EXTERNAL] [blink-dev] Intent to Prototype:
Canvas Formatted Text
Contact emails
sush...@microsoft.com, tra...@microsoft.com
Explainer
https://github.com/WICG/canvas-formatted-text/blob/main/README.md
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FWICG%2Fcanvas-formatted-text%2Fblob%2Fmain%2FREADME.md&data=04%7C01%7CSushanth.Rajasankar%40microsoft.com%7Caeae998363ce4e73f49108d89c30b767%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637431080336842214%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=PPZGLccssO71KlyTUUcLwEjN8vDsssmTegWuKrZwHcM%3D&reserved=0>Specification
None
Summary
Easily render multiline formatted text in Canvas, while
letting the browser handle the hard parts of line-breaking
and other language-specific constraints.
Blink component
Blink>Canvas
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.chromium.org%2Fp%2Fchromium%2Fissues%2Flist%3Fq%3Dcomponent%3ABlink%253ECanvas&data=04%7C01%7CSushanth.Rajasankar%40microsoft.com%7Caeae998363ce4e73f49108d89c30b767%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637431080336842214%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=fuB5wSfM58VwIwKaDazVEKApWypB7hv6BzASfIumTG8%3D&reserved=0>Motivation
You have a paragraph of text. You want to write it to the
canvas. Canvas only supplies fill/strokeText-- only line
of text at a time. Where do you break your paragraph up?
Doing this is JavaScript is hard and error prone. For
example, the author must consider: where are the break
opportunities between words or Graphemes? Break
opportunities are based primarily on the Unicode Spec but
also use dictionaries for languages like Thai and French
that dictate additional line breaking rules. Other
considerationincludeidentifying grapheme clusters,
handling Bidi text, proper text shaping and kerning.
Luckily, the browser already has a powerful line breaking,
text shaping component used for regular HTML layout. This
feature enables authors to tap into the browser's layout
feature while maintaining control over the layout of
multi-line formatted text.
Initial public proposal
https://github.com/WICG/proposals/issues/3
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2FWICG%2Fproposals%2Fissues%2F3&data=04%7C01%7CSushanth.Rajasankar%40microsoft.com%7Caeae998363ce4e73f49108d89c30b767%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637431080336852168%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=9D%2BBkgANFiTfpqRepnDofLhx6%2FvJoLGeoqfxajIuWrQ%3D&reserved=0>
TAG review
None
TAG review status
Pending
Risks
This feature exposes new functionality to the Canvas.
Similar behavior is being exposed to the CSS Houdini
Layout API. Our goal is to find a good balance in terms of
design that harmonizes the two concepts.
Interoperability and Compatibility
None
Gecko: No signal
WebKit: No signal
Web developers: No signals
Is this feature fully tested by web-platform-tests
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromium.googlesource.com%2Fchromium%2Fsrc%2F%2B%2Fmaster%2Fdocs%2Ftesting%2Fweb_platform_tests.md&data=04%7C01%7CSushanth.Rajasankar%40microsoft.com%7Caeae998363ce4e73f49108d89c30b767%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637431080336852168%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=oMOeWm4Qr8VRbyno8zhhfcHWpGI0j%2FnpiyMDfxDmmT0%3D&reserved=0>?
No
Tracking bug
https://bugs.chromium.org/p/chromium/issues/detail?id=1155764
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.chromium.org%2Fp%2Fchromium%2Fissues%2Fdetail%3Fid%3D1155764&data=04%7C01%7CSushanth.Rajasankar%40microsoft.com%7Caeae998363ce4e73f49108d89c30b767%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637431080336852168%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=d00eqYe9gEumXTtPazSHYF2W1pFVwFh3%2F9uweStTAHE%3D&reserved=0>
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5996048675766272
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromestatus.com%2Ffeature%2F5996048675766272&data=04%7C01%7CSushanth.Rajasankar%40microsoft.com%7Caeae998363ce4e73f49108d89c30b767%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637431080336862132%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Wwyn%2B8e79rgNyM811Mrex%2FONbesUdtHPlmBk7twA1%2FU%3D&reserved=0><https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromestatus.com%2Ffeature%2F5996048675766272&data=04%7C01%7CSushanth.Rajasankar%40microsoft.com%7Caeae998363ce4e73f49108d89c30b767%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637431080336862132%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=Wwyn%2B8e79rgNyM811Mrex%2FONbesUdtHPlmBk7twA1%2FU%3D&reserved=0>
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fchromestatus.com%2Ffeature%2F5996048675766272&data=04%7C01%7CSushanth.Rajasankar%40microsoft.com%7Caeae998363ce4e73f49108d89c30b767%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637431080336872084%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=p9vt7HKqtZJM3X3OUt5gqDeB1x6GYsJng7z57BIueEk%3D&reserved=0>
--
You received this message because you are subscribed to
the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails
from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/MN2PR00MB060671AEFC6F81BCB9725037FDF09%40MN2PR00MB0606.namprd00.prod.outlook.com
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fa%2Fchromium.org%2Fd%2Fmsgid%2Fblink-dev%2FMN2PR00MB060671AEFC6F81BCB9725037FDF09%2540MN2PR00MB0606.namprd00.prod.outlook.com%3Futm_medium%3Demail%26utm_source%3Dfooter&data=04%7C01%7CSushanth.Rajasankar%40microsoft.com%7Caeae998363ce4e73f49108d89c30b767%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637431080336872084%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=aVUDlLqL2GPMD5L7LcSWJ41UOe4EQjqXGFytpw%2FG0pw%3D&reserved=0>.
--
You received this message because you are subscribed to
the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails
from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DM6PR00MB060336F0695308E30C6499C8FDCD9%40DM6PR00MB0603.namprd00.prod.outlook.com
<https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgroups.google.com%2Fa%2Fchromium.org%2Fd%2Fmsgid%2Fblink-dev%2FDM6PR00MB060336F0695308E30C6499C8FDCD9%2540DM6PR00MB0603.namprd00.prod.outlook.com%3Futm_medium%3Demail%26utm_source%3Dfooter&data=04%7C01%7CSushanth.Rajasankar%40microsoft.com%7Caeae998363ce4e73f49108d89c30b767%7C72f988bf86f141af91ab2d7cd011db47%7C0%7C0%7C637431080336882040%7CUnknown%7CTWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D%7C1000&sdata=qg83LnHBlKSSgcJBwd2481nNfExU%2BYr3Hxy2AfsrM5Q%3D&reserved=0>.
--
You received this message because you are subscribed to the
Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from
it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/BYAPR00MB059824555DAD1801B8F6933AFDC79%40BYAPR00MB0598.namprd00.prod.outlook.com
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/BYAPR00MB059824555DAD1801B8F6933AFDC79%40BYAPR00MB0598.namprd00.prod.outlook.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google
Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/92387448-12d8-43b7-baef-a8e97f032e2bn%40chromium.org
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/92387448-12d8-43b7-baef-a8e97f032e2bn%40chromium.org?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to blink-dev+unsubscr...@chromium.org.
To view this discussion on the web visit
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/4fc7b100-d613-43d3-b64d-8d29f912973f%40chromium.org.