New in 2.1.0:
-
Add NLS support for the include file, only support en_US and zh_CN.
-
Add CTest support for Windows.
-
Add Doxygen comments for 'cppp/reiconv.hpp'.
-
New feature: Convert by codepage.
-
New function:
iconv_t iconv_open (int tocode_cp, int fromcode_cp, bool strict=true);
. -
New function:
int iconv_string(int tocode_cp, int fromcode_cp, const char* start, const char* end, char** resultp, size_t* lengthp, bool strict=true);
. -
Update definion of the function
encode
. -
Update C++ standard of the project to C++17.
-
Change the 'autodetect' feature of 'iconv_string' to a non extra feature.
-
Remove
iconv_allocation_t
, fully remove wchar support. -
Modify the LGPL version in the copyright statement in the file to 3.
-
Move
lib/gen*.c
totools/gen*.cpp
. -
Optimize
Makefile.devel
. -
Fix bugs, warnings, typos.
-
Change the 'autodetect' feature of 'iconv_string' to a non extra feature.
New in 2.0.0:
- Redist 'GNU LIBICONV' to 'cppp-reiconv'.
- Remove iconv program, iconv gettext po, iconv manual.
- Merge package 'iconv_string' into 'cppp-reiconv'.
- Remove autoconf buildsystem support.
- Add CMake buildsystem support.
- Remove translit support.
- Remove 'CHAR' and 'WCHAR_T' encoding.
- Change 'cppp-reiconv' to a C++ library.
New in 1.18:
- Many more transliterations.
- GB18030 is now an alias for GB18030:2005. A new converter for GB18030:2022 is added. Since this encoding merely cleans up a few private-use-area mappings, you can continue to use the GB18030 converter, for backward compatibility. Its Unicode to GB18030 conversion direction has been enhanced, to help transitioning away from PUA code points.
- When converting from/to an EBCDIC encoding, a non-standard way of
converting newlines can be requested
- at the C level, by calling iconvctl with argument ICONV_SET_FROM_SURFACE or ICONV_SET_TO_SURFACE, or
- from the iconv program, by setting the environment variable ICONV_EBCDIC_ZOS_UNIX to a non-empty value.
- Special support for z/OS: The iconv program adds a charset metadata tag to its output file. (Contributed by Mike Fulton.)
New in 1.17:
- The libiconv library is now licensed under the LGPL version 2.1, instead of the LGPL version 2.0. The iconv program continues to be licensed under GPL version 3.
- Added converters for many single-byte EBCDIC encodings: IBM-{037,273,277,278,280,282,284,285,297,423,424,425,500,838,870,871,875}, IBM-{880,905,924,1025,1026,1047,1097,1112,1122,1123,1130,1132,1137,1140}, IBM-{1141,1142,1143,1144,1145,1146,1147,1148,1149,1153,1154,1155,1156,1157}, IBM-{1158,1160,1164,1165,1166,4971,12712,16804}. They are available through the configure option '--enable-extra-encodings'.
New in 1.16:
- The preloadable library has been removed.
New in 1.15:
- The UTF-8 converter now rejects surrogates and out-of-range code points.
- Added ISO-2022-JP-MS converter.
- Updated the CP1255 converter to map one more character.
- The functions now support strings longer than 2 GB.
New in 1.14:
- The 'iconv' program now produces its output as soon as it can. It no longer unnecessarily waits for more input.
- Updated the GB18030 converter to map 25 characters to code points that have been to Unicode since 2000, rather than to code points in the Private Use Area.
- Updated the BIG5-HKSCS converter. The old BIG5-HKSCS converter is renamed to BIG5-HKSCS:2004. A new converter BIG5-HKSCS:2008 is added. BIG5-HKSCS is now an alias for BIG5-HKSCS:2008.
- Fixed a bug in the conversion to wchar_t.
- Fixed a small bug in the CP1258 converter.
New in 1.13:
- The library and the iconv program now understand platform dependent aliases, for better compatibility with the platform's own iconv_open function. Examples: "646" on Solaris, "iso88591" on HP-UX, "IBM-1252" on AIX.
- For stateful encodings, when the input ends with a shift sequence followed by invalid input, the iconv function now increments the input pointer past the shift sequence before returning (size_t)(-1) with errno = EILSEQ. This is also like GNU libc's iconv() behaves.
- The library exports a new function iconv_open_into() that stores the conversion descriptor in pre-allocated memory, rather than allocating fresh memory for it.
- Added CP1131 converter.
New in 1.12:
- The iconv program is now licensed under the GPL version 3, instead of the GPL version 2. The libiconv library continues to be licensed under LGPL.
- Added RK1048 converter.
- On AIX, an existing system libiconv no longer causes setlocale() to fail.
- Upgraded EUC-KR, JOHAB to include the Korean postal code sign.
New in 1.11:
- The iconv program has new options --unicode-subst, --byte-subst, --widechar-subst that allow to specify substitutions for characters that cannot be converted.
- The iconv program now understands long options: long option equivalent to --from-code -f --to-code -t --list -l --silent -s
- The CP936 converter is now different from the GBK converter: it has changed to include the Euro sign and private area characters. CP936 is no longer an alias of GBK.
- Updated GB18030 converter to include all private area characters.
- Updated CP950 converter to include the Euro sign and private area characters.
- Updated CP949 converter to include private area characters.
- Updated the BIG5-HKSCS converter. The old BIG5-HKSCS converter is renamed to BIG5-HKSCS:1999 and updated to Unicode 4. New converters BIG5-HKSCS:2001 and BIG5-HKSCS:2004 are added. BIG5-HKSCS is now an alias for BIG5-HKSCS:2004.
- Added a few irreversible mappings to the CP932 converter.
- Tidy up the list of symbols exported from libiconv (assumes gcc >= 4.0).
New in 1.10:
- Added ISO-8859-11 converter.
- Updated the ISO-8859-7 converter.
- Added ATARIST converter, available through --enable-extra-encodings.
- Added BIG5-2003 converter (experimental), available through --enable-extra-encodings.
- Updated EUC-TW converter to include the Euro sign.
- The preloadable library has been renamed from libiconv_plug.so to preloadable_libiconv.so.
- Portability to mingw.
New in 1.9:
- Many more transliterations.
- New configuration option --enable-relocatable. See the INSTALL.generic file for details.
New in 1.8:
- The iconv program has new options -l, -c, -s.
- The iconv program is internationalized.
- Added C99 converter.
- Added KOI8-T converter.
- New configuration option --enable-extra-encodings that enables a bunch of additional encodings; see the README for details.
- Updated the ISO-8859-16 converter.
- Upgraded BIG5-HKSCS, EUC-TW, ISO-2022-CN, ISO-2022-CN-EXT converters to Unicode 3.2.
- Upgraded EUC-KR, CP949, JOHAB converters to include the Euro sign.
- Changed the ARMSCII-8 converter.
- Extended the EUC-JP encoder so that YEN SIGN characters don't cause failures in Shift_JIS to EUC-JP conversion.
- The JAVA converter now handles characters outside the Unicode BMP correctly.
- Fixed a bug in the CP1255, CP1258, TCVN decoders: The base characters of combining characters could be dropped at the end of the conversion buffer.
- Fixed a bug in the transliteration that could lead to excessive memory allocations in libintl when transliteration was needed.
- Portability to BSD/OS and SCO 3.2.5.
New in 1.7:
- Added UTF-32, UTF-32BE, UTF-32LE converters.
- Changed CP1255, CP1258 and TCVN converters to handle combining characters.
- Changed EUC-JP, SHIFT_JIS, CP932, ISO-2022-JP, ISO-2022-JP-2, ISO-2022-JP-1 converters to use fullwidth Yen sign instead of halfwidth Yen sign, and fullwidth tilde instead of halfwidth tilde.
- Upgraded EUC-TW, ISO-2022-CN, ISO-2022-CN-EXT converters to Unicode 3.1.
- Changed the GB18030 converter to not reject unassigned and private-use Unicode characters.
- Fixed a bug in the byte order mark treatment of the UCS-4 decoder.
- The manual pages are now distributed also in HTML format.
New in 1.6:
- The iconv program's -f and -t options are now optional.
- Many more transliterations.
- Added CP862 converter.
- Changed the GB18030 converter.
- Portability to DOS with DJGPP.
New in 1.5:
- Added an iconv(1) program.
- New locale dependent encodings "char", "wchar_t".
- Transliteration is now off by default. Use a //TRANSLIT suffix to enable it.
- The JOHAB encoding is documented again.
- Changed a few mappings in the CP950 converter.
New in 1.4:
- Added GB18030, BIG5HKSCS converters.
- Portability to OS/2 with emx+gcc.
New in 1.3:
- Added UCS-2BE, UCS-2LE, UCS-4BE, UCS-4LE converters.
- Fixed the definition of EILSEQ on SunOS4.
- Fixed a build problem on OSF/1.
- Support for building as a shared library on Woe32.
New in 1.2:
- Added UTF-16BE and UTF-16LE converters.
- Changed the UTF-16 encoder.
- Fixed the treatment of tab characters in the UTF-7 converter.
- Fixed an internal error when output buffer was not large enough.
New in 1.1:
- Added ISO-8859-16 converter.
- Added CP932 converter, a variant of SHIFT_JIS.
- Added CP949 converter, a variant of EUC-KR.
- Improved the ISO-2022-CN-EXT converter: It now covers the ISO-IR-165 range.
- Updated the ISO-8859-8 conversion table.
- The JOHAB encoding is deprecated and not documented any more.
- Fixed two build problems: 1. "make -n check" failed. 2. When libiconv was already installed, "make" failed.
New in 1.0:
- Added transliteration facilities.
- Added a test suite.
- Fixed the iconv(3) manual page and function: the return value was not described correctly.
- Fixed a bug in the CP1258 decoder: invalid bytes now yield EILSEQ instead of U+FFFD.
- Fixed a bug in the Georgian-PS encoder: accept U+00E6.
- Fixed a bug in the EUC-JP encoder: reject 0x8E5C and 0x8E7E.
- Fixed a bug in the KSC5601 and JOHAB converters: they recognized some Hangul characters at some invalid code positions.
- Fixed a bug in the EUC-TW decoder; it was severely broken.
- Fixed a bug in the CP950 converter: it recognized a dubious BIG5 range.
New in 0.3:
- Reduced the size of the tables needed for the JOHAB converter.
- Portability to Woe32.
New in 0.2:
- Added KOI8-RU, CP850, CP866, CP874, CP950, ISO-2022-CN-EXT, GBK and ISO-2022-JP-1 converters.
- Added MACINTOSH as an alias for MAC-ROMAN.
- Added ASMO-708 as an alias for ISO-8859-6.
- Added ELOT_928 as an alias for ISO-8859-7.
- Improved the EUC-TW converter: Treat CNS 11643 plane 3.
- Improved the ISO-2022-KR and EUC-KR converters: Hangul characters are decomposed into Jamo when needed.
- Improved the CP932 converter.
- Updated the CP1133, MULELAO-1 and ARMSCII-8 mappings.
- The EUC-JP and SHIFT_JIS converters now cover the user-defined range.
- Fixed a possible buffer overrun in the JOHAB converter.
- Fixed a bug in the UTF-7, ISO-2022-*, HZ decoders: a shift sequence a the end of the input no longer gives an error.
- The HZ encoder now always terminates its output in the ASCII state.
- Use a perfect hash table for looking up the aliases.
New in 0.1:
- Portability to Linux/glibc-2.0.x, Linux/libc5, OSF/1, FreeBSD.
- Fixed a bug in the EUC-JP decoder. Extended the ISO-2022-JP-2 converter.
- Made TIS-620 mapping consistent with glibc-2.1.