blob: 2a2925a1c81cb3083bc3423778e298aa199326b9 [file] [log] [blame]
2003-05-22 Bruno Haible <>
* Version 1.9.1 released.
2003-05-22 Bruno Haible <>
* lib/genaliases.c (main): Emit %pic instead of %null-strings.
Change type of 'name' field to 'int'.
* lib/genaliases2.c (emit_encoding): Add a 'tag' argument. Emit an
invocation of macro S(), including the tag and a counter.
(main): Use the command-line argument as tag.
* Makefile.devel (lib/aliases_aix.h, lib/aliases_osf1.h,
lib/aliases_dos.h, lib/aliases_extra.h): Pass a tag to the program.
* lib/iconv.c (stringpool2_t): New type.
(stringpool2_contents): New data table.
(stringpool2): New macro.
(sysdep_aliases): Make position-independent. Move #includes out to
(aliases2_lookup): Update.
(nalias): New type.
(compare_by_index): Use 'struct nalias' instead of 'struct alias'.
(iconvlist): Convert 'struct alias' to 'struct nalias' while copying.
* lib/aliases2.h: New file, extracted from lib/iconv.c.
2003-05-20 Bruno Haible <>
* lib/iconv.c (iconvlist): Test p->name against NULL, not against "".
Reported by Muraoka Taro <>.
2003-05-19 Bruno Haible <>
* windows/iconv.rc: Include <winver.h>.
Reported by Perry Rapp.
2003-05-18 Bruno Haible <>
* Version 1.9 released.
2003-05-18 Bruno Haible <>
* lib/ ( Avoid using LIBTOOL_LINK.
2003-05-18 Bruno Haible <>
* lib/Makefile.msvc (DEBUGFLAGS): New variable.
(iconv.lib): Use it.
* src/Makefile.msvc (DEBUGFLAGS): New variable.
* tests/Makefile.msvc (DEBUGFLAGS): New variable.
2003-05-17 Bruno Haible <>
* src/Makefile.msvc (libdir, datadir, localedir): New variables.
(IIlibdir, IIdatadir, IIlocaledir): New variables.
(iconv_no_i18n.exe): New rule.
(all): Depend on it.
* tests/check-stateful.bat: Invoke iconv_no_i18n instead of iconv.
* tests/check-translit.bat: Likewise.
2003-05-16 Bruno Haible <>
* lib/genaliases.c (main): Emit declarations for gperf-3.0.
* Makefile.devel (lib/aliases.h): Remove gperf command line options;
add new option "-m 10" for gperf-3.0.
2003-05-12 Bruno Haible <>
* m4/error.m4: Update from gettext.
2003-05-12 Bruno Haible <>
2003-05-12 Bruno Haible <>
* lib/Makefile.msvc (PICFLAGS, CFLAGS): Move BUILDING_* macros from
2003-05-09 Bruno Haible <>
* srclib/error.c: Update from gnulib with modifications.
* srclib/unlocked-io.h: New file, from gnulib.
* m4/strerror_r.m4: New file, from gnulib.
* m4/unlocked-io.m4: New file, from gnulib.
* Makefile.devel (aclocal.m4): Depend on them.
2003-05-08 Bruno Haible <>
* Makefile.msvc (IIPREFIX): New variable.
* srclib/Makefile.msvc (INCLUDES): Add -I..\windows.
* src/Makefile.msvc (IIPREFIX, IIprefix, IIexec_prefix, IIbindir,
IIincludedir): New variables.
(INCLUDES): Add -I..\windows.
(iconv.exe): Define INSTALLPREFIX and INSTALLDIR. Link with
Patches by Perry Rapp.
2003-05-07 Bruno Haible <>
* README.woe32: Fix instructions for step 1.
* srclib/Makefile.msvc (OBJECTS): Remove strtoul.obj.
(strtoul.obj): Remove rule.
Reported by Perry Rapp.
2003-05-07 Bruno Haible <>
* Makefile.vms: New file.
* lib/Makefile.vms: New file.
* srclib/Makefile.vms: New file.
* src/Makefile.vms: New file.
* man/Makefile.vms: New file.
* tests/Makefile.vms: New file.
* Makefile.devel (config.h_vms, lib/config.h_vms, include/iconv.h_vms):
New rules.
(all): Depend on them.
2003-05-07 Bruno Haible <>
* srclib/Makefile.msvc (OBJECTS): Remove findprog.obj.
(findprog.obj): Remove rule.
* src/Makefile.msvc (includedir): New variable.
2003-05-06 Bruno Haible <>
* lib/translit.def: Upgrade to Unicode 4.0.
2003-05-06 Bruno Haible <>
* srclib/ (DEFS): Fix spelling of DEPENDS_ON_LIBICONV.
* srclib/Makefile.msvc (CFLAGS): Likewise.
* srclib/Makefile.msvc (INCLUDES): Add -I.. .
Reported by Perry Rapp.
* Makefile.msvc (config.h): New rule.
(all): Depend on it.
(mostlyclean, clean, distclean, maintainer-clean): Erase config.h.
Reported by Perry Rapp.
2003-05-06 Bruno Haible <>
* autoconf/config.guess: Update to GNU version 2003-02-22.
* autoconf/config.sub: Likewise.
2003-05-06 Bruno Haible <>
* m4/lib-link.m4: Update from GNU gettext.
* autoconf/config.rpath: Update from GNU gettext.
* m4/libtool.m4: Update from GNU gettext, based on libtool-1.5.
* autoconf/ Update from GNU gettext, based on libtool-1.5.
* m4/gettext.m4: Update from GNU gettext.
* m4/nls.m4: Update from GNU gettext.
* m4/po.m4: Update from GNU gettext.
* Makefile.devel (aclocal.m4): Depend on m4/nls.m4 and m4/po.m4.
2003-04-12 Bruno Haible <>
Support for OpenVMS 7.3.
* lib/iconv.c (USE_OSF1): Define also on VMS.
2003-04-12 Bruno Haible <>
Better support for FreeBSD.
* lib/encodings.def (ISO8859-{1,2,3,4,5,6,7,8,9,10,13,14,15,16): New
aliases, for compatibility with earlier FreeBSD iconv implementation
by Konstantin Chuguev.
* lib/iconv.c (iconv_open, iconv, iconv_close) [FreeBSD]: Define as
* src/ (install) [FreeBSD]: Avoid installation problem.
2003-04-12 Bruno Haible <>
* (mandir): Change default value.
* (datadir): New variable.
(install, installdirs, uninstall): Pass datadir to po and man
* Makefile.os2 (datadir): New variable.
(mandir): Use it instead of prefix.
(install, uninstall): Pass datadir to man directory.
* Makefile.msvc (mandir, docdir): Use datadir instead of prefix.
* man/ (datadir): New variable.
(docdir): Use it instead of prefix.
(install, installdirs): Update.
* man/Makefile.os2 (datadir): New variable.
(mandir): Use it instead of prefix.
* man/Makefile.msvc (datadir): New variable.
(mandir, docdir): Use it instead of prefix.
(install, installdirs): Update.
2003-04-06 Bruno Haible <>
Make it possible to build with or without libintl support on Woe32.
* Makefile.devel (config.h.msvc): Remove ENABLE_NLS.
* Makefile.msvc (NO_NLS): New variable.
* srclib/Makefile.msvc (NO_NLS): New variable.
* src/Makefile.msvc (NO_NLS): New variable.
(CFLAGS, INCLUDES, iconv.exe): Use them.
2003-04-12 Bruno Haible <>
* lib/loop_unicode.h (unicode_transliterate): When the Hangul or
variants transliteration failed with RET_ILUNI, don't return
Reported by the FreeBSD porters.
2003-04-06 Bruno Haible <>
* srclib/binary-io.h: New file, from GNU gettext.
* src/iconv.c: Include it.
(O_BINARY, O_TEXT, SET_BINARY): Remove definitions.
2003-04-05 Bruno Haible <>
Support for relocatable installation.
* m4/alloca.m4: New file, from GNU gettext.
* m4/canonicalize.m4: New file, from GNU gettext.
* m4/error.m4: New file, from GNU gettext.
* m4/onceonly.m4: New file, from GNU gettext.
* m4/pathmax.m4: New file, from GNU gettext.
* m4/relocatable.m4: New file, from GNU gettext.
* m4/setenv.m4: New file, from GNU gettext.
* m4/stdbool.m4: New file, from GNU gettext.
* m4/strerror.m4: New file, from GNU gettext.
* m4/xreadlink.m4: New file, from GNU gettext.
* autoconf/config.libpath: New file, from GNU gettext.
* autoconf/install-reloc: New file, from GNU gettext.
* autoconf/reloc-ldflags: New file, from GNU gettext.
* autoconf/missing: New file, from GNU automake 1.7.3.
* lib/relocatable.h: New file, from GNU gettext.
* lib/relocatable.c: New file, from GNU gettext.
* srclib/alloca.c: New file, from GNU gettext.
* srclib/alloca_.h: New file, from GNU gettext.
* srclib/canonicalize.c: New file, from GNU gettext.
* srclib/canonicalize.h: New file, from GNU gettext.
* srclib/error.c: New file, from GNU gettext.
* srclib/error.h: New file, from GNU gettext.
* srclib/exit.h: New file, from GNU gettext.
* srclib/gettext.h: New file, from GNU gettext.
* srclib/memmove.c: New file, from GNU gettext.
* srclib/pathmax.h: New file, from GNU gettext.
* srclib/progname.c: New file, from GNU gettext.
* srclib/progname.h: New file, from GNU gettext.
* srclib/progreloc.c: New file, from GNU gettext.
* srclib/relocatable.c: New file, from GNU gettext.
* srclib/relocatable.h: New file, from GNU gettext.
* srclib/relocwrapper.c: New file, from GNU gettext.
* srclib/setenv.c: New file, from GNU gettext.
* srclib/setenv.h: New file, from GNU gettext.
* srclib/ New file, from GNU gettext.
* srclib/strerror.c: New file, from GNU gettext.
* srclib/unsetenv.c: New file, from GNU gettext.
* srclib/xmalloc.c: New file, from GNU gettext.
* srclib/xmalloc.h: New file, from GNU gettext.
* srclib/xreadlink.c: New file, from GNU gettext.
* srclib/xreadlink.h: New file, from GNU gettext.
* srclib/xstrdup.c: New file, from GNU gettext.
* srclib/ New file.
* srclib/Makefile.msvc: New file.
* windows/alloca.h: New file, from GNU gettext.
* windows/stdbool.h: New file, from GNU gettext.
* (AC_CONFIG_HEADERS): Replace src/config.h with config.h.
string.h), AC_CHECK_FUNCS(getc_unlocked), AC_REPLACE_FUNCS(memmove),
* lib/ (DEFS): New variable.
(SOURCES): Add localcharset.c and relocatable.c.
(OBJECTS): Add localcharset.lo and relocatable.lo.
(LIBCHARSET_OBJECTS): Remove variable.
(,, Use $(DEFS). Don't use $(LIBCHARSET_OBJECTS).
(iconv.lo): Use $(DEFS).
(localcharset.lo, relocatable.lo): New rules.
* lib/Makefile.msvc (CFLAGS): Define HAVE_CONFIG_H, BUILDING_DLL,
set_relocation_prefix, relocate. Remove $(PICFLAGS).
(INCLUDES): Simplify.
(SOURCES): Remove variable.
(OBJECTS): Add localcharset.obj and relocatable.obj.
(LIBCHARSET_OBJECTS): Remove variable.
(iconv.obj): Add $(PICFLAGS).
(localcharset.obj, relocatable.obj): New rules.
(iconv.lib): Drop $(LIBCHARSET_OBJECTS).
* include/ (libiconv_set_relocation_prefix): New declaration.
* src/gettext.h: Remove file.
* src/iconv.c: Include progname.h and relocatable.h.
(ICONV_CONST): Define to const if the system has no iconv.
(main): Invoke set_program_name. Relocate LOCALEDIR.
* src/ (top_srcdir): New variable.
(INCLUDES): Add .. and ../srclib.
(iconv_no_i18n, iconv): Link with ../srclib/libicrt.a.
(iconv_no_i18n.@OBJEXT@, iconv.@OBJEXT@): Define INSTALLDIR.
(iconv): Use $(iconv_LDFLAGS).
(install): Use $(INSTALL_PROGRAM_ENV).
(distclean): Drop removing config.h.
* src/Makefile.msvc (INCLUDES): Add .., simplify.
* tests/Makefile.msvc (INCLUDES): Simplify.
* Makefile.devel (AUTOHEADER, AUTOMAKE): New variables.
(, srclib/, config.h.msvc): New rules.
(all): Depend on them.
(aclocal.m4) Depend also on m4/alloca.m4, m4/canonicalize.m4,
m4/error.m4, m4/onceonly.m4, m4/pathmax.m4, m4/relocatable.m4,
m4/setenv.m4, m4/stdbool.m4, m4/strerror.m4, m4/xreadlink.m4.
(lib/config.h.msvc): Additional processing.
* (all, install, installdirs, uninstall, check): Recurse
into srclib.
(mostlyclean, clean, distclean, maintainerclean): Likewise. Remove
(distclean, maintainerclean): Remove also config.h and some stamps.
* Makefile.msvc (all, install, installdirs, uninstall, check,
mostlyclean, clean, distclean, maintainerclean): Recurse into srclib.
* INSTALL.generic: Document --enable-relocatable and
--with-libintl-prefix. Remove the recommendation to set CPPFLAGS and
LDFLAGS. The lib-link.m4 macros make this unnecessary.
2003-04-05 Bruno Haible <>
* Bump version number to 1.9.
* include/ (_LIBICONV_VERSION): Bump.
* windows/iconv.rc: Bump version number.
* lib/ (LIBICONV_VERSION_INFO): Bump to 4:0:2.
2003-04-05 Bruno Haible <>
* Makefile.msvc (PREFIX): New variable.
(prefix): Use it.
(distclean, maintainer-clean): Drop Unix specific removals.
* lib/Makefile.msvc (PREFIX, IIPREFIX): New variables.
(prefix): Use it.
(IIprefix, IIexec_prefix, IIbindir, IIlibdir): New variables.
(clean): Drop Unix specific removal.
* src/Makefile.msvc (PREFIX): New variable.
(prefix): Use it.
(clean): Drop Unix specific removal.
(distclean): Likewise.
* tests/Makefile.msvc (clean): Drop Unix specific removal.
(distclean): Likewise.
2003-04-05 Bruno Haible <>
* m4/endian.m4 (CL_WORDS_LITTLEENDIAN): Use 3-argument AC_DEFINE.
2003-04-05 Bruno Haible <>
* m4/gettext.m4: Update from GNU gettext.
* m4/iconv.m4: Update from GNU gettext.
* m4/lcmessage.m4: Update from GNU gettext.
* m4/progtest.m4: Update from GNU gettext.
* m4/libtool.m4: Update from GNU gettext.
2003-02-16 Bruno Haible <>
Workaround autoconf >= 2.52 breakage.
* libtool.m4 (AC_LIBTOOL_ARG_WITH): New macro.
* autoconf/ Update from GNU gettext.
2003-02-18 Bruno Haible <>
Fix the 2002-09-16 fix.
* (install): If "ln -s -f" fails (this is the case
with /usr/bin/ln on Solaris 2.7), fall back to "rm && ln -s".
2003-04-05 Bruno Haible <>
Start using automake.
* Add AM_INIT_AUTOMAKE invocation.
Use AC_PROG_LN_S instead of CL_PROG_LN_S.
Reorder so that AC_CANONICAL_HOST comes early but still after
* m4/ranlib.m4: Remove file.
* m4/libtool.m4: Undo AC_ -> CL_ substitutions.
* Makefile.devel (CLISP_DIR): Comment out.
(AUTOCONF_FILES): Change to aclocal.m4.
(aclocal.m4): Renamed from autoconf/aclocal.m4. Update dependencies.
( Drop --include option.
2003-03-17 Bruno Haible <>
Improved MSVC support.
* Makefile.msvc (prefix): Use less Unixy value.
(local_prefix): Remove variable.
(libdir, includedir, mandir): Use backslashes.
(bindir, datadir, localedir, docdir): New variables.
(all): Recurse into po/ and man/.
(install, installdirs, uninstall): Rewritten.
(check, mostlyclean, clean, distclean, maintainer-clean): Recurse
into po/ and man/.
* lib/Makefile.msvc (prefix): Use less Unixy value.
(local_prefix): Remove variable.
(libdir): Use backslashes.
(bindir): New variable.
(RESOURCES): Enable iconv.res.
(install, installdirs, uninstall): New rules.
(clean): Remove config.h.
(distclean): Don't remove config.h here.
* src/Makefile.msvc (prefix, exec_prefix, bindir): New variables.
(install, installdirs, uninstall): New rules.
* man/Makefile.msvc: New file.
* tests/Makefile.msvc (install, installdirs, uninstall): New rules.
* Makefile.devel (all): Depend on po/Makefile.msvc.
(po/Makefile.msvc): New rule.
* windows/iconv.rc: Update.
* README.woe32: Mention automatic installation command.
Rename libcharset.h to localcharset.h.
* lib/iconv.c: Include localcharset.h, not libcharset.h.
* (lib/localcharset.h): Renamed from lib/libcharset.h.
(all, install): Update dependencies.
(all): Create lib/localcharset.h, not lib/libcharset.h.
(mostlyclean, clean, distclean, maintainer-clean): Remove
lib/localcharset.h, not lib/libcharset.h.
* djgpp/, djgpp/README: Update.
* djgpp/config.bat: Update.
* djgpp/config.sed: Update.
* djgpp/, djgpp/fnchange.lst: Update.
2003-01-31 Bruno Haible <>
* src/ (all): Don't do the chmod if it has already been
2003-01-31 Bruno Haible <>
* lib/loop_unicode.h (unicode_transliterate): Enable recursive
transliteration. Idea from Perry Rapp.
* lib/gentranslit.c (main): Change bound from 0x10000 to 0x110000.
Change element type of translit_data to 'unsigned int'.
* lib/translit.def: Many new transliterations, mostly taken from glibc.
* lib/translit.h: Regenerated.
* tests/Translit1.ISO-8859-1, tests/Translit1.ASCII: New files.
* tests/ (check): Add Translit1 check.
* tests/Makefile.msvc (check): Likewise.
* tests/Makefile.os2 (check): Likewise.
* tests/TranslitFail1.ISO-8859-1: Choose a sentence which the new
improved transliteration cannot do.
2003-02-14 Bruno Haible <>
* Makefile.devel (AUTOCONF): Switch to autoconf-2.57.
(configure): Update rule.
2003-01-03 Albert Chin <>
* autoconf/ Don't pass -R flags found in a .la's
dependency_libs variable directly down to the linker.
Reported by Tim Mooney <>.
2003-01-01 Bruno Haible <>
* src/ (install): Use in ../lib, not in
$(libdir), so that installing with DESTDIR works.
Reported by Michael Adams <>.
2003-01-01 Bruno Haible <>
* (mkinstalldirs): New variable.
(install-lib, install, installdirs): Use it instead of mkdir.
* lib/ (mkinstalldirs): New variable.
(install-lib, install, installdirs): Use it instead of mkdir.
* man/ (mkinstalldirs): New variable.
(install, installdirs): Use it instead of mkdir.
* src/ (mkinstalldirs): New variable.
(install, installdirs): Use it instead of mkdir.
2002-09-27 Bruno Haible <>
* autoconf/mkinstalldirs: Upgrade to automake-1.7.2 version.
2002-11-07 Bruno Haible <>
* m4/libtool.m4: Upgrade to libtool-1.4.3.
* autoconf/ Upgrade to libtool-1.4.3.
2002-07-14 Bruno Haible <>
* m4/libtool.m4 (_LT_AC_LTCONFIG_HACK): Add support for GNU/FreeBSD.
2002-06-12 Bruno Haible <>
* Use new AC_* names of libtool macros. Invoke
2002-12-19 Bruno Haible <>
* lib/ ( Change rule if using gcc.
Reported by Henry Nelson <>.
2002-11-07 Bruno Haible <>
Make "make install" without prior "make" work.
* (lib/libcharset.h): New rule.
(all, install): Depend on it.
Reported by Martin Mokrejš <>.
2002-10-28 Bruno Haible <>
* man/ (install): Change directory back to the working
directory, so that install-sh (which may be a relative pathname) is
found in the right place.
2002-09-16 Bruno Haible <>
* autoconf/ (install): Use "ln -s -f" instead of
"rm -f && ln -s" to make a symlink for a shared library.
Reported by Nelson H. F. Beebe <>.
2002-09-02 Bruno Haible <>
* src/iconv.c (main): Don't call bindtextdomain if !ENABLE_NLS.
2002-08-16 Bruno Haible <>
* src/iconv.c (main): Perform fflush before testing ferror(stdout).
2002-05-29 Bruno Haible <>
* Version 1.8 released.
2002-05-26 Bruno Haible <>
* lib/c99.h: New file.
* lib/converters.h: Include it.
* lib/encodings.def (C99): New encoding.
* README, man/iconv_open.3: Document C99 encoding.
2002-05-26 Bruno Haible <>
* lib/java.h (java_mbtowc): Accept 12-byte sequences for non-BMP
(java_wctomb): Produce 12-byte sequences for non-BMP characters.
2002-05-29 Bruno Haible <>
Fix installation of iconv program when linked with a libintl that was
built against an earlier libiconv.
* src/iconv.c: Conditionally disable NLS.
* src/iconv_no_i18n.c: New file.
* src/ (libdir): New variable.
(all): Depend on iconv_no_i18n, iconv.@OBJEXT@ but not iconv. Make
directory writable, so iconv executable can be created during "make
(iconv): Remove rule.
(iconv_no_i18n, iconv_no_i18n.@OBJEXT@): New rules.
(install): Link iconv now, after the new is installed.
(clean): Also remove iconv_no_i18n.
* tests/ (check, check-extra-yes): Depend on iconv_no_i18n,
not iconv.
* tests/check-stateful: Use iconv_no_i18n, not iconv.
* tests/check-translit: LIkewise.
* tests/check-translitfailure: Likewise.
2002-05-29 Bruno Haible <>
* m4/install.m4: Remove file.
* Makefile.devel (autoconf/aclocal.m4): Don't depend on m4/install.m4.
2002-05-24 Bruno Haible <>
* lib/jisx0213.h: Use 'inline' only conditionally.
2002-05-18 Bruno Haible <>
* (AC_INIT), include/ (_LIBICONV_VERSION),
README, windows/iconv.rc, djgpp/README, djgpp/fnchange.lst:
Bump version number.
* lib/ (LIBICONV_VERSION_INFO): Define to 3:0:1.
2002-02-06 Bruno Haible <>
* autoconf/ Upgrade from libtool-1.4 to libtool-1.4.2.
2002-02-02 Bruno Haible <>
* autoconf/ Add DESTDIR support on ELF systems.
2001-11-03 Bruno Haible <>
* autoconf/ chmod 777 the .libs directory, so that
"make install" succeeds.
2002-05-18 Bruno Haible <>
* src/ (iconv): Remove the -liconv dependency of -lintl
from the command line. Needed to ensure that the new libiconv version
is used on FreeBSD.
2002-05-14 Bruno Haible <>
Implement and document CP853, TDS565, RISCOS-LATIN1.
* tools/Makefile (ALL): Add cp853.h, tds565.h, riscos1.h.
(cp853.h, tds565.h, riscos1.h): New rules.
* lib/cp853.h: New file.
* lib/tds565.h: New file.
* lib/riscos1.h: New file.
* lib/converters.h: Include them.
* lib/encodings_dos.def (CP853): New encoding.
* lib/encodings_extra.def (TDS565, RISCOS-LATIN1): New encodings.
* README, man/iconv_open.3: Add CP853, TDS565, RISCOS-LATIN1.
* tests/ (check-extra-yes): Check CP853, TDS565,
* tests/Makefile.msvc (check): Check CP853.
* tests/CP853.TXT: New file.
* tests/TDS565.TXT: New file.
* tests/RISCOS-LATIN1.TXT: New file.
* lib/cp860.h (cp860_wctomb): Optimize.
2002-05-12 Bruno Haible <>
* tools/Makefile (ksc5601.h): Add two extra characters.
* lib/ksc5601.h: Regenerated.
* tests/CP949.TXT: Likewise.
* tests/JOHAB.TXT: Likewise.
2002-05-12 Bruno Haible <>
* README: Mention extra encodings.
* man/iconv_open.3: Likewise. Improve formatting in text and html
output formats.
2002-05-12 Bruno Haible <>
* tests/SHIFT_JIS.TXT: Renamed from tests/SHIFT-JIS.TXT.
2002-05-12 Bruno Haible <>
* Makefile.devel (AUTOCONF): New variable.
(AUTOCONF_FILES): Remove autoconf/autoconf.m4f.
(configure): Use the AUTOCONF variable.
* autoconf/autoconf: Remove file.
* autoconf/autoconf.m4: Remove file.
* autoconf/autoconf.m4f: Remove file.
2002-05-12 Bruno Haible <>
* tools/JISX0213.TXT: New file.
* tools/cjk_tab_to_h.c (do_jisx0213): New function.
(main): Accept "jisx0213".
* tools/Makefile (all): Add jisx0213.h.
(jisx0213.h): New rule.
* lib/jisx0213.h: New file, generated by cjk_tab_to_h.
* lib/euc_jisx0213.h: New file.
* lib/shift_jisx0213.h: New file.
* lib/iso2022_jp3.h: New file.
* lib/converters.h: Include them.
* lib/encodings_extra.def (EUC-JISX0213, SHIFT_JISX0213,
ISO-2022-JP-3): New encodings.
* tests/EUC-JISX0213.TXT: New file.
* tests/SHIFT_JISX0213.TXT: New file.
* tests/ISO-2022-JP-3-snippet: New file.
* tests/ISO-2022-JP-3-snippet.UTF-8: New file.
* tests/ (check-extra): Also check EUC-JISX0213,
SHIFT_JISX0213, ISO-2022-JP-3.
* tests/check-stateless: Add support for encodings which contain
precomposed Unicode characters, by eliminating precomposed characters
before the comparison.
* tests/table-from.c (main): Fix usage message.
* tests/table-to.c (main): Make it work for encodings for which the
"to" direction is stateful.
2002-05-09 Bruno Haible <>
New configure option --enable-extra-encodings.
* lib/encodings_extra.def: New file.
* lib/converters.h: Handle USE_EXTRA.
* lib/genaliases2.c (main): Handle USE_EXTRA.
* lib/genflags.c: Define USE_EXTRA.
(main): Include encodings_extra.def.
* lib/iconv.c: Handle ENABLE_EXTRA, conditionally set USE_EXTRA.
* lib/ (ENABLE_EXTRA): New macro.
* Accept option --enable-extra-encodings.
* Makefile.devel (all): Depend on lib/aliases_extra.h.
(lib/aliases_extra.h): New rule.
(lib/flags.h): Depend on lib/encodings_extra.def.
* tests/ (check-extra, check-extra-no, check-extra-yes):
New rules.
(check): Invoke check-extra.
* tests/Makefile.msvc (check): Also check the DOS encodings.
Support for testing the AIX encodings.
* tests/CP856.TXT: New file.
* tests/CP922.TXT: New file.
* tests/CP1046.TXT: New file.
* tests/CP1124.TXT: New file.
* tests/CP1129.TXT: New file.
* tests/CP1161.TXT, tests/CP1161.IRREVERSIBLE.TXT: New files.
* tests/CP1162.TXT: New file.
* tests/CP1163.TXT, tests/CP1163.IRREVERSIBLE.TXT: New files.
Support for testing the OSF/1 encodings.
* tests/DEC-KANJI.TXT: New file.
Support for testing the DOS encodings.
* tests/CP437.TXT: New file.
* tests/CP737.TXT: New file.
* tests/CP775.TXT: New file.
* tests/CP852.TXT: New file.
* tests/CP855.TXT: New file.
* tests/CP857.TXT: New file.
* tests/CP858.TXT: New file.
* tests/CP860.TXT: New file.
* tests/CP861.TXT: New file.
* tests/CP863.TXT: New file.
* tests/CP864.TXT: New file.
* tests/CP865.TXT: New file.
* tests/CP869.TXT: New file.
* tests/CP1125.TXT: New file.
2002-05-09 Bruno Haible <>
Implement more ASCII compatible DOS encodings.
* tools/Makefile (ALL): Add cp737.h, cp858.h, cp860.h, cp863.h.
(cp737.h, cp858.h, cp860.h, cp863.h): New rules.
* lib/cp737.h: New file.
* lib/cp858.h: New file.
* lib/cp860.h: New file.
* lib/cp863.h: New file.
* lib/converters.h: Include them.
* lib/encodings_dos.def (CP737, CP858, CP860, CP863): New encodings.
2002-05-09 Bruno Haible <>
Implement new ASCII compatible encodings from IBM.
* tools/Makefile (ALL): Add cp1161.h, cp1162.h, cp1163.h.
(cp1161.h, cp1162.h, cp1163.h): New rules.
* lib/cp1161.h: New file.
* lib/cp1162.h: New file.
* lib/cp1163.h: New file.
* lib/converters.h: Include them.
* lib/encodings_aix.def (CP1161, CP1162, CP1163): New encodings.
2002-05-09 Bruno Haible <>
Implement and document KOI8-T.
* tools/Makefile (ALL): Add koi8_t.h.
(koi8_t.h): New rule.
* lib/koi8_t.h: New file.
* lib/converters.h: Include it.
* lib/encodings.def (KOI8-T): New encoding.
* README, man/iconv_open.3: Add KOI8-T.
* tests/ (tests): Check KOI8-T.
* tests/Makefile.os2 (tests): Likewise.
* tests/Makefile.msvc (tests): Likewise.
* tests/KOI8-T.TXT: New file.
2002-05-09 Bruno Haible <>
* tools/8bit_tab_to_h.c (main): Update copyright year.
* tools/cjk_variants.c (main): Likewise.
2002-05-08 Bruno Haible <>
* README.woe32: Renamed from README.win32.
2002-05-08 Bruno Haible <>
* lib/iconv.c: Enable DOS encodings also when compiling for Woe32,
because the Woe32 consoles use them.
2002-05-04 Bruno Haible <>
* lib/loop_unicode.h (unicode_loop_convert): When quitting the loop
without writing an output character, restore cd->istate to its value
before the xxx_mbtowc call. Otherwise we lose some characters during
CP1255/CP1258/TCVN to Unicode conversion.
(unicode_loop_reset): Likewise for the xxx_flushwc call.
* tests/CP1255-snippet, tests/CP1255-snippet.UTF-8: Make the test
files large enough to test against the bug.
* tests/CP1258-snippet, tests/CP1258-snippet.UTF-8: Likewise.
* tests/TCVN-snippet, tests/TCVN-snippet.UTF-8: Likewise.
2002-04-28 Bruno Haible <>
* tools/Makefile (armscii_8.h): Use table from glibc-2.2.90.
* tests/ARMSCII-8.TXT: Update to glibc-2.2.90 version.
* tests/ARMSCII-8.IRREVERSIBLE.TXT: Remove 0x0027.
* lib/armscii_8.h: Regenerated.
2002-04-28 Bruno Haible <>
* src/iconv.c: Include gettext.h.
(_): New macro.
(usage, print_version, convert, main): Internationalize.
(main): Call setlocale, bindtextdomain, textdomain.
* src/gettext.h: New file, from GNU gettext 0.11.2.
* src/ New file, needed for ENABLE_NLS.
* src/ (datadir, localedir): New variables.
(iconv): Link with @LTLIBINTL@.
(iconv.@OBJEXT@): Define LOCALEDIR.
(distclean): Remove config.h.
* po: New directory.
* (all, install, installdirs, uninstall, check,
mostlyclean, clean, distclean, maintainer-clean): Recurse into the po
* autoconf/mkinstalldirs: New file, from automake-1.5.
* ABOUT-NLS: New file, from GNU gettext 0.11.2.
* m4/codeset.m4: New file, from GNU gettext 0.11.2.
* m4/gettext.m4: New file, from GNU gettext 0.11.2.
* m4/glibc21.m4: New file, from GNU gettext 0.11.2.
* m4/isc-posix.m4: New file, from GNU gettext 0.11.2.
* m4/lcmessage.m4: New file, from GNU gettext 0.11.2.
* m4/progtest.m4: New file, from GNU gettext 0.11.2.
* Require autoconf-2.52, needed for multiple
files. Use new form of AC_INIT. Invoke AM_GNU_GETTEXT.
(PACKAGE, VERSION): Define, needed for po/
2002-04-28 gettextize <>
* (AC_OUTPUT): Add po/
2002-04-28 Bruno Haible <>
* m4/eilseq.m4: Renamed from autoconf/eilseq.m4.
* m4/mbstate_t.m4: Renamed from autoconf/mbstate_t.m4.
* m4/general.m4: New file, from GNU clisp.
* m4/proto.m4: New file, from GNU clisp.
* m4/ranlib.m4: New file, from GNU clisp.
* m4/install.m4: New file, from GNU clisp.
* m4/cp.m4: New file, from GNU clisp.
* m4/ln.m4: New file, from GNU clisp.
* m4/endian.m4: New file, from GNU clisp.
* m4/iconv.m4: New file, from GNU gettext 0.11.2.
* m4/lib-ld.m4: New file, from GNU gettext 0.11.2.
* m4/lib-link.m4: New file, from GNU gettext 0.11.2.
* m4/lib-prefix.m4: New file, from GNU gettext 0.11.2.
* autoconf/config.rpath: New file, from GNU gettext 0.11.2.
* m4/libtool.m4: New file, based on libtool-1.4.2.
* Makefile.devel (ACLOCAL): Remove variable.
(ACSELECT): Remove variable.
(OTHERMACROS): Remove variable.
(m4/*.m4): New rules.
(autoconf/aclocal.m4): Construct using aclocal instead of acselect.
* Invoke AM_ICONV instead of CL_ICONV.
2002-04-06 Bruno Haible <>
Upgrade to Unicode 3.2.
* tools/cjk_tab_to_h.c (output_title): Bump copyright year.
(compact_large_charset2uni): Add an argument. Determine optimal shift.
Copy modified enc->charset2uni table.
(output_charset2uni): Deal with shift other than 8. Copy encoding, so
as to not disturb subsequent output_uni2charset[_sparse] call.
* lib/hkscs.h: Regenerated.
* tests/BIG5-HKSCS.TXT: Update.
2002-04-06 Bruno Haible <>
Upgrade to Unicode 3.2.
* tools/Makefile (cns11643_1.h, cns11643_2.h, cns11643_3.h,
cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h,
cns11643_7.h, cns11643_15.h, cns11643_inv.h): Use
CNS11643-Unicode32.TXT instead of CNS11643-Unicode31.TXT.
* lib/cns11643_3.h: Regenerated.
* lib/cns11643_4a.h: Regenerated.
* lib/cns11643_4b.h: Regenerated.
* lib/cns11643_5.h: Regenerated.
* lib/cns11643_6.h: Regenerated.
* lib/cns11643_7.h: Regenerated.
* lib/cns11643_15.h: Regenerated.
* lib/cns11643_inv.h: Regenerated.
* tests/EUC-TW.TXT: Update.
2002-01-17 Bruno Haible <>
* lib/tcvn.h (tcvn_2uni_1): Make it smaller.
(tcvn_mbtowc): Small optimization.
2002-01-13 Bruno Haible <>
New options -l, -c, -s.
* src/iconv.c (discard_unconvertible, silent): New variables.
(usage): Document options -l, -c, -s.
(print_one): New function.
(convert): If silent is true, don't print error messages about the
conversion to stderr. If discard_unconvertible is true, set the
iconv descriptor to DISCARD_ILSEQ the first time, but make sure to
return the same return code as when discard_unconvertible is false.
(main): Accept options -l, -c, -s. Implement option -l.
* man/iconv.1: Document options -l, -c, -s.
2002-01-13 Bruno Haible <>
Support for "iconv -c".
* include/ (ICONV_GET_DISCARD_ILSEQ): New macro.
* lib/converters.h (struct conv_struct): New field discard_ilseq.
* lib/iconv.c (iconv_open): Set discard_ilseq to true if tocode
has an "//IGNORE" suffix, and to false otherwise.
* lib/loop_unicode.h (unicode_loop_convert): If discard_ilseq is
true, skip one input character instead of returning EILSEQ.
(unicode_loop_reset): Likewise.
* lib/loop_wchar.h (wchar_from_loop_convert): Likewise.
(wchar_to_loop_convert): Likewise.
2002-01-13 Bruno Haible <>
Support for "iconv -l".
* include/ (iconvlist): New declaration.
* Makefile.devel (lib/aliases.h): Change gperf options.
* lib/iconv.c (compare_by_index, compare_by_name, iconvlist): New
2002-01-06 Bruno Haible <>
* lib/loop_unicode.h (unicode_transliterate): If the transliteration
fails due to limited output encoding, return RET_ILUNI, not
RET_TOOSMALL. Reported by Nelson H. F. Beebe <>.
* tests/check-translitfailure: New file.
* tests/TranslitFail1.ISO-8859-1: New file.
* tests/ (check): Call check-translitfailure.
2001-12-15 Bruno Haible <>
* lib/euc_jp.h (euc_jp_wctomb): Add irreversible mappings for
Shift_JIS characters 0x5C and 0x7E.
* tests/EUC-JP.IRREVERSIBLE.TXT: New file.
2001-12-05 Bruno Haible <>
* lib/iconv.c (iconv_open): Recognize the empty encoding name. Avoid
endless loop if locale_charset() returns the empty string.
* README, man/iconv_open.3: Add the empty encoding name.
2001-11-10 Bruno Haible <>
* lib/ ( Allow building it with a
non-gcc compiler.
2001-10-23 Bruno Haible <>
* tools/Makefile (cp1125.h): New target.
(ALL): Add it.
* lib/cp1125.h: New file.
* lib/converters.h: Include it.
* lib/encodings_dos.def (CP1125): New encoding.
2001-09-08 Bruno Haible <>
* autoconf/eilseq.m4: New file.
* Makefile.devel (OTHERMACROS): Add it.
* include/ (EILSEQ): Define to the autoconf determined value.
2001-08-25 Bruno Haible <>
Upgrade to autoconf-2.52.
* autoconf/autoconf: Upgrade to autoconf-2.52.
* autoconf/acgeneral.m4: Remove file.
* autoconf/acspecific.m4: Remove file.
* autoconf/autoconf.m4f: New file, from autoconf-2.52.
* autoconf/aclocal.m4: Require autoconf-2.52.
(CL_CANONICAL_HOST): Call AC_CANONICAL_HOST. Don't cache the result,
AC_CANONICAL_HOST does it itself. Add $SHELL in front of
$ac_config_guess and $ac_config_sub.
* Makefile.devel (AUTOCONF_FILES): Remove acgeneral.m4, acspecific.m4.
Add autoconf.m4f.
(configure): Use autoconf options -A, -l instead of -m.
2001-08-05 Bruno Haible <>
* autoconf/acgeneral.m4 (AC_MSG_RESULTPROTO): Remove macro.
(AC_LANG_EXTERN): Move to aclocal.m4.
* autoconf/aclocal.m4 (AC_LANG_EXTERN): Moved here from acgeneral.m4.
(CL_PROTO): Use AC_MSG_RESULT directly, instead of AC_MSG_RESULTPROTO.
(CL_SILENT): No need to pushdef AC_MSG_RESULTPROTO.
2001-08-05 Bruno Haible <>
Make it possible to build libiconv with CC=gcc CFLAGS="-x c++".
* lib/loop_wchar.h (wchar_to_loop_convert): Rename local variable
'try' to 'incount'.
* lib/ ( Add "-x none" option
between sources and libs.
( [GCC]: Likewise.
( [GCC]: Likewise.
* src/ (iconv.@OBJEXT@): New rule.
(iconv): Depend on it.
(clean): Erase *.@OBJEXT@, not *.o.
* tests/ (table-from.@OBJEXT@): New rule.
(table-from): Depend on it.
(table-to.@OBJEXT@): New rule.
(table-to): Depend on it.
(clean): Erase *.@OBJEXT@, not *.o.
2001-07-28 Bruno Haible <>
* tools/Makefile (iso8859_16.h): Generate from the table.
* lib/iso8859_16.h: Regenerated.
* tests/ISO-8859-16.TXT: Swap the values of 0xA5 and 0xAB.
2001-07-17 Bruno Haible <>
* (VERSION): Define. Needed by djgpp/Makefile.maint.
2001-07-03 Bruno Haible <>
* Also check for mbsinit.
* lib/loop_wchar.h (mbsinit): Define to 1 if not defined.
Needed for SCO 3.2v5.0.2.
2001-06-27 Bruno Haible <>
* Version 1.7 released.
2001-06-27 Bruno Haible <>
* INSTALL.generic (Particular Systems): Generalize section about
/usr/local to "most systems".
* lib/ (all): Build @PLUGLIB@ before, because
Solaris cc destroys iconv.o and iconv.lo while building
(clean): Remove so_locations, left there by the OSF/1 linker.
* lib/cp1255.h (cp1255_decomp): Use 'signed int' instead of 'int'.
* lib/vietcomb.h (viet_decomp): Use 'unsigned int' instead of
'unsigned short'.
* tests/table-from.c: Include string.h.
* tests/table-to.c: Likewise.
2001-06-26 Bruno Haible <>
* tools/Makefile (jisx0208.h): Replace U+005C with U+FF3C.
(jisx0212.h): Replace U+007E with U+FF5E.
* lib/jisx0208.h: Regenerated.
* lib/jisx0212.h: Regenerated.
* tests/EUC-JP.TXT: Map 0xA1C0 to U+FF3C. Map 0x8FA2B7 to U+FF5E.
* tests/EUC-JP.IRREVERSIBLE.TXT: Remove file.
* tests/SHIFT-JIS.TXT: Map 0x815F to U+FF3C.
* tests/CP932.TXT: Likewise.
* tests/CP932.IRREVERSIBLE.TXT: 0x815F mapping is now reversible.
2001-06-25 Bruno Haible <>
* src/ (iconv): Mention $(INCLUDES) before $(CFLAGS) and
* src/Makefile.msvc (iconv.exe): Likewise.
* src/Makefile.os2 (iconv.exe): Likewise.
* lib/ ( Likewise.
( Likewise.
( Likewise.
(iconv.lo): Likewise.
* lib/Makefile.msvc (iconv.obj): Likewise.
* lib/Makefile.os2 (iconv.obj): Likewise.
* tests/ (table-from, table-to): Likewise.
* tests/Makefile.msvc (table-from.exe, table-to.exe): Likewise.
* tests/Makefile.os2 (table-from.exe, table-to.exe): Likewise.
(genutf8.exe): Don't use $(INCLUDES).
2001-06-25 Bruno Haible <>
* include/ (_LIBICONV_VERSION), README, windows/iconv.rc:
Bump version number.
* lib/ (LIBICONV_VERSION_INFO): Define to 2:4:0.
2001-06-25 Bruno Haible <>
* Makefile.devel (OTHERMACROS): Use libtool.m4 in libcharset subdir.
2001-06-25 Bruno Haible <>
* lib/encodings.def: Make SHIFT_JIS the primary name of SJIS.
2001-06-08 Bruno Haible <>
* autoconf/ Upgrade to libtool-1.4.
* autoconf/ltconfig: Remove file.
2001-06-08 Bruno Haible <>
* autoconf/config.guess: Update to GNU version 2001-05-11.
* autoconf/config.sub: Likewise.
2001-06-03 Bruno Haible <>
* lib/loop_unicode.h (unicode_loop_convert): Ignore Unicode 3.1 tag
characters if they cannot be converted.
(unicode_loop_reset): Likewise.
* lib/iso2022_jp2.h (STATE_TAG_NONE, STATE_TAG_LANGUAGE,
New macros.
(SPLIT_STATE, COMBINE_STATE): Different differently for wctomb
(iso2022_jp2_wctomb): Keep track of Unicode 3.1 language tag.
If "ja", prefer conversion to Japanese character sets. If "zh",
prefer conversion to GB2312. If "ko", prefer conversion to KSC5601.
* lib/converters.h (RET_ILUNI): Change value from 0 to -1.
(RET_TOOSMALL): Change value from -1 to -2.
* lib/loop_unicode.h (unicode_transliterate): Allow xxx_wctomb to
return 0 written bytes.
2001-06-06 Bruno Haible <>
* lib/encodings.def: Align with IANA character-set registry.
(US-ASCII): Add alias "ANSI_X3.4-1986".
(ISO-8859-14): Add alias "ISO-CELTIC".
(JIS_X0208): Add alias "JIS_C6226-1983".
(BIG5HKSCS): Add alias "BIG5-HKSCS".
* README, man/iconv_open.3: Rename BIG5HKSCS to BIG5-HKSCS.
* tests/ (check): Likewise.
* tests/Makefile.os2 (check): Likewise.
* tests/Makefile.msvc (check): Likewise.
* tests/BIG5-HKSCS.TXT: Renamed from BIG5HKSCS.TXT.
* tests/BIG5-HKSCS.IRREVERSIBLE.TXT: Renamed from
2001-06-02 Bruno Haible <>
* tools/cjk_tab_to_h.c (Encoding): Add fffd field.
(is_charset2uni_large, compact_large_charset2uni): New functions.
(find_charset2uni_pages): Use enc->fffd instead of 0xfffd.
(output_charset2uni): If mapping to more than the Unicode BMP,
use an extra indirection to keep each value in 16 bits.
(invert): Bump limit from U+10000 to U+30000.
(output_uni2charset_dense): Likewise.
(output_uni2charset_sparse): Likewise. If mapping to more than one
CJK plane, use three bytes per value instead of two bytes.
(byte_row_cns11643): Allow more than 3 CJK planes.
(do_cns11643_only_uni2charset): Increase number of rows, to include
plane 15. Remove plane bits hack.
(main): Accept names cns11643_4a,4b,5,6,7,15 as well.
* tools/Makefile (ALL): Add cns11643_4a.h, cns11643_4b.h, cns11643_5.h,
cns11643_6.h, cns11643_7.h, cns11643_15.h.
(cns11643_1.h, cns11643_2.h, cns11643_3.h): Use new Unicode 3.1
derived table.
(cns11643_4a.h, cns11643_4b.h, cns11643_5.h, cns11643_6.h,
cns11643_7.h, cns11643_15.h): New rules.
(cns11643_inv.h): Change title.
* lib/cns11643_1.h: Regenerated from Unicode 3.1 derived table.
* lib/cns11643_3.h: Likewise.
* lib/cns11643_4a.h: New file.
* lib/cns11643_4b.h: New file.
* lib/cns11643_4.h: New file.
* lib/cns11643_5.h: New file.
* lib/cns11643_6.h: New file.
* lib/cns11643_7.h: New file.
* lib/cns11643_15.h: New file.
* lib/cns11643_inv.h: Regenerated from Unicode 3.1 derived table.
(cns11643_inv_wctomb): Return 3 bytes now.
* lib/cns11643.h: Include cns11643_4.h, cns11643_5.h, cns11643_6.h,
cns11643_7.h, cns11643_15.h.
(cns11643_wctomb): Now a simple alias to cns11643_inv_wctomb. Return
plane number starting at 1, not 0.
* lib/dec_hanyu.h (dec_hanyu_wctomb): Update for cns11643_wctomb
* lib/euc_tw.h (euc_tw_mbtowc): Accept CNS11643 planes 4,5,6,7,15 as
(euc_tw_wctomb): Update for cns11643_wctomb change.
* lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise.
* lib/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Accept CNS11643 planes
4,5,6,7 as well.
(iso2022_cn_ext_wctomb): Update for cns11643_wctomb change.
Try CNS11643 planes 4,5,6,7 as well.
* tests/EUC-TW.TXT: Many additions, mostly in planes 3,4,5,6,7,15.
* tests/EUC-TW.IRREVERSIBLE.TXT: Reflect additions to CNS11643 plane 1.
Add U+5344.
2001-06-01 Bruno Haible <>
* tests/table-from.c (bmp_only): New variable.
(ucs4_decode): If bmp_only, don't return characters outside Unicode
plane 0.
(main): When testing UTF-8 or GB18030, set bmp_only to 1. Don't print
a conversion line if ucs4_decode returns NULL.
* tests/table-to.c (main): When testing encodings other than UTF-8 and
GB18030, loop upto U+30000 instead of U+10000.
2001-05-24 Bruno Haible <>
* lib/converters.h (mbtowc_funcs): Add flushwc member function.
* lib/flushwc.h: New file.
* lib/cp1255.h: Include flushwc.h.
(cp1255_comp_table_data, cp1255_comp_table): New arrays.
(cp1255_mbtowc): Compose base and combining characters.
(cp1255_flushwc): New macro.
* lib/vietcomb.h (viet_comp_table_data, viet_comp_table): New arrays.
* lib/cp1258.h: Include flushwc.h.
(cp1258_mbtowc): Compose base and combining characters.
(cp1258_flushwc): New macro.
* lib/tcvn.h: Include flushwc.h.
(tcvn_mbtowc): Compose base and combining characters.
(tcvn_flushwc): New macro.
* lib/loop_unicode.h: (unicode_transliterate): New function, extracted
from unicode_loop_convert.
(unicode_loop_convert): Use unicode_transliterate.
(unicode_loop_reset): Call xxx_flushwc and output the resulting
* lib/encodings.def: Add xxx_flushwc member.
* lib/encodings_aix.def: Likewise.
* lib/encodings_dos.def: Likewise.
* lib/encodings_local.def: Likewise.
* lib/encodings_osf1.def: Likewise.
* lib/genaliases.c: Add an argument to the DEFENCODING macro.
* lib/genaliases2.c: Likewise.
* lib/genflags.c: Likewise.
* lib/iconv.c: Likewise.
* tests/table-from.c (try): Reset the iconv descriptor before the main
call, and flush it afterwards.
(ucs4_decode): New function.
(main): Allow up to 3 Unicode characters output. Call ucs4_decode.
* tests/CP1255-snippet: New file.
* tests/CP1255-snippet.UTF-8: New file.
* tests/CP1258-snippet: New file.
* tests/CP1258-snippet.UTF-8: New file.
* tests/TCVN-snippet: New file.
* tests/TCVN-snippet.UTF-8: New file.
* tests/ (check): Check combining behaviour of CP1255,
CP1258, TCVN.
* tests/Makefile.msvc (check): Likewise.
* tests/Makefile.os2 (check): Likewise.
2001-05-22 Bruno Haible <>
* lib/converters.h (RET_ILUNI): New macro.
(RET_ILSEQ): Change value to -1.
(RET_TOOFEW): Change value.
* lib/loop_unicode.h (unicode_loop_convert): Write RET_ILUNI instead
of 0. Update handling of xxx_mbtowc return value.
* lib/genflags.c (emit_encoding): Likewise.
* lib/ascii.h (ascii_wctomb): Use RET_ILUNI instead of RET_ILSEQ.
* lib/armscii_8.h (armscii_8_wctomb): Likewise.
* lib/big5.h (big5_wctomb): Likewise.
* lib/big5hkscs.h (big5hkscs_wctomb): Likewise.
* lib/ces_big5.h (ces_big5_wctomb): Likewise.
* lib/ces_gbk.h (ces_gbk_wctomb): Likewise.
* lib/cns11643.h (cns11643_wctomb): Likewise.
* lib/cns11643_inv.h (cns11643_inv_wctomb): Likewise.
* lib/cp437.h (cp437_wctomb): Likewise.
* lib/cp775.h (cp775_wctomb): Likewise.
* lib/cp850.h (cp850_wctomb): Likewise.
* lib/cp852.h (cp852_wctomb): Likewise.
* lib/cp855.h (cp855_wctomb): Likewise.
* lib/cp856.h (cp856_wctomb): Likewise.
* lib/cp857.h (cp857_wctomb): Likewise.
* lib/cp861.h (cp861_wctomb): Likewise.
* lib/cp862.h (cp862_wctomb): Likewise.
* lib/cp864.h (cp864_wctomb): Likewise.
* lib/cp865.h (cp865_wctomb): Likewise.
* lib/cp866.h (cp866_wctomb): Likewise.
* lib/cp869.h (cp869_wctomb): Likewise.
* lib/cp874.h (cp874_wctomb): Likewise.
* lib/cp922.h (cp922_wctomb): Likewise.
* lib/cp932ext.h (cp932ext_wctomb): Likewise.
* lib/cp932.h (cp932_wctomb): Likewise.
* lib/cp936ext.h (cp936ext_wctomb): Likewise.
* lib/cp949.h (cp949_wctomb): Likewise.
* lib/cp950ext.h (cp950ext_wctomb): Likewise.
* lib/cp950.h (cp950_wctomb): Likewise.
* lib/cp1046.h (cp1046_wctomb): Likewise.
* lib/cp1124.h (cp1124_wctomb): Likewise.
* lib/cp1129.h (cp1129_wctomb): Likewise.
* lib/cp1133.h (cp1133_wctomb): Likewise.
* lib/cp1250.h (cp1250_wctomb): Likewise.
* lib/cp1251.h (cp1251_wctomb): Likewise.
* lib/cp1252.h (cp1252_wctomb): Likewise.
* lib/cp1253.h (cp1253_wctomb): Likewise.
* lib/cp1254.h (cp1254_wctomb): Likewise.
* lib/cp1255.h (cp1255_wctomb): Likewise.
* lib/cp1256.h (cp1256_wctomb): Likewise.
* lib/cp1257.h (cp1257_wctomb): Likewise.
* lib/cp1258.h (cp1258_wctomb): Likewise.
* lib/dec_hanyu.h (dec_hanyu_wctomb): Likewise.
* lib/dec_kanji.h (dec_kanji_wctomb): Likewise.
* lib/euc_cn.h (euc_cn_wctomb): Likewise.
* lib/euc_jp.h (euc_jp_wctomb): Likewise.
* lib/euc_kr.h (euc_kr_wctomb): Likewise.
* lib/euc_tw.h (euc_tw_wctomb): Likewise.
* lib/gb12345ext.h (gb12345ext_wctomb): Likewise.
* lib/gb12345.h (gb12345_wctomb): Likewise.
* lib/gb18030ext.h (gb18030ext_wctomb): Likewise.
* lib/gb18030.h (gb18030_wctomb): Likewise.
* lib/gb18030uni.h (gb18030uni_wctomb): Likewise.
* lib/gb2312.h (gb2312_wctomb): Likewise.
* lib/gbkext_inv.h (gbkext_inv_wctomb): Likewise.
* lib/gbk.h (gbk_wctomb): Likewise.
* lib/georgian_academy.h (georgian_academy_wctomb): Likewise.
* lib/georgian_ps.h (georgian_ps_wctomb): Likewise.
* lib/hkscs.h (hkscs_wctomb): Likewise.
* lib/hp_roman8.h (hp_roman8_wctomb): Likewise.
* lib/hz.h (hz_wctomb): Likewise.
* lib/iso2022_cnext.h (iso2022_cn_ext_wctomb): Likewise.
* lib/iso2022_cn.h (iso2022_cn_wctomb): Likewise.
* lib/iso2022_jp1.h (iso2022_jp1_wctomb): Likewise.
* lib/iso2022_jp2.h (iso2022_jp2_wctomb): Likewise.
* lib/iso2022_jp.h (iso2022_jp_wctomb): Likewise.
* lib/iso2022_kr.h (iso2022_kr_wctomb): Likewise.
* lib/iso646_cn.h (iso646_cn_wctomb): Likewise.
* lib/iso646_jp.h (iso646_jp_wctomb): Likewise.
* lib/iso8859_1.h (iso8859_1_wctomb): Likewise.
* lib/iso8859_2.h (iso8859_2_wctomb): Likewise.
* lib/iso8859_3.h (iso8859_3_wctomb): Likewise.
* lib/iso8859_4.h (iso8859_4_wctomb): Likewise.
* lib/iso8859_5.h (iso8859_5_wctomb): Likewise.
* lib/iso8859_6.h (iso8859_6_wctomb): Likewise.
* lib/iso8859_7.h (iso8859_7_wctomb): Likewise.
* lib/iso8859_8.h (iso8859_8_wctomb): Likewise.
* lib/iso8859_9.h (iso8859_9_wctomb): Likewise.
* lib/iso8859_10.h (iso8859_10_wctomb): Likewise.
* lib/iso8859_13.h (iso8859_13_wctomb): Likewise.
* lib/iso8859_14.h (iso8859_14_wctomb): Likewise.
* lib/iso8859_15.h (iso8859_15_wctomb): Likewise.
* lib/iso8859_16.h (iso8859_16_wctomb): Likewise.
* lib/isoir165ext.h (isoir165ext_wctomb): Likewise.
* lib/isoir165.h (isoir165_wctomb): Likewise.
* lib/jisx0201.h (jisx0201_wctomb): Likewise.
* lib/jisx0208.h (jisx0208_wctomb): Likewise.
* lib/jisx0212.h (jisx0212_wctomb): Likewise.
* lib/johab.h (johab_wctomb): Likewise.
* lib/johab_hangul.h (johab_hangul_wctomb, johab_hangul_decompose):
* lib/koi8_r.h (koi8_r_wctomb): Likewise.
* lib/koi8_ru.h (koi8_ru_wctomb): Likewise.
* lib/koi8_u.h (koi8_u_wctomb): Likewise.
* lib/ksc5601.h (ksc5601_wctomb): Likewise.
* lib/mac_arabic.h (mac_arabic_wctomb): Likewise.
* lib/mac_centraleurope.h (mac_centraleurope_wctomb): Likewise.
* lib/mac_croatian.h (mac_croatian_wctomb): Likewise.
* lib/mac_cyrillic.h (mac_cyrillic_wctomb): Likewise.
* lib/mac_greek.h (mac_greek_wctomb): Likewise.
* lib/mac_hebrew.h (mac_hebrew_wctomb): Likewise.
* lib/mac_iceland.h (mac_iceland_wctomb): Likewise.
* lib/mac_roman.h (mac_roman_wctomb): Likewise.
* lib/mac_romania.h (mac_romania_wctomb): Likewise.
* lib/mac_thai.h (mac_thai_wctomb): Likewise.
* lib/mac_turkish.h (mac_turkish_wctomb): Likewise.
* lib/mac_ukraine.h (mac_ukraine_wctomb): Likewise.
* lib/mulelao.h (mulelao_wctomb): Likewise.
* lib/nextstep.h (nextstep_wctomb): Likewise.
* lib/sjis.h (sjis_wctomb): Likewise.
* lib/tcvn.h (tcvn_wctomb): Likewise.
* lib/tis620.h (tis620_wctomb): Likewise.
* lib/ucs2be.h (ucs2be_wctomb): Likewise.
* lib/ucs2.h (ucs2_wctomb): Likewise.
* lib/ucs2internal.h (ucs2internal_wctomb): Likewise.
* lib/ucs2le.h (ucs2le_wctomb): Likewise.
* lib/ucs2swapped.h (ucs2swapped_wctomb): Likewise.
* lib/ucs4.h (ucs4_wctomb): Likewise.
* lib/uhc_1.h (uhc_1_wctomb): Likewise.
* lib/uhc_2.h (uhc_2_wctomb): Likewise.
* lib/utf16be.h (utf16be_wctomb): Likewise.
* lib/utf16.h (utf16_wctomb): Likewise.
* lib/utf16le.h (utf16le_wctomb): Likewise.
* lib/utf32be.h (utf32be_wctomb): Likewise.
* lib/utf32.h (utf32_wctomb): Likewise.
* lib/utf32le.h (utf32le_wctomb): Likewise.
* lib/utf7.h (utf7_wctomb): Likewise.
* lib/utf8.h (utf8_wctomb): Likewise.
* lib/viscii.h (viscii_wctomb): Likewise.
* tools/8bit_tab_to_h.c (main): Likewise.
* tools/cjk_tab_to_h.c (output_uni2charset_dense,
output_uni2charset_sparse, do_gb18030uni): Likewise.
2001-05-19 Bruno Haible <>
* Makefile.devel (all): Add man/{iconv.1,iconv*.3}.html.
(man/%.html): New rule.
* man/ (docdir, htmldir): New variables.
(install, installdirs): Install the HTML formatted man pages in
(uninstall): Uninstall them.
2001-05-20 Bruno Haible <>
* lib/cp1255.h (cp1255_decomp_table): New array.
(cp1255_comb_table): New array.
(cp1255_wctomb): Decompose Unicode characters.
* tests/CP1255.IRREVERSIBLE.TXT: New file.
2001-05-13 Bruno Haible <>
* lib/vietcomb.h: New file.
* lib/cp1258.h: Include it.
(cp1258_comb_table): New array.
(cp1258_wctomb): Decompose Unicode characters.
* lib/tcvn.h: Include it.
(tcvn_comb_table): New array.
(tcvn_wctomb): Decompose Unicode characters.
* tests/CP1258.IRREVERSIBLE.TXT: New file.
* tests/TCVN.IRREVERSIBLE.TXT: New file.
2001-05-06 Bruno Haible <>
* lib/Makefile.msvc (config.h): Allow the 'del' command to fail.
(iconv.lib): Likewise.
2001-05-06 Bruno Haible <>
* lib/ (CPPFLAGS, LDFLAGS): New variables.
(CPP): Remove variable.
(,,, Use LDFLAGS.
(,,, iconv.lo): Use CPPFLAGS.
* lib/Makefile.msvc (CPP): Remove variable.
* src/ (CPPFLAGS, LDFLAGS): New variables.
(CPP): Remove variable.
(iconv): Use CPPFLAGS and LDFLAGS.
* src/Makefile.msvc (CPP): Remove variable.
* tests/ (CPPFLAGS, LDFLAGS): New variables.
(check, table-from, table-to): Use CPPFLAGS and LDFLAGS.
* tests/Makefile.msvc (CPP): Remove variable.
2001-05-06 Bruno Haible <>
* lib/ ( Change rule if not using
gcc. Reported by Paananen Mikko <>.
2001-04-11 Bruno Haible <>
Implement and document UTF-32, UTF-32BE, UTF-32LE.
* src/utf32.h, src/utf32be.h, src/utf32le.h: New files.
* src/converters.h: Include them.
* src/encodings.def (UTF-32, UTF-32BE, UTF32LE): New encodings.
* README, man/iconv_open.3: Add UTF-32, UTF-32BE, UTF32LE.
* tests/ (check): Check UTF-32, UTF-32BE, UTF32LE.
* tests/Makefile.os2 (check): Likewise.
* tests/Makefile.msvc (check): Likewise.
* tests/UTF-32*snippet*: New files.
* lib/ucs4.h (ucs4_mbtowc): Fix value of other-endian byte order.
(ucs4_wctomb): Allow any 31-bit codepoint.
2001-04-11 Bruno Haible <>
* tests/GB18030.TXT: Add mappings for all of U+0000..U+FFFF, including
unassigned code points.
* tests/table-from.c (main); When dumping GB18030, don't print code
points larger than U+FFFF.
2001-03-30 Bruno Haible <>
* tools/Makefile (GB18030uni.TXT): Use a table source which includes
the unassigned Unicode code points.
* lib/gb18030uni.h: Update.
(gb18030uni_ranges): Remove bitmap_offset field.
(gb18030uni_bitmap): Remove array.
(gb18030uni_mbtowc): Omit gb18030uni_bitmap access.
(gb18030uni_wctomb): Likewise.
* lib/gb18030.h (gb18030_mbtowc): Handle Unicode characters >= 0x10000.
(gb18030_wctomb): Likewise.
2001-03-21 Bruno Haible <>
* INSTALL.generic (Particular Systems): Add recommendations for AIX 3.
2001-03-21 Bruno Haible <>
* src/iconv.c (print_version): Now called GNU libiconv.
2001-03-20 Bruno Haible <>
* README: This package is now called GNU libiconv.
* tools/8bit_tab_to_h.c (main): Emit copyright notice to the output
* tools/cjk_tab_to_h.c (output_title): Likewise.
* tools/cjk_variants.c (main): Likewise.
* lib/gentranslit.c (main): Likewise.
2001-03-19 Bruno Haible <>
* autoconf/aclocal.m4 (CL_CANONICAL_HOST): Always define
ac_config_guess and ac_config_sub. Then ignore requests for
2001-03-10 Bruno Haible <>
* INSTALL.generic: New section "Particular Systems".
2001-03-10 Bruno Haible <>
* lib/ ( Pass flag -no-undefined. Needed on
platforms like BeOS.
* lib/loop_wchar.h (mbstate_t): Don't typedef if already #defined in
2001-03-06 Bruno Haible <>
* Version 1.6 released.
* include/ (_LIBICONV_VERSION), README, windows/iconv.rc:
Bump version number.
* lib/ (LIBICONV_VERSION_INFO): Define to 2:3:0.
2001-03-05 Bruno Haible <>
Provide all encodings used by OSF/1 5.1 locales.
* lib/dec_kanji.h: New file.
* lib/dec_hanyu.h: New file.
* lib/converters.h: Include them if USE_OSF1 is defined.
* lib/encodings_osf1.def: New file.
* lib/genflags.c (main): Include it. Define USE_OSF1.
* lib/genaliases2.c (main): Include it conditionally.
* lib/iconv.c: Define USE_OSF1 on OSF/1.
Include encodings_osf1.def and aliases_osf1.h.
* lib/ (iconv.lo): Depend on encodings_osf1.def and
* Makefile.devel (lib/aliases_osf1.h): New target.
(all): Depend on lib/aliases_osf1.h.
(lib/flags.h): Depend on lib/encodings_osf1.def.
2001-03-01 Bruno Haible <>
* tools/Makefile (cp775.h): New target.
(ALL): Add it.
* lib/cp775.h: New file.
* lib/converters.h: Include it.
* lib/encodings_dos.def (CP775): New encoding.
2001-02-25 Bruno Haible <>
* lib/iconv.c (iconv_open): locale_charset() doesn't return NULL any
2001-02-24 Bruno Haible <>
* src/iconv.c (convert): Use ICONV_CONST.
* tests/table-from.c: Include config.h.
(try): Use ICONV_CONST.
* tests/table-to.c: Include config.h.
(main): Use ICONV_CONST.
* tests/ (INCLUDES): Add -I../lib.
* tests/Makefile.os2 (INCLUDES): Likewise.
* tests/Makefile.msvc (INCLUDES): Add -I..\lib.
2001-02-24 Bruno Haible <>
Provide all encodings used by DOS locales.
* tools/Makefile (cp437.h, cp852.h, cp855.h, cp857.h, cp861.h,
cp864.h, cp865.h, cp869.h): New targets.
(ALL): Add them.
* lib/cp437.h: New file.
* lib/cp852.h: New file.
* lib/cp855.h: New file.
* lib/cp857.h: New file.
* lib/cp861.h: New file.
* lib/cp864.h: New file.
* lib/cp865.h: New file.
* lib/cp869.h: New file.
* lib/converters.h: Include them if USE_DOS is defined.
* lib/encodings_dos.def: New file.
* lib/genflags.c (main): Include it. Define USE_DOS.
* lib/genaliases2.c (main): Include it conditionally.
* lib/iconv.c: Define USE_DOS on DJGPP.
Include encodings_dos.def and aliases_dos.h.
* lib/ (iconv.lo): Depend on encodings_dos.def and
* Makefile.devel (lib/aliases_dos.h): New target.
(all): Depend on lib/aliases_dos.h.
(lib/flags.h): Depend on lib/encodings_dos.def.
2001-02-23 Bruno Haible <>
* src/iconv.c [DJGPP]: Include <io.h> and <unistd.h>.
(SET_BINARY) [O_BINARY]: New macro.
(usage): Mention --binary if available.
(convert): Use SET_BINARY instead of setmode.
(main): Likewise.
Reported by Juan Manuel Guerrero <>.
2001-02-25 Bruno Haible <>
* autoconf/ltconfig:
sed -e 's/reload object files/produce relocatable object files/'.
2001-02-20 Bruno Haible <>
* src/iconv.c (usage, main): Make -f and -t options optional.
* man/iconv.1: Mark them as optional.
2001-02-20 Bruno Haible <>
* tools/Makefile (GB18030ext.TXT, GB18030uni.TXT): Generate from
glibc-2.2.2 table.
* lib/gb18030uni.h, lib/gb18030ext.h: Add mapping 0xA989 -> U+303E,
0xFE5E -> U+2E97. Shift the entire four-byte range.
* tests/GB18030.TXT: Regenerated.
2001-02-20 Bruno Haible <>
Better support for DOS/Windows platforms.
* autoconf/ltconfig: Upgrade to libtool-1.3.5.
* autoconf/ Likewise.
* autoconf/aclocal.m4: Likewise.
* autoconf/install-sh: New file.
2001-02-20 Bruno Haible <>
* (libdir, includedir, mandir): Use the autoconf
determined value, in order to respect the configure arguments.
* lib/ (libdir): Likewise.
* src/ (bindir): Likewise.
* man/ (mandir): Likewise.
2001-02-04 Bruno Haible <>
* lib/translit.def: Add all the neutral transliterations from glibc.
* lib/gentranslit.c (main): Allow UTF-8 replacements which are in
UCS-2 but not in ISO-8859-1. Generate a table of 'unsigned short'.
Avoid accessing data[-1].
* lib/loop_unicode.h (unicode_loop_convert): Change type of pointer
into translit_data.
2001-01-05 Bruno Haible <>
Implement and document CP862.
* tools/Makefile (ALL): Add cp862.h.
(cp862.h): New target.
* lib/cp862.h: New file.
* lib/converters.h: Include it.
* lib/encodings.def (CP862): New encoding.
* README, man/iconv_open.3: Add CP862.
* tests/ (check): Check CP862.
* tests/Makefile.msvc (check): Likewise.
* tests/Makefile.os2 (check): Likewise.
* tests/CP862.TXT: New file.
2000-12-18 Bruno Haible <>
* autoconf/mbstate_t.m4: New file, from textutils-2.0.10.
* Makefile.devel (OTHERMACROS): Add it.
* lib/ (mbstate_t): New definition.
* lib/loop_wchar.h (mbrtowc): For BeOS, declare and define fallback.
2000-12-12 Bruno Haible <>
* Use $(MAKE) instead of $(MAKE) -r. Needed with Solaris
"make", which doesn't set MAKE as expected by @SET_MAKE@ if -r is
given. Reported by Toshimitsu Fujiwara.
2000-12-08 Bruno Haible <>
* (exec_prefix): Use configure's --exec-prefix argument.
* lib/ (exec_prefix): Likewise.
* src/ (exec_prefix): Likewise.
* man/ (exec_prefix): Likewise.
2000-12-02 Bruno Haible <>
* Version 1.5 released.
* include/ (_LIBICONV_VERSION), README, windows/iconv.rc:
Bump version number.
* lib/ (LIBICONV_VERSION_INFO): Define to 2:2:0.
2000-12-02 Bruno Haible <>
* (mostlyclean, clean, distclean, maintainer-clean):
Remove files installed in lib by libcharset.
* Makefile.msvc (mostlyclean): Likewise.
* (check): Depend on target 'all'.
* Makefile.os2 (check): Likewise.
* Makefile.msvc (check): Depend on target 'force' as well.
* src/iconv.c (usage): Take an exitcode argument.
(print_version): New function.
(main): Recognize --help and --version command line options.
2000-12-02 Bruno Haible <>
* Makefile.msvc: Replace STATIC with its opposite flag, DLL.
* lib/Makefile.msvc: Likewise.
* src/Makefile.msvc: Likewise.
* tests/Makefile.msvc: Likewise.
2000-12-01 Bruno Haible <>
* src/iconv.c: Include <fcntl.h>. Define fallbacks for setmode, fileno.
(force_binary): New variable.
(convert): If requested, set the input O_BINARY.
(main): Accept --binary option. If requested, set the output O_BINARY.
* tests/check-stateful.bat: Pass --binary to iconv.
* tests/check-stateful.cmd: Likewise.
* tests/check-translit.bat: Likewise.
* tests/check-translit.cmd: Likewise.
2000-12-01 Bruno Haible <>
* include/ (_libiconv_version): New declaration.
* lib/iconv.c (_libiconv_version): New variable.
2000-11-30 Bruno Haible <>
* Makefile.msvc (all): File now named lib/libcharset.h.
(clean, distclean, maintainer-clean): Likewise.
2000-11-23 Bruno Haible <>
* lib/*: Move here all files from src/*.
* src/*: Move all files to lib.
* lib/ (distclean): No need to remove config.status,
config.log, config.cache.
* Require lib/iconv.c, not src/iconv.c. Create
lib/config.h, not src/config.h. Also create lib/Makefile.
* (all): Install libcharset into lib, not src. Recurse
into lib and src.
(install-lib): Recurse into lib, not src.
(install): Recurse into libcharset, lib and src.
(installdirs, uninstall): Likewise.
(check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
* Makefile.msvc (all): Recurse into lib and src.
(install): Recurse into libcharset, lib and src.
(installdirs, uninstall): Likewise.
(check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
* Makefile.os2 (all): Recurse into lib and src.
(install-lib): Recurse into lib, not src.
(install, uninstall): Recurse into lib and src.
(check, mostlyclean, clean, distclean, maintainer-clean): Likewise.
* Makefile.devel (lib/config.h.msvc): Renamed from src/config.h.msvc.
(lib/aliases.h): Renamed from src/aliases.h.
(lib/aliases.gperf): Renamed from src/aliases.gperf.
(lib/aliases_aix.h): Renamed from src/aliases_aix.h.
(lib/flags.h): Renamed from src/flags.h.
(lib/translit.h): Renamed from src/translit.h.
* src/iconv.c: Moved here from tests/iconv.c.
* src/ New file.
* src/Makefile.msvc: New file.
* src/Makefile.os2: New file.
* tests/ (iconv): Remove target.
(../lib/ Renamed from ../src/
(clean): No need to remove iconv.
* tests/Makefile.msvc (iconv.exe): Remove target.
* tests/Makefile.os2 (iconv.exe): Likewise.
* tests/check-stateful: iconv is in ../src.
* tests/check-stateful.bat: Likewise.
* tests/check-stateful.cmd: Likewise.
* tests/check-translit: iconv is in ../src.
* tests/check-translit.bat: Likewise.
* tests/check-translit.cmd: Likewise.
* man/iconv.1: New file.
* man/ (install, installdirs, uninstall): Also install *.1
man pages.
* man/Makefile.os2 (MAN3): Renamed from MAN.
(MAN1): New variable.
(install, uninstall): Also install *.1 man pages.
2000-11-21 Bruno Haible <>
* Makefile.msvc (all, check, mostlyclean, clean, distclean,
maintainer-clean): Recurse into libcharset.
(clean, distclean, maintainer-clean): Remove src\libcharset.h.
* src/Makefile.msvc (LIBCHARSET_OBJECTS): New variable.
(iconv.lib): Link with $(LIBCHARSET_OBJECTS).
2000-11-18 Bruno Haible <>
* src/cp950.h (cp950_mbtowc, cp950_wctomb): Change implementation
so that it agrees with Microsoft's definition of CP950.
* tests/CP950.TXT: Likewise.
* tests/CP950.IRREVERSIBLE.TXT: Add 0xA244, 0xA2CC, 0xA2CE.
2000-11-18 Bruno Haible <>
Add support for locale dependent "char" and "wchar_t" encodings.
* libcharset: New subdirectory.
* src/loop_unicode.h: New file, extracted from src/iconv.c.
* src/loop_wchar.h: New file.
* src/loops.h: New file. Include loop_unicode.h and loop_wchar.h.
* src/encodings_local.def: New file.
* src/genaliases.c: Also create aliases for encodings_local.def.
* src/converters.h (conv_struct): Add lfuncs field.
* src/genflags.c: Add dummy definitions of struct loop_funcs.
* src/iconv.c: Include libcharset.h.
(loop_funcs): New structure.
Treat encodings_local.def like encodings.def.
Include loops.h.
(iconv_open): Move the bulk of the code to loop_unicode.h.
(iconv): Likewise.
(iconvctl): Extend determination of TRIVIALP to wchar_t conversion
* src/ (PLUG_SOURCES): Remove variable.
(,, Link in the LIBCHARSET_OBJECTS, using
(iconv.lo): Depend on encodings_local.def.
* src/Makefile.msvc (iconv.obj): Depend on encodings_local.def.
* src/Makefile.os2 (iconv.obj): Likewise.
* Add tests for locale.h, mbrtowc, wcrtomb, setlocale.
Recurse into libcharset.
HAVE_SETLOCALE): New macros.
* tests/iconv.c: Include config.h and locale.h.
(main): Call setlocale.
* tests/ (iconv): Search for config.h in ../src.
* tests/Makefile.os2 (iconv.exe): Likewise.
* tests/Makefile.msvc (iconv.exe): Likewise.
* README, man/iconv_open.3: Document "char" and "wchar_t" encodings.
* After "cd", use "&&" not ";".
(all, check, mostlyclean, clean, distclean, maintainer-clean):
Recurse into libcharset.
* Makefile.devel (all): Recurse into libcharset.
(src/aliases.gperf): Depend on src/encodings_local.def.
2000-11-18 Bruno Haible <>
* src/converters.h (ucs4_t): New type.
(wchar_t): Remove locally defined override.
(mbtowc_funcs, wctomb_funcs): Use ucs4_t instead of wchar_t.
* src/iconv.c (iconv): Likewise.
* src/genflags.c (emit_encoding): Use ucs4_t instead of wchar_t.
* tools/8bit_tab_to_h.c: Use "ucs4_t" instead of "wchar_t".
* tools/cjk_tab_to_h.c: Likewise.
* src/armscii_8.h: Use ucs4_t instead of wchar_t.
* src/ascii.h: Likewise.
* src/big5.h: Likewise.
* src/big5hkscs.h: Likewise.
* src/ces_big5.h: Likewise.
* src/ces_gbk.h: Likewise.
* src/cns11643.h: Likewise.
* src/cns11643_1.h: Likewise.
* src/cns11643_2.h: Likewise.
* src/cns11643_3.h: Likewise.
* src/cns11643_inv.h: Likewise.
* src/cp1046.h: Likewise.
* src/cp1124.h: Likewise.
* src/cp1129.h: Likewise.
* src/cp1133.h: Likewise.
* src/cp1250.h: Likewise.
* src/cp1251.h: Likewise.
* src/cp1252.h: Likewise.
* src/cp1253.h: Likewise.
* src/cp1254.h: Likewise.
* src/cp1255.h: Likewise.
* src/cp1256.h: Likewise.
* src/cp1257.h: Likewise.
* src/cp1258.h: Likewise.
* src/cp850.h: Likewise.
* src/cp856.h: Likewise.
* src/cp866.h: Likewise.
* src/cp874.h: Likewise.
* src/cp922.h: Likewise.
* src/cp932.h: Likewise.
* src/cp932ext.h: Likewise.
* src/cp936ext.h: Likewise.
* src/cp949.h: Likewise.
* src/cp950.h: Likewise.
* src/cp950ext.h: Likewise.
* src/euc_cn.h: Likewise.
* src/euc_jp.h: Likewise.
* src/euc_kr.h: Likewise.
* src/euc_tw.h: Likewise.
* src/gb12345.h: Likewise.
* src/gb12345ext.h: Likewise.
* src/gb18030.h: Likewise.
* src/gb18030ext.h: Likewise.
* src/gb18030uni.h: Likewise.
* src/gb2312.h: Likewise.
* src/gbk.h: Likewise.
* src/gbkext1.h: Likewise.
* src/gbkext2.h: Likewise.
* src/gbkext_inv.h: Likewise.
* src/georgian_academy.h: Likewise.
* src/georgian_ps.h: Likewise.
* src/hkscs.h: Likewise.
* src/hp_roman8.h: Likewise.
* src/hz.h: Likewise.
* src/iso2022_cn.h: Likewise.
* src/iso2022_cnext.h: Likewise.
* src/iso2022_jp.h: Likewise.
* src/iso2022_jp1.h: Likewise.
* src/iso2022_jp2.h: Likewise.
* src/iso2022_kr.h: Likewise.
* src/iso646_cn.h: Likewise.
* src/iso646_jp.h: Likewise.
* src/iso8859_1.h: Likewise.
* src/iso8859_10.h: Likewise.
* src/iso8859_13.h: Likewise.
* src/iso8859_14.h: Likewise.
* src/iso8859_15.h: Likewise.
* src/iso8859_16.h: Likewise.
* src/iso8859_2.h: Likewise.
* src/iso8859_3.h: Likewise.
* src/iso8859_4.h: Likewise.
* src/iso8859_5.h: Likewise.
* src/iso8859_6.h: Likewise.
* src/iso8859_7.h: Likewise.
* src/iso8859_8.h: Likewise.
* src/iso8859_9.h: Likewise.
* src/isoir165.h: Likewise.
* src/isoir165ext.h: Likewise.
* src/java.h: Likewise.
* src/jisx0201.h: Likewise.
* src/jisx0208.h: Likewise.
* src/jisx0212.h: Likewise.
* src/johab.h: Likewise.
* src/johab_hangul.h: Likewise.
* src/koi8_r.h: Likewise.
* src/koi8_ru.h: Likewise.
* src/koi8_u.h: Likewise.
* src/ksc5601.h: Likewise.
* src/mac_arabic.h: Likewise.
* src/mac_centraleurope.h: Likewise.
* src/mac_croatian.h: Likewise.
* src/mac_cyrillic.h: Likewise.
* src/mac_greek.h: Likewise.
* src/mac_hebrew.h: Likewise.
* src/mac_iceland.h: Likewise.
* src/mac_roman.h: Likewise.
* src/mac_romania.h: Likewise.
* src/mac_thai.h: Likewise.
* src/mac_turkish.h: Likewise.
* src/mac_ukraine.h: Likewise.
* src/mulelao.h: Likewise.
* src/nextstep.h: Likewise.
* src/sjis.h: Likewise.
* src/tcvn.h: Likewise.
* src/tis620.h: Likewise.
* src/ucs2.h: Likewise.
* src/ucs2be.h: Likewise.
* src/ucs2internal.h: Likewise.
* src/ucs2le.h: Likewise.
* src/ucs2swapped.h: Likewise.
* src/ucs4.h: Likewise.
* src/ucs4be.h: Likewise.
* src/ucs4internal.h: Likewise.
* src/ucs4le.h: Likewise.
* src/ucs4swapped.h: Likewise.
* src/uhc_1.h: Likewise.
* src/uhc_2.h: Likewise.
* src/utf16.h: Likewise.
* src/utf16be.h: Likewise.
* src/utf16le.h: Likewise.
* src/utf7.h: Likewise.
* src/utf8.h: Likewise.
* src/viscii.h: Likewise.
2000-11-18 Bruno Haible <>
Make transliteration optional.
* src/iconv.c (iconv_open): Strip off //TRANSLIT suffix from names.
Set transliteration on if and only if tocode ends in //TRANSLIT.
* README, man/iconv_open.3: Document how to enable transliteration.
* tests/check-translit: Add //TRANSLIT to iconv's 't' argument.
* tests/check-translit.bat: Likewise.
* tests/check-translit.cmd: Likewise.
2000-11-18 Bruno Haible <>
* man/iconv.3: Fix typo.
2000-10-31 Bruno Haible <>
* README, man/iconv_open.3: Document JOHAB again.
2000-11-15 Bruno Haible <>
* Makefile.msvc: Add support for MFLAGS and DEBUG parameters.
(STATIC): Change default from 0 to 1.
* src/Makefile.msvc: Likewise.
* tests/Makefile.msvc: Likewise.
* tests/check-stateless.bat: Call 'sort' with no arguments.
2000-11-12 Bruno Haible <>
* autoconf/config.guess, autoconf/config.sub: Upgrade to newest
version from GNU CVS.
2000-10-24 Bruno Haible <>
* Version 1.4 released.
* include/ (_LIBICONV_VERSION), README, windows/iconv.rc:
Bump version number.
* src/ (LIBICONV_VERSION_INFO): Define to 2:1:0.
2000-10-23 Bruno Haible <>
Implement and document GB18030 and BIG5HKSCS.
* tools/cjk_tab_to_h.c (row_byte_hkscs, byte_row_hkscs, do_hkscs): New
(do_gb18030uni): New function.
(main): Accept gb18030ext, gb18030uni, hkscs.
* tools/Makefile (ALL): Add gb18030ext.h, gb18030uni.h, hkscs.h.
(gb18030ext.h, GB18030ext.TXT, gb18030uni.h, GB18030uni.TXT,
hkscs.h): New targets.
* src/gb18030ext.h, src/gb18030uni.h, src/gb18030.h: New files.
* src/hkscs.h, src/big5hkscs.h: New files.
* src/converters.h: Include gb18030.h and big5hkscs.h.
* src/encodings.def (GB18030, BIG5HKSCS): New encodings.
* README, man/iconv_open.3: Add GB18030, BIG5HKSCS.
* tests/ (check): Check GB18030, BIG5HKSCS.
* tests/Makefile.msvc (check): Likewise.
* tests/Makefile.os2 (check): Likewise.
* tests/GB18030.TXT: New file.
2000-10-23 Bruno Haible <>
* tests/table-from.c (try, main): Use UCS-4-INTERNAL instead of
UCS-2-INTERNAL, to avoid problems with UCS-2 surrogate handling.
* tests/table-to.c (main): Likewise.
2000-10-22 Bruno Haible <>
* src/gentranslit.c (main): Read the input in UTF-8 encoding.
2000-10-09 Bruno Haible <>
CPU recognition on OpenBSD.
* autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __m68k__,
__mc68020__, __MIPSEB__, __MIPSEL__, __m88k__ as CPU indicators.
2000-10-03 Bruno Haible <>
* src/gentranslit.c (main): Don't output non-ASCII ISO-8859-1
character literals, use the numeric value instead.
Reported by Shin-Hsien Yeh <>.
2000-09-29 Bruno Haible <>
* autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23
2000-09-25 Bruno Haible <>
* autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __i386__
as equivalent to __i386. For OpenBSD.
2000-09-21 Bruno Haible <>
* src/utf16.h (utf16_wctomb): Reject single surrogates.
* src/utf16be.h (utf16be_wctomb): Likewise.
* src/utf16le.h (utf16le_wctomb): Likewise.
* src/ucs2.h (ucs2_mbtowc, ucs2_wctomb): Likewise.
* src/ucs2be.h (ucs2be_mbtowc, ucs2be_wctomb): Likewise.
* src/ucs2le.h (ucs2le_mbtowc, ucs2le_wctomb): Likewise.
* src/ucs2internal.h (ucs2internal_mbtowc, ucs2internal_wctomb):
* src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb):
2000-09-15 Bruno Haible <>
* (install, installdirs, uninstall): Support DESTDIR.
* src/ (install, installdirs, uninstall): Likewise.
* man/ (install, installdirs, uninstall): Likewise.
2000-09-11 Bruno Haible <>
* src/utf7.h (utf7_mbtowc): Fix combining of UTF-16 surrogates.
2000-08-26 Bruno Haible <>
* autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
value, not parens.
2000-07-04 Akira Hatakeyama <>
Bruno Haible <>
* os2/iconv.def, README.os2, Makefile.os2, src/Makefile.os2,
tests/Makefile.os2, man/Makefile.os2, tests/check-stateful.cmd,
tests/check-stateless.cmd, tests/check-translit.cmd: New files.
2000-06-28 Bruno Haible <>
* src/ucs2internal.h (ucs2internal_mbtowc): Avoid gcc warning about
* src/ucs4internal.h (ucs4internal_mbtowc): Likewise.
* src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb): Verify
sizeof(unsigned short).
* src/ucs4swapped.h (ucs4swapped_mbtowc, ucs4swapped_mbtowc): Verify
sizeof(unsigned int).
Reported by François Pinard <>.
2000-05-29 Bruno Haible <>
* autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
Reported by Thomas Klausner <>.
2000-05-23 Bruno Haible <>
* autoconf/aclocal.m4 (CL_CANONICAL_HOST): Determine host_cpu,
host_vendor, host_os correctly if $host has more than two hyphens.
2000-04-15 Bruno Haible <>
* Version 1.3 released.
* include/ (_LIBICONV_VERSION), README, windows/iconv.rc:
Bump version number.
* src/ (LIBICONV_VERSION_INFO): Define to 2:0:0.
2000-04-15 Bruno Haible <>
* THANKS: New file.
* INSTALL.generic: New file.
Implement and document UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
* src/ucs2be.h, src/ucs2le.h, src/ucs4be.h, src/ucs4le.h: New files.
* src/converters.h: Include them.
* src/ucs2swapped.h: Remove #defines for UCS-2-BE, UCS-2-LE.
* src/ucs4swapped.h: Remove #defines for UCS-4-BE, UCS-4-LE.
* src/encodings.def (UCS-2BE): Renamed from UCS-2-BE.
(UCS-2LE): Renamed from UCS-2-LE.
(UCS-4BE): Renamed from UCS-4-BE.
(UCS-4LE): Renamed from UCS-4-LE.
* Makefile.devel (src/aliases.h): Pass option "-i 1" to gperf.
* README, man/iconv_open.3: Add UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
* tests/ (check): Check UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE.
* tests/Makefile.msvc (check): Likewise.
* tests/UCS-*snippet*: New files.
Allow building as a shared library on Windows.
Allow running the tests on Windows.
* Makefile.devel (include/iconv.h.msvc): Remove rule.
(include/iconv.h.msvc-static, include/iconv.h.msvc-shared): New
(all): Update.
* windows/dllexport.h: New file.
* include/iconv.h.msvc: Remove file.
* include/iconv.h.msvc-static, include/iconv.h.msvc-shared: New
autogenerated files.
* Makefile.msvc (STATIC, DEBUG): Default to 0.
(all): Choose either include\iconv.h.msvc-static or
(check): Depend on all.
(all, check, mostlyclean, clean, distclean, maintainer-clean):
Recurse into tests directory.
* src/Makefile.msvc (STATIC, DEBUG): Default to 0.
(RESOURCES): New variable.
(iconv.lib): Change rule when building DLL.
(clean, distclean): One filename per line.
* tests/Makefile.msvc: New file.
* tests/check-stateful.bat, tests/check-stateless.bat,
tests/check-translit.bat: New files.
* tests/uniq-u.c: New file, taken from GNU textutils.
* README.win32: Update.
Based on patches by Taro Muraoka <>.
2000-04-14 Bruno Haible <>
Fix an OSF/1 problem.
* Define GCC variable for substitution.
* src/ ( Change rule if not using
2000-04-13 Bruno Haible <>
Fix a SunOS 4 problem.
* include/ If EILSEQ is not defined by the system, define
it to ENOENT, not EINVAL.
2000-04-02 Bruno Haible <>
Allow building on filesystems lacking symlinks and hard links.
* Makefile.devel (autoconf/aclocal.m4): Replace AC_PROG_LN_S with
* src/ (LN): Use autoconfigured value @LN@.
(LN_S): Use autoconfigured value @LN_S@.
2000-03-15 Bruno Haible <>
* Version 1.2 released.
* include/ (_LIBICONV_VERSION): Bump version number.
* src/ (LIBICONV_VERSION_INFO): Define to 1:1:1.
2000-03-14 Bruno Haible <>
Implement and document UTF-16BE and UTF16LE.
* src/utf16be.h, src/utf16le.h: New files.
* src/converters.h: Include them.
* src/encodings.def (UTF-16BE, UTF16LE): New encodings.
* README, man/iconv_open.3: Add UTF-16BE, UTF16LE.
* tests/ (check): Check UTF-16, UTF-16BE, UTF16LE.
* tests/UTF-16*snippet*: New files.
* src/utf16.h (utf16_wctomb): Output a byte order mark.
2000-03-13 Bruno Haible <>
Provide all encodings used by AIX locales.
* tools/Makefile (all): Add cp856.h, cp922.h, cp1046.h, cp1124.h,
(cp856.h, cp922.h, cp1046.h, cp1124.h, cp1129.h): New targets.
* src/cp856.h, src/cp922.h, src/cp943.h, src/cp1046.h, src/cp1124.h,
src/cp1129.h: New files.
* src/converters.h: Include them if USE_AIX is defined.
* src/encodings_aix.def: New file, with CP856, CP922, CP943, CP1046,
CP1124, CP1129.
* src/genflags.c: Define USE_AIX. Include encodings_aix.def.
* src/genaliases2.c: New file.
* src/iconv.c: Define USE_AIX on AIX.
Include encodings_aix.def and aliases_aix.h.
(aliases2_lookup): New function.
(iconv_open): Call aliases2_lookup.
* src/ (iconv.lo): Depend on encodings_aix.def and
* Makefile.devel (all): Add src/aliases_aix.h.
(src/aliases_aix.h): New rule.
(src/flags.h): Depend on src/encodings_aix.def.
2000-02-24 Bruno Haible <>
* src/iconv.c (iconv): Don't write beyond the end of the output buffer.
Reported by Edmund Grimley Evans <>.
2000-02-22 Bruno Haible <>
* src/utf7.h (direct_tab, xdirect_tab): Treat tab like space.
2000-02-15 Bruno Haible <>
* src/iconv.c (iconv): Add cast in xxx_reset call.
2000-02-05 Bruno Haible <>
* src/tis620.h: Simplify.
2000-01-27 Bruno Haible <>
* Makefile.devel (CLISP_DIR): Change to "..".
2000-01-24 Bruno Haible <>
* Version 1.1 released.
* include/ (_LIBICONV_VERSION): Bump version number.
* src/ (LIBICONV_VERSION_INFO): Define to 1:0:1.
2000-01-23 Bruno Haible <>
* src/utf7.h (utf7_wctomb): If base64 encoding is not active, encode
'+' as "+-".
2000-01-22 Bruno Haible <>
* include/ (iconvctl): New declaration.
New macros.
* src/iconv.c (iconvctl): New function.
* tests/ Add a rule for ../src/ Define $(MAKE).
Solve a build problem.
* include/ Renamed from include/
* Makefile.devel: libiconv.h -> iconv.h.
* Likewise.
* Likewise. Remove check for <iconv.h>.
* src/iconv.c: Include iconv.h instead of libiconv.h.
* tests/iconv.c, tests/table-from.c, tests/table-to.c: Likewise.
* README, man/iconv_open.3: Don't document JOHAB any more.
* man/iconv.3: Clarify return value again.
2000-01-16 Bruno Haible <>
Add aliases.
* src/encodings.def (ISO-8859-14): Add alias ISO-IR-199.
(ISO-8859-15): Add alias ISO-IR-203.
(EUC-CN): Add alias CN-GB, from RFC 1922.
(BIG5): Add alias CN-BIG5, from RFC 1922.
* Makefile.devel (src/aliases.h): Add 8th character to key set.
Drop X11 aliases.
* src/encodings.def (JIS_X0201): Drop JISX0201.1976-0 alias.
(JIS_X0208): Drop JIS_X0208.1983-0, JIS_X0208.1983-1 aliases.
(KSC_5601): Drop KSC5601.1987-0 alias.
Improve GB/T 12345 (not used yet).
* tools/Makefile (gb12345ext.h): Use GB12345-more.TXT.
* src/gb12345ext.h: Regenerated.
Improve and document CP949.
* tools/Makefile (all): Add uhc_1.h and uhc_2.h.
(uhc_1.h, uhc_2.h): New rules.
* tools/cjk_tab_to_h.c (output_charset2uni_noholes_monotonic): New
(output_uni2charset_sparse): Take an additional boolean argument.
All callers changed.
(*_uhc_1, *_uhc_2): New functions.
(main): Treat uhc_1 and uhc_2.
* src/uhc_1.h, src/uhc_2.h: New files.
* src/cp949.h: New file, include them.
* src/converters.h: Include it.
* src/encodings.def (KSC_5601): Remove alias CP949.
(CP949): New encoding.
* README, man/iconv_open.3: Add CP949.
* tests/ (check): Check CP949.
* tests/CP949.TXT: New file.
Document CP932.
* README, man/iconv_open.3: Add CP932.
* tests/ (check): Check CP932.
* tests/CP932.TXT, tests/CP932.IRREVERSIBLE.TXT: New files.
* Makefile.devel (src/flags.h): Depend on src/converters.h.
* tests/ (check): Check JIS_X0201.
* tests/JIS_X0201.TXT: New file.
* src/euc_kr.h (euc_kr_wctomb): Shrink size of buf.
* src/iso2022_kr.h (iso2022_kr_wctomb): Likewise.
* src/iso2022_cnext.h (iso2022_cn_ext_mbtowc): Use isoir165_mbtowc.
(iso2022_cn_ext_wctomb): Use isoir165_wctomb.
Add ISO-IR-165 (undocumented).
* tools/Makefile (all): Add isoir165ext.h.
(isoir165ext.h): New rule.
* tools/cjk_tab_to_h.c (main): Treat isoir165ext like gb2312.
* src/isoir165.h, src/isoir165ext.h: New files.
* src/converters.h: Include it.
* src/encodings.def: Add ISO-IR-165.
* tests/ (check): Check ISO-IR-165.
* tests/ISO-IR-165.TXT, tests/ISO-IR-165.IRREVERSIBLE.TXT: New files.
Add ISO646-CN (undocumented).
* src/iso646_cn.h: New file.
* src/converters.h: Include it.
* src/encodings.def: Add ISO646-CN.
* tests/ (check): Check ISO646-CN.
* tests/ISO646-CN.TXT: New file.
Add ISO646-JP (undocumented).
* src/iso646_jp.h: New file.
* src/converters.h: Include it.
* src/encodings.def: Add ISO646-JP.
* tests/ (check): Check ISO646-JP.
* tests/ISO646-JP.TXT: New file.
2000-01-05 Bruno Haible <>
Add ISO-8859-16.
* tools/Makefile (all): Add iso8859_16.h.
(iso8859_16.h): New rule.
* src/iso8859_16.h: New file.
* src/converters.h: Include it.
* src/encodings.def: Add ISO-8859-16.
* README, man/iconv_open.3: Add ISO-8859-16.
* tests/ (check): Check ISO-8859-16.
* tests/ISO-8859-16.TXT: New file.
* man/iconv.3: Clarify what happens *inbuf in case 3.
* src/iso8859_8.h: Update using newest table from
* tests/ISO-8859-8.TXT: Likewise.
2000-01-04 Bruno Haible <>
* Version 1.0 released.
* include/ (_LIBICONV_VERSION): Bump version number.
* src/ (LIBICONV_VERSION_INFO): Define to 0:1:0.
2000-01-03 Bruno Haible <>
* tests/ New file.
tests/check-stateless, tests/table-from.c, tests/table-to.c,
tests/*.TXT, tests/genutf8.c: New files, checks for stateless
tests/check-stateful, tests/iconv.c, tests/*-snippet*: New files,
checks for stateful encodings.
* (all, check, mostlyclean, clean, distclean,
maintainer-clean): Descend into tests directory.
* Add tests/Makefile to AC_OUTPUT duties.
* src/gentranslit.c: New file.
* Makefile.devel (src/translit.h): New rule.
* src/translit.def, src/translit.h: New files.
* src/iconv.c: Include it.
(iconv): Transliterate using translit.h table.
* src/genflags.c: New file.
* Makefile.devel (src/flags.h): New rule.
* src/flags.h: New file.
* src/iconv.c: Include it.
(encoding): Add field 'oflags'.
(all_encodings): Initialize the field 'oflags'.
(iconv_open): Copy field 'oflags'.
(iconv): Transliterate quotation marks U+2018, U+2019, U+201A.
* src/ (iconv.lo): Update dependencies.
* src/converters.h: New file, extracted from src/iconv.c.
* src/iconv.c: Include it.
* src/ (iconv.lo): Update dependencies.
* tools/cjk_variants.c: New file.
* tools/Makefile (ALL): Add cjk_variants.h.
(cjk_variants.h, cjk_variants): New rules.
* src/cjk_variants.h: New file.
* src/iconv.c: Include it.
(iconv): Use cjk_variants for transliteration.
* man/iconv.3: Fix description of return value.
* euc_kr.h (euc_kr_wctomb): Remove Hangul transliteration.
* iso2022_kr.h (iso2022kr_wctomb): Likewise.
* src/iconv.c (iconv): Do Hangul transliteration here and increment
result once for every transliterated character.
* src/johab_hangul.h (johab_hangul_decompose): Change result array
from 'unsigned char*' to 'wchar_t*'.
* src/cp1258.h (cp1258_mbtowc): Return RET_ILSEQ instead of storing
* src/georgian_ps.h (georgian_ps_wctomb): Accept 0x00e6.
* src/euc_jp.h (euc_jp_wctomb): Don't treat U+005C and U+007E like
* src/euc_tw.h (euc_tw_mbtowc): Fix typo.
* src/cp950.h (cp950_mbtowc, cp950_wctomb): Exclude the range
* tools/cjk_tab_to_h.c (read_table_ksc5601): Some Hangul range was
not being excluded. Fix that.
* src/ksc5601.h: Regenerated.
* src/johab.h (johab_mbtowc): Don't accept 0xDA{A1..D3} - this is
valid in KSC5601/KSX1001 but not in JOHAB.
* src/iconv.c (conv_struct): Add fields iindex, oindex.
(iconv_open): Fill in iindex, oindex.
* src/encodings.def (UCS-2-BE): Add aliases "UNICODE-1-1" and
"csUnicode11", from IANA charset list.
(MacRoman): Add aliases "MAC" and "csMacintosh" for "MACINTOSH",
from IANA charset list.
(JIS_X0208): Add aliases "X0208", "ISO-IR-87", "csISO87JISX0208",
from IANA charset list.
(GB_2312-80): New encoding, from IANA charset list.
* README, man/iconv_open.3: Add MacIceland and MacUkraine.
* Makefile.devel: Add rules for src/aliases.h and src/aliases.gperf.
(all): Depend on src/aliases.h.
* src/ Remove rules for $(srcdir)/aliases.h and
(clean): Clean up.
* src/ ( Remove unneeded "-ldl".
1999-12-31 Bruno Haible <>
* Version 0.3 released.