2001-06-03 Motoyuki Kasahara * 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 * 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 * 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 * 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 * Makefile.am (ACLOCAL_AMFLAGS): Set the variable to `-I m4', not `-I $(srcdir)/m4'. 2001-05-02 Motoyuki Kasahara * 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 * 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 * 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 * configure.in: Renamed to `configure.ac'. 2001-04-13 Motoyuki Kasahara * eb/narwfont.c (eb_initialize_narrow_font): Fix a bug in reopen a font file, reported by HASEGAWA Masafumi. 2001-04-12 Motoyuki Kasahara * 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 * Version 3.0beta0. * ebzip/Makefile.am (noinst_HEADERS): Add `ebzip.h'. * gttest.po: Add header. 2001-04-08 Motoyuki Kasahara * 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 * 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 * 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 * 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 * 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 * m4/gettext.m4 (AM_GNU_GETTEXT_HACKED): Quote $INCLUDED_GETTEXT and $ENABLE_NLS. 2001-03-18 Motoyuki Kasahara * 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 . * 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 * 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 * 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 * 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 * check gettext() in libintl , and then in libc. 2001-02-19 Motoyuki Kasahara * ebzip/filename.c (compose_unfixed_path_name2): Enclose "%s/%s" with F_(). 2001-02-18 Motoyuki Kasahara * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * eb/defs.h (EB_Binary_Context_Struct, EB_Binary_Context, EB_Binary_Code): Defined. 2001-01-11 Motoyuki Kasahara * 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 * 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 * configure.in (AC_ARG_WITH): Fix a bug that configure cannot recognize --with-included-zlib option. Reported by Kazuhiko. 2001-01-01 Motoyuki Kasahara * 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 * 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 * libebutils/Makefile.am (EXTRA_DIST): Delete `memset.c', `strerror.c' and `strcasecmp.c'. Automake recognizes them as distirbution files. 2000-12-29 Motoyuki Kasahara * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * eb/text.c: Include . 2000-11-03 Motoyuki Kasahara * 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 * 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 * 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 * 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 * eb/subbook.c (eb_set_subbook): Set `book->subbook_current->text_file' to 1 when no text file exists. 2000-10-21 Motoyuki Kasahara * 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 * 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 * 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 * eb/zio.c (eb_zopen_epwing): Add missing initialization code for the variable `read_length'. 2000-09-24 Motoyuki Kasahara * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * ebrefile/ebrefile.in: Fix a bug that ebrefile fills the reserved-1 with 0x00, reported by Takashi NEMOTO. 2000-06-13 Motoyuki Kasahara * 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 * 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 * 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 * 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 * eb/Makefile.am (install-data-hook): Removed. 2000-05-20 Motoyuki Kasahara * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * eb/zio.c (eb_zopen_epwzipped): Fix offset passed to lseek(). Reported by Takashi NEMOTO. 2000-01-23 Motoyuki Kasahara * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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 * 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.