1 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
3 * create-normalization-source.cs, Normalization.cs :
4 Now property size is < 256, so directly embed value in "props" array.
5 Add QuickCheck(c,checkType) and remove IsNFD/C/KD/KC and delegates.
7 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
9 * create-combining-class-source.cs,
10 create-char-mapping-source.cs,
11 create-normalization-source.cs,
12 NormalizationTableUtil.cs,
13 Normalization.cs : String.Normalize() does not handle surrogate
14 characters. mapping information in DerivedNormalizationProps.txt
15 are not used in the code (those from UnicodeData.txt is used).
16 Hangul syllables are computed instead of embedded in the tables.
17 * managed-collation.patch : removed IntPtrStream and Makefile patches.
19 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
21 * MSCompatUnicodeTable.cs : IsSortable() was broken.
23 2005-07-29 Atsushi Enomoto <atsushi@ximian.com>
25 * MSCompatUnicodeTable.cs : added helper for CompareInfo.IsSortable().
27 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
29 * create-tailoring.cfg : added for convenience of contraction check.
31 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
33 * create-normalization-source.cs,
36 create-mscompat-collation-table.cs,
37 MSCompatUnicodeTableUtil.cs,
39 create-collation-element-table.cs,
40 MSCompatUnicodeTable.cs,
42 create-combining-class-source.cs : added copyright lines.
44 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
46 MSCompatUnicodeTable.cs : removed extraneous definition.
48 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
50 * create-mscompat-collation-table.cs
51 MSCompatUnicodeTable.cs : full C header support, finally.
53 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
56 NormalizationTableUtil.cs,
57 create-char-mapping-source.cs : more aggressive data compression.
58 It now ignores characters that are >= U+10000.
60 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
63 Normalization.template,
64 Normalization.cs : renamed existing file.
66 2005-07-28 Atsushi Enomoto <atsushi@ximian.com>
68 * NormalizationTableUtil.cs,
69 Normalization.template,
70 create-combining-class-source.cs : GetCombiningClass is now
71 implemented as indexer based array.
72 * Makefile : renamed output filename.
73 * create-mscompat-collation-table.cs : removed comments that does not
75 * create-tailoring.cs : use utf-8 output (and fixed filename).
77 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
79 * create-mscompat-collation-table.cs : hacked safer IPA extensions.
80 * Collation-notes.txt : status of sortkey table.
82 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
84 * create-mscompat-collation-table.cs : some Greek mapping fix.
86 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
88 * create-mscompat-collation-table.cs : diacritical weight is not
89 treated correctly when they are picked from letter names, as flags.
91 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
93 * create-mscompat-collation-table.cs : fixed culture-dependent
94 nonspacing mark weight.
96 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
98 * create-mscompat-collation-table.cs : some Hebrew case letter fixes.
99 Some diacritical fixes on symbols.
101 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
103 * create-mscompat-collation-table.cs : Fixed level 3 weight of
104 Arabic presentation forms.
106 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
108 * create-mscompat-collation-table.cs : Fixed some diacritical weight
109 of Arabic presentation forms.
111 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
113 * SimpleCollator.cs : more status updates. It's almost complete,
114 except for sortkey values.
116 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
118 * SimpleCollator.cs : similar optimization also for LastIndexOf().
120 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
122 * SimpleCollator.cs : the previous patch was missing IgnoreNonSpace
125 2005-07-27 Atsushi Enomoto <atsushi@ximian.com>
127 * SimpleCollator.cs : reduced extra sortkey value computation in
128 MatchesForward(). It makes IndexOf() roughly 30% faster.
130 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
132 * SortKey.cs : GetHashCode() returns a value based on its byte data.
135 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
137 * SimpleCollator.cs : consider extractions in invariant culture.
139 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
141 * SimpleCollator.cs : (unsafeFlags) be compact ;-)
143 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
145 * SimpleCollator.cs : When the tail of the target does not match more
146 than 3 times, then IsSuffix() will never be true (3 is the max
147 length of an expansion; \uFB03 -> ffi). It brings significant
148 performance boost when "source" string is very long.
149 * MSCompatUnicodeTable.cs : added MaxExpansionLength constant.
150 Reordered code lines.
152 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
154 * Collation-notes.txt : updated implementation status.
156 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
158 * SimpleCollator.cs : Implemented quick codepoint comparison in
159 Compare(). Comparison became 125x faster.
160 * mono-tailoring-source.txt : added tiny comment.
162 2005-07-26 Atsushi Enomoto <atsushi@ximian.com>
164 * mono-tailoring-source.txt : Added all single sortkey remapping to
165 all cultures (still need to fill contractions and annotate possible
166 buggy mapping referencing to CLDR).
167 * SimpleCollator.cs : removed unused code.
168 * MSCompatUnicodeTable.cs : tiny cast removal.
170 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
173 create-mscompat-collation-table.cs
174 MSCompatUnicodeTableUtil.cs
175 MSCompatUnicodeTable.cs : Now CJK mapping data is stored as byte
176 arrays. Thus SimpleCollator does not need to use bitwise and shift
177 operations to get sortkey value and they could be managed resources.
179 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
181 * create-mscompat-collation-table.cs,
182 MSCompatUnicodeTable.cs,
183 MSCompatUnicodeTableUtil.cs : From the result of sortkey comparison
184 between None and IgnoreWidth, width compat table could be computed
185 in somewhat simple way. So removed that table and all related code.
186 Increased the collation resource version.
188 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
190 * create-mscompat-collation-table.cs : Added C header output support.
192 2005-07-25 Atsushi Enomoto <atsushi@ximian.com>
194 * create-mscompat-collation-table.cs : FillLetterNFKD() could also be
195 applied to Cyrillic letters. Saved some of them.
197 2005-07-24 Atsushi Enomoto <atsushi@ximian.com>
199 * MSCompatUnicodeTable.cs : oh, ok, so we already have
200 GetManifestResourceInternal() ;-)
201 * managed-collation.patch : in Assembly.cs made that method internal.
203 2005-07-24 Atsushi Enomoto <atsushi@ximian.com>
205 * MSCompatUnicodeTable.cs : the pointer based icall code could be
206 also applicable for USE_MANAGED_RESOURCE mode.
208 2005-07-23 Atsushi Enomoto <atsushi@ximian.com>
210 * MSCompatUnicodeTable.cs : added icall support code (not enabled
211 unless the first line is commented out).
213 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
215 * create-mscompat-collation-table.cs,
216 MSCompatUnicodeTableUtil.cs,
217 MSCompatUnicodeTable.cs : Added resource version output (and ignore
218 in case of version mismatch). Removed obsolete, commented out code.
220 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
223 MSCompatUnicodeTable.cs,
224 create-mscompat-collation-table.cs : Now they use unmanaged pointers
225 instead of managed arrays.
226 * managed-collation.patch : Now it contains patch for IntPtrStream.cs
227 and Assembly.cs as well.
229 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
231 * MSCompatUnicodeTable.cs,
232 SimpleCollator.cs : Moved tailoring support classes to
233 MSCompatUnicodeTable.cs and drawn out from SimpleCollator.
234 Now that cjk and tailoring support are filled inside
235 MSCompatUnicodeTable, no managed array is exposed.
237 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
239 * create-mscompat-collation-table.cs,
241 MSCompatUnicodeTable.cs : Now it's not exposing collation table
242 internals as managed arrays (to switch to unmanaged pointers).
244 2005-07-22 Atsushi Enomoto <atsushi@ximian.com>
246 * create-mscompat-collation-table.cs : tiny nonspacing mark fix.
248 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
250 * create-mscompat-collation-table.cs : Fixed most of Greek mappings.
251 * MSCompatUnicodeTable.cs : don't lock string.
253 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
255 * create-mscompat-collation-table.cs : More Cyrillic diacritical fixes.
257 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
259 * create-mscompat-collation-table.cs : More Latin diacritical fixes.
261 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
263 * create-mscompat-collation-table.cs : There were still missing
264 math symbol mappings. Added several hacky diacritical weight for
267 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
269 * create-mscompat-collation-table.cs : fixed a few diacritical weight
270 on Cyrillic characters. Fixed ParseTailoringSource() to handle
271 non-heading escape sequence (\uXXXX) as expected.
273 2005-07-21 Atsushi Enomoto <atsushi@ximian.com>
275 * create-mscompat-collation-table.cs,
276 MSCompatUnicodeTableUtil.cs,
277 MSCompatUnicodeTable.cs : added more aggressive index limits for
278 table optimization at data size, in cost of speed.
280 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
282 * create-mscompat-collation-table.cs : fixed Arabic thirtial weight.
284 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
286 * create-mscompat-collation-table.cs : Mapping for hyphens and
287 punctuation are kinda finished. Rewrote batch mapping method to
288 collect all NFKD. Required modification on mapping is done.
290 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
292 * create-mscompat-collation-table.cs : minor mapping fixes on accent
293 marks and punctuations.
295 2005-07-20 Atsushi Enomoto <atsushi@ximian.com>
297 * create-mscompat-collation-table.cs : Fixed some MathSymbol mapping
298 and Box drawing mapping.
300 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
302 * create-mscompat-collation-table.cs : Fixed almost all numbers.
304 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
306 * create-mscompat-collation-table.cs : Symbol mappings are almost done.
307 Removed hack that gave dummy mappings to blank symbols.
309 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
311 * create-mscompat-collation-table.cs : more fix on arrows. Fix on box
312 drawings. Some code refactoring to eliminate hack.
314 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
316 * create-mscompat-collation-table.cs : Fixed some secondary weight
317 in Devanagari and arrows.
319 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
321 * create-mscompat-collation-table.cs : a set of tiny mapping fixes.
323 2005-07-19 Atsushi Enomoto <atsushi@ximian.com>
325 * create-mscompat-collation-table.cs : some diacritical fixes for
326 Latin. Added batch mapping method that considers computed
327 diacritical weight (for numbers).
329 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
331 * managed-collation.patch : forgot to add System.String patch.
333 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
335 * MSCompatUnicodeTable.cs : added resource existence check (required
336 for mscorlib transient time from the one without resources to the
339 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
341 * create-mscompat-collation-table.cs : fixed punctuations and hyphen
342 (shift) primary weight.
344 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
346 * create-mscompat-collation-table.cs : more nonspacing mark fixes.
347 Some non-basic Cyrillic diacritical weight fixes.
349 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
351 * create-mscompat-collation-table.cs : some Gurmukhi fixes on level 1
352 and level 3. Tiny Hangul weight fixes.
353 * MSCompatUnicodeTable.cs : U+30F5 and U+30F6 are small Japanese.
355 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
357 * create-mscompat-collation-table.cs : some normal characters who have
358 "narrow" NFKD mapping are regarded as "wide" and thus level 3 weight
359 values were different. Handle U+30FB as category A.
360 * MSCompatUnicodeTable.cs : U+30FB does not have special weight.
362 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
364 * create-mscompat-collation-table.cs : more diacritical weight fixes.
365 Removed some unused code.
367 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
369 * create-mscompat-collation-table.cs : Fixed some Thai and Arabic
372 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
374 * create-mscompat-collation-table.cs : Fixed Syriac nonspacing marks.
376 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
378 * create-mscompat-collation-table.cs : Fixed nonspacing marks in
379 Malayalam, Thai and Lao. Removed extraneous hack.
381 2005-07-15 Atsushi Enomoto <atsushi@ximian.com>
383 * SimpleCollator.cs : rewrote LastIndexOf() to handle source extenders.
384 Some refactoring on IndexOf() code. Removed unused Matches().
385 * Collation-notes.txt : some methods needed to be reimplemented, so
386 rewrote the description.
388 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
390 * SimpleCollator.cs : rewrote IsSuffix() to use CompareInternal().
391 Thus supported extenders in IsSuffix().
393 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
395 * SimpleCollator.cs : more IsSuffix() simplification, but it will be
396 stopped here since it cannot handle extenders (implementing new
399 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
401 * SimpleCollator.cs : simplified IsSuffix() code.
403 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
405 * SimpleCollator.cs : Fixed IndexOf() and LasIndexOf() to search the
406 entire replacement string if char target was an expansion.
407 IsSuffix() was using a method for IsPrefix() which was incorrect.
408 Removed old IsPrefix() code.
410 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
412 * SimpleCollator.cs : IndexOf() was incorrectly sharing the same
413 byte[] field in different areas of code. Now extenders in both
414 source and target really work in IndexOf().
416 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
418 * create-mscompat-collation-table.cs : fixed U+FF9F diacritical weight.
419 * SimpleCollator.cs : handle U+FF9E and U+FF9F as extenders.
421 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
423 * SimpleCollator.cs : Now FilterExtender() handles all extender
424 support. IndexOf() and LastIndexOf() now supports extenders.
425 IndexOf() and LastIndexOf() did not proceed contraction source
426 length as expected. Tiny refactoring on private IsPrefix() to take
429 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
431 * SimpleCollator.cs : when restoring from expansion, go back to the
432 top of the loop (to avoid index out of range).
433 Now IsPrefix() is implemented to reuse Compare() and thus it now
434 supports extender as well.
435 * Collation-notes.txt : status update. Deleted optimization part in
436 status section (it is duplicate).
438 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
440 * SimpleCollator.cs : some code reordering.
441 * create-mscompat-collation-table.cs : it was still missing U+3094.
443 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
445 * SimpleCollator.cs : Compare() now supports extender (e.g. U+39FC).
447 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
449 * SimpleCollator.cs : In GetSortKey(), don't update previousChar when
450 it is not primary (e.g. don't "extend" diacritical mark).
452 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
454 * managed-collation.patch : CompareInfo.Compare() should consider
455 the possibilities that non-empty string might be actually empty
456 in culture-sensitive context.
458 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
460 * SimpleCollator.cs : IndexOf() and LastIndexOf() returns start when
461 target is "empty" (in culture-sensitive context).
463 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
465 * SimpleCollator.cs : In IndexOf() and LastIndexOf(), skip ignorable
466 characters in target string.
468 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
470 * SimpleCollator.cs : When IgnoreWidth is specified, all Kana
471 characters are regarded as half-width.
472 Even though IgnoreWidth is specified, it should not ignore case.
473 For special weight comparison, the default values (E4) are bigger
474 than non-default values.
475 * SortKeyBuffer.cs : It should save LCID and original string.
476 * create-mscompat-collation-table.cs : For Japanese half-width kana,
477 it should not be counted in widthCompat map since IgnoreWidth does
478 not really ignore those differences.
480 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
482 * create-mscompat-collation-table.cs : Fixed missing Japanese bits.
484 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
486 * create-mscompat-collation-table.cs :
487 tiny diacritical weight fix for U+20D0-U+20E1.
489 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
491 * create-mscompat-collation-table.cs : ja CJK ideograph got completed.
493 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
495 * create-mscompat-collation-table.cs : Fixed CJK custom Japanese
496 mapping. It (maybe as well as other CJK tables) mixes NFKD. For
497 Japanese, modified NFKD table (because of Windows lame design).
499 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
501 * Makefile : added MONO_USE_MANAGED_COLLATION=no almost everywhere.
502 * MSCompatUnicodeTable.cs : FillCJK() was not invoked. Now it is
503 invoked at any time it is required.
504 * SimpleCollator.cs : call FillCJK() above in .ctor().
505 * MSCompatUnicodeTableUtil.cs : CJK range was wider.
506 * create-mscompat-collation-table.cs : CJK binary was missing the
507 length. CJK remapping is being moved to ModifyUnidata().
508 For cjk-ja mapping, we have to consider compat characters to be
509 added to the map, besides the raw UCA table.
511 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
513 * SortKeyBuffer.cs : Fixed shift level computation to match w/ Windows.
515 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
517 * SimpleCollator.cs : fixed LastIndexOf() to handle _target's_
518 contraction as expected. Fixed Compare() to save s2's contraction
520 * TestDriver.cs :added LastIndexOf() tester w/ indexes.
522 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
524 * managed-collation.patch : Fixed IsPrefix() and IsSuffix(). They
525 incorrectly use Compare().
526 * TestDriver.cs : more moved to nunit tests.
528 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
530 * SimpleCollator.cs : several fixes on Compare().
531 - Ignorable characters are skippted at the top of the loop.
532 - IgnoreNonSpace is checked to avoid extraneous level 2 comparison.
533 - In such case that s1 index is increased while s2 contraction is
534 replaced, s1 is inconsistently proceeded (bug).
535 - IsIgnorable() now also checks IgnoreNonSpace.
536 - Fixed FilterOptions() that does not work for IgnoreWidth at all.
537 * TestDriver.cs : now some are moved to nunit tests.
538 * Collation-notes.txt : minor todo update.
540 2005-07-11 Atsushi Enomoto <atsushi@ximian.com>
542 * SimpleCollator.cs : Compare() was ignoring such case that both
543 entire strings have '-' to be compared.
544 * Collation-notes.txt : more status updates.
545 * TestDriver.cs : added '-' use cases.
547 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
549 * SimpleCollator.cs : to be same as other buggy part, it now handles
550 U+3005, U+3031 and U+3032 as buggy as Windows. It just repeats
552 Fixed GetSortKey(): if the repeater is U+3005, second weight is 5.
553 * create-mscompat-collation-table.cs : dummy values for extenders.
555 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
557 * SimpleCollator.cs : Special weight fixes on GetSortKey(). Dash type
558 should be computed from ExtenderType, and voice mark weight should
560 * MSCompatUnicodeTable.cs : added tiny comment.
562 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
564 * SortKey.cs : It borked when MONO_USE_MANAGED_COLLATION is not yes.
565 * SimpleCollator.cs : support for extender (U+309D etc.).
567 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
569 * create-mscompat-collation-table.cs : some punct/symbols fix.
570 * managed-collation.patch : new (and temporary) file to support
571 managed collation in mscorlib.
572 * README : described how to use managed collation.
574 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
576 * create-mscompat-collation-table.cs : Further Cyrillic fixes. Handle
577 U+482-4C8 (though needs diacritical fixes).
578 * MSCompatUnicodeTable.cs : tiny comment for alternative impl.
580 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
582 * create-mscompat-collation-table.cs : Reimplemented Cyrillic weight
583 computation code, since it looks like the same way as Latin letters
584 have. Thus removed all other approach (UCA, by letter name).
586 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
588 * create-mscompat-collation-table.cs : diacritical fix for "double-
589 struck". Syriac nonspacing fixes.
591 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
593 * create-mscompat-collation-table.cs : more math symbol weight fixes.
595 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
597 * create-mscompat-collation-table.cs : fixed Hebrew character sortkeys.
599 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
601 * create-mscompat-collation-table.cs : math symbols U+25A0-U+2600 are
602 implemented (no stub). Some other fixes on category 8-A.
604 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
606 * create-mscompat-collation-table.cs : some minor fixes on Arabic,
607 Korean and Japanese sortkey weights.
609 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
611 * create-mscompat-collation-table.cs : More diacritical fixes.
612 Georgian characters do not have level 2 weights but level 3.
614 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
616 * create-mscompat-collation-table.cs : Roman numeral characters
617 have diacritical weight. quick hack for control signs (U+2400..)
620 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
622 * create-mscompat-collation-table.cs : improving Latin mappings.
623 Setting non-ASCII Latin characters' primary weight between those
624 ASCII characters, and setting diacritical weight (hacky).
625 * MSCompatUnicodeTable.cs :
626 Kanatype check: fixed (voice marks) and improved (comparison order).
628 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
630 * create-mscompat-collation-table.cs : more diacritical fixes.
631 primary weight fixes on punctuations in category 07.
633 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
635 * create-mscompat-collation-table.cs : several diacritical fixes.
636 * TestDriver.cs : sortkey dumper should use StringSort.
638 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
640 * SimpleCollator.cs : fixed incorrect indexer setup. Optimized
641 GetContraction() call a bit.
643 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
645 * create-mscompat-collation-table.cs : fixed incorrect level 2
647 * MSCompatUnicodeTable.cs : remove debug line.
649 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
651 * MSCompatUnicodeTableUtil.cs,
652 MSCompatUnicodeTable.cs,
654 create-mscompat-collation-table.cs : made some members internal and
655 accessible from other classes. Many indexes could be 0 by default.
656 * SimpleCollator.cs : optimizations. avoid method call.
658 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
660 * Collation-notes.txt : more updates.
661 * SimpleCollator.cs : Added quick check for Ordinal comparison.
662 Fixed special weight comparison. It cannot be customizable in the
663 implementation (and it won't be harmful).
664 * mono-tailoring-source.txt : thus updated comment.
666 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
668 * SimpleCollator.cs : Compare() was missing French sort support.
669 * TestDriver.cs : added example case.
671 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
673 * Collation-notes.txt : updated status. Eliminated descriptions on
674 "iterator" (I avoided it for performance concern). Fixed misc.
675 incorrect descriptions.
677 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
679 * Collator.cs : Now that SimpleCollator became feature complete, it is
682 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
684 * SimpleCollator.cs : implemented decent Compare() that immediately
685 stops at first primary difference.
687 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
689 * SimpleCollator.cs : indexers might return -1.
691 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
693 * SimpleCollator.cs : IsPrefix() and IsSuffix() optimization code was
694 buggy (length check for source was missing).
696 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
698 * create-mscompat-collation-table.cs : Fixed tailoring table output
699 to be in correct and countable order. Now if tailoring alias was not
700 found, just stop the build.
701 * MSCompatUnicodeTable.cs : several build fixes. Now it works to read
703 * mono-tailoring-source.txt : commented out CJK aliases that miss
705 * Makefile : needed further filename fixes.
707 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
709 * MSCompatUnicodeTable.cs : renamed from MSCompatUnicodeTable.template
710 (now it is working as a standalone file).
711 * Makefile : renamed generated file as MSCompatUnicodeTableGenerated.cs
712 (the generator now creates both binary resources and C# source).
714 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
716 * create-mscompat-collation-table.cs : Now it generates binary
717 resources (to parent directory).
718 * MSCompatUnicodeTable.template : added conditional code that fills
719 collation tables from manifest resources.
720 * Makefile : remove collation table binaries as well on "make clean".
721 Removed extraneous dependency.
723 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
725 * MSCompatUnicodeTable.template,
726 SimpleCollator.cs : removed extraneous GetExpansion().
728 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
730 * SimpleCollator.cs : IsSuffix() also supports contractions.
731 * TestDriver.cs : IsSuffix() example contraction cases.
733 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
735 * SimpleCollator.cs : reverted IsSuffix() to return bool (to match w/
736 what current IsPrefix() does). For expansion of target, IsPrefix()
737 should check the no-match case that expansion is longer than input.
738 Some refactory on IsPrefix().
739 Added GetContractionTal() for IsSuffix() (not used yet).
741 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
743 * TestDriver.cs : added IsPrefix() expansion cases.
744 * SimpleCollator.cs : IsPrefix() now supports contractions (with much
745 of complexity), and it now returns bool again.
746 IndexOf() for replacement should make use of IndexOfPrimitiveChar()
747 since expansions won't be expanded recursively.
749 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
751 * SimpleCollator.cs : commonized character comparison in IsPrefix()
752 and IsSuffix(). csc compile fix.
753 * CompareInfoImpl.cs : deleted.
755 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
757 * TestDriver.cs : added SimpleCollator.ctor() sanity check.
758 Added replacement contraction example.
759 * SimpleCollator.cs : Now IndexOf() and LastIndexOf() support
760 contraction in source string. Extracted matching code to Matches().
761 Replacement contraction was including extraneous '\x0'.
763 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
765 * Collation-notes.txt : updated status.
766 * CollationDataStructures.txt : tiny fixes.
767 * SimpleCollator.cs :
768 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
769 namespace Util and csc borked).
770 GetContraction was incorrectly returning first item.
771 Private IsPrefix() now returns int (but it might not be in real use).
772 Extracted simple char comparison to CompareCharSimple().
773 IndexOf() and LastIndexOf() now fully handle contractions (both
774 binary key and string replacement) in "target" (for "s" not yet).
775 * TestDriver.cs : be more verbose.
776 * mono-tailoring-source.txt : added comment.
777 * MSCompatUnicodeTable.template :
778 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
780 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
782 * create-mscompat-collation-table.cs : compute COMBINING blah marks as
783 well as those characters WITH blah.
784 * TestDriver.cs : added combining sortkey cases.
786 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
788 * mono-tailoring-source.txt : fixed description on '*' in sortkeys.
789 * SimpleCollator.cs : Now it fully uses tailoring info. Fixed
790 contraction search that worked only when string is contraction.
791 Removed commented code. Minor refactoring.
792 * TestDriver.cs : added example that uses "ZS" in Hungarian sorting.
794 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
796 * create-mscompat-collation-table.cs,
797 * mono-tailoring-source.txt : removed extraneous level 4 sortkey
798 which cannot be supported.
799 * SimpleCollator.cs : added GetContraction() and used in some places.
800 Now CompareOptions is set only once. Reordered some code (e.g.
801 ignorable check -> get compat char -> compare).
803 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
805 * SimpleCollator.cs : sort tailoring tables before actual usage.
806 Support diacritical remappings (it is customized collation rule
807 which does not exist in UCA).
809 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
811 * SimpleCollator.cs : build culture specific tailoring table from
812 TailoringInfo and unified data array.
813 * create-mscompat-collation-table.cs : Added null termination to
814 sortkey map tailorings (mostly to save my eyes).
815 * MSCompatUnicodeTable.template : added public TailoringValues.
817 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
819 * SortKeyBuffer.cs : handle special weight (category 06) characters.
820 * Collation-notes.txt : Updated description on special weight (it was
822 * TestDriver.cs : added special weight cases.
824 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
826 * MSCompatUnicodeTable.template : added GetTailoringInfo().
827 * SimpleCollator.cs : Now tailoring information is acquired and used.
828 (FrenchSort is supported but Compare() won't work expectedly since
829 the table is still incomplete for those diacritical marks).
830 * SortKeyBuffer.cs : On reversing diacritical weights, it should
831 ignore zeros. Reset() should reset frenchSorted flag.
833 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
835 * create-mscompat-collation-table.cs : Further fixes on Jamo,
836 diacritical weights by character name, and *Numbers primary weights.
838 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
840 * create-mscompat-collation-table.cs : More fix on Devanagari,
841 Gujarati, Oliya, Tamil and Lao sortkeys.
843 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
845 * create-mscompat-collation-table.cs : Fixed Georgian, Thai, Gurmukhi
848 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
850 * create-mscompat-collation-table.cs : Fixed Thai character primary
851 and secondary values. Fixed Thaana letters. Added more LAMESPEC
852 CJK compat. Fixed some circled CJK secondary weight.
853 Hacked some nonspacing mark sortkey value adjustment.
855 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
857 * create-mscompat-collation-table.cs : CP932.TXT was not parsed as
858 expected. JIS ordering was incorrect. OtherNumbers that represents
859 10 or more values were incorrectly computed the offset. Some Hangul
860 compat characters has different offset.
862 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
864 * create-mscompat-collation-table.cs : Fixed 0x8 category characters.
865 Added hack for need-to-be-fixed characters to fall into 0xA category.
866 * create-collation-element-table.cs : previous checkin seem failed :(
867 * README: updated a bit.
869 2005-06-24 Atsushi Enomoto <atsushi@ximian.com>
871 * CodePointIndexer.cs :
872 removed extraneous switch (I could use empty array for that need).
873 * CollationElementTableUtil.cs : primary weight type became ushort.
874 * create-collation-element-table.cs : several bugfixes.
875 collElem should be int. It was skipping most of entries because of
876 incorrect string tokenization.
878 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
880 * create-mscompat-collation-table.cs : handle some Jamo NKFD.
882 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
884 * SimpleCollator.cs : forgot to commit in the last checkin.
885 * create-mscompat-collation-table.cs : fixed arabic shift weight chars.
886 * TestDriver.cs : switch table dumper and collator testing.
887 * SortKey.cs : for now comment out internal indexes (not in use).
889 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
891 * MSCompatUnicodeTable.template,
892 SimpleCollator.cs : support for culture dependent CJK table.
894 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
896 * create-mscompat-collation-table.cs,
897 MSCompatUnicodeTableUtil.cs : make CJK table more compact.
899 2005-06-22 Atsushi Enomoto <atsushi@ximian.com>
901 * SimpleCollator.cs : Fixed stupid index search when start != 0.
903 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
905 * SimpleCollator.cs : fixed my misunderstanding on LastIndexOf(). It
906 now starts from "start" and proceeds backward by "length".
907 * TestDriver.cs : fix warning.
909 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
911 * TestDriver.cs : more tests.
912 * SimpleCollator.cs : LastIndexOf() is not setting search length
913 on iteration. Quick workaround fro String.LastIndexOf() bug (maybe).
915 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
917 * create-normalization-source.cs : output propValue as uint.
919 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
921 * SortKey.cs : Now it is System.Globalization.SortKey.
922 To replace existing implementation, it now requires lcid and
923 CompareOptions. Added required members.
924 * SortKeyBuffer.cs : thus .ctor() requires LCID.
925 * SimpleCollator.cs : made required changes above.
927 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
929 * CodePointIndexer.cs : added CompressArray(). Now it requires two more
930 parameters for default index and codepoint.
931 * CollationElementTableUtil.cs,
932 NormalizationTableUtil.cs : required changes wrt above change.
933 * MSCompatUnicodeTableUtil.cs : added for several codepoint indexers.
934 * MSCompatUnicodeTable.template : Now it uses codepoint indexer.
935 * create-mscompat-collation-table.cs : Now it outputs compressed array.
936 * Makefile : now collation requires MSCompatUnicodeTableUtil.cs
938 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
940 * SimpleCollator.cs :
941 Implemented IsSuffix() and LastIndexOf().
942 Several fixes on index > 0 cases.
943 * TestDriver.cs : sample IsSuffix() and LastIndexOf() usage and more.
945 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
947 * Collation-notes.txt : updated (status, impl. classes).
948 * MSCompatUnicodeTable.cs : Korean Jamo are not really expansions.
950 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
952 * SimpleCollator.cs : implemented IndexOf(string,string,CompareOptions)
953 and IsPrefix(). Tiny code refactory.
954 * TestDriver.cs : sample IsPrefix() and IndexOf() usage.
955 * MSCompatUnicodeTable.cs : tiny refactory for CodePointIndexer use.
957 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
959 * SimpleCollator.cs :
960 IndexOf(string, char, CompareOptions) implementation.
961 * TestDriver.cs : sample IndexOf() usage.
963 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
965 * create-mscompat-collation-table.cs : was missing most important
966 kind of blocks - equivalent expansions (e.g. invariant mappings).
967 More readable mappings.
969 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
971 * mono-tailoring-source.txt : new file. It describes tailoring
972 information. Basically examined under .NET 1.x.
973 * create-mscompat-collation-table.cs : consume the file above.
974 * MSCompatUnicodeTable.template : now tailorings is not a stub.
975 * CollationDataStructures.txt : minor fixes.
977 SimpleCollator.cs : added FrenchSort support.
978 * Collation-notes.txt : added description on Latin primary weights.
979 * ldml-limited.rng : added note.
980 * create-tailorings.cs : added note. more serialization (but won't be
983 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
985 * SortKeyBuffer.cs : non-primary character is added to previous
987 * TestDriver.cs : added example case of above.
989 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
991 * SimpleCollator.cs : IgnoreSymbols support.
992 * TestDriver.cs : compilation fix. IgnoreSymbols example.
993 * create-mscompat-collation-table.cs : more Hangul fixes.
995 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
997 * create-mscompat-collation-table.cs : more Hangul fixes.
998 * SortKey.cs : it will replace sys.globalization.SortKey. It has
999 some internal members.
1000 * SortKeyBuffer.cs : now it uses SortKey instead of byte[].
1001 * SimpleCollator.cs : CompareOptions support. However I don't think
1002 it will be developed anymore since SortKey never enables IndexOf().
1003 * TestDriver.cs : a few CompareOptions cases.
1005 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1007 * SimpleCollator.cs : simple collator implementation that just will
1008 use GetSortKey() for all its basis.
1009 * TestDriver.cs : sample code that uses this collator set.
1010 * MSCompatUnicodeTable.template : removed test driver from here.
1012 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1014 * create-mscompat-collation-table.cs : Hangul fixes.
1015 Now less than 300 characters that does not have sortkey weights.
1016 * MSCompatUnicodeTable.template : added FIXME info for Hangul Jamo.
1018 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1020 * create-mscompat-collation-table.cs : Added control picture mappings.
1021 Minor primary weight fixes.
1023 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1025 * create-mscompat-collation-table.cs : Added mappings for box
1026 drawings and blocks.
1028 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
1030 * create-mscompat-collation-table.cs : Added mappings for arrows.
1032 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1034 * create-mscompat-collation-table.cs : added support for letterlike
1035 characters and squared CJK compatibility characters, ordered by
1036 character names (0x0E category).
1037 * Collation-notes.txt : added description on that.
1039 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1041 * MSCompatUnicodeTable.template : Now expansions are simulated.
1042 * create-mscompat-collation-table.cs : filled Korean number level2.
1043 Reordered some code blocks to fill correct diacritical differences.
1044 * Collation-notes.txt : some corrections and minor additions.
1046 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1048 * MSCompatUnicodeTable.template :
1049 Now dumper test driver uses SortKeyBuffer for dogfooding.
1050 * create-mscompat-collation-table.cs : some diacritical level fixes
1051 (with non-working extra latin check).
1052 * SortKeyBuffer.cs : several fixes to get working as a practical code.
1053 * Collator.cs : make it compilable, leaving things as NotImplemented.
1055 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
1057 * create-mscompat-collation-table.cs : some fixes on primary category
1058 07 (miscellaneous symbols and punctuations).
1060 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1062 * create-mscompat-collation-table.cs : more mapping fix on numbers,
1063 letters, variable weight characters, circled Japanese and CJK.
1064 * MSCompatUnicodeTable.template : fixed HasSpecialWeight() to be more
1065 inclusive. Simplified dumper code.
1067 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1069 * create-mscompat-collation-table.cs : finished Hangul (both Jamo
1070 and Syllables). sortkey dumper diff lines became 8000 from 30000.
1072 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
1074 * create-mscompat-collation-table.cs : added some nonspacing marks in
1075 either correct or hacky way.
1077 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
1079 * create-mscompat-collation-table.cs : several improvements. Japanese
1080 Kana support, Hebrew accents, Bengali nonspacing marks, sorting of
1081 numeric characters, diacritically decorated latin alphabets. Fixed
1082 some diacritical weights detection.
1083 * MSCompatUnicodeTable.cs : tiny Japanese fix. Handle nonspacing
1084 marks' primary weight as empty.
1085 * Collation-notes.txt : some updates.
1087 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
1089 * create-mscompat-collation-table.cs : don't process nonexact NFKD
1090 mapping as equivalent, however store CJK extensions into NFKD map
1091 even if one does not strictly match.
1092 Now am going to fill Hangul into tables (unlike UCA it does not look
1093 possible to calculate sortkey value).
1094 Fixed Cyrillic and Georgian UCA based orderings.
1095 * MSCompatUnicodeTable.template : added CJK extension sortkey
1098 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
1100 * create-mscompat-collation-table.cs : Fixed latin alphabet support.
1101 Added latin with diacritical and CJK extension.
1102 * MSCompatUnicodeTable.cs : modified dumper code a bit (for my purpose).
1104 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
1106 * create-mscompat-collation-table.cs : now parses DerivedAge.txt (right
1107 now not used thouth). Filled CJK ideograph, still not perfect.
1108 Fixed number primary keys. NFKD numbers and CJK ideographs are now
1109 considered, including brackets elimination.
1110 * Makefile : now it downloads DerivedAge.txt.
1111 * MSCompatUnicodeTable.template : added dummy code dumper. It computes
1112 PrivateUse, Surrogate and Hangul Syllables.
1113 * Collation-notes.txt : Noted that Hangul Syllables need more love.
1115 2005-06-09 Atsushi Enomoto <atsushi@ximian.com>
1117 * create-tailorings.cs : added configuration support. sort them.
1118 I wonder if it is really usable. Having own format might be better.
1119 * create-mscompat-collation-table.cs : fixing some sortkey numbers,
1120 making closer to windows. Now it handles NFKD in some places.
1121 * MSCompatUnicodeTable.template : Added dummy sortkey dumper driver.
1122 * CollationDataStructures.txt : added description on tailoring
1123 fields, though they are subject to change.
1125 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
1127 * create-tailorings.cs, ldml-limited.rng : new file.
1128 * LdmlReader.cs : removed old file.
1130 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
1132 * SortKeyBuffer.cs : split from Collator.cs. Now it considers
1133 practical use, reflecting updated sortkey constant design.
1134 Especially level 4 weight is split to 4 arrays that are merged in
1135 the last stage of GetSortKey().
1136 * Collator.cs : thus SortKeyBuffer is removed from here.
1137 Additionally, removed some extraneous bits in other classes.
1138 * Collation-notes.txt : Some editorial fixes. Added information on
1139 Korean matter (how to compute Hangle Syllables / Hangul Jamo cannot
1140 be stored in simple byte arrays).
1141 * CodePointIndexer.cs,
1142 create-collation-element-table.cs,
1143 CollationElementTable.template,
1144 NormalizationTableUtil.cs : short CodePointIndexer method names.
1145 * create-mscompat-collation-table.cs : Additional info on why some
1146 meaningful characters are ignored in Windows (Unicode version
1147 difference). Removed U+070F from special check (was extraneous).
1149 2005-06-06 Atsushi Enomoto <atsushi@ximian.com>
1151 * MSCompatUnicodeTable.template:
1152 Moved body implementation to table creator and put those bool
1153 results into an array.
1154 * create-mscompat-collation-table.cs :
1155 So imported those methods. Modified array output to emit "0x"
1156 only for more than 9.
1157 * create-normalization-source.cs : ditto on "0x" output matter.
1158 * CollationDataStructures.txt : so now it holds ignorableFlags.
1160 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
1162 * Collation-notes.txt, CollationDataStructures.txt :
1163 separate document for data structure design.
1165 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
1167 * create-mscompat-collation-table.cs : added culture-dependent CJK
1168 table creation. It uses CLDR as its basis. (Culture independent CJK
1170 * Makefile : added CLDR archive downloading support.
1171 * MSCompatUnicodeTable.template : tiny renamings.
1172 * Collation-notes.txt : additional CJK info.
1174 2005-06-02 Atsushi Enomoto <atsushi@ximian.com>
1176 * Collation-notes.txt, create-mscompat-collation-table.cs :
1177 added secondary weight support for BlahNumber characters.
1179 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
1181 * downloaded : added directory. All downloaded files are stored here.
1182 * Makefile : use "downloaded" directory.
1183 Added more auto-download stuff.
1184 * create-mscompat-collation-table.cs :
1185 Added Japanese square kana support.
1187 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
1189 * Collation-notes.txt : added Estrangela (ancient Syriac) and Thaana.
1190 * create-mscompat-collation-table.cs : added support for Arabic abjad,
1191 Estrangela and Thaana.
1192 * MSCompatUnicodeTable.template : removed BOM.
1194 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1196 * Collation-notes.txt : wrong comment cleanup and spelling fixes.
1197 * create-mscompat-collation-table.cs : added diacritic support for
1198 Latin letters (as long as covered in primary weight).
1200 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1202 * Makefile : minor fixes. Added warning lines to generated sources.
1204 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1206 * create-char-mapping-source.cs :
1207 Removed ToWidthInsensitive() generation.
1209 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
1211 * create-mscompat-collation-table.cs : Now it dumps level1 to 3 values.
1212 ToWidthInsensitive() is implemented here, using an array (which is
1213 to be optimized using CodePointIndexer).
1214 * MSCompatUnicodeTable.cs : renamed as MSCompatUnicodeTable.template
1215 * MSCompatUnicodeTable.template : now it is used to generate
1216 MSCompatUnicodeTable.cs which got ready to be used.
1217 * Makefile : added MSCompatUnicodeTable.cs build support. Now it
1218 supports "make normalization" and "make collation".
1220 2005-05-30 Atsushi Enomoto <atsushi@ximian.com>
1222 * Collation-notes.txt : Description on ICU is very incorrect. Now it
1223 became more rational and sane.
1224 * create-mscompat-collation-table.cs : fixed some indexes.
1225 * Makefile : added "mstablegen" target.
1226 * MSCompatUnicodeTable.cs : removed GetPrimaryWeight(). Minor fix.
1228 2005-05-26 Atsushi Enomoto <atsushi@ximian.com>
1230 * Collation-notes.txt : more analysis on "letters".
1231 * create-mscompat-collation-table.cs : more proof of concepts.
1233 2005-05-25 Atsushi Enomoto <atsushi@ximian.com>
1235 * Collation-notes.txt : more info. Started letter sortkey analysis
1236 (some of other stuff are really non-understandable right now.)
1237 * create-mscompat-collation-table.cs : table generator proof-of-
1238 concept source (not compilable).
1239 * MSCompatUnicodeTable.cs : moved some code to the new source.
1242 2005-05-20 Atsushi Enomoto <atsushi@ximian.com>
1244 * Collation-notes.txt : started level 2 weight analysis.
1246 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
1248 * Collation-notes.txt : Additional information on how to create
1250 * MSCompatUnicodeTable.cs : implemented part of GetLevel3Weight().
1252 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
1254 * Collation-notes.txt : More case weight (level 3) analysis. I'm
1255 likely to just write table generator.
1257 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
1259 * MSCompatUnicodeTable.cs : part of level 4 weight implementation.
1261 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
1263 * Collation-notes.txt :
1265 Revised comparison methods; backward iteration is possible.
1266 More on char-by-char comparison.
1267 Level 4 comparison is actually a bit more complex.
1269 * Collator.cs : some conceptual updates wrt above.
1271 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
1273 * Collation-notes.txt : Japanese voice mark is level 2, and Hangul
1274 properties are level 3.
1276 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
1278 * Collation-notes.txt : Make it more readable. More analysis on
1279 level 3 and 4 sortkey structures.
1280 * Collator.cs : some compilation fixes (not compilable yet).
1282 2005-05-16 Atsushi Enomoto <atsushi@ximian.com>
1284 * Collation-notes.txt : Analysis on variable-weighting (level 5)
1286 * Collator.cs : updated corresponding part of level 5, and more.
1288 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1290 * Collation-notes.txt : more updates.
1291 * Collator.cs : rewrote from scratch. Some rough sketch for sortkey
1292 buffer, character iterator and collator methods. Not compiling.
1294 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1296 * Collator.cs : Am going to replace it with new one. No need for
1297 CompareOptions-dependent Comparer.
1299 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
1301 * Collation-notes.txt : There seems a bit more complexity.
1303 2005-05-10 Atsushi Enomoto <atsushi@ximian.com>
1305 * Collation-notes.txt : more updates, being close to write sortkey
1308 2005-05-09 Atsushi Enomoto <atsushi@ximian.com>
1310 * CompareInfoImpl.cs, Collator.cs : conceptual update
1311 * Collation-notes.txt : some corrections and additions.
1312 * Makefile : added LDML input (but it won't be used at all).
1314 2005-04-28 Atsushi Enomoto <atsushi@ximian.com>
1316 * Collation-notes.txt : more updates.
1318 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
1320 * Collation-notes.txt : more updates.
1322 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
1324 * Collation-notes.txt : some updates.
1325 * create-mapping-char-source.cs : superscripts and subscripts are also
1326 ignored in IgnoreWidth comparison.
1327 * Makefile : tiny touch fix.
1329 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1331 * CompareInfoImpl.cs, Collator.cs : conceptual stuff (not working).
1333 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1335 * create-char-mapping-source.cs : Now it generates
1336 ToWidthInsensitive() from combining category <wide> and <narrow>.
1337 * MSCompatUnicodeTable.cs : added ToKanaTypeInsensitive() and
1338 ToWidthInsensitive() for IgnoreKanaType and IgnoreWidth.
1340 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1342 * README, LdmlReader.cs, DataStructures.txt : new files.
1344 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
1346 * CodePointIndexer.cs,
1347 Collation-notes.txt,
1348 CollationElementTable.template,
1349 CollationElementTableUtil.cs,
1350 create-char-mapping-source.cs,
1351 create-collation-element-table.cs,
1352 create-combining-class-source.cs,
1353 create-normalization-source.cs,
1355 MSCompatUnicodeTable.cs,
1356 Normalization.template,
1357 NormalizationTableUtil.cs : initial checkin (to private branch).