ICU-9101 readme about collation

X-SVN-Rev: 35240
This commit is contained in:
Markus Scherer 2014-02-26 20:45:41 +00:00
parent 586a608127
commit 6dac8088a7

View File

@ -13,23 +13,23 @@ h4.doc { text-decoration: underline }
</head>
<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 53 Milestone 1</h3>
(Last Update: 2014-Jan-17)
<h1>International Components for Unicode for Java (ICU4J)</h1>
<h2>Read Me for ICU4J 53</h2>
(Last Update: 2014-Feb-26)
<hr size="2" width="100%">
<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. -->
<b>Note:</b> This is a development release version of ICU4J 53.
<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.
<!--b>Note:</b> This is a development release version of ICU4J 53.
The contents of this document may not reflect the recent changes done
for ICU 53 development. This milestone is intended for those wishing
to get an early look at ICU4J 53 new features and API changes. It is not
recommended for production use.
recommended for production use.-->
</p>
<p>For the most recent release, see the <a
href="http://www.icu-project.org/download/"> ICU4J
download site</a>. </p>
<h3 class="doc">Contents</h3>
<h2 class="doc">Contents</h2>
<ul type="disc">
<li><a href="#introduction">Introduction to ICU4J</a></li>
<li><a href="#changes">Changes In This Release</a></li>
@ -47,7 +47,7 @@ download site</a>. </p>
<li><a href="#SubmittingComments">Submitting Comments, Requesting
Features and Reporting Bugs</a></li>
</ul>
<h3 class="doc"><a name="introduction"></a>Introduction to ICU4J</h3>
<h2 class="doc"><a name="introduction"></a>Introduction to ICU4J</h2>
<p>The International Components for Unicode (ICU) library provides
robust and
full-featured Unicode services on a wide variety of platforms. ICU
@ -128,14 +128,44 @@ is now in Java 7. However, the most current and complete version is always
found in ICU4J.</p>
</blockquote>
<h3 class="doc"><a name="changes"></a>Changes In This Release</h3>
<h2 class="doc"><a name="changes"></a>Changes In This Release</h2>
<p>See the <a href="http://sites.google.com/site/icusite/download/milestone">ICU development milestone 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/milestone-53-0-1/APIChangeReport.html">here</a>.</p>
<h3 class="doc"><a name="license"></a>License Information</h3>
<!-- ICU 53 items -->
<h3>Collation code re-implemented</h3>
<ul>
<li>New, incompatible data format of the binary collation data in
coll/*.res and coll/ucadata.icu data files.
coll/invuca.icu has been removed.</li>
<li>Data loading will not fall back to building from rules any more
when the binary data is missing or does not match the current implementation.
(This removes the dependency from the "runtime" code on the builder.)</li>
<li>Rule syntax and semantics tightened and improved, matching
<a href="http://unicode.org/repos/cldr/trunk/specs/ldml/tr35-collation.html#Rules">LDML 25 Collation Rule Syntax</a>
(TODO: update link for released LDML 25)
<ul>
<li>In particular, rule chains now must start with a reset.</li>
</ul>
</li>
<li>Setting of variableTop deprecated, and not supported in rule syntax any more
<ul>
<li>Replaced by the new maxVariable setting; see
<a href="http://unicode.org/repos/cldr/trunk/specs/ldml/tr35-collation.html#Collation_Settings">LDML 25 Collation Settings</a>
(TODO: update link for released LDML 25)</li>
</ul>
</li>
<li>Java Collator base class (does not apply to RuleBasedCollator instances):
getters for strength, decomposition mode, and locales return hardcoded default values;
their setters do nothing</li>
</ul>
<!-- end ICU 53 items -->
<h2 class="doc"><a name="license"></a>License Information</h2>
<p>
The ICU projects (ICU4C and ICU4J) use the X license. The X
license is <b>suitable for commercial use</b> and is a recommended free software license
@ -160,7 +190,7 @@ X-specific trademarks and copyright notices. The full copy of <a
href="http://source.icu-project.org/repos/icu/icu4j/tags/milestone-53-0-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>
<h2 class="doc"><a name="PlatformDependencies"></a>Platform Dependencies</h2>
<p>
ICU4J 53 depends on J2SE 5.0 functionality. Therefore, ICU4J only runs on
JRE version 5.0 or later.
@ -292,7 +322,7 @@ used by the ICU development team to test ICU4J.
</tr>
</table>
<h3 class="doc"><a name="download"></a>How to Download ICU4J</h3>
<h2 class="doc"><a name="download"></a>How to Download ICU4J</h2>
<p>There are two ways to download the ICU4J releases.
</p>
<ul type="disc">
@ -320,8 +350,8 @@ directions that are contained on the <a
site, please see the ICU download page at <a
href="http://www.icu-project.org/download/">http://www.icu-project.org/download/</a>
</p>
<h3 class="doc"><a name="WhatContain"></a>The Structure and Contents of
ICU4J</h3>
<h2 class="doc"><a name="WhatContain"></a>The Structure and Contents of
ICU4J</h2>
<p>Below, all directory pathes are relative to the directory where the
ICU4J source archive is extracted.
</p>
@ -537,7 +567,7 @@ ICU4J source archive is extracted.
</tr>
</table>
<h3 class="doc"><a name="API"></a>Where to get Documentation</h3>
<h2 class="doc"><a name="API"></a>Where to get Documentation</h2>
<p>The <a href="http://www.icu-project.org/userguide/">ICU user's
guide</a> contains lots of general information about ICU, in its C,
C++, and Java incarnations.</p>
@ -600,7 +630,7 @@ sorting</a>, <a
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>
<h2 class="doc"><a name="HowToInstallJavac"></a>How to Install and Build</h2>
<p>
To install ICU4J, simply place the prebuilt jar file <strong>icu4j.jar</strong>
on your Java CLASSPATH. If you need Charset API support please also place
@ -798,7 +828,7 @@ how to configure Eclipse</a> to build and develop ICU4J on Eclipse IDE.</p>
page <a href="http://userguide.icu-project.org/icu4j-locale-service-provider">ICU4J Locale
Service Provider</a>.</p>
<h3 class="doc"><a name="HowToModularize"></a>How to modularize ICU4J</h3>
<h2 class="doc"><a name="HowToModularize"></a>How to modularize ICU4J</h2>
<p>Some clients may not wish to ship all of ICU4J with their
application, since the application might only use a small part of ICU4J.
ICU4J release 2.6 and later provide build options to build individual
@ -806,7 +836,7 @@ ICU4J 'modules' for a more compact distribution. For more details, please
refer to the section <em>Modularization of ICU4J</em> in the ICU user's
guide article <a href="http://userguide.icu-project.org/packaging-icu4j">Packaging ICU4J</a>.
<h3 class="doc"><a name="tryingout"></a>Trying Out ICU4J</h3>
<h2 class="doc"><a name="tryingout"></a>Trying Out ICU4J</h2>
<p><strong>Note:</strong> the demos provided with ICU4J are for the
most part undocumented. This list can show you where to look, but
you'll have to experiment a bit. The demos are <strong>unsupported</strong>
@ -814,18 +844,18 @@ and may change or disappear without notice.</p>
<p>The icu4j.jar file contains only the ICU4J runtime library classes, not the
demo classes, so unless you build ICU4J there is little to try out.
</p>
<h4>Charset</h4>
<h3>Charset</h3>
To try out the <strong>Charset</strong> package, build <strong>icu4j.jar</strong> and
<strong>icu4j-charset.jar</strong> using the 'jar' target.
You can use the charsets by placing these files on your classpath.
<blockquote><tt>java -cp $icu4j_root/icu4j.jar:$icu4j_root/icu4j-charset.jar &lt;your program&gt;</tt></blockquote>
<h4>Other demos</h4>
<h3>Other demos</h3>
<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&nbsp;jarDemos</tt>.
Then launch the demos as below:</p>
<blockquote><tt>java -jar $icu4j_root/icu4jdemos.jar</tt></blockquote>
<h3 class="doc"><a name="resources">ICU4J Resource Information</a></h3>
<h2 class="doc"><a name="resources">ICU4J Resource Information</a></h2>
Starting with release 2.1, ICU4J includes its own
resource information
which is completely independent of the JRE resource information. (Note,
@ -938,7 +968,7 @@ resources. See the jar tool information for how to do this. Before
the remaining resources, making sure each required resource is
present.
</p>
<h4>Using additional resource files with ICU4J</h4>
<h3>Using additional resource files with ICU4J</h3>
<blockquote>
<table cellpadding="3" frame="border" rules="none" width="50%">
<tbody>
@ -978,7 +1008,7 @@ the contents of the ICU4J resources.
The files in <tt>icudata.jar</tt> get extracted to <tt>com/ibm/icu/impl/data</tt>
in the build output directory by some build targets.
</p>
<h4><a name="resourcesICU4C">Building ICU4J Resources from ICU4C</a></h4>
<h3><a name="resourcesICU4C">Building ICU4J Resources from ICU4C</a></h3>
ICU4J data is built by ICU4C tools. Please see "icu4j-readme.txt" in <I>$icu4c_root</I>/source/data for the procedures.
<h5> Generating Data from CLDR </h5>
<I> Note: This procedure assumes that all 3 sources are present</I>
@ -996,7 +1026,7 @@ ICU4J data is built by ICU4C tools. Please see "icu4j-readme.txt" in <I>$icu4c_r
<li>Build and test icu4j</li>
</ol>
<h3 class="doc"><a name="timezone"></a>About ICU4J Time Zone</h3>
<h2 class="doc"><a name="timezone"></a>About ICU4J Time Zone</h2>
<p>ICU4J 53 milestone 1 includes time zone data version 2013i, 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
@ -1008,8 +1038,8 @@ service classes to use underlying JDK TimeZone implementation (see the ICU4J API
for the details). When this configuration is enabled, ICU's own time zone data
won't be used and you have to get time zone data patches from the JRE vendor.</p>
<h3 class="doc"><a name="WhereToFindMore"></a>Where to Find More
Information</h3>
<h2 class="doc"><a name="WhereToFindMore"></a>Where to Find More
Information</h2>
<p><a href="http://www.icu-project.org/">http://www.icu-project.org/</a>
is the home page of International Components for Unicode development project</p>
<p><a href="http://www.ibm.com/software/globalization/icu/">http://www.ibm.com/software/globalization/icu/</a>
@ -1018,9 +1048,9 @@ Unicode hosted by IBM</p>
<p><a href="http://www.ibm.com/software/globalization/">http://www.ibm.com/software/globalization/</a>
is a pointer to
information on how to make applications global. </p>
<h3 class="doc"><a name="SubmittingComments"></a>Submitting Comments,
<h2 class="doc"><a name="SubmittingComments"></a>Submitting Comments,
Requesting Features and
Reporting Bugs</h3>
Reporting Bugs</h2>
<p>Your comments are important to making ICU4J successful. We are
committed to investigate any bug reports or suggestions,
and will use your feedback to help plan future releases.</p>
@ -1035,7 +1065,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-2014 International Business
<p><I><font size="-1">Copyright &copy; 2000-2014 International Business
Machines Corporation and others. All Rights
Reserved.<br>
4400 North First Street, San Jos&eacute;, CA 95193, USA