1 2005-08-10 Atsushi Enomoto <atsushi@ximian.com>
3 * SimpleCollator.cs : Now all collator methods are thread safe.
5 All instance non-readonly fields turned into arguments of every
6 methods that use those fields.
7 (Sadly it is the end of no-memory-cost collator era. mcs bootstrap
8 now needs +100KB memory consumption.)
10 2005-08-09 Atsushi Enomoto <atsushi@ximian.com>
12 * SimpleCollator.cs : made "checkedFlags" as nullable and made it as
13 an argument of every index methods (to make it thread safe).
15 2005-08-09 Atsushi Enomoto <atsushi@ximian.com>
18 MSCompatUnicodeTable.cs :
19 - Now IsIgnorable() is aggregated to be one invokation to check
20 completely ignorable, nonspacing and symbols.
21 - Introduced "already checked" flags for IndexOf() and LastIndexOf()
22 to skip sortkey binary check on the same characters. Significant
23 perf. improvement for such case as IndexOf("AABCBABC...Z",'Z').
25 2005-08-08 Gert Driesen <drieseng@users.sourceforge.net>
27 * SortKey.cs: Marked Serializable to match MS.NET.
29 2005-08-08 Atsushi Enomoto <atsushi@ximian.com>
31 * create-mscompat-collation-table.cs,
32 Makefile : changed resources output directory.
34 2005-08-04 Atsushi Enomoto <atsushi@ximian.com>
36 * create-normalization-tests.cs,
37 StringNormalizationTestSource.cs : new files for Unicode
38 Normalization test generator.
39 * Makefile : added support for above.
41 2005-08-03 Atsushi Enomoto <atsushi@ximian.com>
43 * NormalizationTableUtil.cs : oops, it does not compile.
44 * managed-collation.patch : I guess having managed resource would be
45 better for collation. At least current code has such #define so
46 Makefile should be in sync with it.
48 2005-08-03 Atsushi Enomoto <atsushi@ximian.com>
50 * create-normalization-source.cs : Fixed CharMapComparer which
51 incorrectly returned 0 when the second arg is shorter. Reduced
52 extraneous helperIndex map. Other minor fixes and code removal.
53 * Normalization.cs : several fixes to support blocked combine handling.
54 * NormalizationTableUtil.cs : tiny member renaming.
56 2005-08-03 Atsushi Enomoto <atsushi@ximian.com>
58 * create-normalization-source.cs,
59 NormalizationTableUtil.cs,
60 Normalization.cs : several bugfixes on index miscomputation.
61 Renamed using aliases (csc will bork). Primary combine safety is now
62 computed during UnicodeData.txt parse.
63 Maximum NFKD length was 18, not 4 (U+FDFA).
65 2005-08-02 Atsushi Enomoto <atsushi@ximian.com>
67 * managed-collation.patch : added Normalization support.
68 * managed-collation-icall.patch : added, including normalization stuff.
70 BTW when will collation code checked in?
72 2005-08-02 Atsushi Enomoto <atsushi@ximian.com>
74 * create-normalization-source.cs : Unified three normalization source
75 generators, to compute IsUnsafe flag. Fixed helperIndex array type
77 * create-char-mapping-source.cs,
78 create-combining-class-source.cs : thus removed.
79 * Makefile : thus modified for the above integration.
80 * NormalizationTableUtil.cs : Extended to contain IsUnsafe flag.
81 * Normalization.cs : Several fixes to make Normalize() actually work.
83 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
85 * create-normalization-source.cs,
87 create-char-mapping-source.cs,
88 create-combining-class-source.cs,
89 Makefile : converted managed array to pointers (like collation stuff).
91 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
93 * NormalizationTableUtil.cs : further table range optimization.
94 * create-normalization-source.cs,
95 create-char-mapping-source.cs,
96 create-combining-class-source.cs : added C header output support.
98 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
100 * create-normalization-source.cs, Normalization.cs :
101 Now property size is < 256, so directly embed value in "props" array.
102 Add QuickCheck(c,checkType) and remove IsNFD/C/KD/KC and delegates.
104 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
106 * create-combining-class-source.cs,
107 create-char-mapping-source.cs,
108 create-normalization-source.cs,
109 NormalizationTableUtil.cs,
110 Normalization.cs : String.Normalize() does not handle surrogate
111 characters. mapping information in DerivedNormalizationProps.txt
112 are not used in the code (those from UnicodeData.txt is used).
113 Hangul syllables are computed instead of embedded in the tables.
114 * managed-collation.patch : removed IntPtrStream and Makefile patches.
116 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
118 * MSCompatUnicodeTable.cs : IsSortable() was broken.
120 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
122 * MSCompatUnicodeTable.cs : added helper for CompareInfo.IsSortable().
124 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
126 * create-tailoring.cfg : added for convenience of contraction check.
128 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
130 * create-normalization-source.cs,
133 create-mscompat-collation-table.cs,
134 MSCompatUnicodeTableUtil.cs,
136 create-collation-element-table.cs,
137 MSCompatUnicodeTable.cs,
139 create-combining-class-source.cs : added copyright lines.
141 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
143 MSCompatUnicodeTable.cs : removed extraneous definition.
145 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
147 * create-mscompat-collation-table.cs
148 MSCompatUnicodeTable.cs : full C header support, finally.
150 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
153 NormalizationTableUtil.cs,
154 create-char-mapping-source.cs : more aggressive data compression.
155 It now ignores characters that are >= U+10000.
157 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
160 Normalization.template,
161 Normalization.cs : renamed existing file.
163 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
165 * NormalizationTableUtil.cs,
166 Normalization.template,
167 create-combining-class-source.cs : GetCombiningClass is now
168 implemented as indexer based array.
169 * Makefile : renamed output filename.
170 * create-mscompat-collation-table.cs : removed comments that does not
172 * create-tailoring.cs : use utf-8 output (and fixed filename).
174 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
176 * create-mscompat-collation-table.cs : hacked safer IPA extensions.
177 * Collation-notes.txt : status of sortkey table.
179 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
181 * create-mscompat-collation-table.cs : some Greek mapping fix.
183 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
185 * create-mscompat-collation-table.cs : diacritical weight is not
186 treated correctly when they are picked from letter names, as flags.
188 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
190 * create-mscompat-collation-table.cs : fixed culture-dependent
191 nonspacing mark weight.
193 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
195 * create-mscompat-collation-table.cs : some Hebrew case letter fixes.
196 Some diacritical fixes on symbols.
198 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
200 * create-mscompat-collation-table.cs : Fixed level 3 weight of
201 Arabic presentation forms.
203 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
205 * create-mscompat-collation-table.cs : Fixed some diacritical weight
206 of Arabic presentation forms.
208 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
210 * SimpleCollator.cs : more status updates. It's almost complete,
211 except for sortkey values.
213 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
215 * SimpleCollator.cs : similar optimization also for LastIndexOf().
217 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
219 * SimpleCollator.cs : the previous patch was missing IgnoreNonSpace
222 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
224 * SimpleCollator.cs : reduced extra sortkey value computation in
225 MatchesForward(). It makes IndexOf() roughly 30% faster.
227 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
229 * SortKey.cs : GetHashCode() returns a value based on its byte data.
232 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
234 * SimpleCollator.cs : consider extractions in invariant culture.
236 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
238 * SimpleCollator.cs : (unsafeFlags) be compact ;-)
240 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
242 * SimpleCollator.cs : When the tail of the target does not match more
243 than 3 times, then IsSuffix() will never be true (3 is the max
244 length of an expansion; \uFB03 -> ffi). It brings significant
245 performance boost when "source" string is very long.
246 * MSCompatUnicodeTable.cs : added MaxExpansionLength constant.
247 Reordered code lines.
249 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
251 * Collation-notes.txt : updated implementation status.
253 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
255 * SimpleCollator.cs : Implemented quick codepoint comparison in
256 Compare(). Comparison became 125x faster.
257 * mono-tailoring-source.txt : added tiny comment.
259 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
261 * mono-tailoring-source.txt : Added all single sortkey remapping to
262 all cultures (still need to fill contractions and annotate possible
263 buggy mapping referencing to CLDR).
264 * SimpleCollator.cs : removed unused code.
265 * MSCompatUnicodeTable.cs : tiny cast removal.
267 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
270 create-mscompat-collation-table.cs
271 MSCompatUnicodeTableUtil.cs
272 MSCompatUnicodeTable.cs : Now CJK mapping data is stored as byte
273 arrays. Thus SimpleCollator does not need to use bitwise and shift
274 operations to get sortkey value and they could be managed resources.
276 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
278 * create-mscompat-collation-table.cs,
279 MSCompatUnicodeTable.cs,
280 MSCompatUnicodeTableUtil.cs : From the result of sortkey comparison
281 between None and IgnoreWidth, width compat table could be computed
282 in somewhat simple way. So removed that table and all related code.
283 Increased the collation resource version.
285 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
287 * create-mscompat-collation-table.cs : Added C header output support.
289 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
291 * create-mscompat-collation-table.cs : FillLetterNFKD() could also be
292 applied to Cyrillic letters. Saved some of them.
294 2005-07-24 Atsushi Enomoto <atsushi@ximian.com>
296 * MSCompatUnicodeTable.cs : oh, ok, so we already have
297 GetManifestResourceInternal() ;-)
298 * managed-collation.patch : in Assembly.cs made that method internal.
300 2005-07-24 Atsushi Enomoto <atsushi@ximian.com>
302 * MSCompatUnicodeTable.cs : the pointer based icall code could be
303 also applicable for USE_MANAGED_RESOURCE mode.
305 2005-07-23 Atsushi Enomoto <atsushi@ximian.com>
307 * MSCompatUnicodeTable.cs : added icall support code (not enabled
308 unless the first line is commented out).
310 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
312 * create-mscompat-collation-table.cs,
313 MSCompatUnicodeTableUtil.cs,
314 MSCompatUnicodeTable.cs : Added resource version output (and ignore
315 in case of version mismatch). Removed obsolete, commented out code.
317 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
320 MSCompatUnicodeTable.cs,
321 create-mscompat-collation-table.cs : Now they use unmanaged pointers
322 instead of managed arrays.
323 * managed-collation.patch : Now it contains patch for IntPtrStream.cs
324 and Assembly.cs as well.
326 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
328 * MSCompatUnicodeTable.cs,
329 SimpleCollator.cs : Moved tailoring support classes to
330 MSCompatUnicodeTable.cs and drawn out from SimpleCollator.
331 Now that cjk and tailoring support are filled inside
332 MSCompatUnicodeTable, no managed array is exposed.
334 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
336 * create-mscompat-collation-table.cs,
338 MSCompatUnicodeTable.cs : Now it's not exposing collation table
339 internals as managed arrays (to switch to unmanaged pointers).
341 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
343 * create-mscompat-collation-table.cs : tiny nonspacing mark fix.
345 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
347 * create-mscompat-collation-table.cs : Fixed most of Greek mappings.
348 * MSCompatUnicodeTable.cs : don't lock string.
350 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
352 * create-mscompat-collation-table.cs : More Cyrillic diacritical fixes.
354 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
356 * create-mscompat-collation-table.cs : More Latin diacritical fixes.
358 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
360 * create-mscompat-collation-table.cs : There were still missing
361 math symbol mappings. Added several hacky diacritical weight for
364 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
366 * create-mscompat-collation-table.cs : fixed a few diacritical weight
367 on Cyrillic characters. Fixed ParseTailoringSource() to handle
368 non-heading escape sequence (\uXXXX) as expected.
370 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
372 * create-mscompat-collation-table.cs,
373 MSCompatUnicodeTableUtil.cs,
374 MSCompatUnicodeTable.cs : added more aggressive index limits for
375 table optimization at data size, in cost of speed.
377 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
379 * create-mscompat-collation-table.cs : fixed Arabic thirtial weight.
381 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
383 * create-mscompat-collation-table.cs : Mapping for hyphens and
384 punctuation are kinda finished. Rewrote batch mapping method to
385 collect all NFKD. Required modification on mapping is done.
387 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
389 * create-mscompat-collation-table.cs : minor mapping fixes on accent
390 marks and punctuations.
392 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
394 * create-mscompat-collation-table.cs : Fixed some MathSymbol mapping
395 and Box drawing mapping.
397 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
399 * create-mscompat-collation-table.cs : Fixed almost all numbers.
401 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
403 * create-mscompat-collation-table.cs : Symbol mappings are almost done.
404 Removed hack that gave dummy mappings to blank symbols.
406 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
408 * create-mscompat-collation-table.cs : more fix on arrows. Fix on box
409 drawings. Some code refactoring to eliminate hack.
411 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
413 * create-mscompat-collation-table.cs : Fixed some secondary weight
414 in Devanagari and arrows.
416 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
418 * create-mscompat-collation-table.cs : a set of tiny mapping fixes.
420 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
422 * create-mscompat-collation-table.cs : some diacritical fixes for
423 Latin. Added batch mapping method that considers computed
424 diacritical weight (for numbers).
426 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
428 * managed-collation.patch : forgot to add System.String patch.
430 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
432 * MSCompatUnicodeTable.cs : added resource existence check (required
433 for mscorlib transient time from the one without resources to the
436 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
438 * create-mscompat-collation-table.cs : fixed punctuations and hyphen
439 (shift) primary weight.
441 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
443 * create-mscompat-collation-table.cs : more nonspacing mark fixes.
444 Some non-basic Cyrillic diacritical weight fixes.
446 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
448 * create-mscompat-collation-table.cs : some Gurmukhi fixes on level 1
449 and level 3. Tiny Hangul weight fixes.
450 * MSCompatUnicodeTable.cs : U+30F5 and U+30F6 are small Japanese.
452 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
454 * create-mscompat-collation-table.cs : some normal characters who have
455 "narrow" NFKD mapping are regarded as "wide" and thus level 3 weight
456 values were different. Handle U+30FB as category A.
457 * MSCompatUnicodeTable.cs : U+30FB does not have special weight.
459 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
461 * create-mscompat-collation-table.cs : more diacritical weight fixes.
462 Removed some unused code.
464 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
466 * create-mscompat-collation-table.cs : Fixed some Thai and Arabic
469 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
471 * create-mscompat-collation-table.cs : Fixed Syriac nonspacing marks.
473 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
475 * create-mscompat-collation-table.cs : Fixed nonspacing marks in
476 Malayalam, Thai and Lao. Removed extraneous hack.
478 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
480 * SimpleCollator.cs : rewrote LastIndexOf() to handle source extenders.
481 Some refactoring on IndexOf() code. Removed unused Matches().
482 * Collation-notes.txt : some methods needed to be reimplemented, so
483 rewrote the description.
485 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
487 * SimpleCollator.cs : rewrote IsSuffix() to use CompareInternal().
488 Thus supported extenders in IsSuffix().
490 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
492 * SimpleCollator.cs : more IsSuffix() simplification, but it will be
493 stopped here since it cannot handle extenders (implementing new
496 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
498 * SimpleCollator.cs : simplified IsSuffix() code.
500 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
502 * SimpleCollator.cs : Fixed IndexOf() and LasIndexOf() to search the
503 entire replacement string if char target was an expansion.
504 IsSuffix() was using a method for IsPrefix() which was incorrect.
505 Removed old IsPrefix() code.
507 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
509 * SimpleCollator.cs : IndexOf() was incorrectly sharing the same
510 byte[] field in different areas of code. Now extenders in both
511 source and target really work in IndexOf().
513 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
515 * create-mscompat-collation-table.cs : fixed U+FF9F diacritical weight.
516 * SimpleCollator.cs : handle U+FF9E and U+FF9F as extenders.
518 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
520 * SimpleCollator.cs : Now FilterExtender() handles all extender
521 support. IndexOf() and LastIndexOf() now supports extenders.
522 IndexOf() and LastIndexOf() did not proceed contraction source
523 length as expected. Tiny refactoring on private IsPrefix() to take
526 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
528 * SimpleCollator.cs : when restoring from expansion, go back to the
529 top of the loop (to avoid index out of range).
530 Now IsPrefix() is implemented to reuse Compare() and thus it now
531 supports extender as well.
532 * Collation-notes.txt : status update. Deleted optimization part in
533 status section (it is duplicate).
535 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
537 * SimpleCollator.cs : some code reordering.
538 * create-mscompat-collation-table.cs : it was still missing U+3094.
540 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
542 * SimpleCollator.cs : Compare() now supports extender (e.g. U+39FC).
544 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
546 * SimpleCollator.cs : In GetSortKey(), don't update previousChar when
547 it is not primary (e.g. don't "extend" diacritical mark).
549 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
551 * managed-collation.patch : CompareInfo.Compare() should consider
552 the possibilities that non-empty string might be actually empty
553 in culture-sensitive context.
555 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
557 * SimpleCollator.cs : IndexOf() and LastIndexOf() returns start when
558 target is "empty" (in culture-sensitive context).
560 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
562 * SimpleCollator.cs : In IndexOf() and LastIndexOf(), skip ignorable
563 characters in target string.
565 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
567 * SimpleCollator.cs : When IgnoreWidth is specified, all Kana
568 characters are regarded as half-width.
569 Even though IgnoreWidth is specified, it should not ignore case.
570 For special weight comparison, the default values (E4) are bigger
571 than non-default values.
572 * SortKeyBuffer.cs : It should save LCID and original string.
573 * create-mscompat-collation-table.cs : For Japanese half-width kana,
574 it should not be counted in widthCompat map since IgnoreWidth does
575 not really ignore those differences.
577 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
579 * create-mscompat-collation-table.cs : Fixed missing Japanese bits.
581 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
583 * create-mscompat-collation-table.cs :
584 tiny diacritical weight fix for U+20D0-U+20E1.
586 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
588 * create-mscompat-collation-table.cs : ja CJK ideograph got completed.
590 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
592 * create-mscompat-collation-table.cs : Fixed CJK custom Japanese
593 mapping. It (maybe as well as other CJK tables) mixes NFKD. For
594 Japanese, modified NFKD table (because of Windows lame design).
596 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
598 * Makefile : added MONO_USE_MANAGED_COLLATION=no almost everywhere.
599 * MSCompatUnicodeTable.cs : FillCJK() was not invoked. Now it is
600 invoked at any time it is required.
601 * SimpleCollator.cs : call FillCJK() above in .ctor().
602 * MSCompatUnicodeTableUtil.cs : CJK range was wider.
603 * create-mscompat-collation-table.cs : CJK binary was missing the
604 length. CJK remapping is being moved to ModifyUnidata().
605 For cjk-ja mapping, we have to consider compat characters to be
606 added to the map, besides the raw UCA table.
608 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
610 * SortKeyBuffer.cs : Fixed shift level computation to match w/ Windows.
612 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
614 * SimpleCollator.cs : fixed LastIndexOf() to handle _target's_
615 contraction as expected. Fixed Compare() to save s2's contraction
617 * TestDriver.cs :added LastIndexOf() tester w/ indexes.
619 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
621 * managed-collation.patch : Fixed IsPrefix() and IsSuffix(). They
622 incorrectly use Compare().
623 * TestDriver.cs : more moved to nunit tests.
625 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
627 * SimpleCollator.cs : several fixes on Compare().
628 - Ignorable characters are skippted at the top of the loop.
629 - IgnoreNonSpace is checked to avoid extraneous level 2 comparison.
630 - In such case that s1 index is increased while s2 contraction is
631 replaced, s1 is inconsistently proceeded (bug).
632 - IsIgnorable() now also checks IgnoreNonSpace.
633 - Fixed FilterOptions() that does not work for IgnoreWidth at all.
634 * TestDriver.cs : now some are moved to nunit tests.
635 * Collation-notes.txt : minor todo update.
637 2005-07-11 Atsushi Enomoto <atsushi@ximian.com>
639 * SimpleCollator.cs : Compare() was ignoring such case that both
640 entire strings have '-' to be compared.
641 * Collation-notes.txt : more status updates.
642 * TestDriver.cs : added '-' use cases.
644 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
646 * SimpleCollator.cs : to be same as other buggy part, it now handles
647 U+3005, U+3031 and U+3032 as buggy as Windows. It just repeats
649 Fixed GetSortKey(): if the repeater is U+3005, second weight is 5.
650 * create-mscompat-collation-table.cs : dummy values for extenders.
652 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
654 * SimpleCollator.cs : Special weight fixes on GetSortKey(). Dash type
655 should be computed from ExtenderType, and voice mark weight should
657 * MSCompatUnicodeTable.cs : added tiny comment.
659 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
661 * SortKey.cs : It borked when MONO_USE_MANAGED_COLLATION is not yes.
662 * SimpleCollator.cs : support for extender (U+309D etc.).
664 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
666 * create-mscompat-collation-table.cs : some punct/symbols fix.
667 * managed-collation.patch : new (and temporary) file to support
668 managed collation in mscorlib.
669 * README : described how to use managed collation.
671 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
673 * create-mscompat-collation-table.cs : Further Cyrillic fixes. Handle
674 U+482-4C8 (though needs diacritical fixes).
675 * MSCompatUnicodeTable.cs : tiny comment for alternative impl.
677 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
679 * create-mscompat-collation-table.cs : Reimplemented Cyrillic weight
680 computation code, since it looks like the same way as Latin letters
681 have. Thus removed all other approach (UCA, by letter name).
683 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
685 * create-mscompat-collation-table.cs : diacritical fix for "double-
686 struck". Syriac nonspacing fixes.
688 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
690 * create-mscompat-collation-table.cs : more math symbol weight fixes.
692 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
694 * create-mscompat-collation-table.cs : fixed Hebrew character sortkeys.
696 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
698 * create-mscompat-collation-table.cs : math symbols U+25A0-U+2600 are
699 implemented (no stub). Some other fixes on category 8-A.
701 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
703 * create-mscompat-collation-table.cs : some minor fixes on Arabic,
704 Korean and Japanese sortkey weights.
706 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
708 * create-mscompat-collation-table.cs : More diacritical fixes.
709 Georgian characters do not have level 2 weights but level 3.
711 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
713 * create-mscompat-collation-table.cs : Roman numeral characters
714 have diacritical weight. quick hack for control signs (U+2400..)
717 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
719 * create-mscompat-collation-table.cs : improving Latin mappings.
720 Setting non-ASCII Latin characters' primary weight between those
721 ASCII characters, and setting diacritical weight (hacky).
722 * MSCompatUnicodeTable.cs :
723 Kanatype check: fixed (voice marks) and improved (comparison order).
725 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
727 * create-mscompat-collation-table.cs : more diacritical fixes.
728 primary weight fixes on punctuations in category 07.
730 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
732 * create-mscompat-collation-table.cs : several diacritical fixes.
733 * TestDriver.cs : sortkey dumper should use StringSort.
735 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
737 * SimpleCollator.cs : fixed incorrect indexer setup. Optimized
738 GetContraction() call a bit.
740 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
742 * create-mscompat-collation-table.cs : fixed incorrect level 2
744 * MSCompatUnicodeTable.cs : remove debug line.
746 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
748 * MSCompatUnicodeTableUtil.cs,
749 MSCompatUnicodeTable.cs,
751 create-mscompat-collation-table.cs : made some members internal and
752 accessible from other classes. Many indexes could be 0 by default.
753 * SimpleCollator.cs : optimizations. avoid method call.
755 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
757 * Collation-notes.txt : more updates.
758 * SimpleCollator.cs : Added quick check for Ordinal comparison.
759 Fixed special weight comparison. It cannot be customizable in the
760 implementation (and it won't be harmful).
761 * mono-tailoring-source.txt : thus updated comment.
763 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
765 * SimpleCollator.cs : Compare() was missing French sort support.
766 * TestDriver.cs : added example case.
768 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
770 * Collation-notes.txt : updated status. Eliminated descriptions on
771 "iterator" (I avoided it for performance concern). Fixed misc.
772 incorrect descriptions.
774 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
776 * Collator.cs : Now that SimpleCollator became feature complete, it is
779 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
781 * SimpleCollator.cs : implemented decent Compare() that immediately
782 stops at first primary difference.
784 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
786 * SimpleCollator.cs : indexers might return -1.
788 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
790 * SimpleCollator.cs : IsPrefix() and IsSuffix() optimization code was
791 buggy (length check for source was missing).
793 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
795 * create-mscompat-collation-table.cs : Fixed tailoring table output
796 to be in correct and countable order. Now if tailoring alias was not
797 found, just stop the build.
798 * MSCompatUnicodeTable.cs : several build fixes. Now it works to read
800 * mono-tailoring-source.txt : commented out CJK aliases that miss
802 * Makefile : needed further filename fixes.
804 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
806 * MSCompatUnicodeTable.cs : renamed from MSCompatUnicodeTable.template
807 (now it is working as a standalone file).
808 * Makefile : renamed generated file as MSCompatUnicodeTableGenerated.cs
809 (the generator now creates both binary resources and C# source).
811 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
813 * create-mscompat-collation-table.cs : Now it generates binary
814 resources (to parent directory).
815 * MSCompatUnicodeTable.template : added conditional code that fills
816 collation tables from manifest resources.
817 * Makefile : remove collation table binaries as well on "make clean".
818 Removed extraneous dependency.
820 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
822 * MSCompatUnicodeTable.template,
823 SimpleCollator.cs : removed extraneous GetExpansion().
825 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
827 * SimpleCollator.cs : IsSuffix() also supports contractions.
828 * TestDriver.cs : IsSuffix() example contraction cases.
830 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
832 * SimpleCollator.cs : reverted IsSuffix() to return bool (to match w/
833 what current IsPrefix() does). For expansion of target, IsPrefix()
834 should check the no-match case that expansion is longer than input.
835 Some refactory on IsPrefix().
836 Added GetContractionTal() for IsSuffix() (not used yet).
838 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
840 * TestDriver.cs : added IsPrefix() expansion cases.
841 * SimpleCollator.cs : IsPrefix() now supports contractions (with much
842 of complexity), and it now returns bool again.
843 IndexOf() for replacement should make use of IndexOfPrimitiveChar()
844 since expansions won't be expanded recursively.
846 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
848 * SimpleCollator.cs : commonized character comparison in IsPrefix()
849 and IsSuffix(). csc compile fix.
850 * CompareInfoImpl.cs : deleted.
852 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
854 * TestDriver.cs : added SimpleCollator.ctor() sanity check.
855 Added replacement contraction example.
856 * SimpleCollator.cs : Now IndexOf() and LastIndexOf() support
857 contraction in source string. Extracted matching code to Matches().
858 Replacement contraction was including extraneous '\x0'.
860 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
862 * Collation-notes.txt : updated status.
863 * CollationDataStructures.txt : tiny fixes.
864 * SimpleCollator.cs :
865 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
866 namespace Util and csc borked).
867 GetContraction was incorrectly returning first item.
868 Private IsPrefix() now returns int (but it might not be in real use).
869 Extracted simple char comparison to CompareCharSimple().
870 IndexOf() and LastIndexOf() now fully handle contractions (both
871 binary key and string replacement) in "target" (for "s" not yet).
872 * TestDriver.cs : be more verbose.
873 * mono-tailoring-source.txt : added comment.
874 * MSCompatUnicodeTable.template :
875 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
877 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
879 * create-mscompat-collation-table.cs : compute COMBINING blah marks as
880 well as those characters WITH blah.
881 * TestDriver.cs : added combining sortkey cases.
883 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
885 * mono-tailoring-source.txt : fixed description on '*' in sortkeys.
886 * SimpleCollator.cs : Now it fully uses tailoring info. Fixed
887 contraction search that worked only when string is contraction.
888 Removed commented code. Minor refactoring.
889 * TestDriver.cs : added example that uses "ZS" in Hungarian sorting.
891 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
893 * create-mscompat-collation-table.cs,
894 * mono-tailoring-source.txt : removed extraneous level 4 sortkey
895 which cannot be supported.
896 * SimpleCollator.cs : added GetContraction() and used in some places.
897 Now CompareOptions is set only once. Reordered some code (e.g.
898 ignorable check -> get compat char -> compare).
900 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
902 * SimpleCollator.cs : sort tailoring tables before actual usage.
903 Support diacritical remappings (it is customized collation rule
904 which does not exist in UCA).
906 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
908 * SimpleCollator.cs : build culture specific tailoring table from
909 TailoringInfo and unified data array.
910 * create-mscompat-collation-table.cs : Added null termination to
911 sortkey map tailorings (mostly to save my eyes).
912 * MSCompatUnicodeTable.template : added public TailoringValues.
914 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
916 * SortKeyBuffer.cs : handle special weight (category 06) characters.
917 * Collation-notes.txt : Updated description on special weight (it was
919 * TestDriver.cs : added special weight cases.
921 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
923 * MSCompatUnicodeTable.template : added GetTailoringInfo().
924 * SimpleCollator.cs : Now tailoring information is acquired and used.
925 (FrenchSort is supported but Compare() won't work expectedly since
926 the table is still incomplete for those diacritical marks).
927 * SortKeyBuffer.cs : On reversing diacritical weights, it should
928 ignore zeros. Reset() should reset frenchSorted flag.
930 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
932 * create-mscompat-collation-table.cs : Further fixes on Jamo,
933 diacritical weights by character name, and *Numbers primary weights.
935 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
937 * create-mscompat-collation-table.cs : More fix on Devanagari,
938 Gujarati, Oliya, Tamil and Lao sortkeys.
940 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
942 * create-mscompat-collation-table.cs : Fixed Georgian, Thai, Gurmukhi
945 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
947 * create-mscompat-collation-table.cs : Fixed Thai character primary
948 and secondary values. Fixed Thaana letters. Added more LAMESPEC
949 CJK compat. Fixed some circled CJK secondary weight.
950 Hacked some nonspacing mark sortkey value adjustment.
952 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
954 * create-mscompat-collation-table.cs : CP932.TXT was not parsed as
955 expected. JIS ordering was incorrect. OtherNumbers that represents
956 10 or more values were incorrectly computed the offset. Some Hangul
957 compat characters has different offset.
959 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
961 * create-mscompat-collation-table.cs : Fixed 0x8 category characters.
962 Added hack for need-to-be-fixed characters to fall into 0xA category.
963 * create-collation-element-table.cs : previous checkin seem failed :(
964 * README: updated a bit.
966 2005-06-24 Atsushi Enomoto <atsushi@ximian.com>
968 * CodePointIndexer.cs :
969 removed extraneous switch (I could use empty array for that need).
970 * CollationElementTableUtil.cs : primary weight type became ushort.
971 * create-collation-element-table.cs : several bugfixes.
972 collElem should be int. It was skipping most of entries because of
973 incorrect string tokenization.
975 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
977 * create-mscompat-collation-table.cs : handle some Jamo NKFD.
979 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
981 * SimpleCollator.cs : forgot to commit in the last checkin.
982 * create-mscompat-collation-table.cs : fixed arabic shift weight chars.
983 * TestDriver.cs : switch table dumper and collator testing.
984 * SortKey.cs : for now comment out internal indexes (not in use).
986 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
988 * MSCompatUnicodeTable.template,
989 SimpleCollator.cs : support for culture dependent CJK table.
991 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
993 * create-mscompat-collation-table.cs,
994 MSCompatUnicodeTableUtil.cs : make CJK table more compact.
996 2005-06-22 Atsushi Enomoto <atsushi@ximian.com>
998 * SimpleCollator.cs : Fixed stupid index search when start != 0.
1000 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1002 * SimpleCollator.cs : fixed my misunderstanding on LastIndexOf(). It
1003 now starts from "start" and proceeds backward by "length".
1004 * TestDriver.cs : fix warning.
1006 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1008 * TestDriver.cs : more tests.
1009 * SimpleCollator.cs : LastIndexOf() is not setting search length
1010 on iteration. Quick workaround fro String.LastIndexOf() bug (maybe).
1012 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1014 * create-normalization-source.cs : output propValue as uint.
1016 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1018 * SortKey.cs : Now it is System.Globalization.SortKey.
1019 To replace existing implementation, it now requires lcid and
1020 CompareOptions. Added required members.
1021 * SortKeyBuffer.cs : thus .ctor() requires LCID.
1022 * SimpleCollator.cs : made required changes above.
1024 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1026 * CodePointIndexer.cs : added CompressArray(). Now it requires two more
1027 parameters for default index and codepoint.
1028 * CollationElementTableUtil.cs,
1029 NormalizationTableUtil.cs : required changes wrt above change.
1030 * MSCompatUnicodeTableUtil.cs : added for several codepoint indexers.
1031 * MSCompatUnicodeTable.template : Now it uses codepoint indexer.
1032 * create-mscompat-collation-table.cs : Now it outputs compressed array.
1033 * Makefile : now collation requires MSCompatUnicodeTableUtil.cs
1035 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1037 * SimpleCollator.cs :
1038 Implemented IsSuffix() and LastIndexOf().
1039 Several fixes on index > 0 cases.
1040 * TestDriver.cs : sample IsSuffix() and LastIndexOf() usage and more.
1042 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1044 * Collation-notes.txt : updated (status, impl. classes).
1045 * MSCompatUnicodeTable.cs : Korean Jamo are not really expansions.
1047 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
1049 * SimpleCollator.cs : implemented IndexOf(string,string,CompareOptions)
1050 and IsPrefix(). Tiny code refactory.
1051 * TestDriver.cs : sample IsPrefix() and IndexOf() usage.
1052 * MSCompatUnicodeTable.cs : tiny refactory for CodePointIndexer use.
1054 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
1056 * SimpleCollator.cs :
1057 IndexOf(string, char, CompareOptions) implementation.
1058 * TestDriver.cs : sample IndexOf() usage.
1060 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
1062 * create-mscompat-collation-table.cs : was missing most important
1063 kind of blocks - equivalent expansions (e.g. invariant mappings).
1064 More readable mappings.
1066 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
1068 * mono-tailoring-source.txt : new file. It describes tailoring
1069 information. Basically examined under .NET 1.x.
1070 * create-mscompat-collation-table.cs : consume the file above.
1071 * MSCompatUnicodeTable.template : now tailorings is not a stub.
1072 * CollationDataStructures.txt : minor fixes.
1074 SimpleCollator.cs : added FrenchSort support.
1075 * Collation-notes.txt : added description on Latin primary weights.
1076 * ldml-limited.rng : added note.
1077 * create-tailorings.cs : added note. more serialization (but won't be
1080 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
1082 * SortKeyBuffer.cs : non-primary character is added to previous
1084 * TestDriver.cs : added example case of above.
1086 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
1088 * SimpleCollator.cs : IgnoreSymbols support.
1089 * TestDriver.cs : compilation fix. IgnoreSymbols example.
1090 * create-mscompat-collation-table.cs : more Hangul fixes.
1092 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
1094 * create-mscompat-collation-table.cs : more Hangul fixes.
1095 * SortKey.cs : it will replace sys.globalization.SortKey. It has
1096 some internal members.
1097 * SortKeyBuffer.cs : now it uses SortKey instead of byte[].
1098 * SimpleCollator.cs : CompareOptions support. However I don't think
1099 it will be developed anymore since SortKey never enables IndexOf().
1100 * TestDriver.cs : a few CompareOptions cases.
1102 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1104 * SimpleCollator.cs : simple collator implementation that just will
1105 use GetSortKey() for all its basis.
1106 * TestDriver.cs : sample code that uses this collator set.
1107 * MSCompatUnicodeTable.template : removed test driver from here.
1109 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1111 * create-mscompat-collation-table.cs : Hangul fixes.
1112 Now less than 300 characters that does not have sortkey weights.
1113 * MSCompatUnicodeTable.template : added FIXME info for Hangul Jamo.
1115 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1117 * create-mscompat-collation-table.cs : Added control picture mappings.
1118 Minor primary weight fixes.
1120 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1122 * create-mscompat-collation-table.cs : Added mappings for box
1123 drawings and blocks.
1125 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1127 * create-mscompat-collation-table.cs : Added mappings for arrows.
1129 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1131 * create-mscompat-collation-table.cs : added support for letterlike
1132 characters and squared CJK compatibility characters, ordered by
1133 character names (0x0E category).
1134 * Collation-notes.txt : added description on that.
1136 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1138 * MSCompatUnicodeTable.template : Now expansions are simulated.
1139 * create-mscompat-collation-table.cs : filled Korean number level2.
1140 Reordered some code blocks to fill correct diacritical differences.
1141 * Collation-notes.txt : some corrections and minor additions.
1143 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1145 * MSCompatUnicodeTable.template :
1146 Now dumper test driver uses SortKeyBuffer for dogfooding.
1147 * create-mscompat-collation-table.cs : some diacritical level fixes
1148 (with non-working extra latin check).
1149 * SortKeyBuffer.cs : several fixes to get working as a practical code.
1150 * Collator.cs : make it compilable, leaving things as NotImplemented.
1152 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1154 * create-mscompat-collation-table.cs : some fixes on primary category
1155 07 (miscellaneous symbols and punctuations).
1157 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1159 * create-mscompat-collation-table.cs : more mapping fix on numbers,
1160 letters, variable weight characters, circled Japanese and CJK.
1161 * MSCompatUnicodeTable.template : fixed HasSpecialWeight() to be more
1162 inclusive. Simplified dumper code.
1164 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1166 * create-mscompat-collation-table.cs : finished Hangul (both Jamo
1167 and Syllables). sortkey dumper diff lines became 8000 from 30000.
1169 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1171 * create-mscompat-collation-table.cs : added some nonspacing marks in
1172 either correct or hacky way.
1174 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
1176 * create-mscompat-collation-table.cs : several improvements. Japanese
1177 Kana support, Hebrew accents, Bengali nonspacing marks, sorting of
1178 numeric characters, diacritically decorated latin alphabets. Fixed
1179 some diacritical weights detection.
1180 * MSCompatUnicodeTable.cs : tiny Japanese fix. Handle nonspacing
1181 marks' primary weight as empty.
1182 * Collation-notes.txt : some updates.
1184 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
1186 * create-mscompat-collation-table.cs : don't process nonexact NFKD
1187 mapping as equivalent, however store CJK extensions into NFKD map
1188 even if one does not strictly match.
1189 Now am going to fill Hangul into tables (unlike UCA it does not look
1190 possible to calculate sortkey value).
1191 Fixed Cyrillic and Georgian UCA based orderings.
1192 * MSCompatUnicodeTable.template : added CJK extension sortkey
1195 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
1197 * create-mscompat-collation-table.cs : Fixed latin alphabet support.
1198 Added latin with diacritical and CJK extension.
1199 * MSCompatUnicodeTable.cs : modified dumper code a bit (for my purpose).
1201 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
1203 * create-mscompat-collation-table.cs : now parses DerivedAge.txt (right
1204 now not used thouth). Filled CJK ideograph, still not perfect.
1205 Fixed number primary keys. NFKD numbers and CJK ideographs are now
1206 considered, including brackets elimination.
1207 * Makefile : now it downloads DerivedAge.txt.
1208 * MSCompatUnicodeTable.template : added dummy code dumper. It computes
1209 PrivateUse, Surrogate and Hangul Syllables.
1210 * Collation-notes.txt : Noted that Hangul Syllables need more love.
1212 2005-06-09 Atsushi Enomoto <atsushi@ximian.com>
1214 * create-tailorings.cs : added configuration support. sort them.
1215 I wonder if it is really usable. Having own format might be better.
1216 * create-mscompat-collation-table.cs : fixing some sortkey numbers,
1217 making closer to windows. Now it handles NFKD in some places.
1218 * MSCompatUnicodeTable.template : Added dummy sortkey dumper driver.
1219 * CollationDataStructures.txt : added description on tailoring
1220 fields, though they are subject to change.
1222 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
1224 * create-tailorings.cs, ldml-limited.rng : new file.
1225 * LdmlReader.cs : removed old file.
1227 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
1229 * SortKeyBuffer.cs : split from Collator.cs. Now it considers
1230 practical use, reflecting updated sortkey constant design.
1231 Especially level 4 weight is split to 4 arrays that are merged in
1232 the last stage of GetSortKey().
1233 * Collator.cs : thus SortKeyBuffer is removed from here.
1234 Additionally, removed some extraneous bits in other classes.
1235 * Collation-notes.txt : Some editorial fixes. Added information on
1236 Korean matter (how to compute Hangle Syllables / Hangul Jamo cannot
1237 be stored in simple byte arrays).
1238 * CodePointIndexer.cs,
1239 create-collation-element-table.cs,
1240 CollationElementTable.template,
1241 NormalizationTableUtil.cs : short CodePointIndexer method names.
1242 * create-mscompat-collation-table.cs : Additional info on why some
1243 meaningful characters are ignored in Windows (Unicode version
1244 difference). Removed U+070F from special check (was extraneous).
1246 2005-06-06 Atsushi Enomoto <atsushi@ximian.com>
1248 * MSCompatUnicodeTable.template:
1249 Moved body implementation to table creator and put those bool
1250 results into an array.
1251 * create-mscompat-collation-table.cs :
1252 So imported those methods. Modified array output to emit "0x"
1253 only for more than 9.
1254 * create-normalization-source.cs : ditto on "0x" output matter.
1255 * CollationDataStructures.txt : so now it holds ignorableFlags.
1257 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
1259 * Collation-notes.txt, CollationDataStructures.txt :
1260 separate document for data structure design.
1262 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
1264 * create-mscompat-collation-table.cs : added culture-dependent CJK
1265 table creation. It uses CLDR as its basis. (Culture independent CJK
1267 * Makefile : added CLDR archive downloading support.
1268 * MSCompatUnicodeTable.template : tiny renamings.
1269 * Collation-notes.txt : additional CJK info.
1271 2005-06-02 Atsushi Enomoto <atsushi@ximian.com>
1273 * Collation-notes.txt, create-mscompat-collation-table.cs :
1274 added secondary weight support for BlahNumber characters.
1276 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
1278 * downloaded : added directory. All downloaded files are stored here.
1279 * Makefile : use "downloaded" directory.
1280 Added more auto-download stuff.
1281 * create-mscompat-collation-table.cs :
1282 Added Japanese square kana support.
1284 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
1286 * Collation-notes.txt : added Estrangela (ancient Syriac) and Thaana.
1287 * create-mscompat-collation-table.cs : added support for Arabic abjad,
1288 Estrangela and Thaana.
1289 * MSCompatUnicodeTable.template : removed BOM.
1291 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1293 * Collation-notes.txt : wrong comment cleanup and spelling fixes.
1294 * create-mscompat-collation-table.cs : added diacritic support for
1295 Latin letters (as long as covered in primary weight).
1297 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1299 * Makefile : minor fixes. Added warning lines to generated sources.
1301 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1303 * create-char-mapping-source.cs :
1304 Removed ToWidthInsensitive() generation.
1306 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1308 * create-mscompat-collation-table.cs : Now it dumps level1 to 3 values.
1309 ToWidthInsensitive() is implemented here, using an array (which is
1310 to be optimized using CodePointIndexer).
1311 * MSCompatUnicodeTable.cs : renamed as MSCompatUnicodeTable.template
1312 * MSCompatUnicodeTable.template : now it is used to generate
1313 MSCompatUnicodeTable.cs which got ready to be used.
1314 * Makefile : added MSCompatUnicodeTable.cs build support. Now it
1315 supports "make normalization" and "make collation".
1317 2005-05-30 Atsushi Enomoto <atsushi@ximian.com>
1319 * Collation-notes.txt : Description on ICU is very incorrect. Now it
1320 became more rational and sane.
1321 * create-mscompat-collation-table.cs : fixed some indexes.
1322 * Makefile : added "mstablegen" target.
1323 * MSCompatUnicodeTable.cs : removed GetPrimaryWeight(). Minor fix.
1325 2005-05-26 Atsushi Enomoto <atsushi@ximian.com>
1327 * Collation-notes.txt : more analysis on "letters".
1328 * create-mscompat-collation-table.cs : more proof of concepts.
1330 2005-05-25 Atsushi Enomoto <atsushi@ximian.com>
1332 * Collation-notes.txt : more info. Started letter sortkey analysis
1333 (some of other stuff are really non-understandable right now.)
1334 * create-mscompat-collation-table.cs : table generator proof-of-
1335 concept source (not compilable).
1336 * MSCompatUnicodeTable.cs : moved some code to the new source.
1339 2005-05-20 Atsushi Enomoto <atsushi@ximian.com>
1341 * Collation-notes.txt : started level 2 weight analysis.
1343 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
1345 * Collation-notes.txt : Additional information on how to create
1347 * MSCompatUnicodeTable.cs : implemented part of GetLevel3Weight().
1349 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
1351 * Collation-notes.txt : More case weight (level 3) analysis. I'm
1352 likely to just write table generator.
1354 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
1356 * MSCompatUnicodeTable.cs : part of level 4 weight implementation.
1358 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
1360 * Collation-notes.txt :
1362 Revised comparison methods; backward iteration is possible.
1363 More on char-by-char comparison.
1364 Level 4 comparison is actually a bit more complex.
1366 * Collator.cs : some conceptual updates wrt above.
1368 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
1370 * Collation-notes.txt : Japanese voice mark is level 2, and Hangul
1371 properties are level 3.
1373 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
1375 * Collation-notes.txt : Make it more readable. More analysis on
1376 level 3 and 4 sortkey structures.
1377 * Collator.cs : some compilation fixes (not compilable yet).
1379 2005-05-16 Atsushi Enomoto <atsushi@ximian.com>
1381 * Collation-notes.txt : Analysis on variable-weighting (level 5)
1383 * Collator.cs : updated corresponding part of level 5, and more.
1385 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1387 * Collation-notes.txt : more updates.
1388 * Collator.cs : rewrote from scratch. Some rough sketch for sortkey
1389 buffer, character iterator and collator methods. Not compiling.
1391 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1393 * Collator.cs : Am going to replace it with new one. No need for
1394 CompareOptions-dependent Comparer.
1396 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1398 * Collation-notes.txt : There seems a bit more complexity.
1400 2005-05-10 Atsushi Enomoto <atsushi@ximian.com>
1402 * Collation-notes.txt : more updates, being close to write sortkey
1405 2005-05-09 Atsushi Enomoto <atsushi@ximian.com>
1407 * CompareInfoImpl.cs, Collator.cs : conceptual update
1408 * Collation-notes.txt : some corrections and additions.
1409 * Makefile : added LDML input (but it won't be used at all).
1411 2005-04-28 Atsushi Enomoto <atsushi@ximian.com>
1413 * Collation-notes.txt : more updates.
1415 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
1417 * Collation-notes.txt : more updates.
1419 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
1421 * Collation-notes.txt : some updates.
1422 * create-mapping-char-source.cs : superscripts and subscripts are also
1423 ignored in IgnoreWidth comparison.
1424 * Makefile : tiny touch fix.
1426 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1428 * CompareInfoImpl.cs, Collator.cs : conceptual stuff (not working).
1430 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1432 * create-char-mapping-source.cs : Now it generates
1433 ToWidthInsensitive() from combining category <wide> and <narrow>.
1434 * MSCompatUnicodeTable.cs : added ToKanaTypeInsensitive() and
1435 ToWidthInsensitive() for IgnoreKanaType and IgnoreWidth.
1437 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1439 * README, LdmlReader.cs, DataStructures.txt : new files.
1441 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1443 * CodePointIndexer.cs,
1444 Collation-notes.txt,
1445 CollationElementTable.template,
1446 CollationElementTableUtil.cs,
1447 create-char-mapping-source.cs,
1448 create-collation-element-table.cs,
1449 create-combining-class-source.cs,
1450 create-normalization-source.cs,
1452 MSCompatUnicodeTable.cs,
1453 Normalization.template,
1454 NormalizationTableUtil.cs : initial checkin (to private branch).