Bug 156881 (text-decoration-mode)

Underline should skip character/part-of-character that is below the base line (text-decoration-mode)

RESOLVED WONTFIX

Status

()

Core
Layout
--
enhancement
RESOLVED WONTFIX
15 years ago
8 months ago

People

(Reporter: Arthit Suriyawongkul, Assigned: dbaron, Mentored)

Tracking

(Depends on: 1 bug, Blocks: 2 bugs, {css3, intl, testcase})

Trunk
css3, intl, testcase
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [lang=c++], URL)

Attachments

(4 attachments)

(Reporter)

Description

15 years ago
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; SunOS sun4u; en-US; rv:1.0rc3) Gecko/20020614
Netscape/7.0b1
BuildID:    20020614


<u>&#3585;&#3586;&#3629;&#3640;&#3629;&#3641;&#3629;&#3642;&#3597;&#3600;&#3598;&#3599;&#3620;&#3622;&#3585;&#3586;</u>

in Thai text,
we need the line to skip all below-level part & tail of char
(also below-level char, like below vowel)

please see the attached testcase.


Reproducible: Always
Steps to Reproduce:
open attached testcase

Actual Results:
underline went across Thai base-level characters, also base-level part/tail of
Thai characters.

Expected Results:
underline skip Thai base-level characters, also base-level part/tail of Thai
characters.

----

also, in case of English text, e.g

 abcgyqjabc

when it went underlined,
should the line skip tails of "gyqj" ?
(Reporter)

Comment 1

15 years ago
Created attachment 90952 [details]
Thai underlined text
(Reporter)

Comment 2

15 years ago
FYI,
Thai character has 4 levels of displaying.
from highest to lowest level:
 top
 above (same level as accent mark of western)
 base  (same level as general western character)
 below


list of below-level Thai character:
U+0E38
U+0E39
U+0E3A

list of Thai character with "below-level part":
U+0E0D
U+0E10

list of Thai character with "below-level tail":
U+0E0E
U+0E0F
U+0E24
U+0E26
U+0E45
U+0E46
(Reporter)

Comment 3

15 years ago
some character like U+0E3A,
will be unseen if the underline striked over it.
(Assignee)

Comment 4

15 years ago
This is, IMO, another deficiency of the underline definition in the CSS spec
(which we're moving towards in bug 1777), that we're not allowed to do this. 
(Or are we?)
Status: UNCONFIRMED → NEW
Component: Style System → Layout
Ever confirmed: true
Whiteboard: [CSSWG]
(Reporter)

Comment 5

15 years ago
propose new attribute to CSS ?
to let web developer able to choose style for underline ?

2 style options
 - strike out
 - skip over

seems this too hard -_-'
just my 2 satangs :|
(Reporter)

Comment 6

15 years ago
(changed the summary to be more general)

example of Latin characters that has some part below the base line:

U+0067  g
U+006A  j
U+0070  p
U+0071  q
U+0079  y
U+00C7  Latin Capital Letter C with Cedilla
U+00FD  Latin Small Letter Y with Acute
U+00FE  Latin Small Letter Thorn
U+0104  Latin Capital Letter A with Ogonek
U+014B  Latin Small Letter Eng
Summary: Underline should skip Thai below-level character or part/tail of character → Underline should skip character/part-of-character that is below the base line
(Reporter)

Comment 7

15 years ago
comment #5 .. may be it's not clear.

possible options
1) not skip
2) skip only whitespace
3) skip only below-base-line part-of-character
4) skip whitespace and below-base-line part-of-character
I think we are allowed to do this per the spec, actually. It counts the same as
changing the thickness to allow for subscripts, which the spec explicitly allows.

We should give feedback to the CSSWG that we want 'text-underline-mode' to have
a value which controls whether or not we skip descenders.

Comment 9

15 years ago
actually, i've sent an e-mail to www-style@w3c.org yesterday,
not sure if it a good place to send to.
(i'm not subscribed to the list yet, so the msg may delayed)

i can fwd the e-mail to you on monday morning,
when i'm at the office and can access the sentbox :)

please comment on it, thanks.

Comment 10

15 years ago
list archive
http://lists.w3.org/Archives/Public/www-style/
OS: Solaris → All
Hardware: Sun → All

Updated

15 years ago
Blocks: 65896

Comment 11

15 years ago
Created attachment 92925 [details]
Hindi underlining example

Shows input and output sequences and expected underlining. Pl ignore the boxes.


prabhat

Comment 12

15 years ago
Comment about attachment 92925 [details]
Indian language scripts (particularly South Indian languages) will have the same
issue. In addition could someone point me to the logic of underlining text? My
concern is that CTL (Complex Text Layout) scripts such as Thai, Hebrew, Arabic
require underlining to happen after the characters are shaped to account for
shaping as well as below-base characters. Pl see attached gif for hindi.
prabhat

Comment 13

15 years ago
Created attachment 94217 [details]
example of different underlining styles, using Thai/Latin text

black: grapheme cluster WITH some part below the base line level.
grey: grapheme cluster without.

Comment 14

15 years ago
from attachment 94217 [details]
i think "skip-whole-cell" is the easiest to implement.
(note: i use the word (display) cell/grapheme cluster interchangably here .. sorry)
So if I have:

<span style="text-decoration: underline">
  <span style="vertical-align: -0.5em">text</span>
  more text
</span>

what should happen?  Should the same apply for overline and ascenders?  (Think
bigger font in the middle of an overlined inline.)
http://www.w3.org/TR/css3-text/#text-decoration-mode

Updated

13 years ago
Alias: text-decoration-mode
Blocks: 104960
Severity: normal → enhancement
Keywords: css3, testcase
Summary: Underline should skip character/part-of-character that is below the base line → Underline should skip character/part-of-character that is below the base line (text-decoration-mode)
Whiteboard: [CSSWG]

Comment 17

13 years ago
Similar issue in OpenOffice.org 

Underlining should optionally skip descenders and characters below baseline
http://www.openoffice.org/issues/show_bug.cgi?id=43776

Comment 18

12 years ago
Isn't this a dupe of bug 64874?

Comment 19

12 years ago
*** Bug 64874 has been marked as a duplicate of this bug. ***

Updated

10 years ago
Keywords: intl

Comment 20

9 years ago
Created attachment 312441 [details]
Message: Jiggy says &ldquo;สูงสุดคืนสู่สามัญ&rdquo;

The problem still affects with current nightly build.
BugAThon Bangkok:

We all agreed that this bug is not a blocking bug for Thai support.
(i.e. just optional, good to have, but not necessary)
QA Contact: ian → layout
This seems more important with the new support for colored underlines.
I have a very rough idea of how to do this. If someone's interested in trying to fix it I can give some guidance. It would be good to prototype out an algorithm for breaking the underline first.
Whiteboard: [mentor=jrmuizel][lang=c++]

Comment 24

4 years ago
I would like to work on this bug, i am good at c++. Please guide me through this
Mentor: jmuizelaar@mozilla.com
Whiteboard: [mentor=jrmuizel][lang=c++] → [lang=c++]

Comment 25

3 years ago
Aish, you should probably look over the CSS3 Text Decoration spec:
  http://www.w3.org/TR/css-text-decor-3/
and maybe ping jrmuizel directly -- he seems to have not noticed your comment. :)
Depends on: 812990
It looks like this property has been removed from specs long ago. I cannot find it in any current draft. So close it.
Status: NEW → RESOLVED
Last Resolved: 2 years ago
Resolution: --- → WONTFIX
Bug 812990 supersedes this.
You need to log in before you can comment on or make changes to this bug.