CSS3-Text: Text Spacing

http://www.w3.org/TR/2003/WD-css3-text-20030226/#text-spacing

Letter spacing and justification
---------------------------------

  # <length>
  #  ... For justification purposes, user agents should minimize effect on
  #  letter-spacing as much as possible (priority to word-spacing expansion/
  #  compression as opposed to character-spacing expansion/compression)...
  #  For justification purposes, user agents should minimize alteration of
  #  spacing within words. The priority should be to alter spacing between
  #  words.

IMO, this should be handled by text-justify. There's no reason to set such
a restriction here.


Where to apply letter-spacing
-----------------------------

  # This value indicates spacing added between grapheme clusters in addition
  # to the default spacing between grapheme clusters.

It's not clear how this would be handled:

   span {letter-spacing: 2px}

   word<span>spaced out</span> word2

Is spacing be applied before the 's' or after the 't'?
If the text broke across two lines, would letter-spacing be applied
at the start of the second line? The end of the first?

Also, you should specify whether letter spacing applies to spaces or not.
(I think it should for the reasons outlined in
   http://bugzilla.mozilla.org/show_bug.cgi?id=1046#c21 )


Word-spacing and word separators
--------------------------------

   # This value indicates inter-word space in addition to the default space
   # between words. If there are no word-separating characters, or if the
   # word-separating character have a zero advance width (such as the zero
   # width space U+200B) the user agent should not create an additional
   # character advance width between words.

What is a "word-separating character"? Do em-spaces count? hair spaces?
Slashes? Em-dashes? The Ethiopic Wordspace (U+1361)? Tabs?

   # There are however many scripts and writing systems that do not separate
   # their words by any character (like Japanese, Chinese, Thai, etc...),
   # detecting word boundaries in these cases require dictionary based
   # algorithms that may not be supported by all user agents.

If these scripts do not separate their words by any character, should a
UA capable of supporting dictionary-based algorithms be applying word
spacing at all?


What is "ideographic"?
----------------------

   # When a run of non-ideographic or numeric characters appears inside
   # of ideographic text, a certain amount of space is often preferred
   # on both sides of the non-ideographic text to separate it from the
   # surrounding ideographic glyphs. This property controls the creation
   # of that space when rendering the text.

What do you consider "ideographic" text? Is it only the Han characters--
i.e. not kana or hangul? Does it include unrelated ideographic scripts?


How much space in text-autospace?
---------------------------------

   # When a run of non-ideographic or numeric characters appears inside of
   # ideographic text, >>a certain amount of space<< is often preferred on both
   # sides of the non-ideographic text to separate it from the surrounding
   # ideographic glyphs.

How much space is added? Half a wide cell? Enough to line up wide-cell glyphs?
1/3 the font height?


Editorial
---------

   # Because of the visually disruptive effect of modifying this spacing in
   # writing systems, such as Arabic, which use joined glyphs...

change to "writing systems, such as Arabic, that use joined glyphs..."

I tend to mix these up myself, but the rule is, according to Strunk & White:

    | 'That' is the defining, or restrictive pronoun, 'which' the nondefining,
    | or nonrestrictive. See Rule 3.
    |
    |     The lawnmower that is broken is in the garage. (Tells which one)
    |     The lawn mower, which is broken, is in the garage. (Adds a fact
    |       about the only mower in question)

   # If there are no word-separating characters, the user agent doesn't have
   # to create an additional character advance width between words.

So, the UA aren't required to create additional character advance width, but
may still do so if they choose?

   # This property is additive with the 'word-spacing' and 'letter-spacing'
   # [CSS2] properties.

Why is there a reference to CSS2 in here?

   # That is, the amount of spacing contributed by the 'letter-spacing
   # setting (if any) is added to the spacing created by 'text-autospace'.
   # The same applies to 'word-spacing'.

change to

   That is, the amount of spacing contributed by 'text-autospace' is added
   to the spacing created by 'letter-spacing' and 'word-spacing'.

~fantasai

Received on Wednesday, 30 April 2003 09:44:34 UTC