diff options
author | Norbert Preining <norbert@preining.info> | 2023-08-15 03:00:53 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2023-08-15 03:00:53 +0000 |
commit | 3593305133bcfb167225af1b35c299bde1456579 (patch) | |
tree | c80fe825c17682b4b49b9b2f9ac687210e5df157 /obsolete/macros/latex/contrib/substitutefont/substitutefont.sty | |
parent | 8360ddccbd0538a65b33a2474e0b3b79acd83dab (diff) |
CTAN sync 202308150300
Diffstat (limited to 'obsolete/macros/latex/contrib/substitutefont/substitutefont.sty')
-rw-r--r-- | obsolete/macros/latex/contrib/substitutefont/substitutefont.sty | 81 |
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 |