# What do the unicode-math range labels mean

The documentation for unicode-math says this about the various labels for range:

In unicode-math, these ranges are indicated with the following (hopefully self-explanatory) labels:

up, it, bb, bbit, scr, cal, bfcal, frak, tt, sfup, sfit, bfup, bfit, bfscr, bffrak, bfsfup, bfsfit

These are not self-explanatory to me. What are each of their meanings?

They correspond to the \sym... math alphabets. So,

\setmathfont[range=up]{Neo Euler}


changes the \symup alphabet to Neo Euler, range=it changes \symit, and so on.

Another thing that isn’t intuitive is that this does not change \mathrm, \mathbf or \mathit, These default to your main font family. You can change them with a different command, \setmathrm. You can also pass unicode-math an option to make them aliases for \symup, \symbfup and \symit.

By default, the \sym... alphabets are for standalone math symbols, such as \symbfup{j}, and the \math... alphabets are for words in math mode, such as \mathrm{iff}. You will notice a major difference between the kerning of \mathrm{iff} and \symup{iff}!

Another thing that’s not intuitive is that \mathcal and \mathscr are, by default, set to the same alphabet, but you can override either one to make it different.

One last thing that’s not intuitive is that, as of 2021, the range= and version= options of \setmathfont are incompatible, so you can either use range= or have different math versions, but not both.

So, one of my go-to examples is the Euler identity with constants set in Neo Euler and everything else in (a clone of) Palatino:

\documentclass[varwidth, preview]{standalone}

\usepackage{mathtools}
\usepackage[math-style=ISO]{unicode-math}

\setmainfont{TeX Gyre Pagella}
\defaultfontfeatures{Scale=MatchLowercase}

\setmathfont{Asana Math}
\setmathfont[range={up/{Latin,latin,Greek,greek},
bfup/{Latin,latin,Greek,greek}},
script-features={}, sscript-features={}
]{Neo Euler}

\newcommand\upe{\symup{e}}
\newcommand\upi{\symup{i}}

\begin{document}
\begin{align*}
\upe^{\upi x} &= \cos{x} + \upi \sin{x} \\
\upe^{\upi \uppi} + 1 &= 0
\end{align*}
\end{document}


In the above example, \symup{i}, \symup{e} and \symup{\pi} (or \uppi) are all changed to Neo Euler, but the the operators sin and cos remain in \mathrm, and x and the digits are from the main math font.

they are upright italic, blackboard bold, script calligraphic, bold calligraphic etc which correspond to the Unicode math alphabets as listed for example at

https://w3c.github.io/xml-entities/#alphabets

You can add prepend \sym to these labels to get the unicode-math math font switching command corresponding to it. (E.g. it sets the font for characters which can be inserted with \symit)

Then section 5.4 "All (the rest) of the mathematical styles" of the documentation contains a table (at time of writing this is table 7) listing for each of these switches which style/shape/series it corresponds to.

Visually, with images from the free app BabelMap:

The purpose of the alphabets in a mathfont is that there is semantic meaning in serif/sans-serif, bold/italic/upright, plain/calligraphic/fraktur/blackboard, Latin/Greek, uppercase/lowercase, proportional-width/monospaced, so the font has to have all of the glyphs, no matter what the font's textmode alphabet is.

Some combinations aren't used or don't exist, though: e.g., there is no Greek Fraktur.

• The unicode-math doc talked about semantic meaning but is there a comprehensive list of the semantic meaning somewhere? Nov 27 '21 at 21:10
• @greendiod Ask a separate question so the mathematicians on site here have a better chance of seeing it. I think the answer is likely to be "no" to the "comprehensive" part of the question, since the set of symbols is open-ended: "no collection of mathematical symbols can ever be considered complete; mathematicians and other scientists are continually inventing new mathematical symbols" (unicode.org/reports/tr25). Best result I suppose would be a "most up-to-date current" list of symbols. Nov 28 '21 at 7:34
• @greendiod Maybe there are א ("for the first transfinite cardinal") symbols :) Then there is the list of non-latin/Greek symbols, like those in Arabic script... This symbol 𓀠 could come in handy one day for counting infinite multitudes of a quantity. Nov 28 '21 at 7:42
• The set of symbols is open-ended but the set of symbol meaning classes may be finite ??? ;) Nov 28 '21 at 10:50