annotate docs/_latex/my-doc-fonts.sty @ 181:dcbc66f851eb

A style file for (Lua)LaTeX that loads the required fonts. Also defined character substitutions for characters that are not in the wished font.
author Franz Glasner <fzglas.hg@dom66.de>
date Tue, 12 May 2026 14:58:14 +0200
parents
children 91e8fb8cf67b
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}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
41 \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
42 UprightFont = *,
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
43 BoldFont = * Bold,
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
44 ItalicFont = * Oblique,
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
45 BoldItalicFont = * Bold Oblique,
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
46 Scale=MatchLowercase,
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
47 ]
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
48 \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
49 \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
50 \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
51 \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
52 \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
53 \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
54 \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
55 \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
56 \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
57 \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
58 \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
59 \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
60 %\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
61 %\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
62 %\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
63 %\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
64
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
65 \PassOptionsToPackage{%
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
66 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
67 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
68 {sphinx}
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
69 \fi
dcbc66f851eb A style file for (Lua)LaTeX that loads the required fonts.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
70 \endinput