diff docs/_latex/my-doc-fonts.sty @ 222:be0cca3df1eb

Allow the font style "Roboto Mono"
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 15 May 2026 18:32:07 +0200
parents 38e2d8ab4965
children b902b1360991
line wrap: on
line diff
--- a/docs/_latex/my-doc-fonts.sty	Fri May 15 18:19:46 2026 +0200
+++ b/docs/_latex/my-doc-fonts.sty	Fri May 15 18:32:07 2026 +0200
@@ -15,10 +15,12 @@
 }
 
 \newif\if@mdf@mono@dejavusansmono\@mdf@mono@dejavusansmonofalse
+\newif\if@mdf@mono@robotomono\@mdf@mono@robotomonofalse
 \newif\if@mdf@mono@sscode\@mdf@mono@sscodefalse
 \newif\if@mdf@mono@inconsolata\@mdf@mono@inconsolatafalse
 
 \newif\if@mdf@WithDejaVuSansMono
+\newif\if@mdf@WithRobotoMono
 \newif\if@mdf@WithIBMPlex
 \newif\if@mdf@WithIBMPlexDejaVuSansMono
 \newif\if@mdf@WithAdobeSourcePro
@@ -29,6 +31,7 @@
 % A key compatible with options processing as option "fonts" but choices.
 \define@choicekey*{my-doc-fonts.sty}{fonts}[\val\nr]{%
   dejavusansmono,
+  robotomono,
   ibmplex, plex,
   plex-dejavusansmono,
   adobesourcepro, adobesource,
@@ -39,6 +42,7 @@
   \xdef\@mdf@fonts{\val}%
   % Reset all option related font selection flags
   \@mdf@WithDejaVuSansMonofalse
+  \@mdf@WithRobotoMonofalse
   \@mdf@WithIBMPlexfalse
   \@mdf@WithIBMPlexDejaVuSansMonofalse
   \@mdf@WithAdobeSourceProfalse
@@ -49,6 +53,8 @@
   \ifcase\nr\relax
     \@mdf@WithDejaVuSansMonotrue
   \or
+    \@mdf@WithRobotoMonotrue
+  \or
     \@mdf@WithIBMPlextrue
   \or
     \@mdf@WithIBMPlextrue
@@ -84,6 +90,9 @@
   %\RequirePackage[mono=true,serif=false,sans=false,math=false]{dejavu-otf}  % all symbols are available
   \@mdf@mono@dejavusansmonotrue
 \fi
+\if@mdf@WithRobotoMono
+  \@mdf@mono@robotomonotrue
+\fi
 %
 %
 \if@mdf@WithIBMPlex
@@ -223,7 +232,6 @@
     ItalicFont = * Italic,
     BoldItalicFont = * Bold Italic,
   ]
-  \defaultfontfeatures{}
   \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
     UprightFont = *,
     BoldFont = * Bold,
@@ -254,7 +262,6 @@
     ItalicFont = * Italic,
     BoldItalicFont = * Bold Italic,
   ]
-  \defaultfontfeatures{}
   \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
     UprightFont = *,
     BoldFont = * Bold,
@@ -270,6 +277,40 @@
   \newunicodechar{∌}{{\DejaVuSansMono ∌}}% U+220C
 \fi
 
+\if@mdf@mono@robotomono
+  \RequirePackage{newunicodechar}
+  \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular},Scale=MatchLowercase}
+  \setmonofont{Roboto Mono}[%
+    UprightFont = *,
+    BoldFont = * Bold,
+    ItalicFont = * Italic,
+    BoldItalicFont = * Bold Italic,
+  ]
+  \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
+    UprightFont = *,
+    BoldFont = * Bold,
+    ItalicFont = * Oblique,
+    BoldItalicFont = * Bold Oblique,
+  ]
+  \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7
+  \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236
+  \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6
+  \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5
+  \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6
+  \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7
+  \newunicodechar{⇒}{{\DejaVuSansMono ⇒}}% U+21D2
+  \newunicodechar{⇔}{{\DejaVuSansMono ⇔}}% U+21D4
+  \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA
+  \newunicodechar{≟}{{\DejaVuSansMono ≟}}% U+225F
+  \newunicodechar{∈}{{\DejaVuSansMono ∈}}% U+2208
+  \newunicodechar{∌}{{\DejaVuSansMono ∌}}% U+220C
+
+  \PassOptionsToPackage{%
+    verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},%
+    verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}%
+    {sphinx}
+\fi
+
 \defaultfontfeatures{}
 
 \def\testmdf{