% \CheckSum{170} %\iffalse This is a META comment % % File `tpcmfont.fdd' by Timo Knuutila (knuutila@cs.utu.fi). % % Please do not change this file: if you feel it should be changed, % contact the author. % %\ProvidesFile{T1cmdh.fd} %\ProvidesFile{T1cmfib.fd} %\ProvidesFile{T1cmfr.fd} %\ProvidesFile{T1cmr.fd} %\ProvidesFile{T1cmss.fd} %\ProvidesFile{T1cmtt.fd} %\ProvidesFile{T1ccr.fd} %\ProvidesFile{OT1cmdh.fd} %\ProvidesFile{OT1cmfib.fd} %\ProvidesFile{OT1cmfr.fd} %\ProvidesFile{OT1cmr.fd} %\ProvidesFile{OT1cmss.fd} %\ProvidesFile{OT1cmtt.fd} %\ProvidesFile{Ucmr.fd} %\ProvidesFile{Ucmss.fd} %\ProvidesFile{Ucmtt.fd} %\ProvidesFile{OMLcmm.fd} %\ProvidesFile{OMScmsy.fd} %\ProvidesFile{OMXcmex.fd} %<*driver, > \ProvidesFile{tpcmfont.drv} % [1995/08/21 v1.1 LaTeX font definitions with true point sizes] % %<*driver> \documentclass{ltxdoc} \usepackage{texnames} \GetFileInfo{tpcmfont.drv} \providecommand\dst{\expandafter{\normalfont\scshape docstrip}} \title{The file \texttt{tpcmfont.fdd} for use with \LaTeXe.\thanks{This file has version number \fileversion, dated \filedate.}} \date{\filedate} \author{Timo Knuutila} \begin{document} \maketitle \DocInput{tpcmfont.fdd} \end{document} % % %\fi % % \section{Introduction} % % This file contains the external font information needed to load % those of the Computer Modern fonts that are also found from the % |sauter| package and all the DC fonts. Fontshapes are declared % in true point sizes instead of the traditional scaled versions. % % Lot of the suff here has been copied % from Mittelbach's and Schoepf's original |cmfonts.fdd|. % The structure of this file follows the original, and the discussion % occurring in |cmfonts.fdd| applies unless otherwise stated (it has been % mostly omitted here). The lines that have been copied are preceded by M\&S % (for Mittelbach and Schoepf). % % \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 \\ % fd & produce a font definition file \\[2pt] % OMLcmm & make Computer Modern Math italic\\ % OMScmsy & make Computer Modern Symbols \\ % OMXcmex & make Computer Modern large Symbols\\ % 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)\\ % 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} %Note that the following modules (contained in the standard \LaTeX\ % distribution) are \emph{not} % replaced: |OMLcmr|, |OMScmr|, |OMLccm|, |OT1ccr|, |OT2cmr|, and |OT2cmss|. % % \section{Installation} % % \subsection{\LaTeX\ files} % % Just replace the original |.fd| -files with the ones produced by % running \LaTeX\ on |tpcmfont.ins| and recreate the \LaTeX\ format. % Make a backup copy of the originals before making the replacement. % For example, in |unix| machines supposing that your %\begin{itemize} %\item |base| stuff is in directory |latexdir| % (like |/usr/local/lib/texmf/tex/latex2e/base|), %\item format files are in directory |fmtdir| %(like |/usr/local/lib/texmf/ini|), and %\item this package % has been unpacked to |distdir| (like |~/tmp|)): %\end{itemize} %\begin{verbatim} %cd latexdir %mkdir backup %mv *.fd backup %cp distdir/*.fd . %initex latex %... %cd fmtdir %mv latex.fmt latex.fmt.backup %mv latexdir/latex.fmt . %\end{verbatim} % % If you want to use this package % only for the Cork encoded fonts, replace only the files beginning with % T1. If you choose to use only the old encoding, you must replace % both OT1- and U- prefixed |.fd| files. % % \subsection{\MF\ files} % Run \TeX\ on |dcxtedt.tex| to create the necessary |.mf| sources % and place them into \MF{}'s input directory % (like |/usr/local/lib/texmf/fonts/public/dc/src|). % % \section{The font definition files} % % The basic macro below is used whenever a full set of fonts % (point sizes 5--12, 14, 17, 20, and 25) is % available. For some strange reason only the ugly code below % seems to work appropriately. The macro is copied to all |.fd| % files created. % \begin{macrocode} %<*fd> \providecommand*{\TPFamily}[5]{% \DeclareFontShape{#1}{#2}{#4}{#5}{% <5> #35 <6> #36 <7> #37 <8> #38 <9> #39 <10> #310 <10.95> #311 <12> #312 <14.4> #314 <17.28> #317 <20.74> #320 <24.88> #325 }{}% } % % \end{macrocode} % % \subsection{Fonts with Cork encoding (\texttt{T1})} % % The DC-fonts are Computer Modern fonts % reimplemented by Norbert Schwarz and currently developed further by % Joerg Knappen. You can get them from \TeX{} % archives and from \TeX{} organizations. % The implementation allows one to easily create fonts for % all point sizes ever needed (package |mfnfss| contains the metafont % sources for Computer Concrete). With the conventional CM-fonts % one needs the |sauter| fonts (found from CTAN, too). % % \subsubsection{The Computer Modern Roman} % % Available in the shapes |n|, |sl|, |it|, |sc|, and |u|. Also bold % series |b| (with normal shape only), and bold extended |bx| with shapes % |n|, |sl|, and |it|. % \begin{macrocode} %<*T1cmr> \DeclareFontFamily{T1}{cmr}{}{} \TPFamily{T1}{cmr}{dcr}{m}{n} \TPFamily{T1}{cmr}{dcsl}{m}{sl} \TPFamily{T1}{cmr}{dcti}{m}{it} \TPFamily{T1}{cmr}{dccsc}{m}{sc} \TPFamily{T1}{cmr}{dcu}{m}{u} \TPFamily{T1}{cmr}{dcb}{b}{n} \TPFamily{T1}{cmr}{dcbx}{bx}{n} \TPFamily{T1}{cmr}{dcbxsl}{bx}{sl} \TPFamily{T1}{cmr}{dcbxti}{bx}{it} % % \end{macrocode} % % \subsubsection{Computer Modern Fibonacci} % % Don Knuth's experiment. % \begin{macrocode} %<*T1cmfib> \DeclareFontFamily{T1}{cmfib}{} \TPFamily{T1}{cmfib}{dcfib}{m}{n} % % \end{macrocode} % % \subsubsection{Computer Modern Funny (Roman)} % % Another Don Knuth's experiment. % \begin{macrocode} %<*T1cmfr> \DeclareFontFamily{T1}{cmfr}{} \TPFamily{T1}{cmfr}{dcff}{m}{n} \TPFamily{T1}{cmfr}{dcfi}{m}{it} % % \end{macrocode} % % \subsubsection{Computer Modern Sans} % % Don Knuth's sans serif font (normal, semibold and bold extended series). % \begin{macrocode} %<*T1cmss> \DeclareFontFamily{T1}{cmss}{} \TPFamily{T1}{cmss}{dcss}{m}{n} \DeclareFontShape{T1}{cmss}{m}{it} {<->sub*cmss/m/sl}{} \TPFamily{T1}{cmss}{dcssi}{m}{sl} \DeclareFontShape{T1}{cmss}{m}{sc} {<->sub*cmr/m/sc}{} \TPFamily{T1}{cmss}{dcssdc}{sbc}{n} \TPFamily{T1}{cmss}{dcssbx}{bx}{n} % % \end{macrocode} % % \subsubsection{Computer Modern Typewriter} % % \begin{macrocode} %<*T1cmtt> \DeclareFontFamily{T1}{cmtt}{\hyphenchar \font\m@ne} \TPFamily{T1}{cmtt}{dctt}{m}{n} \TPFamily{T1}{cmtt}{dcitt}{m}{it} \TPFamily{T1}{cmtt}{dcsltt}{m}{sl} \TPFamily{T1}{cmtt}{dctcsc}{m}{sc} % % \end{macrocode} % % \subsubsection{Computer Modern Dunhill} % % \begin{macrocode} %<*T1cmdh> \DeclareFontFamily{T1}{cmdh}{} \TPFamily{T1}{cmdh}{dcdunh}{m}{n} % % \end{macrocode} % % \subsubsection{Concrete Roman} % % \begin{macrocode} %<*T1ccr> \DeclareFontFamily{T1}{ccr}{}{} \TPFamily{T1}{ccr}{dccr}{m}{n} \TPFamily{T1}{ccr}{dcti}{m}{it} \TPFamily{T1}{ccr}{dccsc}{m}{sc} \TPFamily{T1}{ccr}{dcslc}{c}{sl} \DeclareFontShape{T1}{ccr}{bx}{sl}{ %<-nowarn> <->sub * cmr/bx/it %<+nowarn> <->ssub * cmr/bx/it }{} \DeclareFontShape{T1}{ccr}{bx}{n}{ %<-nowarn> <->sub * cmr/bx/n %<+nowarn> <->ssub * cmr/bx/n }{} \DeclareFontShape{T1}{ccr}{bx}{it}{ %<-nowarn> <->sub * cmr/bx/it %<+nowarn> <->ssub * cmr/bx/it }{} % % \end{macrocode} % % \subsection{Fonts with the old \TeX{} text encoding (\texttt{OT1})} % % \subsubsection{Computer Modern Roman (\texttt{OT1})} % % M\&S: 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>\TPFamily{OT1}{cmr}{cmr}{m}{n} %<+Ucmr>\TPFamily{U}{cmr}{cmr}{m}{n} %<+OT1cmr>\TPFamily{OT1}{cmr}{cmsl}{m}{sl} %<+Ucmr>\TPFamily{U}{cmr}{cmsl}{m}{sl} %<+OT1cmr>\TPFamily{OT1}{cmr}{cmti}{m}{it} %<+Ucmr>\TPFamily{U}{cmr}{cmti}{m}{it} %<+OT1cmr>\TPFamily{OT1}{cmr}{cmcsc}{m}{sc} %<+Ucmr>\TPFamily{U}{cmr}{cmcsc}{m}{sc} % \end{macrocode} % M\&S: Here we try to cure the famous \$ $\to$ \pounds{} bug: % \begin{macrocode} %<+OT1cmr>\TPFamily{OT1}{cmr}{cmu}{m}{ui} %<+Ucmr>\TPFamily{U}{cmr}{cmu}{m}{ui} %<+OT1cmr,Ucmr>%%%%%%% bold series %<+OT1cmr>\TPFamily{OT1}{cmr}{cmb}{b}{n} %<+Ucmr>\TPFamily{U}{cmr}{cmb}{b}{n} %<+OT1cmr,Ucmr>%%%%%%%% bold extended series %<+OT1cmr>\TPFamily{OT1}{cmr}{cmbx}{bx}{n} %<+Ucmr>\TPFamily{U}{cmr}{cmbx}{bx}{n} %<+OT1cmr>\TPFamily{OT1}{cmr}{cmbxsl}{bx}{sl} %<+Ucmr>\TPFamily{U}{cmr}{cmbxsl}{bx}{sl} %<+OT1cmr>\TPFamily{OT1}{cmr}{cmbxti}{bx}{it} %<+Ucmr>\TPFamily{U}{cmr}{cmbxti}{bx}{it} %<+OT1cmr>\DeclareFontShape{OT1}{cmr}{bx}{ui} %<+Ucmr>\DeclareFontShape{U}{cmr}{bx}{ui} %<+nowarn> {<->sub * cmr/m/ui}{} %<-nowarn> {<->ssub * cmr/m/ui}{} % % \end{macrocode} % % \subsubsection{Computer Modern Sans (\texttt{OT1})} % % \begin{macrocode} %<*OT1cmss,Ucmss> %<+OT1cmss>\DeclareFontFamily{OT1}{cmss}{} %<+Ucmss>\DeclareFontFamily{U}{cmss}{} %<+OT1cmss>\TPFamily{OT1}{cmss}{cmss}{m}{n} %<+Ucmss>\TPFamily{U}{cmss}{cmss}{m}{n} %<+OT1cmss,Ucmss>% Font undefined, therefore substituted %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{m}{it} %<+Ucmss>\DeclareFontShape{U}{cmss}{m}{it} %<-nowarn> {<->sub*cmss/m/sl}{} %<+nowarn> {<->ssub*cmss/m/sl}{} %<+OT1cmss>\TPFamily{OT1}{cmss}{cmssi}{m}{sl} %<+Ucmss>\TPFamily{U}{cmss}{cmssi}{m}{sl} %<+OT1cmss,Ucmss>%%%%%%% Font/shape undefined, therefore substituted %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{m}{sc} %<+Ucmss>\DeclareFontShape{U}{cmss}{m}{sc} {<->sub*cmr/m/sc}{} %<+OT1cmss,Ucmss>%%%%%%% Font/shape undefined, therefore substituted %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{m}{ui} %<+Ucmss>\DeclareFontShape{U}{cmss}{m}{ui} {<->sub*cmr/m/ui}{} %<+OT1cmss,Ucmss>%%%%%%%% semibold condensed series %<+OT1cmss>\TPFamily{OT1}{cmss}{cmssdc}{sbc}{n} %<+Ucmss>\TPFamily{U}{cmss}{cmssdc}{sbc}{n} %<+OT1cmss,Ucmss>%%%%%%%%% bold extended series %<+OT1cmss>\TPFamily{OT1}{cmss}{cmssbx}{bx}{n} %<+Ucmss>\TPFamily{U}{cmss}{cmssbx}{bx}{n} %<+OT1cmss,Ucmss>%%%%%%% Font/shape undefined, therefore substituted %<+OT1cmss>\DeclareFontShape{OT1}{cmss}{bx}{ui} %<+Ucmss>\DeclareFontShape{U}{cmss}{bx}{ui} {<->sub*cmr/bx/ui}{} % % \end{macrocode} % % \subsubsection{Computer Modern Typewriter (\texttt{OT1})} % % We use here no substitutions (outside the |cmtt| family), so the % discussion in the original |cmfonts.fdd| can be forgotten. % \begin{macrocode} %<*OT1cmtt,Ucmtt> %<+OT1cmtt>\DeclareFontFamily{OT1}{cmtt}{\hyphenchar \font\m@ne} %<+Ucmtt>\DeclareFontFamily{U}{cmtt}{\hyphenchar \font\m@ne} %<+OT1cmtt>\TPFamily{OT1}{cmtt}{cmtt}{m}{n} %<+Ucmtt>\TPFamily{U}{cmtt}{cmtt}{m}{n} %<+OT1cmtt,Ucmtt>%%%%%% make sure subst shapes are available %<+OT1cmtt>\TPFamily{OT1}{cmtt}{cmitt}{m}{it} %<+Ucmtt>\TPFamily{U}{cmtt}{cmitt}{m}{it} %<+OT1cmtt>\TPFamily{OT1}{cmtt}{cmsltt}{m}{sl} %<+Ucmtt>\TPFamily{U}{cmtt}{cmsltt}{m}{sl} %<+OT1cmtt>\TPFamily{OT1}{cmtt}{cmtcsc}{m}{sc} %<+Ucmtt>\TPFamily{U}{cmtt}{cmtcsc}{m}{sc} %<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{m}{ui} %<+Ucmtt>\DeclareFontShape{U}{cmtt}{m}{ui} %<-nowarn> {<->sub * cmtt/m/it}{} %<+nowarn> {<->ssub * cmtt/m/it}{} %<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{bx}{n} %<+Ucmtt>\DeclareFontShape{U}{cmtt}{bx}{n} %<-nowarn> {<->sub * cmtt/m/n}{} %<+nowarn> {<->ssub * cmtt/m/n}{} %<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{bx}{it} %<+Ucmtt>\DeclareFontShape{U}{cmtt}{bx}{it} %<-nowarn> {<->sub * cmtt/m/it}{} %<+nowarn> {<->ssub * cmtt/m/it}{} %<+OT1cmtt>\DeclareFontShape{OT1}{cmtt}{bx}{ui} %<+Ucmtt>\DeclareFontShape{U}{cmtt}{bx}{ui} %<-nowarn> {<->sub * cmtt/m/it}{} %<+nowarn> {<->ssub * cmtt/m/it}{} % % \end{macrocode} % % \subsubsection{Computer Modern Funny (\texttt{OT1})} % % \begin{macrocode} %<*OT1cmfr> \DeclareFontFamily{OT1}{cmfr}{} \TPFamily{OT1}{cmfr}{cmff}{m}{n} \TPFamily{OT1}{cmfr}{cmfi}{m}{it} % % \end{macrocode} % % \subsubsection{Computer Modern Dunhill (\texttt{OT1})} % % \begin{macrocode} %<*OT1cmdh> \DeclareFontFamily{OT1}{cmdh}{} \TPFamily{OT1}{cmdh}{cmdunh}{m}{n} % % \end{macrocode} % % \subsubsection{Computer Modern Fibonacci (\texttt{OT1})} % % \begin{macrocode} %<*OT1cmfib> \DeclareFontFamily{OT1}{cmfib}{} \TPFamily{OT1}{cmfib}{cmfib}{m}{n} % % \end{macrocode} % % \subsection{Math fonts} % % \subsubsection{Computer Modern Math italics} % \begin{macrocode} %<*OMLcmm> \DeclareFontFamily{OML}{cmm}{\skewchar\font'177} \TPFamily{OML}{cmm}{cmmi}{m}{it} \TPFamily{OML}{cmm}{cmmib}{b}{it} \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} \TPFamily{OMS}{cmsy}{cmsy}{m}{n} \TPFamily{OMS}{cmsy}{cmbsy}{b}{n} % % \end{macrocode} % % \subsubsection{Computer Modern large symbols} % % \begin{macrocode} %<*OMXcmex> \DeclareFontFamily{OMX}{cmex}{}{} \TPFamily{OMX}{cmex}{cmex}{m}{n} % % \end{macrocode} % \begin{macrocode} \endinput % \end{macrocode} % % \Finale %