Mercurial > hgrepos > Python > libs > ConfigMix
diff docs/_latex/my-doc-fonts.sty @ 793:46578f03a7cb default tip
Update to latest my-doc-XXX.sty style files for PDF generation
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Wed, 20 May 2026 12:57:36 +0200 |
| parents | 0b83218218e2 |
| children |
line wrap: on
line diff
--- a/docs/_latex/my-doc-fonts.sty Mon May 18 12:26:44 2026 +0200 +++ b/docs/_latex/my-doc-fonts.sty Wed May 20 12:57:36 2026 +0200 @@ -1,4 +1,6 @@ % -*- coding: utf-8 -*- +% SPDX-FileCopyrightText: © 2026 Franz Glasner +% SPDX-License-Identifier: BSD-3-Clause % % Some font hacks for my Sphinx PDF documents % @@ -20,7 +22,9 @@ \newif\if@mdf@mono@sscode\@mdf@mono@sscodefalse \newif\if@mdf@mono@inconsolata\@mdf@mono@inconsolatafalse \newif\if@mdf@mono@libertinusmono\@mdf@mono@libertinusmonofalse +\newif\if@mdf@mono@hackmono\@mdf@mono@hackmonofalse \newif\if@mdf@augment@libertinusmono\@mdf@augment@libertinusmonofalse +\newif\if@mdf@augment@ibmplexmono\@mdf@augment@ibmplexmonofalse \newif\if@mdf@WithDejaVuSansMono \newif\if@mdf@WithCM @@ -38,6 +42,8 @@ \newif\if@mdf@WithCrimson \newif\if@mdf@WithCrimsonCabin \newif\if@mdf@WithDejaVu +\newif\if@mdf@WithMerriweather +\newif\if@mdf@WithLiterata % A key compatible with options processing as option "fonts" but choices. \define@choicekey*{my-doc-fonts.sty}{fonts}[\val\nr]{% @@ -61,6 +67,8 @@ crimson, % Crimson Pro, Open Sans and Roboto Mono (Erewhon Math) crimson-cabin, % Crimson Pro, Cabin and Source Code Pro (Erewhon Math) dejavu, % All DejaVu fonts (Serif, Sans, Mono) + merriweather, % Merriweather, Merriweather Sans, Hack (STIX Two Math) + literata, % Literata, Inter, IBM Plex Mono (Garamond Math) }{% % Not used for now : store the normalized option value (global and expanded) \xdef\@mdf@fonts{\val}% @@ -81,6 +89,8 @@ \@mdf@WithCrimsonfalse \@mdf@WithCrimsonCabinfalse \@mdf@WithDejaVufalse + \@mdf@WithMerriweatherfalse + \@mdf@WithLiteratafalse % Now set the needed font selection flag \ifcase\nr\relax \relax @@ -124,6 +134,10 @@ \@mdf@WithCrimsonCabintrue \or \@mdf@WithDejaVutrue + \or + \@mdf@WithMerriweathertrue + \or + \@mdf@WithLiteratatrue \fi } @@ -149,59 +163,10 @@ % % \if@mdf@WithIBMPlex - \RequirePackage{newunicodechar} \RequirePackage[DefaultFeatures={Scale=0.92}]{plex-otf} % Dont keep all default font features from plex-otf \defaultfontfeatures{} - \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% - UprightFont = *, - BoldFont = * Bold, - ItalicFont = * Oblique, - BoldItalicFont = * Bold Oblique, - Scale=MatchLowercase, - Ligatures=TeX, - ] - \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[% - UprightFont = *, - BoldFont = * Bold, - ItalicFont = * Oblique, - BoldItalicFont = * Bold Oblique, - Scale=MatchLowercase, - Ligatures=TeX, - ] - \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 - \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 - \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6 - \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA - \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 - \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6 - \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7 - \newunicodechar{⇒}{{\DejaVuSansMono ⇒}}% U+21D2 - \newunicodechar{⇔}{{\DejaVuSansMono ⇔}}% U+21D4 - \newunicodechar{≟}{{\DejaVuSansMono ≟}}% U+225F - \newunicodechar{∈}{{\DejaVuSansMono ∈}}% U+2208 - \newunicodechar{∌}{{\DejaVuSansMono ∌}}% U+220C - \newunicodechar{≙}{{\DejaVuSansMono ≙}}% U+2259 - \newunicodechar{␣}{{\DejaVuSansMono ␣}}% U+2423 - \newunicodechar{⇧}{{\DejaVuSansMono ⇧}}% U+21E7 - \newunicodechar{⌃}{{\DejaVuSansMono ⌃}}% U+2303 - \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388 - \newunicodechar{⌥}{{\DejaVuSansMono ⌥}}% U+2325 - \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387 - \newunicodechar{⌘}{{\DejaVuSansMono ⌘}}% U+2318 - \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF - \newunicodechar{⌫}{{\DejaVuSansMono ⌫}}% U+232B - \newunicodechar{⌦}{{\DejaVuSansMono ⌦}}% U+2326 - \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5 - \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4 - %\newunicodechar{^^^^2423}{{\DejaVuSansMono^^^^2423}}% U+2423 - %\newunicodechar{␣}{\textvisiblespace}% U+2423 - %\catcode`^^^^2423\active\protected\def^^^^2423{\textvisiblespace} - - \PassOptionsToPackage{% - verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},% - verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}% - {sphinx} + \@mdf@augment@ibmplexmonotrue \fi \if@mdf@WithIBMPlexDejaVuSansMono \RequirePackage[DefaultFeatures={Scale=0.92},mono=false]{plex-otf} @@ -303,8 +268,8 @@ %\setsansfont{Rosario}[Scale=MatchLowercase,ScaleAgain=1.013] %\setmathfont{Asana Math}[Scale=MatchLowercase] \setmathfont{TeX Gyre Pagella Math}[Scale=MatchLowercase] - \@mdf@mono@inconsolatatrue -\fi + \@mdf@mono@inconsolatatrue +\fi \if@mdf@WithCrimson \RequirePackage{unicode-math} @@ -336,6 +301,55 @@ \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387 \fi +\if@mdf@WithMerriweather + \RequirePackage{unicode-math} + \linespread{1.06} + \defaultfontfeatures{% + Scale = 0.92, + Ligatures = TeX, + Numbers = {Lining,Tabular}, + Extension = .otf, + } + \setmainfont{Merriweather}[% + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic + ] + \setsansfont{MerriweatherSans}[% + UprightFont = *-Regular , + ItalicFont = *-Italic , + BoldFont = *-Bold , + BoldItalicFont = *-BoldItalic + ] + \defaultfontfeatures{} + \setmathfont{STIX Two Math}[Scale=MatchLowercase] + \@mdf@mono@hackmonotrue +\fi + +\if@mdf@WithLiterata + \RequirePackage{unicode-math} + \defaultfontfeatures{% + Ligatures = TeX, + Numbers = {Lining,Tabular}, + } + \setmainfont{Literata} + \setsansfont{Inter}[Scale=MatchLowercase] + \defaultfontfeatures{} + \setmathfont{Garamond-Math}[Scale=MatchLowercase] + \setmonofont{IBMPlexMono}[% + Extension = .otf, + Scale = MatchLowercase, + Ligatures = TeX, + UprightFont= *-Regular, + BoldFont = *-Bold, + ItalicFont = *-Italic, + BoldItalicFont = *-BoldItalic, + SlantedFont = *-Italic, + ] + \@mdf@augment@ibmplexmonotrue +\fi + \defaultfontfeatures{} \if@mdf@mono@dejavusansmono @@ -544,6 +558,41 @@ {sphinx} \fi +\if@mdf@mono@hackmono + \defaultfontfeatures{Ligatures=TeX,Numbers={Lining,Tabular},Scale=MatchLowercase} + \RequirePackage{newunicodechar} + \setmonofont{Hack} + \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% + UprightFont = *, + BoldFont = * Bold, + ItalicFont = * Oblique, + BoldItalicFont = * Bold Oblique, + Scale=MatchLowercase, + Ligatures=TeX, + ] + \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[% + UprightFont = *, + BoldFont = * Bold, + ItalicFont = * Oblique, + BoldItalicFont = * Bold Oblique, + Scale=MatchLowercase, + Ligatures=TeX, + ] + \newunicodechar{␣}{{\DejaVuSansMono ␣}}% U+2423 + \newunicodechar{⌃}{{\DejaVuSansMono ⌃}}% U+2303 + \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388 + \newunicodechar{⌥}{{\DejaVuSansMono ⌥}}% U+2325 + \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387 + \newunicodechar{⌘}{{\DejaVuSansMono ⌘}}% U+2318 + \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF + \newunicodechar{⌫}{{\DejaVuSansMono ⌫}}% U+232B + \newunicodechar{⌦}{{\DejaVuSansMono ⌦}}% U+2326 + \PassOptionsToPackage{% + verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},% + verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}% + {sphinx} +\fi + \if@mdf@mono@libertinusmono % This is stolen from libertinus-otf.sty! \setmonofont{LibertinusMono}[% @@ -565,6 +614,59 @@ \@mdf@augment@libertinusmonotrue \fi +\if@mdf@augment@ibmplexmono + \RequirePackage{newunicodechar} + \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[% + UprightFont = *, + BoldFont = * Bold, + ItalicFont = * Oblique, + BoldItalicFont = * Bold Oblique, + Scale=MatchLowercase, + Ligatures=TeX, + ] + \newfontfamily\DejaVuSansCondensed{DejaVu Sans Condensed}[% + UprightFont = *, + BoldFont = * Bold, + ItalicFont = * Oblique, + BoldItalicFont = * Bold Oblique, + Scale=MatchLowercase, + Ligatures=TeX, + ] + \newunicodechar{▷}{{\DejaVuSansMono ▷}}% U+25B7 + \newunicodechar{∶}{{\DejaVuSansMono ∶}}% U+2236 + \newunicodechar{◆}{{\DejaVuSansMono ◆}}% U+25C6 + \newunicodechar{▪}{{\DejaVuSansMono ▪}}% U+25AA + \newunicodechar{⟵}{{\DejaVuSansMono ⟵}}% U+27F5 + \newunicodechar{⟶}{{\DejaVuSansMono ⟶}}% U+27F6 + \newunicodechar{⟷}{{\DejaVuSansMono ⟷}}% U+27F7 + \newunicodechar{⇒}{{\DejaVuSansMono ⇒}}% U+21D2 + \newunicodechar{⇔}{{\DejaVuSansMono ⇔}}% U+21D4 + \newunicodechar{≟}{{\DejaVuSansMono ≟}}% U+225F + \newunicodechar{∈}{{\DejaVuSansMono ∈}}% U+2208 + \newunicodechar{∌}{{\DejaVuSansMono ∌}}% U+220C + \newunicodechar{≙}{{\DejaVuSansMono ≙}}% U+2259 + \newunicodechar{␣}{{\DejaVuSansMono ␣}}% U+2423 + \newunicodechar{⇧}{{\DejaVuSansMono ⇧}}% U+21E7 + \newunicodechar{⌃}{{\DejaVuSansMono ⌃}}% U+2303 + \newunicodechar{⎈}{{\DejaVuSansMono ⎈}}% U+2388 + \newunicodechar{⌥}{{\DejaVuSansMono ⌥}}% U+2325 + \newunicodechar{⎇}{{\DejaVuSansCondensed ⎇}}% U+2387 + \newunicodechar{⌘}{{\DejaVuSansMono ⌘}}% U+2318 + \newunicodechar{⏏}{{\DejaVuSansMono ⏏}}% U+23CF + \newunicodechar{⌫}{{\DejaVuSansMono ⌫}}% U+232B + \newunicodechar{⌦}{{\DejaVuSansMono ⌦}}% U+2326 + \newunicodechar{⇥}{{\DejaVuSansMono ⇥}}% U+21E5 + \newunicodechar{⇤}{{\DejaVuSansMono ⇤}}% U+21E4 + %\newunicodechar{^^^^2423}{{\DejaVuSansMono^^^^2423}}% U+2423 + %\newunicodechar{␣}{\textvisiblespace}% U+2423 + %\catcode`^^^^2423\active\protected\def^^^^2423{\textvisiblespace} + + \PassOptionsToPackage{% + verbatimvisiblespace={\textcolor{red}{{\DejaVuSansMono^^^^2423}}},% + verbatimcontinued={\textcolor{red}{{\DejaVuSansMono^^^^21aa}}}}% + {sphinx} +\fi + \if@mdf@augment@libertinusmono \RequirePackage{newunicodechar} \newfontfamily\DejaVuSansMono{DejaVu Sans Mono}[%
