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
|
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 <kpathsea/tex-file.h>
+#include <c-auto.h>
+#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 @@
@<Define |parse_arguments|@> =
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?
+
+@<Define the option...@> =
+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?
+
+@<Define the option...@> =
+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 */
|