<!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.4</h3>
<hr size="2" width="100%">
<p><b>Release Date</b><br>
Jul 31, 2005<br>
</p>
<p>For the most recent release, see the <a
 href="http://www.ibm.com/software/globalization/icu/downloads.jsp"> ICU4J
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_Standards">Unicode 4.1, CLDR 1.3 Support</a></li>
  <li><a href="#News_Charset">New Charset Detection API</a></li>
  <li><a href="#News_DateFormat">Improved Date Formatting</a></li>
  <li><a href="#News_Calendars">Additional Calendar Support</a></li>
  <li><a href="#News_Compat">Increased API compatibility with JDK</a></li>
</ul>
<p>A complete report of the API changes between version 3.4 and
version 3.2 of ICU4J can be found 
<a href="APIChangeReport.html">here</a>.  This report is generated by a
tool and has some limitations, the most notable of which is that it
does not properly reflect the effect of class inheritance
changes. Also of course, being generated by a tool, the report does
not provide explanation or commentary on the changes. For background
information and clarification of changes it's always recommended that
you check the mailing list and archives.</p>

<h4><a name="News_Standards" id="News_Standards">Unicode 4.1, CLDR 1.3 Support</a></h4>
<p>ICU has been updated to Unicode 4.1, including new character
properties and values.  Collation has been updated to Unicode
Technical Standard #10 (UCA).  Locale data has been updated to CLDR
1.3.  Additional APIs have been added to access and display more
CLDR data.<br>
</p>
<h4><a name="News_Charset" id="News_Charset">New Charset Detection API</a></h4>
<p>ICU4J provides heuristics for detecting the charset of a byte stream.
Users can create a Java Reader or String from any byte-oriented input stream 
when the charset or encoding of the byte data is unknown. The implementation
recognizes most widely used encodings for European and Asian languages.<br>
</p>
<h4><a name="News_DateFormat" id="News_DateFormat"></a>Improved Date Formatting</h4>
<p>Time and Date formatting now supports narrow and standalone day and month names, as well
as generic time zones (e.g. "Pacific Time", "United Kingdom").  Time zone 
name data is available for many more timezones and locales.<br>
</p>
<h4><a name="News_Calendars" id="News_Calendars"></a>Additional Calendar Support</h4>
<p>Existing Calendar APIs have been promoted to stable.  Coptic and Ethiopic 
calendars have been added.  Calendar instantiation now recognizes the
<tt>calendar</tt> keyword in <tt>ULocale</tt> identifiers.<br>
</p>
<h4><a name="News_Compat" id="News_Compat">Increased API compatibility with the JDK</a></h4>
<p>Several small differences between ICU4J APIs and the core Java APIs have been
removed.  For example, types of some enum constants have been aligned with Java's 
(int became byte), UCharacter added methods to match java.lang.Character APIs
(including some deprecated methods, for completeness).<br>
</p>
<h3 class="doc"><a name="license"></a>License Information</h3>
<p>
The ICU projects (ICU4C and ICU4J) use the X license. The X
license is <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> 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 Java 2 compiler, as even
components that run under earlier JVMs can require language features
that are only present in Java2. Currently 1.1.x, 1.2.x and 1.3.x JVMs
are unsupported and untested, and you use the components on these JVMs
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:
</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.4.1, Sun JDK 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.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.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.
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">457&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,510&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,713&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,488&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,432&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,531&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">483&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">778&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>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-2005 International Business
Machines Corporation and others. All Rights
Reserved.<br>
5600 Cottle Road, San Jos&eacute;, CA 95193
</font></i></p>
</body>
</html>
