From: Markus Scherer Note: This is a development milestone release of ICU4J 50.
@@ -126,7 +126,13 @@ found in ICU4J. See the ICU 50 download page
+about new features in this release.
+The list of API changes since the previous ICU4J release is available
+here. We changed the numeric value of
International Components for Unicode for Java (ICU4J)
-Read Me for ICU4J 50 Milestone 2
-(Last Update: September 4, 2012)
+Read Me for ICU4J 50
+(Last Update: 2012-oct-03)
Changes In This Release
-New features and changes
+
+Collator.ReorderCodes.DEFAULT
valuestatic final Collator.ReorderCodes.DEFAULT
from +1 to -1
so that it does not collide with a valid UScript code (UScript.INHERITED
),
@@ -134,11 +140,34 @@ found in ICU4J.Collator.ReorderCodes.DEFAULT
must be recompiled.
-See the ICU 50 milestone download page -about new features in this release. The list of API changes since the previous ICU4J release is available -here. -
+class DictionaryBasedBreakIterator
has been removed.The functionality of the DictionaryBasedBreakIterator
+was moved into the base RuleBasedBreakIterator
, 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.
The dictionary data structure was changed, so ICU 50 would not be able to
+handle an old InputStream dictionaryStream
.
+(If we wanted to formally keep a class DictionaryBasedBreakIterator
+it would be an empty class, and its one public constructor would
+throw an UnsupportedOperationException
.)
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).
+ +RBBI and its DBBI subclasses had an "intimate connection" and were not effectively separable.
+ +In C++, DBBI was already not public API and has been removed several years ago.
+ +If any users have subclasses of class DictionaryBasedBreakIterator
,
+they will need to be changed to subclass RuleBasedBreakIterator
directly.