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