diff options
author | Karl Berry <karl@freefriends.org> | 2019-02-15 22:23:04 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2019-02-15 22:23:04 +0000 |
commit | b12bc2332f229d9a6b10ce0e6ae81cd2870d644d (patch) | |
tree | 8efe6d848317f5b0b179949e8c8eae42e5b7ec11 /Master | |
parent | c8f41ea19d9e98226e6da3d4544f848440659030 (diff) |
unicode-math (15feb19)
git-svn-id: svn://tug.org/texlive/trunk@50032 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master')
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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 Binary files differindex 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 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 |