comparison docs/_latex/my-doc-fonts.sty @ 299:11f4f4d2ec03 default tip

Update to latest Sphinx customizations
author Franz Glasner <fzglas.hg@dom66.de>
date Sat, 06 Jun 2026 12:12:06 +0200
parents 0052d12ec437
children
comparison
equal deleted inserted replaced
298:0052d12ec437 299:11f4f4d2ec03
11 % really needed 11 % really needed
12 % - fonts=<FONT>: Use font pairing named <FONT>. See the list below. 12 % - fonts=<FONT>: Use font pairing named <FONT>. See the list below.
13 % 13 %
14 \NeedsTeXFormat{LaTeX2e} 14 \NeedsTeXFormat{LaTeX2e}
15 \ProvidesPackage{my-doc-fonts}[% 15 \ProvidesPackage{my-doc-fonts}[%
16 2026/06/02 rv:c7ae4cfc2c5c (Franz Glasner) Fonts for Sphinx generated PDFs] 16 2026/06/06 rv:ddd6d2bb4fdb (Franz Glasner) Fonts for Sphinx generated PDFs]
17 \RequirePackage{xkeyval} 17 \RequirePackage{xkeyval}
18 \RequirePackage{fontspec} 18 \RequirePackage{fontspec}
19 \IfFileExists{xcolor.sty}{% 19 \IfFileExists{xcolor.sty}{%
20 % Should Sphinx load xcolor with its dvipsnames and svgnames options? 20 % Should Sphinx load xcolor with its dvipsnames and svgnames options?
21 \RequirePackage{xcolor} 21 \RequirePackage{xcolor}
22 }{% 22 }{%
23 \RequirePackage{color} 23 \RequirePackage{color}
24 }
25
26 \def\if@mdf@optionequalTF#1#2{%
27 \begingroup
28 \edef\@mdf@tmpa{#1}
29 \def\@mdf@tmpb{#2}
30 \ifx\@mdf@tmpa\@mdf@tmpb
31 \aftergroup\@firstoftwo
32 \else
33 \aftergroup\@secondoftwo
34 \fi
35 \endgroup%
24 } 36 }
25 37
26 \newif\if@mdf@mono@dejavusansmono\@mdf@mono@dejavusansmonofalse 38 \newif\if@mdf@mono@dejavusansmono\@mdf@mono@dejavusansmonofalse
27 \newif\if@mdf@mono@cmmono\@mdf@mono@cmmonofalse 39 \newif\if@mdf@mono@cmmono\@mdf@mono@cmmonofalse
28 \newif\if@mdf@mono@robotomono\@mdf@mono@robotomonofalse 40 \newif\if@mdf@mono@robotomono\@mdf@mono@robotomonofalse
46 \DeclareOptionX{noglobalunicodemath}{\@mdf@GlobalUnicodeMathfalse} 58 \DeclareOptionX{noglobalunicodemath}{\@mdf@GlobalUnicodeMathfalse}
47 59
48 \newif\if@mdf@UseUnicodeMath\@mdf@UseUnicodeMathtrue 60 \newif\if@mdf@UseUnicodeMath\@mdf@UseUnicodeMathtrue
49 \DeclareOptionX{nomath}{\@mdf@UseUnicodeMathfalse} 61 \DeclareOptionX{nomath}{\@mdf@UseUnicodeMathfalse}
50 62
63 \newcommand*{\@mdf@externalname}{}
64 \DeclareOptionX{externalname}[custom]{\renewcommand*{\@mdf@externalname}{#1}}
65
66 \newcommand*{\@mdf@linespread}{}
67 \DeclareOptionX{linespread}[]{\renewcommand*{\@mdf@linespread}{#1}}
68
51 \newif\if@mdf@NeedUprightUnicodeMath\@mdf@NeedUprightUnicodeMathfalse 69 \newif\if@mdf@NeedUprightUnicodeMath\@mdf@NeedUprightUnicodeMathfalse
52 70
53 \newif\if@mdf@WithDejaVuSansMono 71 % Reset all option related font selection flags
54 \newif\if@mdf@WithCM 72 \def\@mdf@reset@all@font@options{
55 \newif\if@mdf@WithIBMPlex 73 \@mdf@NeedUprightUnicodeMathfalse
56 \newif\if@mdf@WithIBMPlexDejaVuSansMono 74 }
57 \newif\if@mdf@WithAdobeSourcePro 75
58 \newif\if@mdf@WithSpectral 76
59 \newif\if@mdf@WithCharter 77 \gdef\@mdf@option@fonts{}% The original option value
60 \newif\if@mdf@WithLibertinus 78 \gdef\@mdf@option@fonts@selection{}% The effective selection "flag"
61 \newif\if@mdf@WithGaramond
62 \newif\if@mdf@WithTufte
63 \newif\if@mdf@WithTufteHack
64 \newif\if@mdf@WithTufteFiraMono
65 \newif\if@mdf@WithPalatino
66 \newif\if@mdf@WithPalatinoKB
67 \newif\if@mdf@WithPalatinoRosario
68 \newif\if@mdf@WithCrimson
69 \newif\if@mdf@WithCrimsonCabin
70 \newif\if@mdf@WithDejaVu
71 \newif\if@mdf@WithMerriweather
72 \newif\if@mdf@WithLiterata
73 \newif\if@mdf@WithLiterataFiraMono
74 \newif\if@mdf@WithLiterataRobotoMono
75 \newif\if@mdf@WithVollkorn
76 \newif\if@mdf@WithErewhon
77 \newif\if@mdf@WithGentium
78 \newif\if@mdf@WithZillaSlab
79 \newif\if@mdf@WithAleo
80 \newif\if@mdf@WithLora
81 \newif\if@mdf@WithStix
82 \newif\if@mdf@WithBaskerville
83 79
84 % A key compatible with options processing as option "fonts" but choices. 80 % A key compatible with options processing as option "fonts" but choices.
85 \define@choicekey*{my-doc-fonts.sty}{fonts}[\val\nr]{% 81 \define@choicekey*{my-doc-fonts.sty}{fonts}[\val\nr]{%
86 % do not change anything: just deactivate the default "dejavusansmono" 82 % do not change anything: just deactivate the default "dejavusansmono"
87 default, 83 default,
84 external, % Load font settings from external style files
88 % almost no augmentation needed: all characters available 85 % almost no augmentation needed: all characters available
89 dejavusansmono, % use DejaVu Sans Mono as monospaced font 86 dejavusansmono, % use DejaVu Sans Mono as monospaced font
90 % the fonts below are augmented for missing characters 87 % the fonts below are augmented for missing characters
91 cm, % assume CM fonts and just fix missing characters 88 cm, % assume CM fonts and just fix missing characters
92 ibmplex, plex, % use the IBM Plex family (incl. Math) 89 ibmplex, plex, % use the IBM Plex family (incl. Math)
90 ibmplex-sans, plex-sans, % Like ibmplex but switch to sans body
93 plex-dejavusansmono, % use IBM Plex Serif/Sans and DejaVu Sans Mono 91 plex-dejavusansmono, % use IBM Plex Serif/Sans and DejaVu Sans Mono
94 adobesourcepro, adobesource, % Use Adobe Source Serif/Sans/Mono 92 adobesourcepro, adobesource, % Use Adobe Source Serif/Sans/Mono
93 adobesourcepro-sans, adobesource-sans, % Like adobesourcepro but sans body
95 spectral, % use Spectral, Source Sans Pro and Source Code Pro 94 spectral, % use Spectral, Source Sans Pro and Source Code Pro
96 charter, % use XCharter (with XCharter Math), Lato and Inconsolata 95 charter, % use XCharter (with XCharter Math), Lato and Inconsolata
97 libertinus, % use Libertinus family (incl. Math) 96 libertinus, % use Libertinus family (incl. Math)
98 garamond, % EB Garamond (with Math), Libre Franklin and Inconsolata 97 garamond, % EB Garamond (with Math), Libre Franklin and Inconsolata
99 tufte, % Tufte fonts: ETbb (with Math), GilliusADFNo2, DejaVu Sans Mono 98 tufte, % Tufte fonts: ETbb (with Math), GilliusADFNo2, DejaVu Sans Mono
104 palatino-rosario,% Palatino, Rosario and CMU Typewriter Text (Asana Math) 103 palatino-rosario,% Palatino, Rosario and CMU Typewriter Text (Asana Math)
105 crimson, % Crimson Pro, (Intel) Clear Sans and Roboto Mono (Erewhon Math) 104 crimson, % Crimson Pro, (Intel) Clear Sans and Roboto Mono (Erewhon Math)
106 crimson-cabin, % Crimson Pro, Cabin and Source Code Pro (Erewhon Math) 105 crimson-cabin, % Crimson Pro, Cabin and Source Code Pro (Erewhon Math)
107 dejavu, % All DejaVu fonts (Serif, Sans, Mono) 106 dejavu, % All DejaVu fonts (Serif, Sans, Mono)
108 merriweather, % Merriweather, Merriweather Sans, Hack (Concrete Math) 107 merriweather, % Merriweather, Merriweather Sans, Hack (Concrete Math)
108 merriweather-light, % Merriweather Light, Merriweather Sans Light, DejaVu Sans Mono (Concrete Math)
109 merriweather-sans, % Merriweather, Merriweather Sans, Cascadia Code (Lete Sans Math)
110 merriweather-sans-light, % Merriweather Light, Merriweather Sans Light, Cascadia Code Light (Asana Math)
109 literata, % Literata, Inter, IBM Plex Mono (Concrete Math) 111 literata, % Literata, Inter, IBM Plex Mono (Concrete Math)
110 literata-firamono, % Literata, Inter, Fira Mono Medium (Concrete Math) 112 literata-firamono, % Literata, Inter, Fira Mono Medium (Concrete Math)
111 literata-robotomono, % Literata, Cabin, Roboto Mono (Concrete Math) 113 literata-robotomono, % Literata, Cabin, Roboto Mono (Concrete Math)
112 vollkorn, % Vollkorn, Jost, Red Hat Mono (STIX 2 Math) 114 vollkorn, % Vollkorn, Jost, Cascadia Code (STIX 2 Math)
113 erewhon, utopia, % Erewhon, Rosario, XXX, (Erewhon Math) 115 erewhon, utopia, % Erewhon, Rosario, Hack, (Erewhon Math)
114 gentium, % Gentium, Alegreya Sans, JetBrains Mono, (Euler Math) 116 gentium, % Gentium, Alegreya Sans, JetBrains Mono, (Euler Math)
115 zillaslab, % Zilla Slab, Metropolis, IBM Plex Mono Text, (Concrete Math) 117 zillaslab, % Zilla Slab, Metropolis, IBM Plex Mono Text, (Concrete Math)
116 aleo, % Aleo, Lato, IBM Plex Mono Text, (Euler Math) 118 aleo, % Aleo, Lato, IBM Plex Mono Text, (Euler Math)
119 lato, % Lato, Aleo, IBM Plex Mono Text, (Lete Sans Math)
117 lora, % Lora, Libre Franklin, Go Mono, (Asana Math) 120 lora, % Lora, Libre Franklin, Go Mono, (Asana Math)
118 stix, % STIX 2 Text, Inter, CMU Typewriter Text, (STIX 2 Math) 121 stix, % STIX 2 Text, Inter, CMU Typewriter Text, (STIX 2 Math)
119 baskerville, % Libre Baskerville, Metropolis Medium, CMU Typewriter Text, (Euler Math) 122 baskerville, % Libre Baskerville, Metropolis Medium, CMU Typewriter Text, (Euler Math)
123 opensans, % Crimson Pro, Open Sans, IBM Plex Mono, (Erewhon Math)
124 firasans, % Merriweather, Fira Sans, Fira Mono, (Fira Math)
120 }{% 125 }{%
121 % Not used for now : store the normalized option value (global and expanded) 126 % Not used for now : store the gioven option value (global and expanded)
122 \xdef\@mdf@fonts{\val}% 127 \xdef\@mdf@option@fonts{\val}%
128 % Not used for now : store the effective option value (global and expanded)
129 \xdef\@mdf@option@fonts@selection{\val}%
123 % Reset all option related font selection flags 130 % Reset all option related font selection flags
124 \@mdf@NeedUprightUnicodeMathfalse 131 \@mdf@reset@all@font@options
125 \@mdf@WithDejaVuSansMonofalse
126 \@mdf@WithCMfalse
127 \@mdf@WithIBMPlexfalse
128 \@mdf@WithIBMPlexDejaVuSansMonofalse
129 \@mdf@WithAdobeSourceProfalse
130 \@mdf@WithSpectralfalse
131 \@mdf@WithCharterfalse
132 \@mdf@WithLibertinusfalse
133 \@mdf@WithGaramondfalse
134 \@mdf@WithTuftefalse
135 \@mdf@WithTufteHackfalse
136 \@mdf@WithTufteFiraMonofalse
137 \@mdf@WithPalatinofalse
138 \@mdf@WithPalatinoKBfalse
139 \@mdf@WithPalatinoRosariofalse
140 \@mdf@WithCrimsonfalse
141 \@mdf@WithCrimsonCabinfalse
142 \@mdf@WithDejaVufalse
143 \@mdf@WithMerriweatherfalse
144 \@mdf@WithLiteratafalse
145 \@mdf@WithLiterataFiraMonofalse
146 \@mdf@WithLiterataRobotoMonofalse
147 \@mdf@WithVollkornfalse
148 \@mdf@WithErewhonfalse
149 \@mdf@WithGentiumfalse
150 \@mdf@WithZillaSlabfalse
151 \@mdf@WithAleofalse
152 \@mdf@WithLorafalse
153 \@mdf@WithStixfalse
154 \@mdf@WithBaskervillefalse
155 % Now set the needed font selection flag 132 % Now set the needed font selection flag
156 \ifcase\nr\relax 133 \ifcase\nr\relax
157 \relax 134 \relax% default
158 \or 135 \or
159 \@mdf@WithDejaVuSansMonotrue 136 \relax% external
160 \or 137 \or
161 \@mdf@WithCMtrue 138 \relax% dejavusansmono
162 \or 139 \or
163 \@mdf@WithIBMPlextrue 140 \relax% cm
164 \or 141 \or
165 \@mdf@WithIBMPlextrue 142 \relax % ibmplex
166 % Normalize the stored string 143 \or
167 \gdef\@mdf@fonts{ibmplex} 144 \gdef\@mdf@option@fonts@selection{ibmplex}% plex
168 \or 145 \or
169 \@mdf@WithIBMPlexDejaVuSansMonotrue 146 \gdef\@mdf@option@fonts@selection{ibmplex}% ibmplex-sans
170 \or 147 \or
171 \@mdf@WithAdobeSourceProtrue 148 \gdef\@mdf@option@fonts@selection{ibmplex}% plex-sans
172 \or 149 \or
173 \@mdf@WithAdobeSourceProtrue 150 \relax% plex-dejavusansmono
174 % Normalize the stored string 151 \or
175 \gdef\@mdf@fonts{adobesourcepro} 152 \relax% adobesourcepro
176 \or 153 \or
177 \@mdf@WithSpectraltrue 154 \gdef\@mdf@option@fonts@selection{adobesourcepro}% adobesource
178 \or 155 \or
179 \@mdf@WithChartertrue 156 \gdef\@mdf@option@fonts@selection{adobesourcepro}% adobesourcepro-sans
180 \or 157 \or
181 \@mdf@WithLibertinustrue 158 \gdef\@mdf@option@fonts@selection{adobesourcepro}% adobesource-sans
182 \or 159 \or
183 \@mdf@WithGaramondtrue 160 \relax% spectral
184 \or 161 \or
185 \@mdf@WithTuftetrue 162 \relax% charter
186 \or 163 \or
187 \@mdf@WithTufteHacktrue 164 \relax% libertinus
188 \or 165 \or
189 \@mdf@WithTufteFiraMonotrue 166 \relax% garamond
190 \or 167 \or
191 \@mdf@WithPalatinotrue 168 \relax% tufte
192 \or 169 \or
193 \@mdf@WithPalatinoKBtrue 170 \relax% tufte-hack
194 \or 171 \or
195 \@mdf@WithPalatinoRosariotrue 172 \relax% tufte-firamono
196 \or 173 \or
197 \@mdf@WithCrimsontrue 174 \relax% palatino
198 \or 175 \or
199 \@mdf@WithCrimsonCabintrue 176 \relax% palatino-kb
200 \or 177 \or
201 \@mdf@WithDejaVutrue 178 \relax% palatino-rosario
202 \or 179 \or
203 \@mdf@WithMerriweathertrue 180 \relax% crimson
204 \or 181 \or
205 \@mdf@WithLiteratatrue 182 \relax% crimson-cabin
206 \or 183 \or
207 \@mdf@WithLiterataFiraMonotrue 184 \relax% dejavu
208 \or 185 \or
209 \@mdf@WithLiterataRobotoMonotrue 186 \relax% merriweather
210 \or 187 \or
211 \@mdf@WithVollkorntrue 188 \relax% merriweather-light
212 \or 189 \or
213 \@mdf@WithErewhontrue 190 \relax% merriweather-sans
214 \or 191 \or
215 \@mdf@WithErewhontrue 192 \relax% merriweather-sans-light
216 % Normalize the stored string 193 \or
217 \gdef\@mdf@fonts{erewhon} 194 \relax% literata
218 \or 195 \or
219 \@mdf@WithGentiumtrue 196 \relax% literata-firamono
220 \@mdf@NeedUprightUnicodeMathtrue 197 \or
221 \or 198 \relax% literata-robotomono
222 \@mdf@WithZillaSlabtrue 199 \or
223 \or 200 \relax% vollkorn
224 \@mdf@WithAleotrue 201 \or
225 \@mdf@NeedUprightUnicodeMathtrue 202 \relax% erewhon
226 \or 203 \or
227 \@mdf@WithLoratrue 204 \gdef\@mdf@option@fonts@selection{erewhon}% utopia
228 \or 205 \or
229 \@mdf@WithStixtrue 206 \@mdf@NeedUprightUnicodeMathtrue% gentium
230 \or 207 \or
231 \@mdf@WithBaskervilletrue 208 \relax% zillaslab
232 \@mdf@NeedUprightUnicodeMathtrue 209 \or
210 \@mdf@NeedUprightUnicodeMathtrue% aleo
211 \or
212 \relax% lato
213 \or
214 \relax% lora
215 \or
216 \relax% stix
217 \or
218 \@mdf@NeedUprightUnicodeMathtrue% baskerville
219 \or
220 \relax% opensans
221 \or
222 \relax% firasans
223 \else
224 \PackageError{my-doc-fonts}{Inconsistent font selection!}{}
233 \fi 225 \fi
234 } 226 }
235 227
236 % 228 %
237 % By default use the safe option dejavusansmono because is contains 229 % By default use the safe option dejavusansmono because is contains
238 % all characters without any hacks. 230 % all characters without any hacks.
239 % 231 %
240 \ExecuteOptionsX{fonts=dejavusansmono} 232 \ExecuteOptionsX{fonts=dejavusansmono,externalname}
241 \ProcessOptionsX\relax 233 \ProcessOptionsX\relax
234
235 %
236 % Provide a command (to be redefined if needed) to customize central
237 % mono font features
238 %
239 \newcommand{\@mfd@extra@mono@features}{}
242 240
243 \if@mdf@UseUnicodeMath 241 \if@mdf@UseUnicodeMath
244 \if@mdf@GlobalUnicodeMath 242 \if@mdf@GlobalUnicodeMath
245 \if@mdf@NeedUprightUnicodeMath 243 \if@mdf@NeedUprightUnicodeMath
246 \RequirePackage[math-style=upright]{unicode-math} 244 \RequirePackage[math-style=upright]{unicode-math}
248 \RequirePackage{unicode-math} 246 \RequirePackage{unicode-math}
249 \fi 247 \fi
250 \fi 248 \fi
251 \fi 249 \fi
252 250
253 \if@mdf@WithDejaVuSansMono 251 %
252 % An command to load DejaVuSans fonts for character substitution
253 %
254 \def\@mdf@provide@dejavu@mono@families{%
255 \ifdefined\DejaVuSansMono%
256 \relax%
257 \else%
258 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
259 UprightFont = *,
260 BoldFont = * Bold,
261 ItalicFont = * Oblique,
262 BoldItalicFont = * Bold Oblique,
263 \@mfd@extra@mono@features
264 ]
265 \fi
266 \ifdefined\DejaVuSansCondensed%
267 \relax%
268 \else%
269 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
270 UprightFont = *,
271 BoldFont = * Bold,
272 ItalicFont = * Oblique,
273 BoldItalicFont = * Bold Oblique,
274 \@mfd@extra@mono@features
275 ]
276 \fi
277 }
278
279 % Apply a custom lineapread -- if any
280 \ifx\@mdf@linespread\@empty\relax\else\linespread{\@mdf@linespread}\fi
281
282 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{external}{%
283 \InputIfFileExists{\@mdf@externalname.fonts}{%
284 \PackageInfo{my-doc-fonts}{Loading \@mdf@externalname.fonts font style file}
285 }{%
286 \PackageError{my-doc-fonts}{Style file \@mdf@externalname.fonts not found}{Provide it or change the file}
287 }
288 }{}
289
290 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{dejavusansmono}{%
254 % default but with DejaVu Sans Mono as monospaced font 291 % default but with DejaVu Sans Mono as monospaced font
255 %\RequirePackage[DefaultFeatures={Scale=0.92},mono=false]{plex-otf} 292 %\RequirePackage[DefaultFeatures={Scale=0.92},mono=false]{plex-otf}
256 %\RequirePackage[mono=true,serif=false,sans=false,math=false]{dejavu-otf} % all symbols are available 293 %\RequirePackage[mono=true,serif=false,sans=false,math=false]{dejavu-otf} % all symbols are available
257 \@mdf@mono@dejavusansmonotrue 294 \@mdf@mono@dejavusansmonotrue
258 \fi 295 }{}
259 296
260 \if@mdf@WithCM 297 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{cm}{%
261 \@mdf@mono@cmmonotrue 298 \@mdf@mono@cmmonotrue
262 \fi 299 }{}
263 300
264 \if@mdf@WithIBMPlex 301 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{ibmplex}{%
265 \if@mdf@UseUnicodeMath 302 \if@mdf@UseUnicodeMath
266 \RequirePackage[% 303 \RequirePackage[%
267 DefaultFeatures={Scale=0.92}, 304 DefaultFeatures={Scale=0.92},
268 RMSCfont={},% disable default SC font which uses TeX Gyre Termes 305 RMSCfont={},% disable default SC font which uses TeX Gyre Termes
269 RM={% 306 RM={%
301 ItalicFeatures={SmallCapsFont=SourceSansPro-RegularIt},% 338 ItalicFeatures={SmallCapsFont=SourceSansPro-RegularIt},%
302 },% 339 },%
303 math=false]{plex-otf} 340 math=false]{plex-otf}
304 \fi 341 \fi
305 \@mdf@augment@ibmplexmonotrue 342 \@mdf@augment@ibmplexmonotrue
306 \fi 343 }{}
307 344
308 \if@mdf@WithIBMPlexDejaVuSansMono 345 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{plex-dejavusansmono}{%
309 \if@mdf@UseUnicodeMath 346 \if@mdf@UseUnicodeMath
310 \RequirePackage[% 347 \RequirePackage[%
311 DefaultFeatures={Scale=0.92}, 348 DefaultFeatures={Scale=0.92},
312 RMSCfont={},% disable default SC font which uses TeX Gyre Termes 349 RMSCfont={},% disable default SC font which uses TeX Gyre Termes
313 RM={% 350 RM={%
343 },% 380 },%
344 mono=false,% 381 mono=false,%
345 math=false]{plex-otf} 382 math=false]{plex-otf}
346 \fi 383 \fi
347 \@mdf@mono@dejavusansmonotrue 384 \@mdf@mono@dejavusansmonotrue
348 \fi 385 }{}
349 386
350 \if@mdf@WithAdobeSourcePro 387 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{adobesourcepro}{%
351 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 388 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
352 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 389 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
353 \setmainfont{Source Serif Pro}[ 390 \setmainfont{Source Serif Pro}[
354 UprightFont = *, 391 UprightFont = *,
355 BoldFont = * Bold, 392 BoldFont = * Bold,
366 \defaultfontfeatures{} 403 \defaultfontfeatures{}
367 \setmathfont{XCharter Math}[% 404 \setmathfont{XCharter Math}[%
368 Scale = MatchLowercase, 405 Scale = MatchLowercase,
369 ] 406 ]
370 \fi 407 \fi
408 \renewcommand{\@mfd@extra@mono@features}{ScaleAgain = 0.97,}
371 \@mdf@mono@sscodetrue 409 \@mdf@mono@sscodetrue
372 \fi 410 }{}
373 411
374 \if@mdf@WithSpectral 412 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{spectral}{%
375 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 413 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
376 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 414 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
377 \setmainfont{Spectral}[ 415 \setmainfont{Spectral}[
378 UprightFont = * Regular, 416 UprightFont = * Regular,
379 BoldFont = * Bold, 417 BoldFont = * Bold,
387 BoldItalicFont = * Bold Italic, 425 BoldItalicFont = * Bold Italic,
388 ] 426 ]
389 \if@mdf@UseUnicodeMath 427 \if@mdf@UseUnicodeMath
390 \setmathfont{STIX Two Math}[Scale=MatchLowercase] 428 \setmathfont{STIX Two Math}[Scale=MatchLowercase]
391 \fi 429 \fi
430 \renewcommand{\@mfd@extra@mono@features}{ScaleAgain = 0.98,}
392 \@mdf@mono@sscodetrue 431 \@mdf@mono@sscodetrue
393 \fi 432 }{}
394 433
395 \if@mdf@WithCharter 434 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{charter}{%
396 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 435 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
397 \RequirePackage{xcharter-otf}% ALWAYS loads also XCharter Math 436 \RequirePackage{xcharter-otf}% ALWAYS loads also XCharter Math
398 \defaultfontfeatures{}% Reset from package 437 \defaultfontfeatures{}% Reset from package
399 \setsansfont{Lato}[ 438 \setsansfont{Lato}[
400 UprightFont = * Regular, 439 UprightFont = * Regular,
404 Scale = MatchLowercase, 443 Scale = MatchLowercase,
405 Numbers = {Lining, Tabular}, 444 Numbers = {Lining, Tabular},
406 Ligatures = TeX, 445 Ligatures = TeX,
407 ] 446 ]
408 \@mdf@mono@inconsolatatrue 447 \@mdf@mono@inconsolatatrue
409 \fi 448 }{}
410 449
411 \if@mdf@WithLibertinus 450 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{libertinus}{%
412 \RequirePackage{newunicodechar} 451 \RequirePackage{newunicodechar}
413 \if@mdf@UseUnicodeMath 452 \if@mdf@UseUnicodeMath
414 \RequirePackage[lining,tabular]{libertinus-otf} 453 \RequirePackage[lining,tabular]{libertinus-otf}
415 \defaultfontfeatures{}% Reset from package 454 \defaultfontfeatures{}% Reset from package
416 \setmathfont{Asana Math}[range={"2713,"2AB7,"22D0},Scale=MatchLowercase] 455 \setmathfont{Asana Math}[range={"2713,"2AB7,"22D0},Scale=MatchLowercase]
417 \setmathfont{Libertinus Math}[range={},Scale=MatchLowercase] 456 \setmathfont{Libertinus Math}[range={},Scale=MatchLowercase]
418 \else 457 \else
419 \RequirePackage[lining,tabular,nomath]{libertinus-otf} 458 \RequirePackage[lining,tabular,nomath]{libertinus-otf}
420 \fi 459 \fi
421 \@mdf@augment@libertinusmonotrue 460 \@mdf@augment@libertinusmonotrue
422 \fi 461 }{}
423 462
424 \if@mdf@WithGaramond 463 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{garamond}{%
425 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 464 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
426 \RequirePackage[lining,tabular]{ebgaramond} 465 \RequirePackage[lining,tabular]{ebgaramond}
427 \defaultfontfeatures{}% Reset from package 466 \defaultfontfeatures{}% Reset from package
428 \if@mdf@UseUnicodeMath 467 \if@mdf@UseUnicodeMath
429 \setmathfont{Garamond-Math}[Scale=MatchLowercase] 468 \setmathfont{Garamond-Math}[Scale=MatchLowercase]
430 \setmathfont{Asana Math}[range={"2713},Scale=MatchLowercase] 469 \setmathfont{Asana Math}[range={"2713},Scale=MatchLowercase]
431 \setmathfont{Garamond-Math}[range={},Scale=MatchLowercase] 470 \setmathfont{Garamond-Math}[range={},Scale=MatchLowercase]
432 \fi 471 \fi
433 \setsansfont{Libre Franklin}[Scale=MatchLowercase,Ligatures=TeX,Numbers={Lining,Tabular}] 472 \setsansfont{Libre Franklin}[Scale=MatchLowercase,Ligatures=TeX,Numbers={Lining,Tabular}]
473 \renewcommand{\@mfd@extra@mono@features}{ScaleAgain = 1.02,}
434 \@mdf@mono@inconsolatatrue 474 \@mdf@mono@inconsolatatrue
435 \fi 475 }{}
436 476
437 \if@mdf@WithTufteHack 477 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{tufte-hack}{%
438 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 478 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
439 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX} 479 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX}
440 \setmainfont{ETbb} 480 \setmainfont{ETbb}
441 \setsansfont{GilliusADFNo2}[Scale=MatchLowercase] 481 \setsansfont{GilliusADFNo2}[Scale=MatchLowercase]
442 \if@mdf@UseUnicodeMath 482 \if@mdf@UseUnicodeMath
443 \setmathfont{Libertinus Math}[Scale=MatchLowercase] 483 \setmathfont{Libertinus Math}[Scale=MatchLowercase]
444 \setmathfont{Asana Math}[range={"2713,"2AB7,"22D0},Scale=MatchLowercase] 484 \setmathfont{Asana Math}[range={"2713,"2AB7,"22D0},Scale=MatchLowercase]
445 \setmathfont{Libertinus Math}[range={},Scale=MatchLowercase] 485 \setmathfont{Libertinus Math}[range={},Scale=MatchLowercase]
446 \fi 486 \fi
447 \@mdf@mono@hackmonotrue 487 \@mdf@mono@hackmonotrue
448 \fi 488 }{}
449 489
450 \if@mdf@WithTufteFiraMono 490 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{tufte-firamono}{%
451 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 491 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
452 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX} 492 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX}
453 \setmainfont{ETbb} 493 \setmainfont{ETbb}
454 \setsansfont{GilliusADFNo2}[Scale=MatchLowercase] 494 \setsansfont{GilliusADFNo2}[Scale=MatchLowercase]
455 \if@mdf@UseUnicodeMath 495 \if@mdf@UseUnicodeMath
456 \setmathfont{Libertinus Math}[Scale=MatchLowercase] 496 \setmathfont{Libertinus Math}[Scale=MatchLowercase]
457 \setmathfont{Asana Math}[range={"2713,"2AB7,"22D0},Scale=MatchLowercase] 497 \setmathfont{Asana Math}[range={"2713,"2AB7,"22D0},Scale=MatchLowercase]
458 \setmathfont{Libertinus Math}[range={},Scale=MatchLowercase] 498 \setmathfont{Libertinus Math}[range={},Scale=MatchLowercase]
459 \fi 499 \fi
460 \@mdf@mono@firamonotrue 500 \@mdf@mono@firamonotrue
461 \fi 501 }{}
462 502
463 \if@mdf@WithTufte 503 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{tufte}{%
464 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 504 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
465 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX} 505 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX}
466 \setmainfont{ETbb} 506 \setmainfont{ETbb}
467 \setsansfont{GilliusADFNo2}[Scale=MatchLowercase] 507 \setsansfont{GilliusADFNo2}[Scale=MatchLowercase]
468 \if@mdf@UseUnicodeMath 508 \if@mdf@UseUnicodeMath
469 \setmathfont{Libertinus Math}[Scale=MatchLowercase] 509 \setmathfont{Libertinus Math}[Scale=MatchLowercase]
470 \setmathfont{Asana Math}[range={"2713,"2AB7,"22D0},Scale=MatchLowercase] 510 \setmathfont{Asana Math}[range={"2713,"2AB7,"22D0},Scale=MatchLowercase]
471 \setmathfont{Libertinus Math}[range={},Scale=MatchLowercase] 511 \setmathfont{Libertinus Math}[range={},Scale=MatchLowercase]
472 \fi 512 \fi
473 \@mdf@mono@dejavusansmonotrue 513 \@mdf@mono@dejavusansmonotrue
474 \fi 514 }{}
475 515
476 \if@mdf@WithPalatino 516 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{palatino}{%
477 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 517 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
478 \linespread{1.06} 518 \ifx\@mdf@linespread\@empty\linespread{1.06}\fi
479 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX} 519 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX}
480 \setmainfont{TeXGyrePagellaX} 520 \setmainfont{TeXGyrePagellaX}
481 \setsansfont{Inter}[Scale=MatchLowercase] 521 \setsansfont{Inter}[Scale=MatchLowercase]
482 %\setsansfont{Rosario}[Scale=MatchLowercase,ScaleAgain=1.013] 522 %\setsansfont{Rosario}[Scale=MatchLowercase,ScaleAgain=1.013]
483 %\setmathfont{Asana Math}[Scale=MatchLowercase] 523 %\setmathfont{Asana Math}[Scale=MatchLowercase]
486 \setmathfont{Asana Math}[range={"2AB7},Scale=MatchLowercase] 526 \setmathfont{Asana Math}[range={"2AB7},Scale=MatchLowercase]
487 \setmathfont{TeX Gyre Pagella Math}[range={},Scale=MatchLowercase] 527 \setmathfont{TeX Gyre Pagella Math}[range={},Scale=MatchLowercase]
488 \fi 528 \fi
489 %\@mdf@mono@sscodetrue 529 %\@mdf@mono@sscodetrue
490 \@mdf@mono@libertinusmonotrue 530 \@mdf@mono@libertinusmonotrue
491 \fi 531 }{}
492 532
493 \if@mdf@WithPalatinoKB 533 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{palatino-kb}{%
494 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 534 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
495 \linespread{1.06} 535 \ifx\@mdf@linespread\@empty\linespread{1.06}\fi
496 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX} 536 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX}
497 \setmainfont{TeXGyrePagellaX} 537 \setmainfont{TeXGyrePagellaX}
498 \setsansfont{Lato}[% 538 \setsansfont{Lato}[%
499 UprightFont = * Regular, 539 UprightFont = * Regular,
500 BoldFont = * Bold, 540 BoldFont = * Bold,
507 \setmathfont{TeX Gyre Pagella Math}[Scale=MatchLowercase] 547 \setmathfont{TeX Gyre Pagella Math}[Scale=MatchLowercase]
508 \setmathfont{Asana Math}[range={"2AB7},Scale=MatchLowercase] 548 \setmathfont{Asana Math}[range={"2AB7},Scale=MatchLowercase]
509 \setmathfont{TeX Gyre Pagella Math}[range={},Scale=MatchLowercase] 549 \setmathfont{TeX Gyre Pagella Math}[range={},Scale=MatchLowercase]
510 \fi 550 \fi
511 \@mdf@mono@inconsolatatrue 551 \@mdf@mono@inconsolatatrue
512 \fi 552 }{}
513 553
514 \if@mdf@WithPalatinoRosario 554 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{palatino-rosario}{%
515 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 555 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
516 \linespread{1.06} 556 \ifx\@mdf@linespread\@empty\linespread{1.06}\fi
517 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX} 557 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX}
518 \setmainfont{TeXGyrePagellaX} 558 \setmainfont{TeXGyrePagellaX}
519 \defaultfontfeatures{Scale=MatchLowercase}
520 \setsansfont{Rosario}[% 559 \setsansfont{Rosario}[%
560 Scale=MatchLowercase,
521 UprightFont = * Regular, 561 UprightFont = * Regular,
522 BoldFont = * Bold, 562 BoldFont = * Bold,
523 ItalicFont = * Italic, 563 ItalicFont = * Italic,
524 BoldItalicFont = * Bold Italic, 564 BoldItalicFont = * Bold Italic,
525 ] 565 ]
526 \setmonofont{CMU Typewriter Text} 566 \setmonofont{CMU Typewriter Text}[Scale=MatchLowercase]
527 \if@mdf@UseUnicodeMath 567 \if@mdf@UseUnicodeMath
528 \setmathfont{Asana Math}[Scale=MatchLowercase] 568 \defaultfontfeatures{Scale=MatchLowercase}
569 \setmathfont{Asana Math}
529 \fi 570 \fi
530 \@mdf@augment@cmutypewritertexttrue 571 \@mdf@augment@cmutypewritertexttrue
531 \fi 572 }{}
532 573
533 \if@mdf@WithCrimson 574 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{crimson}{%
534 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 575 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
535 \defaultfontfeatures{Ligatures=TeX, Numbers={Lining,Tabular}} 576 \defaultfontfeatures{Ligatures=TeX, Numbers={Lining,Tabular}}
536 \setmainfont{Crimson Pro}[% 577 \setmainfont{Crimson Pro}[%
537 SmallCapsFont = Erewhon Regular, 578 SmallCapsFont = Erewhon Regular,
538 SmallCapsFeatures = {Letters = SmallCaps, Scale = MatchLowercase}, 579 SmallCapsFeatures = {Letters = SmallCaps, Scale = MatchLowercase},
546 \setmathfont{Erewhon Math}[Scale=MatchLowercase] 587 \setmathfont{Erewhon Math}[Scale=MatchLowercase]
547 \fi 588 \fi
548 %\@mdf@mono@sscodetrue 589 %\@mdf@mono@sscodetrue
549 %\@mdf@mono@inconsolatatrue 590 %\@mdf@mono@inconsolatatrue
550 \@mdf@mono@robotomonotrue 591 \@mdf@mono@robotomonotrue
551 \fi 592 }{}
552 593
553 \if@mdf@WithCrimsonCabin 594 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{crimson-cabin}{%
554 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 595 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
555 \defaultfontfeatures{Ligatures=TeX, Numbers={Lining,Tabular}} 596 \defaultfontfeatures{Ligatures=TeX, Numbers={Lining,Tabular}}
556 \setmainfont{Crimson Pro}[% 597 \setmainfont{Crimson Pro}[%
557 SmallCapsFont = Erewhon Regular, 598 SmallCapsFont = Erewhon Regular,
558 SmallCapsFeatures = {Letters=SmallCaps, Scale=MatchLowercase}, 599 SmallCapsFeatures = {Letters=SmallCaps, Scale=MatchLowercase},
564 \defaultfontfeatures{}% Erewhon Math needs this here! 605 \defaultfontfeatures{}% Erewhon Math needs this here!
565 \setmathfont{Erewhon Math}[Scale=MatchLowercase] 606 \setmathfont{Erewhon Math}[Scale=MatchLowercase]
566 \fi 607 \fi
567 %\@mdf@mono@sscodetrue 608 %\@mdf@mono@sscodetrue
568 \@mdf@mono@inconsolatatrue 609 \@mdf@mono@inconsolatatrue
569 \fi 610 }{}
570 611
571 \if@mdf@WithDejaVu 612 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{opensans}{%
613 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
614 \ifx\@mdf@linespread\@empty\linespread{1.05}\fi
615 \defaultfontfeatures{Ligatures=TeX, Numbers={Lining,Tabular}}
616 \setmainfont{Open Sans}
617 \setmainfont{Crimson Pro}[%
618 Scale = MatchLowercase,
619 SmallCapsFont = Erewhon Regular,
620 SmallCapsFeatures = {Letters=SmallCaps, Scale=MatchLowercase},
621 BoldFeatures = {SmallCapsFont = Erewhon Bold},
622 ItalicFeatures = {SmallCapsFont = Erewhon Italic},
623 ]
624 \setsansfont{Open Sans}[
625 SmallCapsFont = {Montserrat Regular},
626 SmallCapsFeatures = {Letters = SmallCaps, Scale = MatchLowercase, ScaleAgain = 0.99},
627 ItalicFeatures = {SmallCapsFont = {Montserrat Italic}},
628 BoldFeatures = {SmallCapsFont = {Montserrat Bold}},
629 BoldItalicFeatures = {SmallCapsFont = {Montserrat Bold Italic}},
630 ]
631 \setmonofont{IBMPlexMonoText}[%
632 Scale = MatchLowercase,
633 ScaleAgain = 0.96,
634 Extension = .otf,
635 UprightFont= IBMPlexMono-Regular,
636 BoldFont = IBMPlexMono-Bold,
637 ItalicFont = IBMPlexMono-Italic,
638 BoldItalicFont = IBMPlexMono-BoldItalic,
639 SlantedFont = IBMPlexMono-TextItalic,
640 ]
641 \@mdf@augment@ibmplexmonotrue
642 \if@mdf@UseUnicodeMath
643 \defaultfontfeatures{}% Erewhon Math needs this here!
644 \setmathfont{Erewhon Math}[Scale=MatchLowercase]
645 \fi
646 }{}
647
648 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{dejavu}{%
572 \RequirePackage{newunicodechar} 649 \RequirePackage{newunicodechar}
573 % automatically applied with Scale=MatchLowercase,... 650 % automatically applied with Scale=MatchLowercase,...
574 \if@mdf@UseUnicodeMath 651 \if@mdf@UseUnicodeMath
575 \RequirePackage[% 652 \RequirePackage[%
576 RM={% 653 RM={%
580 ItalicFeatures = {SmallCapsFont = {XCharter-Italic.otf}},% 657 ItalicFeatures = {SmallCapsFont = {XCharter-Italic.otf}},%
581 BoldFeatures = {SmallCapsFont = {XCharter-Bold.otf}},% 658 BoldFeatures = {SmallCapsFont = {XCharter-Bold.otf}},%
582 BoldItalicFeatures = {SmallCapsFont = {XCharter-BoldItalic.otf}},% 659 BoldItalicFeatures = {SmallCapsFont = {XCharter-BoldItalic.otf}},%
583 },% 660 },%
584 SS={Scale = 0.92},% 661 SS={Scale = 0.92},%
662 TT={Scale=MatchLowercase,FakeStretch=0.98,ScaleAgain=1.02},%
585 mono=true,serif=true,sans=true,math=true]{dejavu-otf} 663 mono=true,serif=true,sans=true,math=true]{dejavu-otf}
586 \setmathfont{XCharter Math}[range={"2713,"2AB7},Scale=MatchLowercase] 664 \setmathfont{XCharter Math}[range={"2713,"2AB7},Scale=MatchLowercase]
587 \setmathfont{DejaVu Math TeX Gyre}[range={},Scale=MatchLowercase] 665 \setmathfont{DejaVu Math TeX Gyre}[range={},Scale=MatchLowercase]
588 %\setmathfont{DejaVu Math TeX Gyre}[range={},version=normal] 666 %\setmathfont{DejaVu Math TeX Gyre}[range={},version=normal]
589 %\setmathfont{DejaVu Math TeX Gyre}[range={},FakeBold=3,version=bold] 667 %\setmathfont{DejaVu Math TeX Gyre}[range={},FakeBold=3,version=bold]
590 \else 668 \else
591 \RequirePackage[% 669 \RequirePackage[%
592 RM={% 670 RM={%
593 Scale = 0.92,% as in dejavu-otf 671 Scale = 0.92,% as in dejavu-otf
594 SmallCapsFont = {XCharter-Roman.otf},% 672 SmallCapsFont = {XCharter-Roman.otf},%
595 SmallCapsFeatures={Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.12}},% 673 SmallCapsFeatures={Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.12},%
596 ItalicFeatures = {SmallCapsFont = {XCharter-Italic.otf}},% 674 ItalicFeatures = {SmallCapsFont = {XCharter-Italic.otf}},%
597 BoldFeatures = {SmallCapsFont = {XCharter-Bold.otf}},% 675 BoldFeatures = {SmallCapsFont = {XCharter-Bold.otf}},%
598 BoldItalicFeatures = {SmallCapsFont = {XCharter-BoldItalic.otf}},% 676 BoldItalicFeatures = {SmallCapsFont = {XCharter-BoldItalic.otf}},%
599 },% 677 },%
600 SS={Scale = 0.92},% 678 SS={Scale = 0.92},%
679 TT={Scale=MatchLowercase,FakeStretch=0.98,ScaleAgain=1.02},%
601 mono=true,serif=true,sans=true,math=false]{dejavu-otf} 680 mono=true,serif=true,sans=true,math=false]{dejavu-otf}
602 \fi 681 \fi
603 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387 682 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387
604 % 683 %
605 % Try to fix for missing \mathrm: 684 % Try to fix for missing \mathrm:
609 %\mathversion{normal}\let\mathrm\symup 688 %\mathversion{normal}\let\mathrm\symup
610 % THIS WORKS (see also unicode-math.pdf Section 4.4.3 Operator font): 689 % THIS WORKS (see also unicode-math.pdf Section 4.4.3 Operator font):
611 \if@mdf@UseUnicodeMath 690 \if@mdf@UseUnicodeMath
612 \setoperatorfont\symup 691 \setoperatorfont\symup
613 \fi 692 \fi
614 \fi 693 }{}
615 694
616 \if@mdf@WithMerriweather 695 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{merriweather}{%
617 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 696 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
618 \linespread{1.06} 697 \ifx\@mdf@linespread\@empty\linespread{1.06}\fi
619 \defaultfontfeatures{% 698 \defaultfontfeatures{%
620 Scale = 0.92, 699 Scale = 0.92,
621 Ligatures = TeX, 700 Ligatures = TeX,
622 Numbers = {Lining,Tabular}, 701 Numbers = {Lining,Tabular},
623 Extension = .otf, 702 Extension = .otf,
637 \if@mdf@UseUnicodeMath 716 \if@mdf@UseUnicodeMath
638 \defaultfontfeatures{Scale=MatchLowercase} 717 \defaultfontfeatures{Scale=MatchLowercase}
639 \RequirePackage[no-text]{concmath-otf}% for concmath-otf 718 \RequirePackage[no-text]{concmath-otf}% for concmath-otf
640 \fi 719 \fi
641 \@mdf@mono@hackmonotrue 720 \@mdf@mono@hackmonotrue
642 \fi 721 }{}
643 722
644 \if@mdf@WithLiterata 723 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{merriweather-light}{%
724 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
725 \ifx\@mdf@linespread\@empty\linespread{1.06}\fi
726 \defaultfontfeatures{%
727 Scale = 0.92,
728 Ligatures = TeX,
729 Numbers = {Lining,Tabular},
730 Extension = .otf,
731 }
732 \setmainfont{Merriweather}[%
733 UprightFont = *-Light ,
734 ItalicFont = *-LightItalic ,
735 BoldFont = *-Regular ,
736 BoldItalicFont = *-Italic
737 ]
738 \setsansfont{MerriweatherSans}[%
739 UprightFont = *-Light ,
740 ItalicFont = *-LightItalic ,
741 BoldFont = *-Regular ,
742 BoldItalicFont = *-Italic
743 ]
744 \if@mdf@UseUnicodeMath
745 \defaultfontfeatures{Scale=MatchLowercase}
746 \RequirePackage[no-text]{concmath-otf}% for concmath-otf
747 \fi
748 %\@mdf@mono@hackmonotrue
749 \renewcommand{\@mfd@extra@mono@features}{ScaleAgain = 0.98,}
750 \@mdf@mono@dejavusansmonotrue
751 }{}
752
753 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{merriweather-sans}{%
754 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
755 \ifx\@mdf@linespread\@empty\linespread{1.06}\fi
756 \defaultfontfeatures{%
757 Scale = 0.92,
758 Ligatures = TeX,
759 Numbers = {Lining,Tabular},
760 Extension = .otf,
761 }
762 \setmainfont{Merriweather}[%
763 UprightFont = *-Regular ,
764 ItalicFont = *-Italic ,
765 BoldFont = *-Bold ,
766 BoldItalicFont = *-BoldItalic
767 ]
768 \setsansfont{MerriweatherSans}[%
769 UprightFont = *-Regular ,
770 ItalicFont = *-Italic ,
771 BoldFont = *-Bold ,
772 BoldItalicFont = *-BoldItalic
773 ]
774 \defaultfontfeatures{Ligatures = TeX, Numbers = {Lining,Tabular}}
775 \setmonofont{CascadiaCode}[Scale=MatchLowercase, ScaleAgain=0.98]
776 \@mdf@augment@cascadiacodetrue
777
778 \if@mdf@UseUnicodeMath
779 \defaultfontfeatures{Scale=MatchLowercase}
780 \RequirePackage{lete-sans-math}
781 \fi
782 % \@mdf@mono@hackmonotrue
783 }{}
784
785 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{merriweather-sans-light}{%
786 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
787 \ifx\@mdf@linespread\@empty\linespread{1.06}\fi
788 \defaultfontfeatures{%
789 Scale = 0.92,
790 Ligatures = TeX,
791 Numbers = {Lining,Tabular},
792 Extension = .otf,
793 }
794 \setmainfont{Merriweather}[%
795 UprightFont = *-Light ,
796 ItalicFont = *-LightItalic ,
797 BoldFont = *-Regular ,
798 BoldItalicFont = *-Italic
799 ]
800 \setsansfont{MerriweatherSans}[%
801 UprightFont = *-Light ,
802 ItalicFont = *-LightItalic ,
803 BoldFont = *-Regular ,
804 BoldItalicFont = *-Italic ,
805 ]
806 \defaultfontfeatures{Ligatures = TeX, Numbers = {Lining,Tabular}}
807 \setmonofont{CascadiaCode}[
808 Scale = MatchLowercase,
809 ScaleAgain = 0.97,
810 UprightFont = *-Light,
811 ItalicFont = *-LightItalic,
812 BoldFont = *-Regular,
813 BoldItalicFont = *-Italic]
814 \@mdf@augment@cascadiacodetrue
815 \if@mdf@UseUnicodeMath
816 \defaultfontfeatures{}
817 \setmathfont{Asana Math}[Scale=MatchLowercase]
818 \fi
819 % \@mdf@mono@hackmonotrue
820 }{}
821
822 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{firasans}{%
823 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
824 \defaultfontfeatures{%
825 Ligatures = TeX,
826 Numbers = {Lining,Tabular},
827 }
828 \setmainfont{Fira Sans}
829 %\setmainfont{Andada Pro}[Scale=MatchLowercase]
830 \setmainfont{Merriweather}[%
831 Extension = .otf,
832 Scale = MatchLowercase,
833 UprightFont = *-Regular ,
834 ItalicFont = *-Italic ,
835 BoldFont = *-Bold ,
836 BoldItalicFont = *-BoldItalic
837 ]
838 \setsansfont{Fira Sans}[Scale=MatchLowercase]
839 %\setmonofont{JetBrains Mono}[Scale=MatchLowercase, ScaleAgain=0.98]
840 %\@mdf@augment@jetbrainsmonotrue
841 \renewcommand{\@mfd@extra@mono@features}{ScaleAgain=0.98}
842 \@mdf@mono@firamonotrue
843 \if@mdf@UseUnicodeMath
844 \defaultfontfeatures{Scale=MatchLowercase}
845 \setmathfont{Fira Math}
846 \setmathfont{Lete Sans Math}[range={"22D0,"2713,"2A04,"2AB7}]
847 \setmathfont{Fira Math}[range={}]
848 \fi
849 }{}
850
851 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{literata}{%
645 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 852 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
646 \defaultfontfeatures{% 853 \defaultfontfeatures{%
647 Ligatures = TeX, 854 Ligatures = TeX,
648 Numbers = {Lining,Tabular}, 855 Numbers = {Lining,Tabular},
649 } 856 }
650 \setmainfont{Literata} 857 \setmainfont{Literata}
651 \setsansfont{Inter}[Scale=MatchLowercase] 858 \setsansfont{Inter}[Scale=MatchLowercase]
652 \setmonofont{IBMPlexMono}[% 859 \setmonofont{IBMPlexMono}[%
653 Scale = MatchLowercase, 860 Scale = MatchLowercase,
861 ScaleAgain = 0.98,
654 Extension = .otf, 862 Extension = .otf,
655 UprightFont= *-Regular, 863 UprightFont= *-Regular,
656 BoldFont = *-Bold, 864 BoldFont = *-Bold,
657 ItalicFont = *-Italic, 865 ItalicFont = *-Italic,
658 BoldItalicFont = *-BoldItalic, 866 BoldItalicFont = *-BoldItalic,
661 \if@mdf@UseUnicodeMath 869 \if@mdf@UseUnicodeMath
662 \defaultfontfeatures{Scale=MatchLowercase}% for concmath-otf and Plex Mono 870 \defaultfontfeatures{Scale=MatchLowercase}% for concmath-otf and Plex Mono
663 \RequirePackage[no-text]{concmath-otf} 871 \RequirePackage[no-text]{concmath-otf}
664 \fi 872 \fi
665 \@mdf@augment@ibmplexmonotrue 873 \@mdf@augment@ibmplexmonotrue
666 \fi 874 }{}
667 875
668 \if@mdf@WithLiterataFiraMono 876 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{literata-firamono}{%
669 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 877 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
670 \defaultfontfeatures{% 878 \defaultfontfeatures{%
671 Ligatures = TeX, 879 Ligatures = TeX,
672 Numbers = {Lining,Tabular}, 880 Numbers = {Lining,Tabular},
673 } 881 }
676 \setsansfont{Inter} 884 \setsansfont{Inter}
677 \if@mdf@UseUnicodeMath 885 \if@mdf@UseUnicodeMath
678 \defaultfontfeatures{Scale=MatchLowercase} 886 \defaultfontfeatures{Scale=MatchLowercase}
679 \RequirePackage[no-text]{concmath-otf}% for concmath-otf 887 \RequirePackage[no-text]{concmath-otf}% for concmath-otf
680 \fi 888 \fi
889 \renewcommand{\@mfd@extra@mono@features}{ScaleAgain = 0.98,}
681 \@mdf@mono@firamonomediumtrue 890 \@mdf@mono@firamonomediumtrue
682 \fi 891 }{}
683 892
684 \if@mdf@WithLiterataRobotoMono 893 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{literata-robotomono}{%
685 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 894 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
686 \defaultfontfeatures{% 895 \defaultfontfeatures{%
687 Ligatures = TeX, 896 Ligatures = TeX,
688 Numbers = {Lining,Tabular}, 897 Numbers = {Lining,Tabular},
689 } 898 }
691 \setsansfont{Cabin}[Scale=MatchLowercase] 900 \setsansfont{Cabin}[Scale=MatchLowercase]
692 \if@mdf@UseUnicodeMath 901 \if@mdf@UseUnicodeMath
693 \defaultfontfeatures{Scale=MatchLowercase} 902 \defaultfontfeatures{Scale=MatchLowercase}
694 \RequirePackage[no-text]{concmath-otf}% for concmath-otf 903 \RequirePackage[no-text]{concmath-otf}% for concmath-otf
695 \fi 904 \fi
905 \renewcommand{\@mfd@extra@mono@features}{ScaleAgain = 0.985,}
696 \@mdf@mono@robotomonotrue 906 \@mdf@mono@robotomonotrue
697 \fi 907 }{}
698 908
699 \if@mdf@WithVollkorn 909 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{vollkorn}{%
700 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 910 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
701 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 911 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
702 \setmainfont{Vollkorn}[ 912 \setmainfont{Vollkorn}[
703 UprightFont = * Regular, 913 UprightFont = * Regular,
704 BoldFont = * Bold, 914 BoldFont = * Bold,
710 UprightFont = *, 920 UprightFont = *,
711 BoldFont = * Bold, 921 BoldFont = * Bold,
712 ItalicFont = * Italic, 922 ItalicFont = * Italic,
713 BoldItalicFont = * Bold Italic, 923 BoldItalicFont = * Bold Italic,
714 ] 924 ]
715 \setmonofont{CascadiaMono}[Scale=MatchLowercase] 925 \setmonofont{Cascadia Code}[Scale=MatchLowercase]
716 \if@mdf@UseUnicodeMath 926 \if@mdf@UseUnicodeMath
717 \defaultfontfeatures{Scale=MatchLowercase} 927 \defaultfontfeatures{Scale=MatchLowercase}
718 \setmathfont{STIX Two Math} 928 \setmathfont{STIX Two Math}
719 \fi 929 \fi
720 \@mdf@augment@cascadiacodetrue 930 \@mdf@augment@cascadiacodetrue
721 \fi 931 }{}
722 932
723 \if@mdf@WithErewhon 933 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{erewhon}{%
724 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 934 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
725 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 935 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
726 \setmainfont{Erewhon}[ 936 \setmainfont{Erewhon}[
727 UprightFont = * Regular, 937 UprightFont = * Regular,
728 BoldFont = * Bold, 938 BoldFont = * Bold,
739 \if@mdf@UseUnicodeMath 949 \if@mdf@UseUnicodeMath
740 \defaultfontfeatures{Scale=MatchLowercase} 950 \defaultfontfeatures{Scale=MatchLowercase}
741 \setmathfont{Erewhon Math} 951 \setmathfont{Erewhon Math}
742 \fi 952 \fi
743 \@mdf@mono@hackmonotrue 953 \@mdf@mono@hackmonotrue
744 \fi 954 }{}
745 955
746 \if@mdf@WithGentium 956 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{gentium}{%
747 \if@mdf@UseUnicodeMath\RequirePackage[math-style=upright]{unicode-math}\fi 957 \if@mdf@UseUnicodeMath\RequirePackage[math-style=upright]{unicode-math}\fi
748 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 958 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
749 \setmainfont{Gentium}[ 959 \setmainfont{Gentium}[
750 UprightFont = * Regular, 960 UprightFont = * Regular,
751 BoldFont = * Bold, 961 BoldFont = * Bold,
768 %\setmathfont{Euler Math} 978 %\setmathfont{Euler Math}
769 %\renewcommand{\varrho}{\rho} 979 %\renewcommand{\varrho}{\rho}
770 %\renewcommand{\rho}{\mbfsansrho} 980 %\renewcommand{\rho}{\mbfsansrho}
771 \fi 981 \fi
772 \@mdf@augment@jetbrainsmonotrue 982 \@mdf@augment@jetbrainsmonotrue
773 \fi 983 }{}
774 984
775 \if@mdf@WithZillaSlab 985 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{zillaslab}{%
776 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 986 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
777 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 987 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
778 \setmainfont{Zilla Slab}[ 988 \setmainfont{Zilla Slab}[
779 UprightFont = * Regular, 989 UprightFont = * Regular,
780 BoldFont = * Bold, 990 BoldFont = * Bold,
806 \if@mdf@UseUnicodeMath 1016 \if@mdf@UseUnicodeMath
807 \defaultfontfeatures{Scale=MatchLowercase} 1017 \defaultfontfeatures{Scale=MatchLowercase}
808 \RequirePackage[no-text]{concmath-otf}% for concmath-otf 1018 \RequirePackage[no-text]{concmath-otf}% for concmath-otf
809 \fi 1019 \fi
810 %\@mdf@augment@jetbrainsmonotrue 1020 %\@mdf@augment@jetbrainsmonotrue
811 \fi 1021 }{}
812 1022
813 \if@mdf@WithAleo 1023 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{aleo}{%
814 \if@mdf@UseUnicodeMath\RequirePackage[math-style=upright]{unicode-math}\fi 1024 \if@mdf@UseUnicodeMath\RequirePackage[math-style=upright]{unicode-math}\fi
815 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 1025 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
816 \setmainfont{Aleo}[ 1026 \setmainfont{Aleo}[
817 Extension = .ttf, 1027 Extension = .ttf,
818 UprightFont = {Aleo-VariableFont_wght} , 1028 UprightFont = {Aleo-VariableFont_wght} ,
850 \defaultfontfeatures{} 1060 \defaultfontfeatures{}
851 \RequirePackage[Scale=MatchLowercase]{euler-math} 1061 \RequirePackage[Scale=MatchLowercase]{euler-math}
852 \setmathfont{XCharter Math}[range={"03F1,"1D71A},Scale=MatchLowercase] 1062 \setmathfont{XCharter Math}[range={"03F1,"1D71A},Scale=MatchLowercase]
853 \setmathfont{Euler Math}[range={},Scale=MatchLowercase] 1063 \setmathfont{Euler Math}[range={},Scale=MatchLowercase]
854 \fi 1064 \fi
855 \fi 1065 }{}
856 1066
857 \if@mdf@WithLora 1067 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{lato}{%
858 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 1068 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
1069 % Normal procecure because no size adjustments are needed
859 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 1070 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
860 \linespread{1.02} 1071 \setmainfont{Aleo}[
1072 Extension = .ttf,
1073 UprightFont = {Aleo-VariableFont_wght} ,
1074 UprightFeatures = {Instance = Regular} ,
1075 ItalicFont = {Aleo-Italic-VariableFont_wght} ,
1076 ItalicFeatures = {Instance = Italic} ,
1077 BoldFont = {Aleo-VariableFont_wght} ,
1078 BoldFeatures = {Instance = Bold} ,
1079 BoldItalicFont = {Aleo-Italic-VariableFont_wght} ,
1080 BoldItalicFeatures = {Instance = {Bold Italic}} ,
1081 SmallCapsFont = {ZillaSlab-Medium.otf} ,
1082 SmallCapsFeatures = {Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.1} ,
1083 ItalicFeatures = {SmallCapsFont = {ZillaSlab-MediumItalic.otf}} ,
1084 BoldFeatures = {SmallCapsFont = {ZillaSlab-Bold.otf}} ,
1085 ]
1086 \setsansfont{Lato}[%
1087 UprightFont = * Regular,
1088 BoldFont = * Bold,
1089 ItalicFont = * Italic,
1090 BoldItalicFont = * Bold Italic,
1091 SmallCapsFont = {Raleway Medium},
1092 SmallCapsFeatures = {Letters = SmallCaps, Scale = MatchLowercase, ScaleAgain = 1.015},
1093 ItalicFeatures = {SmallCapsFont = {Raleway Medium Italic}},
1094 BoldFeatures = {SmallCapsFont = {Raleway Bold}},
1095 ]
1096 \setmonofont{IBMPlexMonoText}[%
1097 Scale = MatchLowercase,
1098 ScaleAgain = 0.97,
1099 Extension = .otf,
1100 UprightFont= IBMPlexMono-Text,
1101 BoldFont = IBMPlexMono-Bold,
1102 ItalicFont = IBMPlexMono-TextItalic,
1103 BoldItalicFont = IBMPlexMono-BoldItalic,
1104 SlantedFont = IBMPlexMono-TextItalic,
1105 ]
1106 \@mdf@augment@ibmplexmonotrue
1107
1108 \if@mdf@UseUnicodeMath
1109 \defaultfontfeatures{}
1110 \RequirePackage{lete-sans-math}
1111 \fi
1112 }{}
1113
1114 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{lora}{%
1115 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
1116 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
1117 \ifx\@mdf@linespread\@empty\linespread{1.04}\fi
861 \setmainfont{Lora}[% 1118 \setmainfont{Lora}[%
862 Scale = 0.98, 1119 Scale = 0.98,
863 UprightFont = * Regular, 1120 UprightFont = * Regular,
864 BoldFont = * Bold, 1121 BoldFont = * Bold,
865 ItalicFont = * Italic, 1122 ItalicFont = * Italic,
874 \if@mdf@UseUnicodeMath 1131 \if@mdf@UseUnicodeMath
875 \defaultfontfeatures{Scale=MatchLowercase} 1132 \defaultfontfeatures{Scale=MatchLowercase}
876 \setmathfont{Asana Math} 1133 \setmathfont{Asana Math}
877 \fi 1134 \fi
878 %\@mdf@mono@libertinusmonotrue 1135 %\@mdf@mono@libertinusmonotrue
1136 \renewcommand{\@mfd@extra@mono@features}{ScaleAgain = 0.95,}
879 \@mdf@mono@gomonotrue 1137 \@mdf@mono@gomonotrue
880 \fi 1138 }{}
881 1139
882 \if@mdf@WithBaskerville 1140 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{baskerville}{%
883 \if@mdf@UseUnicodeMath\RequirePackage[math-style=upright]{unicode-math}\fi 1141 \if@mdf@UseUnicodeMath\RequirePackage[math-style=upright]{unicode-math}\fi
884 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 1142 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
885 \linespread{1.02} 1143 \ifx\@mdf@linespread\@empty\linespread{1.06}\fi
886 \setmainfont{Libre Baskerville}[% 1144 \setmainfont{Libre Baskerville}[%
887 Scale=0.92, 1145 Scale=0.92,
888 UprightFont = * Regular, 1146 UprightFont = * Regular,
889 BoldFont = * Bold, 1147 BoldFont = * Bold,
890 ItalicFont = * Italic, 1148 ItalicFont = * Italic,
916 \defaultfontfeatures{Scale=MatchLowercase} 1174 \defaultfontfeatures{Scale=MatchLowercase}
917 \setmathfont{XCharter Math}[range={"03F1,"1D71A}] 1175 \setmathfont{XCharter Math}[range={"03F1,"1D71A}]
918 \setmathfont{Euler Math}[range={}] 1176 \setmathfont{Euler Math}[range={}]
919 \fi 1177 \fi
920 \@mdf@augment@cmutypewritertexttrue 1178 \@mdf@augment@cmutypewritertexttrue
921 \fi 1179 }{}
922 1180
923 \if@mdf@WithStix 1181 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{stix}{%
924 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi 1182 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
925 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 1183 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
926 \setmainfont{STIX Two Text}[% 1184 \setmainfont{STIX Two Text}[%
927 UprightFont = * Regular, 1185 UprightFont = * Regular,
928 BoldFont = * Bold, 1186 BoldFont = * Bold,
929 ItalicFont = * Italic, 1187 ItalicFont = * Italic,
930 BoldItalicFont = * Bold Italic, 1188 BoldItalicFont = * Bold Italic,
931 ] 1189 ]
932 \setsansfont{Inter}[Scale=MatchLowercase] 1190 \setsansfont{Inter}[Scale=MatchLowercase]
933 \setmonofont{CMU Typewriter Text}[Scale=MatchLowercase] 1191 \setmonofont{CMU Typewriter Text}[Scale=MatchLowercase, ScaleAgain=0.97]
934 \if@mdf@UseUnicodeMath 1192 \if@mdf@UseUnicodeMath
935 \defaultfontfeatures{Scale=MatchLowercase} 1193 \defaultfontfeatures{Scale=MatchLowercase}
936 \setmathfont{STIX Two Math} 1194 \setmathfont{STIX Two Math}
937 \fi 1195 \fi
938 \@mdf@augment@cmutypewritertexttrue 1196 \@mdf@augment@cmutypewritertexttrue
939 \fi 1197 }{}
940 1198
941 % 1199 %
942 % MONO 1200 % MONO
943 % 1201 %
944 1202
950 } 1208 }
951 1209
952 \if@mdf@mono@dejavusansmono 1210 \if@mdf@mono@dejavusansmono
953 \RequirePackage{newunicodechar} 1211 \RequirePackage{newunicodechar}
954 % automatically applied with Scale=MatchLowercase,... 1212 % automatically applied with Scale=MatchLowercase,...
955 \defaultfontfeatures{% 1213 % \defaultfontfeatures{%
956 Ligatures=TeX, 1214 % Ligatures=TeX,
957 Numbers={Lining,Tabular} 1215 % Numbers={Lining,Tabular},
958 } 1216 % Scale=MatchLowercase,
959 \RequirePackage[mono=true,serif=false,sans=false,math=false]{dejavu-otf} % almost all symbols are available 1217 % \@mfd@extra@mono@features
1218 % }
1219 \RequirePackage[DefaultFeatures={Ligatures=TeX,Numbers={Lining,Tabular},Scale=MatchLowercase},mono=true,serif=false,sans=false,math=false,TT={\@mfd@extra@mono@features}]{dejavu-otf} % almost all symbols are available
960 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387 1220 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387
961 \fi 1221 \fi
962 1222
963 \if@mdf@mono@cmmono 1223 \if@mdf@mono@cmmono
964 \RequirePackage{newunicodechar} 1224 \RequirePackage{newunicodechar}
965 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1225 \@mdf@provide@dejavu@mono@families
966 UprightFont = *,
967 BoldFont = * Bold,
968 ItalicFont = * Oblique,
969 BoldItalicFont = * Bold Oblique,
970 ]
971 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
972 UprightFont = *,
973 BoldFont = * Bold,
974 ItalicFont = * Oblique,
975 BoldItalicFont = * Bold Oblique,
976 ]
977 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 1226 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
978 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9 1227 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
979 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1228 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
980 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6 1229 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
981 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 1230 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
1015 \setmonofont{Source Code Pro}[ 1264 \setmonofont{Source Code Pro}[
1016 UprightFont = *, 1265 UprightFont = *,
1017 BoldFont = * Bold, 1266 BoldFont = * Bold,
1018 ItalicFont = * Italic, 1267 ItalicFont = * Italic,
1019 BoldItalicFont = * Bold Italic, 1268 BoldItalicFont = * Bold Italic,
1020 ] 1269 \@mfd@extra@mono@features
1021 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1270 ]
1022 UprightFont = *, 1271 \@mdf@provide@dejavu@mono@families
1023 BoldFont = * Bold,
1024 ItalicFont = * Oblique,
1025 BoldItalicFont = * Bold Oblique,
1026 ]
1027 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
1028 UprightFont = *,
1029 BoldFont = * Bold,
1030 ItalicFont = * Oblique,
1031 BoldItalicFont = * Bold Oblique,
1032 ]
1033 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1272 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
1034 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 1273 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
1035 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6 1274 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
1036 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7 1275 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7
1037 \newunicodechar{⇒}{{\DejaVuSansMono ⇒}}% U+21D2 1276 \newunicodechar{⇒}{{\DejaVuSansMono ⇒}}% U+21D2
1065 \setmonofont{Inconsolata LGC Nerd Font Mono}[% 1304 \setmonofont{Inconsolata LGC Nerd Font Mono}[%
1066 UprightFont = *, 1305 UprightFont = *,
1067 BoldFont = * Bold, 1306 BoldFont = * Bold,
1068 ItalicFont = * Italic, 1307 ItalicFont = * Italic,
1069 BoldItalicFont = * Bold Italic, 1308 BoldItalicFont = * Bold Italic,
1070 ] 1309 \@mfd@extra@mono@features
1071 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1310 ]
1072 UprightFont = *, 1311 \@mdf@provide@dejavu@mono@families
1073 BoldFont = * Bold,
1074 ItalicFont = * Oblique,
1075 BoldItalicFont = * Bold Oblique,
1076 ]
1077 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
1078 UprightFont = *,
1079 BoldFont = * Bold,
1080 ItalicFont = * Oblique,
1081 BoldItalicFont = * Bold Oblique,
1082 ]
1083 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9 1312 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
1084 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1313 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
1085 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 1314 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
1086 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6 1315 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
1087 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7 1316 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7
1114 \setmonofont{Roboto Mono}[% 1343 \setmonofont{Roboto Mono}[%
1115 UprightFont = *, 1344 UprightFont = *,
1116 BoldFont = * Bold, 1345 BoldFont = * Bold,
1117 ItalicFont = * Italic, 1346 ItalicFont = * Italic,
1118 BoldItalicFont = * Bold Italic, 1347 BoldItalicFont = * Bold Italic,
1119 ] 1348 \@mfd@extra@mono@features
1120 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1349 ]
1121 UprightFont = *, 1350 \@mdf@provide@dejavu@mono@families
1122 BoldFont = * Bold,
1123 ItalicFont = * Oblique,
1124 BoldItalicFont = * Bold Oblique,
1125 ]
1126 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
1127 UprightFont = *,
1128 BoldFont = * Bold,
1129 ItalicFont = * Oblique,
1130 BoldItalicFont = * Bold Oblique,
1131 ]
1132 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 1351 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
1133 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9 1352 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
1134 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1353 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
1135 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6 1354 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
1136 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 1355 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
1163 {sphinx} 1382 {sphinx}
1164 \fi 1383 \fi
1165 1384
1166 \if@mdf@mono@hackmono 1385 \if@mdf@mono@hackmono
1167 \RequirePackage{newunicodechar} 1386 \RequirePackage{newunicodechar}
1168 \setmonofont{Hack} 1387 \setmonofont{Hack}[\@mfd@extra@mono@features]
1169 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1388 \@mdf@provide@dejavu@mono@families
1170 UprightFont = *,
1171 BoldFont = * Bold,
1172 ItalicFont = * Oblique,
1173 BoldItalicFont = * Bold Oblique,
1174 ]
1175 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
1176 UprightFont = *,
1177 BoldFont = * Bold,
1178 ItalicFont = * Oblique,
1179 BoldItalicFont = * Bold Oblique,
1180 ]
1181 \newunicodechar{␣}{{\DejaVuSansMono ␣}}% U+2423 1389 \newunicodechar{␣}{{\DejaVuSansMono ␣}}% U+2423
1182 \newunicodechar{⌃}{{\DejaVuSansMono ⌃}}% U+2303 1390 \newunicodechar{⌃}{{\DejaVuSansMono ⌃}}% U+2303
1183 \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388 1391 \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388
1184 \newunicodechar{⌥}{{\DejaVuSansMono ⌥}}% U+2325 1392 \newunicodechar{⌥}{{\DejaVuSansMono ⌥}}% U+2325
1185 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387 1393 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387
1198 \setmonofont{Fira Mono}[% 1406 \setmonofont{Fira Mono}[%
1199 UprightFont = * Regular, 1407 UprightFont = * Regular,
1200 ItalicFont = * Oblique, 1408 ItalicFont = * Oblique,
1201 BoldFont = * Bold, 1409 BoldFont = * Bold,
1202 BoldItalicFont = * Bold Oblique, 1410 BoldItalicFont = * Bold Oblique,
1411 \@mfd@extra@mono@features
1203 ] 1412 ]
1204 \@mdf@augment@firamonotrue 1413 \@mdf@augment@firamonotrue
1205 \fi 1414 \fi
1206 1415
1207 \if@mdf@mono@firamonomedium 1416 \if@mdf@mono@firamonomedium
1208 \setmonofont{Fira Mono}[% 1417 \setmonofont{Fira Mono}[%
1209 UprightFont = * Medium, 1418 UprightFont = * Medium,
1210 ItalicFont = * Medium Oblique, 1419 ItalicFont = * Medium Oblique,
1211 BoldFont = * Bold, 1420 BoldFont = * Bold,
1212 BoldItalicFont = * Bold Oblique, 1421 BoldItalicFont = * Bold Oblique,
1422 \@mfd@extra@mono@features
1213 ] 1423 ]
1214 \@mdf@augment@firamonotrue 1424 \@mdf@augment@firamonotrue
1215 \fi 1425 \fi
1216 1426
1217 \if@mdf@mono@libertinusmono 1427 \if@mdf@mono@libertinusmono
1230 BoldFont = *-Regular, 1440 BoldFont = *-Regular,
1231 BoldFeatures = {RawFeature={embolden=3}}, 1441 BoldFeatures = {RawFeature={embolden=3}},
1232 BoldItalicFont = *-Regular, 1442 BoldItalicFont = *-Regular,
1233 BoldItalicFeatures={FakeSlant=0.2,RawFeature={embolden=3}}, 1443 BoldItalicFeatures={FakeSlant=0.2,RawFeature={embolden=3}},
1234 Extension = .otf, 1444 Extension = .otf,
1445 \@mfd@extra@mono@features
1235 ] 1446 ]
1236 \@mdf@augment@libertinusmonotrue 1447 \@mdf@augment@libertinusmonotrue
1237 \fi 1448 \fi
1238 1449
1239 \if@mdf@mono@gomono 1450 \if@mdf@mono@gomono
1240 \setmonofont{Go Mono}[ScaleAgain = 0.95] 1451 \setmonofont{Go Mono}[%
1452 \@mfd@extra@mono@features
1453 ]
1241 \@mdf@augment@gomonotrue 1454 \@mdf@augment@gomonotrue
1242 \fi 1455 \fi
1243 1456
1244 % 1457 %
1245 % AUGMENT 1458 % AUGMENT
1250 Scale=MatchLowercase, 1463 Scale=MatchLowercase,
1251 Ligatures=TeX, 1464 Ligatures=TeX,
1252 Numbers={Lining,Tabular} 1465 Numbers={Lining,Tabular}
1253 } 1466 }
1254 1467
1468 \if@mdf@optionequalTF{\@mdf@option@fonts@selection}{external}{%
1469 \InputIfFileExists{\@mdf@externalname.augment}{%
1470 \PackageInfo{my-doc-fonts}{Loading \@mdf@externalname.augment font style file}}{}
1471 }{}
1472
1255 \if@mdf@augment@ibmplexmono 1473 \if@mdf@augment@ibmplexmono
1256 \RequirePackage{newunicodechar} 1474 \RequirePackage{newunicodechar}
1257 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1475 \@mdf@provide@dejavu@mono@families
1258 UprightFont = *,
1259 BoldFont = * Bold,
1260 ItalicFont = * Oblique,
1261 BoldItalicFont = * Bold Oblique,
1262 ]
1263 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
1264 UprightFont = *,
1265 BoldFont = * Bold,
1266 ItalicFont = * Oblique,
1267 BoldItalicFont = * Bold Oblique,
1268 ]
1269 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 1476 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
1270 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9 1477 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
1271 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1478 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
1272 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6 1479 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
1273 \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA 1480 \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA
1302 {sphinx} 1509 {sphinx}
1303 \fi 1510 \fi
1304 1511
1305 \if@mdf@augment@libertinusmono 1512 \if@mdf@augment@libertinusmono
1306 \RequirePackage{newunicodechar} 1513 \RequirePackage{newunicodechar}
1307 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1514 \@mdf@provide@dejavu@mono@families
1308 UprightFont = *,
1309 BoldFont = * Bold,
1310 ItalicFont = * Oblique,
1311 BoldItalicFont = * Bold Oblique,
1312 ]
1313 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
1314 UprightFont = *,
1315 BoldFont = * Bold,
1316 ItalicFont = * Oblique,
1317 BoldItalicFont = * Bold Oblique,
1318 ]
1319 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 1515 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
1320 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9 1516 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
1321 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1517 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
1322 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6 1518 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
1323 \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA 1519 \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA
1358 {sphinx} 1554 {sphinx}
1359 \fi 1555 \fi
1360 1556
1361 \if@mdf@augment@redhatmono 1557 \if@mdf@augment@redhatmono
1362 \RequirePackage{newunicodechar} 1558 \RequirePackage{newunicodechar}
1363 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1559 \@mdf@provide@dejavu@mono@families
1364 UprightFont = *,
1365 BoldFont = * Bold,
1366 ItalicFont = * Oblique,
1367 BoldItalicFont = * Bold Oblique,
1368 ]
1369 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
1370 UprightFont = *,
1371 BoldFont = * Bold,
1372 ItalicFont = * Oblique,
1373 BoldItalicFont = * Bold Oblique,
1374 ]
1375 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 1560 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
1376 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9 1561 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
1377 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1562 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
1378 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6 1563 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
1379 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 1564 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
1409 {sphinx} 1594 {sphinx}
1410 \fi 1595 \fi
1411 1596
1412 \if@mdf@augment@cascadiacode 1597 \if@mdf@augment@cascadiacode
1413 \RequirePackage{newunicodechar} 1598 \RequirePackage{newunicodechar}
1414 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1599 \@mdf@provide@dejavu@mono@families
1415 UprightFont = *,
1416 BoldFont = * Bold,
1417 ItalicFont = * Oblique,
1418 BoldItalicFont = * Bold Oblique,
1419 ]
1420 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
1421 UprightFont = *,
1422 BoldFont = * Bold,
1423 ItalicFont = * Oblique,
1424 BoldItalicFont = * Bold Oblique,
1425 ]
1426 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 1600 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
1427 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6 1601 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
1428 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7 1602 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7
1429 \newunicodechar{⇒}{{\DejaVuSansMono ⇒}}% U+21D2 1603 \newunicodechar{⇒}{{\DejaVuSansMono ⇒}}% U+21D2
1430 \newunicodechar{⇔}{{\DejaVuSansMono ⇔}}% U+21D4 1604 \newunicodechar{⇔}{{\DejaVuSansMono ⇔}}% U+21D4
1452 {sphinx} 1626 {sphinx}
1453 \fi 1627 \fi
1454 1628
1455 \if@mdf@augment@jetbrainsmono 1629 \if@mdf@augment@jetbrainsmono
1456 \RequirePackage{newunicodechar} 1630 \RequirePackage{newunicodechar}
1457 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1631 \@mdf@provide@dejavu@mono@families
1458 UprightFont = *,
1459 BoldFont = * Bold,
1460 ItalicFont = * Oblique,
1461 BoldItalicFont = * Bold Oblique,
1462 ]
1463 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
1464 UprightFont = *,
1465 BoldFont = * Bold,
1466 ItalicFont = * Oblique,
1467 BoldItalicFont = * Bold Oblique,
1468 ]
1469 \newunicodechar{≙}{{\DejaVuSansMono ≙}}% U+2259 1632 \newunicodechar{≙}{{\DejaVuSansMono ≙}}% U+2259
1470 \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388 1633 \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388
1471 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387 1634 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387
1472 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF 1635 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF
1473 \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5 1636 \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5
1478 % {sphinx} 1641 % {sphinx}
1479 \fi 1642 \fi
1480 1643
1481 \if@mdf@augment@firamono 1644 \if@mdf@augment@firamono
1482 \RequirePackage{newunicodechar} 1645 \RequirePackage{newunicodechar}
1483 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1646 \@mdf@provide@dejavu@mono@families
1484 UprightFont = *,
1485 BoldFont = * Bold,
1486 ItalicFont = * Oblique,
1487 BoldItalicFont = * Bold Oblique,
1488 ]
1489 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
1490 UprightFont = *,
1491 BoldFont = * Bold,
1492 ItalicFont = * Oblique,
1493 BoldItalicFont = * Bold Oblique,
1494 ]
1495 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 1647 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
1496 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9 1648 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
1497 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1649 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
1498 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 1650 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
1499 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6 1651 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
1523 {sphinx} 1675 {sphinx}
1524 \fi 1676 \fi
1525 1677
1526 \if@mdf@augment@cmutypewritertext 1678 \if@mdf@augment@cmutypewritertext
1527 \RequirePackage{newunicodechar} 1679 \RequirePackage{newunicodechar}
1528 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1680 \@mdf@provide@dejavu@mono@families
1529 UprightFont = *,
1530 BoldFont = * Bold,
1531 ItalicFont = * Oblique,
1532 BoldItalicFont = * Bold Oblique,
1533 ]
1534 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
1535 UprightFont = *,
1536 BoldFont = * Bold,
1537 ItalicFont = * Oblique,
1538 BoldItalicFont = * Bold Oblique,
1539 ]
1540 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 1681 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
1541 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9 1682 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
1542 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1683 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
1543 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6 1684 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
1544 \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA 1685 \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA
1570 \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4 1711 \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4
1571 \fi 1712 \fi
1572 1713
1573 \if@mdf@augment@gomono 1714 \if@mdf@augment@gomono
1574 \RequirePackage{newunicodechar} 1715 \RequirePackage{newunicodechar}
1575 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1716 \@mdf@provide@dejavu@mono@families
1576 UprightFont = *,
1577 BoldFont = * Bold,
1578 ItalicFont = * Oblique,
1579 BoldItalicFont = * Bold Oblique,
1580 ]
1581 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
1582 UprightFont = *,
1583 BoldFont = * Bold,
1584 ItalicFont = * Oblique,
1585 BoldItalicFont = * Bold Oblique,
1586 ]
1587 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 1717 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
1588 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9 1718 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
1589 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1719 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
1590 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6 1720 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
1591 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 1721 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
1622 \fi 1752 \fi
1623 1753
1624 \defaultfontfeatures{} 1754 \defaultfontfeatures{}
1625 1755
1626 \def\testmdf{ 1756 \def\testmdf{
1627 Normalized: \@mdf@fonts\newline 1757 Normalized: \@mdf@option@fonts\newline
1628 } 1758 }
1629 1759
1630 \endinput 1760 \endinput