W3C home > Mailing lists > Public > www-style@w3.org > December 2012

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

From: L. David Baron <dbaron@dbaron.org>
Date: Sun, 2 Dec 2012 20:15:52 -0800
To: www-style@w3.org
Message-ID: <20121203041552.GA15995@crum.dbaron.org>
So after a brief discussion with jdaggett on IRC, I think there are
a few things that are stated in
http://dev.w3.org/csswg/css3-text/#letter-spacing but probably ought
to be stated more clearly:

(1) The spec assumes we all know that "spacing between characters"
  means that it's talking about spacing that's inserted after bidi
  reordering happens, i.e., spacing in visual order.  That's
  probably worth stating explicitly.

(2) The "rendered within" in the sentence:
    # At element boundaries, the total letter spacing between two
    # characters is given by and rendered within the innermost
    # element that contains the boundary. 
  isn't quite precise enough.  In particular, it needs to say not
  only that the spacing is rendered within the nearest common
  ancestor (which it does say) but that it's NOT rendered within any
  descendants of that common ancestor.  I think it's clear to me
  that that's the intent of the spec, but it's not actually stated.

(3) I think "contains the boundary" in that same sentence is also
  probably underdefined.  The spec should say what it means by
  contains the boundary:  that we're looking for the nearest common
  ancestor of the two letters that we're spacing.
  
  And I think this definition is actually a little interesting once
  you consider its interaction with the following sentence:
    # For the purpose of letter-spacing, each consecutive run of
    # atomic inlines (such as image and/or inline blocks) is treated
    # as a single character. 
  In particular, I'd like it to say that for the purpose of
  "contains the boundary", we're only looking at the closest (i.e.,
  first or last) atomic inline within such a consecutive run of
  atomic inlines.

  This definition may also be somewhat interesting when you consider
  the handling of characters (which in this spec is defined to mean
  "grapheme clusters") that are split between two elements.  Should
  it consider all parts of the grapheme cluster, or just the parts
  immediately adjacent to the boundary?

-David

-- 
𝄞   L. David Baron                         http://dbaron.org/   𝄂
𝄢   Mozilla                           http://www.mozilla.org/   𝄂
Received on Monday, 3 December 2012 04:16:16 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 17:21:03 GMT