W3C

XML Entity definitions for Characters

W3C Working Draft 21 July 2008

This version:
http://www.w3.org/TR/2008/WD-xml-entity-names-20080721/
Latest version:
http://www.w3.org/TR/xml-entity-names/
Previous version:
http://www.w3.org/TR/2007/WD-xml-entity-names-20071214/
Editors:
David Carlisle, NAG
Patrick Ion, Mathematical Reviews, American Mathematical Society

Abstract

This document defines several sets of names which are assigned to Unicode characters. Each of these sets is also implemented as a file of XML entity declarations.

Status of this Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This document is a W3C Public Working Draft produced by the W3C Math Working Group as part of the W3C Math Activity.

Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

Public discussion of this document is encouraged on www-math@w3c.org, the public mailing list of the Math Working Group (list archives). To subscribe send an email to www-math-request@w3.org with the word subscribe in the subject line.

Please report errors in this document to www-math@w3.org.

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.

It is hoped that the entity sets defined by this specification may form the basis of an update to [ISO9573-13-1991], however pressure of other commitments has currently prevented this document being processed by the relevant ISO committee, thus the entity sets are being presented with Formal Public identifiers of the form -//W3C//... rather than ISO.... It is hoped that an update to TR 9573-13 may be made later. (The present version of TR 9573-13 defines the sets of names, but does not give mappings to Unicode.)

Table of Contents

1 Introduction
2 Sets of names
3 Unicode Character Blocks for Scientific Documents

Appendices

A Changes
    A.1 Changes since 2007-12-14
B Differences between these entities and earlier W3C DTDs
    B.1 Differences from XHTML 1.0
    B.2 Differences from MathML 2.0 (second edition)
C Source Files
D References


1 Introduction

Notation and symbols have proved very important for scientific documents, especially in mathematics. Mathematics has grown in part because its notation continually changes toward being succinct and suggestive. There have been many new signs developed for use in mathematical notation, and mathematicians have not held back from making use of many symbols originally introduced elsewhere. The result is that science in general, and particularly mathematics, makes use of a very large collection of symbols. It is difficult to write science fluently if these characters are not available for use. It is difficult to read science if corresponding glyphs are not available for presentation on specific display devices. In the majority of cases it is preferable to store characters directly as Unicode character data or as XML numeric character references. However, in some environments it is more convenient to use the ASCII input mechanism provided by XML entity references. Many entity names are in common use, and this specification aims to provide standard mappings to Unicode for each of these names. It introduces no names that have not already been used in earlier specifications. Specifically, the entity names in the sets starting with the letters "iso" were first standardized in SGML ([SGML]) and updated in [ISO9573-13-1991], the entity names in the sets with names starting "mml" were first standardized in MathML [MathML2] and those starting with "xhtml" were first standardized in HTML [HTML4].

2 Sets of names

This specification defines Unicode mappings of many sets of names that have been defined by earlier specifications.

We first present two tables listing the combined sets, firstly in Unicode order and then in alphabetic order.

Then there come tables documenting each of the entity sets. Each set has a link to the DTD entity declaration for the corresponding entity set, and also a link to an XSLT2 stylesheet that will implement a reverse mapping from characters to entity names (this is, of course, only possible for entity names that map to a single uniocde code point).

In addition to the stylesheets and entity files corresponding to each individual entity set, a combined stylesheet is provided, as well as two combined sets of DTD entity declarations. The first is a small file which includes all the other entity files via parameter entity references; the second is a larger file that directly contains a definition of each entity, with all duplicates removed.

3 Unicode Character Blocks for Scientific Documents

Certain characters are of of particular relevance to scientific document production. The following tables display Unicode ranges containing the characters that are most used in mathematics.

000C0 Controls and Basic Latin, C1 Controls and Latin-1 Supplement
001Latin Extended-A, Latin Extended-B
002IPA Extensions, Spacing Modifier Letters
003Combining Diacritical Marks, Greek and Coptic
004Cyrillic
020General Punctuation, Superscripts and Subscripts, Currency Symbols, Combining Diacritical Marks for Symbols
021Letterlike Symbols, Number Forms, Arrows
022Mathematical Operators
023Miscellaneous Technical
024Control Pictures, Optical Character Recognition, Enclosed Alphanumerics
025Box Drawing, Block Elements, Geometric Shapes
026Miscellaneous Symbols
027Dingbats, Miscellaneous Mathematical Symbols-A, Supplemental Arrows-A
029Supplemental Arrows-B, Miscellaneous Mathematical Symbols-B
02ASupplemental Mathematical Operators
0FBAlphabetic Presentation Forms, Arabic Presentation Forms-A
0FEVariation Selectors, Vertical Forms, Combining Half Marks, CJK Compatibility Forms, Small Form Variants, Arabic Presentation Forms-B
1D4Mathematical Alphanumeric Symbols
1D5Mathematical Alphanumeric Symbols (continued)
1D6Mathematical Alphanumeric Symbols (continued)
1D7Mathematical Alphanumeric Symbols (continued)

A Changes

A.1 Changes since 2007-12-14

The following entity definitions have changed at this draft

phi, lang, rang, OverParenthesis, UnderParenthesis, OverBrace, UnderBrace, lbbrk, rbbrk

B Differences between these entities and earlier W3C DTDs

B.1 Differences from XHTML 1.0

Differences between the XHTML entity definitions described here and the entity set described in the XHTML 1.0 DTD.

lang

U+27E8, XHTML 1.0 used U+2329 (which has canonical decomposition to U+3008)

rang

U+27E9, XHTML 1.0 used U+232A (which has canonical decomposition to U+3009)

B.2 Differences from MathML 2.0 (second edition)

The differences between MathML 2 and the current entity definitions are listed below.

fjlig

fj, ISOPUB (and MathML 1) defined an fj ligature Unicode does not have a specific character and the entity was dropped from MathML2, It is re-instated here for maximum compatibility with [SGML]

phi

U+03C6 (decimal 966) GREEK SMALL LETTER PHI (the definition used in HTML4), MathML2 used U+03D5 (decimal 981) GREEK PHI SYMBOL.

Note:

It is very difficult for (X)HTML definitions to change since HTML is so widely deployed. Many of the assignments in the current definitions would be different if it were not for HTML compatibilty. However in this case, perhaps this change could be made in an XHTML2/HTML5 time frame. Currenly U+03D5 has the entity names: straightphi,phis. U+03C6 has the entity names phi, phgr, phiv,varphi.

It is also worth noting that Unicode has changed (swapped) the default glyphs for U+03C6 and U+03D5 since the publication of HTML4. The current recommendation is to use a cursive form for U+03C6 (GREEK SMALL LETTER PHI), and a form with a straight vertical bar for U+03D5 (GREEK PHI SYMBOL). Some newer fonts use glyphs that correspond to the change made by Unicode, while a number of older fonts remain unchanged and hence will display the glyphs swapped relative to the current version of Unicode. There is no way to guarantee that the intended glyph is displayed without font-specific knowledge.

jmath

U+0237, MathML 2 used U+006A (j) as there was no dotless j before Unicode 4.1.

trpezium, elinters

U+23E2 and U+23E7, MathML 2 used U+FFFD (REPLACEMENT CHARACTER) as these characters were added at Unicode 5.0 specifcally to support these entities.

The following bracket symbols have been added to the Mathematical symbols block in Unicode versions between 3.1 and 5.1. MathML2 used similar characters intended for CJK punctuation.

lang, langle, LeftAngleBracket

U+27E8, XHTML 1.0 used U+2329 (which has canonical decomposition to U+3008)

Lang

U+27EA, MathML2 used U+300A

lbbrk

U+2772, MathML2 used U+3014

loang

U+27EC, MathML2 used U+3018

lobrk

U+27E6, MathML2 used U+301A

rang, rangle,RightAngleBracket

U+27E9, XHTML 1.0 used U+232A (which has canonical decomposition to U+3009)

Rang

U+27EB, MathML2 used U+300B

rbbrk

U+2773, MathML2 used U+3015

roang

U+27ED, MathML2 used U+3019

robrk

U+27E7, MathML2 used U+301B

OverBrace

U+23DE, MathML2 used U+FE37

OverParenthesis

U+23DC, MathML2 used U+FE35

UnderBrace

U+23DF, MathML2 used U+FE38

UnderParenthesis

U+23DD, MathML2 used U+FE36

LeftDoubleBracket

U+27E6, MathML2 used U+301A

RightDoubleBracket

U+27E7, MathML2 used U+301B

Note:

MathML3 uses the entity sets defined by this specification, so there will be no differences between MathML and the entities defined here once MathML3 is finalized.

C Source Files

All data files used to construct the entity declarations, XSLT character maps, and HTML tables referenced from this document are available from http://www.w3.org/2003/entities/2007xml/.

D References

SGML
ISO/IEC 8879:1986, Information processing — Text and office systems — Standard Generalized Markup Language (SGML)
ISO9573-13-1991
ISO/IEC TR :1991, Information technology — SGML support facilities Techniques for using SGML — Part 13: Public entity sets for mathematics and science
Unicode
The Unicode Consortium; The Unicode Standard, Version 5.0, Addison-Wesley Professional; 5th edition (November 3, 2006). ISBN 0321480910. (http://www.unicode.org/versions/Unicode5.0.0/)
Unicode25
Barbara Beeton, Asmus Freytag, Murray Sargent III, Unicode Support for Mathematics, Unicode Technical Report #25 2007-05-07. (http://www.unicode.org/unicode/reports/tr25/)
MathML2
David Carlisle, Patrick Ion, Robert Miner, Nico Poppelier, Mathematical Markup Language (MathML) Version 2.0 (Second Edition) W3C Recommendation 21 October 2003 (http://www.w3.org/TR/2003/REC-MathML2-20031021/)
HTML4
Dave Raggett, Arnaud Le Hors, Ian Jacobs, HTML 4.01 Specification W3C Recommendation 24 December 1999 (http://www.w3.org/TR/1999/REC-html401-19991224)