]> granicus.if.org Git - icu/commitdiff
ICU-9353 add note to readme about DictionaryBasedBreakIterator going away
authorMarkus Scherer <markus.icu@gmail.com>
Wed, 3 Oct 2012 23:39:35 +0000 (23:39 +0000)
committerMarkus Scherer <markus.icu@gmail.com>
Wed, 3 Oct 2012 23:39:35 +0000 (23:39 +0000)
X-SVN-Rev: 32499

icu4j/readme.html

index f187ee7eb8495c23f5768eb31e85c1f8eda1c48c..514ef094cea1bacb3202920f3902aeb1f2daea74 100644 (file)
@@ -13,8 +13,8 @@ h4.doc { text-decoration: underline }
 <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 50 Milestone 2</h3>
-(Last Update: September 4, 2012)
+<h3>Read Me for ICU4J 50</h3>
+(Last Update: 2012-oct-03)
 <hr size="2" width="100%">
 
 <p><b>Note:</b> This is a development milestone release of ICU4J 50.
@@ -126,7 +126,13 @@ found in ICU4J.</p>
 </blockquote>
 
 <h3 class="doc"><a name="changes"></a>Changes In This Release</h3>
-<h4>New features and changes</h4>
+
+<p>See the <a href="http://sites.google.com/site/icusite/download/50">ICU 50 download page</a>
+about new features in this release.
+The list of API changes since the previous ICU4J release is available
+<a href="http://source.icu-project.org/repos/icu/icu4j/tags/release-50-1/APIChangeReport.html">here</a>.</p>
+
+<h4><code>Collator.ReorderCodes.DEFAULT</code> value</h4>
 <p>We changed the numeric value of
   <code>static final Collator.ReorderCodes.DEFAULT</code> from +1 to -1
   so that it does not collide with a valid UScript code (<code>UScript.INHERITED</code>),
@@ -134,11 +140,34 @@ found in ICU4J.</p>
   as had been intended.
   Programs using <code>Collator.ReorderCodes.DEFAULT</code> must be recompiled.</p>
 
-<p>
-See the <a href="http://sites.google.com/site/icusite/download/50milestone">ICU 50 milestone download page</a>
-about new features in this release.  The list of API changes since the previous ICU4J release is available
-<a href="http://source.icu-project.org/repos/icu/icu4j/tags/milestone-50-0-2/APIChangeReport.html">here</a>.
-</p>
+<h4><code>class DictionaryBasedBreakIterator</code> has been removed.</h4>
+
+<p>The functionality of the <code>DictionaryBasedBreakIterator</code>
+was moved into the base <code>RuleBasedBreakIterator</code>, and improved.
+In particular, Java RBBI now handles multiple built-in dictionaries,
+selecting them by character script, as in C++.
+As a result, creating a BreakIterator for a particular language or dictionary is
+unnecessary and obsolete.</p>
+
+<p>The dictionary data structure was changed, so ICU 50 would not be able to
+handle an old <code>InputStream dictionaryStream</code>.
+(If we wanted to formally keep a <code>class DictionaryBasedBreakIterator</code>
+it would be an empty class, and its one public constructor would
+throw an <code>UnsupportedOperationException</code>.)</p>
+
+<p>The DBBI class was not usable by itself:
+A dictionary alone is not sufficient for dictionary-based breaking.
+For each dictionary there must be specific code with the specific matching algorithm
+(e.g., longest match vs. word-frequency-based word sequence probability)
+and with a script-specific test for whether a dictionary word was found at a syllable boundary
+(or whatever is the appropriate criterium).</p>
+
+<p>RBBI and its DBBI subclasses had an "intimate connection" and were not effectively separable.</p>
+
+<p>In C++, DBBI was already not public API and has been removed several years ago.</p>
+
+<p>If any users have subclasses of <code>class DictionaryBasedBreakIterator</code>,
+they will need to be changed to subclass <code>RuleBasedBreakIterator</code> directly.</p>
 
 <h3 class="doc"><a name="license"></a>License Information</h3>
 <p>