1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
%% This is part of the OpTeX project, see http://petr.olsak.net/optex
\_famdecl [Fira] \Fira {FiraSans and FiraMono with FiraMath}
{\sans \mono \caps \allsc \nocaps \thin \light \book \medium}
{\rm \bf \it \bi}
{FiraMath}
{[FiraSans-Regular]}
{\_def \_fontnamegen {[Fira\_subV-\_currV]:\_capsV\_fontfeatures}}
\_wlog{\_detokenize{%
Modifiers (subfamilies):^^J
\mono ...... Monospaced variants [Mono]^^J
Modifiers (face weight):^^J
\thin ...... \rm, \it = Thin, \bf, \bi = Regular (Sans)^^J
\light ..... \rm, \it = Light, \bf, \bi = Medium (Sans)^^J
\book ...... \rm, \it = Book, \bf, \bi = SemiBold (Sans)^^J
\medium .... \rm, \it = Medium, \bf, \bi = ExtraBold/Bold (Sans, Mono)^^J
Modifiers (small caps):^^J
\caps ...... Caps and small caps (Sans)^^J
\allsc ..... Small caps only (Sans)^^J
\nocaps .... No small caps^^J
}}
\_moddef \resetmod {\_fsetV sub=Sans,caps={} \_fvars Regular Bold Italic BoldItalic }
\_moddef \mono {\_fsetV sub=Mono,caps={} \_fvars Regular Bold Oblique BoldOblique }
\_moddef \caps {\_fsetV caps=+smcp;\_ffonum; }
\_moddef \allsc {\_fsetV caps=+smcp;+c2sc;\_ffonum; }
\_moddef \nocaps {\_fsetV caps={} }
\_moddef \thin {\_onlyif sub=Sans: {\_fvars Thin Regular ThinItalic Italic }}
\_moddef \light {\_onlyif sub=Sans: {\_fvars Light Medium LightItalic MediumItalic }}
\_moddef \book {\_onlyif sub=Sans: {\_fvars Book SemiBold BookItalic SemiBoldItalic }}
\_moddef \medium {\_onlyif sub=Sans: {\_fvars Medium ExtraBold MediumItalic ExtraBoldItalic }%
\_onlyif sub=Mono: {\_fvars Medium Bold MediumOblique BoldOblique }}
\_initfontfamily % new font family must be initialized
\_ifmathloading
\_loadmath {[FiraMath-Regular]}
\_addUmathfont \_xits {[XITSMath-Regular]}{} {[XITSMath-Bold]}{} {}
\_addto\_frak{\_fam\_xits}\_addto\_cal{\_fam\_xits} \_public \frak \cal ;
% \bf, \bi from FiraMath:
\_let\_bsansvariables=\_bfvariables
\_let\_bsansGreek=\_bfGreek
\_let\_bsansgreek=\_bfgreek
\_let\_bsansdigits=\_bfdigits
\_let\_bisansvariables=\_bivariables
\_let\_bisansgreek=\_bigreek
% \_resetmathchars <fam-number> <list of \Umathchardef csnames> ;
\_mathchars \_xits {\bigtriangleup \bigblacktriangleup \blacktriangle
\vartriangle \smallblacktriangleright
\unicodevdots \unicodeadots \unicodeddots} % ... etc. you can add more
\_fi
\_endcode
|