ICU-4692 update ICU4J readme for 3.4

X-SVN-Rev: 18354
This commit is contained in:
Doug Felt 2005-07-26 21:44:58 +00:00
parent 80c533be49
commit 7efd460d81

View File

@ -18,10 +18,10 @@ h3.doc { background: #CCCCFF }
<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 3.2</h3>
<h3>Read Me for ICU4J 3.4</h3>
<hr size="2" width="100%">
<p><b>Release Date</b><br>
Nov 22, 2004<br>
Jul 31, 2005<br>
</p>
<p>For the most recent release, see the <a
href="http://www.ibm.com/software/globalization/icu/downloads.jsp"> ICU4J
@ -74,6 +74,9 @@ the JDK</li>
Characters</b></a> &#8211; String manipulation and character properties<br>
&nbsp;&nbsp;&nbsp;&nbsp;Required for proper GB 18030 and JIS 213
repertoire support</li>
<li><a href="http://icu.sourceforge.net/userguide/charset.html"><b>Charset
Detection</b></a> &#8211; Recognition of various single and multibyte charsets<br>
&nbsp;&nbsp;&nbsp;&nbsp;Useful for recognizing untagged text data</li>
<li><a
href="http://icu.sourceforge.net/userguide/unicodeSet.html"><b>UnicodeSet</b></a>
&#8211; standard set operations optimized for sets of Unicode characters<br>
@ -188,44 +191,55 @@ current and complete version of this support is always found in ICU4J.
-->
<h3 class="doc"><a name="news"></a>What Is New In This Release?</h3>
<ul>
<li><a href="#News_ULocale">ULocale (RFC 3066) implementation complete</a>
</li>
<li><a href="#News_Resource_Data">RBNF, Transliterator data
now in separate resource trees</a> </li>
<li><a href="#News_Standards">Unicode 4.1, CLDR 1.3 Support</a></li>
<li><a href="#News_Charset">New Charset Detection API</a></li>
<li><a href="#News_DateFormat">Improved Date Formatting</a></li>
<li><a href="#News_Calendars">Additional Calendar Support</a></li>
<li><a href="#News_Compat">Increased API compatibility with JDK</a></li>
</ul>
<p>A complete report of the API changes between version 3.2 and
version 3.0 of ICU4J can be found <a href="APIChangeReport.html">here</a>.
This report is generated by a
<p>A complete report of the API changes between version 3.4 and
version 3.2 of ICU4J can be found
<a href="APIChangeReport.html">here</a>. This report is generated by a
tool and has some limitations, the most notable of which is that it
does not properly reflect the effect of class inheritance changes. Also
of course,
being generated by a tool, the report does not provide explanation or
commentary on the changes. For background information and
clarification of changes it's always recommended that you check the
mailing list and archives.</p>
<h4><a name="News_ULocale" id="News_ULocale">ULocale (RFC 3066)
implementation complete</a></h4>
<p>RFC 3066 defines a new format for Locale identifiers that
incorporates information about the script as well as the language and
region into the locale identifier. ICU4J has enhanced the
<tt>ULocale</tt> class to provide this information. All ICU4J APIs that
work with
<tt>Locale</tt> have been overloaded to also work with <tt>ULocale</tt>.
<tt>ULocale</tt> is now the preferred API for specifying a locale ID to
ICU4J APIs.<br>
does not properly reflect the effect of class inheritance
changes. Also of course, being generated by a tool, the report does
not provide explanation or commentary on the changes. For background
information and clarification of changes it's always recommended that
you check the mailing list and archives.</p>
<h4><a name="News_Standards" id="News_Standards">Unicode 4.1, CLDR 1.3 Support</a></h4>
<p>ICU has been updated to Unicode 4.1, including new character
properties and values. Collation has been updated to Unicode
Technical Standard #10 (UCA). Locale data has been updated to CLDR
1.3. Additional APIs have been added to access and display more
CLDR data.<br>
</p>
<h4><a name="News_Resouce_Data" id="News_Resouce_Data">RBNF,
Transliterator data
now in separate resource trees</a></h4>
<p>
More resource data has been moved out of the core resources into
separate resource trees. This will make it easier for clients to
trim the data used by ICU4J.<br>
<h4><a name="News_Charset" id="News_Charset">New Charset Detection API</a></h4>
<p>ICU4J provides heuristics for detecting the charset of a byte stream.
Users can create a Java Reader or String from any byte-oriented input stream
when the charset or encoding of the byte data is unknown. The implementation
recognizes most widely used encodings for European and Asian languages.<br>
</p>
<h4><a name="News_DateFormat" id="News_DateFormat"></a>Improved Date Formatting</h4>
<p>Time and Date formatting now supports narrow and standalone day and month names, as well
as generic time zones (e.g. "Pacific Time", "United Kingdom"). Time zone
name data is available for many more timezones and locales.<br>
</p>
<h4><a name="News_Calendars" id="News_Calendars"></a>Additional Calendar Support</h4>
<p>Existing Calendar APIs have been promoted to stable. Coptic and Ethiopic
calendars have been added. Calendar instantiation now recognizes the
<tt>calendar</tt> keyword in <tt>ULocale</tt> identifiers.<br>
</p>
<h4><a name="News_Compat" id="News_Compat">Increased API compatibility with the JDK</a></h4>
<p>Several small differences between ICU4J APIs and the core Java APIs have been
removed. For example, types of some enum constants have been aligned with Java's
(int became byte), UCharacter added methods to match java.lang.Character APIs
(including some deprecated methods, for completeness).<br>
</p>
<h3 class="doc"><a name="license"></a>License Information</h3>
<p>
The ICU projects (ICU4C and ICU4J) use the X license. The X
license is a <b>non-viral</b> and recommended free software license
license is <b>suitable for commercial use</b> and is a recommended free software license
that is compatible with the GNU GPL license. This became
effective with release 1.8.1 of ICU4C and release 1.3.1 of ICU4J in
mid-2001. All new ICU releases will adopt the X license; previous ICU
@ -235,8 +249,8 @@ need to accept the terms and conditions of the X license.
</p>
<p>
The main effect of the change is to provide GPL compatibility.
The X license is listed as GPL compatible, see the GNU page at <a
href="http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses">
The X license is listed as GPL compatible, see the GNU page at
<a href="http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses">
http://www.gnu.org/philosophy/license-list.html#GPLCompatibleLicenses</a>.
This means that GPL projects can now use ICU code, it does <b>not</b>
mean that projects using ICU become subject to GPL.
@ -252,7 +266,7 @@ package.
<h3 class="doc"><a name="PlatformDependencies"></a>Platform Dependencies</h3>
<p> Parts of ICU4J depend on functionality that is only available in
JDK 1.4 or later, although some components work under earlier JVMs. All
components should be compiled using a Java2 compiler, as even
components should be compiled using a Java 2 compiler, as even
components that run under earlier JVMs can require language features
that are only present in Java2. Currently 1.1.x, 1.2.x and 1.3.x JVMs
are unsupported and untested, and you use the components on these JVMs
@ -284,12 +298,12 @@ platforms:
If you want to use ICU4J (as opposed to developing it), your best bet
is to download an official, packaged version of the ICU4J source
code. These versions are tested more thoroughly than day-to-day
development builds, and they are packaged in zip files for convenient
download. These packaged files can be found at <a
href="http://ibm.com/software/globalization/icu/downloads.jsp">http://ibm.com/software/globalization/icu/downloads.jsp</a>.
If a packaged snapshot is named <b>ICU4JXXXXXX.zip</b>, where XXXXXX
is the release version number. Please unzip this file. It
will reconstruct the source directory. </li>
development builds, and they are packaged in jar files for convenient
download. These packaged files can be found at the <a
href="http://ibm.com/software/globalization/icu/downloads.jsp">ICU Downloads page</a>.
A packaged snapshot is named <b>icu4jsrc_XXX.jar</b>, where XXX
is the release version number. Please unjar this file. It
will reconstruct the source directory.</li>
</ul>
<ul type="disc">
<li><b>CVS Source Repository:</b><br>
@ -304,7 +318,7 @@ directions that are contained on the <a
</li>
</ul>
<p>For more details on how to download ICU4J directly from the web
site, please also see <a
site, please see the ICU downloads page at <a
href="http://ibm.com/software/globalization/icu/downloads.jsp">http://ibm.com/software/globalization/icu/downloads.jsp</a>
</p>
<h3 class="doc"><a name="WhatContain"></a>The Structure and Contents of
@ -407,7 +421,7 @@ These add to, and in some cases replace, related core Java classes:
<td bgcolor="#ffffff" valign="baseline">Additional utility
classes:
<ul>
<li>Calendars - Gregorian, Buddhist, Hebrew, Islamic, Japanese </li>
<li>Calendars - Gregorian, Buddhist, Coptic, Ethiopic, Hebrew, Islamic, Japanese </li>
<li>Holiday</li>
<li>TimeZone</li>
<li>VersionInfo</li>
@ -474,13 +488,23 @@ the ICU4J web site, and can be built from the sources:
<ul>
<li><a href="http://icu.sourceforge.net/apiref/icu4j/">Index
to all ICU4J API</a></li>
<li><a href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/CharsetDetector.html">Charset Detector</a> &#8211; Detection of charset from a byte stream</li>
<li>International Calendars &#8211; <a
href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/IslamicCalendar.html">Islamic</a>,
<a
href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/BuddhistCalendar.html">Buddhist</a>,
<a
href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/ChineseCalendar.html">Chinese</a>,
<a
href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/CopticCalendar.html">Coptic</a>,
<a
href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/EthiopicCalendar.html">Ethiopic</a>,
<a
href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/GregorianCalendar.html">Gregorian</a>,
<a
href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/HebrewCalendar.html">Hebrew</a>,
<a
href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/IslamicCalendar.html">Islamic</a>,
<a
href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/util/JapaneseCalendar.html">Japanese</a>.</li>
<li><a
href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/Normalizer.html">Unicode
@ -1145,7 +1169,9 @@ select the next or previous block of text.) </li>
<h3 class="doc"><a name="resources">ICU4J Resource Information</a></h3>
Starting with release 2.1, ICU4J includes its own
resource information
which is completely independent of the JDK resource information. The
which is completely independent of the JDK resource information. (Note,
in ICU4J 3.2 and 3.4, time zone information still depends on the
underlying JDK). The
new ICU4J information is equivalent to the information in ICU4C and
many
resources are, in fact, the same binary files that ICU4C uses.
@ -1158,20 +1184,20 @@ from release to release, so clients should not depend on the exact
organization
of the data in ICU4J.</p>
<ul>
<li>The primary <b>locale data</b> is under the directory <tt>icudt32b</tt>,
<li>The primary <b>locale data</b> is under the directory <tt>icudt34b</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>java.util.ResourceBundle</code>.
</li>
<li>The <b>collation data</b> is under the directory <tt>icudt32b/coll</tt>,
<li>The <b>collation data</b> is under the directory <tt>icudt34b/coll</tt>,
as a set of <tt>".res"</tt> files.</li>
<li>The <b>rule-based transliterator data</b> is under the directory
<tt>icudt32b/translit</tt> as a set of <tt>".res"</tt> files. (<b>Note:</b> the
<tt>icudt34b/translit</tt> as a set of <tt>".res"</tt> files. (<b>Note:</b> the
Han transliterator test data is no longer included in the core icu4j.jar
file by default.)</li>
<li>The <b>rule-based number format data</b> is under the directory
<tt>icudt32b/rbnf</tt> as a set of <tt>".res"</tt> files.
<tt>icudt34b/rbnf</tt> as a set of <tt>".res"</tt> files.
<li>The <b>break iterator data</b> is directly under the data
directory, 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>
@ -1192,9 +1218,9 @@ resource files refers to the other file's data. In other cases, a
file may alias a portion of another file's data in order to save
space. Currently ICU4J provides no tool for revealing these
dependencies.</p>
<blockquote><strong>Note:</strong> Java's <code>Locale</code> class
<blockquote><strong>Note:</strong> Java's <code>Locale</code> class
silently converts the language code <tt>"he"</tt> to <tt>"iw"</tt>
when you construct the Locale. Thus
when you construct the Locale (for versions of Java through Java 5). Thus
Java cannot be used to locate resources that use the <tt>"he"</tt>
language code. ICU, on the other hand, does not perform this
conversion in ULocale, and instead uses aliasing in the locale data to
@ -1249,8 +1275,8 @@ regenerate them when they move to new releases of ICU4J.</td>
</table>
</blockquote>
<p>
ICU4J 3.0's resource mechanism is new for this release and we are still
developing it. Currently it is not possible to mix icu's new binary <tt>.res</tt>
We are still developing ICU4J's resource mechanism. Currently it
is not possible to mix icu's new binary <tt>.res</tt>
resources
with traditional java-style <tt>.class</tt> or <tt>.txt</tt>
resources. We might
@ -1270,10 +1296,8 @@ the contents of the ICU4J resources.
<p>
The files in <tt>icudata.jar</tt> get extracted to <tt>com/ibm/icu/impl/data</tt>
in
the build directory when the 'core' target is built. Thereafter, as
long as the file <tt>res_index.res</tt> file is untouched, they will
not be extracted again. Building the <tt>'resources'</tt> target will
force the
the build directory when the 'core' target is built.
Building the <tt>'resources'</tt> target will force the
resources to once again be extracted. Extraction will
overwrite any corresponding resource files already in that directory.
</p>
@ -1333,7 +1357,7 @@ review all comments.</p>
<h2>Thank you for your interest in ICU4J!</h2>
<br>
<hr align="center" size="2" width="100%">
<p><i><font size="-1">Copyright &copy; 2002-2004 International Business
<p><i><font size="-1">Copyright &copy; 2002-2005 International Business
Machines Corporation and others. All Rights
Reserved.<br>
5600 Cottle Road, San Jos&eacute;, CA 95193