blob: c2c6a3ca9f256b86d295c6fc844a3389cc5fe173 [file] [log] [blame]
2000-10-24 Bruno Haible <haible@clisp.cons.org>
* Version 1.4 released.
* include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
Bump version number.
* src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:1:0.
2000-10-23 Bruno Haible <haible@clisp.cons.org>
Implement and document GB18030 and BIG5HKSCS.
* tools/cjk_tab_to_h.c (row_byte_hkscs, byte_row_hkscs, do_hkscs): New
functions.
(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/Makefile.in (check): Check GB18030, BIG5HKSCS.
* tests/Makefile.msvc (check): Likewise.
* tests/Makefile.os2 (check): Likewise.
* tests/GB18030.TXT: New file.
* tests/BIG5HKSCS.TXT, tests/BIG5HKSCS.IRREVERSIBLE.TXT: New files.
2000-10-23 Bruno Haible <haible@clisp.cons.org>
* 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 <haible@clisp.cons.org>
* src/gentranslit.c (main): Read the input in UTF-8 encoding.
2000-10-09 Bruno Haible <haible@clisp.cons.org>
CPU recognition on OpenBSD.
* autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __m68k__,
__mc68020__, __MIPSEB__, __MIPSEL__, __m88k__ as CPU indicators.
2000-10-03 Bruno Haible <haible@clisp.cons.org>
* src/gentranslit.c (main): Don't output non-ASCII ISO-8859-1
character literals, use the numeric value instead.
Reported by Shin-Hsien Yeh <shyeh@alcatel.com.tw>.
2000-09-29 Bruno Haible <haible@clisp.cons.org>
* autoconf/aclocal.m4 (CL_CANONICAL_HOST): Fix bug in 2000-05-23
change.
2000-09-25 Bruno Haible <haible@clisp.cons.org>
* autoconf/aclocal.m4 (CL_WORDS_LITTLEENDIAN): Recognize __i386__
as equivalent to __i386. For OpenBSD.
2000-09-21 Bruno Haible <haible@clisp.cons.org>
* 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):
Likewise.
* src/ucs2swapped.h (ucs2swapped_mbtowc, ucs2swapped_wctomb):
Likewise.
2000-09-15 Bruno Haible <haible@clisp.cons.org>
* Makefile.in (install, installdirs, uninstall): Support DESTDIR.
* src/Makefile.in (install, installdirs, uninstall): Likewise.
* man/Makefile.in (install, installdirs, uninstall): Likewise.
2000-09-11 Bruno Haible <haible@clisp.cons.org>
* src/utf7.h (utf7_mbtowc): Fix combining of UTF-16 surrogates.
2000-08-26 Bruno Haible <haible@clisp.cons.org>
* autoconf/acgeneral.m4 (AC_OUTPUT): Use braces in exec_prefix default
value, not parens.
2000-07-04 Akira Hatakeyama <akira@sra.co.jp>
Bruno Haible <haible@clisp.cons.org>
* 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 <haible@clisp.cons.org>
* src/ucs2internal.h (ucs2internal_mbtowc): Avoid gcc warning about
cast.
* 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 <pinard@iro.umontreal.ca>.
2000-05-29 Bruno Haible <haible@clisp.cons.org>
* autoconf/aclocal.m4 (CL_PROG_INSTALL): Fix typo.
Reported by Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>.
2000-05-23 Bruno Haible <haible@clisp.cons.org>
* 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 <haible@clisp.cons.org>
* Version 1.3 released.
* include/iconv.h.in (_LIBICONV_VERSION), README, windows/iconv.rc:
Bump version number.
* src/Makefile.in (LIBICONV_VERSION_INFO): Define to 2:0:0.
2000-04-15 Bruno Haible <haible@clisp.cons.org>
* 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/Makefile.in (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
rules.
(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
include\iconv.h.msvc-shared.
(check): Depend on all.
(all, check, mostlyclean, clean, distclean, maintainer-clean):
Recurse into tests directory.
* src/Makefile.msvc (STATIC, DEBUG): Default to 0.
(WARN_CFLAGS, PICFLAGS, OPTIMFLAGS): New variables.
(CFLAGS): Use them. Add -MD and -DBUILDING_LIBICONV.
(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 <koron@tka.att.ne.jp>.
2000-04-14 Bruno Haible <haible@clisp.cons.org>
Fix an OSF/1 problem.
* configure.in: Define GCC variable for substitution.
* src/Makefile.in (libiconv_plug_osf.so): Change rule if not using
gcc.
2000-04-13 Bruno Haible <haible@clisp.cons.org>
Fix a SunOS 4 problem.
* include/iconv.h.in: If EILSEQ is not defined by the system, define
it to ENOENT, not EILSEQ.
2000-04-02 Bruno Haible <haible@clisp.cons.org>
Allow building on filesystems lacking symlinks and hard links.
* Makefile.devel (autoconf/aclocal.m4): Replace AC_PROG_LN_S with
CL_PROG_LN_S.
* configure.in: Add CL_PROG_LN, CL_PROG_LN_S.
* src/Makefile.in (LN): Use autoconfigured value @LN@.
(LN_S): Use autoconfigured value @LN_S@.
2000-03-15 Bruno Haible <haible@clisp.cons.org>
* Version 1.2 released.
* include/iconv.h.in (_LIBICONV_VERSION): Bump version number.
* src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:1:1.
2000-03-14 Bruno Haible <haible@clisp.cons.org>
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/Makefile.in (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 <haible@clisp.cons.org>
Provide all encodings used by AIX locales.
* tools/Makefile (all): Add cp856.h, cp922.h, cp1046.h, cp1124.h,
cp1129.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/Makefile.in (iconv.lo): Depend on encodings_aix.def and
aliases_aix.h.
* 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 <haible@clisp.cons.org>
* src/iconv.c (iconv): Don't write beyond the end of the output buffer.
Reported by Edmund Grimley Evans <edmundo@rano.org>.
2000-02-22 Bruno Haible <haible@clisp.cons.org>
* src/utf7.h (direct_tab, xdirect_tab): Treat tab like space.
2000-02-15 Bruno Haible <haible@clisp.cons.org>
* src/iconv.c (iconv): Add cast in xxx_reset call.
2000-02-05 Bruno Haible <haible@clisp.cons.org>
* src/tis620.h: Simplify.
2000-01-27 Bruno Haible <haible@clisp.cons.org>
* Makefile.devel (CLISP_DIR): Change to "..".
2000-01-24 Bruno Haible <haible@clisp.cons.org>
* Version 1.1 released.
* include/iconv.h.in (_LIBICONV_VERSION): Bump version number.
* src/Makefile.in (LIBICONV_VERSION_INFO): Define to 1:0:1.
2000-01-23 Bruno Haible <haible@clisp.cons.org>
* src/utf7.h (utf7_wctomb): If base64 encoding is not active, encode
'+' as "+-".
2000-01-22 Bruno Haible <haible@clisp.cons.org>
* include/iconv.h.in (iconvctl): New declaration.
(ICONV_TRIVIALP, ICONV_GET_TRANSLITERATE, ICONV_SET_TRANSLITERATE):
New macros.
* src/iconv.c (iconvctl): New function.
* tests/Makefile.in: Add a rule for ../src/libiconv.la. Define $(MAKE).
Solve a build problem.
* include/iconv.h.in: Renamed from include/libiconv.h.in.
* Makefile.devel: libiconv.h -> iconv.h.
* Makefile.in: Likewise.
* configure.in: 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 <haible@clisp.cons.org>
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
function.
(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/Makefile.in (check): Check CP949.
* tests/CP949.TXT: New file.
Document CP932.
* README, man/iconv_open.3: Add CP932.
* tests/Makefile.in (check): Check CP932.
* tests/CP932.TXT, tests/CP932.IRREVERSIBLE.TXT: New files.
* Makefile.devel (src/flags.h): Depend on src/converters.h.
* tests/Makefile.in (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/Makefile.in (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/Makefile.in (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/Makefile.in (check): Check ISO646-JP.
* tests/ISO646-JP.TXT: New file.
2000-01-05 Bruno Haible <haible@clisp.cons.org>
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/Makefile.in (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 ftp.unicode.org.
* tests/ISO-8859-8.TXT: Likewise.
2000-01-04 Bruno Haible <haible@clisp.cons.org>
* Version 1.0 released.
* include/libiconv.h.in (_LIBICONV_VERSION): Bump version number.
* src/Makefile.in (LIBICONV_VERSION_INFO): Define to 0:1:0.
(libiconv.la): Use LIBICONV_VERSION_INFO.
2000-01-03 Bruno Haible <haible@clisp.cons.org>
* tests/Makefile.in: New file.
tests/check-stateless, tests/table-from.c, tests/table-to.c,
tests/*.TXT, tests/genutf8.c: New files, checks for stateless
encodings.
tests/check-stateful, tests/iconv.c, tests/*-snippet*: New files,
checks for stateful encodings.
* Makefile.in (all, check, mostlyclean, clean, distclean,
maintainer-clean): Descend into tests directory.
* configure.in: 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/Makefile.in (iconv.lo): Update dependencies.
* src/converters.h: New file, extracted from src/iconv.c.
* src/iconv.c: Include it.
* src/Makefile.in (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
0xfffd.
* 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
Katakana.
* src/euc_tw.h (euc_tw_mbtowc): Fix typo.
* src/cp950.h (cp950_mbtowc, cp950_wctomb): Exclude the range
0xC6A1..0xC7FE.
* 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/Makefile.in: Remove rules for $(srcdir)/aliases.h and
$(srcdir)/aliases.gperf.
(clean): Clean up.
* src/Makefile.in (libiconv_plug_linux.so): Remove unneeded "-ldl".
1999-12-31 Bruno Haible <haible@clisp.cons.org>
* Version 0.3 released.