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