2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / corlib / Mono.Globalization.Unicode / ChangeLog
1 2005-07-28  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * NormalizationTableUtil.cs,
4           Normalization.template,
5           create-combining-class-source.cs : GetCombiningClass is now 
6           implemented as indexer based array.
7         * Makefile : renamed output filename.
8         * create-mscompat-collation-table.cs : removed comments that does not
9           make sense now.
10         * create-tailoring.cs : use utf-8 output (and fixed filename).
11
12 2005-07-27  Atsushi Enomoto  <atsushi@ximian.com>
13
14         * create-mscompat-collation-table.cs : hacked safer IPA extensions.
15         * Collation-notes.txt : status of sortkey table.
16
17 2005-07-27  Atsushi Enomoto  <atsushi@ximian.com>
18
19         * create-mscompat-collation-table.cs : some Greek mapping fix.
20
21 2005-07-27  Atsushi Enomoto  <atsushi@ximian.com>
22
23         * create-mscompat-collation-table.cs : diacritical weight is not
24           treated correctly when they are picked from letter names, as flags.
25
26 2005-07-27  Atsushi Enomoto  <atsushi@ximian.com>
27
28         * create-mscompat-collation-table.cs : fixed culture-dependent 
29           nonspacing mark weight.
30
31 2005-07-27  Atsushi Enomoto  <atsushi@ximian.com>
32
33         * create-mscompat-collation-table.cs : some Hebrew case letter fixes.
34           Some diacritical fixes on symbols.
35
36 2005-07-27  Atsushi Enomoto  <atsushi@ximian.com>
37
38         * create-mscompat-collation-table.cs : Fixed level 3 weight of
39           Arabic presentation forms.
40
41 2005-07-27  Atsushi Enomoto  <atsushi@ximian.com>
42
43         * create-mscompat-collation-table.cs : Fixed some diacritical weight
44           of Arabic presentation forms.
45
46 2005-07-27  Atsushi Enomoto  <atsushi@ximian.com>
47
48         * SimpleCollator.cs : more status updates. It's almost complete,
49           except for sortkey values.
50
51 2005-07-27  Atsushi Enomoto  <atsushi@ximian.com>
52
53         * SimpleCollator.cs : similar optimization also for LastIndexOf().
54
55 2005-07-27  Atsushi Enomoto  <atsushi@ximian.com>
56
57         * SimpleCollator.cs : the previous patch was missing IgnoreNonSpace
58           case.
59
60 2005-07-27  Atsushi Enomoto  <atsushi@ximian.com>
61
62         * SimpleCollator.cs : reduced extra sortkey value computation in
63           MatchesForward(). It makes IndexOf() roughly 30% faster.
64
65 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
66
67         * SortKey.cs : GetHashCode() returns a value based on its byte data.
68           Removed unused code.
69
70 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
71
72         * SimpleCollator.cs : consider extractions in invariant culture.
73
74 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
75
76         * SimpleCollator.cs : (unsafeFlags) be compact ;-)
77
78 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
79
80         * SimpleCollator.cs : When the tail of the target does not match more
81           than 3 times, then IsSuffix() will never be true (3 is the max
82           length of an expansion; \uFB03 -> ffi). It brings significant
83           performance boost when "source" string is very long.
84         * MSCompatUnicodeTable.cs : added MaxExpansionLength constant.
85           Reordered code lines.
86
87 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
88
89         * Collation-notes.txt : updated implementation status.
90
91 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
92
93         * SimpleCollator.cs : Implemented quick codepoint comparison in
94           Compare(). Comparison became 125x faster.
95         * mono-tailoring-source.txt : added tiny comment.
96
97 2005-07-26  Atsushi Enomoto  <atsushi@ximian.com>
98
99         * mono-tailoring-source.txt : Added all single sortkey remapping to
100           all cultures (still need to fill contractions and annotate possible
101           buggy mapping referencing to CLDR).
102         * SimpleCollator.cs : removed unused code.
103         * MSCompatUnicodeTable.cs : tiny cast removal.
104
105 2005-07-25  Atsushi Enomoto  <atsushi@ximian.com>
106
107         * SimpleCollator.cs
108           create-mscompat-collation-table.cs
109           MSCompatUnicodeTableUtil.cs
110           MSCompatUnicodeTable.cs : Now CJK mapping data is stored as byte
111           arrays. Thus SimpleCollator does not need to use bitwise and shift
112           operations to get sortkey value and they could be managed resources.
113
114 2005-07-25  Atsushi Enomoto  <atsushi@ximian.com>
115
116         * create-mscompat-collation-table.cs,
117           MSCompatUnicodeTable.cs,
118           MSCompatUnicodeTableUtil.cs : From the result of sortkey comparison
119           between None and IgnoreWidth, width compat table could be computed
120           in somewhat simple way. So removed that table and all related code.
121           Increased the collation resource version.
122
123 2005-07-25  Atsushi Enomoto  <atsushi@ximian.com>
124
125         * create-mscompat-collation-table.cs : Added C header output support.
126
127 2005-07-25  Atsushi Enomoto  <atsushi@ximian.com>
128
129         * create-mscompat-collation-table.cs : FillLetterNFKD() could also be
130           applied to Cyrillic letters. Saved some of them.
131
132 2005-07-24  Atsushi Enomoto  <atsushi@ximian.com>
133
134         * MSCompatUnicodeTable.cs : oh, ok, so we already have 
135           GetManifestResourceInternal() ;-)
136         * managed-collation.patch : in Assembly.cs made that method internal.
137
138 2005-07-24  Atsushi Enomoto  <atsushi@ximian.com>
139
140         * MSCompatUnicodeTable.cs : the pointer based icall code could be
141           also applicable for USE_MANAGED_RESOURCE mode.
142
143 2005-07-23  Atsushi Enomoto  <atsushi@ximian.com>
144
145         * MSCompatUnicodeTable.cs : added icall support code (not enabled
146           unless the first line is commented out).
147
148 2005-07-22  Atsushi Enomoto  <atsushi@ximian.com>
149
150         * create-mscompat-collation-table.cs,
151           MSCompatUnicodeTableUtil.cs,
152           MSCompatUnicodeTable.cs : Added resource version output (and ignore
153           in case of version mismatch). Removed obsolete, commented out code.
154
155 2005-07-22  Atsushi Enomoto  <atsushi@ximian.com>
156
157         * SimpleCollator.cs,
158           MSCompatUnicodeTable.cs,
159           create-mscompat-collation-table.cs : Now they use unmanaged pointers
160           instead of managed arrays.
161         * managed-collation.patch : Now it contains patch for IntPtrStream.cs
162           and Assembly.cs as well.
163
164 2005-07-22  Atsushi Enomoto  <atsushi@ximian.com>
165
166         * MSCompatUnicodeTable.cs,
167           SimpleCollator.cs : Moved tailoring support classes to 
168           MSCompatUnicodeTable.cs and drawn out from SimpleCollator.
169           Now that cjk and tailoring support are filled inside 
170           MSCompatUnicodeTable, no managed array is exposed.
171
172 2005-07-22  Atsushi Enomoto  <atsushi@ximian.com>
173
174         * create-mscompat-collation-table.cs,
175           SimpleCollator.cs,
176           MSCompatUnicodeTable.cs : Now it's not exposing collation table
177           internals as managed arrays (to switch to unmanaged pointers).
178
179 2005-07-22  Atsushi Enomoto  <atsushi@ximian.com>
180
181         * create-mscompat-collation-table.cs : tiny nonspacing mark fix.
182
183 2005-07-21  Atsushi Enomoto  <atsushi@ximian.com>
184
185         * create-mscompat-collation-table.cs : Fixed most of Greek mappings.
186         * MSCompatUnicodeTable.cs : don't lock string.
187
188 2005-07-21  Atsushi Enomoto  <atsushi@ximian.com>
189
190         * create-mscompat-collation-table.cs : More Cyrillic diacritical fixes.
191
192 2005-07-21  Atsushi Enomoto  <atsushi@ximian.com>
193
194         * create-mscompat-collation-table.cs : More Latin diacritical fixes.
195
196 2005-07-21  Atsushi Enomoto  <atsushi@ximian.com>
197
198         * create-mscompat-collation-table.cs : There were still missing
199           math symbol mappings. Added several hacky diacritical weight for
200           Latin characters.
201
202 2005-07-21  Atsushi Enomoto  <atsushi@ximian.com>
203
204         * create-mscompat-collation-table.cs : fixed a few diacritical weight
205           on Cyrillic characters. Fixed ParseTailoringSource() to handle
206           non-heading escape sequence (\uXXXX) as expected.
207
208 2005-07-21  Atsushi Enomoto  <atsushi@ximian.com>
209
210         * create-mscompat-collation-table.cs,
211           MSCompatUnicodeTableUtil.cs,
212           MSCompatUnicodeTable.cs : added more aggressive index limits for
213           table optimization at data size, in cost of speed.
214
215 2005-07-20  Atsushi Enomoto  <atsushi@ximian.com>
216
217         * create-mscompat-collation-table.cs : fixed Arabic thirtial weight.
218
219 2005-07-20  Atsushi Enomoto  <atsushi@ximian.com>
220
221         * create-mscompat-collation-table.cs : Mapping for hyphens and 
222           punctuation are kinda finished. Rewrote batch mapping method to
223           collect all NFKD. Required modification on mapping is done.
224
225 2005-07-20  Atsushi Enomoto  <atsushi@ximian.com>
226
227         * create-mscompat-collation-table.cs : minor mapping fixes on accent 
228           marks and punctuations.
229
230 2005-07-20  Atsushi Enomoto  <atsushi@ximian.com>
231
232         * create-mscompat-collation-table.cs : Fixed some MathSymbol mapping
233           and Box drawing mapping.
234
235 2005-07-19  Atsushi Enomoto  <atsushi@ximian.com>
236
237         * create-mscompat-collation-table.cs : Fixed almost all numbers.
238
239 2005-07-19  Atsushi Enomoto  <atsushi@ximian.com>
240
241         * create-mscompat-collation-table.cs : Symbol mappings are almost done.
242           Removed hack that gave dummy mappings to blank symbols.
243
244 2005-07-19  Atsushi Enomoto  <atsushi@ximian.com>
245
246         * create-mscompat-collation-table.cs : more fix on arrows. Fix on box
247           drawings. Some code refactoring to eliminate hack.
248
249 2005-07-19  Atsushi Enomoto  <atsushi@ximian.com>
250
251         * create-mscompat-collation-table.cs : Fixed some secondary weight
252           in Devanagari and arrows.
253
254 2005-07-19  Atsushi Enomoto  <atsushi@ximian.com>
255
256         * create-mscompat-collation-table.cs : a set of tiny mapping fixes.
257
258 2005-07-19  Atsushi Enomoto  <atsushi@ximian.com>
259
260         * create-mscompat-collation-table.cs : some diacritical fixes for
261           Latin. Added batch mapping method that considers computed
262           diacritical weight (for numbers).
263
264 2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
265
266         * managed-collation.patch : forgot to add System.String patch.
267
268 2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
269
270         * MSCompatUnicodeTable.cs : added resource existence check (required
271           for mscorlib transient time from the one without resources to the
272           one with resources.
273
274 2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
275
276         * create-mscompat-collation-table.cs : fixed punctuations and hyphen
277           (shift) primary weight.
278
279 2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
280
281         * create-mscompat-collation-table.cs : more nonspacing mark fixes.
282           Some non-basic Cyrillic diacritical weight fixes.
283
284 2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
285
286         * create-mscompat-collation-table.cs : some Gurmukhi fixes on level 1 
287           and level 3. Tiny Hangul weight fixes.
288         * MSCompatUnicodeTable.cs : U+30F5 and U+30F6 are small Japanese.
289
290 2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
291
292         * create-mscompat-collation-table.cs : some normal characters who have
293           "narrow" NFKD mapping are regarded as "wide" and thus level 3 weight
294           values were different.  Handle U+30FB as category A.
295         * MSCompatUnicodeTable.cs : U+30FB does not have special weight.
296
297 2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
298
299         * create-mscompat-collation-table.cs : more diacritical weight fixes.
300           Removed some unused code.
301
302 2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
303
304         * create-mscompat-collation-table.cs : Fixed some Thai and Arabic
305           level 2 weight.
306
307 2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
308
309         * create-mscompat-collation-table.cs : Fixed Syriac nonspacing marks.
310
311 2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
312
313         * create-mscompat-collation-table.cs : Fixed nonspacing marks in
314           Malayalam, Thai and Lao. Removed extraneous hack.
315
316 2005-07-15  Atsushi Enomoto  <atsushi@ximian.com>
317
318         * SimpleCollator.cs : rewrote LastIndexOf() to handle source extenders.
319           Some refactoring on IndexOf() code. Removed unused Matches().
320         * Collation-notes.txt : some methods needed to be reimplemented, so
321           rewrote the description.
322
323 2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
324
325         * SimpleCollator.cs : rewrote IsSuffix() to use CompareInternal().
326           Thus supported extenders in IsSuffix().
327
328 2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
329
330         * SimpleCollator.cs : more IsSuffix() simplification, but it will be
331           stopped here since it cannot handle extenders (implementing new
332           approach one).
333
334 2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
335
336         * SimpleCollator.cs : simplified IsSuffix() code.
337
338 2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
339
340         * SimpleCollator.cs : Fixed IndexOf() and LasIndexOf() to search the
341           entire replacement string if char target was an expansion.
342           IsSuffix() was using a method for IsPrefix() which was incorrect.
343           Removed old IsPrefix() code.
344
345 2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
346
347         * SimpleCollator.cs : IndexOf() was incorrectly sharing the same
348           byte[] field in different areas of code. Now extenders in both
349           source and target really work in IndexOf().
350
351 2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
352
353         * create-mscompat-collation-table.cs : fixed U+FF9F diacritical weight.
354         * SimpleCollator.cs : handle U+FF9E and U+FF9F as extenders.
355
356 2005-07-14  Atsushi Enomoto  <atsushi@ximian.com>
357
358         * SimpleCollator.cs : Now FilterExtender() handles all extender
359           support. IndexOf() and LastIndexOf() now supports extenders.
360           IndexOf() and LastIndexOf() did not proceed contraction source
361           length as expected. Tiny refactoring on private IsPrefix() to take
362           stringSort argument.
363
364 2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
365
366         * SimpleCollator.cs : when restoring from expansion, go back to the
367           top of the loop (to avoid index out of range).
368           Now IsPrefix() is implemented to reuse Compare() and thus it now
369           supports extender as well.
370         * Collation-notes.txt : status update. Deleted optimization part in
371           status section (it is duplicate).
372
373 2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
374
375         * SimpleCollator.cs : some code reordering.
376         * create-mscompat-collation-table.cs : it was still missing U+3094.
377
378 2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
379
380         * SimpleCollator.cs : Compare() now supports extender (e.g. U+39FC).
381
382 2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
383
384         * SimpleCollator.cs : In GetSortKey(), don't update previousChar when
385           it is not primary (e.g. don't "extend" diacritical mark).
386
387 2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
388
389         * managed-collation.patch : CompareInfo.Compare() should consider
390           the possibilities that non-empty string might be actually empty
391           in culture-sensitive context.
392
393 2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
394
395         * SimpleCollator.cs : IndexOf() and LastIndexOf() returns start when
396           target is "empty" (in culture-sensitive context).
397
398 2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
399
400         * SimpleCollator.cs : In IndexOf() and LastIndexOf(), skip ignorable
401           characters in target string.
402
403 2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
404
405         * SimpleCollator.cs : When IgnoreWidth is specified, all Kana
406           characters are regarded as half-width.
407           Even though IgnoreWidth is specified, it should not ignore case.
408           For special weight comparison, the default values (E4) are bigger
409           than non-default values.
410         * SortKeyBuffer.cs : It should save LCID and original string.
411         * create-mscompat-collation-table.cs : For Japanese half-width kana,
412           it should not be counted in widthCompat map since IgnoreWidth does
413           not really ignore those differences.
414
415 2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
416
417         * create-mscompat-collation-table.cs : Fixed missing Japanese bits.
418
419 2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
420
421         * create-mscompat-collation-table.cs :
422           tiny diacritical weight fix for U+20D0-U+20E1.
423
424 2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
425
426         * create-mscompat-collation-table.cs : ja CJK ideograph got completed.
427
428 2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
429
430         * create-mscompat-collation-table.cs : Fixed CJK custom Japanese
431           mapping. It (maybe as well as other CJK tables) mixes NFKD. For
432           Japanese, modified NFKD table (because of Windows lame design).
433
434 2005-07-13  Atsushi Enomoto  <atsushi@ximian.com>
435
436         * Makefile : added MONO_USE_MANAGED_COLLATION=no almost everywhere.
437         * MSCompatUnicodeTable.cs : FillCJK() was not invoked. Now it is
438           invoked at any time it is required.
439         * SimpleCollator.cs : call FillCJK() above in .ctor().
440         * MSCompatUnicodeTableUtil.cs : CJK range was wider.
441         * create-mscompat-collation-table.cs : CJK binary was missing the
442           length. CJK remapping is being moved to ModifyUnidata().
443           For cjk-ja mapping, we have to consider compat characters to be
444           added to the map, besides the raw UCA table.
445
446 2005-07-12  Atsushi Enomoto  <atsushi@ximian.com>
447
448         * SortKeyBuffer.cs : Fixed shift level computation to match w/ Windows.
449
450 2005-07-12  Atsushi Enomoto  <atsushi@ximian.com>
451
452         * SimpleCollator.cs : fixed LastIndexOf() to handle _target's_ 
453           contraction as expected. Fixed Compare() to save s2's contraction
454           as expected.
455         * TestDriver.cs :added LastIndexOf() tester w/ indexes.
456
457 2005-07-12  Atsushi Enomoto  <atsushi@ximian.com>
458
459         * managed-collation.patch : Fixed IsPrefix() and IsSuffix(). They
460           incorrectly use Compare().
461         * TestDriver.cs : more moved to nunit tests.
462
463 2005-07-12  Atsushi Enomoto  <atsushi@ximian.com>
464
465         * SimpleCollator.cs : several fixes on Compare().
466           - Ignorable characters are skippted at the top of the loop. 
467           - IgnoreNonSpace is checked to avoid extraneous level 2 comparison.
468           - In such case that s1 index  is increased while s2 contraction is
469             replaced, s1 is inconsistently proceeded (bug).
470           - IsIgnorable() now also checks IgnoreNonSpace.
471           - Fixed FilterOptions() that does not work for IgnoreWidth at all.
472         * TestDriver.cs : now some are moved to nunit tests.
473         * Collation-notes.txt : minor todo update.
474
475 2005-07-11  Atsushi Enomoto  <atsushi@ximian.com>
476
477         * SimpleCollator.cs : Compare() was ignoring such case that both
478           entire strings have '-' to be compared.
479         * Collation-notes.txt : more status updates.
480         * TestDriver.cs : added '-' use cases.
481
482 2005-07-08  Atsushi Enomoto  <atsushi@ximian.com>
483
484         * SimpleCollator.cs : to be same as other buggy part, it now handles
485           U+3005, U+3031 and U+3032 as buggy as Windows. It just repeats
486           previous character.
487           Fixed GetSortKey(): if the repeater is U+3005, second weight is 5.
488         * create-mscompat-collation-table.cs : dummy values for extenders.
489
490 2005-07-08  Atsushi Enomoto  <atsushi@ximian.com>
491
492         * SimpleCollator.cs : Special weight fixes on GetSortKey(). Dash type
493           should be computed from ExtenderType, and voice mark weight should
494           be considered.
495         * MSCompatUnicodeTable.cs : added tiny comment.
496
497 2005-07-08  Atsushi Enomoto  <atsushi@ximian.com>
498
499         * SortKey.cs : It borked when MONO_USE_MANAGED_COLLATION is not yes.
500         * SimpleCollator.cs : support for extender (U+309D etc.).
501
502 2005-07-08  Atsushi Enomoto  <atsushi@ximian.com>
503
504         * create-mscompat-collation-table.cs : some punct/symbols fix.
505         * managed-collation.patch : new (and temporary) file to support
506           managed collation in mscorlib.
507         * README : described how to use managed collation.
508
509 2005-07-08  Atsushi Enomoto  <atsushi@ximian.com>
510
511         * create-mscompat-collation-table.cs : Further Cyrillic fixes. Handle
512           U+482-4C8 (though needs diacritical fixes).
513         * MSCompatUnicodeTable.cs : tiny comment for alternative impl.
514
515 2005-07-08  Atsushi Enomoto  <atsushi@ximian.com>
516
517         * create-mscompat-collation-table.cs : Reimplemented Cyrillic weight
518           computation code, since it looks like the same way as Latin letters
519           have. Thus removed all other approach (UCA, by letter name).
520
521 2005-07-07  Atsushi Enomoto  <atsushi@ximian.com>
522
523         * create-mscompat-collation-table.cs : diacritical fix for "double-
524           struck". Syriac nonspacing fixes.
525
526 2005-07-07  Atsushi Enomoto  <atsushi@ximian.com>
527
528         * create-mscompat-collation-table.cs : more math symbol weight fixes.
529
530 2005-07-07  Atsushi Enomoto  <atsushi@ximian.com>
531
532         * create-mscompat-collation-table.cs : fixed Hebrew character sortkeys.
533
534 2005-07-07  Atsushi Enomoto  <atsushi@ximian.com>
535
536         * create-mscompat-collation-table.cs : math symbols U+25A0-U+2600 are
537           implemented (no stub). Some other fixes on category 8-A.
538
539 2005-07-07  Atsushi Enomoto  <atsushi@ximian.com>
540
541         * create-mscompat-collation-table.cs : some minor fixes on Arabic,
542           Korean and Japanese sortkey weights.
543
544 2005-07-07  Atsushi Enomoto  <atsushi@ximian.com>
545
546         * create-mscompat-collation-table.cs : More diacritical fixes.
547           Georgian characters do not have level 2 weights but level 3.
548
549 2005-07-07  Atsushi Enomoto  <atsushi@ximian.com>
550
551         * create-mscompat-collation-table.cs : Roman numeral characters
552           have diacritical weight. quick hack for control signs (U+2400..)
553           and box drawings.
554
555 2005-07-06  Atsushi Enomoto  <atsushi@ximian.com>
556
557         * create-mscompat-collation-table.cs : improving Latin mappings.
558           Setting non-ASCII Latin characters' primary weight between those
559           ASCII characters, and setting diacritical weight (hacky).
560         * MSCompatUnicodeTable.cs :
561           Kanatype check: fixed (voice marks) and improved (comparison order).
562
563 2005-07-06  Atsushi Enomoto  <atsushi@ximian.com>
564
565         * create-mscompat-collation-table.cs : more diacritical fixes.
566           primary weight fixes on punctuations in category 07.
567
568 2005-07-06  Atsushi Enomoto  <atsushi@ximian.com>
569
570         * create-mscompat-collation-table.cs : several diacritical fixes.
571         * TestDriver.cs : sortkey dumper should use StringSort.
572
573 2005-07-05  Atsushi Enomoto  <atsushi@ximian.com>
574
575         * SimpleCollator.cs : fixed incorrect indexer setup. Optimized
576           GetContraction() call a bit.
577
578 2005-07-05  Atsushi Enomoto  <atsushi@ximian.com>
579
580         * create-mscompat-collation-table.cs : fixed incorrect level 2
581           output type.
582         * MSCompatUnicodeTable.cs : remove debug line.
583
584 2005-07-05  Atsushi Enomoto  <atsushi@ximian.com>
585
586         * MSCompatUnicodeTableUtil.cs,
587           MSCompatUnicodeTable.cs,
588           CodePointIndexer.cs,
589           create-mscompat-collation-table.cs : made some members internal and
590           accessible from other classes. Many indexes could be 0 by default.
591         * SimpleCollator.cs : optimizations. avoid method call.
592
593 2005-07-05  Atsushi Enomoto  <atsushi@ximian.com>
594
595         * Collation-notes.txt : more updates.
596         * SimpleCollator.cs : Added quick check for Ordinal comparison.
597           Fixed special weight comparison. It cannot be customizable in the
598           implementation (and it won't be harmful).
599         * mono-tailoring-source.txt : thus updated comment.
600
601 2005-07-05  Atsushi Enomoto  <atsushi@ximian.com>
602
603         * SimpleCollator.cs : Compare() was missing French sort support.
604         * TestDriver.cs : added example case.
605
606 2005-07-05  Atsushi Enomoto  <atsushi@ximian.com>
607
608         * Collation-notes.txt : updated status. Eliminated descriptions on
609           "iterator" (I avoided it for performance concern). Fixed misc.
610           incorrect descriptions.
611
612 2005-07-05  Atsushi Enomoto  <atsushi@ximian.com>
613
614         * Collator.cs : Now that SimpleCollator became feature complete, it is
615           not useful anymore.
616
617 2005-07-05  Atsushi Enomoto  <atsushi@ximian.com>
618
619         * SimpleCollator.cs : implemented decent Compare() that immediately
620           stops at first primary difference.
621
622 2005-07-04  Atsushi Enomoto  <atsushi@ximian.com>
623
624         * SimpleCollator.cs : indexers might return -1.
625
626 2005-07-04  Atsushi Enomoto  <atsushi@ximian.com>
627
628         * SimpleCollator.cs : IsPrefix() and IsSuffix() optimization code was
629           buggy (length check for source was missing).
630
631 2005-07-04  Atsushi Enomoto  <atsushi@ximian.com>
632
633         * create-mscompat-collation-table.cs : Fixed tailoring table output
634           to be in correct and countable order. Now if tailoring alias was not
635           found, just stop the build.
636         * MSCompatUnicodeTable.cs : several build fixes. Now it works to read
637           assembly resources.
638         * mono-tailoring-source.txt : commented out CJK aliases that miss
639           target.
640         * Makefile : needed further filename fixes.
641
642 2005-07-04  Atsushi Enomoto  <atsushi@ximian.com>
643
644         * MSCompatUnicodeTable.cs : renamed from MSCompatUnicodeTable.template
645           (now it is working as a standalone file).
646         * Makefile : renamed generated file as MSCompatUnicodeTableGenerated.cs
647           (the generator now creates both binary resources and C# source).
648
649 2005-07-04  Atsushi Enomoto  <atsushi@ximian.com>
650
651         * create-mscompat-collation-table.cs : Now it generates binary
652           resources (to parent directory).
653         * MSCompatUnicodeTable.template : added conditional code that fills
654           collation tables from manifest resources.
655         * Makefile : remove collation table binaries as well on "make clean".
656           Removed extraneous dependency.
657
658 2005-07-01  Atsushi Enomoto  <atsushi@ximian.com>
659
660         * MSCompatUnicodeTable.template,
661           SimpleCollator.cs : removed extraneous GetExpansion().
662
663 2005-07-01  Atsushi Enomoto  <atsushi@ximian.com>
664
665         * SimpleCollator.cs : IsSuffix() also supports contractions.
666         * TestDriver.cs : IsSuffix() example contraction cases.
667
668 2005-07-01  Atsushi Enomoto  <atsushi@ximian.com>
669
670         * SimpleCollator.cs : reverted IsSuffix() to return bool (to match w/
671           what current IsPrefix() does). For expansion of target, IsPrefix()
672           should check the no-match case that expansion is longer than input.
673           Some refactory on IsPrefix().
674           Added GetContractionTal() for IsSuffix() (not used yet).
675
676 2005-07-01  Atsushi Enomoto  <atsushi@ximian.com>
677
678         * TestDriver.cs : added IsPrefix() expansion cases.
679         * SimpleCollator.cs : IsPrefix() now supports contractions (with much
680           of complexity), and it now returns bool again.
681           IndexOf() for replacement should make use of IndexOfPrimitiveChar()
682           since expansions won't be expanded recursively.
683
684 2005-07-01  Atsushi Enomoto  <atsushi@ximian.com>
685
686         * SimpleCollator.cs : commonized character comparison in IsPrefix()
687           and IsSuffix(). csc compile fix.
688         * CompareInfoImpl.cs : deleted.
689
690 2005-06-30  Atsushi Enomoto  <atsushi@ximian.com>
691
692         * TestDriver.cs : added SimpleCollator.ctor() sanity check.
693           Added replacement contraction example.
694         * SimpleCollator.cs : Now IndexOf() and LastIndexOf() support 
695           contraction in source string. Extracted matching code to Matches().
696           Replacement contraction was including extraneous '\x0'.
697
698 2005-06-30  Atsushi Enomoto  <atsushi@ximian.com>
699
700         * Collation-notes.txt : updated status.
701         * CollationDataStructures.txt : tiny fixes.
702         * SimpleCollator.cs :
703           Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
704           namespace Util and csc borked).
705           GetContraction was incorrectly returning first item.
706           Private IsPrefix() now returns int (but it might not be in real use).
707           Extracted simple char comparison to CompareCharSimple().
708           IndexOf() and LastIndexOf() now fully handle contractions (both
709           binary key and string replacement) in "target" (for "s" not yet).
710         * TestDriver.cs : be more verbose.
711         * mono-tailoring-source.txt : added comment.
712         * MSCompatUnicodeTable.template :
713           Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
714
715 2005-06-30  Atsushi Enomoto  <atsushi@ximian.com>
716
717         * create-mscompat-collation-table.cs : compute COMBINING blah marks as
718           well as those characters WITH blah.
719         * TestDriver.cs : added combining sortkey cases.
720
721 2005-06-30  Atsushi Enomoto  <atsushi@ximian.com>
722
723         * mono-tailoring-source.txt : fixed description on '*' in sortkeys.
724         * SimpleCollator.cs : Now it fully uses tailoring info. Fixed
725           contraction search that worked only when string is contraction.
726           Removed commented code. Minor refactoring.
727         * TestDriver.cs : added example that uses "ZS" in Hungarian sorting.
728
729 2005-06-29  Atsushi Enomoto  <atsushi@ximian.com>
730
731         * create-mscompat-collation-table.cs,
732         * mono-tailoring-source.txt : removed extraneous level 4 sortkey
733           which cannot be supported.
734         * SimpleCollator.cs : added GetContraction() and used in some places.
735           Now CompareOptions is set only once. Reordered some code (e.g.
736           ignorable check -> get compat char -> compare).
737
738 2005-06-29  Atsushi Enomoto  <atsushi@ximian.com>
739
740         * SimpleCollator.cs : sort tailoring tables before actual usage.
741           Support diacritical remappings (it is customized collation rule
742           which does not exist in UCA).
743
744 2005-06-29  Atsushi Enomoto  <atsushi@ximian.com>
745
746         * SimpleCollator.cs : build culture specific tailoring table from
747           TailoringInfo and unified data array.
748         * create-mscompat-collation-table.cs : Added null termination to
749           sortkey map tailorings (mostly to save my eyes).
750         * MSCompatUnicodeTable.template : added public TailoringValues.
751
752 2005-06-29  Atsushi Enomoto  <atsushi@ximian.com>
753
754         * SortKeyBuffer.cs : handle special weight (category 06) characters.
755         * Collation-notes.txt : Updated description on special weight (it was
756           incorrect).
757         * TestDriver.cs : added special weight cases.
758
759 2005-06-29  Atsushi Enomoto  <atsushi@ximian.com>
760
761         * MSCompatUnicodeTable.template : added GetTailoringInfo().
762         * SimpleCollator.cs : Now tailoring information is acquired and used.
763           (FrenchSort is supported but Compare() won't work expectedly since
764            the table is still incomplete for those diacritical marks).
765         * SortKeyBuffer.cs : On reversing diacritical weights, it should
766           ignore zeros. Reset() should reset frenchSorted flag.
767
768 2005-06-28  Atsushi Enomoto  <atsushi@ximian.com>
769
770         * create-mscompat-collation-table.cs : Further fixes on Jamo,
771           diacritical weights by character name, and *Numbers primary weights.
772
773 2005-06-28  Atsushi Enomoto  <atsushi@ximian.com>
774
775         * create-mscompat-collation-table.cs : More fix on Devanagari,
776           Gujarati, Oliya, Tamil and Lao sortkeys.
777
778 2005-06-28  Atsushi Enomoto  <atsushi@ximian.com>
779
780         * create-mscompat-collation-table.cs : Fixed Georgian, Thai, Gurmukhi
781           sortkey values.
782
783 2005-06-28  Atsushi Enomoto  <atsushi@ximian.com>
784
785         * create-mscompat-collation-table.cs : Fixed Thai character primary
786           and secondary values. Fixed Thaana letters. Added more LAMESPEC
787           CJK compat. Fixed some circled CJK secondary weight.
788           Hacked some nonspacing mark sortkey value adjustment.
789
790 2005-06-28  Atsushi Enomoto  <atsushi@ximian.com>
791
792         * create-mscompat-collation-table.cs : CP932.TXT was not parsed as
793           expected. JIS ordering was incorrect. OtherNumbers that represents
794           10 or more values were incorrectly computed the offset. Some Hangul
795           compat characters has different offset.
796
797 2005-06-28  Atsushi Enomoto  <atsushi@ximian.com>
798
799         * create-mscompat-collation-table.cs : Fixed 0x8 category characters.
800           Added hack for need-to-be-fixed characters to fall into 0xA category.
801         * create-collation-element-table.cs : previous checkin seem failed :(
802         * README: updated a bit.
803
804 2005-06-24  Atsushi Enomoto  <atsushi@ximian.com>
805
806         * CodePointIndexer.cs :
807           removed extraneous switch (I could use empty array for that need).
808         * CollationElementTableUtil.cs : primary weight type became ushort.
809         * create-collation-element-table.cs : several bugfixes.
810           collElem should be int. It was skipping most of entries because of
811           incorrect string tokenization.
812
813 2005-06-23  Atsushi Enomoto  <atsushi@ximian.com>
814
815         * create-mscompat-collation-table.cs : handle some Jamo NKFD.
816
817 2005-06-23  Atsushi Enomoto  <atsushi@ximian.com>
818
819         * SimpleCollator.cs : forgot to commit in the last checkin.
820         * create-mscompat-collation-table.cs : fixed arabic shift weight chars.
821         * TestDriver.cs : switch table dumper and collator testing.
822         * SortKey.cs : for now comment out internal indexes (not in use).
823
824 2005-06-23  Atsushi Enomoto  <atsushi@ximian.com>
825
826         * MSCompatUnicodeTable.template,
827           SimpleCollator.cs : support for culture dependent CJK table.
828
829 2005-06-23  Atsushi Enomoto  <atsushi@ximian.com>
830
831         * create-mscompat-collation-table.cs,
832           MSCompatUnicodeTableUtil.cs : make CJK table more compact.
833
834 2005-06-22  Atsushi Enomoto  <atsushi@ximian.com>
835
836         * SimpleCollator.cs : Fixed stupid index search when start != 0.
837
838 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
839
840         * SimpleCollator.cs : fixed my misunderstanding on LastIndexOf(). It
841           now starts from "start" and proceeds backward by "length".
842         * TestDriver.cs : fix warning.
843
844 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
845
846         * TestDriver.cs : more tests.
847         * SimpleCollator.cs : LastIndexOf() is not setting search length
848           on iteration. Quick workaround fro String.LastIndexOf() bug (maybe).
849
850 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
851
852         * create-normalization-source.cs : output propValue as uint.
853
854 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
855
856         * SortKey.cs : Now it is System.Globalization.SortKey.
857           To replace existing implementation, it now requires lcid and 
858           CompareOptions. Added required members.
859         * SortKeyBuffer.cs : thus .ctor() requires LCID.
860         * SimpleCollator.cs : made required changes above.
861
862 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
863
864         * CodePointIndexer.cs : added CompressArray(). Now it requires two more
865           parameters for default index and codepoint.
866         * CollationElementTableUtil.cs,
867           NormalizationTableUtil.cs : required changes wrt above change.
868         * MSCompatUnicodeTableUtil.cs : added for several codepoint indexers.
869         * MSCompatUnicodeTable.template : Now it uses codepoint indexer.
870         * create-mscompat-collation-table.cs : Now it outputs compressed array.
871         * Makefile : now collation requires MSCompatUnicodeTableUtil.cs
872
873 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
874
875         * SimpleCollator.cs :
876           Implemented IsSuffix() and LastIndexOf().
877           Several fixes on index > 0 cases.
878         * TestDriver.cs : sample IsSuffix() and LastIndexOf() usage and more.
879
880 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
881
882         * Collation-notes.txt : updated (status, impl. classes).
883         * MSCompatUnicodeTable.cs : Korean Jamo are not really expansions.
884
885 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
886
887         * SimpleCollator.cs : implemented IndexOf(string,string,CompareOptions)
888           and IsPrefix(). Tiny code refactory.
889         * TestDriver.cs : sample IsPrefix() and IndexOf() usage.
890         * MSCompatUnicodeTable.cs : tiny refactory for CodePointIndexer use.
891
892 2005-06-20  Atsushi Enomoto  <atsushi@ximian.com>
893
894         * SimpleCollator.cs :
895           IndexOf(string, char, CompareOptions) implementation.
896         * TestDriver.cs : sample IndexOf() usage.
897
898 2005-06-20  Atsushi Enomoto  <atsushi@ximian.com>
899
900         * create-mscompat-collation-table.cs : was missing most important
901           kind of blocks - equivalent expansions (e.g. invariant mappings).
902           More readable mappings.
903
904 2005-06-20  Atsushi Enomoto  <atsushi@ximian.com>
905
906         * mono-tailoring-source.txt : new file. It describes tailoring
907           information. Basically examined under .NET 1.x.
908         * create-mscompat-collation-table.cs : consume the file above.
909         * MSCompatUnicodeTable.template : now tailorings is not a stub.
910         * CollationDataStructures.txt : minor fixes.
911         * SortKeyBuffer.cs,
912           SimpleCollator.cs : added FrenchSort support.
913         * Collation-notes.txt : added description on Latin primary weights.
914         * ldml-limited.rng : added note.
915         * create-tailorings.cs : added note. more serialization (but won't be 
916           used anyways).
917
918 2005-06-17  Atsushi Enomoto  <atsushi@ximian.com>
919
920         * SortKeyBuffer.cs : non-primary character is added to previous 
921           diacritical weight.
922         * TestDriver.cs : added example case of above.
923
924 2005-06-17  Atsushi Enomoto  <atsushi@ximian.com>
925
926         * SimpleCollator.cs : IgnoreSymbols support.
927         * TestDriver.cs : compilation fix. IgnoreSymbols example.
928         * create-mscompat-collation-table.cs : more Hangul fixes.
929
930 2005-06-17  Atsushi Enomoto  <atsushi@ximian.com>
931
932         * create-mscompat-collation-table.cs : more Hangul fixes.
933         * SortKey.cs : it will replace sys.globalization.SortKey. It has
934           some internal members.
935         * SortKeyBuffer.cs : now it uses SortKey instead of byte[].
936         * SimpleCollator.cs : CompareOptions support. However I don't think
937           it will be developed anymore since SortKey never enables IndexOf().
938         * TestDriver.cs : a few CompareOptions cases.
939
940 2005-06-16  Atsushi Enomoto  <atsushi@ximian.com>
941
942         * SimpleCollator.cs : simple collator implementation that just will
943           use GetSortKey() for all its basis.
944         * TestDriver.cs : sample code that uses this collator set.
945         * MSCompatUnicodeTable.template : removed test driver from here.
946
947 2005-06-16  Atsushi Enomoto  <atsushi@ximian.com>
948
949         * create-mscompat-collation-table.cs : Hangul fixes.
950           Now less than 300 characters that does not have sortkey weights.
951         * MSCompatUnicodeTable.template : added FIXME info for Hangul Jamo.
952
953 2005-06-16  Atsushi Enomoto  <atsushi@ximian.com>
954
955         * create-mscompat-collation-table.cs : Added control picture mappings.
956           Minor primary weight fixes.
957
958 2005-06-16  Atsushi Enomoto  <atsushi@ximian.com>
959
960         * create-mscompat-collation-table.cs : Added mappings for box
961           drawings and blocks.
962
963 2005-06-16  Atsushi Enomoto  <atsushi@ximian.com>
964
965         * create-mscompat-collation-table.cs : Added mappings for arrows.
966
967 2005-06-15  Atsushi Enomoto  <atsushi@ximian.com>
968
969         * create-mscompat-collation-table.cs : added support for letterlike
970           characters and squared CJK compatibility characters, ordered by
971           character names (0x0E category).
972         * Collation-notes.txt : added description on that.
973
974 2005-06-15  Atsushi Enomoto  <atsushi@ximian.com>
975
976         * MSCompatUnicodeTable.template : Now expansions are simulated.
977         * create-mscompat-collation-table.cs : filled Korean number level2.
978           Reordered some code blocks to fill correct diacritical differences.
979         * Collation-notes.txt : some corrections and minor additions.
980
981 2005-06-15  Atsushi Enomoto  <atsushi@ximian.com>
982
983         * MSCompatUnicodeTable.template :
984           Now dumper test driver uses SortKeyBuffer for dogfooding.
985         * create-mscompat-collation-table.cs : some diacritical level fixes
986           (with non-working extra latin check).
987         * SortKeyBuffer.cs : several fixes to get working as a practical code.
988         * Collator.cs : make it compilable, leaving things as NotImplemented.
989
990 2005-06-15  Atsushi Enomoto  <atsushi@ximian.com>
991
992         * create-mscompat-collation-table.cs : some fixes on primary category
993           07 (miscellaneous symbols and punctuations).
994
995 2005-06-14  Atsushi Enomoto  <atsushi@ximian.com>
996
997         * create-mscompat-collation-table.cs : more mapping fix on numbers,
998           letters, variable weight characters, circled Japanese and CJK.
999         * MSCompatUnicodeTable.template : fixed HasSpecialWeight() to be more
1000           inclusive. Simplified dumper code.
1001
1002 2005-06-14  Atsushi Enomoto  <atsushi@ximian.com>
1003
1004         * create-mscompat-collation-table.cs : finished Hangul (both Jamo
1005           and Syllables). sortkey dumper diff lines became 8000 from 30000.
1006
1007 2005-06-14  Atsushi Enomoto  <atsushi@ximian.com>
1008
1009         * create-mscompat-collation-table.cs : added some nonspacing marks in
1010           either correct or hacky way.
1011
1012 2005-06-13  Atsushi Enomoto  <atsushi@ximian.com>
1013
1014         * create-mscompat-collation-table.cs : several improvements. Japanese
1015           Kana support, Hebrew accents, Bengali nonspacing marks, sorting of
1016           numeric characters, diacritically decorated latin alphabets. Fixed
1017           some diacritical weights detection.
1018         * MSCompatUnicodeTable.cs : tiny Japanese fix. Handle nonspacing
1019           marks' primary weight as empty.
1020         * Collation-notes.txt : some updates.
1021
1022 2005-06-13  Atsushi Enomoto  <atsushi@ximian.com>
1023
1024         * create-mscompat-collation-table.cs : don't process nonexact NFKD 
1025           mapping as equivalent, however store CJK extensions into NFKD map
1026           even if one does not strictly match.
1027           Now am going to fill Hangul into tables (unlike UCA it does not look
1028           possible to calculate sortkey value).
1029           Fixed Cyrillic and Georgian UCA based orderings.
1030         * MSCompatUnicodeTable.template : added CJK extension sortkey 
1031           calculation.
1032
1033 2005-06-10  Atsushi Enomoto  <atsushi@ximian.com>
1034
1035         * create-mscompat-collation-table.cs : Fixed latin alphabet support.
1036           Added latin with diacritical and CJK extension.
1037         * MSCompatUnicodeTable.cs : modified dumper code a bit (for my purpose).
1038
1039 2005-06-10  Atsushi Enomoto  <atsushi@ximian.com>
1040
1041         * create-mscompat-collation-table.cs : now parses DerivedAge.txt (right
1042           now not used thouth). Filled CJK ideograph, still not perfect.
1043           Fixed number primary keys. NFKD numbers and CJK ideographs are now
1044           considered, including brackets elimination.
1045         * Makefile : now it downloads DerivedAge.txt.
1046         * MSCompatUnicodeTable.template : added dummy code dumper. It computes
1047           PrivateUse, Surrogate and Hangul Syllables.
1048         * Collation-notes.txt : Noted that Hangul Syllables need more love.
1049
1050 2005-06-09  Atsushi Enomoto  <atsushi@ximian.com>
1051
1052         * create-tailorings.cs : added configuration support. sort them.
1053           I wonder if it is really usable. Having own format might be better.
1054         * create-mscompat-collation-table.cs : fixing some sortkey numbers,
1055           making closer to windows. Now it handles NFKD in some places.
1056         * MSCompatUnicodeTable.template : Added dummy sortkey dumper driver.
1057         * CollationDataStructures.txt : added description on tailoring
1058           fields, though they are subject to change.
1059
1060 2005-06-07  Atsushi Enomoto  <atsushi@ximian.com>
1061
1062         * create-tailorings.cs, ldml-limited.rng : new file.
1063         * LdmlReader.cs : removed old file.
1064
1065 2005-06-07  Atsushi Enomoto  <atsushi@ximian.com>
1066
1067         * SortKeyBuffer.cs : split from Collator.cs. Now it considers
1068           practical use, reflecting updated sortkey constant design.
1069           Especially level 4 weight is split to 4 arrays that are merged in
1070           the last stage of GetSortKey().
1071         * Collator.cs : thus SortKeyBuffer is removed from here.
1072           Additionally, removed some extraneous bits in other classes.
1073         * Collation-notes.txt : Some editorial fixes. Added information on
1074           Korean matter (how to compute Hangle Syllables / Hangul Jamo cannot
1075           be stored in simple byte arrays).
1076         * CodePointIndexer.cs,
1077           create-collation-element-table.cs,
1078           CollationElementTable.template,
1079           NormalizationTableUtil.cs : short CodePointIndexer method names.
1080         * create-mscompat-collation-table.cs : Additional info on why some
1081           meaningful characters are ignored in Windows (Unicode version
1082           difference). Removed U+070F from special check (was extraneous).
1083
1084 2005-06-06  Atsushi Enomoto  <atsushi@ximian.com>
1085
1086         * MSCompatUnicodeTable.template:
1087           Moved body implementation to table creator and put those bool
1088           results into an array.
1089         * create-mscompat-collation-table.cs :
1090           So imported those methods. Modified array output to emit "0x"
1091           only for more than 9.
1092         * create-normalization-source.cs : ditto on "0x" output matter.
1093         * CollationDataStructures.txt : so now it holds ignorableFlags.
1094
1095 2005-06-03  Atsushi Enomoto  <atsushi@ximian.com>
1096
1097         * Collation-notes.txt, CollationDataStructures.txt :
1098           separate document for data structure design.
1099
1100 2005-06-03  Atsushi Enomoto  <atsushi@ximian.com>
1101
1102         * create-mscompat-collation-table.cs : added culture-dependent CJK
1103           table creation. It uses CLDR as its basis. (Culture independent CJK
1104           is not ready BTW).
1105         * Makefile : added CLDR archive downloading support.
1106         * MSCompatUnicodeTable.template : tiny renamings.
1107         * Collation-notes.txt : additional CJK info.
1108
1109 2005-06-02  Atsushi Enomoto  <atsushi@ximian.com>
1110
1111         * Collation-notes.txt, create-mscompat-collation-table.cs :
1112           added secondary weight support for BlahNumber characters.
1113
1114 2005-06-01  Atsushi Enomoto  <atsushi@ximian.com>
1115
1116         * downloaded : added directory. All downloaded files are stored here.
1117         * Makefile : use "downloaded" directory.
1118           Added more auto-download stuff.
1119         * create-mscompat-collation-table.cs :
1120           Added Japanese square kana support.
1121
1122 2005-06-01  Atsushi Enomoto  <atsushi@ximian.com>
1123
1124         * Collation-notes.txt : added Estrangela (ancient Syriac) and Thaana.
1125         * create-mscompat-collation-table.cs : added support for Arabic abjad,
1126           Estrangela and Thaana.
1127         * MSCompatUnicodeTable.template : removed BOM.
1128
1129 2005-05-31  Atsushi Enomoto  <atsushi@ximian.com>
1130
1131         * Collation-notes.txt : wrong comment cleanup and spelling fixes.
1132         * create-mscompat-collation-table.cs : added diacritic support for
1133           Latin letters (as long as covered in primary weight).
1134
1135 2005-05-31  Atsushi Enomoto  <atsushi@ximian.com>
1136
1137         * Makefile : minor fixes. Added warning lines to generated sources.
1138
1139 2005-05-31  Atsushi Enomoto  <atsushi@ximian.com>
1140
1141         * create-char-mapping-source.cs :
1142           Removed ToWidthInsensitive() generation.
1143
1144 2005-05-31  Atsushi Enomoto  <atsushi@ximian.com>
1145
1146         * create-mscompat-collation-table.cs : Now it dumps level1 to 3 values.
1147           ToWidthInsensitive() is implemented here, using an array (which is
1148           to be optimized using CodePointIndexer).
1149         * MSCompatUnicodeTable.cs : renamed as MSCompatUnicodeTable.template
1150         * MSCompatUnicodeTable.template : now it is used to generate
1151           MSCompatUnicodeTable.cs which got ready to be used.
1152         * Makefile : added MSCompatUnicodeTable.cs build support. Now it
1153           supports "make normalization" and "make collation".
1154
1155 2005-05-30  Atsushi Enomoto  <atsushi@ximian.com>
1156
1157         * Collation-notes.txt : Description on ICU is very incorrect. Now it
1158           became more rational and sane.
1159         * create-mscompat-collation-table.cs : fixed some indexes.
1160         * Makefile : added "mstablegen" target.
1161         * MSCompatUnicodeTable.cs : removed GetPrimaryWeight(). Minor fix.
1162
1163 2005-05-26  Atsushi Enomoto  <atsushi@ximian.com>
1164
1165         * Collation-notes.txt : more analysis on "letters".
1166         * create-mscompat-collation-table.cs : more proof of concepts.
1167
1168 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
1169
1170         * Collation-notes.txt : more info. Started letter sortkey analysis
1171           (some of other stuff are really non-understandable right now.)
1172         * create-mscompat-collation-table.cs : table generator proof-of-
1173           concept source (not compilable).
1174         * MSCompatUnicodeTable.cs : moved some code to the new source.
1175           Some more fixes.
1176
1177 2005-05-20  Atsushi Enomoto  <atsushi@ximian.com>
1178
1179         * Collation-notes.txt : started level 2 weight analysis.
1180
1181 2005-05-19  Atsushi Enomoto  <atsushi@ximian.com>
1182
1183         * Collation-notes.txt : Additional information on how to create
1184           level 3 tables.
1185         * MSCompatUnicodeTable.cs : implemented part of GetLevel3Weight().
1186
1187 2005-05-19  Atsushi Enomoto  <atsushi@ximian.com>
1188
1189         * Collation-notes.txt : More case weight (level 3) analysis. I'm
1190           likely to just write table generator.
1191
1192 2005-05-18  Atsushi Enomoto  <atsushi@ximian.com>
1193
1194         * MSCompatUnicodeTable.cs : part of level 4 weight implementation.
1195
1196 2005-05-18  Atsushi Enomoto  <atsushi@ximian.com>
1197
1198         * Collation-notes.txt :
1199           Added task list.
1200           Revised comparison methods; backward iteration is possible.
1201           More on char-by-char comparison.
1202           Level 4 comparison is actually a bit more complex.
1203           Misc corrections.
1204         * Collator.cs : some conceptual updates wrt above.
1205
1206 2005-05-17  Atsushi Enomoto  <atsushi@ximian.com>
1207
1208         * Collation-notes.txt : Japanese voice mark is level 2, and Hangul
1209           properties are level 3.
1210
1211 2005-05-17  Atsushi Enomoto  <atsushi@ximian.com>
1212
1213         * Collation-notes.txt : Make it more readable. More analysis on
1214           level 3 and 4 sortkey structures.
1215         * Collator.cs : some compilation fixes (not compilable yet).
1216
1217 2005-05-16  Atsushi Enomoto  <atsushi@ximian.com>
1218
1219         * Collation-notes.txt : Analysis on variable-weighting (level 5)
1220           sortkey format.
1221         * Collator.cs : updated corresponding part of level 5, and more.
1222
1223 2005-05-13  Atsushi Enomoto  <atsushi@ximian.com>
1224
1225         * Collation-notes.txt : more updates.
1226         * Collator.cs : rewrote from scratch. Some rough sketch for sortkey
1227           buffer, character iterator and collator methods. Not compiling.
1228
1229 2005-05-13  Atsushi Enomoto  <atsushi@ximian.com>
1230
1231         * Collator.cs : Am going to replace it with new one. No need for 
1232           CompareOptions-dependent Comparer.
1233
1234 2005-05-13  Atsushi Enomoto  <atsushi@ximian.com>
1235
1236         * Collation-notes.txt : There seems a bit more complexity.
1237
1238 2005-05-10  Atsushi Enomoto  <atsushi@ximian.com>
1239
1240         * Collation-notes.txt : more updates, being close to write sortkey
1241           generator code.
1242
1243 2005-05-09  Atsushi Enomoto  <atsushi@ximian.com>
1244
1245         * CompareInfoImpl.cs, Collator.cs : conceptual update
1246         * Collation-notes.txt : some corrections and additions.
1247         * Makefile : added LDML input (but it won't be used at all).
1248
1249 2005-04-28  Atsushi Enomoto  <atsushi@ximian.com>
1250
1251         * Collation-notes.txt : more updates.
1252
1253 2005-04-26  Atsushi Enomoto  <atsushi@ximian.com>
1254
1255         * Collation-notes.txt : more updates.
1256
1257 2005-04-26  Atsushi Enomoto  <atsushi@ximian.com>
1258
1259         * Collation-notes.txt : some updates.
1260         * create-mapping-char-source.cs : superscripts and subscripts are also
1261           ignored in IgnoreWidth comparison.
1262         * Makefile : tiny touch fix.
1263
1264 2005-04-25  Atsushi Enomoto  <atsushi@ximian.com>
1265
1266         * CompareInfoImpl.cs, Collator.cs : conceptual stuff (not working).
1267
1268 2005-04-25  Atsushi Enomoto  <atsushi@ximian.com>
1269
1270         * create-char-mapping-source.cs : Now it generates
1271           ToWidthInsensitive() from combining category <wide> and <narrow>.
1272         * MSCompatUnicodeTable.cs : added ToKanaTypeInsensitive() and
1273           ToWidthInsensitive() for IgnoreKanaType and IgnoreWidth.
1274
1275 2005-04-25  Atsushi Enomoto  <atsushi@ximian.com>
1276
1277         * README, LdmlReader.cs, DataStructures.txt : new files.
1278
1279 2005-04-25  Atsushi Enomoto  <atsushi@ximian.com>
1280
1281         * CodePointIndexer.cs,
1282           Collation-notes.txt,
1283           CollationElementTable.template,
1284           CollationElementTableUtil.cs,
1285           create-char-mapping-source.cs,
1286           create-collation-element-table.cs,
1287           create-combining-class-source.cs,
1288           create-normalization-source.cs,
1289           Makefile,
1290           MSCompatUnicodeTable.cs,
1291           Normalization.template,
1292           NormalizationTableUtil.cs : initial checkin (to private branch).
1293