1 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
3 * NormalizationTableUtil.cs,
4 Normalization.template,
5 create-combining-class-source.cs : GetCombiningClass is now
6 implemented as indexer based array.
7 * Makefile : renamed output filename.
8 * create-mscompat-collation-table.cs : removed comments that does not
10 * create-tailoring.cs : use utf-8 output (and fixed filename).
12 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
14 * create-mscompat-collation-table.cs : hacked safer IPA extensions.
15 * Collation-notes.txt : status of sortkey table.
17 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
19 * create-mscompat-collation-table.cs : some Greek mapping fix.
21 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
23 * create-mscompat-collation-table.cs : diacritical weight is not
24 treated correctly when they are picked from letter names, as flags.
26 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
28 * create-mscompat-collation-table.cs : fixed culture-dependent
29 nonspacing mark weight.
31 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
33 * create-mscompat-collation-table.cs : some Hebrew case letter fixes.
34 Some diacritical fixes on symbols.
36 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
38 * create-mscompat-collation-table.cs : Fixed level 3 weight of
39 Arabic presentation forms.
41 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
43 * create-mscompat-collation-table.cs : Fixed some diacritical weight
44 of Arabic presentation forms.
46 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
48 * SimpleCollator.cs : more status updates. It's almost complete,
49 except for sortkey values.
51 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
53 * SimpleCollator.cs : similar optimization also for LastIndexOf().
55 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
57 * SimpleCollator.cs : the previous patch was missing IgnoreNonSpace
60 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
62 * SimpleCollator.cs : reduced extra sortkey value computation in
63 MatchesForward(). It makes IndexOf() roughly 30% faster.
65 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
67 * SortKey.cs : GetHashCode() returns a value based on its byte data.
70 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
72 * SimpleCollator.cs : consider extractions in invariant culture.
74 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
76 * SimpleCollator.cs : (unsafeFlags) be compact ;-)
78 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
80 * SimpleCollator.cs : When the tail of the target does not match more
81 than 3 times, then IsSuffix() will never be true (3 is the max
82 length of an expansion; \uFB03 -> ffi). It brings significant
83 performance boost when "source" string is very long.
84 * MSCompatUnicodeTable.cs : added MaxExpansionLength constant.
87 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
89 * Collation-notes.txt : updated implementation status.
91 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
93 * SimpleCollator.cs : Implemented quick codepoint comparison in
94 Compare(). Comparison became 125x faster.
95 * mono-tailoring-source.txt : added tiny comment.
97 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
99 * mono-tailoring-source.txt : Added all single sortkey remapping to
100 all cultures (still need to fill contractions and annotate possible
101 buggy mapping referencing to CLDR).
102 * SimpleCollator.cs : removed unused code.
103 * MSCompatUnicodeTable.cs : tiny cast removal.
105 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
108 create-mscompat-collation-table.cs
109 MSCompatUnicodeTableUtil.cs
110 MSCompatUnicodeTable.cs : Now CJK mapping data is stored as byte
111 arrays. Thus SimpleCollator does not need to use bitwise and shift
112 operations to get sortkey value and they could be managed resources.
114 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
116 * create-mscompat-collation-table.cs,
117 MSCompatUnicodeTable.cs,
118 MSCompatUnicodeTableUtil.cs : From the result of sortkey comparison
119 between None and IgnoreWidth, width compat table could be computed
120 in somewhat simple way. So removed that table and all related code.
121 Increased the collation resource version.
123 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
125 * create-mscompat-collation-table.cs : Added C header output support.
127 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
129 * create-mscompat-collation-table.cs : FillLetterNFKD() could also be
130 applied to Cyrillic letters. Saved some of them.
132 2005-07-24 Atsushi Enomoto <atsushi@ximian.com>
134 * MSCompatUnicodeTable.cs : oh, ok, so we already have
135 GetManifestResourceInternal() ;-)
136 * managed-collation.patch : in Assembly.cs made that method internal.
138 2005-07-24 Atsushi Enomoto <atsushi@ximian.com>
140 * MSCompatUnicodeTable.cs : the pointer based icall code could be
141 also applicable for USE_MANAGED_RESOURCE mode.
143 2005-07-23 Atsushi Enomoto <atsushi@ximian.com>
145 * MSCompatUnicodeTable.cs : added icall support code (not enabled
146 unless the first line is commented out).
148 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
150 * create-mscompat-collation-table.cs,
151 MSCompatUnicodeTableUtil.cs,
152 MSCompatUnicodeTable.cs : Added resource version output (and ignore
153 in case of version mismatch). Removed obsolete, commented out code.
155 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
158 MSCompatUnicodeTable.cs,
159 create-mscompat-collation-table.cs : Now they use unmanaged pointers
160 instead of managed arrays.
161 * managed-collation.patch : Now it contains patch for IntPtrStream.cs
162 and Assembly.cs as well.
164 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
166 * MSCompatUnicodeTable.cs,
167 SimpleCollator.cs : Moved tailoring support classes to
168 MSCompatUnicodeTable.cs and drawn out from SimpleCollator.
169 Now that cjk and tailoring support are filled inside
170 MSCompatUnicodeTable, no managed array is exposed.
172 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
174 * create-mscompat-collation-table.cs,
176 MSCompatUnicodeTable.cs : Now it's not exposing collation table
177 internals as managed arrays (to switch to unmanaged pointers).
179 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
181 * create-mscompat-collation-table.cs : tiny nonspacing mark fix.
183 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
185 * create-mscompat-collation-table.cs : Fixed most of Greek mappings.
186 * MSCompatUnicodeTable.cs : don't lock string.
188 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
190 * create-mscompat-collation-table.cs : More Cyrillic diacritical fixes.
192 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
194 * create-mscompat-collation-table.cs : More Latin diacritical fixes.
196 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
198 * create-mscompat-collation-table.cs : There were still missing
199 math symbol mappings. Added several hacky diacritical weight for
202 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
204 * create-mscompat-collation-table.cs : fixed a few diacritical weight
205 on Cyrillic characters. Fixed ParseTailoringSource() to handle
206 non-heading escape sequence (\uXXXX) as expected.
208 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
210 * create-mscompat-collation-table.cs,
211 MSCompatUnicodeTableUtil.cs,
212 MSCompatUnicodeTable.cs : added more aggressive index limits for
213 table optimization at data size, in cost of speed.
215 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
217 * create-mscompat-collation-table.cs : fixed Arabic thirtial weight.
219 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
221 * create-mscompat-collation-table.cs : Mapping for hyphens and
222 punctuation are kinda finished. Rewrote batch mapping method to
223 collect all NFKD. Required modification on mapping is done.
225 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
227 * create-mscompat-collation-table.cs : minor mapping fixes on accent
228 marks and punctuations.
230 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
232 * create-mscompat-collation-table.cs : Fixed some MathSymbol mapping
233 and Box drawing mapping.
235 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
237 * create-mscompat-collation-table.cs : Fixed almost all numbers.
239 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
241 * create-mscompat-collation-table.cs : Symbol mappings are almost done.
242 Removed hack that gave dummy mappings to blank symbols.
244 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
246 * create-mscompat-collation-table.cs : more fix on arrows. Fix on box
247 drawings. Some code refactoring to eliminate hack.
249 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
251 * create-mscompat-collation-table.cs : Fixed some secondary weight
252 in Devanagari and arrows.
254 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
256 * create-mscompat-collation-table.cs : a set of tiny mapping fixes.
258 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
260 * create-mscompat-collation-table.cs : some diacritical fixes for
261 Latin. Added batch mapping method that considers computed
262 diacritical weight (for numbers).
264 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
266 * managed-collation.patch : forgot to add System.String patch.
268 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
270 * MSCompatUnicodeTable.cs : added resource existence check (required
271 for mscorlib transient time from the one without resources to the
274 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
276 * create-mscompat-collation-table.cs : fixed punctuations and hyphen
277 (shift) primary weight.
279 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
281 * create-mscompat-collation-table.cs : more nonspacing mark fixes.
282 Some non-basic Cyrillic diacritical weight fixes.
284 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
286 * create-mscompat-collation-table.cs : some Gurmukhi fixes on level 1
287 and level 3. Tiny Hangul weight fixes.
288 * MSCompatUnicodeTable.cs : U+30F5 and U+30F6 are small Japanese.
290 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
292 * create-mscompat-collation-table.cs : some normal characters who have
293 "narrow" NFKD mapping are regarded as "wide" and thus level 3 weight
294 values were different. Handle U+30FB as category A.
295 * MSCompatUnicodeTable.cs : U+30FB does not have special weight.
297 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
299 * create-mscompat-collation-table.cs : more diacritical weight fixes.
300 Removed some unused code.
302 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
304 * create-mscompat-collation-table.cs : Fixed some Thai and Arabic
307 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
309 * create-mscompat-collation-table.cs : Fixed Syriac nonspacing marks.
311 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
313 * create-mscompat-collation-table.cs : Fixed nonspacing marks in
314 Malayalam, Thai and Lao. Removed extraneous hack.
316 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
318 * SimpleCollator.cs : rewrote LastIndexOf() to handle source extenders.
319 Some refactoring on IndexOf() code. Removed unused Matches().
320 * Collation-notes.txt : some methods needed to be reimplemented, so
321 rewrote the description.
323 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
325 * SimpleCollator.cs : rewrote IsSuffix() to use CompareInternal().
326 Thus supported extenders in IsSuffix().
328 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
330 * SimpleCollator.cs : more IsSuffix() simplification, but it will be
331 stopped here since it cannot handle extenders (implementing new
334 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
336 * SimpleCollator.cs : simplified IsSuffix() code.
338 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
340 * SimpleCollator.cs : Fixed IndexOf() and LasIndexOf() to search the
341 entire replacement string if char target was an expansion.
342 IsSuffix() was using a method for IsPrefix() which was incorrect.
343 Removed old IsPrefix() code.
345 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
347 * SimpleCollator.cs : IndexOf() was incorrectly sharing the same
348 byte[] field in different areas of code. Now extenders in both
349 source and target really work in IndexOf().
351 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
353 * create-mscompat-collation-table.cs : fixed U+FF9F diacritical weight.
354 * SimpleCollator.cs : handle U+FF9E and U+FF9F as extenders.
356 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
358 * SimpleCollator.cs : Now FilterExtender() handles all extender
359 support. IndexOf() and LastIndexOf() now supports extenders.
360 IndexOf() and LastIndexOf() did not proceed contraction source
361 length as expected. Tiny refactoring on private IsPrefix() to take
364 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
366 * SimpleCollator.cs : when restoring from expansion, go back to the
367 top of the loop (to avoid index out of range).
368 Now IsPrefix() is implemented to reuse Compare() and thus it now
369 supports extender as well.
370 * Collation-notes.txt : status update. Deleted optimization part in
371 status section (it is duplicate).
373 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
375 * SimpleCollator.cs : some code reordering.
376 * create-mscompat-collation-table.cs : it was still missing U+3094.
378 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
380 * SimpleCollator.cs : Compare() now supports extender (e.g. U+39FC).
382 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
384 * SimpleCollator.cs : In GetSortKey(), don't update previousChar when
385 it is not primary (e.g. don't "extend" diacritical mark).
387 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
389 * managed-collation.patch : CompareInfo.Compare() should consider
390 the possibilities that non-empty string might be actually empty
391 in culture-sensitive context.
393 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
395 * SimpleCollator.cs : IndexOf() and LastIndexOf() returns start when
396 target is "empty" (in culture-sensitive context).
398 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
400 * SimpleCollator.cs : In IndexOf() and LastIndexOf(), skip ignorable
401 characters in target string.
403 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
405 * SimpleCollator.cs : When IgnoreWidth is specified, all Kana
406 characters are regarded as half-width.
407 Even though IgnoreWidth is specified, it should not ignore case.
408 For special weight comparison, the default values (E4) are bigger
409 than non-default values.
410 * SortKeyBuffer.cs : It should save LCID and original string.
411 * create-mscompat-collation-table.cs : For Japanese half-width kana,
412 it should not be counted in widthCompat map since IgnoreWidth does
413 not really ignore those differences.
415 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
417 * create-mscompat-collation-table.cs : Fixed missing Japanese bits.
419 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
421 * create-mscompat-collation-table.cs :
422 tiny diacritical weight fix for U+20D0-U+20E1.
424 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
426 * create-mscompat-collation-table.cs : ja CJK ideograph got completed.
428 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
430 * create-mscompat-collation-table.cs : Fixed CJK custom Japanese
431 mapping. It (maybe as well as other CJK tables) mixes NFKD. For
432 Japanese, modified NFKD table (because of Windows lame design).
434 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
436 * Makefile : added MONO_USE_MANAGED_COLLATION=no almost everywhere.
437 * MSCompatUnicodeTable.cs : FillCJK() was not invoked. Now it is
438 invoked at any time it is required.
439 * SimpleCollator.cs : call FillCJK() above in .ctor().
440 * MSCompatUnicodeTableUtil.cs : CJK range was wider.
441 * create-mscompat-collation-table.cs : CJK binary was missing the
442 length. CJK remapping is being moved to ModifyUnidata().
443 For cjk-ja mapping, we have to consider compat characters to be
444 added to the map, besides the raw UCA table.
446 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
448 * SortKeyBuffer.cs : Fixed shift level computation to match w/ Windows.
450 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
452 * SimpleCollator.cs : fixed LastIndexOf() to handle _target's_
453 contraction as expected. Fixed Compare() to save s2's contraction
455 * TestDriver.cs :added LastIndexOf() tester w/ indexes.
457 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
459 * managed-collation.patch : Fixed IsPrefix() and IsSuffix(). They
460 incorrectly use Compare().
461 * TestDriver.cs : more moved to nunit tests.
463 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
465 * SimpleCollator.cs : several fixes on Compare().
466 - Ignorable characters are skippted at the top of the loop.
467 - IgnoreNonSpace is checked to avoid extraneous level 2 comparison.
468 - In such case that s1 index is increased while s2 contraction is
469 replaced, s1 is inconsistently proceeded (bug).
470 - IsIgnorable() now also checks IgnoreNonSpace.
471 - Fixed FilterOptions() that does not work for IgnoreWidth at all.
472 * TestDriver.cs : now some are moved to nunit tests.
473 * Collation-notes.txt : minor todo update.
475 2005-07-11 Atsushi Enomoto <atsushi@ximian.com>
477 * SimpleCollator.cs : Compare() was ignoring such case that both
478 entire strings have '-' to be compared.
479 * Collation-notes.txt : more status updates.
480 * TestDriver.cs : added '-' use cases.
482 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
484 * SimpleCollator.cs : to be same as other buggy part, it now handles
485 U+3005, U+3031 and U+3032 as buggy as Windows. It just repeats
487 Fixed GetSortKey(): if the repeater is U+3005, second weight is 5.
488 * create-mscompat-collation-table.cs : dummy values for extenders.
490 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
492 * SimpleCollator.cs : Special weight fixes on GetSortKey(). Dash type
493 should be computed from ExtenderType, and voice mark weight should
495 * MSCompatUnicodeTable.cs : added tiny comment.
497 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
499 * SortKey.cs : It borked when MONO_USE_MANAGED_COLLATION is not yes.
500 * SimpleCollator.cs : support for extender (U+309D etc.).
502 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
504 * create-mscompat-collation-table.cs : some punct/symbols fix.
505 * managed-collation.patch : new (and temporary) file to support
506 managed collation in mscorlib.
507 * README : described how to use managed collation.
509 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
511 * create-mscompat-collation-table.cs : Further Cyrillic fixes. Handle
512 U+482-4C8 (though needs diacritical fixes).
513 * MSCompatUnicodeTable.cs : tiny comment for alternative impl.
515 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
517 * create-mscompat-collation-table.cs : Reimplemented Cyrillic weight
518 computation code, since it looks like the same way as Latin letters
519 have. Thus removed all other approach (UCA, by letter name).
521 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
523 * create-mscompat-collation-table.cs : diacritical fix for "double-
524 struck". Syriac nonspacing fixes.
526 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
528 * create-mscompat-collation-table.cs : more math symbol weight fixes.
530 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
532 * create-mscompat-collation-table.cs : fixed Hebrew character sortkeys.
534 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
536 * create-mscompat-collation-table.cs : math symbols U+25A0-U+2600 are
537 implemented (no stub). Some other fixes on category 8-A.
539 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
541 * create-mscompat-collation-table.cs : some minor fixes on Arabic,
542 Korean and Japanese sortkey weights.
544 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
546 * create-mscompat-collation-table.cs : More diacritical fixes.
547 Georgian characters do not have level 2 weights but level 3.
549 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
551 * create-mscompat-collation-table.cs : Roman numeral characters
552 have diacritical weight. quick hack for control signs (U+2400..)
555 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
557 * create-mscompat-collation-table.cs : improving Latin mappings.
558 Setting non-ASCII Latin characters' primary weight between those
559 ASCII characters, and setting diacritical weight (hacky).
560 * MSCompatUnicodeTable.cs :
561 Kanatype check: fixed (voice marks) and improved (comparison order).
563 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
565 * create-mscompat-collation-table.cs : more diacritical fixes.
566 primary weight fixes on punctuations in category 07.
568 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
570 * create-mscompat-collation-table.cs : several diacritical fixes.
571 * TestDriver.cs : sortkey dumper should use StringSort.
573 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
575 * SimpleCollator.cs : fixed incorrect indexer setup. Optimized
576 GetContraction() call a bit.
578 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
580 * create-mscompat-collation-table.cs : fixed incorrect level 2
582 * MSCompatUnicodeTable.cs : remove debug line.
584 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
586 * MSCompatUnicodeTableUtil.cs,
587 MSCompatUnicodeTable.cs,
589 create-mscompat-collation-table.cs : made some members internal and
590 accessible from other classes. Many indexes could be 0 by default.
591 * SimpleCollator.cs : optimizations. avoid method call.
593 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
595 * Collation-notes.txt : more updates.
596 * SimpleCollator.cs : Added quick check for Ordinal comparison.
597 Fixed special weight comparison. It cannot be customizable in the
598 implementation (and it won't be harmful).
599 * mono-tailoring-source.txt : thus updated comment.
601 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
603 * SimpleCollator.cs : Compare() was missing French sort support.
604 * TestDriver.cs : added example case.
606 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
608 * Collation-notes.txt : updated status. Eliminated descriptions on
609 "iterator" (I avoided it for performance concern). Fixed misc.
610 incorrect descriptions.
612 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
614 * Collator.cs : Now that SimpleCollator became feature complete, it is
617 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
619 * SimpleCollator.cs : implemented decent Compare() that immediately
620 stops at first primary difference.
622 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
624 * SimpleCollator.cs : indexers might return -1.
626 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
628 * SimpleCollator.cs : IsPrefix() and IsSuffix() optimization code was
629 buggy (length check for source was missing).
631 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
633 * create-mscompat-collation-table.cs : Fixed tailoring table output
634 to be in correct and countable order. Now if tailoring alias was not
635 found, just stop the build.
636 * MSCompatUnicodeTable.cs : several build fixes. Now it works to read
638 * mono-tailoring-source.txt : commented out CJK aliases that miss
640 * Makefile : needed further filename fixes.
642 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
644 * MSCompatUnicodeTable.cs : renamed from MSCompatUnicodeTable.template
645 (now it is working as a standalone file).
646 * Makefile : renamed generated file as MSCompatUnicodeTableGenerated.cs
647 (the generator now creates both binary resources and C# source).
649 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
651 * create-mscompat-collation-table.cs : Now it generates binary
652 resources (to parent directory).
653 * MSCompatUnicodeTable.template : added conditional code that fills
654 collation tables from manifest resources.
655 * Makefile : remove collation table binaries as well on "make clean".
656 Removed extraneous dependency.
658 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
660 * MSCompatUnicodeTable.template,
661 SimpleCollator.cs : removed extraneous GetExpansion().
663 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
665 * SimpleCollator.cs : IsSuffix() also supports contractions.
666 * TestDriver.cs : IsSuffix() example contraction cases.
668 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
670 * SimpleCollator.cs : reverted IsSuffix() to return bool (to match w/
671 what current IsPrefix() does). For expansion of target, IsPrefix()
672 should check the no-match case that expansion is longer than input.
673 Some refactory on IsPrefix().
674 Added GetContractionTal() for IsSuffix() (not used yet).
676 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
678 * TestDriver.cs : added IsPrefix() expansion cases.
679 * SimpleCollator.cs : IsPrefix() now supports contractions (with much
680 of complexity), and it now returns bool again.
681 IndexOf() for replacement should make use of IndexOfPrimitiveChar()
682 since expansions won't be expanded recursively.
684 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
686 * SimpleCollator.cs : commonized character comparison in IsPrefix()
687 and IsSuffix(). csc compile fix.
688 * CompareInfoImpl.cs : deleted.
690 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
692 * TestDriver.cs : added SimpleCollator.ctor() sanity check.
693 Added replacement contraction example.
694 * SimpleCollator.cs : Now IndexOf() and LastIndexOf() support
695 contraction in source string. Extracted matching code to Matches().
696 Replacement contraction was including extraneous '\x0'.
698 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
700 * Collation-notes.txt : updated status.
701 * CollationDataStructures.txt : tiny fixes.
702 * SimpleCollator.cs :
703 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
704 namespace Util and csc borked).
705 GetContraction was incorrectly returning first item.
706 Private IsPrefix() now returns int (but it might not be in real use).
707 Extracted simple char comparison to CompareCharSimple().
708 IndexOf() and LastIndexOf() now fully handle contractions (both
709 binary key and string replacement) in "target" (for "s" not yet).
710 * TestDriver.cs : be more verbose.
711 * mono-tailoring-source.txt : added comment.
712 * MSCompatUnicodeTable.template :
713 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
715 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
717 * create-mscompat-collation-table.cs : compute COMBINING blah marks as
718 well as those characters WITH blah.
719 * TestDriver.cs : added combining sortkey cases.
721 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
723 * mono-tailoring-source.txt : fixed description on '*' in sortkeys.
724 * SimpleCollator.cs : Now it fully uses tailoring info. Fixed
725 contraction search that worked only when string is contraction.
726 Removed commented code. Minor refactoring.
727 * TestDriver.cs : added example that uses "ZS" in Hungarian sorting.
729 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
731 * create-mscompat-collation-table.cs,
732 * mono-tailoring-source.txt : removed extraneous level 4 sortkey
733 which cannot be supported.
734 * SimpleCollator.cs : added GetContraction() and used in some places.
735 Now CompareOptions is set only once. Reordered some code (e.g.
736 ignorable check -> get compat char -> compare).
738 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
740 * SimpleCollator.cs : sort tailoring tables before actual usage.
741 Support diacritical remappings (it is customized collation rule
742 which does not exist in UCA).
744 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
746 * SimpleCollator.cs : build culture specific tailoring table from
747 TailoringInfo and unified data array.
748 * create-mscompat-collation-table.cs : Added null termination to
749 sortkey map tailorings (mostly to save my eyes).
750 * MSCompatUnicodeTable.template : added public TailoringValues.
752 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
754 * SortKeyBuffer.cs : handle special weight (category 06) characters.
755 * Collation-notes.txt : Updated description on special weight (it was
757 * TestDriver.cs : added special weight cases.
759 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
761 * MSCompatUnicodeTable.template : added GetTailoringInfo().
762 * SimpleCollator.cs : Now tailoring information is acquired and used.
763 (FrenchSort is supported but Compare() won't work expectedly since
764 the table is still incomplete for those diacritical marks).
765 * SortKeyBuffer.cs : On reversing diacritical weights, it should
766 ignore zeros. Reset() should reset frenchSorted flag.
768 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
770 * create-mscompat-collation-table.cs : Further fixes on Jamo,
771 diacritical weights by character name, and *Numbers primary weights.
773 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
775 * create-mscompat-collation-table.cs : More fix on Devanagari,
776 Gujarati, Oliya, Tamil and Lao sortkeys.
778 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
780 * create-mscompat-collation-table.cs : Fixed Georgian, Thai, Gurmukhi
783 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
785 * create-mscompat-collation-table.cs : Fixed Thai character primary
786 and secondary values. Fixed Thaana letters. Added more LAMESPEC
787 CJK compat. Fixed some circled CJK secondary weight.
788 Hacked some nonspacing mark sortkey value adjustment.
790 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
792 * create-mscompat-collation-table.cs : CP932.TXT was not parsed as
793 expected. JIS ordering was incorrect. OtherNumbers that represents
794 10 or more values were incorrectly computed the offset. Some Hangul
795 compat characters has different offset.
797 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
799 * create-mscompat-collation-table.cs : Fixed 0x8 category characters.
800 Added hack for need-to-be-fixed characters to fall into 0xA category.
801 * create-collation-element-table.cs : previous checkin seem failed :(
802 * README: updated a bit.
804 2005-06-24 Atsushi Enomoto <atsushi@ximian.com>
806 * CodePointIndexer.cs :
807 removed extraneous switch (I could use empty array for that need).
808 * CollationElementTableUtil.cs : primary weight type became ushort.
809 * create-collation-element-table.cs : several bugfixes.
810 collElem should be int. It was skipping most of entries because of
811 incorrect string tokenization.
813 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
815 * create-mscompat-collation-table.cs : handle some Jamo NKFD.
817 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
819 * SimpleCollator.cs : forgot to commit in the last checkin.
820 * create-mscompat-collation-table.cs : fixed arabic shift weight chars.
821 * TestDriver.cs : switch table dumper and collator testing.
822 * SortKey.cs : for now comment out internal indexes (not in use).
824 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
826 * MSCompatUnicodeTable.template,
827 SimpleCollator.cs : support for culture dependent CJK table.
829 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
831 * create-mscompat-collation-table.cs,
832 MSCompatUnicodeTableUtil.cs : make CJK table more compact.
834 2005-06-22 Atsushi Enomoto <atsushi@ximian.com>
836 * SimpleCollator.cs : Fixed stupid index search when start != 0.
838 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
840 * SimpleCollator.cs : fixed my misunderstanding on LastIndexOf(). It
841 now starts from "start" and proceeds backward by "length".
842 * TestDriver.cs : fix warning.
844 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
846 * TestDriver.cs : more tests.
847 * SimpleCollator.cs : LastIndexOf() is not setting search length
848 on iteration. Quick workaround fro String.LastIndexOf() bug (maybe).
850 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
852 * create-normalization-source.cs : output propValue as uint.
854 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
856 * SortKey.cs : Now it is System.Globalization.SortKey.
857 To replace existing implementation, it now requires lcid and
858 CompareOptions. Added required members.
859 * SortKeyBuffer.cs : thus .ctor() requires LCID.
860 * SimpleCollator.cs : made required changes above.
862 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
864 * CodePointIndexer.cs : added CompressArray(). Now it requires two more
865 parameters for default index and codepoint.
866 * CollationElementTableUtil.cs,
867 NormalizationTableUtil.cs : required changes wrt above change.
868 * MSCompatUnicodeTableUtil.cs : added for several codepoint indexers.
869 * MSCompatUnicodeTable.template : Now it uses codepoint indexer.
870 * create-mscompat-collation-table.cs : Now it outputs compressed array.
871 * Makefile : now collation requires MSCompatUnicodeTableUtil.cs
873 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
875 * SimpleCollator.cs :
876 Implemented IsSuffix() and LastIndexOf().
877 Several fixes on index > 0 cases.
878 * TestDriver.cs : sample IsSuffix() and LastIndexOf() usage and more.
880 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
882 * Collation-notes.txt : updated (status, impl. classes).
883 * MSCompatUnicodeTable.cs : Korean Jamo are not really expansions.
885 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
887 * SimpleCollator.cs : implemented IndexOf(string,string,CompareOptions)
888 and IsPrefix(). Tiny code refactory.
889 * TestDriver.cs : sample IsPrefix() and IndexOf() usage.
890 * MSCompatUnicodeTable.cs : tiny refactory for CodePointIndexer use.
892 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
894 * SimpleCollator.cs :
895 IndexOf(string, char, CompareOptions) implementation.
896 * TestDriver.cs : sample IndexOf() usage.
898 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
900 * create-mscompat-collation-table.cs : was missing most important
901 kind of blocks - equivalent expansions (e.g. invariant mappings).
902 More readable mappings.
904 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
906 * mono-tailoring-source.txt : new file. It describes tailoring
907 information. Basically examined under .NET 1.x.
908 * create-mscompat-collation-table.cs : consume the file above.
909 * MSCompatUnicodeTable.template : now tailorings is not a stub.
910 * CollationDataStructures.txt : minor fixes.
912 SimpleCollator.cs : added FrenchSort support.
913 * Collation-notes.txt : added description on Latin primary weights.
914 * ldml-limited.rng : added note.
915 * create-tailorings.cs : added note. more serialization (but won't be
918 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
920 * SortKeyBuffer.cs : non-primary character is added to previous
922 * TestDriver.cs : added example case of above.
924 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
926 * SimpleCollator.cs : IgnoreSymbols support.
927 * TestDriver.cs : compilation fix. IgnoreSymbols example.
928 * create-mscompat-collation-table.cs : more Hangul fixes.
930 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
932 * create-mscompat-collation-table.cs : more Hangul fixes.
933 * SortKey.cs : it will replace sys.globalization.SortKey. It has
934 some internal members.
935 * SortKeyBuffer.cs : now it uses SortKey instead of byte[].
936 * SimpleCollator.cs : CompareOptions support. However I don't think
937 it will be developed anymore since SortKey never enables IndexOf().
938 * TestDriver.cs : a few CompareOptions cases.
940 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
942 * SimpleCollator.cs : simple collator implementation that just will
943 use GetSortKey() for all its basis.
944 * TestDriver.cs : sample code that uses this collator set.
945 * MSCompatUnicodeTable.template : removed test driver from here.
947 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
949 * create-mscompat-collation-table.cs : Hangul fixes.
950 Now less than 300 characters that does not have sortkey weights.
951 * MSCompatUnicodeTable.template : added FIXME info for Hangul Jamo.
953 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
955 * create-mscompat-collation-table.cs : Added control picture mappings.
956 Minor primary weight fixes.
958 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
960 * create-mscompat-collation-table.cs : Added mappings for box
963 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
965 * create-mscompat-collation-table.cs : Added mappings for arrows.
967 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
969 * create-mscompat-collation-table.cs : added support for letterlike
970 characters and squared CJK compatibility characters, ordered by
971 character names (0x0E category).
972 * Collation-notes.txt : added description on that.
974 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
976 * MSCompatUnicodeTable.template : Now expansions are simulated.
977 * create-mscompat-collation-table.cs : filled Korean number level2.
978 Reordered some code blocks to fill correct diacritical differences.
979 * Collation-notes.txt : some corrections and minor additions.
981 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
983 * MSCompatUnicodeTable.template :
984 Now dumper test driver uses SortKeyBuffer for dogfooding.
985 * create-mscompat-collation-table.cs : some diacritical level fixes
986 (with non-working extra latin check).
987 * SortKeyBuffer.cs : several fixes to get working as a practical code.
988 * Collator.cs : make it compilable, leaving things as NotImplemented.
990 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
992 * create-mscompat-collation-table.cs : some fixes on primary category
993 07 (miscellaneous symbols and punctuations).
995 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
997 * create-mscompat-collation-table.cs : more mapping fix on numbers,
998 letters, variable weight characters, circled Japanese and CJK.
999 * MSCompatUnicodeTable.template : fixed HasSpecialWeight() to be more
1000 inclusive. Simplified dumper code.
1002 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1004 * create-mscompat-collation-table.cs : finished Hangul (both Jamo
1005 and Syllables). sortkey dumper diff lines became 8000 from 30000.
1007 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1009 * create-mscompat-collation-table.cs : added some nonspacing marks in
1010 either correct or hacky way.
1012 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
1014 * create-mscompat-collation-table.cs : several improvements. Japanese
1015 Kana support, Hebrew accents, Bengali nonspacing marks, sorting of
1016 numeric characters, diacritically decorated latin alphabets. Fixed
1017 some diacritical weights detection.
1018 * MSCompatUnicodeTable.cs : tiny Japanese fix. Handle nonspacing
1019 marks' primary weight as empty.
1020 * Collation-notes.txt : some updates.
1022 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
1024 * create-mscompat-collation-table.cs : don't process nonexact NFKD
1025 mapping as equivalent, however store CJK extensions into NFKD map
1026 even if one does not strictly match.
1027 Now am going to fill Hangul into tables (unlike UCA it does not look
1028 possible to calculate sortkey value).
1029 Fixed Cyrillic and Georgian UCA based orderings.
1030 * MSCompatUnicodeTable.template : added CJK extension sortkey
1033 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
1035 * create-mscompat-collation-table.cs : Fixed latin alphabet support.
1036 Added latin with diacritical and CJK extension.
1037 * MSCompatUnicodeTable.cs : modified dumper code a bit (for my purpose).
1039 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
1041 * create-mscompat-collation-table.cs : now parses DerivedAge.txt (right
1042 now not used thouth). Filled CJK ideograph, still not perfect.
1043 Fixed number primary keys. NFKD numbers and CJK ideographs are now
1044 considered, including brackets elimination.
1045 * Makefile : now it downloads DerivedAge.txt.
1046 * MSCompatUnicodeTable.template : added dummy code dumper. It computes
1047 PrivateUse, Surrogate and Hangul Syllables.
1048 * Collation-notes.txt : Noted that Hangul Syllables need more love.
1050 2005-06-09 Atsushi Enomoto <atsushi@ximian.com>
1052 * create-tailorings.cs : added configuration support. sort them.
1053 I wonder if it is really usable. Having own format might be better.
1054 * create-mscompat-collation-table.cs : fixing some sortkey numbers,
1055 making closer to windows. Now it handles NFKD in some places.
1056 * MSCompatUnicodeTable.template : Added dummy sortkey dumper driver.
1057 * CollationDataStructures.txt : added description on tailoring
1058 fields, though they are subject to change.
1060 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
1062 * create-tailorings.cs, ldml-limited.rng : new file.
1063 * LdmlReader.cs : removed old file.
1065 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
1067 * SortKeyBuffer.cs : split from Collator.cs. Now it considers
1068 practical use, reflecting updated sortkey constant design.
1069 Especially level 4 weight is split to 4 arrays that are merged in
1070 the last stage of GetSortKey().
1071 * Collator.cs : thus SortKeyBuffer is removed from here.
1072 Additionally, removed some extraneous bits in other classes.
1073 * Collation-notes.txt : Some editorial fixes. Added information on
1074 Korean matter (how to compute Hangle Syllables / Hangul Jamo cannot
1075 be stored in simple byte arrays).
1076 * CodePointIndexer.cs,
1077 create-collation-element-table.cs,
1078 CollationElementTable.template,
1079 NormalizationTableUtil.cs : short CodePointIndexer method names.
1080 * create-mscompat-collation-table.cs : Additional info on why some
1081 meaningful characters are ignored in Windows (Unicode version
1082 difference). Removed U+070F from special check (was extraneous).
1084 2005-06-06 Atsushi Enomoto <atsushi@ximian.com>
1086 * MSCompatUnicodeTable.template:
1087 Moved body implementation to table creator and put those bool
1088 results into an array.
1089 * create-mscompat-collation-table.cs :
1090 So imported those methods. Modified array output to emit "0x"
1091 only for more than 9.
1092 * create-normalization-source.cs : ditto on "0x" output matter.
1093 * CollationDataStructures.txt : so now it holds ignorableFlags.
1095 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
1097 * Collation-notes.txt, CollationDataStructures.txt :
1098 separate document for data structure design.
1100 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
1102 * create-mscompat-collation-table.cs : added culture-dependent CJK
1103 table creation. It uses CLDR as its basis. (Culture independent CJK
1105 * Makefile : added CLDR archive downloading support.
1106 * MSCompatUnicodeTable.template : tiny renamings.
1107 * Collation-notes.txt : additional CJK info.
1109 2005-06-02 Atsushi Enomoto <atsushi@ximian.com>
1111 * Collation-notes.txt, create-mscompat-collation-table.cs :
1112 added secondary weight support for BlahNumber characters.
1114 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
1116 * downloaded : added directory. All downloaded files are stored here.
1117 * Makefile : use "downloaded" directory.
1118 Added more auto-download stuff.
1119 * create-mscompat-collation-table.cs :
1120 Added Japanese square kana support.
1122 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
1124 * Collation-notes.txt : added Estrangela (ancient Syriac) and Thaana.
1125 * create-mscompat-collation-table.cs : added support for Arabic abjad,
1126 Estrangela and Thaana.
1127 * MSCompatUnicodeTable.template : removed BOM.
1129 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1131 * Collation-notes.txt : wrong comment cleanup and spelling fixes.
1132 * create-mscompat-collation-table.cs : added diacritic support for
1133 Latin letters (as long as covered in primary weight).
1135 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1137 * Makefile : minor fixes. Added warning lines to generated sources.
1139 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1141 * create-char-mapping-source.cs :
1142 Removed ToWidthInsensitive() generation.
1144 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1146 * create-mscompat-collation-table.cs : Now it dumps level1 to 3 values.
1147 ToWidthInsensitive() is implemented here, using an array (which is
1148 to be optimized using CodePointIndexer).
1149 * MSCompatUnicodeTable.cs : renamed as MSCompatUnicodeTable.template
1150 * MSCompatUnicodeTable.template : now it is used to generate
1151 MSCompatUnicodeTable.cs which got ready to be used.
1152 * Makefile : added MSCompatUnicodeTable.cs build support. Now it
1153 supports "make normalization" and "make collation".
1155 2005-05-30 Atsushi Enomoto <atsushi@ximian.com>
1157 * Collation-notes.txt : Description on ICU is very incorrect. Now it
1158 became more rational and sane.
1159 * create-mscompat-collation-table.cs : fixed some indexes.
1160 * Makefile : added "mstablegen" target.
1161 * MSCompatUnicodeTable.cs : removed GetPrimaryWeight(). Minor fix.
1163 2005-05-26 Atsushi Enomoto <atsushi@ximian.com>
1165 * Collation-notes.txt : more analysis on "letters".
1166 * create-mscompat-collation-table.cs : more proof of concepts.
1168 2005-05-25 Atsushi Enomoto <atsushi@ximian.com>
1170 * Collation-notes.txt : more info. Started letter sortkey analysis
1171 (some of other stuff are really non-understandable right now.)
1172 * create-mscompat-collation-table.cs : table generator proof-of-
1173 concept source (not compilable).
1174 * MSCompatUnicodeTable.cs : moved some code to the new source.
1177 2005-05-20 Atsushi Enomoto <atsushi@ximian.com>
1179 * Collation-notes.txt : started level 2 weight analysis.
1181 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
1183 * Collation-notes.txt : Additional information on how to create
1185 * MSCompatUnicodeTable.cs : implemented part of GetLevel3Weight().
1187 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
1189 * Collation-notes.txt : More case weight (level 3) analysis. I'm
1190 likely to just write table generator.
1192 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
1194 * MSCompatUnicodeTable.cs : part of level 4 weight implementation.
1196 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
1198 * Collation-notes.txt :
1200 Revised comparison methods; backward iteration is possible.
1201 More on char-by-char comparison.
1202 Level 4 comparison is actually a bit more complex.
1204 * Collator.cs : some conceptual updates wrt above.
1206 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
1208 * Collation-notes.txt : Japanese voice mark is level 2, and Hangul
1209 properties are level 3.
1211 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
1213 * Collation-notes.txt : Make it more readable. More analysis on
1214 level 3 and 4 sortkey structures.
1215 * Collator.cs : some compilation fixes (not compilable yet).
1217 2005-05-16 Atsushi Enomoto <atsushi@ximian.com>
1219 * Collation-notes.txt : Analysis on variable-weighting (level 5)
1221 * Collator.cs : updated corresponding part of level 5, and more.
1223 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1225 * Collation-notes.txt : more updates.
1226 * Collator.cs : rewrote from scratch. Some rough sketch for sortkey
1227 buffer, character iterator and collator methods. Not compiling.
1229 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1231 * Collator.cs : Am going to replace it with new one. No need for
1232 CompareOptions-dependent Comparer.
1234 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1236 * Collation-notes.txt : There seems a bit more complexity.
1238 2005-05-10 Atsushi Enomoto <atsushi@ximian.com>
1240 * Collation-notes.txt : more updates, being close to write sortkey
1243 2005-05-09 Atsushi Enomoto <atsushi@ximian.com>
1245 * CompareInfoImpl.cs, Collator.cs : conceptual update
1246 * Collation-notes.txt : some corrections and additions.
1247 * Makefile : added LDML input (but it won't be used at all).
1249 2005-04-28 Atsushi Enomoto <atsushi@ximian.com>
1251 * Collation-notes.txt : more updates.
1253 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
1255 * Collation-notes.txt : more updates.
1257 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
1259 * Collation-notes.txt : some updates.
1260 * create-mapping-char-source.cs : superscripts and subscripts are also
1261 ignored in IgnoreWidth comparison.
1262 * Makefile : tiny touch fix.
1264 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1266 * CompareInfoImpl.cs, Collator.cs : conceptual stuff (not working).
1268 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1270 * create-char-mapping-source.cs : Now it generates
1271 ToWidthInsensitive() from combining category <wide> and <narrow>.
1272 * MSCompatUnicodeTable.cs : added ToKanaTypeInsensitive() and
1273 ToWidthInsensitive() for IgnoreKanaType and IgnoreWidth.
1275 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1277 * README, LdmlReader.cs, DataStructures.txt : new files.
1279 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1281 * CodePointIndexer.cs,
1282 Collation-notes.txt,
1283 CollationElementTable.template,
1284 CollationElementTableUtil.cs,
1285 create-char-mapping-source.cs,
1286 create-collation-element-table.cs,
1287 create-combining-class-source.cs,
1288 create-normalization-source.cs,
1290 MSCompatUnicodeTable.cs,
1291 Normalization.template,
1292 NormalizationTableUtil.cs : initial checkin (to private branch).