text-decoration: underline; vanish at different font-size parts in vertical text mode

RESOLVED FIXED in Firefox 48

Status

()

Core
Layout: Text
RESOLVED FIXED
3 years ago
2 years ago

People

(Reporter: Momdo Nakamura, Assigned: xidorn)

Tracking

(Blocks: 1 bug, {testcase})

Trunk
mozilla48
testcase
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(firefox48 fixed)

Details

(URL)

MozReview Requests

()

Submitter Diff Changes Open Issues Last Updated
Loading...
Error loading review requests:

Attachments

(6 attachments)

(Reporter)

Description

3 years ago
Created attachment 8694691 [details]
testcase

User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0
Build ID: 20151201030226

Steps to reproduce:

following HTML fragment (for more details, see testcase):

<p style="writing-mode:vertical-rl; font-family:'メイリオ', font-size:16px">
ああ<span style="font-size:13px">あ</span>ああ
<p>
<p style="writing-mode:vertical-rl; font-family:Arial, font-size:20px">
aa<span style="font-size:36px">a</span>aa
<p>


Actual results:

Underlines are broken at smaller (or bigger) font text parts.


Expected results:

According to css-text-decor-3 spec (see figure 6) [1]:

> for underlines and overlines the UA must use a single thickness and position on each line for the decorations deriving from a single decorating box. 



[1] https://drafts.csswg.org/css-text-decor-3/#text-underline-position-property
(Reporter)

Comment 1

3 years ago
Created attachment 8694693 [details]
screen shot (win10)

This is screen shot of testcase.
(Reporter)

Updated

3 years ago
Component: Untriaged → Layout: Text
Product: Firefox → Core
Version: 45 Branch → unspecified

Comment 2

3 years ago
Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:45.0) Gecko/20100101 Firefox/45.0
20151201030226
Blocks: 145503
Status: UNCONFIRMED → NEW
Ever confirmed: true
Keywords: testcase

Comment 3

3 years ago
Another test based on xmondo's test:

http://www.gtalbot.org/BugzillaSection/Bug1229743text-decoration-underline-different-font-size.html

xmondo,

I also notice your actual results with your test and with my test. I am using Firefox 45.0a1 buildID=20151201060105 under Linux Kubuntu (trusty) 14.04.03 LTS, KDE 4.13.3, Linux 3.13.0-71-generic x86_64.

In your test, <html lang="ja"> will cause Firefox to comply with 
:root:lang(ja) { text-underline-position: under right; }
and Firefox is today the only browser able to achieve this. In my test, I have removed lang="ja" so that browser rendering comparisons could become possible.

It would be interesting to see how Edge 13.10586 renders both tests.

"See Also" field set to bug 1220438
OS: Unspecified → All
Hardware: Unspecified → All
See Also: → bug 1220438
Version: unspecified → Trunk
(Reporter)

Comment 4

3 years ago
Gérard,
Thanks for your additional testing. 

Also, bug 1175846 might be related.
See Also: → bug 1175846
(Reporter)

Comment 5

3 years ago
Created attachment 8697756 [details]
testcase 2

This is supplementary test case.

Comment 6

3 years ago
Mondo, 

When I load attachment 8697756 [details] into Firefox nightly 46.0a1 buildID=20151219081206, I get actual results. But if I remove lang="ja" from document root element from attachment 8697756 [details], then I get expected results: the underline will be consistent, unbroken and using the same thickness. This, I believe, is important to mention.

I assume you are Momdo Nakamura.

Comment 7

3 years ago
If I remove lang="ja" from document root element from attachment 8697756 [details] and if I replace 'text-decoration: underline' with 'text-decoration: overline' , then I get actual results.
(Reporter)

Comment 8

3 years ago
In my understanding, the situation of comment 6 is the left side line.
As comment 6, the underlines are the expected results, except that on the left side.

Addtionally, bug 770780 might be related. ("Depends on" or "Blocks" ?)

> I assume you are Momdo Nakamura.
Yeah, that's right :-)

Comment 9

3 years ago
> bug 770780 might be related. ("Depends on" or "Blocks" ?)

It could be "Depends on", it could be "Blocks" and it could be none of them. Bug 770780 is about a first implementation of text-underline-position, as I understand it. While this bug report is more specific and is about consistent rendering of the underline and overline. 

One is for sure: once bug 770780 has been fixed, then we should revisit this bug 1229743 report (and others: bug 1220438, bug 1175846, bug 1163455, etc) and try their testcases and verify the implementation.
(Assignee)

Updated

2 years ago
Blocks: 1097499
(Assignee)

Comment 10

2 years ago
It seems to me this happens only for vertical-rl and only for underline. And this is a blocker of bug 1097499 because tcy relies on the same logic to handle additional overflow area.
(Assignee)

Updated

2 years ago
Assignee: nobody → bugzilla
(Assignee)

Comment 11

2 years ago
Created attachment 8739915 [details]
MozReview Request: Bug 1229743 part 1 - Simplify text decoration handling code with lambda function and range-based for loop. r?jfkthame

Review commit: https://reviewboard.mozilla.org/r/45437/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/45437/
Attachment #8739915 - Flags: review?(jfkthame)
Attachment #8739916 - Flags: review?(jfkthame)
(Assignee)

Comment 12

2 years ago
Created attachment 8739916 [details]
MozReview Request: Bug 1229743 part 2 - Fix up decoration rect computation for vertical-rl and sideways-lr. r?jfkthame

Review commit: https://reviewboard.mozilla.org/r/45439/diff/#index_header
See other reviews: https://reviewboard.mozilla.org/r/45439/
(Assignee)

Comment 13

2 years ago
This patchset should fix both this bug and bug 1163455 as they are both issues on computation of overflow rect.

I guess reftest for this patchset is probably writtable with Ahem, though...
(Assignee)

Comment 14

2 years ago
Given this patch, I actually don't understand why this happens only for vertical-rl. It seems to me the original code should not work for vertical-lr either.
(Assignee)

Comment 15

2 years ago
And it seems it still doesn't work with sideways-lr... Probably I need to further investigate it later.

Comment 16

2 years ago
I have modified

http://www.gtalbot.org/BugzillaSection/Bug1229743text-decoration-underline-different-font-size.html

so that it can check, can test all combinations of writing-modes, text-decoration [ underline | overline ] and text-orientation values.

- - - - - - 

> I guess reftest for this patchset is probably writtable with Ahem, though...

The exact position of underline can not be predicted; the only requirement is that it is below the baseline.
(Assignee)

Comment 17

2 years ago
Comment on attachment 8739915 [details]
MozReview Request: Bug 1229743 part 1 - Simplify text decoration handling code with lambda function and range-based for loop. r?jfkthame

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/45437/diff/1-2/
Attachment #8739916 - Attachment description: MozReview Request: Bug 1229743 part 2 - Handle vertical-rl properly when computing visual overflow of decoration. r?jfkthame → MozReview Request: Bug 1229743 part 2 - Fix up decoration rect computation for vertical-rl and sideways-lr. r?jfkthame
(Assignee)

Comment 18

2 years ago
Comment on attachment 8739916 [details]
MozReview Request: Bug 1229743 part 2 - Fix up decoration rect computation for vertical-rl and sideways-lr. r?jfkthame

Review request updated; see interdiff: https://reviewboard.mozilla.org/r/45439/diff/1-2/
Comment on attachment 8739915 [details]
MozReview Request: Bug 1229743 part 1 - Simplify text decoration handling code with lambda function and range-based for loop. r?jfkthame

https://reviewboard.mozilla.org/r/45437/#review42527

Nice cleanup! :)
Attachment #8739915 - Flags: review?(jfkthame) → review+
Comment on attachment 8739916 [details]
MozReview Request: Bug 1229743 part 2 - Fix up decoration rect computation for vertical-rl and sideways-lr. r?jfkthame

https://reviewboard.mozilla.org/r/45439/#review42529
Attachment #8739916 - Flags: review?(jfkthame) → review+

Comment 22

2 years ago
bugherder
https://hg.mozilla.org/mozilla-central/rev/d37a1a6cbf8f
https://hg.mozilla.org/mozilla-central/rev/d6091fcaa0b2
Status: NEW → RESOLVED
Last Resolved: 2 years ago
status-firefox48: --- → fixed
Resolution: --- → FIXED
Target Milestone: --- → mozilla48
(Reporter)

Comment 23

2 years ago
Created attachment 8741762 [details]
testcase3

I have made additional test case (testcase3).

In the small text (superscript and subscript) parts, the position of decoration lines run away.
(Assignee)

Comment 24

2 years ago
Issue with sup and sub sounds like bug 1262974.
You need to log in before you can comment on or make changes to this bug.