1 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
3 * MSCompatUnicodeTable.cs : (IsIgnorable) \0 is not ignorable.
6 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
9 Created another struct to reduce method arguments. Created another
10 flags that keeps "once-matched" state (counterpart of
11 checkedFlags, now neverMatchFlags).
13 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
16 - Added CompareOrdinalIgnoreCase() for NET_2_0 RTM.
17 - Reduced extra parameter from LastIndexOfSortKey().
18 - LastIndexOf() should use GetTailContraction for the source string.
19 And then, target could match in the middle of the possible
20 "replacement contraction" of the source string, so use
21 LastIndexOfSortKey() to catch them.
22 - Fixed GetTailContraction() that caused index out of range.
24 2005-11-11 Atsushi Enomoto <atsushi@ximian.com>
26 * Makefile : Now use MONO_DISABLE_MANAGED_COLLATION.
27 * SortKey.cs : some members are virtual.
29 2005-10-14 Atsushi Enomoto <atsushi@ximian.com>
31 * SimpleCollator.cs : modified to use stackalloc for byte array.
33 2005-09-27 Atsushi Enomoto <atsushi@ximian.com>
35 * SimpleCollator.cs : in CompareInternal(), there was a possibility of
36 infinite loop. Fixed bug #76243.
38 2005-09-20 Atsushi Enomoto <atsushi@ximian.com>
40 * SimpleCollator.cs : In IsPrefix/IsSuffix, if target is an empty string,
41 immediately return true.
43 2005-09-09 Atsushi Enomoto <atsushi@ximian.com>
45 * SimpleCollator.cs : IsSuffix() optimization logic was buggy, so just
46 use pretty simple way with LastIndexOf() (no significant perf.
49 2005-09-01 Atsushi Enomoto <atsushi@ximian.com>
51 * README, Collation-notes.txt, CollationDataStructures.txt :
52 removing obsolete info and some added some notes.
54 2005-08-10 Atsushi Enomoto <atsushi@ximian.com>
56 * Normalization.cs : remove warned code.
57 * managed-collation.patch : now it's not required anymore.
59 2005-08-10 Atsushi Enomoto <atsushi@ximian.com>
61 * MSCompatUnicodeTable.cs : added IsSortable(string).
63 2005-08-10 Atsushi Enomoto <atsushi@ximian.com>
65 * SimpleCollator.cs : Now all collator methods are thread safe.
67 All instance non-readonly fields turned into arguments of every
68 methods that use those fields.
69 (Sadly it is the end of no-memory-cost collator era. mcs bootstrap
70 now needs +100KB memory consumption.)
72 2005-08-09 Atsushi Enomoto <atsushi@ximian.com>
74 * SimpleCollator.cs : made "checkedFlags" as nullable and made it as
75 an argument of every index methods (to make it thread safe).
77 2005-08-09 Atsushi Enomoto <atsushi@ximian.com>
80 MSCompatUnicodeTable.cs :
81 - Now IsIgnorable() is aggregated to be one invokation to check
82 completely ignorable, nonspacing and symbols.
83 - Introduced "already checked" flags for IndexOf() and LastIndexOf()
84 to skip sortkey binary check on the same characters. Significant
85 perf. improvement for such case as IndexOf("AABCBABC...Z",'Z').
87 2005-08-08 Gert Driesen <drieseng@users.sourceforge.net>
89 * SortKey.cs: Marked Serializable to match MS.NET.
91 2005-08-08 Atsushi Enomoto <atsushi@ximian.com>
93 * create-mscompat-collation-table.cs,
94 Makefile : changed resources output directory.
96 2005-08-04 Atsushi Enomoto <atsushi@ximian.com>
98 * create-normalization-tests.cs,
99 StringNormalizationTestSource.cs : new files for Unicode
100 Normalization test generator.
101 * Makefile : added support for above.
103 2005-08-03 Atsushi Enomoto <atsushi@ximian.com>
105 * NormalizationTableUtil.cs : oops, it does not compile.
106 * managed-collation.patch : I guess having managed resource would be
107 better for collation. At least current code has such #define so
108 Makefile should be in sync with it.
110 2005-08-03 Atsushi Enomoto <atsushi@ximian.com>
112 * create-normalization-source.cs : Fixed CharMapComparer which
113 incorrectly returned 0 when the second arg is shorter. Reduced
114 extraneous helperIndex map. Other minor fixes and code removal.
115 * Normalization.cs : several fixes to support blocked combine handling.
116 * NormalizationTableUtil.cs : tiny member renaming.
118 2005-08-03 Atsushi Enomoto <atsushi@ximian.com>
120 * create-normalization-source.cs,
121 NormalizationTableUtil.cs,
122 Normalization.cs : several bugfixes on index miscomputation.
123 Renamed using aliases (csc will bork). Primary combine safety is now
124 computed during UnicodeData.txt parse.
125 Maximum NFKD length was 18, not 4 (U+FDFA).
127 2005-08-02 Atsushi Enomoto <atsushi@ximian.com>
129 * managed-collation.patch : added Normalization support.
130 * managed-collation-icall.patch : added, including normalization stuff.
132 BTW when will collation code checked in?
134 2005-08-02 Atsushi Enomoto <atsushi@ximian.com>
136 * create-normalization-source.cs : Unified three normalization source
137 generators, to compute IsUnsafe flag. Fixed helperIndex array type
139 * create-char-mapping-source.cs,
140 create-combining-class-source.cs : thus removed.
141 * Makefile : thus modified for the above integration.
142 * NormalizationTableUtil.cs : Extended to contain IsUnsafe flag.
143 * Normalization.cs : Several fixes to make Normalize() actually work.
145 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
147 * create-normalization-source.cs,
149 create-char-mapping-source.cs,
150 create-combining-class-source.cs,
151 Makefile : converted managed array to pointers (like collation stuff).
153 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
155 * NormalizationTableUtil.cs : further table range optimization.
156 * create-normalization-source.cs,
157 create-char-mapping-source.cs,
158 create-combining-class-source.cs : added C header output support.
160 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
162 * create-normalization-source.cs, Normalization.cs :
163 Now property size is < 256, so directly embed value in "props" array.
164 Add QuickCheck(c,checkType) and remove IsNFD/C/KD/KC and delegates.
166 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
168 * create-combining-class-source.cs,
169 create-char-mapping-source.cs,
170 create-normalization-source.cs,
171 NormalizationTableUtil.cs,
172 Normalization.cs : String.Normalize() does not handle surrogate
173 characters. mapping information in DerivedNormalizationProps.txt
174 are not used in the code (those from UnicodeData.txt is used).
175 Hangul syllables are computed instead of embedded in the tables.
176 * managed-collation.patch : removed IntPtrStream and Makefile patches.
178 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
180 * MSCompatUnicodeTable.cs : IsSortable() was broken.
182 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
184 * MSCompatUnicodeTable.cs : added helper for CompareInfo.IsSortable().
186 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
188 * create-tailoring.cfg : added for convenience of contraction check.
190 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
192 * create-normalization-source.cs,
195 create-mscompat-collation-table.cs,
196 MSCompatUnicodeTableUtil.cs,
198 create-collation-element-table.cs,
199 MSCompatUnicodeTable.cs,
201 create-combining-class-source.cs : added copyright lines.
203 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
205 MSCompatUnicodeTable.cs : removed extraneous definition.
207 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
209 * create-mscompat-collation-table.cs
210 MSCompatUnicodeTable.cs : full C header support, finally.
212 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
215 NormalizationTableUtil.cs,
216 create-char-mapping-source.cs : more aggressive data compression.
217 It now ignores characters that are >= U+10000.
219 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
222 Normalization.template,
223 Normalization.cs : renamed existing file.
225 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
227 * NormalizationTableUtil.cs,
228 Normalization.template,
229 create-combining-class-source.cs : GetCombiningClass is now
230 implemented as indexer based array.
231 * Makefile : renamed output filename.
232 * create-mscompat-collation-table.cs : removed comments that does not
234 * create-tailoring.cs : use utf-8 output (and fixed filename).
236 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
238 * create-mscompat-collation-table.cs : hacked safer IPA extensions.
239 * Collation-notes.txt : status of sortkey table.
241 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
243 * create-mscompat-collation-table.cs : some Greek mapping fix.
245 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
247 * create-mscompat-collation-table.cs : diacritical weight is not
248 treated correctly when they are picked from letter names, as flags.
250 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
252 * create-mscompat-collation-table.cs : fixed culture-dependent
253 nonspacing mark weight.
255 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
257 * create-mscompat-collation-table.cs : some Hebrew case letter fixes.
258 Some diacritical fixes on symbols.
260 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
262 * create-mscompat-collation-table.cs : Fixed level 3 weight of
263 Arabic presentation forms.
265 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
267 * create-mscompat-collation-table.cs : Fixed some diacritical weight
268 of Arabic presentation forms.
270 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
272 * SimpleCollator.cs : more status updates. It's almost complete,
273 except for sortkey values.
275 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
277 * SimpleCollator.cs : similar optimization also for LastIndexOf().
279 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
281 * SimpleCollator.cs : the previous patch was missing IgnoreNonSpace
284 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
286 * SimpleCollator.cs : reduced extra sortkey value computation in
287 MatchesForward(). It makes IndexOf() roughly 30% faster.
289 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
291 * SortKey.cs : GetHashCode() returns a value based on its byte data.
294 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
296 * SimpleCollator.cs : consider extractions in invariant culture.
298 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
300 * SimpleCollator.cs : (unsafeFlags) be compact ;-)
302 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
304 * SimpleCollator.cs : When the tail of the target does not match more
305 than 3 times, then IsSuffix() will never be true (3 is the max
306 length of an expansion; \uFB03 -> ffi). It brings significant
307 performance boost when "source" string is very long.
308 * MSCompatUnicodeTable.cs : added MaxExpansionLength constant.
309 Reordered code lines.
311 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
313 * Collation-notes.txt : updated implementation status.
315 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
317 * SimpleCollator.cs : Implemented quick codepoint comparison in
318 Compare(). Comparison became 125x faster.
319 * mono-tailoring-source.txt : added tiny comment.
321 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
323 * mono-tailoring-source.txt : Added all single sortkey remapping to
324 all cultures (still need to fill contractions and annotate possible
325 buggy mapping referencing to CLDR).
326 * SimpleCollator.cs : removed unused code.
327 * MSCompatUnicodeTable.cs : tiny cast removal.
329 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
332 create-mscompat-collation-table.cs
333 MSCompatUnicodeTableUtil.cs
334 MSCompatUnicodeTable.cs : Now CJK mapping data is stored as byte
335 arrays. Thus SimpleCollator does not need to use bitwise and shift
336 operations to get sortkey value and they could be managed resources.
338 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
340 * create-mscompat-collation-table.cs,
341 MSCompatUnicodeTable.cs,
342 MSCompatUnicodeTableUtil.cs : From the result of sortkey comparison
343 between None and IgnoreWidth, width compat table could be computed
344 in somewhat simple way. So removed that table and all related code.
345 Increased the collation resource version.
347 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
349 * create-mscompat-collation-table.cs : Added C header output support.
351 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
353 * create-mscompat-collation-table.cs : FillLetterNFKD() could also be
354 applied to Cyrillic letters. Saved some of them.
356 2005-07-24 Atsushi Enomoto <atsushi@ximian.com>
358 * MSCompatUnicodeTable.cs : oh, ok, so we already have
359 GetManifestResourceInternal() ;-)
360 * managed-collation.patch : in Assembly.cs made that method internal.
362 2005-07-24 Atsushi Enomoto <atsushi@ximian.com>
364 * MSCompatUnicodeTable.cs : the pointer based icall code could be
365 also applicable for USE_MANAGED_RESOURCE mode.
367 2005-07-23 Atsushi Enomoto <atsushi@ximian.com>
369 * MSCompatUnicodeTable.cs : added icall support code (not enabled
370 unless the first line is commented out).
372 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
374 * create-mscompat-collation-table.cs,
375 MSCompatUnicodeTableUtil.cs,
376 MSCompatUnicodeTable.cs : Added resource version output (and ignore
377 in case of version mismatch). Removed obsolete, commented out code.
379 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
382 MSCompatUnicodeTable.cs,
383 create-mscompat-collation-table.cs : Now they use unmanaged pointers
384 instead of managed arrays.
385 * managed-collation.patch : Now it contains patch for IntPtrStream.cs
386 and Assembly.cs as well.
388 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
390 * MSCompatUnicodeTable.cs,
391 SimpleCollator.cs : Moved tailoring support classes to
392 MSCompatUnicodeTable.cs and drawn out from SimpleCollator.
393 Now that cjk and tailoring support are filled inside
394 MSCompatUnicodeTable, no managed array is exposed.
396 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
398 * create-mscompat-collation-table.cs,
400 MSCompatUnicodeTable.cs : Now it's not exposing collation table
401 internals as managed arrays (to switch to unmanaged pointers).
403 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
405 * create-mscompat-collation-table.cs : tiny nonspacing mark fix.
407 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
409 * create-mscompat-collation-table.cs : Fixed most of Greek mappings.
410 * MSCompatUnicodeTable.cs : don't lock string.
412 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
414 * create-mscompat-collation-table.cs : More Cyrillic diacritical fixes.
416 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
418 * create-mscompat-collation-table.cs : More Latin diacritical fixes.
420 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
422 * create-mscompat-collation-table.cs : There were still missing
423 math symbol mappings. Added several hacky diacritical weight for
426 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
428 * create-mscompat-collation-table.cs : fixed a few diacritical weight
429 on Cyrillic characters. Fixed ParseTailoringSource() to handle
430 non-heading escape sequence (\uXXXX) as expected.
432 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
434 * create-mscompat-collation-table.cs,
435 MSCompatUnicodeTableUtil.cs,
436 MSCompatUnicodeTable.cs : added more aggressive index limits for
437 table optimization at data size, in cost of speed.
439 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
441 * create-mscompat-collation-table.cs : fixed Arabic thirtial weight.
443 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
445 * create-mscompat-collation-table.cs : Mapping for hyphens and
446 punctuation are kinda finished. Rewrote batch mapping method to
447 collect all NFKD. Required modification on mapping is done.
449 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
451 * create-mscompat-collation-table.cs : minor mapping fixes on accent
452 marks and punctuations.
454 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
456 * create-mscompat-collation-table.cs : Fixed some MathSymbol mapping
457 and Box drawing mapping.
459 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
461 * create-mscompat-collation-table.cs : Fixed almost all numbers.
463 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
465 * create-mscompat-collation-table.cs : Symbol mappings are almost done.
466 Removed hack that gave dummy mappings to blank symbols.
468 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
470 * create-mscompat-collation-table.cs : more fix on arrows. Fix on box
471 drawings. Some code refactoring to eliminate hack.
473 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
475 * create-mscompat-collation-table.cs : Fixed some secondary weight
476 in Devanagari and arrows.
478 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
480 * create-mscompat-collation-table.cs : a set of tiny mapping fixes.
482 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
484 * create-mscompat-collation-table.cs : some diacritical fixes for
485 Latin. Added batch mapping method that considers computed
486 diacritical weight (for numbers).
488 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
490 * managed-collation.patch : forgot to add System.String patch.
492 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
494 * MSCompatUnicodeTable.cs : added resource existence check (required
495 for mscorlib transient time from the one without resources to the
498 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
500 * create-mscompat-collation-table.cs : fixed punctuations and hyphen
501 (shift) primary weight.
503 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
505 * create-mscompat-collation-table.cs : more nonspacing mark fixes.
506 Some non-basic Cyrillic diacritical weight fixes.
508 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
510 * create-mscompat-collation-table.cs : some Gurmukhi fixes on level 1
511 and level 3. Tiny Hangul weight fixes.
512 * MSCompatUnicodeTable.cs : U+30F5 and U+30F6 are small Japanese.
514 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
516 * create-mscompat-collation-table.cs : some normal characters who have
517 "narrow" NFKD mapping are regarded as "wide" and thus level 3 weight
518 values were different. Handle U+30FB as category A.
519 * MSCompatUnicodeTable.cs : U+30FB does not have special weight.
521 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
523 * create-mscompat-collation-table.cs : more diacritical weight fixes.
524 Removed some unused code.
526 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
528 * create-mscompat-collation-table.cs : Fixed some Thai and Arabic
531 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
533 * create-mscompat-collation-table.cs : Fixed Syriac nonspacing marks.
535 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
537 * create-mscompat-collation-table.cs : Fixed nonspacing marks in
538 Malayalam, Thai and Lao. Removed extraneous hack.
540 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
542 * SimpleCollator.cs : rewrote LastIndexOf() to handle source extenders.
543 Some refactoring on IndexOf() code. Removed unused Matches().
544 * Collation-notes.txt : some methods needed to be reimplemented, so
545 rewrote the description.
547 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
549 * SimpleCollator.cs : rewrote IsSuffix() to use CompareInternal().
550 Thus supported extenders in IsSuffix().
552 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
554 * SimpleCollator.cs : more IsSuffix() simplification, but it will be
555 stopped here since it cannot handle extenders (implementing new
558 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
560 * SimpleCollator.cs : simplified IsSuffix() code.
562 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
564 * SimpleCollator.cs : Fixed IndexOf() and LasIndexOf() to search the
565 entire replacement string if char target was an expansion.
566 IsSuffix() was using a method for IsPrefix() which was incorrect.
567 Removed old IsPrefix() code.
569 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
571 * SimpleCollator.cs : IndexOf() was incorrectly sharing the same
572 byte[] field in different areas of code. Now extenders in both
573 source and target really work in IndexOf().
575 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
577 * create-mscompat-collation-table.cs : fixed U+FF9F diacritical weight.
578 * SimpleCollator.cs : handle U+FF9E and U+FF9F as extenders.
580 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
582 * SimpleCollator.cs : Now FilterExtender() handles all extender
583 support. IndexOf() and LastIndexOf() now supports extenders.
584 IndexOf() and LastIndexOf() did not proceed contraction source
585 length as expected. Tiny refactoring on private IsPrefix() to take
588 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
590 * SimpleCollator.cs : when restoring from expansion, go back to the
591 top of the loop (to avoid index out of range).
592 Now IsPrefix() is implemented to reuse Compare() and thus it now
593 supports extender as well.
594 * Collation-notes.txt : status update. Deleted optimization part in
595 status section (it is duplicate).
597 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
599 * SimpleCollator.cs : some code reordering.
600 * create-mscompat-collation-table.cs : it was still missing U+3094.
602 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
604 * SimpleCollator.cs : Compare() now supports extender (e.g. U+39FC).
606 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
608 * SimpleCollator.cs : In GetSortKey(), don't update previousChar when
609 it is not primary (e.g. don't "extend" diacritical mark).
611 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
613 * managed-collation.patch : CompareInfo.Compare() should consider
614 the possibilities that non-empty string might be actually empty
615 in culture-sensitive context.
617 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
619 * SimpleCollator.cs : IndexOf() and LastIndexOf() returns start when
620 target is "empty" (in culture-sensitive context).
622 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
624 * SimpleCollator.cs : In IndexOf() and LastIndexOf(), skip ignorable
625 characters in target string.
627 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
629 * SimpleCollator.cs : When IgnoreWidth is specified, all Kana
630 characters are regarded as half-width.
631 Even though IgnoreWidth is specified, it should not ignore case.
632 For special weight comparison, the default values (E4) are bigger
633 than non-default values.
634 * SortKeyBuffer.cs : It should save LCID and original string.
635 * create-mscompat-collation-table.cs : For Japanese half-width kana,
636 it should not be counted in widthCompat map since IgnoreWidth does
637 not really ignore those differences.
639 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
641 * create-mscompat-collation-table.cs : Fixed missing Japanese bits.
643 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
645 * create-mscompat-collation-table.cs :
646 tiny diacritical weight fix for U+20D0-U+20E1.
648 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
650 * create-mscompat-collation-table.cs : ja CJK ideograph got completed.
652 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
654 * create-mscompat-collation-table.cs : Fixed CJK custom Japanese
655 mapping. It (maybe as well as other CJK tables) mixes NFKD. For
656 Japanese, modified NFKD table (because of Windows lame design).
658 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
660 * Makefile : added MONO_USE_MANAGED_COLLATION=no almost everywhere.
661 * MSCompatUnicodeTable.cs : FillCJK() was not invoked. Now it is
662 invoked at any time it is required.
663 * SimpleCollator.cs : call FillCJK() above in .ctor().
664 * MSCompatUnicodeTableUtil.cs : CJK range was wider.
665 * create-mscompat-collation-table.cs : CJK binary was missing the
666 length. CJK remapping is being moved to ModifyUnidata().
667 For cjk-ja mapping, we have to consider compat characters to be
668 added to the map, besides the raw UCA table.
670 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
672 * SortKeyBuffer.cs : Fixed shift level computation to match w/ Windows.
674 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
676 * SimpleCollator.cs : fixed LastIndexOf() to handle _target's_
677 contraction as expected. Fixed Compare() to save s2's contraction
679 * TestDriver.cs :added LastIndexOf() tester w/ indexes.
681 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
683 * managed-collation.patch : Fixed IsPrefix() and IsSuffix(). They
684 incorrectly use Compare().
685 * TestDriver.cs : more moved to nunit tests.
687 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
689 * SimpleCollator.cs : several fixes on Compare().
690 - Ignorable characters are skippted at the top of the loop.
691 - IgnoreNonSpace is checked to avoid extraneous level 2 comparison.
692 - In such case that s1 index is increased while s2 contraction is
693 replaced, s1 is inconsistently proceeded (bug).
694 - IsIgnorable() now also checks IgnoreNonSpace.
695 - Fixed FilterOptions() that does not work for IgnoreWidth at all.
696 * TestDriver.cs : now some are moved to nunit tests.
697 * Collation-notes.txt : minor todo update.
699 2005-07-11 Atsushi Enomoto <atsushi@ximian.com>
701 * SimpleCollator.cs : Compare() was ignoring such case that both
702 entire strings have '-' to be compared.
703 * Collation-notes.txt : more status updates.
704 * TestDriver.cs : added '-' use cases.
706 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
708 * SimpleCollator.cs : to be same as other buggy part, it now handles
709 U+3005, U+3031 and U+3032 as buggy as Windows. It just repeats
711 Fixed GetSortKey(): if the repeater is U+3005, second weight is 5.
712 * create-mscompat-collation-table.cs : dummy values for extenders.
714 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
716 * SimpleCollator.cs : Special weight fixes on GetSortKey(). Dash type
717 should be computed from ExtenderType, and voice mark weight should
719 * MSCompatUnicodeTable.cs : added tiny comment.
721 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
723 * SortKey.cs : It borked when MONO_USE_MANAGED_COLLATION is not yes.
724 * SimpleCollator.cs : support for extender (U+309D etc.).
726 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
728 * create-mscompat-collation-table.cs : some punct/symbols fix.
729 * managed-collation.patch : new (and temporary) file to support
730 managed collation in mscorlib.
731 * README : described how to use managed collation.
733 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
735 * create-mscompat-collation-table.cs : Further Cyrillic fixes. Handle
736 U+482-4C8 (though needs diacritical fixes).
737 * MSCompatUnicodeTable.cs : tiny comment for alternative impl.
739 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
741 * create-mscompat-collation-table.cs : Reimplemented Cyrillic weight
742 computation code, since it looks like the same way as Latin letters
743 have. Thus removed all other approach (UCA, by letter name).
745 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
747 * create-mscompat-collation-table.cs : diacritical fix for "double-
748 struck". Syriac nonspacing fixes.
750 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
752 * create-mscompat-collation-table.cs : more math symbol weight fixes.
754 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
756 * create-mscompat-collation-table.cs : fixed Hebrew character sortkeys.
758 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
760 * create-mscompat-collation-table.cs : math symbols U+25A0-U+2600 are
761 implemented (no stub). Some other fixes on category 8-A.
763 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
765 * create-mscompat-collation-table.cs : some minor fixes on Arabic,
766 Korean and Japanese sortkey weights.
768 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
770 * create-mscompat-collation-table.cs : More diacritical fixes.
771 Georgian characters do not have level 2 weights but level 3.
773 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
775 * create-mscompat-collation-table.cs : Roman numeral characters
776 have diacritical weight. quick hack for control signs (U+2400..)
779 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
781 * create-mscompat-collation-table.cs : improving Latin mappings.
782 Setting non-ASCII Latin characters' primary weight between those
783 ASCII characters, and setting diacritical weight (hacky).
784 * MSCompatUnicodeTable.cs :
785 Kanatype check: fixed (voice marks) and improved (comparison order).
787 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
789 * create-mscompat-collation-table.cs : more diacritical fixes.
790 primary weight fixes on punctuations in category 07.
792 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
794 * create-mscompat-collation-table.cs : several diacritical fixes.
795 * TestDriver.cs : sortkey dumper should use StringSort.
797 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
799 * SimpleCollator.cs : fixed incorrect indexer setup. Optimized
800 GetContraction() call a bit.
802 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
804 * create-mscompat-collation-table.cs : fixed incorrect level 2
806 * MSCompatUnicodeTable.cs : remove debug line.
808 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
810 * MSCompatUnicodeTableUtil.cs,
811 MSCompatUnicodeTable.cs,
813 create-mscompat-collation-table.cs : made some members internal and
814 accessible from other classes. Many indexes could be 0 by default.
815 * SimpleCollator.cs : optimizations. avoid method call.
817 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
819 * Collation-notes.txt : more updates.
820 * SimpleCollator.cs : Added quick check for Ordinal comparison.
821 Fixed special weight comparison. It cannot be customizable in the
822 implementation (and it won't be harmful).
823 * mono-tailoring-source.txt : thus updated comment.
825 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
827 * SimpleCollator.cs : Compare() was missing French sort support.
828 * TestDriver.cs : added example case.
830 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
832 * Collation-notes.txt : updated status. Eliminated descriptions on
833 "iterator" (I avoided it for performance concern). Fixed misc.
834 incorrect descriptions.
836 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
838 * Collator.cs : Now that SimpleCollator became feature complete, it is
841 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
843 * SimpleCollator.cs : implemented decent Compare() that immediately
844 stops at first primary difference.
846 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
848 * SimpleCollator.cs : indexers might return -1.
850 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
852 * SimpleCollator.cs : IsPrefix() and IsSuffix() optimization code was
853 buggy (length check for source was missing).
855 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
857 * create-mscompat-collation-table.cs : Fixed tailoring table output
858 to be in correct and countable order. Now if tailoring alias was not
859 found, just stop the build.
860 * MSCompatUnicodeTable.cs : several build fixes. Now it works to read
862 * mono-tailoring-source.txt : commented out CJK aliases that miss
864 * Makefile : needed further filename fixes.
866 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
868 * MSCompatUnicodeTable.cs : renamed from MSCompatUnicodeTable.template
869 (now it is working as a standalone file).
870 * Makefile : renamed generated file as MSCompatUnicodeTableGenerated.cs
871 (the generator now creates both binary resources and C# source).
873 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
875 * create-mscompat-collation-table.cs : Now it generates binary
876 resources (to parent directory).
877 * MSCompatUnicodeTable.template : added conditional code that fills
878 collation tables from manifest resources.
879 * Makefile : remove collation table binaries as well on "make clean".
880 Removed extraneous dependency.
882 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
884 * MSCompatUnicodeTable.template,
885 SimpleCollator.cs : removed extraneous GetExpansion().
887 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
889 * SimpleCollator.cs : IsSuffix() also supports contractions.
890 * TestDriver.cs : IsSuffix() example contraction cases.
892 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
894 * SimpleCollator.cs : reverted IsSuffix() to return bool (to match w/
895 what current IsPrefix() does). For expansion of target, IsPrefix()
896 should check the no-match case that expansion is longer than input.
897 Some refactory on IsPrefix().
898 Added GetContractionTal() for IsSuffix() (not used yet).
900 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
902 * TestDriver.cs : added IsPrefix() expansion cases.
903 * SimpleCollator.cs : IsPrefix() now supports contractions (with much
904 of complexity), and it now returns bool again.
905 IndexOf() for replacement should make use of IndexOfPrimitiveChar()
906 since expansions won't be expanded recursively.
908 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
910 * SimpleCollator.cs : commonized character comparison in IsPrefix()
911 and IsSuffix(). csc compile fix.
912 * CompareInfoImpl.cs : deleted.
914 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
916 * TestDriver.cs : added SimpleCollator.ctor() sanity check.
917 Added replacement contraction example.
918 * SimpleCollator.cs : Now IndexOf() and LastIndexOf() support
919 contraction in source string. Extracted matching code to Matches().
920 Replacement contraction was including extraneous '\x0'.
922 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
924 * Collation-notes.txt : updated status.
925 * CollationDataStructures.txt : tiny fixes.
926 * SimpleCollator.cs :
927 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
928 namespace Util and csc borked).
929 GetContraction was incorrectly returning first item.
930 Private IsPrefix() now returns int (but it might not be in real use).
931 Extracted simple char comparison to CompareCharSimple().
932 IndexOf() and LastIndexOf() now fully handle contractions (both
933 binary key and string replacement) in "target" (for "s" not yet).
934 * TestDriver.cs : be more verbose.
935 * mono-tailoring-source.txt : added comment.
936 * MSCompatUnicodeTable.template :
937 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
939 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
941 * create-mscompat-collation-table.cs : compute COMBINING blah marks as
942 well as those characters WITH blah.
943 * TestDriver.cs : added combining sortkey cases.
945 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
947 * mono-tailoring-source.txt : fixed description on '*' in sortkeys.
948 * SimpleCollator.cs : Now it fully uses tailoring info. Fixed
949 contraction search that worked only when string is contraction.
950 Removed commented code. Minor refactoring.
951 * TestDriver.cs : added example that uses "ZS" in Hungarian sorting.
953 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
955 * create-mscompat-collation-table.cs,
956 * mono-tailoring-source.txt : removed extraneous level 4 sortkey
957 which cannot be supported.
958 * SimpleCollator.cs : added GetContraction() and used in some places.
959 Now CompareOptions is set only once. Reordered some code (e.g.
960 ignorable check -> get compat char -> compare).
962 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
964 * SimpleCollator.cs : sort tailoring tables before actual usage.
965 Support diacritical remappings (it is customized collation rule
966 which does not exist in UCA).
968 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
970 * SimpleCollator.cs : build culture specific tailoring table from
971 TailoringInfo and unified data array.
972 * create-mscompat-collation-table.cs : Added null termination to
973 sortkey map tailorings (mostly to save my eyes).
974 * MSCompatUnicodeTable.template : added public TailoringValues.
976 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
978 * SortKeyBuffer.cs : handle special weight (category 06) characters.
979 * Collation-notes.txt : Updated description on special weight (it was
981 * TestDriver.cs : added special weight cases.
983 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
985 * MSCompatUnicodeTable.template : added GetTailoringInfo().
986 * SimpleCollator.cs : Now tailoring information is acquired and used.
987 (FrenchSort is supported but Compare() won't work expectedly since
988 the table is still incomplete for those diacritical marks).
989 * SortKeyBuffer.cs : On reversing diacritical weights, it should
990 ignore zeros. Reset() should reset frenchSorted flag.
992 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
994 * create-mscompat-collation-table.cs : Further fixes on Jamo,
995 diacritical weights by character name, and *Numbers primary weights.
997 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
999 * create-mscompat-collation-table.cs : More fix on Devanagari,
1000 Gujarati, Oliya, Tamil and Lao sortkeys.
1002 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
1004 * create-mscompat-collation-table.cs : Fixed Georgian, Thai, Gurmukhi
1007 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
1009 * create-mscompat-collation-table.cs : Fixed Thai character primary
1010 and secondary values. Fixed Thaana letters. Added more LAMESPEC
1011 CJK compat. Fixed some circled CJK secondary weight.
1012 Hacked some nonspacing mark sortkey value adjustment.
1014 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
1016 * create-mscompat-collation-table.cs : CP932.TXT was not parsed as
1017 expected. JIS ordering was incorrect. OtherNumbers that represents
1018 10 or more values were incorrectly computed the offset. Some Hangul
1019 compat characters has different offset.
1021 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
1023 * create-mscompat-collation-table.cs : Fixed 0x8 category characters.
1024 Added hack for need-to-be-fixed characters to fall into 0xA category.
1025 * create-collation-element-table.cs : previous checkin seem failed :(
1026 * README: updated a bit.
1028 2005-06-24 Atsushi Enomoto <atsushi@ximian.com>
1030 * CodePointIndexer.cs :
1031 removed extraneous switch (I could use empty array for that need).
1032 * CollationElementTableUtil.cs : primary weight type became ushort.
1033 * create-collation-element-table.cs : several bugfixes.
1034 collElem should be int. It was skipping most of entries because of
1035 incorrect string tokenization.
1037 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
1039 * create-mscompat-collation-table.cs : handle some Jamo NKFD.
1041 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
1043 * SimpleCollator.cs : forgot to commit in the last checkin.
1044 * create-mscompat-collation-table.cs : fixed arabic shift weight chars.
1045 * TestDriver.cs : switch table dumper and collator testing.
1046 * SortKey.cs : for now comment out internal indexes (not in use).
1048 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
1050 * MSCompatUnicodeTable.template,
1051 SimpleCollator.cs : support for culture dependent CJK table.
1053 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
1055 * create-mscompat-collation-table.cs,
1056 MSCompatUnicodeTableUtil.cs : make CJK table more compact.
1058 2005-06-22 Atsushi Enomoto <atsushi@ximian.com>
1060 * SimpleCollator.cs : Fixed stupid index search when start != 0.
1062 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1064 * SimpleCollator.cs : fixed my misunderstanding on LastIndexOf(). It
1065 now starts from "start" and proceeds backward by "length".
1066 * TestDriver.cs : fix warning.
1068 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1070 * TestDriver.cs : more tests.
1071 * SimpleCollator.cs : LastIndexOf() is not setting search length
1072 on iteration. Quick workaround fro String.LastIndexOf() bug (maybe).
1074 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1076 * create-normalization-source.cs : output propValue as uint.
1078 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1080 * SortKey.cs : Now it is System.Globalization.SortKey.
1081 To replace existing implementation, it now requires lcid and
1082 CompareOptions. Added required members.
1083 * SortKeyBuffer.cs : thus .ctor() requires LCID.
1084 * SimpleCollator.cs : made required changes above.
1086 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1088 * CodePointIndexer.cs : added CompressArray(). Now it requires two more
1089 parameters for default index and codepoint.
1090 * CollationElementTableUtil.cs,
1091 NormalizationTableUtil.cs : required changes wrt above change.
1092 * MSCompatUnicodeTableUtil.cs : added for several codepoint indexers.
1093 * MSCompatUnicodeTable.template : Now it uses codepoint indexer.
1094 * create-mscompat-collation-table.cs : Now it outputs compressed array.
1095 * Makefile : now collation requires MSCompatUnicodeTableUtil.cs
1097 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1099 * SimpleCollator.cs :
1100 Implemented IsSuffix() and LastIndexOf().
1101 Several fixes on index > 0 cases.
1102 * TestDriver.cs : sample IsSuffix() and LastIndexOf() usage and more.
1104 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1106 * Collation-notes.txt : updated (status, impl. classes).
1107 * MSCompatUnicodeTable.cs : Korean Jamo are not really expansions.
1109 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1111 * SimpleCollator.cs : implemented IndexOf(string,string,CompareOptions)
1112 and IsPrefix(). Tiny code refactory.
1113 * TestDriver.cs : sample IsPrefix() and IndexOf() usage.
1114 * MSCompatUnicodeTable.cs : tiny refactory for CodePointIndexer use.
1116 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
1118 * SimpleCollator.cs :
1119 IndexOf(string, char, CompareOptions) implementation.
1120 * TestDriver.cs : sample IndexOf() usage.
1122 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
1124 * create-mscompat-collation-table.cs : was missing most important
1125 kind of blocks - equivalent expansions (e.g. invariant mappings).
1126 More readable mappings.
1128 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
1130 * mono-tailoring-source.txt : new file. It describes tailoring
1131 information. Basically examined under .NET 1.x.
1132 * create-mscompat-collation-table.cs : consume the file above.
1133 * MSCompatUnicodeTable.template : now tailorings is not a stub.
1134 * CollationDataStructures.txt : minor fixes.
1136 SimpleCollator.cs : added FrenchSort support.
1137 * Collation-notes.txt : added description on Latin primary weights.
1138 * ldml-limited.rng : added note.
1139 * create-tailorings.cs : added note. more serialization (but won't be
1142 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
1144 * SortKeyBuffer.cs : non-primary character is added to previous
1146 * TestDriver.cs : added example case of above.
1148 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
1150 * SimpleCollator.cs : IgnoreSymbols support.
1151 * TestDriver.cs : compilation fix. IgnoreSymbols example.
1152 * create-mscompat-collation-table.cs : more Hangul fixes.
1154 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
1156 * create-mscompat-collation-table.cs : more Hangul fixes.
1157 * SortKey.cs : it will replace sys.globalization.SortKey. It has
1158 some internal members.
1159 * SortKeyBuffer.cs : now it uses SortKey instead of byte[].
1160 * SimpleCollator.cs : CompareOptions support. However I don't think
1161 it will be developed anymore since SortKey never enables IndexOf().
1162 * TestDriver.cs : a few CompareOptions cases.
1164 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1166 * SimpleCollator.cs : simple collator implementation that just will
1167 use GetSortKey() for all its basis.
1168 * TestDriver.cs : sample code that uses this collator set.
1169 * MSCompatUnicodeTable.template : removed test driver from here.
1171 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1173 * create-mscompat-collation-table.cs : Hangul fixes.
1174 Now less than 300 characters that does not have sortkey weights.
1175 * MSCompatUnicodeTable.template : added FIXME info for Hangul Jamo.
1177 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1179 * create-mscompat-collation-table.cs : Added control picture mappings.
1180 Minor primary weight fixes.
1182 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1184 * create-mscompat-collation-table.cs : Added mappings for box
1185 drawings and blocks.
1187 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1189 * create-mscompat-collation-table.cs : Added mappings for arrows.
1191 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1193 * create-mscompat-collation-table.cs : added support for letterlike
1194 characters and squared CJK compatibility characters, ordered by
1195 character names (0x0E category).
1196 * Collation-notes.txt : added description on that.
1198 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1200 * MSCompatUnicodeTable.template : Now expansions are simulated.
1201 * create-mscompat-collation-table.cs : filled Korean number level2.
1202 Reordered some code blocks to fill correct diacritical differences.
1203 * Collation-notes.txt : some corrections and minor additions.
1205 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1207 * MSCompatUnicodeTable.template :
1208 Now dumper test driver uses SortKeyBuffer for dogfooding.
1209 * create-mscompat-collation-table.cs : some diacritical level fixes
1210 (with non-working extra latin check).
1211 * SortKeyBuffer.cs : several fixes to get working as a practical code.
1212 * Collator.cs : make it compilable, leaving things as NotImplemented.
1214 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1216 * create-mscompat-collation-table.cs : some fixes on primary category
1217 07 (miscellaneous symbols and punctuations).
1219 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1221 * create-mscompat-collation-table.cs : more mapping fix on numbers,
1222 letters, variable weight characters, circled Japanese and CJK.
1223 * MSCompatUnicodeTable.template : fixed HasSpecialWeight() to be more
1224 inclusive. Simplified dumper code.
1226 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1228 * create-mscompat-collation-table.cs : finished Hangul (both Jamo
1229 and Syllables). sortkey dumper diff lines became 8000 from 30000.
1231 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1233 * create-mscompat-collation-table.cs : added some nonspacing marks in
1234 either correct or hacky way.
1236 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
1238 * create-mscompat-collation-table.cs : several improvements. Japanese
1239 Kana support, Hebrew accents, Bengali nonspacing marks, sorting of
1240 numeric characters, diacritically decorated latin alphabets. Fixed
1241 some diacritical weights detection.
1242 * MSCompatUnicodeTable.cs : tiny Japanese fix. Handle nonspacing
1243 marks' primary weight as empty.
1244 * Collation-notes.txt : some updates.
1246 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
1248 * create-mscompat-collation-table.cs : don't process nonexact NFKD
1249 mapping as equivalent, however store CJK extensions into NFKD map
1250 even if one does not strictly match.
1251 Now am going to fill Hangul into tables (unlike UCA it does not look
1252 possible to calculate sortkey value).
1253 Fixed Cyrillic and Georgian UCA based orderings.
1254 * MSCompatUnicodeTable.template : added CJK extension sortkey
1257 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
1259 * create-mscompat-collation-table.cs : Fixed latin alphabet support.
1260 Added latin with diacritical and CJK extension.
1261 * MSCompatUnicodeTable.cs : modified dumper code a bit (for my purpose).
1263 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
1265 * create-mscompat-collation-table.cs : now parses DerivedAge.txt (right
1266 now not used thouth). Filled CJK ideograph, still not perfect.
1267 Fixed number primary keys. NFKD numbers and CJK ideographs are now
1268 considered, including brackets elimination.
1269 * Makefile : now it downloads DerivedAge.txt.
1270 * MSCompatUnicodeTable.template : added dummy code dumper. It computes
1271 PrivateUse, Surrogate and Hangul Syllables.
1272 * Collation-notes.txt : Noted that Hangul Syllables need more love.
1274 2005-06-09 Atsushi Enomoto <atsushi@ximian.com>
1276 * create-tailorings.cs : added configuration support. sort them.
1277 I wonder if it is really usable. Having own format might be better.
1278 * create-mscompat-collation-table.cs : fixing some sortkey numbers,
1279 making closer to windows. Now it handles NFKD in some places.
1280 * MSCompatUnicodeTable.template : Added dummy sortkey dumper driver.
1281 * CollationDataStructures.txt : added description on tailoring
1282 fields, though they are subject to change.
1284 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
1286 * create-tailorings.cs, ldml-limited.rng : new file.
1287 * LdmlReader.cs : removed old file.
1289 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
1291 * SortKeyBuffer.cs : split from Collator.cs. Now it considers
1292 practical use, reflecting updated sortkey constant design.
1293 Especially level 4 weight is split to 4 arrays that are merged in
1294 the last stage of GetSortKey().
1295 * Collator.cs : thus SortKeyBuffer is removed from here.
1296 Additionally, removed some extraneous bits in other classes.
1297 * Collation-notes.txt : Some editorial fixes. Added information on
1298 Korean matter (how to compute Hangle Syllables / Hangul Jamo cannot
1299 be stored in simple byte arrays).
1300 * CodePointIndexer.cs,
1301 create-collation-element-table.cs,
1302 CollationElementTable.template,
1303 NormalizationTableUtil.cs : short CodePointIndexer method names.
1304 * create-mscompat-collation-table.cs : Additional info on why some
1305 meaningful characters are ignored in Windows (Unicode version
1306 difference). Removed U+070F from special check (was extraneous).
1308 2005-06-06 Atsushi Enomoto <atsushi@ximian.com>
1310 * MSCompatUnicodeTable.template:
1311 Moved body implementation to table creator and put those bool
1312 results into an array.
1313 * create-mscompat-collation-table.cs :
1314 So imported those methods. Modified array output to emit "0x"
1315 only for more than 9.
1316 * create-normalization-source.cs : ditto on "0x" output matter.
1317 * CollationDataStructures.txt : so now it holds ignorableFlags.
1319 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
1321 * Collation-notes.txt, CollationDataStructures.txt :
1322 separate document for data structure design.
1324 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
1326 * create-mscompat-collation-table.cs : added culture-dependent CJK
1327 table creation. It uses CLDR as its basis. (Culture independent CJK
1329 * Makefile : added CLDR archive downloading support.
1330 * MSCompatUnicodeTable.template : tiny renamings.
1331 * Collation-notes.txt : additional CJK info.
1333 2005-06-02 Atsushi Enomoto <atsushi@ximian.com>
1335 * Collation-notes.txt, create-mscompat-collation-table.cs :
1336 added secondary weight support for BlahNumber characters.
1338 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
1340 * downloaded : added directory. All downloaded files are stored here.
1341 * Makefile : use "downloaded" directory.
1342 Added more auto-download stuff.
1343 * create-mscompat-collation-table.cs :
1344 Added Japanese square kana support.
1346 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
1348 * Collation-notes.txt : added Estrangela (ancient Syriac) and Thaana.
1349 * create-mscompat-collation-table.cs : added support for Arabic abjad,
1350 Estrangela and Thaana.
1351 * MSCompatUnicodeTable.template : removed BOM.
1353 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1355 * Collation-notes.txt : wrong comment cleanup and spelling fixes.
1356 * create-mscompat-collation-table.cs : added diacritic support for
1357 Latin letters (as long as covered in primary weight).
1359 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1361 * Makefile : minor fixes. Added warning lines to generated sources.
1363 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1365 * create-char-mapping-source.cs :
1366 Removed ToWidthInsensitive() generation.
1368 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1370 * create-mscompat-collation-table.cs : Now it dumps level1 to 3 values.
1371 ToWidthInsensitive() is implemented here, using an array (which is
1372 to be optimized using CodePointIndexer).
1373 * MSCompatUnicodeTable.cs : renamed as MSCompatUnicodeTable.template
1374 * MSCompatUnicodeTable.template : now it is used to generate
1375 MSCompatUnicodeTable.cs which got ready to be used.
1376 * Makefile : added MSCompatUnicodeTable.cs build support. Now it
1377 supports "make normalization" and "make collation".
1379 2005-05-30 Atsushi Enomoto <atsushi@ximian.com>
1381 * Collation-notes.txt : Description on ICU is very incorrect. Now it
1382 became more rational and sane.
1383 * create-mscompat-collation-table.cs : fixed some indexes.
1384 * Makefile : added "mstablegen" target.
1385 * MSCompatUnicodeTable.cs : removed GetPrimaryWeight(). Minor fix.
1387 2005-05-26 Atsushi Enomoto <atsushi@ximian.com>
1389 * Collation-notes.txt : more analysis on "letters".
1390 * create-mscompat-collation-table.cs : more proof of concepts.
1392 2005-05-25 Atsushi Enomoto <atsushi@ximian.com>
1394 * Collation-notes.txt : more info. Started letter sortkey analysis
1395 (some of other stuff are really non-understandable right now.)
1396 * create-mscompat-collation-table.cs : table generator proof-of-
1397 concept source (not compilable).
1398 * MSCompatUnicodeTable.cs : moved some code to the new source.
1401 2005-05-20 Atsushi Enomoto <atsushi@ximian.com>
1403 * Collation-notes.txt : started level 2 weight analysis.
1405 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
1407 * Collation-notes.txt : Additional information on how to create
1409 * MSCompatUnicodeTable.cs : implemented part of GetLevel3Weight().
1411 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
1413 * Collation-notes.txt : More case weight (level 3) analysis. I'm
1414 likely to just write table generator.
1416 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
1418 * MSCompatUnicodeTable.cs : part of level 4 weight implementation.
1420 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
1422 * Collation-notes.txt :
1424 Revised comparison methods; backward iteration is possible.
1425 More on char-by-char comparison.
1426 Level 4 comparison is actually a bit more complex.
1428 * Collator.cs : some conceptual updates wrt above.
1430 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
1432 * Collation-notes.txt : Japanese voice mark is level 2, and Hangul
1433 properties are level 3.
1435 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
1437 * Collation-notes.txt : Make it more readable. More analysis on
1438 level 3 and 4 sortkey structures.
1439 * Collator.cs : some compilation fixes (not compilable yet).
1441 2005-05-16 Atsushi Enomoto <atsushi@ximian.com>
1443 * Collation-notes.txt : Analysis on variable-weighting (level 5)
1445 * Collator.cs : updated corresponding part of level 5, and more.
1447 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1449 * Collation-notes.txt : more updates.
1450 * Collator.cs : rewrote from scratch. Some rough sketch for sortkey
1451 buffer, character iterator and collator methods. Not compiling.
1453 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1455 * Collator.cs : Am going to replace it with new one. No need for
1456 CompareOptions-dependent Comparer.
1458 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1460 * Collation-notes.txt : There seems a bit more complexity.
1462 2005-05-10 Atsushi Enomoto <atsushi@ximian.com>
1464 * Collation-notes.txt : more updates, being close to write sortkey
1467 2005-05-09 Atsushi Enomoto <atsushi@ximian.com>
1469 * CompareInfoImpl.cs, Collator.cs : conceptual update
1470 * Collation-notes.txt : some corrections and additions.
1471 * Makefile : added LDML input (but it won't be used at all).
1473 2005-04-28 Atsushi Enomoto <atsushi@ximian.com>
1475 * Collation-notes.txt : more updates.
1477 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
1479 * Collation-notes.txt : more updates.
1481 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
1483 * Collation-notes.txt : some updates.
1484 * create-mapping-char-source.cs : superscripts and subscripts are also
1485 ignored in IgnoreWidth comparison.
1486 * Makefile : tiny touch fix.
1488 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1490 * CompareInfoImpl.cs, Collator.cs : conceptual stuff (not working).
1492 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1494 * create-char-mapping-source.cs : Now it generates
1495 ToWidthInsensitive() from combining category <wide> and <narrow>.
1496 * MSCompatUnicodeTable.cs : added ToKanaTypeInsensitive() and
1497 ToWidthInsensitive() for IgnoreKanaType and IgnoreWidth.
1499 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1501 * README, LdmlReader.cs, DataStructures.txt : new files.
1503 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1505 * CodePointIndexer.cs,
1506 Collation-notes.txt,
1507 CollationElementTable.template,
1508 CollationElementTableUtil.cs,
1509 create-char-mapping-source.cs,
1510 create-collation-element-table.cs,
1511 create-combining-class-source.cs,
1512 create-normalization-source.cs,
1514 MSCompatUnicodeTable.cs,
1515 Normalization.template,
1516 NormalizationTableUtil.cs : initial checkin (to private branch).