%%%  WEB Change File for GFtype (Win32 version)
%%%  Time-stamp: "97/01/03 18:14:16 mik"
%%%
%%%  Copyright (C) 1991, 92, 93, 94, 95, 96, 97
%%%	Christian Schenk  <cschenk@berlin.snafu.de>
%%%
%%%  This file is part of MiKTeX.
%%%
%%%  MiKTeX is free software; you can redistribute it and/or
%%%  modify it under the terms of the GNU General Public License as
%%%  published by the Free Software Foundation; either version 2, or (at
%%%  your option) any later version.
%%%  
%%%  MiKTeX is distributed in the hope that it will be useful, but
%%%  WITHOUT ANY WARRANTY; without even the implied warranty of
%%%  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
%%%  General Public License for more details.
%%%  
%%%  You should have received a copy of the GNU General Public License
%%%  along with MiKTeX; if not, write to the Free Software
%%%  Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
%%%  USA.

@x
\def\title{GFtype}
@y
\def\MiKTeX{MiK\TeX}
\def\title{GFtype for Win32 (\MiKTeX\ 1.06)}
@z

%% **     3  ******************************************************************

@x
procedure initialize; {this procedure gets things started properly}
  var i:integer; {loop index for initializations}
  begin print_ln(banner);@/
@y
@<External C routines@> @;
procedure initialize; {this procedure gets things started properly}
  var i:integer; {loop index for initializations}
  begin print(banner); miktex_banner(output); write_ln;@/
@z

%% **     7  ******************************************************************

@x

@p procedure jump_out;
begin goto final_end;
end;
@y
@d goto_final_end==c4p_longjmp(env_buf,1)

@p procedure jump_out;
begin goto_final_end;
end;
@z

%% **     9  ******************************************************************

@x
@d text_char == char {the data type of characters in text files}
@d first_text_char=0 {ordinal number of the smallest element of |text_char|}
@d last_text_char=127 {ordinal number of the largest element of |text_char|}
@y
@d text_char == char {the data type of characters in text files}
@d first_text_char=0 {ordinal number of the smallest element of |text_char|}
@d last_text_char=127 {ordinal number of the largest element of |text_char|}
@z

%% **    22  ******************************************************************

@x
@ To prepare this file for input, we |reset| it.

@p procedure open_gf_file; {prepares to read packed bytes in |gf_file|}
begin reset(gf_file);
cur_loc:=0;
end;
@y
@ To prepare this file for input, we |reset| it.

@p procedure open_gf_file; {prepares to read packed bytes in |gf_file|}
begin
if (c4pargc <> 2) then
 abort('Usage: gftype inputfile');
c4p_fopen(gf_file,c4p_argv[1],c4p_rb_mode,true);
reset(gf_file);
cur_loc:=0;
end;
@z

%% **    31  ******************************************************************

@x
begin rewrite(term_out); {prepare the terminal for output}
write_ln(term_out,banner);@/
@y
begin term_out:=output; term_in:=input;
@z

%% **    62  ******************************************************************

@x
@!pix_ratio: real; {multiply by this to convert \.{TFM} width to scaled pixels}
@y
@!pix_ratio: longreal; {multiply by this to convert \.{TFM} width to scaled pixels}
@z

%% **    66  ******************************************************************

@x
@p begin initialize; {get all variables initialized}
dialog; {set up all the options}
@<Process the preamble@>;
@<Translate all the characters@>;
print_nl;
read_postamble;
print('The file had ',total_chars:1,' character');
if total_chars<>1 then print('s');
print(' altogether.');
@.The file had n characters...@>
final_end:end.
@y
@p begin
if c4p_setjmp (env_buf) <> 0 then goto final_end;
initialize; {get all variables initialized}
dialog; {set up all the options}
@<Process the preamble@>;
@<Translate all the characters@>;
print_nl;
read_postamble;
print('The file had ',total_chars:1,' character');
if total_chars<>1 then print('s');
print(' altogether.');
@.The file had n characters...@>
print_nl;
c4p_exit (0);
final_end: c4p_exit (1);
end.
@z

%% **    73  ******************************************************************

@x
which introduce new sections, can be inserted here; then only the index
itself will get a new section number.
@^system dependencies@>
@y
@ @<External C routines@>=
procedure miktex_banner (var f:text_file); forward;

@ @<Globals...@>=
@!env_buf : c4p_jmp_buf;
@z
