diff options
author | Norbert Preining <norbert@preining.info> | 2024-03-15 03:06:35 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2024-03-15 03:06:35 +0000 |
commit | 12679ab7d3c2a210f4123163671b532b8b55d5f9 (patch) | |
tree | 0060d13467186ad977f4e73488ee20dd6c0017ab /fonts/lato-math/lato-math.sty | |
parent | 62170822e034fdd3f81de7274835d0d3b0467100 (diff) |
CTAN sync 202403150306
Diffstat (limited to 'fonts/lato-math/lato-math.sty')
-rw-r--r-- | fonts/lato-math/lato-math.sty | 160 |
1 files changed, 160 insertions, 0 deletions
diff --git a/fonts/lato-math/lato-math.sty b/fonts/lato-math/lato-math.sty new file mode 100644 index 0000000000..e87b058e4c --- /dev/null +++ b/fonts/lato-math/lato-math.sty @@ -0,0 +1,160 @@ +\NeedsTeXFormat{LaTeX2e}[2022/06/01] +\def\fileversion{0.36} +\def\filedate{2024-03-14} +\ProvidesPackage{lato-math}[\filedate\space\fileversion] + +%Ensure luatex or xetex engine +\RequirePackage{iftex}[2019/10/24] +\RequireTUTeX +\RequirePackage{unicode-math} + +\newopentypefeature{Style}{leqslant}{+ss04} +\newopentypefeature{Style}{smaller}{+ss05} +\newopentypefeature{Style}{subsetneq}{+ss06} +\newopentypefeature{Style}{parallelslant}{+ss07} +\newopentypefeature{Style}{upint}{+ss08} +\newopentypefeature{Style}{upneg}{+ss09} + +\newtoks\LatoMtoks +\newcommand*{\Latostore@KV@Option}[2]{% + \LatoMtoks=\expandafter{\the\LatoMtoks #1={#2},}} + +% Package options: +\DeclareKeys + { + tight.if = Lato@tight , + loose.code = \Lato@tightfalse , + fulloldstyle.code = \Latostore@KV@Option{Numbers}{OldStyle} , + math-style.code = \Latostore@KV@Option{math-style}{#1} , + bold-style.code = \Latostore@KV@Option{bold-style}{#1} , + nabla.code = \Latostore@KV@Option{nabla}{#1} , + partial.code = \Latostore@KV@Option{partial}{#1} , + CharacterVariant.code = \Latostore@KV@Option{CharacterVariant}{#1} , + StylisticSet.code = \Latostore@KV@Option{StylisticSet}{#1} , + Style.code = \Latostore@KV@Option{Style}{#1} , + Scale.code = \Latostore@KV@Option{Scale}{#1} + } +% +\ProcessKeyOptions +% +% Math fonts: LatoMath.otf +% Following Joseph Wright in https://tex.stackexchange.com/questions/451 +\Latostore@KV@Option{BoldFont}{LatoMath-Bold.otf} +\begingroup + \edef\temp{% + \endgroup + \noexpand\setmathfont{LatoMath.otf}% + [\unexpanded\expandafter{\the\LatoMtoks}]% + } + \temp +% +\ifLato@tight + \thinmuskip=2mu + \medmuskip=2.5mu plus 1mu minus 2.5mu + \thickmuskip=3.5mu plus 2.5mu +\fi + +\AtBeginDocument{% + % LatoMath specific + % \Umathchardef\<cmd> = <math type> <family> <slot> + % <math type> : \mathord=0 \mathrel=3 ; <family>=0 + \Umathchardef\mbfimath = 0 0 "E041 \relax + \Umathchardef\mbfjmath = 0 0 "E042 \relax + \Umathchardef\mbfdotlessi = 0 0 "E043 \relax + \Umathchardef\mbfdotlessj = 0 0 "E044 \relax + \Umathchardef\mithbar = 0 0 "E048 \relax + \Umathchardef\varemptyset = 0 0 "E04F \relax + \Umathchardef\BbbDelta = 0 0 "E050 \relax + \Umathchardef\BbbTheta = 0 0 "E051 \relax + \Umathchardef\BbbLambda = 0 0 "E052 \relax + \Umathchardef\BbbXi = 0 0 "E053 \relax + \Umathchardef\BbbSigma = 0 0 "E054 \relax + \Umathchardef\BbbPhi = 0 0 "E055 \relax + \Umathchardef\BbbPsi = 0 0 "E056 \relax + \Umathchardef\BbbOmega = 0 0 "E057 \relax + \Umathchardef\lesseqslantgtr = 3 0 "E060 \relax + \Umathchardef\gtreqslantless = 3 0 "E061 \relax + \Umathchardef\lesseqqslantgtr = 3 0 "E062 \relax + \Umathchardef\gtreqqslantless = 3 0 "E063 \relax + \Umathchardef\nleqqslant = 3 0 "E066 \relax + \Umathchardef\ngeqqslant = 3 0 "E067 \relax + \Umathchardef\parallelslant = 3 0 "E080 \relax + \Umathchardef\nparallelslant = 3 0 "E081 \relax + \Umathchardef\shortparallelslant = 3 0 "E082 \relax + \Umathchardef\nshortparallelslant = 3 0 "E083 \relax + \Umathchardef\mapstochar = 3 0 "E08D \relax + \Umathchardef\lhook = 3 0 "E08E \relax + \Umathchardef\rhook = 3 0 "E08F \relax + % amssymb + \@ifpackageloaded{amssymb}% + {\PackageWarning{lato-otf}{% + LatoMath provides all AMS symbols.\MessageBreak + Loading amssymb.sty is not advisable.\MessageBreak + Reported}% + }% + {% AMS Symbols not referenced in unicode-math-table.tex + % \Umathchardef\<cmd> = <math type> <family> <slot> + % <math type> : \mathord=0 \mathrel=3 ; <family>=0 + \Umathchardef\circledR = 0 0 "24C7 \relax + \Umathchardef\circledS = 0 0 "24C8 \relax + \Umathchardef\diagup = 0 0 "27CB \relax + \Umathchardef\diagdown = 0 0 "27CD \relax + \Umathchardef\lvertneqq = 3 0 "E002 \relax + \Umathchardef\gvertneqq = 3 0 "E003 \relax + \Umathchardef\varsubsetneq = 3 0 "E006 \relax + \Umathchardef\varsupsetneq = 3 0 "E007 \relax + \Umathchardef\varsubsetneqq = 3 0 "E015 \relax + \Umathchardef\varsupsetneqq = 3 0 "E016 \relax + \Umathchardef\shortmid = 3 0 "E070 \relax + \Umathchardef\shortparallel = 3 0 "E071 \relax + \Umathchardef\nshortmid = 3 0 "E072 \relax + \Umathchardef\nshortparallel = 3 0 "E073 \relax + \Umathchardef\nleqslant = 3 0 "E076 \relax + \Umathchardef\ngeqslant = 3 0 "E077 \relax + \Umathchardef\nleqq = 3 0 "E078 \relax + \Umathchardef\ngeqq = 3 0 "E079 \relax + \Umathchardef\npreceq = 3 0 "E07C \relax + \Umathchardef\nsucceq = 3 0 "E07D \relax + \Umathchardef\nsubseteqq = 3 0 "E07E \relax + \Umathchardef\nsupseteqq = 3 0 "E07F \relax + \let\centerdot\cdotp + \let\restriction\upharpoonright + \let\doteqdot\Doteq + \let\doublecup\Cup + \let\doublecap\Cap + \let\llless\lll + \let\gggtr\ggg + \let\circlearrowleft\acwopencirclearrow + \let\circlearrowright\cwopencirclearrow + \let\lozenge\mdlgwhtlozenge + \let\blacklozenge\mdlgblklozenge + \let\square\mdlgwhtsquare + \let\blacksquare\mdlgblksquare + \let\dashleftarrow\leftdasharrow + \let\dashrightarrow\rightdasharrow + \let\ntriangleleft\nvartriangleleft + \let\ntriangleright\nvartriangleright + \let\varpropto\propto + \let\thicksim\sim + \let\thickapprox\approx + \let\smallsmile\smile + \let\smallfrown\frown + }% + % latexsym + \@ifpackageloaded{latexsym}% + {\PackageWarning{lato-otf}{% + LatoMath provides all LaTeX symbols.\MessageBreak + Loading latexsym.sty is not advisable.\MessageBreak + Reported}% + }% + {\let\lhd\vartriangleleft + \let\rhd\vartriangleright + \let\unlhd\trianglelefteq + \let\unrhd\trianglerighteq + \let\leadsto\rightcurvedarrow + \let\Box\lgwhtsquare + \let\Diamond\mdlgwhtdiamond + }% +} + +\endinput |