summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/lh/ot2fonts.fdd
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-07-01 22:18:57 +0000
committerKarl Berry <karl@freefriends.org>2006-07-01 22:18:57 +0000
commit12e838406005e7d86054c1b4a605be7eb2f49080 (patch)
tree5f2ca548c1fb8a1e28eb34b3ad57396471ff7902 /Master/texmf-dist/source/latex/lh/ot2fonts.fdd
parenta8fc2d59858b6da806b0b23d7b41e2c8ea801c2a (diff)
lh fonts 3.5d update
git-svn-id: svn://tug.org/texlive/trunk@1738 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/lh/ot2fonts.fdd')
-rw-r--r--Master/texmf-dist/source/latex/lh/ot2fonts.fdd682
1 files changed, 682 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/lh/ot2fonts.fdd b/Master/texmf-dist/source/latex/lh/ot2fonts.fdd
new file mode 100644
index 00000000000..6d1bcf3f86e
--- /dev/null
+++ b/Master/texmf-dist/source/latex/lh/ot2fonts.fdd
@@ -0,0 +1,682 @@
+% \iffalse meta-comment
+% ot2fonts.fdd
+% extraction and modification of cmfonts.fdd
+% (+concmath.dtx,slifonts.fdd,cmbr.fdd)
+% Part of LH fonts package v3.5(d)
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% \fi
+% \CheckSum{131}
+%
+%\iffalse This is a META comment
+%
+% File `ot2fonts.fdd'.
+%
+%<OT2ccr, >\ProvidesFile{ot2ccr.fd}
+%<OT2cmdh, >\ProvidesFile{ot2cmdh.fd}
+%<OT2cmfib, >\ProvidesFile{ot2cmfib.fd}
+%<OT2cmfr, >\ProvidesFile{ot2cmfr.fd}
+%<OT2cmr&!OT2cmss>\ProvidesFile{ot2cmr.fd}
+%<OT2cmss&!OT2cmr>\ProvidesFile{ot2cmss.fd}
+%<OT2cmr&OT2cmss>\ProvidesPackage{lh-ot2}
+%<OT2cmtt, >\ProvidesFile{ot2cmtt.fd}
+%<OT2cmvtt, >\ProvidesFile{ot2cmvtt.fd}
+%<lcmss, >\ProvidesFile{ot2lcmss.fd}
+%<lcmtt, >\ProvidesFile{ot2lcmtt.fd}
+%<slimain, >\ProvidesFile{ot2sfonts.def}
+%<ot2cmbr, >\ProvidesFile{ot2cmbr.fd}
+%<ot2cmtl, >\ProvidesFile{ot2cmtl.fd}
+%<*driver, >
+ \ProvidesFile{ot2fonts.drv}
+%</driver, >
+ [2006/06/08 v0.0a OT2 Cyrillic font definitions]
+%
+%<*driver>
+\documentclass{ltxdoc}
+\GetFileInfo{ot2fonts.drv}
+\providecommand\dst{\expandafter{\normalfont\scshape docstrip}}
+\title{The file \texttt{ot2fonts.fdd} for use with
+ \LaTeXe.\thanks{This file has version
+ number \fileversion, dated \filedate.}}
+\date{\filedate}\author{Olga Lapko}
+\begin{document}
+\maketitle
+ \DocInput{ot2fonts.fdd}
+\end{document}
+%</driver>
+%
+%\fi
+%
+% \section{Introduction}
+%
+% This file contains the external font information needed to load
+% the LH fonts in old Cyrillic encoding (|OT2|).
+%
+% \StopEventually{}
+%
+% \section{The \texttt{docstrip} modules}
+%
+% The following modules are used to direct \texttt{docstrip} in
+% generating external files:
+% \begin{center}
+% \begin{tabular}{ll}
+% driver & produce a documentation driver file \\
+% nowarn & produce |.fd| files that do not warn about substitutions\\
+% ori & make conservative |.fd| files\\
+% fd & produce a font definition file (actually no longer used)\\[2pt]
+% OT2ccr & make Concrete Roman (old encoding) \\
+% OT2cmdh & make Computer Modern Dunhill (old encoding)\\
+% OT2cmfib & make Computer Modern Fibonacci (old encoding)\\
+% OT2cmfr & make Computer Modern Funny (old encoding)\\
+% OT2cmr & make Computer Modern Roman (old encoding)\\
+% OT2cmss & make Computer Modern Sans (old encoding)\\
+% OT2cmtt & make Computer Modern Typewriter (old encoding)\\
+% OT2cmvtt & make Computer Modern Variable Typewriter (old encoding)\\[2pt]
+% slimain & generate \texttt{ot2sfonts.def} for slides\\
+% lccr & Concrete Roman slide sizes \\
+% lcmss & Computer Modern Sans slide sizes \\
+% lcmtt & Computer Modern Typewriter slide sizes \\[2pt]
+% ot2cmbr & CM bright font definition file \texttt{ot2cmbr.fd}\\
+% ot2cmtl & CM bright font definition file \texttt{ot2cmtl.fd}\\
+% \end{tabular}
+% \end{center}
+% A typical \texttt{docstrip} command file would then have entries like:
+% \begin{verbatim}
+%\generateFile{OT2cmr.fd}{t}{\from{cmfonts.fdd}{fd,OT2cmr}}
+%\end{verbatim}
+%
+%
+% \section{The font definition files for old Cyrillic encoding (\texttt{OT2})}
+%
+% \subsection{Computer Modern Roman (\texttt{OT2})}
+%
+% The package \texttt{lh-ot2} can be loaded without \texttt{fontenc}.
+% Here is declared font encoding and default font for this encoding.
+% To avoid mixing of WNCYR and LH fonts the default font redefined
+% to \texttt{wnr10}.
+% \begin{macrocode}
+%<*OT2cmr&OT2cmss>
+\DeclareFontEncoding{OT2}{}{}
+\DeclareFontSubstitution{OT2}{cmr}{m}{n}
+\@ifundefined{OT2/cmr/m/n/10}{}{%
+ \expandafter\font\csname OT2/cmr/m/n/10\endcsname=wnr10}
+%</OT2cmr&OT2cmss>
+% \end{macrocode}
+% \begin{macrocode}
+%<*OT2cmr>
+\DeclareFontFamily{OT2}{cmr}{\hyphenchar\font45 }
+\DeclareFontShape{OT2}{cmr}{m}{n}%
+ {<5><6><7><8><9><10><12>gen*wnr%
+ <10.95>wnr10%
+ <14.4>wnr12%
+ <17.28><20.74><24.88>wnr17}{}
+\DeclareFontShape{OT2}{cmr}{m}{sl}%
+ {%
+%<+ori> <5-8>sub*cmr/m/n%
+%<-ori> <5><6><7>wnsl8%
+ <8><9>gen*wnsl%
+ <10><10.95>wnsl10%
+ <12><14.4><17.28><20.74><24.88>wnsl12%
+ }{}
+\DeclareFontShape{OT2}{cmr}{m}{it}%
+ {%
+%<+ori> <5-7>sub*cmr/m/n%
+%<+ori> <7>wnti7%
+%<-ori> <5><6><7>wnti7%
+ <8>wnti8%
+ <9>wnti9%
+ <10><10.95>wnti10%
+ <12><14.4><17.28><20.74><24.88>wnti12%
+ }{}
+\DeclareFontShape{OT2}{cmr}{m}{sc}%
+ {%
+%<+ori> <5-8>sub*cmr/m/n%
+%<+ori> <8><9><10><10.95><12>%
+%<+ori> <14.4><17.28><20.74><24.88>wncsc10%
+%<-ori> <5><6><7><8><9><10><10.95><12>%
+%<-ori> <14.4><17.28><20.74><24.88>wncsc10%
+ }{}
+% \end{macrocode}
+% Here we try to cure the famous \$ $\to$ \pounds{} bug:
+% \begin{macrocode}
+%<+OT2cmr>% Warning: please note that the upright shape below is
+%<+OT2cmr>% used for the \pounds symbol of LaTeX. So this
+%<+OT2cmr>% font definition shouldn't be removed.
+%<+OT2cmr>%
+%<+ori>% If cmu below 10pt is not available we substitute
+%<+ori>% cmti as far as possible (sizes 7, 8, 9). This is
+%<+ori>% done because cmu is used mainly for producing the
+%<+ori>% the \pound symbol and it is better to get a slanted
+%<+ori>% (or bigger) pound then to get a $ sign in such
+%<+ori>% situations.
+\DeclareFontShape{OT2}{cmr}{m}{ui}
+ {
+%<+ori> <7>subf*cmti7%
+%<+ori> <8>subf*cmti8%
+%<+ori> <9>subf*cmti9%
+%<+ori> <10><10.95><12><14.4><17.28><20.74><24.88>wnu10%
+%<-ori> <5><6><7><8><9><10><10.95><12>%
+%<-ori> <14.4><17.28><20.74><24.88>wnu10%
+ }{}
+%%%%%%% bold series
+\DeclareFontShape{OT2}{cmr}{b}{n}
+ {%
+%<+ori> <-10>sub*cmr/bx/n%
+%<+ori> <10><10.95><12><14.4><17.28><20.74><24.88>wnb10%
+%<-ori> <5><6><7><8><9><10><10.95><12>%
+%<-ori> <14.4><17.28><20.74><24.88>wnb10%
+ }{}
+%%%%%%%% bold extended series
+\DeclareFontShape{OT2}{cmr}{bx}{n}
+ {%
+ <5><6><7><8><9>gen*wnbx%
+ <10><10.95>wnbx10%
+ <12><14.4><17.28><20.74><24.88>wnbx12%
+ }{}
+\DeclareFontShape{OT2}{cmr}{bx}{sl}
+ {%
+%<+ori> <-10>sub*cmr/bx/n%
+%<+ori> <10><10.95><12><14.4><17.28><20.74><24.88>wnbxsl10%
+%<-ori> <5><6><7><8><9>%
+%<-ori> <10><10.95><12><14.4><17.28><20.74><24.88>wnbxsl10%
+ }{}
+\DeclareFontShape{OT2}{cmr}{bx}{it}
+ {%
+%<+ori> <-10>sub*cmr/bx/n%
+%<+ori> <10><10.95><12><14.4><17.28><20.74><24.88>wnbxti10%
+%<-ori> <5><6><7><8><9>%
+%<-ori> <10><10.95><12><14.4><17.28><20.74><24.88>wnbxti10%
+ }{}
+% \end{macrocode}
+% \begin{macrocode}
+%<+OT2cmr>% Again this is necessary for a correct \pounds symbol in
+%<+OT2cmr>% the cmr fonts Hopefully the dc/ec font layout will take
+%<+OT2cmr>% over soon.
+%<+OT2cmr>%
+%<+OT2cmr>\DeclareFontShape{OT2}{cmr}{bx}{ui}
+%<-nowarn> {<->sub*cmr/m/ui}{}
+%<+nowarn> {<->ssub*cmr/m/ui}{}
+%</OT2cmr>
+% \end{macrocode}
+%
+% \subsection{Computer Modern Sans (\texttt{OT2})}
+%
+% Same game for the Sans family.
+% \begin{macrocode}
+%<*OT2cmss>
+\DeclareFontFamily{OT2}{cmss}{\hyphenchar\font45 }
+\DeclareFontShape{OT2}{cmss}{m}{n}
+ {%
+%<+ori> <-8>sub*cmr/m/n%
+%<+ori> <8>wnss8%
+%<-ori> <5><6><7><8>wnss8%
+ <9>wnss9%
+ <10><10.95>wnss10%
+ <12><14.4>wnss12%
+ <17.28><20.74><24.88>wnss17%
+ }{}
+%<+OT2cmss>% Font undefined, therefore substituted
+\DeclareFontShape{OT2}{cmss}{m}{it}
+%<-nowarn> {<->sub*cmss/m/sl}{}
+%<+nowarn> {<->ssub*cmss/m/sl}{}
+\DeclareFontShape{OT2}{cmss}{m}{sl}
+ {%
+%<+ori> <-8>sub*cmss/m/n%
+%<+ori> <8><9>gen*wnssi%
+%<-ori> <5><6><7><8>wnssi8<9>wnssi9%
+ <10><10.95>wnssi10%
+ <12><14.4>wnssi12%
+ <17.28><20.74><24.88>wnssi17%
+ }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{OT2}{cmss}{m}{sc}
+ {<->sub*cmr/m/sc}{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{OT2}{cmss}{m}{ui}
+ {<->sub*cmr/m/ui}{}
+%%%%%%%% semibold condensed series
+\DeclareFontShape{OT2}{cmss}{sbc}{n}
+ {%
+%<+ori> <-10>sub*cmss/m/n%
+%<-ori> <5><6><7><8><9>wnssdc10%
+ <10><10.95><12><14.4><17.28><20.74><24.88>wnssdc10%
+ }{}
+
+%%%%%%%%% bold extended series
+\DeclareFontShape{OT2}{cmss}{bx}{n}
+ {%
+%<+ori> <-10>sub*cmss/m/n%
+%<-ori> <5><6><7><8><9>wnssbx10%
+ <10><10.95><12><14.4><17.28><20.74><24.88>wnssbx10%
+ }{}
+%%%%%%% Font/shape undefined, therefore substituted
+\DeclareFontShape{OT2}{cmss}{bx}{ui}
+ {<->sub*cmr/bx/ui}{}
+%</OT2cmss>
+% \end{macrocode}
+%
+% \subsection{Computer Modern Typewriter (\texttt{OT2})}
+%
+% Notice that this encoding is in fact quite different and we
+% shouldn't therefore substitute some other font group if the
+% correct size or shape isn't available. Otherwise, we may end with
+% a |\verb| suddenly producing a lot of funny chars instead of the
+% desired ones.
+% \begin{macrocode}
+%<*OT2cmtt>
+\DeclareFontFamily{OT2}{cmtt}{\hyphenchar \font\m@ne}
+\DeclareFontShape{OT2}{cmtt}{m}{n}
+ {%
+% \end{macrocode}
+% This substitution for |ori| is wrong and only in here because
+% that was the way stuff has be set up in the old |lfonts.tex| file.
+% \begin{macrocode}
+%<+ori> <-8>sub*cmr/m/n%
+%<+ori> <8><9>gen*wntt%
+%<-ori> <5><6><7><8>wntt8<9>wntt9%
+ <10><10.95>wntt10%
+ <12><14.4><17.28><20.74><24.88>wntt12%
+ }{}
+%%%%%% make sure subst shapes are available
+\DeclareFontShape{OT2}{cmtt}{m}{it}
+ {%
+% \end{macrocode}
+% The following substitution however is okay since both fonts have
+% the same encoding.
+% \begin{macrocode}
+%<+ori> <-10>sub*cmtt/m/n%
+%<-ori> <5><6><7><8><9>%
+ <10><10.95><12><14.4><17.28><20.74><24.88>wnitt10%
+ }{}
+\DeclareFontShape{OT2}{cmtt}{m}{sl}
+ {%
+%<+ori> <-10>sub*cmtt/m/n%
+%<-ori> <5><6><7><8><9>%
+ <10><10.95><12><14.4><17.28><20.74><24.88>wnsltt10%
+ }{}
+\DeclareFontShape{OT2}{cmtt}{m}{sc}
+ {%
+%<+ori> <-10>sub*cmtt/m/n%
+%<-ori> <5><6><7><8><9>%
+ <10><10.95><12><14.4><17.28><20.74><24.88>wntcsc10%
+ }{}
+\DeclareFontShape{OT2}{cmtt}{m}{ui}
+%<-nowarn> {<->sub*cmtt/m/it}{}
+%<+nowarn> {<->ssub*cmtt/m/it}{}
+\DeclareFontShape{OT2}{cmtt}{bx}{n}
+%<-nowarn> {<->sub*cmtt/m/n}{}
+%<+nowarn> {<->ssub*cmtt/m/n}{}
+\DeclareFontShape{OT2}{cmtt}{bx}{it}
+%<-nowarn> {<->sub*cmtt/m/it}{}
+%<+nowarn> {<->ssub*cmtt/m/it}{}
+\DeclareFontShape{OT2}{cmtt}{bx}{ui}
+%<-nowarn> {<->sub*cmtt/m/it}{}
+%<+nowarn> {<->ssub*cmtt/m/it}{}
+%</OT2cmtt>
+% \end{macrocode}
+%
+%
+% \subsection{Computer Modern Variable Typewriter (\texttt{OT2})}
+%
+% The Computer Modern Variable Typewriter family is the
+% proportional spaced version of the Computer Modern Typewriter
+% family. It is implemented as a separate family to allow easy use
+% in normal text, including changes of shape/series etc if available.
+% This family also allows normal hyphenation.
+% \begin{macrocode}
+%<*OT2cmvtt>
+\DeclareFontFamily{OT2}{cmvtt}{\hyphenchar\font45 }
+\DeclareFontShape{OT2}{cmvtt}{m}{n}%
+ {%
+ <5><6><7><8><9><10><10.95>%
+ <12><14.4><17.28><20.74><24.88>wnvtt10%
+ }{}
+% \end{macrocode}
+% This font is probably not available to everybody as it is not
+% part of the standard distribution. One might find it in
+% \texttt{.../systems/knuth/local} on CTAN.
+% \begin{macrocode}
+\DeclareFontShape{OT2}{cmvtt}{m}{it}%
+ {%
+ <5><6><7><8><9><10><10.95>%
+ <12><14.4><17.28><20.74><24.88>wnvtti10%
+ }{}
+%</OT2cmvtt>
+% \end{macrocode}
+%
+%
+% \subsection{Computer Modern Funny (\texttt{OT2})}
+%
+% \begin{macrocode}
+%<*OT2cmfr>
+\DeclareFontFamily{OT2}{cmfr}{\hyphenchar\font45 }
+\DeclareFontShape{OT2}{cmfr}{m}{n}{%
+ <10>wnff10%
+ }{}
+\DeclareFontShape{OT2}{cmfr}{m}{it}{%
+ <10>wnfi10%
+ }{}
+%</OT2cmfr>
+% \end{macrocode}
+%
+% \subsection{Computer Modern Dunhill (\texttt{OT2})}
+%
+% \begin{macrocode}
+%<*OT2cmdh>
+\DeclareFontFamily{OT2}{cmdh}{\hyphenchar\font45 }
+\DeclareFontShape{OT2}{cmdh}{m}{n}{%
+ <10>wndunh10%
+ }{}
+%</OT2cmdh>
+% \end{macrocode}
+%
+% \subsection{Computer Modern Fibonacci (\texttt{OT2})}
+%
+% \begin{macrocode}
+%<*OT2cmfib>
+\DeclareFontFamily{OT2}{cmfib}{\hyphenchar\font45 }
+\DeclareFontShape{OT2}{cmfib}{m}{n}{%
+ <8>wnfib8%
+ }{}
+%</OT2cmfib>
+% \end{macrocode}
+%
+% \subsection{Concrete Roman}
+%
+% Text of explanation borrowed from original \texttt{concmath.dtx}.
+%
+% Here are the standard font definitions for Concrete Roman,
+% including the \textit{italics}, \textsl{slanted}, and
+% \textsc{small-caps} variants, which are usually only available
+% in~10\,pt size. While it would be a trivial exercise to create a
+% full set of slanted fonts by taking the \texttt{ccr} parameter
+% files and setting the slant parameter to~$1/6$ in the
+% \texttt{ccsl} parameter files, we shall only use the sizes
+% provided in Knuth's official distribution. As for the italics
+% and small-caps versions, there is no way to generate appropriate
+% smaller sizes without extensive tuning and testing to derive new
+% parameter sets.
+%
+% \begin{macrocode}
+%<*OT2ccr>
+\DeclareFontFamily{OT2}{ccr}{\hyphenchar\font45 }
+\DeclareFontShape{OT2}{ccr}{m}{n}{%
+ <5><6><7><8><9>gen*wncr%
+ <10><10.95><12><14.4><17.28><20.74><24.88>wncr10}{}
+\DeclareFontShape{OT2}{ccr}{m}{sl}{%
+ <5><6><7><8><9>wncsl9%
+ <10><10.95><12><14.4><17.28><20.74><24.88>wncsl10}{}
+\DeclareFontShape{OT2}{ccr}{m}{it}{%
+ <5><6><7><8><9>%
+ <10><10.95><12><14.4><17.28><20.74><24.88>wncti10}{}
+\DeclareFontShape{OT2}{ccr}{m}{sc}{%
+ <5><6><7><8><9>%
+ <10><10.95><12><14.4><17.28><20.74><24.88>wnccsc10}{}
+% \end{macrocode}
+%
+% Next, here are the font substitutions for the bold series. Since
+% there is no bold series in Concrete, we will use the
+% corresponding Computer Modern fonts.
+% {\em Added substitution for |\fontseries b| font.}
+%
+% \begin{macrocode}
+%<+ori>\DeclareFontShape{OT2}{ccr}{b}{n}{<->ssub*cmr/b/n}{}
+%<+ori>\DeclareFontShape{OT2}{ccr}{bx}{n}{<->ssub*cmr/bx/n}{}
+%<+ori>\DeclareFontShape{OT2}{ccr}{bx}{sl}{<->ssub*cmr/bx/sl}{}
+%<+ori>\DeclareFontShape{OT2}{ccr}{bx}{it}{<->ssub*cmr/bx/it}{}
+%<-ori>\DeclareFontShape{OT2}{ccr}{b}{n}{%
+%<-ori> <5><6><7><8><9>%
+%<-ori> <10><10.95><12><14.4><17.28><20.74><24.88>wncb10}{}
+%<-ori>\DeclareFontShape{OT2}{ccr}{bx}{n}{%
+%<-ori> <5><6><7><8><9>gen*wncbx%
+%<-ori> <10><10.95><12><14.4><17.28><20.74><24.88>wncbx10}{}
+%<-ori>\DeclareFontShape{OT2}{ccr}{bx}{sl}{%
+%<-ori> <5><6><7><8><9>%
+%<-ori> <10><10.95><12><14.4><17.28><20.74><24.88>wncbxsl10}{}
+%<-ori>\DeclareFontShape{OT2}{ccr}{bx}{it}{%
+%<-ori> <5><6><7><8><9>%
+%<-ori> <10><10.95><12><14.4><17.28><20.74><24.88>wncbxti10}{}
+% \end{macrocode}
+%
+% Next, here are the font substitutions for the semibold series.
+% As we shall see below, the \texttt{concmath} package provides a
+% `\textsf{boldsans}' option which redefines |\bfdefault| and thus
+% turns all bold material into semibold condensed (which will then
+% be substituted by semibold condensed sans serif). Since some
+% people prefer to use semibold condensed Computer Modern Sans
+% Serif in combination with Concrete Roman, this unusual
+% substitution allows to switch between both choices by selecting
+% or omitting a package option.
+%
+% \begin{macrocode}
+\DeclareFontShape{OT2}{ccr}{sbc}{n} {<->ssub*cmss/sbc/n}{}
+\DeclareFontShape{OT2}{ccr}{sbc}{sl}{<->ssub*cmss/sbc/n}{}
+\DeclareFontShape{OT2}{ccr}{sbc}{it}{<->ssub*cmss/sbc/n}{}
+% \end{macrocode}
+%
+% Finally, here is the font shape declaration for the special
+% purpose condensed slanted font that was used in \textit{Concrete
+% Mathematics} for so-called `graffiti'. The \texttt{concmath}
+% package does not bother to provide macros for such kinds of
+% marginal notes, thus users who want to use this feature will have
+% to develop their own.
+%
+% \begin{macrocode}
+\DeclareFontShape{OT2}{ccr}{c}{sl}{<9>wncslc9}{}
+%</OT2ccr>
+% \end{macrocode}
+%
+% \section{The font definition files for slides}
+%
+% \subsection{Concrete Roman}
+%
+% \begin{macrocode}
+%<*lccr>
+\DeclareFontFamily{OT2}{lccr}{\hyphenchar\font45 }
+\DeclareFontShape{OT2}{lccr}{m}{sc}{%
+ <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>wnccsc10%
+ }{}
+\DeclareFontShape{OT2}{lccr}{m}{sl}{%
+ <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>wncslc9%
+ }{}
+\DeclareFontShape{OT2}{lccr}{m}{n}{%
+ <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>wncr8%
+ }{}
+\DeclareFontShape{OT2}{lccr}{m}{In}{%
+ <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>iwncr8%
+ }{}
+%</lccr>
+% \end{macrocode}
+%
+% \subsection{Computer Modern Sans}
+%
+% \begin{macrocode}
+%<*lcmss>
+ \DeclareFontFamily{OT2}{lcmss}{\hyphenchar\font45 }
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareFontShape{OT2}{lcmss}{m}{n}{%
+ <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
+ lwnss8%
+ }{}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareFontShape{OT2}{lcmss}{m}{In}{%
+ <7><8><10><12><13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
+ ilwnss8%
+ }{}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareFontShape{OT2}{lcmss}{m}{sl}{%
+ <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
+ lwnssi8%
+ }{}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareFontShape{OT2}{lcmss}{m}{Isl}{%
+ <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
+ ilwnssi8%
+ }{}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareFontShape{OT2}{lcmss}{m}{it}{%
+ <->sub*lcmss/m/sl}{}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareFontShape{OT2}{lcmss}{m}{Iit}{%
+ <->sub*lcmss/m/Isl}{}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareFontShape{OT2}{lcmss}{bx}{n}{%
+ <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
+ lwnssb8%
+ }{}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareFontShape{OT2}{lcmss}{bx}{In}{%
+ <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
+ ilwnssb8%
+ }{}
+% \end{macrocode}
+%
+% There are extra substitutions for the shape |ui| which are needed
+% for |\pounds| to not come out as a \$ sign (mostly).
+% \begin{macrocode}
+\DeclareFontShape{OT2}{lcmss}{m}{ui}{%
+ <->sub*cmr/m/ui}{}
+\DeclareFontShape{OT2}{lcmss}{bx}{ui}{%
+ <->sub*cmr/m/ui}{}
+%</lcmss>
+% \end{macrocode}
+%
+% \subsection{Computer Modern Typewriter}
+%
+% \begin{macrocode}
+%<*lcmtt>
+ \DeclareFontFamily{OT2}{lcmtt}{\hyphenchar\font\m@ne}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareFontShape{OT2}{lcmtt}{m}{n}{%
+ <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
+ wntt8%
+ }{}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareFontShape{OT2}{lcmtt}{m}{In}{%
+ <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
+ iwntt8%
+ }{}
+% \end{macrocode}
+%
+% \begin{macrocode}
+ \DeclareFontShape{OT2}{lcmtt}{m}{it}{%
+ <13.82><16.59><19.907><23.89><28.66><34.4><41.28>%
+ wnitt10%
+ }{}
+% \end{macrocode}
+% There are extra substitutions for the shape |ui| which are needed
+% for |\pounds| to not come out as a \$ sign (mostly).
+% \begin{macrocode}
+\DeclareFontShape{OT2}{lcmtt}{m}{ui}{%
+ <->sub*cmtt/m/it}{}
+\DeclareFontShape{OT2}{lcmtt}{bx}{ui}{%
+ <->sub*cmtt/m/it}{}
+%</lcmtt>
+% \end{macrocode}
+%
+% \section{Setting defaults}
+%
+% The following statements go into the file \texttt{ot2sfonts.def}
+% which plays a r\^ole similar to \texttt{fontdef.ltx}. Thus, you may
+% want to produce your own local variant of it if you intend to use
+% different fonts in your slides.
+% \begin{macrocode}
+%<*slimain>
+\DeclareErrorFont{OT2}{lcmss}{m}{n}{19.907}
+\DeclareFontSubstitution{OT2}{lcmss}{m}{n}
+\input ot2lcmss.fd
+%</slimain>
+% \end{macrocode}
+%
+% \section{CM Bright fonts}
+%
+% Borrowed code and with adaptations from file \texttt{cmbr.fdd}
+%
+% \subsection{CM Bright, OT2 encoding}
+%
+% \begin{macrocode}
+%<*ot2cmbr>
+\DeclareFontFamily{OT2}{cmbr}{\hyphenchar\font45}
+\DeclareFontShape{OT2}{cmbr}{m}{n}{%
+<5><6><7><8>wnbr8%
+<9>wnbr9%
+<10><10.95><12><14.4>wnbr10%
+<17.28><20.74><24.88><29.86><35.83>wnbr17%
+}{}
+\DeclareFontShape{OT2}{cmbr}{m}{sl}{%
+<5><6><7><8>wnbrsl8%
+<9>wnbrsl9%
+<10><10.95><12><14.4>wnbrsl10%
+<17.28><20.74><24.88><29.86><35.83>wnbrsl17%
+}{}
+\DeclareFontShape{OT2}{cmbr}{m}{it}{%
+<->ssub*cmbr/m/sl%
+}{}
+\DeclareFontShape{OT2}{cmbr}{b}{n}{%
+<->ssub*cmbr/bx/n%
+}{}
+\DeclareFontShape{OT2}{cmbr}{bx}{n}{%
+<-9>sub*cmbr/m/n%
+<9><10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83>wnbrbx10%
+}{}
+%</ot2cmbr>
+% \end{macrocode}
+%
+% \subsection{CM Typewriter Light, OT2 encoding}
+%
+% \begin{macrocode}
+%<*ot2cmtl>
+\DeclareFontFamily{OT2}{cmtl}{\hyphenchar\font\m@ne}
+\DeclareFontShape{OT2}{cmtl}{m}{n}{%
+<5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83>wntl10%
+}{}
+\DeclareFontShape{OT2}{cmtl}{m}{sl}{%
+<5><6><7><8><9><10><10.95><12><14.4><17.28><20.74><24.88><29.86><35.83>wnsltl10%
+}{}
+\DeclareFontShape{OT2}{cmtl}{m}{it}{<->ssub*cmtl/m/sl}{}
+%</ot2cmtl>
+% \end{macrocode}
+%
+% The next line goes into all files and in addition prevents \dst{}
+% from adding any further code from the main source file (such as a
+% character table.
+% \begin{macrocode}
+\endinput
+% \end{macrocode}
+%
+% \Finale
+%
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}