diff options
author | Karl Berry <karl@freefriends.org> | 2022-01-15 21:37:19 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2022-01-15 21:37:19 +0000 |
commit | de9ac27df7d36ddbb79cd60c8e9920d950eb338f (patch) | |
tree | c5ff93e2eca1b70d612c68d83d9ee3af10dc4028 /Master/texmf-dist/tex/latex/concmath-otf/concmath-otf.sty | |
parent | 40ef95f4f7d57483bba18047e9c5f47e1dc7c158 (diff) |
concmath-otf (15jan22)
git-svn-id: svn://tug.org/texlive/trunk@61613 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/concmath-otf/concmath-otf.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/concmath-otf/concmath-otf.sty | 179 |
1 files changed, 179 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/concmath-otf/concmath-otf.sty b/Master/texmf-dist/tex/latex/concmath-otf/concmath-otf.sty new file mode 100644 index 00000000000..b17cd5148d7 --- /dev/null +++ b/Master/texmf-dist/tex/latex/concmath-otf/concmath-otf.sty @@ -0,0 +1,179 @@ +\NeedsTeXFormat{LaTeX2e}[2018/01/01] +\def\fileversion{0.20} +\def\filedate{2022-01-13} +\ProvidesPackage{concmath-otf}[\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} + +% Options: forward them to \setmathfont except "tight", "loose" and "no-text". +\RequirePackage{xkeyval} +\newtoks\CCMtoks +\newcommand*{\Store@KV@Option}[2]{% + \CCMtoks=\expandafter{\the\CCMtoks #1={#2},}} + +\newif\ifCCM@tight +\newif\ifCCM@notext + +\DeclareOptionX{no-text}{\CCM@notexttrue} +\DeclareOptionX{tight}{\CCM@tighttrue} +\DeclareOptionX{loose}{\CCM@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}} +\ExecuteOptionsX{tight} +\ProcessOptionsX +% +%\ifCMM@tight + \thinmuskip=2mu + \medmuskip=2.5mu plus 1mu minus 2.5mu + \thickmuskip=3.5mu plus 2.5mu +%\fi + +% Text Serif fonts: +\ifCCM@notext +\else + \setmainfont{cmunorm.otf} + [BoldFont = cmunobx.otf , + ItalicFont = cmunoti.otf , + BoldItalicFont = cmunobi.otf + ] +\fi + +%Math fonts: +% Following Joseph Wright in https://tex.stackexchange.com/questions/451 +\begingroup + \edef\temp{% + \endgroup + \noexpand\setmathfont{Concrete-Math.otf}% + [\unexpanded\expandafter{\the\CCMtoks}]% + } + \temp + +% Text Sans Serif fonts: default (lmss unless specified) +% Text Typewriter fonts: default (lmtt unless specified) + +\AtBeginDocument{% + % Fourier specific math + \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\mbfvec = 0 0 "E044 \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 + \Umathchardef\mbfell = 0 0 "E049 \relax + \Umathchardef\mbftriangleleft = 0 0 "E04E \relax + \Umathchardef\mbftriangleright = 0 0 "E04F \relax + \Umathchardef\mbfitvarpartial = 0 0 "E060 \relax + \Umathchardef\mbfitvarvarrho = 0 0 "E061 \relax + \Umathchardef\mbfitvarvarpi = 0 0 "E062 \relax + \Umathchardef\mbfitwp = 0 0 "E065 \relax + \Umathchardef\mbfimath = 0 0 "E066 \relax + \Umathchardef\mbfjmath = 0 0 "E067 \relax + \Umathchardef\mbfithbar = 0 0 "E068 \relax + \Umathchardef\mbfitell = 0 0 "E069 \relax + \Umathchardef\mitvarpartial = 0 0 "E070 \relax + \Umathchardef\mitvarvarrho = 0 0 "E071 \relax + \Umathchardef\mitvarvarpi = 0 0 "E072 \relax + \Umathchardef\mithbar = 0 0 "E078 \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 "E095 \relax + \Umathchardef\lesseqqslantgtr = 3 0 "E096 \relax + \Umathchardef\gtreqqslantless = 3 0 "E097 \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 }% + % amssymb + \@ifpackageloaded{amssymb}% + {\PackageWarning{concmath-otf}{% + Concmath-otf 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\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 + \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{concmath-otf}{% + Concmath-otf 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 |