Wouldn't it be a good idea if *all* programs which read tfm files would use the mktextfm mechanism ? vftovp is an example of a program which doesn't with web2c 7.2. The patch below corrects this. --- web2c/common.defines Sun Aug 9 23:31:38 1998 +++ web2c/common.defines2 Sun Aug 9 23:32:45 1998 @@ -81,6 +81,7 @@ @define const VFTOVPHELP; @define const VPTOVFHELP; @define const WEAVEHELP; +@define const MAKETEXTFMBYDEFAULT; { added for vftovp } @define function abs (); @define function addressof (); @@ -133,6 +134,7 @@ @define function xrealloc (); @define function xstrdup (); @define function XTALLOC (); +@define const kpsesrccompile; { added for vftovp } @define procedure aclose (); @define procedure BIBXRETALLOC (); {For BibTeX.} @@ -167,6 +169,7 @@ @define procedure writeln (); @define procedure xfclose (); @define procedure xfseek (); +@define procedure kpsesetprogramenabled (); { added for vftovp } @define type boolean = 0..1; @define type cinttype; --- cpascal.h Mon Aug 10 00:23:57 1998 +++ cpascal.h.new Mon Aug 10 00:23:42 1998 @@ -254,4 +254,13 @@ /* version.c */ extern string versionstring; +#ifdef VFTOVP +#include +#include +#define kpsesetprogramenabled kpse_set_program_enabled +#define kpsesrccompile kpse_src_compile +#define kpsemaketexoption kpse_maketex_option +#define MAKETEXTFMBYDEFAULT MAKE_TEX_TFM_BY_DEFAULT +#endif /* VFTOVP */ + #endif /* not CPASCAL_H */ --- vftovp.ch Sun Aug 9 23:34:01 1998 +++ vftovp.ch.new Mon Aug 10 00:15:23 1998 @@ -22,6 +22,8 @@ kpse_set_progname (argv[0]); kpse_init_prog ('VFTOVP', 0, nil, nil); parse_arguments; + kpse_set_program_enabled (kpse_tfm_format, MAKE_TEX_TFM_BY_DEFAULT, + kpse_src_compile); @z % [4] No name_length. @@ -460,7 +462,7 @@ @ = procedure parse_arguments; -const n_options = 4; {Pascal won't count array lengths for us.} +const n_options = 6; {Pascal won't count array lengths for us.} var @!long_options: array[0..n_options] of getopt_struct; @!getopt_return_val: integer; @!option_index: c_int_type; @@ -490,6 +492,12 @@ else write_ln (stderr, 'Bad character code format', optarg, '.'); + end else if argument_is ('mktex') then begin + kpse_maketex_option (optarg, true); + + end else if argument_is ('no-mktex') then begin + kpse_maketex_option (optarg, false); + end; {Else it was a flag; |getopt| has already done the assignment.} until getopt_return_val = -1; @@ -539,6 +547,24 @@ long_options[current_option].has_arg := 0; long_options[current_option].flag := address_of (verbose); long_options[current_option].val := 1; +incr (current_option); + +@ Enable mktextfm? + +@ = +long_options[current_option].name := 'mktex'; +long_options[current_option].has_arg := 1; +long_options[current_option].flag := 0; +long_options[current_option].val := 0; +incr (current_option); + +@ Disable mktextfm? + +@ = +long_options[current_option].name := 'no-mktex'; +long_options[current_option].has_arg := 1; +long_options[current_option].flag := 0; +long_options[current_option].val := 0; incr (current_option); @ The global variable |verbose| determines whether or not we print --- help.h Mon Aug 10 00:22:06 1998 +++ help.h.new Mon Aug 10 00:21:22 1998 @@ -527,7 +527,8 @@ -charcode-format=TYPE output character codes according to TYPE,\n\ either `octal' or `ascii'; default is ascii for\n\ letters and digits, octal for all else\n\ --help display this help and exit\n\ +[-no]-mktex=FMT disable/enable mktexFMT generation (FMT=tfm)\n\ +-help display this help and exit\n\ -verbose display progress reports\n\ -version output version information and exit\n" #endif /* VFTOVP */