Re: [css3-text] letter-spacing doesn't normatively specify the correct way to apply spacing

On 11/28/2012 10:24 PM, John Daggett wrote:
> A long time ago in a galaxy far, far away at the San Diego F2F, we
> discussed the CSS3 letter-spacing property [1]:
> During the discussion above, David and Elika asserted that given the
> rules in the spec describing how letter spacing is handled at element
> boundaries, the effect is the same if letter spacing is applied only at
> the trailing edge versus being split between the leading and trailing
> edges.  I fiddled around with this some more and came up with a
> testcase that demonstrates where this assertion fails:
>
>    http://people.mozilla.org/~jdaggett/tests/hebrewletterspacing.html
>
> In this example, the span with the red background covers from the
> beginning of the text through the middle of the numeric value.  But
> because spacing is only applied along the trailing edge, in Firefox
> there is double letter spacing at one bidi break and none at the
> other.  With a model that requires letter spacing to be split on both
> sides of each letter, the letter spacing applied will be identical at
> both bidi breaks.

Firefox is clearly wrong because, as we explained before, letter-spacing
defines the amount of space *between characters*. If there is double that
amount or half that amount between characters, it is not that amount and
is therefore wrong. What needs to be clarified in the spec perhaps is that
"between" is defined visually, i.e. after reordering, not before.

The model in the spec requires full spacing between
   1 and ,
   , and 3
   ו and א
   ו and ה
and zero spacing between any other letters.

> I would suggest the following change:
>
>    Letter-spacing must not be applied at the beginning or at
>    the end of a line.
>
> Edit:
>
>    The value for letter spacing is split in half and applied
>    equally to both the trailing and leading edges of a given
>    letter.  This half value is however not applied to the
>    leading edge at the beginning of a line nor to the
>    trailing edge at the end of a line.

I reject this change because it would not give the results described above.

~fantasai

Received on Thursday, 29 November 2012 18:54:17 UTC