It'd be great to see support for this in Firefox but note that Chrome and
Safari currently do not implement fontBoundingBox* attributes
interoperably, as they return different values depending on the current
textBaseline. See this issue:
https://bugs.chromium.org/p/chromium/issues/detail?id=1183752
I think it comes down to a spec issue as something in the spec is not well
defined enough. It would be great to see a push to get this implemented
consistently across all major browsers.


On Mon, 19 Jun 2023 at 12:52, Jonathan Kew <[email protected]> wrote:

> As of Firefox 116, I intend to turn the fontBoundingBox{Ascent,Descent}
> attributes of the Canvas2D TextMetrics interface on by default.
>
> This was developed behind the dom.textMetrics.fontBoundingBox.enabled
> preference.
>
> Status in other browsers is:
>    Chrome - shipping
>    Safari - shipping
>
> Bug to turn on by default:
> https://bugzilla.mozilla.org/show_bug.cgi?id=1801198
>
> Standard: https://html.spec.whatwg.org/multipage/canvas.html#textmetrics
>
> Note that the standard also lists some more TextMetrics attributes that
> we have implemented behind additional (default-disabled) prefs; I'm not
> proposing to ship these at this stage as there are still some
> outstanding concerns around interoperability. Shipping the
> fontBoundingBox* attributes will match what Chrome currently exposes on
> their release channel, and AFAICT is the most-requested of these.
>
> JK
>
>
> - - -
> Original "Intent to Prototype" email, from 2020-01-17 (as I can't find
> it in the Google Groups archive to link to...)
> - - -
>
> The TextMetrics interface represents the dimensions of a piece of text
> in the canvas, as created by the CanvasRenderingContext2D.measureText()
> method.
>
> Currently, Gecko only supports the .width attribute, but authors would
> also like to determine the actual dimensions that the rendered text
> would have in both x- and y-directions, as well as overall font metrics
> to assist with line spacing, etc.
>
> Safari supports the full set of TextMetrics attributes as currently
> documented in the HTML spec. Chrome has recently shipped support for the
> actualBoundingBox attributes; it has support for additional font-metrics
> attributes behind the "experimental web features" flag.
>
> Bug: https://bugzilla.mozilla.org/show_bug.cgi?id=1102584
>
> Standard: https://html.spec.whatwg.org/multipage/canvas.html#textmetrics
>
> Note that there are a number of open issues regarding the spec (see
> https://github.com/w3ctag/design-reviews/issues/302#issuecomment-427996200).
>
> For this reason, I propose to implement these attributes behind several
> prefs, and initially enable only the actualBoundingBox* attributes by
> default (matching what Chrome has shipped); the others will be
> preffed-off, but can be selectively enabled by authors who want to
> experiment with them.
>
> Testing: Some (limited) tests are in
> web-platform/tests/2dcontext/drawing-text-to-the-canvas/2d.text.measure.*
>
> Platform coverage: All
>
> Restricted to secure contexts: No. The existing TextMetrics interface is
> not restricted, and other browsers support the extended attributes in
> all contexts.
>
> Target Release: 74
>
> Preferences behind which this will be implemented:
>    dom.textMetrics.actualBoundingBox.enabled  (default: true)
>    dom.textMetrics.baselines.enabled          (default: false)
>    dom.textMetrics.emHeight.enabled           (default: false)
>    dom.textMetrics.fontBoundingBox.enabled    (default: false)
>
> --
> You received this message because you are subscribed to the Google Groups "
> [email protected]" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion on the web visit
> https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/c54e4f87-3961-d076-4606-63aec9c4c4dd%40gmail.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"[email protected]" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/mozilla.org/d/msgid/dev-platform/CAABs73h%3DF%3DPC4oNOyoC5Dv629wtAPvnBT0_c-2ePd3R_Q-FnyQ%40mail.gmail.com.

Reply via email to