Bug 240213

Summary: .measureText() returns TextMetrics object with rounded values for bounding box
Product: WebKit Reporter: Andreas <andreas>
Component: Layout and RenderingAssignee: Rob Buis <rbuis>
Status: RESOLVED FIXED    
Severity: Normal CC: ahmad.saleem792, andreas, bfulgham, mmaxfield, sabouhallawa, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: Safari 15   
Hardware: Mac (Intel)   
OS: macOS 10.15   
See Also: https://bugs.webkit.org/show_bug.cgi?id=250020
Attachments:
Description Flags
Comparison between browsers
none
Test element none

Andreas
Reported 2022-05-08 01:34:18 PDT
Created attachment 459011 [details] Comparison between browsers The values of the bounding box returned by CanvasRenderingContext2D.measureText() are rounded resulting in imprecise calculations in typographic centered applications (except for .actualBoundingBoxRight). The issue might be related with: https://bugs.webkit.org/show_bug.cgi?id=225695
Attachments
Comparison between browsers (403.06 KB, image/png)
2022-05-08 01:34 PDT, Andreas
no flags
Test element (668 bytes, text/html)
2022-05-08 01:35 PDT, Andreas
no flags
Andreas
Comment 1 2022-05-08 01:35:08 PDT
Created attachment 459012 [details] Test element
Radar WebKit Bug Importer
Comment 2 2022-05-15 01:35:13 PDT
Ahmad Saleem
Comment 3 2023-10-02 18:28:12 PDT
I think we have 'boundingBoxAscent' etc. in html/TextMetrics.h as 'float' but Chrome has it as 'double'. So changing it into 'double' might be solution.
Ahmad Saleem
Comment 4 2023-10-02 18:30:17 PDT
Rob Buis
Comment 5 2024-12-19 04:47:51 PST
EWS
Comment 6 2025-01-04 12:20:14 PST
Committed 288439@main (b3809e07dc65): <https://commits.webkit.org/288439@main> Reviewed commits have been landed. Closing PR #38203 and removing active labels.
Note You need to log in before you can comment on or make changes to this bug.