W3C home > Mailing lists > Public > public-css-archive@w3.org > February 2017

Re: [csswg-drafts] [css-text-decor] Add auto value for text-decoration-skip:

From: Behnam Esfahbod via GitHub <sysbot+gh@w3.org>
Date: Wed, 15 Feb 2017 09:56:01 +0000
To: public-css-archive@w3.org
Message-ID: <issue_comment.created-279966408-1487152560-sysbot+gh@w3.org>
@frivoal, I just posted a summary of our discussion last week here: 

> We discussed underline/overline methods on the 7 February 2017 
weekly meeting.
> Here's a summary:
> 1) Existing practices (meaning almost any handwriting, lithography, 
movable type, and traditional word processors) puts underline/overline
 below/above all glyph parts (letter parts and diacritics). Therefore,
 this is a desired behavior.
> 2) We will keep looking for other practices and will document when 
we have good evidence.
> 3) Based on the samples collected, looks like implementations need 
to find a better way of calculating a position for underline/overline 
based on font data. Most probably, it will use ascend and descend 
values for the positioning.
> 4) In any case, if the underline/overline collides with ink, the 
prefferred default behavior would be to skip the ink.
> 5) When skipping ink, it's also preferred to make sure the 
underline/overline drawing does NOT form a short pieces, which could 
be easily mistaken with dots or diacratics. To prevent this, the 
drawing can be skipped for parts with a short width.

So, to answer to your questions,

> the ideal behavior for Arabic and other languages using the same 
script is to position the underline so that it does not intersect, 
making the question of whether or not to skip irrelevant since there 
is no intersection.


> The position of the underline is controlled by 
https://drafts.csswg.org/css-text-decor-4/#underline-offset, and the 
default value allows for that. It should probably be clarified to make
 sure that it not only allows for it, but actually requires it, or if 
we cannot do that, at least recommend it.

IMHO, the `text-underline-*` properties are designed with only 
Latin-similar writing systems in mind, assuming there's a baseline and
 letters sit on top of that, which is not a valid assumption for 
Arabic scripts.

If we really want to expand control over the underline/overline 
behavior, we should start with allowing positioning based on any of 
baseline, ascend, descend, and possibly other font properties. Having 
only two positioning options (`under` and `over`) and then manually 
moving the lines with an `offset` doesn't sound like a user-friendly 

> Some (many) current implementations may be doing a terrible job of 
implementing auto correctly, and place the underline in a way that 
does intersect. We can hope this will go away eventually, but maybe it
 will take a while, and maybe there are cases where that is not 

Yes, unfortunately.

> Also, it remains possible to place the underline manually, and make 
it intersect.
> When that happens, what should we do if the author has not said what
 they want in terms of ink skipping. skip by default or not?
> It seems to me that although avoiding intersections is the main 
goal, if intersections do happen, skipping ink is better than not. 
Does that make sense?

Yes, skipping in any case of collision would be a wise choice.

GitHub Notification of comment by behnam
Please view or discuss this issue at 
using your GitHub account
Received on Wednesday, 15 February 2017 09:56:08 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 06:41:08 UTC