1 2005-07-24 Atsushi Enomoto <atsushi@ximian.com>
3 * MSCompatUnicodeTable.cs : oh, ok, so we already have
4 GetManifestResourceInternal() ;-)
5 * managed-collation.patch : in Assembly.cs made that method internal.
7 2005-07-24 Atsushi Enomoto <atsushi@ximian.com>
9 * MSCompatUnicodeTable.cs : the pointer based icall code could be
10 also applicable for USE_MANAGED_RESOURCE mode.
12 2005-07-23 Atsushi Enomoto <atsushi@ximian.com>
14 * MSCompatUnicodeTable.cs : added icall support code (not enabled
15 unless the first line is commented out).
17 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
19 * create-mscompat-collation-table.cs,
20 MSCompatUnicodeTableUtil.cs,
21 MSCompatUnicodeTable.cs : Added resource version output (and ignore
22 in case of version mismatch). Removed obsolete, commented out code.
24 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
27 MSCompatUnicodeTable.cs,
28 create-mscompat-collation-table.cs : Now they use unmanaged pointers
29 instead of managed arrays.
30 * managed-collation.patch : Now it contains patch for IntPtrStream.cs
31 and Assembly.cs as well.
33 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
35 * MSCompatUnicodeTable.cs,
36 SimpleCollator.cs : Moved tailoring support classes to
37 MSCompatUnicodeTable.cs and drawn out from SimpleCollator.
38 Now that cjk and tailoring support are filled inside
39 MSCompatUnicodeTable, no managed array is exposed.
41 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
43 * create-mscompat-collation-table.cs,
45 MSCompatUnicodeTable.cs : Now it's not exposing collation table
46 internals as managed arrays (to switch to unmanaged pointers).
48 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
50 * create-mscompat-collation-table.cs : tiny nonspacing mark fix.
52 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
54 * create-mscompat-collation-table.cs : Fixed most of Greek mappings.
55 * MSCompatUnicodeTable.cs : don't lock string.
57 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
59 * create-mscompat-collation-table.cs : More Cyrillic diacritical fixes.
61 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
63 * create-mscompat-collation-table.cs : More Latin diacritical fixes.
65 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
67 * create-mscompat-collation-table.cs : There were still missing
68 math symbol mappings. Added several hacky diacritical weight for
71 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
73 * create-mscompat-collation-table.cs : fixed a few diacritical weight
74 on Cyrillic characters. Fixed ParseTailoringSource() to handle
75 non-heading escape sequence (\uXXXX) as expected.
77 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
79 * create-mscompat-collation-table.cs,
80 MSCompatUnicodeTableUtil.cs,
81 MSCompatUnicodeTable.cs : added more aggressive index limits for
82 table optimization at data size, in cost of speed.
84 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
86 * create-mscompat-collation-table.cs : fixed Arabic thirtial weight.
88 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
90 * create-mscompat-collation-table.cs : Mapping for hyphens and
91 punctuation are kinda finished. Rewrote batch mapping method to
92 collect all NFKD. Required modification on mapping is done.
94 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
96 * create-mscompat-collation-table.cs : minor mapping fixes on accent
97 marks and punctuations.
99 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
101 * create-mscompat-collation-table.cs : Fixed some MathSymbol mapping
102 and Box drawing mapping.
104 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
106 * create-mscompat-collation-table.cs : Fixed almost all numbers.
108 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
110 * create-mscompat-collation-table.cs : Symbol mappings are almost done.
111 Removed hack that gave dummy mappings to blank symbols.
113 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
115 * create-mscompat-collation-table.cs : more fix on arrows. Fix on box
116 drawings. Some code refactoring to eliminate hack.
118 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
120 * create-mscompat-collation-table.cs : Fixed some secondary weight
121 in Devanagari and arrows.
123 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
125 * create-mscompat-collation-table.cs : a set of tiny mapping fixes.
127 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
129 * create-mscompat-collation-table.cs : some diacritical fixes for
130 Latin. Added batch mapping method that considers computed
131 diacritical weight (for numbers).
133 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
135 * managed-collation.patch : forgot to add System.String patch.
137 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
139 * MSCompatUnicodeTable.cs : added resource existence check (required
140 for mscorlib transient time from the one without resources to the
143 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
145 * create-mscompat-collation-table.cs : fixed punctuations and hyphen
146 (shift) primary weight.
148 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
150 * create-mscompat-collation-table.cs : more nonspacing mark fixes.
151 Some non-basic Cyrillic diacritical weight fixes.
153 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
155 * create-mscompat-collation-table.cs : some Gurmukhi fixes on level 1
156 and level 3. Tiny Hangul weight fixes.
157 * MSCompatUnicodeTable.cs : U+30F5 and U+30F6 are small Japanese.
159 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
161 * create-mscompat-collation-table.cs : some normal characters who have
162 "narrow" NFKD mapping are regarded as "wide" and thus level 3 weight
163 values were different. Handle U+30FB as category A.
164 * MSCompatUnicodeTable.cs : U+30FB does not have special weight.
166 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
168 * create-mscompat-collation-table.cs : more diacritical weight fixes.
169 Removed some unused code.
171 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
173 * create-mscompat-collation-table.cs : Fixed some Thai and Arabic
176 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
178 * create-mscompat-collation-table.cs : Fixed Syriac nonspacing marks.
180 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
182 * create-mscompat-collation-table.cs : Fixed nonspacing marks in
183 Malayalam, Thai and Lao. Removed extraneous hack.
185 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
187 * SimpleCollator.cs : rewrote LastIndexOf() to handle source extenders.
188 Some refactoring on IndexOf() code. Removed unused Matches().
189 * Collation-notes.txt : some methods needed to be reimplemented, so
190 rewrote the description.
192 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
194 * SimpleCollator.cs : rewrote IsSuffix() to use CompareInternal().
195 Thus supported extenders in IsSuffix().
197 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
199 * SimpleCollator.cs : more IsSuffix() simplification, but it will be
200 stopped here since it cannot handle extenders (implementing new
203 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
205 * SimpleCollator.cs : simplified IsSuffix() code.
207 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
209 * SimpleCollator.cs : Fixed IndexOf() and LasIndexOf() to search the
210 entire replacement string if char target was an expansion.
211 IsSuffix() was using a method for IsPrefix() which was incorrect.
212 Removed old IsPrefix() code.
214 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
216 * SimpleCollator.cs : IndexOf() was incorrectly sharing the same
217 byte[] field in different areas of code. Now extenders in both
218 source and target really work in IndexOf().
220 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
222 * create-mscompat-collation-table.cs : fixed U+FF9F diacritical weight.
223 * SimpleCollator.cs : handle U+FF9E and U+FF9F as extenders.
225 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
227 * SimpleCollator.cs : Now FilterExtender() handles all extender
228 support. IndexOf() and LastIndexOf() now supports extenders.
229 IndexOf() and LastIndexOf() did not proceed contraction source
230 length as expected. Tiny refactoring on private IsPrefix() to take
233 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
235 * SimpleCollator.cs : when restoring from expansion, go back to the
236 top of the loop (to avoid index out of range).
237 Now IsPrefix() is implemented to reuse Compare() and thus it now
238 supports extender as well.
239 * Collation-notes.txt : status update. Deleted optimization part in
240 status section (it is duplicate).
242 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
244 * SimpleCollator.cs : some code reordering.
245 * create-mscompat-collation-table.cs : it was still missing U+3094.
247 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
249 * SimpleCollator.cs : Compare() now supports extender (e.g. U+39FC).
251 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
253 * SimpleCollator.cs : In GetSortKey(), don't update previousChar when
254 it is not primary (e.g. don't "extend" diacritical mark).
256 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
258 * managed-collation.patch : CompareInfo.Compare() should consider
259 the possibilities that non-empty string might be actually empty
260 in culture-sensitive context.
262 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
264 * SimpleCollator.cs : IndexOf() and LastIndexOf() returns start when
265 target is "empty" (in culture-sensitive context).
267 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
269 * SimpleCollator.cs : In IndexOf() and LastIndexOf(), skip ignorable
270 characters in target string.
272 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
274 * SimpleCollator.cs : When IgnoreWidth is specified, all Kana
275 characters are regarded as half-width.
276 Even though IgnoreWidth is specified, it should not ignore case.
277 For special weight comparison, the default values (E4) are bigger
278 than non-default values.
279 * SortKeyBuffer.cs : It should save LCID and original string.
280 * create-mscompat-collation-table.cs : For Japanese half-width kana,
281 it should not be counted in widthCompat map since IgnoreWidth does
282 not really ignore those differences.
284 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
286 * create-mscompat-collation-table.cs : Fixed missing Japanese bits.
288 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
290 * create-mscompat-collation-table.cs :
291 tiny diacritical weight fix for U+20D0-U+20E1.
293 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
295 * create-mscompat-collation-table.cs : ja CJK ideograph got completed.
297 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
299 * create-mscompat-collation-table.cs : Fixed CJK custom Japanese
300 mapping. It (maybe as well as other CJK tables) mixes NFKD. For
301 Japanese, modified NFKD table (because of Windows lame design).
303 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
305 * Makefile : added MONO_USE_MANAGED_COLLATION=no almost everywhere.
306 * MSCompatUnicodeTable.cs : FillCJK() was not invoked. Now it is
307 invoked at any time it is required.
308 * SimpleCollator.cs : call FillCJK() above in .ctor().
309 * MSCompatUnicodeTableUtil.cs : CJK range was wider.
310 * create-mscompat-collation-table.cs : CJK binary was missing the
311 length. CJK remapping is being moved to ModifyUnidata().
312 For cjk-ja mapping, we have to consider compat characters to be
313 added to the map, besides the raw UCA table.
315 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
317 * SortKeyBuffer.cs : Fixed shift level computation to match w/ Windows.
319 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
321 * SimpleCollator.cs : fixed LastIndexOf() to handle _target's_
322 contraction as expected. Fixed Compare() to save s2's contraction
324 * TestDriver.cs :added LastIndexOf() tester w/ indexes.
326 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
328 * managed-collation.patch : Fixed IsPrefix() and IsSuffix(). They
329 incorrectly use Compare().
330 * TestDriver.cs : more moved to nunit tests.
332 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
334 * SimpleCollator.cs : several fixes on Compare().
335 - Ignorable characters are skippted at the top of the loop.
336 - IgnoreNonSpace is checked to avoid extraneous level 2 comparison.
337 - In such case that s1 index is increased while s2 contraction is
338 replaced, s1 is inconsistently proceeded (bug).
339 - IsIgnorable() now also checks IgnoreNonSpace.
340 - Fixed FilterOptions() that does not work for IgnoreWidth at all.
341 * TestDriver.cs : now some are moved to nunit tests.
342 * Collation-notes.txt : minor todo update.
344 2005-07-11 Atsushi Enomoto <atsushi@ximian.com>
346 * SimpleCollator.cs : Compare() was ignoring such case that both
347 entire strings have '-' to be compared.
348 * Collation-notes.txt : more status updates.
349 * TestDriver.cs : added '-' use cases.
351 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
353 * SimpleCollator.cs : to be same as other buggy part, it now handles
354 U+3005, U+3031 and U+3032 as buggy as Windows. It just repeats
356 Fixed GetSortKey(): if the repeater is U+3005, second weight is 5.
357 * create-mscompat-collation-table.cs : dummy values for extenders.
359 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
361 * SimpleCollator.cs : Special weight fixes on GetSortKey(). Dash type
362 should be computed from ExtenderType, and voice mark weight should
364 * MSCompatUnicodeTable.cs : added tiny comment.
366 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
368 * SortKey.cs : It borked when MONO_USE_MANAGED_COLLATION is not yes.
369 * SimpleCollator.cs : support for extender (U+309D etc.).
371 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
373 * create-mscompat-collation-table.cs : some punct/symbols fix.
374 * managed-collation.patch : new (and temporary) file to support
375 managed collation in mscorlib.
376 * README : described how to use managed collation.
378 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
380 * create-mscompat-collation-table.cs : Further Cyrillic fixes. Handle
381 U+482-4C8 (though needs diacritical fixes).
382 * MSCompatUnicodeTable.cs : tiny comment for alternative impl.
384 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
386 * create-mscompat-collation-table.cs : Reimplemented Cyrillic weight
387 computation code, since it looks like the same way as Latin letters
388 have. Thus removed all other approach (UCA, by letter name).
390 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
392 * create-mscompat-collation-table.cs : diacritical fix for "double-
393 struck". Syriac nonspacing fixes.
395 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
397 * create-mscompat-collation-table.cs : more math symbol weight fixes.
399 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
401 * create-mscompat-collation-table.cs : fixed Hebrew character sortkeys.
403 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
405 * create-mscompat-collation-table.cs : math symbols U+25A0-U+2600 are
406 implemented (no stub). Some other fixes on category 8-A.
408 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
410 * create-mscompat-collation-table.cs : some minor fixes on Arabic,
411 Korean and Japanese sortkey weights.
413 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
415 * create-mscompat-collation-table.cs : More diacritical fixes.
416 Georgian characters do not have level 2 weights but level 3.
418 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
420 * create-mscompat-collation-table.cs : Roman numeral characters
421 have diacritical weight. quick hack for control signs (U+2400..)
424 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
426 * create-mscompat-collation-table.cs : improving Latin mappings.
427 Setting non-ASCII Latin characters' primary weight between those
428 ASCII characters, and setting diacritical weight (hacky).
429 * MSCompatUnicodeTable.cs :
430 Kanatype check: fixed (voice marks) and improved (comparison order).
432 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
434 * create-mscompat-collation-table.cs : more diacritical fixes.
435 primary weight fixes on punctuations in category 07.
437 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
439 * create-mscompat-collation-table.cs : several diacritical fixes.
440 * TestDriver.cs : sortkey dumper should use StringSort.
442 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
444 * SimpleCollator.cs : fixed incorrect indexer setup. Optimized
445 GetContraction() call a bit.
447 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
449 * create-mscompat-collation-table.cs : fixed incorrect level 2
451 * MSCompatUnicodeTable.cs : remove debug line.
453 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
455 * MSCompatUnicodeTableUtil.cs,
456 MSCompatUnicodeTable.cs,
458 create-mscompat-collation-table.cs : made some members internal and
459 accessible from other classes. Many indexes could be 0 by default.
460 * SimpleCollator.cs : optimizations. avoid method call.
462 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
464 * Collation-notes.txt : more updates.
465 * SimpleCollator.cs : Added quick check for Ordinal comparison.
466 Fixed special weight comparison. It cannot be customizable in the
467 implementation (and it won't be harmful).
468 * mono-tailoring-source.txt : thus updated comment.
470 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
472 * SimpleCollator.cs : Compare() was missing French sort support.
473 * TestDriver.cs : added example case.
475 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
477 * Collation-notes.txt : updated status. Eliminated descriptions on
478 "iterator" (I avoided it for performance concern). Fixed misc.
479 incorrect descriptions.
481 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
483 * Collator.cs : Now that SimpleCollator became feature complete, it is
486 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
488 * SimpleCollator.cs : implemented decent Compare() that immediately
489 stops at first primary difference.
491 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
493 * SimpleCollator.cs : indexers might return -1.
495 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
497 * SimpleCollator.cs : IsPrefix() and IsSuffix() optimization code was
498 buggy (length check for source was missing).
500 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
502 * create-mscompat-collation-table.cs : Fixed tailoring table output
503 to be in correct and countable order. Now if tailoring alias was not
504 found, just stop the build.
505 * MSCompatUnicodeTable.cs : several build fixes. Now it works to read
507 * mono-tailoring-source.txt : commented out CJK aliases that miss
509 * Makefile : needed further filename fixes.
511 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
513 * MSCompatUnicodeTable.cs : renamed from MSCompatUnicodeTable.template
514 (now it is working as a standalone file).
515 * Makefile : renamed generated file as MSCompatUnicodeTableGenerated.cs
516 (the generator now creates both binary resources and C# source).
518 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
520 * create-mscompat-collation-table.cs : Now it generates binary
521 resources (to parent directory).
522 * MSCompatUnicodeTable.template : added conditional code that fills
523 collation tables from manifest resources.
524 * Makefile : remove collation table binaries as well on "make clean".
525 Removed extraneous dependency.
527 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
529 * MSCompatUnicodeTable.template,
530 SimpleCollator.cs : removed extraneous GetExpansion().
532 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
534 * SimpleCollator.cs : IsSuffix() also supports contractions.
535 * TestDriver.cs : IsSuffix() example contraction cases.
537 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
539 * SimpleCollator.cs : reverted IsSuffix() to return bool (to match w/
540 what current IsPrefix() does). For expansion of target, IsPrefix()
541 should check the no-match case that expansion is longer than input.
542 Some refactory on IsPrefix().
543 Added GetContractionTal() for IsSuffix() (not used yet).
545 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
547 * TestDriver.cs : added IsPrefix() expansion cases.
548 * SimpleCollator.cs : IsPrefix() now supports contractions (with much
549 of complexity), and it now returns bool again.
550 IndexOf() for replacement should make use of IndexOfPrimitiveChar()
551 since expansions won't be expanded recursively.
553 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
555 * SimpleCollator.cs : commonized character comparison in IsPrefix()
556 and IsSuffix(). csc compile fix.
557 * CompareInfoImpl.cs : deleted.
559 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
561 * TestDriver.cs : added SimpleCollator.ctor() sanity check.
562 Added replacement contraction example.
563 * SimpleCollator.cs : Now IndexOf() and LastIndexOf() support
564 contraction in source string. Extracted matching code to Matches().
565 Replacement contraction was including extraneous '\x0'.
567 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
569 * Collation-notes.txt : updated status.
570 * CollationDataStructures.txt : tiny fixes.
571 * SimpleCollator.cs :
572 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
573 namespace Util and csc borked).
574 GetContraction was incorrectly returning first item.
575 Private IsPrefix() now returns int (but it might not be in real use).
576 Extracted simple char comparison to CompareCharSimple().
577 IndexOf() and LastIndexOf() now fully handle contractions (both
578 binary key and string replacement) in "target" (for "s" not yet).
579 * TestDriver.cs : be more verbose.
580 * mono-tailoring-source.txt : added comment.
581 * MSCompatUnicodeTable.template :
582 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
584 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
586 * create-mscompat-collation-table.cs : compute COMBINING blah marks as
587 well as those characters WITH blah.
588 * TestDriver.cs : added combining sortkey cases.
590 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
592 * mono-tailoring-source.txt : fixed description on '*' in sortkeys.
593 * SimpleCollator.cs : Now it fully uses tailoring info. Fixed
594 contraction search that worked only when string is contraction.
595 Removed commented code. Minor refactoring.
596 * TestDriver.cs : added example that uses "ZS" in Hungarian sorting.
598 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
600 * create-mscompat-collation-table.cs,
601 * mono-tailoring-source.txt : removed extraneous level 4 sortkey
602 which cannot be supported.
603 * SimpleCollator.cs : added GetContraction() and used in some places.
604 Now CompareOptions is set only once. Reordered some code (e.g.
605 ignorable check -> get compat char -> compare).
607 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
609 * SimpleCollator.cs : sort tailoring tables before actual usage.
610 Support diacritical remappings (it is customized collation rule
611 which does not exist in UCA).
613 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
615 * SimpleCollator.cs : build culture specific tailoring table from
616 TailoringInfo and unified data array.
617 * create-mscompat-collation-table.cs : Added null termination to
618 sortkey map tailorings (mostly to save my eyes).
619 * MSCompatUnicodeTable.template : added public TailoringValues.
621 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
623 * SortKeyBuffer.cs : handle special weight (category 06) characters.
624 * Collation-notes.txt : Updated description on special weight (it was
626 * TestDriver.cs : added special weight cases.
628 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
630 * MSCompatUnicodeTable.template : added GetTailoringInfo().
631 * SimpleCollator.cs : Now tailoring information is acquired and used.
632 (FrenchSort is supported but Compare() won't work expectedly since
633 the table is still incomplete for those diacritical marks).
634 * SortKeyBuffer.cs : On reversing diacritical weights, it should
635 ignore zeros. Reset() should reset frenchSorted flag.
637 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
639 * create-mscompat-collation-table.cs : Further fixes on Jamo,
640 diacritical weights by character name, and *Numbers primary weights.
642 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
644 * create-mscompat-collation-table.cs : More fix on Devanagari,
645 Gujarati, Oliya, Tamil and Lao sortkeys.
647 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
649 * create-mscompat-collation-table.cs : Fixed Georgian, Thai, Gurmukhi
652 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
654 * create-mscompat-collation-table.cs : Fixed Thai character primary
655 and secondary values. Fixed Thaana letters. Added more LAMESPEC
656 CJK compat. Fixed some circled CJK secondary weight.
657 Hacked some nonspacing mark sortkey value adjustment.
659 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
661 * create-mscompat-collation-table.cs : CP932.TXT was not parsed as
662 expected. JIS ordering was incorrect. OtherNumbers that represents
663 10 or more values were incorrectly computed the offset. Some Hangul
664 compat characters has different offset.
666 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
668 * create-mscompat-collation-table.cs : Fixed 0x8 category characters.
669 Added hack for need-to-be-fixed characters to fall into 0xA category.
670 * create-collation-element-table.cs : previous checkin seem failed :(
671 * README: updated a bit.
673 2005-06-24 Atsushi Enomoto <atsushi@ximian.com>
675 * CodePointIndexer.cs :
676 removed extraneous switch (I could use empty array for that need).
677 * CollationElementTableUtil.cs : primary weight type became ushort.
678 * create-collation-element-table.cs : several bugfixes.
679 collElem should be int. It was skipping most of entries because of
680 incorrect string tokenization.
682 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
684 * create-mscompat-collation-table.cs : handle some Jamo NKFD.
686 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
688 * SimpleCollator.cs : forgot to commit in the last checkin.
689 * create-mscompat-collation-table.cs : fixed arabic shift weight chars.
690 * TestDriver.cs : switch table dumper and collator testing.
691 * SortKey.cs : for now comment out internal indexes (not in use).
693 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
695 * MSCompatUnicodeTable.template,
696 SimpleCollator.cs : support for culture dependent CJK table.
698 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
700 * create-mscompat-collation-table.cs,
701 MSCompatUnicodeTableUtil.cs : make CJK table more compact.
703 2005-06-22 Atsushi Enomoto <atsushi@ximian.com>
705 * SimpleCollator.cs : Fixed stupid index search when start != 0.
707 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
709 * SimpleCollator.cs : fixed my misunderstanding on LastIndexOf(). It
710 now starts from "start" and proceeds backward by "length".
711 * TestDriver.cs : fix warning.
713 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
715 * TestDriver.cs : more tests.
716 * SimpleCollator.cs : LastIndexOf() is not setting search length
717 on iteration. Quick workaround fro String.LastIndexOf() bug (maybe).
719 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
721 * create-normalization-source.cs : output propValue as uint.
723 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
725 * SortKey.cs : Now it is System.Globalization.SortKey.
726 To replace existing implementation, it now requires lcid and
727 CompareOptions. Added required members.
728 * SortKeyBuffer.cs : thus .ctor() requires LCID.
729 * SimpleCollator.cs : made required changes above.
731 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
733 * CodePointIndexer.cs : added CompressArray(). Now it requires two more
734 parameters for default index and codepoint.
735 * CollationElementTableUtil.cs,
736 NormalizationTableUtil.cs : required changes wrt above change.
737 * MSCompatUnicodeTableUtil.cs : added for several codepoint indexers.
738 * MSCompatUnicodeTable.template : Now it uses codepoint indexer.
739 * create-mscompat-collation-table.cs : Now it outputs compressed array.
740 * Makefile : now collation requires MSCompatUnicodeTableUtil.cs
742 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
744 * SimpleCollator.cs :
745 Implemented IsSuffix() and LastIndexOf().
746 Several fixes on index > 0 cases.
747 * TestDriver.cs : sample IsSuffix() and LastIndexOf() usage and more.
749 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
751 * Collation-notes.txt : updated (status, impl. classes).
752 * MSCompatUnicodeTable.cs : Korean Jamo are not really expansions.
754 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
756 * SimpleCollator.cs : implemented IndexOf(string,string,CompareOptions)
757 and IsPrefix(). Tiny code refactory.
758 * TestDriver.cs : sample IsPrefix() and IndexOf() usage.
759 * MSCompatUnicodeTable.cs : tiny refactory for CodePointIndexer use.
761 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
763 * SimpleCollator.cs :
764 IndexOf(string, char, CompareOptions) implementation.
765 * TestDriver.cs : sample IndexOf() usage.
767 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
769 * create-mscompat-collation-table.cs : was missing most important
770 kind of blocks - equivalent expansions (e.g. invariant mappings).
771 More readable mappings.
773 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
775 * mono-tailoring-source.txt : new file. It describes tailoring
776 information. Basically examined under .NET 1.x.
777 * create-mscompat-collation-table.cs : consume the file above.
778 * MSCompatUnicodeTable.template : now tailorings is not a stub.
779 * CollationDataStructures.txt : minor fixes.
781 SimpleCollator.cs : added FrenchSort support.
782 * Collation-notes.txt : added description on Latin primary weights.
783 * ldml-limited.rng : added note.
784 * create-tailorings.cs : added note. more serialization (but won't be
787 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
789 * SortKeyBuffer.cs : non-primary character is added to previous
791 * TestDriver.cs : added example case of above.
793 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
795 * SimpleCollator.cs : IgnoreSymbols support.
796 * TestDriver.cs : compilation fix. IgnoreSymbols example.
797 * create-mscompat-collation-table.cs : more Hangul fixes.
799 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
801 * create-mscompat-collation-table.cs : more Hangul fixes.
802 * SortKey.cs : it will replace sys.globalization.SortKey. It has
803 some internal members.
804 * SortKeyBuffer.cs : now it uses SortKey instead of byte[].
805 * SimpleCollator.cs : CompareOptions support. However I don't think
806 it will be developed anymore since SortKey never enables IndexOf().
807 * TestDriver.cs : a few CompareOptions cases.
809 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
811 * SimpleCollator.cs : simple collator implementation that just will
812 use GetSortKey() for all its basis.
813 * TestDriver.cs : sample code that uses this collator set.
814 * MSCompatUnicodeTable.template : removed test driver from here.
816 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
818 * create-mscompat-collation-table.cs : Hangul fixes.
819 Now less than 300 characters that does not have sortkey weights.
820 * MSCompatUnicodeTable.template : added FIXME info for Hangul Jamo.
822 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
824 * create-mscompat-collation-table.cs : Added control picture mappings.
825 Minor primary weight fixes.
827 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
829 * create-mscompat-collation-table.cs : Added mappings for box
832 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
834 * create-mscompat-collation-table.cs : Added mappings for arrows.
836 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
838 * create-mscompat-collation-table.cs : added support for letterlike
839 characters and squared CJK compatibility characters, ordered by
840 character names (0x0E category).
841 * Collation-notes.txt : added description on that.
843 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
845 * MSCompatUnicodeTable.template : Now expansions are simulated.
846 * create-mscompat-collation-table.cs : filled Korean number level2.
847 Reordered some code blocks to fill correct diacritical differences.
848 * Collation-notes.txt : some corrections and minor additions.
850 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
852 * MSCompatUnicodeTable.template :
853 Now dumper test driver uses SortKeyBuffer for dogfooding.
854 * create-mscompat-collation-table.cs : some diacritical level fixes
855 (with non-working extra latin check).
856 * SortKeyBuffer.cs : several fixes to get working as a practical code.
857 * Collator.cs : make it compilable, leaving things as NotImplemented.
859 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
861 * create-mscompat-collation-table.cs : some fixes on primary category
862 07 (miscellaneous symbols and punctuations).
864 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
866 * create-mscompat-collation-table.cs : more mapping fix on numbers,
867 letters, variable weight characters, circled Japanese and CJK.
868 * MSCompatUnicodeTable.template : fixed HasSpecialWeight() to be more
869 inclusive. Simplified dumper code.
871 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
873 * create-mscompat-collation-table.cs : finished Hangul (both Jamo
874 and Syllables). sortkey dumper diff lines became 8000 from 30000.
876 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
878 * create-mscompat-collation-table.cs : added some nonspacing marks in
879 either correct or hacky way.
881 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
883 * create-mscompat-collation-table.cs : several improvements. Japanese
884 Kana support, Hebrew accents, Bengali nonspacing marks, sorting of
885 numeric characters, diacritically decorated latin alphabets. Fixed
886 some diacritical weights detection.
887 * MSCompatUnicodeTable.cs : tiny Japanese fix. Handle nonspacing
888 marks' primary weight as empty.
889 * Collation-notes.txt : some updates.
891 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
893 * create-mscompat-collation-table.cs : don't process nonexact NFKD
894 mapping as equivalent, however store CJK extensions into NFKD map
895 even if one does not strictly match.
896 Now am going to fill Hangul into tables (unlike UCA it does not look
897 possible to calculate sortkey value).
898 Fixed Cyrillic and Georgian UCA based orderings.
899 * MSCompatUnicodeTable.template : added CJK extension sortkey
902 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
904 * create-mscompat-collation-table.cs : Fixed latin alphabet support.
905 Added latin with diacritical and CJK extension.
906 * MSCompatUnicodeTable.cs : modified dumper code a bit (for my purpose).
908 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
910 * create-mscompat-collation-table.cs : now parses DerivedAge.txt (right
911 now not used thouth). Filled CJK ideograph, still not perfect.
912 Fixed number primary keys. NFKD numbers and CJK ideographs are now
913 considered, including brackets elimination.
914 * Makefile : now it downloads DerivedAge.txt.
915 * MSCompatUnicodeTable.template : added dummy code dumper. It computes
916 PrivateUse, Surrogate and Hangul Syllables.
917 * Collation-notes.txt : Noted that Hangul Syllables need more love.
919 2005-06-09 Atsushi Enomoto <atsushi@ximian.com>
921 * create-tailorings.cs : added configuration support. sort them.
922 I wonder if it is really usable. Having own format might be better.
923 * create-mscompat-collation-table.cs : fixing some sortkey numbers,
924 making closer to windows. Now it handles NFKD in some places.
925 * MSCompatUnicodeTable.template : Added dummy sortkey dumper driver.
926 * CollationDataStructures.txt : added description on tailoring
927 fields, though they are subject to change.
929 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
931 * create-tailorings.cs, ldml-limited.rng : new file.
932 * LdmlReader.cs : removed old file.
934 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
936 * SortKeyBuffer.cs : split from Collator.cs. Now it considers
937 practical use, reflecting updated sortkey constant design.
938 Especially level 4 weight is split to 4 arrays that are merged in
939 the last stage of GetSortKey().
940 * Collator.cs : thus SortKeyBuffer is removed from here.
941 Additionally, removed some extraneous bits in other classes.
942 * Collation-notes.txt : Some editorial fixes. Added information on
943 Korean matter (how to compute Hangle Syllables / Hangul Jamo cannot
944 be stored in simple byte arrays).
945 * CodePointIndexer.cs,
946 create-collation-element-table.cs,
947 CollationElementTable.template,
948 NormalizationTableUtil.cs : short CodePointIndexer method names.
949 * create-mscompat-collation-table.cs : Additional info on why some
950 meaningful characters are ignored in Windows (Unicode version
951 difference). Removed U+070F from special check (was extraneous).
953 2005-06-06 Atsushi Enomoto <atsushi@ximian.com>
955 * MSCompatUnicodeTable.template:
956 Moved body implementation to table creator and put those bool
957 results into an array.
958 * create-mscompat-collation-table.cs :
959 So imported those methods. Modified array output to emit "0x"
960 only for more than 9.
961 * create-normalization-source.cs : ditto on "0x" output matter.
962 * CollationDataStructures.txt : so now it holds ignorableFlags.
964 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
966 * Collation-notes.txt, CollationDataStructures.txt :
967 separate document for data structure design.
969 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
971 * create-mscompat-collation-table.cs : added culture-dependent CJK
972 table creation. It uses CLDR as its basis. (Culture independent CJK
974 * Makefile : added CLDR archive downloading support.
975 * MSCompatUnicodeTable.template : tiny renamings.
976 * Collation-notes.txt : additional CJK info.
978 2005-06-02 Atsushi Enomoto <atsushi@ximian.com>
980 * Collation-notes.txt, create-mscompat-collation-table.cs :
981 added secondary weight support for BlahNumber characters.
983 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
985 * downloaded : added directory. All downloaded files are stored here.
986 * Makefile : use "downloaded" directory.
987 Added more auto-download stuff.
988 * create-mscompat-collation-table.cs :
989 Added Japanese square kana support.
991 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
993 * Collation-notes.txt : added Estrangela (ancient Syriac) and Thaana.
994 * create-mscompat-collation-table.cs : added support for Arabic abjad,
995 Estrangela and Thaana.
996 * MSCompatUnicodeTable.template : removed BOM.
998 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1000 * Collation-notes.txt : wrong comment cleanup and spelling fixes.
1001 * create-mscompat-collation-table.cs : added diacritic support for
1002 Latin letters (as long as covered in primary weight).
1004 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1006 * Makefile : minor fixes. Added warning lines to generated sources.
1008 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1010 * create-char-mapping-source.cs :
1011 Removed ToWidthInsensitive() generation.
1013 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1015 * create-mscompat-collation-table.cs : Now it dumps level1 to 3 values.
1016 ToWidthInsensitive() is implemented here, using an array (which is
1017 to be optimized using CodePointIndexer).
1018 * MSCompatUnicodeTable.cs : renamed as MSCompatUnicodeTable.template
1019 * MSCompatUnicodeTable.template : now it is used to generate
1020 MSCompatUnicodeTable.cs which got ready to be used.
1021 * Makefile : added MSCompatUnicodeTable.cs build support. Now it
1022 supports "make normalization" and "make collation".
1024 2005-05-30 Atsushi Enomoto <atsushi@ximian.com>
1026 * Collation-notes.txt : Description on ICU is very incorrect. Now it
1027 became more rational and sane.
1028 * create-mscompat-collation-table.cs : fixed some indexes.
1029 * Makefile : added "mstablegen" target.
1030 * MSCompatUnicodeTable.cs : removed GetPrimaryWeight(). Minor fix.
1032 2005-05-26 Atsushi Enomoto <atsushi@ximian.com>
1034 * Collation-notes.txt : more analysis on "letters".
1035 * create-mscompat-collation-table.cs : more proof of concepts.
1037 2005-05-25 Atsushi Enomoto <atsushi@ximian.com>
1039 * Collation-notes.txt : more info. Started letter sortkey analysis
1040 (some of other stuff are really non-understandable right now.)
1041 * create-mscompat-collation-table.cs : table generator proof-of-
1042 concept source (not compilable).
1043 * MSCompatUnicodeTable.cs : moved some code to the new source.
1046 2005-05-20 Atsushi Enomoto <atsushi@ximian.com>
1048 * Collation-notes.txt : started level 2 weight analysis.
1050 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
1052 * Collation-notes.txt : Additional information on how to create
1054 * MSCompatUnicodeTable.cs : implemented part of GetLevel3Weight().
1056 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
1058 * Collation-notes.txt : More case weight (level 3) analysis. I'm
1059 likely to just write table generator.
1061 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
1063 * MSCompatUnicodeTable.cs : part of level 4 weight implementation.
1065 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
1067 * Collation-notes.txt :
1069 Revised comparison methods; backward iteration is possible.
1070 More on char-by-char comparison.
1071 Level 4 comparison is actually a bit more complex.
1073 * Collator.cs : some conceptual updates wrt above.
1075 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
1077 * Collation-notes.txt : Japanese voice mark is level 2, and Hangul
1078 properties are level 3.
1080 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
1082 * Collation-notes.txt : Make it more readable. More analysis on
1083 level 3 and 4 sortkey structures.
1084 * Collator.cs : some compilation fixes (not compilable yet).
1086 2005-05-16 Atsushi Enomoto <atsushi@ximian.com>
1088 * Collation-notes.txt : Analysis on variable-weighting (level 5)
1090 * Collator.cs : updated corresponding part of level 5, and more.
1092 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1094 * Collation-notes.txt : more updates.
1095 * Collator.cs : rewrote from scratch. Some rough sketch for sortkey
1096 buffer, character iterator and collator methods. Not compiling.
1098 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1100 * Collator.cs : Am going to replace it with new one. No need for
1101 CompareOptions-dependent Comparer.
1103 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1105 * Collation-notes.txt : There seems a bit more complexity.
1107 2005-05-10 Atsushi Enomoto <atsushi@ximian.com>
1109 * Collation-notes.txt : more updates, being close to write sortkey
1112 2005-05-09 Atsushi Enomoto <atsushi@ximian.com>
1114 * CompareInfoImpl.cs, Collator.cs : conceptual update
1115 * Collation-notes.txt : some corrections and additions.
1116 * Makefile : added LDML input (but it won't be used at all).
1118 2005-04-28 Atsushi Enomoto <atsushi@ximian.com>
1120 * Collation-notes.txt : more updates.
1122 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
1124 * Collation-notes.txt : more updates.
1126 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
1128 * Collation-notes.txt : some updates.
1129 * create-mapping-char-source.cs : superscripts and subscripts are also
1130 ignored in IgnoreWidth comparison.
1131 * Makefile : tiny touch fix.
1133 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1135 * CompareInfoImpl.cs, Collator.cs : conceptual stuff (not working).
1137 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1139 * create-char-mapping-source.cs : Now it generates
1140 ToWidthInsensitive() from combining category <wide> and <narrow>.
1141 * MSCompatUnicodeTable.cs : added ToKanaTypeInsensitive() and
1142 ToWidthInsensitive() for IgnoreKanaType and IgnoreWidth.
1144 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1146 * README, LdmlReader.cs, DataStructures.txt : new files.
1148 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1150 * CodePointIndexer.cs,
1151 Collation-notes.txt,
1152 CollationElementTable.template,
1153 CollationElementTableUtil.cs,
1154 create-char-mapping-source.cs,
1155 create-collation-element-table.cs,
1156 create-combining-class-source.cs,
1157 create-normalization-source.cs,
1159 MSCompatUnicodeTable.cs,
1160 Normalization.template,
1161 NormalizationTableUtil.cs : initial checkin (to private branch).