% \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'. % %\ProvidesFile{ot2ccr.fd} %\ProvidesFile{ot2cmdh.fd} %\ProvidesFile{ot2cmfib.fd} %\ProvidesFile{ot2cmfr.fd} %\ProvidesFile{ot2cmr.fd} %\ProvidesFile{ot2cmss.fd} %\ProvidesPackage{lh-ot2} %\ProvidesFile{ot2cmtt.fd} %\ProvidesFile{ot2cmvtt.fd} %\ProvidesFile{ot2lcmss.fd} %\ProvidesFile{ot2lcmtt.fd} %\ProvidesFile{ot2sfonts.def} %\ProvidesFile{ot2cmbr.fd} %\ProvidesFile{ot2cmtl.fd} %<*driver, > \ProvidesFile{ot2fonts.drv} % [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} % % %\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} % % \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}{} % % \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}{} % % \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}{} % % \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% }{} % % \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% }{} % % \end{macrocode} % % \subsection{Computer Modern Dunhill (\texttt{OT2})} % % \begin{macrocode} %<*OT2cmdh> \DeclareFontFamily{OT2}{cmdh}{\hyphenchar\font45 } \DeclareFontShape{OT2}{cmdh}{m}{n}{% <10>wndunh10% }{} % % \end{macrocode} % % \subsection{Computer Modern Fibonacci (\texttt{OT2})} % % \begin{macrocode} %<*OT2cmfib> \DeclareFontFamily{OT2}{cmfib}{\hyphenchar\font45 } \DeclareFontShape{OT2}{cmfib}{m}{n}{% <8>wnfib8% }{} % % \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}{} % % \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% }{} % % \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}{} % % \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}{} % % \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 % % \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% }{} % % \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}{} % % \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 \~}