Thanks Vlad. Answers inline. On Tue, Mar 4, 2025 at 10:34 PM Vladimir Levin <vmp...@chromium.org> wrote:
> > > On Tuesday, March 4, 2025 at 11:17:42 AM UTC-5 Chromestatus wrote: > > Contact emails schen...@chromium.org > > Explainer https://github.com/whatwg/html/pull/10873 > > Specification https://github.com/whatwg/html/pull/10873 > > Summary > > The <canvas> DOM element, like all DOM elements, accepts a `lang` > attribute that is used to define language specific treatment for font > selection (when fonts have locale specific glyphs). Browsers respect this > attribute. However, when an OffscreenCanvas is created there is no way to > set locale information, possibly resulting in a state where an offscreen > canvas produces rendered results that differ from the canvas in which it's > output is used. This feature adds a `lang` IDL attribute to > CanvasTextDrawingStyles to give developers direct control over the language > for the text drawing and metrics. > > > Blink component Blink>Canvas > <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ECanvas%22> > > TAG review None > > TAG review status Not applicable > > > Is there a reason for no TAG review? I'm not sure if there's an exception > that applies here. > I didn't consider TAG review because the discussion in WHATWG viewed this as fixing an oversite in the canvas spec, and from a technical/ergonomics perspective it seems pretty straight forward. Happy to see if the TAG have any opinions though so I'll file an issue. > > Risks > > > Interoperability and Compatibility > > None > > > *Gecko*: No signal (https://github.com/mozilla/standards-positions/issues/ > 1150) Non official support in WHATWG meetings. > > *WebKit*: Support (https://github.com/WebKit/ > standards-positions/issues/439) > > *Web developers*: No signals > > > Although this seems like a small feature, having no web developer signals > is a bit unfortunate. Do you know of any cases where this behavior is > currently broken and would be fixed by the change? > Finding reports of developers having problems is a bit tricky, in part because "canvas" is also a very widely used online learning framework with lots of people who care about language. Anyways, this is one report of offscreen canvas giving the wrong metrics <https://forum.nwoods.com/t/html-lang-set-to-ja-or-zh-the-text-will-exceed-the-frame/16450> for text due to the lack of offscreen language support (exactly what this intent is expected to fix). Hitting the problem of offscreen/DOM inconsistency that we are trying to fix here would require a localized application using a common font for multiple locales with developers/users attentive enough to notice problems and report them. Another way of looking at Web Developer signals is that this is a prerequisite spec addition for the highly demanded Extended Text Metrics feature set. Without this we don't get better canvas text in general. > > > > *Other signals*: > > WebView application risks > > Does this intent deprecate or change behavior of existing APIs, such that > it has potentially high risk for Android WebView-based applications? > > Pure addition of functionality. > > > Debuggability > > None > > > Will this feature be supported on all six Blink platforms (Windows, Mac, > Linux, ChromeOS, Android, and Android WebView)? Yes > > Feature is useful on all platforms and important for localization. > > > Is this feature fully tested by web-platform-tests > <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md> > ? Yes > > https://wpt.fyi/results/html/canvas/element/manual/text? > label=master&label=experimental canvas.2d.lang.dynamic.html > canvas.2d.lang.empty.canvas.html canvas.2d.lang.inherit.canvas.html > canvas.2d.lang.inherit.disconnected.canvas.html canvas.2d.lang.inherit. > document.disconnected.canvas.html canvas.2d.lang.inherit.document.html > canvas.2d.lang.html https://wpt.fyi/results/html/ > canvas/offscreen/manual/text?label=master&label=experimental > canvas.2d.offscreen.lang.inherit.html canvas.2d.offscreen.lang.html > canvas.2d.offscreen.transferred.lang.inherit.document.html > canvas.2d.offscreen.transferred.lang.inherit.html > canvas.2d.offscreen.transferred.lang.html > canvas.2d.offscreen.worker.lang.inherit.html > canvas.2d.offscreen.worker.lang.html > https://wpt.fyi/results/html/canvas/element/text?label= > master&label=experimental 2d.text.lang.default.html > 2d.text.lang.valid.html https://wpt.fyi/results/html/ > canvas/offscreen/text?label=master&label=experimental > 2d.text.lang.default.html 2d.text.lang.valid.html > > > Flag name on about://flags Experimental Web Platform Features > > Finch feature name CanvasTextLang > > Non-finch justification > > This is a feature addition with very very little expected impact on > performance or changes in existing website functionality. > > > Requires code in //chrome? False > > Tracking bug https://issues.chromium.org/issues/385006131 > > Availability expectation WebKit implementation is moving forward. There > is agreement that the feature is needed and implementation is not complex. > I would anticipate all browsers have implemented within 2 years. > > Adoption expectation I would expect that the feature is adopted by > default, in that the default value for the new attribute is likely to be by > far the most common. So sites will immediately "adopt" the feature and get > the benefits without taking any action. > > > It wasn't immediately clear: what's the default value that would be used? > Default is "inherit", the behavior of which matches DOM canvas right now, and would make offscreen canvas match DOM canvas. > > > Adoption plan The feature is publicized at https://blogs.igalia.com/ > schenney/canvas-localization-support/ and will have an MDN page. > > Non-OSS dependencies > > Does the feature depend on any code or APIs outside the Chromium open > source repository and its open-source dependencies to function? > None. > > Sample links > https://blogs.igalia.com/schenney/canvas-localization-support > > Estimated milestones Shipping on desktop 136 DevTrial on desktop 135 Shipping > on Android 136 DevTrial on Android 135 Shipping on WebView 136 > > Anticipated spec changes > > Open questions about a feature may be a source of future web compat or > interop issues. Please list open issues (e.g. links to known github issues > in the project for the feature specification) whose resolution may > introduce web compat/interop risk (e.g., changing to naming or structure of > the API in a non-backward-compatible way). > None. > > Link to entry on the Chrome Platform Status https://chromestatus.com/ > feature/5066778773028864?gate=5145440662847488 > > Links to previous Intent discussions Intent to Prototype: > https://groups.google.com/a/chromium.org/g/blink-dev/c/WEjhPwI6lLc > > > This intent message was generated by Chrome Platform Status > <https://chromestatus.com>. > > -- 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 visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGsbWzSYuQJfmu_MWGOCOOWufKqk6zH1miOqJ_B6E%3DOx9-2RnA%40mail.gmail.com.