The file cmfonts.fdd for use with L^{A}TEX 2ε.^{∗}

Frank Mittelbach  Rainer Schöpf

1998/03/27

1 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 .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 ec fonts.

2 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. With the release of L^{A}TEX 2ε, these AMS ‘extracm’ fonts have been included in the L^{A}TEX font set. Therefore, the math .fd files produced here assume the presence of these AMS extensions.

For text fonts in T1 encoding, the directive new selects the new (version 1.2) DC fonts.

For the text fonts in OT1 and U encoding, the optional docstrip directive ori selects a conservatively generated set of font definition files, which means that only the basic font sizes coming with an old L^{A}TEX 2.09 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 corresponding enlarged font set is generated if the docstrip directive ori is not used.

When you generate the .fd files using the installation script cmfonts.ins distributed with L^{A}TEX 2ε, the enlarged font set is selected. If you want to select the conservative set of .fd files, you have to replace statements like

   \generateFile{OT1cmr.fd}{t}{\from{cmfonts.fdd}{fd,OT1cmr}}

∗This file has version number v2.5g, dated 1998/03/27.

with

   \generateFile{OT1cmr.fd}{t}{\from{cmfonts.fdd}{fd,OT1cmr,ori}}

in the installation script, or more exactly by copying the installation script to a file with a new name and change that copy.

3 The docstrip modules

The following modules are used to direct docstrip in generating external files:

driver  produce a documentation driver file
nowarn  produce .fd files that do not warn about substitutions
ori  make conservative .fd files
new  select version 1.2 DC fonts
ec  select EC fonts
fd  produce a font definition file
OMLccm make Concrete Roman Math italic
OMLcmm make Computer Modern Math italic
OMLcmr make Computer Modern Roman (math italic encoding)
OMScmr make Computer Modern Roman (math symbol encoding)
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)
OT1cmvtt make Computer Modern Variable Typewriter (old encoding)
OT2cmr  make Computer Modern Roman (old cyrillic encoding)
OT2cmss make Computer Modern Sans (old 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)
T1cmvtt  make Computer Modern Variable Typewriter (Cork encoding)
TS1cmr  make Computer Modern Roman text companion fonts
TS1cmss  make Computer Modern Sans text companion fonts
TS1cmtt  make Computer Modern Typewriter text companion fonts
TS1cmvtt make Computer Modern Variable Typewriter text companion fonts
Ucmr  make Computer Modern Roman (unknown encoding)
Ucmss  make Computer Modern Sans (unknown encoding)
Ucmtt  make Computer Modern Typewriter (unknown encoding)

A typical docstrip command file would then have entries like:

\generateFile{OT1cmr.fd}{t}{\from{cmfonts.fdd}{fd,OT1cmr}}

4 The font definition files

As always we begin by identifying the latest version of the files in the log file. The explicit spaces are necessary in an .fd file and the \string guards against situations where `, < or > is active.

4.1 Fonts with Cork encoding (T1)

We start with the DC-fonts. These are Computer Modern fonts reimplemented originally by Norbert Schwarz, and since release 1.2 by Jörg Knappen. 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.

4.1.1 Commands for fonts with the ‘EC’ naming scheme

Before the declarations for the individual fonts, first define some abreviations that may be used as most of the fonts in the ‘new’ dc font distribution come in the same range of sizes. The same is true for the ec fonts, with a somewhat enlarged font size range.

1 ⟨∗new | ec⟩ 2 ⟨∗!tt⟩

 3 \providecommand{\EC@family}[5]{%
 4 \DeclareFontShape{#1}{#2}{#3}{#4}%
 5 {<5><6><7><8><9><10><10.95><12><14.4>%
 6 ⟨ec⟩ <17.28><20.74><24.88><29.86><35.83>genb*#5}{}}
 7 ⟨!ec⟩ <17.28><20.74><24.88>genb*#5}{}}

8 ⟨/!tt⟩

For monospaced fonts, the normal interpolation breaks down below 8pt, so scale the 8pt fonts instead.

9 ⟨∗tt⟩

10 \providecommand{\EC@ttfamily}[5]{%
11 \DeclareFontShape{#1}{#2}{#3}{#4}%
12 {<5><6><7><8>#50800%
13 ⟨ec⟩ <9><10><10.95><12><14.4><17.28><20.74><24.88><29.86>%
14 ⟨ec⟩ <35.83>genb*#5}{}}
15 ⟨!ec⟩ <9><10><10.95><12><14.4><17.28><20.74><24.88>genb*#5}{}}

16 ⟨/tt⟩ 17 ⟨/new | ec⟩

4.1.2 The Computer Modern Roman

This family is available in the shapes n, sl, it, sc, and ui.

18 ⟨∗T1cmr⟩

19 \DeclareFontFamily{T1}{cmr}{}

20 ⟨∗!new&!ec⟩

21 \DeclareFontShape{T1}{cmr}{m}{n}{%

22  <5><6><7><8><9>gen*dcr%
23  <10><10.95>dcr10%
24  <12><14.4>dcr12%
25  <17.28><20.74><24.88>dcr17}{}
26 \DeclareFontShape{T1}{cmr}{m}{sl}{%
27  <5><6><7><8>dcsl8%
28  <9>dcsl9%
29  <10><10.95>dcsl10%
30  <12><14.4>dcsl12%
31  <17.28><20.74><24.88>dcsl17%
32  }{}
33 \DeclareFontShape{T1}{cmr}{m}{it}{%
34  <5><6>dcti7%
35  <7><8><9>gen*dcti%
36  <10><10.95>dcti10%
37  <12><14.4>dcti12%
38  <17.28><20.74><24.88>dcti17%
39  }{}
40 \DeclareFontShape{T1}{cmr}{m}{sc}{%
41  <5><6><7><8><9><10><10.95>dccsc10%
42  <12><14.4>dccsc12%
43  <17.28><20.74><24.88>dccsc17%
44  }{}
45 \DeclareFontShape{T1}{cmr}{m}{ui}{%
46  <5><6>dcu7%
47  <7><8><9>gen*dcu%
48  <10><10.95>dcu10%
49  <12><14.4>dcu12%
50  <17.28><20.74><24.88>dcu17%
51  }{}

There is a bold ‘b’ series, but unfortunately only the normal shape is available in this series.

52 ⟨+T1cmr⟩%%%%%%% bold series
53 \DeclareFontShape{T1}{cmr}{b}{n}{%
54  <5><6><7><8><9>gen*dcb%
55  <10><10.95>dcb10%
56  <12><14.4>dcb12%
57  <17.28><20.74><24.88>dcb17%
58  }{}

Finally there is a bold extended series ‘bx’ with the shapes n, sl, and it.

59 ⟨+T1cmr⟩%%%%%%%% bold extended series
60 \DeclareFontShape{T1}{cmr}{bx}{n}{%
61  <5><6><7><8><9>gen*dcbx%
62  <10><10.95>dcbx10%
63  <12><14.4><17.28><20.74><24.88>dcbx12%
64  }{}
65 \DeclareFontShape{T1}{cmr}{bx}{sl}{%
66  <5><6><7><8><9>gen*dcbxsl%
67  <10><10.95>dcbxsl10%

68  <12><14.4><17.28><20.74><24.88>dcbxsl12%
69  }{}
70 \DeclareFontShape{T1}{cmr}{bx}{it}{%
71  <5><6><7><8><9><10><10.95>dcbxti10%
72  <12><14.4>dcbxti12%
73  <17.28><20.74><24.88>dcbxti17%
74  }{}

75 ⟨/!new&!ec⟩

76 ⟨∗new⟩

77 \EC@family{T1}{cmr}{m}{n}{dcr}
78 \EC@family{T1}{cmr}{m}{sl}{dcsl}
79 \EC@family{T1}{cmr}{m}{it}{dcti}
80 \EC@family{T1}{cmr}{m}{sc}{dccc}
81 \EC@family{T1}{cmr}{bx}{n}{dcbx}
82 \EC@family{T1}{cmr}{b}{n}{dcb}
83 \EC@family{T1}{cmr}{bx}{it}{dcbi}
84 \EC@family{T1}{cmr}{bx}{sl}{dcbl}
85 \EC@family{T1}{cmr}{m}{ui}{dcu}

86 ⟨/new⟩

87 ⟨∗ec⟩

88 \EC@family{T1}{cmr}{m}{n}{ecrm}
89 \EC@family{T1}{cmr}{m}{sl}{ecsl}
90 \EC@family{T1}{cmr}{m}{it}{ecti}
91 \EC@family{T1}{cmr}{m}{sc}{eccc}
92 \EC@family{T1}{cmr}{bx}{n}{ecbx}
93 \EC@family{T1}{cmr}{b}{n}{ecrb}
94 \EC@family{T1}{cmr}{bx}{it}{ecbi}
95 \EC@family{T1}{cmr}{bx}{sl}{ecbl}
96 \EC@family{T1}{cmr}{bx}{sc}{ecxc}
97 \EC@family{T1}{cmr}{m}{ui}{ecui}

98 ⟨/ec⟩ 99 ⟨/T1cmr⟩

4.1.3 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.

100 ⟨∗T1cmfib⟩

101 \DeclareFontFamily{T1}{cmfib}{}

102 ⟨∗!new&!ec⟩

103 \DeclareFontShape{T1}{cmfib}{m}{n}{%
104  <8><9><10><12>gen*dcfib%
105  }{}

106 ⟨/!new&!ec⟩

In fact these ‘dcfb’ fonts are currently withdrawn as they generate metafont errors.

107 ⟨∗new⟩

108 \EC@family{T1}{cmfib}{m}{n}{dcfb}

109 ⟨/new⟩

110 ⟨∗ec⟩

111 \EC@family{T1}{cmfib}{m}{n}{ecfb}
112 \EC@family{T1}{cmfib}{m}{sl}{ecfs}

113 ⟨/ec⟩ 114 ⟨/T1cmfib⟩

4.1.4 Computer Modern Funny (Roman)

This family was created by Don Knuth as another experiment.

115 ⟨∗T1cmfr⟩

116 \DeclareFontFamily{T1}{cmfr}{}

117 ⟨∗!new&!ec⟩

118 \DeclareFontShape{T1}{cmfr}{m}{n}{%
119  <10>dcff10%
120  }{}
121 \DeclareFontShape{T1}{cmfr}{m}{it}{%
122  <10>dcfi10%
123  }{}

124 ⟨/!new&!ec⟩ 125 ⟨∗new⟩

126 \EC@family{T1}{cmfr}{m}{n}{dcff}
127 \EC@family{T1}{cmfr}{m}{it}{dcfi}

128 ⟨/new⟩

129 ⟨∗ec⟩

130 \EC@family{T1}{cmfr}{m}{n}{ecff}
131 \EC@family{T1}{cmfr}{m}{it}{ecfi}

132 ⟨/ec⟩ 133 ⟨/T1cmfr⟩

4.1.5 Computer Modern Sans

134 ⟨∗T1cmss⟩

135 \DeclareFontFamily{T1}{cmss}{}

136 ⟨∗!new&!ec⟩

137 \DeclareFontShape{T1}{cmss}{m}{n}{%
138  <5><6><7><8>dcss8%
139  <9>dcss9%
140  <10><10.95>dcss10%
141  <12><14.4>dcss12%
142  <17.28><20.74><24.88>dcss17%
143  }{}
144 \DeclareFontShape{T1}{cmss}{m}{it}%
145  {<->sub*cmss/m/sl}{}
146 \DeclareFontShape{T1}{cmss}{m}{sl}{%
147  <5><6><7><8>dcssi8%
148  <9>dcssi9%
149  <10><10.95>dcssi10%
150  <12><14.4>dcssi12%

151  <17.28><20.74><24.88>dcssi17%
152  }{}

153 ⟨/!new&!ec⟩ 154 ⟨∗new⟩

155 \EC@family{T1}{cmss}{m}{n}{dcss}
156 \EC@family{T1}{cmss}{m}{sl}{dcsi}
157 \EC@family{T1}{cmss}{m}{it}{dcsi}
158 \EC@family{T1}{cmss}{bx}{n}{dcsx}
159 \EC@family{T1}{cmss}{bx}{it}{dcso}
160 \EC@family{T1}{cmss}{bx}{sl}{dcso}

161 ⟨/new⟩

162 ⟨∗ec⟩

163 \EC@family{T1}{cmss}{m}{n}{ecss}
164 \EC@family{T1}{cmss}{m}{sl}{ecsi}
165 \EC@family{T1}{cmss}{m}{it}{ecsi}
166 \EC@family{T1}{cmss}{bx}{n}{ecsx}
167 \EC@family{T1}{cmss}{bx}{it}{ecso}
168 \EC@family{T1}{cmss}{bx}{sl}{ecso}

169 ⟨/ec⟩

The next substitution is very questionable.

170 ⟨+T1cmss⟩%%%%%% Font/shape undefined, therefore substituted
171 \DeclareFontShape{T1}{cmss}{m}{sc}%
172  {<->sub*cmr/m/sc}{}

The next font group is quite attractive for display.

173 ⟨+T1cmss⟩%%%%%%% semibold condensed series
174 \DeclareFontShape{T1}{cmss}{sbc}{n}{%
175  <5><6><7><8><9><10><10.95><12><14.4><17.28>%
176  <20.74><24.88>%
177 ⟨!ec⟩dcssdc10
178 ⟨ec⟩ecssdc10
179  }{}

180 ⟨∗!new&!ec⟩

181 ⟨+T1cmss⟩%%%%%%%% bold extended series
182 \DeclareFontShape{T1}{cmss}{bx}{n}{%
183  <5><6><7><8><9><10><10.95><12><14.4><17.28>%
184  <20.74><24.88>dcssbx10%
185  }{}

Another questionable substitution, but if we have the above we might as well have this one

186 ⟨+T1cmss⟩%%%%%% Font/shape undefined, therefore substituted
187 \DeclareFontShape{T1}{cmss}{bx}{sc}%
188  {<->sub*cmr/m/sc}{}

189 ⟨/!new&!ec⟩ 190 ⟨/T1cmss⟩

4.1.6 Computer Modern Typewriter

Perhaps the best font in the Computer Modern suite.

191 ⟨∗T1cmtt⟩

192 \DeclareFontFamily{T1}{cmtt}{\hyphenchar \font\m@ne}

193 ⟨∗!new&!ec⟩

194 \DeclareFontShape{T1}{cmtt}{m}{n}{%
195  <8><9>gen*dctt%
196  <10><10.95>dctt10%
197  <12><14.4><17.28><20.74><24.88>dctt12%
198  }{}
199 \DeclareFontShape{T1}{cmtt}{m}{it}{%
200  <8><9>gen*dcitt%
201  <10><10.95>dcitt10%
202  <12><14.4>dcitt12%
203  <17.28><20.74><24.88>dcitt17%
204  }{}
205 \DeclareFontShape{T1}{cmtt}{m}{sl}{%
206  <8><9>gen*dcsltt%
207  <10><10.95>dcsltt10%
208  <12><14.4><17.28><20.74><24.88>dcsltt12%
209  }{}
210 \DeclareFontShape{T1}{cmtt}{m}{sc}{%
211  <10><10.95>dctcsc10%
212  <12><14.4>dctcsc12%
213  <17.28><20.74><24.88>dctcsc17%
214  }{}

215 ⟨/!new&!ec⟩

216 ⟨∗new⟩

217 \EC@ttfamily{T1}{cmtt}{m}{n}{dctt}
218 \EC@ttfamily{T1}{cmtt}{m}{sl}{dcst}
219 \EC@ttfamily{T1}{cmtt}{m}{it}{dcit}
220 \EC@ttfamily{T1}{cmtt}{m}{sc}{dctc}

Finally, we define substitutions for the series bx. It comes with or without a warning.

221 \DeclareFontShape{T1}{cmtt}{bx}{n}%
222 ⟨−nowarn⟩ {<->sub*cmtt/m/n}{}
223 ⟨+nowarn⟩ {<->ssub*cmtt/m/n}{}
224 \DeclareFontShape{T1}{cmtt}{bx}{it}%
225 ⟨−nowarn⟩ {<->sub*cmtt/m/it}{}
226 ⟨+nowarn⟩ {<->ssub*cmtt/m/it}{}

227 ⟨/new⟩

228 ⟨∗ec⟩

229 \EC@ttfamily{T1}{cmtt}{m}{n}{ectt}
230 \EC@ttfamily{T1}{cmtt}{m}{sl}{ecst}
231 \EC@ttfamily{T1}{cmtt}{m}{it}{ecit}
232 \EC@ttfamily{T1}{cmtt}{m}{sc}{ectc}

Finally, we define substitutions for the series bx. It comes with or without a warning.

233 \DeclareFontShape{T1}{cmtt}{bx}{n}%

234 ⟨−nowarn⟩ {<->sub*cmtt/m/n}{}
235 ⟨+nowarn⟩ {<->ssub*cmtt/m/n}{}
236 \DeclareFontShape{T1}{cmtt}{bx}{it}%
237 ⟨−nowarn⟩ {<->sub*cmtt/m/it}{}
238 ⟨+nowarn⟩ {<->ssub*cmtt/m/it}{}

239 ⟨/ec⟩ 240 ⟨/T1cmtt⟩

4.1.7 Computer Modern Variable Typewriter

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.

In the first implementations for the Cork encoding only the normal shape is available. Starting with release 1.3 italic will be provided as well.

241 ⟨∗T1cmvtt⟩

242 \DeclareFontFamily{T1}{cmvtt}{}

243 ⟨∗!new&!ec⟩

244 \DeclareFontShape{T1}{cmvtt}{m}{n}{%
245  <8><9>gen*dcvtt%
246  <10><10.95>dcvtt10%
247  <12><14.4><17.28><20.74><24.88>dcvtt12%
248  }{}

249 ⟨/!new&!ec⟩

With release 1.3 there will be an italic shape as well.

250 ⟨∗new⟩

251 \EC@ttfamily{T1}{cmvtt}{m}{n}{dcvt}
252 \EC@ttfamily{T1}{cmvtt}{m}{it}{dcvi}

253 ⟨/new⟩ 254 ⟨∗ec⟩

255 \EC@ttfamily{T1}{cmvtt}{m}{n}{ecvt}
256 \EC@ttfamily{T1}{cmvtt}{m}{it}{ecvi}

257 ⟨/ec⟩ 258 ⟨/T1cmvtt⟩

4.1.8 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.

259 ⟨∗T1cmdh⟩

260 \DeclareFontFamily{T1}{cmdh}{}

261 ⟨∗!new&!ec⟩

262 \DeclareFontShape{T1}{cmdh}{m}{n}{%
263  <5><6><7><8><9>gen*dcdunh%
264  <10><10.95>dcdunh10%
265  <12><14.4>dcdunh12%
266  <17.28><20.74><24.88>dcdunh17}{}

267 ⟨/!new&!ec⟩ 268 ⟨∗new⟩

269 \EC@family{T1}{cmdh}{m}{n}{dcdh}

270 ⟨/new⟩ 271 ⟨∗ec⟩

272 \EC@family{T1}{cmdh}{m}{n}{ecdh}

273 ⟨/ec⟩ 274 ⟨/T1cmdh⟩

4.1.9 Concrete Roman

A font near to Computer Modern Typewriter designed to go with the Euler Math fonts.

275 ⟨∗T1ccr⟩

276 \DeclareFontFamily{T1}{ccr}{}
277 \DeclareFontShape{T1}{ccr}{m}{n}{%
278 <5><6><7><8><9><10><12>gen*dccr%
279 <10.95>dccr11 <14.4>dccr14%
280 <17.28><20.74><24.88>dccr17}{}
281 \DeclareFontShape{T1}{ccr}{m}{it}{%
282 <10><10.95><12>dcti10}{}
283 \DeclareFontShape{T1}{ccr}{m}{sc}{%
284 <10><10.95><12>dccsc10 }{}

Note the condensed slanted variant (not used).

285 %\DeclareFontShape{T1}{ccr}{c}{sl}{<9>dcslc9}{}

Finally a few substitution fonts for combinations not available. As suggested by Leslie Lamport and several others the substitution should warn by default. We control this my a docstrip module so that one can modify this behavior from the outside.

286 \DeclareFontShape{T1}{ccr}{bx}{sl}{%
287 ⟨−nowarn⟩  <->sub*cmr/bx/it
288 ⟨+nowarn⟩  <->ssub*cmr/bx/it
289 }{}
290 \DeclareFontShape{T1}{ccr}{bx}{n}{%
291 ⟨−nowarn⟩  <->sub*cmr/bx/n
292 ⟨+nowarn⟩  <->ssub*cmr/bx/n
293 }{}
294 \DeclareFontShape{T1}{ccr}{bx}{it}{%
295 ⟨−nowarn⟩  <->sub*cmr/bx/it
296 ⟨+nowarn⟩  <->ssub*cmr/bx/it
297 }{}

298 ⟨/T1ccr⟩

4.1.10 The text companion fonts for T1 encoding

299 ⟨∗TS1cmr⟩

300 \DeclareFontFamily{TS1}{cmr}{\hyphenchar\font\m@ne}
301 ⟨!ec⟩\EC@family{TS1}{cmr}{m}{n}{tcr}

302 ⟨ec⟩\EC@family{TS1}{cmr}{m}{n}{tcrm}
303 \EC@family{TS1}{cmr}{m}{sl}{tcsl}
304 \EC@family{TS1}{cmr}{m}{it}{tcti}
305 \EC@family{TS1}{cmr}{bx}{n}{tcbx}
306 ⟨!ec⟩\EC@family{TS1}{cmr}{b}{n}{tcb}
307 ⟨ec⟩\EC@family{TS1}{cmr}{b}{n}{tcrb}
308 \EC@family{TS1}{cmr}{bx}{it}{tcbi}
309 \EC@family{TS1}{cmr}{bx}{sl}{tcbl}
310 ⟨!ec⟩\EC@family{TS1}{cmr}{m}{ui}{tcu}
311 ⟨ec⟩\EC@family{TS1}{cmr}{m}{ui}{tcui}

312 ⟨/TS1cmr⟩ 313 ⟨∗TS1cmss⟩

314 \DeclareFontFamily{TS1}{cmss}{\hyphenchar\font\m@ne}
315 \EC@family{TS1}{cmss}{m}{n}{tcss}
316 \EC@family{TS1}{cmss}{m}{sl}{tcsi}
317 \EC@family{TS1}{cmss}{m}{it}{tcsi}
318 \EC@family{TS1}{cmss}{bx}{n}{tcsx}
319 \EC@family{TS1}{cmss}{bx}{it}{tcso}
320 \EC@family{TS1}{cmss}{bx}{sl}{tcso}

321 ⟨/TS1cmss⟩ 322 ⟨∗TS1cmtt⟩

323 \DeclareFontFamily{TS1}{cmtt}{\hyphenchar\font\m@ne}
324 \EC@ttfamily{TS1}{cmtt}{m}{n}{tctt}
325 \EC@ttfamily{TS1}{cmtt}{m}{sl}{tcst}
326 \EC@ttfamily{TS1}{cmtt}{m}{it}{tcit}

327 ⟨/TS1cmtt⟩

Again the italic shape is only available with release 1.3.

328 ⟨∗TS1cmvtt⟩

329 \DeclareFontFamily{TS1}{cmvtt}{}
330 \EC@ttfamily{TS1}{cmvtt}{m}{n}{tcvt}
331 \EC@ttfamily{TS1}{cmvtt}{m}{it}{tcvi}

332 ⟨/TS1cmvtt⟩

4.2 Fonts with the old TEX text encoding (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 (£) 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.

4.2.1 Computer Modern Roman (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.

333 ⟨∗OT1cmr, Ucmr⟩

334 ⟨+OT1cmr⟩\DeclareFontFamily{OT1}{cmr}{\hyphenchar\font45 }
335 ⟨+Ucmr⟩\DeclareFontFamily{U}{cmr}{\hyphenchar\font45 }
336 ⟨+OT1cmr⟩\DeclareFontShape{OT1}{cmr}{m}{n}%
337 ⟨+Ucmr⟩\DeclareFontShape{U}{cmr}{m}{n}%
338  {<5><6><7><8><9><10><12>gen*cmr%
339  <10.95>cmr10%
340  <14.4>cmr12%
341  <17.28><20.74><24.88>cmr17}{}
342 ⟨+OT1cmr⟩\DeclareFontShape{OT1}{cmr}{m}{sl}%
343 ⟨+Ucmr⟩\DeclareFontShape{U}{cmr}{m}{sl}%

344 {%

345 ⟨+ori⟩  <5-8>sub*cmr/m/n%
346 ⟨−ori⟩  <5><6><7>cmsl8%
347  <8><9>gen*cmsl%
348  <10><10.95>cmsl10%
349  <12><14.4><17.28><20.74><24.88>cmsl12%
350  }{}
351 ⟨+OT1cmr⟩\DeclareFontShape{OT1}{cmr}{m}{it}%
352 ⟨+Ucmr⟩\DeclareFontShape{U}{cmr}{m}{it}%

353 {%

354 ⟨+ori⟩  <5-7>sub*cmr/m/n%
355 ⟨+ori⟩  <7>cmti7%
356 ⟨−ori⟩  <5><6><7>cmti7%
357  <8>cmti8%
358  <9>cmti9%
359  <10><10.95>cmti10%
360  <12><14.4><17.28><20.74><24.88>cmti12%
361  }{}
362 ⟨+OT1cmr⟩\DeclareFontShape{OT1}{cmr}{m}{sc}%
363 ⟨+Ucmr⟩\DeclareFontShape{U}{cmr}{m}{sc}%

364 {%

365 ⟨+ori⟩  <5-8>sub*cmr/m/n%
366 ⟨+ori⟩  <8><9><10><10.95><12>%
367 ⟨+ori⟩  <14.4><17.28><20.74><24.88>cmcsc10%
368 ⟨−ori⟩  <5><6><7><8><9><10><10.95><12>%
369 ⟨−ori⟩  <14.4><17.28><20.74><24.88>cmcsc10%
370  }{}

Here we try to cure the famous $ → £ bug:

371 ⟨+OT1cmr, Ucmr⟩% Warning: please note that the upright shape below is
372 ⟨+OT1cmr, Ucmr⟩%          used for the \pounds symbol of LaTeX. So this
373 ⟨+OT1cmr, Ucmr⟩%          font definition shouldn't be removed.

374 ⟨+OT1cmr, Ucmr⟩%

375 ⟨+ori⟩%          If cmu below 10pt is not available we substitute
376 ⟨+ori⟩%          cmti as far as possible (sizes 7, 8, 9). This is

377 ⟨+ori⟩%          done because cmu is used mainly for producing the
378 ⟨+ori⟩%          the \pound symbol and it is better to get a slanted
379 ⟨+ori⟩%          (or bigger) pound then to get a $ sign in such
380 ⟨+ori⟩%          situations.
381 ⟨+OT1cmr⟩\DeclareFontShape{OT1}{cmr}{m}{ui}
382 ⟨+Ucmr⟩\DeclareFontShape{U}{cmr}{m}{ui}

383 {

384 ⟨+ori⟩  <7>subf*cmti7%
385 ⟨+ori⟩  <8>subf*cmti8%
386 ⟨+ori⟩  <9>subf*cmti9%
387 ⟨+ori⟩  <10><10.95><12><14.4><17.28><20.74><24.88>cmu10%
388 ⟨−ori⟩  <5><6><7><8><9><10><10.95><12>%
389 ⟨−ori⟩  <14.4><17.28><20.74><24.88>cmu10%
390  }{}
391 ⟨+OT1cmr, Ucmr⟩%%%%%%% bold series
392 ⟨+OT1cmr⟩\DeclareFontShape{OT1}{cmr}{b}{n}
393 ⟨+Ucmr⟩\DeclareFontShape{U}{cmr}{b}{n}%

394 {%

395 ⟨+ori⟩  <-10>sub*cmr/bx/n%
396 ⟨+ori⟩  <10><10.95><12><14.4><17.28><20.74><24.88>cmb10%
397 ⟨−ori⟩  <5><6><7><8><9><10><10.95><12>%
398 ⟨−ori⟩  <14.4><17.28><20.74><24.88>cmb10%
399  }{}
400 ⟨+OT1cmr, Ucmr⟩%%%%%%%% bold extended series
401 ⟨+OT1cmr⟩\DeclareFontShape{OT1}{cmr}{bx}{n}
402 ⟨+Ucmr⟩\DeclareFontShape{U}{cmr}{bx}{n}%

403 {%

404  <5><6><7><8><9>gen*cmbx%
405  <10><10.95>cmbx10%
406  <12><14.4><17.28><20.74><24.88>cmbx12%
407  }{}
408 ⟨+OT1cmr⟩\DeclareFontShape{OT1}{cmr}{bx}{sl}
409 ⟨+Ucmr⟩\DeclareFontShape{U}{cmr}{bx}{sl}%

410 {%

411 ⟨+ori⟩  <-10>sub*cmr/bx/n%
412 ⟨+ori⟩  <10><10.95><12><14.4><17.28><20.74><24.88>cmbxsl10%
413 ⟨−ori⟩  <5><6><7><8><9>%
414 ⟨−ori⟩  <10><10.95><12><14.4><17.28><20.74><24.88>cmbxsl10%
415  }{}
416 ⟨+OT1cmr⟩\DeclareFontShape{OT1}{cmr}{bx}{it}
417 ⟨+Ucmr⟩\DeclareFontShape{U}{cmr}{bx}{it}%

418 {%

419 ⟨+ori⟩  <-10>sub*cmr/bx/n%
420 ⟨+ori⟩  <10><10.95><12><14.4><17.28><20.74><24.88>cmbxti10%
421 ⟨−ori⟩  <5><6><7><8><9>%
422 ⟨−ori⟩  <10><10.95><12><14.4><17.28><20.74><24.88>cmbxti10%
423  }{}
424 ⟨+OT1cmr, Ucmr⟩% Again this is necessary for a correct \pounds symbol in
425 ⟨+OT1cmr, Ucmr⟩% the cmr fonts Hopefully the dc/ec font layout will take

426 ⟨+OT1cmr, Ucmr⟩% over soon.

427 ⟨+OT1cmr, Ucmr⟩%

428 ⟨+OT1cmr⟩\DeclareFontShape{OT1}{cmr}{bx}{ui}
429 ⟨+Ucmr⟩\DeclareFontShape{U}{cmr}{bx}{ui}%
430 ⟨+nowarn⟩  {<->sub*cmr/m/ui}{}
431 ⟨−nowarn⟩  {<->ssub*cmr/m/ui}{}

432 ⟨/OT1cmr, Ucmr⟩

4.2.2 Computer Modern Sans (OT1)

Same game for the Sans family.

433 ⟨∗OT1cmss, Ucmss⟩

434 ⟨+OT1cmss⟩\DeclareFontFamily{OT1}{cmss}{\hyphenchar\font45 }
435 ⟨+Ucmss⟩\DeclareFontFamily{U}{cmss}{\hyphenchar\font45 }
436 ⟨+OT1cmss⟩\DeclareFontShape{OT1}{cmss}{m}{n}
437 ⟨+Ucmss⟩\DeclareFontShape{U}{cmss}{m}{n}%

438 {%

439 ⟨+ori⟩  <-8>sub*cmr/m/n%
440 ⟨+ori⟩  <8>cmss8%
441 ⟨−ori⟩  <5><6><7><8>cmss8%
442  <9>cmss9%
443  <10><10.95>cmss10%
444  <12><14.4>cmss12%
445  <17.28><20.74><24.88>cmss17%
446  }{}
447 ⟨+OT1cmss, Ucmss⟩% Font undefined, therefore substituted
448 ⟨+OT1cmss⟩\DeclareFontShape{OT1}{cmss}{m}{it}
449 ⟨+Ucmss⟩\DeclareFontShape{U}{cmss}{m}{it}%
450 ⟨−nowarn⟩  {<->sub*cmss/m/sl}{}
451 ⟨+nowarn⟩  {<->ssub*cmss/m/sl}{}
452 ⟨+OT1cmss⟩\DeclareFontShape{OT1}{cmss}{m}{sl}
453 ⟨+Ucmss⟩\DeclareFontShape{U}{cmss}{m}{sl}%

454 {%

455 ⟨+ori⟩  <-8>sub*cmss/m/n%
456 ⟨+ori⟩  <8><9>gen*cmssi%
457 ⟨−ori⟩  <5><6><7><8>cmssi8<9>cmssi9%
458  <10><10.95>cmssi10%
459  <12><14.4>cmssi12%
460  <17.28><20.74><24.88>cmssi17%
461  }{}
462 ⟨+OT1cmss, Ucmss⟩%%%%%%% Font/shape undefined, therefore substituted
463 ⟨+OT1cmss⟩\DeclareFontShape{OT1}{cmss}{m}{sc}
464 ⟨+Ucmss⟩\DeclareFontShape{U}{cmss}{m}{sc}%
465  {<->sub*cmr/m/sc}{}
466 ⟨+OT1cmss, Ucmss⟩%%%%%%% Font/shape undefined, therefore substituted
467 ⟨+OT1cmss⟩\DeclareFontShape{OT1}{cmss}{m}{ui}
468 ⟨+Ucmss⟩\DeclareFontShape{U}{cmss}{m}{ui}%
469  {<->sub*cmr/m/ui}{}
470 ⟨+OT1cmss, Ucmss⟩%%%%%%%% semibold condensed series
471 ⟨+OT1cmss⟩\DeclareFontShape{OT1}{cmss}{sbc}{n}

472 ⟨+Ucmss⟩\DeclareFontShape{U}{cmss}{sbc}{n}%

473 {%

474 ⟨+ori⟩  <-10>sub*cmss/m/n%
475 ⟨−ori⟩  <5><6><7><8><9>cmssdc10%
476  <10><10.95><12><14.4><17.28><20.74><24.88>cmssdc10%
477  }{}

478

479 ⟨+OT1cmss, Ucmss⟩%%%%%%%%% bold extended series
480 ⟨+OT1cmss⟩\DeclareFontShape{OT1}{cmss}{bx}{n}
481 ⟨+Ucmss⟩\DeclareFontShape{U}{cmss}{bx}{n}%

482 {%

483 ⟨+ori⟩  <-10>sub*cmss/m/n%
484 ⟨−ori⟩  <5><6><7><8><9>cmssbx10%
485  <10><10.95><12><14.4><17.28><20.74><24.88>cmssbx10%
486  }{}
487 ⟨+OT1cmss, Ucmss⟩%%%%%%% Font/shape undefined, therefore substituted
488 ⟨+OT1cmss⟩\DeclareFontShape{OT1}{cmss}{bx}{ui}
489 ⟨+Ucmss⟩\DeclareFontShape{U}{cmss}{bx}{ui}%
490  {<->sub*cmr/bx/ui}{}

491 ⟨/OT1cmss, Ucmss⟩

4.2.3 Computer Modern Typewriter (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.

492 ⟨∗OT1cmtt, Ucmtt⟩

493 ⟨+OT1cmtt⟩\DeclareFontFamily{OT1}{cmtt}{\hyphenchar \font\m@ne}
494 ⟨+Ucmtt⟩\DeclareFontFamily{U}{cmtt}{\hyphenchar \font\m@ne}
495 ⟨+OT1cmtt⟩\DeclareFontShape{OT1}{cmtt}{m}{n}
496 ⟨+Ucmtt⟩\DeclareFontShape{U}{cmtt}{m}{n}%

497 {%

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.

498 ⟨+ori⟩  <-8>sub*cmr/m/n%
499 ⟨+ori⟩  <8><9>gen*cmtt%
500 ⟨−ori⟩  <5><6><7><8>cmtt8<9>cmtt9%
501  <10><10.95>cmtt10%
502  <12><14.4><17.28><20.74><24.88>cmtt12%
503  }{}
504 ⟨+OT1cmtt, Ucmtt⟩%%%%%% make sure subst shapes are available
505 ⟨+OT1cmtt⟩\DeclareFontShape{OT1}{cmtt}{m}{it}
506 ⟨+Ucmtt⟩\DeclareFontShape{U}{cmtt}{m}{it}%

507 {%

The following substitution however is okay since both fonts have the same encoding.

508 ⟨+ori⟩  <-10>sub*cmtt/m/n%

509 ⟨−ori⟩  <5><6><7><8><9>%
510  <10><10.95><12><14.4><17.28><20.74><24.88>cmitt10%
511  }{}
512 ⟨+OT1cmtt⟩\DeclareFontShape{OT1}{cmtt}{m}{sl}
513 ⟨+Ucmtt⟩\DeclareFontShape{U}{cmtt}{m}{sl}%

514 {%

515 ⟨+ori⟩  <-10>sub*cmtt/m/n%
516 ⟨−ori⟩  <5><6><7><8><9>%
517  <10><10.95><12><14.4><17.28><20.74><24.88>cmsltt10%
518  }{}
519 ⟨+OT1cmtt⟩\DeclareFontShape{OT1}{cmtt}{m}{sc}
520 ⟨+Ucmtt⟩\DeclareFontShape{U}{cmtt}{m}{sc}%

521 {%

522 ⟨+ori⟩  <-10>sub*cmtt/m/n%
523 ⟨−ori⟩  <5><6><7><8><9>%
524  <10><10.95><12><14.4><17.28><20.74><24.88>cmtcsc10%
525  }{}
526 ⟨+OT1cmtt⟩\DeclareFontShape{OT1}{cmtt}{m}{ui}
527 ⟨+Ucmtt⟩\DeclareFontShape{U}{cmtt}{m}{ui}%
528 ⟨−nowarn⟩ {<->sub*cmtt/m/it}{}
529 ⟨+nowarn⟩ {<->ssub*cmtt/m/it}{}
530 ⟨+OT1cmtt⟩\DeclareFontShape{OT1}{cmtt}{bx}{n}
531 ⟨+Ucmtt⟩\DeclareFontShape{U}{cmtt}{bx}{n}%
532 ⟨−nowarn⟩ {<->sub*cmtt/m/n}{}
533 ⟨+nowarn⟩ {<->ssub*cmtt/m/n}{}
534 ⟨+OT1cmtt⟩\DeclareFontShape{OT1}{cmtt}{bx}{it}
535 ⟨+Ucmtt⟩\DeclareFontShape{U}{cmtt}{bx}{it}%
536 ⟨−nowarn⟩ {<->sub*cmtt/m/it}{}
537 ⟨+nowarn⟩ {<->ssub*cmtt/m/it}{}
538 ⟨+OT1cmtt⟩\DeclareFontShape{OT1}{cmtt}{bx}{ui}
539 ⟨+Ucmtt⟩\DeclareFontShape{U}{cmtt}{bx}{ui}%
540 ⟨−nowarn⟩ {<->sub*cmtt/m/it}{}
541 ⟨+nowarn⟩ {<->ssub*cmtt/m/it}{}

542 ⟨/OT1cmtt, Ucmtt⟩

4.2.4 Computer Modern Variable Typewriter (OT1)

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.

543 ⟨∗OT1cmvtt⟩

544 \DeclareFontFamily{OT1}{cmvtt}{\hyphenchar\font45 }
545 \DeclareFontShape{OT1}{cmvtt}{m}{n}%

546 {%

547  <5><6><7><8><9><10><10.95>%
548  <12><14.4><17.28><20.74><24.88>cmvtt10%
549  }{}

This font is probably not available to everybody as it is not part of the standard distribution. One might find it in .../systems/knuth/local on CTAN.

550 \DeclareFontShape{OT1}{cmvtt}{m}{it}%

551 {%

552  <5><6><7><8><9><10><10.95>%
553  <12><14.4><17.28><20.74><24.88>cmvtti10%
554  }{}

555 ⟨/OT1cmvtt⟩

4.2.5 Computer Modern Funny (OT1)

556 ⟨∗OT1cmfr⟩

557 \DeclareFontFamily{OT1}{cmfr}{\hyphenchar\font45 }
558 \DeclareFontShape{OT1}{cmfr}{m}{n}{%
559  <10>cmff10%
560  }{}
561 \DeclareFontShape{OT1}{cmfr}{m}{it}{%
562  <10>cmfi10%
563  }{}

564 ⟨/OT1cmfr⟩

4.2.6 Computer Modern Dunhill (OT1)

565 ⟨∗OT1cmdh⟩

566 \DeclareFontFamily{OT1}{cmdh}{\hyphenchar\font45 }
567 \DeclareFontShape{OT1}{cmdh}{m}{n}{%
568  <10>cmdunh10%
569  }{}

570 ⟨/OT1cmdh⟩

4.2.7 Computer Modern Fibonacci (OT1)

571 ⟨∗OT1cmfib⟩

572 \DeclareFontFamily{OT1}{cmfib}{\hyphenchar\font45 }
573 \DeclareFontShape{OT1}{cmfib}{m}{n}{%
574  <8>cmfib8%
575  }{}

576 ⟨/OT1cmfib⟩

4.3 Math fonts

4.3.1 Computer Modern Math italics

577 ⟨∗OMLcmm⟩

578 \DeclareFontFamily{OML}{cmm}{\skewchar\font127 }
579 \DeclareFontShape{OML}{cmm}{m}{it}%
580  {<5><6><7><8><9>gen*cmmi%
581  <10><10.95>cmmi10%
582  <12><14.4><17.28><20.74><24.88>cmmi12%
583  }{}
584 \DeclareFontShape{OML}{cmm}{b}{it}{%
585  <5><6><7><8><9>gen*cmmib%

586  <10><10.95><12><14.4><17.28><20.74><24.88>cmmib10%
587  }{}

This will allow the \oldstylenums command to work within \textbf.

588 \DeclareFontShape{OML}{cmm}{bx}{it}%
589 {<->ssub*cmm/b/it}{}

590 ⟨/OMLcmm⟩

4.3.2 Computer Modern Roman Math italics

Some text symbols like ‘oo’ and ‘<’ are kept in the OML encoding, so we need font substititutions from OML/cmr to OML/cmm.

591 ⟨∗OMLcmr⟩

592 \DeclareFontFamily{OML}{cmr}{\skewchar\font127 }
593 \DeclareFontShape{OML}{cmr}{m}{n}%
594 {<->ssub*cmm/m/it}{}
595 \DeclareFontShape{OML}{cmr}{m}{it}%
596 {<->ssub*cmm/m/it}{}
597 \DeclareFontShape{OML}{cmr}{m}{sl}%
598 {<->ssub*cmm/m/it}{}
599 \DeclareFontShape{OML}{cmr}{m}{sc}%
600 {<->ssub*cmm/m/it}{}
601 \DeclareFontShape{OML}{cmr}{bx}{n}%
602 {<->ssub*cmm/b/it}{}
603 \DeclareFontShape{OML}{cmr}{bx}{it}%
604 {<->ssub*cmm/b/it}{}
605 \DeclareFontShape{OML}{cmr}{bx}{sl}%
606 {<->ssub*cmm/b/it}{}
607 \DeclareFontShape{OML}{cmr}{bx}{sc}%
608 {<->ssub*cmm/b/it}{}

609 ⟨/OMLcmr⟩

4.3.3 Computer Modern Math symbols

610 ⟨∗OMScmsy⟩

611 \DeclareFontFamily{OMS}{cmsy}{\skewchar\font48 }
612 \DeclareFontShape{OMS}{cmsy}{m}{n}{%
613  <5><6><7><8><9><10>gen*cmsy%
614  <10.95><12><14.4><17.28><20.74><24.88>cmsy10%
615  }{}
616 \DeclareFontShape{OMS}{cmsy}{b}{n}{%
617  <5><6><7><8><9>gen*cmbsy%
618  <10><10.95><12><14.4><17.28><20.74><24.88>cmbsy10%
619  }{}

620 ⟨/OMScmsy⟩

4.3.4 Computer Modern Roman Math symbols

Some text symbols like ‘¶’ and ‘†’ are kept in the OMS encoding, so we need font substititutions from OMS/cmr to OMS/cmsy.

621 ⟨∗OMScmr⟩

622 \DeclareFontFamily{OMS}{cmr}{\skewchar\font48 }
623 \DeclareFontShape{OMS}{cmr}{m}{n}%
624 {<->ssub*cmsy/m/n}{}
625 \DeclareFontShape{OMS}{cmr}{m}{it}%
626 {<->ssub*cmsy/m/n}{}
627 \DeclareFontShape{OMS}{cmr}{m}{sl}%
628 {<->ssub*cmsy/m/n}{}
629 \DeclareFontShape{OMS}{cmr}{m}{sc}%
630 {<->ssub*cmsy/m/n}{}
631 \DeclareFontShape{OMS}{cmr}{bx}{n}%
632 {<->ssub*cmsy/b/n}{}
633 \DeclareFontShape{OMS}{cmr}{bx}{it}%
634 {<->ssub*cmsy/b/n}{}
635 \DeclareFontShape{OMS}{cmr}{bx}{sl}%
636 {<->ssub*cmsy/b/n}{}
637 \DeclareFontShape{OMS}{cmr}{bx}{sc}%
638 {<->ssub*cmsy/b/n}{}

639 ⟨/OMScmr⟩

4.3.5 Computer Modern large symbols

640 ⟨∗OMXcmex⟩

641 \DeclareFontFamily{OMX}{cmex}{}
642 \DeclareFontShape{OMX}{cmex}{m}{n}{%
643 <->sfixed*cmex10%
644 }{}

645 ⟨/OMXcmex⟩

4.3.6 Concrete Roman

646 ⟨∗OT1ccr⟩

647 \DeclareFontFamily{OT1}{ccr}{\hyphenchar\font45 }
648 \DeclareFontShape{OT1}{ccr}{m}{n}{%
649 <5><6><7><8><9><10>gen*ccr%
650 <10.95><12><14.4><17.28><20.74><24.88>ccr10}{}
651 \DeclareFontShape{OT1}{ccr}{m}{it}{%
652 <10><10.95><12>ccti10}{}
653 \DeclareFontShape{OT1}{ccr}{m}{sc}{%
654 <10><10.95><12>cccsc10}{}
655 \DeclareFontShape{OT1}{ccr}{m}{sl}{%
656 <9>ccsl9%
657 <10><10.95><12>ccsl10}{}
658 \DeclareFontShape{OT1}{ccr}{c}{sl}{<9>ccslc9}{}

Finally a few substitution fonts for combinations not available.

659 \DeclareFontShape{OT1}{ccr}{bx}{n}%
660  {<->sub*cmr/bx/n}{}
661 \DeclareFontShape{OT1}{ccr}{bx}{sl}%
662  {<->sub*cmr/bx/sl}{}
663 \DeclareFontShape{OT1}{ccr}{bx}{it}%
664  {<->sub*cmr/bx/it}{}

665 ⟨/OT1ccr⟩

4.3.7 Concrete Roman math italic

666 ⟨∗OMLccm⟩

667 \DeclareFontFamily{OML}{ccm}{\skewchar\font127 }
668 \DeclareFontShape{OML}{ccm}{m}{it}{%
669 <10><10.95><12>ccmi10}{}

670 ⟨/OMLccm⟩

4.3.8 Computer Modern Roman in 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.

671 ⟨∗OT2cmr⟩

672 \DeclareFontFamily{OT2}{cmr}{\hyphenchar\font45 }
673 \DeclareFontShape{OT2}{cmr}{m}{n}{%
674 <5><6><7><8><9>gen*wncyr%
675 <10><10.95><12><14.4><17.28><20.74><24.88>wncyr10}{}
676 \DeclareFontShape{OT2}{cmr}{m}{it}{%
677 <5><6><7><8><9>gen*wncyi%
678 <10><10.95><12><14.4><17.28><20.74><24.88>wncyi10}{}
679 \DeclareFontShape{OT2}{cmr}{m}{sc}{%
680 <5><6><7><8><9><10><10.95><12><14.4>%
681 <17.28><20.74><24.88>wncysc10}{}
682 ⟨+OT2cmr⟩%%%%%%%%%%%%% bold series
683 \DeclareFontShape{OT2}{cmr}{b}{n}{%
684 <5><6><7><8><9>gen*wncyb%
685 <10><10.95><12><14.4><17.28><20.74><24.88>wncyb10}{}

686 ⟨/OT2cmr⟩

4.3.9 Computer Modern Sans in OT2 encoding

Some more fonts from the University of Washington.

687 ⟨∗OT2cmss⟩

688 \DeclareFontFamily{OT2}{cmss}{\hyphenchar\font45 }
689 \DeclareFontShape{OT2}{cmss}{m}{n}{%
690 <8><9>gen*wncyss%
691 <10><10.95><12><14.4><17.28><20.74><24.88>wncyss10}{}

692 ⟨/OT2cmss⟩

The next line goes into all files and in addition prevents docstrip from adding any further code from the main source file (such as a character table.

693 \endinput