-<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css2">
<title>ReadMe for ICU4J</title>
- <meta name="COPYRIGHT" content="Copyright 2000-2011, International Business Machines Corporation and others. All Rights Reserved.">
+ <meta name="COPYRIGHT" content="Copyright 2000-2013, International Business Machines Corporation and others. All Rights Reserved.">
<style type="text/css">
h3.doc { background: #CCCCFF }
h4.doc { text-decoration: underline }
<body style="background-color: rgb(255, 255, 255);" lang="EN-US"
link="#0000ff" vlink="#800080">
<h2>International Components for Unicode for Java (ICU4J)</h2>
-<h3>Read Me for ICU4J 4.8.1.1</h3>
-(Last Update: Aug 18, 2011)
+<h3>Read Me for ICU4J 52</h3>
+(Last Update: 2013-Oct-07)
<hr size="2" width="100%">
-<p><b>Note:</b>This is an update release of ICU4J 4.8. This release contains bug fixes and updated data,
-but does not introduce any new APIs for functionalities.
+<p><b>Note:</b> This is major release of ICU4J. It contains bug fixes and adds implementations
+of inherited API and introduces new API or functionality.
</p>
<p>For the most recent release, see the <a
href="http://www.icu-project.org/download/"> ICU4J
</blockquote>
<h3 class="doc"><a name="changes"></a>Changes In This Release</h3>
-<h4>New features and changes</h4>
-<p>
-See the <a href="http://sites.google.com/site/icusite/download/48">ICU 4.8 download page</a> about
-new features in this release. The list of API changes since the previous ICU4J release
-is available
-<a href="http://source.icu-project.org/repos/icu/icu4j/tags/release-4-8/APIChangeReport.html">here</a>.
-</p>
-<h5>MessageFormat Changes</h5>
-<p>MessageFormat and related classes (choice/plural/select) have been reimplemented,
-with several improvements and some incompatible changes.
-See the <a href="http://site.icu-project.org/download/48">ICU 4.8 download</a> page for details.</p>
-<h5>Unknown system time zone - Etc/Unknown</h5>
-The behavior of the time zone factory method TimeZone.getTimeZone(String) has changed in this release.
-When an unknown time zone ID is specified in the method, previous versions return a TimeZone instance
-with ID "GMT" (offset 0 and no daylight saving time). In ICU 4.8, the method uses "Etc/Unknown" as the
-time zone ID (but still offset 0 and no daylight saving time) for the case. Existing software checking
-the returned time zone ID to validate the input ID may need to be updated to support the new behavior.
-
-<h4 class="doc">Summary of updates in 4.8.1.1 (August 24, 2011)</h4>
-<p><b>Java 7 Locale support</b></p>
-<p>Java 7 was shipped in July 2011 including some enhancements in java.util.Locale class.
-For supporting the enhancements in Locale class, ICU4J com.ibm.icu.util.ULocale was also
-updated in the latest code stream by following ticket.
-<ul>
-<li><a href="http://bugs.icu-project.org/trac/ticket/8630">#8630</a> Java 7 Locale Category support</li>
-</ul>
-These changes in ULocale class were back-ported to this release. (<b>Note</b>: The new APIs for locale category
-are tagged as @stable ICU 49, indicating these APIs are back-ported from later code stream.)</p>
-
-<h5>Bug fixes</h5>
-<p>See the <a href="http://bugs.icu-project.org/trac/milestone/4.8.1.1J">ICU Trac 4.8.1.1J page</a> about
-fixes done in this update release.
-<h4 class="doc">Summary of updates in 4.8.1 (July 19, 2011)</h4>
-<h5>CLDR 2.0.1 updates</h5>
-<p>ICU4J 4.8.1 imported locale data updates from <a href="http://cldr.unicode.org/index/downloads/cldr-2-0-1">CLDR
-2.0.1</a> release.
-
-<h5>Time zone data update</h5>
-<p>ICU4J 4.8.1 updates the time zone data to version <a href="http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2011h/44/">2011h</a>
-from the Olson tz database.
-
-<h5>Bug fixes</h5>
-<p>See the <a href="http://bugs.icu-project.org/trac/milestone/4.8.1">ICU Trac 4.8.1 page</a> about
-fixes done in this update release.
+<p>See the <a href="http://sites.google.com/site/icusite/download/52">ICU 52 download page</a>
+about new features in this release.
+The list of API changes since the previous ICU4J release is available
+<a href="http://source.icu-project.org/repos/icu/icu4j/tags/release-52-1/APIChangeReport.html">here</a>.</p>
<h3 class="doc"><a name="license"></a>License Information</h3>
<p>
<p>
The IBM version contains the essential text of the license, omitting the
X-specific trademarks and copyright notices. The full copy of <a
- href="main/shared/licenses/license.html">ICU's license</a> is included in the download
+ href="http://source.icu-project.org/repos/icu/icu4j/tags/release-52-1/main/shared/licenses/license.html">ICU's license</a> is included in the download
package.
</p>
<h3 class="doc"><a name="PlatformDependencies"></a>Platform Dependencies</h3>
<p>
-ICU4J 4.8 depends on J2SE 5.0 functionality. Therefore, ICU4J only runs on
+ICU4J 52 depends on J2SE 5.0 functionality. Therefore, ICU4J only runs on
JRE version 5.0 or later.
The table below shows the operating systems and JRE/VM versions currently
used by the ICU development team to test ICU4J.
<table border="1">
<tr>
<th rowspan="2">Operating System</th>
+ <th colspan="2">JRE 7</th>
<th colspan="2">JRE 6</th>
<th colspan="2">JRE 5</th>
</tr>
<th>64bit</th>
<th>32bit</th>
<th>64bit</th>
+ <th>32bit</th>
+ <th>64bit</th>
</tr>
<tr>
<th>AIX 6.1</th>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
<td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center">-</td>
+ <td align="center" bgcolor="#DDDDFF">Regularly tested</td>
</tr>
<tr>
<th>AIX 7.1</th>
<td align="center" bgcolor="#CCCCFF"><em><b>Reference platform</b></em></td>
<td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center">-</td>
+ <td align="center" bgcolor="#DDDDFF">Regularly tested</td>
</tr>
<tr>
<th>HP-UX 11 (IA64)</th>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
<td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center">-</td>
+ <td align="center" bgcolor="#DDDDFF">Regularly tested</td>
</tr>
<tr>
<th>Mac OS X 10.6</th>
- <td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center">-</td>
+ <td align="center">-</td>
+ <td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
<td align="center">-</td>
+ <td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center">-</td>
</tr>
<tr>
<th>Redhat Enterprise Linux 6 (x86_64)</th>
<td align="center">-</td>
+ <td align="center" bgcolor="#CCCCFF"><em><b>Reference platform</b></em></td>
+ <td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
<td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
</tr>
<tr>
- <th>Solaris 9 (SPARC)</th>
+<th>Solaris 10 (SPARC)</th>
+ <td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center" bgcolor="#DDDDFF">Regularly tested</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
- <td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
- <td align="center">-</td>
</tr>
<tr>
- <th>Solaris 10 (SPARC)</th>
- <td align="center" bgcolor="#CCCCFF"><em><b>Reference platform</b></em></td>
+ <th>Solaris 11 (SPARC)</th>
+ <td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
</tr>
<tr>
<td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
<td align="center">-</td>
+ <td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center">-</td>
</tr>
<tr>
<th>Windows Vista</th>
<td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
<td align="center">-</td>
+ <td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center">-</td>
</tr>
<tr>
<th>Windows 7</th>
<td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
<td align="center">-</td>
+ <td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center">-</td>
</tr>
<tr>
<th>Windows 2008 Server</th>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
<td align="center">-</td>
<td align="center" bgcolor="#DDDDFF">Regularly tested</td>
+ <td align="center">-</td>
+ <td align="center" bgcolor="#DDDDFF">Regularly tested</td>
</tr>
</table>
</tr>
<tr>
<td>main/classes/localespi</td>
- <td>icu4j-localespi</code>
+ <td>icu4j-localespi</td>
<td>icu4j-core<br>
icu4j-collate<br>
</td>
<p><b>Others:</b></p>
<table border="1">
<tr>
- <th>Path</td>
- <th>Description</td>
+ <th>Path</th>
+ <th>Description</th>
</tr>
<tr>
<td>main/shared</td>
<a
href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/util/IslamicCalendar.html">Islamic</a>,
<a
- href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/util/JapaneseCalendar.html">Japanese</a>.</li>
+ href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/util/JapaneseCalendar.html">Japanese</a>,
+ Persian, Dangi.</li>
+ <li>Time Zone Enhancements –
+<a href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/util/BasicTimeZone.html">Time zone transition and rule detection</a>,
+<a href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/util/VTimeZone.html">iCalendar VTIMEZONE formatting and parsing</a>,
+<a href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/util/RuleBasedTimeZone.html">Custom time zones constructed by user defined rules</a>.
+ <li>Date Format Enhancements – <a href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/text/DateTimePatternGenerator.html">Date/Time Pattern Generator</a>,
+<a href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/text/DateIntervalFormat.html">Date Interval Format</a>,
+<a href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/text/DurationFormat.html">Duration Format</a>.
<li><a
href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/text/Normalizer.html">Unicode
Normalization</a> – Canonical text representation for W3C.</li>
& <a
href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/text/UnicodeDecompressor.html">Decompression</a>
– 2:1 compression on English Unicode text.</li>
- <li>Collation - <a
+ <li>Collation – <a
href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/text/RuleBasedCollator.html">Rule-based
sorting</a>, <a
href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/text/StringSearch.html">Efficient
-multi-lingual searching</a> </li>
+multi-lingual searching</a>,
+<a href="http://www.icu-project.org/apiref/icu4j/com/ibm/icu/text/AlphabeticIndex.html">Alphabetic indexing</a></li>
</ul>
<h3 class="doc"><a name="HowToInstallJavac"></a>How to Install and Build</h3>
<p>
somewhere <em>outside</em>the ICU4J directory. For example, on Linux you might install
these in <code>/usr/local</code>.</p>
<ul>
- <li>Install J2SE SDK 6.0.</li>
+ <li>Install J2SE SDK 7.</li>
<li>Install the <a href="http://ant.apache.org/"><strong>Ant</strong></a>
build system. Ant is a portable, Java-based build system similar to
make. ICU4J uses Ant because it introduces no other dependencies, it's
extract it onto your system, set some environment variables, and add
its bin directory to your path. For example: </p>
<pre>
- set JAVA_HOME=C:\jdk1.6.0
+ set JAVA_HOME=C:\jdk1.7.0
set ANT_HOME=C:\ant
- set PATH=%PATH%;%ANT_HOME%\bin</pre>
+ set PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin;%PATH%</pre>
<p>See the current Ant documentation for details.</p>
</li>
</ul>
other targets. For example:</p>
<blockquote>
<pre>C:\icu4j>ant
-Buildfile: build.xml
-
Buildfile: C:\icu4j\build.xml
info:
[echo] ----- Build Environment Information -------------------
- [echo] Java Home: C:\jdk1.6.0
- [echo] Java Version: 1.6.0
+ [echo] Java Home: C:\jdk1.7.0\jre
+ [echo] Java Version: 1.7.0
[echo] Ant Home: C:\ant
- [echo] Ant Version: Apache Ant(TM) version 1.8.2 compiled on December 20 2
-010
+ [echo] Ant Version: Apache Ant(TM) version 1.9.2 compiled on July 8 2013
[echo] OS: Windows 7
- [echo] OS Version: 6.1 build 7601 Service Pack 1
- [echo] OS Arch: x86
+ [echo] OS Version: 6.1
+ [echo] OS Arch: amd64
[echo] Host: ICUDEV
[echo] -------------------------------------------------------
[echo] target: 1.5
[echo] debug: on
[echo] encoding: UTF-8
- [echo] compiler arg: -Xlint:all,-deprecation,-dep-ann
+ [echo] compiler arg: -Xlint:all,-deprecation,-dep-ann,-options
[echo] ----------------------------------------------------
[mkdir] Created dir: C:\icu4j\main\classes\core\out\bin
- [javac] Compiling 331 source files to C:\icu4j\main\classes\core\out\bin
+ [javac] Compiling 353 source files to C:\icu4j\main\classes\core\out\bin
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
copy-data:
[unjar] Expanding: C:\icu4j\main\shared\data\icudata.jar into C:\icu4j\main\
classes\core\out\bin
+ [unjar] Expanding: C:\icu4j\main\shared\data\icutzdata.jar into C:\icu4j\mai
+n\classes\core\out\bin
...
...
...
-build:
-
_build-localespi:
@compile:
[echo] target: 1.6
[echo] debug: on
[echo] encoding: UTF-8
- [echo] compiler arg: -Xlint:all,-deprecation,-dep-ann
+ [echo] compiler arg: -Xlint:all,-deprecation,-dep-ann,-options
[echo] ----------------------------------------------------
[mkdir] Created dir: C:\icu4j\main\classes\localespi\out\bin
[javac] Compiling 22 source files to C:\icu4j\main\classes\localespi\out\bin
[copy] Copying 1 file to C:\icu4j
BUILD SUCCESSFUL
-Total time: 53 seconds</pre>
+Total time: 1 minute 51 seconds</pre>
</blockquote>
<I>Note: The above output is an example. The numbers are likely to be different with the current version ICU4J.</I>
<p>The following are some targets that you can provide to <b>ant</b>.
<p>For more information, read the Ant documentation and the <strong>build.xml</strong>
file.</p>
-<b>Note:</b> If you get an OutOfMemoryError when you are running <tt>"ant check"</tt>,
+<p><b>Note:</b> If you get an OutOfMemoryError when you are running <tt>"ant check"</tt>,
you can set the heap size of the jvm by setting the environment variable JVM_OPTIONS
to the appropriate java options.</p>
<h4>Other demos</h4>
<p>The other demo programs are <strong>not supported</strong> and
exist only to let you experiment with the ICU4J classes. First, build ICU4J using <tt>ant jarDemos</tt>.
-Then launch the demos as below:
+Then launch the demos as below:</p>
<blockquote><tt>java -jar $icu4j_root/icu4jdemos.jar</tt></blockquote>
-</p>
<h3 class="doc"><a name="resources">ICU4J Resource Information</a></h3>
Starting with release 2.1, ICU4J includes its own
organization
of the data in ICU4J.</p>
<ul>
- <li>The primary <b>locale data</b> is under the directory <tt>icudt48b</tt>,
+ <li>The primary <b>locale data</b> is under the directory <tt>icudt52b</tt>,
as a set of <tt>".res"</tt> files whose names are the locale identifiers.
Locale naming is documented the <code>com.ibm.icu.util.ULocale</code>
class, and the use of these names in searching for resources is documented
in <code>com.ibm.icu.util.UResourceBundle</code>.</li>
- <li>The <b>collation data</b> is under the directory <tt>icudt48b/coll</tt>,
+ <li>The <b>collation data</b> is under the directory <tt>icudt52b/coll</tt>,
as a set of <tt>".res"</tt> files.</li>
- <li>The <b>currency display name data</b> is under the directory <tt>icudt48b/curr</tt>,
+ <li>The <b>currency display name data</b> is under the directory <tt>icudt52b/curr</tt>,
as a set of <tt>".res"</tt> files.</li>
- <li>The <b>language display name data</b> is under the directory <tt>icudt48b/lang</tt>,
+ <li>The <b>language display name data</b> is under the directory <tt>icudt52b/lang</tt>,
as a set of <tt>".res"</tt> files.</li>
- <li>The <b>region display name data</b> is under the directory <tt>icudt48b/region</tt>,
+ <li>The <b>region display name data</b> is under the directory <tt>icudt52b/region</tt>,
as a set of <tt>".res"</tt> files.</li>
<li>The <b>rule-based transliterator data</b> is under the directory
- <tt>icudt48b/translit</tt>, as a set of <tt>".res"</tt> files.</li>
+ <tt>icudt52b/translit</tt>, as a set of <tt>".res"</tt> files.</li>
<li>The <b>rule-based number format data</b> is under the directory
- <tt>icudt48b/rbnf</tt>, as a set of <tt>".res"</tt> files.
+ <tt>icudt52b/rbnf</tt>, as a set of <tt>".res"</tt> files.
<li>The <b>break iterator data</b> is directly under the
- directory <tt>icudt48b</tt>, as a set of <tt>".brk"</tt> files, named according to the
+ directory <tt>icudt52b</tt>, as a set of <tt>".brk"</tt> files, named according to the
type of break and the locale where there are locale-specific versions.</li>
- <li>The <b>holiday data</b> is under the directory <tt>icudt48b</tt>,
+ <li>The <b>holiday data</b> is under the directory <tt>icudt52b</tt>,
as a set of <tt>".class"</tt> files, named <tt>"HolidayBundle_"</tt>
followed by the locale ID.</li>
<li>The <b>character property data</b> and default <b>unicode collation algorithm
- (UCA) data</b> is found under the directory <tt>icudt48b</tt>, as a set of
+ (UCA) data</b> is found under the directory <tt>icudt52b</tt>, as a set of
<tt>".icu"</tt> files. </li>
- <li>The <b>normalization data</b> is found under the directory <tt>icudt48b</tt>,
+ <li>The <b>normalization data</b> is found under the directory <tt>icudt52b</tt>,
as a set of <tt>".nrm"</tt> files. </li>
<li>The <b>character set converter data</b> is under the directory
- <tt>icudt48b</tt>, as a set of <tt>".cnv"</tt> files. These files are
+ <tt>icudt52b</tt>, as a set of <tt>".cnv"</tt> files. These files are
currently included only in icu-charset.jar.</li>
<li>The <b>time zone rule data</b> is under the directory
- <tt>icudt48b</tt>, as <tt>zoneinfo64.res</tt>.</li>
+ <tt>icudt52b</tt>, as <tt>zoneinfo64.res</tt>.</li>
<li>The <b>time zone display name data</b> is under the directory
- <tt>icudt48b/zone</tt>, as a set of <tt>".res"</tt> files.</li>
+ <tt>icudt52b/zone</tt>, as a set of <tt>".res"</tt> files.</li>
</ul>
<p>
Some of the data files alias or otherwise reference data from other
<h5> Generating Data from CLDR </h5>
<I> Note: This procedure assumes that all 3 sources are present</I>
<ol>
- <li>Checkout or download CLDR version 'release-2-0-1'</li>
- <li>Checkout ICU4C with tag 'release-4-8-1'</li>
- <li>Checkout ICU4J with tag 'release-4-8-1-1'</li>
+ <li>Checkout or download CLDR version 'release-24'</li>
+ <li>Checkout ICU4C with tag 'release-52-1'</li>
+ <li>Checkout ICU4J with tag 'release-52-1'</li>
<li>cd to <I>$icu4c_root</I>/source/data directory</li>
<li>Follow the instructions in <I>$icu4c_root</I>/source/data/cldr-icu-readme.txt</li>
<li>Rebuild ICU4C with the newly generated data.</li>
</ol>
<h3 class="doc"><a name="timezone"></a>About ICU4J Time Zone</h3>
-<p>ICU4J 4.8.1.1 includes time zone data version 2011h, which is the latest one as of
-the release date. However, time zone data is frequently updated in response
+<p>ICU4J 52.1 includes time zone data version 2013g, which is the latest one as of
+the release date. However, time zone data is frequently updated in response
to changes made by local governments around the world. If you need to update
the time zone data, please refer the ICU user guide topic
<a href="http://userguide.icu-project.org/datetime/timezone#TOC-Updating-the-Time-Zone-Data">Updating the Time Zone Data</a>.</p>
<h2>Thank you for your interest in ICU4J!</h2>
<br>
<hr align="center" size="2" width="100%">
-<p><I><font size="-1">Copyright © 2002-2011 International Business
+<p><I><font size="-1">Copyright © 2002-2013 International Business
Machines Corporation and others. All Rights
Reserved.<br>
4400 North First Street, San José, CA 95193, USA