1 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
3 * SimpleCollator.cs : more IsSuffix() simplification, but it will be
4 stopped here since it cannot handle extenders (implementing new
7 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
9 * SimpleCollator.cs : simplified IsSuffix() code.
11 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
13 * SimpleCollator.cs : Fixed IndexOf() and LasIndexOf() to search the
14 entire replacement string if char target was an expansion.
15 IsSuffix() was using a method for IsPrefix() which was incorrect.
16 Removed old IsPrefix() code.
18 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
20 * SimpleCollator.cs : IndexOf() was incorrectly sharing the same
21 byte[] field in different areas of code. Now extenders in both
22 source and target really work in IndexOf().
24 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
26 * create-mscompat-collation-table.cs : fixed U+FF9F diacritical weight.
27 * SimpleCollator.cs : handle U+FF9E and U+FF9F as extenders.
29 2005-07-14 Atsushi Enomoto <atsushi@ximian.com>
31 * SimpleCollator.cs : Now FilterExtender() handles all extender
32 support. IndexOf() and LastIndexOf() now supports extenders.
33 IndexOf() and LastIndexOf() did not proceed contraction source
34 length as expected. Tiny refactoring on private IsPrefix() to take
37 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
39 * SimpleCollator.cs : when restoring from expansion, go back to the
40 top of the loop (to avoid index out of range).
41 Now IsPrefix() is implemented to reuse Compare() and thus it now
42 supports extender as well.
43 * Collation-notes.txt : status update. Deleted optimization part in
44 status section (it is duplicate).
46 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
48 * SimpleCollator.cs : some code reordering.
49 * create-mscompat-collation-table.cs : it was still missing U+3094.
51 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
53 * SimpleCollator.cs : Compare() now supports extender (e.g. U+39FC).
55 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
57 * SimpleCollator.cs : In GetSortKey(), don't update previousChar when
58 it is not primary (e.g. don't "extend" diacritical mark).
60 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
62 * managed-collation.patch : CompareInfo.Compare() should consider
63 the possibilities that non-empty string might be actually empty
64 in culture-sensitive context.
66 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
68 * SimpleCollator.cs : IndexOf() and LastIndexOf() returns start when
69 target is "empty" (in culture-sensitive context).
71 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
73 * SimpleCollator.cs : In IndexOf() and LastIndexOf(), skip ignorable
74 characters in target string.
76 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
78 * SimpleCollator.cs : When IgnoreWidth is specified, all Kana
79 characters are regarded as half-width.
80 Even though IgnoreWidth is specified, it should not ignore case.
81 For special weight comparison, the default values (E4) are bigger
82 than non-default values.
83 * SortKeyBuffer.cs : It should save LCID and original string.
84 * create-mscompat-collation-table.cs : For Japanese half-width kana,
85 it should not be counted in widthCompat map since IgnoreWidth does
86 not really ignore those differences.
88 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
90 * create-mscompat-collation-table.cs : Fixed missing Japanese bits.
92 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
94 * create-mscompat-collation-table.cs :
95 tiny diacritical weight fix for U+20D0-U+20E1.
97 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
99 * create-mscompat-collation-table.cs : ja CJK ideograph got completed.
101 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
103 * create-mscompat-collation-table.cs : Fixed CJK custom Japanese
104 mapping. It (maybe as well as other CJK tables) mixes NFKD. For
105 Japanese, modified NFKD table (because of Windows lame design).
107 2005-07-13 Atsushi Enomoto <atsushi@ximian.com>
109 * Makefile : added MONO_USE_MANAGED_COLLATION=no almost everywhere.
110 * MSCompatUnicodeTable.cs : FillCJK() was not invoked. Now it is
111 invoked at any time it is required.
112 * SimpleCollator.cs : call FillCJK() above in .ctor().
113 * MSCompatUnicodeTableUtil.cs : CJK range was wider.
114 * create-mscompat-collation-table.cs : CJK binary was missing the
115 length. CJK remapping is being moved to ModifyUnidata().
116 For cjk-ja mapping, we have to consider compat characters to be
117 added to the map, besides the raw UCA table.
119 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
121 * SortKeyBuffer.cs : Fixed shift level computation to match w/ Windows.
123 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
125 * SimpleCollator.cs : fixed LastIndexOf() to handle _target's_
126 contraction as expected. Fixed Compare() to save s2's contraction
128 * TestDriver.cs :added LastIndexOf() tester w/ indexes.
130 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
132 * managed-collation.patch : Fixed IsPrefix() and IsSuffix(). They
133 incorrectly use Compare().
134 * TestDriver.cs : more moved to nunit tests.
136 2005-07-12 Atsushi Enomoto <atsushi@ximian.com>
138 * SimpleCollator.cs : several fixes on Compare().
139 - Ignorable characters are skippted at the top of the loop.
140 - IgnoreNonSpace is checked to avoid extraneous level 2 comparison.
141 - In such case that s1 index is increased while s2 contraction is
142 replaced, s1 is inconsistently proceeded (bug).
143 - IsIgnorable() now also checks IgnoreNonSpace.
144 - Fixed FilterOptions() that does not work for IgnoreWidth at all.
145 * TestDriver.cs : now some are moved to nunit tests.
146 * Collation-notes.txt : minor todo update.
148 2005-07-11 Atsushi Enomoto <atsushi@ximian.com>
150 * SimpleCollator.cs : Compare() was ignoring such case that both
151 entire strings have '-' to be compared.
152 * Collation-notes.txt : more status updates.
153 * TestDriver.cs : added '-' use cases.
155 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
157 * SimpleCollator.cs : to be same as other buggy part, it now handles
158 U+3005, U+3031 and U+3032 as buggy as Windows. It just repeats
160 Fixed GetSortKey(): if the repeater is U+3005, second weight is 5.
161 * create-mscompat-collation-table.cs : dummy values for extenders.
163 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
165 * SimpleCollator.cs : Special weight fixes on GetSortKey(). Dash type
166 should be computed from ExtenderType, and voice mark weight should
168 * MSCompatUnicodeTable.cs : added tiny comment.
170 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
172 * SortKey.cs : It borked when MONO_USE_MANAGED_COLLATION is not yes.
173 * SimpleCollator.cs : support for extender (U+309D etc.).
175 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
177 * create-mscompat-collation-table.cs : some punct/symbols fix.
178 * managed-collation.patch : new (and temporary) file to support
179 managed collation in mscorlib.
180 * README : described how to use managed collation.
182 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
184 * create-mscompat-collation-table.cs : Further Cyrillic fixes. Handle
185 U+482-4C8 (though needs diacritical fixes).
186 * MSCompatUnicodeTable.cs : tiny comment for alternative impl.
188 2005-07-08 Atsushi Enomoto <atsushi@ximian.com>
190 * create-mscompat-collation-table.cs : Reimplemented Cyrillic weight
191 computation code, since it looks like the same way as Latin letters
192 have. Thus removed all other approach (UCA, by letter name).
194 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
196 * create-mscompat-collation-table.cs : diacritical fix for "double-
197 struck". Syriac nonspacing fixes.
199 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
201 * create-mscompat-collation-table.cs : more math symbol weight fixes.
203 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
205 * create-mscompat-collation-table.cs : fixed Hebrew character sortkeys.
207 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
209 * create-mscompat-collation-table.cs : math symbols U+25A0-U+2600 are
210 implemented (no stub). Some other fixes on category 8-A.
212 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
214 * create-mscompat-collation-table.cs : some minor fixes on Arabic,
215 Korean and Japanese sortkey weights.
217 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
219 * create-mscompat-collation-table.cs : More diacritical fixes.
220 Georgian characters do not have level 2 weights but level 3.
222 2005-07-07 Atsushi Enomoto <atsushi@ximian.com>
224 * create-mscompat-collation-table.cs : Roman numeral characters
225 have diacritical weight. quick hack for control signs (U+2400..)
228 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
230 * create-mscompat-collation-table.cs : improving Latin mappings.
231 Setting non-ASCII Latin characters' primary weight between those
232 ASCII characters, and setting diacritical weight (hacky).
233 * MSCompatUnicodeTable.cs :
234 Kanatype check: fixed (voice marks) and improved (comparison order).
236 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
238 * create-mscompat-collation-table.cs : more diacritical fixes.
239 primary weight fixes on punctuations in category 07.
241 2005-07-06 Atsushi Enomoto <atsushi@ximian.com>
243 * create-mscompat-collation-table.cs : several diacritical fixes.
244 * TestDriver.cs : sortkey dumper should use StringSort.
246 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
248 * SimpleCollator.cs : fixed incorrect indexer setup. Optimized
249 GetContraction() call a bit.
251 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
253 * create-mscompat-collation-table.cs : fixed incorrect level 2
255 * MSCompatUnicodeTable.cs : remove debug line.
257 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
259 * MSCompatUnicodeTableUtil.cs,
260 MSCompatUnicodeTable.cs,
262 create-mscompat-collation-table.cs : made some members internal and
263 accessible from other classes. Many indexes could be 0 by default.
264 * SimpleCollator.cs : optimizations. avoid method call.
266 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
268 * Collation-notes.txt : more updates.
269 * SimpleCollator.cs : Added quick check for Ordinal comparison.
270 Fixed special weight comparison. It cannot be customizable in the
271 implementation (and it won't be harmful).
272 * mono-tailoring-source.txt : thus updated comment.
274 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
276 * SimpleCollator.cs : Compare() was missing French sort support.
277 * TestDriver.cs : added example case.
279 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
281 * Collation-notes.txt : updated status. Eliminated descriptions on
282 "iterator" (I avoided it for performance concern). Fixed misc.
283 incorrect descriptions.
285 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
287 * Collator.cs : Now that SimpleCollator became feature complete, it is
290 2005-07-05 Atsushi Enomoto <atsushi@ximian.com>
292 * SimpleCollator.cs : implemented decent Compare() that immediately
293 stops at first primary difference.
295 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
297 * SimpleCollator.cs : indexers might return -1.
299 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
301 * SimpleCollator.cs : IsPrefix() and IsSuffix() optimization code was
302 buggy (length check for source was missing).
304 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
306 * create-mscompat-collation-table.cs : Fixed tailoring table output
307 to be in correct and countable order. Now if tailoring alias was not
308 found, just stop the build.
309 * MSCompatUnicodeTable.cs : several build fixes. Now it works to read
311 * mono-tailoring-source.txt : commented out CJK aliases that miss
313 * Makefile : needed further filename fixes.
315 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
317 * MSCompatUnicodeTable.cs : renamed from MSCompatUnicodeTable.template
318 (now it is working as a standalone file).
319 * Makefile : renamed generated file as MSCompatUnicodeTableGenerated.cs
320 (the generator now creates both binary resources and C# source).
322 2005-07-04 Atsushi Enomoto <atsushi@ximian.com>
324 * create-mscompat-collation-table.cs : Now it generates binary
325 resources (to parent directory).
326 * MSCompatUnicodeTable.template : added conditional code that fills
327 collation tables from manifest resources.
328 * Makefile : remove collation table binaries as well on "make clean".
329 Removed extraneous dependency.
331 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
333 * MSCompatUnicodeTable.template,
334 SimpleCollator.cs : removed extraneous GetExpansion().
336 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
338 * SimpleCollator.cs : IsSuffix() also supports contractions.
339 * TestDriver.cs : IsSuffix() example contraction cases.
341 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
343 * SimpleCollator.cs : reverted IsSuffix() to return bool (to match w/
344 what current IsPrefix() does). For expansion of target, IsPrefix()
345 should check the no-match case that expansion is longer than input.
346 Some refactory on IsPrefix().
347 Added GetContractionTal() for IsSuffix() (not used yet).
349 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
351 * TestDriver.cs : added IsPrefix() expansion cases.
352 * SimpleCollator.cs : IsPrefix() now supports contractions (with much
353 of complexity), and it now returns bool again.
354 IndexOf() for replacement should make use of IndexOfPrimitiveChar()
355 since expansions won't be expanded recursively.
357 2005-07-01 Atsushi Enomoto <atsushi@ximian.com>
359 * SimpleCollator.cs : commonized character comparison in IsPrefix()
360 and IsSuffix(). csc compile fix.
361 * CompareInfoImpl.cs : deleted.
363 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
365 * TestDriver.cs : added SimpleCollator.ctor() sanity check.
366 Added replacement contraction example.
367 * SimpleCollator.cs : Now IndexOf() and LastIndexOf() support
368 contraction in source string. Extracted matching code to Matches().
369 Replacement contraction was including extraneous '\x0'.
371 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
373 * Collation-notes.txt : updated status.
374 * CollationDataStructures.txt : tiny fixes.
375 * SimpleCollator.cs :
376 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
377 namespace Util and csc borked).
378 GetContraction was incorrectly returning first item.
379 Private IsPrefix() now returns int (but it might not be in real use).
380 Extracted simple char comparison to CompareCharSimple().
381 IndexOf() and LastIndexOf() now fully handle contractions (both
382 binary key and string replacement) in "target" (for "s" not yet).
383 * TestDriver.cs : be more verbose.
384 * mono-tailoring-source.txt : added comment.
385 * MSCompatUnicodeTable.template :
386 Renamed alias Util to UUtil (MS sys.enterprisesvc has sucky global
388 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
390 * create-mscompat-collation-table.cs : compute COMBINING blah marks as
391 well as those characters WITH blah.
392 * TestDriver.cs : added combining sortkey cases.
394 2005-06-30 Atsushi Enomoto <atsushi@ximian.com>
396 * mono-tailoring-source.txt : fixed description on '*' in sortkeys.
397 * SimpleCollator.cs : Now it fully uses tailoring info. Fixed
398 contraction search that worked only when string is contraction.
399 Removed commented code. Minor refactoring.
400 * TestDriver.cs : added example that uses "ZS" in Hungarian sorting.
402 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
404 * create-mscompat-collation-table.cs,
405 * mono-tailoring-source.txt : removed extraneous level 4 sortkey
406 which cannot be supported.
407 * SimpleCollator.cs : added GetContraction() and used in some places.
408 Now CompareOptions is set only once. Reordered some code (e.g.
409 ignorable check -> get compat char -> compare).
411 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
413 * SimpleCollator.cs : sort tailoring tables before actual usage.
414 Support diacritical remappings (it is customized collation rule
415 which does not exist in UCA).
417 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
419 * SimpleCollator.cs : build culture specific tailoring table from
420 TailoringInfo and unified data array.
421 * create-mscompat-collation-table.cs : Added null termination to
422 sortkey map tailorings (mostly to save my eyes).
423 * MSCompatUnicodeTable.template : added public TailoringValues.
425 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
427 * SortKeyBuffer.cs : handle special weight (category 06) characters.
428 * Collation-notes.txt : Updated description on special weight (it was
430 * TestDriver.cs : added special weight cases.
432 2005-06-29 Atsushi Enomoto <atsushi@ximian.com>
434 * MSCompatUnicodeTable.template : added GetTailoringInfo().
435 * SimpleCollator.cs : Now tailoring information is acquired and used.
436 (FrenchSort is supported but Compare() won't work expectedly since
437 the table is still incomplete for those diacritical marks).
438 * SortKeyBuffer.cs : On reversing diacritical weights, it should
439 ignore zeros. Reset() should reset frenchSorted flag.
441 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
443 * create-mscompat-collation-table.cs : Further fixes on Jamo,
444 diacritical weights by character name, and *Numbers primary weights.
446 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
448 * create-mscompat-collation-table.cs : More fix on Devanagari,
449 Gujarati, Oliya, Tamil and Lao sortkeys.
451 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
453 * create-mscompat-collation-table.cs : Fixed Georgian, Thai, Gurmukhi
456 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
458 * create-mscompat-collation-table.cs : Fixed Thai character primary
459 and secondary values. Fixed Thaana letters. Added more LAMESPEC
460 CJK compat. Fixed some circled CJK secondary weight.
461 Hacked some nonspacing mark sortkey value adjustment.
463 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
465 * create-mscompat-collation-table.cs : CP932.TXT was not parsed as
466 expected. JIS ordering was incorrect. OtherNumbers that represents
467 10 or more values were incorrectly computed the offset. Some Hangul
468 compat characters has different offset.
470 2005-06-28 Atsushi Enomoto <atsushi@ximian.com>
472 * create-mscompat-collation-table.cs : Fixed 0x8 category characters.
473 Added hack for need-to-be-fixed characters to fall into 0xA category.
474 * create-collation-element-table.cs : previous checkin seem failed :(
475 * README: updated a bit.
477 2005-06-24 Atsushi Enomoto <atsushi@ximian.com>
479 * CodePointIndexer.cs :
480 removed extraneous switch (I could use empty array for that need).
481 * CollationElementTableUtil.cs : primary weight type became ushort.
482 * create-collation-element-table.cs : several bugfixes.
483 collElem should be int. It was skipping most of entries because of
484 incorrect string tokenization.
486 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
488 * create-mscompat-collation-table.cs : handle some Jamo NKFD.
490 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
492 * SimpleCollator.cs : forgot to commit in the last checkin.
493 * create-mscompat-collation-table.cs : fixed arabic shift weight chars.
494 * TestDriver.cs : switch table dumper and collator testing.
495 * SortKey.cs : for now comment out internal indexes (not in use).
497 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
499 * MSCompatUnicodeTable.template,
500 SimpleCollator.cs : support for culture dependent CJK table.
502 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
504 * create-mscompat-collation-table.cs,
505 MSCompatUnicodeTableUtil.cs : make CJK table more compact.
507 2005-06-22 Atsushi Enomoto <atsushi@ximian.com>
509 * SimpleCollator.cs : Fixed stupid index search when start != 0.
511 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
513 * SimpleCollator.cs : fixed my misunderstanding on LastIndexOf(). It
514 now starts from "start" and proceeds backward by "length".
515 * TestDriver.cs : fix warning.
517 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
519 * TestDriver.cs : more tests.
520 * SimpleCollator.cs : LastIndexOf() is not setting search length
521 on iteration. Quick workaround fro String.LastIndexOf() bug (maybe).
523 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
525 * create-normalization-source.cs : output propValue as uint.
527 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
529 * SortKey.cs : Now it is System.Globalization.SortKey.
530 To replace existing implementation, it now requires lcid and
531 CompareOptions. Added required members.
532 * SortKeyBuffer.cs : thus .ctor() requires LCID.
533 * SimpleCollator.cs : made required changes above.
535 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
537 * CodePointIndexer.cs : added CompressArray(). Now it requires two more
538 parameters for default index and codepoint.
539 * CollationElementTableUtil.cs,
540 NormalizationTableUtil.cs : required changes wrt above change.
541 * MSCompatUnicodeTableUtil.cs : added for several codepoint indexers.
542 * MSCompatUnicodeTable.template : Now it uses codepoint indexer.
543 * create-mscompat-collation-table.cs : Now it outputs compressed array.
544 * Makefile : now collation requires MSCompatUnicodeTableUtil.cs
546 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
548 * SimpleCollator.cs :
549 Implemented IsSuffix() and LastIndexOf().
550 Several fixes on index > 0 cases.
551 * TestDriver.cs : sample IsSuffix() and LastIndexOf() usage and more.
553 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
555 * Collation-notes.txt : updated (status, impl. classes).
556 * MSCompatUnicodeTable.cs : Korean Jamo are not really expansions.
558 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
560 * SimpleCollator.cs : implemented IndexOf(string,string,CompareOptions)
561 and IsPrefix(). Tiny code refactory.
562 * TestDriver.cs : sample IsPrefix() and IndexOf() usage.
563 * MSCompatUnicodeTable.cs : tiny refactory for CodePointIndexer use.
565 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
567 * SimpleCollator.cs :
568 IndexOf(string, char, CompareOptions) implementation.
569 * TestDriver.cs : sample IndexOf() usage.
571 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
573 * create-mscompat-collation-table.cs : was missing most important
574 kind of blocks - equivalent expansions (e.g. invariant mappings).
575 More readable mappings.
577 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
579 * mono-tailoring-source.txt : new file. It describes tailoring
580 information. Basically examined under .NET 1.x.
581 * create-mscompat-collation-table.cs : consume the file above.
582 * MSCompatUnicodeTable.template : now tailorings is not a stub.
583 * CollationDataStructures.txt : minor fixes.
585 SimpleCollator.cs : added FrenchSort support.
586 * Collation-notes.txt : added description on Latin primary weights.
587 * ldml-limited.rng : added note.
588 * create-tailorings.cs : added note. more serialization (but won't be
591 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
593 * SortKeyBuffer.cs : non-primary character is added to previous
595 * TestDriver.cs : added example case of above.
597 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
599 * SimpleCollator.cs : IgnoreSymbols support.
600 * TestDriver.cs : compilation fix. IgnoreSymbols example.
601 * create-mscompat-collation-table.cs : more Hangul fixes.
603 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
605 * create-mscompat-collation-table.cs : more Hangul fixes.
606 * SortKey.cs : it will replace sys.globalization.SortKey. It has
607 some internal members.
608 * SortKeyBuffer.cs : now it uses SortKey instead of byte[].
609 * SimpleCollator.cs : CompareOptions support. However I don't think
610 it will be developed anymore since SortKey never enables IndexOf().
611 * TestDriver.cs : a few CompareOptions cases.
613 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
615 * SimpleCollator.cs : simple collator implementation that just will
616 use GetSortKey() for all its basis.
617 * TestDriver.cs : sample code that uses this collator set.
618 * MSCompatUnicodeTable.template : removed test driver from here.
620 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
622 * create-mscompat-collation-table.cs : Hangul fixes.
623 Now less than 300 characters that does not have sortkey weights.
624 * MSCompatUnicodeTable.template : added FIXME info for Hangul Jamo.
626 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
628 * create-mscompat-collation-table.cs : Added control picture mappings.
629 Minor primary weight fixes.
631 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
633 * create-mscompat-collation-table.cs : Added mappings for box
636 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
638 * create-mscompat-collation-table.cs : Added mappings for arrows.
640 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
642 * create-mscompat-collation-table.cs : added support for letterlike
643 characters and squared CJK compatibility characters, ordered by
644 character names (0x0E category).
645 * Collation-notes.txt : added description on that.
647 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
649 * MSCompatUnicodeTable.template : Now expansions are simulated.
650 * create-mscompat-collation-table.cs : filled Korean number level2.
651 Reordered some code blocks to fill correct diacritical differences.
652 * Collation-notes.txt : some corrections and minor additions.
654 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
656 * MSCompatUnicodeTable.template :
657 Now dumper test driver uses SortKeyBuffer for dogfooding.
658 * create-mscompat-collation-table.cs : some diacritical level fixes
659 (with non-working extra latin check).
660 * SortKeyBuffer.cs : several fixes to get working as a practical code.
661 * Collator.cs : make it compilable, leaving things as NotImplemented.
663 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
665 * create-mscompat-collation-table.cs : some fixes on primary category
666 07 (miscellaneous symbols and punctuations).
668 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
670 * create-mscompat-collation-table.cs : more mapping fix on numbers,
671 letters, variable weight characters, circled Japanese and CJK.
672 * MSCompatUnicodeTable.template : fixed HasSpecialWeight() to be more
673 inclusive. Simplified dumper code.
675 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
677 * create-mscompat-collation-table.cs : finished Hangul (both Jamo
678 and Syllables). sortkey dumper diff lines became 8000 from 30000.
680 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
682 * create-mscompat-collation-table.cs : added some nonspacing marks in
683 either correct or hacky way.
685 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
687 * create-mscompat-collation-table.cs : several improvements. Japanese
688 Kana support, Hebrew accents, Bengali nonspacing marks, sorting of
689 numeric characters, diacritically decorated latin alphabets. Fixed
690 some diacritical weights detection.
691 * MSCompatUnicodeTable.cs : tiny Japanese fix. Handle nonspacing
692 marks' primary weight as empty.
693 * Collation-notes.txt : some updates.
695 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
697 * create-mscompat-collation-table.cs : don't process nonexact NFKD
698 mapping as equivalent, however store CJK extensions into NFKD map
699 even if one does not strictly match.
700 Now am going to fill Hangul into tables (unlike UCA it does not look
701 possible to calculate sortkey value).
702 Fixed Cyrillic and Georgian UCA based orderings.
703 * MSCompatUnicodeTable.template : added CJK extension sortkey
706 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
708 * create-mscompat-collation-table.cs : Fixed latin alphabet support.
709 Added latin with diacritical and CJK extension.
710 * MSCompatUnicodeTable.cs : modified dumper code a bit (for my purpose).
712 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
714 * create-mscompat-collation-table.cs : now parses DerivedAge.txt (right
715 now not used thouth). Filled CJK ideograph, still not perfect.
716 Fixed number primary keys. NFKD numbers and CJK ideographs are now
717 considered, including brackets elimination.
718 * Makefile : now it downloads DerivedAge.txt.
719 * MSCompatUnicodeTable.template : added dummy code dumper. It computes
720 PrivateUse, Surrogate and Hangul Syllables.
721 * Collation-notes.txt : Noted that Hangul Syllables need more love.
723 2005-06-09 Atsushi Enomoto <atsushi@ximian.com>
725 * create-tailorings.cs : added configuration support. sort them.
726 I wonder if it is really usable. Having own format might be better.
727 * create-mscompat-collation-table.cs : fixing some sortkey numbers,
728 making closer to windows. Now it handles NFKD in some places.
729 * MSCompatUnicodeTable.template : Added dummy sortkey dumper driver.
730 * CollationDataStructures.txt : added description on tailoring
731 fields, though they are subject to change.
733 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
735 * create-tailorings.cs, ldml-limited.rng : new file.
736 * LdmlReader.cs : removed old file.
738 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
740 * SortKeyBuffer.cs : split from Collator.cs. Now it considers
741 practical use, reflecting updated sortkey constant design.
742 Especially level 4 weight is split to 4 arrays that are merged in
743 the last stage of GetSortKey().
744 * Collator.cs : thus SortKeyBuffer is removed from here.
745 Additionally, removed some extraneous bits in other classes.
746 * Collation-notes.txt : Some editorial fixes. Added information on
747 Korean matter (how to compute Hangle Syllables / Hangul Jamo cannot
748 be stored in simple byte arrays).
749 * CodePointIndexer.cs,
750 create-collation-element-table.cs,
751 CollationElementTable.template,
752 NormalizationTableUtil.cs : short CodePointIndexer method names.
753 * create-mscompat-collation-table.cs : Additional info on why some
754 meaningful characters are ignored in Windows (Unicode version
755 difference). Removed U+070F from special check (was extraneous).
757 2005-06-06 Atsushi Enomoto <atsushi@ximian.com>
759 * MSCompatUnicodeTable.template:
760 Moved body implementation to table creator and put those bool
761 results into an array.
762 * create-mscompat-collation-table.cs :
763 So imported those methods. Modified array output to emit "0x"
764 only for more than 9.
765 * create-normalization-source.cs : ditto on "0x" output matter.
766 * CollationDataStructures.txt : so now it holds ignorableFlags.
768 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
770 * Collation-notes.txt, CollationDataStructures.txt :
771 separate document for data structure design.
773 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
775 * create-mscompat-collation-table.cs : added culture-dependent CJK
776 table creation. It uses CLDR as its basis. (Culture independent CJK
778 * Makefile : added CLDR archive downloading support.
779 * MSCompatUnicodeTable.template : tiny renamings.
780 * Collation-notes.txt : additional CJK info.
782 2005-06-02 Atsushi Enomoto <atsushi@ximian.com>
784 * Collation-notes.txt, create-mscompat-collation-table.cs :
785 added secondary weight support for BlahNumber characters.
787 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
789 * downloaded : added directory. All downloaded files are stored here.
790 * Makefile : use "downloaded" directory.
791 Added more auto-download stuff.
792 * create-mscompat-collation-table.cs :
793 Added Japanese square kana support.
795 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
797 * Collation-notes.txt : added Estrangela (ancient Syriac) and Thaana.
798 * create-mscompat-collation-table.cs : added support for Arabic abjad,
799 Estrangela and Thaana.
800 * MSCompatUnicodeTable.template : removed BOM.
802 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
804 * Collation-notes.txt : wrong comment cleanup and spelling fixes.
805 * create-mscompat-collation-table.cs : added diacritic support for
806 Latin letters (as long as covered in primary weight).
808 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
810 * Makefile : minor fixes. Added warning lines to generated sources.
812 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
814 * create-char-mapping-source.cs :
815 Removed ToWidthInsensitive() generation.
817 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
819 * create-mscompat-collation-table.cs : Now it dumps level1 to 3 values.
820 ToWidthInsensitive() is implemented here, using an array (which is
821 to be optimized using CodePointIndexer).
822 * MSCompatUnicodeTable.cs : renamed as MSCompatUnicodeTable.template
823 * MSCompatUnicodeTable.template : now it is used to generate
824 MSCompatUnicodeTable.cs which got ready to be used.
825 * Makefile : added MSCompatUnicodeTable.cs build support. Now it
826 supports "make normalization" and "make collation".
828 2005-05-30 Atsushi Enomoto <atsushi@ximian.com>
830 * Collation-notes.txt : Description on ICU is very incorrect. Now it
831 became more rational and sane.
832 * create-mscompat-collation-table.cs : fixed some indexes.
833 * Makefile : added "mstablegen" target.
834 * MSCompatUnicodeTable.cs : removed GetPrimaryWeight(). Minor fix.
836 2005-05-26 Atsushi Enomoto <atsushi@ximian.com>
838 * Collation-notes.txt : more analysis on "letters".
839 * create-mscompat-collation-table.cs : more proof of concepts.
841 2005-05-25 Atsushi Enomoto <atsushi@ximian.com>
843 * Collation-notes.txt : more info. Started letter sortkey analysis
844 (some of other stuff are really non-understandable right now.)
845 * create-mscompat-collation-table.cs : table generator proof-of-
846 concept source (not compilable).
847 * MSCompatUnicodeTable.cs : moved some code to the new source.
850 2005-05-20 Atsushi Enomoto <atsushi@ximian.com>
852 * Collation-notes.txt : started level 2 weight analysis.
854 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
856 * Collation-notes.txt : Additional information on how to create
858 * MSCompatUnicodeTable.cs : implemented part of GetLevel3Weight().
860 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
862 * Collation-notes.txt : More case weight (level 3) analysis. I'm
863 likely to just write table generator.
865 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
867 * MSCompatUnicodeTable.cs : part of level 4 weight implementation.
869 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
871 * Collation-notes.txt :
873 Revised comparison methods; backward iteration is possible.
874 More on char-by-char comparison.
875 Level 4 comparison is actually a bit more complex.
877 * Collator.cs : some conceptual updates wrt above.
879 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
881 * Collation-notes.txt : Japanese voice mark is level 2, and Hangul
882 properties are level 3.
884 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
886 * Collation-notes.txt : Make it more readable. More analysis on
887 level 3 and 4 sortkey structures.
888 * Collator.cs : some compilation fixes (not compilable yet).
890 2005-05-16 Atsushi Enomoto <atsushi@ximian.com>
892 * Collation-notes.txt : Analysis on variable-weighting (level 5)
894 * Collator.cs : updated corresponding part of level 5, and more.
896 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
898 * Collation-notes.txt : more updates.
899 * Collator.cs : rewrote from scratch. Some rough sketch for sortkey
900 buffer, character iterator and collator methods. Not compiling.
902 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
904 * Collator.cs : Am going to replace it with new one. No need for
905 CompareOptions-dependent Comparer.
907 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
909 * Collation-notes.txt : There seems a bit more complexity.
911 2005-05-10 Atsushi Enomoto <atsushi@ximian.com>
913 * Collation-notes.txt : more updates, being close to write sortkey
916 2005-05-09 Atsushi Enomoto <atsushi@ximian.com>
918 * CompareInfoImpl.cs, Collator.cs : conceptual update
919 * Collation-notes.txt : some corrections and additions.
920 * Makefile : added LDML input (but it won't be used at all).
922 2005-04-28 Atsushi Enomoto <atsushi@ximian.com>
924 * Collation-notes.txt : more updates.
926 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
928 * Collation-notes.txt : more updates.
930 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
932 * Collation-notes.txt : some updates.
933 * create-mapping-char-source.cs : superscripts and subscripts are also
934 ignored in IgnoreWidth comparison.
935 * Makefile : tiny touch fix.
937 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
939 * CompareInfoImpl.cs, Collator.cs : conceptual stuff (not working).
941 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
943 * create-char-mapping-source.cs : Now it generates
944 ToWidthInsensitive() from combining category <wide> and <narrow>.
945 * MSCompatUnicodeTable.cs : added ToKanaTypeInsensitive() and
946 ToWidthInsensitive() for IgnoreKanaType and IgnoreWidth.
948 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
950 * README, LdmlReader.cs, DataStructures.txt : new files.
952 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
954 * CodePointIndexer.cs,
956 CollationElementTable.template,
957 CollationElementTableUtil.cs,
958 create-char-mapping-source.cs,
959 create-collation-element-table.cs,
960 create-combining-class-source.cs,
961 create-normalization-source.cs,
963 MSCompatUnicodeTable.cs,
964 Normalization.template,
965 NormalizationTableUtil.cs : initial checkin (to private branch).