summaryrefslogtreecommitdiff
path: root/fonts/neo-euler/neo-euler.sty
diff options
context:
space:
mode:
Diffstat (limited to 'fonts/neo-euler/neo-euler.sty')
-rw-r--r--fonts/neo-euler/neo-euler.sty127
1 files changed, 127 insertions, 0 deletions
diff --git a/fonts/neo-euler/neo-euler.sty b/fonts/neo-euler/neo-euler.sty
new file mode 100644
index 0000000000..a5f04e7c35
--- /dev/null
+++ b/fonts/neo-euler/neo-euler.sty
@@ -0,0 +1,127 @@
+\NeedsTeXFormat{LaTeX2e}[2018/01/01]
+\def\fileversion{0.20}
+\def\filedate{2022-09-26}
+\ProvidesPackage{neo-euler}[\filedate\space\fileversion]
+
+% Ensure luatex or xetex engine
+\RequirePackage{iftex}[2019/10/24]
+\RequireTUTeX
+\RequirePackage[math-style=upright]{unicode-math}
+
+\newopentypefeature{Style}{smaller}{+ss05}
+\newopentypefeature{Style}{subsetneq}{+ss06}
+
+% Options: forward them to \setmathfont.
+\RequirePackage{xkeyval}
+\newtoks\NEUtoks
+\newcommand*{\Store@KV@Option}[2]{%
+ \NEUtoks=\expandafter{\the\NEUtoks #1={#2},}}
+
+\DeclareOptionX{CharacterVariant}{\Store@KV@Option{CharacterVariant}{#1}}
+\DeclareOptionX{StylisticSet}{\Store@KV@Option{StylisticSet}{#1}}
+\DeclareOptionX{Style}{\Store@KV@Option{Style}{#1}}
+\DeclareOptionX{Scale}{\Store@KV@Option{Scale}{#1}}
+\DeclareOptionX{Numbers}{\Store@KV@Option{Numbers}{#1}}
+\ProcessOptionsX
+
+% Following Joseph Wright in https://tex.stackexchange.com/questions/451
+\begingroup
+ \edef\temp{%
+ \endgroup
+ \noexpand\setmathfont{Neo-Euler.otf}%
+ [\unexpanded\expandafter{\the\NEUtoks}]%
+ }
+ \temp
+
+\AtBeginDocument{%
+ % Euler specific math
+ % \Umathchardef\<cmd> = <math type> <family> <slot>
+ % <math type> : \mathord=0 \mathrel=3 ; <family>=0
+ \Umathchardef\muphbar = 0 0 "0127 \relax
+ \Umathchardef\varemptyset = 0 0 "E021 \relax
+ \Umathchardef\mbfwp = 0 0 "E045 \relax
+ \Umathchardef\mbfdotlessi = 0 0 "E046 \relax
+ \Umathchardef\mbfdotlessj = 0 0 "E047 \relax
+ \Umathchardef\mbfhbar = 0 0 "E048 \relax
+ \let\lesseqslantgtr\lesseqgtr
+ \let\gtreqslantless\gtreqless
+ \let\lesseqqslantgtr\lesseqqgtr
+ \let\gtreqqslantless\gtreqqless
+ \let\nleqqslant\nleqq
+ \let\ngeqqslant\ngeqq
+% \widearc and\overrightarc
+ \newcommand*{\widearc}{\Umathaccent 0 0 "E540 }%
+ \newcommand*{\overrightarc}{\Umathaccent 0 0 "20D5 }%
+ % amssymb
+ \@ifpackageloaded{amssymb}%
+ {\PackageWarning{neo-euler}{%
+ Neo-Euler 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 "E0A0 \relax
+ \Umathchardef\diagdown = 0 0 "E0A1 \relax
+ \Umathchardef\shortmid = 3 0 "E0A2 \relax
+ \Umathchardef\shortparallel = 3 0 "E0A3 \relax
+ \Umathchardef\nshortmid = 3 0 "E0A4 \relax
+ \Umathchardef\nshortparallel = 3 0 "E0A5 \relax
+ \Umathchardef\lvertneqq = 3 0 "E0A6 \relax
+ \Umathchardef\gvertneqq = 3 0 "E0A7 \relax
+ \Umathchardef\nleqslant = 3 0 "E0A8 \relax
+ \Umathchardef\ngeqslant = 3 0 "E0A9 \relax
+ \Umathchardef\nleqq = 3 0 "E0AA \relax
+ \Umathchardef\ngeqq = 3 0 "E0AB \relax
+ \Umathchardef\varsubsetneq = 3 0 "E0AC \relax
+ \Umathchardef\varsupsetneq = 3 0 "E0AD \relax
+ \Umathchardef\nsubseteqq = 3 0 "E0AE \relax
+ \Umathchardef\nsupseteqq = 3 0 "E0AF \relax
+ \Umathchardef\varsubsetneqq = 3 0 "E09C \relax
+ \Umathchardef\varsupsetneqq = 3 0 "E09D \relax
+ \Umathchardef\npreceq = 3 0 "E09E \relax
+ \Umathchardef\nsucceq = 3 0 "E09F \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{neo-euler}{%
+ Neo-Euler 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