Re: [css-text] Clusters for letter spacing in Thai and other complex scripts

On Sep 26, 2013, at 7:31 PM, Koji Ishii <kojiishi@gluesoft.co.jp> wrote:

...
So, the best we could do at this point is, as fantasai suggested, show one
baseline, but allow any tailoring, and put links to as many references to
script-specific rules as possible to help implementers to find them if they
want to.

...

Does this sound reasonable?


I tried to explain in my last message why I thought tailoring the
definition of extended grapheme cluster was not the right approach, and
suggested an alternative approach.  Let me try to put it more succinctly:
the clusters of glyphs between which Thai/Lao letter-spacing inserts space
are different from the clusters of glyph corresponding to extended grapheme
clusters.  The spec for letter-spacing should allow for the fact that for
some scripts the typographically correct points to insert letter space do
not correspond to boundaries between extended grapheme clusters.

I don't think this is the right way to fix the problem.  The UAX29
> definition of extended grapheme cluster works just fine in Thai/Lao
> when what you want is a grapheme cluster.  The issue is that letter
> spacing is not a logical operation on characters; it's a visual
> operation on glyphs. In other words, there are two distinct kinds of
> cluster:
>
> a) there is a _logical_ cluster of _characters_, which is used for
> selection, cursor movement and other editing operations; this is the
> UAX29 extended grapheme clusrer
>
> b) there is also a _visual_ cluster of _glyphs_, which is what you
> need for letter-spacing
>
> In many scripts, these cooincide, but Thai/Lao shows that they don't
> always do so.
>
> So I think the right approach is to fix the definition of
> letter-spacing to say that the units between which you add extra space
> will not always correspond exactly to extended grapheme clusters:
> implementations should do the typographically correct thing for a
> particular script.
>

James

Received on Friday, 27 September 2013 01:06:09 UTC