diff options
Diffstat (limited to 'Build/source/texk/web2c/omegaware/ovp2ovf.ch')
-rw-r--r-- | Build/source/texk/web2c/omegaware/ovp2ovf.ch | 52 |
1 files changed, 44 insertions, 8 deletions
diff --git a/Build/source/texk/web2c/omegaware/ovp2ovf.ch b/Build/source/texk/web2c/omegaware/ovp2ovf.ch index 78fa86cc6ce..d2b310cc980 100644 --- a/Build/source/texk/web2c/omegaware/ovp2ovf.ch +++ b/Build/source/texk/web2c/omegaware/ovp2ovf.ch @@ -22,6 +22,14 @@ @d banner=='This is OVP2OVF, Version 1.13' {printed when the program starts} @z +@x [2] Print all terminal output on stderr. +@d print(#)==write(#) +@d print_ln(#)==write_ln(#) +@y +@d print(#)==write(stderr,#) +@d print_ln(#)==write_ln(stderr,#) +@z + @x [2] Print the banner later. procedure initialize; {this procedure gets things started properly} var @<Local variables for initialization@>@/ @@ -84,6 +92,27 @@ correspond to one-character constants like \.{"A"} in \.{WEB} language. @d first_ord=0 {ordinal number of the smallest element of |char|} @z +@x [31] Non-zero return code in case of problems. +@!chars_on_line:0..9; {the number of characters printed on the current line} +@y +@!chars_on_line:0..9; {the number of characters printed on the current line} +@!perfect:boolean; {was the file free of errors?} +@z + +@x [32] Non-zero return code in case of problems. +chars_on_line:=0; +@y +chars_on_line:=0; +perfect:=true; {innocent until proved guilty} +@z + +@x [33] Non-zero return code in case of problems. +chars_on_line:=0; +@y +chars_on_line:=0; +perfect:=false; +@z + @x [37] (get_keyword_char) Unnecessary due to previous change. begin while (loc=limit)and(not right_ln) do fill_buffer; if loc=limit then cur_char:=" " {end-of-line counts as a delimiter} @@ -118,19 +147,19 @@ if verbose then @<Print |c| in hex notation@>; @z @x print('-'); print_hex(c+crange); incr(chars_on_line); -@y +@y [133] if verbose then begin print('-'); print_hex(c+crange); incr(chars_on_line); end; @z -@x +@x [140] @!HEX: packed array [1..16] of char; @y @!HEX: const_c_string; @z -@x +@x [141] HEX:='0123456789ABCDEF';@/ @y HEX:=' 0123456789ABCDEF';@/ @@ -197,7 +226,7 @@ begin if fabs(x/design_units)>=16.0 then end; @z -% [141] char_remainder[c] is unsigned, and label_table[sort_ptr].rr +% [194] char_remainder[c] is unsigned, and label_table[sort_ptr].rr % might be -1, and if -1 is coerced to being unsigned, it will be bigger % than anything else. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -207,26 +236,33 @@ begin if fabs(x/design_units)>=16.0 then while label_table[sort_ptr].rr>intcast(char_remainder[c]) do @z -@x [175] Change VF-byte output to fix ranges. +@x [200] Change VF-byte output to fix ranges. @d vout(#)==write(vf_file,#) @y @d vout(#)==putbyte(#,vf_file) @z -@x [204] Eliminate unused variables. +@x [205] Eliminate unused variables. var @!krn_ptr:0..max_kerns; {an index into |kern|} @!c:byte; {runs through all character codes} @y @z -@x [181?] Be quiet unless verbose. +@x [206] Be quiet unless verbose. read_input; print_ln('.');@/ @y read_input; if verbose then print_ln('.'); @z -@x [182] System-dependent changes. +@x [206] Non-zero return code in case of problems, +end. +@y +if not perfect then uexit(1); +end. +@z + +@x [287] System-dependent changes. This section should be replaced, if necessary, by changes to the program that are necessary to make \.{VPtoVF} work at a particular installation. It is usually best to design your change file so that all changes to |