- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Mon, 18 Aug 2014 11:27:44 -0700
- To: John Hudson <tiro@tiro.com>, "Tab Atkins Jr." <jackalmage@gmail.com>, John Daggett <jdaggett@mozilla.com>
- CC: WWW International <www-international@w3.org>, www-style list <www-style@w3.org>
On 08/15/2014 12:06 PM, John Hudson wrote: >> 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. For Arabic, at least, it's always possible to get the right form by passing in ZWJ at the start/end of the run as necessary. I'm not sure that helps Indic at all, I don't really understand Indic shaping. Either way, though, breaking Arabic joining due to a font change (such as fallback, which I've seen happen in the middle of a word before) is quite disruptive, and if the implementation *can* shape appropriately, I think it should. ~fantasai
Received on Monday, 18 August 2014 18:28:12 UTC