From: Markus Scherer Date: Wed, 3 Oct 2012 23:39:35 +0000 (+0000) Subject: ICU-9353 add note to readme about DictionaryBasedBreakIterator going away X-Git-Tag: milestone-59-0-1~3492 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a3a4207b2497a0edb71cfcadd1f62de075867185;p=icu ICU-9353 add note to readme about DictionaryBasedBreakIterator going away X-SVN-Rev: 32499 --- diff --git a/icu4j/readme.html b/icu4j/readme.html index f187ee7eb84..514ef094cea 100644 --- a/icu4j/readme.html +++ b/icu4j/readme.html @@ -13,8 +13,8 @@ h4.doc { text-decoration: underline }

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)

Note: This is a development milestone release of ICU4J 50. @@ -126,7 +126,13 @@ found in ICU4J.

Changes In This Release

-

New features and changes

+ +

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.

+ +

Collator.ReorderCodes.DEFAULT value

We changed the numeric value of static 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.

as had been intended. Programs using 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.

License Information