2001-06-03  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* Version 3.0.

	* configure.ac (AM_INIT_AUTOMAKE): Set version to 3.0.

	* eb/error.h (EB_ERR_FAIL_OPEN_LANG, EB_ERR_FAIL_READ_LANG,
	EB_ERR_FAIL_SEEK_LANG, EB_ERR_UNEXP_LANG, EB_ERR_NO_LANG,
	EB_ERR_NO_MSG, EB_ERR_NO_CUR_LANG, EB_ERR_NO_SUCH_LANG,
	EB_ERR_NO_SUCH_MSG): Removed.
	* eb/error.c (error_messages): Ditto.

	* eb/book.c (eb_initialize_language): Not to return a value.

2001-05-19  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/book.c: Function declaration of eb_initialize_catalog() is
	duplicated.  Fixed.
	* eb/book.c: 
	* eb/language.c, eb/message.c: Removed.
	All functions in the files except for eb_initialize_languages()
	are removed.
	eb_initialize_languages() is renamed to eb_initialize_languages()
	and it is now placed in eb/book.c.
	* eb/defs.h (EB_MAX_LANGUAGE_NAME_LENGTH, EB_MAX_MESSAGE_LENGTH,
	EB_MAX_LANGUAGES, EB_MAX_MESSAGES): Deleted.
	* eb/defs.h (EB_Language_Code, EB_Message_Code, EB_Language_Struct):
	Removed.
	* eb/defs.h (EB_Book_Struct): Delete `language_file_name', 
	`language_zio', `language_count', `languages', `language_current',
	and `messages' from the structure.
	* eb/zipbook.c (eb_zip_book_eb): Find LANGUAGE file by itself.
	* eb/unzipbook.c (eb_unzip_book_eb): Ditto.
	* eb/zipinfobook.c (eb_zipinfo_book_eb): Ditto.

2001-05-11  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* Version 3.0beta1.

	* configure.ac (AM_INIT_AUTOMAKE): Set version to 3.0beta1.

	* eb/Makefile, libebutils/Makefile, ebfont/Makefile, ebinfo/Makefile,
	ebrefile/Makefile, ebzip/Makefile: Delete dependencies between *.c
	and *.o.

2001-05-09  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* m4/eb3.m4 (eb_LIB_EB3): Avoid other AC_TRY_LINK and CK_TRY_RUN
	checks linking libeb.* to test program.

2001-05-08  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* Makefile.am (ACLOCAL_AMFLAGS): Set the variable to `-I m4', not
	`-I $(srcdir)/m4'.

2001-05-02  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebzip/zipbook.c (ebzip_zip_book_epwing): Fix a bug that ebzip
	doesn't compress gaiji files.

	* eb/narwfont.c (eb_initialize_narrow_font): Canonicalize font file
	name before fix.
	* eb/filename.c (eb_canonicalize_font_file_name): New function.

	* po-ebutils/Makefile.in (POTFILES): Updated.
	Delete ebzip/filename.c and add ebrefile/ebrefile.c.

	* ebrefile/Makefile.am: Revised.  Now ebrefile is written in C.
	* ebrefile/ebrefile.c: New file.
	* ebrefile/ebrefile.in: Deleted.

2001-04-28  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebzip/filename.c, eb/filename.c: fix_path_name_suffix() is
	renamed to eb_fix_path_name_suffix() and its definition is moved
	from ebzip/filename.c to eb/filename.c.
	* ebzip/filename.c: Removed.
	* ebzip/Makefile.am (ebzip_SOURCES): Delete `filename.c'.

	* ebfont/Makefile.am (ebfont_LDADD): Fix the order of library to
	be linked.
	* ebinfo/Makefile.am (ebinfo_LDADD): Ditto.
	* ebzip/Makefile.am (ebzip_LDADD): Ditto.

2001-04-24  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/setword.c (eb_fix_word): Fix word if the given word is for
	keyword search or multi-search without candidates.  Reported by
	Kenichi Suto.

2001-04-23  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* configure.in: Renamed to `configure.ac'.

2001-04-13  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/narwfont.c (eb_initialize_narrow_font): Fix a bug in reopen
	a font file, reported by HASEGAWA Masafumi.

2001-04-12  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/subbook.c (eb_initialize_indexes): Fix calcuration of end
	page number of an index.

	* m4/gettext.m4 (eb_GNU_GETTEXT): Ignore arguments.
	* configure.in (eb_GNU_GETTEXT): Don't pass arguments to the macro.

	* eb/po: Move the directory to po-eb.
	* po-eb/Makefile.in (top_builddir, subdir): Updated.
	* po: Move the directory to po-ebutils.
	* po-ebutils/Makefile.in (subdir): Updated.

	* configure.in (AC_OUTPUT): Delete `po/Makefile' and `eb/po/Makefile',
	and add `po-eb/Makefile' and `po-ebutils/Makefile' instead.
	* Makefile.am (SUBDIRS): Delete `po' and add `po-eb' and `po-ebutils'
	instead.
	* eb/Makefile.am (SUBDIRS): Deleted.

2001-04-10  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* Version 3.0beta0.

	* ebzip/Makefile.am (noinst_HEADERS): Add `ebzip.h'.

	* gttest.po: Add header.

2001-04-08  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/defs.h (EB_Search_Struct): Add `index_id'.
	* eb/subbook.c (eb_initialize_indexies): Also set index ID.
	* eb/multi.c (eb_initialize_multi_search): Likewise.
	* eb/setword.c (eb_fix_word): Copy `canonicalized_word' to `word'
	if as-is or alphabet search.  Don't modify `word' otherwise.
	Don't modify `word' nor `canonicalized_word' if keyword or
	candidate search.
	* eb/setword.c (eb_set_multiword): Pass entry's search information
	to `eb_fix_word', not to pass method's search information.

	* configure.in (AC_ARG_ENABLE): Use `[[' and `]]' in a help string.

	* Makefile.am (SUBDIRS): Delete `intl'.
	* configure.in (AC_OUTPUT): Delete `intl/Makefile'.
	* m4/gettext.m4 (AM_GNU_GETTEXT_HACKED): Renamed to `eb_GNU_GETTEXT',
	and revised to support GNU gettext 0.10.36.  Now, we inspect not only
	libintl but also libiconv.  Instead, we never use included libintl
	sources.

	* configure.in (AM_INIT_AUTOMAKE): Set version to `3.0beta0'.

2001-04-07  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebzip/zipbook.c (zip_book.c): Change type of the argument
	`subbook_name_list'.
	* ebzip/unzipbook.c (unzip_book.c): Ditto.
	* ebzip/zipinfobook.c (zipinfo_book.c): Ditto.

2001-04-06  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/internal.h.in (EB_TEXT_OPTINAL_TEXT): Defined.
	* eb/defs.h.in (EB_Search_Struct): add `end_page'.  Rename
	`index_page' to `start_page'.
	* eb/subbook.c (eb_initialize_indexes): Also initialize and set
	end pages of search methods.
	* eb/text.c (eb_read_text): Set text mode to EB_TEXT_OPTINAL_TEXT
	if the current position points to menu or copyright text.

2001-04-05  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* po/Makefile.in (POTFILES): Add `ebzip/copyfile.c',
	`ebzip/filename.c', `ebzip/unzipbook.c', `ebzip/unzipfile.c',
	`ebzip/zipbook.c', `ebzip/zipfile.c', `ebzip/zipinfobook.c',
	`ebzip/zipinfofile.c'.  Delete `ebzip/ebzip1.c'.

	* eb/text.h (EB_HOOK_BEGIN_BITMAP, EB_HOOK_END_BITMAP): Renamed to
	EB_HOOK_BEGIN_MONO_GRAPHIC and EB_HOOK_END_MONO_GRAPHIC.
	* eb/text.h (EB_HOOK_BEGIN_BMP, EB_HOOK_END_BMP): Renamed to 
	EB_HOOK_BEGIN_COLOR_BMP and EB_HOOK_END_COLOR_BMP.
	* eb/text.h (EB_HOOK_BEGIN_JPEG, EB_HOOK_END_JPEG): 
	EB_HOOK_BEGIN_COLOR_JPEG and EB_HOOK_END_COLOR_JPEG.
	* eb/text.h (EB_HOOK_BEGIN_IN_JPEG, EB_HOOK_END_IN_JPEG): 
	EB_HOOK_BEGIN_IN_COLOR_JPEG and EB_HOOK_END_IN_COLOR_JPEG.
	* eb/text.h (EB_HOOK_BEGIN_GRAY_GRAPHIC, EB_HOOK_END_GRAY_GRAPHIC): 
	Defined.

	* eb/internal.h.in (EB_BINARY_MONO_GRAPHIC, EB_BINARY_COLOR_GRAPHIC,
	EB_BINARY_WAVE, EB_BINARY_MPEG, EB_BINARY_GRAY_GRAPHIC, 
	EB_BINARY_INVALID): Defined.
	* eb/ebconfig.h (EB_Binary_Code): Defined.
	* eb/defs.h (EB_SIZE_BINARY_CACHE_BUFFER): Change the value to 128.
	* eb/defs.h (EB_Binary_Context_Struct): Add `code' and `width'.
	* eb/binary.c (eb_set_binary_mono_graphic, eb_set_binary_gray_graphic,
	eb_read_binary_mono_graphic): New functions.

2001-03-25  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/libintl_r.c, eb/libintl_r.h: Removed.
	* eb/Makefile.am (libeb_la_SOURCES): Remove `libintl_r.c'.
	* eb/Makefile.am (pkginclude_HEADERS): Remove `libintl_r.h'.

	* eb/error.h (EB_MAX_ERROR_MESSAGE_LENGTH): Deleted.
	* eb/error.c (eb_error_message_r): Deleted.

2001-03-20  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* m4/gettext.m4 (AM_GNU_GETTEXT_HACKED): Quote $INCLUDED_GETTEXT
	and $ENABLE_NLS.

2001-03-18  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebzip/zio.c (zio_reopen): Return -1 if `zio' context cannot be
	re-used.

	* eb/book.c (eb_initialize_book): `book->language_zio' was not
	initialized.  Fixed.

	* eb/defs.h (EB_Font_Struct): Fix the length of the array `file_name'.

	* eb/narwfont.c (eb_initialize_narrow_font): Fix a bug that it cannot
	open a font file correctly.

	* eb/zio.c (eb_reopen): Check strictly whehter the zio context is
	ready to reopen.

	* eb/zio.h (ZIO_REOPEN, ZIO_EBZIP1, ZIO_EPWING, ZIO_EPWING6,
	ZIO_SEBXA): Renumbered.

	* ebfont/ebfont.c: Don't include <fakelog.h>.
	* ebinfo/ebinfo.c: Ditto.
	* ebfont/ebfont.c (main): Don't call set_fakelog_name(), 
	set_fakelog_mode() nor set_fakelog_level().
	* ebinfo/ebinfo.c (main): Ditto.

	* libebutils/ebutils.c (output_try_help): Add the argument
	`invoked_name'.
	* libebutils/ebutils.c (output_version): Add the arguments
	`program_name' and `program_version'. 
	* libebutils/ebutils.c (parse_subbook_name_argument): Add the
	argument `invoked_name'.
	* libebutils/ebutils.c: Delete definition of `program_name',
	`program_version' and `invoked_name'.
	* ebfont/ebfont.c: Define `program_name', `program_version' and
	`invoked_name'.
	* ebinfo/ebinfo.c: Ditto.
	* ebfont/ebfont. (main): Don't initialize `program_name'.
	* ebinfo/ebinfo.c (main): Ditto.

	* ebfont/ebfont.c (subbook_list, subbook_count):
	Changed to `static' variables.
	* ebfont/ebfont.c (font_list, fount_count): Ditto.
	* ebfont/ebfont.c (image_list, image_count): Ditto.

	* ebfont/ebfont.c (parse_image_argument): The order of arguments
	is changed.
	* ebfont/ebfont.c (parse_font_argument): Ditto.

	* libebtuils/ebutils.c (find_subbook): Fix a bug.  The function
	returns invalid error code if an error has occured.

	* ebzip/copyfile.c: Include "eb.h", "error.h" and "internal.h".

	* ebzip/copyfile.c (copy_file): Don't `stat' the input file.

	* ebzip/copyfile.c (copy_files_in_directory): Don't output an error
	message if input directory doesn't exists.
	* ebzip/copyfile.c (copy_files_in_directory): Output an error message
	if failed to open the input directory.
	* ebzip/copyfile.c (copy_files_in_directory): Skip a file entry
	if it is not regular file.

	* ebzip/ebzip.c: Add `-s' and `--skip-content' options.
	* ebzip/ebzip.c (ebzip_skip_flag_font, ebzip_skip_flag_graphic,
	ebzip_skip_flag_movie, ebzip_skip_flag_sound): New variables.
	* ebzip/ebzip.h (EBZIP_DEFAULT_SKIP_FONT, EBZIP_DEFAULT_SKIP_GRAPHIC,
	EBZIP_DEFAULT_SKIP_MOVIE, EBZIP_DEFAULT_SKIP_SOUND): New cpp macros.
	* ebzip/ebzip.c (parse_skip_content_argument): New function.

	* ebzip/ebzip.h (EBZIP_SUFFIX_NONE, EBZIP_SUFFIX_EBZ,
	EBZIP_SUFFIX_ORG): New cpp macros.

	* ebzip/filename.c (compose_unfixed_path_name): Renamed to 
	fix_path_name_suffix() and revised.
	* ebzip/filename.c (compose_unfixed_path_name2,
	compose_unfixed_path_name3, compose_fixed_path_name,
	compose_fixed_path_name2, compose_fixed_path_name3): Deleted.

	* ebzip/zipbook.c (ebzip_zipbook): In order to compose a file name,
	use eb_find_file_name(), eb_compose_file_name(),
	eb_compose_file_name2(), eb_compose_file_name3() and
	fix_path_name_suffix().
	* ebzip/unzipbook.c (ebzip_unzip_book): Ditto.
	* ebzip/zipinfobook.c (ebzip_zipinfo_book): Ditto.

	* ebzip/zipbook.c (ebzip_zip_book): Support movie files.
	* ebzip/unzipbook.c (ebzip_unzip_book): Ditto.

2001-03-12  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* configure.in (AC_PROG_CC, AC_AIX, AC_MINIX, AC_PROG_LIBTOOL):
	Check AC_PROG_CC, (AC_AIX + AC_MINIX) and AC_PROG_LIBTOOL in that
	order.

	* eb/filename.c (eb_fix_file_name, eb_fix_file_name2,
	eb_fix_file_name3): Removed.
	* eb/filename.c (eb_find_file_name, eb_find_file_name2,
	eb_find_file_name3): Added.
	* eb/filename.c (eb_compose_path_name, eb_compose_path_name2,
	eb_compose_path_name3): Revised.
	* eb/internal.h.in (EB_FILE_NAME_START, EB_FILE_NAME_SOUND,
	EB_FILE_NAME_CATALOG, EB_FILE_NAME_LANGUAGE, EB_FILE_NAME_VTOC,
	EB_FILE_NAME_WELCOME, EB_FILE_NAME_CATALOGS, EB_FILE_NAME_HONMON,
	EB_FILE_NAME_HONMON2, EB_FILE_NAME_HONMONG, EB_FILE_NAME_HONMONS,
	EB_FILE_NAME_APPENDIX, EB_FILE_NAME_FUROKU): Deleted.
	* eb/internal.h.in (EB_SUFFIX_NONE, EB_SUFFIX_EBZ, EB_SUFFIX_ORG):
	Deleted.

	* eb/appendix.c (eb_initialize_appendix_catalog):
	Use eb_find_file_name() to find a file to open.
	* eb/appsub.c (eb_set_appendix_subbook_eb): Ditto.
	* eb/appsub.c (eb_set_appendix_subbook_epwing): Ditto.
	* eb/binary.c (eb_set_binary_mpeg): Ditto.
	* eb/book.c (eb_initialize_catalog): Ditto.
	* eb/language.c (eb_initialize_languages, eb_set_language): Ditto.
	* eb/message.c (eb_initialize_messages): Ditto.
	* eb/narwfont.c (eb_initialize_narrow_font): Ditto.
	* eb/subbook.c (eb_set_subbook_eb, eb_set_subbook_epwing): Ditto.

	* eb/defs.h (EB_Font_Struct): Delete unused member `available'.
	* eb/defs.h (EB_Book_Struct): Add the member `language_file_name'.
	* eb/defs.h (EB_Book_Struct): Add `language_file_name' and
	`language_zio'.

2001-02-26  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/appsub.c (eb_initialize_appendix_subbook,
	eb_set_appendix_subbook): fix `data' sub-dirtory name in 
	eb_set_appendix_subbook(), reported by HASEGAWA Masafumi.

2001-02-25  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* m4/eb3.m4 (AC_ARG_WITH): Fix typo.

	* m4/utimbuf.m4: Rename variable prefix from `ax_cv' to `ac_cv'.

2001-02-20  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* check gettext() in libintl , and then in libc.

2001-02-19  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebzip/filename.c (compose_unfixed_path_name2): Enclose "%s/%s"
	with F_().

2001-02-18  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebzip/filename.c (compose_out_path_name, compose_out_path_name2,
	compose_out_path_name3): Rename prefix from `compose_out_' to 
	`compose_unfixed_'.

	* ebzip/filename.c (compose_existent_path_name,
	compose_existent_path_name2, compose_existent_path_name3): Rename
	prefix from `compose_exisntent_' to  `compose_fixed_'.

	* lib/text.c (eb_read_text_internal): Fix ISO 8859-1 code point range,
	reported by HASEGAWA Masafumi.

2001-02-12  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebzip/ebzip.c: Split the file into 9 files; eb/copyfile.c,
	eb/ebzip.c, eb/ebzip.h, eb/unzipbook.c, eb/unzipfile.c, eb/zipbook.c,
	eb/zipfile.c, eb/zipinfobook.c and eb/zipinfofile.c.

	* ebzip/zipbook.c (zip_book, zip_book_eb, zip_book_epwing):
	Add the prefix `ebzip_', and revised.
	* ebzip/zipfile.c (zip_file): Ditto.
	* ebzip/unzipbook.c (unzip_book, unzip_book_eb, unzip_book_epwing):
	Ditto.
	* ebzip/unzipfile.c (unzip_file): Ditto.
	* ebzip/zipinfobook.c (zipinfo_book, unzip_book_eb,
	unzip_book_epwing): Ditto.
	* ebzip/zipinfofile.c (zipinfo_file): Ditto.

	* ebzip/ebzip.h (zip_level, keep_flag, quiet_flag, test_flag, 
	overwirte_mode): Add the prefx `ebzip_'.

	* libebutils/Makefile.am (INCLUDES): Remove `-DUSE_FAKELOG'.
	* libebutils/Makefile.am (noinst_HEADERS): Remove `fakelog.h'.
	* libebutils/Makefile.am (libebutils_a_SOURCES): Remove `fakelog.c'.
	* libebutils/fakelog.c, libebutils/fakelog.h: Removed.
	* libebutils/makedir.c: Don't use fakelog.

	* libebutils/makedir.c (make_missing_directory_chaing): Removed.

2001-02-11  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* m4/gettext.m4 (AM_GNU_GETTEXT_HACKED): Find gettext() in libc.

	* eb/search.c (eb_hit_list_keyword, eb_hit_list_multi): Comparison
	Group entry with `context->word', not `context->canonicalized_word'.
	Pill Book 2001 needs this fix.

	* eb/configure.in (AM_INIT_AUTOMAKE): Set version to `3.0alpha5'.

2001-02-09  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/filename.c (eb_canonicalize_path_name): Fix typo, reported
	by Satomi Igi.

	* eb/internal.h.in (EB_SUFFIX_ORG): Defined.
	* eb/subbook.c (eb_set_subbook_epwing): Try to open `HONMON2.ORG'.
	* eb/subbook.c (eb_set_subbook_epwing): Assume HONMON(.EBZ) file
	has graphic and sound data regardless of EPWING version.
	* ebzip/ebzip.c (zip_book, unzip_book, zipinfo_book): Support
	`HONMONS', `HONMONG' and `HONMON2.ORG' files.
	* ebzip/ebzip.c (zip_book): When compress HONMON2, output the result
	to HONMON2.EBZ, not `HONMON.EBZ'.
	* ebzip/ebzip.c (unzip_book): When uncompress HONMON2.EBZ, output the
	result to `HONMON2.ORG', not `HONMON2' or `HONMON'.

2001-02-06  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* zlib/Makefile.am (AC_CHECK_FUNCS): Fix typo (vnsprintf -> vsnprintf). 
	Reported by Takashi NEMOTO.
	* m4/gettext.m4: When tests, use the locale name `en_US' instead of
	`en'.  Reported by Takashi NEMOTO.
	* libebutils/Makefile.am (INCLUDES): Use @INTLINCS@, not `-I../intl'
	Reported by Takashi NEMOTO.
	* intl/libgettext.h: Added again.  Since `intl/bindtextdomain.c'
	includes the file.  Reported by Takashi NEMOTO.

2001-02-03  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* Version 3.0alpha4.

	* po/Makefile.in, eb/po/Makefile (DISTFILES): Distribute
	`Makefile.in', not `Makefile.in.in'.  Add `$(CATALOGS)'.
	* po/Makefile.in, eb/po/Makefile (distclean): Don't delete `Makefil.in'
	itself.
	* eb/text.c (eb_read_text_internal): Dispatch the BEGIN_WAVE hook.

2001-01-31  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/defs.h (EB_Appendix_Subbook_Struct): Rename `appendix_zio' to
	`zio'.
	* eb/defs.h (EB_Font_Struct): Rename `font_zio' to `zio'.

	* eb/graphic.c: Removed.
	* eb/Makefile.am (libeb_la_SOURCES): Remove `eb/graphic.c'.
	* eb/defs.h (EB_Subbook_Struct): The member `graphic' is removed.
	* eb/ebinfo.c (output_information): Delete `graphic search'
	information.

	* eb/defs.h (EB_Subbook_Struct): The member `sound' is added.
	* eb/subbook.c (eb_initialize_indexes): Recognize 0xd8 as sound data.

	* eb/defs.h (EB_Binary_Context_Struct): Add the members;
	`cache_buffer', `cache_length' and `cache_offset'.
	* eb/binary.c (eb_set_binary_wave): Add the argument `type'.
	* eb/binary.c (eb_est_binary_wave, eb_set_binary_color_graphic,
	eb_set_binary_mpeg, eb_read_binary, eb_unset_binary): Update cache
	data.

	* eb/Makefile.am (pkginclude_HEADERS): Add `zio.h'.

2001-01-28  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebfont/ebfont.c (make_subbook_size_image_fonts): Fix typo.

	* eb/uint.c: Renamed to `eb/bcd.c'.
	* eb/uint.c: Delete definition of eb_uint1(), eb_uint2(), eb_uint4()
	and eb_uint4_le().

	* eb/zio.h: New file.
	* eb/defs.h (EB_Zip_Code ,EB_Huffman_Node): Move declaration of 
	these types to `eb/zio.h'.
	* eb/defs.h (EB_SIZE_EBZIP_HEADER, EB_SIZE_EBZIP_MARGIN, 
	EB_MAX_EBZIP_LEVEL, EB_HUFFMAN_NODE_INTERMEDIATE,
	EB_HUFFMAN_NODE_EOF, EB_HUFFMAN_NODE_LEAF8, EB_HUFFMAN_NODE_LEAF16,
	EB_HUFFMAN_NODE_LEAF32, EB_ZIO_NONE, EB_ZIO_EBZIP1, EB_ZIO_EPWING,
	EB_ZIO_EPWING6, EB_ZIO_SEBXA, EB_ZIO_INVALID): Move definition of
	these cpp macros to `eb/zio.h'.
	* eb/zio.c: Include `eb/zio.h'.
	* eb/defs.h: Include `eb/zio.h'.
	
	* eb/zio.h (EB_Zip): Renamed to `Zio'.
	* eb/zio.h (EB_Zip_Code): Renamed to `Zio_Code'.
	* eb/defs.h (EB_SIZE_EBZIP_HEADER): Renamed to `ZIO_SIZE_EBZIP_HEADER'.
	* eb/defs.h (EB_SIZE_EBZIP_MARGIN): Renamed to `ZIO_SIZE_EBZIP_MARGIN'.
	* eb/defs.h (EB_MAX_EBZIP_LEVEL): Renamed to `ZIO_MAX_EBZIP_LEVEL'.
	* eb/defs.h (EB_HUFFMAN_NODE_INTERMEDIATE): Renamed to
	`ZIO_HUFFMAN_NODE_INTERMEDIATE'.
	* eb/defs.h (EB_HUFFMAN_NODE_EOF): Renamed to `ZIO_HUFFMAN_NODE_EOF'.
	* eb/defs.h (EB_HUFFMAN_NODE_LEAF8): Renamed to
	`ZIO_HUFFMAN_NODE_LEAF8'.
	* eb/defs.h (EB_HUFFMAN_NODE_LEAF16): Renamed to
	`ZIO_HUFFMAN_NODE_LEAF16'.
	* eb/defs.h (EB_HUFFMAN_NODE_LEAF32): Renamed to
	`ZIO_HUFFMAN_NODE_LEAF32'.
	* eb/defs.h (EB_ZIO_NONE): Renamed to `ZIO_NONE'.
	* eb/defs.h (EB_ZIO_EBZIP1): Renamed to `ZIO_EBZIP1'.
	* eb/defs.h (EB_ZIO_EPWING): Renamed to `ZIO_EPWING'.
	* eb/defs.h (EB_ZIO_EPWING6): Renamed to `ZIO_EPWING6'.
	* eb/defs.h (EB_ZIO_SEBXA): Renamed to `ZIO_SEBXA'.
	* eb/defs.h (EB_ZIO_INVALID): Renamed to `ZIO_INVALID'.

	* eb/unebzip.c, eb/unzepwng.c, eb/unzsebxa.c: Removed.
	The contents of those files are moved to `eb/zio.c'.

	* eb/defs.h (EB_Appendix_Subbook_Struct): Rename `appendix_zip' to
	`appendix_zio'.
	* eb/defs.h (EB_Appendix_Subbook_Struct): Remove `appendix_file'.
	* eb/defs.h (EB_Font_Struct): Rename `font_zip' to `font_zio'.
	* eb/defs.h (EB_Font_Struct): Delete `font_file'.
	* eb/defs.h (EB_Subbook_Struct): Rename `text_zip' to `text_zio'.
	* eb/defs.h (EB_Subbook_Struct): Delete `text_file'.
	* eb/defs.h (EB_Subbook_Struct): Rename `graphic_zip' to `graphic_zio'.
	* eb/defs.h (EB_Subbook_Struct): Delete `graphic_file'.
	* eb/defs.h (EB_Subbook_Struct): Rename `sound_zip' to `sound_zio'.
	* eb/defs.h (EB_Subbook_Struct): Delete `sound_file'.
	* eb/defs.h (EB_Subbook_Struct): Add `movie_zip'.
	* eb/defs.h (EB_Binary_Context_Struct): Delete `file'.
	* eb/defs.h (EB_Binary_Context_Struct): Rename `zip' to `zio'.

	* eb/zio.c: Don't include `ebconfig.h', `errorh.h' nor `internal.h'.
	* eb/zio.c (eb_zinitialize): Renamed to `zio_initialize_library'.
	* eb/zio.c (eb_zfinalize): Renamed to `zio_finalize_library'.
	* eb/zio.c (eb_zopen): Renamed to `zio_open'.
	* eb/zio.c (eb_zopen_none): Renamed to `zio_open_none'.
	* eb/zio.c (eb_zopen_ebzip): Renamed to `zio_open_ebzip'.
	* eb/zio.c (eb_zopen_epwing): Renamed to `zio_open_epwing'.
	* eb/zio.c (eb_zopen_epwing6): Renamed to `zio_open_epwing6'.
	* eb/zio.c (eb_zopen_sebxa): Renamed to `zio_open_sebxa'.
	* eb/zio.c (eb_zclose): Renamed to `zio_close'.
	* eb/zio.c (eb_zlseek): Renamed to `zio_lseek'.
	* eb/zio.c (eb_zread): Renamed to `zio_read'.
	* eb/zio.c (eb_zread_ebzip): Renamed to `zio_read_ebzip'.
	* eb/zio.c (eb_zread_epwing): Renamed to `zio_epwing'.
	* eb/zio.c (eb_make_epwing_huffman_tree): Renamed to
	`zio_make_epwing_huffman_tree'.
	* eb/zio.c (eb_unzip_slice_ebzip1): Renamed to
	`zio_unzip_slice_ebzip1'.
	* eb/zio.c (eb_unzip_slice_epwing): Renamed to
	`zio_unzip_slice_epwing'.
	* eb/zio.c (eb_unzip_slice_epwing6): Renamed to
	`zio_unzip_slice_epwing6'.
	* eb/zio.c (eb_initialize, eb_finalize, eb_reopen, eb_file):
	New functions.
	* eb/zio.c (eb_read_all): Renamed to `zio_read_raw'.

	* eb/zio.c (Zio): Add the member `file'.

	* eb/zio.c (zio_close, zio_lseek, zio_read, zio_read_ebzip,
	eb_zread_epwing, eb_zread_sebxa): Delete 2nd argument `file'.

	* eb/zio.c (zio_uint1, zio_uint2, zio_uint4): Defined.
	Don't use eb_uint1, eb_uint2 or zio_uint4.

	* eb/appendix.c (eb_finalize_appendix): Finalize `appendix_zio'
	in all subbooks.
	* eb/book.c (eb_finalize_book): Ditto.

	* eb/appendix.c (eb_initialize_appendix_catalog): Use zio to
	open a catalog file.
	* eb/book.c (eb_initialize_catalog): Ditto.

	* eb/book.c (eb_fix_misleaded_book): New function.
	* eb/book.c (eb_initialize_catalog): Fix chachacter-code information
	by calling eb_fix_misleaded_book().

	* eb/appendix.c (eb_initialize_catalog): Initialize `appendix_zio' in
	an EB_Appendix_Subbook Object.
	* eb/book.c (eb_initialize_catalog): Initialize `text_zio', 
	`graphic_zio', `sound_zio and movie_zio' in an EB_Book_Subbook object.

2001-01-27  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/error.h: Rivse error codes.
	* eb/error.c (error_messages): Revised.
	* eb/binary.c (eb_set_binary_mpeg): Fix a bug in initialization of
	binary context.
	* eb/filename.c (eb_decompose_movie_file_name): New function.
	* eb/filename.c (eb_compose_movie_file_name): Don't believe file name
	consists of 8 characters.
	
	* eb/text.c (SIZE_FEW_REST): Change the value from 40 to 48.
	* eb/text.c (eb_read_text_internal): BEGIN_MPEG hook was not called
	correctly. Fixed.

	* eb/subbook.c (eb_set_subbook_epwing): Don't suppose graphic or
	sound data are in HONMON file if EPWING version is 5 or later.

2001-01-23  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/error.h (EB_ERR_BAD_FILE_NAME, EB_ERR_BAD_DIR_NAME): Add these
	error codes.

	* eb/filename.c (eb_fix_directory_name, eb_fix_directory_name2,
	eb_fix_file_name, eb_fix_file_name2, eb_fix_file_name3, 
	eb_compose_path_name, eb_compose_path_name2, eb_compose_path_name3): 
	eb_compose_movie_file_name): Return EB_Error_Code, not {0 or -1}.
	
2001-01-21  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/error.h, eb/error.c (EB_ERR_FAIL_OPEN_BIANRY,
	EB_ERR_FAIL_READ_BINARY, EB_ERR_FAIL_SEEK_BINARY, EB_ERR_UNEXP_BINARY,
	EB_ERR_NO_CUR_BINARY, EB_ERR_NO_SUCH_BINARY): Add these error codes.

	* eb/binary.h: New file.
	* eb/Makefile.am (pkginclude_HEADERS): Add binary.h.

	* eb/text.h, eb/internal.h.in: Move function declaration of
	eb_uint1(), eb_uint2(), eb_uint4(), eb_bcd2(), eb_bcd4() and eb_bcd6()
	from eb/text.h to eb/internal.h.in.

2001-01-20  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* configure.in, m4/gettext.m4 (AM_GNU_GETTEXT): renamed to
	AM_GNU_GETTEXT_HACKED.
	* m4/gettext.m4: Use the language `en' instead of `fr' in the test
	program.

	* eb/defs.h (EB_Subbook_Struct): Fix array length of `text_file_name',
	`graphic_file_name' and `sound_file_name'.

	* eb/internal.h.in: Declare eb_intialize_binary().
	* eb/binary.c: Added.
	* eb/subbook.c: Call eb_initialize_binary() to initialize a binary
	context.

	* eb/Makefile.am (libeb_la_SOURCES): Add `binary.c'.

2001-01-17  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/text.c (EB_MAX_ARGV): Change the value from 4 to 6.

	* eb/filename.c (eb_compose_movie_file_name): Defined.

	* ebzip/ebzip.c (zip_eb_book): Renamed to zip_book_eb().
	* ebzip/ebzip.c (zip_epwing_book): Renamed to zip_book_epwing().
	* ebzip/ebzip.c (unzip_eb_book): Renamed to unzip_book_eb().
	* ebzip/ebzip.c (unzip_epwing_book): Renamed to unzip_book_epwing().
	* ebzip/ebzip.c (zipinfo_eb_book): Renamed to zipinfo_book_eb().
	* ebzip/ebzip.c (zipinfo_epwing_book): Renamed to
	zipinfo_book_epwing().

	* eb/defs.h (EB_Subbook_Struct): Add the following members;
	`graphic_file', `graphic_zip', `sound_file' and `sound_zip'.
	* eb/internal.h.in (EB_FILE_NAME_HONMONG, EB_FILE_NAME_HONMONS):
	Defined.
	* eb/subbook.c (eb_set_subbook): Split this function into
	eb_set_subbook(), eb_set_subbook_eb() and eb_set_subbook_epwing().
	* eb/subook.c (eb_set_subbook_epwing): Try opening graphic and sound
	files.

	* eb/uint.c, eb/internal.h.in (eb_uint4_le): Defined.

	* eb/defs.h (EB_Binary_Context_Struct, EB_Binary_Context): Defined.
	* eb/defs.h (EB_Book_Struct): Add the member `binary_context'.

	* eb/text.h: (EB_HOOK_BEGIN_BITMAP, EB_HOOK_END_BITMAP,
	EB_HOOK_BEGIN_BMP, EB_HOOK_BEGIN_JPEG, EB_HOOK_END_COLOR_GRAPHIC,
	EB_HOOK_BEGIN_IN_BMP, EB_HOOK_BEGIN_IN_JPEG,
	EB_HOOK_END_IN_COLOR_GRAPHIC, EB_HOOK_BEGIN_WAVE, EB_HOOK_END_WAVE,
	EB_HOOK_BEGIN_MPEG, EB_HOOK_END_MPEG): Defined.
	* eb/defs.h (EB_NUMBER_OF_HOOKS): Updated.

	* eb/zio.c (zio_reopen): become `static' function.
	* eb/zio.h (ZIO_REOPEN): Added.
	* eb/zio.c (zio_open): Recognize the compression mode `ZIO_REOPEN'.
	* eb/zio.c (zio_mode): New function.

	* eb/book.c (eb_filenalize_book): Don't call zio_finalize() for
	`movie_zio'.  Call zio_finalize() for `language_zio'.

2001-01-16  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/internal.h (EB_Subbook_Struct): Remove the member
	`stream_directory_name'.
	* eb/subbook.c (eb_set_subbook): Don't initialize
	`subbook->stream_directory_name'.

	* eb/text.h (EB_HOOK_STOP_CODE, EB_HOOK_BEGIN_BITMAP,
	EB_HOOK_END_BITMAP, EB_HOOK_BEGIN_BMP, EB_HOOK_BEGIN_JPEG,
	EB_HOOK_END_IMAGE, EB_HOOK_BEGIN_IN_BMP, EB_HOOK_BEGIN_IN_JPEG,
	EB_HOOK_END_IN_IMAGE, EB_HOOK_BEGIN_WAVE, EB_HOOK_END_WAVE,
	EB_HOOK_BEGIN_MPEG, EB_HOOK_END_MPEG): Define new text hooks.

	* eb/text.c (SIZE_FEW_REST): Change the value from 16 to 40.

2001-01-14  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/defs.h (EB_Binary_Context_Struct, EB_Binary_Context,
	EB_Binary_Code): Defined.

2001-01-11  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* m4/gettext.m4 (AM_GNU_GETTEXT): Set LC_ALL to `fr', and set LANGUAGE
	to empty string.

	* ebzip/ebzip.c (zip_epwing_book, unzip_epwing_book,
	zipinfo_epwing_book): Fix filenames in error messages.

2001-01-03  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* lib/strcasecmp.c (strncasecmp): Fix a bug that the function returns
	wrong result when comparison length is 0.
	* libebutils/strcasecmp.c (strncasecmp): Ditto.

	* eb/Makefile.am (SUBDIRS): Don't use @POSUB@.

2001-01-02  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* configure.in (AC_ARG_WITH): Fix a bug that configure cannot
	recognize --with-included-zlib option.  Reported by Kazuhiko.

2001-01-01  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* po/Makefile.in.in, eb/po/Makefile.in.in: Use `ENABLE_NLS', not
	`USE_NLS'.

	* eb/Makefile.am (SUBDIRS): Set to `po', not `@POSUB@'.

2000-12-31  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* intl/Makefile.am (noinst_HEADERS): Remove `libgettext.h'.  Add 
	`libintl.h' instead.
	* intl/Makefile.am (BUILT_SOURCES): Remove libintl.h.
	* intl/Makefile.am (DISTCLEANFILES): Remove libintl.h.

	* po/Makefile.in.in, eb/po/Makefile.in.in (ja_JP.SJIS): Remove the
	target.

	* gttest.po, gttest.mo: New files.
	* Makefile.am (EXTRA_DIST): Add `gttest.mo' and `gttest.po'.
	* Makefile.am (gttest.mo): New target.
	* m4/gettext.m4: Fully revised.
	* configure.in (AC_OUTPUT): Fix an output file name.

2000-12-30  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* libebutils/Makefile.am (EXTRA_DIST): Delete `memset.c', `strerror.c'
	and `strcasecmp.c'.  Automake recognizes them as distirbution files.

2000-12-29  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* Makefile.am (ACLOCAL_AMFLAGS): Defined.

	* m4/ssizet.m4 (AX_TYPE_SSIZE_T): Renamed to `AC_TYPE_SSIZE_T'.
	* m4/utimbuf.m4 (AX_HAVE_STRUCT_UTIMBUF): Renamed to
	`AC_STRUCT_UTIMBUF'.
	* configure.in: Use new macro names described above.

	* m4/libtool.m4: New file.
	(This file will be removed when a bug in libtool.m4 distributed
	with Libtool is fixed.)
	* m4/Makefile.am (EXTRA_DIST): Add `libtool.m4'.

2000-12-23  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* Use autoconf 2.49b, automake 1.4b, and libtool 1.3c (checkout
	2000-12-18).
	* depcomp: New file.

	* configure.in: Call `AX_TYPE_SSIZE_T' instead of
	`AC_CHECK_TYPE(ssize_t, int)'.

	* lib/fakelog.c (fakelog): Use memcpy() instead of strcpy() to
	expand `%m'.

	* m4/Makefile.am, m4/eb3.m4, m4/gettext.m4, m4/lcmessage.m4,
	m4/ssize_t.m4, m4/utimbuf.m4: New files.
	* configure.in (AC_OUTPUT): Add `m4/Makefile.in'.
	* Makefile.am (SUBDIRS): Add `m4'.

	* acconfig.h, acinclude.m4: Removed.

	* intl/Makefile.am, eb/Makefile.am, libebutils/Makefile.am,
	ebfont/Makefile.am, ebinfo/Makefile.am, ebzip/Makefile.am,
	doc/Makefile.am, doc-ja/Makefile.am:
	Remove @MAKE_SET@.
	
2000-12-06  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* Version 3.0alpha3.

	* ebzip/Makefile.am (INCLUDES): Delete `-I$(top_srcdir)'.
	* ebzip/Makefile.am (INCLUDES): Add `-I../eb' and `-I$(top_srcdir)/eb'.
	* ebzip/ebzip.c: Include `*.h' in the `../eb' directory, not `eb/*.h'. 

2000-11-28  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/subbook.c (eb_subbook_directory, eb_subbook_directory2):
	All letters in a directory name are converted to lower letters
	that were converted to upper letters.
	* libebutils/ebutils.c (parse_subbook_name_argument): Ditto.

2000-11-23  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* intl/Makefile.am: Don't make a symbolc link `libintl.h'.

	* eb/font.c (eb_set_font): Set font files to -1.
	* eb/font.c (eb_unset_font): Check file descriptor before close
	the file.

2000-11-18  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* configure.in (AC_OUTPUT_COMMANDS): Copy `intl/libgettext.h' to
	`intl/libintl.h'.

	* eb/filename.c, ebzip/filename.c, ebfont/ebfont.c: Define the macro
	`F_' to resolve path notation problem between UNIX and DOS.

	* ebconfig.h: New file.
	* appendix.c, appsub.c, bitmap.c, book.c, copyright.c, eb.c, 
	endword.c, error.c, exactword.c, filename.c, font.c, graphic.c, 
	hook.c, jacode.c, keyword.c, language.c, lock.c, match.c, menu.c, 
	message.c, multi.c, narwalt.c, narwfont.c, search.c, setword.c, 
	stopcode.c, subbook.c, text.c, uint.c, unzebzip.c, unzepwing.c, 
	unzsebxa.c, widefont.c, word.c, zio.c:
	Include `ebconfig.h'.
	Dont' include public headers nor define public macros.
	* Makefile.am (noinst_HEADERS): Add `ebconfig.h'.

	* eb/search.c (eb_and_hit_lists): In its prototype declaration,
	type of the 4th argument is changed from (EB_Hit [N1][]) to
	(EB_Hit [][N2]).

2000-11-14  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* Makefile.am (CLEANFILES): Add stamp-widealt-h, stamp-widefont-h,
	widealt.c and widefont.c.
	* Makefile.am (BUILT_SOURCES): Add widealt.c and widefont.c.
	* Makefile.am (widealt.c, stamp-widealt-h): Add the targets.
	* Makefile.am (widefont.c, stamp-widefont-h): Add the targets.
	* widealt.c, widefont.c: Generated from narwalt.c and narwfont.c.

2000-11-08  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/text.c (eb_read_text_internal): 
	* eb/text.h (EB_HOOK_END_CANDIDATE): Split this hook into
	EB_HOOK_END_CANDIDATE_GROUP and EB_HOOK_END_CANDIDATE_LEAF.
	* eb/text.h (EB_HOOK_BEGIN_SOUND, EB_HOOK_END_SOUND,
	EB_HOOK_BEGIN_PICTURE, EB_HOOK_END_PICTURE): Removed temporary.
	* eb/defs.h (EB_NUMBER_OF_HOOKS): Updated.

	* eb/defs.h (EB_Text_Context): Add the members `candidate' and
	`is_candidate'.
	* eb/text.c (eb_current_candidate): New function.

	* eb/text.c (eb_read_internal): Manage the current candidate.
	* eb/text.c (eb_seek_text, eb_read_text, eb_read_heading):
	Clear the current candidate.
	
	* eb/text.c (eb_seek_text): Complain if the given position is not
	valid.

2000-11-07  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/hook.c (euc_a1_to_ascii_table, euc_a1_to_ascii_table):
	The tables start with the character 0xa0 and end with 0xff.
	* eb/hook.c (EUC_TO_ASCII_TABLE_START, EUC_TO_ASCII_TABLE_END):
	Defined
	* eb/hook.c (eb_hook_euc_to_ascii): Use new convertion tables.

	* eb/multi.c (eb_multi_entry_candidates): Return EB_ERR_NO_CANDIDATES
	not EB_ERR_NO_SUCH_SEARCH if the multi entry doesn't have candidates.

	* eb/error.c (EB_ERR_STOP_CODE): Defined.
	* eb/error.c (EB_ERR_HOOK_WORKSPACE): Removed.
	* eb/hook.c (eb_hook_stop_code): Return EB_ERR_STOP_CODE when the
	stop code is found.
	* eb/text.c (eb_read_text_internal): Return only when STOP_CODE hook
	function returns EB_ERR_STOP_CODE.

2000-11-06  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/text.c (eb_read_text_internal): `argv' must be `unsigned int []'.
	* eb/text.c (eb_read_text_internal): Set MSB of argv[0] passed to
	NARROW_JISX0208, WIDE_JISX0208, GB2312 hooks.

2000-11-04  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/text.c: Include <stdlib.h>.

2000-11-03  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/defs.h (EB_Text_Context_Strcut): 
	The member `work_buffer', `work_length' and `work_step' are removed.
	The member `out', `out_rest_length', `unprocessed', `in_step',
	`out_step' and `unprocessed_size' are added.
	* eb/text.c (eb_read_text_internal): `text_p' and `text_rest_length'
	are now recorded in `book->text_context.out' and
	`book->text_context.out_rest_length'.
	* eb/defs.h (EB_MAX_WORK_LENGTH): Removed.

	* eb/text.c (eb_read_text_internal): Don't write `\0' on the tail
	of text buffer.

	* eb/text.c (eb_write_text_byte1, eb_write_text_byte2,
	eb_write_text_string, eb_write_text): New functions.
	* eb/text.c (eb_read_text_internal): Use eb_write_text*() functions
	to write characters to a text buffer.  Don't write directly.

	* eb/defs.h (EB_Hook_Struct): The type of `argv' is changed from
	`const int *' to `const unsigned int *'.

	* eb/defs.h (EB_Hook_Struct): Add the new argument `container'
	and remove `workbuf'.
	* eb/hook.c (eb_hook_euc_to_ascii, eb_hook_stop_code, 
	eb_hook_narrow_character_text, eb_hook_wide_character_text,
	eb_hook_empty): Ditto.
	* eb/text.c (eb_read_text, eb_read_heading): Add the new argument
	`container'.

	* eb/hook.c (eb_hook_newline): New function.
	* eb/hook.c (eb_initialize_hookset): Set EB_HOOK_NEWLINE of the
	default hookset.

2000-10-31  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebinfo/ebinfo.c (output_information): In the font-size and 
	font-range paramter lines, output a newline character even
	when an error occurs.

2000-10-30  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/hook.c (eb_hook_stop_code): Return EB_ERR_HOOK_WORKSPACE
	not -1 when a stop code is found.

	* eb/text.c (eb_read_text, eb_read_heading, eb_read_text_internal):
	give up formatting text when a hook function returns any other value
	than EB_SUCCESS.

2000-10-27  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebzip/filename.c (compose_exisitent_path_name,
	compose_exisitent_path_name2, compose_exisitent_path_name3):
	New functions.
	* ebzip/ebzip.c (zip_eb_book, zip_epwing_book, unzip_eb_book,
	unzip_epwing_book, zipinfo_eb_book, zipinfo_epwing_book): Use
	compose_exisitent_path_name*() functions instead of sprintf().

	* eb/filename.c (eb_canonicalize_path_name): Don't expand `/./'
	and `/../' in the given path name.

2000-10-26  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/subbook.c (eb_set_subbook): Set `book->subbook_current->text_file'
	to 1 when no text file exists.

2000-10-21  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/text.c (eb_read_text_internal): Cache controll bug was still
	remained.  Fix the bug.

	* doc-ja/ebinfo-ja.texi: Include `ebinfo-ver.texi', not `version.texi'.

2000-10-20  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* Version 3.0alpha2.

	* doc-ja/Makefile.am (EXTRA_DIST): Remove `stamp-eb'.
	* doc-ja/Makefile.am (stamp-eb): Remove the target.

	* eb/text.c (eb_read_text_internal): Fix a cache controll bug.
	Reported by Rei.

2000-10-17  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/ebzip.c (zip_epwing_book): Fix a bug that it tries to compress
	non-existant font files.
	* eb/text.c (eb_read_text_internal): Check text-end-flag,
	cache buffer, and unprocessed data in the text context, in
	this order.

2000-09-30  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/zio.c (eb_zopen_epwing): Add missing initialization code for
	the variable `read_length'.

2000-09-24  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/defs.h (EB_Language_Struct): the member `offset' is renamed to
	`location'.
	* eb/defs.h (EB_Zip_Struct): likewise.

	* eb/appsub.c (eb_initialize_appendix_subbook): value passed to
	eb_zlseek() must be off_t.
	* eb/font.c (eb_initialize_font): Likewise.
	* eb/language.c (eb_set_language): Likewise.
	* eb/multi.c (eb_initialize_multi_search): Likewise.
	* eb/narwalt.c (eb_narrow_character_text_jis): Likewise.
	* eb/narwalt.c (eb_narrow_character_text_latin): Likewise.
	* eb/narwfont.c (eb_initialize_narrow_font): Likewise.
	* eb/narwfont.c (eb_narrow_character_bitmap_jis): Likewise.
	* eb/narwfont.c (eb_narrow_character_bitmap_latin): Likewise.
	* eb/search.c (eb_presearch_word): Likewise.
	* eb/search.c (eb_hit_list_word): Likewise.
	* eb/search.c (eb_hit_list_keyword): Likewise.
	* eb/search.c (eb_hit_list_multi): Likewise.
	* eb/subbook.c (eb_initialize_subbook): Likewise.
	* eb/widealt.c (eb_wide_character_text_jis): Likewise.
	* eb/widealt.c (eb_wide_character_text_latin): Likewise.
	* eb/widefont.c (eb_initialize_wide_font): Likewise.
	* eb/widefont.c (eb_wide_character_bitmap_jis): Likewise.
	* eb/widefont.c (eb_wide_character_bitmap_latin): Likewise.
	* eb/text.c (eb_initialize_text): `book->text_context.location'
	must be calculated with `off_t' values.

	* po/POTFILES.in: Add `libebutils/getopt.c'.

	* eb/zio.c (eb_zopen_none): Get file size, reported by Takashi NEMOTO.
	
2000-09-09  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/defs.h (EB_Subbook_Struct): Add the member `cross'.
	* eb/subbook.c (eb_initialize_subbook): Also initialize the member
	`cross'.
	* eb/subbook.c (eb_initialize_indexes): Recognize index code
	0x81 as Cross-Index.

2000-09-07  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/setword.c (eb_fix_word_latin): Renamed to `eb_convert_latin'.
	* eb/setword.c (eb_fix_word_jis): Renamed to `eb_convert_euc_jp'.

	* eb/setword.c (eb_fix_word): New static function.
	* eb/setword.c (eb_set_word, eb_set_endword, eb_set_keyword): 
	Call `eb_fix_word' to fix `word' and `canonicalized_word' according
	with index page style.
	* eb/setword.c (eb_set_endword): Get index page style from endword
	search indexes, not from word search.
	* eb/setword.c (eb_set_keyword): Get index page style from keyword
	search indexes, not from word search.

	* eb/libintl_r.c: New file.
	* eb/error.c (gettext_mutex): Moved to `libintl_r.c'.
	* eb/error.c (eb_error_message): Do not lock.
	* eb/error.c (eb_error_message_r): New function.

	* eb/lock.c (eb_pthread_enabled): New function.
	* eb/eb.c (eb_nls_enabled): New function.

	* eb/Makefile.am (pkginclude_HEADERS): Add `libintl_r.h'.
	* eb/Makefile.am (libintl_la_SOURCES): Add `libintl_r.c'.

	* eb/subbook.c (eb_set_subbook): Don't return an error code when
	no text file exists.

	* eb/setword.c (eb_convert_euc_jp): Accept local character
	0xa121 ... 0xfe7e.

	* eb/subbook.c (eb_initialize_subbook): Becomes static function.
	* eb/appsub.c (eb_initialize_appendix_subbook): Likewise.

	* eb/text.c (eb_read_text, eb_read_heading, eb_forward_text,
	eb_read_text_internal): Discard `const' of the argument `hookset'.

	* eb/subbook.c (eb_set_subbook): Add missing call of eb_unlock().

	* eb/text.c (eb_fowrard_text): Don't unlock `cache_mutex'.
	* eb/text.c (eb_fowrard_heading): Likewise.

	* eb/zio.c (eb_zread_ebzip, eb_zread_epwing, eb_zread_sebxa): Don't
	lock or unkock `cache_mutex'.
	* eb/zio.c (eb_zread): Lock and unkock `cache_mutex'.

	* eb/internal.h.in (EB_ZIP_INVALID): Defined.
	* eb/zip.c (eb_zopen_none, eb_zopen_ebzip, eb_zopen_epwing, 
	eb_zopen_epwing6): Now they are static functions.
	* eb/zip.c (eb_zopen): New function.

	* eb/appsub.c (eb_set_subbook): Call eb_zopen(), instead of 
	eb_zopen_ZIPTYPE() functions.
	* eb/font.c (eb_set_font): Likewise.
	* eb/language.c (eb_initialize_language): Likewise.
	* eb/language.c (eb_set_language): Likewise.
	* eb/subbook.c (eb_set_subbook): Likewise.
	* ebzip/ebzip.c (zip_eb_book, zip_epwing_book, unzip_eb_book,
	unzip_epwing_book, zipinfo_eb_book, zipinfo_epwing_book): Likewise.
	* ebzip/ebzip.c (zip_file, unzip_file, zipinfo_file): The argument
	`in_open_function' is replaced to `in_zip_code'.

	* ebzip/ebzip.c (zipinfo_file): Call `stat' before open a file.

	* ebzip/ebzip.c (zipinfo_epwing_book): Skip font entires whose
	code is EB_FONT_INVALID.

2000-09-05  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/internal.h.in, libebutils/ebutils.c, ebfont/ebfont.c,
	ebinfo/ebinfo.c, ebzip/ebzip.c: Define `_' and `N_' macros even
	when ENABLE_NLS is not defined.

2000-08-11  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebfont/ebfont.c (make_subbook_size_image_fonts): Fixed bugs
	that use old API.  Reported by Takashi NEMOTO.
	* eb/book.c (eb_initialize_catalog): Fix a bug that wrong font code
	is set to EB_Font struct.  Reported by Takashi NEMOTO.

	* eb/internal.h.in (EB_INDEX_STYLE_REVERSED_CONVERT): Defined.
	Super Tougou Jisho 2000 sets 2 to the katakana index style parameter.
	* eb/setword.c (eb_convert_hiragana_jis): New function.
	Convert all hiragana characters in a string to katakana.
	* eb/setword.c (eb_set_word): If the katakana index style parameter
	is EB_INDEX_STYLE_REVERSED_CONVERT, call eb_convert_hiragana_jis().

2000-08-04  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/internal.h.in (eb_initialize_lock, eb_finalize_lock, eb_lock,
	eb_unlock): Add function declarations.
	* eb/font.c (eb_set_font): Set the variable `subbook' after
	lock the book.
	* eb/font.c (eb_set_font, eb_font_list, eb_have_font): Set the
	variable `subbook' after lock the book.

	* eb/Makefile.am (libeb_la_SOURCES): Add lock.c.

2000-07-21  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* Version 3.0alpha1.

	* eb/defs.h (EB_Huffman_Node_Struct): The type of the member `value'
	is changed to `unsigned int'.

	* eb/epwunzip.c (eb_unzip_slice_epwing6): New function.

	* libebutils/ebutils.c (fix_file_name, parse_case_argument,
	parse_suffix_argument): Removed.

	* eb/internal.h.in: Include `config.h'.
	* eb/internal.h.in: Always includes `defs.h'.
	* eb/internal.h: Delete extern declaration of `eb_option'.

	* eb/font.c, eb/message.c, eb/search.c, eb/text.c: Remove cpp macro
	definition of `memmove'.
	* eb/internal.h.in: Add cpp macro definition of `memmove'.
	* eb/filename.c: Remove cpp macro definition of `strcasecmp' and
	`strncasecmp'.
	* eb/internal.h.in: Add cpp macro definition of `strcasecmp' and
	`strncasecmp'.

	* ebzip/ebzip.c (short_options, long_options): Delete `--suffix'
	and `--case' options.

2000-07-20  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/filename.c (eb_fix_file_name2, eb_fix_file_name3): New functions.
	* ebzip/filename.c (compose_out_file_name, compose_out_file_name2, 
	compose_out_file_name3): New functions, New file.
	* eb/Makefile.am (ebzip_SOURCES): Add `filename.c'.
	* ebzip/ebzip.c (zip_book, unzip_book, zipinfo_book): Rewritten.
	* ebzip/ebzip.c: Delete `--case' and `--suffix' options.

	* eb/defs.h (EB_ZIP_EPWING): Assign the value `100'.
	* eb/defs.h (EB_ZIP_EPWING6, EB_ZIP_SEBXA): New macros.

	* eb/internal.h.in (EB_HUFFMAN_NODE_EOF, EB_HUFFMAN_NODE_LEAF8,
	EB_HUFFMAN_NODE_LEAF16): Assign new values.
	* eb/internal.h.in (EB_HUFFMAN_NODE_LEAF32): Defined.

	* eb/zio.c (eb_zread_ebzipped): Renamed to eb_zread_ebzip().
	* eb/zio.c (eb_zread_epwzipped): Renamed to eb_zread_epwing().
	* eb/ebunzip1.c (eb_ebunzip1_slice): Renamed to
	eb_unzip_slice_ebzip1()..
	* eb/epwunzip.c (eb_epwunzip_slice): Renamed to
	eb_unzip_slice_epwing().

	* eb/ebunzip1.c: Renamed to eb/unzebzip.c.
	* eb/epwunzip.c: Renamed to eb/unzepwing.c.
	* eb/unzsebxa.c: New file.

2000-07-16  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/subbook.c (eb_initialize_all_subbooks): Also set each font.
	* eb/subbook.c (eb_initialize_all_subbooks): Call eb_unset_subbook()
	if an error occurs.

	* ebzip/Makefile.am (ebzip_SOURCES): Remove `filelist.c'.
	* ebzip/ebzip.c: Remove function declarations of
	initialize_file_name_list(), finalize_file_name_list() and
	add_file_name_list().

2000-07-09  Motoyuki Kasahara  <m-kasahr@sra.eco.jp>

	* eb/narwfont.c (eb_narrow_font_file_name, eb_narrow_font_file_name2):
	Removed.
	* eb/widefont.c (eb_wide_font_file_name, eb_wide_font_file_name2):
	Removed.

	* eb/font.c (eb_initialize_fonts, eb_initialize_eb_fonts,
	eb_initialize_epwing_fonts): Removed.
	* eb/font.c (eb_initialize_font): New function.
	* eb/narwfont.c (eb_initialize_narrow_font): New function.
	* eb/widefont.c (eb_initialize_wide_font): New function.
	* eb/appendix.c (eb_initialize_appendix_catalog): Adapt to new
	file name composition rule.
	* eb/appsub.c (eb_set_subbook): Likewise.
	* eb/book.c (eb_initialize_catalog): Likewise.
	* eb/font.c (eb_set_font): Likewise.
	* eb/language.c (eb_initialize_language): Likewise.
	* eb/language.c (eb_set_language): Likewise.
	* eb/subbook.c (eb_set_subbook): Likewise.

	* eb/zio.c (eb_zopen, eb_zopen2): Removed.
	* eb/zio.c (eb_zopen_none): New function.
	* eb/zio.c (eb_zopen_ebzipped): Renamed to `eb_zopen_ebzip' and
	changed to non-static.
	* eb/zio.c (eb_zopen_epwing): Renamed to `eb_zopen_epwing' and
	changed to non-static.

	* eb/appendix.c (eb_initialize_appendix_catalog): Adjuts subbook
	directory names.
	* eb/book.c (eb_initialize_catalog): Likewise.
	* eb/appsub.c (eb_initialize_appendix_subbook): Adjust data directory
	name.
	* eb/subbook.c (eb_initialize_subbook): Adjust date, gaiji, stream
	and movie directory names.

	* configure.in (AC_HEADER_DIRENT): Added.

	* eb/subbook.c (eb_initialize_subbook): Don't call
	eb_initialize_fonts().

	* eb/defs.h (EB_CASE_UNCHANGE, EB_CASE_UPPER, EB_CASE_LOWER): Deleted.
	* eb/defs.h (EB_SUFFIX_UNCHANGE, EB_SUFFIX_NONE, EB_SUFFIX_DOT,
	EB_SUFFIX_PERIOD, EB_SUFFIX_VERSION, EB_SUFFIX_BOTH): Deleted.
	* eb/ebzip.c (CASE_UNCHANGE, CASE_UPPER, CASE_LOWER): Defined.
	* eb/ebzip.c (SUFFIX_UNCHANGE, SUFFIX_NONE, SUFFIX_DOT, 
	SUFFIX_VERSION, SUFFIX_BOTH): Defined.

	* eb/defs.h (EB_FILE_NAME_START, EB_FILE_NAME_SOUND,
	EB_FILE_NAME_CATALOG, EB_FILE_NAME_LANGUAGE, EB_FILE_NAME_WELCOME,
	EB_FILE_NAME_CATALOGS, EB_FILE_NAME_HONMON, EB_FILE_NAME_HONMON2,
	EB_FILE_NAME_APPENDIX, EB_FILE_NAME_FUROKU, EB_DIRECTORY_NAME_DATA,
	EB_DIRECTORY_NAME_GAIJI, EB_DIRECTORY_NAME_STREAM,
	EB_DIRECTORY_NAME_MOVIE): Move these definitions to `eb/internal.h.in'
	and convert their values to lower cases.
	* eb/internal.h.in (EB_SUFFIX_EBZ): Defined.
	* eb/internal.h.in (EB_SUFFIX_NONE): Defined.
	* eb/internal.h.in (EB_FILE_NAME_HONMONS): Defined.
	* eb/internal.h.in (EB_FILE_NAME_HONMONG): Defined.
	* eb/internal.h.in (EB_FILE_NAME_VTOC): Removed.

	* eb/ebinfo.c (output_information): Adapt to new EB_FONT_* macro
	values.  They were 16, 24, 30, 48, but now they are 0, 1, 2, 3.
	
2000-07-08  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/defs.h (EB_MAX_BASE_NAME_LENGTH): Renamed to
	EB_MAX_DIRECTORY_NAME_LENGTH.
	* eb/defs.h (EB_MAX_FILE_NAME_LENGTH): Defined.

	* eb/defs.h (EB_Subbook_Struct): Add the member `version'.
	* eb/book.c (eb_initialize_catalog): Set format version.

        * eb/zio.c (eb_zopen_epwzipped): Check if least frequent node
        is found or not after scanning a node list.

	* eb/strcasecmp.c: New file.
	* eb/Makefile.am (libeb_la_SOURCES): Add `strcasecmp.c'.

	* libebutil/strcasecmp.c: Include `sys/type.h'.

	* eb/defs.h (EB_Subbook_Struct): Rename the member `directory' to
	`directory_name',
	* eb/defs.h (EB_Subbook_Struct): Add the member `data_directory_name',
	`gaiji_directory_name', `movie_directory_name',
	`stream_directory_name', `text_file_name', `graphic_file_name',
	and `sound_file_name'.
	* eb/defs.h (EB_Book_Struct): Remove the member `case_code' and
	`suffix_code'.
	* eb/defs.h (EB_Appendix_Struct): Add the member `data_directory_name',
	and `appendix_file_name'.
	* eb/defs.h (EB_Appendix_Subbook_Struct): Rename the member
	`directory' to `directory_name',
	* eb/defs.h (EB_APpendix_Subbook_Struct): Remove the member
	`case_code' and `suffix_code'.

	* eb/filename.c (eb_catalog_file_name): Removed.
	* eb/filename.c (eb_appendix_catalog_file_name): Removed.
	* eb/filename.c (eb_canonicalize_appendix_file_name): Removed.
	* eb/filename.c (eb_canonicalize_file_name_internal): Renamed to 
	`eb_canonicalize_file_name'.  The original `eb_canonicalize_file_name'
	is overwritten.
	* eb/filename.c (eb_fix_file_name): Removed.
	* eb/filename.c (eb_fix_appendix_file_name): Removed.
	* eb/filename.c (eb_fix_file_name_internal): Removed.
	* eb/filename.c (eb_fix_directory_name, eb_fix_sub_directory_name):
	New functions.
	* eb/filename.c (eb_fix_file_name, eb_compose_file_name,
	eb_compose_file_name2, eb_compose_file_name3): New functions.

	* eb/defs.h (EB_DIRECTORY_NAME_DATA, EB_DIRECTORY_NAME_GAIJI,
	EB_DIRECTORY_NAME_STREAM): Moved to eb/internal.h.in.
	* eb/internal.h.in (EB_DIRECTORY_NAME_STREAM, 
	EB_DIRECTORY_NAME_MOVIE): Defined.

	* eb/font.h (EB_FONT_16, EB_FONT_24, EB_FONT_30, EB_FONT_48):
	Change their integer values.

	* eb/defs.h (EB_Font_Struct): Remove the memeber `width' and `height'.
	* eb/defs.h (EB_Font_Struct): Add the memeber `available' and
	`font_code'.
	* eb/defs.h (EB_Subbook_Struct): Remove the memeber `font_count'.
	* eb/defs.h (EB_Subbook_Struct): Split the memeber `fonts' into
	`narrow_fonts' and `wide_fonts'.
	* eb/book.c (eb_initialize_catalog): Assume that the order of font
	names is always wide-16, -24, -30, -48, narrow-16, -24, -30, -48.

	* eb/font.c (eb_initialize_eb_fonts, eb_initialize_epwing_fonts,
	eb_font, eb_set_font, eb_unset_font, eb_font_list, eb_have_font):
	Catch up with new EB_Font_Struct.
	* eb/narwfont.c (eb_have_narrow_font, eb_narrow_font_width,
	eb_narrow_font_width2, eb_narrow_font_size, eb_narrow_font_size2,
	eb_narrow_font_file_name, eb_narrow_font_file_name2,
	eb_narrow_font_start, eb_narrow_font_end,
	eb_narrow_character_bitmap_jis, eb_narrow_character_bitmap_latin):
	Likewise.
	* eb/widefont.c (eb_have_wide_font, eb_wide_font_width,
	eb_wide_font_width2, eb_wide_font_size, eb_wide_font_size2,
	eb_wide_font_file_name, eb_wide_font_file_name2,
	eb_wide_font_start, eb_wide_font_end,
	eb_wide_character_bitmap_jis, eb_wide_character_bitmap_latin):
	Likewise.
	* eb/subbook.c (eb_initialize_indexes): Likewise.

	* eb/font.c (eb_font_height, eb_font_height2): New functions.
	* eb/font.h (EB_HEIGHT_FONT_16, EB_HEIGHT_FONT_24, EB_HEIGHT_FONT_30,
	EB_HEIGHT_FONT_48): Defined.
	
	* eb/defs.h (EB_Subbook_Struct): Rename the member `zip' to
	`text_zip'.
	* eb/defs.h (EB_Appendix_Subbook_Struct): Rename the member `zip' to
	`appendix_zip'.

2000-06-24  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/subbook.c (eb_initialize_subbook): Fix bugs that EB 2.x API
	are remained.

	* eb/setword.c (eb_fix_word_jis): Initialize `c1' and `c2' to
	avoid GCC warning `might be used uninitialized...'.

	* eb/search.c (eb_presearch_word): Return EB_ERR_FAIL_SEEK_TEXT
	when eb_zlseek() failed, and EB_ERR_FAIL_READ_TEXT when eb_zread().

	* eb/exactword.c (eb_search_exactword): Return EB_ERR_NO_SUCH_FONT
	when invalid font height is given.

	* eb/bitmap.c (eb_narrow_font_xbm_size): Return EB_ERR_NO_SUCH_FONT
	when invalid font height is given.
	* eb/bitmap.c (eb_narrow_font_xpm_size): Likewise.
	* eb/bitmap.c (eb_narrow_font_gif_size): Likewise.
	* eb/bitmap.c (eb_wide_font_xbm_size): Likewise.
	* eb/bitmap.c (eb_wide_font_xpm_size): Likewise.
	* eb/bitmap.c (eb_wide_font_gif_size): Likewise.

	* eb/appendix.c (eb_initialize_appendix_catalog): Return
	EB_ERR_FAIL_OPEN_CATAPP when failed to open the catalog file.
	* eb/book.c (eb_initialize_catalog): Return EB_ERR_FAIL_OPEN_CAT when
	failed to open the catalog file.

	* eb/hook.c: Include appendix.h.

	* configure.in (AC_OUTPUT_COMMANDS): Remove `libintl.h', linked
	from `libgettext.h' by gettext.m4.
	* intl/Makefile.am: Make a symlink from `libgettext.h' to `libintl.h'.

	* eb/zio.c (eb_zopen, eb_zopen2): Support DOS style path, reported
	by Kazuhiro Ito.

	* Makefile.am (SUBDIRS): Don't use ${INTL_SUBDIR} for `intl'
	because automake complains.
	* intl/Makefile.am (INCLUDED_LIBINTL): Use this conditional
	to determine whether we build `libintl.la' or not.
	* Makefile.am (intl/lib_LTLIBRARIES): Set to $(INTL_LTLIB).

2000-06-17  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebrefile/ebrefile.in: Fix a bug that ebrefile fills the reserved-1
	with 0x00, reported by Takashi NEMOTO.

2000-06-13  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/keyword.c (eb_search_keyword): Type of 2nd argument is changed
	from `const *[]' to `const * const []'.
	* eb/multi.c (eb_search_multi): Likewise.

	* configure.in (ZLIBLIBS): Fixed a bug that this variable was not
	set when zlib was built from included sources,reported by Kazuhiro
	Ito.
	* eb/filename.c (eb_canonicalize_file_name_internal for DOS):
	EB Library 2.x API code was remained, reported by Kazuhiro Ito.
	Fixed.

2000-06-11  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebzip/ebzip.c (zip_file): Type of 2nd argument is changed from
	`const char **' to `const char * const *'.
	* ebzip/ebzip.c (unzip_file): Likewise
	* ebzip/ebzip.c (zip_finfo): Likewise.

	* libebutils/ebutils.c (parse_case_argument): Control reached end of
	non-void function.  Fixed.
	* libebutils/ebzip.c (parse_suffix_argument): Likewise.
	* libebutils/getumask.c: Include `sys/stat.h'.

	* eb/book.c (misleaded_book_table): Type is changed from
	`const char *[]' to `const char * const[]'.
	* eb/error.c (error_messages): Likewise.

2000-05-27  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* Version 3.0alpha0.

	* configure.in: Add `--enable-pthread', `--with-pthread-cppflags',
	`--with-pthread-cflags' and ``--with-pthread-ldflags'.
	* configure.in (AC_TRY_LINK): Add a test program that checks Pthread.

	* configure.in (WITH_ZLIB): Renamed to `INCLUDED_ZLIB'.

	* configure.in: Add `--with-gettext-includes' and
	`--with-gettext-libraries' options.

	* configure.in (EBCONF_ZLIBINCS, EBCONF_ZLIBLIBS, PTHREAD_CPPFLAGS,
	PTHREAD_CFLAGS, PTHREAD_LDFLAGS, EBCONF_INTLINCS, EBCONF_INTLLIBS,
	EBCONF_EBINCS, EBCONF_EBLIBS): Substitute these variables, for
	generating eb.conf.
	* Makefile.am (sysconf_DATA): Add `eb.conf'.
	* Makefile.am (CLEANFILES): Add `eb.conf'.
	* Makefile.am (EXTRA_DIST): Add `eb.conf.in'.
	* Makefile.am (eb.conf): New target.

2000-05-22  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* configure.in: Remove the `--enable-ja-doc' option.
	* Makefile.am (ENABLE_JA_DOC): Remvoe the condition.
	* Makefile.am (SUBDIRS): Remove $(JA_DOC_SUBDIR).

	* configure.in (AC_OUTPUT): Add `eb_r/Makefile'.
	* Makefile.am (ENABLE_PTHREAD): Add the condition.
	* Makefile.am (SUBDIRS): Add $(EB_R_SUBDIR).
	* eb_r/Makefile.am: New file.

	* eb/defs.h (EB_Text_Context_Struct): Add `auto_stop_code'.
	* eb/text.c (eb_seek_text): Initialize `auto_stop_code' of the
	text context in `book'.
	* eb/text.c (eb_read_text_internal): Update `auto_stop_code'
	when the control sequence 0x41 is seen.
	* eb/hook.c (eb_hook_stop_code): Don't assume the control sequence
	0x09 as the stop code.

	* eb/text.h (EB_HOOK_STOPCODE): Renamed to EB_HOOK_STOP_CODE.

2000-05-21  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/Makefile.am (install-data-hook): Removed.

2000-05-20  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* libebtuils/Makefile.am (libebutils_a_SOURCES): Add `ebtuils.c'.
	* libebtuils/Makefile.am (INCLUDES): Add `-I$(top_srcdir)/intl'.
	* libebtuils/ebtuils.c: New file.
	* libebtuils/ebtuils.c (output_try_help, output_version,
	parse_case_argument, parse_suffix_argument, 
	parse_subbook_name_argument, find_subbook, fix_file_name,
	canonicalize_path): Define these functions.
	* libebtuils/ebtuils.c (program_name, program_version, invoked_name):
	Define these global variables.
	* ebfont/ebfont.c (program_name, program_version, invoked_name):
	these global variables are removed.
	* ebinfo/ebinfo.c (program_name, program_version, invoked_name):
	Likewise.
	* ebzip/ebzip.c (program_name, program_version, invoked_name):
	Likewise.
	* ebfont/ebfont.c (parse_subbook_name_argument, find_subbook,
	output_version, output_try_help, canonicalize_path):
	these global functions are removed.
	* ebinfo/ebinfo.c (output_version, output_try_help):
	Likewise.
	* ebzip/ebzip.c (output_version, output_try_help,
	parse_subbook_name_argument, find_subbook, fix_file_name,
	canonicalize_path):
	Likewise.

2000-05-18  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/Makefile.am (EXTRA_DIST): Add `internal.h.in'.
	* eb/Makefile.am (CLEANFILES): Defined and add
	`stamp-defs-h` and `internal.h' to this macro.
	* eb/Makefile.am (BUILT_SOURCES): Defined as `internal.h'.
	* eb/Makefile.am (noinst_HEADERS): Add `internal.h'.
	* eb/Makefile.am (internal.h, stamp-internal-h): New targets.

2000-05-14  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* move-if-change: New script.
	* Makfile.am (EXTRA_DIST): Add `move-if-change'.
	* libebutils/Makefile.am (EXTRA_DIST): Add `ebutils.h.in'.
	* libebutils/Makefile.am (CLEANFILES): Defined and add
	`stamp-defs-h` and `ebutils.h' to this macro.
	* libebutils/Makefile.am (BUILT_SOURCES): Defined as `ebutils.h'.
	* libebutils/Makefile.am (noinst_HEADERS): Add `ebutils.h'.
	* libebutils/Makefile.am (ebutils.h, stamp-ebutils-h): New targets.

	* eb/error.c, ebfont/ebfont.c, ebinfo/ebinfo.c, ebzip/ebzip.c,
	ebzip/filelist.c: Support gettext.
	* ebfont/ebfont.c, ebinfo/ebinfo.c, ebzip/ebzip.c: Include 
	locale.h, libintil.h and ebutils.h.
	* ebfont/ebfont.c, ebinfo/ebinfo.c, ebzip/ebzip.c (main): Call
	setlocale(), bindtextdomain() and textdomain() when NLS is enabled.

	* ebfont/Makefile.am, ebinfo/Makefile.am, ebzip/Makefile.am
	(INCLUDES): Add `-I$(srcdir)/../intl'.
	* ebfont/Makefile.am (ebfont_LDADD): Add @INTLLIBS@.
	* ebinfo/Makefile.am (ebinfo_LDADD): Likewise.
	* ebzip/Makefile.am (ebzip_LDADD): Likewise.
	* ebfont/Makefile.am (ebfont_DEPENDENCIES): Add @INTLDEPS@.
	* ebinfo/Makefile.am (ebinfo_DEPENDENCIES): Likewise.
	* ebzip/Makefile.am (ebzip_DEPENDENCIES): Likewise.

	* po/Makefile.in.in, eb/po/Makefile.in.in: Support DESTDIR.
	* po/Makefile.in.in, eb/po/Makefile.in.in (TEXTDOMAIN, top_builddir,
	subdir): Defined.
	* po/Makefile.in.in, eb/po/Makefile.in.in: Don't use $PACKAGE for
	text domain name.  Use $TEXTDOMAIN, instead.
	* po/Makefile.in.in, eb/po/Makefile.in.in: Don't use `basename'.
	* po/Makefile.in.in, eb/po/Makefile.in.in: Use `$(top_builddir)' not
	'..'.  Use `$(top_srcdir) not `$(srcdir)/.'
	* po/Makefile.in.in, eb/po/Makefile.in.in: Use `$(top_builddir)/intl'
	not `../intl'.  Use `$(top_srcdir)/../intl' not `$(srcdir)/../intl'.
	* po/Makefile.in.in, eb/po/Makefile.in.in: Set @localedir@ to
	$localedir.
	* po/Makefile.in.in, eb/po/Makefile.in.in: Use `$(subdir)' not `po'.

2000-05-13  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/po: New directory.
	* eb/Makefile.am (SUBDIRS): Add `po'.
	* configure.in (AC_OUTPUT): Add `eb/po/Makefile.in'.
	* configure.in (AC_OUTPUT_COMMANDS): Generate `Makefile' from
	`Makefile.in'.
	* configuer.in: Subst `localedir'.
	* acconfig.h (ENABLE_NLS, HAVE_CATGETS, HAVE_GETTEXT, HAVE_LC_MESSAGES,
	HAVE_STPCPY): Defined.
	
	* configure.in (DEPENDENCIES_FOR_LIBZ): Renamed to `ZLIBDEPS'.
	* configure.in (LDADD_FOR_LIBZ): Renamed to `ZLIBLIBS'.
	* configure.in (INCLUDES_FOR_LIBZ): Renamed to `ZLIBINCS'.

2000-05-11  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* configure.in (--with-zlib): Renamed to `--with-included-zlib'.
	* Invoke gettexize.
	* configure.in (ALL_LINGUAS, AM_GNU_GETTEXT): Added.
	* Makefile.am (SUBDIRS): Add `intl' and `po'.
	* configure.in (AC_OUTPUT): Add `intl/Makefile' and `po/Makefile'.

2000-05-05  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* acconfig.h (USE_FAKELOG, EB_BUILD_LIBRARY): Remove the definitions.
	* eb/Makefile.am (INCLUDES): Add `-DEB_BUILD_LIBRARY'.
	* libebutils/Makefile.am (INCLUDES): Defined as `-DUSE_FAKELOG'.

2000-05-03  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/error.h (EB_ERR_NO_CANDIDATES): Added.

	* eb/language.h (EB_LANG_ENGLISH, EB_LANG_FRENCH, EB_LANG_GERMAN,
	EB_LANG_ITALIAN, EB_LANG_SPANISH, EB_LANG_JAPANESE, EB_LANG_DANISH,
	EB_LANG_FINNISH, EB_LANG_SWEDISH, EB_LANG_NORWEGIAN, EB_LANG_DUTCH,
	EB_LANG_POLISH): Rename _LANG_ to _LANGUAGE_.
	* eb/language.h (EB_MSG_WORD_SEARCH, EB_MSG_END_SEARCH, 
	EB_MSG_KEY_SEARCH, EB_MSG_MENU_SEARCH, EB_MSG_MULTI_SEARCH,
	EB_MSG_GRAPHIC_SEARCH, EB_MSG_BOOK_CONTAIN, EB_MSG_ENTER_WORD,
	EB_MSG_ENTER_WORDS, EB_MSG_SUCCESSFUL, EB_MSG_ENTRY, EB_MSG_ENTRIES,
	EB_MSG_SEARCH_FAIL, EB_MSG_PUSH_NO, EB_MSG_INSERT_DISC,
	EB_MSG_CANT_READ, EB_MSG_REINSERT_DISC, EB_MSG_CLEAN_DISC,
	EB_MSG_NOT_EB_DISC, EB_MSG_SEARCHING, EB_MSG_CHANGING_BATT,
	EB_MSG_DRY_BATT, EB_MSG_CHARGE_END, EB_MSG_BATT_EMPTY,
	EB_MSG_BATT_CHANGE, EB_MSG_CANT_CHANGE_BATT, EB_MSG_SELECT_LANGUAGE,
	EB_MSG_MENU): Rename _MSG_ to _MESSAGE_.

	* eb/language.h (EB_MESSAGE_INVALID): Defined.
	* eb/language.h (EB_LANG_ERROR): Renamed to EB_LANGUAGE_INVALID.
	* eb/defs.h (EB_MULTI_INVALID, EB_MULTI_ENTRY_INVALID): Defined.

	* eb/defs.h (EB_CHARCODE_ERROR): Renamed to EB_CHARCODE_INVALID.
	* eb/defs.h (EB_WORD_ERROR): Renamed to EB_WORD_INVALID.
	* eb/defs.h (EB_TEXT_ERROR): Renamed to EB_TEXT_INVALID.
	* eb/defs.h (EB_DISC_ERROR): Renamed to EB_DISC_INVALID.
	* eb/defs.h (EB_SUBBOOK_ERROR): Renamed to EB_SUBBOOK_INVALID.
	* eb/defs.h (EB_MULTI_ERROR): Renamed to EB_MULTI_INVALID.
	* eb/defs.h (EB_MULTI_ENTRY_ERROR): Renamed to
	EB_MULTI_ENTRY_INVALID.
	* eb/font.h (EB_FONT_ERROR): Renamed to EB_FONT_INVALID.

2000-03-29  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebinfo/ebinfo.c (output_multi_information): Fix the length of
	an entry label buffer.

	* eb/stopcode.c (eb_have_stopcode): Renamed to eb_have_stop_code().
	* eb/stopcode.c (eb_stopcode): Renamed to eb_stop_code().
	* eb/hook.c (eb_hook_stopcode): Renamed to eb_hook_stop_code().

	* eb/defs.h (EB_Appendix_Subbook_Struct): the members `narw_start'
	`narw_end' and `narw_page' are renamed to `narrow_start', `narrow_end'
	and `narrow_page'.
	* eb/def.sh (EB_Appendix_Struct): the member `narw_cache' is renamed
	to `narrow_cache'.
	* eb/defs.h (EB_Subbook_Struct): the member `narw_current' is
	renamed to `narrow_current'.
	* eb/defs.h (EB_Text_Context_Struct): the member `narw_flag' is
	renamed to `narrow_flag'.

	* eb/defs.h (EB_Alternation_Cache_Struct): the memeber `char_no' is
	renamed to `character_number'.
	* eb/defs.h (EB_Appendix_Subbook_Struct): the memeber `char_code' is
	renamed to `character_code'.
	* eb/defs.h (EB_Subbook_Struct): Likewise.

	* eb/error.h (EB_NUM_ERRORS): Renamed to EB_NUMBER_OF_ERRORS.
	* eb/def.s (EB_NUM_HOOKS): Renamed to EB_NUMBER_OF_HOOKS.
	* eb/def.s (EB_NUM_SEARCH_CONTEXTS): Renamed to
	EB_NUMBER_OF_SEARCH_CONTEXTS.

2000-03-27  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebzip/ebzip.c: Don't include `ctype.h'.  Define compatible
	character test and letter conversion macros.
	* ebinfo/ebinfo.c: Likewise.

	* eb/defs.h (EB_EB_MAXLEN_WORD): Renamed to EB_MAX_WORD_LENGTH.
	* eb/defs.h (EB_MAXLEN_EB_TITLE): Renamed to EB_MAX_EB_TITLE_LENGTH.
	* eb/defs.h (EB_MAXLEN_EPWING_TITLE): Renamed to
	EB_MAX_EPWING_TITLE_LENGTH.
	* eb/defs.h (EB_MAXLEN_TITLE): Renamed to EB_MAX_TITLE_LENGTH.
	* eb/defs.h (EB_MAXLEN_BASENAME): Renamed to EB_MAX_BASE_NAME_LENGTH.
	* eb/defs.h (EB_MAXLEN_LANGNAME): Renamed to
	EB_MAX_LANGUAGE_NAME_LENGTH.
	* eb/defs.h (EB_MAXLEN_MESSAGE): Renamed to EB_MAX_MESSAGE_LENGTH.
	* eb/defs.h (EB_MAXLEN_MULTI_LABEL): Renamed to
	EB_MAX_MULTI_LABEL_LENGTH.
	* eb/defs.h (EB_MAXLEN_ALTERNATION_TEXT): Renamed to
	EB_MAX_ALTERNATION_TEXT_LENGTH.
	* eb/error.h (EB_MAXLEN_ERROR_MESSAGE): Renamed to 
	EB_MAX_ERROR_MESSAGE_LENGTH.

	* eb/defs.h (EB_FILENAME_START): Renamed to EB_FILE_NAME_START.
	* eb/defs.h (EB_FILENAME_SOUND): Renamed to EB_FILE_NAME_SOUND.
	* eb/defs.h (EB_FILENAME_CATALOG): Renamed to EB_FILE_NAME_CATALOG.
	* eb/defs.h (EB_FILENAME_LANGUAGE): Renamed to EB_FILE_NAME_LANGUAGE.
	* eb/defs.h (EB_FILENAME_VTOC): Renamed to EB_FILE_NAME_VTOC.
	* eb/defs.h (EB_FILENAME_WELCOME): Renamed to EB_FILE_NAME_WELCOME.
	* eb/defs.h (EB_FILENAME_CATALOGS): Renamed to EB_FILE_NAME_CATALOGS.
	* eb/defs.h (EB_FILENAME_HONMON): Renamed to EB_FILE_NAME_HONMON.
	* eb/defs.h (EB_FILENAME_HONMON2): Renamed to EB_FILE_NAME_HONMON2.
	* eb/defs.h (EB_FILENAME_APPENDIX): Renamed to EB_FILE_NAME_APPENDIX.
	* eb/defs.h (EB_FILENAME_FUROKU): Renamed to EB_FILE_NAME_FUROKU.

	* eb/defs.h (EB_DIRNAME_DATA): Renamed to EB_DIRECTORY_NAME_DATA.
	* eb/defs.h (EB_DIRNAME_GAIJI): Renamed to EB_DIRECTORY_NAME_GAIJI.

	* eb/defs.h (EB_Font_Struct): Rename the member `filename' to
	`file_name'.

	* eb/font.h (EB_ERR_EMPTY_FILENAME): Renamed to EB_ERR_EMPTY_FILE_NAME.
	* eb/font.h (EB_ERR_TOO_LONG_FILENAME): Renamed to 
	EB_ERR_TOO_LONG_FILENAME.

	* eb/error.h (EB_ERR_EMPTY_FILENAME): EB_ERR_EMPTY_FILE_NAME.
	* eb/error.h (EB_ERR_TOO_LONG_FILENAME): EB_ERR_TOO_LONG_FILE_NAME.

2000-02-27  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/defs.h (EB_Search_Context): Add the member `keyword_heading'
	for keyword search.
	
	* eb/text.c, eb/text.h (eb_seek, eb_tell): Renamed to eb_seek_text()
	and eb_tell_text().

2000-02-10  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/zio.c (eb_zopen_epwzipped): Fix offset passed to lseek().
	Reported by Takashi NEMOTO.

2000-01-23  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* configure.in (--with-zlib): zlib is detected automatically.

	* acconfig.h (MAILING_ADDRESS, PACKAGE, VERSION, RETSIGTYPE_VOID,
	HAVE_STRUCT_UTIMBUF, WITH_SYMBOL_UNDERSCORE, DOS_FILE_PATH,
	EXEEXT_EXE): Removed.
	* acinclude.m4 (HAVE_STRUCT_UTIMBUF): Specify the third argument
	of AC_DEFINE.
	* cofigure.in (RETSIGTYPE_VOID): Likewise.
	* cofigure.in (EXEEXT_EXE): Likewise.

	* configure.in: Delete the `--enable-samples' option.
	* Makefile.am (ENABLE_SAMPLES): Remove the condition variable.

	* doc/Makfile.am (info_TEXINFOS): Remove eb.texi.
	* doc/Makfile.am (eb_TEXINFOS): Removed.
	* doc/Makfile.am (EXTRA_DIST): Remove `stamp-eb'.
	* doc/Makfile.am (eb-ver.texi, stamp-eb): Delete the targets.

	* eb/filename.c: Don't use ctype.h.

	* eb/text.c, eb/text.h (eb_forward_text): New function.
	* eb/text.c, eb/eb.h (eb_forward_heading): New function.
	* eb/search.c (eb_hit_list_keyword): Use eb_forward_heading()
	to get heading position.

2000-01-22  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* ebfont/ebfont.c (canonicalize_path): New function, copied
	from eb/ebzip.c.
	* ebzip/ebzip.c (main): Don't call eb_canoncalize_filename() to
	canonicalize `out_path'.  Use canonicalize_path() instead.
	* ebfont/ebfont.c (make_book_fonts): Check whether `book_path'
	is "/".

	* eb/setword.c (eb_convert_lower_latin): Also convert alphaet
	with an accent mark to the corresponding upper letter.

	* eb/font.c, eb/font.h (eb_font_count): Removed.
	* eb/subbook.c, eb/eb.h (eb_subbook_count): Removed.
	* eb/appsub.c, eb/eb.h (eb_appendix_subbook_count): Removed.
	* eb/language.c, eb/language.h (eb_language_count): Removed.
	* eb/message.c, eb/language.h (eb_message_count): Removed.
	* eb/multi.c, eb/eb.h (eb_multi_search_count): Removed.
	* eb/multi.c, eb/eb.h (eb_multi_entry_count): Removed.

2000-01-18  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/hook.c (euc2ascii_table_a1, euc2ascii_table_a3): Renamed
	to `euc_a1_to_ascii_table' and `euc_a3_to_ascii_table'.

	* eb/defs.h (EB_TEXT_ERROR): Defined.
	* eb/text.c (eb_read_text, eb_heading, eb_rawtext): If it returns
	with an error, set context mode to `EB_TEXT_ERROR'.

	* ebappendix/ebappendix.in ($copyright): Defined and use it
	when `ebappendix --version'.
	* ebrefile/ebrefile.in ($copyright): Likewise.
	
2000-01-16  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/text.c (eb_text, eb_heading, eb_rawtext): Renamed to
	eb_read_text(), eb_read_heading(), eb_read_rawtext().

	* eb/defs.h (EB_CASE_UNCHANGE, EB_SUFFIX_UNCHANGE): Define the cpp
	macros.

	* ebinfo/ebinfo.c (output_error_message): New static function.
	* ebinfo/ebinfo.c: Use output_error_message() to output an error
	messge.

	* ebzip/ebzip.c (find_subbook): Oputput an error message when
	an errorr occurs.
	* ebzip/ebzip.c: Return EB_SUBBOOK_ERROR rather than -1 if
	the target subbook is not found.

2000-01-15  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/match.c (eb_match_exactword): Also ignores NULs in the
	tail of a pattern.

	* eb/search.c (eb_presearch_word, eb_hit_list_word,
	eb_hit_list_keyword, eb_hit_list_multi): Support DUDEN, which
	has leaf index pages of fixed length entires.  

	* eb/defs.h (Text_Context_Struct): Remove the membsers
	`modifier_hook' and `reference_hook'.
	* eb/text.c (eb_read_internal): Delete operations to `modifier_hook'
	and `reference_hook'.
	* eb/text.h (EB_HOOK_NARROW, EB_HOOK_SUBSCRIPT, EB_HOOK_SUPERSCRIPT,
	EB_HOOK_EMPHASIS, EB_HOOK_PICTURE, EB_HOOK_MENU, EB_HOOK_SOUND,
	EB_HOOK_REFERENCE, EB_HOOK_KEYWORD): Remove these hook codes.
	* eb/defs.h (EB_NUM_HOOKS): Updated.
	
2000-01-13  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/defs.h (EB_Hook_Struct): The member `function' is pointer
	to a function that returns `EB_Error_Code', not `int'.

	* eb/error.h (EB_NO_ERR): Renamed to `EB_SUCCESS'.

	* eb/search.c (EB_PAGE_ID_LEAF, EB_PAGE_ID_START, EB_PAGE_ID_END,
	EB_PAGE_ID_HAVE_GROUP): Define these cpp macros.
	* eb/search.c (eb_presearch_word, eb_hit_list_word,
	eb_hit_list_keyword, eb_hit_list_multi): Use EB_PAGE_ID_* macros
	to check page id.

2000-01-10  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/text.c (eb_read_internal): Discard cache data when read error
	occurs.
	* eb/search.c (eb_hit_list_word, eb_hit_list_keyword,
	eb_hit_list_multi): Likewise.

	* eb/search.c (cache_rest_length): Declare as an auto variable
	in eb_read_internal(), not static variable in this file.
	* eb/search.c (cache_location, cache_length): New static variables.
	* eb/text.c (eb_read_internal): Check cache status before processing
	text.
	
	* eb/eb.c, eb/book.c: All the functions defined in eb/eb.c
	are moved to `eb/book.c'.
	* eb/eb.c, eb/eb.h (eb_initialize_library, eb_finalize_library):
	New functions.
	* eb/book.c (eb_initialize, eb_clear): Renamed to
	`eb_initialize_book' and `eb_finalize_book'.
	* eb/appendix.c (eb_clear_appendix): Renamed to `eb_finalize_appendix'.

	* eb/book.c (eb_finalize_book): Don't call eb_initialize_book().
	Reset variables by itself.
	* eb/appendix.c (eb_finalize_appendix): Don't call
	eb_finalize_appendix().  Reset variables by itself.

	* ebzip/ebzip.c (canonicalize_path): New function.
	* ebzip/ebzip.c (main): Don't call eb_canoncalize_filename() to
	canonicalize `out_path'.  Use canonicalize_path() instead.
	* ebzip/ebzip.c (main): Define `book_path' as an array of char,
	rather than a pointer to char.  Copy a book's path to it, and
	call canonicalize_path() to canonicalize it.
	* ebzip/ebzip.c (zip_book, unzip_book, zipinfo_book): Also takes
	`book_path' as an argument.  Refer it rather than `book->path'.
	* ebzip/ebzip.c (zip_book, unzip_book, zipinfo_book): Check whether
	`book_path' and/or `out_path' is "/".

2000-01-09  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/zio.c (eb_zclaer): dispose `cache_buffer' only when it is not
	NULL.
	* eb/zio.c (eb_zclaer): Renamed to eb_zfinalize().
	* eb/zio.c (eb_zinitialize): Add the new function.
	* eb/zio.c (eb_zinitialize, eb_zread_ebzipped, eb_zread_epwzipped):
	Allocate memory to `cache_buffer' in the new function eb_zinitialize()
	rather than eb_zread_ebzipped() or eb_zread_epwzipped().
	
	* eb/text.c (eb_text, eb_heading): Don't initialize `default_hookset'.
	* eb/text.c (default_hookset): Move to `hook.c' and renamed to
	`eb_default_hookset'.
	* eb/internal.h (eb_default_hookset): Declare as an external variable.
	* eb/hook.c, eb/internal.h (eb_initialize_default_hookset):
	Add the function.

	* ebzip/ebzip.c (main): Go to `die' when eb_subbook_list() fails,
	or when an unknown subbook is specified.
	* eb/ebzip.c (main): Call eb_clear() at the end of the routine.

	* eb/search.c (eb_hit_list): Fully re-written to support
	keyword and multi search.

	* eb/search.c (eb_initialize_search): Initialize also
	`search_contexts[0].code' in a book.
	* eb/search.c (eb_presearch_word, eb_hit_list_word,
	eb_hit_list_keyword, eb_hit_list_multi): Take a search context
	as a second argument to record search parameters.
	* eb/search.c (eb_search_word_internal): Use search context 
	in a target book.
	* eb/search.c (eb_hit_list): Likewise.
	* eb/search.c (eb_hit_list_internal): Likewise.
	* eb/exactword.c (eb_search_exactword): Likewise.
	* eb/word.c (eb_search_word): Likewise.
	* eb/endword.c (eb_search_endword): Likewise.

2000-01-08  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/defs.h (EB_BOOK_NONE): Define the cpp macro.
	* eb/text.c (eb_initialize_text, eb_read_internal): Use EB_BOOK_NONE 
	rather than -1, to represent no cache data is buffered.
	* eb/search.c (eb_initialize_search, eb_presearch_word): Likewise.
	
	* eb/appsub.c (eb_initialize_appendix_subbook,
	eb_set_appendix_subbook): Define the `succeeded' label, and
	go to there when there is nothing to be done in the latter of the
	function.
	* eb/font.c (eb_set_font) Likewise.
	* eb/language.c (eb_set_language): Likewise.
	* eb/narwalt.c (eb_narrow_character_text_jis,
	eb_narrow_character_text_latin): Likewise.
	* eb/narwfont.c (eb_have_narrow_font): Likewise.
	eb/search.c (eb_presearch_word, eb_hit_list_word, eb_hit_list_keyword,
	eb_hit_list_multi): Likewise.
	* eb/subbook.c (eb_initialize_subbook, eb_set_subbook): Likewise.
	* eb/widealt.c (eb_wide_character_text_jis,
	eb_wide_character_text_latin): Likewise.
	* eb/widefont.c (eb_have_wide_font): Likewise.
	
	* eb/appendix.c, eb/appsub.c, eb/copyright.c, eb/eb.c, 
	eb/exactword.c, eb/filename.c, eb/font.c, eb/graphic.c, eb/hook.c,
	eb/keyword.c, eb/language.c, eb/menu.c, eb/message.c, eb/multi.c,
	eb/narwalt.c, eb/narwfont.c, eb/search.c, eb/setword.c, eb/stopcode.c,
	eb/subbook.c, eb/text.c, eb/widealt.c, eb/widefont.c, eb/word.c:
	Define the `failed' label in most functions.  Go to there
	if error.

	* eb/defs.h (EB_SUBBOOK_ERROR): Define the cpp macro.
	* eb/appsub.c (eb_appendix_subbook): Return EB_SUBBOOK_ERROR
	rather than -1 if error.
	* eb/subbook.c (eb_subbook): Likewise.

	* eb/defs.h (EB_DISC_ERROR): Define the cpp macro.
	* eb/eb.c (eb_disc_type): Return EB_DISC_ERROR rather than -1
	if error.
	* eb/defs.h (EB_CHARCODE_ERROR): Define the cpp macro.
	* eb/eb.c (eb_character_code): Return EB_CHARCODE_ERROR rather than
	-1 if error.

	* eb/font.h (EB_FONT_ERROR): Define the cpp macro.
	* eb/eb.c (eb_font): Return EB_FONT_ERROR rather than -1 if error.

	* eb/language.h (EB_LANG_ERROR): Define the cpp macro.
	* eb/setword.c (eb_language): Return EB_LANG_ERROR rather than
	-1 if error.

	* eb/setword.c (eb_reverse_word_latin): Don't check whether
	`word_length' is 0.  This is not needed.
	* eb/setword.c (eb_reverse_word_jis): Don't check whether
	`word_length' is less than 2.  This is not needed.

	* eb/messages.c (eb_initialize_messages): Return 0 or -1.

	* eb/narwalt.c (eb_narrow_alt_start, eb_narrow_alt_end): 
	Return -1 if an error occurs.
	* eb/widealt.c (eb_wide_alt_start, eb_wide_alt_end): Likewise.
	
2000-01-07  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/defs.h (EB_Appendix_Struct, EB_Book_Struct, EB_Hookset_Struct):
	Add a member named `error'.
	* eb/appendix.c (eb_initialize_appendix): Initialize `error' to 0.
	* eb/eb.c (eb_initialize): Initialize `error' to 0.
	* eb/hook.c (eb_initialize_hookset): Initialize `error' to 0.

	* eb/setword.c (eb_fix_word_latin, eb_fix_word_jis): 
	Takes the argument `book' as the first argument.

	* eb/appendix.c, eb/appsub.c, eb/hook.c, eb/narwalt.c, eb/widealt.c:
	Set `appendix->error' instead of `eb_error', if an error occurs.
	* eb/copyright.c, eb/eb.c, eb/error.c, eb/font.c, eb/graphic.c,
	eb/keyword.c, eb/language.c, eb/match.c, eb/menu.c, eb/message.c,
	eb/multi.c, eb/narwfont.c, eb/search.c, eb/setword.c, eb/stopcode.c,
	eb/subbook.c, eb/text.c, eb/uint.c, eb/widefont.c: Set `book->error'
	instead of `eb_error', if an error occurs.
	* eb/hookset.c: Set `hookset->error' instead of `eb_error',
	if an error occurs.

	* eb/filename.c (eb_canonicalize_filename,
	eb_canonicalize_filename_internal, eb_canonicalize_appendix_filename):
	Rename the original `eb_canonicalize_filename()' to `...internal()',
	and add the argument `error'.
	Add the new function `eb_canonicalize_filename()' and
	`eb_canonicalize_appendix_filename()'.
	* filename.c (eb_catalog_filename_internal, 
	eb_fix_filename_internal): Call `eb_canonicalize_filename_internal()',
	instead of `eb_canonicalize_filename'.
	* eb/eb.c (eb_bind): Call `eb_canonicalize_appendix_filename()',
	instead of `eb_canonicalize_filename'.

	* eb/error.c, eb/error.h (eb_error): Removed.
	* eb/error.c, eb/error.h (eb_error, eb_appendix_error,
	eb_hookset_error): Add these functions.
	* eb/error.c, eb/error.h (eb_error_message, eb_error_message2):
	The original eb_error_message2() is renamed to eb_error_message().
	The original eb_error_message() is overwritten.
	
	* eb/narwfont.c (eb_narrow_font_width2, eb_narrow_font_size2):
	Don't set `eb_error'.
	* eb/widefont.c (eb_wide_font_width2, eb_wide_font_size2):
	Likewise.
	* eb/bitmap.c (eb_narrow_font_xbm_size, eb_narrow_font_xpm_size,
	eb_narrow_font_gif_size, eb_wide_font_xbm_size,
	eb_wide_font_xpm_size, eb_wide_font_gif_size):
	Likewise.
	
	* eb/text.c, eb/text.h (eb_initialize_hookset, eb_set_hook,
	eb_set_hooks): Move to `eb/hook.c'.
	* eb/hook.c, eb/text/h (eb_hook_stopcode_dummy,
	eb_hook_stopcode_mixed): Removed.

	* Makefile.am (EXTRA_DIST): Add `ChangeLog.0'.

	* eb/font.c (eb_font_count): Return -1 if an error occurs.

	* eb/appendix.c (eb_bind_appendix): Don't call 
	eb_initialize_appendix(), but eb_clear_appendix().

2000-01-06  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/defs.h (EB_Subbook): Rename the member `multi' to `multis'.

	* eb/font.c (eb_initialize_eb_fonts, eb_initialize_epwing_fonts):
	Use memmove(), not memcpy().
	* eb/message.c (eb_initialize_messages): Likewise.
	* eb/text.c (eb_read_internal): Likewise.
	* eb/font.c, eb/message.c, eb/text.c: Check for HAVE_MEMMOVE.
	* eb/memmove.c: New file.
	* eb/internal.h: Declare eb_memmove().
	* eb/Makefile.am (libeb_la_SOURCES): Add `memmove.c'.
	* configure.in (AC_CHECK_FUNCS): Add `memmove'.
	
	* eb/search.c: Include string.h, and check HAVE_MEMCPY and
	MEMMOVE.

	* libebutils/memset.c (memset): Type of return value is `VOID *',
	not `void *'.

2000-01-05  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/defs.h (EB_SEARCH_EXACTWORD, EB_SEARCH_WORD, EB_SEARCH_ENDWORD,
	EB_SEARCH_KEYWORD, EB_SEARCH_MULTI,EB_SEARCH_NONE): Defined.
	* eb/defs.h (EB_Search_Code, EB_Text_Code): Defined.
	* eb/defs.h (EB_Multi_Search_Struct, EB_Search): Defined.
	* eb/defs.h (EB_Search_Context_Struct, EB_Search_Context): Defined.
	* eb/defs.h (EB_Multi_Entry_Struct, EB_Multi_Entry): Merged to
	`EB_Search_Struct' and `EB_Search'.
	* eb/defs.h (EB_Search_Context_Struct): Add the member `label' and
	`candidates_page', and rename `page' to `index_page'.
	* eb/defs.h (EB_Multi_Search_Struct): Add the member `search', and
	change the type of `entries' from `EB_Multi_Entry' to `EB_Search'.
	* eb/defs.h (EB_Subbook_STruct): Change the type of `multi' from
	`EB_Search[]' to `EB_Multi_Search[]'.

	* eb/eb.h: Declaration of functions defined in eb/filename.c
	are moved to `eb/internal.h'.

	* eb/search.c: Move eb_have_word_search() and eb_search_word()
	to the new file eb/word.c.
	* eb/search.c: Move eb_have_endword_search() and eb_search_endword()
	to eb/endword.c, new file.
	* eb/search.c: Move eb_have_endword_search() and eb_search_endword()
	to the new file eb/endword.c.
	* eb/search.c: Move eb_have_exactword_search() and
	eb_search_exactword() to the new file eb/exactword.c.

	* eb/multi.c, eb/eb.h (eb_multi_entry_have_exactword_search,
	eb_multi_entry_have_word_search, eb_multi_entry_have_endword_search,
	eb_multi_entry_have_keyword_search): Removed.
	* eb/multi.c, eb/eb.h (eb_multi_entry_have_candidates,
	eb_multi_entry_candidates): Added these functions.
	* eb/multi.c, eb/eb.h (eb_search_multi): Added these functions.

	* eb/error.h (EB_ERR_DIFF_SUBBOOK, EB_ERR_DIFF_BOOK,
	EB_ERR_NO_PREV_SEARCH, EB_ERR_NO_PREV_CONTENT,
	EB_ERR_NO_SUCH_MULTI_ID, EB_ERR_NO_SUCH_ENTRY_ID): Removed.
	* eb/error.h (EB_ERR_FAIL_OPEN_START, EB_ERR_FAIL_READ_START,
	EB_ERR_FAIL_SEEK_START, EB_ERR_UNEXP_START, EB_ERR_NO_START):
	Removed these obsolete error code names that are remained for
	backword compatibility.

	* eb/error.h (EB_ERR_TOO_MANY_WORDS, EB_ERR_NO_WORD): Add these
	to the error code list.

	* eb/hook.c (euc2ascii_table_a1, euc2ascii_table_a3) Declared
	as `const'.

	* eb/keyword.c: Define `eb_search_keyword()'.

	* eb/setword.c, eb/internal.h (eb_set_keyword, eb_set_multiword):
	Added these functions.

	* eb/subbook.c (eb_initialize_indexes): Initialize `label' and
	`candidates_page', the struct members in `EB_Search'.

	* eb/search.c (comparison_result, word, canonicalized_word, page,
	offset, page_id, entry_count, entry_index): These static variables
	are moved to struct members of `EB_Search_Context'.
	* eb/search.c (subbook_code): The static variable are removed.
	* eb/search.c (book_code, page_buffer, bufp): These static variables
	are renamed to `cache_book_code', `cache_buffer' and `cachep'.
	* eb/search.c (cache_page): New static variable.

	* eb/search.c (eb_search_word_internal): Renamed to
	`eb_presearch_word'.
	* eb/search.c (eb_hit_list_internal): Renamed to `eb_hit_list_word'.
	* eb/search.c (eb_hit_list_word): Read a page at the beginning of
	the loop, instead of the tail.
	* eb/search.c (eb_hit_list_keyword, eb_hit_list_multi): New functions.
	* eb/defs.h (EB_Book_Struct): Add the member `search_contexts'.
	* eb/defs.h (EB_Search_Context_Struct): Defined.

	* eb/ebinfo.c (output_multi_information): Output `with candidates'
	instead of `search methods'.
	
2000-01-03  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/setword.c (jisx0208_table, jisx0201_table, long_vowel_table,
	voiced_consonant_table): Declared as `const'.
	* eb/hook.c (euc2ascii_table_a1, euc2ascii_table_a3): Likewise.

	* eb/defs.h, eb/internal.h: All functions defined in `eb/filename.h'
	are declared in `eb/internal.h', not `eb/defs.h'.

	* eb/text.h: Use `EB_UINT_FUNCTION', not `EB_UINT_FUNC'.

1999-12-28  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/bitmap.c (gif_preamble): Renamed to `gif_default_preamble'.
	* eb/bitmap.c (eb_bitmap_to_gif): Don't modify `gif_default_preamble'.

1999-12-26  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/text.c (eb_read_internal): Discard cache buffered in 
	`cache_buffer' if different book's data are cached.
	* eb/text.c (eb_read_internal): Update `book->text_context.location'
	when the pointed character is prossessed.
	
	* eb/text.c (eb_initialize_text): Rewritten.

	* eb/text.c (eb_text): Don't check for EB_ERR_NO_PREV_CONTENT,
	EB_ERR_DIFF_BOOK or EB_ERR_DIFF_SUBBOOK error.
	* eb/text.c (eb_heading): Likewise.

	* eb/text.c, eb_text.h (eb_tell): Add this function.

	* eb/text.c (eb_set_hook): Don't test whether `hook->code' is 
	EB_HOOK_NULL.

	* eb/text.c (bookcode, pagebuf, pagebufp, pagerest): Renamed to
	`cache_book_code`, `cache_buffer`, `cachep` and `cache_rest_length'.
	* eb/text.c (callcount, subcode, location, workbuf, worklen,
	modhook, refhook, narwflag, charapp, bookeof, textend, skipcode):
	Remove these static variables.
	* eb/defs.h (EB_Book_Struct): Add the member `text_context'.
	* eb/defs.h (EB_Text_Context_Struct): Defined.

	* eb/bitmap.c, eb/copyright.c, eb/ebunzip1.c, eb/error.c, 
	eb/filename.c, eb/graphic.c, eb/hook.c, eb/menu.c, eb/setword.c, 
	eb/stopcode.c, eb/uint.c: Include `internal.h'.
	* eb/uint.c: Undefine the cpp macros eb_uint1, eb_uint2, eb_uint3
	and eb_uint4.

	* eb/defs.h, eb/appendix.h, eb/eb.h, eb/error.h, eb/font.h,
	eb/internal.h, eb/language.h, eb/text.h (EB_P): 
	Defined in eb/defs.h only.

	* eb/appsub.c, eb/appendix.h (eb_appendix_subbook2): Removed.

	* eb/defs.h, eb/text.h (EB_Hook, EB_Hookset): Move definitions
	from eb/text.h to eb/defs.h,
	* eb/defs.h (EB_Book_Struct): Rename the member `sub_count' to
	`subbook_count', `sub_current' to `subbook_current', `lang_count'
	to `language_count' and `lang_current' to `language_current'.
	* eb/defs.h (EB_Subbook_Struct): Rename the member `sub_file' to
	`text_file', `word_alpha' to `word_alphabet' and `endword_alpha'
	to `endword_alphabet'.
	* eb/defs.h (EB_Language_Struct): Rename the member `msg_count' to
	`message_count'.
	* eb/defs.h (EB_Appendix_Struct): Rename the member `sub_count' to
	`subbook_count', and `sub_current' to `subbook_current'.
	* eb/defs.h (EB_Alternation_Cache_Struct): Rename the member
	`charno' to `char_no'.
	* eb/defs.h (EB_Huffman_Node_Struct): Change the type of the members
	`left` and `right` to `EB_Huffman_Node'.
	* eb/defs.h (EB_Huffman_Node, EB_Zip, EB_Alternation_Cache,
	EB_Appendix_Subbook, EB_Appendix, EB_Font, EB_Language,
	EB_Multi_Entry, EB_Search, EB_Subbook, EB_Text_Context, EB_Book,
	EB_Position, EB_Hit, EB_Hook, EB_Hookset): Typedef'ed first,
	and then define their conrete structs.
	* eb/defs.h, eb/error.h (EB_Error_Code): 
	Move definition from eb/error.h to eb/defs.h.
	* eb/defs.h, eb/text.c (EB_MAXLEN_TEXT_WORK, EB_NUM_HOOKS):
	Move definitions from eb/text.c to eb/defs.h.
	* eb/defs.h, eb/text.c (CONTENT_TEXT, CONTENT_HEADING,
	CONTENT_RAWTEXT): Move definitions from eb/text.c to eb/defs.h,
	and renamed to EB_TEXT_TEXT, EB_TEXT_HEADING and EB_TEXT_RAWTEXT.
	Add the new content type macro `EB_TEXT_NONE'.
	* eb/defs.h (EB_WORD_ALPHA): Renamed to `EB_WORD_ALPHABET'.

	* eb/error.c (messages): Add the `const' modifier.

1999-12-13  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/error.h: Rename the error code
	EB_ERR_FAIL_OPEN_START to EB_ERR_FAIL_OPEN_TEXT,
	EB_ERR_FAIL_READ_START to EB_ERR_FAIL_READ_TEXT,
	EB_ERR_FAIL_SEEK_START to EB_ERR_FAIL_SEEK_TEXT,
	EB_ERR_UNEXP_START to EB_ERR_UNEXP_TEXT,
	and EB_ERR_NO_START to EB_ERR_NO_TEXT.
	The old error code names are obsoleted, but still available.

	* eb/defs.h (EB_WORD_ALPHA): Renamed to `EB_WORD_ALPHABET'.
	* eb/defs.h (EB_Alternation_Cache): Rename the structure member
	`charno' to `char_no'.
	* eb/defs.h (EB_Appendix): Rename the structure member
	`sub_file' to `appendix_file',
	`sub_count' to `subbook_count'
	and `sub_current' to `subbook_current'.
	* eb/defs.h (EB_Language): Rename the structure member
	`msg_count' to `message_count'.
	* eb/defs.h (EB_Book): Rename the structure member
	`sub_file' to `text_file',
	`word_alpha' to `word_alphabet',
	`endword_alpha' to `endword_alphabet',
	`sub_count' to `subbook_count',
	`sub_current' to `subbook_current'.
	`sub_count' to `subbook_count',
	and `lang_current' to `language_current'.

1999-12-12  Motoyuki Kasahara  <m-kasahr@sra.co.jp>

	* eb/error.c (messages): Modify the error message of the error
	code 39 (EB_ERR_NO_START).

	* eb/text.c, eb/internal.h (eb_initialize_text): Add an argument
	`book'.  Initialize variables only when a code of `book' is
	equal to `bookcode'.
	* eb/seaarch.c, eb/internal.h (eb_initialize_search): Likewise.

	* eb/text.c (eb_text, eb_heading, eb_rawtext): Check `bookcode'
	for the EB_ERR_NO_PREV_CONTENT error when `callcount' is 0.

	* eb/text.c (eb_tell): Add a new function.

	* eb/text.c (eb_text_internal): Don't go to `at_end' when
	no enough space is left on the text buffer.

