The following should render with no gap between 'abc' and 'def': abc<span style="font-size:0">w</span>def but on the latest nightlies there's a large gap. This causes us to misrender the php.net manual which uses this pattern (for whatever reason). My guess it that we need to special-case platformWidthForGlyph(Glyph glyph) for the case when the font size is zero, but I don't currently have access to a windows development platform to verify.
Created attachment 74601 [details] patch for chromium
Here's a patch for the chromium SimpleFont* classes that need them. The OS X code seems to all work fine. I'm pretty positive that the Safari Win port needs a similar patch, but I'm not sure exactly how to handle boundsForGDIGlyph() and don't have access to a dev environment to test code changes on Safari/Win so I've left that codepath alone.
Comment on attachment 74601 [details] patch for chromium please don't break everything when landing this.
Committed r72567: <http://trac.webkit.org/changeset/72567>
(In reply to comment #2) > I'm pretty positive that the Safari Win port needs a similar patch, but I'm not sure exactly how to handle boundsForGDIGlyph() I think you can handle it just like the other width functions.
BTW, the updated test fails on the upstream Mac port on Leopard (presumably an ATSUI vs. CoreText difference): -PASS s.getBoundingClientRect().width is 0 +FAIL s.getBoundingClientRect().width should be 0. Was 2147483648. http://build.webkit.org/results/Leopard%20Intel%20Debug%20(Tests)/r72675%20(23809)/results.html
Seems this should be closed?
The same behavior is seen on Safari windows. Please reopen the bug. I'm uploading the patch for the same.