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