Re: [MathML3-last-call] mathvariant

Bill,

Thanks also for your comments.

At 03:38 PM 10/13/2009, William F Hammond wrote:
>Sorry, I've not really been following this, but several things
>in this thread today have grabbed me.
>
>Karl Tomlinson <w3@karlt.net> writes:
>
>> . . .
>>> Note that the appearance
>>> of a mathematical alphanumeric symbol character should not be altered
>>> by surrounding <att>mathvariant</att> or other style declarations.</p>
>
>Is the meaning here of 'other style declarations' limited to MathML
>markup or does it extend to CSS?  I think it should not extend to CSS.


This language does extend to include CSS.  If an author encodes
<mi mathvariant="bold">v</mi> or <mi>&#x1D42F;</mi>, they should
get a bold lower-case v.  A style sheet could be used to specify
which font is used to display bold characters, but it should not
change the weight or shape of the character.


>> . . .
>>> Renderers may ignore or support those combinations of character data
>>> and <att>mathvariant</att> values that do not correspond to an assigned
>>> Unicode code point,
>>
>> ... and this sentence says "may", implying that the better
>> behavior for renderers is to alter the appearance of all
>> non-mathematical-alphanumeric-symbol characters according to the
>> mathvariant attribute when possible.
>
>In view of the 2nd paragraph below I'm confused.  Is it thought
>correct to use 'mathvariant' for switching on, for example, italic
>style?

No, mathvariant is not about applying style, it is about applying semantics,
that is, creating math symbols that carry meaning via style that should
be protected from other style changes.


>> This would be a change from MathML2, so I just want to check that
>> this has been thought through.
>>
>> This would effectively mean that almost all
>> non-mathematical-alphanumeric-symbol characters in an mi element
>> without an explicit mathvariant attribute should be rendered in an
>> italic form.
>
>(Is it clear what portion of 'mathematical-alphanumeric' is negated
>by the 'non'?)
>
>As I have understood things, a string matching the pattern /^[A-Za-z]$/
>(i.e., a single alphabetic character) inside an mi should by default be
>rendered italic, but a string matching the pattern /^[A-Za-z][0-9A-Za-z]+$/
>should by default be rendered upright.  This is a long-standing tradition
>in mathematical typesetting.  I hope you're not suggesting this would change.

mi with a single character should still use mathvariant italic.
mi with more than one character should still use mathvariant normal.
This situation has not changed from MathML 2.


>> One example to consider is U+221E INFINITY.  ...
>
>With other strings inside an mi my own inclination would be to
>be explicit about style -- and I mean style, not character casting --
>if I care which way it is set.  Again I ask if the MathML attribute
>'mathvariant' is the correct thing to use for that.  CSS is for style.
>Isn't mathvariant provided for character casting, i.e., pointing to a
>character other than that inside the mi?

I think we are saying the same things here:  CSS is for style,
mathvariant is for creating symbolic math identifiers, not for styling.
Whether or not you view mathvariant as a Unicode to Unicode map is an
implementation detail, since implementations are allowed to support
combinations that do not correspond to Unicode code points.

>> . . .
>> One thing that concerns me is that, although we now have better
>> Unicode support for mathematical characters than ever, there seems
>> to be an increased expectation of creating characters by other
>> means that resemble style.
>
>While I do see (and understand) avoidance of the more esoteric reaches
>of unicode, e.g., plane 1, I think the tools of avoidance should not
>be style.  As I've said, I don't see mathvariant as stylistic.
>
>                                    -- Bill

Agreed, the tool of avoidance (mathvariant) is not intended to be
about style.

Sam

Received on Tuesday, 13 October 2009 23:20:07 UTC