MathCurvesSurfacesWallpaper GroupsGallerySoftwarePOV-Ray
ProgramingLinuxPerl PythonHTMLCSSJavaScriptPHPJavaEmacsUnicode ♥
Web Hosting by 1&1

How Mathematica does Unicode?

Xah Lee,

This page explains some tech detail about how Mathematica uses Unicode.

Mathematica supports Unicode, but does not use Unicode when saving to file. (See: UNICODE Basics: What's Character Encoding, UTF-8, and All That?)

Mathematica (Ɱ) files use 7-bits ASCII only. 〔☛ Mathematica Notebook Technology

How does it support Unicode if it uses only ASCII?

Mathematica's Named Characters \[Name]

Ɱ has a set of special characters with the syntax \[name]. For example:

GlyphSyntax
é\[EAcute]
É\[CapitalEAcute]
α\[Alpha]
Δ\[CapitalDelta]
\[CirclePlus]
\[Because]
\[Element]
\[Equivalent]
\[DoubleStruckCapitalR]

So, when you type \[Alpha], it is displayed as “α”. (All built-in symbols in Ɱ starts with capital letter.)

You can think of them as html's “named character entities”. 〔☛ Character Sets and Encoding in HTML〕 There are about 900 named chars. For the complete list, see: Listing of Named Characters.

Many of the named chars are also in Unicode, but not all. Similarly, many Math Symbols in Unicode are not in this list. Also, Unicode's Chinese chars, Arabic alphabets etc, are not in Ɱ's named chars.

Map Between Unicode and Named Chars

When you paste a Unicode char into Ɱ, Ɱ will try to interpret the Unicode as one of the named char.

So, for example, if you paste “α” (GREEK SMALL LETTER ALPHA; “U+x3b1”), it automatically becomes Mathematica's \[Alpha], and displayed as “α”.

Syntax for Arbitrary Unicode Char

For any Unicode that's not one of Ɱ's named char (such as Chinese chars), their syntax is this: \:nnnn, where the nnnn is Unicode's 4 digit hexidecimal representation of the char. For example, the Chinese char “水” (water), Unicode hex is “6c34”, in Ɱ is: \:6c34.

The above roughly summarize how Ɱ takes Unicode as input.

Some Named Chars has Built-in Meaning

Of the named chars, many has special meaning in Ɱ. For example, \[Pi] is automatically considered identical to the built-in symbol Pi, which means the mathematical constant. (So, if you type N[\[Pi]] or N[\:03c0], they are displayed as N[π] with meaning of N[Pi], and if you evaluate it, you get “3.14159”.). Here's some examples of special meaning named chars.

GlyphMathematica's nameUnicode nameUnicode hexidecimalDefault Interpretation
\[GreaterEqual]GREATER-THAN OR EQUAL TO2265GreaterThan >=
π\[Pi]GREEK SMALL LETTER PI03c0Pi
\[Infinity]INFINITY221eInfinity
\[Integral]INTEGRAL222bIntegrate
\[Intersection]N-ARY INTERSECTION22c2Union
\[Sum]N-ARY SUMMATION2211Sum
\[Sqrt]SQUARE ROOT221aSqrt
\[CirclePlus]CIRCLED PLUS2295CirclePlus

Note: it appears that it is possible to over-ride the default interpretation of named char to built-in symbol (function, constant), for all or some of the named char. (i haven't investigated on how yet.) See: MakeExpression.

http://reference.wolfram.com/mathematica/tutorial/Operators.html

Alias Shortcut for Named Chars

Some of the named char has one or more aliases for ease of input. For example, to enter α, you can type 【EscaEsc】 or 【EscalphaEsc】. Here's some examples:

GlyphCommon Alias
αa
πp
inf
<=
°deg
ΔD
el
->

See: http://reference.wolfram.com/mathematica/tutorial/Introduction-ListingOfNamedCharacters.html. Quote:

See: Special Characters.

List of Named Char with Special Meanings

… work in progress

Inputting Special Chars

You can input a special character by:

… work in progress

See also: Wikipedia:LaTeX symbols

blog comments powered by Disqus