Re: [css-text] Shaping Isolation and Layout Separation of Inlines

On Thu, Aug 14, 2014 at 10:00 PM, John Daggett <jdaggett@mozilla.com> wrote:

> fantasai wrote:
>
> > Shaping is not broken across an inline element boundary unless:
> >
> >    1. one of margin/border/padding are non-zero
> >
> >    2. vertical-align is not 'baseline'
> >
> >    3. it is a bidi isolation boundary
> >
> > Note: This means that color changes, font changes, letterspacing
> > changes, etc. have no effect on shaping. Shaping might not result
> > in the glyphs joining correctly, but will nonetheless choose the
> > correct form of the letter (initial, medial, final, isolated).
>
> Shaping by definition is the mapping of text to a set of associated glyphs
> and positions. So font changes having no effect on shaping is a
> non-sequitur. Any property that affects the set of features applied to a
> given text run is an input to shaping, so changes in those may affect
> shaping results.
>

For example, OpenType and TrueType shaping algorithms are based on use of
font-specific data tables, e.g., GSUB, mort. If a font change occurs
between characters during shaping, then it would not be practical to
interpolate shaping behavior across the font change unless, e.g., the set
of shaping related tables were identical in both fonts.

Most implementations of shaping behavior treat a font change as a shape run
boundary. On the other hand, IMO, foreground color, opacity, background
color should not. There may be a few others that warrant neutral treatment.


>
> I think in practice the complexities of text handling at this level make
> it very difficult to come up with easy generalizations like this. Not sure
> what the intended purpose of this text is but I guess the first question is
> whether it's necessary or not.
>
> Regards,
>
> John Daggett
> Mozilla Japan
>
>

Received on Friday, 15 August 2014 04:19:16 UTC