summaryrefslogtreecommitdiff
path: root/obsolete/macros/latex/contrib/substitutefont/substitutefont.sty
diff options
context:
space:
mode:
Diffstat (limited to 'obsolete/macros/latex/contrib/substitutefont/substitutefont.sty')
-rw-r--r--obsolete/macros/latex/contrib/substitutefont/substitutefont.sty81
1 files changed, 81 insertions, 0 deletions
diff --git a/obsolete/macros/latex/contrib/substitutefont/substitutefont.sty b/obsolete/macros/latex/contrib/substitutefont/substitutefont.sty
new file mode 100644
index 0000000000..f3e5a086be
--- /dev/null
+++ b/obsolete/macros/latex/contrib/substitutefont/substitutefont.sty
@@ -0,0 +1,81 @@
+% Easy font substitution
+% **********************
+%
+% :Copyright: © 2010 Günter Milde
+%
+% :Contributor: Special thanks to Ulrike Fischer who provided
+% the indirect definition with active ``\nfss@catcodes``.
+%
+% :Licence: This work may be distributed and/or modified under the
+% conditions of the `LaTeX Project Public License`_, either
+% version 1.3 of this license or any later version.
+%
+% :Abstract: Provide the ``\substitutefont`` macro for defining
+% substitute fonts for specified font encodings.
+%
+% :Identification:
+% ::
+
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{substitutefont}
+[2023-08-13 v0.1.5 combine font families (obsolete)]
+
+% Changelog:
+% .. class:: borderless
+%
+% ============ ===== ================================================
+% 2010-11-04 0.1 initial version
+% 2012-04-30 0.1.1 documentation update, upload to CTAN
+% 2012-07-05 0.1.2 documentation/example update
+% 2012-07-07 0.1.3 bugfix (comment usage example)
+% 2013-11-04 0.1.4 documentation update
+% 2023-08-13 0.1.5 declare obsolete, update documentation and tests
+% ============ ===== ================================================
+%
+%
+% Usage
+% =====
+%
+% The macro ``\substitutefont{<encoding>}{<family>}{<new-family>}``
+% selects the font <new-family> as replacement for <family> if the font
+% encoding is <encoding> in the variants "normal", "italic", "slanted",
+% and "small-caps" and the shapes "medium", "bold", and "bold-extended".
+%
+% Example:
+% Palatino with the standard package `mathpazo`_ for Latin and
+% `GFS Didot`_ for Greek:
+%
+% .. code:: latex
+%
+% \usepackage[sc,slantedGreek]{mathpazo}
+% \usepackage{substitutefont}
+% \substitutefont{LGR}{\rmdefault}{udidot}
+%
+%
+% Implementation
+% ==============
+% ::
+
+\begingroup
+\nfss@catcodes
+\newcommand*{\substitutefont}[3]{%
+ \DeclareFontFamily{#1}{#2}{}
+ \DeclareFontShape{#1}{#2}{m}{n}{<->ssub * #3/m/n}{}
+ \DeclareFontShape{#1}{#2}{m}{it}{<->ssub * #3/m/it}{}
+ \DeclareFontShape{#1}{#2}{m}{sl}{<->ssub * #3/m/sl}{}
+ \DeclareFontShape{#1}{#2}{m}{sc}{<->ssub * #3/m/sc}{}
+ \DeclareFontShape{#1}{#2}{b}{n}{<->ssub * #3/b/n}{}
+ \DeclareFontShape{#1}{#2}{b}{it}{<->ssub * #3/b/it}{}
+ \DeclareFontShape{#1}{#2}{b}{sl}{<->ssub * #3/b/sl}{}
+ \DeclareFontShape{#1}{#2}{b}{sc}{<->ssub * #3/b/sc}{}
+ \DeclareFontShape{#1}{#2}{bx}{n}{<->ssub * #3/bx/n}{}
+ \DeclareFontShape{#1}{#2}{bx}{it}{<->ssub * #3/bx/it}{}
+ \DeclareFontShape{#1}{#2}{bx}{sl}{<->ssub * #3/bx/sl}{}
+ \DeclareFontShape{#1}{#2}{bx}{sc}{<->ssub * #3/bx/sc}{}
+}
+\global\let\substitutefont\substitutefont
+\endgroup
+
+% .. _LaTeX Project Public License: http://www.latex-project.org/lppl.txt
+% .. _GFS Didot: https://mirrors.ctan.org/help/Catalogue/entries/gfsdidot.html
+% .. _mathpazo: https://ctan.org/pkg/mathpazo