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

On Fri, Aug 15, 2014 at 11:34 AM, Tab Atkins Jr. <>

> On Fri, Aug 15, 2014 at 10:26 AM, Glenn Adams <> wrote:
> > On Fri, Aug 15, 2014 at 11:09 AM, Tab Atkins Jr. <>
> > wrote:
> >> You're right about full shaping across a word (thus the note about
> >> "shaping might not result in the glyphs joining correctly"), but
> >> per-character shaping (selecting the initial/medial/final/isolated
> >> form) is necessary for remotely correct rendering, and can happen
> >> regardless of what changes occur from one character to the next.
> >
> > Not necessarily. This could be made to work with, e.g., Arabic script in
> > combination with OpenType GSUB features 'isol', 'init', 'medi', 'fina',
> but
> > this is only because OT Arabic script support requires the application
> (in
> > this case the shaper code) to be able to independently determine which
> form
> > applies and then use the related feature to map to glyph. However, this
> > situation does not necessarily hold for more advanced OT Arabic fonts
> that
> > use different feature sets, for other complex scripts used with OT, or
> for
> > TT fonts that use 'mort' table.
> Apologies, but you're speaking over my head. Can you dumb it down a
> little so I can understand what you just wrote?

Ha, that's a change. It's usually the other way around. :)

Basically I'm saying that "remotely correct rendering" of contextual forms
is highly dependent on script (e.g., Arabic vs Devanagari), on font type
(OT vs TT), on specific font tables use by fonts (on either side of style
boundary) (e.g., OT GSUB with {isol,init,medi,fina} features vs OT GSUB
with non-standard/cutom shaping features vs TT 'mort').

Or to put it more simply, what John said:

   - "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."
   - "[C]omplexities of text handling at this level make it very difficult
   to come up with easy generalizations like this [fantasai: shaping is not
   broken across an inline element boundary unless ...]."

> ~TJ

Received on Friday, 15 August 2014 18:05:01 UTC