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