diff options
author | Jörg Frings-Fürst <debian@jff.email> | 2024-03-03 19:11:32 +0100 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff.email> | 2024-03-03 19:11:32 +0100 |
commit | 00893e79fc62966067af1a106567db96bd170338 (patch) | |
tree | 52b35cd0b42ca28e62a2ffbecade2e13dd8332cf /doc/libunistring.info | |
parent | 26112352a774737e1ce5580c93654a26c1e82b39 (diff) |
New upstream version 1.2upstream/1.2
Diffstat (limited to 'doc/libunistring.info')
-rw-r--r-- | doc/libunistring.info | 691 |
1 files changed, 417 insertions, 274 deletions
diff --git a/doc/libunistring.info b/doc/libunistring.info index 8c3b81f1..32de75c4 100644 --- a/doc/libunistring.info +++ b/doc/libunistring.info @@ -425,7 +425,7 @@ encoding; therefore, the majority of users are using multibyte locales. screen columns of a string is requested. • gnulib has functions ‘mbschr’ and ‘mbsrrchr’ that are like ‘strchr’ and ‘strrchr’, but work in multibyte locales. - • gnulib has a function ‘mbsstr’, like ‘strstr’, but works in + • gnulib has a function ‘mbsstr’ that is like ‘strstr’, but works in multibyte locales. • gnulib has functions ‘mbscspn’, ‘mbspbrk’, ‘mbsspn’ that are like ‘strcspn’, ‘strpbrk’, ‘strspn’, but work in multibyte locales. @@ -510,7 +510,7 @@ order mark. Their units are 2-byte words. order mark. Their units are 4-byte words. Argument pairs ‘(S, N)’ denote a string ‘S[0..N-1]’ with exactly N -units. +units.(1) All functions with prefix ‘ulc_’ operate on C strings in locale encoding. @@ -547,6 +547,27 @@ Otherwise, a freshly allocated string is returned. In both cases, ‘*LENGTHP’ is set to the length (number of units) of the returned string. In case of error, NULL is returned and ‘errno’ is set. + To invoke such a function: + • First ask yourself whether you want to accept the overhead of a + ‘malloc’ invocation even for a small-sized result. If yes, pass + NULL as RESULTBUF. If no, allocate an array of units on the stack, + typically between 50 and 4000 bytes large; pass this array as + RESULTBUF; and initialize ‘*LENGTHP’ to the number of units of this + array. + • Upon return from such a function, look at the return value: NULL + means an error; look at the value of ‘errno’ in this case. + Otherwise, the return value is the result, with ‘*LENGTHP’ units. + Note that the function has _not_ added an extra NUL character at + the end. + • Finally, do memory management. You know that the result was + ‘malloc’-allocated if it is ‘!= NULL’ and ‘!= RESULTBUF’. + + ---------- Footnotes ---------- + + (1) A NUL unit as terminator is not needed, since the number of units +is given by N. If some of the units of the string are NUL, they are +just regular units; they are not interpreted as terminators. + File: libunistring.info, Node: unitypes.h, Next: unistr.h, Prev: Conventions, Up: Top @@ -775,6 +796,18 @@ File: libunistring.info, Node: Copying Unicode strings, Next: Comparing Unicod This function is similar to ‘memcpy’, except that it operates on Unicode strings. + -- Function: uint8_t * u8_pcpy (uint8_t *DEST, const uint8_t *SRC, + size_t N) + -- Function: uint16_t * u16_pcpy (uint16_t *DEST, const uint16_t *SRC, + size_t N) + -- Function: uint32_t * u32_pcpy (uint32_t *DEST, const uint32_t *SRC, + size_t N) + Copies N units from SRC to DEST, returning a pointer after the last + written unit. + + This function is similar to ‘mempcpy’, except that it operates on + Unicode strings. + -- Function: uint8_t * u8_move (uint8_t *DEST, const uint8_t *SRC, size_t N) -- Function: uint16_t * u16_move (uint16_t *DEST, const uint16_t *SRC, @@ -1051,7 +1084,8 @@ File: libunistring.info, Node: Comparing NUL terminated Unicode strings, Next: 4.5.4 Comparing NUL terminated Unicode strings ---------------------------------------------- - The following functions compare two Unicode strings. + The following functions compare two Unicode strings. They ignore +locale-dependent collation rules. -- Function: int u8_strcmp (const uint8_t *S1, const uint8_t *S2) -- Function: int u16_strcmp (const uint16_t *S1, const uint16_t *S2) @@ -1427,6 +1461,7 @@ format string: *’). • The format directive ‘llU’ takes an UTF-32 string (‘const uint32_t *’). + • The format directive ‘n’ is not supported, for security reasons. A function name with an infix ‘v’ indicates that a ‘va_list’ is passed instead of multiple arguments. @@ -1658,6 +1693,7 @@ algorithms in the presence of specific Unicode characters. * Mirrored character:: * Arabic shaping:: * Properties:: +* Other attributes:: * Scripts:: * Blocks:: * ISO C and Java syntax:: @@ -2279,6 +2315,15 @@ character. and returns ‘true’, if it exists. Otherwise it stores UC unmodified in ‘*PUC’ and returns ‘false’. + Note: It is possible for this function to return ‘true’ and set + ‘*PUC’ to ‘0xFFFD’. This happens when the character has the bidi + mirror property (that is, it should be displayed through a mirrored + glyph) but this mirrored glyph does not exist as a Unicode + character; thus a rendering engine needs to synthesize it + artificially or pick it from an appropriate font. This affects + mostly mathematical operators. See section “Bidi Mirrored” of the + Unicode standard. + File: libunistring.info, Node: Arabic shaping, Next: Properties, Prev: Mirrored character, Up: unictype.h @@ -2488,7 +2533,7 @@ character. Returns the joining group of a Unicode character. -File: libunistring.info, Node: Properties, Next: Scripts, Prev: Arabic shaping, Up: unictype.h +File: libunistring.info, Node: Properties, Next: Other attributes, Prev: Arabic shaping, Up: unictype.h 8.9 Properties ============== @@ -2562,6 +2607,8 @@ File: libunistring.info, Node: Properties as objects, Next: Properties as func -- Constant: uc_property_t UC_PROPERTY_OTHER_ID_CONTINUE -- Constant: uc_property_t UC_PROPERTY_XID_START -- Constant: uc_property_t UC_PROPERTY_XID_CONTINUE + -- Constant: uc_property_t UC_PROPERTY_ID_COMPAT_MATH_START + -- Constant: uc_property_t UC_PROPERTY_ID_COMPAT_MATH_CONTINUE -- Constant: uc_property_t UC_PROPERTY_PATTERN_WHITE_SPACE -- Constant: uc_property_t UC_PROPERTY_PATTERN_SYNTAX @@ -2603,6 +2650,7 @@ File: libunistring.info, Node: Properties as objects, Next: Properties as func -- Constant: uc_property_t UC_PROPERTY_IDEOGRAPHIC -- Constant: uc_property_t UC_PROPERTY_UNIFIED_IDEOGRAPH -- Constant: uc_property_t UC_PROPERTY_RADICAL + -- Constant: uc_property_t UC_PROPERTY_IDS_UNARY_OPERATOR -- Constant: uc_property_t UC_PROPERTY_IDS_BINARY_OPERATOR -- Constant: uc_property_t UC_PROPERTY_IDS_TRINARY_OPERATOR @@ -2622,6 +2670,7 @@ File: libunistring.info, Node: Properties as objects, Next: Properties as func -- Constant: uc_property_t UC_PROPERTY_NON_BREAK -- Constant: uc_property_t UC_PROPERTY_ISO_CONTROL -- Constant: uc_property_t UC_PROPERTY_FORMAT_CONTROL + -- Constant: uc_property_t UC_PROPERTY_PREPENDED_CONCATENATION_MARK -- Constant: uc_property_t UC_PROPERTY_DASH -- Constant: uc_property_t UC_PROPERTY_HYPHEN -- Constant: uc_property_t UC_PROPERTY_PUNCTUATION @@ -2717,6 +2766,8 @@ File: libunistring.info, Node: Properties as functions, Prev: Properties as ob -- Function: bool uc_is_property_other_id_continue (ucs4_t UC) -- Function: bool uc_is_property_xid_start (ucs4_t UC) -- Function: bool uc_is_property_xid_continue (ucs4_t UC) + -- Function: bool uc_is_property_id_compat_math_start (ucs4_t UC) + -- Function: bool uc_is_property_id_compat_math_continue (ucs4_t UC) -- Function: bool uc_is_property_pattern_white_space (ucs4_t UC) -- Function: bool uc_is_property_pattern_syntax (ucs4_t UC) @@ -2758,6 +2809,7 @@ File: libunistring.info, Node: Properties as functions, Prev: Properties as ob -- Function: bool uc_is_property_ideographic (ucs4_t UC) -- Function: bool uc_is_property_unified_ideograph (ucs4_t UC) -- Function: bool uc_is_property_radical (ucs4_t UC) + -- Function: bool uc_is_property_ids_unary_operator (ucs4_t UC) -- Function: bool uc_is_property_ids_binary_operator (ucs4_t UC) -- Function: bool uc_is_property_ids_trinary_operator (ucs4_t UC) @@ -2777,6 +2829,8 @@ File: libunistring.info, Node: Properties as functions, Prev: Properties as ob -- Function: bool uc_is_property_non_break (ucs4_t UC) -- Function: bool uc_is_property_iso_control (ucs4_t UC) -- Function: bool uc_is_property_format_control (ucs4_t UC) + -- Function: bool uc_is_property_prepended_concatenation_mark + (ucs4_t UC) -- Function: bool uc_is_property_dash (ucs4_t UC) -- Function: bool uc_is_property_hyphen (ucs4_t UC) -- Function: bool uc_is_property_punctuation (ucs4_t UC) @@ -2800,9 +2854,56 @@ File: libunistring.info, Node: Properties as functions, Prev: Properties as ob -- Function: bool uc_is_property_regional_indicator (ucs4_t UC) -File: libunistring.info, Node: Scripts, Next: Blocks, Prev: Properties, Up: unictype.h +File: libunistring.info, Node: Other attributes, Next: Scripts, Prev: Properties, Up: unictype.h + +8.10 Other attributes +===================== + + This section defines non-boolean attributes of Unicode characters. + +* Menu: + +* Indic conjunct break:: + + +File: libunistring.info, Node: Indic conjunct break, Up: Other attributes + +8.10.1 Indic conjunct break +--------------------------- + + The Indic_Conjunct_Break attribute is used when determining the +grapheme cluster boundary in Indic scripts. + + The Indic_Conjunct_Break attribute has the following possible values: + + -- Constant: int UC_INDIC_CONJUNCT_BREAK_NONE + -- Constant: int UC_INDIC_CONJUNCT_BREAK_CONSONANT + -- Constant: int UC_INDIC_CONJUNCT_BREAK_LINKER + -- Constant: int UC_INDIC_CONJUNCT_BREAK_EXTEND + + The following functions implement the association between an +Indic_Conjunct_Break value and its name. + + -- Function: const char * uc_indic_conjunct_break_name + (int INDIC_CONJUNCT_BREAK) + Returns the name of an Indic_Conjunct_Break value. -8.10 Scripts + -- Function: int uc_indic_conjunct_break_byname + (const char *INDIC_CONJUNCT_BREAK_NAME) + Returns the Indic_Conjunct_Break value given by name, e.g. + ‘"Consonant"’. This lookup ignores spaces, underscores, or hyphens + as word separators and is case-insignificant. + + The following function gives the Indic_Conjunct_Break attribute of +every Unicode character. + + -- Function: int uc_indic_conjunct_break (ucs4_t UC) + Returns the Indic_Conjunct_Break attribute of a Unicode character. + + +File: libunistring.info, Node: Scripts, Next: Blocks, Prev: Other attributes, Up: unictype.h + +8.11 Scripts ============ The Unicode characters are subdivided into scripts. @@ -2842,7 +2943,7 @@ File: libunistring.info, Node: Scripts, Next: Blocks, Prev: Properties, Up: File: libunistring.info, Node: Blocks, Next: ISO C and Java syntax, Prev: Scripts, Up: unictype.h -8.11 Blocks +8.12 Blocks =========== The Unicode characters are subdivided into blocks. A block is an @@ -2883,7 +2984,7 @@ interval of Unicode code points. File: libunistring.info, Node: ISO C and Java syntax, Next: Classifications like in ISO C, Prev: Blocks, Up: unictype.h -8.12 ISO C and Java syntax +8.13 ISO C and Java syntax ========================== The following properties are taken from language standards. The @@ -2929,7 +3030,7 @@ constituent of an identifier in the given programming language. File: libunistring.info, Node: Classifications like in ISO C, Prev: ISO C and Java syntax, Up: unictype.h -8.13 Classifications like in ISO C +8.14 Classifications like in ISO C ================================== The following character classifications mimic those declared in the @@ -3090,7 +3191,9 @@ clusters in a string. Note that these functions do not handle the case when a character outside of the range between S and END is needed to determine the - boundary. Use ‘_grapheme_breaks’ functions for such cases. + boundary. This is the case in particular with syllables in Indic + scripts or emojis. Use ‘_grapheme_breaks’ functions for such + cases. -- Function: void u8_grapheme_prev (const uint8_t *S, const uint8_t *START) @@ -3104,7 +3207,9 @@ clusters in a string. Note that these functions do not handle the case when a character outside of the range between START and S is needed to determine the - boundary. Use ‘_grapheme_breaks’ functions for such cases. + boundary. This is the case in particular with syllables in Indic + scripts or emojis. Use ‘_grapheme_breaks’ functions for such + cases. Note also that these functions work only on well-formed Unicode strings. @@ -3198,8 +3303,9 @@ the higher-level functions in the previous section are directly based. they are preferred. Note that this function does not handle the case when three or more - consecutive characters are needed to determine the boundary. Use - ‘uc_grapheme_breaks’ for such cases. + consecutive characters are needed to determine the boundary. This + is the case in particular with syllables in Indic scripts or + emojis. Use ‘uc_grapheme_breaks’ for such cases. File: libunistring.info, Node: uniwbrk.h, Next: unilbrk.h, Prev: unigbrk.h, Up: Top @@ -3737,7 +3843,7 @@ an entire string at once and are language aware. For most characters, this is the same as the uppercase mapping. There are only few characters where the title case variant and the - uuper case variant are different. These characters occur in the + upper case variant are different. These characters occur in the Latin writing of the Croatian, Bosnian, and Serbian languages. Lower case Title case Upper case @@ -3762,7 +3868,7 @@ File: libunistring.info, Node: Case mappings of strings, Next: Case mappings o ============================= Case mapping should always be performed on entire strings, not on -individual characters. The functions in this sections do so. +individual characters. The functions in this section do so. These functions allow to apply a normalization after the case mapping. The reason is that if you want to treat ‘ä’ and ‘Ä’ the same, @@ -4041,6 +4147,9 @@ in case and normalization. The RESULTBUF and LENGTHP arguments are as described in chapter *note Conventions::. + The following functions ignore locale-dependent collation rules, but +do use locale-dependent case mappings (if ISO639_LANGUAGE is not NULL). + -- Function: int u8_casecmp (const uint8_t *S1, size_t N1, const uint8_t *S2, size_t N2, const char *ISO639_LANGUAGE, uninorm_t NF, int *RESULTP) @@ -4263,15 +4372,15 @@ version number of the libunistring library. -- Macro: int _LIBUNISTRING_VERSION This constant contains the version of libunistring that is being - used at compile time. It encodes the major and minor parts of the - version number only. These parts are encoded in the form - ‘(major<<8) + minor’. + used at compile time. It encodes the major, minor, and subminor + parts of the version number. These parts are encoded in the form + ‘(major<<16) + (minor<<8) + subminor’. -- Constant: int _libunistring_version This constant contains the version of libunistring that is being - used at run time. It encodes the major and minor parts of the - version number only. These parts are encoded in the form - ‘(major<<8) + minor’. + used at run time. It encodes the major, minor, and subminor parts + of the version number. These parts are encoded in the form + ‘(major<<16) + (minor<<8) + subminor’. It is possible that ‘_libunistring_version’ is greater than ‘_LIBUNISTRING_VERSION’. This can happen when you use ‘libunistring’ as @@ -4279,6 +4388,14 @@ a shared library, and a newer, binary backward-compatible version has been installed after your program that uses ‘libunistring’ was installed. + ‘<unistring/version.h>’ also contains: + + -- Constant: int _libunistring_unicode_version + This constant contains the version of the Unicode standard that is + implemented by libunistring. It encodes the major and minor parts + of the version number only. These parts are encoded in the form + ‘(major<<8) + minor’. + File: libunistring.info, Node: Autoconf macro, Next: Reporting problems, Prev: Include files, Up: Using the library @@ -4356,19 +4473,20 @@ Appendix A The ‘wchar_t’ mess first problem mentioned in the section *note char * strings::. They introduced • a type ‘wchar_t’, designed to encapsulate an entire character, - • a “wide string” type ‘wchar_t *’, and + • a “wide string” type ‘wchar_t *’, with some API functions declared + in ‘<wchar.h>’, and • functions declared in ‘<wctype.h>’ that were meant to supplant the ones in ‘<ctype.h>’. Unfortunately, this API and its implementation has numerous problems: - • On AIX and Windows platforms, ‘wchar_t’ is a 16-bit type. This - means that it can never accommodate an entire Unicode character. - Either the ‘wchar_t *’ strings are limited to characters in UCS-2 - (the “Basic Multilingual Plane” of Unicode), or — if ‘wchar_t *’ - strings are encoded in UTF-16 — a ‘wchar_t’ represents only half of - a character in the worst case, making the ‘<wctype.h>’ functions - pointless. + • On Windows platforms and on AIX in 32-bit mode, ‘wchar_t’ is a + 16-bit type. This means that it can never accommodate an entire + Unicode character. Either the ‘wchar_t *’ strings are limited to + characters in UCS-2 (the “Basic Multilingual Plane” of Unicode), or + — if ‘wchar_t *’ strings are encoded in UTF-16 — a ‘wchar_t’ + represents only half of a character in the worst case, making the + ‘<wctype.h>’ functions pointless. • On Solaris and FreeBSD, the ‘wchar_t’ encoding is locale dependent and undocumented. This means, if you want to know any property of @@ -5906,23 +6024,23 @@ Index * comparing, ignoring case: Case insensitive comparison. (line 6) * comparing, ignoring case, with collation rules: Case insensitive comparison. - (line 71) + (line 74) * comparing, ignoring normalization: Normalizing comparisons. (line 6) * comparing, ignoring normalization and case: Case insensitive comparison. (line 6) * comparing, ignoring normalization and case, with collation rules: Case insensitive comparison. - (line 71) + (line 74) * comparing, ignoring normalization, with collation rules: Normalizing comparisons. (line 22) * comparing, with collation rules: Comparing NUL terminated Unicode strings. - (line 18) + (line 19) * comparing, with collation rules, ignoring case: Case insensitive comparison. - (line 71) + (line 74) * comparing, with collation rules, ignoring normalization: Normalizing comparisons. (line 22) * comparing, with collation rules, ignoring normalization and case: Case insensitive comparison. - (line 71) + (line 74) * compiler options: Compiler options. (line 24) * composing, Unicode characters: Composition of characters. (line 6) @@ -5954,6 +6072,8 @@ Index * halfwidth: uniwidth.h. (line 22) * identifiers: ISO C and Java syntax. (line 6) +* Indic_Conjunct_Break: Indic conjunct break. + (line 6) * installation: Installation. (line 10) * internationalization: Unicode and i18n. (line 6) * iterating: Iterating. (line 6) @@ -6002,16 +6122,16 @@ Index (line 10) * titlecasing: Case mappings of strings. (line 6) -* u16_asnprintf: unistdio.h. (line 111) -* u16_asprintf: unistdio.h. (line 109) +* u16_asnprintf: unistdio.h. (line 112) +* u16_asprintf: unistdio.h. (line 110) * u16_casecmp: Case insensitive comparison. - (line 54) + (line 57) * u16_casecoll: Case insensitive comparison. - (line 100) + (line 103) * u16_casefold: Case insensitive comparison. (line 12) * u16_casexfrm: Case insensitive comparison. - (line 77) + (line 80) * u16_casing_prefixes_context: Case mappings of substrings. (line 37) * u16_casing_prefix_context: Case mappings of substrings. @@ -6045,11 +6165,11 @@ Index * u16_endswith: Searching for a substring. (line 30) * u16_grapheme_breaks: Grapheme cluster breaks in a string. - (line 45) + (line 49) * u16_grapheme_next: Grapheme cluster breaks in a string. (line 11) * u16_grapheme_prev: Grapheme cluster breaks in a string. - (line 25) + (line 27) * u16_is_cased: Case detection. (line 55) * u16_is_casefolded: Case detection. (line 42) * u16_is_lowercase: Case detection. (line 22) @@ -6061,7 +6181,7 @@ Index * u16_mbtoucr: Iterating. (line 48) * u16_mbtouc_unsafe: Iterating. (line 39) * u16_move: Copying Unicode strings. - (line 21) + (line 33) * u16_next: Iterating over a NUL terminated Unicode string. (line 23) * u16_normalize: Normalization of strings. @@ -6072,13 +6192,15 @@ Index (line 40) * u16_normxfrm: Normalizing comparisons. (line 24) +* u16_pcpy: Copying Unicode strings. + (line 21) * u16_possible_linebreaks: unilbrk.h. (line 48) * u16_prev: Iterating over a NUL terminated Unicode string. (line 34) * u16_set: Copying Unicode strings. - (line 34) -* u16_snprintf: unistdio.h. (line 107) -* u16_sprintf: unistdio.h. (line 106) + (line 46) +* u16_snprintf: unistdio.h. (line 108) +* u16_sprintf: unistdio.h. (line 107) * u16_startswith: Searching for a substring. (line 22) * u16_stpcpy: Copying a NUL terminated Unicode string. @@ -6090,9 +6212,9 @@ Index * u16_strchr: Searching for a character in a NUL terminated Unicode string. (line 9) * u16_strcmp: Comparing NUL terminated Unicode strings. - (line 9) + (line 10) * u16_strcoll: Comparing NUL terminated Unicode strings. - (line 19) + (line 20) * u16_strconv_from_encoding: uniconv.h. (line 139) * u16_strconv_from_locale: uniconv.h. (line 168) * u16_strconv_to_encoding: uniconv.h. (line 152) @@ -6111,7 +6233,7 @@ Index * u16_strncat: Copying a NUL terminated Unicode string. (line 66) * u16_strncmp: Comparing NUL terminated Unicode strings. - (line 35) + (line 36) * u16_strncpy: Copying a NUL terminated Unicode string. (line 31) * u16_strnlen: Length. (line 17) @@ -6135,34 +6257,34 @@ Index (line 30) * u16_to_u8: Elementary string conversions. (line 23) -* u16_u16_asnprintf: unistdio.h. (line 131) -* u16_u16_asprintf: unistdio.h. (line 129) -* u16_u16_snprintf: unistdio.h. (line 127) -* u16_u16_sprintf: unistdio.h. (line 125) -* u16_u16_vasnprintf: unistdio.h. (line 139) -* u16_u16_vasprintf: unistdio.h. (line 137) -* u16_u16_vsnprintf: unistdio.h. (line 135) -* u16_u16_vsprintf: unistdio.h. (line 133) +* u16_u16_asnprintf: unistdio.h. (line 132) +* u16_u16_asprintf: unistdio.h. (line 130) +* u16_u16_snprintf: unistdio.h. (line 128) +* u16_u16_sprintf: unistdio.h. (line 126) +* u16_u16_vasnprintf: unistdio.h. (line 140) +* u16_u16_vasprintf: unistdio.h. (line 138) +* u16_u16_vsnprintf: unistdio.h. (line 136) +* u16_u16_vsprintf: unistdio.h. (line 134) * u16_uctomb: Creating Unicode strings. (line 10) -* u16_vasnprintf: unistdio.h. (line 119) -* u16_vasprintf: unistdio.h. (line 117) -* u16_vsnprintf: unistdio.h. (line 115) -* u16_vsprintf: unistdio.h. (line 113) +* u16_vasnprintf: unistdio.h. (line 120) +* u16_vasprintf: unistdio.h. (line 118) +* u16_vsnprintf: unistdio.h. (line 116) +* u16_vsprintf: unistdio.h. (line 114) * u16_width: uniwidth.h. (line 29) * u16_width_linebreaks: unilbrk.h. (line 66) * u16_wordbreaks: Word breaks in a string. (line 9) -* u32_asnprintf: unistdio.h. (line 150) -* u32_asprintf: unistdio.h. (line 148) +* u32_asnprintf: unistdio.h. (line 151) +* u32_asprintf: unistdio.h. (line 149) * u32_casecmp: Case insensitive comparison. - (line 57) + (line 60) * u32_casecoll: Case insensitive comparison. - (line 103) + (line 106) * u32_casefold: Case insensitive comparison. (line 15) * u32_casexfrm: Case insensitive comparison. - (line 80) + (line 83) * u32_casing_prefixes_context: Case mappings of substrings. (line 40) * u32_casing_prefix_context: Case mappings of substrings. @@ -6196,11 +6318,11 @@ Index * u32_endswith: Searching for a substring. (line 32) * u32_grapheme_breaks: Grapheme cluster breaks in a string. - (line 47) + (line 51) * u32_grapheme_next: Grapheme cluster breaks in a string. (line 13) * u32_grapheme_prev: Grapheme cluster breaks in a string. - (line 27) + (line 29) * u32_is_cased: Case detection. (line 57) * u32_is_casefolded: Case detection. (line 44) * u32_is_lowercase: Case detection. (line 24) @@ -6212,7 +6334,7 @@ Index * u32_mbtoucr: Iterating. (line 49) * u32_mbtouc_unsafe: Iterating. (line 41) * u32_move: Copying Unicode strings. - (line 23) + (line 35) * u32_next: Iterating over a NUL terminated Unicode string. (line 24) * u32_normalize: Normalization of strings. @@ -6223,13 +6345,15 @@ Index (line 42) * u32_normxfrm: Normalizing comparisons. (line 26) +* u32_pcpy: Copying Unicode strings. + (line 23) * u32_possible_linebreaks: unilbrk.h. (line 50) * u32_prev: Iterating over a NUL terminated Unicode string. (line 36) * u32_set: Copying Unicode strings. - (line 35) -* u32_snprintf: unistdio.h. (line 146) -* u32_sprintf: unistdio.h. (line 145) + (line 47) +* u32_snprintf: unistdio.h. (line 147) +* u32_sprintf: unistdio.h. (line 146) * u32_startswith: Searching for a substring. (line 24) * u32_stpcpy: Copying a NUL terminated Unicode string. @@ -6241,9 +6365,9 @@ Index * u32_strchr: Searching for a character in a NUL terminated Unicode string. (line 10) * u32_strcmp: Comparing NUL terminated Unicode strings. - (line 10) + (line 11) * u32_strcoll: Comparing NUL terminated Unicode strings. - (line 20) + (line 21) * u32_strconv_from_encoding: uniconv.h. (line 141) * u32_strconv_from_locale: uniconv.h. (line 169) * u32_strconv_to_encoding: uniconv.h. (line 154) @@ -6262,7 +6386,7 @@ Index * u32_strncat: Copying a NUL terminated Unicode string. (line 68) * u32_strncmp: Comparing NUL terminated Unicode strings. - (line 37) + (line 38) * u32_strncpy: Copying a NUL terminated Unicode string. (line 33) * u32_strnlen: Length. (line 18) @@ -6286,34 +6410,34 @@ Index (line 44) * u32_to_u8: Elementary string conversions. (line 37) -* u32_u32_asnprintf: unistdio.h. (line 170) -* u32_u32_asprintf: unistdio.h. (line 168) -* u32_u32_snprintf: unistdio.h. (line 166) -* u32_u32_sprintf: unistdio.h. (line 164) -* u32_u32_vasnprintf: unistdio.h. (line 178) -* u32_u32_vasprintf: unistdio.h. (line 176) -* u32_u32_vsnprintf: unistdio.h. (line 174) -* u32_u32_vsprintf: unistdio.h. (line 172) +* u32_u32_asnprintf: unistdio.h. (line 171) +* u32_u32_asprintf: unistdio.h. (line 169) +* u32_u32_snprintf: unistdio.h. (line 167) +* u32_u32_sprintf: unistdio.h. (line 165) +* u32_u32_vasnprintf: unistdio.h. (line 179) +* u32_u32_vasprintf: unistdio.h. (line 177) +* u32_u32_vsnprintf: unistdio.h. (line 175) +* u32_u32_vsprintf: unistdio.h. (line 173) * u32_uctomb: Creating Unicode strings. (line 11) -* u32_vasnprintf: unistdio.h. (line 158) -* u32_vasprintf: unistdio.h. (line 156) -* u32_vsnprintf: unistdio.h. (line 154) -* u32_vsprintf: unistdio.h. (line 152) +* u32_vasnprintf: unistdio.h. (line 159) +* u32_vasprintf: unistdio.h. (line 157) +* u32_vsnprintf: unistdio.h. (line 155) +* u32_vsprintf: unistdio.h. (line 153) * u32_width: uniwidth.h. (line 31) * u32_width_linebreaks: unilbrk.h. (line 69) * u32_wordbreaks: Word breaks in a string. (line 10) -* u8_asnprintf: unistdio.h. (line 72) -* u8_asprintf: unistdio.h. (line 70) +* u8_asnprintf: unistdio.h. (line 73) +* u8_asprintf: unistdio.h. (line 71) * u8_casecmp: Case insensitive comparison. - (line 51) + (line 54) * u8_casecoll: Case insensitive comparison. - (line 97) + (line 100) * u8_casefold: Case insensitive comparison. (line 9) * u8_casexfrm: Case insensitive comparison. - (line 74) + (line 77) * u8_casing_prefixes_context: Case mappings of substrings. (line 34) * u8_casing_prefix_context: Case mappings of substrings. @@ -6347,11 +6471,11 @@ Index * u8_endswith: Searching for a substring. (line 28) * u8_grapheme_breaks: Grapheme cluster breaks in a string. - (line 43) + (line 47) * u8_grapheme_next: Grapheme cluster breaks in a string. (line 9) * u8_grapheme_prev: Grapheme cluster breaks in a string. - (line 23) + (line 25) * u8_is_cased: Case detection. (line 53) * u8_is_casefolded: Case detection. (line 40) * u8_is_lowercase: Case detection. (line 20) @@ -6363,7 +6487,7 @@ Index * u8_mbtoucr: Iterating. (line 47) * u8_mbtouc_unsafe: Iterating. (line 37) * u8_move: Copying Unicode strings. - (line 19) + (line 31) * u8_next: Iterating over a NUL terminated Unicode string. (line 22) * u8_normalize: Normalization of strings. @@ -6374,13 +6498,15 @@ Index (line 38) * u8_normxfrm: Normalizing comparisons. (line 22) +* u8_pcpy: Copying Unicode strings. + (line 19) * u8_possible_linebreaks: unilbrk.h. (line 46) * u8_prev: Iterating over a NUL terminated Unicode string. (line 32) * u8_set: Copying Unicode strings. - (line 33) -* u8_snprintf: unistdio.h. (line 68) -* u8_sprintf: unistdio.h. (line 67) + (line 45) +* u8_snprintf: unistdio.h. (line 69) +* u8_sprintf: unistdio.h. (line 68) * u8_startswith: Searching for a substring. (line 20) * u8_stpcpy: Copying a NUL terminated Unicode string. @@ -6392,9 +6518,9 @@ Index * u8_strchr: Searching for a character in a NUL terminated Unicode string. (line 8) * u8_strcmp: Comparing NUL terminated Unicode strings. - (line 8) + (line 9) * u8_strcoll: Comparing NUL terminated Unicode strings. - (line 18) + (line 19) * u8_strconv_from_encoding: uniconv.h. (line 137) * u8_strconv_from_locale: uniconv.h. (line 167) * u8_strconv_to_encoding: uniconv.h. (line 150) @@ -6413,7 +6539,7 @@ Index * u8_strncat: Copying a NUL terminated Unicode string. (line 64) * u8_strncmp: Comparing NUL terminated Unicode strings. - (line 33) + (line 34) * u8_strncpy: Copying a NUL terminated Unicode string. (line 29) * u8_strnlen: Length. (line 16) @@ -6437,20 +6563,20 @@ Index (line 9) * u8_to_u32: Elementary string conversions. (line 16) -* u8_u8_asnprintf: unistdio.h. (line 92) -* u8_u8_asprintf: unistdio.h. (line 90) -* u8_u8_snprintf: unistdio.h. (line 88) -* u8_u8_sprintf: unistdio.h. (line 86) -* u8_u8_vasnprintf: unistdio.h. (line 100) -* u8_u8_vasprintf: unistdio.h. (line 98) -* u8_u8_vsnprintf: unistdio.h. (line 96) -* u8_u8_vsprintf: unistdio.h. (line 94) +* u8_u8_asnprintf: unistdio.h. (line 93) +* u8_u8_asprintf: unistdio.h. (line 91) +* u8_u8_snprintf: unistdio.h. (line 89) +* u8_u8_sprintf: unistdio.h. (line 87) +* u8_u8_vasnprintf: unistdio.h. (line 101) +* u8_u8_vasprintf: unistdio.h. (line 99) +* u8_u8_vsnprintf: unistdio.h. (line 97) +* u8_u8_vsprintf: unistdio.h. (line 95) * u8_uctomb: Creating Unicode strings. (line 9) -* u8_vasnprintf: unistdio.h. (line 80) -* u8_vasprintf: unistdio.h. (line 78) -* u8_vsnprintf: unistdio.h. (line 76) -* u8_vsprintf: unistdio.h. (line 74) +* u8_vasnprintf: unistdio.h. (line 81) +* u8_vasprintf: unistdio.h. (line 79) +* u8_vsnprintf: unistdio.h. (line 77) +* u8_vsprintf: unistdio.h. (line 75) * u8_width: uniwidth.h. (line 27) * u8_width_linebreaks: unilbrk.h. (line 63) * u8_wordbreaks: Word breaks in a string. @@ -6498,7 +6624,13 @@ Index * uc_graphemeclusterbreak_property: Grapheme cluster break property. (line 37) * uc_grapheme_breaks: Grapheme cluster breaks in a string. - (line 51) + (line 55) +* uc_indic_conjunct_break: Indic conjunct break. + (line 32) +* uc_indic_conjunct_break_byname: Indic conjunct break. + (line 23) +* uc_indic_conjunct_break_name: Indic conjunct break. + (line 19) * uc_is_alnum: Classifications like in ISO C. (line 13) * uc_is_alpha: Classifications like in ISO C. @@ -6527,45 +6659,45 @@ Index * uc_is_print: Classifications like in ISO C. (line 40) * uc_is_property: Properties as objects. - (line 160) + (line 164) * uc_is_property_alphabetic: Properties as functions. (line 9) * uc_is_property_ascii_hex_digit: Properties as functions. - (line 80) + (line 82) * uc_is_property_bidi_arabic_digit: Properties as functions. - (line 66) + (line 68) * uc_is_property_bidi_arabic_right_to_left: Properties as functions. - (line 62) + (line 64) * uc_is_property_bidi_block_separator: Properties as functions. - (line 68) + (line 70) * uc_is_property_bidi_boundary_neutral: Properties as functions. - (line 72) + (line 74) * uc_is_property_bidi_common_separator: Properties as functions. - (line 67) + (line 69) * uc_is_property_bidi_control: Properties as functions. - (line 59) + (line 61) * uc_is_property_bidi_embedding_or_override: Properties as functions. - (line 74) + (line 76) * uc_is_property_bidi_european_digit: Properties as functions. - (line 63) + (line 65) * uc_is_property_bidi_eur_num_separator: Properties as functions. - (line 64) + (line 66) * uc_is_property_bidi_eur_num_terminator: Properties as functions. - (line 65) + (line 67) * uc_is_property_bidi_hebrew_right_to_left: Properties as functions. - (line 61) + (line 63) * uc_is_property_bidi_left_to_right: Properties as functions. - (line 60) + (line 62) * uc_is_property_bidi_non_spacing_mark: Properties as functions. - (line 71) + (line 73) * uc_is_property_bidi_other_neutral: Properties as functions. - (line 75) + (line 77) * uc_is_property_bidi_pdf: Properties as functions. - (line 73) + (line 75) * uc_is_property_bidi_segment_separator: Properties as functions. - (line 69) + (line 71) * uc_is_property_bidi_whitespace: Properties as functions. - (line 70) + (line 72) * uc_is_property_cased: Properties as functions. (line 29) * uc_is_property_case_ignorable: Properties as functions. @@ -6581,85 +6713,91 @@ Index * uc_is_property_changes_when_uppercased: Properties as functions. (line 32) * uc_is_property_combining: Properties as functions. - (line 119) + (line 124) * uc_is_property_composite: Properties as functions. - (line 120) + (line 125) * uc_is_property_currency_symbol: Properties as functions. - (line 114) + (line 119) * uc_is_property_dash: Properties as functions. - (line 106) + (line 111) * uc_is_property_decimal_digit: Properties as functions. - (line 121) + (line 126) * uc_is_property_default_ignorable_code_point: Properties as functions. (line 12) * uc_is_property_deprecated: Properties as functions. (line 16) * uc_is_property_diacritic: Properties as functions. - (line 123) + (line 128) * uc_is_property_emoji: Properties as functions. - (line 92) + (line 95) * uc_is_property_emoji_component: Properties as functions. - (line 96) + (line 99) * uc_is_property_emoji_modifier: Properties as functions. - (line 94) + (line 97) * uc_is_property_emoji_modifier_base: Properties as functions. - (line 95) + (line 98) * uc_is_property_emoji_presentation: Properties as functions. - (line 93) + (line 96) * uc_is_property_extended_pictographic: Properties as functions. - (line 97) + (line 100) * uc_is_property_extender: Properties as functions. - (line 124) + (line 129) * uc_is_property_format_control: Properties as functions. - (line 105) + (line 108) * uc_is_property_grapheme_base: Properties as functions. - (line 52) + (line 54) * uc_is_property_grapheme_extend: Properties as functions. - (line 53) -* uc_is_property_grapheme_link: Properties as functions. (line 55) +* uc_is_property_grapheme_link: Properties as functions. + (line 57) * uc_is_property_hex_digit: Properties as functions. - (line 79) + (line 81) * uc_is_property_hyphen: Properties as functions. - (line 107) + (line 112) * uc_is_property_ideographic: Properties as functions. - (line 84) + (line 86) * uc_is_property_ids_binary_operator: Properties as functions. - (line 87) + (line 90) * uc_is_property_ids_trinary_operator: Properties as functions. - (line 88) + (line 91) +* uc_is_property_ids_unary_operator: Properties as functions. + (line 89) +* uc_is_property_id_compat_math_continue: Properties as functions. + (line 47) +* uc_is_property_id_compat_math_start: Properties as functions. + (line 46) * uc_is_property_id_continue: Properties as functions. (line 42) * uc_is_property_id_start: Properties as functions. (line 40) * uc_is_property_ignorable_control: Properties as functions. - (line 125) + (line 130) * uc_is_property_iso_control: Properties as functions. - (line 104) + (line 107) * uc_is_property_join_control: Properties as functions. - (line 51) + (line 53) * uc_is_property_left_of_pair: Properties as functions. - (line 118) + (line 123) * uc_is_property_line_separator: Properties as functions. - (line 109) + (line 114) * uc_is_property_logical_order_exception: Properties as functions. (line 17) * uc_is_property_lowercase: Properties as functions. (line 26) * uc_is_property_math: Properties as functions. - (line 115) + (line 120) * uc_is_property_non_break: Properties as functions. - (line 103) + (line 106) * uc_is_property_not_a_character: Properties as functions. (line 11) * uc_is_property_numeric: Properties as functions. - (line 122) + (line 127) * uc_is_property_other_alphabetic: Properties as functions. (line 10) * uc_is_property_other_default_ignorable_code_point: Properties as functions. (line 14) * uc_is_property_other_grapheme_extend: Properties as functions. - (line 54) + (line 56) * uc_is_property_other_id_continue: Properties as functions. (line 43) * uc_is_property_other_id_start: Properties as functions. @@ -6667,41 +6805,43 @@ Index * uc_is_property_other_lowercase: Properties as functions. (line 27) * uc_is_property_other_math: Properties as functions. - (line 116) + (line 121) * uc_is_property_other_uppercase: Properties as functions. (line 25) * uc_is_property_paired_punctuation: Properties as functions. - (line 117) + (line 122) * uc_is_property_paragraph_separator: Properties as functions. - (line 110) + (line 115) * uc_is_property_pattern_syntax: Properties as functions. - (line 47) + (line 49) * uc_is_property_pattern_white_space: Properties as functions. - (line 46) + (line 48) +* uc_is_property_prepended_concatenation_mark: Properties as functions. + (line 109) * uc_is_property_private_use: Properties as functions. (line 19) * uc_is_property_punctuation: Properties as functions. - (line 108) + (line 113) * uc_is_property_quotation_mark: Properties as functions. - (line 111) + (line 116) * uc_is_property_radical: Properties as functions. - (line 86) + (line 88) * uc_is_property_regional_indicator: Properties as functions. - (line 126) + (line 131) * uc_is_property_sentence_terminal: Properties as functions. - (line 112) + (line 117) * uc_is_property_soft_dotted: Properties as functions. (line 36) * uc_is_property_space: Properties as functions. - (line 102) + (line 105) * uc_is_property_terminal_punctuation: Properties as functions. - (line 113) + (line 118) * uc_is_property_titlecase: Properties as functions. (line 28) * uc_is_property_unassigned_code_value: Properties as functions. (line 20) * uc_is_property_unified_ideograph: Properties as functions. - (line 85) + (line 87) * uc_is_property_uppercase: Properties as functions. (line 24) * uc_is_property_variation_selector: Properties as functions. @@ -6713,7 +6853,7 @@ Index * uc_is_property_xid_start: Properties as functions. (line 44) * uc_is_property_zero_width: Properties as functions. - (line 101) + (line 104) * uc_is_punct: Classifications like in ISO C. (line 43) * uc_is_script: Scripts. (line 30) @@ -6737,9 +6877,9 @@ Index * uc_mirror_char: Mirrored character. (line 13) * uc_numeric_value: Numeric value. (line 21) * uc_property_byname: Properties as objects. - (line 138) + (line 142) * uc_property_is_valid: Properties as objects. - (line 153) + (line 157) * uc_property_t: Properties as objects. (line 8) * uc_script: Scripts. (line 19) @@ -6756,25 +6896,25 @@ Index * uint16_t: unitypes.h. (line 9) * uint32_t: unitypes.h. (line 10) * uint8_t: unitypes.h. (line 8) -* ulc_asnprintf: unistdio.h. (line 49) -* ulc_asprintf: unistdio.h. (line 47) +* ulc_asnprintf: unistdio.h. (line 50) +* ulc_asprintf: unistdio.h. (line 48) * ulc_casecmp: Case insensitive comparison. - (line 60) + (line 63) * ulc_casecoll: Case insensitive comparison. - (line 106) + (line 109) * ulc_casexfrm: Case insensitive comparison. - (line 83) -* ulc_fprintf: unistdio.h. (line 184) + (line 86) +* ulc_fprintf: unistdio.h. (line 185) * ulc_grapheme_breaks: Grapheme cluster breaks in a string. - (line 49) + (line 53) * ulc_possible_linebreaks: unilbrk.h. (line 52) -* ulc_snprintf: unistdio.h. (line 44) -* ulc_sprintf: unistdio.h. (line 42) -* ulc_vasnprintf: unistdio.h. (line 61) -* ulc_vasprintf: unistdio.h. (line 58) -* ulc_vfprintf: unistdio.h. (line 185) -* ulc_vsnprintf: unistdio.h. (line 55) -* ulc_vsprintf: unistdio.h. (line 52) +* ulc_snprintf: unistdio.h. (line 45) +* ulc_sprintf: unistdio.h. (line 43) +* ulc_vasnprintf: unistdio.h. (line 62) +* ulc_vasprintf: unistdio.h. (line 59) +* ulc_vfprintf: unistdio.h. (line 186) +* ulc_vsnprintf: unistdio.h. (line 56) +* ulc_vsprintf: unistdio.h. (line 53) * ulc_width_linebreaks: unilbrk.h. (line 72) * ulc_wordbreaks: Word breaks in a string. (line 11) @@ -6855,87 +6995,90 @@ Node: Unicode and i18n7937 Node: Locale encodings9599 Node: In-memory representation11864 Node: char * strings13862 -Node: Unicode strings19350 -Node: Conventions20533 -Node: unitypes.h22825 -Node: unistr.h23922 -Node: Elementary string checks24487 -Node: Elementary string conversions25109 -Node: Elementary string functions26987 -Node: Iterating27392 -Node: Creating Unicode strings30222 -Node: Copying Unicode strings31158 -Node: Comparing Unicode strings32771 -Node: Searching for a character34326 -Node: Counting characters35125 -Node: Elementary string functions with memory allocation35808 -Node: Elementary string functions on NUL terminated strings36430 -Node: Iterating over a NUL terminated Unicode string37029 -Node: Length39297 -Node: Copying a NUL terminated Unicode string40355 -Node: Comparing NUL terminated Unicode strings43459 -Node: Duplicating a NUL terminated Unicode string45555 -Node: Searching for a character in a NUL terminated Unicode string46324 -Node: Searching for a substring49088 -Node: Tokenizing50611 -Node: uniconv.h51484 -Node: unistdio.h59764 -Node: uniname.h68017 -Node: unictype.h69423 -Node: General category70351 -Node: Object oriented API71406 -Node: Bit mask API81247 -Node: Canonical combining class83542 -Node: Bidi class87777 -Node: Decimal digit value91572 -Node: Digit value92129 -Node: Numeric value92690 -Node: Mirrored character93592 -Node: Arabic shaping94285 -Node: Joining type94758 -Node: Joining group96908 -Node: Properties102720 -Node: Properties as objects103411 -Node: Properties as functions110892 -Node: Scripts117409 -Node: Blocks118814 -Node: ISO C and Java syntax120157 -Node: Classifications like in ISO C121875 -Node: uniwidth.h124687 -Node: unigbrk.h126733 -Node: Grapheme cluster breaks in a string128227 -Node: Grapheme cluster break property131246 -Node: uniwbrk.h133492 -Node: Word breaks in a string134030 -Node: Word break property135122 -Node: unilbrk.h136450 -Node: uninorm.h141002 -Node: Decomposition of characters141639 -Node: Composition of characters145420 -Node: Normalization of strings146133 -Node: Normalizing comparisons148306 -Node: Normalization of streams150804 -Node: unicase.h152929 -Node: Case mappings of characters153618 -Node: Case mappings of strings155767 -Node: Case mappings of substrings159406 -Node: Case insensitive comparison166676 -Node: Case detection172369 -Node: uniregex.h175683 -Node: Using the library175910 -Node: Installation176321 -Node: Compiler options176809 -Node: Include files178449 -Node: Autoconf macro179702 -Node: Reporting problems181343 -Node: More functionality182153 -Node: The wchar_t mess182605 -Node: The char32_t problem184955 -Node: Licenses187330 -Node: GNU GPL189803 -Node: GNU LGPL227552 -Node: GNU FDL236036 -Node: Index261347 +Node: Unicode strings19357 +Node: Conventions20540 +Ref: Conventions-Footnote-123718 +Node: unitypes.h23922 +Node: unistr.h25019 +Node: Elementary string checks25584 +Node: Elementary string conversions26206 +Node: Elementary string functions28084 +Node: Iterating28489 +Node: Creating Unicode strings31319 +Node: Copying Unicode strings32255 +Node: Comparing Unicode strings34331 +Node: Searching for a character35886 +Node: Counting characters36685 +Node: Elementary string functions with memory allocation37368 +Node: Elementary string functions on NUL terminated strings37990 +Node: Iterating over a NUL terminated Unicode string38589 +Node: Length40857 +Node: Copying a NUL terminated Unicode string41915 +Node: Comparing NUL terminated Unicode strings45019 +Node: Duplicating a NUL terminated Unicode string47162 +Node: Searching for a character in a NUL terminated Unicode string47931 +Node: Searching for a substring50695 +Node: Tokenizing52218 +Node: uniconv.h53091 +Node: unistdio.h61371 +Node: uniname.h69700 +Node: unictype.h71106 +Node: General category72055 +Node: Object oriented API73110 +Node: Bit mask API82951 +Node: Canonical combining class85246 +Node: Bidi class89481 +Node: Decimal digit value93276 +Node: Digit value93833 +Node: Numeric value94394 +Node: Mirrored character95296 +Node: Arabic shaping96510 +Node: Joining type96983 +Node: Joining group99133 +Node: Properties104945 +Node: Properties as objects105645 +Node: Properties as functions113379 +Node: Other attributes120183 +Node: Indic conjunct break120438 +Node: Scripts121729 +Node: Blocks123140 +Node: ISO C and Java syntax124483 +Node: Classifications like in ISO C126201 +Node: uniwidth.h129013 +Node: unigbrk.h131059 +Node: Grapheme cluster breaks in a string132553 +Node: Grapheme cluster break property135742 +Node: uniwbrk.h138068 +Node: Word breaks in a string138606 +Node: Word break property139698 +Node: unilbrk.h141026 +Node: uninorm.h145578 +Node: Decomposition of characters146215 +Node: Composition of characters149996 +Node: Normalization of strings150709 +Node: Normalizing comparisons152882 +Node: Normalization of streams155380 +Node: unicase.h157505 +Node: Case mappings of characters158194 +Node: Case mappings of strings160343 +Node: Case mappings of substrings163981 +Node: Case insensitive comparison171251 +Node: Case detection177089 +Node: uniregex.h180403 +Node: Using the library180630 +Node: Installation181041 +Node: Compiler options181529 +Node: Include files183169 +Node: Autoconf macro184809 +Node: Reporting problems186450 +Node: More functionality187260 +Node: The wchar_t mess187712 +Node: The char32_t problem190139 +Node: Licenses192514 +Node: GNU GPL194987 +Node: GNU LGPL232736 +Node: GNU FDL241220 +Node: Index266531 End Tag Table |