comparison docs/_latex/my-doc-fonts.sty @ 794:57de2981f589 default tip

Update to the latest Sphinx customizations
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 02 Jun 2026 12:35:24 +0200
parents 46578f03a7cb
children
comparison
equal deleted inserted replaced
793:46578f03a7cb 794:57de2981f589
1 % -*- coding: utf-8 -*- 1 % -*- coding: utf-8 -*-
2 % SPDX-FileCopyrightText: © 2026 Franz Glasner 2 % SPDX-FileCopyrightText: © 2026 Franz Glasner
3 % SPDX-License-Identifier: BSD-3-Clause 3 % SPDX-License-Identifier: BSD-3-Clause OR MIT
4 % 4 %
5 % Some font hacks for my Sphinx PDF documents 5 % Some font hacks for my Sphinx PDF documents.
6 % Needs a LaTeX environment with a working `fontspec' package.
7 %
8 % Options:
9 % - nomath: Disable math support completely
10 % - noglobalunicodemath: Do not load unicode-math globally but only when
11 % really needed
12 % - fonts=<FONT>: Use font pairing named <FONT>. See the list below.
6 % 13 %
7 \NeedsTeXFormat{LaTeX2e} 14 \NeedsTeXFormat{LaTeX2e}
8 \ProvidesPackage{my-doc-fonts}[% 15 \ProvidesPackage{my-doc-fonts}[%
9 2026/05/18 v0.5 (Franz Glasner) Fonts for Sphinx generated PDFs] 16 2026/06/02 rv:c7ae4cfc2c5c (Franz Glasner) Fonts for Sphinx generated PDFs]
10 \RequirePackage{xkeyval} 17 \RequirePackage{xkeyval}
11 \RequirePackage{fontspec} 18 \RequirePackage{fontspec}
12 \IfFileExists{xcolor.sty}{% 19 \IfFileExists{xcolor.sty}{%
13 % Should Sphinx load xcolor with its dvipsnames and svgnames options? 20 % Should Sphinx load xcolor with its dvipsnames and svgnames options?
14 \RequirePackage{xcolor} 21 \RequirePackage{xcolor}
21 \newif\if@mdf@mono@robotomono\@mdf@mono@robotomonofalse 28 \newif\if@mdf@mono@robotomono\@mdf@mono@robotomonofalse
22 \newif\if@mdf@mono@sscode\@mdf@mono@sscodefalse 29 \newif\if@mdf@mono@sscode\@mdf@mono@sscodefalse
23 \newif\if@mdf@mono@inconsolata\@mdf@mono@inconsolatafalse 30 \newif\if@mdf@mono@inconsolata\@mdf@mono@inconsolatafalse
24 \newif\if@mdf@mono@libertinusmono\@mdf@mono@libertinusmonofalse 31 \newif\if@mdf@mono@libertinusmono\@mdf@mono@libertinusmonofalse
25 \newif\if@mdf@mono@hackmono\@mdf@mono@hackmonofalse 32 \newif\if@mdf@mono@hackmono\@mdf@mono@hackmonofalse
33 \newif\if@mdf@mono@firamono\@mdf@mono@firamonofalse
34 \newif\if@mdf@mono@firamonomedium\@mdf@mono@firamonomediumfalse
35 \newif\if@mdf@mono@gomono\@mdf@mono@gomonofalse
36 \newif\if@mdf@augment@cmutypewritertext\@mdf@augment@cmutypewritertextfalse
26 \newif\if@mdf@augment@libertinusmono\@mdf@augment@libertinusmonofalse 37 \newif\if@mdf@augment@libertinusmono\@mdf@augment@libertinusmonofalse
27 \newif\if@mdf@augment@ibmplexmono\@mdf@augment@ibmplexmonofalse 38 \newif\if@mdf@augment@ibmplexmono\@mdf@augment@ibmplexmonofalse
39 \newif\if@mdf@augment@redhatmono\@mdf@augment@redhatmonofalse
40 \newif\if@mdf@augment@cascadiacode\@mdf@augment@cascadiacodefalse
41 \newif\if@mdf@augment@jetbrainsmono\@mdf@augment@jetbrainsmonofalse
42 \newif\if@mdf@augment@firamono\@mdf@augment@firamonofalse
43 \newif\if@mdf@augment@gomono\@mdf@augment@gomonofalse
44
45 \newif\if@mdf@GlobalUnicodeMath\@mdf@GlobalUnicodeMathtrue
46 \DeclareOptionX{noglobalunicodemath}{\@mdf@GlobalUnicodeMathfalse}
47
48 \newif\if@mdf@UseUnicodeMath\@mdf@UseUnicodeMathtrue
49 \DeclareOptionX{nomath}{\@mdf@UseUnicodeMathfalse}
50
51 \newif\if@mdf@NeedUprightUnicodeMath\@mdf@NeedUprightUnicodeMathfalse
28 52
29 \newif\if@mdf@WithDejaVuSansMono 53 \newif\if@mdf@WithDejaVuSansMono
30 \newif\if@mdf@WithCM 54 \newif\if@mdf@WithCM
31 \newif\if@mdf@WithRobotoMono
32 \newif\if@mdf@WithIBMPlex 55 \newif\if@mdf@WithIBMPlex
33 \newif\if@mdf@WithIBMPlexDejaVuSansMono 56 \newif\if@mdf@WithIBMPlexDejaVuSansMono
34 \newif\if@mdf@WithAdobeSourcePro 57 \newif\if@mdf@WithAdobeSourcePro
35 \newif\if@mdf@WithSpectral 58 \newif\if@mdf@WithSpectral
36 \newif\if@mdf@WithCharter 59 \newif\if@mdf@WithCharter
37 \newif\if@mdf@WithLibertinus 60 \newif\if@mdf@WithLibertinus
38 \newif\if@mdf@WithGaramond 61 \newif\if@mdf@WithGaramond
39 \newif\if@mdf@WithTufte 62 \newif\if@mdf@WithTufte
63 \newif\if@mdf@WithTufteHack
64 \newif\if@mdf@WithTufteFiraMono
40 \newif\if@mdf@WithPalatino 65 \newif\if@mdf@WithPalatino
41 \newif\if@mdf@WithPalatinoKB 66 \newif\if@mdf@WithPalatinoKB
67 \newif\if@mdf@WithPalatinoRosario
42 \newif\if@mdf@WithCrimson 68 \newif\if@mdf@WithCrimson
43 \newif\if@mdf@WithCrimsonCabin 69 \newif\if@mdf@WithCrimsonCabin
44 \newif\if@mdf@WithDejaVu 70 \newif\if@mdf@WithDejaVu
45 \newif\if@mdf@WithMerriweather 71 \newif\if@mdf@WithMerriweather
46 \newif\if@mdf@WithLiterata 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
47 83
48 % A key compatible with options processing as option "fonts" but choices. 84 % A key compatible with options processing as option "fonts" but choices.
49 \define@choicekey*{my-doc-fonts.sty}{fonts}[\val\nr]{% 85 \define@choicekey*{my-doc-fonts.sty}{fonts}[\val\nr]{%
50 % do not change anything: just deactivate the default "dejavusansmono" 86 % do not change anything: just deactivate the default "dejavusansmono"
51 default, 87 default,
52 % almost no augmentation needed: all characters available 88 % almost no augmentation needed: all characters available
53 dejavusansmono, % use DejaVu Sans Mono as monospaced font 89 dejavusansmono, % use DejaVu Sans Mono as monospaced font
54 % the fonts below are augmented for missing characters 90 % the fonts below are augmented for missing characters
55 cm, % assume CM fonts and just fix missing characters 91 cm, % assume CM fonts and just fix missing characters
56 robotomono, % use Roboto Mono as mono font
57 ibmplex, plex, % use the IBM Plex family (incl. Math) 92 ibmplex, plex, % use the IBM Plex family (incl. Math)
58 plex-dejavusansmono, % use IBM Plex Serif/Sans and DejaVu Sans Mono 93 plex-dejavusansmono, % use IBM Plex Serif/Sans and DejaVu Sans Mono
59 adobesourcepro, adobesource, % Use Adobe Source Serif/Sans/Mono 94 adobesourcepro, adobesource, % Use Adobe Source Serif/Sans/Mono
60 spectral, % use Spectral, Source Sans Pro and Source Code Pro 95 spectral, % use Spectral, Source Sans Pro and Source Code Pro
61 charter, % use XCharter (with XCharter Math), Lato and Inconsolata 96 charter, % use XCharter (with XCharter Math), Lato and Inconsolata
62 libertinus, % use Libertinus family (incl. Math) 97 libertinus, % use Libertinus family (incl. Math)
63 garamond, % EB Garamond (with Math), Libre Franklin and Inconsolata 98 garamond, % EB Garamond (with Math), Libre Franklin and Inconsolata
64 tufte, % Tufte fonts: ETbb (with Math), GilliusADFNo2, DejaVu Sans Mono 99 tufte, % Tufte fonts: ETbb (with Math), GilliusADFNo2, DejaVu Sans Mono
100 tufte-hack, % Tufte variant: ETbb (with Math), GilliusADFNo2, Hack
101 tufte-firamono, % Tufte variant: ETbb (with Math), GilliusADFNo2, Fira Mono
65 palatino, % Palatino, Inter and Source Code Pro 102 palatino, % Palatino, Inter and Source Code Pro
66 palatino-kb, % Palatino, Lato and Inconsolata (original KB-Admin style) 103 palatino-kb, % Palatino, Lato and Inconsolata (original KB-Admin style)
67 crimson, % Crimson Pro, Open Sans and Roboto Mono (Erewhon Math) 104 palatino-rosario,% Palatino, Rosario and CMU Typewriter Text (Asana Math)
105 crimson, % Crimson Pro, (Intel) Clear Sans and Roboto Mono (Erewhon Math)
68 crimson-cabin, % Crimson Pro, Cabin and Source Code Pro (Erewhon Math) 106 crimson-cabin, % Crimson Pro, Cabin and Source Code Pro (Erewhon Math)
69 dejavu, % All DejaVu fonts (Serif, Sans, Mono) 107 dejavu, % All DejaVu fonts (Serif, Sans, Mono)
70 merriweather, % Merriweather, Merriweather Sans, Hack (STIX Two Math) 108 merriweather, % Merriweather, Merriweather Sans, Hack (Concrete Math)
71 literata, % Literata, Inter, IBM Plex Mono (Garamond Math) 109 literata, % Literata, Inter, IBM Plex Mono (Concrete Math)
110 literata-firamono, % Literata, Inter, Fira Mono Medium (Concrete Math)
111 literata-robotomono, % Literata, Cabin, Roboto Mono (Concrete Math)
112 vollkorn, % Vollkorn, Jost, Red Hat Mono (STIX 2 Math)
113 erewhon, utopia, % Erewhon, Rosario, XXX, (Erewhon Math)
114 gentium, % Gentium, Alegreya Sans, JetBrains Mono, (Euler Math)
115 zillaslab, % Zilla Slab, Metropolis, IBM Plex Mono Text, (Concrete Math)
116 aleo, % Aleo, Lato, IBM Plex Mono Text, (Euler Math)
117 lora, % Lora, Libre Franklin, Go Mono, (Asana Math)
118 stix, % STIX 2 Text, Inter, CMU Typewriter Text, (STIX 2 Math)
119 baskerville, % Libre Baskerville, Metropolis Medium, CMU Typewriter Text, (Euler Math)
72 }{% 120 }{%
73 % Not used for now : store the normalized option value (global and expanded) 121 % Not used for now : store the normalized option value (global and expanded)
74 \xdef\@mdf@fonts{\val}% 122 \xdef\@mdf@fonts{\val}%
75 % Reset all option related font selection flags 123 % Reset all option related font selection flags
124 \@mdf@NeedUprightUnicodeMathfalse
76 \@mdf@WithDejaVuSansMonofalse 125 \@mdf@WithDejaVuSansMonofalse
77 \@mdf@WithCMfalse 126 \@mdf@WithCMfalse
78 \@mdf@WithRobotoMonofalse
79 \@mdf@WithIBMPlexfalse 127 \@mdf@WithIBMPlexfalse
80 \@mdf@WithIBMPlexDejaVuSansMonofalse 128 \@mdf@WithIBMPlexDejaVuSansMonofalse
81 \@mdf@WithAdobeSourceProfalse 129 \@mdf@WithAdobeSourceProfalse
82 \@mdf@WithSpectralfalse 130 \@mdf@WithSpectralfalse
83 \@mdf@WithCharterfalse 131 \@mdf@WithCharterfalse
84 \@mdf@WithLibertinusfalse 132 \@mdf@WithLibertinusfalse
85 \@mdf@WithGaramondfalse 133 \@mdf@WithGaramondfalse
86 \@mdf@WithTuftefalse 134 \@mdf@WithTuftefalse
135 \@mdf@WithTufteHackfalse
136 \@mdf@WithTufteFiraMonofalse
87 \@mdf@WithPalatinofalse 137 \@mdf@WithPalatinofalse
88 \@mdf@WithPalatinoKBfalse 138 \@mdf@WithPalatinoKBfalse
139 \@mdf@WithPalatinoRosariofalse
89 \@mdf@WithCrimsonfalse 140 \@mdf@WithCrimsonfalse
90 \@mdf@WithCrimsonCabinfalse 141 \@mdf@WithCrimsonCabinfalse
91 \@mdf@WithDejaVufalse 142 \@mdf@WithDejaVufalse
92 \@mdf@WithMerriweatherfalse 143 \@mdf@WithMerriweatherfalse
93 \@mdf@WithLiteratafalse 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
94 % Now set the needed font selection flag 155 % Now set the needed font selection flag
95 \ifcase\nr\relax 156 \ifcase\nr\relax
96 \relax 157 \relax
97 \or 158 \or
98 \@mdf@WithDejaVuSansMonotrue 159 \@mdf@WithDejaVuSansMonotrue
99 \or 160 \or
100 \@mdf@WithCMtrue 161 \@mdf@WithCMtrue
101 \or 162 \or
102 \@mdf@WithRobotoMonotrue
103 \or
104 \@mdf@WithIBMPlextrue 163 \@mdf@WithIBMPlextrue
105 \or 164 \or
106 \@mdf@WithIBMPlextrue 165 \@mdf@WithIBMPlextrue
107 % Normalize the stored string 166 % Normalize the stored string
108 \gdef\@mdf@fonts{ibmplex} 167 \gdef\@mdf@fonts{ibmplex}
123 \or 182 \or
124 \@mdf@WithGaramondtrue 183 \@mdf@WithGaramondtrue
125 \or 184 \or
126 \@mdf@WithTuftetrue 185 \@mdf@WithTuftetrue
127 \or 186 \or
187 \@mdf@WithTufteHacktrue
188 \or
189 \@mdf@WithTufteFiraMonotrue
190 \or
128 \@mdf@WithPalatinotrue 191 \@mdf@WithPalatinotrue
129 \or 192 \or
130 \@mdf@WithPalatinoKBtrue 193 \@mdf@WithPalatinoKBtrue
131 \or 194 \or
195 \@mdf@WithPalatinoRosariotrue
196 \or
132 \@mdf@WithCrimsontrue 197 \@mdf@WithCrimsontrue
133 \or 198 \or
134 \@mdf@WithCrimsonCabintrue 199 \@mdf@WithCrimsonCabintrue
135 \or 200 \or
136 \@mdf@WithDejaVutrue 201 \@mdf@WithDejaVutrue
137 \or 202 \or
138 \@mdf@WithMerriweathertrue 203 \@mdf@WithMerriweathertrue
139 \or 204 \or
140 \@mdf@WithLiteratatrue 205 \@mdf@WithLiteratatrue
206 \or
207 \@mdf@WithLiterataFiraMonotrue
208 \or
209 \@mdf@WithLiterataRobotoMonotrue
210 \or
211 \@mdf@WithVollkorntrue
212 \or
213 \@mdf@WithErewhontrue
214 \or
215 \@mdf@WithErewhontrue
216 % Normalize the stored string
217 \gdef\@mdf@fonts{erewhon}
218 \or
219 \@mdf@WithGentiumtrue
220 \@mdf@NeedUprightUnicodeMathtrue
221 \or
222 \@mdf@WithZillaSlabtrue
223 \or
224 \@mdf@WithAleotrue
225 \@mdf@NeedUprightUnicodeMathtrue
226 \or
227 \@mdf@WithLoratrue
228 \or
229 \@mdf@WithStixtrue
230 \or
231 \@mdf@WithBaskervilletrue
232 \@mdf@NeedUprightUnicodeMathtrue
141 \fi 233 \fi
142 } 234 }
143 235
144 % 236 %
145 % By default use the safe option dejavusansmono because is contains 237 % By default use the safe option dejavusansmono because is contains
146 % all characters without any hacks. 238 % all characters without any hacks.
147 % 239 %
148 \ExecuteOptionsX{fonts=dejavusansmono} 240 \ExecuteOptionsX{fonts=dejavusansmono}
149 \ProcessOptionsX\relax 241 \ProcessOptionsX\relax
150 242
243 \if@mdf@UseUnicodeMath
244 \if@mdf@GlobalUnicodeMath
245 \if@mdf@NeedUprightUnicodeMath
246 \RequirePackage[math-style=upright]{unicode-math}
247 \else
248 \RequirePackage{unicode-math}
249 \fi
250 \fi
251 \fi
252
151 \if@mdf@WithDejaVuSansMono 253 \if@mdf@WithDejaVuSansMono
152 % default but with DejaVu Sans Mono as monospaced font 254 % default but with DejaVu Sans Mono as monospaced font
153 %\RequirePackage[DefaultFeatures={Scale=0.92},mono=false]{plex-otf} 255 %\RequirePackage[DefaultFeatures={Scale=0.92},mono=false]{plex-otf}
154 %\RequirePackage[mono=true,serif=false,sans=false,math=false]{dejavu-otf} % all symbols are available 256 %\RequirePackage[mono=true,serif=false,sans=false,math=false]{dejavu-otf} % all symbols are available
155 \@mdf@mono@dejavusansmonotrue 257 \@mdf@mono@dejavusansmonotrue
156 \fi 258 \fi
259
157 \if@mdf@WithCM 260 \if@mdf@WithCM
158 \@mdf@mono@cmmonotrue 261 \@mdf@mono@cmmonotrue
159 \fi 262 \fi
160 \if@mdf@WithRobotoMono 263
161 \@mdf@mono@robotomonotrue
162 \fi
163 %
164 %
165 \if@mdf@WithIBMPlex 264 \if@mdf@WithIBMPlex
166 \RequirePackage[DefaultFeatures={Scale=0.92}]{plex-otf} 265 \if@mdf@UseUnicodeMath
167 % Dont keep all default font features from plex-otf 266 \RequirePackage[%
168 \defaultfontfeatures{} 267 DefaultFeatures={Scale=0.92},
268 RMSCfont={},% disable default SC font which uses TeX Gyre Termes
269 RM={%
270 %SmallCapsFont=XCharter-Roman,
271 SmallCapsFont=SourceSerifPro-Regular,%
272 SmallCapsFeatures={Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.05},%
273 %BoldFeatures={SmallCapsFont=XCharter-Bold},%
274 BoldFeatures={SmallCapsFont=SourceSerifPro-Bold},%
275 %ItalicFeatures={SmallCapsFont=XCharter-Italic},%
276 ItalicFeatures={SmallCapsFont=SourceSerifPro-RegularIt},%
277 },
278 SSSCfont={},% disable default SC font which uses TeX Gyre Heros
279 SS={%
280 SmallCapsFont=SourceSansPro-Regular,%
281 SmallCapsFeatures={Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.05},%
282 BoldFeatures={SmallCapsFont=SourceSansPro-Bold},%
283 ItalicFeatures={SmallCapsFont=SourceSansPro-RegularIt},%
284 },%
285 math=true]{plex-otf}
286 \else
287 \RequirePackage[%
288 DefaultFeatures={Scale=0.92},
289 RMSCfont={},% disable default SC font which uses TeX Gyre Termes
290 RM={%
291 SmallCapsFont=SourceSerifPro-Regular,%
292 SmallCapsFeatures={Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.05},%
293 BoldFeatures={SmallCapsFont=SourceSerifPro-Bold},%
294 ItalicFeatures={SmallCapsFont=SourceSerifPro-RegularIt},%
295 },
296 SSSCfont={},% disable default SC font which uses TeX Gyre Heros
297 SS={%
298 SmallCapsFont=SourceSansPro-Regular,%
299 SmallCapsFeatures={Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.05},%
300 BoldFeatures={SmallCapsFont=SourceSansPro-Bold},%
301 ItalicFeatures={SmallCapsFont=SourceSansPro-RegularIt},%
302 },%
303 math=false]{plex-otf}
304 \fi
169 \@mdf@augment@ibmplexmonotrue 305 \@mdf@augment@ibmplexmonotrue
170 \fi 306 \fi
307
171 \if@mdf@WithIBMPlexDejaVuSansMono 308 \if@mdf@WithIBMPlexDejaVuSansMono
172 \RequirePackage[DefaultFeatures={Scale=0.92},mono=false]{plex-otf} 309 \if@mdf@UseUnicodeMath
310 \RequirePackage[%
311 DefaultFeatures={Scale=0.92},
312 RMSCfont={},% disable default SC font which uses TeX Gyre Termes
313 RM={%
314 SmallCapsFont=SourceSerifPro-Regular,%
315 SmallCapsFeatures={Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.05},%
316 BoldFeatures={SmallCapsFont=SourceSerifPro-Bold},%
317 ItalicFeatures={SmallCapsFont=SourceSerifPro-RegularIt},%
318 },%
319 SSSCfont={},% disable default SC font which uses TeX Gyre Heros
320 SS={%
321 SmallCapsFont=SourceSansPro-Regular,%
322 SmallCapsFeatures={Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.05},%
323 BoldFeatures={SmallCapsFont=SourceSansPro-Bold},%
324 ItalicFeatures={SmallCapsFont=SourceSansPro-RegularIt},%
325 },%
326 mono=false]{plex-otf}
327 \else
328 \RequirePackage[%
329 DefaultFeatures={Scale=0.92},
330 RMSCfont={},% disable default SC font which uses TeX Gyre Termes
331 RM={%
332 SmallCapsFont=SourceSerifPro-Regular,%
333 SmallCapsFeatures={Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.05},%
334 BoldFeatures={SmallCapsFont=SourceSerifPro-Bold},%
335 ItalicFeatures={SmallCapsFont=SourceSerifPro-RegularIt},%
336 },%
337 SSSCfont={},% disable default SC font which uses TeX Gyre Heros
338 SS={%
339 SmallCapsFont=SourceSansPro-Regular,%
340 SmallCapsFeatures={Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.05},%
341 BoldFeatures={SmallCapsFont=SourceSansPro-Bold},%
342 ItalicFeatures={SmallCapsFont=SourceSansPro-RegularIt},%
343 },%
344 mono=false,%
345 math=false]{plex-otf}
346 \fi
173 \@mdf@mono@dejavusansmonotrue 347 \@mdf@mono@dejavusansmonotrue
174 \fi 348 \fi
349
175 \if@mdf@WithAdobeSourcePro 350 \if@mdf@WithAdobeSourcePro
351 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
176 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 352 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
177 \setmainfont{Source Serif Pro}[ 353 \setmainfont{Source Serif Pro}[
178 UprightFont = *, 354 UprightFont = *,
179 BoldFont = * Bold, 355 BoldFont = * Bold,
180 ItalicFont = * Italic, 356 ItalicFont = * Italic,
184 UprightFont = *, 360 UprightFont = *,
185 BoldFont = * Bold, 361 BoldFont = * Bold,
186 ItalicFont = * Italic, 362 ItalicFont = * Italic,
187 BoldItalicFont = * Bold Italic, 363 BoldItalicFont = * Bold Italic,
188 ] 364 ]
365 \if@mdf@UseUnicodeMath
366 \defaultfontfeatures{}
367 \setmathfont{XCharter Math}[%
368 Scale = MatchLowercase,
369 ]
370 \fi
189 \@mdf@mono@sscodetrue 371 \@mdf@mono@sscodetrue
190 \fi 372 \fi
373
191 \if@mdf@WithSpectral 374 \if@mdf@WithSpectral
192 \RequirePackage{unicode-math} 375 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
193 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 376 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
194 \setmainfont{Spectral}[ 377 \setmainfont{Spectral}[
195 UprightFont = * Regular, 378 UprightFont = * Regular,
196 BoldFont = * Bold, 379 BoldFont = * Bold,
197 ItalicFont = * Italic, 380 ItalicFont = * Italic,
201 UprightFont = *, 384 UprightFont = *,
202 BoldFont = * Bold, 385 BoldFont = * Bold,
203 ItalicFont = * Italic, 386 ItalicFont = * Italic,
204 BoldItalicFont = * Bold Italic, 387 BoldItalicFont = * Bold Italic,
205 ] 388 ]
206 \setmathfont{STIX Two Math}[Scale=MatchLowercase] 389 \if@mdf@UseUnicodeMath
390 \setmathfont{STIX Two Math}[Scale=MatchLowercase]
391 \fi
207 \@mdf@mono@sscodetrue 392 \@mdf@mono@sscodetrue
208 \fi 393 \fi
394
209 \if@mdf@WithCharter 395 \if@mdf@WithCharter
210 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}} 396 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
211 \RequirePackage{xcharter-otf}% loads also XCharter Math 397 \RequirePackage{xcharter-otf}% ALWAYS loads also XCharter Math
398 \defaultfontfeatures{}% Reset from package
212 \setsansfont{Lato}[ 399 \setsansfont{Lato}[
213 UprightFont = * Regular, 400 UprightFont = * Regular,
214 BoldFont = * Bold, 401 BoldFont = * Bold,
215 ItalicFont = * Italic, 402 ItalicFont = * Italic,
216 BoldItalicFont = * Bold Italic, 403 BoldItalicFont = * Bold Italic,
217 Scale = MatchLowercase, 404 Scale = MatchLowercase,
405 Numbers = {Lining, Tabular},
406 Ligatures = TeX,
218 ] 407 ]
219 \@mdf@mono@inconsolatatrue 408 \@mdf@mono@inconsolatatrue
220 \fi 409 \fi
410
221 \if@mdf@WithLibertinus 411 \if@mdf@WithLibertinus
222 \RequirePackage{newunicodechar} 412 \RequirePackage{newunicodechar}
223 \RequirePackage[lining,tabular]{libertinus-otf} 413 \if@mdf@UseUnicodeMath
414 \RequirePackage[lining,tabular]{libertinus-otf}
415 \defaultfontfeatures{}% Reset from package
416 \setmathfont{Asana Math}[range={"2713,"2AB7,"22D0},Scale=MatchLowercase]
417 \setmathfont{Libertinus Math}[range={},Scale=MatchLowercase]
418 \else
419 \RequirePackage[lining,tabular,nomath]{libertinus-otf}
420 \fi
224 \@mdf@augment@libertinusmonotrue 421 \@mdf@augment@libertinusmonotrue
225 \fi 422 \fi
226 423
227 \if@mdf@WithGaramond 424 \if@mdf@WithGaramond
425 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
228 \RequirePackage[lining,tabular]{ebgaramond} 426 \RequirePackage[lining,tabular]{ebgaramond}
229 \RequirePackage{unicode-math} 427 \defaultfontfeatures{}% Reset from package
230 \setmathfont{Garamond-Math}[Scale=MatchLowercase] 428 \if@mdf@UseUnicodeMath
231 \setsansfont{Libre Franklin}[Scale=MatchLowercase,Ligatures=TeX] 429 \setmathfont{Garamond-Math}[Scale=MatchLowercase]
430 \setmathfont{Asana Math}[range={"2713},Scale=MatchLowercase]
431 \setmathfont{Garamond-Math}[range={},Scale=MatchLowercase]
432 \fi
433 \setsansfont{Libre Franklin}[Scale=MatchLowercase,Ligatures=TeX,Numbers={Lining,Tabular}]
232 \@mdf@mono@inconsolatatrue 434 \@mdf@mono@inconsolatatrue
233 \fi 435 \fi
234 436
235 \if@mdf@WithTufte 437 \if@mdf@WithTufteHack
236 \RequirePackage{unicode-math} 438 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
237 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX} 439 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX}
238 \setmainfont{ETbb} 440 \setmainfont{ETbb}
239 \setsansfont{GilliusADFNo2}[Scale=MatchLowercase] 441 \setsansfont{GilliusADFNo2}[Scale=MatchLowercase]
240 \setmathfont{Libertinus Math}[Scale=MatchLowercase] 442 \if@mdf@UseUnicodeMath
443 \setmathfont{Libertinus Math}[Scale=MatchLowercase]
444 \setmathfont{Asana Math}[range={"2713,"2AB7,"22D0},Scale=MatchLowercase]
445 \setmathfont{Libertinus Math}[range={},Scale=MatchLowercase]
446 \fi
447 \@mdf@mono@hackmonotrue
448 \fi
449
450 \if@mdf@WithTufteFiraMono
451 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
452 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX}
453 \setmainfont{ETbb}
454 \setsansfont{GilliusADFNo2}[Scale=MatchLowercase]
455 \if@mdf@UseUnicodeMath
456 \setmathfont{Libertinus Math}[Scale=MatchLowercase]
457 \setmathfont{Asana Math}[range={"2713,"2AB7,"22D0},Scale=MatchLowercase]
458 \setmathfont{Libertinus Math}[range={},Scale=MatchLowercase]
459 \fi
460 \@mdf@mono@firamonotrue
461 \fi
462
463 \if@mdf@WithTufte
464 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
465 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX}
466 \setmainfont{ETbb}
467 \setsansfont{GilliusADFNo2}[Scale=MatchLowercase]
468 \if@mdf@UseUnicodeMath
469 \setmathfont{Libertinus Math}[Scale=MatchLowercase]
470 \setmathfont{Asana Math}[range={"2713,"2AB7,"22D0},Scale=MatchLowercase]
471 \setmathfont{Libertinus Math}[range={},Scale=MatchLowercase]
472 \fi
241 \@mdf@mono@dejavusansmonotrue 473 \@mdf@mono@dejavusansmonotrue
242 \fi 474 \fi
243 475
244 \if@mdf@WithPalatino 476 \if@mdf@WithPalatino
245 \RequirePackage{unicode-math} 477 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
246 \linespread{1.06} 478 \linespread{1.06}
247 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX} 479 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX}
248 \setmainfont{TeXGyrePagellaX} 480 \setmainfont{TeXGyrePagellaX}
249 \setsansfont{Inter}[Scale=MatchLowercase] 481 \setsansfont{Inter}[Scale=MatchLowercase]
250 %\setsansfont{Rosario}[Scale=MatchLowercase,ScaleAgain=1.013] 482 %\setsansfont{Rosario}[Scale=MatchLowercase,ScaleAgain=1.013]
251 %\setmathfont{Asana Math}[Scale=MatchLowercase] 483 %\setmathfont{Asana Math}[Scale=MatchLowercase]
252 \setmathfont{TeX Gyre Pagella Math}[Scale=MatchLowercase] 484 \if@mdf@UseUnicodeMath
485 \setmathfont{TeX Gyre Pagella Math}[Scale=MatchLowercase]
486 \setmathfont{Asana Math}[range={"2AB7},Scale=MatchLowercase]
487 \setmathfont{TeX Gyre Pagella Math}[range={},Scale=MatchLowercase]
488 \fi
253 %\@mdf@mono@sscodetrue 489 %\@mdf@mono@sscodetrue
254 \@mdf@mono@libertinusmonotrue 490 \@mdf@mono@libertinusmonotrue
255 \fi 491 \fi
256 492
257 \if@mdf@WithPalatinoKB 493 \if@mdf@WithPalatinoKB
258 \RequirePackage{unicode-math} 494 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
259 \linespread{1.06} 495 \linespread{1.06}
260 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX} 496 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX}
261 \setmainfont{TeXGyrePagellaX} 497 \setmainfont{TeXGyrePagellaX}
262 \setsansfont{Lato}[% 498 \setsansfont{Lato}[%
263 UprightFont = * Regular, 499 UprightFont = * Regular,
265 ItalicFont = * Italic, 501 ItalicFont = * Italic,
266 BoldItalicFont = * Bold Italic, 502 BoldItalicFont = * Bold Italic,
267 Scale=MatchLowercase] 503 Scale=MatchLowercase]
268 %\setsansfont{Rosario}[Scale=MatchLowercase,ScaleAgain=1.013] 504 %\setsansfont{Rosario}[Scale=MatchLowercase,ScaleAgain=1.013]
269 %\setmathfont{Asana Math}[Scale=MatchLowercase] 505 %\setmathfont{Asana Math}[Scale=MatchLowercase]
270 \setmathfont{TeX Gyre Pagella Math}[Scale=MatchLowercase] 506 \if@mdf@UseUnicodeMath
507 \setmathfont{TeX Gyre Pagella Math}[Scale=MatchLowercase]
508 \setmathfont{Asana Math}[range={"2AB7},Scale=MatchLowercase]
509 \setmathfont{TeX Gyre Pagella Math}[range={},Scale=MatchLowercase]
510 \fi
271 \@mdf@mono@inconsolatatrue 511 \@mdf@mono@inconsolatatrue
272 \fi 512 \fi
273 513
514 \if@mdf@WithPalatinoRosario
515 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
516 \linespread{1.06}
517 \defaultfontfeatures{Numbers={Lining,Tabular},Ligatures=TeX}
518 \setmainfont{TeXGyrePagellaX}
519 \defaultfontfeatures{Scale=MatchLowercase}
520 \setsansfont{Rosario}[%
521 UprightFont = * Regular,
522 BoldFont = * Bold,
523 ItalicFont = * Italic,
524 BoldItalicFont = * Bold Italic,
525 ]
526 \setmonofont{CMU Typewriter Text}
527 \if@mdf@UseUnicodeMath
528 \setmathfont{Asana Math}[Scale=MatchLowercase]
529 \fi
530 \@mdf@augment@cmutypewritertexttrue
531 \fi
532
274 \if@mdf@WithCrimson 533 \if@mdf@WithCrimson
275 \RequirePackage{unicode-math} 534 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
276 \defaultfontfeatures{Ligatures=TeX, Numbers={Lining,Tabular}} 535 \defaultfontfeatures{Ligatures=TeX, Numbers={Lining,Tabular}}
277 \setmainfont{Crimson Pro} 536 \setmainfont{Crimson Pro}[%
278 \setsansfont{Open Sans}[Scale=MatchLowercase] 537 SmallCapsFont = Erewhon Regular,
279 \defaultfontfeatures{}% Erewhon Math needs this here! 538 SmallCapsFeatures = {Letters = SmallCaps, Scale = MatchLowercase},
280 \setmathfont{Erewhon Math}[Scale=MatchLowercase] 539 BoldFeatures = {SmallCapsFont = Erewhon Bold},
540 ItalicFeatures = {SmallCapsFont = Erewhon Italic},
541 ]
542 %\setsansfont{Open Sans}[Scale=MatchLowercase]
543 \setsansfont{Clear Sans}[Scale=MatchLowercase]
544 \if@mdf@UseUnicodeMath
545 \defaultfontfeatures{}% Erewhon Math needs this here!
546 \setmathfont{Erewhon Math}[Scale=MatchLowercase]
547 \fi
281 %\@mdf@mono@sscodetrue 548 %\@mdf@mono@sscodetrue
282 %\@mdf@mono@inconsolatatrue 549 %\@mdf@mono@inconsolatatrue
283 \@mdf@mono@robotomonotrue 550 \@mdf@mono@robotomonotrue
284 \fi 551 \fi
285 552
286 \if@mdf@WithCrimsonCabin 553 \if@mdf@WithCrimsonCabin
287 \RequirePackage{unicode-math} 554 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
288 \defaultfontfeatures{Ligatures=TeX, Numbers={Lining,Tabular}} 555 \defaultfontfeatures{Ligatures=TeX, Numbers={Lining,Tabular}}
289 \setmainfont{Crimson Pro} 556 \setmainfont{Crimson Pro}[%
557 SmallCapsFont = Erewhon Regular,
558 SmallCapsFeatures = {Letters=SmallCaps, Scale=MatchLowercase},
559 BoldFeatures = {SmallCapsFont = Erewhon Bold},
560 ItalicFeatures = {SmallCapsFont = Erewhon Italic},
561 ]
290 \setsansfont{Cabin}[Scale=MatchLowercase] 562 \setsansfont{Cabin}[Scale=MatchLowercase]
291 \defaultfontfeatures{}% Erewhon Math needs this here! 563 \if@mdf@UseUnicodeMath
292 \setmathfont{Erewhon Math}[Scale=MatchLowercase] 564 \defaultfontfeatures{}% Erewhon Math needs this here!
565 \setmathfont{Erewhon Math}[Scale=MatchLowercase]
566 \fi
293 %\@mdf@mono@sscodetrue 567 %\@mdf@mono@sscodetrue
294 \@mdf@mono@inconsolatatrue 568 \@mdf@mono@inconsolatatrue
295 \fi 569 \fi
296 570
297 \if@mdf@WithDejaVu 571 \if@mdf@WithDejaVu
298 \RequirePackage{newunicodechar} 572 \RequirePackage{newunicodechar}
299 % automatically applied with Scale=MatchLowercase,... 573 % automatically applied with Scale=MatchLowercase,...
300 \RequirePackage[mono=true,serif=true,sans=true,math=true]{dejavu-otf} 574 \if@mdf@UseUnicodeMath
575 \RequirePackage[%
576 RM={%
577 Scale = 0.92,% as in dejavu-otf
578 SmallCapsFont = {XCharter-Roman.otf},%
579 SmallCapsFeatures={Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.12},%
580 ItalicFeatures = {SmallCapsFont = {XCharter-Italic.otf}},%
581 BoldFeatures = {SmallCapsFont = {XCharter-Bold.otf}},%
582 BoldItalicFeatures = {SmallCapsFont = {XCharter-BoldItalic.otf}},%
583 },%
584 SS={Scale = 0.92},%
585 mono=true,serif=true,sans=true,math=true]{dejavu-otf}
586 \setmathfont{XCharter Math}[range={"2713,"2AB7},Scale=MatchLowercase]
587 \setmathfont{DejaVu Math TeX Gyre}[range={},Scale=MatchLowercase]
588 %\setmathfont{DejaVu Math TeX Gyre}[range={},version=normal]
589 %\setmathfont{DejaVu Math TeX Gyre}[range={},FakeBold=3,version=bold]
590 \else
591 \RequirePackage[%
592 RM={%
593 Scale = 0.92,% as in dejavu-otf
594 SmallCapsFont = {XCharter-Roman.otf},%
595 SmallCapsFeatures={Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.12}},%
596 ItalicFeatures = {SmallCapsFont = {XCharter-Italic.otf}},%
597 BoldFeatures = {SmallCapsFont = {XCharter-Bold.otf}},%
598 BoldItalicFeatures = {SmallCapsFont = {XCharter-BoldItalic.otf}},%
599 },%
600 SS={Scale = 0.92},%
601 mono=true,serif=true,sans=true,math=false]{dejavu-otf}
602 \fi
301 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387 603 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387
604 %
605 % Try to fix for missing \mathrm:
606 % https://tex.stackexchange.com/questions/669382/latex-error-math-alphabet-identifier-mathrm-is-undefined-in-math-version
607 %
608 % DOES NOT WORK!
609 %\mathversion{normal}\let\mathrm\symup
610 % THIS WORKS (see also unicode-math.pdf Section 4.4.3 Operator font):
611 \if@mdf@UseUnicodeMath
612 \setoperatorfont\symup
613 \fi
302 \fi 614 \fi
303 615
304 \if@mdf@WithMerriweather 616 \if@mdf@WithMerriweather
305 \RequirePackage{unicode-math} 617 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
306 \linespread{1.06} 618 \linespread{1.06}
307 \defaultfontfeatures{% 619 \defaultfontfeatures{%
308 Scale = 0.92, 620 Scale = 0.92,
309 Ligatures = TeX, 621 Ligatures = TeX,
310 Numbers = {Lining,Tabular}, 622 Numbers = {Lining,Tabular},
320 UprightFont = *-Regular , 632 UprightFont = *-Regular ,
321 ItalicFont = *-Italic , 633 ItalicFont = *-Italic ,
322 BoldFont = *-Bold , 634 BoldFont = *-Bold ,
323 BoldItalicFont = *-BoldItalic 635 BoldItalicFont = *-BoldItalic
324 ] 636 ]
325 \defaultfontfeatures{} 637 \if@mdf@UseUnicodeMath
326 \setmathfont{STIX Two Math}[Scale=MatchLowercase] 638 \defaultfontfeatures{Scale=MatchLowercase}
639 \RequirePackage[no-text]{concmath-otf}% for concmath-otf
640 \fi
327 \@mdf@mono@hackmonotrue 641 \@mdf@mono@hackmonotrue
328 \fi 642 \fi
329 643
330 \if@mdf@WithLiterata 644 \if@mdf@WithLiterata
331 \RequirePackage{unicode-math} 645 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
332 \defaultfontfeatures{% 646 \defaultfontfeatures{%
333 Ligatures = TeX, 647 Ligatures = TeX,
334 Numbers = {Lining,Tabular}, 648 Numbers = {Lining,Tabular},
335 } 649 }
336 \setmainfont{Literata} 650 \setmainfont{Literata}
337 \setsansfont{Inter}[Scale=MatchLowercase] 651 \setsansfont{Inter}[Scale=MatchLowercase]
338 \defaultfontfeatures{}
339 \setmathfont{Garamond-Math}[Scale=MatchLowercase]
340 \setmonofont{IBMPlexMono}[% 652 \setmonofont{IBMPlexMono}[%
653 Scale = MatchLowercase,
341 Extension = .otf, 654 Extension = .otf,
342 Scale = MatchLowercase,
343 Ligatures = TeX,
344 UprightFont= *-Regular, 655 UprightFont= *-Regular,
345 BoldFont = *-Bold, 656 BoldFont = *-Bold,
346 ItalicFont = *-Italic, 657 ItalicFont = *-Italic,
347 BoldItalicFont = *-BoldItalic, 658 BoldItalicFont = *-BoldItalic,
348 SlantedFont = *-Italic, 659 SlantedFont = *-Italic,
349 ] 660 ]
661 \if@mdf@UseUnicodeMath
662 \defaultfontfeatures{Scale=MatchLowercase}% for concmath-otf and Plex Mono
663 \RequirePackage[no-text]{concmath-otf}
664 \fi
350 \@mdf@augment@ibmplexmonotrue 665 \@mdf@augment@ibmplexmonotrue
351 \fi 666 \fi
352 667
353 \defaultfontfeatures{} 668 \if@mdf@WithLiterataFiraMono
669 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
670 \defaultfontfeatures{%
671 Ligatures = TeX,
672 Numbers = {Lining,Tabular},
673 }
674 \setmainfont{Literata}
675 \defaultfontfeatures{Scale=MatchLowercase, Ligatures=TeX}
676 \setsansfont{Inter}
677 \if@mdf@UseUnicodeMath
678 \defaultfontfeatures{Scale=MatchLowercase}
679 \RequirePackage[no-text]{concmath-otf}% for concmath-otf
680 \fi
681 \@mdf@mono@firamonomediumtrue
682 \fi
683
684 \if@mdf@WithLiterataRobotoMono
685 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
686 \defaultfontfeatures{%
687 Ligatures = TeX,
688 Numbers = {Lining,Tabular},
689 }
690 \setmainfont{Literata}
691 \setsansfont{Cabin}[Scale=MatchLowercase]
692 \if@mdf@UseUnicodeMath
693 \defaultfontfeatures{Scale=MatchLowercase}
694 \RequirePackage[no-text]{concmath-otf}% for concmath-otf
695 \fi
696 \@mdf@mono@robotomonotrue
697 \fi
698
699 \if@mdf@WithVollkorn
700 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
701 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
702 \setmainfont{Vollkorn}[
703 UprightFont = * Regular,
704 BoldFont = * Bold,
705 ItalicFont = * Italic,
706 BoldItalicFont = * Bold Italic,
707 ]
708 \setsansfont{Jost}[%
709 Scale = MatchLowercase,
710 UprightFont = *,
711 BoldFont = * Bold,
712 ItalicFont = * Italic,
713 BoldItalicFont = * Bold Italic,
714 ]
715 \setmonofont{CascadiaMono}[Scale=MatchLowercase]
716 \if@mdf@UseUnicodeMath
717 \defaultfontfeatures{Scale=MatchLowercase}
718 \setmathfont{STIX Two Math}
719 \fi
720 \@mdf@augment@cascadiacodetrue
721 \fi
722
723 \if@mdf@WithErewhon
724 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
725 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
726 \setmainfont{Erewhon}[
727 UprightFont = * Regular,
728 BoldFont = * Bold,
729 ItalicFont = * Italic,
730 BoldItalicFont = * Bold Italic,
731 ]
732 \setsansfont{Rosario}[%
733 Scale = MatchLowercase,
734 UprightFont = *,
735 BoldFont = * Bold,
736 ItalicFont = * Italic,
737 BoldItalicFont = * Bold Italic,
738 ]
739 \if@mdf@UseUnicodeMath
740 \defaultfontfeatures{Scale=MatchLowercase}
741 \setmathfont{Erewhon Math}
742 \fi
743 \@mdf@mono@hackmonotrue
744 \fi
745
746 \if@mdf@WithGentium
747 \if@mdf@UseUnicodeMath\RequirePackage[math-style=upright]{unicode-math}\fi
748 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
749 \setmainfont{Gentium}[
750 UprightFont = * Regular,
751 BoldFont = * Bold,
752 ItalicFont = * Italic,
753 BoldItalicFont = * Bold Italic,
754 ]
755 \setsansfont{Alegreya Sans}[%
756 Scale = MatchLowercase,
757 UprightFont = *,
758 BoldFont = * Bold,
759 ItalicFont = * Italic,
760 BoldItalicFont = * Bold Italic,
761 ]
762 \setmonofont{JetBrains Mono}[Scale=MatchLowercase]
763 \if@mdf@UseUnicodeMath
764 \RequirePackage[Scale=MatchLowercase]{euler-math}
765 \defaultfontfeatures{Scale=MatchLowercase}
766 \setmathfont{XCharter Math}[range={"03F1,"1D71A}]
767 \setmathfont{Euler Math}[range={}]
768 %\setmathfont{Euler Math}
769 %\renewcommand{\varrho}{\rho}
770 %\renewcommand{\rho}{\mbfsansrho}
771 \fi
772 \@mdf@augment@jetbrainsmonotrue
773 \fi
774
775 \if@mdf@WithZillaSlab
776 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
777 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
778 \setmainfont{Zilla Slab}[
779 UprightFont = * Regular,
780 BoldFont = * Bold,
781 ItalicFont = * Italic,
782 BoldItalicFont = * Bold Italic,
783 ]
784 \setsansfont{Metropolis}[%
785 Scale=MatchLowercase,
786 UprightFont = * Regular,
787 BoldFont = * Bold,
788 ItalicFont = * Regular Italic,
789 BoldItalicFont = * Bold Italic,
790 ]
791 % \defaultfontfeatures{Scale=MatchLowercase}
792 % \setmonofont{JetBrains Mono}[%
793 % Ligatures = TeX
794 % ]
795 \setmonofont{IBMPlexMonoText}[%
796 Scale=MatchLowercase,
797 Extension = .otf,
798 UprightFont= IBMPlexMono-Text,
799 BoldFont = IBMPlexMono-Bold,
800 ItalicFont = IBMPlexMono-TextItalic,
801 BoldItalicFont = IBMPlexMono-BoldItalic,
802 SlantedFont = IBMPlexMono-TextItalic,
803 ]
804 \@mdf@augment@ibmplexmonotrue
805
806 \if@mdf@UseUnicodeMath
807 \defaultfontfeatures{Scale=MatchLowercase}
808 \RequirePackage[no-text]{concmath-otf}% for concmath-otf
809 \fi
810 %\@mdf@augment@jetbrainsmonotrue
811 \fi
812
813 \if@mdf@WithAleo
814 \if@mdf@UseUnicodeMath\RequirePackage[math-style=upright]{unicode-math}\fi
815 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
816 \setmainfont{Aleo}[
817 Extension = .ttf,
818 UprightFont = {Aleo-VariableFont_wght} ,
819 UprightFeatures = {Instance = Regular} ,
820 ItalicFont = {Aleo-Italic-VariableFont_wght} ,
821 ItalicFeatures = {Instance = Italic} ,
822 BoldFont = {Aleo-VariableFont_wght} ,
823 BoldFeatures = {Instance = Bold} ,
824 BoldItalicFont = {Aleo-Italic-VariableFont_wght} ,
825 BoldItalicFeatures = {Instance = {Bold Italic}} ,
826 SmallCapsFont = {ZillaSlab-Medium.otf} ,
827 SmallCapsFeatures = {Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.1} ,
828 ItalicFeatures = {SmallCapsFont = {ZillaSlab-MediumItalic.otf}} ,
829 BoldFeatures = {SmallCapsFont = {ZillaSlab-Bold.otf}} ,
830 ]
831 \setsansfont{Lato}[%
832 Scale = MatchLowercase,
833 UprightFont = * Regular,
834 BoldFont = * Bold,
835 ItalicFont = * Italic,
836 BoldItalicFont = * Bold Italic,
837 ]
838 \setmonofont{IBMPlexMonoText}[%
839 Scale = MatchLowercase,
840 Extension = .otf,
841 UprightFont= IBMPlexMono-Text,
842 BoldFont = IBMPlexMono-Bold,
843 ItalicFont = IBMPlexMono-TextItalic,
844 BoldItalicFont = IBMPlexMono-BoldItalic,
845 SlantedFont = IBMPlexMono-TextItalic,
846 ]
847 \@mdf@augment@ibmplexmonotrue
848
849 \if@mdf@UseUnicodeMath
850 \defaultfontfeatures{}
851 \RequirePackage[Scale=MatchLowercase]{euler-math}
852 \setmathfont{XCharter Math}[range={"03F1,"1D71A},Scale=MatchLowercase]
853 \setmathfont{Euler Math}[range={},Scale=MatchLowercase]
854 \fi
855 \fi
856
857 \if@mdf@WithLora
858 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
859 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
860 \linespread{1.02}
861 \setmainfont{Lora}[%
862 Scale = 0.98,
863 UprightFont = * Regular,
864 BoldFont = * Bold,
865 ItalicFont = * Italic,
866 BoldItalicFont = * Bold Italic,
867 SmallCapsFont = {STIX Two Text},
868 SmallCapsFeatures={Letters=SmallCaps, Scale=MatchLowercase, ScaleAgain=1.05},
869 BoldFeatures={SmallCapsFont={STIX Two Text Bold}},
870 ItalicFeatures={SmallCapsFont={STIX Two Text Italic}},
871 BoldItalicFeatures={SmallCapsFont={STIX Two Text Bold Italic}},
872 ]
873 \setsansfont{Libre Franklin}[Scale=MatchLowercase]
874 \if@mdf@UseUnicodeMath
875 \defaultfontfeatures{Scale=MatchLowercase}
876 \setmathfont{Asana Math}
877 \fi
878 %\@mdf@mono@libertinusmonotrue
879 \@mdf@mono@gomonotrue
880 \fi
881
882 \if@mdf@WithBaskerville
883 \if@mdf@UseUnicodeMath\RequirePackage[math-style=upright]{unicode-math}\fi
884 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
885 \linespread{1.02}
886 \setmainfont{Libre Baskerville}[%
887 Scale=0.92,
888 UprightFont = * Regular,
889 BoldFont = * Bold,
890 ItalicFont = * Italic,
891 %BoldItalicFont = * Bold Italic, % no bold italic font for Baskerville
892 SmallCapsFont = {Erewhon Regular},
893 SmallCapsFeatures={%
894 Letters = SmallCaps,
895 Scale = MatchLowercase,
896 ScaleAgain=1.16
897 },
898 BoldFeatures={SmallCapsFont={Erewhon Bold}},
899 ItalicFeatures={SmallCapsFont={Erewhon Italic}},
900 BoldItalicFeatures={SmallCapsFont={Erewhon Bold Italic}},
901 ]
902 \setsansfont{Metropolis}[%
903 Scale = MatchLowercase,
904 UprightFont= * Medium,
905 ItalicFont = * Medium Italic,
906 BoldFont = * Bold,
907 BoldItalicFont = * Bold Italic,
908 ]
909 \setmonofont{CMU Typewriter Text}[%
910 Scale = MatchLowercase,
911 ScaleAgain = 0.98,
912 ]
913 \if@mdf@UseUnicodeMath
914 \defaultfontfeatures{}
915 \RequirePackage[Scale=MatchLowercase]{euler-math}
916 \defaultfontfeatures{Scale=MatchLowercase}
917 \setmathfont{XCharter Math}[range={"03F1,"1D71A}]
918 \setmathfont{Euler Math}[range={}]
919 \fi
920 \@mdf@augment@cmutypewritertexttrue
921 \fi
922
923 \if@mdf@WithStix
924 \if@mdf@UseUnicodeMath\RequirePackage{unicode-math}\fi
925 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular}}
926 \setmainfont{STIX Two Text}[%
927 UprightFont = * Regular,
928 BoldFont = * Bold,
929 ItalicFont = * Italic,
930 BoldItalicFont = * Bold Italic,
931 ]
932 \setsansfont{Inter}[Scale=MatchLowercase]
933 \setmonofont{CMU Typewriter Text}[Scale=MatchLowercase]
934 \if@mdf@UseUnicodeMath
935 \defaultfontfeatures{Scale=MatchLowercase}
936 \setmathfont{STIX Two Math}
937 \fi
938 \@mdf@augment@cmutypewritertexttrue
939 \fi
940
941 %
942 % MONO
943 %
944
945 % Used for most
946 \defaultfontfeatures{%
947 Scale=MatchLowercase,
948 Ligatures=TeX,
949 Numbers={Lining,Tabular}
950 }
354 951
355 \if@mdf@mono@dejavusansmono 952 \if@mdf@mono@dejavusansmono
356 \RequirePackage{newunicodechar} 953 \RequirePackage{newunicodechar}
357 % automatically applied with Scale=MatchLowercase,... 954 % automatically applied with Scale=MatchLowercase,...
955 \defaultfontfeatures{%
956 Ligatures=TeX,
957 Numbers={Lining,Tabular}
958 }
358 \RequirePackage[mono=true,serif=false,sans=false,math=false]{dejavu-otf} % almost all symbols are available 959 \RequirePackage[mono=true,serif=false,sans=false,math=false]{dejavu-otf} % almost all symbols are available
359 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387 960 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387
360 \fi 961 \fi
361 962
362 \if@mdf@mono@cmmono 963 \if@mdf@mono@cmmono
363 \RequirePackage{newunicodechar} 964 \RequirePackage{newunicodechar}
364 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular},Scale=MatchLowercase}
365 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 965 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
366 UprightFont = *, 966 UprightFont = *,
367 BoldFont = * Bold, 967 BoldFont = * Bold,
368 ItalicFont = * Oblique, 968 ItalicFont = * Oblique,
369 BoldItalicFont = * Bold Oblique, 969 BoldItalicFont = * Bold Oblique,
373 BoldFont = * Bold, 973 BoldFont = * Bold,
374 ItalicFont = * Oblique, 974 ItalicFont = * Oblique,
375 BoldItalicFont = * Bold Oblique, 975 BoldItalicFont = * Bold Oblique,
376 ] 976 ]
377 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 977 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
978 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
378 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 979 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
379 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6 980 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
380 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 981 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
381 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6 982 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
382 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7 983 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7
409 {sphinx} 1010 {sphinx}
410 \fi 1011 \fi
411 1012
412 \if@mdf@mono@sscode 1013 \if@mdf@mono@sscode
413 \RequirePackage{newunicodechar} 1014 \RequirePackage{newunicodechar}
414 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular},Scale=MatchLowercase}
415 \setmonofont{Source Code Pro}[ 1015 \setmonofont{Source Code Pro}[
416 UprightFont = *, 1016 UprightFont = *,
417 BoldFont = * Bold, 1017 BoldFont = * Bold,
418 ItalicFont = * Italic, 1018 ItalicFont = * Italic,
419 BoldItalicFont = * Bold Italic, 1019 BoldItalicFont = * Bold Italic,
460 {sphinx} 1060 {sphinx}
461 \fi 1061 \fi
462 1062
463 \if@mdf@mono@inconsolata 1063 \if@mdf@mono@inconsolata
464 \RequirePackage{newunicodechar} 1064 \RequirePackage{newunicodechar}
465 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular},Scale=MatchLowercase}
466 \setmonofont{Inconsolata LGC Nerd Font Mono}[% 1065 \setmonofont{Inconsolata LGC Nerd Font Mono}[%
467 UprightFont = *, 1066 UprightFont = *,
468 BoldFont = * Bold, 1067 BoldFont = * Bold,
469 ItalicFont = * Italic, 1068 ItalicFont = * Italic,
470 BoldItalicFont = * Bold Italic, 1069 BoldItalicFont = * Bold Italic,
479 UprightFont = *, 1078 UprightFont = *,
480 BoldFont = * Bold, 1079 BoldFont = * Bold,
481 ItalicFont = * Oblique, 1080 ItalicFont = * Oblique,
482 BoldItalicFont = * Bold Oblique, 1081 BoldItalicFont = * Bold Oblique,
483 ] 1082 ]
1083 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
484 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1084 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
485 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 1085 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
486 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6 1086 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
487 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7 1087 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7
488 \newunicodechar{≟}{{\DejaVuSansMono ≟}}% U+225F 1088 \newunicodechar{≟}{{\DejaVuSansMono ≟}}% U+225F
500 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF 1100 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF
501 \newunicodechar{⌫}{{\DejaVuSansMono ⌫}}% U+232B 1101 \newunicodechar{⌫}{{\DejaVuSansMono ⌫}}% U+232B
502 \newunicodechar{⌦}{{\DejaVuSansMono ⌦}}% U+2326 1102 \newunicodechar{⌦}{{\DejaVuSansMono ⌦}}% U+2326
503 \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5 1103 \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5
504 \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4 1104 \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4
1105
1106 %\RequirePackage{pifont}
1107 %\newunicodechar{✓}{\ding{51}}
1108
1109 %\newunicodechar{✓}{{\DejaVuSansMono ✓}}% U+2713
505 \fi 1110 \fi
506 1111
507 \if@mdf@mono@robotomono 1112 \if@mdf@mono@robotomono
508 \RequirePackage{newunicodechar} 1113 \RequirePackage{newunicodechar}
509 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular},Scale=MatchLowercase}
510 \setmonofont{Roboto Mono}[% 1114 \setmonofont{Roboto Mono}[%
511 UprightFont = *, 1115 UprightFont = *,
512 BoldFont = * Bold, 1116 BoldFont = * Bold,
513 ItalicFont = * Italic, 1117 ItalicFont = * Italic,
514 BoldItalicFont = * Bold Italic, 1118 BoldItalicFont = * Bold Italic,
524 BoldFont = * Bold, 1128 BoldFont = * Bold,
525 ItalicFont = * Oblique, 1129 ItalicFont = * Oblique,
526 BoldItalicFont = * Bold Oblique, 1130 BoldItalicFont = * Bold Oblique,
527 ] 1131 ]
528 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 1132 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
1133 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
529 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1134 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
530 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6 1135 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
531 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 1136 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
532 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6 1137 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
533 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7 1138 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7
557 verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}% 1162 verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}%
558 {sphinx} 1163 {sphinx}
559 \fi 1164 \fi
560 1165
561 \if@mdf@mono@hackmono 1166 \if@mdf@mono@hackmono
562 \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular},Scale=MatchLowercase}
563 \RequirePackage{newunicodechar} 1167 \RequirePackage{newunicodechar}
564 \setmonofont{Hack} 1168 \setmonofont{Hack}
565 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1169 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
566 UprightFont = *, 1170 UprightFont = *,
567 BoldFont = * Bold, 1171 BoldFont = * Bold,
568 ItalicFont = * Oblique, 1172 ItalicFont = * Oblique,
569 BoldItalicFont = * Bold Oblique, 1173 BoldItalicFont = * Bold Oblique,
570 Scale=MatchLowercase,
571 Ligatures=TeX,
572 ] 1174 ]
573 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[% 1175 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
574 UprightFont = *, 1176 UprightFont = *,
575 BoldFont = * Bold, 1177 BoldFont = * Bold,
576 ItalicFont = * Oblique, 1178 ItalicFont = * Oblique,
577 BoldItalicFont = * Bold Oblique, 1179 BoldItalicFont = * Bold Oblique,
578 Scale=MatchLowercase,
579 Ligatures=TeX,
580 ] 1180 ]
581 \newunicodechar{␣}{{\DejaVuSansMono ␣}}% U+2423 1181 \newunicodechar{␣}{{\DejaVuSansMono ␣}}% U+2423
582 \newunicodechar{⌃}{{\DejaVuSansMono ⌃}}% U+2303 1182 \newunicodechar{⌃}{{\DejaVuSansMono ⌃}}% U+2303
583 \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388 1183 \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388
584 \newunicodechar{⌥}{{\DejaVuSansMono ⌥}}% U+2325 1184 \newunicodechar{⌥}{{\DejaVuSansMono ⌥}}% U+2325
585 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387 1185 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387
586 \newunicodechar{⌘}{{\DejaVuSansMono ⌘}}% U+2318 1186 \newunicodechar{⌘}{{\DejaVuSansMono ⌘}}% U+2318
587 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF 1187 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF
588 \newunicodechar{⌫}{{\DejaVuSansMono ⌫}}% U+232B 1188 \newunicodechar{⌫}{{\DejaVuSansMono ⌫}}% U+232B
589 \newunicodechar{⌦}{{\DejaVuSansMono ⌦}}% U+2326 1189 \newunicodechar{⌦}{{\DejaVuSansMono ⌦}}% U+2326
1190 \newunicodechar{✓}{{\DejaVuSansMono ✓}}% U+2713
590 \PassOptionsToPackage{% 1191 \PassOptionsToPackage{%
591 verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},% 1192 verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},%
592 verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}% 1193 verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}%
593 {sphinx} 1194 {sphinx}
594 \fi 1195 \fi
595 1196
1197 \if@mdf@mono@firamono
1198 \setmonofont{Fira Mono}[%
1199 UprightFont = * Regular,
1200 ItalicFont = * Oblique,
1201 BoldFont = * Bold,
1202 BoldItalicFont = * Bold Oblique,
1203 ]
1204 \@mdf@augment@firamonotrue
1205 \fi
1206
1207 \if@mdf@mono@firamonomedium
1208 \setmonofont{Fira Mono}[%
1209 UprightFont = * Medium,
1210 ItalicFont = * Medium Oblique,
1211 BoldFont = * Bold,
1212 BoldItalicFont = * Bold Oblique,
1213 ]
1214 \@mdf@augment@firamonotrue
1215 \fi
1216
596 \if@mdf@mono@libertinusmono 1217 \if@mdf@mono@libertinusmono
1218 \defaultfontfeatures{}
597 % This is stolen from libertinus-otf.sty! 1219 % This is stolen from libertinus-otf.sty!
598 \setmonofont{LibertinusMono}[% 1220 \setmonofont{LibertinusMono}[%
599 Ligatures = TeX, 1221 Ligatures = TeX,
600 Numbers = {Lining, Tabular}, 1222 Numbers = {Lining, Tabular},
601 Scale = MatchLowercase, 1223 Scale = MatchLowercase,
612 Extension = .otf, 1234 Extension = .otf,
613 ] 1235 ]
614 \@mdf@augment@libertinusmonotrue 1236 \@mdf@augment@libertinusmonotrue
615 \fi 1237 \fi
616 1238
1239 \if@mdf@mono@gomono
1240 \setmonofont{Go Mono}[ScaleAgain = 0.95]
1241 \@mdf@augment@gomonotrue
1242 \fi
1243
1244 %
1245 % AUGMENT
1246 %
1247
1248 % Used for all below
1249 \defaultfontfeatures{%
1250 Scale=MatchLowercase,
1251 Ligatures=TeX,
1252 Numbers={Lining,Tabular}
1253 }
1254
617 \if@mdf@augment@ibmplexmono 1255 \if@mdf@augment@ibmplexmono
618 \RequirePackage{newunicodechar} 1256 \RequirePackage{newunicodechar}
619 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1257 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
620 UprightFont = *, 1258 UprightFont = *,
621 BoldFont = * Bold, 1259 BoldFont = * Bold,
622 ItalicFont = * Oblique, 1260 ItalicFont = * Oblique,
623 BoldItalicFont = * Bold Oblique, 1261 BoldItalicFont = * Bold Oblique,
624 Scale=MatchLowercase,
625 Ligatures=TeX,
626 ] 1262 ]
627 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[% 1263 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
628 UprightFont = *, 1264 UprightFont = *,
629 BoldFont = * Bold, 1265 BoldFont = * Bold,
630 ItalicFont = * Oblique, 1266 ItalicFont = * Oblique,
631 BoldItalicFont = * Bold Oblique, 1267 BoldItalicFont = * Bold Oblique,
632 Scale=MatchLowercase,
633 Ligatures=TeX,
634 ] 1268 ]
635 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 1269 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
1270 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
636 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1271 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
637 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6 1272 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
638 \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA 1273 \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA
639 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 1274 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
640 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6 1275 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
672 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% 1307 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
673 UprightFont = *, 1308 UprightFont = *,
674 BoldFont = * Bold, 1309 BoldFont = * Bold,
675 ItalicFont = * Oblique, 1310 ItalicFont = * Oblique,
676 BoldItalicFont = * Bold Oblique, 1311 BoldItalicFont = * Bold Oblique,
677 Scale=MatchLowercase,
678 Ligatures=TeX,
679 ] 1312 ]
680 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[% 1313 \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[%
681 UprightFont = *, 1314 UprightFont = *,
682 BoldFont = * Bold, 1315 BoldFont = * Bold,
683 ItalicFont = * Oblique, 1316 ItalicFont = * Oblique,
684 BoldItalicFont = * Bold Oblique, 1317 BoldItalicFont = * Bold Oblique,
685 Scale=MatchLowercase,
686 Ligatures=TeX,
687 ] 1318 ]
688 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 1319 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
1320 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
689 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 1321 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
690 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6 1322 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
691 \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA 1323 \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA
692 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 1324 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
693 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6 1325 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
713 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF 1345 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF
714 \newunicodechar{⌫}{{\DejaVuSansMono ⌫}}% U+232B 1346 \newunicodechar{⌫}{{\DejaVuSansMono ⌫}}% U+232B
715 \newunicodechar{⌦}{{\DejaVuSansMono ⌦}}% U+2326 1347 \newunicodechar{⌦}{{\DejaVuSansMono ⌦}}% U+2326
716 \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5 1348 \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5
717 \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4 1349 \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4
1350 \newunicodechar{✓}{{\DejaVuSansMono ✓}}% U+2713
718 %\newunicodechar{^^^^2423}{{\DejaVuSansMono^^^^2423}}% U+2423 1351 %\newunicodechar{^^^^2423}{{\DejaVuSansMono^^^^2423}}% U+2423
719 %\newunicodechar{␣}{\textvisiblespace}% U+2423 1352 %\newunicodechar{␣}{\textvisiblespace}% U+2423
720 %\catcode`^^^^2423\active\protected\def^^^^2423{\textvisiblespace} 1353 %\catcode`^^^^2423\active\protected\def^^^^2423{\textvisiblespace}
721 1354
722 \PassOptionsToPackage{% 1355 \PassOptionsToPackage{%
723 verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},% 1356 verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},%
724 verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}% 1357 verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}%
725 {sphinx} 1358 {sphinx}
726 \fi 1359 \fi
727 1360
1361 \if@mdf@augment@redhatmono
1362 \RequirePackage{newunicodechar}
1363 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
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
1376 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
1377 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
1378 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
1379 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
1380 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
1381 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7
1382 \newunicodechar{⇒}{{\DejaVuSansMono ⇒}}% U+21D2
1383 \newunicodechar{⇔}{{\DejaVuSansMono ⇔}}% U+21D4
1384 \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA
1385 \newunicodechar{≟}{{\DejaVuSansMono ≟}}% U+225F
1386 \newunicodechar{∈}{{\DejaVuSansMono ∈}}% U+2208
1387 \newunicodechar{∌}{{\DejaVuSansMono ∌}}% U+220C
1388 % \newunicodechar{≠}{{\DejaVuSansMono ≠}}% U+2260
1389 \newunicodechar{≤}{{\DejaVuSansMono ≤}}% U+2264
1390 \newunicodechar{≥}{{\DejaVuSansMono ≥}}% U+2265
1391 \newunicodechar{≙}{{\DejaVuSansMono ≙}}% U+2259
1392 \newunicodechar{␣}{{\DejaVuSansMono ␣}}% U+2423
1393 \newunicodechar{↪}{{\DejaVuSansMono ↪}}% U+21AA
1394 \newunicodechar{↩}{{\DejaVuSansMono ↩}}% U+21A9
1395 \newunicodechar{⇧}{{\DejaVuSansMono ⇧}}% U+21E7
1396 \newunicodechar{⌃}{{\DejaVuSansMono ⌃}}% U+2303
1397 \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388
1398 \newunicodechar{⌥}{{\DejaVuSansMono ⌥}}% U+2325
1399 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387
1400 \newunicodechar{⌘}{{\DejaVuSansMono ⌘}}% U+2318
1401 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF
1402 \newunicodechar{⌫}{{\DejaVuSansMono ⌫}}% U+232B
1403 \newunicodechar{⌦}{{\DejaVuSansMono ⌦}}% U+2326
1404 \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5
1405 \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4
1406 \PassOptionsToPackage{%
1407 verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},%
1408 verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}%
1409 {sphinx}
1410 \fi
1411
1412 \if@mdf@augment@cascadiacode
1413 \RequirePackage{newunicodechar}
1414 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
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
1427 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
1428 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7
1429 \newunicodechar{⇒}{{\DejaVuSansMono ⇒}}% U+21D2
1430 \newunicodechar{⇔}{{\DejaVuSansMono ⇔}}% U+21D4
1431 \newunicodechar{≟}{{\DejaVuSansMono ≟}}% U+225F
1432 \newunicodechar{∈}{{\DejaVuSansMono ∈}}% U+2208
1433 \newunicodechar{∌}{{\DejaVuSansMono ∌}}% U+220C
1434 \newunicodechar{≙}{{\DejaVuSansMono ≙}}% U+2259
1435 \newunicodechar{␣}{{\DejaVuSansMono ␣}}% U+2423
1436 \newunicodechar{↪}{{\DejaVuSansMono ↪}}% U+21AA
1437 \newunicodechar{↩}{{\DejaVuSansMono ↩}}% U+21A9
1438 \newunicodechar{⇧}{{\DejaVuSansMono ⇧}}% U+21E7
1439 \newunicodechar{⌃}{{\DejaVuSansMono ⌃}}% U+2303
1440 \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388
1441 \newunicodechar{⌥}{{\DejaVuSansMono ⌥}}% U+2325
1442 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387
1443 \newunicodechar{⌘}{{\DejaVuSansMono ⌘}}% U+2318
1444 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF
1445 \newunicodechar{⌫}{{\DejaVuSansMono ⌫}}% U+232B
1446 \newunicodechar{⌦}{{\DejaVuSansMono ⌦}}% U+2326
1447 \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5
1448 \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4
1449 \PassOptionsToPackage{%
1450 verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},%
1451 verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}%
1452 {sphinx}
1453 \fi
1454
1455 \if@mdf@augment@jetbrainsmono
1456 \RequirePackage{newunicodechar}
1457 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
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
1470 \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388
1471 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387
1472 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF
1473 \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5
1474 \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4
1475 % \PassOptionsToPackage{%
1476 % verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},%
1477 % verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}%
1478 % {sphinx}
1479 \fi
1480
1481 \if@mdf@augment@firamono
1482 \RequirePackage{newunicodechar}
1483 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
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
1496 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
1497 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
1498 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
1499 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
1500 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7
1501 \newunicodechar{⇒}{{\DejaVuSansMono ⇒}}% U+21D2
1502 \newunicodechar{⇔}{{\DejaVuSansMono ⇔}}% U+21D4
1503 \newunicodechar{≟}{{\DejaVuSansMono ≟}}% U+225F
1504 \newunicodechar{∈}{{\DejaVuSansMono ∈}}% U+2208
1505 \newunicodechar{∌}{{\DejaVuSansMono ∌}}% U+220C
1506 \newunicodechar{␣}{{\DejaVuSansMono ␣}}% U+2423
1507 \newunicodechar{↪}{{\DejaVuSansMono ↪}}% U+21AA
1508 \newunicodechar{↩}{{\DejaVuSansMono ↩}}% U+21A9
1509 \newunicodechar{≙}{{\DejaVuSansMono ≙}}% U+2259
1510 \newunicodechar{⌃}{{\DejaVuSansMono ⌃}}% U+2303
1511 \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388
1512 \newunicodechar{⌥}{{\DejaVuSansMono ⌥}}% U+2325
1513 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387
1514 \newunicodechar{⌘}{{\DejaVuSansMono ⌘}}% U+2318
1515 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF
1516 \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5
1517 \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4
1518 \newunicodechar{✓}{{\DejaVuSansMono ✓}}% U+2713
1519
1520 \PassOptionsToPackage{%
1521 verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},%
1522 verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}%
1523 {sphinx}
1524 \fi
1525
1526 \if@mdf@augment@cmutypewritertext
1527 \RequirePackage{newunicodechar}
1528 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
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
1541 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
1542 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
1543 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
1544 \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA
1545 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
1546 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
1547 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7
1548 \newunicodechar{⇒}{{\DejaVuSansMono ⇒}}% U+21D2
1549 \newunicodechar{⇔}{{\DejaVuSansMono ⇔}}% U+21D4
1550 \newunicodechar{∈}{{\DejaVuSansMono ∈}}% U+2208
1551 \newunicodechar{∌}{{\DejaVuSansMono ∌}}% U+220C
1552 \newunicodechar{≠}{{\DejaVuSansMono ≠}}% U+2260
1553 \newunicodechar{≟}{{\DejaVuSansMono ≟}}% U+225F
1554 \newunicodechar{␣}{{\DejaVuSansMono ␣}}% U+2423
1555 \newunicodechar{↪}{{\DejaVuSansMono ↪}}% U+21AA
1556 \newunicodechar{↩}{{\DejaVuSansMono ↩}}% U+21A9
1557 \newunicodechar{≤}{{\DejaVuSansMono ≤}}% U+2264
1558 \newunicodechar{≥}{{\DejaVuSansMono ≥}}% U+2265
1559 \newunicodechar{≙}{{\DejaVuSansMono ≙}}% U+2259
1560 \newunicodechar{⇧}{{\DejaVuSansMono ⇧}}% U+21E7
1561 \newunicodechar{⌃}{{\DejaVuSansMono ⌃}}% U+2303
1562 \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388
1563 \newunicodechar{⌥}{{\DejaVuSansMono ⌥}}% U+2325
1564 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387
1565 \newunicodechar{⌘}{{\DejaVuSansMono ⌘}}% U+2318
1566 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF
1567 \newunicodechar{⌫}{{\DejaVuSansMono ⌫}}% U+232B
1568 \newunicodechar{⌦}{{\DejaVuSansMono ⌦}}% U+2326
1569 \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5
1570 \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4
1571 \fi
1572
1573 \if@mdf@augment@gomono
1574 \RequirePackage{newunicodechar}
1575 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
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
1588 \newunicodechar{▹}{{\DejaVuSansMono ▹}}% U+25B9
1589 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
1590 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
1591 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
1592 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
1593 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7
1594 \newunicodechar{⇒}{{\DejaVuSansMono ⇒}}% U+21D2
1595 \newunicodechar{⇔}{{\DejaVuSansMono ⇔}}% U+21D4
1596 \newunicodechar{∈}{{\DejaVuSansMono ∈}}% U+2208
1597 \newunicodechar{∌}{{\DejaVuSansMono ∌}}% U+220C
1598 \newunicodechar{≠}{{\DejaVuSansMono ≠}}% U+2260
1599 \newunicodechar{≟}{{\DejaVuSansMono ≟}}% U+225F
1600 \newunicodechar{␣}{{\DejaVuSansMono ␣}}% U+2423
1601 \newunicodechar{↪}{{\DejaVuSansMono ↪}}% U+21AA
1602 \newunicodechar{↩}{{\DejaVuSansMono ↩}}% U+21A9
1603 \newunicodechar{≤}{{\DejaVuSansMono ≤}}% U+2264
1604 \newunicodechar{≥}{{\DejaVuSansMono ≥}}% U+2265
1605 \newunicodechar{≙}{{\DejaVuSansMono ≙}}% U+2259
1606 \newunicodechar{⇧}{{\DejaVuSansMono ⇧}}% U+21E7
1607 \newunicodechar{⌃}{{\DejaVuSansMono ⌃}}% U+2303
1608 \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388
1609 \newunicodechar{⌥}{{\DejaVuSansMono ⌥}}% U+2325
1610 \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387
1611 \newunicodechar{⌘}{{\DejaVuSansMono ⌘}}% U+2318
1612 \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF
1613 \newunicodechar{⌫}{{\DejaVuSansMono ⌫}}% U+232B
1614 \newunicodechar{⌦}{{\DejaVuSansMono ⌦}}% U+2326
1615 \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5
1616 \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4
1617
1618 \PassOptionsToPackage{%
1619 verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},%
1620 verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}%
1621 {sphinx}
1622 \fi
1623
728 \defaultfontfeatures{} 1624 \defaultfontfeatures{}
729 1625
730 \def\testmdf{ 1626 \def\testmdf{
731 Normalized: \@mdf@fonts\newline 1627 Normalized: \@mdf@fonts\newline
732 } 1628 }