%% @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.