Re: [css3-writing-modes] Examples of normal, unscaled glyphs work better than width-variant glyphs for text-combine-horizontal

fantasai wrote:

>> # A different implementation that utilizes OpenType layout features
>> # might compose the text first with normal glyphs to see if that fits,
>> # then substitute in half-width or third-width forms as available and
>> # necessary, possibly adjusting its approach or combining it with
>> # scaling operations depending on the available glyph substitutions.
>>
>> I think this whole example is problematic.  The use of "simple" is
>> problematic, as is the use of "might".  [...]
> 
> John, the example is not, at this point, incorrect in any way
> that I can tell, and it's useful in that it illustrates various
> algorithmic interpretations of the normative prose. This is
> useful for implementers, even if it's not particularly useful
> for authors.

For the simple case of combining two digits with a font that has
fixed-width default digits that are wider than 0.5em and supports
width variants (i.e. most Japanese fonts!), there is only one defined
normative behavior.  There's no "might" do this or that, there's no
"possible adjustment", there's only one normative behavior, that is to
use the width variants.  That's not just "my approach", that's what
the existing spec wording requires.

This example is misleading because it implies the scope for custom
behavior is far broader than it actually is.  The cases where the
differences in implementation logic implied above apply are fairly
rare.  In most cases, the content will not fit within 1em, compression
will be needed and the width variants supplied by the font used.  In
*some* unusual cases, such as "#12" or "1.2", the kind of logic you're
describing would come into play but that's not what reading this
example implies.

Either the example needs to be reworded to avoid implying that
normative behavior is optional behavior or it simply needs to be
omitted.

One way to rework the example is to give a clear example of the common
case which is normatively defined, followed by an edge case example
for which user agents can use custom logic.  I'm not sure that's worth
the effort but as the example stands now it's misleading and
inaccurate.

Regards,

John Daggett

Received on Tuesday, 24 September 2013 06:42:55 UTC