2020-12-04  Karl Berry  <karl@freefriends.org>

	* pl-lexer.l (YY_BUF_SIZE): #define 110000, for the same
	reason as the previous change. Two separate buffer overflows,
	it seems.

2020-11-21  Karl Berry  <karl@tug.org>

	* pl-lexer.l (MAX_PTR): increase to 100000; the tests/xyarabic.opl
	file has a COMMENT string longer than 10000 (the previous value),
	but this did not normally cause an error exit status, unfortunately.
	Finally did fail and was reported by Scott Norton here:
	https://tug.org/pipermail/tex-k/2020-November/003391.html.

2018-10-18  Norbert Preining  <preining@logic.at>

	* ligkern_routines.c (retrieve_ligkern_table): need
	lig_kern_size+1 for `activity' array, else glibc 2.28
	on 32-bit architectures finds malloc error.
	Original report from Tom Callaway,
	https://tug.org/pipermail/tex-live/2018-September/042411.html

2018-09-09  Karl Berry  <karl@tug.org>

	* overbmp.test: LC_ALL=LANGUAGE=C.

2018-01-18  Karl Berry  <karl@tug.org>

	* error_routines.c (yyerror, warning_0, fatal_error_0,
	internal_error_0),
	* out_routines.c (out): printf %s instead of direct string.
	From Debian.

2016-02-27  Akira Kakuto  <kakuto@fuk.kindai.ac.jp>

	* omfonts.c, help.test: Add an option -charcode-format for
	compatibility.

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

	* Makefile.am: Better dependencies for 'make check'.

2015-01-11  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* error_routines.[ch], omfonts.c: Non-zero error return code.
	* check.test: Also test writung OPL file to stdout.
	* selectfont.test: Also test writung OVP file to stdout.
	* bad.test, version.test: Shell scripts for new tests.
	* tests/badofm.ofm, tests/badopl.opl, tests/badovf.{ofm,ovf},
	tests/badovp.ovp: New test input files.
	* Makefile.am: Add new test shell scripts and input files.	

2014-11-08  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* omfonts.c: Help texts for C and Web2C versions differ.
	* help.test: New shell script to test help messages and options.

2014-09-22  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* font_routines.c: Fixed packet_table realloc bug.
	Clean up font_table and move_table memory management.
	Reduce BLOCK 256 => 16 to reduce wasted packet_table space.

2014-08-20  Akira Kakuto  <kakuto@fuk.kindai.ac.jp>

	* char_routines.c: Move '#define check_range' to the top-level.

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

	* char_routines.c, ligkern_routines.c: More OFM checking.
	* check.test, check.{ofm,opl}, checked.opl:
	Shell script and data for a new test.
	* Makefile.am: Add the new test.

2014-08-18  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* ofonts.test: Fix parallel tests.

2014-08-17  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* ligkern_routines.c, out_routines.h, ligkern.test: Detect
	unused parts of OFM ligkern program.
	* tests/arabic.ovp: Use more than 64k ligkern steps.
	* tests/liguse{,1,2}.opl (new): Additional test data.
	* Makefile.am: Add the new test data.

2014-08-15  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* print_routines.c (print_ofm_level), tests/*.opl, tests/*.ovp:
	Output OFMLEVEL in hex (as in Web2C version).

	* char_routines.c, ligkern_routines.[ch], manifests.h,
	print_routines.[ch]: Handle BOUNDARYCHAR.

	* ligkern.test, tests/lig{all,bch,bdy,blb}.opl,
	tests/ligblv.{opl,ovp}, tests/ligloop1.{ofm,opl},
	tests/ligloop2.opl: Shell script and data for a new test.
	* Makefile.am: Add the new test.

2014-08-10  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* ligkern_routines.c (l_hash_input): Fixed another bug.

2014-08-09  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* ligkern_routines.c (l_hash_lookup): Fixed a bug in checking
	for infinite ligature loops.

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

	* char_routines.c: Compute checksum as in Web2C version.
	* ligkern_routines.[ch], list_routines.[ch]: Handle very long
	ligature programs.

	* yannis.test, tests/arabicr.pl, tests/arabic.ovp (new):
	Shell script and data for a new test.
	* Makefile.am: Add the new test.

2014-08-05  Peter Breitenlohner  <peb@mppmu.mpg.de>

	General cleanup.
	* char_routines.[ch], dimen_routines.[ch], error_routines.[ch],
	font_routines.[ch], header_routines.[ch], ligkern_routines.[ch],
	list_routines.[ch], omfonts.[ch], out_ofm.[ch],
	out_routines.[ch], param_routines.[ch], parse_ofm.[ch],
	print_routines.[ch]: Drop unused code.
	Declare functions with file scope as static.

2014-08-04  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* char_routines.c: Compute checksum.
	* header_routines.[ch]: Drop more unused code.
	* shorten.test, tests/realnum.out, tests/repeat.opl,
	tests/repeated.opl, tests/sample.{out,ovp}, tests/shorten.opl:
	Always use computed checksum.

2014-08-03  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* dimen_routines.c (set_indices): Fixed a dimen rounding bug.
	* header_routines.[ch]: Drop unused code.
	Always output SEVENBITSAFEFLAG for TFM files.
	* shorten.test, tests/shorten.opl, (new): Shell script and data
	for a new test.
	* Makefile.am: Add the new test.

2014-08-02  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* dimen_routines.c: Fixed a bug in the computation of nw, nh,
	nd, and ni.

2014-07-10  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* char_routines.c, ligkern_routines.c, omfonts.c,
	param_routines.c, parse_ofm.c: Allow char codes 10000..10FFFF
	from Supplementary Unicode Planes.

2014-07-09  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* Makefile.am: Drop Automake conditional OMFONTS.
	* ofonts.test, overbmp.test, tests/ofont*, tests/inbmp.opl,
	tests/overbmp.* (new): Shell scripts and data for new tests.

2013-12-06  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* omfonts.c (main): Use make_suffix() for implied ofm_name.
	* selectfont.test: Add test for 'ovp2ovf foo.ovp bar.ovf'.
	* Makefile.am (DISTCLEANFILES): Additional files.
	Mail from TANAKA Takuji <KXD02663@nifty.ne.jp>, 27 Nov 2013.

2013-07-05  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* omfonts.c (main): Use kpse_program_basename().

2013-06-28  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* pl-lexer.l: Add '#include <kpathsea/c-memstr.h>' for strlen().

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

	* Makefile.am: Allow subdir-objects.

2012-12-07  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* char_routines.c, ligkern_routines.c:
	Drop unused variables (gcc-4.6 warning).

2012-08-25  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* omfonts.c (PROG_IS): Compare program name case insensistively.
	(from W32TeX).

2012-07-09  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* pl-parser.[ch]: Regenerate with bison 2.5.1.

2012-06-20  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* pl-lexer.l: Added the never-interactive option to prevent
	flex from creating a problematic prototype for isatty().
	#include <kpathsea/lib.h> and drop prototype for xstrdup().

2012-01-24  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* pl-lexer.l: 'Correctly' scan real numbers for scan_fix().
	Reported by Tanaka Takuji <KXD02663@nifty.ne.jp>.

	* realnum.test, tests/realnum.opl, tests/realnum.out (new):
	Shell script and data for a new test.
	* Makefile.am: Add the new test.

2012-01-03  Akira Kakuto  <kakuto@fuk.kindai.ac.jp>

	* omfonts.c: fix a typo (omfomts ---> omfonts).

2011-12-20  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* font_routines.c (set_select_font): Select the correct MAPFONT.
	Reported by Saito Shuzaburo via Akira Kakuto, 20 Dec 2011 08:49:10.

	* selectfont.test, tests/sample.out, tests/sample.ovp,
	tests/sample0-h.opl (new): Shell script and data for a new test.
	* Makefile.am: Add the new test.

2011-05-30  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* Makefile.am: Use ../../am/bin_links.am for $(bindir) links.

2011-05-04  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* omfonts.c (main): Call kpse_set_program_name() with args
	argv[0] and name_program, not name_program and NULL to avoid
	lstat warnings.

	* charwd.test, level1.test, omfonts.test, repeat.test,
	specialhex.test: Always set TEXMFCNF to avoid warnings.

2011-02-15  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* Makefile.am [WIN32]: Add o??2o??.exe wrappers.

2010-12-30  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* omfonts.c: Check for argv[0] with .exe via strcasecmp().

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

	* char_routines.c (ensure_existence): Avoid OpenBSD Bus error
	caused by faulty logic.
	Reported by Edd Barrett, 10 Jun 2010 13:33:03.

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

	* char_routines.c (check_existence_all_character_fields):
	Avoid segfault (unspecified CHARWD defaults to 0.0).
	Reported by Akira Kakuto, 28 Feb 2010 10:34:40.

	* charwd.test, tests/charwd-r.pl, tests/charwd-v.vpl (new):
	Shell script and data for a new test.
	* Makefile.am: Add the new test.

2010-02-26  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* pl-lexer.l: #include <kpathsea/config.h> and drop some others.

2010-02-20  Peter Breitenlohner  <peb@mppmu.mpg.de>

	* pl-lexer.l: #include <kpathsea/c-proto.h> for KPSEDLL used
	by <kpathsea/mingw32.h>.

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

	* omfonts.[ch] (read_in_whole, name_ofm, name_opl, name_ovp,
	name_ovf, files): Declare file names as const_string.

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

	* char_routines.c (compute_ofm_character_info): Fix CHARREPEAT.
	* tests/repeated.opl: Ajusted.

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.
