summaryrefslogtreecommitdiff
path: root/Master/texmf-dist
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-02-15 22:23:04 +0000
committerKarl Berry <karl@freefriends.org>2019-02-15 22:23:04 +0000
commitb12bc2332f229d9a6b10ce0e6ae81cd2870d644d (patch)
tree8efe6d848317f5b0b179949e8c8eae42e5b7ec11 /Master/texmf-dist
parentc8f41ea19d9e98226e6da3d4544f848440659030 (diff)
unicode-math (15feb19)
git-svn-id: svn://tug.org/texlive/trunk@50032 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/CHANGES.md9
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/README.md12
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/RELEASE_CHECKLIST.md11
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/um-doc-legacyfontdimen.tex2
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/um-doc-main.tex10
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/um-doc-mathfontdimen.tex2
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/um-doc-nfsssummary.tex2
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/um-doc-stixextract.tex2
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/um-doc-style.tex6
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unicode-math-code.ltx2
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unicode-math-code.pdfbin329534 -> 331900 bytes
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unicode-math.ltx2
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdfbin162775 -> 162907 bytes
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unimath-example.ltx2
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unimath-example.pdfbin22146 -> 22095 bytes
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.ltx64
-rw-r--r--Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdfbin1608262 -> 1203889 bytes
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-alphabets.dtx2
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-amsmath.dtx5
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-api.dtx2
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-compat.dtx20
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-epilogue.dtx8
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-fontopt.dtx7
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-fontparam.dtx10
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-main.dtx94
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-mathmap.dtx18
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-mathtext.dtx39
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-msg.dtx11
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-opening.dtx121
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-pkgopt.dtx2
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-primes.dtx4
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-setchar.dtx24
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-sscript.dtx8
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-sym-commands.dtx19
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-ui.dtx2
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-usv.dtx2
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/um-code-variables.dtx15
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx8
-rw-r--r--Master/texmf-dist/source/latex/unicode-math/unicode-math.ins2
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty237
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex26
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty234
-rw-r--r--Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty2
43 files changed, 547 insertions, 501 deletions
diff --git a/Master/texmf-dist/doc/latex/unicode-math/CHANGES.md b/Master/texmf-dist/doc/latex/unicode-math/CHANGES.md
index 08f01fbfa24..619f7c46c77 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/CHANGES.md
+++ b/Master/texmf-dist/doc/latex/unicode-math/CHANGES.md
@@ -1,6 +1,15 @@
CHANGE HISTORY
==============
+## v0.8n (2019/02/15)
+
+ * Add note to readme that the `lm-math` package is required for minimal functionality.
+ * Spacing fixed for maths fonts loaded with the `Scale` fontspec feature (#287).
+ * Commands like `\crampedtextstyle` now longer lead to an infinite loop under XeTeX (#505).
+ * Improvements to the functionality of the test suite. (Although more tests would be nice.)
+ * Test suite is now (successfully) run with `expl3` debug mode enabled.
+
+
## v0.8m (2018/07/29)
* Restore behaviour of legacy syntax `x_\mathrm{x}` (i.e., with no braces).
diff --git a/Master/texmf-dist/doc/latex/unicode-math/README.md b/Master/texmf-dist/doc/latex/unicode-math/README.md
index 92578d2057c..95bf728b726 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/README.md
+++ b/Master/texmf-dist/doc/latex/unicode-math/README.md
@@ -1,7 +1,7 @@
The UNICODE-MATH package
========================
-This package will provide a complete implementation of unicode maths for
+This package provides an implementation of Unicode/OpenType mathematics for
XeLaTeX and LuaLaTeX.
While I am a little wary of encouraging people to use this package for
@@ -24,9 +24,9 @@ Unicode maths is currently supported by the following freely available fonts:
- [DejaVu Math TeX Gyre][DEJA] (B. Jackowski, P. Strzelczyk and P. Pianowski)
- [Asana Math][AM] (Apostolos Syropolous),
- [STIX][STIX] (STIpub), and
- - [Neo Euler][NE] (Khaled Hosny),
- [XITS Math][XM] (Khaled Hosny),
- [Libertinus Math][LIB] (Philipp H. Poll and Khaled Hosny).
+ - [Fire Math][FIRA] (Xiangdong Zeng).
These fonts are available under open source licences
(the [GUST Font License][GFL] and [Open Font Licence][OFL]).
@@ -50,12 +50,13 @@ new releases.
[TM]: http://www.ctan.org/pkg/tex-gyre-math-termes
[DEJA]: https://ctan.org/pkg/tex-gyre-math-dejavu
[AM]: http://www.ctan.org/pkg/asana-math
-[NE]: http://github.com/khaledhosny/euler-otf
[STIX]: http://www.stixfonts.org
[XM]: http://github.com/khaledhosny/xits-math
[LIB]: https://ctan.org/pkg/libertinus
[GFL]: http://www.gust.org.pl/projects/projects/e-foundry/licenses/
[OFL]: http://scripts.sil.org/OFL
+[FIRA]: https://github.com/firamath/firamath
+
PACKAGE USAGE
-------------
@@ -74,7 +75,8 @@ Furthermore, it will be in a different font.
REQUIREMENTS
------------
-As well as running XeTeX or LuaTeX, this package requires recent versions of the `fontspec`, `expl3`, `xpackages`, `filehook`, and `lualatex-math` packages.
+As well as running XeTeX or LuaTeX, this package requires recent versions of the
+`lm-math`, `fontspec`, `expl3`, `xpackages`, `filehook`, and `lualatex-math` packages.
THANKS
@@ -111,4 +113,4 @@ greater.
[LPPL]: http://www.latex-project.org/lppl/
-This work is author-maintained and consists of the files listed in `MANIFEST.md`.
+This work is maintained by Will Robertson and consists of the files listed in `MANIFEST.md`.
diff --git a/Master/texmf-dist/doc/latex/unicode-math/RELEASE_CHECKLIST.md b/Master/texmf-dist/doc/latex/unicode-math/RELEASE_CHECKLIST.md
index 13c2f4e788e..ab250200e0d 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/RELEASE_CHECKLIST.md
+++ b/Master/texmf-dist/doc/latex/unicode-math/RELEASE_CHECKLIST.md
@@ -2,17 +2,10 @@
- [ ] Finish final changes on `working` branch
- [ ] Ensure `CHANGES.md` is up-to-date with a new version number
-- [ ] `build tag foo`
- [ ] `git push`
-- [ ] Check Travis build status (hopefully is working that date)
+- [ ] Check Travis build status
- [ ] Update local distro fully with tlmgr
- [ ] Run `build check` locally
- [ ] Install prerelease versions of `fontspec` and `latex3` and re-check
-- [ ] `git checkout master; git rebase working`
-- [ ] `build ctan`
-- [ ] Upload to CTAN
-- [ ] `texlua tagrelease.lua` to tag release with version number, annotated with changes
-- [ ] `git push` — assuming tags are pushed by default (might need a local gitconfig)
-- [ ] `git checkout working`
-- [ ] `build install`
+- [ ] `texlua autorelease.lua`
- [ ] Check `latex3/contrib/testfiles/unicode-math001.lvt` and update if necessary
diff --git a/Master/texmf-dist/doc/latex/unicode-math/um-doc-legacyfontdimen.tex b/Master/texmf-dist/doc/latex/unicode-math/um-doc-legacyfontdimen.tex
index 5ba9f95e365..5adb24e9f63 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/um-doc-legacyfontdimen.tex
+++ b/Master/texmf-dist/doc/latex/unicode-math/um-doc-legacyfontdimen.tex
@@ -67,7 +67,7 @@ $\xi_{13}$ & big op spacing5 \\
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/doc/latex/unicode-math/um-doc-main.tex b/Master/texmf-dist/doc/latex/unicode-math/um-doc-main.tex
index 3d871ddd8b4..8ecc8357e7a 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/um-doc-main.tex
+++ b/Master/texmf-dist/doc/latex/unicode-math/um-doc-main.tex
@@ -500,8 +500,8 @@ upper- and lowercase Greek, but italic lowercase latin. Finally, it is not unkno
for all characters, as seen in the Euler fonts.
The \pkg{unicode-math} package accommodates these possibilities with the
-option \opt{math-style} that takes one of four (case sensitive) arguments:
-\opt{TeX}, \opt{ISO}, \opt{french}, or \opt{upright}.\footnote{Interface inspired by Walter Schmidt's \pkg{lucimatx} package.}
+option \opt{math-style} that takes one of five (case sensitive) arguments:
+\opt{TeX}, \opt{ISO}, \opt{french}, \opt{upright}, or \opt{literal}.\footnote{Interface inspired by Walter Schmidt's \pkg{lucimatx} package.}
The \opt{math-style} options' effects are shown in brief in \tabref{math-style}.
The philosophy behind the interface to the mathematical symbols
@@ -725,8 +725,8 @@ the caligraphic letters are accessed with the same glyph slots as the
script letters but with the first stylistic set feature (|ss01|) applied.
An example is shown below.
\begin{quote}
-\setmathfont{xits-math.otf}
-\setmathfont{xits-math.otf}[range=cal,StylisticSet=1]
+\setmathfont{XITSMath-Regular.otf}
+\setmathfont{XITSMath-Regular.otf}[range=cal,StylisticSet=1]
The Script style (\cs{mathscr}) in XITS Math is: $\symscr{ABCXYZ}$\par
The Caligraphic style (\cs{mathcal}) in XITS Math is: $\symcal{ABCXYZ}$
\end{quote}
@@ -1225,7 +1225,7 @@ will produce `bf'.
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/doc/latex/unicode-math/um-doc-mathfontdimen.tex b/Master/texmf-dist/doc/latex/unicode-math/um-doc-mathfontdimen.tex
index 45b7463dbf0..906a786db37 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/um-doc-mathfontdimen.tex
+++ b/Master/texmf-dist/doc/latex/unicode-math/um-doc-mathfontdimen.tex
@@ -142,7 +142,7 @@ Suggested: /5 x-height.}
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/doc/latex/unicode-math/um-doc-nfsssummary.tex b/Master/texmf-dist/doc/latex/unicode-math/um-doc-nfsssummary.tex
index db751e91c21..a322ac7f424 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/um-doc-nfsssummary.tex
+++ b/Master/texmf-dist/doc/latex/unicode-math/um-doc-nfsssummary.tex
@@ -78,7 +78,7 @@ For characters, something like:
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/doc/latex/unicode-math/um-doc-stixextract.tex b/Master/texmf-dist/doc/latex/unicode-math/um-doc-stixextract.tex
index 7738fc8be86..53a86a8ab72 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/um-doc-stixextract.tex
+++ b/Master/texmf-dist/doc/latex/unicode-math/um-doc-stixextract.tex
@@ -29,7 +29,7 @@ things are supposed to work!)
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/doc/latex/unicode-math/um-doc-style.tex b/Master/texmf-dist/doc/latex/unicode-math/um-doc-style.tex
index e5b581aed19..729a102ebea 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/um-doc-style.tex
+++ b/Master/texmf-dist/doc/latex/unicode-math/um-doc-style.tex
@@ -46,8 +46,8 @@
]
\setmathfont{texgyrepagella-math.otf}
-\setmathfont[version=xits]{xits-math.otf}
-\newfontface\umfont{xits-math.otf}
+\setmathfont[version=xits]{XITSMath-Regular.otf}
+\newfontface\umfont{XITSMath-Regular.otf}
\expandafter\def\csname ver@thumbpdf.sty\endcsname{}
\usepackage{hypdoc}
@@ -122,7 +122,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/doc/latex/unicode-math/unicode-math-code.ltx b/Master/texmf-dist/doc/latex/unicode-math/unicode-math-code.ltx
index 1fa34a19374..cff887daed7 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/unicode-math-code.ltx
+++ b/Master/texmf-dist/doc/latex/unicode-math/unicode-math-code.ltx
@@ -26,7 +26,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/doc/latex/unicode-math/unicode-math-code.pdf b/Master/texmf-dist/doc/latex/unicode-math/unicode-math-code.pdf
index 4cafb85ff78..8e8ae8878d2 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/unicode-math-code.pdf
+++ b/Master/texmf-dist/doc/latex/unicode-math/unicode-math-code.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/unicode-math/unicode-math.ltx b/Master/texmf-dist/doc/latex/unicode-math/unicode-math.ltx
index e7481ca2967..c3a13fd370c 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/unicode-math.ltx
+++ b/Master/texmf-dist/doc/latex/unicode-math/unicode-math.ltx
@@ -29,7 +29,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf b/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf
index 10a4e76b8c2..991f4326aaf 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf
+++ b/Master/texmf-dist/doc/latex/unicode-math/unicode-math.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/unicode-math/unimath-example.ltx b/Master/texmf-dist/doc/latex/unicode-math/unimath-example.ltx
index 928a523f306..d8f75961a81 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/unimath-example.ltx
+++ b/Master/texmf-dist/doc/latex/unicode-math/unimath-example.ltx
@@ -60,7 +60,7 @@ And that's a brief introduction to the package. Please see the documentation for
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/doc/latex/unicode-math/unimath-example.pdf b/Master/texmf-dist/doc/latex/unicode-math/unimath-example.pdf
index 822d0ef7038..2e960bcc5a8 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/unimath-example.pdf
+++ b/Master/texmf-dist/doc/latex/unicode-math/unimath-example.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.ltx b/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.ltx
index e6c75522f88..df6ac0e986f 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.ltx
+++ b/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.ltx
@@ -33,31 +33,36 @@
\ExplSyntaxOn
\cs_generate_variant:Nn \fontspec_set_fontface:NNnn {c}
-\def\defmathfont#1#2#3{
+\def\FINISH{}
+\newcount\Nfonts
+\def\defmathfont#1#2#3#4{
+ \Nfonts=\numexpr\Nfonts+1\relax
+ \tl_set:cn {L#1} {#4}
\newcounter{#1}
\setcounter{#1}{-1}
\setmathfont[version=#1,SizeFeatures={
{Size=-10, Colour=999999},
{Size=10-, Colour=#3}}]{#2}
\fontspec_set_fontface:cNnn {#1} \x {ItalicFont={},BoldFont={}} {#2}
+ \tl_gput_right:Nn \FINISH {
+ \refstepcounter{#1}\label{count:#1}
+ }
}
\ExplSyntaxOff
-\defmathfont{lm}{latinmodern-math.otf}{CC6666}
-\defmathfont{xits}{xits-math.otf}{CCCC66}
-\defmathfont{stix}{STIXMath-Regular.otf}{AA66CC}
-\defmathfont{cambria}{CambriaMath.ttf}{66CCCC}
-\defmathfont{asana}{Asana-Math.otf}{6666CC}
-\defmathfont{pagella}{texgyrepagella-math.otf}{AA6666}
-\defmathfont{dejavu}{texgyredejavu-math.otf}{AACC66}
-\defmathfont{euler}{euler.otf}{CC66CC}
+\defmathfont{lm}{latinmodern-math.otf}{CC6666}{L}
+\defmathfont{xits}{XITSMath-Regular.otf}{6666CC}{X}
+\defmathfont{stix}{STIX2Math.otf}{66CC66}{S}
+\defmathfont{pagella}{texgyrepagella-math.otf}{AA6666}{P}
+\defmathfont{dejavu}{texgyredejavu-math.otf}{AACC66}{D}
+\defmathfont{fira}{FiraMath-Regular.otf}{AA66CC}{F}
\def\INPUT{\input{unicode-math-table.tex}}
\def\TABLE{%
\par\noindent
-\begin{longtabu}[l]{@{}lcccccccclX[l]@{}}
+\begin{longtabu}[l]{@{}l *{\Nfonts}{c} lX[l]@{}}
\toprule
- \textsc{usv} & M & X & S & C & A & P & D & E & Macro & Description \\
+ \textsc{usv} & \Llm & \Lxits & \Lstix & \Lpagella & \Ldejavu & \Lfira & Macro & Description \\
\midrule \endhead
\INPUT\\
\bottomrule
@@ -87,11 +92,9 @@
\SYMB{#2}{lm}{#1} &
\SYMB{#2}{xits}{#1} &
\SYMB{#2}{stix}{#1} &
- \SYMB{#2}{cambria}{#1} &
- \SYMB{#2}{asana}{#1} &
\SYMB{#2}{pagella}{#1} &
\SYMB{#2}{dejavu}{#1} &
- \SYMB{#2}{euler}{#1} &
+ \SYMB{#2}{fira}{#1} &
\CMD{#2}
\tl_if_in:NnT \PLAIN {#2}
{
@@ -153,7 +156,7 @@
\begin{document}
\MakeShortVerb\|
-\title{Every symbol (most symbols) defined by \textsf{unicode-math}}
+\title{Symbols defined by \textsf{unicode-math}}
\author{Will Robertson}
\maketitle
@@ -163,21 +166,19 @@ package.
Use this document to find the command name or the Unicode glyph slot for a symbol that you wish to use.
The following fonts are shown: (with approximate symbol counts)
\begin{itemize}
-\item[M] \mathversion{lm} $\mathup{Latin\ Modern\ Math}$ (\ref{count:lm})
-\item[X] \mathversion{xits} $\mathup{XITS\ Math}$ (\ref{count:xits})
-\item[S] \mathversion{stix} $\mathup{STIX\ Math}$ (\ref{count:stix})
-\item[C] \mathversion{cambria} $\mathup{Cambria\ Math}$ (\ref{count:cambria})
-\item[A] \mathversion{asana} $\mathup{Asana\ Math}$ (\ref{count:asana})
-\item[P] \mathversion{pagella} $\mathup{TeX\ Gyre\ Pagella\ Math}$ (\ref{count:pagella})
-\item[D] \mathversion{dejavu} $\mathup{DejaVu\ Math\ TeX\ Gyre}$ (\ref{count:dejavu})
-\item[E] \mathversion{euler} $\mathup{Neo\ Euler}$ (\ref{count:euler})
+\item[\Llm] \mathversion{lm} $\mathup{Latin\ Modern\ Math}$ (\ref{count:lm})
+\item[\Lxits] \mathversion{xits} $\mathup{XITS\ Math}$ (\ref{count:xits})
+\item[\Lstix] \mathversion{stix} $\mathup{STIX\ Math\ Two}$ (\ref{count:stix})
+\item[\Lpagella] \mathversion{pagella} $\mathup{TeX\ Gyre\ Pagella\ Math}$ (\ref{count:pagella})
+\item[\Ldejavu] \mathversion{dejavu} $\mathup{DejaVu\ Math\ TeX\ Gyre}$ (\ref{count:dejavu})
+\item[\Lfira] \mathversion{fira} $\mathup{Fira\ Math}$ (\ref{count:fira})
\end{itemize}
-Note that there are addition maths fonts in the `\TeX\ Gyre' collection which aren't included here.
-
Symbols defined in Plain \TeX\ are indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (p)}} after their macro name.
-\LaTeX\ follows Plain \TeX, but defines a handful more, indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (l)}}
+\LaTeX\ follows Plain \TeX, but defines a handful more, indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (l)}}.
Symbols defined in \textsf{amssymb} are indicated with {\color[gray]{0.6} \textsuperscript{\sffamily (a)}}.
+Note that this list of fonts is not intended to be exhaustive but I am happy to add new fonts by request if they are distributed in \TeX\ Live.\footnote{Only a single \TeX\ Gyre Math font is shown here by design as they all largely have the same symbol coverage.}
+
\tableofcontents
\clearpage
@@ -444,14 +445,7 @@ The limits behaviour as specified by \textsf{unicode-math} are shown with grey s
\def\UnicodeMathSymbol#1#2#3#4{\PRINTLINE{#1}{#2}{#4}}
\TABLE
-\refstepcounter{lm}\label{count:lm}
-\refstepcounter{xits}\label{count:xits}
-\refstepcounter{stix}\label{count:stix}
-\refstepcounter{cambria}\label{count:cambria}
-\refstepcounter{asana}\label{count:asana}
-\refstepcounter{pagella}\label{count:pagella}
-\refstepcounter{euler}\label{count:euler}
-\refstepcounter{dejavu}\label{count:dejavu}
+\FINISH
\end{document}
@@ -466,7 +460,7 @@ The limits behaviour as specified by \textsf{unicode-math} are shown with grey s
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf b/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf
index c650c1c4709..05e28b4216b 100644
--- a/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf
+++ b/Master/texmf-dist/doc/latex/unicode-math/unimath-symbols.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-alphabets.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-alphabets.dtx
index f36613f05da..fd6dd322c8e 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-alphabets.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-alphabets.dtx
@@ -925,7 +925,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-amsmath.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-amsmath.dtx
index e75bc6a0b45..bc782ba88c4 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-amsmath.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-amsmath.dtx
@@ -107,8 +107,7 @@
{
\bool_if:nTF
{
- \int_compare_p:nNn { \uproot@ } = { \c_zero }
- && \int_compare_p:nNn { \leftroot@ } = { \c_zero }
+ \@@_int_if_zero_p:n \uproot@ && \@@_int_if_zero_p:n \leftroot@
}
{
\Uroot \c_@@_radical_sqrt_tl { #1 } { #2 }
@@ -216,7 +215,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-api.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-api.dtx
index c319601fb2b..69a6f5a0311 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-api.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-api.dtx
@@ -34,7 +34,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-compat.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-compat.dtx
index 3e97d36c183..a5f05c81b39 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-compat.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-compat.dtx
@@ -52,21 +52,17 @@
% \section{Patching/augmenting 3rd-party packages}
%
% \subsection{\pkg{url}}
-%
-% Simply need to get \pkg{url} in a state such that
+% Here we need to get \pkg{url} in a state such that
% when it switches to math mode and enters \ascii\ characters, the maths
% setup (i.e., \pkg{unicode-math}) doesn't remap the symbols into Plane 1.
-% Which is, of course, what \cs{mathup} is doing.
-%
-% This is the same as writing, e.g., |\def\UrlFont{\ttfamily\@@_switchto_up:}|
-% but activates automatically so old documents that might change the \cs{url}
-% font still work correctly.
-%
-% TODO: check still needed now we have symup vs mathrm
+% Which is what \cs{symliteral} is intended to do.
+% This is the same as writing, e.g., |\def\UrlFont{\ttfamily\@@_switch_to:n{literal}}|
+% but activates automatically so documents that might change the \cs{url}
+% font through the standard interface still work correctly.
% \begin{macrocode}
\AtEndOfPackageFile * {url}
{
- \tl_put_left:Nn \Url@FormatString { \@@_switch_to:n {up} }
+ \tl_put_left:Nn \Url@FormatString { \@@_switch_to:n {literal} }
\tl_put_right:Nn \UrlSpecials
{
\do \` { \mathchar`\` }
@@ -119,7 +115,7 @@
\color@setgroup \c_math_toggle_token \m@th
#1
\dim_zero:N \nulldelimiterspace
- \XeTeXradical \c_two_hundred_fifty_five \c_zero { #2 }
+ \XeTeXradical 255 ~ 0 ~ { #2 }
\c_math_toggle_token \color@endgroup
}
\box_set_ht:Nn \l_tmpa_box
@@ -246,7 +242,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-epilogue.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-epilogue.dtx
index 75fc6ec9b80..9c10ee0ddfc 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-epilogue.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-epilogue.dtx
@@ -383,6 +383,12 @@
\@@_undeclare_symbol:N \bracevert
% \end{macrocode}
%
+% \section{A secret hook}
+% This will be executed after most if not all of the standard unicode-math setup.
+% \begin{macrocode}
+\AtBeginDocument{\g_@@_secret_hook_tl}
+% \end{macrocode}
+%
% \begin{macrocode}
%</package>
% \end{macrocode}
@@ -405,7 +411,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-fontopt.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-fontopt.dtx
index db6edd40b0a..acd1117e34f 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-fontopt.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-fontopt.dtx
@@ -41,7 +41,7 @@
range .code:n =
{
\bool_if:NF \g_@@_main_font_defined_bool { \@@_error:n {no-main-font} }
- \bool_set_false:N \l_@@_init_bool
+ \bool_gset_false:N \g_@@_init_bool
\@@_range_init:
\group_begin:
\seq_map_inline:Nn \g_@@_mathclasses_seq
@@ -64,7 +64,7 @@
% Math symbols are defined with \cmd\_@@_sym:nnn; see \secref{mathsymbol}
% for the individual definitions
% \begin{macrocode}
-\cs_new:Nn \@@_range_init:
+\@@_cs_new:Nn \@@_range_init:
{
\int_gincr:N \g_@@_fam_int
\tl_set:Nx \l_@@_symfont_label_tl {@@_fam\int_use:N\g_@@_fam_int}
@@ -111,7 +111,6 @@
% \begin{macrocode}
\cs_new:Nn \@@_mathalph_decl:nF
{
-
\tl_set:Nn \l_@@_tmpa_tl {#1}
\tl_clear:N \l_@@_tmpb_tl
\tl_clear:N \l_@@_tmpc_tl
@@ -318,7 +317,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-fontparam.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-fontparam.dtx
index 18006feaddb..9d43d0c18c1 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-fontparam.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-fontparam.dtx
@@ -36,7 +36,7 @@
% For \XeTeX, define \meta{command} as a new quark.
% \begin{macrocode}
\cs_new_protected_nopar:Nn \@@_new_cramped_style:N
-%<XE> { \quark_new:N #1 }
+%<XE> { \tl_const:Nn #1 { \use_none:n #1 } }
%<LU> {
%<LU> \cs_if_exist:NF #1
%<LU> { \cs_new_eq:Nc #1 { luatex \cs_to_str:N #1 } }
@@ -114,7 +114,7 @@
% \end{macrocode}
% Which family to use?
% \begin{macrocode}
- \c_two
+ 2~
}
%</XE>
% \end{macrocode}
@@ -289,11 +289,11 @@
% \begin{macrocode}
\cs_new:Nn \@@_fontdimen_to_percent:nN
{
- \fp_eval:n { \dim_to_decimal:n { \fontdimen #1 #2 } * 65536 / 100 }
+ \fp_eval:n { \dim_to_decimal:n { 65536 \fontdimen #1 #2 } / 100 }
}
\cs_new:Nn \@@_fontdimen_to_scale:nN
{
- \fp_eval:n { \@@_fontdimen_to_percent:nN {#1} #2 * \f@size } pt
+ \fp_eval:n { \@@_fontdimen_to_percent:nN {#1} #2 * \f@size }
}
% \end{macrocode}
% \end{macro}
@@ -336,7 +336,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-main.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-main.dtx
index 907556283fb..aec2eb3d5a0 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-main.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-main.dtx
@@ -11,7 +11,7 @@
% \darg{keyval options}
% \darg{font name/file}
% \begin{macrocode}
-\cs_set:Nn \@@_setmathfont:nn
+\@@_cs_new:Nn \@@_setmathfont:nn
{
% \end{macrocode}
% \begin{itemize}
@@ -35,14 +35,12 @@
\keys_set_known:nnN {unicode-math} {#1} \l_@@_unknown_keys_clist
- \bool_if:NT \l_@@_init_bool
- {
- \@@_fontspec_trial_font:
- \@@_declare_math_sizes:
- }
+ \bool_if:NT \g_@@_init_bool \@@_fontspec_trial_font:
+ \bool_if:NT \g_@@_init_bool \@@_declare_math_sizes:
+
\@@_fontspec_select_font:
\@@_setup_math_fam:
- \bool_if:NT \l_@@_init_bool
+ \bool_if:NT \g_@@_init_bool
{
\@@_setup_legacy_fam_two:
\@@_setup_legacy_fam_three:
@@ -60,7 +58,7 @@
% this is an extensive part of the code; see Section~\ref{sec:mathmap};
% \end{itemize}
% \begin{macrocode}
- \bool_if:NT \l_@@_init_bool \@@_onceoff_setup:
+ \bool_if:NT \g_@@_init_bool \@@_onceoff_setup:
\@@_remap_symbols:
\@@_setup_mathactives:
\@@_setup_delcodes:
@@ -68,7 +66,7 @@
%% TODO: what of the above should only be run for the "default"/"main" font?
- \bool_if:NTF \l_@@_init_bool
+ \bool_if:NTF \g_@@_init_bool
{
\bool_gset_true:N \g_@@_main_font_defined_bool
%<LU> \@@_mathparam_store:
@@ -87,16 +85,10 @@
% This needs to happen early so that all of the font-loading machinery executes before
% the other `AtBeginDocument' code.
% \begin{macrocode}
-\AtBeginDocument { \@@_load_lm_if_necessary: }
-\cs_new:Nn \@@_load_lm_if_necessary:
+\AtBeginDocument { \bool_if:NF \g_@@_main_font_defined_bool \@@_load_lm: }
+\@@_cs_new:Nn \@@_load_lm:
{
- \bool_if:NF \g_@@_main_font_defined_bool
- {
-%<debug>\typeout{SETTING~ DEFAULT~ FONT~(latinmodern-math)}
- \setmathfont{latinmodern-math.otf}
- [BoldFont={latinmodern-math.otf}]
-%<debug>\typeout{END~ DEFAULT~ FONT)}
- }
+ \setmathfont{latinmodern-math.otf}[BoldFont={latinmodern-math.otf}]
}
% \end{macrocode}
%
@@ -104,7 +96,7 @@
% Reset local variables.
% Default to defining the font for every math symbol character.
% \begin{macrocode}
-\cs_new:Nn \@@_init:n
+\@@_cs_new:Nn \@@_init:n
{
\tl_set:Nn \l_@@_fontname_tl {#1}
\bool_gset_true:N \g_@@_ot_math_bool
@@ -116,7 +108,7 @@
\tl_set_eq:NN \l_@@_script_font_tl \l_@@_fontname_tl
\tl_set_eq:NN \l_@@_sscript_font_tl \l_@@_fontname_tl
- \bool_set_true:N \l_@@_init_bool
+ \bool_gset_true:N \g_@@_init_bool
\seq_gclear:N \g_@@_char_range_seq
\clist_clear:N \l_@@_mathmap_charints_clist
\seq_gclear:N \g_@@_mathalph_seq
@@ -135,13 +127,13 @@
% Set the math sizes according to the recommended font parameters.
% \begin{macrocode}
\tl_new:N \g_@@_main_font_cmd_tl
-\cs_new:Nn \@@_declare_math_sizes:
+\cs_new:Nn \@@_sf_size: { \@@_fontdimen_to_scale:nN {10} \g_@@_trial_font }
+\cs_new:Nn \@@_ssf_size: { \@@_fontdimen_to_scale:nN {11} \g_@@_trial_font }
+\@@_cs_new:Nn \@@_declare_math_sizes:
{
\dim_compare:nF { \fontdimen 10 \g_@@_trial_font == 0pt }
{
- \DeclareMathSizes { \f@size } { \f@size }
- { \@@_fontdimen_to_scale:nN {10} \g_@@_trial_font }
- { \@@_fontdimen_to_scale:nN {11} \g_@@_trial_font }
+ \DeclareMathSizes { \f@size } { \f@size } { \@@_sf_size: } { \@@_ssf_size: }
}
}
% \end{macrocode}
@@ -151,12 +143,12 @@
%
% \begin{macro}{\@@_fontspec_trial_font:}
% \begin{macrocode}
-\cs_new:Nn \@@_fontspec_trial_font:
+\@@_cs_new:Nn \@@_fontspec_trial_font:
{
\tl_set:Nx \l_@@_font_keyval_tl
{
%<LU> Renderer = Basic,
- BoldItalicFont = {}, ItalicFont = {},
+ BoldItalicFont = {}, ItalicFont = {}, SmallCapsFont = {},
Script = Math,
%<LU> FontAdjustment = { \@@_luatex_copy_fontdimens: },
\l_@@_unknown_keys_clist
@@ -169,6 +161,7 @@
\exp_last_unbraced:NNo \@@_fontface_gset_eq:NN \g_@@_trial_font \font@name
\fontspec_if_script:nF {math}
{
+ \@@_warning:n {not-ot-math}
\bool_gset_false:N \g_@@_ot_math_bool
\bool_gset_false:N \g_@@_init_bool
}
@@ -180,15 +173,15 @@
%
% \begin{macro}{\@@_fontspec_select_font:}
% \begin{macrocode}
-\cs_new:Nn \@@_fontspec_select_font:
+\@@_cs_new:Nn \@@_fontspec_select_font:
{
- \fp_gset:Nn \g_@@_size_tfsf_fp { (\f@size +\sf@size )/2 }
- \fp_gset:Nn \g_@@_size_sfssf_fp { (\sf@size+\ssf@size)/2 }
+ \fp_gset:Nn \g_@@_size_tfsf_fp { (\f@size + \@@_sf_size: )/2 }
+ \fp_gset:Nn \g_@@_size_sfssf_fp { (\@@_sf_size: + \@@_ssf_size:)/2 }
\tl_set:Nx \l_@@_font_keyval_tl
{
%<LU> Renderer = Basic,
- BoldItalicFont = {}, ItalicFont = {},
+ BoldItalicFont = {}, ItalicFont = {}, SmallCapsFont = {},
Script = Math,
SizeFeatures =
{
@@ -217,15 +210,10 @@
\fontfamily { \l_@@_family_tl } \selectfont
\exp_last_unbraced:Nno \@@_fontface_gset_eq:cN {g_@@_mathfont_ \int_use:N \g_@@_fonts_used_int _font} \font@name
\tl_gset:Nx \g_@@_curr_font_cmd_tl { \exp_not:c {g_@@_mathfont_ \int_use:N \g_@@_fonts_used_int _font} }
- \bool_if:NT \l_@@_init_bool
+ \bool_if:NT \g_@@_init_bool
{
\exp_last_unbraced:NNo \@@_fontface_gset_eq:NN \l_@@_font \font@name
}
- \fontspec_if_script:nF {math}
- {
- \bool_gset_false:N \g_@@_ot_math_bool
- \bool_gset_false:N \g_@@_init_bool
- }
\group_end:
}
% \end{macrocode}
@@ -244,7 +232,7 @@
% might change the math params, which wouldn't be reflected in the fontdimens.
% \begin{macrocode}
%<*LU>
-\cs_new_protected:Nn \@@_luatex_copy_fontdimens:
+\@@_cs_new:Nn \@@_luatex_copy_fontdimens:
{
\@@_fontdimen_from_param:nn {10} {ScriptPercentScaleDown}
\@@_fontdimen_from_param:nn {11} {ScriptScriptPercentScaleDown}
@@ -271,7 +259,7 @@
%
% \begin{macro}{\@@_setup_math_fam:}
% \begin{macrocode}
-\cs_new:Nn \@@_setup_math_fam:
+\@@_cs_new:Nn \@@_setup_math_fam:
{
\cs_if_exist:cF { sym \l_@@_symfont_label_tl }
{
@@ -283,7 +271,7 @@
% \end{macrocode}
% Set the bold math version.
% \begin{macrocode}
- \str_if_eq_x:nnT {\l_@@_mversion_tl} {normal}
+ \str_if_eq:eeT {\l_@@_mversion_tl} {normal}
{
\SetSymbolFont{\l_@@_symfont_label_tl}{bold}
{\encodingdefault}{\l_@@_family_tl}{\bfdefault}{\updefault}
@@ -295,12 +283,12 @@
% \begin{macro}{\@@_setup_legacy_fam_two:}
% \TeX\ won't load the same font twice at the same scale, so we need to magnify this one by an imperceptable amount.
% \begin{macrocode}
-\cs_new:Nn \@@_setup_legacy_fam_two:
+\@@_cs_new:Nn \@@_setup_legacy_fam_two:
{
\fontspec_set_family:Nxn \l_@@_fam_two_tl
{
\l_@@_font_keyval_tl,
- Scale=1.00001,
+ ScaleAgain = 1.00001,
FontAdjustment =
{
\@@_copy_fontdimen:nnN { 8} {43} \g_@@_main_font_cmd_tl
@@ -324,7 +312,7 @@
\SetSymbolFont{symbols}{\l_@@_mversion_tl}
{\encodingdefault}{\l_@@_fam_two_tl}{\mddefault}{\updefault}
- \str_if_eq_x:nnT {\l_@@_mversion_tl} {normal}
+ \str_if_eq:eeT {\l_@@_mversion_tl} {normal}
{
\SetSymbolFont{symbols}{bold}
{\encodingdefault}{\l_@@_fam_two_tl}{\bfdefault}{\updefault}
@@ -336,12 +324,12 @@
% \begin{macro}{\@@_setup_legacy_fam_three:}
% Similarly, this font is shrunk by an imperceptable amount for \TeX\ to load it again.
% \begin{macrocode}
-\cs_new:Nn \@@_setup_legacy_fam_three:
+\@@_cs_new:Nn \@@_setup_legacy_fam_three:
{
\fontspec_set_family:Nxn \l_@@_fam_three_tl
{
\l_@@_font_keyval_tl,
- Scale=0.99999,
+ ScaleAgain = 0.99999,
FontAdjustment = {
\@@_copy_fontdimen:nnN { 8} {48} \g_@@_main_font_cmd_tl
\@@_copy_fontdimen:nnN { 9} {28} \g_@@_main_font_cmd_tl
@@ -355,7 +343,7 @@
\SetSymbolFont{largesymbols}{\l_@@_mversion_tl}
{\encodingdefault}{\l_@@_fam_three_tl}{\mddefault}{\updefault}
- \str_if_eq_x:nnT {\l_@@_mversion_tl} {normal}
+ \str_if_eq:eeT {\l_@@_mversion_tl} {normal}
{
\SetSymbolFont{largesymbols}{bold}
{\encodingdefault}{\l_@@_fam_three_tl}{\bfdefault}{\updefault}
@@ -366,9 +354,9 @@
%
% \begin{macro}{\@@_onceoff_setup:}
% \begin{macrocode}
-\cs_new:Nn \@@_onceoff_setup:
+\@@_cs_new:Nn \@@_onceoff_setup:
{
- \@@_set_delcode:nnn {operators} {`\.} {\c_zero}
+ \@@_set_delcode:nnn {operators} {`\.} {0}
}
% \end{macrocode}
% \end{macro}
@@ -403,7 +391,7 @@
% This function is used to define the mathcodes for those chars which should
% be mapped to a different glyph than themselves.
% \begin{macrocode}
-\cs_new:Nn \@@_remap_symbols:
+\@@_cs_new:Nn \@@_remap_symbols:
{
\@@_remap_symbol:nnn {`\-} {\mathbin} {"2212}
\@@_remap_symbol:nnn {`\*} {\mathbin} {"02217}% text asterisk to "centred asterisk"
@@ -443,7 +431,7 @@
% TODO: if not an OpenType math font, we should ignore doing anything with primes.
% This needs a revamped `range` feature, I think.
% \begin{macrocode}
-\cs_new:Npn \@@_setup_mathactives:
+\@@_cs_new:Nn \@@_setup_mathactives:
{
\@@_make_mathactive:nNN {"2032} \@@_prime_single_mchar \mathord
\@@_make_mathactive:nNN {"2033} \@@_prime_double_mchar \mathord
@@ -514,7 +502,7 @@
% On the other hand, many fonts won't support them all being stretchy.
% And some of them are probably not meant to stretch, either. But adding them here doesn't hurt.
% \begin{macrocode}
-\cs_new:Npn \@@_setup_delcodes:
+\@@_cs_new:Nn \@@_setup_delcodes:
{
\@@_assign_delcode:nn {`\/} {\g_@@_slash_delimiter_usv}
\@@_assign_delcode:nn {"2044} {\g_@@_slash_delimiter_usv} % fracslash
@@ -605,7 +593,7 @@
% If the maths font were to be loaded later it would clobber our mathparam settings, so
% this seems like a sensible move.
% \begin{macrocode}
-\cs_set:Nn \@@_mathparam_restore:
+\@@_cs_new:Nn \@@_mathparam_restore:
{
\glb@settings
\tl_use:N \g_@@_mathparam_settings_tl
@@ -617,7 +605,7 @@
% \cs{glb@settings} is called to force maths fonts loading \emph{now} so the mathparams
% are up-to-date.
% \begin{macrocode}
-\cs_set:Nn \@@_mathparam_store:
+\@@_cs_new:Nn \@@_mathparam_store:
{
\glb@settings
\tl_gset:Nx \g_@@_mathparam_settings_tl
@@ -701,7 +689,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-mathmap.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-mathmap.dtx
index acd876a40df..e55fe07c2ca 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-mathmap.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-mathmap.dtx
@@ -20,9 +20,9 @@
% The INHERIT mode saves less time than I was hoping for but is still beneficial
% in simple cases.
% \begin{macrocode}
-\cs_new:Npn \@@_setup_alphabets:
+\@@_cs_new:Nn \@@_setup_alphabets:
{
- \bool_if:NTF \l_@@_init_bool { \@@_setup_alphabets_implicit: }
+ \bool_if:NTF \g_@@_init_bool { \@@_setup_alphabets_implicit: }
{
\seq_if_empty:NF \g_@@_mathalph_seq { \@@_setup_alphabets_explicit: }
\clist_if_empty:NF \l_@@_mathmap_charints_clist { \@@_setup_alphabets_inherit: }
@@ -33,7 +33,7 @@
%
% \begin{macro}{ \@@_setup_alphabets_implicit:}
% \begin{macrocode}
-\cs_new:Nn \@@_setup_alphabets_implicit:
+\@@_cs_new:Nn \@@_setup_alphabets_implicit:
{
\@@_log:n {setup-implicit}
\seq_gset_eq:NN \g_@@_mathalph_seq \g_@@_default_mathalph_seq
@@ -51,7 +51,7 @@
%
% \begin{macro}{ \@@_setup_alphabets_explicit:}
% \begin{macrocode}
-\cs_new:Nn \@@_setup_alphabets_explicit:
+\@@_cs_new:Nn \@@_setup_alphabets_explicit:
{
\@@_log:n {setup-explicit}
\bool_set_false:N \l_@@_implicit_alph_bool
@@ -65,7 +65,7 @@
%
% \begin{macro}{ \@@_setup_alphabets_inherit:}
% \begin{macrocode}
-\cs_new:Nn \@@_setup_alphabets_inherit:
+\@@_cs_new:Nn \@@_setup_alphabets_inherit:
{
\seq_gclear:N \g_@@_mathalph_seq
\seq_map_inline:Nn \g_@@_default_mathalph_seq
@@ -135,7 +135,7 @@
\tl_set:Nn \l_@@_alphabet_tl {##1}
\@@_if_alphabet_exists:nnTF \l_@@_style_tl \l_@@_alphabet_tl
{
- \str_if_eq_x:nnTF {\l_@@_alphabet_tl} {misc}
+ \str_if_eq:eeTF {\l_@@_alphabet_tl} {misc}
{
\@@_maybe_init_alphabet:n \l_@@_style_tl
\clist_map_break:
@@ -162,13 +162,13 @@
% \dots and then loop through them defining the individual ranges:
% (currently this process is slow)
% \begin{macrocode}
-\cs_new:Nn \@@_setup_math_alphabet:
+\@@_cs_new:Nn \@@_setup_math_alphabet:
{
\clist_map_inline:Nn \l_@@_alphabet_clist
{
\tl_set:Nx \l_@@_alphabet_tl { \tl_trim_spaces:n {##1} }
-%<debug>\typeout{_setup_math_alphabet:~\l_@@_style_tl/\l_@@_alphabet_tl}
+%<debug>\@@_debug:n {_setup_math_alphabet:~\l_@@_style_tl/\l_@@_alphabet_tl}
\@@_if_alphabet_exists:nnT {\l_@@_style_tl} {\l_@@_alphabet_tl}
{
@@ -586,7 +586,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-mathtext.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-mathtext.dtx
index a12a8b6dabe..602ba013524 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-mathtext.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-mathtext.dtx
@@ -19,14 +19,15 @@
% \end{macrocode}
%
% \begin{macrocode}
-\cs_set:Nn \@@_setmathfontface:Nnn
+\@@_cs_new:Nn \@@_setmathfontface:Nnn
{
\tl_clear:N \l_@@_mversion_tl
\keys_set_known:nnN {@@_mathface} {#2} \l_@@_keyval_clist
- \exp_args:Nnx \fontspec_set_family:Nxn \l_@@_tmpa_tl
- { ItalicFont={}, BoldFont={}, \exp_not:V \l_@@_keyval_clist } {#3}
+ \fontspec_set_family:Nxx \l_@@_tmpa_tl
+ { ItalicFont={}, BoldFont={}, SmallCapsFont={}, \exp_not:V \l_@@_keyval_clist }
+ { #3 }
\tl_if_empty:NT \l_@@_mversion_tl
{
@@ -113,8 +114,8 @@
{
\cs_set_eq:NN \@@_group_begin: \@@_group_begin_frozen:
\cs_set_eq:NN \@@_group_end:n \@@_group_end_frozen:n
- \cs_set_eq:NN \math@bgroup \@@math@bgroup
- \cs_set_eq:NN \math@egroup \@@math@egroup
+ \cs_set_eq:NN \math@bgroup \@@@@math@bgroup
+ \cs_set_eq:NN \math@egroup \@@@@math@egroup
}
\cs_set_eq:NN \math@egroup \@@_group_end:n
#1 \scan_stop:
@@ -133,34 +134,34 @@
%
% \begin{macrocode}
\cs_generate_variant:Nn \tl_if_eq:nnT {o}
-\cs_set:Nn \__fontspec_setmainfont_hook:nn
+\@@_cs_set:Nn \__fontspec_setmainfont_hook:nn
{
\tl_if_eq:onT {\g__fontspec_mathrm_tl} {\rmdefault}
{
-%<XE> \fontspec_set_family:Nnn \g__fontspec_mathrm_tl {#1} {#2}
-%<LU> \fontspec_set_family:Nnn \g__fontspec_mathrm_tl {Renderer=Basic,#1} {#2}
+%<XE> \fontspec_gset_family:Nnn \g__fontspec_mathrm_tl {#1} {#2}
+%<LU> \fontspec_gset_family:Nnn \g__fontspec_mathrm_tl {Renderer=Basic,#1} {#2}
\__fontspec_setmathrm_hook:nn {#1} {#2}
}
}
% \end{macrocode}
% \begin{macrocode}
-\cs_set:Nn \__fontspec_setsansfont_hook:nn
+\@@_cs_set:Nn \__fontspec_setsansfont_hook:nn
{
\tl_if_eq:onT {\g__fontspec_mathsf_tl} {\sfdefault}
{
-%<XE> \fontspec_set_family:Nnn \g__fontspec_mathsf_tl {#1} {#2}
-%<LU> \fontspec_set_family:Nnn \g__fontspec_mathsf_tl {Renderer=Basic,#1} {#2}
+%<XE> \fontspec_gset_family:Nnn \g__fontspec_mathsf_tl {#1} {#2}
+%<LU> \fontspec_gset_family:Nnn \g__fontspec_mathsf_tl {Renderer=Basic,#1} {#2}
\__fontspec_setmathsf_hook:nn {#1} {#2}
}
}
% \end{macrocode}
% \begin{macrocode}
-\cs_set:Nn \__fontspec_setmonofont_hook:nn
+\@@_cs_set:Nn \__fontspec_setmonofont_hook:nn
{
\tl_if_eq:onT {\g__fontspec_mathtt_tl} {\ttdefault}
{
-%<XE> \fontspec_set_family:Nnn \g__fontspec_mathtt_tl {#1} {#2}
-%<LU> \fontspec_set_family:Nnn \g__fontspec_mathtt_tl {Renderer=Basic,#1} {#2}
+%<XE> \fontspec_gset_family:Nnn \g__fontspec_mathtt_tl {#1} {#2}
+%<LU> \fontspec_gset_family:Nnn \g__fontspec_mathtt_tl {Renderer=Basic,#1} {#2}
\__fontspec_setmathtt_hook:nn {#1} {#2}
}
}
@@ -170,7 +171,7 @@
%
% If the maths fonts are set explicitly, then the text commands above will not execute their branches to set the maths font alphabets.
% \begin{macrocode}
-\cs_set:Nn \__fontspec_setmathrm_hook:nn
+\@@_cs_set:Nn \__fontspec_setmathrm_hook:nn
{
\SetMathAlphabet\mathrm{normal}\g_fontspec_encoding_tl\g__fontspec_mathrm_tl\mddefault\updefault
\SetMathAlphabet\mathit{normal}\g_fontspec_encoding_tl\g__fontspec_mathrm_tl\mddefault\itdefault
@@ -178,7 +179,7 @@
}
% \end{macrocode}
% \begin{macrocode}
-\cs_set:Nn \__fontspec_setboldmathrm_hook:nn
+\@@_cs_set:Nn \__fontspec_setboldmathrm_hook:nn
{
\SetMathAlphabet\mathrm{bold}\g_fontspec_encoding_tl\g__fontspec_bfmathrm_tl\mddefault\updefault
\SetMathAlphabet\mathbf{bold}\g_fontspec_encoding_tl\g__fontspec_bfmathrm_tl\bfdefault\updefault
@@ -186,14 +187,14 @@
}
% \end{macrocode}
% \begin{macrocode}
-\cs_set:Nn \__fontspec_setmathsf_hook:nn
+\@@_cs_set:Nn \__fontspec_setmathsf_hook:nn
{
\SetMathAlphabet\mathsf{normal}\g_fontspec_encoding_tl\g__fontspec_mathsf_tl\mddefault\updefault
\SetMathAlphabet\mathsf{bold} \g_fontspec_encoding_tl\g__fontspec_mathsf_tl\bfdefault\updefault
}
% \end{macrocode}
% \begin{macrocode}
-\cs_set:Nn \__fontspec_setmathtt_hook:nn
+\@@_cs_set:Nn \__fontspec_setmathtt_hook:nn
{
\SetMathAlphabet\mathtt{normal}\g_fontspec_encoding_tl\g__fontspec_mathtt_tl\mddefault\updefault
\SetMathAlphabet\mathtt{bold} \g_fontspec_encoding_tl\g__fontspec_mathtt_tl\bfdefault\updefault
@@ -236,7 +237,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-msg.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-msg.dtx
index 9e51fd6600a..c93809cf4f4 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-msg.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-msg.dtx
@@ -49,7 +49,7 @@
}
\@@_msg_new:nn {missing-alphabets}
{
- Missingmathalphabetsinfont "\fontname\g_@@_curr_font_cmd_tl" \\ \\
+ Missing math alphabets in font "\fontname\g_@@_curr_font_cmd_tl" \\ \\
\seq_map_function:NN \l_@@_missing_alph_seq \@@_print_indent:n
}
\cs_new:Nn \@@_print_indent:n { \space\space\space\space #1 \\ }
@@ -119,6 +119,13 @@
No main maths font has been set up yet.\\If you simply want ‘the default’, use: \\
\iow_indent:n {\token_to_str:N\setmathfont{latinmodern-math.otf}}
}
+\@@_msg_new:nn {not-ot-math}
+ {
+ The first font loaded by unicode-math must be an OpenType Math font (with script=math).
+ If you simply want ‘the default’ before loading supplementary fonts over the top for certain
+ ranges, use: \\
+ \iow_indent:n {\token_to_str:N\setmathfont{latinmodern-math.otf}}
+ }
% \end{macrocode}
%
% \begin{macrocode}
@@ -140,7 +147,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-opening.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-opening.dtx
index 76fe65e33e3..b739fa6deae 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-opening.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-opening.dtx
@@ -20,7 +20,6 @@
\RequirePackage{filehook}
\RequirePackage{fix-cm}
%<LU>\RequirePackage{lualatex-math}
-%<debug>\RequirePackage{l3benchmark}
% \end{macrocode}
%
% \subsection{\pkg{expl3} variants}
@@ -32,7 +31,7 @@
%
% For \pkg{fontspec}:
% \begin{macrocode}
-\cs_generate_variant:Nn \fontspec_set_family:Nnn {Nx}
+\cs_generate_variant:Nn \fontspec_set_family:Nnn {Nx,Nxx}
\cs_generate_variant:Nn \prop_get:NnNTF {cx}
\cs_generate_variant:Nn \tl_if_eq:nnF {o}
% \end{macrocode}
@@ -56,7 +55,7 @@
% \begin{macrocode}
\prg_new_conditional:Nnn \@@_glyph_if_exist:Nn {p,TF,T,F}
{
- \etex_iffontchar:D #1 #2 \scan_stop:
+ \tex_iffontchar:D #1 #2 \scan_stop:
\prg_return_true:
\else:
\prg_return_false:
@@ -231,6 +230,29 @@
% \end{macrocode}
% \end{macro}
%
+%^^A \begin{function}[EXP, added = 2019-01-19]{\@@_int_if_zero_p:n, \@@_int_if_zero:nTF}
+%^^A \begin{syntax}
+%^^A \cs{int_if_zero_p:n} \Arg{intexpr}
+%^^A \cs{int_if_zero:nTF} \Arg{intexpr} \Arg{true code} \Arg{false code}
+%^^A \end{syntax}
+%^^A A conditional for testing if the \meta{intexpr} evaluates to zero.
+%^^A This is simply a shorthand for
+%^^A \begin{verbatim}
+%^^A \int_compare_p:nNn {intexpr} = {0}
+%^^A \end{verbatim}
+%^^A \end{function}
+%
+% \begin{macro}{\@@_int_if_zero_p:n}
+% \begin{macro}{\@@_int_if_zero:nTF}
+% \begin{macrocode}
+\prg_new_conditional:Nnn \@@_int_if_zero:n {p,TF,T,F}
+ {
+ \int_compare:nNnTF {#1} = 0 {\prg_return_true:} {\prg_return_false:}
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
%
% \subsection{Alphabet Unicode positions (USVs)}
%
@@ -284,7 +306,7 @@
% \end{macrocode}
%
%
-% \subsection{Wrappers for message functions}
+% \subsection{Wrappers for kernel commands}
%
% Messages themselves are defined in \secref{codemsg}.
%
@@ -304,80 +326,55 @@
% \end{macrocode}
%
%
+% \begin{macro}{\@@_cs_new:Nn}
% \begin{macrocode}
-%</package>
-% \end{macrocode}
-
-\endinput
-
-
-% \subsection{Sow/reap}
-%
-% This might make it into the kernel; not sure.
-% Not actually used yet in the package!
-%
-% \begin{macro}{\__@@_sow_item:Nn}
-% Helper variables for constructing \verb|c|-type arguments.
-% \begin{macrocode}
-\cs_new:Nn \__@@_sow_item:Nn { l___sow___ \token_to_str:N #1 ___ #2 ___tl }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\__@@_sow_int:N}
-% Helper variables for constructing \verb|c|-type arguments.
-% \begin{macrocode}
-\cs_new:Nn \__@@_sow_int:N { l___sow___ \token_to_str:N #1 ___int }
-% \end{macrocode}
-% \end{macro}
-%
-% \begin{macro}{\@@_sow_prepare:N}
-% \begin{macrocode}
-\cs_new:Nn \@@_sow_prepare:N
+%<*debug>
+\int_new:N \g_@@_debug_nest_int
+\cs_new:Nn \@@_debug:n
+ {
+ \typeout{ <UM~DEBUG>~\prg_replicate:nn \g_@@_debug_nest_int {::}~ #1}
+ }
+\cs_new:Nn \@@_debug_start:n
+ {
+ \int_gincr:N \g_@@_debug_nest_int
+ \@@_debug:n {#1}
+ }
+\cs_new:Nn \@@_debug_end:n
{
- \tl_clear:N #1
- \int_zero_new:c { \__@@_sow_int:N #1 }
+ \int_gdecr:N \g_@@_debug_nest_int
}
+%</debug>
% \end{macrocode}
-% \end{macro}
%
-% \begin{macro}{\@@_sow:Nn}
% \begin{macrocode}
-\cs_new:Nn \@@_sow:Nn
+\cs_new:Npn \@@_cs_set:Nn #1 #2
{
- \int_incr:c { \__@@_sow_int:N #1 }
- \tl_clear_new:c
+ \cs_if_exist:NF #1 { \ERROR{CS~ DOES~ NOT~ EXIST,~ USE~ "NEW"} }
+ \cs_set_protected:Nn #1
{
- \__@@_sow_item:Nn #1
- { \int_use:c { \__@@_sow_int:N #1 } }
+%<debug>\@@_debug_start:n { \cs_to_str:N #1 }
+ #2
+%<debug>\@@_debug_end:n { \cs_to_str:N #1 }
}
- \tl_set:cn
+ }
+\cs_new:Npn \@@_cs_new:Nn #1 #2
+ {
+ \cs_new_protected:Nn #1
{
- \__@@_sow_item:Nn #1
- { \int_use:c { \__@@_sow_int:N #1 } }
+%<debug>\@@_debug_start:n { \cs_to_str:N #1 }
+ #2
+%<debug>\@@_debug_end:n { \cs_to_str:N #1 }
}
- { #2 }
}
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\@@_sow_reap:N}
+%
% \begin{macrocode}
-\cs_new:Nn \@@_sow_reap:N
- {
- \cs_set:Npn \__@@_sow_tmp:n ##1
- {
- \exp_not:v { \__@@_sow_item:Nn #1 {##1} }
- }
- \tl_set:Nx #1
- {
- \int_step_function:nnnN {1} {1}
- { \int_use:c { \__@@_sow_int:N #1 } }
- \__@@_sow_tmp:n
- }
-
- }
+%</package>
% \end{macrocode}
-% \end{macro}
+
+\endinput
% /©
@@ -389,7 +386,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-pkgopt.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-pkgopt.dtx
index d159a1360eb..68d265674a2 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-pkgopt.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-pkgopt.dtx
@@ -321,7 +321,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-primes.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-primes.dtx
index 395ec6a796a..ad3f3be6425 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-primes.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-primes.dtx
@@ -18,7 +18,7 @@
% However, in a correctly behaving OpenType font,
% we also see different behaviour after the \texttt{ssty} feature is applied:
% \begin{quote}
-% \font\1="[xits-math.otf]:script=math,+ssty=0"\1
+% \font\1="[XITSMath-Regular.otf]:script=math,+ssty=0"\1
% \char"1D465\char"2032\quad
% \char"1D465\char"2033\quad
% \char"1D465\char"2034\quad
@@ -376,7 +376,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-setchar.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-setchar.dtx
index 58870922ed9..8d2ba46e2a5 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-setchar.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-setchar.dtx
@@ -17,25 +17,23 @@
%
% In time, the case statement inside |set_mathsymbol| will be moved in here
% to avoid re-running it every time.
-% \begin{macrocode}
-\cs_new:Npn \@@_symbol_setup:
- {
- \cs_set:Npn \UnicodeMathSymbol ##1##2##3##4
- {
- \exp_not:n { \_@@_sym:nnn {##1} {##2} {##3} }
- }
- }
-% \end{macrocode}
%
% \begin{macrocode}
-\tl_gset_from_file_x:Nnn \g_@@_mathtable_tl {\@@_symbol_setup:} {unicode-math-table.tex}
+\group_begin:
+ \file_get:nnN {unicode-math-table.tex} {} \l_@@_mathtable_tl
+ \cs_set:Npn \UnicodeMathSymbol #1#2#3#4
+ {
+ \exp_not:n { \_@@_sym:nnn {#1} {#2} {#3} }
+ }
+ \tl_gset:Nx \g_@@_mathtable_tl {\l_@@_mathtable_tl}
+\group_end:
% \end{macrocode}
%
%
% \begin{macro}{\@@_input_math_symbol_table:}
% This function simply expands to the token list containing all the data.
% \begin{macrocode}
-\cs_new:Nn \@@_input_math_symbol_table: {\g_@@_mathtable_tl}
+\@@_cs_new:Nn \@@_input_math_symbol_table: {\g_@@_mathtable_tl}
% \end{macrocode}
% \end{macro}
%
@@ -46,7 +44,7 @@
% make sure |#| is an `other' so that we don't get confused with \cs{mathoctothorpe}.
% \begin{macrocode}
\AtBeginDocument{\@@_define_math_chars:}
-\cs_new:Nn \@@_define_math_chars:
+\@@_cs_new:Nn \@@_define_math_chars:
{
\group_begin:
\cs_set:Npn \_@@_sym:nnn ##1##2##3
@@ -291,7 +289,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-sscript.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-sscript.dtx
index bae6bf0e4cc..a2192714dda 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-sscript.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-sscript.dtx
@@ -59,7 +59,7 @@
% Collects a chain of subscripts or a chain
% of superscripts and then typesets what it has collected.
% \begin{macrocode}
-\cs_new:Nn \@@_scan_sscript:
+\@@_cs_new:Nn \@@_scan_sscript:
{
\@@_scan_sscript:TF
{ \@@_scan_sscript: }
@@ -76,7 +76,7 @@
% The \cs{group_align_safe_begin:} and \cs{group_align_safe_end:} are
% needed in case |#3| is |&|.
% \begin{macrocode}
-\cs_new:Nn \@@_scan_sscript:TF
+\@@_cs_new:Nn \@@_scan_sscript:TF
{
\peek_N_type:TF
{
@@ -88,7 +88,7 @@
% \end{macrocode}
% The look-ahead for the sscripts doesn't try to peek inside the lookahead.
% \begin{macrocode}
-\cs_new:Nn \@@_scan_sscript_aux:nnN
+\@@_cs_new:Nn \@@_scan_sscript_aux:nnN
{
\tl_set:Nx \l_@@_tmpa_key_tl { \tl_to_str:n {#3} }
\prop_get:cxNTF {g_@@_\l_@@_tmpa_tl _prop}
@@ -229,7 +229,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-sym-commands.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-sym-commands.dtx
index 833b4936bad..b2450878fe8 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-sym-commands.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-sym-commands.dtx
@@ -53,7 +53,7 @@
% The flag \cs{l_@@_mathstyle_tl} is for other applications to query the
% current math style.
% \begin{macrocode}
-\cs_new:Nn \@@_prepare_mathstyle:n
+\@@_cs_new:Nn \@@_prepare_mathstyle:n
{
\seq_gput_right:Nn \g_@@_mathstyles_seq {#1}
\@@_init_alphabet:n {#1}
@@ -80,7 +80,7 @@
% First used when the math alphabet macro is first defined, but then used
% later when redefining a particular maths alphabet.
% \begin{macrocode}
-\cs_set:Nn \@@_init_alphabet:n
+\@@_cs_new:Nn \@@_init_alphabet:n
{
\@@_log:nx {alph-initialise} {#1}
\tl_gclear_new:c {g_@@_switchto_#1_tl}
@@ -100,7 +100,7 @@
% It’s currently not using all of the machinery we’re in the process of setting up above.
% Baby steps.
% \begin{macrocode}
-\cs_new:Nn \@@_default_mathalph:nnn
+\@@_cs_new:Nn \@@_default_mathalph:nnn
{
\prop_new:c {g_@@_named_range_#1_prop}
\seq_gput_right:Nn \g_@@_default_mathalph_seq {{#1}{#2}{#3}}
@@ -169,16 +169,17 @@
% \subsubsection{New commands for ambiguous alphabets}
%
% \begin{macrocode}
-\AtBeginDocument
+\AtBeginDocument { \@@_setup_mathtext: }
+\@@_cs_new:Nn \@@_setup_mathtext:
{
\clist_map_inline:nn
{ rm, it, bf, sf, tt }
{
- \cs_set_protected:cpx { math #1 }
+ \cs_set_protected:cpx { math ##1 }
{
- \exp_not:n { \bool_if:NTF } \exp_not:c { g_@@_ math #1 _text_bool}
- { \exp_not:c { mathtext #1 } }
- { \exp_not:c { sym #1 } }
+ \exp_not:n { \bool_if:NTF } \exp_not:c { g_@@_ math ##1 _text_bool}
+ { \exp_not:c { mathtext ##1 } }
+ { \exp_not:c { sym ##1 } }
}
}
}
@@ -206,7 +207,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-ui.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-ui.dtx
index 58a64a448a0..38c257d1dcf 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-ui.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-ui.dtx
@@ -92,7 +92,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-usv.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-usv.dtx
index 954ba649206..ce24cc4267a 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-usv.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-usv.dtx
@@ -583,7 +583,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/um-code-variables.dtx b/Master/texmf-dist/source/latex/unicode-math/um-code-variables.dtx
index 17b35a7332a..840b1ebec52 100644
--- a/Master/texmf-dist/source/latex/unicode-math/um-code-variables.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/um-code-variables.dtx
@@ -21,7 +21,7 @@
% \end{macrocode}
%
% \begin{macrocode}
-\bool_new:N \l_@@_init_bool
+\bool_new:N \g_@@_init_bool
\bool_new:N \l_@@_implicit_alph_bool
% \end{macrocode}
% For \opt{math-style}:
@@ -70,6 +70,10 @@
%
% \subsection{tl}
%
+% \begin{macrocode}
+\tl_if_exist:NF \g_@@_secret_hook_tl { \tl_new:N \g_@@_secret_hook_tl }
+% \end{macrocode}
+%
% For displaying in warning messages, etc.:
% \begin{macrocode}
\tl_const:Nn \c_@@_math_alphabet_name_latin_tl {Latin,~lowercase}
@@ -94,10 +98,14 @@
%
% \begin{macrocode}
\tl_new:N \l_@@_tmpa_tl
+\tl_new:N \l_@@_tmpb_tl
+\tl_new:N \l_@@_tmpc_tl
\tl_new:N \l_@@_mathstyle_tl
\tl_new:N \l_@@_radicals_tl
\tl_new:N \l_@@_nolimits_tl
\tl_new:N \l_@@_trial_family_tl
+\tl_new:N \l_@@_ss_chain_tl
+\tl_new:N \l_@@_tmpa_key_tl
% \end{macrocode}
%
% Used to store the font switch for the \cs{operator@font}.
@@ -108,6 +116,7 @@
% \begin{macrocode}
\tl_new:N \g_@@_slash_delimiter_usv
\tl_new:N \g_@@_mathparam_settings_tl
+\tl_new:N \l_@@_mathtable_tl
\tl_new:N \g_@@_mathtable_tl
\tl_new:N \g_@@_fontname_tl
\tl_new:N \g_@@_mversion_tl
@@ -141,7 +150,7 @@
\clist_new:N \g_@@_alphabet_clist
\clist_new:N \l_@@_mathmap_charints_clist
\clist_new:N \l_@@_unknown_keys_clist
-\clist_new:N \l_@@_font_keyval_clist
+\clist_new:N \l_@@_keyval_clist
\clist_new:N \l_@@_alphabet_clist
% \end{macrocode}
%
@@ -239,7 +248,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx b/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx
index d112dc09f26..004cf213432 100644
--- a/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx
+++ b/Master/texmf-dist/source/latex/unicode-math/unicode-math.dtx
@@ -60,15 +60,15 @@
%<base>\ProvidesExplPackage{unicode-math}
%<package&XE>\ProvidesExplPackage{unicode-math-xetex}
%<package&LU>\ProvidesExplPackage{unicode-math-luatex}
-%<base|package> {2018/07/29} {v0.8m} {Unicode maths in XeLaTeX and LuaLaTeX}
+%<base|package> {2019/02/15} {0.8n} {Unicode maths in XeLaTeX and LuaLaTeX}
% \end{macrocode}
%
% Here the version and date are setup for typesetting the documentation.
% \begin{macrocode}
%<*dtx>
\date{
- \def\filedate{2018/07/29}
- \def\fileversion{v0.8m}
+ \def\filedate{2019/02/15}
+ \def\fileversion{0.8n}
\filedate \qquad \fileversion
}
%</dtx>
@@ -102,7 +102,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/source/latex/unicode-math/unicode-math.ins b/Master/texmf-dist/source/latex/unicode-math/unicode-math.ins
index b87abd1a53a..d0b4dc08d17 100644
--- a/Master/texmf-dist/source/latex/unicode-math/unicode-math.ins
+++ b/Master/texmf-dist/source/latex/unicode-math/unicode-math.ins
@@ -55,7 +55,7 @@ Copyright 2012-2015 Khaled Hosny
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty
index 46768acc474..a82e463debc 100644
--- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty
+++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-luatex.sty
@@ -43,7 +43,7 @@
%%^^A%% Metadata for the package code, including files and versioning
\ProvidesExplPackage{unicode-math-luatex}
- {2018/07/29} {v0.8m} {Unicode maths in XeLaTeX and LuaLaTeX}
+ {2019/02/15} {0.8n} {Unicode maths in XeLaTeX and LuaLaTeX}
%%^^A%% um-code-opening.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% Assorted initialisation tasks, including some low-level function definitions.
@@ -54,7 +54,7 @@
\RequirePackage{fix-cm}
\RequirePackage{lualatex-math}
\cs_set_protected_nopar:Npn \exp_last_unbraced:NNx { \::N \::x_unbraced \::: }
-\cs_generate_variant:Nn \fontspec_set_family:Nnn {Nx}
+\cs_generate_variant:Nn \fontspec_set_family:Nnn {Nx,Nxx}
\cs_generate_variant:Nn \prop_get:NnNTF {cx}
\cs_generate_variant:Nn \tl_if_eq:nnF {o}
\cs_set_eq:NN \__um_group_begin: \group_begin:
@@ -63,7 +63,7 @@
\cs_set_eq:NN \__um_group_end_frozen:n \__um_group_end:n
\prg_new_conditional:Nnn \__um_glyph_if_exist:Nn {p,TF,T,F}
{
- \etex_iffontchar:D #1 #2 \scan_stop:
+ \tex_iffontchar:D #1 #2 \scan_stop:
\prg_return_true:
\else:
\prg_return_false:
@@ -140,6 +140,10 @@
\lua_now:n { fontspec.mathfontdimen(font.current(),"#2") }
\scan_stop:
}
+\prg_new_conditional:Nnn \__um_int_if_zero:n {p,TF,T,F}
+ {
+ \int_compare:nNnTF {#1} = 0 {\prg_return_true:} {\prg_return_false:}
+ }
\cs_new:Nn \usv_set:nnn { \tl_const:cn { c__um_#1_#2_usv } {#3} }
\cs_new:Nn \__um_to_usv:nn { \use:c { c__um_#1_#2_usv } }
\prg_new_conditional:Nnn \__um_usv_if_exist:nn {T,F,TF}
@@ -175,13 +179,28 @@
\cs_generate_variant:Nn \msg_new:nnn {nnx}
\cs_generate_variant:Nn \msg_new:nnnn {nnxx}
\cs_new:Nn \__um_msg_new:nn { \msg_new:nnx {unicode-math} {#1} { \tl_trim_spaces:n {#2} } }
+\cs_new:Npn \__um_cs_set:Nn #1 #2
+ {
+ \cs_if_exist:NF #1 { \ERROR{CS~ DOES~ NOT~ EXIST,~ USE~ "NEW"} }
+ \cs_set_protected:Nn #1
+ {
+ #2
+ }
+ }
+\cs_new:Npn \__um_cs_new:Nn #1 #2
+ {
+ \cs_new_protected:Nn #1
+ {
+ #2
+ }
+ }
%%^^A%% um-code-variables.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% Declaration of all code-level variables used in the package.
\bool_new:N \g__um_ot_math_bool
\bool_new:N \g__um_main_font_defined_bool
-\bool_new:N \l__um_init_bool
+\bool_new:N \g__um_init_bool
\bool_new:N \l__um_implicit_alph_bool
\bool_new:N \g__um_literal_bool
\bool_new:N \g__um_upLatin_bool
@@ -209,6 +228,7 @@
\int_new:N \g__um_fam_int
\int_new:N \g__um_fonts_used_int
\int_new:N \l__um_primecount_int
+\tl_if_exist:NF \g__um_secret_hook_tl { \tl_new:N \g__um_secret_hook_tl }
\tl_const:Nn \c__um_math_alphabet_name_latin_tl {Latin,~lowercase}
\tl_const:Nn \c__um_math_alphabet_name_Latin_tl {Latin,~uppercase}
\tl_const:Nn \c__um_math_alphabet_name_greek_tl {Greek,~lowercase}
@@ -225,13 +245,18 @@
\tl_new:N \l__um_fam_three_tl
\tl_new:N \l__um_curr_named_slot
\tl_new:N \l__um_tmpa_tl
+\tl_new:N \l__um_tmpb_tl
+\tl_new:N \l__um_tmpc_tl
\tl_new:N \l__um_mathstyle_tl
\tl_new:N \l__um_radicals_tl
\tl_new:N \l__um_nolimits_tl
\tl_new:N \l__um_trial_family_tl
+\tl_new:N \l__um_ss_chain_tl
+\tl_new:N \l__um_tmpa_key_tl
\tl_new:N \g__um_operator_mathfont_tl
\tl_new:N \g__um_slash_delimiter_usv
\tl_new:N \g__um_mathparam_settings_tl
+\tl_new:N \l__um_mathtable_tl
\tl_new:N \g__um_mathtable_tl
\tl_new:N \g__um_fontname_tl
\tl_new:N \g__um_mversion_tl
@@ -250,7 +275,7 @@
\clist_new:N \g__um_alphabet_clist
\clist_new:N \l__um_mathmap_charints_clist
\clist_new:N \l__um_unknown_keys_clist
-\clist_new:N \l__um_font_keyval_clist
+\clist_new:N \l__um_keyval_clist
\clist_new:N \l__um_alphabet_clist
\clist_new:N \g__um_bad_alpha_clist
\clist_gput_right:Nx \g__um_bad_alpha_clist { \tl_to_str:n {bf} }
@@ -580,7 +605,7 @@
}
\__um_msg_new:nn {missing-alphabets}
{
- Missingmathalphabetsinfont "\fontname\g__um_curr_font_cmd_tl" \\ \\
+ Missing math alphabets in font "\fontname\g__um_curr_font_cmd_tl" \\ \\
\seq_map_function:NN \l__um_missing_alph_seq \__um_print_indent:n
}
\cs_new:Nn \__um_print_indent:n { \space\space\space\space #1 \\ }
@@ -650,6 +675,13 @@
No main maths font has been set up yet.\\If you simply want ^^e2^^80^^98the default^^e2^^80^^99, use: \\
\iow_indent:n {\token_to_str:N\setmathfont{latinmodern-math.otf}}
}
+\__um_msg_new:nn {not-ot-math}
+ {
+ The first font loaded by unicode-math must be an OpenType Math font (with script=math).
+ If you simply want ^^e2^^80^^98the default^^e2^^80^^99 before loading supplementary fonts over the top for certain
+ ranges, use: \\
+ \iow_indent:n {\token_to_str:N\setmathfont{latinmodern-math.otf}}
+ }
\char_set_catcode_ignore:n {32}
%%^^A%% um-code-usv.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
@@ -903,17 +935,17 @@
%%^^A%% um-code-setchar.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% General assignment of maths symbols.
-\cs_new:Npn \__um_symbol_setup:
- {
- \cs_set:Npn \UnicodeMathSymbol ##1##2##3##4
- {
- \exp_not:n { \__um_sym:nnn {##1} {##2} {##3} }
- }
- }
-\tl_gset_from_file_x:Nnn \g__um_mathtable_tl {\__um_symbol_setup:} {unicode-math-table.tex}
-\cs_new:Nn \__um_input_math_symbol_table: {\g__um_mathtable_tl}
+\group_begin:
+ \file_get:nnN {unicode-math-table.tex} {} \l__um_mathtable_tl
+ \cs_set:Npn \UnicodeMathSymbol #1#2#3#4
+ {
+ \exp_not:n { \__um_sym:nnn {#1} {#2} {#3} }
+ }
+ \tl_gset:Nx \g__um_mathtable_tl {\l__um_mathtable_tl}
+\group_end:
+\__um_cs_new:Nn \__um_input_math_symbol_table: {\g__um_mathtable_tl}
\AtBeginDocument{\__um_define_math_chars:}
-\cs_new:Nn \__um_define_math_chars:
+\__um_cs_new:Nn \__um_define_math_chars:
{
\group_begin:
\cs_set:Npn \__um_sym:nnn ##1##2##3
@@ -1051,14 +1083,15 @@
{
version .tl_set:N = \l__um_mversion_tl
}
-\cs_set:Nn \__um_setmathfontface:Nnn
+\__um_cs_new:Nn \__um_setmathfontface:Nnn
{
\tl_clear:N \l__um_mversion_tl
\keys_set_known:nnN {__um_mathface} {#2} \l__um_keyval_clist
- \exp_args:Nnx \fontspec_set_family:Nxn \l__um_tmpa_tl
- { ItalicFont={}, BoldFont={}, \exp_not:V \l__um_keyval_clist } {#3}
+ \fontspec_set_family:Nxx \l__um_tmpa_tl
+ { ItalicFont={}, BoldFont={}, SmallCapsFont={}, \exp_not:V \l__um_keyval_clist }
+ { #3 }
\tl_if_empty:NT \l__um_mversion_tl
{
@@ -1097,55 +1130,55 @@
{
\cs_set_eq:NN \__um_group_begin: \__um_group_begin_frozen:
\cs_set_eq:NN \__um_group_end:n \__um_group_end_frozen:n
- \cs_set_eq:NN \math@bgroup \__ummath@bgroup
- \cs_set_eq:NN \math@egroup \__ummath@egroup
+ \cs_set_eq:NN \math@bgroup \@@math@bgroup
+ \cs_set_eq:NN \math@egroup \@@math@egroup
}
\cs_set_eq:NN \math@egroup \__um_group_end:n
#1 \scan_stop:
}
\cs_generate_variant:Nn \tl_if_eq:nnT {o}
-\cs_set:Nn \__fontspec_setmainfont_hook:nn
+\__um_cs_set:Nn \__fontspec_setmainfont_hook:nn
{
\tl_if_eq:onT {\g__fontspec_mathrm_tl} {\rmdefault}
{
- \fontspec_set_family:Nnn \g__fontspec_mathrm_tl {Renderer=Basic,#1} {#2}
+ \fontspec_gset_family:Nnn \g__fontspec_mathrm_tl {Renderer=Basic,#1} {#2}
\__fontspec_setmathrm_hook:nn {#1} {#2}
}
}
-\cs_set:Nn \__fontspec_setsansfont_hook:nn
+\__um_cs_set:Nn \__fontspec_setsansfont_hook:nn
{
\tl_if_eq:onT {\g__fontspec_mathsf_tl} {\sfdefault}
{
- \fontspec_set_family:Nnn \g__fontspec_mathsf_tl {Renderer=Basic,#1} {#2}
+ \fontspec_gset_family:Nnn \g__fontspec_mathsf_tl {Renderer=Basic,#1} {#2}
\__fontspec_setmathsf_hook:nn {#1} {#2}
}
}
-\cs_set:Nn \__fontspec_setmonofont_hook:nn
+\__um_cs_set:Nn \__fontspec_setmonofont_hook:nn
{
\tl_if_eq:onT {\g__fontspec_mathtt_tl} {\ttdefault}
{
- \fontspec_set_family:Nnn \g__fontspec_mathtt_tl {Renderer=Basic,#1} {#2}
+ \fontspec_gset_family:Nnn \g__fontspec_mathtt_tl {Renderer=Basic,#1} {#2}
\__fontspec_setmathtt_hook:nn {#1} {#2}
}
}
-\cs_set:Nn \__fontspec_setmathrm_hook:nn
+\__um_cs_set:Nn \__fontspec_setmathrm_hook:nn
{
\SetMathAlphabet\mathrm{normal}\g_fontspec_encoding_tl\g__fontspec_mathrm_tl\mddefault\updefault
\SetMathAlphabet\mathit{normal}\g_fontspec_encoding_tl\g__fontspec_mathrm_tl\mddefault\itdefault
\SetMathAlphabet\mathbf{normal}\g_fontspec_encoding_tl\g__fontspec_mathrm_tl\bfdefault\updefault
}
-\cs_set:Nn \__fontspec_setboldmathrm_hook:nn
+\__um_cs_set:Nn \__fontspec_setboldmathrm_hook:nn
{
\SetMathAlphabet\mathrm{bold}\g_fontspec_encoding_tl\g__fontspec_bfmathrm_tl\mddefault\updefault
\SetMathAlphabet\mathbf{bold}\g_fontspec_encoding_tl\g__fontspec_bfmathrm_tl\bfdefault\updefault
\SetMathAlphabet\mathit{bold}\g_fontspec_encoding_tl\g__fontspec_bfmathrm_tl\mddefault\itdefault
}
-\cs_set:Nn \__fontspec_setmathsf_hook:nn
+\__um_cs_set:Nn \__fontspec_setmathsf_hook:nn
{
\SetMathAlphabet\mathsf{normal}\g_fontspec_encoding_tl\g__fontspec_mathsf_tl\mddefault\updefault
\SetMathAlphabet\mathsf{bold} \g_fontspec_encoding_tl\g__fontspec_mathsf_tl\bfdefault\updefault
}
-\cs_set:Nn \__fontspec_setmathtt_hook:nn
+\__um_cs_set:Nn \__fontspec_setmathtt_hook:nn
{
\SetMathAlphabet\mathtt{normal}\g_fontspec_encoding_tl\g__fontspec_mathtt_tl\mddefault\updefault
\SetMathAlphabet\mathtt{bold} \g_fontspec_encoding_tl\g__fontspec_mathtt_tl\bfdefault\updefault
@@ -1163,7 +1196,7 @@
%%^^A%% um-code-main.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% Definition of `\setmainfont`.
-\cs_set:Nn \__um_setmathfont:nn
+\__um_cs_new:Nn \__um_setmathfont:nn
{
\__um_init:n {#2}
@@ -1173,14 +1206,12 @@
\keys_set_known:nnN {unicode-math} {#1} \l__um_unknown_keys_clist
- \bool_if:NT \l__um_init_bool
- {
- \__um_fontspec_trial_font:
- \__um_declare_math_sizes:
- }
+ \bool_if:NT \g__um_init_bool \__um_fontspec_trial_font:
+ \bool_if:NT \g__um_init_bool \__um_declare_math_sizes:
+
\__um_fontspec_select_font:
\__um_setup_math_fam:
- \bool_if:NT \l__um_init_bool
+ \bool_if:NT \g__um_init_bool
{
\__um_setup_legacy_fam_two:
\__um_setup_legacy_fam_three:
@@ -1188,7 +1219,7 @@
\__um_input_math_symbol_table:
- \bool_if:NT \l__um_init_bool \__um_onceoff_setup:
+ \bool_if:NT \g__um_init_bool \__um_onceoff_setup:
\__um_remap_symbols:
\__um_setup_mathactives:
\__um_setup_delcodes:
@@ -1196,7 +1227,7 @@
%% TODO: what of the above should only be run for the "default"/"main" font?
- \bool_if:NTF \l__um_init_bool
+ \bool_if:NTF \g__um_init_bool
{
\bool_gset_true:N \g__um_main_font_defined_bool
\__um_mathparam_store:
@@ -1206,16 +1237,12 @@
\__um_mathparam_restore:
}
}
-\AtBeginDocument { \__um_load_lm_if_necessary: }
-\cs_new:Nn \__um_load_lm_if_necessary:
+\AtBeginDocument { \bool_if:NF \g__um_main_font_defined_bool \__um_load_lm: }
+\__um_cs_new:Nn \__um_load_lm:
{
- \bool_if:NF \g__um_main_font_defined_bool
- {
- \setmathfont{latinmodern-math.otf}
- [BoldFont={latinmodern-math.otf}]
- }
+ \setmathfont{latinmodern-math.otf}[BoldFont={latinmodern-math.otf}]
}
-\cs_new:Nn \__um_init:n
+\__um_cs_new:Nn \__um_init:n
{
\tl_set:Nn \l__um_fontname_tl {#1}
\bool_gset_true:N \g__um_ot_math_bool
@@ -1227,7 +1254,7 @@
\tl_set_eq:NN \l__um_script_font_tl \l__um_fontname_tl
\tl_set_eq:NN \l__um_sscript_font_tl \l__um_fontname_tl
- \bool_set_true:N \l__um_init_bool
+ \bool_gset_true:N \g__um_init_bool
\seq_gclear:N \g__um_char_range_seq
\clist_clear:N \l__um_mathmap_charints_clist
\seq_gclear:N \g__um_mathalph_seq
@@ -1240,21 +1267,21 @@
\cs_set_eq:NN \__um_make_mathactive:nNN \__um_make_mathactive_noparse:nNN
}
\tl_new:N \g__um_main_font_cmd_tl
-\cs_new:Nn \__um_declare_math_sizes:
+\cs_new:Nn \__um_sf_size: { \__um_fontdimen_to_scale:nN {10} \g__um_trial_font }
+\cs_new:Nn \__um_ssf_size: { \__um_fontdimen_to_scale:nN {11} \g__um_trial_font }
+\__um_cs_new:Nn \__um_declare_math_sizes:
{
\dim_compare:nF { \fontdimen 10 \g__um_trial_font == 0pt }
{
- \DeclareMathSizes { \f@size } { \f@size }
- { \__um_fontdimen_to_scale:nN {10} \g__um_trial_font }
- { \__um_fontdimen_to_scale:nN {11} \g__um_trial_font }
+ \DeclareMathSizes { \f@size } { \f@size } { \__um_sf_size: } { \__um_ssf_size: }
}
}
-\cs_new:Nn \__um_fontspec_trial_font:
+\__um_cs_new:Nn \__um_fontspec_trial_font:
{
\tl_set:Nx \l__um_font_keyval_tl
{
Renderer = Basic,
- BoldItalicFont = {}, ItalicFont = {},
+ BoldItalicFont = {}, ItalicFont = {}, SmallCapsFont = {},
Script = Math,
FontAdjustment = { \__um_luatex_copy_fontdimens: },
\l__um_unknown_keys_clist
@@ -1267,21 +1294,22 @@
\exp_last_unbraced:NNo \__um_fontface_gset_eq:NN \g__um_trial_font \font@name
\fontspec_if_script:nF {math}
{
+ \__um_warning:n {not-ot-math}
\bool_gset_false:N \g__um_ot_math_bool
\bool_gset_false:N \g__um_init_bool
}
\group_end:
}
-\cs_new:Nn \__um_fontspec_select_font:
+\__um_cs_new:Nn \__um_fontspec_select_font:
{
- \fp_gset:Nn \g__um_size_tfsf_fp { (\f@size +\sf@size )/2 }
- \fp_gset:Nn \g__um_size_sfssf_fp { (\sf@size+\ssf@size)/2 }
+ \fp_gset:Nn \g__um_size_tfsf_fp { (\f@size + \__um_sf_size: )/2 }
+ \fp_gset:Nn \g__um_size_sfssf_fp { (\__um_sf_size: + \__um_ssf_size:)/2 }
\tl_set:Nx \l__um_font_keyval_tl
{
Renderer = Basic,
- BoldItalicFont = {}, ItalicFont = {},
+ BoldItalicFont = {}, ItalicFont = {}, SmallCapsFont = {},
Script = Math,
SizeFeatures =
{
@@ -1310,21 +1338,16 @@
\fontfamily { \l__um_family_tl } \selectfont
\exp_last_unbraced:Nno \__um_fontface_gset_eq:cN {g__um_mathfont_ \int_use:N \g__um_fonts_used_int _font} \font@name
\tl_gset:Nx \g__um_curr_font_cmd_tl { \exp_not:c {g__um_mathfont_ \int_use:N \g__um_fonts_used_int _font} }
- \bool_if:NT \l__um_init_bool
+ \bool_if:NT \g__um_init_bool
{
\exp_last_unbraced:NNo \__um_fontface_gset_eq:NN \l__um_font \font@name
}
- \fontspec_if_script:nF {math}
- {
- \bool_gset_false:N \g__um_ot_math_bool
- \bool_gset_false:N \g__um_init_bool
- }
\group_end:
}
\tl_gset:Nn \g__um_main_font_cmd_tl { \l__um_font }
\tl_gset:Nn \g__um_sqrt_font_cmd_tl { \l__um_font }
\tl_gset:Nn \g__um_prime_font_cmd_tl { \l__um_font }
-\cs_new_protected:Nn \__um_luatex_copy_fontdimens:
+\__um_cs_new:Nn \__um_luatex_copy_fontdimens:
{
\__um_fontdimen_from_param:nn {10} {ScriptPercentScaleDown}
\__um_fontdimen_from_param:nn {11} {ScriptScriptPercentScaleDown}
@@ -1345,7 +1368,7 @@
\__um_fontdimen_from_param:nn {45} {FractionDenominatorDisplayStyleShiftDown}
\__um_fontdimen_from_param:nn {48} {FractionRuleThickness}
}
-\cs_new:Nn \__um_setup_math_fam:
+\__um_cs_new:Nn \__um_setup_math_fam:
{
\cs_if_exist:cF { sym \l__um_symfont_label_tl }
{
@@ -1354,18 +1377,18 @@
}
\SetSymbolFont{\l__um_symfont_label_tl}{\l__um_mversion_tl}
{\encodingdefault}{\l__um_family_tl}{\mddefault}{\updefault}
- \str_if_eq_x:nnT {\l__um_mversion_tl} {normal}
+ \str_if_eq:eeT {\l__um_mversion_tl} {normal}
{
\SetSymbolFont{\l__um_symfont_label_tl}{bold}
{\encodingdefault}{\l__um_family_tl}{\bfdefault}{\updefault}
}
}
-\cs_new:Nn \__um_setup_legacy_fam_two:
+\__um_cs_new:Nn \__um_setup_legacy_fam_two:
{
\fontspec_set_family:Nxn \l__um_fam_two_tl
{
\l__um_font_keyval_tl,
- Scale=1.00001,
+ ScaleAgain = 1.00001,
FontAdjustment =
{
\__um_copy_fontdimen:nnN { 8} {43} \g__um_main_font_cmd_tl
@@ -1389,18 +1412,18 @@
\SetSymbolFont{symbols}{\l__um_mversion_tl}
{\encodingdefault}{\l__um_fam_two_tl}{\mddefault}{\updefault}
- \str_if_eq_x:nnT {\l__um_mversion_tl} {normal}
+ \str_if_eq:eeT {\l__um_mversion_tl} {normal}
{
\SetSymbolFont{symbols}{bold}
{\encodingdefault}{\l__um_fam_two_tl}{\bfdefault}{\updefault}
}
}
-\cs_new:Nn \__um_setup_legacy_fam_three:
+\__um_cs_new:Nn \__um_setup_legacy_fam_three:
{
\fontspec_set_family:Nxn \l__um_fam_three_tl
{
\l__um_font_keyval_tl,
- Scale=0.99999,
+ ScaleAgain = 0.99999,
FontAdjustment = {
\__um_copy_fontdimen:nnN { 8} {48} \g__um_main_font_cmd_tl
\__um_copy_fontdimen:nnN { 9} {28} \g__um_main_font_cmd_tl
@@ -1414,15 +1437,15 @@
\SetSymbolFont{largesymbols}{\l__um_mversion_tl}
{\encodingdefault}{\l__um_fam_three_tl}{\mddefault}{\updefault}
- \str_if_eq_x:nnT {\l__um_mversion_tl} {normal}
+ \str_if_eq:eeT {\l__um_mversion_tl} {normal}
{
\SetSymbolFont{largesymbols}{bold}
{\encodingdefault}{\l__um_fam_three_tl}{\bfdefault}{\updefault}
}
}
-\cs_new:Nn \__um_onceoff_setup:
+\__um_cs_new:Nn \__um_onceoff_setup:
{
- \__um_set_delcode:nnn {operators} {`\.} {\c_zero}
+ \__um_set_delcode:nnn {operators} {`\.} {0}
}
\cs_set:Nn \__um_process_symbol_noparse:nnn
{
@@ -1435,7 +1458,7 @@
\__um_process_symbol_noparse:nnn {#1} {#2} {#3}
}
}
-\cs_new:Nn \__um_remap_symbols:
+\__um_cs_new:Nn \__um_remap_symbols:
{
\__um_remap_symbol:nnn {`\-} {\mathbin} {"2212}
\__um_remap_symbol:nnn {`\*} {\mathbin} {"02217}% text asterisk to "centred asterisk"
@@ -1454,7 +1477,7 @@
\clist_map_inline:nn {#1}
{ \__um_set_mathcode:nnnn {##1} {#2} {\l__um_symfont_label_tl} {#3} }
}
-\cs_new:Npn \__um_setup_mathactives:
+\__um_cs_new:Nn \__um_setup_mathactives:
{
\__um_make_mathactive:nNN {"2032} \__um_prime_single_mchar \mathord
\__um_make_mathactive:nNN {"2033} \__um_prime_double_mchar \mathord
@@ -1488,7 +1511,7 @@
}
}
\cs_new:Nn \__um_assign_delcode:n { \__um_assign_delcode:nn {#1} {#1} }
-\cs_new:Npn \__um_setup_delcodes:
+\__um_cs_new:Nn \__um_setup_delcodes:
{
\__um_assign_delcode:nn {`\/} {\g__um_slash_delimiter_usv}
\__um_assign_delcode:nn {"2044} {\g__um_slash_delimiter_usv} % fracslash
@@ -1533,12 +1556,12 @@
\intcap\intcup\upint\lowint
}
\tl_set:Nn \l__um_radicals_tl {\sqrt \longdivision \cuberoot \fourthroot}
-\cs_set:Nn \__um_mathparam_restore:
+\__um_cs_new:Nn \__um_mathparam_restore:
{
\glb@settings
\tl_use:N \g__um_mathparam_settings_tl
}
-\cs_set:Nn \__um_mathparam_store:
+\__um_cs_new:Nn \__um_mathparam_store:
{
\glb@settings
\tl_gset:Nx \g__um_mathparam_settings_tl
@@ -1621,7 +1644,7 @@
range .code:n =
{
\bool_if:NF \g__um_main_font_defined_bool { \__um_error:n {no-main-font} }
- \bool_set_false:N \l__um_init_bool
+ \bool_gset_false:N \g__um_init_bool
\__um_range_init:
\group_begin:
\seq_map_inline:Nn \g__um_mathclasses_seq
@@ -1637,7 +1660,7 @@
\group_end:
}
}
-\cs_new:Nn \__um_range_init:
+\__um_cs_new:Nn \__um_range_init:
{
\int_gincr:N \g__um_fam_int
\tl_set:Nx \l__um_symfont_label_tl {__um_fam\int_use:N\g__um_fam_int}
@@ -1659,7 +1682,6 @@
}
\cs_new:Nn \__um_mathalph_decl:nF
{
-
\tl_set:Nn \l__um_tmpa_tl {#1}
\tl_clear:N \l__um_tmpb_tl
\tl_clear:N \l__um_tmpc_tl
@@ -1864,11 +1886,11 @@
\__um_font_param:n { connector_overlap_min }
\cs_new:Nn \__um_fontdimen_to_percent:nN
{
- \fp_eval:n { \dim_to_decimal:n { \fontdimen #1 #2 } * 65536 / 100 }
+ \fp_eval:n { \dim_to_decimal:n { 65536 \fontdimen #1 #2 } / 100 }
}
\cs_new:Nn \__um_fontdimen_to_scale:nN
{
- \fp_eval:n { \__um_fontdimen_to_percent:nN {#1} #2 * \f@size } pt
+ \fp_eval:n { \__um_fontdimen_to_percent:nN {#1} #2 * \f@size }
}
\cs_new:Nn \__um_mathstyle_scale:NnnN
{
@@ -1886,15 +1908,15 @@
%%^^A%% um-code-mathmap.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% Setup of symbol alphabets.
-\cs_new:Npn \__um_setup_alphabets:
+\__um_cs_new:Nn \__um_setup_alphabets:
{
- \bool_if:NTF \l__um_init_bool { \__um_setup_alphabets_implicit: }
+ \bool_if:NTF \g__um_init_bool { \__um_setup_alphabets_implicit: }
{
\seq_if_empty:NF \g__um_mathalph_seq { \__um_setup_alphabets_explicit: }
\clist_if_empty:NF \l__um_mathmap_charints_clist { \__um_setup_alphabets_inherit: }
}
}
-\cs_new:Nn \__um_setup_alphabets_implicit:
+\__um_cs_new:Nn \__um_setup_alphabets_implicit:
{
\__um_log:n {setup-implicit}
\seq_gset_eq:NN \g__um_mathalph_seq \g__um_default_mathalph_seq
@@ -1907,7 +1929,7 @@
\__um_mathalph_map:
\seq_if_empty:NF \l__um_missing_alph_seq { \__um_log:n { missing-alphabets } }
}
-\cs_new:Nn \__um_setup_alphabets_explicit:
+\__um_cs_new:Nn \__um_setup_alphabets_explicit:
{
\__um_log:n {setup-explicit}
\bool_set_false:N \l__um_implicit_alph_bool
@@ -1916,7 +1938,7 @@
\__um_mathalph_map:
\seq_if_empty:NF \l__um_missing_alph_seq { \__um_log:n { missing-alphabets } }
}
-\cs_new:Nn \__um_setup_alphabets_inherit:
+\__um_cs_new:Nn \__um_setup_alphabets_inherit:
{
\seq_gclear:N \g__um_mathalph_seq
\seq_map_inline:Nn \g__um_default_mathalph_seq
@@ -1974,7 +1996,7 @@
\tl_set:Nn \l__um_alphabet_tl {##1}
\__um_if_alphabet_exists:nnTF \l__um_style_tl \l__um_alphabet_tl
{
- \str_if_eq_x:nnTF {\l__um_alphabet_tl} {misc}
+ \str_if_eq:eeTF {\l__um_alphabet_tl} {misc}
{
\__um_maybe_init_alphabet:n \l__um_style_tl
\clist_map_break:
@@ -1994,7 +2016,7 @@
}
}
}
-\cs_new:Nn \__um_setup_math_alphabet:
+\__um_cs_new:Nn \__um_setup_math_alphabet:
{
\clist_map_inline:Nn \l__um_alphabet_clist
{
@@ -2238,7 +2260,7 @@
%%^^A%% um-code-sym-commands.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% Definition of "math symbol alphabet" commands such as `\symbf` and co.
-\cs_new:Nn \__um_prepare_mathstyle:n
+\__um_cs_new:Nn \__um_prepare_mathstyle:n
{
\seq_gput_right:Nn \g__um_mathstyles_seq {#1}
\__um_init_alphabet:n {#1}
@@ -2255,7 +2277,7 @@
\__um_group_end:n
}
}
-\cs_set:Nn \__um_init_alphabet:n
+\__um_cs_new:Nn \__um_init_alphabet:n
{
\__um_log:nx {alph-initialise} {#1}
\tl_gclear_new:c {g__um_switchto_#1_tl}
@@ -2265,7 +2287,7 @@
{
\tl_use:c {g__um_switchto_#1_tl}
}
-\cs_new:Nn \__um_default_mathalph:nnn
+\__um_cs_new:Nn \__um_default_mathalph:nnn
{
\prop_new:c {g__um_named_range_#1_prop}
\seq_gput_right:Nn \g__um_default_mathalph_seq {{#1}{#2}{#3}}
@@ -2308,16 +2330,17 @@
{
\cs_set:cpx { math #1 } { \exp_not:c { sym #1 } }
}
-\AtBeginDocument
+\AtBeginDocument { \__um_setup_mathtext: }
+\__um_cs_new:Nn \__um_setup_mathtext:
{
\clist_map_inline:nn
{ rm, it, bf, sf, tt }
{
- \cs_set_protected:cpx { math #1 }
+ \cs_set_protected:cpx { math ##1 }
{
- \exp_not:n { \bool_if:NTF } \exp_not:c { g__um_ math #1 _text_bool}
- { \exp_not:c { mathtext #1 } }
- { \exp_not:c { sym #1 } }
+ \exp_not:n { \bool_if:NTF } \exp_not:c { g__um_ math ##1 _text_bool}
+ { \exp_not:c { mathtext ##1 } }
+ { \exp_not:c { sym ##1 } }
}
}
}
@@ -3469,13 +3492,13 @@
\__um_scan_sscript:
}
}
-\cs_new:Nn \__um_scan_sscript:
+\__um_cs_new:Nn \__um_scan_sscript:
{
\__um_scan_sscript:TF
{ \__um_scan_sscript: }
{ \__um_sub_or_super:n {\l__um_ss_chain_tl} }
}
-\cs_new:Nn \__um_scan_sscript:TF
+\__um_cs_new:Nn \__um_scan_sscript:TF
{
\peek_N_type:TF
{
@@ -3484,7 +3507,7 @@
}
{#2}
}
-\cs_new:Nn \__um_scan_sscript_aux:nnN
+\__um_cs_new:Nn \__um_scan_sscript_aux:nnN
{
\tl_set:Nx \l__um_tmpa_key_tl { \tl_to_str:n {#3} }
\prop_get:cxNTF {g__um_\l__um_tmpa_tl _prop}
@@ -3632,7 +3655,7 @@
}
\AtEndOfPackageFile * {url}
{
- \tl_put_left:Nn \Url@FormatString { \__um_switch_to:n {up} }
+ \tl_put_left:Nn \Url@FormatString { \__um_switch_to:n {literal} }
\tl_put_right:Nn \UrlSpecials
{
\do \` { \mathchar`\` }
@@ -3724,8 +3747,7 @@
{
\bool_if:nTF
{
- \int_compare_p:nNn { \uproot@ } = { \c_zero }
- && \int_compare_p:nNn { \leftroot@ } = { \c_zero }
+ \__um_int_if_zero_p:n \uproot@ && \__um_int_if_zero_p:n \leftroot@
}
{
\Uroot \c__um_radical_sqrt_tl { #1 } { #2 }
@@ -3956,5 +3978,6 @@
\__um_undeclare_symbol:N \arrowvert
\__um_undeclare_symbol:N \Arrowvert
\__um_undeclare_symbol:N \bracevert
+\AtBeginDocument{\g__um_secret_hook_tl}
\endinput
diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex
index 903f6d4e36f..511b67e8ce5 100644
--- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex
+++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-table.tex
@@ -89,7 +89,7 @@
\UnicodeMathSymbol{"003B2}{\mupbeta }{\mathalpha}{small beta, greek}%
\UnicodeMathSymbol{"003B3}{\mupgamma }{\mathalpha}{small gamma, greek}%
\UnicodeMathSymbol{"003B4}{\mupdelta }{\mathalpha}{small delta, greek}%
-\UnicodeMathSymbol{"003B5}{\mupvarepsilon }{\mathalpha}{rounded small varepsilon , greek}%
+\UnicodeMathSymbol{"003B5}{\mupvarepsilon }{\mathalpha}{rounded small varepsilon, greek}%
\UnicodeMathSymbol{"003B6}{\mupzeta }{\mathalpha}{small zeta, greek}%
\UnicodeMathSymbol{"003B7}{\mupeta }{\mathalpha}{small eta, greek}%
\UnicodeMathSymbol{"003B8}{\muptheta }{\mathalpha}{straight theta, small theta, greek}%
@@ -686,7 +686,7 @@
\UnicodeMathSymbol{"025AF}{\vrectangle }{\mathord}{rectangle, white (vertical)}%
\UnicodeMathSymbol{"025B0}{\parallelogramblack }{\mathord}{black parallelogram}%
\UnicodeMathSymbol{"025B1}{\parallelogram }{\mathord}{parallelogram, open}%
-\UnicodeMathSymbol{"025B2}{\bigblacktriangleup }{\mathord}{ 0x25b2 6 6d black up-pointing triangle}%
+\UnicodeMathSymbol{"025B2}{\bigblacktriangleup }{\mathord}{black up-pointing triangle}%
\UnicodeMathSymbol{"025B3}{\bigtriangleup }{\mathbin}{big up triangle, open}%
\UnicodeMathSymbol{"025B4}{\blacktriangle }{\mathord}{up triangle, filled}%
\UnicodeMathSymbol{"025B5}{\vartriangle }{\mathrel}{/triangle - up triangle, open}%
@@ -2133,7 +2133,7 @@
\UnicodeMathSymbol{"1D6C3}{\mbfbeta }{\mathalpha}{mathematical bold small beta}%
\UnicodeMathSymbol{"1D6C4}{\mbfgamma }{\mathalpha}{mathematical bold small gamma}%
\UnicodeMathSymbol{"1D6C5}{\mbfdelta }{\mathalpha}{mathematical bold small delta}%
-\UnicodeMathSymbol{"1D6C6}{\mbfvarepsilon }{\mathalpha}{mathematical bold small varepsilon }%
+\UnicodeMathSymbol{"1D6C6}{\mbfvarepsilon }{\mathalpha}{mathematical bold small varepsilon}%
\UnicodeMathSymbol{"1D6C7}{\mbfzeta }{\mathalpha}{mathematical bold small zeta}%
\UnicodeMathSymbol{"1D6C8}{\mbfeta }{\mathalpha}{mathematical bold small eta}%
\UnicodeMathSymbol{"1D6C9}{\mbftheta }{\mathalpha}{mathematical bold small theta}%
@@ -2155,7 +2155,7 @@
\UnicodeMathSymbol{"1D6D9}{\mbfpsi }{\mathalpha}{mathematical bold small psi}%
\UnicodeMathSymbol{"1D6DA}{\mbfomega }{\mathalpha}{mathematical bold small omega}%
\UnicodeMathSymbol{"1D6DB}{\mbfpartial }{\mathalpha}{mathematical bold partial differential}%
-\UnicodeMathSymbol{"1D6DC}{\mbfepsilon }{\mathalpha}{mathematical bold varepsilon symbol}%
+\UnicodeMathSymbol{"1D6DC}{\mbfepsilon }{\mathalpha}{mathematical bold varepsilon symbol}%
\UnicodeMathSymbol{"1D6DD}{\mbfvartheta }{\mathalpha}{mathematical bold theta symbol}%
\UnicodeMathSymbol{"1D6DE}{\mbfvarkappa }{\mathalpha}{mathematical bold kappa symbol}%
\UnicodeMathSymbol{"1D6DF}{\mbfphi }{\mathalpha}{mathematical bold phi symbol}%
@@ -2191,7 +2191,7 @@
\UnicodeMathSymbol{"1D6FD}{\mitbeta }{\mathalpha}{mathematical italic small beta}%
\UnicodeMathSymbol{"1D6FE}{\mitgamma }{\mathalpha}{mathematical italic small gamma}%
\UnicodeMathSymbol{"1D6FF}{\mitdelta }{\mathalpha}{mathematical italic small delta}%
-\UnicodeMathSymbol{"1D700}{\mitvarepsilon }{\mathalpha}{mathematical italic small varepsilon }%
+\UnicodeMathSymbol{"1D700}{\mitvarepsilon }{\mathalpha}{mathematical italic small varepsilon}%
\UnicodeMathSymbol{"1D701}{\mitzeta }{\mathalpha}{mathematical italic small zeta}%
\UnicodeMathSymbol{"1D702}{\miteta }{\mathalpha}{mathematical italic small eta}%
\UnicodeMathSymbol{"1D703}{\mittheta }{\mathalpha}{mathematical italic small theta}%
@@ -2213,7 +2213,7 @@
\UnicodeMathSymbol{"1D713}{\mitpsi }{\mathalpha}{mathematical italic small psi}%
\UnicodeMathSymbol{"1D714}{\mitomega }{\mathalpha}{mathematical italic small omega}%
\UnicodeMathSymbol{"1D715}{\mitpartial }{\mathalpha}{mathematical italic partial differential}%
-\UnicodeMathSymbol{"1D716}{\mitepsilon }{\mathalpha}{mathematical italic varepsilon symbol}%
+\UnicodeMathSymbol{"1D716}{\mitepsilon }{\mathalpha}{mathematical italic varepsilon symbol}%
\UnicodeMathSymbol{"1D717}{\mitvartheta }{\mathalpha}{mathematical italic theta symbol}%
\UnicodeMathSymbol{"1D718}{\mitvarkappa }{\mathalpha}{mathematical italic kappa symbol}%
\UnicodeMathSymbol{"1D719}{\mitphi }{\mathalpha}{mathematical italic phi symbol}%
@@ -2249,7 +2249,7 @@
\UnicodeMathSymbol{"1D737}{\mbfitbeta }{\mathalpha}{mathematical bold italic small beta}%
\UnicodeMathSymbol{"1D738}{\mbfitgamma }{\mathalpha}{mathematical bold italic small gamma}%
\UnicodeMathSymbol{"1D739}{\mbfitdelta }{\mathalpha}{mathematical bold italic small delta}%
-\UnicodeMathSymbol{"1D73A}{\mbfitvarepsilon }{\mathalpha}{mathematical bold italic small varepsilon }%
+\UnicodeMathSymbol{"1D73A}{\mbfitvarepsilon }{\mathalpha}{mathematical bold italic small varepsilon}%
\UnicodeMathSymbol{"1D73B}{\mbfitzeta }{\mathalpha}{mathematical bold italic small zeta}%
\UnicodeMathSymbol{"1D73C}{\mbfiteta }{\mathalpha}{mathematical bold italic small eta}%
\UnicodeMathSymbol{"1D73D}{\mbfittheta }{\mathalpha}{mathematical bold italic small theta}%
@@ -2271,7 +2271,7 @@
\UnicodeMathSymbol{"1D74D}{\mbfitpsi }{\mathalpha}{mathematical bold italic small psi}%
\UnicodeMathSymbol{"1D74E}{\mbfitomega }{\mathalpha}{mathematical bold italic small omega}%
\UnicodeMathSymbol{"1D74F}{\mbfitpartial }{\mathalpha}{mathematical bold italic partial differential}%
-\UnicodeMathSymbol{"1D750}{\mbfitepsilon }{\mathalpha}{mathematical bold italic varepsilon symbol}%
+\UnicodeMathSymbol{"1D750}{\mbfitepsilon }{\mathalpha}{mathematical bold italic varepsilon symbol}%
\UnicodeMathSymbol{"1D751}{\mbfitvartheta }{\mathalpha}{mathematical bold italic theta symbol}%
\UnicodeMathSymbol{"1D752}{\mbfitvarkappa }{\mathalpha}{mathematical bold italic kappa symbol}%
\UnicodeMathSymbol{"1D753}{\mbfitphi }{\mathalpha}{mathematical bold italic phi symbol}%
@@ -2307,7 +2307,7 @@
\UnicodeMathSymbol{"1D771}{\mbfsansbeta }{\mathalpha}{mathematical sans-serif bold small beta}%
\UnicodeMathSymbol{"1D772}{\mbfsansgamma }{\mathalpha}{mathematical sans-serif bold small gamma}%
\UnicodeMathSymbol{"1D773}{\mbfsansdelta }{\mathalpha}{mathematical sans-serif bold small delta}%
-\UnicodeMathSymbol{"1D774}{\mbfsansvarepsilon }{\mathalpha}{mathematical sans-serif bold small varepsilon }%
+\UnicodeMathSymbol{"1D774}{\mbfsansvarepsilon }{\mathalpha}{mathematical sans-serif bold small varepsilon}%
\UnicodeMathSymbol{"1D775}{\mbfsanszeta }{\mathalpha}{mathematical sans-serif bold small zeta}%
\UnicodeMathSymbol{"1D776}{\mbfsanseta }{\mathalpha}{mathematical sans-serif bold small eta}%
\UnicodeMathSymbol{"1D777}{\mbfsanstheta }{\mathalpha}{mathematical sans-serif bold small theta}%
@@ -2329,7 +2329,7 @@
\UnicodeMathSymbol{"1D787}{\mbfsanspsi }{\mathalpha}{mathematical sans-serif bold small psi}%
\UnicodeMathSymbol{"1D788}{\mbfsansomega }{\mathalpha}{mathematical sans-serif bold small omega}%
\UnicodeMathSymbol{"1D789}{\mbfsanspartial }{\mathalpha}{mathematical sans-serif bold partial differential}%
-\UnicodeMathSymbol{"1D78A}{\mbfsansepsilon }{\mathalpha}{mathematical sans-serif bold varepsilon symbol}%
+\UnicodeMathSymbol{"1D78A}{\mbfsansepsilon }{\mathalpha}{mathematical sans-serif bold varepsilon symbol}%
\UnicodeMathSymbol{"1D78B}{\mbfsansvartheta }{\mathalpha}{mathematical sans-serif bold theta symbol}%
\UnicodeMathSymbol{"1D78C}{\mbfsansvarkappa }{\mathalpha}{mathematical sans-serif bold kappa symbol}%
\UnicodeMathSymbol{"1D78D}{\mbfsansphi }{\mathalpha}{mathematical sans-serif bold phi symbol}%
@@ -2365,7 +2365,7 @@
\UnicodeMathSymbol{"1D7AB}{\mbfitsansbeta }{\mathalpha}{mathematical sans-serif bold italic small beta}%
\UnicodeMathSymbol{"1D7AC}{\mbfitsansgamma }{\mathalpha}{mathematical sans-serif bold italic small gamma}%
\UnicodeMathSymbol{"1D7AD}{\mbfitsansdelta }{\mathalpha}{mathematical sans-serif bold italic small delta}%
-\UnicodeMathSymbol{"1D7AE}{\mbfitsansvarepsilon }{\mathalpha}{mathematical sans-serif bold italic small varepsilon }%
+\UnicodeMathSymbol{"1D7AE}{\mbfitsansvarepsilon }{\mathalpha}{mathematical sans-serif bold italic small varepsilon}%
\UnicodeMathSymbol{"1D7AF}{\mbfitsanszeta }{\mathalpha}{mathematical sans-serif bold italic small zeta}%
\UnicodeMathSymbol{"1D7B0}{\mbfitsanseta }{\mathalpha}{mathematical sans-serif bold italic small eta}%
\UnicodeMathSymbol{"1D7B1}{\mbfitsanstheta }{\mathalpha}{mathematical sans-serif bold italic small theta}%
@@ -2387,7 +2387,7 @@
\UnicodeMathSymbol{"1D7C1}{\mbfitsanspsi }{\mathalpha}{mathematical sans-serif bold italic small psi}%
\UnicodeMathSymbol{"1D7C2}{\mbfitsansomega }{\mathalpha}{mathematical sans-serif bold italic small omega}%
\UnicodeMathSymbol{"1D7C3}{\mbfitsanspartial }{\mathalpha}{mathematical sans-serif bold italic partial differential}%
-\UnicodeMathSymbol{"1D7C4}{\mbfitsansepsilon }{\mathalpha}{mathematical sans-serif bold italic varepsilon symbol}%
+\UnicodeMathSymbol{"1D7C4}{\mbfitsansepsilon }{\mathalpha}{mathematical sans-serif bold italic varepsilon symbol}%
\UnicodeMathSymbol{"1D7C5}{\mbfitsansvartheta }{\mathalpha}{mathematical sans-serif bold italic theta symbol}%
\UnicodeMathSymbol{"1D7C6}{\mbfitsansvarkappa }{\mathalpha}{mathematical sans-serif bold italic kappa symbol}%
\UnicodeMathSymbol{"1D7C7}{\mbfitsansphi }{\mathalpha}{mathematical sans-serif bold italic phi symbol}%
@@ -2457,7 +2457,7 @@
% the conditions of the LaTeX Project Public License, version 1.3c or higher
% (your choice): <http://www.latex-project.org/lppl/>.
% ------------------------------------------------
-% Copyright 2006-2018 Will Robertson, LPPL "maintainer"
+% Copyright 2006-2019 Will Robertson, LPPL "maintainer"
% Copyright 2010-2017 Philipp Stephani
% Copyright 2011-2017 Joseph Wright
% Copyright 2012-2015 Khaled Hosny
diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty
index d6abb5d6d70..bb03a4a40cb 100644
--- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty
+++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math-xetex.sty
@@ -43,7 +43,7 @@
%%^^A%% Metadata for the package code, including files and versioning
\ProvidesExplPackage{unicode-math-xetex}
- {2018/07/29} {v0.8m} {Unicode maths in XeLaTeX and LuaLaTeX}
+ {2019/02/15} {0.8n} {Unicode maths in XeLaTeX and LuaLaTeX}
%%^^A%% um-code-opening.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% Assorted initialisation tasks, including some low-level function definitions.
@@ -53,7 +53,7 @@
\RequirePackage{filehook}
\RequirePackage{fix-cm}
\cs_set_protected_nopar:Npn \exp_last_unbraced:NNx { \::N \::x_unbraced \::: }
-\cs_generate_variant:Nn \fontspec_set_family:Nnn {Nx}
+\cs_generate_variant:Nn \fontspec_set_family:Nnn {Nx,Nxx}
\cs_generate_variant:Nn \prop_get:NnNTF {cx}
\cs_generate_variant:Nn \tl_if_eq:nnF {o}
\cs_set_eq:NN \__um_group_begin: \group_begin:
@@ -62,7 +62,7 @@
\cs_set_eq:NN \__um_group_end_frozen:n \__um_group_end:n
\prg_new_conditional:Nnn \__um_glyph_if_exist:Nn {p,TF,T,F}
{
- \etex_iffontchar:D #1 #2 \scan_stop:
+ \tex_iffontchar:D #1 #2 \scan_stop:
\prg_return_true:
\else:
\prg_return_false:
@@ -133,6 +133,10 @@
{
\fontdimen #1 \font = 0pt\relax
}
+\prg_new_conditional:Nnn \__um_int_if_zero:n {p,TF,T,F}
+ {
+ \int_compare:nNnTF {#1} = 0 {\prg_return_true:} {\prg_return_false:}
+ }
\cs_new:Nn \usv_set:nnn { \tl_const:cn { c__um_#1_#2_usv } {#3} }
\cs_new:Nn \__um_to_usv:nn { \use:c { c__um_#1_#2_usv } }
\prg_new_conditional:Nnn \__um_usv_if_exist:nn {T,F,TF}
@@ -168,13 +172,28 @@
\cs_generate_variant:Nn \msg_new:nnn {nnx}
\cs_generate_variant:Nn \msg_new:nnnn {nnxx}
\cs_new:Nn \__um_msg_new:nn { \msg_new:nnx {unicode-math} {#1} { \tl_trim_spaces:n {#2} } }
+\cs_new:Npn \__um_cs_set:Nn #1 #2
+ {
+ \cs_if_exist:NF #1 { \ERROR{CS~ DOES~ NOT~ EXIST,~ USE~ "NEW"} }
+ \cs_set_protected:Nn #1
+ {
+ #2
+ }
+ }
+\cs_new:Npn \__um_cs_new:Nn #1 #2
+ {
+ \cs_new_protected:Nn #1
+ {
+ #2
+ }
+ }
%%^^A%% um-code-variables.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% Declaration of all code-level variables used in the package.
\bool_new:N \g__um_ot_math_bool
\bool_new:N \g__um_main_font_defined_bool
-\bool_new:N \l__um_init_bool
+\bool_new:N \g__um_init_bool
\bool_new:N \l__um_implicit_alph_bool
\bool_new:N \g__um_literal_bool
\bool_new:N \g__um_upLatin_bool
@@ -202,6 +221,7 @@
\int_new:N \g__um_fam_int
\int_new:N \g__um_fonts_used_int
\int_new:N \l__um_primecount_int
+\tl_if_exist:NF \g__um_secret_hook_tl { \tl_new:N \g__um_secret_hook_tl }
\tl_const:Nn \c__um_math_alphabet_name_latin_tl {Latin,~lowercase}
\tl_const:Nn \c__um_math_alphabet_name_Latin_tl {Latin,~uppercase}
\tl_const:Nn \c__um_math_alphabet_name_greek_tl {Greek,~lowercase}
@@ -218,13 +238,18 @@
\tl_new:N \l__um_fam_three_tl
\tl_new:N \l__um_curr_named_slot
\tl_new:N \l__um_tmpa_tl
+\tl_new:N \l__um_tmpb_tl
+\tl_new:N \l__um_tmpc_tl
\tl_new:N \l__um_mathstyle_tl
\tl_new:N \l__um_radicals_tl
\tl_new:N \l__um_nolimits_tl
\tl_new:N \l__um_trial_family_tl
+\tl_new:N \l__um_ss_chain_tl
+\tl_new:N \l__um_tmpa_key_tl
\tl_new:N \g__um_operator_mathfont_tl
\tl_new:N \g__um_slash_delimiter_usv
\tl_new:N \g__um_mathparam_settings_tl
+\tl_new:N \l__um_mathtable_tl
\tl_new:N \g__um_mathtable_tl
\tl_new:N \g__um_fontname_tl
\tl_new:N \g__um_mversion_tl
@@ -242,7 +267,7 @@
\clist_new:N \g__um_alphabet_clist
\clist_new:N \l__um_mathmap_charints_clist
\clist_new:N \l__um_unknown_keys_clist
-\clist_new:N \l__um_font_keyval_clist
+\clist_new:N \l__um_keyval_clist
\clist_new:N \l__um_alphabet_clist
\clist_new:N \g__um_bad_alpha_clist
\clist_gput_right:Nx \g__um_bad_alpha_clist { \tl_to_str:n {bf} }
@@ -572,7 +597,7 @@
}
\__um_msg_new:nn {missing-alphabets}
{
- Missingmathalphabetsinfont "\fontname\g__um_curr_font_cmd_tl" \\ \\
+ Missing math alphabets in font "\fontname\g__um_curr_font_cmd_tl" \\ \\
\seq_map_function:NN \l__um_missing_alph_seq \__um_print_indent:n
}
\cs_new:Nn \__um_print_indent:n { \space\space\space\space #1 \\ }
@@ -642,6 +667,13 @@
No main maths font has been set up yet.\\If you simply want ^^e2^^80^^98the default^^e2^^80^^99, use: \\
\iow_indent:n {\token_to_str:N\setmathfont{latinmodern-math.otf}}
}
+\__um_msg_new:nn {not-ot-math}
+ {
+ The first font loaded by unicode-math must be an OpenType Math font (with script=math).
+ If you simply want ^^e2^^80^^98the default^^e2^^80^^99 before loading supplementary fonts over the top for certain
+ ranges, use: \\
+ \iow_indent:n {\token_to_str:N\setmathfont{latinmodern-math.otf}}
+ }
\char_set_catcode_ignore:n {32}
%%^^A%% um-code-usv.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
@@ -895,17 +927,17 @@
%%^^A%% um-code-setchar.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% General assignment of maths symbols.
-\cs_new:Npn \__um_symbol_setup:
- {
- \cs_set:Npn \UnicodeMathSymbol ##1##2##3##4
- {
- \exp_not:n { \__um_sym:nnn {##1} {##2} {##3} }
- }
- }
-\tl_gset_from_file_x:Nnn \g__um_mathtable_tl {\__um_symbol_setup:} {unicode-math-table.tex}
-\cs_new:Nn \__um_input_math_symbol_table: {\g__um_mathtable_tl}
+\group_begin:
+ \file_get:nnN {unicode-math-table.tex} {} \l__um_mathtable_tl
+ \cs_set:Npn \UnicodeMathSymbol #1#2#3#4
+ {
+ \exp_not:n { \__um_sym:nnn {#1} {#2} {#3} }
+ }
+ \tl_gset:Nx \g__um_mathtable_tl {\l__um_mathtable_tl}
+\group_end:
+\__um_cs_new:Nn \__um_input_math_symbol_table: {\g__um_mathtable_tl}
\AtBeginDocument{\__um_define_math_chars:}
-\cs_new:Nn \__um_define_math_chars:
+\__um_cs_new:Nn \__um_define_math_chars:
{
\group_begin:
\cs_set:Npn \__um_sym:nnn ##1##2##3
@@ -1043,14 +1075,15 @@
{
version .tl_set:N = \l__um_mversion_tl
}
-\cs_set:Nn \__um_setmathfontface:Nnn
+\__um_cs_new:Nn \__um_setmathfontface:Nnn
{
\tl_clear:N \l__um_mversion_tl
\keys_set_known:nnN {__um_mathface} {#2} \l__um_keyval_clist
- \exp_args:Nnx \fontspec_set_family:Nxn \l__um_tmpa_tl
- { ItalicFont={}, BoldFont={}, \exp_not:V \l__um_keyval_clist } {#3}
+ \fontspec_set_family:Nxx \l__um_tmpa_tl
+ { ItalicFont={}, BoldFont={}, SmallCapsFont={}, \exp_not:V \l__um_keyval_clist }
+ { #3 }
\tl_if_empty:NT \l__um_mversion_tl
{
@@ -1089,55 +1122,55 @@
{
\cs_set_eq:NN \__um_group_begin: \__um_group_begin_frozen:
\cs_set_eq:NN \__um_group_end:n \__um_group_end_frozen:n
- \cs_set_eq:NN \math@bgroup \__ummath@bgroup
- \cs_set_eq:NN \math@egroup \__ummath@egroup
+ \cs_set_eq:NN \math@bgroup \@@math@bgroup
+ \cs_set_eq:NN \math@egroup \@@math@egroup
}
\cs_set_eq:NN \math@egroup \__um_group_end:n
#1 \scan_stop:
}
\cs_generate_variant:Nn \tl_if_eq:nnT {o}
-\cs_set:Nn \__fontspec_setmainfont_hook:nn
+\__um_cs_set:Nn \__fontspec_setmainfont_hook:nn
{
\tl_if_eq:onT {\g__fontspec_mathrm_tl} {\rmdefault}
{
- \fontspec_set_family:Nnn \g__fontspec_mathrm_tl {#1} {#2}
+ \fontspec_gset_family:Nnn \g__fontspec_mathrm_tl {#1} {#2}
\__fontspec_setmathrm_hook:nn {#1} {#2}
}
}
-\cs_set:Nn \__fontspec_setsansfont_hook:nn
+\__um_cs_set:Nn \__fontspec_setsansfont_hook:nn
{
\tl_if_eq:onT {\g__fontspec_mathsf_tl} {\sfdefault}
{
- \fontspec_set_family:Nnn \g__fontspec_mathsf_tl {#1} {#2}
+ \fontspec_gset_family:Nnn \g__fontspec_mathsf_tl {#1} {#2}
\__fontspec_setmathsf_hook:nn {#1} {#2}
}
}
-\cs_set:Nn \__fontspec_setmonofont_hook:nn
+\__um_cs_set:Nn \__fontspec_setmonofont_hook:nn
{
\tl_if_eq:onT {\g__fontspec_mathtt_tl} {\ttdefault}
{
- \fontspec_set_family:Nnn \g__fontspec_mathtt_tl {#1} {#2}
+ \fontspec_gset_family:Nnn \g__fontspec_mathtt_tl {#1} {#2}
\__fontspec_setmathtt_hook:nn {#1} {#2}
}
}
-\cs_set:Nn \__fontspec_setmathrm_hook:nn
+\__um_cs_set:Nn \__fontspec_setmathrm_hook:nn
{
\SetMathAlphabet\mathrm{normal}\g_fontspec_encoding_tl\g__fontspec_mathrm_tl\mddefault\updefault
\SetMathAlphabet\mathit{normal}\g_fontspec_encoding_tl\g__fontspec_mathrm_tl\mddefault\itdefault
\SetMathAlphabet\mathbf{normal}\g_fontspec_encoding_tl\g__fontspec_mathrm_tl\bfdefault\updefault
}
-\cs_set:Nn \__fontspec_setboldmathrm_hook:nn
+\__um_cs_set:Nn \__fontspec_setboldmathrm_hook:nn
{
\SetMathAlphabet\mathrm{bold}\g_fontspec_encoding_tl\g__fontspec_bfmathrm_tl\mddefault\updefault
\SetMathAlphabet\mathbf{bold}\g_fontspec_encoding_tl\g__fontspec_bfmathrm_tl\bfdefault\updefault
\SetMathAlphabet\mathit{bold}\g_fontspec_encoding_tl\g__fontspec_bfmathrm_tl\mddefault\itdefault
}
-\cs_set:Nn \__fontspec_setmathsf_hook:nn
+\__um_cs_set:Nn \__fontspec_setmathsf_hook:nn
{
\SetMathAlphabet\mathsf{normal}\g_fontspec_encoding_tl\g__fontspec_mathsf_tl\mddefault\updefault
\SetMathAlphabet\mathsf{bold} \g_fontspec_encoding_tl\g__fontspec_mathsf_tl\bfdefault\updefault
}
-\cs_set:Nn \__fontspec_setmathtt_hook:nn
+\__um_cs_set:Nn \__fontspec_setmathtt_hook:nn
{
\SetMathAlphabet\mathtt{normal}\g_fontspec_encoding_tl\g__fontspec_mathtt_tl\mddefault\updefault
\SetMathAlphabet\mathtt{bold} \g_fontspec_encoding_tl\g__fontspec_mathtt_tl\bfdefault\updefault
@@ -1155,7 +1188,7 @@
%%^^A%% um-code-main.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% Definition of `\setmainfont`.
-\cs_set:Nn \__um_setmathfont:nn
+\__um_cs_new:Nn \__um_setmathfont:nn
{
\__um_init:n {#2}
@@ -1165,14 +1198,12 @@
\keys_set_known:nnN {unicode-math} {#1} \l__um_unknown_keys_clist
- \bool_if:NT \l__um_init_bool
- {
- \__um_fontspec_trial_font:
- \__um_declare_math_sizes:
- }
+ \bool_if:NT \g__um_init_bool \__um_fontspec_trial_font:
+ \bool_if:NT \g__um_init_bool \__um_declare_math_sizes:
+
\__um_fontspec_select_font:
\__um_setup_math_fam:
- \bool_if:NT \l__um_init_bool
+ \bool_if:NT \g__um_init_bool
{
\__um_setup_legacy_fam_two:
\__um_setup_legacy_fam_three:
@@ -1180,7 +1211,7 @@
\__um_input_math_symbol_table:
- \bool_if:NT \l__um_init_bool \__um_onceoff_setup:
+ \bool_if:NT \g__um_init_bool \__um_onceoff_setup:
\__um_remap_symbols:
\__um_setup_mathactives:
\__um_setup_delcodes:
@@ -1188,7 +1219,7 @@
%% TODO: what of the above should only be run for the "default"/"main" font?
- \bool_if:NTF \l__um_init_bool
+ \bool_if:NTF \g__um_init_bool
{
\bool_gset_true:N \g__um_main_font_defined_bool
\__um_log:n {default-math-font}
@@ -1196,16 +1227,12 @@
{
}
}
-\AtBeginDocument { \__um_load_lm_if_necessary: }
-\cs_new:Nn \__um_load_lm_if_necessary:
+\AtBeginDocument { \bool_if:NF \g__um_main_font_defined_bool \__um_load_lm: }
+\__um_cs_new:Nn \__um_load_lm:
{
- \bool_if:NF \g__um_main_font_defined_bool
- {
- \setmathfont{latinmodern-math.otf}
- [BoldFont={latinmodern-math.otf}]
- }
+ \setmathfont{latinmodern-math.otf}[BoldFont={latinmodern-math.otf}]
}
-\cs_new:Nn \__um_init:n
+\__um_cs_new:Nn \__um_init:n
{
\tl_set:Nn \l__um_fontname_tl {#1}
\bool_gset_true:N \g__um_ot_math_bool
@@ -1217,7 +1244,7 @@
\tl_set_eq:NN \l__um_script_font_tl \l__um_fontname_tl
\tl_set_eq:NN \l__um_sscript_font_tl \l__um_fontname_tl
- \bool_set_true:N \l__um_init_bool
+ \bool_gset_true:N \g__um_init_bool
\seq_gclear:N \g__um_char_range_seq
\clist_clear:N \l__um_mathmap_charints_clist
\seq_gclear:N \g__um_mathalph_seq
@@ -1230,20 +1257,20 @@
\cs_set_eq:NN \__um_make_mathactive:nNN \__um_make_mathactive_noparse:nNN
}
\tl_new:N \g__um_main_font_cmd_tl
-\cs_new:Nn \__um_declare_math_sizes:
+\cs_new:Nn \__um_sf_size: { \__um_fontdimen_to_scale:nN {10} \g__um_trial_font }
+\cs_new:Nn \__um_ssf_size: { \__um_fontdimen_to_scale:nN {11} \g__um_trial_font }
+\__um_cs_new:Nn \__um_declare_math_sizes:
{
\dim_compare:nF { \fontdimen 10 \g__um_trial_font == 0pt }
{
- \DeclareMathSizes { \f@size } { \f@size }
- { \__um_fontdimen_to_scale:nN {10} \g__um_trial_font }
- { \__um_fontdimen_to_scale:nN {11} \g__um_trial_font }
+ \DeclareMathSizes { \f@size } { \f@size } { \__um_sf_size: } { \__um_ssf_size: }
}
}
-\cs_new:Nn \__um_fontspec_trial_font:
+\__um_cs_new:Nn \__um_fontspec_trial_font:
{
\tl_set:Nx \l__um_font_keyval_tl
{
- BoldItalicFont = {}, ItalicFont = {},
+ BoldItalicFont = {}, ItalicFont = {}, SmallCapsFont = {},
Script = Math,
\l__um_unknown_keys_clist
}
@@ -1255,20 +1282,21 @@
\exp_last_unbraced:NNo \__um_fontface_gset_eq:NN \g__um_trial_font \font@name
\fontspec_if_script:nF {math}
{
+ \__um_warning:n {not-ot-math}
\bool_gset_false:N \g__um_ot_math_bool
\bool_gset_false:N \g__um_init_bool
}
\group_end:
}
-\cs_new:Nn \__um_fontspec_select_font:
+\__um_cs_new:Nn \__um_fontspec_select_font:
{
- \fp_gset:Nn \g__um_size_tfsf_fp { (\f@size +\sf@size )/2 }
- \fp_gset:Nn \g__um_size_sfssf_fp { (\sf@size+\ssf@size)/2 }
+ \fp_gset:Nn \g__um_size_tfsf_fp { (\f@size + \__um_sf_size: )/2 }
+ \fp_gset:Nn \g__um_size_sfssf_fp { (\__um_sf_size: + \__um_ssf_size:)/2 }
\tl_set:Nx \l__um_font_keyval_tl
{
- BoldItalicFont = {}, ItalicFont = {},
+ BoldItalicFont = {}, ItalicFont = {}, SmallCapsFont = {},
Script = Math,
SizeFeatures =
{
@@ -1296,21 +1324,16 @@
\fontfamily { \l__um_family_tl } \selectfont
\exp_last_unbraced:Nno \__um_fontface_gset_eq:cN {g__um_mathfont_ \int_use:N \g__um_fonts_used_int _font} \font@name
\tl_gset:Nx \g__um_curr_font_cmd_tl { \exp_not:c {g__um_mathfont_ \int_use:N \g__um_fonts_used_int _font} }
- \bool_if:NT \l__um_init_bool
+ \bool_if:NT \g__um_init_bool
{
\exp_last_unbraced:NNo \__um_fontface_gset_eq:NN \l__um_font \font@name
}
- \fontspec_if_script:nF {math}
- {
- \bool_gset_false:N \g__um_ot_math_bool
- \bool_gset_false:N \g__um_init_bool
- }
\group_end:
}
\tl_gset:Nn \g__um_main_font_cmd_tl { \l__um_font }
\tl_gset:Nn \g__um_sqrt_font_cmd_tl { \l__um_font }
\tl_gset:Nn \g__um_prime_font_cmd_tl { \l__um_font }
-\cs_new:Nn \__um_setup_math_fam:
+\__um_cs_new:Nn \__um_setup_math_fam:
{
\cs_if_exist:cF { sym \l__um_symfont_label_tl }
{
@@ -1319,18 +1342,18 @@
}
\SetSymbolFont{\l__um_symfont_label_tl}{\l__um_mversion_tl}
{\encodingdefault}{\l__um_family_tl}{\mddefault}{\updefault}
- \str_if_eq_x:nnT {\l__um_mversion_tl} {normal}
+ \str_if_eq:eeT {\l__um_mversion_tl} {normal}
{
\SetSymbolFont{\l__um_symfont_label_tl}{bold}
{\encodingdefault}{\l__um_family_tl}{\bfdefault}{\updefault}
}
}
-\cs_new:Nn \__um_setup_legacy_fam_two:
+\__um_cs_new:Nn \__um_setup_legacy_fam_two:
{
\fontspec_set_family:Nxn \l__um_fam_two_tl
{
\l__um_font_keyval_tl,
- Scale=1.00001,
+ ScaleAgain = 1.00001,
FontAdjustment =
{
\__um_copy_fontdimen:nnN { 8} {43} \g__um_main_font_cmd_tl
@@ -1354,18 +1377,18 @@
\SetSymbolFont{symbols}{\l__um_mversion_tl}
{\encodingdefault}{\l__um_fam_two_tl}{\mddefault}{\updefault}
- \str_if_eq_x:nnT {\l__um_mversion_tl} {normal}
+ \str_if_eq:eeT {\l__um_mversion_tl} {normal}
{
\SetSymbolFont{symbols}{bold}
{\encodingdefault}{\l__um_fam_two_tl}{\bfdefault}{\updefault}
}
}
-\cs_new:Nn \__um_setup_legacy_fam_three:
+\__um_cs_new:Nn \__um_setup_legacy_fam_three:
{
\fontspec_set_family:Nxn \l__um_fam_three_tl
{
\l__um_font_keyval_tl,
- Scale=0.99999,
+ ScaleAgain = 0.99999,
FontAdjustment = {
\__um_copy_fontdimen:nnN { 8} {48} \g__um_main_font_cmd_tl
\__um_copy_fontdimen:nnN { 9} {28} \g__um_main_font_cmd_tl
@@ -1379,15 +1402,15 @@
\SetSymbolFont{largesymbols}{\l__um_mversion_tl}
{\encodingdefault}{\l__um_fam_three_tl}{\mddefault}{\updefault}
- \str_if_eq_x:nnT {\l__um_mversion_tl} {normal}
+ \str_if_eq:eeT {\l__um_mversion_tl} {normal}
{
\SetSymbolFont{largesymbols}{bold}
{\encodingdefault}{\l__um_fam_three_tl}{\bfdefault}{\updefault}
}
}
-\cs_new:Nn \__um_onceoff_setup:
+\__um_cs_new:Nn \__um_onceoff_setup:
{
- \__um_set_delcode:nnn {operators} {`\.} {\c_zero}
+ \__um_set_delcode:nnn {operators} {`\.} {0}
}
\cs_set:Nn \__um_process_symbol_noparse:nnn
{
@@ -1400,7 +1423,7 @@
\__um_process_symbol_noparse:nnn {#1} {#2} {#3}
}
}
-\cs_new:Nn \__um_remap_symbols:
+\__um_cs_new:Nn \__um_remap_symbols:
{
\__um_remap_symbol:nnn {`\-} {\mathbin} {"2212}
\__um_remap_symbol:nnn {`\*} {\mathbin} {"02217}% text asterisk to "centred asterisk"
@@ -1419,7 +1442,7 @@
\clist_map_inline:nn {#1}
{ \__um_set_mathcode:nnnn {##1} {#2} {\l__um_symfont_label_tl} {#3} }
}
-\cs_new:Npn \__um_setup_mathactives:
+\__um_cs_new:Nn \__um_setup_mathactives:
{
\__um_make_mathactive:nNN {"2032} \__um_prime_single_mchar \mathord
\__um_make_mathactive:nNN {"2033} \__um_prime_double_mchar \mathord
@@ -1453,7 +1476,7 @@
}
}
\cs_new:Nn \__um_assign_delcode:n { \__um_assign_delcode:nn {#1} {#1} }
-\cs_new:Npn \__um_setup_delcodes:
+\__um_cs_new:Nn \__um_setup_delcodes:
{
\__um_assign_delcode:nn {`\/} {\g__um_slash_delimiter_usv}
\__um_assign_delcode:nn {"2044} {\g__um_slash_delimiter_usv} % fracslash
@@ -1522,7 +1545,7 @@
range .code:n =
{
\bool_if:NF \g__um_main_font_defined_bool { \__um_error:n {no-main-font} }
- \bool_set_false:N \l__um_init_bool
+ \bool_gset_false:N \g__um_init_bool
\__um_range_init:
\group_begin:
\seq_map_inline:Nn \g__um_mathclasses_seq
@@ -1538,7 +1561,7 @@
\group_end:
}
}
-\cs_new:Nn \__um_range_init:
+\__um_cs_new:Nn \__um_range_init:
{
\int_gincr:N \g__um_fam_int
\tl_set:Nx \l__um_symfont_label_tl {__um_fam\int_use:N\g__um_fam_int}
@@ -1560,7 +1583,6 @@
}
\cs_new:Nn \__um_mathalph_decl:nF
{
-
\tl_set:Nn \l__um_tmpa_tl {#1}
\tl_clear:N \l__um_tmpb_tl
\tl_clear:N \l__um_tmpc_tl
@@ -1681,7 +1703,7 @@
%%^^A%% Cross-platform interface for font parameters
\cs_new_protected_nopar:Nn \__um_new_cramped_style:N
- { \quark_new:N #1 }
+ { \tl_const:Nn #1 { \use_none:n #1 } }
\__um_new_cramped_style:N \crampeddisplaystyle
\__um_new_cramped_style:N \crampedtextstyle
\__um_new_cramped_style:N \crampedscriptstyle
@@ -1717,7 +1739,7 @@
}
}
}
- \c_two
+ 2~
}
\cs_new_protected_nopar:Nn \__um_font_param:nnnnn
{
@@ -1793,11 +1815,11 @@
\__um_font_param:n { connector_overlap_min }
\cs_new:Nn \__um_fontdimen_to_percent:nN
{
- \fp_eval:n { \dim_to_decimal:n { \fontdimen #1 #2 } * 65536 / 100 }
+ \fp_eval:n { \dim_to_decimal:n { 65536 \fontdimen #1 #2 } / 100 }
}
\cs_new:Nn \__um_fontdimen_to_scale:nN
{
- \fp_eval:n { \__um_fontdimen_to_percent:nN {#1} #2 * \f@size } pt
+ \fp_eval:n { \__um_fontdimen_to_percent:nN {#1} #2 * \f@size }
}
\cs_new:Nn \__um_mathstyle_scale:NnnN
{
@@ -1815,15 +1837,15 @@
%%^^A%% um-code-mathmap.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% Setup of symbol alphabets.
-\cs_new:Npn \__um_setup_alphabets:
+\__um_cs_new:Nn \__um_setup_alphabets:
{
- \bool_if:NTF \l__um_init_bool { \__um_setup_alphabets_implicit: }
+ \bool_if:NTF \g__um_init_bool { \__um_setup_alphabets_implicit: }
{
\seq_if_empty:NF \g__um_mathalph_seq { \__um_setup_alphabets_explicit: }
\clist_if_empty:NF \l__um_mathmap_charints_clist { \__um_setup_alphabets_inherit: }
}
}
-\cs_new:Nn \__um_setup_alphabets_implicit:
+\__um_cs_new:Nn \__um_setup_alphabets_implicit:
{
\__um_log:n {setup-implicit}
\seq_gset_eq:NN \g__um_mathalph_seq \g__um_default_mathalph_seq
@@ -1836,7 +1858,7 @@
\__um_mathalph_map:
\seq_if_empty:NF \l__um_missing_alph_seq { \__um_log:n { missing-alphabets } }
}
-\cs_new:Nn \__um_setup_alphabets_explicit:
+\__um_cs_new:Nn \__um_setup_alphabets_explicit:
{
\__um_log:n {setup-explicit}
\bool_set_false:N \l__um_implicit_alph_bool
@@ -1845,7 +1867,7 @@
\__um_mathalph_map:
\seq_if_empty:NF \l__um_missing_alph_seq { \__um_log:n { missing-alphabets } }
}
-\cs_new:Nn \__um_setup_alphabets_inherit:
+\__um_cs_new:Nn \__um_setup_alphabets_inherit:
{
\seq_gclear:N \g__um_mathalph_seq
\seq_map_inline:Nn \g__um_default_mathalph_seq
@@ -1903,7 +1925,7 @@
\tl_set:Nn \l__um_alphabet_tl {##1}
\__um_if_alphabet_exists:nnTF \l__um_style_tl \l__um_alphabet_tl
{
- \str_if_eq_x:nnTF {\l__um_alphabet_tl} {misc}
+ \str_if_eq:eeTF {\l__um_alphabet_tl} {misc}
{
\__um_maybe_init_alphabet:n \l__um_style_tl
\clist_map_break:
@@ -1923,7 +1945,7 @@
}
}
}
-\cs_new:Nn \__um_setup_math_alphabet:
+\__um_cs_new:Nn \__um_setup_math_alphabet:
{
\clist_map_inline:Nn \l__um_alphabet_clist
{
@@ -2167,7 +2189,7 @@
%%^^A%% um-code-sym-commands.dtx -- part of UNICODE-MATH <wspr.io/unicode-math>
%%^^A%% Definition of "math symbol alphabet" commands such as `\symbf` and co.
-\cs_new:Nn \__um_prepare_mathstyle:n
+\__um_cs_new:Nn \__um_prepare_mathstyle:n
{
\seq_gput_right:Nn \g__um_mathstyles_seq {#1}
\__um_init_alphabet:n {#1}
@@ -2184,7 +2206,7 @@
\__um_group_end:n
}
}
-\cs_set:Nn \__um_init_alphabet:n
+\__um_cs_new:Nn \__um_init_alphabet:n
{
\__um_log:nx {alph-initialise} {#1}
\tl_gclear_new:c {g__um_switchto_#1_tl}
@@ -2194,7 +2216,7 @@
{
\tl_use:c {g__um_switchto_#1_tl}
}
-\cs_new:Nn \__um_default_mathalph:nnn
+\__um_cs_new:Nn \__um_default_mathalph:nnn
{
\prop_new:c {g__um_named_range_#1_prop}
\seq_gput_right:Nn \g__um_default_mathalph_seq {{#1}{#2}{#3}}
@@ -2237,16 +2259,17 @@
{
\cs_set:cpx { math #1 } { \exp_not:c { sym #1 } }
}
-\AtBeginDocument
+\AtBeginDocument { \__um_setup_mathtext: }
+\__um_cs_new:Nn \__um_setup_mathtext:
{
\clist_map_inline:nn
{ rm, it, bf, sf, tt }
{
- \cs_set_protected:cpx { math #1 }
+ \cs_set_protected:cpx { math ##1 }
{
- \exp_not:n { \bool_if:NTF } \exp_not:c { g__um_ math #1 _text_bool}
- { \exp_not:c { mathtext #1 } }
- { \exp_not:c { sym #1 } }
+ \exp_not:n { \bool_if:NTF } \exp_not:c { g__um_ math ##1 _text_bool}
+ { \exp_not:c { mathtext ##1 } }
+ { \exp_not:c { sym ##1 } }
}
}
}
@@ -3398,13 +3421,13 @@
\__um_scan_sscript:
}
}
-\cs_new:Nn \__um_scan_sscript:
+\__um_cs_new:Nn \__um_scan_sscript:
{
\__um_scan_sscript:TF
{ \__um_scan_sscript: }
{ \__um_sub_or_super:n {\l__um_ss_chain_tl} }
}
-\cs_new:Nn \__um_scan_sscript:TF
+\__um_cs_new:Nn \__um_scan_sscript:TF
{
\peek_N_type:TF
{
@@ -3413,7 +3436,7 @@
}
{#2}
}
-\cs_new:Nn \__um_scan_sscript_aux:nnN
+\__um_cs_new:Nn \__um_scan_sscript_aux:nnN
{
\tl_set:Nx \l__um_tmpa_key_tl { \tl_to_str:n {#3} }
\prop_get:cxNTF {g__um_\l__um_tmpa_tl _prop}
@@ -3561,7 +3584,7 @@
}
\AtEndOfPackageFile * {url}
{
- \tl_put_left:Nn \Url@FormatString { \__um_switch_to:n {up} }
+ \tl_put_left:Nn \Url@FormatString { \__um_switch_to:n {literal} }
\tl_put_right:Nn \UrlSpecials
{
\do \` { \mathchar`\` }
@@ -3601,7 +3624,7 @@
\color@setgroup \c_math_toggle_token \m@th
#1
\dim_zero:N \nulldelimiterspace
- \XeTeXradical \c_two_hundred_fifty_five \c_zero { #2 }
+ \XeTeXradical 255 ~ 0 ~ { #2 }
\c_math_toggle_token \color@endgroup
}
\box_set_ht:Nn \l_tmpa_box
@@ -3951,5 +3974,6 @@
\__um_undeclare_symbol:N \arrowvert
\__um_undeclare_symbol:N \Arrowvert
\__um_undeclare_symbol:N \bracevert
+\AtBeginDocument{\g__um_secret_hook_tl}
\endinput
diff --git a/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty b/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty
index 8f9e1fea54b..d9e8e51913a 100644
--- a/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty
+++ b/Master/texmf-dist/tex/latex/unicode-math/unicode-math.sty
@@ -24,7 +24,7 @@
\RequirePackage{expl3}
\ProvidesExplPackage{unicode-math}
- {2018/07/29} {v0.8m} {Unicode maths in XeLaTeX and LuaLaTeX}
+ {2019/02/15} {0.8n} {Unicode maths in XeLaTeX and LuaLaTeX}
\sys_if_engine_luatex:T { \RequirePackageWithOptions{unicode-math-luatex} }
\sys_if_engine_xetex:T { \RequirePackageWithOptions{unicode-math-xetex} }
\sys_if_engine_pdftex:T