<!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-2005, 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.2</h3>
<hr size="2" width="100%">
<p><b>Release Date</b><br>
Nov 22, 2004<br>
</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/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_ULocale">ULocale (RFC 3066) implementation complete</a>
  </li>
  <li><a href="#News_Resource_Data">RBNF, Transliterator data
now in separate resource trees</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
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>
</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>
</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
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> 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 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
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.1</li>
  <li> Solaris 2.7, Sun JDK 1.4.2</li>
  <li> AIX 5.2, IBM JDK 1.4.1</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:
</p>
<ul>
<li> Win98, WinNT, Win2K / IBM JDK 1.4.1, Sun JDK  1.4, 1.4.1, 1.4.2</li>
<li> WinXP / Sun JDK 1.4, 1.4.1, 1.4.2, 1.5.0</li>
<li> Solaris 2.6 , Solaris 2.8 / Sun JDK 1.4, 1.4.1, 1.4.2</li>
<li> Solaris 2.7 / Sun JDK 1.4, 1.4.1</li>
<li> AIX 5.1, IBM JDK 1.4.1, 1.4.0</li>
<li> RedHat Linux 7.1/  IBM JDK 1.4.1, 1.4.0, Sun JDK 1.4, 1.4.1, 1.4.2</li>
<li> RedHat Linux 7.2/  IBM JDK 1.4.1, 1.4.0, Sun JDK 1.4, 1.4.1, 1.4.2</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 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>
</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 also see <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, 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>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/HebrewCalendar.html">Hebrew</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.
Full size is 3,047&nbsp;KB.
</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">444&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,507&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,704&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,661&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">518&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,610&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,645&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">466&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">836&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. 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>icudt32b</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>,
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
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.
  <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. 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>
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>
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. 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
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>Compilers and tools required for building <a
 href="http://oss.software.ibm.com/cvs/icu/%7Echeckout%7E/icu/readme.html#HowToBuild">ICU</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 ICU on a Windows machine. For instructions on
downloading and building ICU, please click <a
 href="http://oss.software.ibm.com/cvs/icu/%7Echeckout%7E/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>
<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-2004 International Business
Machines Corporation and others. All Rights
Reserved.<br>
5600 Cottle Road, San Jos&eacute;, CA 95193
</font></i></p>
</body>
</html>
