DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T m

⟦4b55f3023⟧ TextFile

    Length: 10153 (0x27a9)
    Types: TextFile
    Names: »mf.1«

Derivation

└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
    └─⟦c319c2751⟧ »unix3.0/TeX3.0.tar.Z« 
        └─⟦036c765ac⟧ 
            └─⟦this⟧ »TeX3.0/Man-pages/other-manuals/mf.1« 
└─⟦060c9c824⟧ Bits:30007080 DKUUG TeX 2/12/89
    └─⟦this⟧ »./tex82/Unsupported/FromJapan/mf84.support/mf.1« 
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
    └─⟦beba6c409⟧ »unix3.0/Unsupported.tar.Z« 
        └─⟦25c524ae4⟧ 
            └─⟦this⟧ »Unsupported/FromJapan/mf84.support/mf.1« 
└─⟦52210d11f⟧ Bits:30007239 EUUGD2: TeX 3 1992-12
    └─⟦63303ae94⟧ »unix3.14/TeX3.14.tar.Z« 
        └─⟦c58930e5c⟧ 
            └─⟦this⟧ »TeX3.14/Man-pages/other-manuals/mf.1« 

TextFile

.TH MF 1L  12/4/86
.SH "NAME"
mf, inimf, virmf  \- font compiler 
.SH "SYNOPSIS"
.B mf 
[ file... | first line ]
.PP
.B inimf
[ file... | first line ]
.PP
.B virmf 
[ file... | first line ]
.ie t .ds TX \fRT\v'+0.3m'E\v'-0.3m'X\fP \" for troff
.el .ds TX TeX \" for nroff
.\" to use, type \*(TX

.SH "DESCRIPTION"
.B mf
generates a specified resolution of digital, generic typeface
suitable for raster based devices (printers and displays).
.B mf
output consists of two types of font files:
Generic Font
.I (GF)
file and \*(TX Font Metric
.I (TFM)
file.
.PP
M\s-2ETAFONT\s0 capabilities and language are described in
.I The\ M\s-2ETAFONT\s0\^book
by Donald E. Knuth, published by Addison-Wesley. There is also an older manual,
.I \*(TX and M\s-2ETAFONT\s0,
which describes the older version of M\s-2ETAFONT\s0, 
now called M\s-2ETAFONT\s0\^79, but this description is now obsolete.
The present version of M\s-2ETAFONT\s0 
(often referred to internally as M\s-2ETAFONT\s0\^84)
incorporates literally hundreds of changes from this older version.
.PP
Any arguments given on the command line to the M\s-2ETAFONT\s0
programs are passed as the first input line.
As described in 
.IR The\ M\s-2ETAFONT\s0\^book ,
that line should begin with a file name
or a \\controlsequence.
The normal usage is to say
.RB `` mf
.IR fontfile ''
to start compiling 
.IR fontfile.mf .
The name ``fontfile'' will be the ``jobname'', and is the basis for forming
output file names.
If \*(TX doesn't get a file name in the first line, the jobname is ``mfput''. 
The default ``.mf'' extension can be overridden by specifying an extension
explicitly.
.PP
If there is no 
.I fontfile.mf 
in the current directory, 
.B mf
will look through a search path of directories to try to find it.
The standard library on the default search path
has the basic macro package
.IR plain.mf ,
described in
.IR The\ M\s-2ETAFONT\s0\^book ,
as well as several others.
Note that it is not necessary to
.IR \\input\ plain , 
since the 
.B mf
program has preloaded it.
This means that all of the control sequences discussed in the
.I The\ M\s-2ETAFONT\s0\^book
are known to 
.BR mf .
.PP
The output GF file is written on 
.I fontfile.\f(CWnnn\fPgf
where
.I fontfile
is the jobname. And
.I ``\f(CWnnn\fP'' 
is the metric size of the generated font.
A log of error messages goes into
.I fontfile.log.
.PP
Note that due to extensive revamping of primitives,
output from M\s-2ETAFONT\s0\^79 and M\s-2ETAFONT\s0\^84 is incompatible,
therefore programs used to generate M\s-2ETAFONT\s0\^79 output
will not work for M\s-2ETAFONT\s0\^84.
.PP
There are some environment variables that can be used to set up directory
paths to search when
.B mf
opens a file for input. For example, the
.I csh
command
.br

.ti +3
     setenv \s-2MFINPUTS\s0 .:/usr/me/mylib:/usr/lib/mf84:/usr/lib/mf84/bases

or the
.I sh
command sequence
.br

.ti +3
     \s-2MFINPUTS\s0=.:/usr/me/mylib:/usr/lib/mf84:/usr/lib/mf84/bases
.br
.ti +3
     export \s-2MFINPUTS\s0
.br

would cause all invocations of 
.B mf
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 paths.
Normally, the user will place the command sequence which sets up the
\s-2MFINPUTS\s0 environment variable in the
.I .cshrc
or
.I .profile
file.
The Environment section below lists the relevant environment variables
and their defaults.
.PP
The
.I e
response to 
.BR mf 's 
error-recovery mode invokes the
.I vi
editor at the erroneous line of the source file.
There is an environment variable, \s-2MFEDITOR\s0, 
that can be used to specify the 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, a \s-2MFEDITOR\s0 string for a variant copy of "vi" can be set by:
.br

.ti +3
     setenv \s-2MFEDITOR\s0 "/usr/local/bin/vi +%d %s"
.br
.sp .7
(replacing the path name for the variant 
.I vi 
as appropriate on your system).
.PP
A convenient file in the M\s-2ETAFONT\s0 library is null.mf, 
containing nothing. When
.B mf
can't find a 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.
.PP
Two other 
.B mf
programs,
.B inimf
and
.BR virmf ,
can be used to create fast-loading customized versions of 
.BR mf .
The
.B inimf
program is used to create a
.I format (.fmt)
file that permits fast loading of fonts and macro packages.
After processing the fonts and definitions desired, a \\dump
command will create the format file.  The format file is used by
.BR virmf .
It needs to be given a format file name as the first thing it reads.
A format file name is preceded by an &, which needs to be escaped with ``\\''
if given on the command line.
For instance, one could create a file
.I myfmt.fmt
using
.BR inimf ,
and then set up a cshell alias with
.br

.ti +3
     alias mymf "virmf \\&myfmt"
.br

to allow the use of ``mymf fontfile''.
.br
.SH "EXAMPLES"
.PP
Generally, only two families of font resolution are utilized, 
one for printing and the other for previewing. 
At most sites, a 200-, 240- or 300-ppi font family is used for printing, 
and 118-ppi font family is used for previewing.
Internally,
.B mf
has three modes:
.TP 2.1i
.I 	proof mode 
Generates full-page font proofs using grey pixel fonts
.TP
.I 	smoke mode
Generates full-page font proofs using black pixel fonts
.TP
.I 	localfont mode
Generates font at resolution suitable for printing
.PP
Once a M\s-2ETAFONT\s0 source is written, the following steps
are use to generate a GF file for proofing, TFM 
file for the width table, and PXL font files for printing and previewing
at each desired resolution.
.br
.TP 2i
	STEP 1. Compile font
.br
Input: mf myfont 
.br
Output: myfont.2602gf
.TP
	STEP 2. Generate DVI-file
.br
Input: gftodvi myfont.2602gf
.br
Output: myfont.dvi
.TP
	STEP 3. Produce printable output
.br
Input: dvi-lbp myfont | lbp -g 
.br
Note: Pipe output to printer
.TP
	STEP 4. Generate pixel font (at default ppi):
.br
Input: mf <cr>
.br
\ \ \ \ \ \ \ \ \\mode=localfont; \\mag=magstep0; \\input myfont
.br
Output: myfont.200gf
.br
.SH "GF AND PXL FONTS"
.PP
When a GF file is generated by M\s-2ETAFONT\s0, a number is appended
to the generic font file. The 
.B gftopxl
program also appends a number to the PXL file.
A listing of GF and related PXL sizes for 118-ppi and 240-ppi fonts
is shown below.
.sp.2i
		 PREVIEW 118 dpi		PRINTING 240 dpi
.br
		 ----------------   		----------------    
.br
		 GF            PXL           GF              PXL
.br
1. Mag=0  	 118           590            240             1200
.br
2. Mag=0.5	 129           646            263             1315
.br
3. Mag=1	 142           708            288             1440
.br
4. Mag=2	 170           850            346             1728
.br
5. Mag=3 	 204          1020            415             2074
.br
6. Mag=4   	 245          1223            498             2488
.br
7. Mag=5    	 294          1468            597             2986
.br
		 ------------------		-----------------
.PP
If M\s-2ETAFONT\s0 generates a ``mfput.200gf'' at magstep 0, 
then the default pixels-per-inch is 200-ppi. To change the default
setting of ``ppi'', the variable ``localfont'' must be redefined
either through a file input to 
.B mf
or changing plain.mf (see manual).
To generate a full spectrum of font magnifications 
for printing and/or previewing, 
.I fontfile.mf 
source must be compiled by
M\s-2ETAFONT\s0 and the desired resolution and magnification specified
each time.  Finally,
.B gftopxl
is used to generate pixel fonts, which should then be named according to
their pixel size. At 240-ppi, a non-magnified font for printing should
appropriately be named ``font.1200pxl''. In contrast, the same 
non-magnified font generated at 118-ppi, should be named ``font.590pxl''.
.br
.SH "ENVIRONMENT"
.PP
.IP \s-2MFINPUTS\s0
Search path for \\input file.  It should be colon-separated
and start with ``.''.  The entire path must be no longer than 700
characters.
Default: .:/usr/lib/mf84
.IP \s-2MFPOOL\s0
Search path for mf strings.  Default: .:/usr/lib/mf84
.IP \s-2MFBASE\s0
Search path for mf macros. Default: .:/usr/lib/mf84/bases
.IP \s-2MFEDITOR\s0
Command template for switching to editor.  Default: "/usr/ucb/vi +%d %s"
.br
.SH "FONT UTILITIES"
.PP
A number of utility programs are available (see section See Also). 
The following is a partial list of available utilities and their purpose. 
Consult your local M\s-2ETAFONT\s0 guru for details.
.br
.TP 1.5i
.B 	gftopxl
Takes a GF file and produces a PXL (pixel) font file 
.TP
.B 	gftodvi
Produces proof sheets for fonts
.TP
.B 	gftype
Mnemonically displays the contents of a GF file
.br
.SH "FILES"
.br
.TP 2.5i
/usr/lib/mf84
.BR mf 's 
library area
.TP
/usr/lib/mf84/mf.pool
Encoded text of
.BR mf 's 
messages
.TP
/usr/lib/mf84/bases
.BR mf 's 
macro file(s) repository
.br
.SH "SUGGESTED READING"
Donald E. Knuth,
.I The\ M\s-2ETAFONT\s0\^book
.br
Donald E. Knuth,
.I M\s-2ETAFONT\s0\^ the Program
.br
Donald E. Knuth,
Computer Modern Typefaces 
.br
.I TUGBOAT
(the publication of the \*(TX Users Group)
.br
.SH "COMMENTS"
Warning: ``Type design can be hazardous to your other interests. 
Once you get hooked, you will develop intense 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.''
.br
.SH "BUGS"
On January 4, 1986 the ``final''
bug in M\s-2ETAFONT\s0 was discovered and removed. If an error still
lurks in the code, the creator (D. E. Knuth, not God) promises to
pay a finders fee of $5.12 to the first person who finds it. Happy
hunting.
.br
.SH "AUTHORS"
M\s-2ETAFONT\s0\^ was designed by Donald E. Knuth, 
who implemented it using his W\s-2EB\s0 language system for Pascal programs.

.SH "SEE ALSO"
chtopx(1L), dvitype(1L), gftopxl(1L), gftodvi(1L), gftype(1L), gftopk(1L), pktopx(1L), 
.br
pktype(1L), pltotf(1L), pxtoch(1L), pktype(1L), pltotf(1L), pxtopk(1L), 
tftopl(1L)