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