# Why is the Latin script in LM Math derived from Euler rather than cmsy?

Recently, I noticed that the script alphabet in the OpenType version of Latin Modern Math (henceforth referred to as LM Math) does not match the one of Computer Modern (also known as \mathcal). The Latin script which is available in LM Math seems to be a slanted variant of the Euler script font. I wonder why that design decision was made in that way.

From the website:

The Latin Modern Math (LM Math) font completes the modernization of the Computer Modern family of typefaces designed and programmed by Donald E. Knuth.

[...]

LM and LM Math taken together may now be regarded as a full descendant of Computer Modern.

This confuses me even more. LM Math is advertised as the successor of Computer Modern but breaks with the script font.

Why did the font developers choose Euler over Computer Modern for the Latin script?

Below you can find some examples to compare for yourself.

### Computer Modern

\documentclass{article}

\begin{document}
$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$
\end{document}


### Euler

\documentclass{article}
\usepackage{eulervm}
\begin{document}
$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$
\end{document}


### LM Math

\documentclass{article}
\usepackage{unicode-math}
\begin{document}
$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$
\end{document}


• That's only one of Latin Modern's script fonts.
– cfr
Aug 9, 2017 at 1:55
• It isn't what's in the traditional fonts. But I don't know how the script font maps onto the unicode stuff.
– cfr
Aug 9, 2017 at 2:04

It was a design choice. In TUGboat, Volume 37 (2016), No. 3, https://www.tug.org/TUGboat/Contents/contents37-3.html, in the article "GUST e-foundry font projects", pages 317-336, the authors of the font wrote on page 326:

We have to confess, however, that we were not especially delighted with the Computer Modern calligraphic script. More pleasingly designed, to our eyes, are the calligraphic letters of the renowned Euler family. Therefore, we decided to transfer the glyphs from the Euler fonts (slanting them slightly) to the LM Math font.

• Could you please provide a link to the article? (possibly not accessible to the public yet) Aug 9, 2017 at 9:42
• @HenriMenke -- link added, and it is (somewhat to my surprise) already open to all. Sep 13, 2017 at 19:08

Conjecture: Neither Computer Modern Symbol's script nor its successor, Latin Modern Symbol's script, provide the symbols the MATH table requires. The OMS encoding does not provide lower-case script. Euler does. Hence, the script symbols are taken from Euler rather than Latin Modern Symbol.

The font you show as Latin Modern script is only one of Latin Modern's. In particular, it is not what is used for \mathcal with traditional fonts.

\documentclass{article}
\usepackage{cfr-lm}
\begin{document}
$\mathcal{ABCDEFGHIJKLMNOPQRSTUVWXYZ}$
\end{document}


The same result can be obtained by loading lmodern or, with no packages, by using

\fontencoding{OMS}\fontfamily{lmsy}\selectfont


In order to qualify as a maths opentype font, Latin Modern Math has to provide a complete MATH table and this requires a number of script fonts and maths alphabets - more than those provided by Computer Modern or the type1 version of Latin Modern derived from it.

For this reason, the developers of Latin Modern Math also based some elements of this font on fonts other than Computer Modern. This includes the calligraphic and fraktur fonts which are, as you say, based on Euler. (This is explained in the README.) I would have guessed from the README that the font derived from Computer Modern Symbol, on which Latin Modern Symbol is based, would be available in Latin Modern Math, but that it is expected to be accessed as \mathscr.

The math OTF fonts should contain a special table, MATH, described in the confidential Microsoft document "The MATH table and OpenType Features for Math Processing". Moreover, they should contain a broad collection of special characters (see "Draft Unicode Technical Report

# 25. UNICODE SUPPORT FOR MATHEMATICS" by Barbara Beeton, Asmus Freytag, and Murray Sargent III). In particular, math OTF fonts are

expected to contain the following scripts: a basic serif script (regular, bold, italic and bold italic), a calligraphic script (regular and bold), a double-struck script, a fraktur script (regular and bold), a sans-serif script (regular, bold, oblique and bold oblique), and a monospaced script.

The basic script is, obviously, Latin Modern. Some scripts, however, are borrowed from other fonts (the current selection, however, may be subject to change), belonging, however, to the "TeX circle":

However, unicode-math uses the same fonts for normal and bold \mathscr as it does for \mathcal. Looking at the font in FontForge, it contains multiple copies of the Euler-based script, but no copy of the Latin Modern Symbol script. However, I guess by the 'serif script', they just been the roman.

One reason to use Euler rather than Latin Modern Symbol is that the latter script only includes upper case, but the MATH table requires both. Hence, there is no model in Computer Modern or Latin Modern Symbol for a lower-case script alphabet. It seems a reasonable guess that this motivated the decision to substitute Euler. Euler provided what Knuth's OMS encoding did not: lower-case letters.

• I'm referring to the OpenType variant of Latin Modern Math in my question. I will make it more clear. Aug 9, 2017 at 2:24
• @HenriMenke I know. But you asked about the designers of the fonts. I'm pointing out that there is a Latin Modern script based on the Computer Modern calligraphic one.
– cfr
Aug 9, 2017 at 2:25
• ... which is not available in the OpenType version. Aug 9, 2017 at 2:26
• @HenriMenke I'm not so sure. Have you checked the font itself? You're sure this is not a unicode-math bug? The \mathcal is giving the expected behaviour i.e. an Euler-like script, which is by design. But that doesn't necessarily mean the script from lmsy is not there.
– cfr
Aug 9, 2017 at 2:34
• I inspected the font with FontForge and couldn't find glyphs from lmsy. Also the question is why the script is derived from Euler rather than lmsy. Aug 9, 2017 at 2:42