diff options
author | Karl Berry <karl@freefriends.org> | 2022-12-04 21:08:16 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-12-04 21:08:16 +0000 |
commit | 6d53282addaa0e6a411285edc4175f9114b50b01 (patch) | |
tree | e8474dd76be82cb59c4a7ea1e85d393ed176e0e2 /Master/texmf-dist/tex | |
parent | fc934166e6db327e06b3e089fc1f64aeb8692260 (diff) |
mathfont (4dec22)
git-svn-id: svn://tug.org/texlive/trunk@65193 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex')
-rw-r--r-- | Master/texmf-dist/tex/latex/mathfont/mathfont.sty | 1339 |
1 files changed, 665 insertions, 674 deletions
diff --git a/Master/texmf-dist/tex/latex/mathfont/mathfont.sty b/Master/texmf-dist/tex/latex/mathfont/mathfont.sty index 314ac40b93b..028bc72670f 100644 --- a/Master/texmf-dist/tex/latex/mathfont/mathfont.sty +++ b/Master/texmf-dist/tex/latex/mathfont/mathfont.sty @@ -6,16 +6,16 @@ %% %% mathfont_code.dtx (with options: `package') %% -%% This file is from version 2.0 of the free and open-source +%% This file is from version 2.2 of the free and open-source %% LaTeX package "mathfont," to be used with the XeTeX or %% LuaTeX engines. (As of version 2.0, LuaTeX is recommended.) %% -%% Copyright 2018-2021 by Conrad Kosowsky +%% Copyright 2018-2022 by Conrad Kosowsky %% -%% This file may be distributed and modified under the terms -%% of the LaTeX Public Project License, version 1.3c or any -%% later version. The most recent version of this license is -%% available online at +%% This Work may be used, distributed, and modified under the +%% terms of the LaTeX Public Project License, version 1.3c or +%% any later version. The most recent version of this license +%% is available online at %% %% https://www.latex-project.org/lppl/. %% @@ -23,34 +23,43 @@ %% maintainer is the package author, Conrad Kosowsky. He can %% be reached at kosowsky.latex@gmail.com. %% -%% THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT ANY EXPRESS -%% OR IMPLIED WARRANTY, INCLUDING THE IMPLIED WARRANTIES -%% OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. -%% IF THE SOFTWARE IS DEFECTIVE, YOU AGREE TO ASSUME THE -%% COST FOR ANY REPAIR OR CORRECTION. +%% PLEASE KNOW THAT THIS FREE SOFTWARE IS PROVIDED WITHOUT +%% ANY WARRANTY. SPECIFICALLY, THE "NO WARRANTY" SECTION OF +%% THE LATEX PROJECT PUBLIC LICENSE STATES THE FOLLOWING: %% -%% BY USING OR DISTRIBUTING THIS SOFTWARE, YOU AGREE -%% TO RELEASE THE PACKAGE AUTHOR FROM ANY LIABILITY FOR -%% DAMAGES ARISING OUT OF YOUR USE OF THE SOFTWARE. YOU -%% AGREE TO DO SO TO THE MAXIMUM EXTENT ALLOWED UNDER -%% APPLICABLE LAW AND EVEN IF THE PACKAGE AUTHOR HAS -%% BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. +%% THERE IS NO WARRANTY FOR THE WORK. EXCEPT WHEN OTHERWISE +%% STATED IN WRITING, THE COPYRIGHT HOLDER PROVIDES THE WORK +%% `AS IS’, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +%% OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED +%% WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +%% PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE +%% OF THE WORK IS WITH YOU. SHOULD THE WORK PROVE DEFECTIVE, +%% YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR +%% CORRECTION. %% -%% See also the "No Warranty" section of the LaTeX Project -%% Public License. In releasing the package author from -%% liability, you also release from liability any third -%% parties who distribute the software under the terms -%% of the LaTeX Project Public License. Derivative works -%% based on this package may come with their own license or -%% terms of use, and the package author is not responsible -%% for any third-party software. +%% IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED +%% TO IN WRITING WILL THE COPYRIGHT HOLDER, OR ANY AUTHOR +%% NAMED IN THE COMPONENTS OF THE WORK, OR ANY OTHER PARTY +%% WHO MAY DISTRIBUTE AND/OR MODIFY THE WORK AS PERMITTED +%% ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, +%% SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT +%% OF ANY USE OF THE WORK OR OUT OF INABILITY TO USE THE WORK +%% (INCLUDING, BUT NOT LIMITED TO, LOSS OF DATA, DATA BEING +%% RENDERED INACCURATE, OR LOSSES SUSTAINED BY ANYONE AS A +%% RESULT OF ANY FAILURE OF THE WORK TO OPERATE WITH ANY +%% OTHER PROGRAMS), EVEN IF THE COPYRIGHT HOLDER OR SAID +%% AUTHOR OR SAID OTHER PARTY HAS BEEN ADVISED OF THE +%% POSSIBILITY OF SUCH DAMAGES. %% -%% For more information, see the mathfont_code.dtx. +%% For more information, see the LaTeX Project Public License. +%% Derivative works based on this package may come with their +%% own license or terms of use, and the package author is not +%% responsible for any third-party software. %% -%% Happy TeXing! +%% For more information, see mathfont_code.dtx. Happy TeXing! %% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{mathfont}[2021/12/28 v. 2.0 Package mathfont] +\ProvidesPackage{mathfont}[2022/12/04 v. 2.2 Package mathfont] \newif\ifM@XeTeXLuaTeX % is engine one of xetex or luatex? \newif\ifM@Noluaotfload % cannot find luaotfload.sty? \newif\ifM@adjust@font % should adjust fonts with lua script? @@ -63,25 +72,33 @@ {Your command was ignored. I couldn't\MessageBreak load mathfont, so I never defined this\MessageBreak control sequence.}} -\def\mathfont{\M@NoMathfontError\mathfont +\protected\def\mathfont{\M@NoMathfontError\mathfont \@ifnextchar[\@gobbletwo@brackets\@gobble} -\def\mathconstantsfont{\M@NoMathfontError\mathconstantsfont\@gobble} -\def\setfont{\M@NoMathfontError\setfont\@gobble} -\def\newmathrm{\M@NoMathfontError\newmathrm\@gobbletwo} -\def\newmathit{\M@NoMathfontError\newmathit\@gobbletwo} -\def\newmathbf{\M@NoMathfontError\newmathbf\@gobbletwo} -\def\newmathbfit{\M@NoMathfontError\newmathbf\@gobbletwo} -\def\newmathsc{\M@NoMathfontError\newmathsc\@gobbletwo} -\def\newmathscit{\M@NoMathfontError\newmathscit\@gobbletwo} -\def\newmathbfsc{\M@NoMathfontError\newmathbfsc\@gobbletwo} -\def\newmathbfscit{\M@NoMathfontError\newmathbfscit\@gobbletwo} -\def\newmathfontcommand{\M@NoMathfontError\newmathfontcommand\@gobblefour} -\def\RuleThicknessFactor{\M@NoMathfontError\RuleThicknessFactor\@gobble} -\def\IntegralItalicFactor{\M@NoMathfontError\IntegralItalicFactor\@gobble} -\def\SurdVerticalFactor{\M@NoMathfontError\SurdVerticalFactor\@gobble} -\def\SurdHorizontalFactor{\M@NoMathfontError\SurdHorizontalFactor\@gobble} -\def\CharmLine{\M@NoMathfontError\CharmLine\@gobble} -\def\CharmFile{\M@NoMathfontError\CharmFile\@gobble} +\protected\def\setfont{\M@NoMathfontError\setfont\@gobble} +\protected\def\mathconstantsfont{\M@NoMathfontError\mathconstantsfont + \@ifnextchar[\@gobbletwo@brackets\@gobble} +\protected\def\newmathrm{\M@NoMathfontError\newmathrm\@gobbletwo} +\protected\def\newmathit{\M@NoMathfontError\newmathit\@gobbletwo} +\protected\def\newmathbf{\M@NoMathfontError\newmathbf\@gobbletwo} +\protected\def\newmathbfit{\M@NoMathfontError\newmathbf\@gobbletwo} +\protected\def\newmathbold{\M@NoMathfontError\newmathbold\@gobbletwo} +\protected\def\newmathboldit{\M@NoMathfontError\newmathbold\@gobbletwo} +\protected\def\newmathsc{\M@NoMathfontError\newmathsc\@gobbletwo} +\protected\def\newmathscit{\M@NoMathfontError\newmathscit\@gobbletwo} +\protected\def\newmathbfsc{\M@NoMathfontError\newmathbfsc\@gobbletwo} +\protected\def\newmathbfscit{\M@NoMathfontError\newmathbfscit\@gobbletwo} +\protected\def\newmathfontcommand{% + \M@NoMathfontError\newmathfontcommand\@gobblefour} +\protected\def\RuleThicknessFactor{% + \M@NoMathfontError\RuleThicknessFactor\@gobble} +\protected\def\IntegralItalicFactor{% + \M@NoMathfontError\IntegralItalicFactor\@gobble} +\protected\def\SurdVerticalFactor{% + \M@NoMathfontError\SurdVerticalFactor\@gobble} +\protected\def\SurdHorizontalFactor{% + \M@NoMathfontError\SurdHorizontalFactor\@gobble} +\protected\def\CharmLine{\M@NoMathfontError\CharmLine\@gobble} +\protected\def\CharmFile{\M@NoMathfontError\CharmFile\@gobble} \ifdefined\directlua \M@XeTeXLuaTeXtrue \fi @@ -116,7 +133,7 @@ with one of those two engines.^^J}} \M@XeTeXLuaTeXError \endgroup - \AtEndOfPackage{\typeout{Package mathfont failed to load\on@line.}} + \AtEndOfPackage{\typeout{:: mathfont :: Failed to load\on@line.}} \expandafter\endinput % we should \endinput with a balanced conditional \fi \ifdefined\directlua @@ -162,7 +179,7 @@ XeLaTeX.^^J}} \M@NoluaotfloadError \endgroup - \AtEndOfPackage{\typeout{Package mathfont failed to load\on@line.}} + \AtEndOfPackage{\typeout{:: mathfont :: Failed to load\on@line.}} \expandafter\endinput % we should \endinput with a balanced conditional \fi \def\M@Optiondeprecated#1#2{\PackageError{mathfont} @@ -171,9 +188,6 @@ use #2\MessageBreak instead. For more information,\MessageBreak see the mathfont documentation.}} -\IfFileExists{atveryend.sty} - {\RequirePackage{atveryend}\let\E@sterEggHook\AtVeryVeryEnd} - {\let\E@sterEggHook\AtEndDocument} \DeclareOption{packages}{% \M@Optiondeprecated{packages} {the macro \string\restoremathinternals}} @@ -187,25 +201,36 @@ \ifE@sterEggDecl@red\else \E@sterEggDecl@redtrue \def\EasterEggUpdate{\show\E@sterEggUpd@te} - \def\E@sterEggUpd@te{Okay, opening your Easter egg} - \EasterEggUpdate - \def\E@sterEggUpd@te{..} + \def\E@sterEggUpd@te{Easter Egg Status:^^J^^J% + Okay, opening your Easter egg.^^J^^J} \EasterEggUpdate + \def\E@sterEggUpd@te{Easter Egg Status:^^J^^J% + Uh oh. It looks like^^J% + your Easter egg flew^^J% + out the window. I don't^^J% + suppose you know the^^J% + best kind of bait to^^J% + lure an egg?^^J^^J} \EasterEggUpdate - \typeout{^^JHm, I think it flew out the^^J% - window. Check back here when^^J% - everything's done compiling^^J} - \def\E@sterEggUpd@te{Uh oh} + \def\E@sterEggUpd@te{Easter Egg Status:^^J^^J% + Still wrangling. Try back later.^^J^^J} + \AtBeginDocument{\bgroup + \def\E@sterEggUpd@te{Easter Egg Status:^^J^^J:% + If we have zero eggs^^J% + and zero bunnies, how^^J% + many gnats does it take^^J% + to change a lightbulb??^^J^^J} \EasterEggUpdate - \def\E@sterEggUpd@te{Still wrangling. Try back later} - \AtBeginDocument\EasterEggUpdate - \E@sterEggHook{% - \typeout{^^JHappy, happy day! Happy,^^J% - happy day! Clap your hands,^^J% - and be glad your hovercraft^^J% - isn't full of eels!^^J} - \def\E@sterEggUpd@te{Got it :) } - \EasterEggUpdate} + \egroup} + \AtEndDocument{% + \def\E@sterEggUpd@te{Easter Egg Status:^^J^^J% + Happy, happy day! Happy,^^J% + happy day! Clap your hands,^^J% + and be glad your hovercraft^^J% + isn't full of eels!^^J^^J} + \EasterEggUpdate + \let\E@sterEggUpd@te\relax + \let\EasterEggUpdate\relax} \fi}% my easter egg :) \DeclareOption{adjust}{\M@adjust@fonttrue} \DeclareOption{no-adjust}{\M@adjust@fontfalse} @@ -233,40 +258,22 @@ \M@adjust@fontfalse \fi \fi -\def\M@FontChangeInfo#1#2#3#4#5{\wlog{Package mathfont Info: - Setting #1 chars to #2!^^J% - NFSS Family Name: #3^^J% - Series/Shape Info: #4^^J% - Symbol Font Name: #5^^J}} -\def\M@CommandInitializeInfo#1{\wlog{Package mathfont Info: Initializing - \noexpand#1 font-change command on line \the\inputlineno.}} -\def\M@NewFontCommandInfo#1#2#3#4#5{\wlog{Package mathfont Info: Creating - math-alphabet command^^J% - \string#1 using #2 on line \the\inputlineno!^^J% - NFSS Family Name: #3^^J% +\def\M@SymbolFontInfo#1#2#3#4{\wlog{^^JPackage mathfont Info: + Declaring new symbol font from #1!^^J% + NFSS Family Name: \space#2^^J% + Series/Shape Info: #3^^J% + Symbol Font Name: \space#4^^J}} +\def\M@FontChangeInfo#1#2{\wlog{Package mathfont Info: + Setting #1 chars to #2!}} +\def\M@NewFontCommandInfo#1#2#3#4#5{\wlog{^^JPackage mathfont Info: + Creating \string#1 using #2!^^J% + NFSS Family Name: \space#3^^J% Series/Shape Info: #4/#5^^J}} \def\M@CharsSetWarning#1{\PackageWarning{mathfont} {I already set the font for\MessageBreak #1 chars, so I'm ignoring\MessageBreak this option for \string\mathfont\space on line \the\inputlineno\@gobble}} -\def\M@DoubleArgWarning#1#2{\PackageWarning{mathfont} - {I'm ignoring the multiple characters\MessageBreak - "#2" that are grouped together in\MessageBreak - the argument of your \string#1\space command\MessageBreak}} -\def\M@NestedArgWarning#1#2{\PackageWarning{mathfont} - {I'm ignoring the nested argument\MessageBreak - "#2" from your \string#1\MessageBreak - command}} -\def\M@CSArgWarning#1#2{\PackageWarning{mathfont} - {I'm ignoring the unexpandable control\MessageBreak - sequence \string#2\space that appears in the\MessageBreak - argument of your \string#1\space command\MessageBreak}} -\def\M@CharacterArgWarning#1#2{\PackageWarning{mathfont} - {I'm ignoring the "#2" in the\MessageBreak - argument of your \string#1\MessageBreak - command because it isn't a\MessageBreak - letter or digit}} \def\M@DeprecatedWarning#1#2{\PackageWarning{mathfont} {Your \string#1\space command on\MessageBreak line \the\inputlineno\space is deprecated, and I\MessageBreak @@ -333,6 +340,23 @@ haven't loaded fontspec, so some things are about\MessageBreak to get messed up. To resolve this error, load\MessageBreak fontspec before calling \string\mathfont.^^J}} +\def\M@BadMathConstantsFontError#1{\PackageError{mathfont} + {Invalid\MessageBreak font specifier for + \string\mathconstantsfont:\MessageBreak"#1"} + {Your command was ignored--I can't parse your argument.\MessageBreak + Please make sure to use text that you have previously\MessageBreak + fed to \string\mathfont\space for the argument of + \string\mathconstantsfont.^^J}} +\def\M@BadMathConstantsFontTypeError#1{\PackageError{mathfont} + {Invalid\MessageBreak font specifier for + \string\mathconstantsfont:\MessageBreak"#1"} + {The optional argument of \string\mathconstantsfont\MessageBreak + should be "upright" or "italic." Right now,\MessageBreak + it's "#1."^^J}} +\def\M@LuaTeXOnlyWarning{\PackageWarning{mathfont} + {Your \string\mathconstantsfont\space + on line \the\inputlineno\space is\MessageBreak + for LuaTeX only, and I'm ignoring it\@gobble}} \def\M@MissingControlSequenceError#1#2{\PackageError{mathfont} {Missing control sequence\MessageBreak for\string#1\MessageBreak on input line \the\inputlineno} @@ -349,13 +373,12 @@ a single character instead.^^J}} \def\M@HModeError#1{\PackageError{mathfont} {Missing \string$ inserted\MessageBreak - inserted\on@line. Command\MessageBreak - \string#1\space is for math mode only\MessageBreak} + on input line line \the\inputlineno} {I generated an error because you used \string#1\space outside of\MessageBreak - math mode. I've inserted a \string$ - just before your \string#1, so\MessageBreak - we should be all good now.^^J}} + math mode. I inserted a \string$ + before your \string#1, so we\MessageBreak + should be all good now.^^J}} \def\M@ForbiddenCharmLine#1{\PackageError{mathfont} {Forbidden charm info contains #1} {The argument of your \string\CharmLine\space @@ -389,9 +412,15 @@ is a nonnegative integer. Right now it's\MessageBreak "#2".^^J}} \@ifpackageloaded{fontspec} - {\csname bool_set_false:N\expandafter\endcsname + {\wlog{Package mathfont Info: Package fontspec detected.} + \wlog{Package mathfont Info: Setting \string\g__fontspec_math_bool + to false.} + \csname bool_set_false:N\expandafter\endcsname \csname g__fontspec_math_bool\endcsname} - {\PassOptionsToPackage{no-math}{fontspec}} + {\wlog{Package mathfont Info: Package fontspec not detected.} + \wlog{Package mathfont Info: Will pass no-math option to fontspec + if it gets loaded.} + \PassOptionsToPackage{no-math}{fontspec}} \let\@@set@mathchar\set@mathchar \let\@@set@mathsymbol\set@mathsymbol \let\@@set@mathaccent\set@mathaccent @@ -418,12 +447,17 @@ \advance\count\z@\count\tw@ \protected\xdef#2{% \Umathaccent\mathchar@type#3+\number#1+\the\count\z@\relax}} +\ifx\DeclareSymbolFont@m@dropped\@undefined + \edef\@tempa{\expandafter\strip@prefix\meaning\DeclareSymbolFont} + \def\@tempb{\def\DeclareSymbolFont##1##2##3##4##5} +\else + \edef\@tempa{\expandafter\strip@prefix\meaning\DeclareSymbolFont@m@dropped} + \def\@tempb{\def\DeclareSymbolFont@m@dropped##1##2##3##4##5} +\fi \def\M@p@tch@decl@re#1<15#2\@nil{#1<\e@mathgroup@top#2} -\edef\M@DecSymDef{\expandafter\expandafter\expandafter - \M@p@tch@decl@re\expandafter\strip@prefix\meaning\DeclareSymbolFont\@nil} -\def\@tempa{\def\DeclareSymbolFont##1##2##3##4##5} +\edef\M@DecSymDef{\expandafter\M@p@tch@decl@re\@tempa\@nil} \ifdefined\directlua - \expandafter\@tempa\expandafter{\scantextokens\expandafter{\M@DecSymDef}} + \expandafter\@tempb\expandafter{\scantextokens\expandafter{\M@DecSymDef}} \else \begingroup \everyeof{\noexpand} @@ -431,12 +465,10 @@ \edef\M@retokenize{\noexpand\scantokens{\noexpand\unexpanded{\M@DecSymDef}}} \edef\M@retokenize{\M@retokenize} \expandafter\endgroup - \expandafter\@tempa\expandafter{\M@retokenize} + \expandafter\@tempb\expandafter{\M@retokenize} \fi -\@onlypreamble\@@DeclareSymbolFont \newbox\surdbox \newcount\M@count -\newcount\M@errcode \newcount\M@rule@thickness@factor \newcount\M@integral@italic@factor \newcount\M@surd@vertical@factor @@ -478,6 +510,7 @@ \newif\if@suboptionpresent \newif\ifM@arg@good \newif\ifM@Decl@reF@mily +\newif\ifM@Decl@reF@milyB@se \newif\ifM@fromCharmFile \def\M@uppershape{italic} % latin upper \def\M@lowershape{italic} % latin lower @@ -503,39 +536,143 @@ \def\M@frakshape{upright} % fraktur \def\M@bcalshape{upright} % bold caligraphic \def\M@bfrakshape{upright} % bold fraktur +\def\M@keys{upper,lower,diacritics,greekupper,% + greeklower,agreekupper,agreeklower,cyrillicupper,% + cyrilliclower,hebrew,digits,operator,delimiters,% + radical,bigops,extbigops,symbols,extsymbols,arrows,% + bb,cal,frak,bcal,bfrak} \def\M@defaultkeys{upper,lower,diacritics,greekupper,% greeklower,digits,operator,symbols} \ifM@adjust@font \edef\M@defaultkeys{\M@defaultkeys,delimiters,radical,bigops} \fi -\def\M@normalkeys{upper,lower,diacritics,greekupper,% - greeklower,agreekupper,agreeklower,cyrillicupper,% - cyrilliclower,hebrew,digits,operator,delimiters,% - radical,bigops,extbigops,symbols,extsymbols,arrows} -\def\M@letterlikekeys{bb,cal,frak,bcal,bfrak} -\def\M@default@otf@features{script=latin;language=DFLT;% +\def\M@otf@features{script=latin;language=DFLT;% tlig=true;liga=true;smcp=false;lnum=true} -\def\M@default@otf@features@sc{script=latin;language=DFLT;% +\def\M@otf@features@sc{script=latin;language=DFLT;% tlig=true;liga=true;smcp=true;lnum=true} -\ifdefined\directlua - \edef\M@default@otf@features{mode=base;\M@default@otf@features} - \edef\M@default@otf@features@sc{mode=base;\M@default@otf@features@sc} -\fi +\def\M@split@colon#1:#2\@nil{% + \def\@tempbase{#1} + \def\@tempfeatures{#2}} +\def\M@strip@colon#1:{#1} +\def\M@fill@nfss@shapes#1#2{% + \ifcsname TU/#1/\mddefault/\shapedefault\endcsname + \else + \DeclareFontShape{TU}{#1}{\mddefault}{\shapedefault} + {<->"\@tempbase:\M@otf@features;#2"}{} + \fi + \ifcsname TU/#1/\mddefault/\itdefault\endcsname + \else + \DeclareFontShape{TU}{#1}{\mddefault}{\itdefault} + {<->"\@tempbase/I:\M@otf@features;#2"}{} + \fi + \ifcsname TU/#1/\bfdefault/\shapedefault\endcsname + \else + \DeclareFontShape{TU}{#1}{\bfdefault}{\shapedefault} + {<->"\@tempbase/B:\M@otf@features;#2"}{} + \fi + \ifcsname TU/#1/\bfdefault/\itdefault\endcsname + \else + \DeclareFontShape{TU}{#1}{\bfdefault}{\itdefault} + {<->"\@tempbase/BI:\M@otf@features;#2"}{} + \fi + \ifcsname TU/#1/\mddefault/\scdefault\endcsname + \else + \DeclareFontShape{TU}{#1}{\mddefault}{\scdefault} + {<->"\@tempbase:\M@otf@features@sc;#2"}{} + \fi + \ifcsname TU/#1/\mddefault/\scdefault\itdefault\endcsname + \else + \DeclareFontShape{TU}{#1}{\mddefault}{\scdefault\itdefault} + {<->"\@tempbase/I:\M@otf@features@sc;#2"}{} + \fi + \ifcsname TU/#1/\bfdefault/\scdefault\endcsname + \else + \DeclareFontShape{TU}{#1}{\bfdefault}{\scdefault} + {<->"\@tempbase/B:\M@otf@features@sc;#2"}{} + \fi + \ifcsname TU/#1/\bfdefault/\scdefault\itdefault\endcsname + \else + \DeclareFontShape{TU}{#1}{\bfdefault}{\scdefault\itdefault} + {<->"\@tempbase/BI:\M@otf@features@sc;#2"}{} + \fi} +\def\M@newfont#1{% + \edef\@tempa{#1} + \expandafter\M@split@colon\@tempa:\@nil + \def\@tempb{fontspec} + \ifx\@tempa\@tempb + \@ifpackageloaded{fontspec}{% + \expandafter\ifx\csname l_fontspec_family_tl\endcsname\@empty + \M@NoFontspecFamilyError + \else + \expandafter + \let\expandafter\M@f@ntn@me\csname l_fontspec_family_tl\encsname + \def\@tempbase{\M@f@ntn@me\space(from fontspec)} + \let\M@f@ntn@meb@se\M@f@ntn@me % no separate font in base mode + \fi}{\M@NoFontspecError} + \else + \@ifpackageloaded{fontspec} + {\csname fontspec_set_family:Nnn\endcsname\M@f@ntn@me{}{\@tempa} + % no separate font in base mode + \let\M@f@ntn@meb@se\M@f@ntn@me} + {\M@Decl@reF@milytrue + \M@Decl@reF@milyB@setrue + \ifx\@tempfeatures\@empty + \ifdefined\directlua + \edef\@basefeatures{mode=base} + \else + \let\@basefeatures\@tempfeatures + \fi + \else + \edef\@tempfeatures{\expandafter\M@strip@colon\@tempfeatures} + \ifdefined\directlua + \edef\@basefeatures{\@tempfeatures;mode=base} + \else + \let\@basefeatures\@tempfeatures + \fi + \fi + \edef@nospace\@tempa{\@tempa} + \edef@nospace\@tempb{\@tempbase} + \M@Decl@reF@milytrue + \@tfor\@i:=\@tempa\@tempb\@tempbase\do{% + \ifcsname TU+\@i\endcsname + \expandafter\let\expandafter\M@f@ntn@me\@i + \M@Decl@reF@milyfalse + \M@fill@nfss@shapes\M@f@ntn@me\@tempfeatures + \@break@tfor + \fi} + \ifM@Decl@reF@mily + \let\M@f@ntn@me\@tempa + \wlog{Package mathfont Info: Adding \M@f@ntn@me\space to the nfss!} + \DeclareFontFamily{TU}{\M@f@ntn@me}{} + \M@fill@nfss@shapes\M@f@ntn@me\@tempfeatures + \fi + \ifdefined\directlua + \edef\M@f@ntn@meb@se{\M@f@ntn@me-base} + \else + \let\M@f@ntn@meb@se\M@f@ntn@me + \fi + \ifcsname TU+\M@f@ntn@meb@se\endcsname\else + \wlog{Package mathfont Info: Adding \M@f@ntn@meb@se\space + to the nfss!} + \DeclareFontFamily{TU}{\M@f@ntn@meb@se}{} + \fi + \M@fill@nfss@shapes\M@f@ntn@meb@se\@basefeatures} + \fi} +\@onlypreamble\M@fill@nfss@shapes +\@onlypreamble\M@newfont \def\M@check@option@valid#1{% \let\@temperror\M@InvalidOptionError % error by default - \@for\@j:=\M@normalkeys\do{% + \@for\@j:=\M@keys\do{% \ifx\@j#1 \let\@temperror\@gobble % eliminate error \@optionpresenttrue % set switch to true \fi} - \@for\@j:=\M@letterlikekeys\do{% - \ifx\@j#1 - \expandafter\M@CommandInitializeInfo\csname math#1\endcsname - \csname define@#1\endcsname % initialize command - \let\@temperror\@gobble % eliminate error - \@optionpresenttrue % set switch to true - \fi} - \@temperror{#1}} + \def\@j{empty} % if option is "empty," we do nothing + \ifx\@j#1 + \let\@temperror\@gobble + \@optionpresentfalse + \fi + \@temperror{#1}} \def\M@check@suboption@valid#1{% \let\@temperror\M@InvalidSuboptionError % error by default \@for\@j:=roman,upright,italic\do{% @@ -577,106 +714,7 @@ \long\def\edef@nospace#1#2{% \edef#1{#2}% \edef#1{\expandafter\zap@space#1 \@empty}} -\def\M@split@colon#1:#2\@nil{% - \def\@tempbase{#1} - \def\@tempfeatures{#2}} -\def\M@strip@colon#1:{#1} -\def\M@check@in@nfss#1{% - \ifcsname TU+#1\endcsname - \let\M@f@ntn@me#1 - \ifcsname TU/#1/\mddefault/\shapedefault\endcsname - \else - \DeclareFontShape{TU}{#1}{\mddefault}{\shapedefault} - {<->"\@tempbase:\M@default@otf@features;\@tempfeatures"}{} - \fi - \ifcsname TU/#1/\mddefault/\itdefault\endcsname - \else - \DeclareFontShape{TU}{#1}{\mddefault}{\itdefault} - {<->"\@tempbase/I:\M@default@otf@features;\@tempfeatures"}{} - \fi - \ifcsname TU/#1/\bfdefault/\shapedefault\endcsname - \else - \DeclareFontShape{TU}{#1}{\bfdefault}{\shapedefault} - {<->"\@tempbase/B:\M@default@otf@features;\@tempfeatures"}{} - \fi - \ifcsname TU/#1/\bfdefault/\itdefault\endcsname - \else - \DeclareFontShape{TU}{#1}{\bfdefault}{\itdefault} - {<->"\@tempbase/BI:\M@default@otf@features;\@tempfeatures"}{} - \fi - \ifcsname TU/#1/\mddefault/\scdefault\endcsname - \else - \DeclareFontShape{TU}{#1}{\mddefault}{\scdefault} - {<->"\@tempbase:\M@default@otf@features@sc;\@tempfeatures"}{} - \fi - \ifcsname TU/#1/\mddefault/\scdefault\itdefault\endcsname - \else - \DeclareFontShape{TU}{#1}{\mddefault}{\scdefault\itdefault} - {<->"\@tempbase/I:\M@default@otf@features@sc;\@tempfeatures"}{} - \fi - \ifcsname TU/#1/\bfdefault/\scdefault\endcsname - \else - \DeclareFontShape{TU}{#1}{\bfdefault}{\scdefault} - {<->"\@tempbase/B:\M@default@otf@features@sc;\@tempfeatures"}{} - \fi - \ifcsname TU/#1/\bfdefault/\scdefault\itdefault\endcsname - \else - \DeclareFontShape{TU}{#1}{\bfdefault}{\scdefault\itdefault} - {<->"\@tempbase/BI:\M@default@otf@features@sc;\@tempfeatures"}{} - \fi - \M@Decl@reF@milyfalse - \@break@tfor - \fi} -\def\M@newfont#1{% - \edef\@tempa{#1} - \expandafter\M@split@colon\@tempa:\@nil - \def\@tempb{fontspec} - \ifx\@tempa\@tempb - \@ifpackageloaded{fontspec}{% - \expandafter\ifx\csname l_fontspec_family_tl\endcsname\@empty - \M@NoFontspecFamilyError - \else - \expandafter - \let\expandafter\M@f@ntn@me\csname l_fontspec_family_tl\encsname - \def\@tempbase{\M@f@ntn@me\space(from fontspec)} - \fi}{\M@NoFontspecError} - \else - \@ifpackageloaded{fontspec} - {\csname fontspec_set_family:Nnn\endcsname\M@f@ntn@me{}{\@tempa}} - {\M@Decl@reF@milytrue - \ifx\@tempfeatures\@empty\else - \edef\@tempfeatures{\expandafter\M@strip@colon\@tempfeatures} - \fi - \edef@nospace\@tempa{\@tempa} - \edef@nospace\@tempb{\@tempbase} - \@tfor\@i:=\@tempa\@tempb\@tempbase\do{\expandafter\M@check@in@nfss\@i} - \ifM@Decl@reF@mily - \wlog{^^JPackage mathfont Info: - Adding the font family \@tempa\space to the nfss.} - \DeclareFontFamily{TU}{\@tempa}{} - \let\M@f@ntn@me\@tempa - \DeclareFontShape{TU}{\@tempa}{\mddefault}{\shapedefault} - {<->"\@tempbase:\M@default@otf@features;\@tempfeatures"}{} - \DeclareFontShape{TU}{\@tempa}{\mddefault}{\itdefault} - {<->"\@tempbase/I:\M@default@otf@features;\@tempfeatures"}{} - \DeclareFontShape{TU}{\@tempa}{\bfdefault}{\shapedefault} - {<->"\@tempbase/B:\M@default@otf@features;\@tempfeatures"}{} - \DeclareFontShape{TU}{\@tempa}{\bfdefault}{\itdefault} - {<->"\@tempbase/BI:\M@default@otf@features;\@tempfeatures"}{} - \DeclareFontShape{TU}{\@tempa}{\mddefault}{\scdefault} - {<->"\@tempbase:\M@default@otf@features@sc;\@tempfeatures"}{} - \DeclareFontShape{TU}{\@tempa}{\mddefault}{\scdefault\itdefault} - {<->"\@tempbase/I:\M@default@otf@features@sc;\@tempfeatures"}{} - \DeclareFontShape{TU}{\@tempa}{\bfdefault}{\scdefault} - {<->"\@tempbase/B:\M@default@otf@features@sc;\@tempfeatures"}{} - \DeclareFontShape{TU}{\@tempa}{\bfdefault}{\scdefault\itdefault} - {<->"\@tempbase/BI:\M@default@otf@features@sc;\@tempfeatures"}{} - \fi} - \fi} -\@onlypreamble\M@check@in@nfss -\@onlypreamble\M@newfont -\protected\def\mathfont{\@ifnextchar[{\m@thf@nt}{\@mathfont[\M@defaultkeys]}} -\def\m@thf@nt[#1]{\@mathfont[#1]} +\protected\def\mathfont{\@ifnextchar[{\@mathfont}{\@mathfont[\M@defaultkeys]}} \def\@mathfont[#1]#2{% \ifx\set@mathchar\@@set@mathchar \M@InternalsRestoredError @@ -684,8 +722,11 @@ \M@toks{} \M@newfont{#2} \expandafter\edef\csname M@fontfamily@#2\endcsname{\M@f@ntn@me} + \expandafter\edef\csname M@fontfamily@base@#2\endcsname{\M@f@ntn@meb@se} \ifcsname M@fontid@\M@f@ntn@me\endcsname\else % need new \M@count value? \expandafter\edef\csname M@fontid@\M@f@ntn@me\endcsname{\the\M@count} + \expandafter\let\csname M@fontid@\M@f@ntn@meb@se\expandafter\endcsname + \csname M@fontid@\M@f@ntn@me\endcsname \advance\M@count\@ne \fi \edef\@tempa{\csname M@fontid@\M@f@ntn@me\endcsname} @@ -712,13 +753,14 @@ \let\@tempb\itdefault \fi \ifcsname symM\@tempc\@tempa\endcsname\else + \M@SymbolFontInfo{\@tempbase}{\M@f@ntn@meb@se} + {\mddefault/\@tempb}{M\@tempc\@tempa} \DeclareSymbolFont - {M\@tempc\@tempa}{TU}{\M@f@ntn@me}{\mddefault}{\@tempb} + {M\@tempc\@tempa}{TU}{\M@f@ntn@meb@se}{\mddefault}{\@tempb} \fi \expandafter \edef\csname M@\@temp@opt @fontinfo\endcsname{\@tempbase} - \M@FontChangeInfo{\@temp@opt}{\@tempbase}{\M@f@ntn@me} - {\mddefault/\@tempb}{M\@tempc\@tempa} + \M@FontChangeInfo{\@temp@opt}{\@tempbase} \csname M@\@temp@opt @set\endcsname % set default font \csname M@\@temp@opt true\endcsname % set switch to true \fi @@ -728,9 +770,10 @@ \wlog{The \string\mathfont\space command on line \the\inputlineno\space did not change the font for any characters!} \else + \wlog{} \typeout{:: mathfont :: Using font \@tempbase\space on line \the\inputlineno.} - \wlog{Character classes changed:\the\M@toks^^J} + \wlog{Character classes changed:\the\M@toks} \fi \fi} \@onlypreamble\mathfont @@ -742,130 +785,60 @@ \setmathfontcommands{#1} \let\rmdefault\M@f@ntn@me} \@onlypreamble\setfont -\ifM@adjust@font - \protected\def\mathconstantsfont#1{% - \edef\@tempa{\csname M@fontfamily@#1\endcsname} - \ifx\@tempa\relax - \PackageError{mathfont}{Invalid font specifier} - {Your command was ignored--I can't parse your argument.\MessageBreak - Please make sure to use text that you have previously\MessageBreak - fed to \string\mathfont\space for the argument of - \string\mathconstantsfont.^^J} - \else - \ifx\M@SetMathConstants\relax - \protected\def\M@SetMathConstants{% - \begingroup - \escapechar\m@ne - \expandafter\getanddefine@fonts - \csname symMupright\csname M@fontid@\m@th@const@nts@font\endcsname - \expandafter\endcsname % expands to \symMupright<id> - \csname TU/\m@th@const@nts@font/\seriesdefault/\shapedefault - \endcsname % expands to \TU/<nfss family name>/m/n - \globaldefs\@ne - \expandafter\@gobbletwo\math@fonts % gobble to avoid infinite loop - \endgroup} - \fi - \let\m@th@const@nts@font\@tempa - \fi} +\ifdefined\directlua \let\M@SetMathConstants\relax - \def\math@fonts{\aftergroup\M@SetMathConstants} - \@onlypreamble\mathconstantsfont -\fi -\def\M@check@mode#1{% - \let\@tempa#1% - \ifmmode - \expandafter\@tempa - \else - \bgroup - \escapechar\m@ne - \expandafter - \egroup - \expandafter\M@HModeError\csname\expandafter\@gobble\string#1\endcsname - \expandafter$\expandafter\@tempa - \fi} -\def\M@process@tokens#1#2{% - \edef\@tempa{#1}% - \expandafter\@tfor\expandafter\@k\expandafter:\expandafter=\@tempa\do{% - \expandafter\M@check@token\expandafter{\@k}% - \ifcase\M@errcode - \csname M@#2@\@k\endcsname - \or\expandafter\M@NestedArgWarning\csname math#2\endcsname{\@k}% - \or\expandafter\M@CSArgWarning\csname math#2\endcsname{\@k}% - \or\expandafter\M@CharacterArgWarning\csname math#2\endcsname{\@k}% - \or\expandafter\M@DoubleArgWarning\csname math#2\endcsname{\@k}% - \fi}} -\def\M@check@token#1{% - \M@errcode\z@ - \expandafter\ifx\expandafter\@nnil\@gobble#1\@nnil% good - \expandafter\@gobble\expandafter{\ifcat\bgroup#1% bad - \M@errcode\@ne - \else}% - \ifcat\relax\noexpand#1% bad - \M@errcode\tw@ + \protected\def\mathconstantsfont{\@ifnextchar[{\@mathconstantsfont} + {\@mathconstantsfont[upright]}} + \def\@mathconstantsfont[#1]#2{% + \edef\@tempa{\csname M@fontfamily@base@#2\endcsname} + \expandafter\ifx\@tempa\relax + \M@BadMathConstantsFontError{#2} + \else + \def\@tempb{#1} + \def\@tempc{upright} + \ifx\@tempb\@tempc + \let\@tempc\shapedefault \else - \ifnum\catcode`#1=11\relax% good + \def\@tempc{italic} + \ifx\@tempb\@tempc + \let\@tempc\itdefault \else - \if 0#1% good - \else - \if 1#1% good - \else - \if 2#1% good - \else - \if 3#1% good - \else - \if 4#1% good - \else - \if 5#1% good - \else - \if 6#1% good - \else - \if 7#1% good - \else - \if 8#1% good - \else - \if 9#1% good - \else - \M@errcode\thr@@ - \fi - \fi - \fi - \fi - \fi - \fi - \fi - \fi - \fi - \fi + \M@BadMathConstantsFontTypeError{#1} \fi \fi - \fi - \else% matches the original \ifx\@nnil, etc. - \M@errcode=4\relax - \fi} -\def\define@bb{% - \protected\def\mathbb{\M@check@mode\@mathbb}% - \def\@mathbb##1{\M@process@tokens{##1}{bb}}} -\def\define@cal{% - \protected\def\mathcal{\M@check@mode\@mathcal}% - \def\@mathcal##1{\M@process@tokens{##1}{cal}}} -\def\define@frak{% - \protected\def\mathfrak{\M@check@mode\@mathfrak}% - \def\@mathfrak##1{\M@process@tokens{##1}{frak}}} -\def\define@bcal{% - \protected\def\mathbcal{\M@check@mode\@mathbcal}% - \def\@mathbcal##1{\M@process@tokens{##1}{bcal}}} -\def\define@bfrak{% - \protected\def\mathbfrak{\M@check@mode\@mathbfrak}% - \def\@mathbfrak##1{\M@process@tokens{##1}{bfrak}}} + \ifcsname symM#1\csname M@fontid@\@tempa\endcsname\endcsname\else + \DeclareSymbolFont{M#1\csname M@fontid@\@tempa\endcsname} + {TU}{\@tempa}{\mddefault}{\@tempc} + \fi + \let\m@th@const@nts@font\@tempa + \protected\def\M@SetMathConstants{% + \begingroup + \escapechar\m@ne + \expandafter\getanddefine@fonts + \csname symM#1\csname M@fontid@\m@th@const@nts@font\endcsname + \expandafter + \endcsname % expands to \symMupright<id> + \csname TU/\m@th@const@nts@font/\seriesdefault/\@tempc + \endcsname % expands to \TU/<nfss family name>/m/<shape> + \globaldefs\@ne + \expandafter\@gobbletwo\math@fonts % gobble to avoid infinite loop + \endgroup} + \fi} + \def\math@fonts{\aftergroup\M@SetMathConstants} +\else + \protected\def\mathconstantsfont{\M@LuaTeXOnlyWarning + \@ifnextchar[\@gobbletwo@brackets\@gobble} +\fi +\@onlypreamble\mathconstantsfont \def\M@check@csarg#1#2{% - \expandafter\ifx\expandafter\@nnil\@gobble#2\@nnil% good - \ifcat\relax\noexpand#2% good + \expandafter\ifx\expandafter\@nnil\@gobble#2\@nnil % good + \ifcat\relax\noexpand#2 % good \M@arg@goodtrue - \else + \else % if #2 not a control sequence \M@MissingControlSequenceError#1{#2} \M@arg@goodfalse \fi - \else + \else % if #2 is multiple tokens \M@DoubleArgError#1{#2} \M@arg@goodfalse \fi} @@ -873,8 +846,8 @@ \M@check@csarg\newmathfontcommand{#1} \ifM@arg@good \M@newfont{#2} - \M@NewFontCommandInfo{#1}{\@tempbase}{\M@f@ntn@me}{#3}{#4} - \DeclareMathAlphabet{#1}{TU}{\M@f@ntn@me}{#3}{#4} + \M@NewFontCommandInfo{#1}{\@tempbase}{\M@f@ntn@meb@se}{#3}{#4} + \DeclareMathAlphabet{#1}{TU}{\M@f@ntn@meb@se}{#3}{#4} \fi} \@onlypreamble\newmathfontcommand \def\M@define@newmath@cmd#1#2#3{% @@ -912,11 +885,9 @@ \newmathbfscit\mathbfscit{#1}} \@onlypreamble\setmathfontcommands \protected\def\newmathbold{% - \M@DeprecatedWarning\newmathbold\newmathbf - \newmathbf} + \M@DeprecatedWarning\newmathbold\newmathbf\newmathbf} \protected\def\newmathboldit{% - \M@DeprecatedWarning\newmathboldit\newmathbfit - \newmathbfit} + \M@DeprecatedWarning\newmathboldit\newmathbfit\newmathbfit} \ifM@adjust@font \def\M@check@int#1{% \M@arg@goodfalse @@ -928,7 +899,7 @@ \endgroup % first branch \endgroup \else \@expandtwoargs\in@{\@backslashchar}{\@tempa} - \ifin@ % is \ in #1? + \ifin@ % is backslash in #1? \endgroup % second branch \endgroup \else \directlua{ @@ -943,28 +914,28 @@ end} \fi \fi} - \def\RuleThicknessFactor#1{% + \protected\def\RuleThicknessFactor#1{% \M@check@int{#1} \ifM@arg@good \global\M@rule@thickness@factor=#1\relax \else \M@BadIntegerError\RuleThicknessFactor{#1} \fi} - \def\IntegralItalicFactor#1{% + \protected\def\IntegralItalicFactor#1{% \M@check@int{#1} \ifM@arg@good \global\M@integral@italic@factor=#1\relax \else \M@BadIntegerError\IntegralItalicFactor{#1} \fi} - \def\SurdHorizontalFactor#1{% + \protected\def\SurdHorizontalFactor#1{% \M@check@int{#1} \ifM@arg@good \global\M@surd@horizontal@factor=#1\relax \else \M@BadIntegerError\SurdHorizontalFactor{#1} \fi} - \def\SurdVerticalFactor#1{% + \protected\def\SurdVerticalFactor#1{% \M@check@int{#1} \ifM@arg@good \global\M@surd@vertical@factor=#1\relax @@ -973,9 +944,9 @@ \fi} \else \@tfor\@i:=\RuleThicknessFactor\IntegralItalicFactor\SurdHorizontalFactor - \SurdVerticalFactor\CharmLine\CharmFile\mathconstantsfont + \SurdVerticalFactor\CharmLine\CharmFile \do{% - \expandafter\edef\@i{\noexpand\M@NoFontAdjustError + \protected\expandafter\edef\@i{\noexpand\M@NoFontAdjustError \expandafter\noexpand\@i \noexpand\@gobble}} \fi @@ -1030,26 +1001,6 @@ manually}} \fi \fi -\AtBeginDocument{% - \bgroup\@tempswafalse - \ifM@bb - \@tempswatrue - \else\ifM@cal - \@tempswatrue - \else\ifM@frak - \@tempawatrue - \else\ifM@bfrak - \@tempswatrue - \fi - \fi - \fi - \fi - \expandafter\egroup\if@tempswa - \@ifpackageloaded{amsmath}{\PackageWarningNoLine{mathfont} - {\MessageBreak Package amsmath detected. Some warning\MessageBreak - messages for letterlike characters may be\MessageBreak - duplicated inside the align environment}}{} - \fi} \def\keyword@info@begindocument#1:#2\@nil{% \expandafter\ifx % next line is two cs to be compared \csname ifM@#1\expandafter\endcsname\csname iftrue\endcsname @@ -1060,7 +1011,7 @@ \wlog{#1:#2\@spaces No change.} \fi} \AtBeginDocument{% - \def\@tempa{% <---- everything should be 13 characters long plus : + \def\@tempa{% <-- everything should be 14 characters long upper:\@spaces\@spaces,% lower:\@spaces\@spaces,% diacritics:\space\space\space,% @@ -1085,7 +1036,7 @@ frak:\@spaces\@spaces\space,% bcal:\@spaces\@spaces\space,% bfrak:\@spaces\@spaces} - \wlog{^^JPackage mathfont Info: List of changes made in the preamble---} + \wlog{^^JPackage mathfont Info: List of changes made in the preamble.} \@for\@i:=\@tempa\do{% \expandafter\keyword@info@begindocument\@i\@nil} \wlog{}} @@ -1155,7 +1106,7 @@ \fi \else \@expandtwoargs\in@{\@backslashchar}{\@tempa} - \ifin@ % is \ in #1? + \ifin@ % is backslash in #1? \ifM@fromCharmFile \M@ForbiddenCharmFile{\@backslashchar} \else @@ -1953,7 +1904,7 @@ local delim_glyphs = {40, % ( 41, % ) 47, % / 91, % [ - 92, % \ + 92, % backslash 93, % ] 123, % { 125, % } @@ -2384,7 +2335,7 @@ mathfont:add_extensible_variants(smash, int_glyphs, int_scale) \def\M@operator@set{% \ifM@adjust@font \edef\M@operator@num{\number\csname symM\M@operatorshape\@tempa\endcsname} - \def\M@default@latin@operator{% + \protected\edef\M@operator@mathcodes{% \Umathcode`A=7+\M@operator@num+`A\relax \Umathcode`B=7+\M@operator@num+`B\relax \Umathcode`C=7+\M@operator@num+`C\relax @@ -2440,10 +2391,10 @@ mathfont:add_extensible_variants(smash, int_glyphs, int_scale) \Umathchardef\imath=7+\M@operator@num+1044506\relax \Umathchardef\jmath=7+\M@operator@num+1044500\relax} \else - \let\M@default@latin@operator\@empty + \let\M@operator@mathcodes\@empty \fi \xdef\operator@font{\noexpand\mathgroup - \csname symM\M@operatorshape\@tempa\endcsname\M@default@latin@operator}} + \csname symM\M@operatorshape\@tempa\endcsname\M@operator@mathcodes}} \ifM@adjust@font \def\M@delimiters@set{% \edef\M@delimiters@font{M\M@delimitersshape\@tempa} @@ -2466,7 +2417,7 @@ mathfont:add_extensible_variants(smash, int_glyphs, int_scale) \protected\gdef\backslash{\ifmmode\mathbackslash\else\textbackslash\fi} \protected\xdef\mathbackslash{% \Udelimiter+2+\number\csname sym\M@delimiters@font\endcsname - +92\relax} % \ + +92\relax} % backslash \protected\xdef\lbrace{% \Udelimiter+4+\number\csname sym\M@delimiters@font\endcsname +123\relax} % { @@ -2537,7 +2488,7 @@ mathfont:add_extensible_variants(smash, int_glyphs, int_scale) \gdef\sqrtsign##1{\@sqrts@gn{\mkern\radicandoffset##1}}} \else \def\M@radical@set{% - \edef\M@radical@font{M\@radicalshape\@tempa} + \edef\M@radical@font{M\M@radicalshape\@tempa} \DeclareMathSymbol{\surd}{\mathord}{\M@radical@font}{"221A}} \fi \def\M@bigops@set{% @@ -2971,295 +2922,335 @@ mathfont:add_extensible_variants(smash, int_glyphs, int_scale) \DeclareMathSymbol{\lcirclearrow}{\mathrel}{\M@arrows@font}{"27F2} \DeclareMathSymbol{\rcirclearrow}{\mathrel}{\M@arrows@font}{"27F3}} \def\M@bb@set{% - \edef\M@bb@font{M\M@bbshape\@tempa} - \DeclareMathSymbol{\M@bb@A}{\mathord}{\M@bb@font}{"1D538} - \DeclareMathSymbol{\M@bb@B}{\mathord}{\M@bb@font}{"1D539} - \DeclareMathSymbol{\M@bb@C}{\mathord}{\M@bb@font}{"2102} - \DeclareMathSymbol{\M@bb@D}{\mathord}{\M@bb@font}{"1D53B} - \DeclareMathSymbol{\M@bb@E}{\mathord}{\M@bb@font}{"1D53C} - \DeclareMathSymbol{\M@bb@F}{\mathord}{\M@bb@font}{"1D53D} - \DeclareMathSymbol{\M@bb@G}{\mathord}{\M@bb@font}{"1D53E} - \DeclareMathSymbol{\M@bb@H}{\mathord}{\M@bb@font}{"210D} - \DeclareMathSymbol{\M@bb@I}{\mathord}{\M@bb@font}{"1D540} - \DeclareMathSymbol{\M@bb@J}{\mathord}{\M@bb@font}{"1D541} - \DeclareMathSymbol{\M@bb@K}{\mathord}{\M@bb@font}{"1D542} - \DeclareMathSymbol{\M@bb@L}{\mathord}{\M@bb@font}{"1D543} - \DeclareMathSymbol{\M@bb@M}{\mathord}{\M@bb@font}{"1D544} - \DeclareMathSymbol{\M@bb@N}{\mathord}{\M@bb@font}{"2115} - \DeclareMathSymbol{\M@bb@O}{\mathord}{\M@bb@font}{"1D546} - \DeclareMathSymbol{\M@bb@P}{\mathord}{\M@bb@font}{"2119} - \DeclareMathSymbol{\M@bb@Q}{\mathord}{\M@bb@font}{"211A} - \DeclareMathSymbol{\M@bb@R}{\mathord}{\M@bb@font}{"211D} - \DeclareMathSymbol{\M@bb@S}{\mathord}{\M@bb@font}{"1D54A} - \DeclareMathSymbol{\M@bb@T}{\mathord}{\M@bb@font}{"1D54B} - \DeclareMathSymbol{\M@bb@U}{\mathord}{\M@bb@font}{"1D54C} - \DeclareMathSymbol{\M@bb@V}{\mathord}{\M@bb@font}{"1D54D} - \DeclareMathSymbol{\M@bb@W}{\mathord}{\M@bb@font}{"1D54E} - \DeclareMathSymbol{\M@bb@X}{\mathord}{\M@bb@font}{"1D54F} - \DeclareMathSymbol{\M@bb@Y}{\mathord}{\M@bb@font}{"1D550} - \DeclareMathSymbol{\M@bb@Z}{\mathord}{\M@bb@font}{"2124} - \DeclareMathSymbol{\M@bb@a}{\mathord}{\M@bb@font}{"1D552} - \DeclareMathSymbol{\M@bb@b}{\mathord}{\M@bb@font}{"1D553} - \DeclareMathSymbol{\M@bb@c}{\mathord}{\M@bb@font}{"1D554} - \DeclareMathSymbol{\M@bb@d}{\mathord}{\M@bb@font}{"1D555} - \DeclareMathSymbol{\M@bb@e}{\mathord}{\M@bb@font}{"1D556} - \DeclareMathSymbol{\M@bb@f}{\mathord}{\M@bb@font}{"1D557} - \DeclareMathSymbol{\M@bb@g}{\mathord}{\M@bb@font}{"1D558} - \DeclareMathSymbol{\M@bb@h}{\mathord}{\M@bb@font}{"1D559} - \DeclareMathSymbol{\M@bb@i}{\mathord}{\M@bb@font}{"1D55A} - \DeclareMathSymbol{\M@bb@j}{\mathord}{\M@bb@font}{"1D55B} - \DeclareMathSymbol{\M@bb@k}{\mathord}{\M@bb@font}{"1D55C} - \DeclareMathSymbol{\M@bb@l}{\mathord}{\M@bb@font}{"1D55D} - \DeclareMathSymbol{\M@bb@m}{\mathord}{\M@bb@font}{"1D55E} - \DeclareMathSymbol{\M@bb@n}{\mathord}{\M@bb@font}{"1D55F} - \DeclareMathSymbol{\M@bb@o}{\mathord}{\M@bb@font}{"1D560} - \DeclareMathSymbol{\M@bb@p}{\mathord}{\M@bb@font}{"1D561} - \DeclareMathSymbol{\M@bb@q}{\mathord}{\M@bb@font}{"1D562} - \DeclareMathSymbol{\M@bb@r}{\mathord}{\M@bb@font}{"1D563} - \DeclareMathSymbol{\M@bb@s}{\mathord}{\M@bb@font}{"1D564} - \DeclareMathSymbol{\M@bb@t}{\mathord}{\M@bb@font}{"1D565} - \DeclareMathSymbol{\M@bb@u}{\mathord}{\M@bb@font}{"1D566} - \DeclareMathSymbol{\M@bb@v}{\mathord}{\M@bb@font}{"1D567} - \DeclareMathSymbol{\M@bb@w}{\mathord}{\M@bb@font}{"1D568} - \DeclareMathSymbol{\M@bb@x}{\mathord}{\M@bb@font}{"1D569} - \DeclareMathSymbol{\M@bb@y}{\mathord}{\M@bb@font}{"1D56A} - \DeclareMathSymbol{\M@bb@z}{\mathord}{\M@bb@font}{"1D56B} - \expandafter\DeclareMathSymbol\expandafter - {\csname M@bb@0\endcsname}{\mathord}{\M@bb@font}{"1D7D8} - \expandafter\DeclareMathSymbol\expandafter - {\csname M@bb@1\endcsname}{\mathord}{\M@bb@font}{"1D7D9} - \expandafter\DeclareMathSymbol\expandafter - {\csname M@bb@2\endcsname}{\mathord}{\M@bb@font}{"1D7DA} - \expandafter\DeclareMathSymbol\expandafter - {\csname M@bb@3\endcsname}{\mathord}{\M@bb@font}{"1D7DB} - \expandafter\DeclareMathSymbol\expandafter - {\csname M@bb@4\endcsname}{\mathord}{\M@bb@font}{"1D7DC} - \expandafter\DeclareMathSymbol\expandafter - {\csname M@bb@5\endcsname}{\mathord}{\M@bb@font}{"1D7DD} - \expandafter\DeclareMathSymbol\expandafter - {\csname M@bb@6\endcsname}{\mathord}{\M@bb@font}{"1D7DE} - \expandafter\DeclareMathSymbol\expandafter - {\csname M@bb@7\endcsname}{\mathord}{\M@bb@font}{"1D7DF} - \expandafter\DeclareMathSymbol\expandafter - {\csname M@bb@8\endcsname}{\mathord}{\M@bb@font}{"1D7E0} - \expandafter\DeclareMathSymbol\expandafter - {\csname M@bb@9\endcsname}{\mathord}{\M@bb@font}{"1D7E1}} + \protected\def\mathbb##1{\relax + \ifmmode\else + \M@HModeError\mathbb + $% + \fi + \begingroup + \M@bb@mathcodes + ##1% + \endgroup} + \edef\M@bb@num{\number\csname symM\M@bbshape\@tempa\endcsname} + \protected\edef\M@bb@mathcodes{% + \Umathcode`A=0+\M@bb@num"1D538\relax + \Umathcode`B=0+\M@bb@num"1D539\relax + \Umathcode`C=0+\M@bb@num"2102\relax + \Umathcode`D=0+\M@bb@num"1D53B\relax + \Umathcode`E=0+\M@bb@num"1D53C\relax + \Umathcode`F=0+\M@bb@num"1D53D\relax + \Umathcode`G=0+\M@bb@num"1D53E\relax + \Umathcode`H=0+\M@bb@num"210D\relax + \Umathcode`I=0+\M@bb@num"1D540\relax + \Umathcode`J=0+\M@bb@num"1D541\relax + \Umathcode`K=0+\M@bb@num"1D542\relax + \Umathcode`L=0+\M@bb@num"1D543\relax + \Umathcode`M=0+\M@bb@num"1D544\relax + \Umathcode`N=0+\M@bb@num"2115\relax + \Umathcode`O=0+\M@bb@num"1D546\relax + \Umathcode`P=0+\M@bb@num"2119\relax + \Umathcode`Q=0+\M@bb@num"211A\relax + \Umathcode`R=0+\M@bb@num"211D\relax + \Umathcode`S=0+\M@bb@num"1D54A\relax + \Umathcode`T=0+\M@bb@num"1D54B\relax + \Umathcode`U=0+\M@bb@num"1D54C\relax + \Umathcode`V=0+\M@bb@num"1D54D\relax + \Umathcode`W=0+\M@bb@num"1D54E\relax + \Umathcode`X=0+\M@bb@num"1D54F\relax + \Umathcode`Y=0+\M@bb@num"1D550\relax + \Umathcode`Z=0+\M@bb@num"2124\relax + \Umathcode`a=0+\M@bb@num"1D552\relax + \Umathcode`b=0+\M@bb@num"1D553\relax + \Umathcode`c=0+\M@bb@num"1D554\relax + \Umathcode`d=0+\M@bb@num"1D555\relax + \Umathcode`e=0+\M@bb@num"1D556\relax + \Umathcode`f=0+\M@bb@num"1D557\relax + \Umathcode`g=0+\M@bb@num"1D558\relax + \Umathcode`h=0+\M@bb@num"1D559\relax + \Umathcode`i=0+\M@bb@num"1D55A\relax + \Umathcode`j=0+\M@bb@num"1D55B\relax + \Umathcode`k=0+\M@bb@num"1D55C\relax + \Umathcode`l=0+\M@bb@num"1D55D\relax + \Umathcode`m=0+\M@bb@num"1D55E\relax + \Umathcode`n=0+\M@bb@num"1D55F\relax + \Umathcode`o=0+\M@bb@num"1D560\relax + \Umathcode`p=0+\M@bb@num"1D561\relax + \Umathcode`q=0+\M@bb@num"1D562\relax + \Umathcode`r=0+\M@bb@num"1D563\relax + \Umathcode`s=0+\M@bb@num"1D564\relax + \Umathcode`t=0+\M@bb@num"1D565\relax + \Umathcode`u=0+\M@bb@num"1D566\relax + \Umathcode`v=0+\M@bb@num"1D567\relax + \Umathcode`w=0+\M@bb@num"1D568\relax + \Umathcode`x=0+\M@bb@num"1D569\relax + \Umathcode`y=0+\M@bb@num"1D56A\relax + \Umathcode`z=0+\M@bb@num"1D56B\relax + \Umathcode`0=0+\M@bb@num"1D7D8\relax + \Umathcode`1=0+\M@bb@num"1D7D9\relax + \Umathcode`2=0+\M@bb@num"1D7DA\relax + \Umathcode`3=0+\M@bb@num"1D7DB\relax + \Umathcode`4=0+\M@bb@num"1D7DC\relax + \Umathcode`5=0+\M@bb@num"1D7DD\relax + \Umathcode`6=0+\M@bb@num"1D7DE\relax + \Umathcode`7=0+\M@bb@num"1D7DF\relax + \Umathcode`8=0+\M@bb@num"1D7E0\relax + \Umathcode`9=0+\M@bb@num"1D7E1\relax}} \def\M@cal@set{% - \edef\M@cal@font{M\M@calshape\@tempa} - \DeclareMathSymbol{\M@cal@A}{\mathord}{\M@cal@font}{"1D49C} - \DeclareMathSymbol{\M@cal@B}{\mathord}{\M@cal@font}{"212C} - \DeclareMathSymbol{\M@cal@C}{\mathord}{\M@cal@font}{"1D49E} - \DeclareMathSymbol{\M@cal@D}{\mathord}{\M@cal@font}{"1D49F} - \DeclareMathSymbol{\M@cal@E}{\mathord}{\M@cal@font}{"2130} - \DeclareMathSymbol{\M@cal@F}{\mathord}{\M@cal@font}{"2131} - \DeclareMathSymbol{\M@cal@G}{\mathord}{\M@cal@font}{"1D4A2} - \DeclareMathSymbol{\M@cal@H}{\mathord}{\M@cal@font}{"210B} - \DeclareMathSymbol{\M@cal@I}{\mathord}{\M@cal@font}{"2110} - \DeclareMathSymbol{\M@cal@J}{\mathord}{\M@cal@font}{"1D4A5} - \DeclareMathSymbol{\M@cal@K}{\mathord}{\M@cal@font}{"1D4A6} - \DeclareMathSymbol{\M@cal@L}{\mathord}{\M@cal@font}{"2112} - \DeclareMathSymbol{\M@cal@M}{\mathord}{\M@cal@font}{"2133} - \DeclareMathSymbol{\M@cal@N}{\mathord}{\M@cal@font}{"1D4A9} - \DeclareMathSymbol{\M@cal@O}{\mathord}{\M@cal@font}{"1D4AA} - \DeclareMathSymbol{\M@cal@P}{\mathord}{\M@cal@font}{"1D4AB} - \DeclareMathSymbol{\M@cal@Q}{\mathord}{\M@cal@font}{"1D4AC} - \DeclareMathSymbol{\M@cal@R}{\mathord}{\M@cal@font}{"211B} - \DeclareMathSymbol{\M@cal@S}{\mathord}{\M@cal@font}{"1D4AE} - \DeclareMathSymbol{\M@cal@T}{\mathord}{\M@cal@font}{"1D4AF} - \DeclareMathSymbol{\M@cal@U}{\mathord}{\M@cal@font}{"1D4B0} - \DeclareMathSymbol{\M@cal@V}{\mathord}{\M@cal@font}{"1D4B1} - \DeclareMathSymbol{\M@cal@W}{\mathord}{\M@cal@font}{"1D4B2} - \DeclareMathSymbol{\M@cal@X}{\mathord}{\M@cal@font}{"1D4B3} - \DeclareMathSymbol{\M@cal@Y}{\mathord}{\M@cal@font}{"1D4B4} - \DeclareMathSymbol{\M@cal@Z}{\mathord}{\M@cal@font}{"1D4B5} - \DeclareMathSymbol{\M@cal@a}{\mathord}{\M@cal@font}{"1D4B6} - \DeclareMathSymbol{\M@cal@b}{\mathord}{\M@cal@font}{"1D4B7} - \DeclareMathSymbol{\M@cal@c}{\mathord}{\M@cal@font}{"1D4B8} - \DeclareMathSymbol{\M@cal@d}{\mathord}{\M@cal@font}{"1D4B9} - \DeclareMathSymbol{\M@cal@e}{\mathord}{\M@cal@font}{"212F} - \DeclareMathSymbol{\M@cal@f}{\mathord}{\M@cal@font}{"1D4BB} - \DeclareMathSymbol{\M@cal@g}{\mathord}{\M@cal@font}{"210A} - \DeclareMathSymbol{\M@cal@h}{\mathord}{\M@cal@font}{"1D4BD} - \DeclareMathSymbol{\M@cal@i}{\mathord}{\M@cal@font}{"1D4BE} - \DeclareMathSymbol{\M@cal@j}{\mathord}{\M@cal@font}{"1D4BF} - \DeclareMathSymbol{\M@cal@k}{\mathord}{\M@cal@font}{"1D4C0} - \DeclareMathSymbol{\M@cal@l}{\mathord}{\M@cal@font}{"1D4C1} - \DeclareMathSymbol{\M@cal@m}{\mathord}{\M@cal@font}{"1D4C2} - \DeclareMathSymbol{\M@cal@n}{\mathord}{\M@cal@font}{"1D4C3} - \DeclareMathSymbol{\M@cal@o}{\mathord}{\M@cal@font}{"2134} - \DeclareMathSymbol{\M@cal@p}{\mathord}{\M@cal@font}{"1D4C5} - \DeclareMathSymbol{\M@cal@q}{\mathord}{\M@cal@font}{"1D4C6} - \DeclareMathSymbol{\M@cal@r}{\mathord}{\M@cal@font}{"1D4C7} - \DeclareMathSymbol{\M@cal@s}{\mathord}{\M@cal@font}{"1D4C8} - \DeclareMathSymbol{\M@cal@t}{\mathord}{\M@cal@font}{"1D4C9} - \DeclareMathSymbol{\M@cal@u}{\mathord}{\M@cal@font}{"1D4CA} - \DeclareMathSymbol{\M@cal@v}{\mathord}{\M@cal@font}{"1D4CB} - \DeclareMathSymbol{\M@cal@w}{\mathord}{\M@cal@font}{"1D4CC} - \DeclareMathSymbol{\M@cal@x}{\mathord}{\M@cal@font}{"1D4CD} - \DeclareMathSymbol{\M@cal@y}{\mathord}{\M@cal@font}{"1D4CE} - \DeclareMathSymbol{\M@cal@z}{\mathord}{\M@cal@font}{"1D4CF}} + \protected\def\mathcal##1{\relax + \ifmmode\else + \M@HModeError\mathcal + $% + \fi + \begingroup + \M@cal@mathcodes + ##1% + \endgroup} + \edef\M@cal@num{\number\csname symM\M@calshape\@tempa\endcsname} + \protected\edef\M@cal@mathcodes{% + \Umathcode`A=0+\M@cal@num"1D49C\relax + \Umathcode`B=0+\M@cal@num"212C\relax + \Umathcode`C=0+\M@cal@num"1D49E\relax + \Umathcode`D=0+\M@cal@num"1D49F\relax + \Umathcode`E=0+\M@cal@num"2130\relax + \Umathcode`F=0+\M@cal@num"2131\relax + \Umathcode`G=0+\M@cal@num"1D4A2\relax + \Umathcode`H=0+\M@cal@num"210B\relax + \Umathcode`I=0+\M@cal@num"2110\relax + \Umathcode`J=0+\M@cal@num"1D4A5\relax + \Umathcode`K=0+\M@cal@num"1D4A6\relax + \Umathcode`L=0+\M@cal@num"2112\relax + \Umathcode`M=0+\M@cal@num"2133\relax + \Umathcode`N=0+\M@cal@num"1D4A9\relax + \Umathcode`O=0+\M@cal@num"1D4AA\relax + \Umathcode`P=0+\M@cal@num"1D4AB\relax + \Umathcode`Q=0+\M@cal@num"1D4AC\relax + \Umathcode`R=0+\M@cal@num"211B\relax + \Umathcode`S=0+\M@cal@num"1D4AE\relax + \Umathcode`T=0+\M@cal@num"1D4AF\relax + \Umathcode`U=0+\M@cal@num"1D4B0\relax + \Umathcode`V=0+\M@cal@num"1D4B1\relax + \Umathcode`W=0+\M@cal@num"1D4B2\relax + \Umathcode`X=0+\M@cal@num"1D4B3\relax + \Umathcode`Y=0+\M@cal@num"1D4B4\relax + \Umathcode`Z=0+\M@cal@num"1D4B5\relax + \Umathcode`a=0+\M@cal@num"1D4B6\relax + \Umathcode`b=0+\M@cal@num"1D4B7\relax + \Umathcode`c=0+\M@cal@num"1D4B8\relax + \Umathcode`d=0+\M@cal@num"1D4B9\relax + \Umathcode`e=0+\M@cal@num"212F\relax + \Umathcode`f=0+\M@cal@num"1D4BB\relax + \Umathcode`g=0+\M@cal@num"210A\relax + \Umathcode`h=0+\M@cal@num"1D4BD\relax + \Umathcode`i=0+\M@cal@num"1D4BE\relax + \Umathcode`j=0+\M@cal@num"1D4BF\relax + \Umathcode`k=0+\M@cal@num"1D4C0\relax + \Umathcode`l=0+\M@cal@num"1D4C1\relax + \Umathcode`m=0+\M@cal@num"1D4C2\relax + \Umathcode`n=0+\M@cal@num"1D4C3\relax + \Umathcode`o=0+\M@cal@num"2134\relax + \Umathcode`p=0+\M@cal@num"1D4C5\relax + \Umathcode`q=0+\M@cal@num"1D4C6\relax + \Umathcode`r=0+\M@cal@num"1D4C7\relax + \Umathcode`s=0+\M@cal@num"1D4C8\relax + \Umathcode`t=0+\M@cal@num"1D4C9\relax + \Umathcode`u=0+\M@cal@num"1D4CA\relax + \Umathcode`v=0+\M@cal@num"1D4CB\relax + \Umathcode`w=0+\M@cal@num"1D4CC\relax + \Umathcode`x=0+\M@cal@num"1D4CD\relax + \Umathcode`y=0+\M@cal@num"1D4CE\relax + \Umathcode`z=0+\M@cal@num"1D4CF\relax}} \def\M@frak@set{% - \edef\M@frak@font{M\M@frakshape\@tempa} - \DeclareMathSymbol{\M@frak@A}{\mathord}{\M@frak@font}{"1D504} - \DeclareMathSymbol{\M@frak@B}{\mathord}{\M@frak@font}{"1D505} - \DeclareMathSymbol{\M@frak@C}{\mathord}{\M@frak@font}{"212D} - \DeclareMathSymbol{\M@frak@D}{\mathord}{\M@frak@font}{"1D507} - \DeclareMathSymbol{\M@frak@E}{\mathord}{\M@frak@font}{"1D508} - \DeclareMathSymbol{\M@frak@F}{\mathord}{\M@frak@font}{"1D509} - \DeclareMathSymbol{\M@frak@G}{\mathord}{\M@frak@font}{"1D50A} - \DeclareMathSymbol{\M@frak@H}{\mathord}{\M@frak@font}{"210C} - \DeclareMathSymbol{\M@frak@I}{\mathord}{\M@frak@font}{"2111} - \DeclareMathSymbol{\M@frak@J}{\mathord}{\M@frak@font}{"1D50D} - \DeclareMathSymbol{\M@frak@K}{\mathord}{\M@frak@font}{"1D50E} - \DeclareMathSymbol{\M@frak@L}{\mathord}{\M@frak@font}{"1D50F} - \DeclareMathSymbol{\M@frak@M}{\mathord}{\M@frak@font}{"1D510} - \DeclareMathSymbol{\M@frak@N}{\mathord}{\M@frak@font}{"1D511} - \DeclareMathSymbol{\M@frak@O}{\mathord}{\M@frak@font}{"1D512} - \DeclareMathSymbol{\M@frak@P}{\mathord}{\M@frak@font}{"1D513} - \DeclareMathSymbol{\M@frak@Q}{\mathord}{\M@frak@font}{"1D514} - \DeclareMathSymbol{\M@frak@R}{\mathord}{\M@frak@font}{"211C} - \DeclareMathSymbol{\M@frak@S}{\mathord}{\M@frak@font}{"1D516} - \DeclareMathSymbol{\M@frak@T}{\mathord}{\M@frak@font}{"1D517} - \DeclareMathSymbol{\M@frak@U}{\mathord}{\M@frak@font}{"1D518} - \DeclareMathSymbol{\M@frak@V}{\mathord}{\M@frak@font}{"1D519} - \DeclareMathSymbol{\M@frak@W}{\mathord}{\M@frak@font}{"1D51A} - \DeclareMathSymbol{\M@frak@X}{\mathord}{\M@frak@font}{"1D51B} - \DeclareMathSymbol{\M@frak@Y}{\mathord}{\M@frak@font}{"1D51C} - \DeclareMathSymbol{\M@frak@Z}{\mathord}{\M@frak@font}{"2128} - \DeclareMathSymbol{\M@frak@a}{\mathord}{\M@frak@font}{"1D51E} - \DeclareMathSymbol{\M@frak@b}{\mathord}{\M@frak@font}{"1D51F} - \DeclareMathSymbol{\M@frak@c}{\mathord}{\M@frak@font}{"1D520} - \DeclareMathSymbol{\M@frak@d}{\mathord}{\M@frak@font}{"1D521} - \DeclareMathSymbol{\M@frak@e}{\mathord}{\M@frak@font}{"1D522} - \DeclareMathSymbol{\M@frak@f}{\mathord}{\M@frak@font}{"1D523} - \DeclareMathSymbol{\M@frak@g}{\mathord}{\M@frak@font}{"1D524} - \DeclareMathSymbol{\M@frak@h}{\mathord}{\M@frak@font}{"1D525} - \DeclareMathSymbol{\M@frak@i}{\mathord}{\M@frak@font}{"1D526} - \DeclareMathSymbol{\M@frak@j}{\mathord}{\M@frak@font}{"1D527} - \DeclareMathSymbol{\M@frak@k}{\mathord}{\M@frak@font}{"1D528} - \DeclareMathSymbol{\M@frak@l}{\mathord}{\M@frak@font}{"1D529} - \DeclareMathSymbol{\M@frak@m}{\mathord}{\M@frak@font}{"1D52A} - \DeclareMathSymbol{\M@frak@n}{\mathord}{\M@frak@font}{"1D52B} - \DeclareMathSymbol{\M@frak@o}{\mathord}{\M@frak@font}{"1D52C} - \DeclareMathSymbol{\M@frak@p}{\mathord}{\M@frak@font}{"1D52D} - \DeclareMathSymbol{\M@frak@q}{\mathord}{\M@frak@font}{"1D52E} - \DeclareMathSymbol{\M@frak@r}{\mathord}{\M@frak@font}{"1D52F} - \DeclareMathSymbol{\M@frak@s}{\mathord}{\M@frak@font}{"1D530} - \DeclareMathSymbol{\M@frak@t}{\mathord}{\M@frak@font}{"1D531} - \DeclareMathSymbol{\M@frak@u}{\mathord}{\M@frak@font}{"1D532} - \DeclareMathSymbol{\M@frak@v}{\mathord}{\M@frak@font}{"1D533} - \DeclareMathSymbol{\M@frak@w}{\mathord}{\M@frak@font}{"1D534} - \DeclareMathSymbol{\M@frak@x}{\mathord}{\M@frak@font}{"1D535} - \DeclareMathSymbol{\M@frak@y}{\mathord}{\M@frak@font}{"1D536} - \DeclareMathSymbol{\M@frak@z}{\mathord}{\M@frak@font}{"1D537}} + \protected\def\mathfrak##1{\relax + \ifmmode\else + \M@HModeError\mathfrak + $% + \fi + \begingroup + \M@frak@mathcodes + ##1% + \endgroup} + \edef\M@frak@num{\number\csname symM\M@frakshape\@tempa\endcsname} + \protected\edef\M@frak@mathcodes{% + \Umathcode`A=0+\M@frak@num"1D504\relax + \Umathcode`B=0+\M@frak@num"1D505\relax + \Umathcode`C=0+\M@frak@num"212D\relax + \Umathcode`D=0+\M@frak@num"1D507\relax + \Umathcode`E=0+\M@frak@num"1D508\relax + \Umathcode`F=0+\M@frak@num"1D509\relax + \Umathcode`G=0+\M@frak@num"1D50A\relax + \Umathcode`H=0+\M@frak@num"210C\relax + \Umathcode`I=0+\M@frak@num"2111\relax + \Umathcode`J=0+\M@frak@num"1D50D\relax + \Umathcode`K=0+\M@frak@num"1D50E\relax + \Umathcode`L=0+\M@frak@num"1D50F\relax + \Umathcode`M=0+\M@frak@num"1D510\relax + \Umathcode`N=0+\M@frak@num"1D511\relax + \Umathcode`O=0+\M@frak@num"1D512\relax + \Umathcode`P=0+\M@frak@num"1D513\relax + \Umathcode`Q=0+\M@frak@num"1D514\relax + \Umathcode`R=0+\M@frak@num"211C\relax + \Umathcode`S=0+\M@frak@num"1D516\relax + \Umathcode`T=0+\M@frak@num"1D517\relax + \Umathcode`U=0+\M@frak@num"1D518\relax + \Umathcode`V=0+\M@frak@num"1D519\relax + \Umathcode`W=0+\M@frak@num"1D51A\relax + \Umathcode`X=0+\M@frak@num"1D51B\relax + \Umathcode`Y=0+\M@frak@num"1D51C\relax + \Umathcode`Z=0+\M@frak@num"2128\relax + \Umathcode`a=0+\M@frak@num"1D51E\relax + \Umathcode`b=0+\M@frak@num"1D51F\relax + \Umathcode`c=0+\M@frak@num"1D520\relax + \Umathcode`d=0+\M@frak@num"1D521\relax + \Umathcode`e=0+\M@frak@num"1D522\relax + \Umathcode`f=0+\M@frak@num"1D523\relax + \Umathcode`g=0+\M@frak@num"1D524\relax + \Umathcode`h=0+\M@frak@num"1D525\relax + \Umathcode`i=0+\M@frak@num"1D526\relax + \Umathcode`j=0+\M@frak@num"1D527\relax + \Umathcode`k=0+\M@frak@num"1D528\relax + \Umathcode`l=0+\M@frak@num"1D529\relax + \Umathcode`m=0+\M@frak@num"1D52A\relax + \Umathcode`n=0+\M@frak@num"1D52B\relax + \Umathcode`o=0+\M@frak@num"1D52C\relax + \Umathcode`p=0+\M@frak@num"1D52D\relax + \Umathcode`q=0+\M@frak@num"1D52E\relax + \Umathcode`r=0+\M@frak@num"1D52F\relax + \Umathcode`s=0+\M@frak@num"1D530\relax + \Umathcode`t=0+\M@frak@num"1D531\relax + \Umathcode`u=0+\M@frak@num"1D532\relax + \Umathcode`v=0+\M@frak@num"1D533\relax + \Umathcode`w=0+\M@frak@num"1D534\relax + \Umathcode`x=0+\M@frak@num"1D535\relax + \Umathcode`y=0+\M@frak@num"1D536\relax + \Umathcode`z=0+\M@frak@num"1D537\relax}} \def\M@bcal@set{% - \edef\M@bcal@font{M\M@bcalshape\@tempa} - \DeclareMathSymbol{\M@bcal@A}{\mathord}{\M@bcal@font}{"1D4D0} - \DeclareMathSymbol{\M@bcal@B}{\mathord}{\M@bcal@font}{"1D4D1} - \DeclareMathSymbol{\M@bcal@C}{\mathord}{\M@bcal@font}{"1D4D2} - \DeclareMathSymbol{\M@bcal@D}{\mathord}{\M@bcal@font}{"1D4D3} - \DeclareMathSymbol{\M@bcal@E}{\mathord}{\M@bcal@font}{"1D4D4} - \DeclareMathSymbol{\M@bcal@F}{\mathord}{\M@bcal@font}{"1D4D5} - \DeclareMathSymbol{\M@bcal@G}{\mathord}{\M@bcal@font}{"1D4D6} - \DeclareMathSymbol{\M@bcal@H}{\mathord}{\M@bcal@font}{"1D4D7} - \DeclareMathSymbol{\M@bcal@I}{\mathord}{\M@bcal@font}{"1D4D8} - \DeclareMathSymbol{\M@bcal@J}{\mathord}{\M@bcal@font}{"1D4D9} - \DeclareMathSymbol{\M@bcal@K}{\mathord}{\M@bcal@font}{"1D4DA} - \DeclareMathSymbol{\M@bcal@L}{\mathord}{\M@bcal@font}{"1D4DB} - \DeclareMathSymbol{\M@bcal@M}{\mathord}{\M@bcal@font}{"1D4DC} - \DeclareMathSymbol{\M@bcal@N}{\mathord}{\M@bcal@font}{"1D4DD} - \DeclareMathSymbol{\M@bcal@O}{\mathord}{\M@bcal@font}{"1D4DE} - \DeclareMathSymbol{\M@bcal@P}{\mathord}{\M@bcal@font}{"1D4DF} - \DeclareMathSymbol{\M@bcal@Q}{\mathord}{\M@bcal@font}{"1D4E0} - \DeclareMathSymbol{\M@bcal@R}{\mathord}{\M@bcal@font}{"1D4E1} - \DeclareMathSymbol{\M@bcal@S}{\mathord}{\M@bcal@font}{"1D4E2} - \DeclareMathSymbol{\M@bcal@T}{\mathord}{\M@bcal@font}{"1D4E3} - \DeclareMathSymbol{\M@bcal@U}{\mathord}{\M@bcal@font}{"1D4E4} - \DeclareMathSymbol{\M@bcal@V}{\mathord}{\M@bcal@font}{"1D4E5} - \DeclareMathSymbol{\M@bcal@W}{\mathord}{\M@bcal@font}{"1D4E6} - \DeclareMathSymbol{\M@bcal@X}{\mathord}{\M@bcal@font}{"1D4E7} - \DeclareMathSymbol{\M@bcal@Y}{\mathord}{\M@bcal@font}{"1D4E8} - \DeclareMathSymbol{\M@bcal@Z}{\mathord}{\M@bcal@font}{"1D4E9} - \DeclareMathSymbol{\M@bcal@a}{\mathord}{\M@bcal@font}{"1D4EA} - \DeclareMathSymbol{\M@bcal@b}{\mathord}{\M@bcal@font}{"1D4EB} - \DeclareMathSymbol{\M@bcal@c}{\mathord}{\M@bcal@font}{"1D4EC} - \DeclareMathSymbol{\M@bcal@d}{\mathord}{\M@bcal@font}{"1D4ED} - \DeclareMathSymbol{\M@bcal@e}{\mathord}{\M@bcal@font}{"1D4EE} - \DeclareMathSymbol{\M@bcal@f}{\mathord}{\M@bcal@font}{"1D4EF} - \DeclareMathSymbol{\M@bcal@g}{\mathord}{\M@bcal@font}{"1D4F0} - \DeclareMathSymbol{\M@bcal@h}{\mathord}{\M@bcal@font}{"1D4F1} - \DeclareMathSymbol{\M@bcal@i}{\mathord}{\M@bcal@font}{"1D4F2} - \DeclareMathSymbol{\M@bcal@j}{\mathord}{\M@bcal@font}{"1D4F3} - \DeclareMathSymbol{\M@bcal@k}{\mathord}{\M@bcal@font}{"1D4F4} - \DeclareMathSymbol{\M@bcal@l}{\mathord}{\M@bcal@font}{"1D4F5} - \DeclareMathSymbol{\M@bcal@m}{\mathord}{\M@bcal@font}{"1D4F6} - \DeclareMathSymbol{\M@bcal@n}{\mathord}{\M@bcal@font}{"1D4F7} - \DeclareMathSymbol{\M@bcal@o}{\mathord}{\M@bcal@font}{"1D4F8} - \DeclareMathSymbol{\M@bcal@p}{\mathord}{\M@bcal@font}{"1D4F9} - \DeclareMathSymbol{\M@bcal@q}{\mathord}{\M@bcal@font}{"1D4FA} - \DeclareMathSymbol{\M@bcal@r}{\mathord}{\M@bcal@font}{"1D4FB} - \DeclareMathSymbol{\M@bcal@s}{\mathord}{\M@bcal@font}{"1D4FC} - \DeclareMathSymbol{\M@bcal@t}{\mathord}{\M@bcal@font}{"1D4FD} - \DeclareMathSymbol{\M@bcal@u}{\mathord}{\M@bcal@font}{"1D4FE} - \DeclareMathSymbol{\M@bcal@v}{\mathord}{\M@bcal@font}{"1D4FF} - \DeclareMathSymbol{\M@bcal@w}{\mathord}{\M@bcal@font}{"1D500} - \DeclareMathSymbol{\M@bcal@x}{\mathord}{\M@bcal@font}{"1D501} - \DeclareMathSymbol{\M@bcal@y}{\mathord}{\M@bcal@font}{"1D502} - \DeclareMathSymbol{\M@bcal@z}{\mathord}{\M@bcal@font}{"1D503}} + \protected\def\mathbcal##1{\relax + \ifmmode\else + \M@HModeError\mathbcal + $% + \fi + \begingroup + \M@bcal@mathcodes + ##1% + \endgroup} + \edef\M@bcal@num{\number\csname symM\M@bcalshape\@tempa\endcsname} + \protected\edef\M@bcal@mathcodes{% + \Umathcode`A=0+\M@bcal@num"1D4D0\relax + \Umathcode`B=0+\M@bcal@num"1D4D1\relax + \Umathcode`C=0+\M@bcal@num"1D4D2\relax + \Umathcode`D=0+\M@bcal@num"1D4D3\relax + \Umathcode`E=0+\M@bcal@num"1D4D4\relax + \Umathcode`F=0+\M@bcal@num"1D4D5\relax + \Umathcode`G=0+\M@bcal@num"1D4D6\relax + \Umathcode`H=0+\M@bcal@num"1D4D7\relax + \Umathcode`I=0+\M@bcal@num"1D4D8\relax + \Umathcode`J=0+\M@bcal@num"1D4D9\relax + \Umathcode`K=0+\M@bcal@num"1D4DA\relax + \Umathcode`L=0+\M@bcal@num"1D4DB\relax + \Umathcode`M=0+\M@bcal@num"1D4DC\relax + \Umathcode`N=0+\M@bcal@num"1D4DD\relax + \Umathcode`O=0+\M@bcal@num"1D4DE\relax + \Umathcode`P=0+\M@bcal@num"1D4DF\relax + \Umathcode`Q=0+\M@bcal@num"1D4E0\relax + \Umathcode`R=0+\M@bcal@num"1D4E1\relax + \Umathcode`S=0+\M@bcal@num"1D4E2\relax + \Umathcode`T=0+\M@bcal@num"1D4E3\relax + \Umathcode`U=0+\M@bcal@num"1D4E4\relax + \Umathcode`V=0+\M@bcal@num"1D4E5\relax + \Umathcode`W=0+\M@bcal@num"1D4E6\relax + \Umathcode`X=0+\M@bcal@num"1D4E7\relax + \Umathcode`Y=0+\M@bcal@num"1D4E8\relax + \Umathcode`Z=0+\M@bcal@num"1D4E9\relax + \Umathcode`a=0+\M@bcal@num"1D4EA\relax + \Umathcode`b=0+\M@bcal@num"1D4EB\relax + \Umathcode`c=0+\M@bcal@num"1D4EC\relax + \Umathcode`d=0+\M@bcal@num"1D4ED\relax + \Umathcode`e=0+\M@bcal@num"1D4EE\relax + \Umathcode`f=0+\M@bcal@num"1D4EF\relax + \Umathcode`g=0+\M@bcal@num"1D4F0\relax + \Umathcode`h=0+\M@bcal@num"1D4F1\relax + \Umathcode`i=0+\M@bcal@num"1D4F2\relax + \Umathcode`j=0+\M@bcal@num"1D4F3\relax + \Umathcode`k=0+\M@bcal@num"1D4F4\relax + \Umathcode`l=0+\M@bcal@num"1D4F5\relax + \Umathcode`m=0+\M@bcal@num"1D4F6\relax + \Umathcode`n=0+\M@bcal@num"1D4F7\relax + \Umathcode`o=0+\M@bcal@num"1D4F8\relax + \Umathcode`p=0+\M@bcal@num"1D4F9\relax + \Umathcode`q=0+\M@bcal@num"1D4FA\relax + \Umathcode`r=0+\M@bcal@num"1D4FB\relax + \Umathcode`s=0+\M@bcal@num"1D4FC\relax + \Umathcode`t=0+\M@bcal@num"1D4FD\relax + \Umathcode`u=0+\M@bcal@num"1D4FE\relax + \Umathcode`v=0+\M@bcal@num"1D4FF\relax + \Umathcode`w=0+\M@bcal@num"1D500\relax + \Umathcode`x=0+\M@bcal@num"1D501\relax + \Umathcode`y=0+\M@bcal@num"1D502\relax + \Umathcode`z=0+\M@bcal@num"1D503\relax}} \def\M@bfrak@set{% - \edef\M@bfrak@font{M\M@bfrakshape\@tempa} - \DeclareMathSymbol{\M@bfrak@A}{\mathord}{\M@bfrak@font}{"1D56C} - \DeclareMathSymbol{\M@bfrak@B}{\mathord}{\M@bfrak@font}{"1D56D} - \DeclareMathSymbol{\M@bfrak@C}{\mathord}{\M@bfrak@font}{"1D56E} - \DeclareMathSymbol{\M@bfrak@D}{\mathord}{\M@bfrak@font}{"1D56F} - \DeclareMathSymbol{\M@bfrak@E}{\mathord}{\M@bfrak@font}{"1D570} - \DeclareMathSymbol{\M@bfrak@F}{\mathord}{\M@bfrak@font}{"1D571} - \DeclareMathSymbol{\M@bfrak@G}{\mathord}{\M@bfrak@font}{"1D572} - \DeclareMathSymbol{\M@bfrak@H}{\mathord}{\M@bfrak@font}{"1D573} - \DeclareMathSymbol{\M@bfrak@I}{\mathord}{\M@bfrak@font}{"1D574} - \DeclareMathSymbol{\M@bfrak@J}{\mathord}{\M@bfrak@font}{"1D575} - \DeclareMathSymbol{\M@bfrak@K}{\mathord}{\M@bfrak@font}{"1D576} - \DeclareMathSymbol{\M@bfrak@L}{\mathord}{\M@bfrak@font}{"1D577} - \DeclareMathSymbol{\M@bfrak@M}{\mathord}{\M@bfrak@font}{"1D578} - \DeclareMathSymbol{\M@bfrak@N}{\mathord}{\M@bfrak@font}{"1D579} - \DeclareMathSymbol{\M@bfrak@O}{\mathord}{\M@bfrak@font}{"1D57A} - \DeclareMathSymbol{\M@bfrak@P}{\mathord}{\M@bfrak@font}{"1D57B} - \DeclareMathSymbol{\M@bfrak@Q}{\mathord}{\M@bfrak@font}{"1D57C} - \DeclareMathSymbol{\M@bfrak@R}{\mathord}{\M@bfrak@font}{"1D57D} - \DeclareMathSymbol{\M@bfrak@S}{\mathord}{\M@bfrak@font}{"1D57E} - \DeclareMathSymbol{\M@bfrak@T}{\mathord}{\M@bfrak@font}{"1D57F} - \DeclareMathSymbol{\M@bfrak@U}{\mathord}{\M@bfrak@font}{"1D580} - \DeclareMathSymbol{\M@bfrak@V}{\mathord}{\M@bfrak@font}{"1D581} - \DeclareMathSymbol{\M@bfrak@W}{\mathord}{\M@bfrak@font}{"1D582} - \DeclareMathSymbol{\M@bfrak@X}{\mathord}{\M@bfrak@font}{"1D583} - \DeclareMathSymbol{\M@bfrak@Y}{\mathord}{\M@bfrak@font}{"1D584} - \DeclareMathSymbol{\M@bfrak@Z}{\mathord}{\M@bfrak@font}{"1D585} - \DeclareMathSymbol{\M@bfrak@a}{\mathord}{\M@bfrak@font}{"1D586} - \DeclareMathSymbol{\M@bfrak@b}{\mathord}{\M@bfrak@font}{"1D587} - \DeclareMathSymbol{\M@bfrak@c}{\mathord}{\M@bfrak@font}{"1D588} - \DeclareMathSymbol{\M@bfrak@d}{\mathord}{\M@bfrak@font}{"1D589} - \DeclareMathSymbol{\M@bfrak@e}{\mathord}{\M@bfrak@font}{"1D58A} - \DeclareMathSymbol{\M@bfrak@f}{\mathord}{\M@bfrak@font}{"1D58B} - \DeclareMathSymbol{\M@bfrak@g}{\mathord}{\M@bfrak@font}{"1D58C} - \DeclareMathSymbol{\M@bfrak@h}{\mathord}{\M@bfrak@font}{"1D58D} - \DeclareMathSymbol{\M@bfrak@i}{\mathord}{\M@bfrak@font}{"1D58E} - \DeclareMathSymbol{\M@bfrak@j}{\mathord}{\M@bfrak@font}{"1D58F} - \DeclareMathSymbol{\M@bfrak@k}{\mathord}{\M@bfrak@font}{"1D590} - \DeclareMathSymbol{\M@bfrak@l}{\mathord}{\M@bfrak@font}{"1D591} - \DeclareMathSymbol{\M@bfrak@m}{\mathord}{\M@bfrak@font}{"1D592} - \DeclareMathSymbol{\M@bfrak@n}{\mathord}{\M@bfrak@font}{"1D593} - \DeclareMathSymbol{\M@bfrak@o}{\mathord}{\M@bfrak@font}{"1D594} - \DeclareMathSymbol{\M@bfrak@p}{\mathord}{\M@bfrak@font}{"1D595} - \DeclareMathSymbol{\M@bfrak@q}{\mathord}{\M@bfrak@font}{"1D596} - \DeclareMathSymbol{\M@bfrak@r}{\mathord}{\M@bfrak@font}{"1D597} - \DeclareMathSymbol{\M@bfrak@s}{\mathord}{\M@bfrak@font}{"1D598} - \DeclareMathSymbol{\M@bfrak@t}{\mathord}{\M@bfrak@font}{"1D599} - \DeclareMathSymbol{\M@bfrak@u}{\mathord}{\M@bfrak@font}{"1D59A} - \DeclareMathSymbol{\M@bfrak@v}{\mathord}{\M@bfrak@font}{"1D59B} - \DeclareMathSymbol{\M@bfrak@w}{\mathord}{\M@bfrak@font}{"1D59C} - \DeclareMathSymbol{\M@bfrak@x}{\mathord}{\M@bfrak@font}{"1D59D} - \DeclareMathSymbol{\M@bfrak@y}{\mathord}{\M@bfrak@font}{"1D59E} - \DeclareMathSymbol{\M@bfrak@z}{\mathord}{\M@bfrak@font}{"1D59F}} + \protected\def\mathbfrak##1{\relax + \ifmmode\else + \M@HModeError\mathbfrak + $% + \fi + \begingroup + \M@bfrak@mathcodes + ##1% + \endgroup} + \edef\M@bfrak@num{\number\csname symM\M@bfrakshape\@tempa\endcsname} + \protected\edef\M@bfrak@mathcodes{% + \Umathcode`A=0+\M@bfrak@num"1D56C\relax + \Umathcode`B=0+\M@bfrak@num"1D56D\relax + \Umathcode`C=0+\M@bfrak@num"1D56E\relax + \Umathcode`D=0+\M@bfrak@num"1D56F\relax + \Umathcode`E=0+\M@bfrak@num"1D570\relax + \Umathcode`F=0+\M@bfrak@num"1D571\relax + \Umathcode`G=0+\M@bfrak@num"1D572\relax + \Umathcode`H=0+\M@bfrak@num"1D573\relax + \Umathcode`I=0+\M@bfrak@num"1D574\relax + \Umathcode`J=0+\M@bfrak@num"1D575\relax + \Umathcode`K=0+\M@bfrak@num"1D576\relax + \Umathcode`L=0+\M@bfrak@num"1D577\relax + \Umathcode`M=0+\M@bfrak@num"1D578\relax + \Umathcode`N=0+\M@bfrak@num"1D579\relax + \Umathcode`O=0+\M@bfrak@num"1D57A\relax + \Umathcode`P=0+\M@bfrak@num"1D57B\relax + \Umathcode`Q=0+\M@bfrak@num"1D57C\relax + \Umathcode`R=0+\M@bfrak@num"1D57D\relax + \Umathcode`S=0+\M@bfrak@num"1D57E\relax + \Umathcode`T=0+\M@bfrak@num"1D57F\relax + \Umathcode`U=0+\M@bfrak@num"1D580\relax + \Umathcode`V=0+\M@bfrak@num"1D581\relax + \Umathcode`W=0+\M@bfrak@num"1D582\relax + \Umathcode`X=0+\M@bfrak@num"1D583\relax + \Umathcode`Y=0+\M@bfrak@num"1D584\relax + \Umathcode`Z=0+\M@bfrak@num"1D585\relax + \Umathcode`a=0+\M@bfrak@num"1D586\relax + \Umathcode`b=0+\M@bfrak@num"1D587\relax + \Umathcode`c=0+\M@bfrak@num"1D588\relax + \Umathcode`d=0+\M@bfrak@num"1D589\relax + \Umathcode`e=0+\M@bfrak@num"1D58A\relax + \Umathcode`f=0+\M@bfrak@num"1D58B\relax + \Umathcode`g=0+\M@bfrak@num"1D58C\relax + \Umathcode`h=0+\M@bfrak@num"1D58D\relax + \Umathcode`i=0+\M@bfrak@num"1D58E\relax + \Umathcode`j=0+\M@bfrak@num"1D58F\relax + \Umathcode`k=0+\M@bfrak@num"1D590\relax + \Umathcode`l=0+\M@bfrak@num"1D591\relax + \Umathcode`m=0+\M@bfrak@num"1D592\relax + \Umathcode`n=0+\M@bfrak@num"1D593\relax + \Umathcode`o=0+\M@bfrak@num"1D594\relax + \Umathcode`p=0+\M@bfrak@num"1D595\relax + \Umathcode`q=0+\M@bfrak@num"1D596\relax + \Umathcode`r=0+\M@bfrak@num"1D597\relax + \Umathcode`s=0+\M@bfrak@num"1D598\relax + \Umathcode`t=0+\M@bfrak@num"1D599\relax + \Umathcode`u=0+\M@bfrak@num"1D59A\relax + \Umathcode`v=0+\M@bfrak@num"1D59B\relax + \Umathcode`w=0+\M@bfrak@num"1D59C\relax + \Umathcode`x=0+\M@bfrak@num"1D59D\relax + \Umathcode`y=0+\M@bfrak@num"1D59E\relax + \Umathcode`z=0+\M@bfrak@num"1D59F\relax}} \endinput %% %% End of file `mathfont.sty'. |