annotate docs/_latex/my-doc-fonts.sty @ 189:91e8fb8cf67b

FIX: Reset defaultfontfeatures because plex-otf.sty doesn't do it internally
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 13 May 2026 09:00:57 +0200
parents dcbc66f851eb
children c10b2092c48f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
181
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
1 % -*- coding: utf-8 -*-
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
2 %
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
3 % Some font hacks for my Sphinx PDF documents
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
4 %
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
5 \NeedsTeXFormat{LaTeX2e}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
6 \ProvidesPackage{my-doc-fonts}[%
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
7 2026/05/12 v0.1 (Franz Glasner) Fonts for Sphinx generated PDFs]
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
8 \RequirePackage{xkeyval}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
9 \RequirePackage{fontspec}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
10 \IfFileExists{xcolor.sty}{%
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
11 % Should Sphinx load xcolor with its dvipsnames and svgnames options?
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
12 \RequirePackage{xcolor}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
13 }{%
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
14 \RequirePackage{color}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
15 }
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
16
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
17 \newif\if@mdf@WithDejaVuSansMono
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
18 \newif\if@mdf@WithPlexMono
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
19
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
20 \def\@mdf@reset@font@options{\@mdf@WithDejaVuSansMonofalse\@mdf@WithPlexMonofalse}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
21
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
22 \DeclareOptionX{dejavusansmono}[true]{\@mdf@reset@font@options\csname @mdf@WithDejaVuSansMono#1\endcsname}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
23 \DeclareOptionX{plexmono}[true]{\@mdf@reset@font@options\csname @mdf@WithPlexMono#1\endcsname}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
24
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
25 %
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
26 % By default use the safe option dejavusansmono because is contains
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
27 % all characters without any hacks.
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
28 %
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
29 \ExecuteOptionsX{dejavusansmono}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
30 \ProcessOptionsX*\relax
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
31
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
32 \if@mdf@WithDejaVuSansMono
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
33 \RequirePackage[DefaultFeatures={Scale=0.92},mono=false]{plex-otf}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
34 \RequirePackage[mono=true,serif=false,sans=false,math=false]{dejavu-otf} % all symbols are available
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
35 \fi
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
36 %
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
37 %
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
38 \if@mdf@WithPlexMono
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
39 \RequirePackage{newunicodechar}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
40 \RequirePackage[DefaultFeatures={Scale=0.92}]{plex-otf}
189
91e8fb8cf67b FIX: Reset defaultfontfeatures because plex-otf.sty doesn't do it internally
Franz Glasner <fzglas.hg@dom66.de>
parents: 181
diff changeset
41 % Dont keep all default font features from plex-otf
91e8fb8cf67b FIX: Reset defaultfontfeatures because plex-otf.sty doesn't do it internally
Franz Glasner <fzglas.hg@dom66.de>
parents: 181
diff changeset
42 \defaultfontfeatures{}
181
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
43 \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
44 UprightFont = *,
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
45 BoldFont = * Bold,
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
46 ItalicFont = * Oblique,
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
47 BoldItalicFont = * Bold Oblique,
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
48 Scale=MatchLowercase,
189
91e8fb8cf67b FIX: Reset defaultfontfeatures because plex-otf.sty doesn't do it internally
Franz Glasner <fzglas.hg@dom66.de>
parents: 181
diff changeset
49 Ligatures=TeX,
181
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
50 ]
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
51 \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
52 \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
53 \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
54 \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
55 \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
56 \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
57 \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
58 \newunicodechar{⇒}{{\DejaVuSansMono ⇒}}% U+21D2
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
59 \newunicodechar{⇔}{{\DejaVuSansMono ⇔}}% U+21D4
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
60 \newunicodechar{≟}{{\DejaVuSansMono ≟}}% U+225F
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
61 \newunicodechar{∈}{{\DejaVuSansMono ∈}}% U+2208
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
62 \newunicodechar{∌}{{\DejaVuSansMono ∌}}% U+220C
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
63 %\newunicodechar{␣}{{\DejaVuSansMono ␣}}% U+2423 Missing!
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
64 %\newunicodechar{^^^^2423}{{\DejaVuSansMono^^^^2423}}% U+2423
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
65 %\newunicodechar{␣}{\textvisiblespace}% U+2423
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
66 %\catcode`^^^^2423\active\protected\def^^^^2423{\textvisiblespace}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
67
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
68 \PassOptionsToPackage{%
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
69 verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},%
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
70 verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}%
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
71 {sphinx}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
72 \fi
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
73 \endinput