- From: Glenn Adams <glenn@skynav.com>
- Date: Fri, 15 Aug 2014 11:26:14 -0600
- To: "Tab Atkins Jr." <jackalmage@gmail.com>
- Cc: John Daggett <jdaggett@mozilla.com>, fantasai <fantasai.lists@inkedblade.net>, WWW International <www-international@w3.org>, www-style list <www-style@w3.org>
- Message-ID: <CACQ=j+c-NmL8B96MWdjShxdP4=L_T1HDhT74+nOnp-CxK7iX3A@mail.gmail.com>
On Fri, Aug 15, 2014 at 11:09 AM, Tab Atkins Jr. <jackalmage@gmail.com> wrote: > On Thu, Aug 14, 2014 at 9: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. > > > > 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. > > 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. > > ~TJ > >
Received on Friday, 15 August 2014 17:27:04 UTC