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
|
%% @metafontfile{
%% filename="dummy.mf",
%% filetype="Metafont: driver",
%% author="K. Berry",
%% email="kb@cs.umb.edu"
%% codetable="ISO/ASCII",
%% checksum = "01077 57 290 1988" ,
%% keywords="amsfonts, dummyfont, metafont , ams-tex, amstex ",
%% abstract="This file generates dummy.tfm as distributed with AMS-TeX."
%% docstring = "The checksum field above contains a CRC-16
%% checksum as the first value, followed by the
%% equivalent of the standard UNIX wc (word
%% count) utility output of lines, words, and
%% characters. This is produced by Robert
%% Solovay's checksum utility.",
%% }
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
mode_def nullmode = % TFM files only
proofing := -1;
fontmaking := 1;
enddef;
mode := nullmode;
mode_setup;
% Defeat modes.mf's redefinition of font_face_byte -- it packs in the
% designsize per the Metafontbook, but dummy.pl doesn't.
let font_face_byte = gobble;
% Make the string |s| be |n| bytes long.
def BCPL_string (expr s, n) =
for l := if length (s) >= n: n-1 else: length (s) fi: l
for k := 1 upto l: , substring (k - 1, k) of s endfor
for k := l + 2 upto n: , 0 endfor
endfor
enddef;
headerbyte 1: 0, 5, hex "39", hex "77"; % checksum 1 234 567 in octal
designsize := 10; % header bytes 5-8
% Use font_coding_scheme (from plain) in case end has been redefined to
% produce the Xerox-world info, as modes.mf does. But do the headerbyte
% ourselves as well, in case we're not using modes.mf.
font_coding_scheme := "NULL FONT FOR SYNTAX CHECKING";
headerbyte 9: BCPL_string (font_coding_scheme_, 40);
font_identifier := "UNSPECIFIED";
headerbyte 49: BCPL_string (font_identifier_, 20);
headerbyte 72: 0; % face is zero for mrr, + 254 - 2 * designsize
fontdimen 22: 0; % 22 zero font dimens---enough for math fonts.
end.
|