1 2005-11-14 Atsushi Enomoto <atsushi@ximian.com>
4 - Added CompareOrdinalIgnoreCase() for NET_2_0 RTM.
5 - Reduced extra parameter from LastIndexOfSortKey().
6 - LastIndexOf() should use GetTailContraction for the source string.
7 And then, target could match in the middle of the possible
8 "replacement contraction" of the source string, so use
9 LastIndexOfSortKey() to catch them.
10 - Fixed GetTailContraction() that caused index out of range.
12 2005-11-11 Atsushi Enomoto <atsushi@ximian.com>
14 * Makefile : Now use MONO_DISABLE_MANAGED_COLLATION.
15 * SortKey.cs : some members are virtual.
17 2005-10-14 Atsushi Enomoto <atsushi@ximian.com>
19 * SimpleCollator.cs : modified to use stackalloc for byte array.
21 2005-09-27 Atsushi Enomoto <atsushi@ximian.com>
23 * SimpleCollator.cs : in CompareInternal(), there was a possibility of
24 infinite loop. Fixed bug #76243.
26 2005-09-20 Atsushi Enomoto <atsushi@ximian.com>
28 * SimpleCollator.cs : In IsPrefix/IsSuffix, if target is an empty string,
29 immediately return true.
31 2005-09-09 Atsushi Enomoto <atsushi@ximian.com>
33 * SimpleCollator.cs : IsSuffix() optimization logic was buggy, so just
34 use pretty simple way with LastIndexOf() (no significant perf.
37 2005-09-01 Atsushi Enomoto <atsushi@ximian.com>
39 * README, Collation-notes.txt, CollationDataStructures.txt :
40 removing obsolete info and some added some notes.
42 2005-08-10 Atsushi Enomoto <atsushi@ximian.com>
44 * Normalization.cs : remove warned code.
45 * managed-collation.patch : now it's not required anymore.
47 2005-08-10 Atsushi Enomoto <atsushi@ximian.com>
49 * MSCompatUnicodeTable.cs : added IsSortable(string).
51 2005-08-10 Atsushi Enomoto <atsushi@ximian.com>
53 * SimpleCollator.cs : Now all collator methods are thread safe.
55 All instance non-readonly fields turned into arguments of every
56 methods that use those fields.
57 (Sadly it is the end of no-memory-cost collator era. mcs bootstrap
58 now needs +100KB memory consumption.)
60 2005-08-09 Atsushi Enomoto <atsushi@ximian.com>
62 * SimpleCollator.cs : made "checkedFlags" as nullable and made it as
63 an argument of every index methods (to make it thread safe).
65 2005-08-09 Atsushi Enomoto <atsushi@ximian.com>
68 MSCompatUnicodeTable.cs :
69 - Now IsIgnorable() is aggregated to be one invokation to check
70 completely ignorable, nonspacing and symbols.
71 - Introduced "already checked" flags for IndexOf() and LastIndexOf()
72 to skip sortkey binary check on the same characters. Significant
73 perf. improvement for such case as IndexOf("AABCBABC...Z",'Z').
75 2005-08-08 Gert Driesen <drieseng@users.sourceforge.net>
77 * SortKey.cs: Marked Serializable to match MS.NET.
79 2005-08-08 Atsushi Enomoto <atsushi@ximian.com>
81 * create-mscompat-collation-table.cs,
82 Makefile : changed resources output directory.
84 2005-08-04 Atsushi Enomoto <atsushi@ximian.com>
86 * create-normalization-tests.cs,
87 StringNormalizationTestSource.cs : new files for Unicode
88 Normalization test generator.
89 * Makefile : added support for above.
91 2005-08-03 Atsushi Enomoto <atsushi@ximian.com>
93 * NormalizationTableUtil.cs : oops, it does not compile.
94 * managed-collation.patch : I guess having managed resource would be
95 better for collation. At least current code has such #define so
96 Makefile should be in sync with it.
98 2005-08-03 Atsushi Enomoto <atsushi@ximian.com>
100 * create-normalization-source.cs : Fixed CharMapComparer which
101 incorrectly returned 0 when the second arg is shorter. Reduced
102 extraneous helperIndex map. Other minor fixes and code removal.
103 * Normalization.cs : several fixes to support blocked combine handling.
104 * NormalizationTableUtil.cs : tiny member renaming.
106 2005-08-03 Atsushi Enomoto <atsushi@ximian.com>
108 * create-normalization-source.cs,
109 NormalizationTableUtil.cs,
110 Normalization.cs : several bugfixes on index miscomputation.
111 Renamed using aliases (csc will bork). Primary combine safety is now
112 computed during UnicodeData.txt parse.
113 Maximum NFKD length was 18, not 4 (U+FDFA).
115 2005-08-02 Atsushi Enomoto <atsushi@ximian.com>
117 * managed-collation.patch : added Normalization support.
118 * managed-collation-icall.patch : added, including normalization stuff.
120 BTW when will collation code checked in?
122 2005-08-02 Atsushi Enomoto <atsushi@ximian.com>
124 * create-normalization-source.cs : Unified three normalization source
125 generators, to compute IsUnsafe flag. Fixed helperIndex array type
127 * create-char-mapping-source.cs,
128 create-combining-class-source.cs : thus removed.
129 * Makefile : thus modified for the above integration.
130 * NormalizationTableUtil.cs : Extended to contain IsUnsafe flag.
131 * Normalization.cs : Several fixes to make Normalize() actually work.
133 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
135 * create-normalization-source.cs,
137 create-char-mapping-source.cs,
138 create-combining-class-source.cs,
139 Makefile : converted managed array to pointers (like collation stuff).
141 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
143 * NormalizationTableUtil.cs : further table range optimization.
144 * create-normalization-source.cs,
145 create-char-mapping-source.cs,
146 create-combining-class-source.cs : added C header output support.
148 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
150 * create-normalization-source.cs, Normalization.cs :
151 Now property size is < 256, so directly embed value in "props" array.
152 Add QuickCheck(c,checkType) and remove IsNFD/C/KD/KC and delegates.
154 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
156 * create-combining-class-source.cs,
157 create-char-mapping-source.cs,
158 create-normalization-source.cs,
159 NormalizationTableUtil.cs,
160 Normalization.cs : String.Normalize() does not handle surrogate
161 characters. mapping information in DerivedNormalizationProps.txt
162 are not used in the code (those from UnicodeData.txt is used).
163 Hangul syllables are computed instead of embedded in the tables.
164 * managed-collation.patch : removed IntPtrStream and Makefile patches.
166 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
168 * MSCompatUnicodeTable.cs : IsSortable() was broken.
170 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
172 * MSCompatUnicodeTable.cs : added helper for CompareInfo.IsSortable().
174 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
176 * create-tailoring.cfg : added for convenience of contraction check.
178 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
180 * create-normalization-source.cs,
183 create-mscompat-collation-table.cs,
184 MSCompatUnicodeTableUtil.cs,
186 create-collation-element-table.cs,
187 MSCompatUnicodeTable.cs,
189 create-combining-class-source.cs : added copyright lines.
191 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
193 MSCompatUnicodeTable.cs : removed extraneous definition.
195 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
197 * create-mscompat-collation-table.cs
198 MSCompatUnicodeTable.cs : full C header support, finally.
200 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
203 NormalizationTableUtil.cs,
204 create-char-mapping-source.cs : more aggressive data compression.
205 It now ignores characters that are >= U+10000.
207 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
210 Normalization.template,
211 Normalization.cs : renamed existing file.
213 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
215 * NormalizationTableUtil.cs,
216 Normalization.template,
217 create-combining-class-source.cs : GetCombiningClass is now
218 implemented as indexer based array.
219 * Makefile : renamed output filename.
220 * create-mscompat-collation-table.cs : removed comments that does not
222 * create-tailoring.cs : use utf-8 output (and fixed filename).
224 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
226 * create-mscompat-collation-table.cs : hacked safer IPA extensions.
227 * Collation-notes.txt : status of sortkey table.
229 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
231 * create-mscompat-collation-table.cs : some Greek mapping fix.
233 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
235 * create-mscompat-collation-table.cs : diacritical weight is not
236 treated correctly when they are picked from letter names, as flags.
238 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
240 * create-mscompat-collation-table.cs : fixed culture-dependent
241 nonspacing mark weight.
243 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
245 * create-mscompat-collation-table.cs : some Hebrew case letter fixes.
246 Some diacritical fixes on symbols.
248 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
250 * create-mscompat-collation-table.cs : Fixed level 3 weight of
251 Arabic presentation forms.
253 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
255 * create-mscompat-collation-table.cs : Fixed some diacritical weight
256 of Arabic presentation forms.
258 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
260 * SimpleCollator.cs : more status updates. It's almost complete,
261 except for sortkey values.
263 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
265 * SimpleCollator.cs : similar optimization also for LastIndexOf().
267 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
269 * SimpleCollator.cs : the previous patch was missing IgnoreNonSpace
272 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
274 * SimpleCollator.cs : reduced extra sortkey value computation in
275 MatchesForward(). It makes IndexOf() roughly 30% faster.
277 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
279 * SortKey.cs : GetHashCode() returns a value based on its byte data.
282 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
284 * SimpleCollator.cs : consider extractions in invariant culture.
286 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
288 * SimpleCollator.cs : (unsafeFlags) be compact ;-)
290 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
292 * SimpleCollator.cs : When the tail of the target does not match more
293 than 3 times, then IsSuffix() will never be true (3 is the max
294 length of an expansion; \uFB03 -> ffi). It brings significant
295 performance boost when "source" string is very long.
296 * MSCompatUnicodeTable.cs : added MaxExpansionLength constant.
297 Reordered code lines.
299 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
301 * Collation-notes.txt : updated implementation status.
303 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
305 * SimpleCollator.cs : Implemented quick codepoint comparison in
306 Compare(). Comparison became 125x faster.
307 * mono-tailoring-source.txt : added tiny comment.
309 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
311 * mono-tailoring-source.txt : Added all single sortkey remapping to
312 all cultures (still need to fill contractions and annotate possible
313 buggy mapping referencing to CLDR).
314 * SimpleCollator.cs : removed unused code.
315 * MSCompatUnicodeTable.cs : tiny cast removal.
317 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
320 create-mscompat-collation-table.cs
321 MSCompatUnicodeTableUtil.cs
322 MSCompatUnicodeTable.cs : Now CJK mapping data is stored as byte
323 arrays. Thus SimpleCollator does not need to use bitwise and shift
324 operations to get sortkey value and they could be managed resources.
326 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
328 * create-mscompat-collation-table.cs,
329 MSCompatUnicodeTable.cs,
330 MSCompatUnicodeTableUtil.cs : From the result of sortkey comparison
331 between None and IgnoreWidth, width compat table could be computed
332 in somewhat simple way. So removed that table and all related code.
333 Increased the collation resource version.
335 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
337 * create-mscompat-collation-table.cs : Added C header output support.
339 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
341 * create-mscompat-collation-table.cs : FillLetterNFKD() could also be
342 applied to Cyrillic letters. Saved some of them.
344 2005-07-24 Atsushi Enomoto <atsushi@ximian.com>
346 * MSCompatUnicodeTable.cs : oh, ok, so we already have
347 GetManifestResourceInternal() ;-)
348 * managed-collation.patch : in Assembly.cs made that method internal.
350 2005-07-24 Atsushi Enomoto <atsushi@ximian.com>
352 * MSCompatUnicodeTable.cs : the pointer based icall code could be
353 also applicable for USE_MANAGED_RESOURCE mode.
355 2005-07-23 Atsushi Enomoto <atsushi@ximian.com>
357 * MSCompatUnicodeTable.cs : added icall support code (not enabled
358 unless the first line is commented out).
360 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
362 * create-mscompat-collation-table.cs,
363 MSCompatUnicodeTableUtil.cs,
364 MSCompatUnicodeTable.cs : Added resource version output (and ignore
365 in case of version mismatch). Removed obsolete, commented out code.
367 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
370 MSCompatUnicodeTable.cs,
371 create-mscompat-collation-table.cs : Now they use unmanaged pointers
372 instead of managed arrays.
373 * managed-collation.patch : Now it contains patch for IntPtrStream.cs
374 and Assembly.cs as well.
376 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
378 * MSCompatUnicodeTable.cs,
379 SimpleCollator.cs : Moved tailoring support classes to
380 MSCompatUnicodeTable.cs and drawn out from SimpleCollator.
381 Now that cjk and tailoring support are filled inside
382 MSCompatUnicodeTable, no managed array is exposed.
384 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
386 * create-mscompat-collation-table.cs,
388 MSCompatUnicodeTable.cs : Now it's not exposing collation table
389 internals as managed arrays (to switch to unmanaged pointers).
391 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
393 * create-mscompat-collation-table.cs : tiny nonspacing mark fix.
395 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
397 * create-mscompat-collation-table.cs : Fixed most of Greek mappings.
398 * MSCompatUnicodeTable.cs : don't lock string.
400 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
402 * create-mscompat-collation-table.cs : More Cyrillic diacritical fixes.
404 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
406 * create-mscompat-collation-table.cs : More Latin diacritical fixes.
408 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
410 * create-mscompat-collation-table.cs : There were still missing
411 math symbol mappings. Added several hacky diacritical weight for
414 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
416 * create-mscompat-collation-table.cs : fixed a few diacritical weight
417 on Cyrillic characters. Fixed ParseTailoringSource() to handle
418 non-heading escape sequence (\uXXXX) as expected.
420 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
422 * create-mscompat-collation-table.cs,
423 MSCompatUnicodeTableUtil.cs,
424 MSCompatUnicodeTable.cs : added more aggressive index limits for
425 table optimization at data size, in cost of speed.
427 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
429 * create-mscompat-collation-table.cs : fixed Arabic thirtial weight.
431 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
433 * create-mscompat-collation-table.cs : Mapping for hyphens and
434 punctuation are kinda finished. Rewrote batch mapping method to
435 collect all NFKD. Required modification on mapping is done.
437 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
439 * create-mscompat-collation-table.cs : minor mapping fixes on accent
440 marks and punctuations.
442 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
444 * create-mscompat-collation-table.cs : Fixed some MathSymbol mapping
445 and Box drawing mapping.
447 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
449 * create-mscompat-collation-table.cs : Fixed almost all numbers.
451 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
453 * create-mscompat-collation-table.cs : Symbol mappings are almost done.
454 Removed hack that gave dummy mappings to blank symbols.
456 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
458 * create-mscompat-collation-table.cs : more fix on arrows. Fix on box
459 drawings. Some code refactoring to eliminate hack.
461 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
463 * create-mscompat-collation-table.cs : Fixed some secondary weight
464 in Devanagari and arrows.
466 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
468 * create-mscompat-collation-table.cs : a set of tiny mapping fixes.
470 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
472 * create-mscompat-collation-table.cs : some diacritical fixes for
473 Latin. Added batch mapping method that considers computed
474 diacritical weight (for numbers).
476 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
478 * managed-collation.patch : forgot to add System.String patch.
480 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
482 * MSCompatUnicodeTable.cs : added resource existence check (required
483 for mscorlib transient time from the one without resources to the
486 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
488 * create-mscompat-collation-table.cs : fixed punctuations and hyphen
489 (shift) primary weight.
491 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
493 * create-mscompat-collation-table.cs : more nonspacing mark fixes.
494 Some non-basic Cyrillic diacritical weight fixes.
496 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
498 * create-mscompat-collation-table.cs : some Gurmukhi fixes on level 1
499 and level 3. Tiny Hangul weight fixes.
500 * MSCompatUnicodeTable.cs : U+30F5 and U+30F6 are small Japanese.
502 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
504 * create-mscompat-collation-table.cs : some normal characters who have
505 "narrow" NFKD mapping are regarded as "wide" and thus level 3 weight
506 values were different. Handle U+30FB as category A.
507 * MSCompatUnicodeTable.cs : U+30FB does not have special weight.
509 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
511 * create-mscompat-collation-table.cs : more diacritical weight fixes.
512 Removed some unused code.
514 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
516 * create-mscompat-collation-table.cs : Fixed some Thai and Arabic
519 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
521 * create-mscompat-collation-table.cs : Fixed Syriac nonspacing marks.
523 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
525 * create-mscompat-collation-table.cs : Fixed nonspacing marks in
526 Malayalam, Thai and Lao. Removed extraneous hack.
528 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
530 * SimpleCollator.cs : rewrote LastIndexOf() to handle source extenders.
531 Some refactoring on IndexOf() code. Removed unused Matches().
532 * Collation-notes.txt : some methods needed to be reimplemented, so
533 rewrote the description.
535 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
537 * SimpleCollator.cs : rewrote IsSuffix() to use CompareInternal().
538 Thus supported extenders in IsSuffix().
540 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
542 * SimpleCollator.cs : more IsSuffix() simplification, but it will be
543 stopped here since it cannot handle extenders (implementing new
546 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
548 * SimpleCollator.cs : simplified IsSuffix() code.
550 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
552 * SimpleCollator.cs : Fixed IndexOf() and LasIndexOf() to search the
553 entire replacement string if char target was an expansion.
554 IsSuffix() was using a method for IsPrefix() which was incorrect.
555 Removed old IsPrefix() code.
557 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
559 * SimpleCollator.cs : IndexOf() was incorrectly sharing the same
560 byte[] field in different areas of code. Now extenders in both
561 source and target really work in IndexOf().
563 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
565 * create-mscompat-collation-table.cs : fixed U+FF9F diacritical weight.
566 * SimpleCollator.cs : handle U+FF9E and U+FF9F as extenders.
568 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
570 * SimpleCollator.cs : Now FilterExtender() handles all extender
571 support. IndexOf() and LastIndexOf() now supports extenders.
572 IndexOf() and LastIndexOf() did not proceed contraction source
573 length as expected. Tiny refactoring on private IsPrefix() to take
576 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
578 * SimpleCollator.cs : when restoring from expansion, go back to the
579 top of the loop (to avoid index out of range).
580 Now IsPrefix() is implemented to reuse Compare() and thus it now
581 supports extender as well.
582 * Collation-notes.txt : status update. Deleted optimization part in
583 status section (it is duplicate).
585 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
587 * SimpleCollator.cs : some code reordering.
588 * create-mscompat-collation-table.cs : it was still missing U+3094.
590 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
592 * SimpleCollator.cs : Compare() now supports extender (e.g. U+39FC).
594 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
596 * SimpleCollator.cs : In GetSortKey(), don't update previousChar when
597 it is not primary (e.g. don't "extend" diacritical mark).
599 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
601 * managed-collation.patch : CompareInfo.Compare() should consider
602 the possibilities that non-empty string might be actually empty
603 in culture-sensitive context.
605 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
607 * SimpleCollator.cs : IndexOf() and LastIndexOf() returns start when
608 target is "empty" (in culture-sensitive context).
610 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
612 * SimpleCollator.cs : In IndexOf() and LastIndexOf(), skip ignorable
613 characters in target string.
615 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
617 * SimpleCollator.cs : When IgnoreWidth is specified, all Kana
618 characters are regarded as half-width.
619 Even though IgnoreWidth is specified, it should not ignore case.
620 For special weight comparison, the default values (E4) are bigger
621 than non-default values.
622 * SortKeyBuffer.cs : It should save LCID and original string.
623 * create-mscompat-collation-table.cs : For Japanese half-width kana,
624 it should not be counted in widthCompat map since IgnoreWidth does
625 not really ignore those differences.
627 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
629 * create-mscompat-collation-table.cs : Fixed missing Japanese bits.
631 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
633 * create-mscompat-collation-table.cs :
634 tiny diacritical weight fix for U+20D0-U+20E1.
636 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
638 * create-mscompat-collation-table.cs : ja CJK ideograph got completed.
640 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
642 * create-mscompat-collation-table.cs : Fixed CJK custom Japanese
643 mapping. It (maybe as well as other CJK tables) mixes NFKD. For
644 Japanese, modified NFKD table (because of Windows lame design).
646 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
648 * Makefile : added MONO_USE_MANAGED_COLLATION=no almost everywhere.
649 * MSCompatUnicodeTable.cs : FillCJK() was not invoked. Now it is
650 invoked at any time it is required.
651 * SimpleCollator.cs : call FillCJK() above in .ctor().
652 * MSCompatUnicodeTableUtil.cs : CJK range was wider.
653 * create-mscompat-collation-table.cs : CJK binary was missing the
654 length. CJK remapping is being moved to ModifyUnidata().
655 For cjk-ja mapping, we have to consider compat characters to be
656 added to the map, besides the raw UCA table.
658 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
660 * SortKeyBuffer.cs : Fixed shift level computation to match w/ Windows.
662 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
664 * SimpleCollator.cs : fixed LastIndexOf() to handle _target's_
665 contraction as expected. Fixed Compare() to save s2's contraction
667 * TestDriver.cs :added LastIndexOf() tester w/ indexes.
669 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
671 * managed-collation.patch : Fixed IsPrefix() and IsSuffix(). They
672 incorrectly use Compare().
673 * TestDriver.cs : more moved to nunit tests.
675 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
677 * SimpleCollator.cs : several fixes on Compare().
678 - Ignorable characters are skippted at the top of the loop.
679 - IgnoreNonSpace is checked to avoid extraneous level 2 comparison.
680 - In such case that s1 index is increased while s2 contraction is
681 replaced, s1 is inconsistently proceeded (bug).
682 - IsIgnorable() now also checks IgnoreNonSpace.
683 - Fixed FilterOptions() that does not work for IgnoreWidth at all.
684 * TestDriver.cs : now some are moved to nunit tests.
685 * Collation-notes.txt : minor todo update.
687 2005-07-11 Atsushi Enomoto <atsushi@ximian.com>
689 * SimpleCollator.cs : Compare() was ignoring such case that both
690 entire strings have '-' to be compared.
691 * Collation-notes.txt : more status updates.
692 * TestDriver.cs : added '-' use cases.
694 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
696 * SimpleCollator.cs : to be same as other buggy part, it now handles
697 U+3005, U+3031 and U+3032 as buggy as Windows. It just repeats
699 Fixed GetSortKey(): if the repeater is U+3005, second weight is 5.
700 * create-mscompat-collation-table.cs : dummy values for extenders.
702 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
704 * SimpleCollator.cs : Special weight fixes on GetSortKey(). Dash type
705 should be computed from ExtenderType, and voice mark weight should
707 * MSCompatUnicodeTable.cs : added tiny comment.
709 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
711 * SortKey.cs : It borked when MONO_USE_MANAGED_COLLATION is not yes.
712 * SimpleCollator.cs : support for extender (U+309D etc.).
714 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
716 * create-mscompat-collation-table.cs : some punct/symbols fix.
717 * managed-collation.patch : new (and temporary) file to support
718 managed collation in mscorlib.
719 * README : described how to use managed collation.
721 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
723 * create-mscompat-collation-table.cs : Further Cyrillic fixes. Handle
724 U+482-4C8 (though needs diacritical fixes).
725 * MSCompatUnicodeTable.cs : tiny comment for alternative impl.
727 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
729 * create-mscompat-collation-table.cs : Reimplemented Cyrillic weight
730 computation code, since it looks like the same way as Latin letters
731 have. Thus removed all other approach (UCA, by letter name).
733 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
735 * create-mscompat-collation-table.cs : diacritical fix for "double-
736 struck". Syriac nonspacing fixes.
738 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
740 * create-mscompat-collation-table.cs : more math symbol weight fixes.
742 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
744 * create-mscompat-collation-table.cs : fixed Hebrew character sortkeys.
746 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
748 * create-mscompat-collation-table.cs : math symbols U+25A0-U+2600 are
749 implemented (no stub). Some other fixes on category 8-A.
751 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
753 * create-mscompat-collation-table.cs : some minor fixes on Arabic,
754 Korean and Japanese sortkey weights.
756 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
758 * create-mscompat-collation-table.cs : More diacritical fixes.
759 Georgian characters do not have level 2 weights but level 3.
761 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
763 * create-mscompat-collation-table.cs : Roman numeral characters
764 have diacritical weight. quick hack for control signs (U+2400..)
767 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
769 * create-mscompat-collation-table.cs : improving Latin mappings.
770 Setting non-ASCII Latin characters' primary weight between those
771 ASCII characters, and setting diacritical weight (hacky).
772 * MSCompatUnicodeTable.cs :
773 Kanatype check: fixed (voice marks) and improved (comparison order).
775 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
777 * create-mscompat-collation-table.cs : more diacritical fixes.
778 primary weight fixes on punctuations in category 07.
780 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
782 * create-mscompat-collation-table.cs : several diacritical fixes.
783 * TestDriver.cs : sortkey dumper should use StringSort.
785 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
787 * SimpleCollator.cs : fixed incorrect indexer setup. Optimized
788 GetContraction() call a bit.
790 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
792 * create-mscompat-collation-table.cs : fixed incorrect level 2
794 * MSCompatUnicodeTable.cs : remove debug line.
796 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
798 * MSCompatUnicodeTableUtil.cs,
799 MSCompatUnicodeTable.cs,
801 create-mscompat-collation-table.cs : made some members internal and
802 accessible from other classes. Many indexes could be 0 by default.
803 * SimpleCollator.cs : optimizations. avoid method call.
805 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
807 * Collation-notes.txt : more updates.
808 * SimpleCollator.cs : Added quick check for Ordinal comparison.
809 Fixed special weight comparison. It cannot be customizable in the
810 implementation (and it won't be harmful).
811 * mono-tailoring-source.txt : thus updated comment.
813 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
815 * SimpleCollator.cs : Compare() was missing French sort support.
816 * TestDriver.cs : added example case.
818 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
820 * Collation-notes.txt : updated status. Eliminated descriptions on
821 "iterator" (I avoided it for performance concern). Fixed misc.
822 incorrect descriptions.
824 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
826 * Collator.cs : Now that SimpleCollator became feature complete, it is
829 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
831 * SimpleCollator.cs : implemented decent Compare() that immediately
832 stops at first primary difference.
834 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
836 * SimpleCollator.cs : indexers might return -1.
838 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
840 * SimpleCollator.cs : IsPrefix() and IsSuffix() optimization code was
841 buggy (length check for source was missing).
843 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
845 * create-mscompat-collation-table.cs : Fixed tailoring table output
846 to be in correct and countable order. Now if tailoring alias was not
847 found, just stop the build.
848 * MSCompatUnicodeTable.cs : several build fixes. Now it works to read
850 * mono-tailoring-source.txt : commented out CJK aliases that miss
852 * Makefile : needed further filename fixes.
854 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
856 * MSCompatUnicodeTable.cs : renamed from MSCompatUnicodeTable.template
857 (now it is working as a standalone file).
858 * Makefile : renamed generated file as MSCompatUnicodeTableGenerated.cs
859 (the generator now creates both binary resources and C# source).
861 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
863 * create-mscompat-collation-table.cs : Now it generates binary
864 resources (to parent directory).
865 * MSCompatUnicodeTable.template : added conditional code that fills
866 collation tables from manifest resources.
867 * Makefile : remove collation table binaries as well on "make clean".
868 Removed extraneous dependency.
870 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
872 * MSCompatUnicodeTable.template,
873 SimpleCollator.cs : removed extraneous GetExpansion().
875 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
877 * SimpleCollator.cs : IsSuffix() also supports contractions.
878 * TestDriver.cs : IsSuffix() example contraction cases.
880 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
882 * SimpleCollator.cs : reverted IsSuffix() to return bool (to match w/
883 what current IsPrefix() does). For expansion of target, IsPrefix()
884 should check the no-match case that expansion is longer than input.
885 Some refactory on IsPrefix().
886 Added GetContractionTal() for IsSuffix() (not used yet).
888 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
890 * TestDriver.cs : added IsPrefix() expansion cases.
891 * SimpleCollator.cs : IsPrefix() now supports contractions (with much
892 of complexity), and it now returns bool again.
893 IndexOf() for replacement should make use of IndexOfPrimitiveChar()
894 since expansions won't be expanded recursively.
896 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
898 * SimpleCollator.cs : commonized character comparison in IsPrefix()
899 and IsSuffix(). csc compile fix.
900 * CompareInfoImpl.cs : deleted.
902 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
904 * TestDriver.cs : added SimpleCollator.ctor() sanity check.
905 Added replacement contraction example.
906 * SimpleCollator.cs : Now IndexOf() and LastIndexOf() support
907 contraction in source string. Extracted matching code to Matches().
908 Replacement contraction was including extraneous '\x0'.
910 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
912 * Collation-notes.txt : updated status.
913 * CollationDataStructures.txt : tiny fixes.
914 * SimpleCollator.cs :
915 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
916 namespace Util and csc borked).
917 GetContraction was incorrectly returning first item.
918 Private IsPrefix() now returns int (but it might not be in real use).
919 Extracted simple char comparison to CompareCharSimple().
920 IndexOf() and LastIndexOf() now fully handle contractions (both
921 binary key and string replacement) in "target" (for "s" not yet).
922 * TestDriver.cs : be more verbose.
923 * mono-tailoring-source.txt : added comment.
924 * MSCompatUnicodeTable.template :
925 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
927 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
929 * create-mscompat-collation-table.cs : compute COMBINING blah marks as
930 well as those characters WITH blah.
931 * TestDriver.cs : added combining sortkey cases.
933 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
935 * mono-tailoring-source.txt : fixed description on '*' in sortkeys.
936 * SimpleCollator.cs : Now it fully uses tailoring info. Fixed
937 contraction search that worked only when string is contraction.
938 Removed commented code. Minor refactoring.
939 * TestDriver.cs : added example that uses "ZS" in Hungarian sorting.
941 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
943 * create-mscompat-collation-table.cs,
944 * mono-tailoring-source.txt : removed extraneous level 4 sortkey
945 which cannot be supported.
946 * SimpleCollator.cs : added GetContraction() and used in some places.
947 Now CompareOptions is set only once. Reordered some code (e.g.
948 ignorable check -> get compat char -> compare).
950 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
952 * SimpleCollator.cs : sort tailoring tables before actual usage.
953 Support diacritical remappings (it is customized collation rule
954 which does not exist in UCA).
956 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
958 * SimpleCollator.cs : build culture specific tailoring table from
959 TailoringInfo and unified data array.
960 * create-mscompat-collation-table.cs : Added null termination to
961 sortkey map tailorings (mostly to save my eyes).
962 * MSCompatUnicodeTable.template : added public TailoringValues.
964 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
966 * SortKeyBuffer.cs : handle special weight (category 06) characters.
967 * Collation-notes.txt : Updated description on special weight (it was
969 * TestDriver.cs : added special weight cases.
971 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
973 * MSCompatUnicodeTable.template : added GetTailoringInfo().
974 * SimpleCollator.cs : Now tailoring information is acquired and used.
975 (FrenchSort is supported but Compare() won't work expectedly since
976 the table is still incomplete for those diacritical marks).
977 * SortKeyBuffer.cs : On reversing diacritical weights, it should
978 ignore zeros. Reset() should reset frenchSorted flag.
980 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
982 * create-mscompat-collation-table.cs : Further fixes on Jamo,
983 diacritical weights by character name, and *Numbers primary weights.
985 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
987 * create-mscompat-collation-table.cs : More fix on Devanagari,
988 Gujarati, Oliya, Tamil and Lao sortkeys.
990 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
992 * create-mscompat-collation-table.cs : Fixed Georgian, Thai, Gurmukhi
995 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
997 * create-mscompat-collation-table.cs : Fixed Thai character primary
998 and secondary values. Fixed Thaana letters. Added more LAMESPEC
999 CJK compat. Fixed some circled CJK secondary weight.
1000 Hacked some nonspacing mark sortkey value adjustment.
1002 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
1004 * create-mscompat-collation-table.cs : CP932.TXT was not parsed as
1005 expected. JIS ordering was incorrect. OtherNumbers that represents
1006 10 or more values were incorrectly computed the offset. Some Hangul
1007 compat characters has different offset.
1009 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
1011 * create-mscompat-collation-table.cs : Fixed 0x8 category characters.
1012 Added hack for need-to-be-fixed characters to fall into 0xA category.
1013 * create-collation-element-table.cs : previous checkin seem failed :(
1014 * README: updated a bit.
1016 2005-06-24 Atsushi Enomoto <atsushi@ximian.com>
1018 * CodePointIndexer.cs :
1019 removed extraneous switch (I could use empty array for that need).
1020 * CollationElementTableUtil.cs : primary weight type became ushort.
1021 * create-collation-element-table.cs : several bugfixes.
1022 collElem should be int. It was skipping most of entries because of
1023 incorrect string tokenization.
1025 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
1027 * create-mscompat-collation-table.cs : handle some Jamo NKFD.
1029 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
1031 * SimpleCollator.cs : forgot to commit in the last checkin.
1032 * create-mscompat-collation-table.cs : fixed arabic shift weight chars.
1033 * TestDriver.cs : switch table dumper and collator testing.
1034 * SortKey.cs : for now comment out internal indexes (not in use).
1036 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
1038 * MSCompatUnicodeTable.template,
1039 SimpleCollator.cs : support for culture dependent CJK table.
1041 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
1043 * create-mscompat-collation-table.cs,
1044 MSCompatUnicodeTableUtil.cs : make CJK table more compact.
1046 2005-06-22 Atsushi Enomoto <atsushi@ximian.com>
1048 * SimpleCollator.cs : Fixed stupid index search when start != 0.
1050 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1052 * SimpleCollator.cs : fixed my misunderstanding on LastIndexOf(). It
1053 now starts from "start" and proceeds backward by "length".
1054 * TestDriver.cs : fix warning.
1056 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1058 * TestDriver.cs : more tests.
1059 * SimpleCollator.cs : LastIndexOf() is not setting search length
1060 on iteration. Quick workaround fro String.LastIndexOf() bug (maybe).
1062 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1064 * create-normalization-source.cs : output propValue as uint.
1066 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1068 * SortKey.cs : Now it is System.Globalization.SortKey.
1069 To replace existing implementation, it now requires lcid and
1070 CompareOptions. Added required members.
1071 * SortKeyBuffer.cs : thus .ctor() requires LCID.
1072 * SimpleCollator.cs : made required changes above.
1074 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1076 * CodePointIndexer.cs : added CompressArray(). Now it requires two more
1077 parameters for default index and codepoint.
1078 * CollationElementTableUtil.cs,
1079 NormalizationTableUtil.cs : required changes wrt above change.
1080 * MSCompatUnicodeTableUtil.cs : added for several codepoint indexers.
1081 * MSCompatUnicodeTable.template : Now it uses codepoint indexer.
1082 * create-mscompat-collation-table.cs : Now it outputs compressed array.
1083 * Makefile : now collation requires MSCompatUnicodeTableUtil.cs
1085 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1087 * SimpleCollator.cs :
1088 Implemented IsSuffix() and LastIndexOf().
1089 Several fixes on index > 0 cases.
1090 * TestDriver.cs : sample IsSuffix() and LastIndexOf() usage and more.
1092 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1094 * Collation-notes.txt : updated (status, impl. classes).
1095 * MSCompatUnicodeTable.cs : Korean Jamo are not really expansions.
1097 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1099 * SimpleCollator.cs : implemented IndexOf(string,string,CompareOptions)
1100 and IsPrefix(). Tiny code refactory.
1101 * TestDriver.cs : sample IsPrefix() and IndexOf() usage.
1102 * MSCompatUnicodeTable.cs : tiny refactory for CodePointIndexer use.
1104 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
1106 * SimpleCollator.cs :
1107 IndexOf(string, char, CompareOptions) implementation.
1108 * TestDriver.cs : sample IndexOf() usage.
1110 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
1112 * create-mscompat-collation-table.cs : was missing most important
1113 kind of blocks - equivalent expansions (e.g. invariant mappings).
1114 More readable mappings.
1116 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
1118 * mono-tailoring-source.txt : new file. It describes tailoring
1119 information. Basically examined under .NET 1.x.
1120 * create-mscompat-collation-table.cs : consume the file above.
1121 * MSCompatUnicodeTable.template : now tailorings is not a stub.
1122 * CollationDataStructures.txt : minor fixes.
1124 SimpleCollator.cs : added FrenchSort support.
1125 * Collation-notes.txt : added description on Latin primary weights.
1126 * ldml-limited.rng : added note.
1127 * create-tailorings.cs : added note. more serialization (but won't be
1130 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
1132 * SortKeyBuffer.cs : non-primary character is added to previous
1134 * TestDriver.cs : added example case of above.
1136 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
1138 * SimpleCollator.cs : IgnoreSymbols support.
1139 * TestDriver.cs : compilation fix. IgnoreSymbols example.
1140 * create-mscompat-collation-table.cs : more Hangul fixes.
1142 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
1144 * create-mscompat-collation-table.cs : more Hangul fixes.
1145 * SortKey.cs : it will replace sys.globalization.SortKey. It has
1146 some internal members.
1147 * SortKeyBuffer.cs : now it uses SortKey instead of byte[].
1148 * SimpleCollator.cs : CompareOptions support. However I don't think
1149 it will be developed anymore since SortKey never enables IndexOf().
1150 * TestDriver.cs : a few CompareOptions cases.
1152 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1154 * SimpleCollator.cs : simple collator implementation that just will
1155 use GetSortKey() for all its basis.
1156 * TestDriver.cs : sample code that uses this collator set.
1157 * MSCompatUnicodeTable.template : removed test driver from here.
1159 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1161 * create-mscompat-collation-table.cs : Hangul fixes.
1162 Now less than 300 characters that does not have sortkey weights.
1163 * MSCompatUnicodeTable.template : added FIXME info for Hangul Jamo.
1165 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1167 * create-mscompat-collation-table.cs : Added control picture mappings.
1168 Minor primary weight fixes.
1170 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1172 * create-mscompat-collation-table.cs : Added mappings for box
1173 drawings and blocks.
1175 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1177 * create-mscompat-collation-table.cs : Added mappings for arrows.
1179 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1181 * create-mscompat-collation-table.cs : added support for letterlike
1182 characters and squared CJK compatibility characters, ordered by
1183 character names (0x0E category).
1184 * Collation-notes.txt : added description on that.
1186 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1188 * MSCompatUnicodeTable.template : Now expansions are simulated.
1189 * create-mscompat-collation-table.cs : filled Korean number level2.
1190 Reordered some code blocks to fill correct diacritical differences.
1191 * Collation-notes.txt : some corrections and minor additions.
1193 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1195 * MSCompatUnicodeTable.template :
1196 Now dumper test driver uses SortKeyBuffer for dogfooding.
1197 * create-mscompat-collation-table.cs : some diacritical level fixes
1198 (with non-working extra latin check).
1199 * SortKeyBuffer.cs : several fixes to get working as a practical code.
1200 * Collator.cs : make it compilable, leaving things as NotImplemented.
1202 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1204 * create-mscompat-collation-table.cs : some fixes on primary category
1205 07 (miscellaneous symbols and punctuations).
1207 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1209 * create-mscompat-collation-table.cs : more mapping fix on numbers,
1210 letters, variable weight characters, circled Japanese and CJK.
1211 * MSCompatUnicodeTable.template : fixed HasSpecialWeight() to be more
1212 inclusive. Simplified dumper code.
1214 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1216 * create-mscompat-collation-table.cs : finished Hangul (both Jamo
1217 and Syllables). sortkey dumper diff lines became 8000 from 30000.
1219 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1221 * create-mscompat-collation-table.cs : added some nonspacing marks in
1222 either correct or hacky way.
1224 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
1226 * create-mscompat-collation-table.cs : several improvements. Japanese
1227 Kana support, Hebrew accents, Bengali nonspacing marks, sorting of
1228 numeric characters, diacritically decorated latin alphabets. Fixed
1229 some diacritical weights detection.
1230 * MSCompatUnicodeTable.cs : tiny Japanese fix. Handle nonspacing
1231 marks' primary weight as empty.
1232 * Collation-notes.txt : some updates.
1234 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
1236 * create-mscompat-collation-table.cs : don't process nonexact NFKD
1237 mapping as equivalent, however store CJK extensions into NFKD map
1238 even if one does not strictly match.
1239 Now am going to fill Hangul into tables (unlike UCA it does not look
1240 possible to calculate sortkey value).
1241 Fixed Cyrillic and Georgian UCA based orderings.
1242 * MSCompatUnicodeTable.template : added CJK extension sortkey
1245 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
1247 * create-mscompat-collation-table.cs : Fixed latin alphabet support.
1248 Added latin with diacritical and CJK extension.
1249 * MSCompatUnicodeTable.cs : modified dumper code a bit (for my purpose).
1251 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
1253 * create-mscompat-collation-table.cs : now parses DerivedAge.txt (right
1254 now not used thouth). Filled CJK ideograph, still not perfect.
1255 Fixed number primary keys. NFKD numbers and CJK ideographs are now
1256 considered, including brackets elimination.
1257 * Makefile : now it downloads DerivedAge.txt.
1258 * MSCompatUnicodeTable.template : added dummy code dumper. It computes
1259 PrivateUse, Surrogate and Hangul Syllables.
1260 * Collation-notes.txt : Noted that Hangul Syllables need more love.
1262 2005-06-09 Atsushi Enomoto <atsushi@ximian.com>
1264 * create-tailorings.cs : added configuration support. sort them.
1265 I wonder if it is really usable. Having own format might be better.
1266 * create-mscompat-collation-table.cs : fixing some sortkey numbers,
1267 making closer to windows. Now it handles NFKD in some places.
1268 * MSCompatUnicodeTable.template : Added dummy sortkey dumper driver.
1269 * CollationDataStructures.txt : added description on tailoring
1270 fields, though they are subject to change.
1272 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
1274 * create-tailorings.cs, ldml-limited.rng : new file.
1275 * LdmlReader.cs : removed old file.
1277 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
1279 * SortKeyBuffer.cs : split from Collator.cs. Now it considers
1280 practical use, reflecting updated sortkey constant design.
1281 Especially level 4 weight is split to 4 arrays that are merged in
1282 the last stage of GetSortKey().
1283 * Collator.cs : thus SortKeyBuffer is removed from here.
1284 Additionally, removed some extraneous bits in other classes.
1285 * Collation-notes.txt : Some editorial fixes. Added information on
1286 Korean matter (how to compute Hangle Syllables / Hangul Jamo cannot
1287 be stored in simple byte arrays).
1288 * CodePointIndexer.cs,
1289 create-collation-element-table.cs,
1290 CollationElementTable.template,
1291 NormalizationTableUtil.cs : short CodePointIndexer method names.
1292 * create-mscompat-collation-table.cs : Additional info on why some
1293 meaningful characters are ignored in Windows (Unicode version
1294 difference). Removed U+070F from special check (was extraneous).
1296 2005-06-06 Atsushi Enomoto <atsushi@ximian.com>
1298 * MSCompatUnicodeTable.template:
1299 Moved body implementation to table creator and put those bool
1300 results into an array.
1301 * create-mscompat-collation-table.cs :
1302 So imported those methods. Modified array output to emit "0x"
1303 only for more than 9.
1304 * create-normalization-source.cs : ditto on "0x" output matter.
1305 * CollationDataStructures.txt : so now it holds ignorableFlags.
1307 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
1309 * Collation-notes.txt, CollationDataStructures.txt :
1310 separate document for data structure design.
1312 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
1314 * create-mscompat-collation-table.cs : added culture-dependent CJK
1315 table creation. It uses CLDR as its basis. (Culture independent CJK
1317 * Makefile : added CLDR archive downloading support.
1318 * MSCompatUnicodeTable.template : tiny renamings.
1319 * Collation-notes.txt : additional CJK info.
1321 2005-06-02 Atsushi Enomoto <atsushi@ximian.com>
1323 * Collation-notes.txt, create-mscompat-collation-table.cs :
1324 added secondary weight support for BlahNumber characters.
1326 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
1328 * downloaded : added directory. All downloaded files are stored here.
1329 * Makefile : use "downloaded" directory.
1330 Added more auto-download stuff.
1331 * create-mscompat-collation-table.cs :
1332 Added Japanese square kana support.
1334 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
1336 * Collation-notes.txt : added Estrangela (ancient Syriac) and Thaana.
1337 * create-mscompat-collation-table.cs : added support for Arabic abjad,
1338 Estrangela and Thaana.
1339 * MSCompatUnicodeTable.template : removed BOM.
1341 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1343 * Collation-notes.txt : wrong comment cleanup and spelling fixes.
1344 * create-mscompat-collation-table.cs : added diacritic support for
1345 Latin letters (as long as covered in primary weight).
1347 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1349 * Makefile : minor fixes. Added warning lines to generated sources.
1351 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1353 * create-char-mapping-source.cs :
1354 Removed ToWidthInsensitive() generation.
1356 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1358 * create-mscompat-collation-table.cs : Now it dumps level1 to 3 values.
1359 ToWidthInsensitive() is implemented here, using an array (which is
1360 to be optimized using CodePointIndexer).
1361 * MSCompatUnicodeTable.cs : renamed as MSCompatUnicodeTable.template
1362 * MSCompatUnicodeTable.template : now it is used to generate
1363 MSCompatUnicodeTable.cs which got ready to be used.
1364 * Makefile : added MSCompatUnicodeTable.cs build support. Now it
1365 supports "make normalization" and "make collation".
1367 2005-05-30 Atsushi Enomoto <atsushi@ximian.com>
1369 * Collation-notes.txt : Description on ICU is very incorrect. Now it
1370 became more rational and sane.
1371 * create-mscompat-collation-table.cs : fixed some indexes.
1372 * Makefile : added "mstablegen" target.
1373 * MSCompatUnicodeTable.cs : removed GetPrimaryWeight(). Minor fix.
1375 2005-05-26 Atsushi Enomoto <atsushi@ximian.com>
1377 * Collation-notes.txt : more analysis on "letters".
1378 * create-mscompat-collation-table.cs : more proof of concepts.
1380 2005-05-25 Atsushi Enomoto <atsushi@ximian.com>
1382 * Collation-notes.txt : more info. Started letter sortkey analysis
1383 (some of other stuff are really non-understandable right now.)
1384 * create-mscompat-collation-table.cs : table generator proof-of-
1385 concept source (not compilable).
1386 * MSCompatUnicodeTable.cs : moved some code to the new source.
1389 2005-05-20 Atsushi Enomoto <atsushi@ximian.com>
1391 * Collation-notes.txt : started level 2 weight analysis.
1393 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
1395 * Collation-notes.txt : Additional information on how to create
1397 * MSCompatUnicodeTable.cs : implemented part of GetLevel3Weight().
1399 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
1401 * Collation-notes.txt : More case weight (level 3) analysis. I'm
1402 likely to just write table generator.
1404 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
1406 * MSCompatUnicodeTable.cs : part of level 4 weight implementation.
1408 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
1410 * Collation-notes.txt :
1412 Revised comparison methods; backward iteration is possible.
1413 More on char-by-char comparison.
1414 Level 4 comparison is actually a bit more complex.
1416 * Collator.cs : some conceptual updates wrt above.
1418 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
1420 * Collation-notes.txt : Japanese voice mark is level 2, and Hangul
1421 properties are level 3.
1423 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
1425 * Collation-notes.txt : Make it more readable. More analysis on
1426 level 3 and 4 sortkey structures.
1427 * Collator.cs : some compilation fixes (not compilable yet).
1429 2005-05-16 Atsushi Enomoto <atsushi@ximian.com>
1431 * Collation-notes.txt : Analysis on variable-weighting (level 5)
1433 * Collator.cs : updated corresponding part of level 5, and more.
1435 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1437 * Collation-notes.txt : more updates.
1438 * Collator.cs : rewrote from scratch. Some rough sketch for sortkey
1439 buffer, character iterator and collator methods. Not compiling.
1441 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1443 * Collator.cs : Am going to replace it with new one. No need for
1444 CompareOptions-dependent Comparer.
1446 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1448 * Collation-notes.txt : There seems a bit more complexity.
1450 2005-05-10 Atsushi Enomoto <atsushi@ximian.com>
1452 * Collation-notes.txt : more updates, being close to write sortkey
1455 2005-05-09 Atsushi Enomoto <atsushi@ximian.com>
1457 * CompareInfoImpl.cs, Collator.cs : conceptual update
1458 * Collation-notes.txt : some corrections and additions.
1459 * Makefile : added LDML input (but it won't be used at all).
1461 2005-04-28 Atsushi Enomoto <atsushi@ximian.com>
1463 * Collation-notes.txt : more updates.
1465 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
1467 * Collation-notes.txt : more updates.
1469 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
1471 * Collation-notes.txt : some updates.
1472 * create-mapping-char-source.cs : superscripts and subscripts are also
1473 ignored in IgnoreWidth comparison.
1474 * Makefile : tiny touch fix.
1476 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1478 * CompareInfoImpl.cs, Collator.cs : conceptual stuff (not working).
1480 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1482 * create-char-mapping-source.cs : Now it generates
1483 ToWidthInsensitive() from combining category <wide> and <narrow>.
1484 * MSCompatUnicodeTable.cs : added ToKanaTypeInsensitive() and
1485 ToWidthInsensitive() for IgnoreKanaType and IgnoreWidth.
1487 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1489 * README, LdmlReader.cs, DataStructures.txt : new files.
1491 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1493 * CodePointIndexer.cs,
1494 Collation-notes.txt,
1495 CollationElementTable.template,
1496 CollationElementTableUtil.cs,
1497 create-char-mapping-source.cs,
1498 create-collation-element-table.cs,
1499 create-combining-class-source.cs,
1500 create-normalization-source.cs,
1502 MSCompatUnicodeTable.cs,
1503 Normalization.template,
1504 NormalizationTableUtil.cs : initial checkin (to private branch).