<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
  <meta http-equiv="Content-Type"
 content="text/html; charset=iso-8859-1">
  <meta http-equiv="Content-Style-Type" content="text/css2">
  <title>ReadMe for ICU4J</title>
<!--
*******************************************************************************
* Copyright (C) 2000-2006, International Business Machines Corporation and    *
* others. All Rights Reserved.                                                *
*******************************************************************************
-->
  <style type="text/css">
h3.doc { background: #CCCCFF }
  </style>
</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 3.4.3</h3>
<hr size="2" width="100%">
<p><b>Release Date</b><br>
Feb 24, 2006<br>
</p>
<p><b>Note:</b> This is an update release of ICU4J 3.4.  It contains bug fixes
and adds implementations of inherited API, but does not introduce new API
or functionality.  These changes will be rolled into the next release of ICU4J.
</p>
<p>For the most recent release, see the <a
 href="http://www.ibm.com/software/globalization/icu/downloads.jsp"> ICU4J
download site</a>. </p>
<h3 class="doc">Contents</h3>
<ul type="disc">
  <li><a href="#introduction">Introduction to ICU4J</a></li>
  <li><a href="#news">What Is New In This Release?</a></li>
  <li><a href="#license">License Information</a></li>
  <li><a href="#PlatformDependencies">Platform Dependencies</a></li>
  <li><a href="#download">How to Download ICU4J</a></li>
  <li><a href="#WhatContain">The Structure and Contents of ICU4J</a></li>
  <li><a href="#API">Where to Get Documentation</a></li>
  <li><a href="#HowToInstallJavac">How to Install and Build</a></li>
  <li><a href="#HowToModularize">How to modularize ICU4J</a></li>
  <li><a href="#tryingout">Trying Out ICU4J</a></li>
  <li><a href="#resources">ICU4J Resource Information</a></li>
  <li><a href="#WhereToFindMore">Where to Find More Information</a></li>
  <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>
<p>The International Components for Unicode (ICU) library provides
robust and
full-featured Unicode services on a wide variety of platforms. ICU
supports the
most current version of the Unicode standard, including support for
supplementary characters (needed for GB 18030 repertoire support).</p>
<p>Java provides a strong foundation for global programs, and IBM and
the
ICU team played a key role in providing globalization technology to
Java. But because of its long release schedule, Java cannot always keep
up with evolving standards. The ICU team continues to extend Java's
Unicode and internationalization support, focusing on improving
performance,
keeping current with the Unicode standard, and providing richer APIs,
while
remaining as compatible as possible with the original Java text and
internationalization API design.</p>
<p>ICU4J is an add-on to the regular JVM that provides:
</p>
<ul>
  <li><a
 href="http://icu.sourceforge.net/userguide/Collate_Intro.html"><b>Collation</b></a>
&#8211; rule-based, up-to-date Unicode Collation Algorithm (UCA) sorting order<br>
&nbsp;&nbsp;&nbsp;&nbsp;For fast multilingual string comparison; faster
and more complete than
the JDK</li>
  <li><a href="http://icu.sourceforge.net/userguide/strings.html"><b>Supplementary
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>
&nbsp;&nbsp;&nbsp;&nbsp;UnicodeSets can be built from string patterns
using any Unicode properties.</li>
  <li><a href="http://icu.sourceforge.net/userguide/Transform.html"><b>Transforms</b></a>
&#8211; a flexible mechanism for Unicode text conversions<br>
&nbsp;&nbsp;&nbsp;&nbsp;Including Full/Halfwidth conversions,
Normalization, Case conversions, Hex
conversions, and transliterations between scripts (50+ pairs)</li>
  <li><a
 href="http://icu.sourceforge.net/userguide/normalization.html"><b>Unicode
Normalization</b></a> &#8211; NFC, NFD, NFKD, NFKC<br>
&nbsp;&nbsp;&nbsp;&nbsp;For canonical text representations, needed for
XML and the net</li>
  <li><a
 href="http://icu.sourceforge.net/userguide/dateCalendar.html"><b>International
Calendars</b></a> &#8211; Arabic, Buddhist, Hebrew, and Japanese calendars<br>
&nbsp;&nbsp;&nbsp;&nbsp;Required for correct presentation of dates in
certain countries</li>
  <li><a
 href="http://icu.sourceforge.net/userguide/formatNumbers.html"><b>Number
Format
Enhancements</b></a> &#8211; Scientific Notation, Spelled-out, etc.<br>
&nbsp;&nbsp;&nbsp;&nbsp;Enhancements to the normal Java number
formatting. The spell-out format is
used for checks and similar documents</li>
  <li><a
 href="http://icu.sourceforge.net/userguide/boundaryAnalysis.html"><b>Enhanced
Word-Break Detection</b></a> &#8211; Rule-based, supports Thai<br>
&nbsp;&nbsp;&nbsp;&nbsp;Required for correct support of Thai</li>
  <li><a
 href="http://icu.sourceforge.net/userguide/compression.html"><b>Unicode
Text
Compression</b></a> &#8211; Standard compression of Unicode text<br>
&nbsp;&nbsp;&nbsp;&nbsp;Suitable for large numbers of small fields,
where LZW and similar schemes
do not apply</li>
</ul>
<blockquote>
  <p><b>Note:</b> We continue to provide assistance to Sun, and in some
cases, ICU4J support has been rolled into a later release of Java. For
example, the Thai word-break is now in Java 1.4. However, the most
current and complete version is always found in ICU4J.</p>
</blockquote>
<!--

<p><b>ICU4J is an add-on library that extends Java's globalization

    technology.</b> Java provides a strong foundation for global

    programs, but Java does not yet provide all the globalization

    features that some products require.  IBM played a key role in

    providing globalization technology to Sun for use in Java.  Over

    the past seven years, the ICU team has continued to enhance and

    extend this technology.  IBM makes this technology available

    in Java through the ICU4J open-source project.</p>



<p>ICU4J provides the following tools:

    <ul>

    <li><b>Unicode Normalization</b> &#8211; NFC, NFD, NFKD, NFKC<br>

        &nbsp;&nbsp;&nbsp;&nbsp;Produces canonical text representations, needed for XML and the net.

    <li><b>International Calendars</b> &#8211; Arabic, Buddhist, Hebrew, and Japanese<br>

        &nbsp;&nbsp;&nbsp;&nbsp;Required for correct presentation of dates in some countries.

    <li><b>Number Format Enhancements</b> &#8211; Scientific Notation, Spelled-out Numbers<br>

        &nbsp;&nbsp;&nbsp;&nbsp;Enhances standard Java number formatting. The spelled-out format is used

for checks and similar documents.

    <li><b>Enhanced word-break detection</b> &#8211; Rule-based, supports Thai<br>

        &nbsp;&nbsp;&nbsp;&nbsp;Required for correct support of Thai.

    <li><b>Unicode Text Compression</b> &#8211; Standard compression of Unicode text<br>

        &nbsp;&nbsp;&nbsp;&nbsp;Suitable for large numbers of small fields, where LZW and similar schemes

do not apply.

    <li><b>Collation</b> &#8211; Rule-based, up-to-date Unicode Collation Algorithm (UCA) sorting order<br>

        &nbsp;&nbsp;&nbsp;&nbsp;For fast multilingual string comparison

    <li><b>Transforms</b> &#8211; Rule-based transformations of unicode data<br>

        &nbsp;&nbsp;&nbsp;&nbsp;Useful for analysis and transliteration

    </ul>

        

In some cases, the above support has been rolled into a later release of

Java. For example, the Thai word-break is now in Java 1.4. However, the most

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_Java13">Java 1.3 Support</a></li>
  <li><a href="#News_Time_Zone">New Time Zone Data</a></li>
  <li><a href="#News_deprecated">No Deprecated Warnings for Draft APIs</a></li>
  <li><a href="#News_Fixes">Fixes</a></li>
</ul>
<p>A complete report of the API changes between version 3.4.3 and
version 3.4.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_Java13" id="News_Java13">Java 1.3 Support</a></h4>
<p>This release continues the progress made in 3.4.2 towards Java 1.3
support.  It is now possible to both build and run a version of ICU4J on 
Java 1.3.  ICU4J still ships by default for running on Java 1.4, and
must be rebuilt to work on 1.3-- this is a simple matter of rebuilding
using the 'jdk13Compat' ant build target.  Some APIs supported by ICU4J
do not exist in Java 1.3, and so the 1.3-compatible version removes
those APIs via a preprocessing step.  Most of the APIs, though, are
the same in both versions.
<h4><a name="News_Time_Zone" id="News_Time_Zone">New Time Zone Data</a></h4>
<p>ICU4J 3.4.2 saw ICU4J once again use its own time zone data.  Release 3.4.3 
updates the time zone data to version 2006a from the Olson time
zone database.  This supports recent time zone changes, including the upcoming
change to U.S. daylight saving time.</p>
<h4><a name="News_deprecated" id="News_deprecated">No Deprecated Warnings for
Draft APIs.</a></h4>
<p>ICU4J 3.4.3 now by default ships with @deprecated warnings for @draft APIs
turned off.  This was proving to be more of a nuisance than a help to our
clients.  A tool has been provided (swatdeprecated) which can be used to
reenable @deprecated warnings for @draft APIs.</p>
<h4><a name="News_Fixes" id="News_Fixes">Fixes:</a></h4>
<p>This release contains the following bug fixes (not a complete list):<ul>
</ul>
<li><b>jb5006:</b> DateFormat would use the wrong short month names in some locales</li>
<li><b>jb5015:</b> Historical Daylight Saving Time calculation was off by an hour.</li>
<li><b>jb5038:</b> MessageFormat APIs that parallel Java's are now @stable, to facilitate migration to ICU4J.</li>
<li><b>jb5054:</b> SimpleDateFormat would sometimes throw an exception during construction</li>
<li><b>jb5061:</b> StringTokenizer did not match Java's StringTokenizer behavior when returning tokens for delimiters</li>
</ul>
<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 <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
releases continue to utilize the IPL (IBM Public License). Users
of previous releases of ICU who want to adopt new ICU releases will
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">
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.
</p>
<p>
The text of the X license is available at <a
 href="http://www.x.org/Downloads_terms.html">http://www.x.org/Downloads_terms.html</a>. The
IBM version contains the essential text of the license, omitting the
X-specific trademarks and copyright notices. The full copy of <a
 href="license.html">ICU's license</a> is included in the download
package.
</p>
<h3 class="doc"><a name="PlatformDependencies"></a>Platform Dependencies</h3>
<p> By default ICU4J depends on functionality that is only available
in JDK 1.4.  We provide the ability to build a variant of ICU4J
that will run on JDK 1.3, but not all build targets work on that
platform. Currently 1.1.x and 1.2.x JVMs are unsupported and untested,
and you use the components on these JVMs at your own risk.</p>
<p> The reference platforms which we support and test ICU4J on are:</p>
<ul>
  <li> WinXP, IBM JDK 1.4.2</li>
  <li> Solaris 5.9, Sun JDK 1.5.0</li>
  <li> AIX 5.2, IBM JDK 1.4.2</li>
</ul>
<p>Please use the most recent updates of the supported JDK versions.</p>
<p>Additionally, we have built and tested ICU4J on the following <b>unsupported</b>
platforms (note, only some build/test targets work on 1.3 platforms):
</p>
<ul>
<li> Win2K / IBM JDK 1.4.1, Sun JDK  1.4, 1.4.1, 1.4.2</li>
<li> WinXP / IBM JDK 1.3.1, 1.4.1, Sun JDK 1.3.1, 1.4.2, 1.5.0</li>
<li> Solaris 5.6 , Solaris 5.7 / Sun JDK 1.4, 1.4.1, 1.4.2</li>
<li> Solaris 5.9 / Sun JDK 1.3.1, 1.4, 1.4.1, 1.4.2</li>
<li> AIX 5.1, AIX 5.2 / IBM JDK 1.4.1</li>
<li> RedHat Enterprise Linux 3/  IBM JDK 1.4.1, 1.4.0, Sun JDK 1.3.1, 1.4, 1.4.1, 1.4.2, 1.5.0</li>
<li> RedHat Linux 7.2/  IBM JDK 1.4.1, 1.4.0, Sun JDK 1.4, 1.4.1, 1.4.2, 1.5.0</li>
</ul>
<h3 class="doc"><a name="obtaining"></a>How to Download ICU4J</h3>
<p>There are two ways to download the ICU4J releases.
</p>
<ul type="disc">
  <li><b>Official Release Snapshot:</b><br>
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 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>
If you are interested in developing features, patches, or bug fixes for
ICU4J, you should probably be working with the latest version of the
ICU4J source code. You will need to check the code out of our CVS
repository to ensure that you have the most recent version of all of
the files. There are several ways to do this. Please follow the
directions that are contained on the <a
 href="http://ibm.com/software/globalization/icu/repository.jsp">Source
 Repository page</a> for details.
  </li>
</ul>
<p>For more details on how to download ICU4J directly from the web
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
ICU4J</h3>
<p>Below, <b>$Root</b> is the placement of the icu directory in your
file system, like
"drive:\...\icu4j" in your environment. "drive:\..." stands for any
drive and any directory on that drive that you chose to install icu4j
into. </p>
<p><b>Information and build files:</b></p>
<table bgcolor="#ccccff" cellpadding="3" frame="void" width="623">
  <tbody>
    <tr>
      <td align="right" bgcolor="#ffffff" valign="baseline"><b>readme.html</b><br>
(this file)</td>
      <td bgcolor="#ffffff" valign="baseline">A description of ICU4J
(International Components for Unicode for Java)</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">license.html</th>
      <td bgcolor="#ffffff" valign="baseline">The X license, used by
ICU4J</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">build.xml</th>
      <td bgcolor="#ffffff" valign="baseline">Ant build file. See <a
 href="#HowToInstallJavac">How to Install and Build</a> for more
information</td>
    </tr>
  </tbody>
</table>
<p><b>The source directories mirror the package structure of the code.</b><br>
<font color="red">Core</font> packages become part of the ICU4J jar
file.<br>
<font color="red">API</font> packages contain classes with supported
API. <br>
<font color="red">RichText</font> classes are Core and API, but can be
removed from icu4j.jar, and can be built into their own jar.</p>
<table bgcolor="#ccccff" border="0" cellpadding="3" frame="void"
 width="623">
  <tbody>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/icu/dev<br>
      <font color="red">Non-Core, Non-API</font></th>
      <td bgcolor="#ffffff" valign="baseline">Packages used for
internal development:
      <ul>
        <li>Data: data used by tests and in building ICU</li>
        <li>Demos: Calendar, Holiday, Break Iterator, Rule-based Number
Format, Transformations<br>
(See <a href="#tryingout">below</a> for more information about the
demos.)</li>
        <li>Tests: API and coverage tests of all functionality.<br>
For information about running the tests, see
$Root/src/com/ibm/icu/dev/test/TestAll.java.</li>
        <li>Tools: tools used to build data tables, etc.</li>
      </ul>
      </td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/icu/impl<br>
      <font color="red">Core, Non-API</font></th>
      <td bgcolor="#ffffff" valign="baseline">These are utility classes
used from different ICU4J core packages.</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/icu/lang<br>
      <font color="red">Core, API</font></th>
      <td bgcolor="#ffffff" valign="baseline">Character properties
package.</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/icu/math<br>
      <font color="red">Core, API</font></th>
      <td bgcolor="#ffffff" valign="baseline">Additional math classes.</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/icu/text<br>
      <font color="red">Core, API</font></th>
      <td bgcolor="#ffffff" valign="baseline">Additional text classes.
These add to, and in some cases replace, related core Java classes:
      <ul>
        <li>Arabic shaping </li>
        <li>Break iteration </li>
        <li>Date formatting </li>
        <li>Number formatting </li>
        <li>Transliteration </li>
        <li>Normalization </li>
        <li>String manipulation </li>
        <li>Collation </li>
        <li>String search </li>
        <li>Unicode compression </li>
        <li>Unicode sets </li>
      </ul>
      </td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/icu/util<br>
      <font color="red">Core, API</font></th>
      <td bgcolor="#ffffff" valign="baseline">Additional utility
classes:
      <ul>
        <li>Calendars - Gregorian, Buddhist, Coptic, Ethiopic, Hebrew, Islamic, Japanese </li>
        <li>Holiday</li>
        <li>TimeZone</li>
        <li>VersionInfo</li>
        <li>Iteration</li>
      </ul>
      </td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/src/com/ibm/richtext<br>
      <font color="red">RichText</font></th>
      <td bgcolor="#ffffff" valign="baseline">Styled text editing
package. This includes demos, tests, and GUIs for editing and
displaying styled text. The richtext package provides a scrollable
display, typing, arrow-key support, tabs, alignment and justification,
word- and sentence-selection (by double-clicking and triple-clicking,
respectively), text styles, clipboard operations (cut, copy and paste)
and a log of changes for undo-redo. Richtext uses Java's TextLayout and
complex text support (provided to Sun by the ICU4J team).</td>
    </tr>
  </tbody>
</table>
<p><b>Building ICU4J creates and populates the following directories:</b></p>
<table bgcolor="#ccccff" cellpadding="3" frame="void" width="623">
  <tbody>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/classes</th>
      <td bgcolor="#ffffff" valign="baseline">contains all class files</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">$Root/doc</th>
      <td bgcolor="#ffffff" valign="baseline">contains JavaDoc for all
packages</td>
    </tr>
  </tbody>
</table>
<br>
<p><b>ICU4J data is stored in the following locations:</b></p>
<table bgcolor="#ccccff" border="0" cellpadding="3" frame="void"
 width="623">
  <tbody>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline"><code>com.ibm.icu.impl.data</code></th>
      <td bgcolor="#ffffff" valign="baseline">Holds data used by the
ICU4J core packages (<code>com.ibm.icu.lang</code>, <code>com.ibm.icu.text</code>,
      <code>com.ibm.icu.util</code>, <code>com.ibm.icu.math</code> and
      <code>com.ibm.icu.text</code>). In particular, all resource
information is stored here.</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline"><code>com.ibm.icu.dev.data</code></th>
      <td bgcolor="#ffffff" valign="baseline">Holds data that is not
part of ICU4J core, but rather part of a test, sample, or demo.</td>
    </tr>
  </tbody>
</table>
<br>
<h3 class="doc"><a name="API"></a>Where to get Documentation</h3>
<p>The <a href="http://icu.sourceforge.net/userguide/">ICU user's
guide</a> contains lots of general information about ICU, in its C,
C++, and Java incarnations.</p>
<p>The complete API documentation for ICU4J (javadoc) is available on
the ICU4J web site, and can be built from the sources:
</p>
<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
    <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
Normalization</a> &#8211; Canonical text representation for W3C.</li>
  <li><a
 href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/NumberFormat.html">Number
Format Enhancements</a> &#8211; Scientific Notation, Spelled out.</li>
  <li><a
 href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/BreakIterator.html">Enhanced
word-break detection</a> &#8211; Rule-based, supports Thai</li>
  <li><a
 href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/Transliterator.html">Transliteration</a>
&#8211; A general framework for onverting text from one format to another,
e.g. Cyrillic to Latin, or Hex to Unicode. </li>
  <li>Unicode Text <a
 href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/UnicodeCompressor.html">Compression</a>
&amp; <a
 href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/UnicodeDecompressor.html">Decompression</a>
&#8211; 2:1 compression on English Unicode text.</li>
  <li>Collation - <a
 href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/RuleBasedCollator.html">Rule-based
sorting</a>, <a
 href="http://icu.sourceforge.net/apiref/icu4j/com/ibm/icu/text/StringSearch.html">Efficient
multi-lingual searching</a> </li>
</ul>
<h3 class="doc"><a name="HowToInstallJavac"></a>How to Install and Build</h3>
<p>To install ICU4J, simply place the prebuilt jar file <strong>icu4j.jar</strong>
on your
Java CLASSPATH. No other files are needed.</p>
<p><b>Eclipse users:</b> See the ICU4J site for information on<a
 href="http://icu.sourceforge.net/docs/eclipse_howto/eclipse_howto.html">
how to configure Eclipse</a> to build ICU4J.</p>
<p>To build ICU4J, you will need a Java2 JDK and the Ant build system.
We strongly recommend using the Ant build system to build ICU4J.
It's recommended to install both the JDK and Ant somewhere <em>outside</em>
the ICU4J directory. For example, on Linux you might install these in
/usr/local.</p>
<ul>
  <li>Install a recent JDK, version 1.4.x will work.</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
portable, and it's easier to manage than a collection of makefiles. We
currently build ICU4J using a single makefile on both Windows 9x and
Linux using Ant. The build system requires Ant 1.6 or later.
    <p>Installing Ant is straightforward. Download it (see <a
 href="http://ant.apache.org/bindownload.cgi">http://ant.apache.org/bindownload.cgi</a>),
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.4.2<br>    set ANT_HOME=C:\ant<br>    set PATH=%PATH%;%ANT_HOME%\bin</pre>
    <p>See the current Ant documentation for details.</p>
  </li>
</ul>
<p>Once the JDK and Ant are installed, building is just a matter of
typing <strong>ant</strong> in the ICU4J root directory. This causes
the Ant build system to perform a build as specified by the file
<strong>build.xml</strong>, located in the ICU4J root directory. You
can give Ant options like -verbose, and you can specify targets. Ant
will only build what's been changed and will resolve dependencies
properly. For example:</p>
<blockquote>
  <pre>F:\icu4j&gt;ant tests<br>Buildfile: build.xml<br>Project base dir set to: F:\icu4j<br>Executing Target: core<br>Compiling 71 source files to F:\icu4j\classes<br>Executing Target: tests<br>Compiling 24 source files to F:\icu4j\classes<br>Completed in 19 seconds</pre>
</blockquote>
<p>The following are some targets that you can provide to <b>ant</b>.
For more targets run <code>ant -projecthelp</code> or see the build.xml file.</p>
<table bgcolor="#ccccff" border="0" cellpadding="3" frame="void"
 width="623">
  <tbody>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">all</th>
      <td bgcolor="#ffffff" valign="baseline">Build all targets.</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">core</th>
      <td bgcolor="#ffffff" valign="baseline">Build the main class
files in the subdirectory <strong>classes</strong>. If no target is
specified, core is assumed.</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">tests</th>
      <td bgcolor="#ffffff" valign="baseline">Build the test class
files.</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">demos</th>
      <td bgcolor="#ffffff" valign="baseline">Build the demos.</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">tools</th>
      <td bgcolor="#ffffff" valign="baseline">Build the tools.</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">docs</th>
      <td bgcolor="#ffffff" valign="baseline">Run javadoc over the main
class files, generating an HTML documentation tree in the subdirectory <strong>doc</strong>.</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">jar</th>
      <td bgcolor="#ffffff" valign="baseline">Create a jar archive <strong>icu4j.jar</strong>
in the root ICU4J directory containing the main class files.</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">jarSrc</th>
      <td bgcolor="#ffffff" valign="baseline">Like the <strong>jar</strong>
target, but containing only the source files. </td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">jarDocs</th>
      <td bgcolor="#ffffff" valign="baseline">Like the <strong>jar</strong>
target, but containing only the docs. </td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">richedit</th>
      <td bgcolor="#ffffff" valign="baseline">Build the richedit core
class files and tests. </td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">richeditJar</th>
      <td bgcolor="#ffffff" valign="baseline">Create the richedit jar
file (which contains only the richedit core class files). The file <strong>richedit.jar</strong>
will be created in the <strong>./richedit</strong> subdirectory. Any
existing file of that name will be overwritten.</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">richeditZip</th>
      <td bgcolor="#ffffff" valign="baseline">Create a zip archive of
the richedit docs and jar file for distribution. The zip file <strong>richedit.zip</strong>
will be created in the <strong>./richedit</strong> subdirectory. Any
existing file of that name will be overwritten.</td>
    </tr>
    <tr>
      <th align="right" bgcolor="#ffffff" valign="baseline">clean</th>
      <td bgcolor="#ffffff" valign="baseline">Remove all built targets,
leaving the source.</td>
    </tr>
  </tbody>
</table>
<p>For more information, read the Ant documentation and the <strong>build.xml</strong>
file.</p>
<p>After doing a build it is a good idea to run all the icu4j tests by
typing<br>
<tt>"ant check"</tt> or
"java
-classpath $Root/classes
com.ibm.icu.dev.test.TestAll -nothrow".</p>
<p>(If you are allergic to build systems, as an alternative to using
Ant you can build by running javac and javadoc directly. This
is not recommended. You may have to manually create destination
directories.)</p>
<h3 class="doc"><a name="HowToModularize"></a>How to modularize ICU4J</h3>
<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
ICU4J 'modules' for a more compact distribution.
The modules are based on a service and the APIs that define it, e.g.,
the normalizer module supports all the APIs of the Normalizer class
(and some others). Tests can be run to verify that the APIs supported
by the module function correctly.
Because of internal code dependencies, a module contains extra classes
that are not part of the module's core service API. Some or most of the
APIs of these extra classes will not work. <b>Only the module's core
service API is guaranteed.</b> Other APIs may work partially or not at
all, so client code should avoid them.</p>
<p>
Individual modules are not built directly into their own separate jar
files. Since their dependencies
often overlap, using separate modules to 'add on' ICU4J functionality
would result in
unwanted duplication of class files. Instead, building a module causes
a subset of ICU4J's
classes to be built and put into ICU4J's standard build directory.
After one or more module targets are built, the 'moduleJar' target can
then be
built, which packages the class files into a 'module jar.' Other than
the fact that it
contains fewer class files, little distinguishes this jar file from a
full ICU4J jar file,
and in fact they share the same name.</p>
<p>
Currently ICU4J can be divided into the following modules:
</p>
<p><b>Key:</b></p>
<table bgcolor="#ccccff" cellpadding="3" frame="void" width="623">
  <tbody>
    <tr>
      <th align="left" valign="baseline"><b>Module Name</b></th>
      <th align="left" valign="baseline"><b>Ant Targets</b></th>
      <th align="left" valign="baseline"><b>Test Package Supported</b></th>
      <th align="right" valign="baseline"><b>Size&#8225;</b></th>
    </tr>
    <tr bgcolor="#ffffff">
      <td colspan="4">
      <table>
        <tbody>
          <tr>
            <td valign="baseline">Package*</td>
            <td valign="baseline">Main Classes&#8224; </td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
  </tbody>
</table>
<b><font size="2">* com.ibm. should be prepended to the package names
listed.
<br>
&#8224; A bold class name core service APIs. Only APIs in these classes are
fully supported.
<br>
&#8225; Sizes are of the compressed jar file containing only this module.
These sizes are approximate for release 3.4.3.
</font></b>
<p><b>Modules:</b></p>
<table bgcolor="#ccccff" cellpadding="3" frame="void" width="623">
  <tbody>
    <tr>
      <th align="left" valign="baseline">Normalizer</th>
      <td align="left" valign="baseline">normalizer, normalizerTests</td>
      <td align="left" valign="baseline">com.ibm.icu.dev.test.normalizer</td>
      <td align="right" valign="baseline">451&nbsp;KB</td>
    </tr>
    <tr bgcolor="#ffffff">
      <td colspan="4" valign="top">
      <table border="0" cellpadding="5">
        <tbody>
          <tr>
            <td valign="baseline">icu.lang:</td>
            <td valign="baseline">UCharacter, UCharacterCategory,
UCharacterDirection, UCharacterNameIterator, UCharacterTypeIterator,
UProperty, UScript</td>
          </tr>
          <tr>
            <td valign="baseline">icu.text:</td>
            <td valign="baseline"><b>Normalizer</b>, Replaceable,
ReplaceableString, <b>UCharacterIterator</b>, <b>UForwardCharacterIterator</b>,
UnicodeFilter, UnicodeMatcher, UnicodeSet, UnicodeSetIterator, UTF16</td>
          </tr>
          <tr>
            <td valign="baseline">icu.util:</td>
            <td valign="baseline">ValueIterator, VersionInfo</td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
    <tr>
      <th align="left" valign="baseline">Collator</th>
      <td align="left" valign="baseline">collator, collatorTests</td>
      <td align="left" valign="baseline">com.ibm.icu.dev.test.collator</td>
      <td align="right" valign="baseline">1,508&nbsp;KB</td>
    </tr>
    <tr bgcolor="#ffffff">
      <td colspan="4" valign="top">
      <table border="0" cellpadding="5">
        <tbody>
          <tr>
            <td valign="baseline">icu.lang:</td>
            <td valign="baseline">UCharacter, UCharacterCategory,
UCharacterDirection, UCharacterNameIterator, UCharacterTypeIterator,
lang.UProperty, UScript </td>
          </tr>
          <tr>
            <td valign="baseline">icu.text:</td>
            <td valign="baseline">BreakDictionary, BreakIterator,
BreakIteratorFactory, CanonicalIterator, <b>CollationElementIterator</b>,
            <b>CollationKey</b>, <b>CollationParsedRuleBuilder</b>, <b>CollationRuleParser</b>,
            <b>Collator</b>, <b>CollatorReader</b>,
DictionaryBasedBreakIterator, <b>Normalizer</b>, Replaceable,
ReplaceableString, RuleBasedBreakIterator, <b>RuleBasedCollator</b>, <b>SearchIterator</b>,
            <b>StringSearch</b>, <b>UCharacterIterator</b>, <b>UForwardCharacterIterator</b>,
UnicodeFilter, UnicodeMatcher, UnicodeSet, UnicodeSetIterator, UTF16 </td>
          </tr>
          <tr>
            <td valign="baseline">icu.util:</td>
            <td valign="baseline">ValueIterator, VersionInfo </td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
    <tr>
      <th align="left" valign="baseline">Calendar</th>
      <td align="left" valign="baseline">calendar, calendarTests</td>
      <td align="left" valign="baseline">com.ibm.icu.dev.test.calendar</td>
      <td align="right" valign="baseline">1,773&nbsp;KB</td>
    </tr>
    <tr bgcolor="#ffffff">
      <td colspan="4" valign="top">
      <table border="0" cellpadding="5">
        <tbody>
          <tr>
            <td valign="baseline">icu.lang:</td>
            <td valign="baseline">UCharacter, UCharacterCategory,
UCharacterDirection, UCharacterNameIterator, UCharacterTypeIterator,
UProperty, UScript </td>
          </tr>
          <tr>
            <td valign="baseline">icu.math:</td>
            <td valign="baseline"><b>BigDecimal</b> </td>
          </tr>
          <tr>
            <td valign="baseline">icu.text:</td>
            <td valign="baseline">BreakIterator, <b>ChineseDateFormat</b>,
            <b>ChineseDateFormatSymbols</b>, <b>DateFormat</b>, <b>DateFormatSymbols</b>,
            <b>DecimalFormat</b>, <b>DecimalFormatSymbols</b>,
Normalizer, NumberFormat, Replaceable, ReplaceableString, <b>SimpleDateFormat</b>,
            <b>UCharacterIterator</b>, <b>UForwardCharacterIterator</b>,
UnicodeFilter, UnicodeMatcher, UnicodeSet, UnicodeSetIterator, UTF16 </td>
          </tr>
          <tr>
            <td valign="baseline">icu.util:</td>
            <td valign="baseline"><b>BuddhistCalendar</b>, <b>Calendar</b>,
            <b>CalendarAstronomer</b>, <b>CalendarCache</b>, <b>CalendarFactory</b>,
            <b>ChineseCalendar</b>, <b>Currency</b>, <b>DateRule</b>,
            <b>EasterHoliday</b>, <b>EasterRule</b>, <b>GregorianCalendar</b>,
            <b>HebrewCalendar</b>, <b>HebrewHoliday</b>, <b>Holiday</b>,
            <b>IslamicCalendar</b>, <b>JapaneseCalendar</b>, <b>RangeDateRule</b>,
            <b>SimpleDateRule</b>, <b>SimpleHoliday</b>, <b>SimpleTimeZone</b>,
            <b>SimpleTimeZoneAdapter</b>, <b>TimeZone</b>, <b>TimeZoneData</b>,
ValueIterator, VersionInfo </td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
    <tr>
      <th align="left" valign="baseline">BreakIterator</th>
      <td align="left" valign="baseline">breakIterator,
breakIteratorTests</td>
      <td align="left" valign="baseline">com.ibm.icu.dev.test.breakiterator</td>
      <td align="right" valign="baseline">1,546&nbsp;KB</td>
    </tr>
    <tr bgcolor="#ffffff">
      <td colspan="4" valign="top">
      <table border="0" cellpadding="5">
        <tbody>
          <tr>
            <td valign="baseline">icu.lang:</td>
            <td valign="baseline">UCharacter, UCharacterCategory,
UCharacterDirection, UCharacterNameIterator, UCharacterTypeIterator,
UProperty, UScript </td>
          </tr>
          <tr>
            <td valign="baseline">icu.text:</td>
            <td valign="baseline"><b>BreakDictionary</b>, <b>BreakIterator</b>,
            <b>BreakIteratorFactory</b>, <b>DictionaryBasedBreakIterator</b>,
Normalizer, Replaceable, ReplaceableString, <b>text.RuleBasedBreakIterator</b>,
UCharacterIterator, UForwardCharacterIterator, UnicodeFilter,
UnicodeMatcher, UnicodeSet, UnicodeSetIterator, UTF16 </td>
          </tr>
          <tr>
            <td valign="baseline">icu.util:</td>
            <td valign="baseline">RangeValueIterator, ValueIterator,
VersionInfo </td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
    <tr>
      <th align="left" valign="baseline">Basic Properties</th>
      <td align="left" valign="baseline">propertiesBasic,
propertiesBasicTests</td>
      <td align="left" valign="baseline">com.ibm.icu.dev.test.lang</td>
      <td align="right" valign="baseline">535&nbsp;KB</td>
    </tr>
    <tr bgcolor="#ffffff">
      <td colspan="4" valign="top">
      <table border="0" cellpadding="5">
        <tbody>
          <tr>
            <td valign="baseline">icu.lang:</td>
            <td valign="baseline"><b>UCharacter</b>, <b>UCharacterCategory</b>,
            <b>UCharacterDirection</b>, <b>UCharacterNameIterator</b>,
            <b>UCharacterTypeIterator</b>, <b>UProperty</b>, <b>UScript</b>,
            <b>UScriptRun</b> </td>
          </tr>
          <tr>
            <td valign="baseline">icu.text:</td>
            <td valign="baseline">BreakDictionary, BreakIterator,
BreakIteratorFactory, DictionaryBasedBreakIterator, Normalizer,
Replaceable, ReplaceableString, RuleBasedBreakIterator, SymbolTable,
UCharacterIterator, UForwardCharacterIterator, UnicodeFilter,
UnicodeMatcher, UnicodeSet, UnicodeSetIterator, <b>UTF16</b> </td>
          </tr>
          <tr>
            <td valign="baseline">icu.util:</td>
            <td valign="baseline">CompactByteArray, RangeValueIterator,
ValueIterator, VersionInfo </td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
    <tr>
      <th align="left" valign="baseline">Full Properties</th>
      <td align="left" valign="baseline">propertiesFull,
propertiesFullTests</td>
      <td align="left" valign="baseline">com.ibm.icu.dev.test.lang</td>
      <td align="right" valign="baseline">1,410&nbsp;KB</td>
    </tr>
    <tr bgcolor="#ffffff">
      <td colspan="4" valign="top">
      <table border="0" cellpadding="5">
        <tbody>
          <tr>
            <td valign="baseline">icu.lang:</td>
            <td valign="baseline"><b>UCharacter</b>, <b>UCharacterCategory</b>,
            <b>UCharacterDirection</b>, <b>UCharacterNameIterator</b>,
            <b>UCharacterTypeIterator</b>, <b>UProperty</b>, <b>UScript</b>,
            <b>UScriptRun</b> </td>
          </tr>
          <tr>
            <td valign="baseline">icu.text:</td>
            <td valign="baseline">BreakDictionary, BreakIterator,
BreakIteratorFactory, DictionaryBasedBreakIterator, <b>Normalizer</b>,
            <b>Replaceable</b>, <b>ReplaceableString</b>,
RuleBasedBreakIterator, <b>UCharacterIterator</b>, <b>UForwardCharacterIterator</b>,
            <b>UnicodeFilter</b>, <b>UnicodeMatcher</b>, <b>UnicodeSet</b>,
            <b>UnicodeSetIterator</b>, <b>UTF16</b></td>
          </tr>
          <tr>
            <td valign="baseline">icu.util:</td>
            <td valign="baseline"><b>RangeValueIterator</b>, <b>ValueIterator</b>,
            <b>VersionInfo</b> </td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
    <tr>
      <th align="left" valign="baseline">Formatting</th>
      <td align="left" valign="baseline">format, formatTests</td>
      <td align="left" valign="baseline">com.ibm.icu.dev.test.format</td>
      <td align="right" valign="baseline">2,592&nbsp;KB</td>
    </tr>
    <tr bgcolor="#ffffff">
      <td colspan="4" valign="top">
      <table border="0" cellpadding="5">
        <tbody>
          <tr>
            <td valign="baseline">icu.lang:</td>
            <td valign="baseline">UCharacter, UCharacterCategory,
UCharacterDirection, UCharacterNameIterator, UCharacterTypeIterator,
UProperty, UScript </td>
          </tr>
          <tr>
            <td valign="baseline">icu.math:</td>
            <td valign="baseline"><b>math.BigDecimal</b> </td>
          </tr>
          <tr>
            <td valign="baseline">icu.text:</td>
            <td valign="baseline">BreakIterator, CanonicalIterator,
ChineseDateFormat, ChineseDateFormatSymbols, CollationElementIterator,
CollationKey, CollationParsedRuleBuilder, CollationRuleParser,
Collator, CollatorReader, <b>DateFormat</b>, <b>DateFormatSymbols</b>,
            <b>DecimalFormat</b>, <b>DecimalFormatSymbols</b>,
Normalizer, <b>NumberFormat</b>, Replaceable, ReplaceableString,
RuleBasedCollator, <b>RuleBasedNumberFormat</b>, <b>SimpleDateFormat</b>,
            <b>UCharacterIterator</b>, <b>UForwardCharacterIterator</b>,
UnicodeFilter, UnicodeMatcher, UnicodeSet, UnicodeSetIterator, UTF16 </td>
          </tr>
          <tr>
            <td valign="baseline">icu.util:</td>
            <td valign="baseline"><b>Calendar</b>, <b>CalendarAstronomer</b>,
            <b>CalendarCache</b>, <b>CalendarFactory</b>, <b>ChineseCalendar</b>,
            <b>Currency</b>, <b>GregorianCalendar</b>, <b>RangeValueIterator</b>,
            <b>SimpleTimeZone</b>, <b>SimpleTimeZoneAdapter</b>, <b>TimeZone</b>,
            <b>TimeZoneData</b>, ValueIterator,VersionInfo </td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
    <tr>
      <th align="left" valign="baseline">StringPrep, IDNA</th>
      <td align="left" valign="baseline">stringPrep, stringPrepTests</td>
      <td align="left" valign="baseline">com.ibm.icu.dev.test.stringprep</td>
      <td align="right" valign="baseline">478&nbsp;KB</td>
    </tr>
    <tr bgcolor="#ffffff">
      <td colspan="4" valign="top">
      <table border="0" cellpadding="5">
        <tbody>
          <tr>
            <td valign="baseline">icu.lang:</td>
            <td valign="baseline">UCharacter, UCharacterCategory,
UCharacterDirection, UCharacterNameIterator, UCharacterTypeIterator,
UProperty, UScript </td>
          </tr>
          <tr>
            <td valign="baseline">icu.text:</td>
            <td valign="baseline">BreakIterator, CanonicalIterator, <b>IDNA</b>,
Normalizer, Replaceable, ReplaceableString, <b>StringPrep</b>, <b>StringParseException</b>,
UCharacterIterator, UForwardCharacterIterator, UnicodeSet, UTF16 </td>
          </tr>
          <tr>
            <td valign="baseline">icu.util:</td>
            <td valign="baseline"> RangeValueIterator, StringTokenizer,
ULocale, UResourceBundle ValueIterator,VersionInfo </td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
    <tr>
      <th align="left" valign="baseline">Transforms</th>
      <td align="left" valign="baseline">transliterator,
transliteratorTests</td>
      <td align="left" valign="baseline">com.ibm.icu.dev.test.translit</td>
      <td align="right" valign="baseline">775&nbsp;KB</td>
    </tr>
    <tr bgcolor="#ffffff">
      <td colspan="4" valign="top">
      <table border="0" cellpadding="5">
        <tbody>
          <tr>
            <td valign="baseline">icu.lang:</td>
            <td valign="baseline"><b>UCharacter</b>, <b>UCharacterCategory</b>,
            <b>UCharacterDirection</b>, <b>UCharacterNameIterator</b>,
            <b>UCharacterTypeIterator</b>, <b>UProperty</b>, <b>UScript</b>,
            <b>UScriptRun</b> </td>
          </tr>
          <tr>
            <td valign="baseline">icu.text:</td>
            <td valign="baseline"><b>AnyTransliterator</b>, <b>BreakDictionary</b>,
            <b>BreakIterator</b>, <b>BreakIteratorFactory</b>, <b>BreakTransliterator</b>,
            <b>DictionaryBasedBreakIterator</b>, <b>Normalizer</b>, <b>Replaceable</b>,
            <b>ReplaceableString</b>, <b>RuleBasedBreakIterator</b>, <b>StringReplacer</b>,
            <b>Transliterator</b>, <b>UCharacterIterator</b>, <b>UForwardCharacterIterator</b>,
            <b>UnicodeSet</b>, <b>UnicodeSetIterator</b>, <b>UTF16</b>
            </td>
            <td> <br>
            </td>
          </tr>
          <tr>
            <td valign="baseline">icu.util:</td>
            <td valign="baseline"><b>RangeValueIterator</b>, <b>ValueIterator</b>,
            <b>VersionInfo</b> </td>
          </tr>
        </tbody>
      </table>
      </td>
    </tr>
<!-- tr>

        <th align="left" valign="baseline"><b>Module Name</b></th>

        <th align="left" valign="baseline"><b>Ant Targets</b></th>

        <th align="left" valign="baseline"><b>Test Package Supported</b></th>

        <th align="right" valign="baseline"><b>Size</b></th>

</tr -->
  </tbody>
</table>
<p>Building any of these modules is as easy as specifying a build
target to the Ant build system, e.g:
<br>
To build a module that contains only the Normalizer API: </p>
<ol>
  <li> Build the module. <br>
    <code> ant normalizer </code> </li>
  <li> Build the jar containing the module. <br>
    <code>ant moduleJar </code> </li>
  <li> Build the tests for the module. <br>
    <code> ant normalizerTests </code> </li>
  <li> Run the tests and verify that the self tests pass. <br>
    <code> java -classpath $icu4j_root/classes
com.ibm.icu.dev.test.TestAll -nothrow -w </code> </li>
</ol>
If more than one module is required, the module build targets can be
concatenated, e.g:
<ol>
  <li> Build the modules. <br>
    <code> ant normalizer collator </code> </li>
  <li> Build the jar containing the modules. <br>
    <code>ant moduleJar </code> </li>
  <li> Build the tests for the module. <br>
    <code> ant normalizerTests collatorTests </code> </li>
  <li> Run the tests and verify that they pass. <br>
    <code> java -classpath $icu4j_root/classes
com.ibm.icu.dev.test.TestAll -nothrow -w </code> </li>
</ol>
The jar should be built before the tests, since for some targets
building the tests will cause additional classes to be compiled that
are not strictly necessary for the module itself.
<h5> Notes: </h5>
<ul>
  <li>Regardless of whether ICU4J is built as a whole or as modules,
the jar file produced is named <em>icu4j.jar</em>.</li>
  <li>To ascertain if an icu4j.jar contains all of ICU4J or not, please
see the manifest file in the jar</li>
  <li>The target moduleJar does not depend on any other target. It just
creates a jar of all class files under
$icu4j_root/classes/com/ibm/icu/, excluding the classs files in
$icu4j_root/classes/com/ibm/icu/dev folder</li>
  <li>The list of module build targets can be obtained by running the
command: <code>ant -projecthelp</code></li>
</ul>
<h3 class="doc"><a name="tryingout"></a>Trying Out ICU4J</h3>
<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 (with the
exception of richedit) are <strong>unsupported</strong> and may change
or disappear without notice.</p>
<p>The icu4j.jar file contains only the core ICU4J classes, not the
demo classes, so unless you build ICU4J there is little to try out.
</p>
<h4>Rich Edit</h4>
To try out the <strong>richedit</strong> package, first build the
richeditJar target.
This is a 'runnable' jar file. To run the richedit demo, type:
<blockquote><tt>java -jar $Root/richedit/richedit.jar</tt></blockquote>
This will present an empty edit pane with an awt interface.
<p>With a fuller command line you can try out other options, for
example:</p>
<blockquote><tt>java -classpath $Root/richedit/richedit.jar
com.ibm.richtext.demo.EditDemo [-swing][file]</tt></blockquote>
<p>This will use an awt GUI, or a swing GUI if
<tt>-swing</tt> is passed on the command line. It will open a text
file if one is provided, otherwise it will open a blank page. Click
to type.</p>
<p>
You can add tabs to the tab ruler by clicking in the ruler while
holding down the control key.
Clicking on an existing tab changes between left, right, center, and
decimal tabs. Dragging
a tab moves it, dragging it off the ruler removes it.</p>
<p>
You can experiment with complex text by using the keymap functions.
Please note that these are mainly for demo purposes, for real work
with Arabic or Hebrew you will want to use an input method. You will
need to use a font that supports Arabic or Hebrew, 'Lucida Sans'
(provided
with Java) supports these languages.</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&nbsp;all</tt>.
Then try
one of the following:
</p>
<ul>
  <li><tt>java -classpath classes
com.ibm.icu.dev.demo.calendar.CalendarApp</tt> </li>
  <li><tt>java -classpath classes
com.ibm.icu.dev.demo.holiday.HolidayCalendarDemo</tt> </li>
  <li><tt>java -classpath classes
com.ibm.icu.dev.demo.rbbi.TextBoundDemo</tt><br>
(Click in the text, then use <tt>ctrl-N</tt> and <tt>ctrl-P</tt> to
select the next or previous block of text.) </li>
  <li><tt>java -classpath classes com.ibm.icu.dev.demo.rbnf.RbnfDemo</tt>
  </li>
  <li><tt>java -classpath classes com.ibm.icu.dev.demo.translit.Demo</tt>
  </li>
</ul>
<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. (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.
<p>
By default the ICU4J distribution includes all of the standard resource
information. It is located under the directory com/ibm/icu/impl/data.
Depending on the service, the data is in different locations and in
different formats. <strong>Note:</strong> This will continue to change
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>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>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>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>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>
  <li>The <b>holiday data</b> is under the <tt>data</tt> directory,
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> as well as assorted <b>normalization
data</b> and default <b>unicode collation algorithm (UCA) data</b>
is found under the <tt>data</tt> directory as a set of <tt>".icu"</tt>
files. </li>
</ul>
<p>
Some of the data files alias or otherwise reference data from other
data files. One reason for this is because some locale names have
changed. For example, <tt>he_IL</tt> used to be <tt>iw_IL</tt>. In
order to support both names but not duplicate the data, one of the
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
silently converts the language code <tt>"he"</tt> to <tt>"iw"</tt>
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
represent the same set of data under different locale
ids.</blockquote>
<p>
Resource files that use locale ids form a hierarchy, with up to four
levels: a root, language, region (country), and variant. Searches for
locale data attempt to match as far down the hierarchy as possible,
for example, <tt>"he_IL"</tt> will match <tt>he_IL</tt>, but
<tt>"he_US"</tt> will match <tt>he</tt> (since there is no <tt>US</tt>
variant for he, and <tt>"xx_YY</tt> will match root (the
default fallback locale) since there is no <tt>xx</tt> language code
in the locale hierarchy. Again, see
<code>java.util.ResourceBundle</code> for more information.
</p>
<p>
<strong>Currently ICU4J provides no tool for revealing these
dependencies</strong> between data files, so trimming the data
directly in the ICU4J project is a hit-or-miss affair. The key point
when you remove data is to make sure to remove all dependencies on
that data as well. For example, if you remove <tt>he.res</tt>, you
need to remove <tt>he_IL.res</tt>, since it is lower in the hierarchy,
and you must remove iw.res, since it references <tt>he.res</tt>, and
<tt>iw_IL.res</tt>, since it depends on it (and also references
<tt>he_IL.res</tt>).
</p>
<p>
Unfortunately, the jar tool in the JDK provides no way to remove items
from a jar file. Thus you have to extract the resources, remove the
ones you don't want, and then create a new jar file with the remining
resources. See the jar tool information for how to do this. Before
'rejaring' the files, be sure to thoroughly test your application with
the remaining resources, making sure each required resource is
present.
</p>
<h4>Using additional resource files with ICU4J</h4>
<blockquote>
  <table cellpadding="3" frame="border" rules="none" width="50%">
    <tbody>
      <tr>
        <td><b><font color="red" size="+1">Warning:</font> Resource
file formats can change across releases of ICU4J!</b></td>
      </tr>
      <tr>
        <td>The format of ICU4J resources is not part of the API.
Clients who develop their own resources for use with ICU4J should be
prepared to
regenerate them when they move to new releases of ICU4J.</td>
      </tr>
    </tbody>
  </table>
</blockquote>
<p>
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
allow for this in a future release, but since the resource data and
format is not formally
supported, you run the risk of incompatibilities with future releases
of ICU4J.
</p>
<p>
Resource data in ICU4J is checked in to the repository as a jar file
containing the resource binaries, <tt>icudata.jar</tt>. This
means that inspecting the contents of these resources is difficult.
They currently are compiled from ICU4C <tt>.txt</tt> file data. You
can view the contents of the ICU4C text resource files to understand
the contents of the ICU4J resources.
</p>
<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.
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>
<h4><a name="resourcesICU4C">Building ICU4J Resources from ICU4C</a></h4>
<h5>Requirements</h5>
<ul>
  <li><a
 href="http://www.ibm.com/software/globalization/icu/downloads.jsp">ICU4C</a></li>
  <li>Compilers and tools required for building <a
 href="http://dev.icu-project.org/cgi-bin/viewcvs.cgi/*checkout*/icu/readme.html#HowToBuild">ICU4C</a>.</li>
  <li>Java SDK version 1.4.0 or above.</li>
  <li>Perl version 5 or above.</li>
</ul>
<h5> Procedure</h5>
<ol>
  <li> Download and build ICU4C on a Windows machine. For instructions on
downloading and building ICU4C, please click <a
 href="http://dev.icu-project.org/cgi-bin/viewcvs.cgi/*checkout*/icu/readme.html#HowToBuild">here</a>.</li>
  <li> Change directory to <i>$icu_root</i>/source/tools/genrb </li>
  <li> Launch gendtjar.pl from that directory itself with the command <br>
gendtjar.pl --icu-root=<i>$icu_root</i> --jar=<i>$jdk_home/bin</i>
--icu4j-root=<i>$icu4j_root</i> --version=<i>$icu_version</i> <br>
e.g: gendtjar.pl --icu-root=\work\icu --jar=\jdk1.4.1\bin
--icu4j-root=\work\icu4j --version=3.0 <br>
Execution of gendtjar.pl script will create the required jar files in
the $icu_root\source\tools\genrb\temp directory.</li>
  <li> Move icudata.jar to <i>$icu4j_root</i>/src/com/ibm/icu/impl/data
directory.</li>
  <li> Move testdata.jar to <i>$icu4j_root</i>/src/com/ibm/dev/data
directory.</li>
  <li> Build resources target of ant to unpack the jar files with the
following command. <br>
    <i>$ant_home</i>/bin/ant resources</li>
</ol>
<h5> Generating Data from CLDR </h5>
<i> Note: This procedure assumes that all 3 sources are in sibling directories</i>
<ol>
    <li>Checkout CLDR</li>
    <li>Update <i>$cldr_root</i>/common to 'release-1-3-Corrigendum-2' tag</li>
    <li>Update <i>$cldr_root</i>/tools to 'tag-for-icu4j-release-3-4-3' tag</li>
    <li>Checkout ICU with tag 'release-3-4-1'</li>
    <li>Checkout ICU4J with tag 'release-3-4-3'</li>
    <li>Build ICU4J</li>
    <li>Build ICU4C</li>
    <li>Change to <i>$cldr_root</i>/tools/java directory</li>
    <li>Build CLDR using ant after pointing ICU4J_CLASSES env var to the newly build ICU4J</li>
    <li>cd to <i>$icu4c_root</i>/source/data directory</li>
    <li>Follow the instructions in the cldr-icu-readme.txt</li>
    <li>Build ICU data from CLDR</li>
    <li>cd to <i>$icu4c_root/source/tools/genrb</i></li>
    <li>run ./gendtjar.pl</li>
    <li>cd to <i>$icu4j_root</i> dir</li>
    <li>Build and test icu4j</li>
</ol>

<h3 class="doc"><a name="WhereToFindMore"></a>Where to Find More
Information</h3>
<p><a href="http://ibm.com/software/globalization/icu/">http://ibm.com/software/globalization/icu/</a>
is a
pointer to general information about the International Components for
Unicode in Java </p>
<p><a href="http://ibm.com/software/globalization/">http://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,
Requesting Features and
Reporting Bugs</h3>
<p>Your comments are important to making ICU4J successful. We are
committed
to fixing any bugs, and will use your feedback to help plan future
releases.</p>
<p>To submit comments, request features and report bugs, contact us
through the <a
 href="http://icu.sourceforge.net/contacts.html">ICU Support
mailing list</a>.<br>
While we are not able to respond individually to each comment, we do
review all comments.</p>
<br>
<br>
<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-2006 International Business
Machines Corporation and others. All Rights
Reserved.<br>
5600 Cottle Road, San Jos&eacute;, CA 95193
</font></i></p>
</body>
</html>
