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)
_______________________________________________
dev-platform mailing list
dev-platform@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-platform