+2009-03-08 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'unicase/u8-casecmp'.
+ * modules/unicase/u8-casecmp-tests: New file.
+ * tests/unicase/test-u8-casecmp.c: New file.
+ * tests/unicase/test-casecmp.h: New file.
+
+ New module 'unicase/u32-casecmp'.
+ * lib/unicase/u32-casecmp.c: New file.
+ * modules/unicase/u32-casecmp: New file.
+
+ New module 'unicase/u16-casecmp'.
+ * lib/unicase/u16-casecmp.c: New file.
+ * modules/unicase/u16-casecmp: New file.
+
+ New module 'unicase/u8-casecmp'.
+ * lib/unicase/u8-casecmp.c: New file.
+ * lib/unicase/u-casecmp.h: New file.
+ * modules/unicase/u8-casecmp: New file.
+
+ Tests for module 'unicase/u32-casefold'.
+ * modules/unicase/u32-casefold-tests: New file.
+ * tests/unicase/test-u32-casefold.c: New file.
+
+ Tests for module 'unicase/u16-casefold'.
+ * modules/unicase/u16-casefold-tests: New file.
+ * tests/unicase/test-u16-casefold.c: New file.
+
+ Tests for module 'unicase/u8-casefold'.
+ * modules/unicase/u8-casefold-tests: New file.
+ * tests/unicase/test-u8-casefold.c: New file.
+
+ New module 'unicase/u32-casefold'.
+ * lib/unicase/u32-casefold.c: New file.
+ * modules/unicase/u32-casefold: New file.
+
+ New module 'unicase/u16-casefold'.
+ * lib/unicase/u16-casefold.c: New file.
+ * modules/unicase/u16-casefold: New file.
+
+ New module 'unicase/u8-casefold'.
+ * lib/unicase/u8-casefold.c: New file.
+ * lib/unicase/u-casefold.h: New file.
+ * modules/unicase/u8-casefold: New file.
+
+ New module 'unicase/tocasefold'.
+ * lib/unicase/casefold.h: New file.
+ * lib/unicase/tocasefold.c: New file.
+ * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
+ * modules/unicase/tocasefold: New file.
+
+ Tests for module 'unicase/u32-totitle'.
+ * modules/unicase/u32-totitle-tests: New file.
+ * tests/unicase/test-u32-totitle.c: New file.
+
+ Tests for module 'unicase/u16-totitle'.
+ * modules/unicase/u16-totitle-tests: New file.
+ * tests/unicase/test-u16-totitle.c: New file.
+
+ Tests for module 'unicase/u8-totitle'.
+ * modules/unicase/u8-totitle-tests: New file.
+ * tests/unicase/test-u8-totitle.c: New file.
+
+ New module 'unicase/u32-totitle'.
+ * lib/unicase/u32-totitle.c: New file.
+ * modules/unicase/u32-totitle: New file.
+
+ New module 'unicase/u16-totitle'.
+ * lib/unicase/u16-totitle.c: New file.
+ * modules/unicase/u16-totitle: New file.
+
+ New module 'unicase/u8-totitle'.
+ * lib/unicase/u8-totitle.c: New file.
+ * lib/unicase/u-totitle.h: New file.
+ * modules/unicase/u8-totitle: New file.
+
+ Tests for module 'unicase/u32-tolower'.
+ * modules/unicase/u32-tolower-tests: New file.
+ * tests/unicase/test-u32-tolower.c: New file.
+
+ Tests for module 'unicase/u16-tolower'.
+ * modules/unicase/u16-tolower-tests: New file.
+ * tests/unicase/test-u16-tolower.c: New file.
+
+ Tests for module 'unicase/u8-tolower'.
+ * modules/unicase/u8-tolower-tests: New file.
+ * tests/unicase/test-u8-tolower.c: New file.
+
+ New module 'unicase/u32-tolower'.
+ * lib/unicase/u32-tolower.c: New file.
+ * modules/unicase/u32-tolower: New file.
+
+ New module 'unicase/u16-tolower'.
+ * lib/unicase/u16-tolower.c: New file.
+ * modules/unicase/u16-tolower: New file.
+
+ New module 'unicase/u8-tolower'.
+ * lib/unicase/u8-tolower.c: New file.
+ * modules/unicase/u8-tolower: New file.
+
+ Tests for module 'unicase/u32-toupper'.
+ * modules/unicase/u32-toupper-tests: New file.
+ * tests/unicase/test-u32-toupper.c: New file.
+
+ Tests for module 'unicase/u16-toupper'.
+ * modules/unicase/u16-toupper-tests: New file.
+ * tests/unicase/test-u16-toupper.c: New file.
+
+ Tests for module 'unicase/u8-toupper'.
+ * modules/unicase/u8-toupper-tests: New file.
+ * tests/unicase/test-u8-toupper.c: New file.
+
+ New module 'unicase/u32-toupper'.
+ * lib/unicase/u32-toupper.c: New file.
+ * modules/unicase/u32-toupper: New file.
+
+ New module 'unicase/u16-toupper'.
+ * lib/unicase/u16-toupper.c: New file.
+ * modules/unicase/u16-toupper: New file.
+
+ New module 'unicase/u8-toupper'.
+ * lib/unicase/u8-toupper.c: New file.
+ * modules/unicase/u8-toupper: New file.
+
+ New module 'unicase/u32-casemap'.
+ * lib/unicase/u32-casemap.c: New file.
+ * modules/unicase/u32-casemap: New file.
+
+ New module 'unicase/u16-casemap'.
+ * lib/unicase/u16-casemap.c: New file.
+ * modules/unicase/u16-casemap: New file.
+
+ New module 'unicase/u8-casemap'.
+ * lib/unicase/unicasemap.h: New file.
+ * lib/unicase/u8-casemap.c: New file.
+ * lib/unicase/u-casemap.h: New file.
+ * modules/unicase/u8-casemap: New file.
+
+ New module 'unicase/special-casing'.
+ * lib/unicase/special-casing.h: New file.
+ * lib/unicase/special-casing.c: New file.
+ * lib/unicase/special-casing-table.gperf: New file, generated by
+ gen-uni-tables.c.
+ * modules/unicase/special-casing: New file.
+
+ Tests for module 'unicase/locale-language'.
+ * modules/unicase/locale-language-tests: New file.
+ * tests/unicase/test-locale-language.sh: New file.
+ * tests/unicase/test-locale-language.c: New file.
+
+ New module 'unicase/locale-language'.
+ * lib/unicase/locale-language.c: New file.
+ * lib/unicase/locale-languages.gperf: New file.
+ * modules/unicase/locale-language: New file.
+
+ Generate more tables for case conversion and case folding.
+ * lib/gen-uni-tables.c (SCC_*): New enum items.
+ (struct special_casing_rule): New type.
+ (casing_rules, num_casing_rules, allocated_casing_rules): New
+ variables.
+ (add_casing_rule, fill_casing_rules): New functions.
+ (struct casefold_rule): New type.
+ (casefolding_rules, num_casefolding_rules,
+ allocated_casefolding_rules): New variables.
+ (fill_casefolding_rules): New function.
+ (unicode_casefold): New variable.
+ (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
+ sort_casing_rules, output_casing_rules): New functions.
+ (main): Accept to more arguments: SpecialCasing.txt and
+ CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
+ redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
+ Output mapping for casefolding.
+
+ * lib/unicase.h: Include stdbool.h, uninorm.h.
+ (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
+ u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
+ (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
+ arguments.
+ (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
+ resultp arguments.
+ (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
+ (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
+ resultp arguments.
+ (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
+ u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
+ u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
+ u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
+ declarations.
+ * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
+
+2009-03-08 Bruno Haible <bruno@clisp.org>
+
+ * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
+ u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
+ * lib/uninorm/u-normcmp.h (FUNC): Likewise.
+ * lib/uninorm/u-normcoll.h (FUNC): Likewise.
+
+2009-03-07 Bruno Haible <bruno@clisp.org>
+
+ Adjust u*_normcmp, u*_normcoll API.
+ * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
+ u16_normcoll, u32_normcoll): Change failure conventions.
+ * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
+ errno and return -1.
+ * lib/uninorm/u-normcoll.h (FUNC): Likewise.
+
+2009-03-07 Bruno Haible <bruno@clisp.org>
+
+ Tests for module 'uninorm/u32-normcoll'.
+ * modules/uninorm/u32-normcoll-tests: New file.
+ * tests/uninorm/test-u32-normcoll.c: New file.
+
+ Tests for module 'uninorm/u16-normcoll'.
+ * modules/uninorm/u16-normcoll-tests: New file.
+ * tests/uninorm/test-u16-normcoll.c: New file.
+
+ Tests for module 'uninorm/u8-normcoll'.
+ * modules/uninorm/u8-normcoll-tests: New file.
+ * tests/uninorm/test-u8-normcoll.c: New file.
+
+2009-03-07 Bruno Haible <bruno@clisp.org>
+
+ * tests/uninorm/test-u32-normcmp.h: New file, extracted from
+ tests/uninorm/test-u32-normcmp.c.
+ * tests/uninorm/test-u32-normcmp.c: Include it.
+ (test_nonascii): New function, extracted from main. Add some more
+ tests.
+ (main): Invoke test_ascii and test_nonascii.
+ * modules/uninorm/u32-normcmp-tests (Files): Add
+ tests/uninorm/test-u32-normcmp.h.
+ (Depends-on): Remove uninorm/u32-normcmp.
+
+ * tests/uninorm/test-u16-normcmp.h: New file, extracted from
+ tests/uninorm/test-u16-normcmp.c.
+ * tests/uninorm/test-u16-normcmp.c: Include it.
+ (test_nonascii): New function, extracted from main. Add some more
+ tests.
+ (main): Invoke test_ascii and test_nonascii.
+ * modules/uninorm/u16-normcmp-tests (Files): Add
+ tests/uninorm/test-u16-normcmp.h.
+ (Depends-on): Remove uninorm/u16-normcmp.
+
+ * tests/uninorm/test-u8-normcmp.h: New file, extracted from
+ tests/uninorm/test-u8-normcmp.c.
+ * tests/uninorm/test-u8-normcmp.c: Include it.
+ (test_nonascii): New function, extracted from main. Add some more
+ tests.
+ (main): Invoke test_ascii and test_nonascii.
+ * modules/uninorm/u8-normcmp-tests (Files): Add
+ tests/uninorm/test-u8-normcmp.h.
+ (Depends-on): Remove uninorm/u8-normcmp.
+
2009-03-07 Bruno Haible <bruno@clisp.org>
+ New module 'uninorm/u32-normcoll'.
+ * lib/uninorm/u32-normcoll.c: New file.
+ * modules/uninorm/u32-normcoll: New file.
+
+ New module 'uninorm/u16-normcoll'.
+ * lib/uninorm/u16-normcoll.c: New file.
+ * modules/uninorm/u16-normcoll: New file.
+
+ New module 'uninorm/u8-normcoll'.
+ * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
+ declarations.
+ * lib/uninorm/u8-normcoll.c: New file.
+ * lib/uninorm/u-normcoll.h: New file.
+ * modules/uninorm/u8-normcoll: New file.
+
+ New module 'uninorm/u32-normxfrm'.
+ * lib/uninorm/u32-normxfrm.c: New file.
+ * modules/uninorm/u32-normxfrm: New file.
+
New module 'uninorm/u16-normxfrm'.
* lib/uninorm/u16-normxfrm.c: New file.
* modules/uninorm/u16-normxfrm: New file.