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
|
TEST 2.9.0 92/07/06 -- some quick tests of a newly-compiled mff -*-text-*-
Output from mff is occasionally given, between lines of hyphens,
indented in a tab stop. Otherwise a quick description of what it is
supposed to do is given.
Hope this helps. Suggestions for usefully automating all this welcome.
mff
does nothing
mff -V
prints version number and exits
mff -D
Checks that it is successfully reading the startup files -- the
Z table is set in /usr/local/lib/rc.mff. In this example, the
local devices appear twice, because I ran mff in the source
directory, and this has a copy of the /usr/local/lib/mff.rc file:
------------------------------------------------------------------------
mff: This is mff.c v2.8.1 -- pdc Fri. 28 June 1991
Z = {
118=bitgraph
300=CanonCX
118=bitgraph
300=CanonCX
200=lowres
}
W = {}
C = {}
I = {}
J = {}
template = { }
DPI(s) = 300.
mag(s) = 1.
METAFONT = "mf"
GFtoPK = "gfto%p"
TFM dir. = "/mclab/pdc/tex/tfm"
PK dir. = "/mclab/pdc/tex/%d%p"
------------------------------------------------------------------------
mff -f ditko -n dk76s30
Now we want to see if it interpreting those tables reasonably.
This ought to produce the following output (modulo linebreaks
and different directory names):
------------------------------------------------------------------------
mf '\mode = CanonCX; mag = 1; font_size 30pt#; weight=1.25;
hratio=1.00; slant=1/5; ; input dk; bye.'
mv dk.tfm /mclab/pdc/tex/tfm/dk76s30.tfm
gftopk dk.300gf
mv dk.300pk /mclab/pdc/tex/pk/CanonCX/dk76s30.300pk
rm dk.300gf
------------------------------------------------------------------------
You ought to be able to pipe this into /bin/sh to create the font!
Now try the same command without the -n, which ought to run
METAFONT (you will see METAFONT's output) as above to create the
font. Voila!
Now to try out some variations
mff -fmflogo -nm -1,-h,0,h,1 mf55a10
This checks that mff is parsing lists of magsteps properly.
I've deleted some of its output below for clarity. Note the GF
numbers and values of mag.
------------------------------------------------------------------------
mf '\mode = CanonCX; mag = 0.833333; font_size 10pt#; input mf; bye.'
...
rm mf.250gf
mf '\mode = CanonCX; mag = 0.912871; font_size 10pt#; input mf; bye.'
...
rm mf.274gf
mf '\mode = CanonCX; mag = 1; font_size 10pt#; input mf; bye.'
...
rm mf.300gf
mf '\mode = CanonCX; mag = 1.09545; font_size 10pt#; input mf; bye.'
...
rm mf.329gf
mf '\mode = CanonCX; mag = 1.2; font_size 10pt#; input mf; bye.'
...
rm mf.360gf
------------------------------------------------------------------------
mff -fmflogo -na 12,14,17 mf55a10
This verifies that the at-sizes feature is working reasonably.
The numbers 1.2, 1.44 and 1.728 are numbers Knuth likes... :-)
------------------------------------------------------------------------
mf '\mode = CanonCX; mag = 1.2; font_size 10pt#; input mf; bye.'
...
mf '\mode = CanonCX; mag = 1.44; font_size 10pt#; input mf; bye.'
...
mf '\mode = CanonCX; mag = 1.728; font_size 10pt#; input mf; bye.'
...
------------------------------------------------------------------------
mff -n -P '' -T '' mf55a10
mff -n -P . -T . mf55a10
mff -n -P - -T - mf55a10
This is a test of whether it reacts sensibly to weird templates.
As you might expect from the manual entry, the first two create
fonts with appropriate names in the current directory, e.g.:
------------------------------------------------------------------------
mf '\mode = CanonCX; mag = 1; font_size 10pt#; input mf; bye.'
-> mv mf.tfm mf10.tfm
gftopk mf.300gf
-> mv mf.300pk mf10.300pk
rm mf.300gf
------------------------------------------------------------------------
The third of these omits the renaming altogether, leaving files
like mf.tfm instead of mf55a10.tfm. This is also in accordance
with the manual entry:
------------------------------------------------------------------------
mf '\mode = CanonCX; mag = 1; font_size 10pt#; input mf; bye.'
gftopk mf.300gf
rm mf.300gf
------------------------------------------------------------------------
mff -fmflogo -n -M '' mf55a10
mff -fmflogo -M '' mf55a10
mff -fmflogo -M - mf55a10
The first of these carries on as usual. The second form
complains that the command string is empty. The third omits the
METAFONTing stage, which is useful if you have the GF and TFM
files and are too lazy to type the appropriate mv commands!
mff -fmflogo -n -m '' mf55a10
mff -fmflogo -n -m a,b mf55a10
the first does nothing but print a warning -- it has been given
a list of length zero. The gives a fatal syntax error.
mff -vfmflogo -f-
This puts mff into a sort of interactive mode. Type font names
(like mf55a10) to create them, and CTRL-D to finish.
|