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

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"?

Cheers,

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