2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
[mono.git] / mcs / class / corlib / Mono.Globalization.Unicode / ChangeLog
1 2005-06-23  Atsushi Enomoto  <atsushi@ximian.com>
2
3         * create-mscompat-collation-table.cs : handle some Jamo NKFD.
4
5 2005-06-23  Atsushi Enomoto  <atsushi@ximian.com>
6
7         * SimpleCollator.cs : forgot to commit in the last checkin.
8         * create-mscompat-collation-table.cs : fixed arabic shift weight chars.
9         * TestDriver.cs : switch table dumper and collator testing.
10         * SortKey.cs : for now comment out internal indexes (not in use).
11
12 2005-06-23  Atsushi Enomoto  <atsushi@ximian.com>
13
14         * MSCompatUnicodeTable.template,
15           SimpleCollator.cs : support for culture dependent CJK table.
16
17 2005-06-23  Atsushi Enomoto  <atsushi@ximian.com>
18
19         * create-mscompat-collation-table.cs,
20           MSCompatUnicodeTableUtil.cs : make CJK table more compact.
21
22 2005-06-22  Atsushi Enomoto  <atsushi@ximian.com>
23
24         * SimpleCollator.cs : Fixed stupid index search when start != 0.
25
26 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
27
28         * SimpleCollator.cs : fixed my misunderstanding on LastIndexOf(). It
29           now starts from "start" and proceeds backward by "length".
30         * TestDriver.cs : fix warning.
31
32 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
33
34         * TestDriver.cs : more tests.
35         * SimpleCollator.cs : LastIndexOf() is not setting search length
36           on iteration. Quick workaround fro String.LastIndexOf() bug (maybe).
37
38 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
39
40         * create-normalization-source.cs : output propValue as uint.
41
42 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
43
44         * SortKey.cs : Now it is System.Globalization.SortKey.
45           To replace existing implementation, it now requires lcid and 
46           CompareOptions. Added required members.
47         * SortKeyBuffer.cs : thus .ctor() requires LCID.
48         * SimpleCollator.cs : made required changes above.
49
50 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
51
52         * CodePointIndexer.cs : added CompressArray(). Now it requires two more
53           parameters for default index and codepoint.
54         * CollationElementTableUtil.cs,
55           NormalizationTableUtil.cs : required changes wrt above change.
56         * MSCompatUnicodeTableUtil.cs : added for several codepoint indexers.
57         * MSCompatUnicodeTable.template : Now it uses codepoint indexer.
58         * create-mscompat-collation-table.cs : Now it outputs compressed array.
59         * Makefile : now collation requires MSCompatUnicodeTableUtil.cs
60
61 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
62
63         * SimpleCollator.cs :
64           Implemented IsSuffix() and LastIndexOf().
65           Several fixes on index > 0 cases.
66         * TestDriver.cs : sample IsSuffix() and LastIndexOf() usage and more.
67
68 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
69
70         * Collation-notes.txt : updated (status, impl. classes).
71         * MSCompatUnicodeTable.cs : Korean Jamo are not really expansions.
72
73 2005-06-21  Atsushi Enomoto  <atsushi@ximian.com>
74
75         * SimpleCollator.cs : implemented IndexOf(string,string,CompareOptions)
76           and IsPrefix(). Tiny code refactory.
77         * TestDriver.cs : sample IsPrefix() and IndexOf() usage.
78         * MSCompatUnicodeTable.cs : tiny refactory for CodePointIndexer use.
79
80 2005-06-20  Atsushi Enomoto  <atsushi@ximian.com>
81
82         * SimpleCollator.cs :
83           IndexOf(string, char, CompareOptions) implementation.
84         * TestDriver.cs : sample IndexOf() usage.
85
86 2005-06-20  Atsushi Enomoto  <atsushi@ximian.com>
87
88         * create-mscompat-collation-table.cs : was missing most important
89           kind of blocks - equivalent expansions (e.g. invariant mappings).
90           More readable mappings.
91
92 2005-06-20  Atsushi Enomoto  <atsushi@ximian.com>
93
94         * mono-tailoring-source.txt : new file. It describes tailoring
95           information. Basically examined under .NET 1.x.
96         * create-mscompat-collation-table.cs : consume the file above.
97         * MSCompatUnicodeTable.template : now tailorings is not a stub.
98         * CollationDataStructures.txt : minor fixes.
99         * SortKeyBuffer.cs,
100           SimpleCollator.cs : added FrenchSort support.
101         * Collation-notes.txt : added description on Latin primary weights.
102         * ldml-limited.rng : added note.
103         * create-tailorings.cs : added note. more serialization (but won't be 
104           used anyways).
105
106 2005-06-17  Atsushi Enomoto  <atsushi@ximian.com>
107
108         * SortKeyBuffer.cs : non-primary character is added to previous 
109           diacritical weight.
110         * TestDriver.cs : added example case of above.
111
112 2005-06-17  Atsushi Enomoto  <atsushi@ximian.com>
113
114         * SimpleCollator.cs : IgnoreSymbols support.
115         * TestDriver.cs : compilation fix. IgnoreSymbols example.
116         * create-mscompat-collation-table.cs : more Hangul fixes.
117
118 2005-06-17  Atsushi Enomoto  <atsushi@ximian.com>
119
120         * create-mscompat-collation-table.cs : more Hangul fixes.
121         * SortKey.cs : it will replace sys.globalization.SortKey. It has
122           some internal members.
123         * SortKeyBuffer.cs : now it uses SortKey instead of byte[].
124         * SimpleCollator.cs : CompareOptions support. However I don't think
125           it will be developed anymore since SortKey never enables IndexOf().
126         * TestDriver.cs : a few CompareOptions cases.
127
128 2005-06-16  Atsushi Enomoto  <atsushi@ximian.com>
129
130         * SimpleCollator.cs : simple collator implementation that just will
131           use GetSortKey() for all its basis.
132         * TestDriver.cs : sample code that uses this collator set.
133         * MSCompatUnicodeTable.template : removed test driver from here.
134
135 2005-06-16  Atsushi Enomoto  <atsushi@ximian.com>
136
137         * create-mscompat-collation-table.cs : Hangul fixes.
138           Now less than 300 characters that does not have sortkey weights.
139         * MSCompatUnicodeTable.template : added FIXME info for Hangul Jamo.
140
141 2005-06-16  Atsushi Enomoto  <atsushi@ximian.com>
142
143         * create-mscompat-collation-table.cs : Added control picture mappings.
144           Minor primary weight fixes.
145
146 2005-06-16  Atsushi Enomoto  <atsushi@ximian.com>
147
148         * create-mscompat-collation-table.cs : Added mappings for box
149           drawings and blocks.
150
151 2005-06-16  Atsushi Enomoto  <atsushi@ximian.com>
152
153         * create-mscompat-collation-table.cs : Added mappings for arrows.
154
155 2005-06-15  Atsushi Enomoto  <atsushi@ximian.com>
156
157         * create-mscompat-collation-table.cs : added support for letterlike
158           characters and squared CJK compatibility characters, ordered by
159           character names (0x0E category).
160         * Collation-notes.txt : added description on that.
161
162 2005-06-15  Atsushi Enomoto  <atsushi@ximian.com>
163
164         * MSCompatUnicodeTable.template : Now expansions are simulated.
165         * create-mscompat-collation-table.cs : filled Korean number level2.
166           Reordered some code blocks to fill correct diacritical differences.
167         * Collation-notes.txt : some corrections and minor additions.
168
169 2005-06-15  Atsushi Enomoto  <atsushi@ximian.com>
170
171         * MSCompatUnicodeTable.template :
172           Now dumper test driver uses SortKeyBuffer for dogfooding.
173         * create-mscompat-collation-table.cs : some diacritical level fixes
174           (with non-working extra latin check).
175         * SortKeyBuffer.cs : several fixes to get working as a practical code.
176         * Collator.cs : make it compilable, leaving things as NotImplemented.
177
178 2005-06-15  Atsushi Enomoto  <atsushi@ximian.com>
179
180         * create-mscompat-collation-table.cs : some fixes on primary category
181           07 (miscellaneous symbols and punctuations).
182
183 2005-06-14  Atsushi Enomoto  <atsushi@ximian.com>
184
185         * create-mscompat-collation-table.cs : more mapping fix on numbers,
186           letters, variable weight characters, circled Japanese and CJK.
187         * MSCompatUnicodeTable.template : fixed HasSpecialWeight() to be more
188           inclusive. Simplified dumper code.
189
190 2005-06-14  Atsushi Enomoto  <atsushi@ximian.com>
191
192         * create-mscompat-collation-table.cs : finished Hangul (both Jamo
193           and Syllables). sortkey dumper diff lines became 8000 from 30000.
194
195 2005-06-14  Atsushi Enomoto  <atsushi@ximian.com>
196
197         * create-mscompat-collation-table.cs : added some nonspacing marks in
198           either correct or hacky way.
199
200 2005-06-13  Atsushi Enomoto  <atsushi@ximian.com>
201
202         * create-mscompat-collation-table.cs : several improvements. Japanese
203           Kana support, Hebrew accents, Bengali nonspacing marks, sorting of
204           numeric characters, diacritically decorated latin alphabets. Fixed
205           some diacritical weights detection.
206         * MSCompatUnicodeTable.cs : tiny Japanese fix. Handle nonspacing
207           marks' primary weight as empty.
208         * Collation-notes.txt : some updates.
209
210 2005-06-13  Atsushi Enomoto  <atsushi@ximian.com>
211
212         * create-mscompat-collation-table.cs : don't process nonexact NFKD 
213           mapping as equivalent, however store CJK extensions into NFKD map
214           even if one does not strictly match.
215           Now am going to fill Hangul into tables (unlike UCA it does not look
216           possible to calculate sortkey value).
217           Fixed Cyrillic and Georgian UCA based orderings.
218         * MSCompatUnicodeTable.template : added CJK extension sortkey 
219           calculation.
220
221 2005-06-10  Atsushi Enomoto  <atsushi@ximian.com>
222
223         * create-mscompat-collation-table.cs : Fixed latin alphabet support.
224           Added latin with diacritical and CJK extension.
225         * MSCompatUnicodeTable.cs : modified dumper code a bit (for my purpose).
226
227 2005-06-10  Atsushi Enomoto  <atsushi@ximian.com>
228
229         * create-mscompat-collation-table.cs : now parses DerivedAge.txt (right
230           now not used thouth). Filled CJK ideograph, still not perfect.
231           Fixed number primary keys. NFKD numbers and CJK ideographs are now
232           considered, including brackets elimination.
233         * Makefile : now it downloads DerivedAge.txt.
234         * MSCompatUnicodeTable.template : added dummy code dumper. It computes
235           PrivateUse, Surrogate and Hangul Syllables.
236         * Collation-notes.txt : Noted that Hangul Syllables need more love.
237
238 2005-06-09  Atsushi Enomoto  <atsushi@ximian.com>
239
240         * create-tailorings.cs : added configuration support. sort them.
241           I wonder if it is really usable. Having own format might be better.
242         * create-mscompat-collation-table.cs : fixing some sortkey numbers,
243           making closer to windows. Now it handles NFKD in some places.
244         * MSCompatUnicodeTable.template : Added dummy sortkey dumper driver.
245         * CollationDataStructures.txt : added description on tailoring
246           fields, though they are subject to change.
247
248 2005-06-07  Atsushi Enomoto  <atsushi@ximian.com>
249
250         * create-tailorings.cs, ldml-limited.rng : new file.
251         * LdmlReader.cs : removed old file.
252
253 2005-06-07  Atsushi Enomoto  <atsushi@ximian.com>
254
255         * SortKeyBuffer.cs : split from Collator.cs. Now it considers
256           practical use, reflecting updated sortkey constant design.
257           Especially level 4 weight is split to 4 arrays that are merged in
258           the last stage of GetSortKey().
259         * Collator.cs : thus SortKeyBuffer is removed from here.
260           Additionally, removed some extraneous bits in other classes.
261         * Collation-notes.txt : Some editorial fixes. Added information on
262           Korean matter (how to compute Hangle Syllables / Hangul Jamo cannot
263           be stored in simple byte arrays).
264         * CodePointIndexer.cs,
265           create-collation-element-table.cs,
266           CollationElementTable.template,
267           NormalizationTableUtil.cs : short CodePointIndexer method names.
268         * create-mscompat-collation-table.cs : Additional info on why some
269           meaningful characters are ignored in Windows (Unicode version
270           difference). Removed U+070F from special check (was extraneous).
271
272 2005-06-06  Atsushi Enomoto  <atsushi@ximian.com>
273
274         * MSCompatUnicodeTable.template:
275           Moved body implementation to table creator and put those bool
276           results into an array.
277         * create-mscompat-collation-table.cs :
278           So imported those methods. Modified array output to emit "0x"
279           only for more than 9.
280         * create-normalization-source.cs : ditto on "0x" output matter.
281         * CollationDataStructures.txt : so now it holds ignorableFlags.
282
283 2005-06-03  Atsushi Enomoto  <atsushi@ximian.com>
284
285         * Collation-notes.txt, CollationDataStructures.txt :
286           separate document for data structure design.
287
288 2005-06-03  Atsushi Enomoto  <atsushi@ximian.com>
289
290         * create-mscompat-collation-table.cs : added culture-dependent CJK
291           table creation. It uses CLDR as its basis. (Culture independent CJK
292           is not ready BTW).
293         * Makefile : added CLDR archive downloading support.
294         * MSCompatUnicodeTable.template : tiny renamings.
295         * Collation-notes.txt : additional CJK info.
296
297 2005-06-02  Atsushi Enomoto  <atsushi@ximian.com>
298
299         * Collation-notes.txt, create-mscompat-collation-table.cs :
300           added secondary weight support for BlahNumber characters.
301
302 2005-06-01  Atsushi Enomoto  <atsushi@ximian.com>
303
304         * downloaded : added directory. All downloaded files are stored here.
305         * Makefile : use "downloaded" directory.
306           Added more auto-download stuff.
307         * create-mscompat-collation-table.cs :
308           Added Japanese square kana support.
309
310 2005-06-01  Atsushi Enomoto  <atsushi@ximian.com>
311
312         * Collation-notes.txt : added Estrangela (ancient Syriac) and Thaana.
313         * create-mscompat-collation-table.cs : added support for Arabic abjad,
314           Estrangela and Thaana.
315         * MSCompatUnicodeTable.template : removed BOM.
316
317 2005-05-31  Atsushi Enomoto  <atsushi@ximian.com>
318
319         * Collation-notes.txt : wrong comment cleanup and spelling fixes.
320         * create-mscompat-collation-table.cs : added diacritic support for
321           Latin letters (as long as covered in primary weight).
322
323 2005-05-31  Atsushi Enomoto  <atsushi@ximian.com>
324
325         * Makefile : minor fixes. Added warning lines to generated sources.
326
327 2005-05-31  Atsushi Enomoto  <atsushi@ximian.com>
328
329         * create-char-mapping-source.cs :
330           Removed ToWidthInsensitive() generation.
331
332 2005-05-31  Atsushi Enomoto  <atsushi@ximian.com>
333
334         * create-mscompat-collation-table.cs : Now it dumps level1 to 3 values.
335           ToWidthInsensitive() is implemented here, using an array (which is
336           to be optimized using CodePointIndexer).
337         * MSCompatUnicodeTable.cs : renamed as MSCompatUnicodeTable.template
338         * MSCompatUnicodeTable.template : now it is used to generate
339           MSCompatUnicodeTable.cs which got ready to be used.
340         * Makefile : added MSCompatUnicodeTable.cs build support. Now it
341           supports "make normalization" and "make collation".
342
343 2005-05-30  Atsushi Enomoto  <atsushi@ximian.com>
344
345         * Collation-notes.txt : Description on ICU is very incorrect. Now it
346           became more rational and sane.
347         * create-mscompat-collation-table.cs : fixed some indexes.
348         * Makefile : added "mstablegen" target.
349         * MSCompatUnicodeTable.cs : removed GetPrimaryWeight(). Minor fix.
350
351 2005-05-26  Atsushi Enomoto  <atsushi@ximian.com>
352
353         * Collation-notes.txt : more analysis on "letters".
354         * create-mscompat-collation-table.cs : more proof of concepts.
355
356 2005-05-25  Atsushi Enomoto  <atsushi@ximian.com>
357
358         * Collation-notes.txt : more info. Started letter sortkey analysis
359           (some of other stuff are really non-understandable right now.)
360         * create-mscompat-collation-table.cs : table generator proof-of-
361           concept source (not compilable).
362         * MSCompatUnicodeTable.cs : moved some code to the new source.
363           Some more fixes.
364
365 2005-05-20  Atsushi Enomoto  <atsushi@ximian.com>
366
367         * Collation-notes.txt : started level 2 weight analysis.
368
369 2005-05-19  Atsushi Enomoto  <atsushi@ximian.com>
370
371         * Collation-notes.txt : Additional information on how to create
372           level 3 tables.
373         * MSCompatUnicodeTable.cs : implemented part of GetLevel3Weight().
374
375 2005-05-19  Atsushi Enomoto  <atsushi@ximian.com>
376
377         * Collation-notes.txt : More case weight (level 3) analysis. I'm
378           likely to just write table generator.
379
380 2005-05-18  Atsushi Enomoto  <atsushi@ximian.com>
381
382         * MSCompatUnicodeTable.cs : part of level 4 weight implementation.
383
384 2005-05-18  Atsushi Enomoto  <atsushi@ximian.com>
385
386         * Collation-notes.txt :
387           Added task list.
388           Revised comparison methods; backward iteration is possible.
389           More on char-by-char comparison.
390           Level 4 comparison is actually a bit more complex.
391           Misc corrections.
392         * Collator.cs : some conceptual updates wrt above.
393
394 2005-05-17  Atsushi Enomoto  <atsushi@ximian.com>
395
396         * Collation-notes.txt : Japanese voice mark is level 2, and Hangul
397           properties are level 3.
398
399 2005-05-17  Atsushi Enomoto  <atsushi@ximian.com>
400
401         * Collation-notes.txt : Make it more readable. More analysis on
402           level 3 and 4 sortkey structures.
403         * Collator.cs : some compilation fixes (not compilable yet).
404
405 2005-05-16  Atsushi Enomoto  <atsushi@ximian.com>
406
407         * Collation-notes.txt : Analysis on variable-weighting (level 5)
408           sortkey format.
409         * Collator.cs : updated corresponding part of level 5, and more.
410
411 2005-05-13  Atsushi Enomoto  <atsushi@ximian.com>
412
413         * Collation-notes.txt : more updates.
414         * Collator.cs : rewrote from scratch. Some rough sketch for sortkey
415           buffer, character iterator and collator methods. Not compiling.
416
417 2005-05-13  Atsushi Enomoto  <atsushi@ximian.com>
418
419         * Collator.cs : Am going to replace it with new one. No need for 
420           CompareOptions-dependent Comparer.
421
422 2005-05-13  Atsushi Enomoto  <atsushi@ximian.com>
423
424         * Collation-notes.txt : There seems a bit more complexity.
425
426 2005-05-10  Atsushi Enomoto  <atsushi@ximian.com>
427
428         * Collation-notes.txt : more updates, being close to write sortkey
429           generator code.
430
431 2005-05-09  Atsushi Enomoto  <atsushi@ximian.com>
432
433         * CompareInfoImpl.cs, Collator.cs : conceptual update
434         * Collation-notes.txt : some corrections and additions.
435         * Makefile : added LDML input (but it won't be used at all).
436
437 2005-04-28  Atsushi Enomoto  <atsushi@ximian.com>
438
439         * Collation-notes.txt : more updates.
440
441 2005-04-26  Atsushi Enomoto  <atsushi@ximian.com>
442
443         * Collation-notes.txt : more updates.
444
445 2005-04-26  Atsushi Enomoto  <atsushi@ximian.com>
446
447         * Collation-notes.txt : some updates.
448         * create-mapping-char-source.cs : superscripts and subscripts are also
449           ignored in IgnoreWidth comparison.
450         * Makefile : tiny touch fix.
451
452 2005-04-25  Atsushi Enomoto  <atsushi@ximian.com>
453
454         * CompareInfoImpl.cs, Collator.cs : conceptual stuff (not working).
455
456 2005-04-25  Atsushi Enomoto  <atsushi@ximian.com>
457
458         * create-char-mapping-source.cs : Now it generates
459           ToWidthInsensitive() from combining category <wide> and <narrow>.
460         * MSCompatUnicodeTable.cs : added ToKanaTypeInsensitive() and
461           ToWidthInsensitive() for IgnoreKanaType and IgnoreWidth.
462
463 2005-04-25  Atsushi Enomoto  <atsushi@ximian.com>
464
465         * README, LdmlReader.cs, DataStructures.txt : new files.
466
467 2005-04-25  Atsushi Enomoto  <atsushi@ximian.com>
468
469         * CodePointIndexer.cs,
470           Collation-notes.txt,
471           CollationElementTable.template,
472           CollationElementTableUtil.cs,
473           create-char-mapping-source.cs,
474           create-collation-element-table.cs,
475           create-combining-class-source.cs,
476           create-normalization-source.cs,
477           Makefile,
478           MSCompatUnicodeTable.cs,
479           Normalization.template,
480           NormalizationTableUtil.cs : initial checkin (to private branch).
481