home *** CD-ROM | disk | FTP | other *** search
-
-
-
- MF(1) UNIX 5.3 (9/25/90) MF(1)
-
-
-
- NAME
- mf, inimf - Metafont, a language for alphabet design
-
- SYNOPSIS
- mf [ first line ]
-
- inimf [ first line ]
-
- virmf [ first line ]
-
- DESCRIPTION
- METAFONT reads the program in the specified files and
- outputs font rasters (in gf format) and font metrics (in tfm
- format). METAFONT capabilities and language are described
- in The METAFONTbook by Donald E. Knuth, published by
- Addison-Wesley.
-
- Like TeX , METAFONT is normally used with a large body of
- precompiled macros, and font generation in particular
- requires the support of several macro files. The basic
- program as compiled is called inimf; it can be used to
- precompile macros into a .base file. The virmf variant is
- used to reload the .base files quickly. Typically, virmf
- has links to it by the names of the various base files. For
- example, if you link foo to virmf and then execute the
- program foo, you get the base file foo.base. You can load a
- different base by saying, e.g., virmf&mybase.
-
- As described in The METAFONTbook, the command line (or first
- input line) should otherwise begin with a file name or a
- \controlsequence. The normal usage is to say
-
- mf '\mode=<printengine>; [mag=magstep(n);]' input
- font
-
- to start processing font.mf. The single quotes are the best
- way of keeping your shell from misinterpreting the
- semicolons and from removing the \ character, which is
- needed here to keep METAFONT from thinking that you want to
- produce a font called ``mode''. (Or you can just say mf and
- give the other stuff on the next line, without quotes.)
- Other control sequences, such as batchmode (for silent
- operation) can also appear. The name ``font'' will be the
- ``jobname'', and is used in forming output file names. If
- METAFONT doesn't get a file name in the first line, the
- jobname is ``mfput''. The default extension, .mf, can be
- overridden by specifying an extension explicitly.
-
- A log of error messages goes into the file jobname.log. The
- output files are jobname.tfm and jobname.<number>gf, where
- <number> depends on the resolution and magnification of the
- font. The ``mode'' in this example is shown generically as
-
-
-
- Page 1 (printed 12/3/90)
-
-
-
-
-
-
- MF(1) UNIX 5.3 (9/25/90) MF(1)
-
-
-
- <printengine>, a symbolic term for which the name of an
- actual device or the name ``localfont'' (see below) must be
- substituted. If the mode is not specified or is not valid
- for your site, METAFONT will default to ``proof'' mode which
- produces large character images for use in font design and
- refinement. Proof mode can be recognized by the suffix
- .2602gf after the jobname. Examples of proof mode output
- can be found in ComputerModernTypefaces, (Volume E of
- ComputersandTypesetting), by Donald Knuth. The system of
- magsteps is identical to the system used by TeX , with
- values generally in the range 0.5, 1.0, 2.0, 3.0, 4.0 and
- 5.0. A listing of gf numbers for 118-dpi, 240-dpi and 300-
- dpi fonts is shown below.
- MAGSTEP 118 dpi 240 dpi 300 dpi
- mag=magstep(0) 118 240 300
- mag=magstep(0.5) 129 263 329
- mag=magstep(1) 142 288 360
- mag=magstep(2) 170 346 432
- mag=magstep(3) 204 415 518
- mag=magstep(4) 245 498 622
- mag=magstep(5) 294 597 746
-
- Magnification can also be specified not as a magstep but as
- an arbitrary value, such as 1.315, to create special
- character sizes.
-
- Before font production can begin, it is necessary to set up
- the appropriate base files. The minimum set of components
- for font production for a given print-engine is the plain.mf
- macro file and the local `mode_def' file. The macros in
- plain.mf can be studied in an appendix to the METAFONTbook;
- they were developed by Donald Knuth, and this file should
- never be altered except when it is officially upgraded. Each
- mode_def specification helps adapt fonts to a particular
- print-engine. There is a regular discussion of mode_defs in
- the journal of the TeX Users Group, TUGboat; the local ones
- in use on this computer should be somewhere in the directory
- /usr/local/lib/mf/macros. With only plain.mf and the
- ``modes'' file loaded it is possible to create fonts of
- simple characters, such as those used for the METAFONT logo,
- and those used for the LaTeX line and circle fonts, but the
- production of Computer Modern fonts would be facilitated by
- making a cmmf.base file (which includes the macros in
- cmbase.mf as well as those in plain.mf).
-
- Several environment variables can be used to set up
- directory paths to search when METAFONT opens a file for
- input. For example, the csh command
- setenv MFINPUTS .:/usr/me/mylib:/usr/local/lib/mf/macros
- or the sh command sequence
- MFINPUTS=.:/usr/me/mylib:/usr/local/lib/mf/macros
- export MFINPUTS
-
-
-
- Page 2 (printed 12/3/90)
-
-
-
-
-
-
- MF(1) UNIX 5.3 (9/25/90) MF(1)
-
-
-
- would cause all invocations of METAFONT and its derivatives
- to look for \input files first in the current directory,
- then in a hypothetical user's ``mylib'', and finally in the
- system library. Normally, the user will place the command
- sequence which sets up the MFINPUTS environment variable in
- his or her .login or .profile file.
-
- The e response to METAFONT's error-recovery mode invokes the
- system default editor at the erroneous line of the source
- file. There is an environment variable, MFEDIT, that
- overrides the default editor. It should contain a string
- with "%s" indicating where the filename goes and "%d"
- indicating where the decimal linenumber (if any) goes. For
- example, an MFEDIT string for the vi editor can be set with
- the csh command
- setenv MFEDIT "/usr/ucb/vi +%d %s"
-
- The environment variables section below lists the relevant
- environment variables, and their defaults.
-
- A convenient file in the library is null.mf, containing
- nothing. When mf can't find the file it thinks you want to
- input, it keeps asking you for another file name;
- responding `null' gets you out of the loop if you don't want
- to input anything.
-
- ENVIRONMENT VARIABLES
- The default values for all environment variables are set at
- the time of compilation in a file site.h. See tex(1) for
- the details of the searching. If the environment variable
- TEXMFOUTPUT is set, METAFONT attempts to put its output
- files in it, if they cannot be put in the current directory.
- Again, see tex(1).
-
- MFINPUTS
- Search path for input and openin files. It should be
- colon-separated, and start with ``.''. Default:
- .:/usr/local/lib/mf/macros.
-
- MFINPUTS_SUBDIR
- Search path for directories with subdirectories of
- input files. Default: @MFINPUTS_SUBDIR@
-
- MFBASES
- Search path for base files. Default:
- /usr/local/lib/mf/bases.
-
- MFPOOL
- Search path for METAFONT internal strings. Default:
- /usr/local/lib/mf.
-
- MFEDIT
-
-
-
- Page 3 (printed 12/3/90)
-
-
-
-
-
-
- MF(1) UNIX 5.3 (9/25/90) MF(1)
-
-
-
- Command template for switching to editor. Default:
- /usr/bin/vi+%d%s.
-
- FONT UTILITIES
- A number of utility programs are available. The following is
- a partial list of available utilities and their purpose.
- Consult your local METAFONT guru for details.
-
- gftopk Takes a GF file and produces a more tightly packed
- PK font file.
-
- gftodvi Produces proof sheets for fonts.
-
- gftype Displays the contents of a GF file in mnemonics
- and/or images.
-
- pktype Mnemonically displays the contents of a PK file.
-
- mft Formats a source file as shown in Computer Modern
- Typefaces.
-
- FILES
- /usr/local/lib/mf METAFONT's library areas
-
- /usr/local/lib/mf/mf.pool
- Encoded text of METAFONT's messages
-
- /usr/local/lib/mf/bases/*.base
- METAFONT base files
-
- /usr/local/lib/mf/macros/plain.mf
- The ``standard'' macro package
-
- /usr/local/lib/mf/macros/(something).mf
- The file of ``mode_def''s for your
- site's various printers
-
- /src/TeX+MF/typefaces/cm/mf
- METAFONT sources for Computer Modern
-
- SUGGESTED READING
- Donald E. Knuth, The METAFONTbook (Volume C of Computers
- and Typesetting)
- Donald E. Knuth, METAFONT: The Program (Volume D of
- Computers and Typesetting)
- Donald E. Knuth, Computer Modern Typefaces (Volume E of
- Computers and Typesetting)
- TUGboat (the publication of the TeX Users Group)
-
- COMMENTS
- Warning: ``Type design can be hazardous to your other
- interests. Once you get hooked, you will develop intense
-
-
-
- Page 4 (printed 12/3/90)
-
-
-
-
-
-
- MF(1) UNIX 5.3 (9/25/90) MF(1)
-
-
-
- feelings about letterforms; the medium will intrude on the
- messages that you read. And you will perpetually be
- thinking of improvements to the fonts that you see
- everywhere, especially those of your own design.''
-
- SEE ALSO
- gftopk(1), gftodvi(1), gftype(1), mft(1), pltotf(1),
- tftopl(1)
-
- BUGS
- On January 4, 1986 the ``final'' bug in METAFONT was
- discovered and removed. If an error still lurks in the code,
- D.E. Knuth promises to pay a finders fee which doubles every
- year to the first person who finds it. Happy hunting.
-
- AUTHORS
- METAFONT was designed by Donald E. Knuth, who implemented it
- using his WEB system for Pascal programs. It was originally
- ported to Unix by Paul Richards at the University of
- Illinois at Urbana-Champaign. This page written by Pierre
- MacKay (mostly).
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Page 5 (printed 12/3/90)
-
-
-
-