2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / corlib / Mono.Globalization.Unicode / ChangeLog
index 22fe83c8dd03aab7f56ea3a29835ca7818a95738..209c4d334ca7d168e246954b3ac8946c3a9f3a46 100644 (file)
@@ -1,3 +1,246 @@
+2005-07-19  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : Symbol mappings are almost done.
+         Removed hack that gave dummy mappings to blank symbols.
+
+2005-07-19  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : more fix on arrows. Fix on box
+         drawings. Some code refactoring to eliminate hack.
+
+2005-07-19  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : Fixed some secondary weight
+         in Devanagari and arrows.
+
+2005-07-19  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : a set of tiny mapping fixes.
+
+2005-07-19  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : some diacritical fixes for
+         Latin. Added batch mapping method that considers computed
+         diacritical weight (for numbers).
+
+2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * managed-collation.patch : forgot to add System.String patch.
+
+2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * MSCompatUnicodeTable.cs : added resource existence check (required
+         for mscorlib transient time from the one without resources to the
+         one with resources.
+
+2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : fixed punctuations and hyphen
+         (shift) primary weight.
+
+2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : more nonspacing mark fixes.
+         Some non-basic Cyrillic diacritical weight fixes.
+
+2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : some Gurmukhi fixes on level 1 
+         and level 3. Tiny Hangul weight fixes.
+       * MSCompatUnicodeTable.cs : U+30F5 and U+30F6 are small Japanese.
+
+2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : some normal characters who have
+         "narrow" NFKD mapping are regarded as "wide" and thus level 3 weight
+         values were different.  Handle U+30FB as category A.
+       * MSCompatUnicodeTable.cs : U+30FB does not have special weight.
+
+2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : more diacritical weight fixes.
+         Removed some unused code.
+
+2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : Fixed some Thai and Arabic
+         level 2 weight.
+
+2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : Fixed Syriac nonspacing marks.
+
+2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : Fixed nonspacing marks in
+         Malayalam, Thai and Lao. Removed extraneous hack.
+
+2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : rewrote LastIndexOf() to handle source extenders.
+         Some refactoring on IndexOf() code. Removed unused Matches().
+       * Collation-notes.txt : some methods needed to be reimplemented, so
+         rewrote the description.
+
+2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : rewrote IsSuffix() to use CompareInternal().
+         Thus supported extenders in IsSuffix().
+
+2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : more IsSuffix() simplification, but it will be
+         stopped here since it cannot handle extenders (implementing new
+         approach one).
+
+2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : simplified IsSuffix() code.
+
+2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : Fixed IndexOf() and LasIndexOf() to search the
+         entire replacement string if char target was an expansion.
+         IsSuffix() was using a method for IsPrefix() which was incorrect.
+         Removed old IsPrefix() code.
+
+2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : IndexOf() was incorrectly sharing the same
+         byte[] field in different areas of code. Now extenders in both
+         source and target really work in IndexOf().
+
+2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : fixed U+FF9F diacritical weight.
+       * SimpleCollator.cs : handle U+FF9E and U+FF9F as extenders.
+
+2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : Now FilterExtender() handles all extender
+         support. IndexOf() and LastIndexOf() now supports extenders.
+         IndexOf() and LastIndexOf() did not proceed contraction source
+         length as expected. Tiny refactoring on private IsPrefix() to take
+         stringSort argument.
+
+2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : when restoring from expansion, go back to the
+         top of the loop (to avoid index out of range).
+         Now IsPrefix() is implemented to reuse Compare() and thus it now
+         supports extender as well.
+       * Collation-notes.txt : status update. Deleted optimization part in
+         status section (it is duplicate).
+
+2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : some code reordering.
+       * create-mscompat-collation-table.cs : it was still missing U+3094.
+
+2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : Compare() now supports extender (e.g. U+39FC).
+
+2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : In GetSortKey(), don't update previousChar when
+         it is not primary (e.g. don't "extend" diacritical mark).
+
+2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * managed-collation.patch : CompareInfo.Compare() should consider
+         the possibilities that non-empty string might be actually empty
+         in culture-sensitive context.
+
+2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : IndexOf() and LastIndexOf() returns start when
+         target is "empty" (in culture-sensitive context).
+
+2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : In IndexOf() and LastIndexOf(), skip ignorable
+         characters in target string.
+
+2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : When IgnoreWidth is specified, all Kana
+         characters are regarded as half-width.
+         Even though IgnoreWidth is specified, it should not ignore case.
+         For special weight comparison, the default values (E4) are bigger
+         than non-default values.
+       * SortKeyBuffer.cs : It should save LCID and original string.
+       * create-mscompat-collation-table.cs : For Japanese half-width kana,
+         it should not be counted in widthCompat map since IgnoreWidth does
+         not really ignore those differences.
+
+2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : Fixed missing Japanese bits.
+
+2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs :
+         tiny diacritical weight fix for U+20D0-U+20E1.
+
+2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : ja CJK ideograph got completed.
+
+2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * create-mscompat-collation-table.cs : Fixed CJK custom Japanese
+         mapping. It (maybe as well as other CJK tables) mixes NFKD. For
+         Japanese, modified NFKD table (because of Windows lame design).
+
+2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * Makefile : added MONO_USE_MANAGED_COLLATION=no almost everywhere.
+       * MSCompatUnicodeTable.cs : FillCJK() was not invoked. Now it is
+         invoked at any time it is required.
+       * SimpleCollator.cs : call FillCJK() above in .ctor().
+       * MSCompatUnicodeTableUtil.cs : CJK range was wider.
+       * create-mscompat-collation-table.cs : CJK binary was missing the
+         length. CJK remapping is being moved to ModifyUnidata().
+         For cjk-ja mapping, we have to consider compat characters to be
+         added to the map, besides the raw UCA table.
+
+2005-07-12  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SortKeyBuffer.cs : Fixed shift level computation to match w/ Windows.
+
+2005-07-12  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : fixed LastIndexOf() to handle _target's_ 
+         contraction as expected. Fixed Compare() to save s2's contraction
+         as expected.
+       * TestDriver.cs :added LastIndexOf() tester w/ indexes.
+
+2005-07-12  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * managed-collation.patch : Fixed IsPrefix() and IsSuffix(). They
+         incorrectly use Compare().
+       * TestDriver.cs : more moved to nunit tests.
+
+2005-07-12  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : several fixes on Compare().
+         - Ignorable characters are skippted at the top of the loop. 
+         - IgnoreNonSpace is checked to avoid extraneous level 2 comparison.
+         - In such case that s1 index  is increased while s2 contraction is
+           replaced, s1 is inconsistently proceeded (bug).
+         - IsIgnorable() now also checks IgnoreNonSpace.
+         - Fixed FilterOptions() that does not work for IgnoreWidth at all.
+       * TestDriver.cs : now some are moved to nunit tests.
+       * Collation-notes.txt : minor todo update.
+
+2005-07-11  Atsushi Enomoto  <atsushi@ximian.com>
+
+       * SimpleCollator.cs : Compare() was ignoring such case that both
+         entire strings have '-' to be compared.
+       * Collation-notes.txt : more status updates.
+       * TestDriver.cs : added '-' use cases.
+
 2005-07-08  Atsushi Enomoto  <atsushi@ximian.com>
 
        * SimpleCollator.cs : to be same as other buggy part, it now handles