- From: David Carlisle <davidc@nag.co.uk>
- Date: Mon, 5 Apr 2004 23:42:04 +0100
- To: Strotmann@rrz.uni-koeln.de
- Cc: www-math@w3.org
Early MathML releases did distinguish these, but used the private use area extensively, after Unicode 3.1 and 3.2 added most of the characters MathML agreed to drop the use of the private use area so is constrained to use official Unicode allocations. As Andreas indicated, one reason why Unicode did not add a second empty set symbol was that it would clash with a combination of 0 with a combining / (They have a general policy of _not_ adding precomposed variants of characters that may be constructed by composing characters, except where those characters have already been added, either in unicode or in some legacy encoding that's being incorporated into unicode.) This reasoning would lead to the assignments empty: 0030 0338 slashed 0 varnothing: 2205 slashed circle which would be consistent from a Unicode and amsLatex viewpoint, but... MathML also tries to be compatible with XHTML, as in an XHTML+MathML document, the entity empty can only have one meaning, it can not mean one thing in the html bits, and something else in mathml. HTML and XHTML define empty to be 2205. Also support for combining characters in existing renderers at the time these assignments were made was (perhaps is) not always there, and it would seem dangerous to change an existing assignment of empty from 2205 to use a combining combination that may or may not display correctly in deployed systems. So the situation is not ideal, but comes from trying to be compatible with several incompatible formats... In this case I think it really is just a glyph variant, the varnothing character added to the TeX repertoire by the AMS fonts is more of a correction for the dubious glyph used for the empty symbol in the standard cm fonts, rather than a semantically different character. Of course the issue comes up again now in the draft ISO standardisation of these entities (see http://www.w3.org/2003/entities) which currently follows MathML and makes empty and emptyv synonyms, but I suspect that it should not do this... David
Received on Monday, 5 April 2004 18:42:13 UTC