Closed Bug 1019448 Opened 6 years ago Closed 2 years ago

Break underlines for descenders

Categories

(Core :: Layout: Block and Inline, defect)

32 Branch
x86
macOS
defect
Not set

Tracking

()

RESOLVED DUPLICATE of bug 1411922

People

(Reporter: m+bugzilla, Unassigned)

References

Details

Attachments

(1 file)

User Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.9; rv:32.0) Gecko/20100101 Firefox/32.0 (Beta/Release)
Build ID: 20140602072051

Steps to reproduce:

On Safari beta for Yosemite, it breaks underlines for descenders. Firefox should also do that.
I'm tempted to dup this on bug 812990 as it will implement text-decoration-skip: ink; it actually looks like safari breaks the specifications here as the initial value is meant to be "objects" not "objects ink".
See Also: → 812990
Component: Untriaged → Layout: Block and Inline
Product: Firefox → Core
The initial value for new properties is chosen largely due to compat concerns. If it's better and doesn't break a lot of sites to have a different initial value, we could ask the CSSWG to change the initial value.
According to 
CSS2.x, section E.2 Painting order
https://www.w3.org/TR/CSS21/zindex.html#painting-order
and
https://www.w3.org/TR/CSS22/zindex.html#painting-order
(look for 
4. For inline elements:
  1.
    1.
      1. any underlining affecting the text of the element (...) and 3. the text. 
)
underlining painting is done before glyphs are painted; therefore, if the underlining crosses the descenders (glyphs like 'g', 'j', 'p', 'q', 'y' have a descender), then the descender part must overlap the underline. This is also re-confirmed by CSS3 Text-decoration:

https://www.w3.org/TR/css-text-decor-3/#underline-auto

The descender of black "p" overlaps the blue underline in figure 3. 

We have a test 
(you must install Ahem font for this test:
AHEM____.TTF
from
https://www.w3.org/Style/CSS/Test/Fonts/Ahem/
)
on this:

http://test.csswg.org/suites/css2.1/nightly-unstable/html4/painting-order-underline-001.htm

Firefox 52+ and Chrome 60+ pass this test.

attachment 8433172 [details] would be good, correct for a 'text-decoration-skip: ink' test.
Sounds likes Chrome has just implemented this. Any chance we can get it triaged and maybe confirmed and assigned?
Duplicate of this bug: 1461207
Status: "UNCONFIRMED" seems to be wrong.
Duping forward to bug 1411922, which covers the text-decoration-skip-ink property (now that it has been split out from text-decoration-skip).
Status: UNCONFIRMED → RESOLVED
Closed: 2 years ago
Resolution: --- → DUPLICATE
Duplicate of bug: 1411922
You need to log in before you can comment on or make changes to this bug.