1 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
3 * create-mscompat-collation-table.cs : handle some Jamo NKFD.
5 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
7 * SimpleCollator.cs : forgot to commit in the last checkin.
8 * create-mscompat-collation-table.cs : fixed arabic shift weight chars.
9 * TestDriver.cs : switch table dumper and collator testing.
10 * SortKey.cs : for now comment out internal indexes (not in use).
12 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
14 * MSCompatUnicodeTable.template,
15 SimpleCollator.cs : support for culture dependent CJK table.
17 2005-06-23 Atsushi Enomoto <atsushi@ximian.com>
19 * create-mscompat-collation-table.cs,
20 MSCompatUnicodeTableUtil.cs : make CJK table more compact.
22 2005-06-22 Atsushi Enomoto <atsushi@ximian.com>
24 * SimpleCollator.cs : Fixed stupid index search when start != 0.
26 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
28 * SimpleCollator.cs : fixed my misunderstanding on LastIndexOf(). It
29 now starts from "start" and proceeds backward by "length".
30 * TestDriver.cs : fix warning.
32 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
34 * TestDriver.cs : more tests.
35 * SimpleCollator.cs : LastIndexOf() is not setting search length
36 on iteration. Quick workaround fro String.LastIndexOf() bug (maybe).
38 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
40 * create-normalization-source.cs : output propValue as uint.
42 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
44 * SortKey.cs : Now it is System.Globalization.SortKey.
45 To replace existing implementation, it now requires lcid and
46 CompareOptions. Added required members.
47 * SortKeyBuffer.cs : thus .ctor() requires LCID.
48 * SimpleCollator.cs : made required changes above.
50 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
52 * CodePointIndexer.cs : added CompressArray(). Now it requires two more
53 parameters for default index and codepoint.
54 * CollationElementTableUtil.cs,
55 NormalizationTableUtil.cs : required changes wrt above change.
56 * MSCompatUnicodeTableUtil.cs : added for several codepoint indexers.
57 * MSCompatUnicodeTable.template : Now it uses codepoint indexer.
58 * create-mscompat-collation-table.cs : Now it outputs compressed array.
59 * Makefile : now collation requires MSCompatUnicodeTableUtil.cs
61 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
64 Implemented IsSuffix() and LastIndexOf().
65 Several fixes on index > 0 cases.
66 * TestDriver.cs : sample IsSuffix() and LastIndexOf() usage and more.
68 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
70 * Collation-notes.txt : updated (status, impl. classes).
71 * MSCompatUnicodeTable.cs : Korean Jamo are not really expansions.
73 2005-06-21 Atsushi Enomoto <atsushi@ximian.com>
75 * SimpleCollator.cs : implemented IndexOf(string,string,CompareOptions)
76 and IsPrefix(). Tiny code refactory.
77 * TestDriver.cs : sample IsPrefix() and IndexOf() usage.
78 * MSCompatUnicodeTable.cs : tiny refactory for CodePointIndexer use.
80 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
83 IndexOf(string, char, CompareOptions) implementation.
84 * TestDriver.cs : sample IndexOf() usage.
86 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
88 * create-mscompat-collation-table.cs : was missing most important
89 kind of blocks - equivalent expansions (e.g. invariant mappings).
90 More readable mappings.
92 2005-06-20 Atsushi Enomoto <atsushi@ximian.com>
94 * mono-tailoring-source.txt : new file. It describes tailoring
95 information. Basically examined under .NET 1.x.
96 * create-mscompat-collation-table.cs : consume the file above.
97 * MSCompatUnicodeTable.template : now tailorings is not a stub.
98 * CollationDataStructures.txt : minor fixes.
100 SimpleCollator.cs : added FrenchSort support.
101 * Collation-notes.txt : added description on Latin primary weights.
102 * ldml-limited.rng : added note.
103 * create-tailorings.cs : added note. more serialization (but won't be
106 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
108 * SortKeyBuffer.cs : non-primary character is added to previous
110 * TestDriver.cs : added example case of above.
112 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
114 * SimpleCollator.cs : IgnoreSymbols support.
115 * TestDriver.cs : compilation fix. IgnoreSymbols example.
116 * create-mscompat-collation-table.cs : more Hangul fixes.
118 2005-06-17 Atsushi Enomoto <atsushi@ximian.com>
120 * create-mscompat-collation-table.cs : more Hangul fixes.
121 * SortKey.cs : it will replace sys.globalization.SortKey. It has
122 some internal members.
123 * SortKeyBuffer.cs : now it uses SortKey instead of byte[].
124 * SimpleCollator.cs : CompareOptions support. However I don't think
125 it will be developed anymore since SortKey never enables IndexOf().
126 * TestDriver.cs : a few CompareOptions cases.
128 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
130 * SimpleCollator.cs : simple collator implementation that just will
131 use GetSortKey() for all its basis.
132 * TestDriver.cs : sample code that uses this collator set.
133 * MSCompatUnicodeTable.template : removed test driver from here.
135 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
137 * create-mscompat-collation-table.cs : Hangul fixes.
138 Now less than 300 characters that does not have sortkey weights.
139 * MSCompatUnicodeTable.template : added FIXME info for Hangul Jamo.
141 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
143 * create-mscompat-collation-table.cs : Added control picture mappings.
144 Minor primary weight fixes.
146 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
148 * create-mscompat-collation-table.cs : Added mappings for box
151 2005-06-16 Atsushi Enomoto <atsushi@ximian.com>
153 * create-mscompat-collation-table.cs : Added mappings for arrows.
155 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
157 * create-mscompat-collation-table.cs : added support for letterlike
158 characters and squared CJK compatibility characters, ordered by
159 character names (0x0E category).
160 * Collation-notes.txt : added description on that.
162 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
164 * MSCompatUnicodeTable.template : Now expansions are simulated.
165 * create-mscompat-collation-table.cs : filled Korean number level2.
166 Reordered some code blocks to fill correct diacritical differences.
167 * Collation-notes.txt : some corrections and minor additions.
169 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
171 * MSCompatUnicodeTable.template :
172 Now dumper test driver uses SortKeyBuffer for dogfooding.
173 * create-mscompat-collation-table.cs : some diacritical level fixes
174 (with non-working extra latin check).
175 * SortKeyBuffer.cs : several fixes to get working as a practical code.
176 * Collator.cs : make it compilable, leaving things as NotImplemented.
178 2005-06-15 Atsushi Enomoto <atsushi@ximian.com>
180 * create-mscompat-collation-table.cs : some fixes on primary category
181 07 (miscellaneous symbols and punctuations).
183 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
185 * create-mscompat-collation-table.cs : more mapping fix on numbers,
186 letters, variable weight characters, circled Japanese and CJK.
187 * MSCompatUnicodeTable.template : fixed HasSpecialWeight() to be more
188 inclusive. Simplified dumper code.
190 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
192 * create-mscompat-collation-table.cs : finished Hangul (both Jamo
193 and Syllables). sortkey dumper diff lines became 8000 from 30000.
195 2005-06-14 Atsushi Enomoto <atsushi@ximian.com>
197 * create-mscompat-collation-table.cs : added some nonspacing marks in
198 either correct or hacky way.
200 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
202 * create-mscompat-collation-table.cs : several improvements. Japanese
203 Kana support, Hebrew accents, Bengali nonspacing marks, sorting of
204 numeric characters, diacritically decorated latin alphabets. Fixed
205 some diacritical weights detection.
206 * MSCompatUnicodeTable.cs : tiny Japanese fix. Handle nonspacing
207 marks' primary weight as empty.
208 * Collation-notes.txt : some updates.
210 2005-06-13 Atsushi Enomoto <atsushi@ximian.com>
212 * create-mscompat-collation-table.cs : don't process nonexact NFKD
213 mapping as equivalent, however store CJK extensions into NFKD map
214 even if one does not strictly match.
215 Now am going to fill Hangul into tables (unlike UCA it does not look
216 possible to calculate sortkey value).
217 Fixed Cyrillic and Georgian UCA based orderings.
218 * MSCompatUnicodeTable.template : added CJK extension sortkey
221 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
223 * create-mscompat-collation-table.cs : Fixed latin alphabet support.
224 Added latin with diacritical and CJK extension.
225 * MSCompatUnicodeTable.cs : modified dumper code a bit (for my purpose).
227 2005-06-10 Atsushi Enomoto <atsushi@ximian.com>
229 * create-mscompat-collation-table.cs : now parses DerivedAge.txt (right
230 now not used thouth). Filled CJK ideograph, still not perfect.
231 Fixed number primary keys. NFKD numbers and CJK ideographs are now
232 considered, including brackets elimination.
233 * Makefile : now it downloads DerivedAge.txt.
234 * MSCompatUnicodeTable.template : added dummy code dumper. It computes
235 PrivateUse, Surrogate and Hangul Syllables.
236 * Collation-notes.txt : Noted that Hangul Syllables need more love.
238 2005-06-09 Atsushi Enomoto <atsushi@ximian.com>
240 * create-tailorings.cs : added configuration support. sort them.
241 I wonder if it is really usable. Having own format might be better.
242 * create-mscompat-collation-table.cs : fixing some sortkey numbers,
243 making closer to windows. Now it handles NFKD in some places.
244 * MSCompatUnicodeTable.template : Added dummy sortkey dumper driver.
245 * CollationDataStructures.txt : added description on tailoring
246 fields, though they are subject to change.
248 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
250 * create-tailorings.cs, ldml-limited.rng : new file.
251 * LdmlReader.cs : removed old file.
253 2005-06-07 Atsushi Enomoto <atsushi@ximian.com>
255 * SortKeyBuffer.cs : split from Collator.cs. Now it considers
256 practical use, reflecting updated sortkey constant design.
257 Especially level 4 weight is split to 4 arrays that are merged in
258 the last stage of GetSortKey().
259 * Collator.cs : thus SortKeyBuffer is removed from here.
260 Additionally, removed some extraneous bits in other classes.
261 * Collation-notes.txt : Some editorial fixes. Added information on
262 Korean matter (how to compute Hangle Syllables / Hangul Jamo cannot
263 be stored in simple byte arrays).
264 * CodePointIndexer.cs,
265 create-collation-element-table.cs,
266 CollationElementTable.template,
267 NormalizationTableUtil.cs : short CodePointIndexer method names.
268 * create-mscompat-collation-table.cs : Additional info on why some
269 meaningful characters are ignored in Windows (Unicode version
270 difference). Removed U+070F from special check (was extraneous).
272 2005-06-06 Atsushi Enomoto <atsushi@ximian.com>
274 * MSCompatUnicodeTable.template:
275 Moved body implementation to table creator and put those bool
276 results into an array.
277 * create-mscompat-collation-table.cs :
278 So imported those methods. Modified array output to emit "0x"
279 only for more than 9.
280 * create-normalization-source.cs : ditto on "0x" output matter.
281 * CollationDataStructures.txt : so now it holds ignorableFlags.
283 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
285 * Collation-notes.txt, CollationDataStructures.txt :
286 separate document for data structure design.
288 2005-06-03 Atsushi Enomoto <atsushi@ximian.com>
290 * create-mscompat-collation-table.cs : added culture-dependent CJK
291 table creation. It uses CLDR as its basis. (Culture independent CJK
293 * Makefile : added CLDR archive downloading support.
294 * MSCompatUnicodeTable.template : tiny renamings.
295 * Collation-notes.txt : additional CJK info.
297 2005-06-02 Atsushi Enomoto <atsushi@ximian.com>
299 * Collation-notes.txt, create-mscompat-collation-table.cs :
300 added secondary weight support for BlahNumber characters.
302 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
304 * downloaded : added directory. All downloaded files are stored here.
305 * Makefile : use "downloaded" directory.
306 Added more auto-download stuff.
307 * create-mscompat-collation-table.cs :
308 Added Japanese square kana support.
310 2005-06-01 Atsushi Enomoto <atsushi@ximian.com>
312 * Collation-notes.txt : added Estrangela (ancient Syriac) and Thaana.
313 * create-mscompat-collation-table.cs : added support for Arabic abjad,
314 Estrangela and Thaana.
315 * MSCompatUnicodeTable.template : removed BOM.
317 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
319 * Collation-notes.txt : wrong comment cleanup and spelling fixes.
320 * create-mscompat-collation-table.cs : added diacritic support for
321 Latin letters (as long as covered in primary weight).
323 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
325 * Makefile : minor fixes. Added warning lines to generated sources.
327 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
329 * create-char-mapping-source.cs :
330 Removed ToWidthInsensitive() generation.
332 2005-05-31 Atsushi Enomoto <atsushi@ximian.com>
334 * create-mscompat-collation-table.cs : Now it dumps level1 to 3 values.
335 ToWidthInsensitive() is implemented here, using an array (which is
336 to be optimized using CodePointIndexer).
337 * MSCompatUnicodeTable.cs : renamed as MSCompatUnicodeTable.template
338 * MSCompatUnicodeTable.template : now it is used to generate
339 MSCompatUnicodeTable.cs which got ready to be used.
340 * Makefile : added MSCompatUnicodeTable.cs build support. Now it
341 supports "make normalization" and "make collation".
343 2005-05-30 Atsushi Enomoto <atsushi@ximian.com>
345 * Collation-notes.txt : Description on ICU is very incorrect. Now it
346 became more rational and sane.
347 * create-mscompat-collation-table.cs : fixed some indexes.
348 * Makefile : added "mstablegen" target.
349 * MSCompatUnicodeTable.cs : removed GetPrimaryWeight(). Minor fix.
351 2005-05-26 Atsushi Enomoto <atsushi@ximian.com>
353 * Collation-notes.txt : more analysis on "letters".
354 * create-mscompat-collation-table.cs : more proof of concepts.
356 2005-05-25 Atsushi Enomoto <atsushi@ximian.com>
358 * Collation-notes.txt : more info. Started letter sortkey analysis
359 (some of other stuff are really non-understandable right now.)
360 * create-mscompat-collation-table.cs : table generator proof-of-
361 concept source (not compilable).
362 * MSCompatUnicodeTable.cs : moved some code to the new source.
365 2005-05-20 Atsushi Enomoto <atsushi@ximian.com>
367 * Collation-notes.txt : started level 2 weight analysis.
369 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
371 * Collation-notes.txt : Additional information on how to create
373 * MSCompatUnicodeTable.cs : implemented part of GetLevel3Weight().
375 2005-05-19 Atsushi Enomoto <atsushi@ximian.com>
377 * Collation-notes.txt : More case weight (level 3) analysis. I'm
378 likely to just write table generator.
380 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
382 * MSCompatUnicodeTable.cs : part of level 4 weight implementation.
384 2005-05-18 Atsushi Enomoto <atsushi@ximian.com>
386 * Collation-notes.txt :
388 Revised comparison methods; backward iteration is possible.
389 More on char-by-char comparison.
390 Level 4 comparison is actually a bit more complex.
392 * Collator.cs : some conceptual updates wrt above.
394 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
396 * Collation-notes.txt : Japanese voice mark is level 2, and Hangul
397 properties are level 3.
399 2005-05-17 Atsushi Enomoto <atsushi@ximian.com>
401 * Collation-notes.txt : Make it more readable. More analysis on
402 level 3 and 4 sortkey structures.
403 * Collator.cs : some compilation fixes (not compilable yet).
405 2005-05-16 Atsushi Enomoto <atsushi@ximian.com>
407 * Collation-notes.txt : Analysis on variable-weighting (level 5)
409 * Collator.cs : updated corresponding part of level 5, and more.
411 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
413 * Collation-notes.txt : more updates.
414 * Collator.cs : rewrote from scratch. Some rough sketch for sortkey
415 buffer, character iterator and collator methods. Not compiling.
417 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
419 * Collator.cs : Am going to replace it with new one. No need for
420 CompareOptions-dependent Comparer.
422 2005-05-13 Atsushi Enomoto <atsushi@ximian.com>
424 * Collation-notes.txt : There seems a bit more complexity.
426 2005-05-10 Atsushi Enomoto <atsushi@ximian.com>
428 * Collation-notes.txt : more updates, being close to write sortkey
431 2005-05-09 Atsushi Enomoto <atsushi@ximian.com>
433 * CompareInfoImpl.cs, Collator.cs : conceptual update
434 * Collation-notes.txt : some corrections and additions.
435 * Makefile : added LDML input (but it won't be used at all).
437 2005-04-28 Atsushi Enomoto <atsushi@ximian.com>
439 * Collation-notes.txt : more updates.
441 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
443 * Collation-notes.txt : more updates.
445 2005-04-26 Atsushi Enomoto <atsushi@ximian.com>
447 * Collation-notes.txt : some updates.
448 * create-mapping-char-source.cs : superscripts and subscripts are also
449 ignored in IgnoreWidth comparison.
450 * Makefile : tiny touch fix.
452 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
454 * CompareInfoImpl.cs, Collator.cs : conceptual stuff (not working).
456 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
458 * create-char-mapping-source.cs : Now it generates
459 ToWidthInsensitive() from combining category <wide> and <narrow>.
460 * MSCompatUnicodeTable.cs : added ToKanaTypeInsensitive() and
461 ToWidthInsensitive() for IgnoreKanaType and IgnoreWidth.
463 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
465 * README, LdmlReader.cs, DataStructures.txt : new files.
467 2005-04-25 Atsushi Enomoto <atsushi@ximian.com>
469 * CodePointIndexer.cs,
471 CollationElementTable.template,
472 CollationElementTableUtil.cs,
473 create-char-mapping-source.cs,
474 create-collation-element-table.cs,
475 create-combining-class-source.cs,
476 create-normalization-source.cs,
478 MSCompatUnicodeTable.cs,
479 Normalization.template,
480 NormalizationTableUtil.cs : initial checkin (to private branch).