blob: 180be0b466f33beef5bc0d511c1f7378b3851e9d [file] [log] [blame]
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 EILSEQ.
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.