W3C home > Mailing lists > Public > www-style@w3.org > August 2014

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

From: John Hudson <tiro@tiro.com>
Date: Fri, 15 Aug 2014 12:06:51 -0700
Message-ID: <53EE5A4B.5000000@tiro.com>
To: "Tab Atkins Jr." <jackalmage@gmail.com>, John Daggett <jdaggett@mozilla.com>
CC: fantasai <fantasai.lists@inkedblade.net>, WWW International <www-international@w3.org>, www-style list <www-style@w3.org>
> 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).

Further to what John D and Glenn have written with regard to this:

Whether a change in font results in a change in character shaping will 
depend on whether the desired shaping is affected by discrete layout 
features applied based on character level analysis (broadly speaking, 
the OpenType Layout model for basic Arabic shaping and *some* aspects of 
Indic cluster shaping), or is instead affected at the glyph level using 
contextual substitutions (broadly speaking, the AAT/Graphite model).

So, for example, an Arabic medial letter form can be displayed by a 
typical Arabic OpenType font using character string analysis, even if 
there is a change in font between this letter and the next. The two 
resulting glyphs won't join nicely, but they should take their 
respective basic joining forms according to the Unicode joining 
behaviour model. In contrast, an AAT font that uses glyph string 
analysis to affect state changes seems almost guaranteed to break 
shaping when the font changes in mid-string.

The reality of most complex script fonts, though -- even those following 
the MS OpenType script specifications --, is that they utilise a mixture 
of basic shaping associated with discrete features applied by layout 
engines according to character string analysis and glyph-level 
contextual substitutions.

J.
Received on Friday, 15 August 2014 19:07:21 UTC

This archive was generated by hypermail 2.3.1 : Friday, 15 August 2014 19:07:21 UTC