summaryrefslogtreecommitdiff
path: root/imageto/ChangeLog.old
blob: 787050967f7268497762f7f4ea66157baffea0dc (plain)
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
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
Mon Apr  8 09:25:30 1996  Kathy Hargreaves  <letters@cs.umb.edu>

        * out-chars.c: doc fix.

Sat Dec  9 07:21:29 1995  Kathy Hargreaves  <karl@cs.umb.edu>

        * out-chars.c: (do_image_line): doc fix.

Wed Dec  6 08:28:15 1995  Kathy Hargreaves  <karl@cs.umb.edu>

        * out-chars.c: (output_chars): doc fix.

Tue Dec  5 09:40:23 1995  Kathy Hargreaves  <karl@cs.umb.edu>

        * out-chars.c: doc fix.

Mon Dec  4 07:40:24 1995  Kathy Hargreaves  <karl@cs.umb.edu>

        * main.c (USAGE): doc fix.

        * out-chars.c: doc fix.  Changed image_bitmap to image_line_bitmap.
        (do_image_line): Changed original_box_count to previous_box_count.

Sun Dec  3 09:05:05 1995  Kathy Hargreaves  <karl@cs.umb.edu>

        * out-chars.c: (do_image_line): doc fix.

Thu Nov 30 09:03:47 1995  Kathy Hargreaves  <karl@cs.umb.edu>

        * out-chars.c: (output_chars): doc fix.

Tue Nov 28 09:47:19 1995  Kathy Hargreaves  <karl@cs.umb.edu>

        * out-chars.c: (output_chars): reconsider the current bounding box
        if the current character is ignored.

Thu Nov 23 08:36:07 1995  Kathy Hargreaves  <karl@cs.umb.edu>

        * out-chars.c: (bitmap_to_gf_char): call kpse_find_tfm instead of
        find_tfm_filename. 

Thu Nov 16 09:01:31 1995  Kathy Hargreaves  <karl@cs.umb.edu>

        * out-chars.c: (bitmap_to_gf_char): Remove output_name's suffix
        before calling find_tfm_filename with it.

        * main.c: (OUTPUT_NAME): Made on-static so could do below.

        * main.h: Added output_name extern declaration.

        * out-chars.c: (bitmap_to_gf_char): Call kpse_find_tfm with
        find_tfm_filename(output_name) instead of something built with 
        input_name, so that will have the design size in the name.

Tue Nov 14 07:28:21 1995  Kathy Hargreaves  <karl@cs.umb.edu>

        * ifi.c: (read_ifi_file): increment n after setting the charcode,
        not before, so first character will have charcode 0.

Sat Oct 14 14:54:27 1995  Kathy Hargreaves  <karl@cs.umb.edu>

        * out-chars.c: (bitmap_to_gf_char): Also have to call
        remove_suffix on input name passed to kpse_find_tfm.

Thu Oct 12 10:44:23 1995  Karl Berry  <karl@cs.umb.edu>

        * out-chars.c (bitmap_to_gf_char): Have to call basename on the
        input name passed to kpse_find_tfm.

Sun Aug 13 18:01:11 1995  Karl Berry  <karl@cs.umb.edu>

        * main.c: Call kpse_set_progname.

Sun May 15 11:32:54 1994  Karl Berry  (karl@cs.umb.edu)

        * out-chars.c (output_chars): Change `x' to `<ignored>'.

Fri May 13 15:27:29 1994  Karl Berry  (karl@cs.umb.edu)

        * out-chars.c (bitmap_to_gf_char): Call kpse_find_tfm, now that it
        exists.

Sun Aug 22 13:32:49 1993  Karl Berry  (karl@cs.umb.edu)

	* out-epsf.c (PIXELS_TO_BP): No longer needed.

Sat Aug  7 13:44:10 1993  Karl Berry  (karl@cs.umb.edu)

	* input-img.c (img_get_header): Allow grayscale images.

	* *.h: types.h now in kpathsea.

Tue Jul 27 09:04:12 1993  Karl Berry  (karl@cs.umb.edu)

	* GNUmakefile (libraries): Add tfm.

Sun Jul 25 19:20:04 1993  Karl Berry  (karl@cs.umb.edu)

	* out-chars.c (bitmap_to_gf_char): Get TFM width from existing TFM
	file, if we can find one.  Convert for use with kpathsea.

Thu May 20 17:11:25 1993  Karl Berry  (karl@cs.umb.edu)

	* ifi.c: Doc fix.

Mon Nov  9 09:46:32 1992  Karl Berry  (karl@cs.umb.edu)

	* image-header.h: Doc fix.

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.