Skip to main content

International Components for Unicode

Download ICU 4.2 release


Description

ICU is the premier library for software internationalization. ICU 4.2 is a major reference release of ICU, with new features, new APIs, and many bug fixes in data and code.

Major changes in ICU 4.2 include the following:

  • Common Changes
    • Locale Data: ICU uses and supports data from Common Locale Data Repository (CLDR) 1.7 , which includes data for 146 languages, 159 territories, 468 locales- 21% more locale data than the previous release.
    • Number system support and the number keyword.
    • Number system override in DateFormat
    • Numerics used by Hebrew Calendar date in Hebrew locale
    • BCP47 (language tag) / Locale transformation
    • BCP47 mapping of LDML keywords
    • Encoding selector: Return a list of charsets that can handle the input text
    • Simple duration: Implementation of CLDR duration format
    • Available/Preferred keywords for a locale (Calendar, Collation, and Currency)
    • StringPrep standard profiles: RFC3491 NAMEPREP, RFC3530 NFS4, RFC3722 iSCSI, RFC3920 NodePrep/ResourcePrep, RFC4011 MIB, RFC4013 SASLprep, RFC4505 trace and RFC4518 LDAPprep
    • Miscellaneous Arabic shaping enhancements
    • UTF-8 friendly internal data structure for Unicode data lookup
    • API to get CLDR version used by ICU
    • ISCII charset converter updates (added Gurumukhi, other updates)
    • Performance improvements in Time Zone Name format/parse, and in DateIntervalFormat construction
  • ICU4C Specific Changes
    • Unicode spoof (confusable) detection (UTS#39)
  • ICU4J Specific Changes
    • LocaleBuilder for building well-formed locales (ICU4J only)
    • MathContext support for BigDecimal formatting in DecimalFormat
    • LMBCS charset converter
Updates in ICU 4.2.1

ICU4C Download

Release Date

2009-07-01 (4.2.1)

ICU4C Source Code Download

In addition to these .tar and .zip files, the code is also tagged in SubVersion with release-4-2-1 [history].

Verify File Size Description
icu4c-4_2_1-docs.zip 4.5 MB ZIP file with the API documentation
icu4c-4_2_1-src.tgz 12.6 MB gzipped tar archive for Unix and other platforms
icu4c-4_2_1-src.zip 13.8 MB ZIP file for Windows platforms
[MD5] icu4c-src-4_2_1.md5 163 B MD5 hashes
(Help with ICU4C Binaries)

ICU4C Binary Download

Here are the binary distributions of the ICU libraries on our reference platforms.

Verify File Size Description
icu4c-4_2_1-AIX6_1-VA9.tgz 9.7 MB AIX 6.1 (PowerPC 64-bit) VisualAge 9
icu4c-4_2_1-HPUX11iv3-aCC.tgz 10.8 MB HP-UX 11iv3 (Itanium 64-bit)
icu4c-4_2_1-RHEL5-gcc4_1_2.tgz 11.8 MB Red Hat Enterprise Linux 5 (x86 32-bit) gcc 4.1.2
icu4c-4_2_1-Solaris10-CC.tgz 9.1 MB Solaris 10 (Sparc 64-bit) Forte 12
icu4c-4_2_1-Win32-msvc9.zip 8.2 MB Windows (win32 x86 32-bit) Visual Studio 9
icu4c-4_2_1-Win64-msvc9.zip 8.3 MB Windows (win32 x86 64-bit) Visual Studio 9
[MD5] icu4c-bin-4_2_1.md5 377 B MD5 hashes

Platform Installation Notes

Please be sure to view the readme.html that is included in ICU. Most installation questions can be answered there. The z/OS (OS/390) unpax-icu.sh script is required to unpackage the compressed tar file on z/OS, and the i5/OS (OS/400) unpax-icu.sh script is required to unpackage the compressed file on IBM i.

The ICU4C 4.2 source downloads contains a pre-built .dat data archive with ICU's data rather than the data source files. This is to simplify the build process for the majority of users and to reduce platform porting issues. If you need the data source files for customization, then please download the ICU source code from SubVersion repository. If you need to remove data from ICU's data library, you can also consider using the new icupkg tool to modify the data built into ICU.

Known Issues, Bugs and Patches

  • IBM i Note: At the time of ICU 4.2.1's release, there were known issues in building on IBM i.
    1. #6930 configure will not work on IBM i. Workaround: Extract the contents of either icu4c-42-i-makefiles.tgz or icu4c-42-i-makefiles.zip instead of running runConfigureICU. A more complete solution is being investigated.
  • Intel ICC Compiler:
    1. #6888 ICU 4.2.0.1 under ICC 9.0 exhibits a conversion failure if optimization is turned on. Workaround: disable optimization.
    2. #6894 ICU 4.2.0.1 under ICC 11.0 exhibits numerics failures in parsing and formatting.

ICU4C 4.2 Issues Fixed in the 4.2.0.1 Release

  • Renaming disabled on Windows
    #6929 Inadvertently, ICU 4.2 was changed to disable symbol renaming on Windows builds by default.
    (4.2 may be patched with: r26005 or a replacement pwin32.h: icu\source\common\unicode\pwin32.h)
  • IBM i build issues
    #6936 There was an issue with building ICU data on IBM i.
    (4.2 may be patched with: r26018)
  • IBM zOS build issues
    #6925 under ASCII mode, ICU data may fail to build properly.
    (4.2 may be patched with: r26002)

ICU4C 4.2 Issues Fixed in the 4.2.1 Maintenance Release

  • #6905 ICU4C intltest/cintltst failures without data
  • #6908 Numbering Systems - Malayalam missing digit 5
  • #6919 icu-config generation errors
  • #6980 smpdtfmt.h, serious compiler warning

Older ICU4C 4.2 Releases

Here are links to the older ICU4C 4.2.x releases.

Version Description
4.2 First release (2009-05-08)
4.2.0.1 Patch release (2009-06-01)

ICU4J Download

Release Date

2010-04-13 (4.2.1.1)

ICU4J Download

In addition to these .jar files, the code is also tagged in SubVersion with release-4-2-1-1 [history].

Verify File Size Description
icu4j-4_2_1_1-docs.jar 1.6 MB Jar file containing the documentation.
icu4j-4_2_1_1-src.jar 15.3 MB Jar file containing the core Java source files.
icu4j-4_2_1_1.jar 6.0 MB Jar file containing core binaries.
[MD5] icu4j-4_2_1_1.md5 288 B MD5 hashes
icu4j-charsets-4_2_1_1.jar 2.4 MB Jar file containing Charset converter binaries.
icu4j-localespi-4_2_1_1.jar 47 KB Jar file containing locale SPI implementations.

Platform Installation Notes

Please be sure to view the readme.html that is included in ICU4J. Most installation questions can be answered there.

ICU4J 4.2 Issues Fixed in the 4.2.1.1 Maintenance Release

  • #7107 Synchronization issue in TimeZone.getDisplayName
  • #7137 ICU4J SimpleDateForamt takes too much time for initializing DateFormatSymbols
  • #7140 SimpleDateFormat constructor takes too much time on initializing NumberingSystem
  • #7169 DateTimePatternGenerator threading problem
  • #7227 BaseTimeZone#getSimpleTimeZoneRulesNear problem

ICU4J 4.2 Issues Fixed in the 4.2.1 Maintenance Release

  • #6918 Date formatting should honor @numbers
  • #7014 TimeZone.getTimeZone("Asia/Amman") returns GMT with tzdata 2009i
  • #7017 ICU4J time zone test failure with tzdata2009i

Older ICU4J 4.2 Releases

Here are links to the older ICU4J 4.2.x releases.

Version Description
4.2 First release (2009-05-08)
4.2.1 Maintenance release 1 (2009-07-01)