% \iffalse meta-comment % % Copyright (C) 1989--1993 by Frank Mittelbach, Rainer Schoepf. % All rights reserved. % % This file is part of the NFSS2 (New Font Selection Scheme) package. % % This package is distributed in the hope that it will be useful, % but WITHOUT ANY WARRANTY; without even the implied warranty of % MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. % % % IMPORTANT NOTICE: % % For error reports in case of UNCHANGED versions see readme files. % % Please do not request updates from us directly. Distribution is % done through Mail-Servers and TeX organizations. % % You are not allowed to change this file. You may however copy % this file to a file with a different name and then change the copy % if you obey the restrictions on file changes described in % readme.mz. % % You are allowed to distribute this file under the condition that % it is distributed together with all files mentioned in readme.mz8. % If you receive only some of these files from someone, complain! % % You are NOT ALLOWED to distribute this file alone. You are NOT % ALLOWED to take money for the distribution or use of either this % file or a changed version, except for a nominal charge for copying % etc. % \fi \def\fileversion{v2.0d} \def\filedate{93/06/12} \def\docdate {93/06/12} % \CheckSum{169} % %\iffalse This is a META comment % % File `cmrfonts.fdd'. % Copyright (C) 1989-1993 Frank Mittelbach and Rainer Sch\"opf, % all rights reserved. % %\fi % % % \title{The {\tt cmrfonts.fdd} file\thanks % {This file has version number \fileversion, dated \filedate. % The documentation was last revised on \docdate}\\ % for use with NFSS2} % \author{Frank Mittelbach \and Rainer Sch\"opf} % % \MakeShortVerb{\|} % \def\dst{{\csname mediumseries\endcsname\sc docstrip}} % \setcounter{StandardModuleDepth}{1} % % % \maketitle % % \section{Introduction} % % This file contains the external font information needed to load % the Computer Modern fonts designed by Don Knuth and distributed with % \TeX. % % From this file all {\tt.fd} files (font definition files) for the % Computer Modern fonts, both with old encoding (|OT1|) and Cork % encoding (|T1|) are generated. The Cork encoded fonts are known % under the name DC-fonts. % % \section{Customization} % % If you plan to install the AMS font package or if you have it % already installed, please note that within this package there are % additional sizes of the Computer Modern symbol and math italic % fonts. You should therefore use the |.fd| files from AMS package in % cases where they overlap with this basic set. These are the files: % \begin{quote} % |OT1cmsy.fd| and |OT1cmm.fd| % \end{quote} % % By default the font definition files are generated conservatively, % which means that only the basic font sizes coming with a normal % \LaTeX{} installation are included into the |\DeclareFontShape| % commands. However, on many installations, people have added missing % sizes by scaling up or down available Metafont sources. For example, % the Computer Modern Roman italic font |cmti| is only available in % the sizes 7, 8, 9, and 10pt. Nevertheless one could generate it for % the sizes 5, and 6pt by using the source from |cmti7| scaled % downwards. The enlarged font set can be generated if the \dst{} % directive |ori| is not used. When you generate the |.fd| files using % the installation script |cmrfonts.ins| you will be asked if you want % to get the enlarged font set and afterwards the installation script % runs through statements like % \begin{verbatim} % \generateFile{OT1cmr.fd}{t}{\from{cmrfonts.fdd}{OT1cmr}} %\end{verbatim} % rather than % \begin{verbatim} % \generateFile{OT1cmr.fd}{t}{\from{cmrfonts.fdd}{OT1cmr,ori}} %\end{verbatim} % % \StopEventually{} % % \section{The {\tt docstrip} modules} % % The following modules are used to direct {\tt docstrip} in % generating external files: % \begin{center} % \begin{tabular}{ll} % driver & produce a documentation driver file \\ % ori & make conservative |.fd| files\\ % fd & produce a font definition file \\[2pt] % OMLccm & make Concrete Roman Math italic\\ % OMLcmm & make Computer Modern Math italic\\ % OMScmsy & make Computer Modern Symbols \\ % OMXcmex & make Computer Modern large Symbols\\ % OT1ccr & make Concrete Roman (old encoding) \\ % OT1cmdh & make Computer Modern Dunhill (old encoding)\\ % OT1cmfib & make Computer Modern Fibonacci (old encoding)\\ % OT1cmfr & make Computer Modern Funny (old encoding)\\ % OT1cmr & make Computer Modern Roman (old encoding)\\ % OT1cmss & make Computer Modern Sans (old encoding)\\ % OT1cmtt & make Computer Modern Typewriter (old encoding)\\ % OT2cmr & make Computer Modern Roman (cyrillic encoding)\\ % OT2cmss & make Computer Modern Sans (cyrillic encoding)\\ % T1ccr & make Concrete Roman (Cork encoding)\\ % T1cmdh & make Computer Modern Dunhill (Cork encoding)\\ % T1cmfib & make Computer Modern Fibonacci (Cork encoding)\\ % T1cmfr & make Computer Modern Funny (Cork encoding)\\ % T1cmr & make Computer Modern Roman (Cork encoding)\\ % T1cmss & make Computer Modern Sans (Cork encoding)\\ % T1cmtt & make Computer Modern Typewriter (Cork encoding)\\ % Ucmr & make Computer Modern Roman (unknown encoding)\\ % Ucmss & make Computer Modern Sans (unknown encoding)\\ % Ucmtt & make Computer Modern Typewriter (unknown encoding)\\ % \end{tabular} % \end{center} % A typical {\tt docstrip} command file would then have entries like: % \begin{verbatim} %\generateFile{OT1cmr.fd}{t}{\from{cmrfonts.fdd}{fd,OT1cmr}} %\end{verbatim} % % % \section{The font definition files} % % As always we begin by identifying the latest version of the files % in the {\sf log} file. The explicit spaces are necessary in an % |.fd| file and the |\string| guards against situations where |`| % is active. % \begin{macrocode} %<*fd> \wlog{Fontdef\space file\space produced\space from:\space \string`cmrfonts.fdd'\space \fileversion\space <\filedate>\space (FMi\space and\space RmS)} % % \end{macrocode} % % \subsection{Fonts with Cork encoding ({\tt T1})} % % We start with the DC-fonts. These are Computer Modern fonts % reimplemented by Norbert Schwarz. You can get them from \TeX{} % archives and from \TeX{} organizations. We strongly recommend % that you use them because they are encoded in the approved % standard encoding for text fonts. % % \subsubsection{The Computer Modern Roman} % % This family is available in the shapes |n|, |sl|, |it|, |sc|, and % |u|. % \begin{macrocode} %<*T1cmr> \DeclareFontFamily{T1}{cmr}{} \DeclareFontShape{T1}{cmr}{m}{n}{% <5> <6> <7> <8> <9> gen * dcr <10> <10.95>dcr10 <12> <14.4>dcr12 <17.28> <20.74> <24.88>dcr17}{} \DeclareFontShape{T1}{cmr}{m}{sl}{ <5> <6> <7> <8>dcsl8 <9>dcsl9 <10> <10.95>dcsl10 <12> <14.4>dcsl12 <17.28> <20.74> <24.88>dcsl17 }{} \DeclareFontShape{T1}{cmr}{m}{it}{ <5> <6> dcti7 <7> <8> <9> gen * dcti <10> <10.95>dcti10 <12> <14.4>dcti12 <17.28> <20.74> <24.88>dcti17 }{} \DeclareFontShape{T1}{cmr}{m}{sc}{ <5> <6> <7> <8> <9> <10> <10.95>dccsc10 <12> <14.4>dccsc12 <17.28> <20.74> <24.88>dccsc17 }{} \DeclareFontShape{T1}{cmr}{m}{u}{ <5> <6> dcu7 <7> <8> <9> gen * dcu <10> <10.95>dcu10 <12> <14.4>dcu12 <17.28> <20.74> <24.88>dcu17 }{} % \end{macrocode} % There is a bold `|b|' series, but unfortunately only the normal % shape is available in this series. % \begin{macrocode} %<+T1cmr>%%%%%%% bold series \DeclareFontShape{T1}{cmr}{b}{n}{ <5> <6> <7> <8> <9> gen * dcb <10> <10.95>dcb10 <12> <14.4>dcb12 <17.28> <20.74> <24.88>dcb17 }{} % \end{macrocode} % Finally there is a bold extended series `|bx|' with the shapes % |n|, |sl|, and |it|. % \begin{macrocode} %<+T1cmr>%%%%%%%% bold extended series \DeclareFontShape{T1}{cmr}{bx}{n}{ <5> <6> <7> <8> <9> gen * dcbx <10> <10.95>dcbx10 <12> <14.4> <17.28> <20.74> <24.88>dcbx12 }{} \DeclareFontShape{T1}{cmr}{bx}{sl}{ <5> <6> <7> <8> <9> gen * dcbxsl <10> <10.95>dcbxsl10 <12> <14.4> <17.28> <20.74> <24.88>dcbxsl12 }{} \DeclareFontShape{T1}{cmr}{bx}{it}{ <5> <6> <7> <8> <9> <10> <10.95> dcbxti10 <12> <14.4> dcbxti12 <17.28> <20.74> <24.88> dcbxti17 }{} % % \end{macrocode} % % \subsubsection{Computer Modern Fibonacci} % % This family was created by Don Knuth as an experiment, supplying % only Fibonacci numbers to the parameters of the Metafont sources % of the Computer Modern Meta family. % \begin{macrocode} %<*T1cmfib> \DeclareFontFamily{T1}{cmfib}{} \DeclareFontShape{T1}{cmfib}{m}{n}{% <8> <9> <10> <12> gen * dcfib }{} % % \end{macrocode} % % \subsubsection{Computer Modern Funny (Roman)} % % This family was created by Don Knuth as another experiment. % \begin{macrocode} %<*T1cmfr> \DeclareFontFamily{T1}{cmfr}{} \DeclareFontShape{T1}{cmfr}{m}{n}{% <10> dcff10 }{} \DeclareFontShape{T1}{cmfr}{m}{it}{% <10> dcfi10 }{} % % \end{macrocode} % % \subsubsection{Computer Modern Sans} % % \begin{macrocode} %<*T1cmss> \DeclareFontFamily{T1}{cmss}{} \DeclareFontShape{T1}{cmss}{m}{n}{% <5> <6> <7> <8>dcss8 <9>dcss9 <10> <10.95>dcss10 <12> <14.4>dcss12 <17.28> <20.74> <24.88>dcss17 }{} \DeclareFontShape{T1}{cmss}{m}{it} {<->sub*cmss/m/sl}{} \DeclareFontShape{T1}{cmss}{m}{sl}{ <5> <6> <7> <8>dcssi8 <9>dcssi9 <10> <10.95>dcssi10 <12> <14.4>dcssi12 <17.28> <20.74> <24.88>dcssi17 }{} % \end{macrocode} % The next substitution is very questionable. % \begin{macrocode} %<+T1cmss>%%%%%% Font/shape undefined, therefore substituted \DeclareFontShape{T1}{cmss}{m}{sc} {<->sub*cmr/m/sc}{} % \end{macrocode} % The next font group is quite attractive for display. % \begin{macrocode} %<+T1cmss>%%%%%%% semibold condensed series \DeclareFontShape{T1}{cmss}{sbc}{n}{ <5> <6> <7> <8> <9> <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> dcssdc10 }{} % \end{macrocode} % And here the ones usually in headings. % \begin{macrocode} %<+T1cmss>%%%%%%%% bold extended series \DeclareFontShape{T1}{cmss}{bx}{n}{ <5> <6> <7> <8> <9> <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> dcssbx10 }{} % % \end{macrocode} % % \subsubsection{Computer Modern Typewriter} % % Perhaps the best font in the Computer Modern suite. % \begin{macrocode} %<*T1cmtt> \DeclareFontFamily{T1}{cmtt}{\hyphenchar \font\m@ne} \DeclareFontShape{T1}{cmtt}{m}{n}{ <8> <9> gen * dctt <10> <10.95>dctt10 <12> <14.4> <17.28> <20.74> <24.88>dctt12 }{} \DeclareFontShape{T1}{cmtt}{m}{it}{ <8> <9> gen * dcitt <10> <10.95>dcitt10 <12> <14.4>dcitt12 <17.28> <20.74> <24.88>dcitt17 }{} \DeclareFontShape{T1}{cmtt}{m}{sl}{ <8> <9> gen * dcsltt <10> <10.95>dcsltt10 <12> <14.4> <17.28> <20.74> <24.88>dcsltt12 }{} \DeclareFontShape{T1}{cmtt}{m}{sc}{ <10> <10.95>dctcsc10 <12> <14.4>dctcsc12 <17.28> <20.74> <24.88>dctcsc17 }{} % % \end{macrocode} % % \subsubsection{Computer Modern Dunhill} % % The smoker's choice? Within the Cork encoding this font comes with % a full size range by default but only with one series. % \begin{macrocode} %<*T1cmdh> \DeclareFontFamily{T1}{cmdh}{} \DeclareFontShape{T1}{cmdh}{m}{n}{ <5> <6> <7> <8> <9> gen * dcdunh <10> <10.95>dcdunh10 <12> <14.4>dcdunh12 <17.28> <20.74> <24.88>dcdunh17}{} % % \end{macrocode} % % \subsubsection{Concrete Roman} % % A font near to Computer Modern Typewriter designed to go with the % Euler Math fonts. % \begin{macrocode} %<*T1ccr> \DeclareFontFamily{T1}{ccr}{}{} \DeclareFontShape{T1}{ccr}{m}{n}{% <5> <6> <7> <8> <9> <10> <12> gen * dccr <10.95> dccr11 <14.4> dccr14 <17.28> <20.74> <24.88> dccr17}{} \DeclareFontShape{T1}{ccr}{m}{it}{ <10> <10.95> <12>dcti10}{} \DeclareFontShape{T1}{ccr}{m}{sc}{ <10> <10.95> <12> dccsc10 }{} % \end{macrocode} % Note the condensed slanted variant. % \begin{macrocode} \DeclareFontShape{T1}{ccr}{c}{sl}{<9>dcslc9}{} % % \end{macrocode} % % \subsection{Fonts with the old \TeX{} text encoding ({\tt OT1})} % % Note that in contrast to the Cork encoding, which is fully % defined, the old \TeX{} text encoding isn't implemented consistent % within all fonts. Most noticeably is that a dollar sign (\$) in % some fonts is replaced by a pound symbol (\pounds) in others, % which produced quite a number of bug fixes in the NFSS1. Also the % typewriter fonts contain a few different characters which are not % present in other fonts. % % If one would use the philosophy of NFSS2 consequently all these % would therefore be different encodings and font mixing would % therefore be nearly impossible with older fonts. Therefore such % encodings are considered the same but one should be remember that % in some situations this may cause problems. % % In other words, use |T1| encoding whenever possible, the |OT..| % encodings will be removed in some future release. % % \subsubsection{Computer Modern Roman ({\tt OT1})} % % Beside the |OT1| encoding we also define the same family as |U| % encoded which is used for accepting old sources with stuff like % |\newmathalphabet| in it. % \begin{macrocode} %<*OT1cmr,Ucmr> %<+OT1cmr>\DeclareFontFamily{OT1}{cmr}{} %<+Ucmr>\DeclareFontFamily{U}{cmr}{} %<+OT1cmr>\DeclareFontShape{OT1}{cmr}{m}{n} %<+Ucmr>\DeclareFontShape{U}{cmr}{m}{n} { <5> <6> <7> <8> <9> <10> <12> gen * cmr <10.95> cmr10 <14.4> cmr12 <17.28><20.74><24.88>cmr17}{} %<+OT1cmr>\DeclareFontShape{OT1}{cmr}{m}{sl} %<+Ucmr>\DeclareFontShape{U}{cmr}{m}{sl} { %<+ori> <5-8>sub*cmr/m/n% %<-ori> <5><6><7>cmsl8% <8> <9> gen * cmsl <10><10.95>cmsl10% <12><14.4><17.28><20.74><24.88>cmsl12% }{} %<+OT1cmr>\DeclareFontShape{OT1}{cmr}{m}{it} %<+Ucmr>\DeclareFontShape{U}{cmr}{m}{it} { %<+ori> <5-7>sub*cmr/m/n% %<+ori> <7>cmti7% %<-ori> <5><6><7>cmti7% <8>cmti8% <9>cmti9% <10><10.95>cmti10% <12><14.4><17.28><20.74><24.88>cmti12% }{} %<+OT1cmr>\DeclareFontShape{OT1}{cmr}{m}{sc} %<+Ucmr>\DeclareFontShape{U}{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> cmcsc10 %<-ori> <5><6><7><8><9><10><10.95><12> %<-ori> <14.4><17.28><20.74><24.88> cmcsc10 }{} % \end{macrocode} % Here we try to cure the famous \$ $\to$ \pounds bug: % \begin{macrocode} %<+OT1cmr,Ucmr>% Warning: please note that the upright shape below is %<+OT1cmr,Ucmr>% used for the \pounds symbol of LaTeX. So this %<+OT1cmr,Ucmr>% font definition shouldn't be removed. %<+OT1cmr,Ucmr>% %<+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. %<+OT1cmr>\DeclareFontShape{OT1}{cmr}{m}{u} %<+Ucmr>\DeclareFontShape{U}{cmr}{m}{u} { %<+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>cmu10% %<-ori> <5><6><7><8><9><10><12>% %<-ori> <14.4><17.28><20.74><24.88>cmu10% }{} %<+OT1cmr,Ucmr>%%%%%%% bold series %<+OT1cmr>\DeclareFontShape{OT1}{cmr}{b}{n} %<+Ucmr>\DeclareFontShape{U}{cmr}{b}{n} { %<+ori> <-10> sub * cmr/bx/n %<+ori> <10><10.95><12><14.4><17.28><20.74><24.88> cmb10 %<-ori> <5><6><7><8><9><10><12> %<-ori> <14.4><17.28><20.74><24.88> cmb10 }{} %<+OT1cmr,Ucmr>%%%%%%%% bold extended series %<+OT1cmr>\DeclareFontShape{OT1}{cmr}{bx}{n} %<+Ucmr>\DeclareFontShape{U}{cmr}{bx}{n} { <5> <6> <7> <8> <9> gen * cmbx <10><10.95> cmbx10 <12><14.4><17.28><20.74><24.88>cmbx12 }{} %<+OT1cmr>\DeclareFontShape{OT1}{cmr}{bx}{sl} %<+Ucmr>\DeclareFontShape{U}{cmr}{bx}{sl} { %<+ori> <-10> sub* cmr/bx/n %<+ori> <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> cmbxsl10 %<-ori> <5> <6> <7> <8> <9> %<-ori> <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> cmbxsl10 }{} %<+OT1cmr>\DeclareFontShape{OT1}{cmr}{bx}{it} %<+Ucmr>\DeclareFontShape{U}{cmr}{bx}{it} { %<+ori> <-10>sub * cmr/bx/n %<+ori> <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> cmbxti10 %<-ori> <5> <6> <7> <8> <9> %<-ori> <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> cmbxti10 }{} %<+OT1cmr,Ucmr>% Again this is necessary for a correct \pounds symbol in %<+OT1cmr,Ucmr>% the cmr fonts Hopefully the dc/ec font layout will take %<+OT1cmr,Ucmr>% over soon. %<+OT1cmr,Ucmr>% %<+OT1cmr>\DeclareFontShape{OT1}{cmr}{bx}{u} %<+Ucmr>\DeclareFontShape{U}{cmr}{bx}{u} {<->ssub * cmr/m/u}{} % % \end{macrocode} % % \subsubsection{Computer Modern Sans ({\tt OT1})} % % Same game for the Sans family. % \begin{macrocode} %<*OT1cmss,Ucmss> %<+OT1cmss>\DeclareFontFamily{OT1}{cmss}{} %<+Ucmss>\DeclareFontFamily{U}{cmss}{} %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{m}{n} %<+Ucmss>\DeclareFontShape{U}{cmss}{m}{n} { %<+ori> <-8>sub*cmr/m/n %<+ori> <8>cmss8 %<-ori> <5><6><7><8>cmss8 <9>cmss9 <10><10.95>cmss10 <12><14.4>cmss12 <17.28><20.74><24.88>cmss17 }{} %<+OT1cmss>% Font undefined, therefore substituted \DeclareFontShape{OT1}{cmss}{m}{it} {<->ssub*cmss/m/sl}{} %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{m}{sl} %<+Ucmss>\DeclareFontShape{U}{cmss}{m}{sl} { %<+ori> <-8>sub*cmss/m/n %<+ori> <8> <9> gen * cmssi %<-ori> <5><6><7><8>cmssi8 <9> cmssi9 <10><10.95>cmssi10 <12><14.4>cmssi12 <17.28><20.74><24.88>cmssi17 }{} %<+OT1cmss>%%%%%%% Font/shape undefined, therefore substituted \DeclareFontShape{OT1}{cmss}{m}{sc} {<->sub*cmr/m/sc}{} %<+OT1cmss,Ucmss>%%%%%%%% semibold condensed series %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{sbc}{n} %<+Ucmss>\DeclareFontShape{U}{cmss}{sbc}{n} { %<+ori> <-10> sub * cmss/m/n %<-ori> <5> <6> <7> <8> <9> cmssdc10 <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88>cmssdc10 }{} %<+OT1cmss,Ucmss>%%%%%%%%% bold extended series %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{bx}{n} %<+Ucmss>\DeclareFontShape{U}{cmss}{bx}{n} { %<+ori> <-10> sub * cmss/m/n %<-ori> <5> <6> <7> <8> <9> cmssbx10 <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> cmssbx10 }{} % % \end{macrocode} % % \subsubsection{Computer Modern Typewriter ({\tt OT1})} % % 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} %<*OT1cmtt,Ucmtt> %<+OT1cmtt>\DeclareFontFamily{OT1}{cmtt}{\hyphenchar \font\m@ne} %<+Ucmtt>\DeclareFontFamily{U}{cmtt}{\hyphenchar \font\m@ne} %<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{m}{n} %<+Ucmtt>\DeclareFontShape{U}{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 * cmtt %<-ori> <5><6><7><8>cmtt8 <9> cmtt9 <10><10.95>cmtt10 <12><14.4><17.28><20.74><24.88>cmtt12 }{} %<+OT1cmtt,Ucmtt>%%%%%% make sure subst shapes are available %<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{m}{it} %<+Ucmtt>\DeclareFontShape{U}{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> cmitt10 }{} %<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{m}{sl} %<+Ucmtt>\DeclareFontShape{U}{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> cmsltt10 }{} %<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{m}{sc} %<+Ucmtt>\DeclareFontShape{U}{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> cmtcsc10 }{} \DeclareFontShape{OT1}{cmtt}{bx}{n}{ <->ssub * cmtt/m/n }{} \DeclareFontShape{OT1}{cmtt}{bx}{it}{ <->ssub * cmtt/m/it }{} % % \end{macrocode} % % \subsubsection{Computer Modern Funny ({\tt OT1})} % % \begin{macrocode} %<*OT1cmfr> \DeclareFontFamily{OT1}{cmfr}{} \DeclareFontShape{OT1}{cmfr}{m}{n}{% <10> cmff10 }{} \DeclareFontShape{OT1}{cmfr}{m}{it}{% <10> cmfi10 }{} % % \end{macrocode} % % \subsubsection{Computer Modern Dunhill ({\tt OT1})} % % \begin{macrocode} %<*OT1cmdh> \DeclareFontFamily{OT1}{cmdh}{} \DeclareFontShape{OT1}{cmdh}{m}{n}{ <10> cmdunh10 }{} % % \end{macrocode} % % \subsubsection{Computer Modern Fibonacci ({\tt OT1})} % % \begin{macrocode} %<*OT1cmfib> \DeclareFontFamily{OT1}{cmfib}{} \DeclareFontShape{OT1}{cmfib}{m}{n}{ <8> cmfib8 }{} % % \end{macrocode} % % \subsection{Math fonts} % % \subsubsection{Computer Modern Math italics} % \changes{v2.0d}{93/06/12}{OML/cmm/bx/it added for `oldstylenums} % \begin{macrocode} %<*OMLcmm> \DeclareFontFamily{OML}{cmm}{\skewchar\font'177} \DeclareFontShape{OML}{cmm}{m}{it} { <5> <6> <7> <8> <9> gen * cmmi <10><10.95>cmmi10 <12><14.4><17.28><20.74><24.88>cmmi12 }{} \DeclareFontShape{OML}{cmm}{b}{it}{% <-10> sub * cmm/m/it <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> cmmib10 }{} % \end{macrocode} % This will allow the |\oldstylenums| command to work within % |\textbf|. % \begin{macrocode} \DeclareFontShape{OML}{cmm}{bx}{it}{% <-> ssub * cmm/b/it }{} % % \end{macrocode} % % \subsubsection{Computer Modern Math symbols} % % \begin{macrocode} %<*OMScmsy> \DeclareFontFamily{OMS}{cmsy}{\skewchar\font'60} \DeclareFontShape{OMS}{cmsy}{m}{n}{% <5> <6> <7> <8> <9> <10> gen * cmsy <10.95> <12> <14.4> <17.28> <20.74> <24.88> cmsy10 }{} \DeclareFontShape{OMS}{cmsy}{b}{n}{% <-10> sub * cmsy/m/n <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88>cmbsy10 }{} % % \end{macrocode} % % \subsubsection{Computer Modern large symbols} % % \begin{macrocode} %<*OMXcmex> \DeclareFontFamily{OMX}{cmex}{}{} \DeclareFontShape{OMX}{cmex}{m}{n}{ <-> sfixed * cmex10 }{} % % \end{macrocode} % % % \subsubsection{Concrete Roman} % % \begin{macrocode} %<*OT1ccr> \DeclareFontFamily{OT1}{ccr}{}{} \DeclareFontShape{OT1}{ccr}{m}{n}{% <5> <6> <7> <8> <9> <10> gen * ccr <10.95> <12> <14.4> <17.28> <20.74> <24.88>ccr10}{} \DeclareFontShape{OT1}{ccr}{m}{it}{ <10> <10.95> <12>ccti10}{} \DeclareFontShape{OT1}{ccr}{m}{sc}{ <10> <10.95> <12> ccsc10 }{} \DeclareFontShape{OT1}{ccr}{c}{sl}{<9>ccslc9}{} % % \end{macrocode} % % \subsubsection{Concrete Roman math italic} % % \begin{macrocode} %<*OMLccm> \DeclareFontFamily{OML}{ccm}{\skewchar\font'177} \DeclareFontShape{OML}{ccm}{m}{it}{<10>ccmi10}{} % % \end{macrocode} % % \subsubsection{Computer Modern Roman in {\tt OT2} encoding} % % These fonts are from the University of Washington. They do not % belong into this file but at the moment there is no other place. % \begin{macrocode} %<*OT2cmr> \DeclareFontFamily{OT2}{cmr}{}{} \DeclareFontShape{OT2}{cmr}{m}{n}{% <5> <6> <7> <8> <9> gen * wncyr <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88>wncyr10}{} \DeclareFontShape{OT2}{cmr}{m}{it}{% <5> <6> <7> <8> <9> gen * wncyi <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88> wncyi10}{} \DeclareFontShape{OT2}{cmr}{m}{sc}{% <5> <6> <7> <8> <9> <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88>wncysc10}{} %<+OT2cmr>%%%%%%%%%%%%% bold series \DeclareFontShape{OT2}{cmr}{b}{n}{% <5> <6> <7> <8> <9> gen * wncyb <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88>wncyb10}{} % % \end{macrocode} % % \subsubsection{Computer Modern Sans in {\tt OT2} encoding} % % Some more fonts from the University of Washington. % \begin{macrocode} %<*OT2cmss> \DeclareFontFamily{OT2}{cmss}{}{} \DeclareFontShape{OT2}{cmss}{m}{n}{% <8> <9> gen * wncyss <10> <10.95> <12> <14.4> <17.28> <20.74> <24.88>wncyss10}{} % % \end{macrocode} % % % % \section{A driver for this document} % % The next bit of code contains the documentation driver file for % \TeX{}, i.e., the file that will produce the documentation you are % currently reading. It will be extracted from this file by the % \dst{} program. % \begin{macrocode} %<*driver> \documentstyle[doc]{article} % dimensions from ltugboat.sty: \setlength\textwidth{31pc} \setlength\textheight{54pc} \setlength{\parindent}{0pt} \setlength{\parskip}{2pt plus 1pt minus 1pt} \setlength{\oddsidemargin}{8pc} \setlength{\marginparwidth}{8pc} \setlength{\topmargin}{-2.5pc} \setlength{\headsep}{20pt} \setlength{\columnsep}{1.5pc} \setlength{\columnwidth}{18.75pc} \DisableCrossrefs \CodelineIndex % Index code by line number %\OnlyDescription % comment out for implementation details \begin{document} \DocInput{cmrfonts.fdd} \end{document} % % \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} % % \DeleteShortVerb{\|} % % \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 \~}