Re: [css3-text] Splitting CSS Text into Level 3 and Level 4

On Wed, 23 Nov 2011 21:29:12 +0100, Alan Stearns <> wrote:
> You initially brought up two problems with text-justify (and by extension
> letter-spacing and word-spacing). The first was that you don't think  
> there's
> enough in the spec to ensure interoperability, and the second was that  
> what
> was in the spec is not testable. I've argued against the second problem.  
> I
> think that what's in the spec is testable. If you disagree please let me
> know, otherwise I'm assuming we can drop that part.
> On the question of meaningful interoperability, I'm assuming that a good
> faith effort to implement text justification according to this spec will
> result in reasonably similar results. Your "reasonably similar" may be  
> more
> strict than mine, but please know that poorly-justified text is one of my
> personal bugbears.

I am not sure testability and interoperability are are separate as you say.
Yes, indeed, it is possible to test something based on this spec. But what
can be tested is very limited, and implementations could pass the tests
and still be terrible. So let me revise my position. Rather than "this
cannot be tested", I would now say that the extend to which this can be
tested is limited, and insufficient to discriminate between good and
bad implementations.

Of course, nobody will purposefully implement something bad.
But if we judge it by the current quality of justification, it seems
reasonable to assume that not all implementers have clear ideas on how to
do justification well. And that is even more true for justification in
scripts the implementors are not familiar with.

> What's currently described in CSS Text Level 3 is a vast improvement on  
> 2.1. The results we have now for text-align:justify are not  
> interoperable or
> even reasonably good. The current spec text is correct, it's just  
> (possibly)
> not complete. I would rather not wait for another module cycle to improve
> text justification. My preference is to make progress on this feature  
> now,
> and keep refining it in future modules.

Just thinking aloud. If we can't make the normative part of the spec more
specific without ruling out reasonable (or better) implementations, how  
keeping that normative part mostly as it is now, but adding an informative
notes giving a precise algorithm that fulfills the normative criteria?

That way, implementors who want to push the envelope, or have
a very specific idea of how they want justification to work are still
free to do it. At the same time, the example algorithm would serve as
a baseline, helping out UA implementors finding a decent way to justify
even for scripts they have little knowledge about, and helping authors
make sure that all UA have at least a sensible behavior.

That wouldn't help much with regards to interoperability testing, but
it would help raising the minimum bar while not capping the maximum.

  - Florian

Received on Friday, 25 November 2011 15:17:19 UTC