# substitutefont

## Combine font families

Copyright
  © 2010 Günter Milde <milde@users.sf.net>
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 (at your option) any later version.

In traditional 8-bit LaTeX, fonts are restricted to 256 glyphs per file. To support different languages and scripts, the New Font Selection Scheme uses a set of TeX font encodings [encguide].

Many Latin TeX fonts do not support Greek or Cyrillic, while many non-Latin fonts are extensions of a Latin font family but use a different family name due to license reasons or the creators preference.

The substitutefont package facilitates the task to set up a font family as substitute for another one in a specified font encoding.

News

  2013-11-04 Documentation/Test fixes.

Source

  substitutefont.sty

  The literate source was converted with PyLit to reStructuredText and with Docutils to the HTML documentation substitutefont.sty.html.

# Usage

The macro `\substitutefont{<encoding>}{<family>}{<new-family>}` selects the font family <new-family> as replacement for <family> in the font encoding <encoding>. The substitution must be defined before the first use of the specified font encoding, preferably in the document preamble. In contrast to the (deprecated) `\substitutefontfamily` macro provided by Babel, `\substitutefont` does not write auxiliary files.

The `<encoding>` is one of the LaTeX font encodings [encguide], e.g., T1 for Latin, T2A for Cyrillic(Russian), or LGR for Greek.

For `<family>` and `<new-family>`, use the «TeX names» of the font. There are defined by a TeX font package’s `*.fd` or `*.sty` file(s). LaTeX stores the default family names for Roman, Sans-Serif, and Teletype fonts in the `\rmdefault`, `\sfdefault`, and `\ttdefault` macros respectively.

Example: Set the font family to Palatino using the standard package mathpazo for Latin and GFS Didot for Greek:

    \usepackage[sc,slantedGreek]{mathpazo}
    \usepackage{substitutefont}
    \substitutefont{LGR}{\rmdefault}{udidot}

For details on LaTeX font selection, see [encguide] and [fntguide].

# Tests/Examples

- Simple test with Latin fonts: substitutefont-test.tex, substitutefont-test.pdf

- Palatino with Greek from GFS Didot: greek-palatino-didot.tex, greek-palatino-didot.pdf

- Times/Helvetica/Courier (newtx) with GFS Artemisia, GFS Neohellenic, and teletype from the CB fonts: txfontsb greek-times-artemisia.tex, greek-times-artemisia.pdf

- Latin Modern with Cyrillic from CM LGC: cyrillic-lm-lgc.tex, cyrillic-lm-lgc.pdf

- Times/Helvetica/Courier (TeX Gyre) with Cyrillic ParaType fonts: cyrillic-paratype.tex, cyrillic-paratype.pdf

# References

[encguide]
  (1, 2, 3)

  Frank Mittelbach, Robin Fairbairns, Werner Lemberg, LaTeX3 Project Team, LaTeX font encodings: http://mirror.ctan.org/macros/latex/doc/encguide.pdf.

[fntguide]

  LaTeX3 Project Team, LaTeX 2e font selection: http://mirror.ctan.org/macros/latex/doc/fntguide.pdf.