Penguin
Annotated edit history of mf(1) version 2 showing authors affecting page license. View with all changes included.
Rev Author # Line
1 perry 1 MF
2 !!!MF
3 NAME
4 SYNOPSIS
5 DESCRIPTION
6 ONLINE GRAPHICS OUTPUT
7 OPTIONS
8 ENVIRONMENT
9 FONT UTILITIES
10 FILES
11 SUGGESTED READING
12 COMMENTS
13 SEE ALSO
14 BUGS
15 AUTHORS
16 ----
17 !!NAME
18
19
20 mf, mfw, inimf, virmf - Metafont, a language for font and logo design
21 !!SYNOPSIS
22
23
24 __mf__ [[''options''] [[''commands'']
25 !!DESCRIPTION
26
27
28 This manual page is not meant to be exhaustive. The complete
29 documentation for this version of TEX can be found in the
30 info file or manual ''Web2C: A TeX
31 implementation''.
32
33
34 M ETAFONT reads the program in the specified
35 files and outputs font rasters (in ''gf'' format) and
36 font metrics (in ''tfm'' format). The M
37 ETAFONT language is described in ''The M
38 ETAFONT book''.
39
40
41 Like TEX, M ETAFONT is normally used with a
42 large body of precompiled macros, and font generation in
43 particular requires the support of several macro files. This
44 version of M ETAFONT looks at its command
45 line to see what name it was called under. Both __inimf__
46 and __virmf__ are symlinks to the __mf__ executable.
47 When called as __inimf__ (or when the __--ini__ option
48 is given) it can be used to precompile macros into a
49 ''.base'' file. When called as __virmf__ it will use
50 the ''plain'' base. When called under any other name, M
51 ETAFONT will use that name as the name of the
52 base to use. For example, when called as __mf__ the
53 ''mf'' base is used, which is identical to the
54 ''plain'' base. Other bases than ''plain'' are rarely
55 used.
56
57
58 The ''commands'' given on the command line to the M
59 ETAFONT program are passed to it as the first
60 input line. (But it is often easier to type extended
61 arguments as the first input line, since UNIX shells tend to
62 gobble up or misinterpret M ETAFONT 's
63 favorite symbols, like semicolons, unless you quote them.)
64 As described in ''The M ETAFONT book'',
65 that first line should begin with a filename, a
66 \''controlsequence'', or a
67 ''''.
68
69
70 The normal usage is to say
71
72
73 __mf__ 'mode=
74 __n'');]' input ''font''
75
76
77 to start processing ''font.mf''. The single quotes are
78 the best way of keeping the Unix shell from misinterpreting
79 the semicolons and from removing the \ character, which is
80 needed here to keep M ETAFONT from thinking
81 that you want to produce a font called ''mode''. (Or you
82 can just say ''mf'' and give the other stuff on the next
83 line, without quotes.) Other control sequences, such as
84 ''batchmode'' (for silent operation) can also appear. The
85 name ''font'' will be the ``jobname'', and is used in
86 forming output file names. If M ETAFONT
87 doesn't get a file name in the first line, the jobname is
88 ''mfput''. The default extension, ''.mf'', can be
89 overridden by specifying an extension
90 explicitly.
91
92
93 A log of error messages goes into the file
94 ''jobname''__.__''log''. The output files are
95 ''jobname''__.__''tfm'' and
96 ''jobname''__.__''''number'''', where
97 ''mode'' in this example is shown
98 generically as
99 ''localfont'' (see below) must be substituted. If
100 the mode is not specified or is not valid for your site, M
101 ETAFONT will default to ''proof'' mode
102 which produces large character images for use in font design
103 and refinement. Proof mode can be recognized by the suffix
104 ''.2602gf'' after the jobname. Examples of proof mode
105 output can be found in ''Computer Modern Typefaces''
106 (Volume E of ''Computers and Typesetting''). The system
107 of ''magsteps'' is identical to the system used by TEX,
108 with values generally in the range 0.5, 1.0, 2.0, 3.0, 4.0
109 and 5.0. A listing of ''gf'' numbers for 118-dpi, 240-dpi
110 and 300-dpi fonts is shown below.
111
112
113 MAGSTEP 118 dpi 240 dpi 300 dpi
114 mag=magstep(0) 118 240 300
115 mag=magstep(0.5) 129 263 329
116 mag=magstep(1) 142 288 360
117 mag=magstep(2) 170 346 432
118 mag=magstep(3) 204 415 518
119 mag=magstep(4) 245 498 622
120 mag=magstep(5) 294 597 746
121 Magnification can also be specified not as a magstep but as an arbitrary value, such as 1.315, to create special character sizes.
122
123
124 Before font production can begin, it is necessary to set up
125 the appropriate base files. The minimum set of components
126 for font production for a given print-engine is the
127 ''plain.mf'' macro file and the local ''mode_def''
128 file. The macros in ''plain.mf'' can be studied in an
129 appendix to the ''M ETAFONT book''; they
130 were developed by Donald E. Knuth, and this file should
131 never be altered except when it is officially upgraded. Each
132 ''mode_def'' specification helps adapt fonts to a
133 particular print-engine. There is a regular discussion of
134 ''mode_def''s in ''TUGboat'', the journal of the TEX
135 Users Group. The local ones in use on this computer should
136 be in ''modes.mf''.
137
138
139 The ''e'' response to M ETAFONT 's
140 error-recovery mode invokes the system default editor at the
141 erroneous line of the source file. There is an environment
142 variable, MFEDIT, that overrides the default editor. It
143 should contain a string with
144 vi__ editor can be set with the
145 __csh__ command
146
147
148 ''setenv MFEDIT ''
149
150
151 A convenient file in the library is ''null.mf'',
152 containing nothing. When __mf__ can't find the file it
153 thinks you want to input, it keeps asking you for another
154 file name; responding `null' gets you out of the loop if you
155 don't want to input anything.
156 !!ONLINE GRAPHICS OUTPUT
157
158
159 M ETAFONT can use most modern displays, so
160 you can see its output without printing. Chapter 23 of
161 ''The M ETAFONT book'' describes what you
162 can do. This implementation of M ETAFONT uses
163 environment variables to determine which display device you
164 want to use. First it looks for a variable MFTERM, and then
165 for TERM. If it can't find either, you get no online output.
166 Otherwise, the value of the variable determines the device
167 to use: __hp2627__, __sun__ (for old !SunView),
168 __tek__, __uniterm__ (for an Atari ST Tek 4014
169 emulator), __xterm__ (for either X10 or X11). Some of
170 these devices may not be supported in all M
171 ETAFONT executables; the choice is made at
172 compilation time.
173
174
175 On some systems, there are two M ETAFONT
176 binaries, __mf__ and __mfw__. On those systems the
177 __mfw__ binary supports graphics, while the __mf__
178 binary does not.
179 !!OPTIONS
180
181
182 This version of M ETAFONT understands the
183 following command line options.
184
185
186 __--base__ ''base''
187
188
189 Use ''base'' as the name of the base to be used, instead
190 of the name by which M ETAFONT was called or
191 a ''%'' line.
192
193
194 __--file-line-error-style__
195
196
197 Print error messages in the form ''file:line:error''
198 which is similar to the way many compilers format
199 them.
200
201
202 __--help__
203
204
205 Print help message and exit.
206
207
208 __--ini__
209
210
211 Be __inimf__, for dumping bases; this is implicitly true
212 if the program is called as __inimf__.
213
214
215 __--interaction__ ''mode''
216
217
218 Sets the interaction mode. The mode can be one of
219 ''batchmode'', ''nonstopmode'', ''scrollmode'', and
220 ''errorstopmode''. The meaning of these modes is the same
221 as that of the corresponding commands.
222
223
224 __--kpathsea-debug__ ''bitmask''
225
226
227 Sets path searching debugging flags according to the
228 bitmask. See the ''Kpathsea'' manual for
229 details.
230
231
232 __--maketex__ ''fmt''
233
234
235 Enable mktex''fmt'', where ''fmt'' must be
236 ''mf''.
237
238
239 __--no-maketex__ ''fmt''
240
241
242 Disable mktex''fmt'', where ''fmt'' must be
243 ''mf''.
244
245
246 __--progname__ ''name''
247
248
249 Pretend to be program ''name''. This affects both the
250 format used and the search paths.
251
252
253 __--recorder__
254
255
256 Enable the filename recorder. This leaves a trace of the
257 files opened for input and output in a file with extension
258 ''.fls''.
259
260
261 __--translate-file__ ''tcxname''
262
263
264 Use the ''tcxname'' translation table.
265
266
267 __--version__
268
269
270 Print version information and exit.
271 !!ENVIRONMENT
272
273
274 See the Kpathsearch library documentation (the `Path
275 specifications' node) for the details of how the environment
276 variables are use when searching. The __kpsewhich__
277 utility can be used to query the values of the
278 variables.
279
280
281 If the environment variable TEXMFOUTPUT is set, M
282 ETAFONT attempts to put its output files in
283 it, if they cannot be put in the current directory. Again,
284 see tex(1).
285
286
287 MFINPUTS
288
289
290 Search path for ''input'' and ''openin''
291 files.
292
293
294 MFEDIT
295
296
297 Command template for switching to editor.
298
299
300 MFTERM
301
302
303 Determines the online graphics display. If MFTERM is not
304 set, and DISPLAY is set, the Metafont window support for X
305 is used. (DISPLAY must be set to a valid X server
306 specification, as usual.) If neither MFTERM nor DISPLAY is
307 set, TERM is used to guess the window support to
308 use.
309 !!FONT UTILITIES
310
311
312 A number of utility programs are available. The following is
313 a partial list of available utilities and their purpose.
314 Consult your local M ETAFONT guru for
315 details.
316
317
318 __gftopk__
319
320
321 Takes a ''gf'' file and produces a more tightly packed
322 ''pk'' font file.
323
324
325 __gftodvi__
326
327
328 Produces proof sheets for fonts.
329
330
331 __gftype__
332
333
334 Displays the contents of a ''gf'' file in mnemonics
335 and/or images.
336
337
338 __pktype__
339
340
341 Mnemonically displays the contents of a ''pk''
342 file.
343
344
345 __mft__
346
347
348 Formats a source file as shown in ''Computer Modern
349 Typefaces''.
350 !!FILES
351
352
353 ''mf.pool''
354
355
356 Encoded text of M ETAFONT 's
357 messages.
358
359
360 ''*.base''
361
362
363 Predigested M ETAFONT base
364 files.
365
366
367 ''$TEXMFMAIN/metafont/base/plain.mf''
368
369
370 The standard base.
371
372
373 ''$TEXMFMAIN/metafont/misc/modes.mf''
374
375
376 The file of ''mode_def''s for your site's various
377 printers
378 !!SUGGESTED READING
379
380
381 Donald E. Knuth, ''The M ETAFONT book''
382 (Volume C of ''Computers and Typesetting''),
383 Addison-Wesley, 1986, ISBN 0-201-13445-4.
384 Donald E. Knuth, ''M ETAFONT : The
385 Program'' (Volume D of ''Computers and Typesetting''),
386 Addison-Wesley, 1986, ISBN 0-201-13438-1.
387 Donald E. Knuth, ''Computer Modern Typefaces'' (Volume E
388 of ''Computers and Typesetting''), Addison-Wesley, 1986,
389 ISBN 0-201-13446-2.''
390 TUGboat'' (the journal of the TEX Users
391 Group).
392 !!COMMENTS
393
394
395 Warning: ``Type design can be hazardous to your other
396 interests. Once you get hooked, you will develop intense
397 feelings about letterforms; the medium will intrude on the
398 messages that you read. And you will perpetually be thinking
399 of improvements to the fonts that you see everywhere,
400 especially those of your own design.''
401 !!SEE ALSO
402
403
404 gftopk(1), gftodvi(1), gftype(1),
405 mft(1), pltotf(1),
406 tftopl(1).
407 !!BUGS
408
409
410 On January 4, 1986 the ``final'' bug in M
411 ETAFONT was discovered and removed. If an
412 error still lurks in the code, Donald E. Knuth promises to
413 pay a finder's fee which doubles every year to the first
414 person who finds it. Happy hunting.
415 !!AUTHORS
416
417
418 M ETAFONT was designed by Donald E. Knuth,
419 who implemented it using his W EB system for
420 Pascal programs. It was originally ported to Unix by Paul
421 Richards at the University of Illinois at Urbana-Champaign.
422 This page was mostly written by Pierre !MacKay.
423 ----
This page is a man page (or other imported legacy content). We are unable to automatically determine the license status of this page.