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