blob: c207308e2c0ac1b260a0384cb23c951b0fd42461 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
|
% OFS: The default text families + math families
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Jun 2001 Petr Olsak
% You cannot \input this file because this file is \inputted automatically.
% See ofsdoc.tex for more details
\ifx\ofsdeclarefamily\undefined
\errmessage{You can't \string\input\space the file ofssdef.tex
directly from your document%
}
\endinput \fi
\protectreading ofsdef.tex % This is part of OFS package
%%% Computer Roman family %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\defaultextraenc{8c} % You can re-define this macro before
% \setfonts in order to change
% extra encoding of default families
\ofsputfamlist {^^Jdefaults:}
\ofsdeclarefamily [CMRoman] {% ------------ Computer Modern Roman
\loadtextfam cmr\fotenc;%
cmbx\fotenc;%
cmti\fotenc;%
cmbxti\fotenc;\defaultextraenc;%
\newvariant8 \sl (Slanted) cmsl\fotenc;\defaultextraenc;%
\newvariant9 \bxsl (BoldSlanted) cmbxsl\fotenc;\defaultextraenc;%
\modifyenc 8z:csfont;%
}
\registerenc: 8z \registerenc: 8t
\registerenc: 6a
\ofsdeclarefamily [CMSans] {% ------------- Computer Modern Sans Serif
\loadtextfam cmss\fotenc;%
cmssbx\fotenc;%
cmssi\fotenc;%
cmssbxti\fotenc;\defaultextraenc;%
\modifyenc 8z:csfont;%
}
\registerenc: 8z \registerenc: 8t
\registerenc: 6a
\ofsdeclarefamily [CMTypewriter] {% ------- Computer Modern Typewriter
\loadtextfam cmtt\fotenc;%
cmttbx\fotenc;%
cmitt\fotenc;%
cmttbxti\fotenc;\defaultextraenc;%
\newvariant8 \sl (Slanted) cmsltt\fotenc;\defaultextraenc;%
\modifyenc 8z:csfont;%
\modifyenc 8z:nocrossL;%
}
\registerenc: 8z \registerenc: 8t
\registerenc: 6a
%%%% Math fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\registertfm cmsy - cmsy10
\registertfm cmsy 0pt-6pt cmsy5
\registertfm cmsy 6pt-7pt cmsy6
\registertfm cmsy 7pt-8pt cmsy7
\registertfm cmsy 8pt-9pt cmsy8
\registertfm cmsy 9pt-10pt cmsy9
\registertfm cmsy 10pt-* cmsy10
\registertfm cmmi - cmmi10
\registertfm cmmi 0pt-6pt cmmi5
\registertfm cmmi 6pt-7pt cmmi6
\registertfm cmmi 7pt-8pt cmmi7
\registertfm cmmi 8pt-9pt cmmi8
\registertfm cmmi 9pt-10pt cmmi9
\registertfm cmmi 10pt-12pt cmmi10
\registertfm cmmi 12pt-* cmmi12
%%%% CSfonts (encoding: 8z) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\registertfm cmr8z - csr10
\registertfm cmr8z 0pt-6pt csr5
\registertfm cmr8z 6pt-7pt csr6
\registertfm cmr8z 7pt-8pt csr7
\registertfm cmr8z 8pt-9pt csr8
\registertfm cmr8z 9pt-10pt csr9
\registertfm cmr8z 10pt-12pt csr10
\registertfm cmr8z 12pt-17pt csr12
\registertfm cmr8z 17pt-* csr17
\registertfm cmbx8z - csbx10
\registertfm cmbx8z 0pt-6pt csbx5
\registertfm cmbx8z 6pt-7pt csbx6
\registertfm cmbx8z 7pt-8pt csbx7
\registertfm cmbx8z 8pt-9pt csbx8
\registertfm cmbx8z 9pt-10pt csbx9
\registertfm cmbx8z 10pt-12pt csbx10
\registertfm cmbx8z 12pt-* csbx12
\registertfm cmti8z - csti10
\registertfm cmti8z 0pt-8pt csti7
\registertfm cmti8z 8pt-9pt csti8
\registertfm cmti8z 9pt-10pt csti9
\registertfm cmti8z 10pt-12pt csti10
\registertfm cmti8z 12pt-17pt csti12
\registertfm cmti8z 17pt-* csti17
\registertfm cmbxti8z - csbxti10
\registertfm cmbxti8z 0pt-12pt csbxti10
\registertfm cmbxti8z 12pt-17pt csbxti12
\registertfm cmbxti8z 17pt-* csbxti17
\registertfm cmsl8z - cssl10
\registertfm cmsl8z 0pt-6pt cssl5
\registertfm cmsl8z 6pt-7pt cssl6
\registertfm cmsl8z 7pt-8pt cssl7
\registertfm cmsl8z 8pt-9pt cssl8
\registertfm cmsl8z 9pt-10pt cssl9
\registertfm cmsl8z 10pt-12pt cssl10
\registertfm cmsl8z 12pt-17pt cssl12
\registertfm cmsl8z 17pt-* cssl17
\registertfm cmbxsl8z - csbxsl10
\registertfm cmsltt8z - cssltt10
\registertfm cmss8z - csss10
\registertfm cmss8z 0pt-9pt csss8
\registertfm cmss8z 9pt-10pt csss9
\registertfm cmss8z 10pt-12pt csss10
\registertfm cmss8z 12pt-17pt csss12
\registertfm cmss8z 17pt-* csss17
\registertfm cmssbx8z - csssbx10
\registertfm cmssi8z - csssi10
\registertfm cmssi8z 0pt-9pt csssi8
\registertfm cmssi8z 9pt-10pt csssi9
\registertfm cmssi8z 10pt-12pt csssi10
\registertfm cmssi8z 12pt-17pt csssi12
\registertfm cmssi8z 17pt-* csssi17
\registertfm cmtt8z - cstt10
\registertfm cmtt8z 0pt-9pt cstt8
\registertfm cmtt8z 9pt-10pt cstt9
\registertfm cmtt8z 10pt-12pt cstt10
\registertfm cmtt8z 12pt-* cstt12
\registertfm cmitt8z - csitt10
%%% unavailable in cm*8z :-(
\registertfm cmssbxti8z - -
\registertfm cmttbx8z - -
\registertfm cmttbxti8z - -
%%%% EC fonts %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\registerECfont #1 #2 {%
\registertfm #1 - #21000
\registertfm #1 0pt-6pt #20500
\registertfm #1 6pt-7pt #20600
\registertfm #1 7pt-8pt #20700
\registertfm #1 8pt-9pt #20800
\registertfm #1 9pt-10pt #20900
\registertfm #1 10pt-10.95pt #21000
\registertfm #1 10.95pt-12pt #21095
\registertfm #1 12pt-14.4pt #21200
\registertfm #1 14.4pt-17.28pt #21440
\registertfm #1 17.28pt-20.74pt #21728
\registertfm #1 20.74pt-24.88pt #22074
\registertfm #1 24.88pt-29.86pt #22488
\registertfm #1 29.86pt-35.83pt #22986
\registertfm #1 35.83pt-* #23583
}
\def\registerECTTfont #1 #2 {%
\registertfm #1 - #21000
\registertfm #1 0pt-9pt #20800
\registertfm #1 9pt-10pt #20900
\registertfm #1 10pt-10.95pt #21000
\registertfm #1 10.95pt-12pt #21095
\registertfm #1 12pt-14.4pt #21200
\registertfm #1 14.4pt-17.28pt #21440
\registertfm #1 17.28pt-20.74pt #21728
\registertfm #1 20.74pt-24.88pt #22074
\registertfm #1 24.88pt-29.86pt #22488
\registertfm #1 29.86pt-35.83pt #22986
\registertfm #1 35.83pt-* #23583
}
\registerECfont cmr8t ecrm
\registerECfont cmbx8t ecbx
\registerECfont cmti8t ecti
\registerECfont cmbxti8t ecbi
\registerECfont cmsl8t ecsl
\registerECfont cmbxsl8t ecbl
\registerECfont cmss8t ecss
\registerECfont cmssbx8t ecsx
\registerECfont cmssi8t ecsi
\registerECfont cmssbxti8t ecso
\registerECTTfont cmtt8t ectt
\registerECTTfont cmitt8t ecit
\registerECTTfont cmsltt8t ecst
\registertfm cmttbx8t - -
\registertfm cmttbxti8t - -
\registerECfont cmr8c tcrm
\registerECfont cmbx8c tcbx
\registerECfont cmti8c tcti
\registerECfont cmbxti8c tcbi
\registerECfont cmsl8c tcsl
\registerECfont cmbxsl8c tcbl
\registerECfont cmss8c tcss
\registerECfont cmssbx8c tcsx
\registerECfont cmssi8c tcsi
\registerECfont cmssbxti8c tcso
\registerECTTfont cmtt8c tctt
\registerECTTfont cmitt8c tcit
\registerECTTfont cmsltt8c tcst
%%%% Times, Helvetica, Courier %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\setfontshook {\let\TeX=\origTeX}
\let\origTeX=\TeX
\let\plainL=\L % used in ofs-8z.tex
\ofsdeclarefamily [Times] {% -------------- Times Roman
\loadtextfam (Roman) ptmr\fotenc;%
ptmb\fotenc;%
ptmri\fotenc;%
ptmbi\fotenc;\defaultextraenc;%
\def\TeX{T\kern-.1667em\lower.3333ex\hbox{E}\kern-.125emX}%
\modifyenc 8z:badaccents;%
\modifyenc 8t:losschars;%
\modifyenc 8c:poor;%
}
\registerenc: 8z \registerenc: 8t
\ofsdeclarefamily [Helvetica] {% ---------- Helvetica
\loadtextfam phvr\fotenc;%
phvb\fotenc;%
(Oblique) phvro\fotenc;%
(BoldOblique) phvbo\fotenc;\defaultextraenc;%
\newvariant0 \nrm (Narrow) phvr\fotenc n;;%
\newvariant1 \nbf (NarrowBold) phvb\fotenc n;;%
\newvariant2 \nit (NarrowOblique) phvro\fotenc n;;%
\newvariant3 \nbi (NarrowBoldOblique) phvbo\fotenc n;;%
\def\TeX{T\kern-.12em\lower.4ex\hbox{E}\kern-0.09emX}%
\modifyenc 8z:badaccents;%
\modifyenc 8t:losschars;%
\modifyenc 8c:poor;%
}
\registerenc: 8z \registerenc: 8t
\registertfm phvr8zn - phvrn8z %% There is a bug in cspsfonts:
\registertfm phvb8zn - phvbn8z %% standard metric name: phvr8zn
\registertfm phvro8zn - phvron8z %% real metric name: phvrn8z
\registertfm phvbo8zn - phvbon8z
\ofsdeclarefamily [Courier] {% ------------ Courier
\loadtextfam pcrr\fotenc;%
pcrb\fotenc;%
(Oblique) pcrro\fotenc;%
(BoldOblique) pcrbo\fotenc;\defaultextraenc;%
\let\TeX=\origTeX
\modifyenc 8z:badaccents;%
\modifyenc 8t:losschars;%
\modifyenc 8c:poor;%
}
\registerenc: 8z \registerenc: 8t
\registertfm pcrr8z - pcrr8u
\registertfm pcrb8z - pcrb8u
\registertfm pcrro8z - pcrro8u
\registertfm pcrbo8z - pcrbo8u
%%%% Math families %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\def\loadPSnormalmath{%
\loadmathfam 0[-rm/]% Actual Roman font
\loadmathfam 1[-it/]% Actual Italic font
\defaultskewchar=48
\loadmathfam 2[/cmsy]% Standard symbols from CM
\defaultskewchar=-1
\noindexsize\loadmathfam 3[tenex/]% Standard extra symbols from CM
\chardef\symbfam 4
\loadmathfam \symbfam [/psyr]% PostScript Symbol
\chardef\symbofam 5
\loadmathfam \symbofam [/psyro]% PostScript Symbol Oblique
\chardef\bffam 6
\loadmathfam \bffam [-bf/]% Actual Bold font
\chardef\bifam 7
\loadmathfam \bifam [-bi/]% Actual Bold Italic
\lastfam = 7
\chardef\itfam 1
\let\slfam\undefined \let\ttfam\undefined
\setfosize \tmpa mag1.44:%
\font \bigsymbofont=psyr \tmpa% Big variant for \displaysize
\fontloadmessage{bigsymbofont}{psyr\space\tmpa}%
}
\def\loadPSboldmath{%
\loadmathfam 0[-bf/]% Actual Bold font
\loadmathfam 1[-bi/]% Actual Bold-Italic font
\defaultskewchar=48
\loadmathfam 2[/cmbsy]% Bold symbols from CM
\defaultskewchar=-1
\noindexsize\loadmathfam 3[tenex/]% Standard extra symbols from CM
\chardef\symbfam 4
\loadmathfam \symbfam [/psyr]% PostScript Symbol
\chardef\symbofam 5
\loadmathfam \symbofam [/psyro]% PostScript Symbol Oblique
\lastfam = 7 % needs to be the same as in normal version
\chardef\itfam 1
\chardef\bifam 1
\chardef\bffam 0
\let\slfam\undefined \let\ttfam\undefined
\setfosize \tmpa mag1.44:%
\font \bigsymbofont=psyr \tmpa% Big variant for \displaysize
\fontloadmessage{bigsymbofont}{psyr\space\tmpa}%
}
\def\loadCMnormalmath{%
\loadmathfam 0[/cmr8z]% Roman font
\defaultskewchar=128
\loadmathfam 1[/cmmi]% Math Italic font
\defaultskewchar=48
\loadmathfam 2[/cmsy]% Standard symbols from CM
\defaultskewchar=-1
\noindexsize\loadmathfam 3[/cmex]% Standard extra symbols from CM
\chardef\itfam 4
\noindexsize\loadmathfam \itfam [/cmti\fotenc]% Text Italic
\chardef\slfam 5
\noindexsize\loadmathfam \slfam [/cmsl\fotenc]% Slanted
\chardef\bffam 6
\loadmathfam \bffam [/cmbx\fotenc]% Bold font
\chardef\ttfam 7
\noindexsize\loadmathfam \ttfam [/cmtt\fotenc]% TypeWriter
\lastfam =7
}
\def\loadCMboldmath{%
\loadmathfam 0[/cmbx8z]% Roman font
\defaultskewchar=127
\loadmathfam 1[/cmmib]% Math Italic font
\defaultskewchar=48
\loadmathfam 2[/cmbsy]% Standard symbols from CM
\defaultskewchar=-1
\noindexsize\loadmathfam 3[/cmex]% Standard extra symbols from CM
\chardef\itfam 4
\noindexsize\loadmathfam \itfam [/cmbxti\fotenc]% Text Italic
\chardef\slfam 5
\noindexsize\loadmathfam \slfam [/cmbxsl\fotenc]% Slanted
\chardef\bffam 6
\loadmathfam \bffam [/cmbx\fotenc]% Bold font
\chardef\ttfam 7
\noindexsize\loadmathfam \ttfam [/cmtt\fotenc]% TypeWriter
\lastfam =7
}
\def\setPSmathchars{\mathencread ofs-ps;}
\let\setCMmathchars=\relax % We need not do any work
%% No size differences in standard CM fonts:
\registertfm cmbsy - cmbsy10
\registertfm cmex - cmex10
\registertfm cmmib - cmmib10
%%%% Math defaults %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\ifx \fomenc\undefined \def\fomenc{PS}\fi
\def\mathversion{normal}
\def\defaultmathfonts{%
\expandafter \ifx \csname load\fomenc\mathversion math\endcsname \relax
\message{\ofsmessageheader WARNING:
\string\fomenc=\fomenc\space -- undeclared font-set,
I use \string\def\string\fomenc{PS}}
\def\fomenc{PS}%
\fi
\csname load\fomenc\mathversion math\endcsname}
\def\defaultmathchars{\csname set\fomenc mathchars\endcsname}
\let\mathcharsback=\relax
\def\mathfonts{\defaultmathfonts}
\def\mathchars{\defaultmathchars}
%%%% \ofshexbox is more intelligent alternative to \mathhexbox
\ofshexboxdef 2 {cmsy}{cmbsy10}{cmsy}{cmbsy10}
% only fam2 is declared because only \mathhexbox2.. is used in plain
\def\ofscopyright{{\ooalign{\hfil\raise.07ex\hbox{c}\hfil\crcr\ofshexbox20D}}}
%%%% \dots macro (is defined via math mode in original plain) %%%%
\def\dots{.% this dot may be kerned with previous character and it
\ifmmode % protects the \dots macro in \halign data
\mathinner{\ldotp\ldotp}%
\else
\ifdim\fontdimen3\font=0pt % may be non-proporcional font
..%
\else
\kern.5\fontdimen2\font
.\kern.5\fontdimen2\font
.\kern.5\fontdimen2\font
\fi\fi
}
\endinput
|