2 * The data tables and line breaking algorithm have been updated to Unicode
4 * A new include file unigbrk.h is provided. It declares functions for
5 grapheme cluster breaking, that is, determining the boundaries between
6 graphemes. See the documentation chapter "Grapheme cluster breaks in strings"
8 * In the include file unictype.h, constants are defined for the group of
9 general categories LC ("Cased Letter").
10 * In the include file unictype.h, functions for associating canonical
11 combining classes with names have been added:
12 uc_combining_class_name
13 uc_combining_class_long_name
14 uc_combining_class_byname
15 * In the include file unictype.h, functions for the Arabic joining type and
16 the Arabic joining group have been added:
18 uc_joining_type_long_name
19 uc_joining_type_byname
22 uc_joining_group_byname
24 * In the include file unictype.h, functions for new predefined properties
27 uc_is_property_case_ignorable
28 uc_is_property_changes_when_lowercased
29 uc_is_property_changes_when_uppercased
30 uc_is_property_changes_when_titlecased
31 uc_is_property_changes_when_casefolded
32 uc_is_property_changes_when_casemapped
33 But it's recommended to use the case mapping functions from unicase.h
35 * In the include file unictype.h, the functions for bidi class, formerly known
36 as bidirectional category, have been renamed:
37 uc_bidi_category_name -> uc_bidi_class_name
38 uc_bidi_category_byname -> uc_bidi_class_byname
39 uc_bidi_category -> uc_bidi_class
40 uc_is_bidi_category -> uc_is_bidi_class
41 The old function names still exist, but are obsolete.
42 * In the include file unictype.h, functions for returning long names of
43 property values have been added:
44 uc_general_category_long_name
45 uc_bidi_class_long_name
47 uc_general_category_byname
49 have been extended to recognize long names as well as short names.
50 * It is now easier to detect the subminor version: The value of the variable
51 _libunistring_version and of the macro _LIBUNISTRING_VERSION now includes
52 also the subminor version.
53 * The functions u8_mbtouc and u8_mbtouc_unsafe now handle ill-formed UTF-8
54 input in a better way, that is more compliant with W3C recommendations.
55 * The functions u8_strcoll, u16_strcoll, u32_strcoll now produce results that
56 are less dependent on the iconv implementation in use.
57 * The functions u8_strstr, u16_strstr, u32_strstr now perform in O(n) time
58 worst-case, where n is the sum of the lengths of the argument strings.
61 * Bug fixes in unistr.h functions:
62 - The functions u16_to_u32, u16_to_u8, u8_to_u32, u8_to_u16 now fail when
63 the argument is not valid. Previously, they returned a converted string
64 where invalid parts were each replaced with U+FFFD.
65 - The function u8_mbsnlen now counts an incomplete character at the end
66 of the argument string as 1 character. Previously, it could count as 2
68 - The return value of the u8_stpncpy, u16_stpncpy, u32_stpncpy functions
70 - The u8_strcoll, u16_strcoll, u32_strcoll now try harder to give a non-zero
72 * Portability to MacOS X 10.6 and Cygwin 1.7.
75 * The function uc_locale_language now uses the locale of the current thread,
76 if a thread-specific locale has been set.
79 * In the include file unicase.h, functions for case mapping of substrings have
83 * The new include file unicase.h implements case folding.
84 * The new include file uninorm.h implements normalization.
85 * The new include file uniwbrk.h implements word break determination.
86 * The library source code is now part of gnulib.