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

[css3-text] Appendix G: Text Processing Order of Operations

From: John Daggett <jdaggett@mozilla.com>
Date: Mon, 3 Dec 2012 22:57:15 -0800 (PST)
To: www-style list <www-style@w3.org>
Message-ID: <1322472610.3431950.1354604235587.JavaMail.root@mozilla.com>

Appendix G of the CSS3 Text spec normatively specifies the order of
text processing operations [1]:

  1. text combination [CSS3-WRITING-MODES]
  2. white space processing part I (pre-wrapping)
  3. text transformation
  4. text wrapping while applying per line:
     a. indentation
     b. bidirectional reordering [CSS21] / [CSS3-WRITING-MODES]
     c. white space processing part II
     d. text orientation [CSS3-WRITING-MODES]
     e. default spacing
     f. font/glyph selection and kerning [CSS21] / [CSS3-FONTS]
     g. hanging punctuation
  5. justification (which may affect glyph selection and/or
     text wrapping, looping back into that step)
  6. text alignment

I think there are a couple problems here.  I think "text combination"
belongs with "text orientation" because that's the point at which text
runs of a given orientation are sliced up.  Making it so that text
transforms don't affect text within text combination runs will be
counter-intuitive to users.  And "default spacing" happens after glyph
selection and placement, not before.

Why does justification affect glyph selection?  Because of letter
spacing affecting ligature formation?  This is a bad idea, it creates
a feedback loop within layout operations.

Also, instead of "font/glyph selection and kerning" it would be better
to say "font/glyph selection and placement", since other positioning
features beyond kerning can be applied at this point.

Wouldn't "line breaking" be a better term than "text wrapping"?


John Daggett

[1] http://dev.w3.org/csswg/css3-text/#appendix-g-text-processing-order-of-oper
Received on Tuesday, 4 December 2012 06:58:13 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:08:24 UTC