Bug 181504

Summary: Font scaling at whole pixel increments causes rendering inconsistencies for vw units
Product: WebKit Reporter: Michael Argentini <michael>
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: NEW ---    
Severity: Normal CC: bfulgham, mmaxfield, simon.fraser, webkit-bug-importer, zalan
Priority: P2 Keywords: InRadar
Version: Other   
Hardware: All   
OS: All   

Description Michael Argentini 2018-01-10 16:00:15 PST
Fonts are only scaled using whole pixel increments as opposed to fractional (sub) pixels. This causes jumpy/stuttering text scaling and inconsistent text wrapping when using vw and rem units. A simple example of this can be viewed by visiting the URL below in Safari and any other major browser, like Chrome, Firefox, etc. Resize the window widths and watch the scaling of text. Safari renders text that stutters and wraps at arbitrary widths due to the whole pixel rounding. Other browsers do not, and they remain performant. 

This is a request to favor rendering integrity and compatibility across browser over the current approach of maximizing cache hits.


Thanks for listening, and for a great rendering engine! But please change this!
Comment 1 Radar WebKit Bug Importer 2018-01-11 11:54:36 PST
Comment 2 Myles C. Maxfield 2018-01-11 14:15:23 PST
Inside FontDescription.h:

unsigned computedPixelSize() const { return unsigned(m_computedSize + 0.5f); }
Comment 3 Myles C. Maxfield 2018-01-18 22:26:15 PST
Comment 4 Michael Argentini 2018-12-14 07:26:08 PST
Any news on this issue? Now that Microsoft will be using Chromium for Edge, it seems that all other major browsers will be handling font size changes at fractional pixels and rendering pages consistently with each other at any size. We need to give people reasons to keep using webkit/Safari!