- From: John Daggett <jdaggett@mozilla.com>
- Date: Mon, 8 Sep 2014 18:10:12 -0700 (PDT)
- To: www-style list <www-style@w3.org>
During yesterday's F2F discussion the question of joining across inline elements was discussed [1]. The accepted proposal appears to be shaping should be broken in the three cases below: A. one of margin/border/padding are non-zero B. vertical-align is not 'baseline' C. it is a bidi isolation boundary (A) and (C) seem like common sense but I think (B) here is misguided. I'm inferring from Tab's comment that this is motivated by "superscripts shouldn't join" and (B) is trying to isolate "superscripts" in this case. > fantasai: second case is if vertical-align doens't match > fantasai: thought about matching values, but actually, want to say > if not baseline (not matching parent) > fantasai: e.g. top and middle won't align baselines anyway > TabAtkins: And def don't want adjacent superscripts to join > [fantasai said something about siblings and parent relationships > and vert-align not inheriting] > astearns: maybe there are cases where we want two top things to > join if they happen to line up? > fantasai: Think we wnat it predictable > TabAtkins: We know there are cases where we don't want it to join In general, shaping is about glyph selection and placement, based on the surrounding context. It's beneficial to give a shaping engine as much context as possible. Property changes across inline elements that affect the inputs to the shaping engine will naturally break shaping but I don't think CSS should impose additional rules. For example, I don't see any reason why the two pieces of markup below should be shaped differently: <span>A</span><span>W</span> <sup>A</sup><sup>W</sup> I don't see any reason why the kerning applied between the letters in adjacent spans should not be used between adjacent superscript elements. Part of the problem here is that it's difficult to specify absolute rules like this for inlines unless you can enumerate all possibilities and really understand where absolute rules are appropriate or necessary. It's a much better idea to let the shaping engine use information supplied by a type designer and not impose rules that break the connection. I'll wait to see the final wording but at this point I would suggest eliminating (B), the required breaking of shaping across inlines when 'vertical-align' is not 'baseline'. Regards, John Daggett Mozilla Japan [1] http://logs.csswg.org/irc.w3.org/css/2014-09-08/#e469856
Received on Tuesday, 9 September 2014 01:10:40 UTC