Tue Oct 27 13:02:04 1992  Karl Berry  (karl@cs.umb.edu)

	* Version 0.6.

Sat Oct 24 05:13:02 1992  Karl Berry  (karl@cs.umb.edu)

	* ifi.c (read_ifi_file): Just do successive character codes if we
	don't have an encoding file.
        * main.c (USAGE): Change doc.

Fri Oct 23 10:43:46 1992  Karl Berry  (karl@cs.umb.edu)

	* out-chars.c (output_chars): Free the bounding box list we construct.

	* out-chars.c (output_chars): If the IFI struct says no bounding
	boxes, don't read any of the bitmap, and reconsider the current bb.

Tue Oct 20 17:17:26 1992  Karl Berry  (karl@cs.umb.edu)

	* GNUmakefile (install): Make the second arg a file, not a directory.

Fri Oct 16 15:40:53 1992  Karl Berry  (karl@cs.umb.edu)

	* out-epsf.c: Doc fix.

Mon Oct  5 09:31:30 1992  Karl Berry  (karl@cs.umb.edu)

	* main.c (read_command_line): Make -print-clean-info imply -verbose.
        (main): Remove now-redundant test for `print_clean_info'.

	* out-chars.c (write_image_chars): Only report "+" if we have to
	keep reading vertically, not horizontally.
        (do_image_line): Remove the report from here.

Sun Oct  4 08:59:55 1992  Karl Berry  (karl@cs.umb.edu)

	* out-chars.c (write_image_chars): Don't keep adding to
	`row_height' for appended image rows, just assign.

	* main.c (main): Test for zero resolution here.
        (set_input_format): Not here.

	* out-chars.c (clean_threshold): Remove.
        * out-chars.h: Likewise.
        * main.c (USAGE, read_command_line): And here.

	* out-chars.c (bb_equal_p): New fn.

	* out-chars.c (offset_bb_list): Function moved here from bb-outline.c.

	* out-chars.c (clean_bitmap): Rewrite to take a list of known
	boxes, and remove those that aren't in the list.
        (output_chars): Only call `clean_bitmap' once, after we've
        combined everything.
        (image_to_bitmap_bbs): New fn.

Sat Oct  3 13:54:39 1992  Karl Berry  (karl@cs.umb.edu)

	* out-chars.c (write_image_chars): Don't abort if the image ends
	prematurely, just give a warning and return.

	* out-chars.c (OUTPUT_CHAR_P): New macro.
        (output_chars): Use it, instead of repeating the same expr several
        times.

Fri Oct  2 16:14:03 1992  Karl Berry  (karl@cs.umb.edu)

	* out-chars.[ch]: New files constructed from main.[ch].
        * main.c: Include out-chars.h.

	* extract.c (REPORT_SCANLINE): use REPORT.

	* main.c (-info-filename): remove this option.

	* {epsf,strips}.[ch]: Rename to out-*.
	* GNUmakefile (c_and_h): Likewise.

	* ifi.[ch]: New files constructed from image-char.[ch] and main.c.
        * main.c: include ifi.h.
        (extract_chars): Change call to read_ifi_file.
        * GNUmakefile (c_and_h): add `ifi', remove `image-char'.

Mon Sep 28 11:11:59 1992  Karl Berry  (karl@cs.umb.edu)

	* main.c: change `fprintf (stderr's to use REPORT*.

	* main.c (clean_bitmap): print the size of the bounding box being
	cleaned, not that of the enclosing character.  (halvers@sol.crd.ge.com)

Tue Sep 22 13:01:54 1992  Karl Berry  (karl@cs.umb.edu)

        * main.c (read_ifi_file): call make_suffix to make the default IFI
          filename, instead of appending to the root.
        (input_rootname): remove.
        (main): don't assign to input_rootname; just set output_name to
          the fn call.
        (input_name): new static.

        * main.c (clean_bitmap): if clean_threshold is 1.0, do nothing;
          else only clean if the gray value is > threshold, not >=.

        * main.c: make diagnostic messages consistent.

        * main.c (do_image_line): set `bb_offset' to just the width
          of the previous bb, since we're already incorporating the
          interbb whitespace in the second bb.

Mon Sep 21 10:32:07 1992  Karl Berry  (karl@cs.umb.edu)

        * main.c (read_command_line): new option -ifi-file, a synonym for
          -info-file.
        (USAGE): document it.

        * main.c (set_input_format): don't call strcmp on NULL if the
          input filename lacks an extension.

Thu Sep  3 09:30:54 1992  Karl Berry  (karl@hayley)

        * Version 0.5.

Sat Aug 29 16:14:35 1992  Karl Berry  (karl@hayley)

        * GNUmakefile (dist, install): new targets to deal with strips.tex.

Fri Aug 21 16:14:10 1992  Karl Berry  (karl@hayley)

        * main.c (read_ifi_file): improve warning message.

Mon Jul 13 16:58:44 1992  Karl Berry  (karl@hayley)

        * epsf.c (write_epsf): use `width_used' for the width of image buffer.

Thu Jul  2 14:06:09 1992  Kathy Hargreaves  (kathy@hayley)

        * main.c (BB_TO_CARTESIAN): subtract IMAGE_CHAR_BASELINE_ADJUST(.)
          instead of adding it.

        * main.c (bitmap_to_gf_char): removed `char_baseline'.

Sun Jun 28 11:54:23 1992  Kathy Hargreaves  (kathy@hayley)

        * main.c (bitmap_to_gf_char): added cartesian_bb; fill it using
          BB_TO_CARTESIAN and assign to the GF char.  Print out the GF
          char's rows for baseline adjustment.

Fri Jun 26 13:45:20 1992  Kathy Hargreaves  (kathy@hayley)

        * main.c (read_ifi_file): changed warning to include encoding name.

Mon Jun 15 07:37:29 1992  Karl Berry  (karl@hayley)

        * extract.c (get_image_row): allocate more than one row at a time.

        * extract.c (get_image_row): don't realloc if we're keeping
          leading white rows.

        * main.c (extract_chars): change `nchars_per_line' to one if
          `print_guidelines' is true.

        * main.c (read_ifi_file): if the character name is undefined in
          the encoding, omit it from the output.

        * main.c (get_image_info): rename to `read_ifi_file'.

        * main.c (get_image_info): make `.notdef' mean omission, instead
          of `-1'.

	* image-char.h (image_char_type): new field `charname'.
        (IMAGE_CHARNAME): new accessor macro.
        * main.c (bitmap_to_gf_char): print the character name, instead of
          relying on %c.
        (get_image_info): set it.

        * main.h (print_scanline): new routine.
        * main.c (print_scanline): define it.
        * input-img.c (img_get_scanline): print the scanlines if
          `trace_scanlines' is set.
        * input-pbm.c (pbm_get_scanline): call it, instead of doing the
          printing inline.

Sat Jun 13 12:04:00 1992  Kathy Hargreaves  (kathy@hayley)

        * main.c (get_image_info): renamed charcode_str to charname_str.
          Removed comment-handling stuff.

        * main.c (encoding_name, encoding_info): added.
          (get_image_info): added `encoding_info'; call `encoding_number'
          on `charcode_str' instead of `xparse_charcode'.
          (USAGE, read_command_line): added -encoding option.
	 
Tue Jun  9 13:45:42 1992  Kathy Hargreaves  (kathy@hayley)

        * main.c (output_chars): deleted clean_all_bbs.
          (clean_bitmap): deleted CLEAN_ALL_BBS; call find_outline_bbs
          with false instead of this.  Updated doc.  Now only check
          bounding boxes which don't enclose the whole character, instead
          of those which also are on the edge, unless clean_all_bbs is
          true, whereupon check those also.
          (get_image_info): don't handle CLEAN_ALL_BBS_FLAG anymore.

        * image-char.h (image_char_type): deleted clean_inner_bbs field.
          (IMAGE_CHAR_CLEAN_ALL_BBS, CLEAN_ALL_BBS_FLAG): deleted

Mon Jun  8 12:33:45 1992  Kathy Hargreaves  (kathy@hayley)

        * input-pbm.c (pbm_get_scanline): increment scanline_count after
          printing it.

        * main.c (BB_TO_CARTESIAN): added.
          (bitmap_to_gf_char): when print-guidelines is true, print the
          bounding box's max and min (in that order) row in Cartesian
          coordinates, not the GF char's min and max row.

Fri Jun  5 21:18:12 1992  Kathy Hargreaves  (kathy@hayley)

        * main.c (output_chars): don't clean bounding boxes unless
          outputting the character.

	* main.c (get_image_info): set clean_all_bbs field of `c' false if
          there's not a CLEAN_ALL_BBS_FLAG at the end of the character string.

Fri Jun  5 09:19:48 1992  Karl Berry  (karl@hayley)

        * main.c (main): `return 0' instead of `exit (0)'.  (From Paul Eggert)

Tue Jun  2 18:03:52 1992  Kathy Hargreaves  (kathy@hayley)

        * main.c (output_chars): call clean_bitmap with 0's for LEFT_MARK
          and RIGHT_MARK if clean_all_bbs is true.

Mon Jun  1 11:19:46 1992  Kathy Hargreaves  (kathy@hayley)

        * main.c (output_chars): added clean_all_bbs to send to clean_bitmap.

        * main.c (clean_bitmap): clean only those boxes which are on the
          edges only if CLEAN_ALL_BBS is false; otherwise, clean them all.

        * main.c (get_image_info): if there's a CLEAN_ALL_BBS_FLAG appended
          to the character code, then set the clean_all_bbs field of c.

        * image-char.h (image_char_type): added clean_all_bbs field.

Sun May 31 13:10:48 1992  Karl Berry  (karl@hayley)

        * main.c: rename `design-size' option to `designsize'.

        * epsf.c (write_epsf): change the EPS output to not write one
          gigantic image.

Sat May 30 11:58:02 1992  Kathy Hargreaves  (kathy@hayley)

        * main.c (USAGE -clean-threshold): doc fix.

Fri May 29 11:34:52 1992  Karl Berry  (karl@hayley)

        * main.c (main): declare to return an int.

Tue May 26 07:56:34 1992  Karl Berry  (karl@hayley)

        * main.c: simplify comments on IFI file format, since now the real
          documentation describes it.

Mon May 25 11:45:49 1992  Karl Berry  (karl@hayley)

        * main.c (clean_bitmap): wasn't printing clean info for bbs that
          weren't cleared.

        * main.c (read_command_line): make -print-guidelines => -verbose.
        (USAGE): document this.
        (main): don't bother to test `print_guidelines' anymore when we
          doing verbose things.

        * main.c (main): use `output_name', not `gf_name' (which we no
          longer need).

        * main.c (set_{pbm,img}_input_format): set `input_extension' to
          just `pbm' or `img', omitting the leading `.'.

Sun May 24 18:03:09 1992  Karl Berry  (karl@hayley)

        * main.c (read_command_line): in -input-format, complain if they
          give an unrecognized input format.
        (main): call set_input_format.
        (set_input_format): new routine to intuit the input format from
          the input filename if they didn't specify.
        (set_{pbm,img}_input_format): new routines.

Thu May 21 10:59:23 1992  Karl Berry  (karl@hayley)

        * GNUmakefile, version.c, main.c: change `imagetofont' to `imageto'.

        * strips.c (write_chars_as_strips): don't bother to initialize
          `gf_row'.

Wed May 20 07:34:38 1992  Karl Berry  (karl@hayley)

        * strips.h: include image-header.h, not input-img.h.

        * main.c (extract_chars): new fn (to shorten main).
        (main): call it.

        * main.c (do_epsf): new global.
        (read_command_line): new option `-epsf'.
        (main): call `write_epsf' if set.
        * GNUmakefile (c_and_h): add epsf.
        * epsf.[ch]: new files.

Mon May  4 09:27:55 1992  Karl Berry  (karl@hayley)

        * main.c (main): don't lose the `<dpi>gf' from the output name.

        * strips.c (write_chars_as_strips): add one to `lines_per_char' to
          compensate for roundoff error.

        * main.c (verbose): remove this, as it's defined in report.c.

Sun May  3 19:31:29 1992  Karl Berry  (karl@hayley)

        * strips.c (write_chars_as_strips): use REPORT for the progress
          report.

Tue Apr 21 07:44:36 1992  Karl Berry  (karl@hayley)

        * extract.c (append_next_image_row): use XTALLOC1.

Mon Apr 20 12:53:43 1992  Karl Berry  (karl@hayley)

        * main.c (main): simplify logic again for figuring out the output
          filename; remove any suffix from the input filename before it is
          used to make the IFI or output filename.
        (get_image_info): the variable is named `input_rootname' now, not
        `input_basename'.

Wed Apr 15 15:26:53 1992  Karl Berry  (karl@hayley)

        * main.c (main): `make_output_filename' is now `extend_filename'.

Wed Apr  8 12:28:59 1992  Karl Berry  (karl@hayley)

        * main.c (do_image_line): don't increment the max_col transition
          in the horizontally concatenated block, either.

        * main.c: make most of the globals static.
        * main.h: remove declarations for unneeded globals.

        * main.c (debug): add this.

Mon Apr  6 16:43:39 1992  Karl Berry  (karl@hayley)

        * extract.c (get_image_row): count white rows in image size; free
          the scanline storage after we've copied it.

Sun Apr  5 11:46:33 1992  Karl Berry  (karl@hayley)

        * main.c (do_image_line): don't increment the transition which we
          use for the maximum column.

Sat Apr  4 12:57:15 1992  Karl Berry  (karl@hayley)

        * main.c (do_image_line): move test for enough boxes to above
          dealing with the current bitmap, so garbage at the end doesn't
          mess us up.  (from wales@cs.ucla.edu)

Wed Apr  1 16:17:18 1992  Karl Berry  (karl at hayley)

        * main.c (main): simplify the output name creation code.

        * main.c (font_name_extension): rename to `input_extension', and
          don't bother to initialize it.

Sat Mar 28 07:48:43 1992  Karl Berry  (karl at hayley)

        * Version 0.4.

        * Change copyright years to 1992 only.

Mon Mar  9 16:46:10 1992  Kathy Hargreaves  (kathy at hayley)

        * main.c (main): move setting of dpi to above (and out of)
          do_strips test.

        * main.c (main): set output_name_suffix with static strings
          and xmalloc dpi and design_size_str.

        * main.c (main): if output_name has no suffix, append either
          output_name_suffix or design_size to its stem before appending
          a suffix.

Sat Mar  7 09:55:42 1992  Karl Berry  (karl at hayley)

        * GNUmakefile (libraries): define again.
        (files, headers, sources): replace with `c_and_h', etc.

Thu Mar  5 06:47:26 1992  Karl Berry  (karl at hayley)

        * main.c (output_filename): rename to `output_name', and remove
          the other `output_name' declaration.

Wed Mar  4 17:21:32 1992  Kathy Hargreaves  (kathy at hayley)

        * main.c (main) changed `output_basename' to `output_name'.
          Deleted add_suffix and add_design_size.
          Added dpi, design_size_str, and output_name_suffix.
          Use make_output_filename to check if output name has a suffix.
          If output_name not given and not doing strips, set design_size_str.
          If doing strips, set output_name_suffix to "sp".
          Always set dpi.

Mon Mar  2 12:15:52 1992  Karl Berry  (karl at hayley)

        * main.c (main): decrease nchars_per_line to 11.

Sun Mar  1 13:03:23 1992  Karl Berry  (karl at hayley)

        * GNUmakefile (files): remove bb-outline.

        * GNUmakefile (need_pbm_library): define.
        (sources): remove the PBM stuff.

Fri Feb 28 07:53:09 1992  Karl Berry  (karl at hayley)

        * extract.c (image_row_transitions): new routine.
        (some_black_to_all_white_row): call it after getting the image row.
        (append_next_image_row): call it after appending.
        (get_image_row): do not compute the transitions here.

        * main.c (bitmap_to_gf_char): the GF min_row is the depth, the GF
          max_row is the height; we had it the other way around.  Also,
          `row_baseline' is one-origin, but char rows are 0-origin.

Tue Feb 25 14:40:54 1992  Karl Berry  (karl at hayley)

        * main.c (main): decrease number of chars reported without
          guidelines to 12.

        * input-pbm.c (pbm_get_scanline): declare the test character for
          EOF as int, not char.  Also, print the scanlines if
          trace_scanlines is set.
        * main.c (trace_scanlines): new global.
          (read_command_line): new option.

        * bitmap2.c (bitmap_vconcat): put one blank row between the
          bitmaps, to compensate for what some_black... removed.

        * extract.c (get_image_row): don't keep leading white rows if
          there weren't any; always append scanline, even if there were.

Fri Jan 31 17:08:38 1992  Karl Berry  (karl at hayley)

        * main.c (read_command_line): declare `option_index' (for new
          getopt).

Tue Jan 21 11:47:26 1992  Kathy Hargreaves  (kathy at hayley)

        * main.c (main): wasn't putting the suffix on the gf name when
          gave an output filename without a suffix because was finding the
          dot in the pathname `../fonts'.

        * main.c (bitmap_to_gf_char): were switching the minimum and
          maximum rows when assigning to the gf char.

        * main.c (main): malloc gf_name more precisely.

        * main.c (bitmap_to_gf_char): fixed calculation of gf char's rows.
          (main): changed how build the gf output filename: if the user
          specifies an output file, don't ever add on a design size and don't
          add a suffix if there's one already.

        * main.c (bitmap_to_gf_char): now print gf character's (baseline-
          adjusted) row instead of the bounding box's (unadjusted) ones.

Mon Jan 20 14:46:16 1992  Kathy Hargreaves  (kathy at hayley)

        * main.c (main): added variable `output_basename' so user could
          specify an output file basename.  
          (read_command_line): Added `output-file' option.

Tue Jan 14 13:14:46 1992  Kathy Hargreaves  (kathy at hayley)

        * main.c (get_image_info): when call libfile_start with
          info_filename, specify "ifi" as the (now-default) suffix.

        * main.c [USAGE] (info-file): use <filename>.ifi if <filename>
          doesn't have a dotted suffix; otherwise use <filename>.

Thu Jan  9 08:29:52 1992  Karl Berry  (karl at hayley)

        * main.c (read_command_line): rename `scan_integer_list' to
          `scan_unsigned_list'.

        * *.c: do not include global.h.

        * *.h: remove #pragma once.

Wed Jan  8 15:28:00 1992  Karl Berry  (karl at hayley)

        * update copyright messages.

        * change `allocate to `xmalloc', `reallocate' to `xrealloc', and
          `string_copy' to `strdup'.

Tue Jul 30 13:18:48 1991  Karl Berry  (karl at ra.cs.umb.edu)

        * Version 0.3.

Fri Jul 26 07:02:28 1991  Karl Berry  (karl at hayley)

        * main.c (get_image_info): read the left and side bearings from
          the IFI file, if present.
        (bitmap_to_gf_char): use these numbers.
        * image-char.h (image_char_type): new members `lsb' and `rsb'.
        (IMAGE_CHAR_{L,R}SB): new accessor macros.

Wed Jul 24 06:07:11 1991  Karl Berry  (karl at hayley)

        * bitmap2.c (bitmap_concat): the height of the result is the
          height of one, not twice that.

        * main.c (do_image_line): rename `concat_bitmaps' to
          `bitmap_concat'.
        * GNUmakefile (files): new file `bitmap2'.

        * main.c (do_image_line): return a boolean saying if we need
          another image row.
        (main): if `do_image_line' fails, read more of the image.
        * extract.h (append_next_image_row): declare new routine.
        * extract.c (append_next_image_row): define it.
        (get_image_row): new routine.
        (some_black_to_all_white_row): call `get_image_row'.

        * make-gsfont.ps (octal-value): prepend 0 to the character code.

        * extract.c (some_black_to_all_white_row): use xcalloc to initialize
          `or_of_all', not allocate.  We need it to be all zeroes
          initially.

        * main.c, version.c: change `imgtogf' to `imagetofont'.

        * make-gsfont.ps: remove all the if-verbose's.

        * main.c: doc fix.

Mon Jul 22 07:54:42 1991  Karl Berry  (karl at hayley)

        * make-gsfont.ps (output-encoding): set /output-encoding to the
          dictionary.

        * main.c: output ``imagetofont'' as our name in the GF file header,
          instead of ``IMGtoGF''.

        * make-gsfont.ps (print-char-dimensions-if-verbose): lose the
          `-if-verbose'.

        * make-gsfont.ps (octal-value): `get' the character name, don't
          `load' it, so we find it in the right dictionary.

        * libpbm1.c: declare parms, external functions to avoid warnings.

Sat Jun 15 09:50:46 1991  Karl Berry  (karl at hayley)

        * input-*.c: change `checked_' to `x'.

Thu Jun  6 07:29:06 1991  Karl Berry  (karl at hayley)

        * All files: change to version 2 of the GPL.

Sat Jun  1 15:18:11 1991  Kathy Hargreaves  (kathy at hayley)

        * main.c (get_image_info): Now build an info filename if the
          variable info_filename *is* NULL, not when it's not.
          (USAGE): Deleted that resolution was set only for pbm input.
          Stated that input-format is required and shortened comment.

Fri May 31 14:30:01 1991  Kathy Hargreaves  (kathy at hayley)

        * imgtogf: Moved directory to `imagetofont'.

        * GNUmakefile: Changed program name from `imgtogf' to `imagetofont'.
    
        * main.c (get_image_info): Make default image info file be
          <fontname>.ifi instead of imginf.<fontname>.

        * main.[hc], input-*.[hc]: *_get_header now don't return a
          header but rather modify the global header in main.c.  Changed
          all references to `[img, pbm]_header->' to `image_header.'.
           
        * main.c, image-char.[hc]: Replaced all instances of `img_char'
          with `image_char'.

        * image-char.[hc]: Moved from img-char.[hc].

        * main.h (image_header): Made this visible to the outside.

        * input-[pbm, img].c ([pbm, img]_get_header): Set h to
          image_header in main.c. #include main.h.

        * main.c (read_command_line): Cast the assignment to
          image_header.hres to type two_bytes.
         
        * image-header.h, input-*.[hc], main.[hc]: Changed `img-header.h'
          to `image-header.h'.

        * main.c: Replaced all instances of `img_header*' with
          `image_header*'.  Moved `img_' and `pbm_' to the front of the
          function names.

        * img-header.h: Moved to image_header.h and replaced all
          instances of `img_header*' with `image_header*'.

        * input-img.[hc] (*_img_*): Moved `img_' to the front of the
          variable names.  Replaced instances of `img_header_type' with
          `image_header_type'. 

        * input-pbm.[hc] (*_pbm_*): Moved `pbm_' to the front of the
          variable names.

        * extract.c, strips.c: (ptr_get_scanline): Removed `ptr_' from in
          front of this function's name and replaced it with `image'.
          Replaced instances of `img_header*' with `image_header*', if any.

        * main.h (ptr_open_input_file, ptr_close_input_file, ptr_get_header,
          ptr_get_scanline): Removed `ptr_' from the front of all these
          names and replaced it with `image'.  Replaced `img_header_type'
          with `image_header_type'.

        * main.c (ptr_open_input_file, ptr_close_input_file, ptr_get_header,
          ptr_get_scanline): Moved and set all to NULL.
          Removed `ptr_' from the front of all these names and replaced it
          with `image'.
          (read_command_line): Remove "img-input-format" from option
          structure. 
          Removed variable need_resolutions, as don't need it.
          Force them to specify the input format on the command line
          rather than having a default.
          
Wed May 29 16:19:57 1991  Kathy Hargreaves  (kathy at hayley)

        * input-pbm.c (line_in_bytes): Deleted this global variable, as
          don't need it.  (pbm_readpbmrow reads right into line_in_bits in
          get_pbm_scanline.)

        * pbm.h: Took out #include for types.h.

        * input-pbm.c (get_pbm_scanline): Check if at EOF before calling
          pbm_readpbmrow. 

        * libpbm2.c (pbm_readpbmrow): Restored to original; can test if at
          EOF in the wrapper get_pbm_scanline.
          Took out #include for types.h.

        * input-pbm.c (get_pbm_scanline): Hooked up to libpbm2.c routine.
    
        * main.c (read_command_line): Combined some options and changed
          their names and their input.
          Make input-format take an argument.

Mon May 27 14:52:45 1991  Kathy Hargreaves  (kathy at hayley)

        * main.c (read_commandline): If both resolutions are missing and
          are required on the commandline, print that they both are, not
          just that the horizontal one is.

        * bb-outline.c (is_outline_edge): Changed VALID_LOCATION to
          BITMAP_VALID_PIXEL. 
          
        * pbmplus.h: Commented out malloc, etc. declarations.

        * libpbm2.c (pbmreadpbmrow): Make it return a boolean instead of a
          void, so will fit into our code.
          Make it return false instead of an error message.

        * pbm.h (top): pbmplus.h is in the current directory, so take out
          the `../' before it in the #include.
          (pbmreadpbmrow): Make it return a boolean instead of a void, so
          will fit into our code.

        * extract.c (top): Now #include input-pbm.h.
          (some_black_to_all_white_row): Changed all instances of
          get_img_scanline to get_scanline.
          
        * input-img.c (top): Now #include img-header.h.
          (get_img_header): Got rid of variable format, as now put that in
          the header.

        * main.c: (open_input_file, close_input_file, get_header, 
          get_scanline): Declared these pointers to functions so could set
          them to a set of routines belonging to the type of input we're
          using.  Set them to .pbm input format routines as a default.
          (font_name_extension): Added this static variable so could set
          it when get read the input format on the command line.  Set to
          `.pbm' by default.
          (main): Initialize img_header to all zeros so will know if the
          user set them using the command line.
          Changed call to open_img_input_file to open_input_file and
          concat font_name_extension instead of ".img" for the argument.
          Changed some comments.
          Changed the call to get_img_header to get_header.
          Changed the call to close_img_input_file to close_input_file.
          (USAGE): Added horz-resolution, img-input-format,
          pbm-input-format, and vert-resolution.
          (read_command_line): Added boolean variable need_resolutions to
          keep track of whether or not the user needs to input the
          horizontal and vertical resolutions on the command line.
          Added horz-resolution, img-input-format, pbm-input-format, and
          vert-resolution to the option variable long_options.
          If the argument is horz-resolution or vert-resolution, then set
          the appropriate field in the header.
          If the argument if img-input-format or pbm-input-format, the set
          the input function pointers in main to the appropriate set of
          functions that belong to the input format.  If the argument is
          the former, then set needs_resolution to false; if it's the latter,
          set it to true. 
          If the user wants .pbm input format, then check that the header's 
          resolutions are set; if not, issue an error message and exit. 
          
        * main.h (open_input_file, close_input_file, get_header, get_scanline):
          Added these function pointer declarations so extract.c and strips.c
          could use them.

        * strips.c (top): Now #include input-pbm.h.
          (write_chars_as_strips): Changed the call to get_img_scanline to
          a call to get_scanline.

Sat Apr 13 17:13:51 1991  Karl Berry  (karl at hayley)

        * main.c (get_image_info): use the libfile routines to read the
          image info files.

        * main.c, input-img.c: new includes from the library
          rearrangements.

Mon Feb 25 16:32:45 1991  Karl Berry  (karl at hayley)

        * main.c, strips.c: use `gf_...' instead of `..._gf_...'.

Sun Feb 17 09:39:20 1991  Karl Berry  (karl at hayley)

        * *.c: include config.h.

Tue Jan 22 15:43:19 1991  Karl Berry  (karl at hayley)

        * extract.[ch] (extract_subimage): move to kbase.

Thu Jan 17 10:32:09 1991  Karl Berry  (karl at hayley)

        * main.c (main): don't put the day of the week in the font comment.

Tue Oct  9 09:07:02 1990  Karl Berry  (karl at hayley)

        * main.c (scan_baseline_list): move to kbase.
        (baseline_list): make a vector of ints, not unsigneds.
        (main): test for the end of the baseline list being -1, not 0.

Mon Oct  8 16:37:07 1990  Karl Berry  (karl at hayley)

        * main.c: #include cmdline.h.
        (read_command_line): call FINISH_COMMAND_LINE.

Sun Sep 30 09:15:25 1990  Karl Berry  (karl at hayley)

        * main.c (do_image_line): don't give a report when we read part of
        the line, after all.

Fri Sep 28 13:47:15 1990  Karl Berry  (karl at hayley)

        * main.c (scan_integer_list): use strtok, instead of doing the
        work ourselves.

Sat Sep 22 06:16:49 1990  Karl Berry  (karl at hayley)

        * main.c (output_chars): don't increment `current_char' if we've
        already seen the box.

Fri Sep 21 08:40:49 1990  Karl Berry  (karl at hayley)

        * img-char.h (img_char_type): new element, `alternating'.
        (IMG_CHAR_BB_ALTERNATING): macro to access it.
        * main.c (get_image_info): if the bb count is negative, set
        `alternating' (and make it positive).
        (output_chars): handle the bounding boxes alternating.

        * main.c (do_image_line): give a progress report when we read part
        of the line.

        * main.c (read_command_line): return NULL at the end; the POSIX
        include files don't declare `exit' as volatile, more's the pity.
        * bb-output.c (is_outline_edge): return false at the end, for the
        same reason.

Sun Sep 16 11:13:43 1990  Karl Berry  (karl at hayley)

        * main.c: include "getopt.h" instead of <getopt.h>.

        * main.c (read_command_line): change call of PARSE_CHAR_CODE to
        xparse_char_code.

        * main.c (main): make the default info filename `imginf.<name>',
        not `imginfo.<name>'.

Sat Sep  8 10:06:19 1990  Karl Berry  (karl at hayley)

        * main.c (read_command_line): remove any suffix on the font name
        before returning it.

        * main.c (read_command_line): use GET_RANGE.

        * main.c (get_image_info): use PARSE_CHAR_CODE to get the
        character code from the file.

Thu Sep  6 06:16:29 1990  Karl Berry  (karl at hayley)

        * main.c (scan_integer_list): doc fix.

Wed Sep  5 06:19:53 1990  Karl Berry  (karl at hayley)

        * main.c (USAGE): doc fix in -range.

Tue Sep  4 09:33:49 1990  Karl Berry  (karl at hayley)

        * main.c (do_image_line): pass the current character to
        output_chars, not the current box count.

        * extract.c (REPORT_SCANLINE): output to stderr instead of stdout.

        * main.c (get_image_info): always assign to the character code and
        omit fields.

Mon Sep  3 16:57:02 1990  Karl Berry  (karl at hayley)

        * main.c (get_image_info): use NULL in subsequent calls to strtok.

        * main.c (get_encoding): replace with get_image_info; change
        callers.
        * img-char.[ch]: new files to support the data structure.

Thu Aug 16 08:00:19 1990  Karl Berry  (karl at hayley)

        * bb-outline.c (free_bounding_box_list): check if the list is
        allocated before freeing it.

        * main.c (do_image_line): only say that we've read too many boxes
        once.

Wed Aug  8 08:06:53 1990  Karl Berry  (karl at hayley)

        * main.c (read_command_line): change `encoding-file' to
        `info-file'.

Tue Aug  7 08:53:13 1990  Karl Berry  (karl at hayley)

        * main.c (main): use the basename of the image filename to
        construct the output name, instead of the full name.

        * main.c (USAGE): explain `-baselines' better.

Thu Jul 26 06:54:56 1990  Karl Berry  (karl at hayley)

        * extract.c (find_transitions): move to kbase.

Tue Jul 24 13:09:38 1990  Karl Berry  (karl at hayley)

        * main.c: don't include time.h.

Thu Jul 19 15:22:29 1990  Karl Berry  (karl at aten)

        * main.c (main): don't dereference baseline_list if it's null.

Mon Jul 16 08:56:41 1990  Karl Berry  (karl at hayley)

        * main.c (clean_bitmap): only print the `. ' if we're printing the
        cleaning info.

Sun Jul 15 08:27:52 1990  Karl Berry  (karl at hayley)

        * bb-outline.c (append_bounding_box_list): don't change anything
        if we're appending a list of length zero.

Fri Jul 13 11:35:15 1990  Karl Berry  (karl at hayley)

        * main.c (clean_bitmap): also potentially clean bounding boxes on
        the bottom edge.

        * main.c (SET_EDGES): make coordinates relative to the bitmap of
        the character.

        * main.c (clean_bitmap): only test the gray value for bounding
        boxes that are on the edge.

        * main.c (output_chars): return the number of characters actually
        output, omitting the ones out of range.
        
        * main.c (clean_bitmap): print gray values for the bounding boxes
        if requested.
        (read_command_line): new option, `print_clean_info'.

Thu Jul 12 06:08:33 1990  Karl Berry  (karl at hayley)

        * extract.c (some_black_to_all_white_row): don't output a newline
        after reading the scanlines. 

        * main.h: new file.
        * extract.c: include it, remove declaration of verbose.

        * strips.[ch]: new files.
        * main.c (main): cut the image into strips if requested.
        (read_command_line): new option `strips'.

        * extract.c (find_transitions): new routine.
        (some_black_to_all_white_row): call it, at the end, with a new
        variable that is the logical or of all the rows we read.
        (some_black_to_all_white_column, found_color_in_column): these
        routines aren't needed any more.
        * main.c (do_image_line): use the transition vector to set
        `char_bitmap'.

        * main.c (scan_integer_list): increment length after checking the
        exit condition.

        * main.c (do_image_line): new routine, consisting of a lot of the
        main loop.

        * main.c (bitmap_to_gf_char): determine the baseline.
        (read_command_line): new option `baselines' to set the baselines.
        (scan_integer_list): new routine.

        * extract.c (found_color_in_column): start halfway down the
        bitmap.

Wed Jul 11 06:19:51 1990  Karl Berry  (karl at hayley)

        * main.c (bitmap_to_gf_char): take another argument, the character
        code, to consolidate where the GF char is set.

        * main.c (nchars_per_line): new static to say how many characters
        we can report on per line; different for `print_guidelines' being
        set and not set.

        * main.c (print_guidelines): new global.
        (read_command_line): new option to set it.
        (bitmap_to_gf_char): print the row numbers if it's set.

        * bb-outline.c (find_outline_bbs): take two additional arguments:
        column numbers between which we don't look.
        * bb-outline.h (find_outline_bbs): change the declaration.
        * main.c (main), (clean_bitmap): change the calls.

        * bb-outline.c (append_bounding_box_list): reallocate based on the
        element size, not the list size.

        * bb-outline.c (set_bounding_box_list_offset): replace by
        `offset_bounding_box_list'.
        (append_bb): don't offset the bounding boxes as they come in.
        * bb-outline.h (set_bounding_box_list_offset): likewise.
        * main.c (main): change call.

        * main.c (output_chars): set char_code to *next_code at the bottom
        of the loop, and increment next_code.

Tue Jul 10 06:10:05 1990  Karl Berry  (karl at hayley)

        * bb-outline.c (set_bounding_box_list_offset): new routine.
        (append_bb): move the bounding box to the right by the offset.
        * bb-outline.h (set_bounding_box_list_offset): declare it.

        * main.c (get_char_code): rename to get_encoding, and read the
        whole file.

        * bb-outline.h (init_bounding_box_list, append_bounding_box_list):
        declare new routines.
        bb-outline.c (same): define them.

Mon Jul  9 08:10:20 1990  Karl Berry  (karl at hayley)

        * main.c (main): don't split each line at white columns.

        * extract.c (clean_bitmap): set verbose to false before calling
        find_outline_bbs.

        * main.c (get_char_code): make sure we actually find a character
        code.

        * main.c (output_chars): don't extract or clean anything if the
        character isn't within range.

        * extract.c (REPORT_SCANLINE): report every 100 scanlines.

        * main.c (output_chars): only give the status report if we
        actually output the character.

Sat Jul  7 10:43:18 1990  Karl Berry  (karl at hayley)

        * bb-outline.c (append_bb): changed MAX_ROW, instead of MAX_COL.

        * main.c (clean_bitmap): new routine.
        (output_gf_chars): call it.
        * bb-outline.c (find_outline_bbs): take an additional parameter to
        determine whether to look for inside outlines or not.

        * extract.c (REPORT_SCANLINE): report every 50 scanlines, instead
        of every 10.
        
        * bb-outline.c (find_outline_bbs): look for outlines in
        column-major order, instead of row-major.

