2010-01-06  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* char_routines.c (check_existence_and_safety,
	doublecheck_existence): Avoid segfault.
	(check_and_correct): Call build_dimen_tables() after
	check_existence_all_character_fields(), which may add a width.
	(check_existence_all_character_fields): Print "" instead of NULL.

	* extra_routines.c: Fix various bugs and glitches in handling of
	extra font parameters (ivalues etc).  Add warnings in case they
	are used with OFMLEVEL<1.

2010-01-05  Peter Breitenlohner  <peb@mppmu.mpg.de>

	Implement basic functionality for OFMLEVEL=1 (CHARREPEAT only).

	Part 1: ofm => opl:
	* char_routines.c (print_characters), parse_ofm.c (ofm_organize):
	Handle repeated characters..

	Part 2: opl => ofm:
	* char_routines.h (num_char_info, words_per_entry): New globals.
	* char_routines.c (compute_ofm_character_info): Count char_infos.
	(output_ofm_character_info): Output char_infos.
	* out_ofm.c (compute_ofm_subsizes): Compute char_info size.
	(output_ofm_file): Call compute_ofm_extra_stuff() much earlier.
	(compute_ofm_subsizes): Move final check of bc, ec and related
	error messages to char_routines.c (compute_ofm_character_info).
	* extra_routines.c (output_ofm_extra_stuff): Allow OFMLEVEL=1
	unless nki+nkp+nkm+nkf+nkr+nkg>0.

	* omfonts.c: Version 2.1.

	* level1.test, repeat.test, tests/level1.opl, tests/repeat.opl,
	tests/repeated.opl (new): Shell scripts and data for new tests.
	* Makefile.am: Add the new tests.

2010-01-04  Peter Breitenlohner  <peb@mppmu.mpg.de>

	Cleanup extern declarations:
	char_routines.c (character_measures): Remove unused extern.
	(bchar): Remove extern and #include "parse_ofm.h".
	* parse_ofm.h: Extern decl of bchar (defined in parse_ofm.c).
	* omfonts.h (file_ofm): Extern decl (defined in omfonts.c).
	(output_ofm_header): Remove duplicate (in out_ofm.h).
	* omfonts.c (yyin): Remove extern (declared in parser.h).
	(output_ofm_header): #include "parse_ofm.h".
	* out_ofm.c (header_ptr,mw,mh,md,mi): Remove unused externs.
	(file_ofm): Remove extern and #include "omfonts.h".
	* font_routines.h (cur_packet): Remove duplicate extern.
	* header_routines.h (output_ofm_header): Remove duplicate extern.
	* parser.h (yylval): Remove extern, declared in the generated
	header pl-parser.h.
	* pl-parser.y: #include "pl-parser.h" (for yylval).
	* out_ofm.h (output_ofm_header): Remove (in header_routines.h).
	(output_ofm_extra_stuff): Remove (in extra_routines.h).
	(compute_ofm_character_info, output_ofm_character_info):
	Remove (in char_routines.h).

2010-01-03  Peter Breitenlohner  <peb@mppmu.mpg.de>

	Minor bug fixes:
	* char_routines.c (init_character): Fix a typo (bug?).
	(init_planes): Drop initialization of char_max[plane_max].
	(copy_characters, ensure_existence): Add check for non-existent
	plane (plane>plane_max).
	* dimen_routines.c (build_dimen_tables, retrieve_dimen_tables):
	Replace malloc() by xmalloc().
	* list_routines.c (in_cons, in_list1): Initialize index field.
	(in_list2): Fix a typo (bug) and initialize index fields.
	* parse_ofm.c (ofm_organize): Give correct OFMLEVEL in error
	messages.
	* header_routines.c (store_seven_bit_safe_flag,
	output_ofm_header): Store as 0x80 (as does PLtoTF) and not 0x01.

2009-09-18  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* header_routines.c (init_header): Call init_ofm_level() to
	allow reading PL/VPL (ofm_level=-1) files.

2009-09-11  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* pl-parser.l: Accept NFONTDIR as alias for NATURALFONTDIR for
	compatibility with omegaware (Web2C) versions.

2009-08-27  Peter Breitenlohner  <peb@mppmu.mpg.de>

	Avoid maximal compiler warnings.

	* char_routines.[ch] (check_existence_and_safety,
	doublecheck_existence): Constify string params.
	* error_routines.[ch]: Constify string params of all functions.
	* header_routines.c (init_design_size): ANSI C definition.
	({init,set}_{coding_scheme,family}): Use xstrdup'ed string
	literal to initialize non-const string (and later free it).
	* omfonts.c (names_msg, suffixes, full_suffixes): Constify strings.
	* out_routines.[ch] (character_measures, extensible_pieces,
	ligature_commands, xerox_faces, named_parameters,
	named_mathsy_parameters, named_mathex_parameters, type_directions,
	actual_directions, accent_kinds, move_directions, rule_measures,
	glue_shrink_stretch, glue_orders, glue_kinds): Constify strings.
	(out): Constify string param.
	* pl-lexer.l: (scan_string): Constify string param.

	* Makefile.am (INCLUDES): Add -DNOT_WEB2C, not to import from
	../lib/lib.h globals defined in ../lib/main.c.
	* dimen_routines.c (delta): Remove unused global var.

2009-08-19  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* Makefile.am: omfonts must depend explicitly on KPATHSEA_DEPEND,
	the implicit dependency via proglib is not enough.

2009-07-15  Peter Breitenlohner  <peb@mppmu.mpg.de>

	Implement DVI specials in ovp/ovf character packets.

	* font_routines.c (get_hex): fix hex digit conversion.
	* lexer.l (scan_hex_string): allow white space in hex strings. 

	* char_routines.c (print_packet): handle DVI specials.
	(string_balance): new function to decide SPECIAL or SPECIALHEX.
	* print_routines.[ch] (print_special_hex): output DVI specials.
	* out_routines.[ch] (out_hex): new function.

	* specialhex.test (new): Shell script to test specials.
	* tests/specialhex.ovp (new): test data.
	* Makefile.am: add the new test.

2009-06-17  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* Makefile.am (AM_CFLAGS): enable compiler warnings.

	* char_routines.c (get_char_remainder): declare as static.
	* dimen_routines.c (min_cover, shorten, set_indices):
	declare as static.
	* error_routines.c: #include "error_routines.h".
	* extra_routines.c (init_all_tables): declare as static, unused.
	* font_routines.c (font_no_incr, packet_ptr_incr, append_to_packet,
	move_ptr_decr, move_ptr_incr, output_ovf_fonts, in_ovf_4,
	in_ovf_unsigned_4, in_ovf_3, in_ovf): declare as static.
	* font_routines.h (in_ovf_4, in_ovf_unsigned_4):
	remove declaration as external.
	* header_routines.c (init_header_word, store_header_word,
	retrieve_header_word, init_face, init_seven_bit_safe_flag):
	declare as static.
	(init_ofm_level, init_font_dir): declare as static, unused.
	* header_routines.h (init_face, init_seven_bit_safe_flag):
	remove declaration as external.
	* pl-lexer.l (scan_int, scan_char, scan_fix, scan_string,
	scan_hex_string): declare as static.

2009-06-16  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* Makefile.am: pl-lexer.l provides yywrap, no need for $(LEXLIB).

2009-06-02  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* dimen_routines.c, manifests.h: rename INFINITY -> WEB_INFINITY,
	to avoid name conflict with INFINITY from cygwin <math.h>.

2009-05-31  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* omfonts.c: allow 'omfonts -ofm2opl' to be ofm2opl etc., used
	to test uninstalled program.

	* omfonts.test (new): Shell script to test ofm2opl etc.
	* tests/* (new): test data.
	* Makefile.am: add the new test.

2009-04-01  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* pl-lexer.l: Add #ifdef __MINGW32__ to source file.
	* pl-lexer.c: Regenerated.

2009-04-01  Taco Hoekwater  <taco@luatex.org>

	* pl-lexer.c: Add #ifdef __MINGW32__ to support compilation
	using the mingw32 cross-compiler.

2008-03-13  Karl Berry  <karl@tug.org>

	* font_routines.c (font_no_incr): change test to avoid reported
	segfault on http://norgz.info/download/gregorio.ovp.  Report
	from Elie Roux, 11 Mar 2008 17:19:46, fix from Arthur Reutenauer.

2008-03-02  Karl Berry  <karl@tug.org>

	* Makefile.in (omfonts.o): depend on y_tab.h.
	From Alexis Ballier, 29 Feb 2008 19:27:23, via
	https://bugs.gentoo.org/show_bug.cgi?id=209362.

2008-01-29  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* Makefile.in: Add @configure_input@ line.

2006-05-25  Roozbeh Pournader  <roozbeh@farsiweb.info>

	* font_routines.c (clear_map_font): fixed default value of font_at.

	* parse_ofm.c (ofm_organize): replaced magic number with constant.
	  (ofm_read_simple): fixed a 1-off offset.