Re: [css-text-decor-3] are underline positions per-line or across lines?

On 03/24/2013 09:18 PM, L. David Baron wrote:
> http://www.w3.org/TR/CSS21/text.html#decoration says:
>    # In determining the position of and thickness of text decoration
>    # lines, user agents may consider the font sizes of and dominant
>    # baselines of descendants, but must use the same baseline and
>    # thickness on each line.
>
> On the other hand,
> http://dev.w3.org/csswg/css-text-decor-3/#line-position says "user
> agents must consider, per line box, ..."
>
> If this change was an intentional change from CSS 2.1, the
> specification should say so.
>
> However, I prefer the CSS 2.1 behavior.  Having the
> underline calculated per-line-box means the behavior can differ
> depending on where line breaks happen.  This, I think, means that
> authors are more likely to produce content that works at some line
> widths and doesn't work at others.  It also seems inconsistent to
> me, although I'm not aware of common practice in other systems.
>
> What was the rationale for this change?

Hm, it wasn't intended to be a change. My reading of 2.1 was that
"on each line" was a constraining clause, i.e. "within each line",
not "across all lines".

I don't have an opinion here, but we have three options:
   1. Consistent position/thickness per decorating element
      (across all lines)
   2. Consistent position/thickness per line
      (across all element fragments on the line)
   3. Consistent position/thickness per element per line

I'm pretty sure #2 is not what we want, or else small text
and large text on the same line but underlined independently
would be forced to have the same position/thickness of line.

If you think #1 is better than #3, then I'm happy to update
the spec to say so. Here's my first attempt:

   # In determining the position of text decoration lines,
   # user agents must consider, for each <i>decorating box</i>,
   # the “ideal” positions of such line decorations per fragment
   # of the decorating box--or its in-flow inline descendant--
   # that draws the text decoration.

Let me know if that seems to work or if I should try again...

~fantasai

Received on Tuesday, 7 May 2013 02:07:38 UTC