summaryrefslogtreecommitdiff
path: root/fonts/erewhon-math/fourier-otf.sty
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-12-02 03:02:11 +0000
committerNorbert Preining <norbert@preining.info>2019-12-02 03:02:11 +0000
commit02e4625a78a5029e8b5dc2a4ec70193b232f497e (patch)
tree7b98b65fce4fe5ba1d20753651cf4679cadc5315 /fonts/erewhon-math/fourier-otf.sty
parent1dcb87019d8965fa1ba1ea339b7330225b2e545b (diff)
CTAN sync 201912020302
Diffstat (limited to 'fonts/erewhon-math/fourier-otf.sty')
-rw-r--r--fonts/erewhon-math/fourier-otf.sty160
1 files changed, 160 insertions, 0 deletions
diff --git a/fonts/erewhon-math/fourier-otf.sty b/fonts/erewhon-math/fourier-otf.sty
new file mode 100644
index 0000000000..bcff80dd5b
--- /dev/null
+++ b/fonts/erewhon-math/fourier-otf.sty
@@ -0,0 +1,160 @@
+\NeedsTeXFormat{LaTeX2e}[2018/01/01]
+\def\fileversion{0.37}%
+\def\filedate{2019/11/07}%
+ \ProvidesPackage{fourier-otf}[\filedate\space\fileversion]
+
+% Ensure luatex or xetex engine
+\RequirePackage{iftex}[2019/10/24]
+\RequireTUTeX
+\RequirePackage{unicode-math}
+\RequirePackage{fourier-orns}
+
+\newopentypefeature{Style}{leqslant}{ss04}
+\newopentypefeature{Style}{smaller}{ss05}
+\newopentypefeature{Style}{subsetneq}{ss06}
+\newopentypefeature{Style}{parallelslant}{ss07}
+
+% Options: forward them to \setmathfont except "tight" and "loose"
+\RequirePackage{xkeyval}
+\newtoks\FOTtoks
+\newif\ifFOT@tight
+\DeclareOptionX{tight}{\FOT@tighttrue}
+\DeclareOptionX{loose}{\FOT@tightfalse}
+\DeclareOptionX{math-style}{\Store@KV@Option{math-style}{#1}}
+\DeclareOptionX{bold-style}{\Store@KV@Option{bold-style}{#1}}
+\DeclareOptionX{nabla}{\Store@KV@Option{nabla}{#1}}
+\DeclareOptionX{partial}{\Store@KV@Option{partial}{#1}}
+\DeclareOptionX{CharacterVariant}{\Store@KV@Option{CharacterVariant}{#1}}
+\DeclareOptionX{StylisticSet}{\Store@KV@Option{StylisticSet}{#1}}
+\DeclareOptionX{Style}{\Store@KV@Option{Style}{#1}}
+\newcommand*{\Store@KV@Option}[2]{%
+ \FOTtoks=\expandafter{\the\FOTtoks #1={#2},}}
+\ExecuteOptionsX{tight}
+\ProcessOptionsX
+\expandafter\setmathfont\expandafter[\the\FOTtoks]{Erewhon-Math.otf}
+\ifFOT@tight
+ \thinmuskip=2mu
+ \medmuskip=2.5mu plus 1mu minus 2.5mu
+ \thickmuskip=3.5mu plus 2.5mu
+\fi
+% Text Serif fonts: Erewhon
+\setmainfont{Erewhon}[
+ Extension = .otf,
+ UprightFont = *-Regular,
+ BoldFont = *-Bold,
+ ItalicFont = *-Italic,
+ BoldItalicFont = *-BoldItalic,
+ SlantedFont = *-RegularSlanted,
+ BoldSlantedFont = *-BoldSlanted
+ ]
+% Text Sans Serif fonts: lmss (default)
+% Text Typewriter fonts: lmtt (default)
+
+\AtBeginDocument{%
+ % Fourier specific math
+ \Umathchardef\hbar = 0 0 "0127 \relax
+ \Umathchardef\Bbbbackslash = 0 0 "E020 \relax
+ \Umathchardef\varemptyset = 0 0 "E021 \relax
+ \Umathchardef\mupvarzero = 0 0 "E022 \relax
+ \Umathchardef\mbfvarzero = 0 0 "E023 \relax
+ \Umathchardef\mupvarvarpi = 0 0 "E032 \relax
+ \Umathchardef\mbfvarpartial = 0 0 "E040 \relax
+ \Umathchardef\mbfvarvarrho = 0 0 "E041 \relax
+ \Umathchardef\mbfvarvarpi = 0 0 "E042 \relax
+ \Umathchardef\mbfitvarpartial = 0 0 "E060 \relax
+ \Umathchardef\mbfitvarvarrho = 0 0 "E061 \relax
+ \Umathchardef\mbfitvarvarpi = 0 0 "E062 \relax
+ \Umathchardef\mitvarpartial = 0 0 "E070 \relax
+ \Umathchardef\mitvarvarrho = 0 0 "E071 \relax
+ \Umathchardef\mitvarvarpi = 0 0 "E072 \relax
+ \Umathchardef\parallelslant = 3 0 "E090 \relax
+ \Umathchardef\nparallelslant = 3 0 "E091 \relax
+ \Umathchardef\shortparallelslant = 3 0 "E092 \relax
+ \Umathchardef\nshortparallelslant = 3 0 "E093 \relax
+ \Umathchardef\lesseqslantgtr = 3 0 "E094 \relax
+ \Umathchardef\gtreqslantless = 3 0 "E094 \relax
+ \Umathchardef\lesseqqslantgtr = 3 0 "E095 \relax
+ \Umathchardef\gtreqqslantless = 3 0 "E096 \relax
+ \Umathchardef\nsubseteqq = 3 0 "E0AE \relax
+ \Umathchardef\nsupseteqq = 3 0 "E0AF \relax
+ % \widearc and\overrightarc
+ \newcommand*{\widearc}{\Umathaccent 0 0 "E540 }%
+ \newcommand*{\overrightarc}{\Umathaccent 0 0 "20D5 }%
+ % From FourierOrns
+ \Umathchardef\forbidden = 0 0 "E0B0 \relax
+ \Umathchardef\beware = 0 0 "E0B1 \relax
+ \Umathchardef\boom = 0 0 "E0B2 \relax
+ \Umathchardef\thething = 0 0 "E0B4 \relax
+ \Umathchardef\xswordsup = 0 0 "E0B5 \relax
+ \Umathchardef\xswordsdown = 0 0 "E0B6 \relax
+ % amssymb
+ \@ifpackageloaded{amssymb}%
+ {\PackageWarning{fourier-otf}{%
+ Fourier-of provides all AMS symbols.\MessageBreak
+ Loading amssymb.sty is not advisable.\MessageBreak
+ Reported}%
+ }%
+ {% AMS Symbols not referenced in unicode-math-table.tex
+ % \Umathchardef\sum = <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\varsubsetneq = 3 0 "E0AC \relax
+ \Umathchardef\varsupsetneq = 3 0 "E0AD \relax
+ \Umathchardef\varsubsetneqq = 3 0 "E09C \relax
+ \Umathchardef\varsupsetneqq = 3 0 "E09D \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\npreceq = 3 0 "E098 \relax
+ \Umathchardef\nsucceq = 3 0 "E099 \relax
+ \let\centerdot\cdotp % vysmblksquare ?
+ \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\diamondsuit
+ \let\blacklozenge\vardiamondsuit
+ \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{fourier-otf}{%
+ Fourier-of 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\rightsquigarrow
+ \let\Box\mdlgwhtsquare
+ \let\Diamond\mdlgwhtdiamond
+ }%
+}
+
+\endinput