diff options
Diffstat (limited to 'doc/libunistring_8.html')
| -rw-r--r-- | doc/libunistring_8.html | 1157 | 
1 files changed, 689 insertions, 468 deletions
| diff --git a/doc/libunistring_8.html b/doc/libunistring_8.html index 1af96f55..4b8c7d91 100644 --- a/doc/libunistring_8.html +++ b/doc/libunistring_8.html @@ -1,6 +1,6 @@  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html401/loose.dtd">  <html> -<!-- Created on May, 25 2018 by texi2html 1.78a --> +<!-- Created on January, 2 2022 by texi2html 1.78a -->  <!--  Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)              Karl Berry  <karl@freefriends.org> @@ -49,16 +49,16 @@ ul.toc {list-style: none}  <td valign="middle" align="left">   </td>  <td valign="middle" align="left">   </td>  <td valign="middle" align="left">   </td> -<td valign="middle" align="left">[<a href="libunistring.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> -<td valign="middle" align="left">[<a href="libunistring.html#SEC_Contents" title="Table of contents">Contents</a>]</td> -<td valign="middle" align="left">[<a href="libunistring_20.html#SEC91" title="Index">Index</a>]</td> +<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> +<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> +<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>  <td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>  </tr></table>  <hr size="2">  <a name="unictype_002eh"></a>  <a name="SEC33"></a> -<h1 class="chapter"> <a href="libunistring.html#TOC33">8. Unicode character classification and properties <code><unictype.h></code></a> </h1> +<h1 class="chapter"> <a href="libunistring_toc.html#TOC33">8. Unicode character classification and properties <code><unictype.h></code></a> </h1>  <p>This include file declares functions that classify Unicode characters  and that test whether Unicode characters have specific properties. @@ -74,7 +74,7 @@ in the presence of specific Unicode characters.  <hr size="6">  <a name="General-category"></a>  <a name="SEC34"></a> -<h2 class="section"> <a href="libunistring.html#TOC34">8.1 General category</a> </h2> +<h2 class="section"> <a href="libunistring_toc.html#TOC34">8.1 General category</a> </h2>  <p>Every Unicode character or code point has a <em>general category</em> assigned  to it.  This classification is important for most algorithms that work on @@ -95,7 +95,7 @@ information for all Unicode characters.  <hr size="6">  <a name="Object-oriented-API"></a>  <a name="SEC35"></a> -<h3 class="subsection"> <a href="libunistring.html#TOC35">8.1.1 The object oriented API for general category</a> </h3> +<h3 class="subsection"> <a href="libunistring_toc.html#TOC35">8.1.1 The object oriented API for general category</a> </h3>  <dl>  <dt><u>Type:</u> <b>uc_general_category_t</b> @@ -498,7 +498,7 @@ Some code points in this category are invalid characters.  except that there is no ‘<samp>not</samp>’ operation.  </p>  <dl> -<dt><u>Function:</u> uc_general_category_t <b>uc_general_category_or</b><i> (uc_general_category_t <var>category1</var>, uc_general_category_t <var>category2</var>)</i> +<dt><u>Function:</u> uc_general_category_t <b>uc_general_category_or</b><i> (uc_general_category_t <var>category1</var>, uc_general_category_t <var>category2</var>)</i>  <a name="IDX309"></a>  </dt>  <dd><p>Returns the union of two general categories. @@ -506,7 +506,7 @@ This corresponds to the unions of the two sets of characters.  </p></dd></dl>  <dl> -<dt><u>Function:</u> uc_general_category_t <b>uc_general_category_and</b><i> (uc_general_category_t <var>category1</var>, uc_general_category_t <var>category2</var>)</i> +<dt><u>Function:</u> uc_general_category_t <b>uc_general_category_and</b><i> (uc_general_category_t <var>category1</var>, uc_general_category_t <var>category2</var>)</i>  <a name="IDX310"></a>  </dt>  <dd><p>Returns the intersection of two general categories as bit masks. @@ -515,7 +515,7 @@ characters.  </p></dd></dl>  <dl> -<dt><u>Function:</u> uc_general_category_t <b>uc_general_category_and_not</b><i> (uc_general_category_t <var>category1</var>, uc_general_category_t <var>category2</var>)</i> +<dt><u>Function:</u> uc_general_category_t <b>uc_general_category_and_not</b><i> (uc_general_category_t <var>category1</var>, uc_general_category_t <var>category2</var>)</i>  <a name="IDX311"></a>  </dt>  <dd><p>Returns the intersection of a general category with the complement of a @@ -527,7 +527,7 @@ viewing the categories as sets of characters.  <p>The following functions associate general categories with their name.  </p>  <dl> -<dt><u>Function:</u> const char * <b>uc_general_category_name</b><i> (uc_general_category_t <var>category</var>)</i> +<dt><u>Function:</u> const char * <b>uc_general_category_name</b><i> (uc_general_category_t <var>category</var>)</i>  <a name="IDX312"></a>  </dt>  <dd><p>Returns the name of a general category, more precisely, the abbreviated name. @@ -536,7 +536,7 @@ have a name.  </p></dd></dl>  <dl> -<dt><u>Function:</u> const char * <b>uc_general_category_long_name</b><i> (uc_general_category_t <var>category</var>)</i> +<dt><u>Function:</u> const char * <b>uc_general_category_long_name</b><i> (uc_general_category_t <var>category</var>)</i>  <a name="IDX313"></a>  </dt>  <dd><p>Returns the long name of a general category. @@ -545,7 +545,7 @@ have a name.  </p></dd></dl>  <dl> -<dt><u>Function:</u> uc_general_category_t <b>uc_general_category_byname</b><i> (const char *<var>category_name</var>)</i> +<dt><u>Function:</u> uc_general_category_t <b>uc_general_category_byname</b><i> (const char *<var>category_name</var>)</i>  <a name="IDX314"></a>  </dt>  <dd><p>Returns the general category given by name, e.g. <code>"Lu"</code>, or by long @@ -557,7 +557,7 @@ case-insignificant.  <p>The following functions view general categories as sets of Unicode characters.  </p>  <dl> -<dt><u>Function:</u> uc_general_category_t <b>uc_general_category</b><i> (ucs4_t <var>uc</var>)</i> +<dt><u>Function:</u> uc_general_category_t <b>uc_general_category</b><i> (ucs4_t <var>uc</var>)</i>  <a name="IDX315"></a>  </dt>  <dd><p>Returns the general category of a Unicode character. @@ -566,7 +566,7 @@ case-insignificant.  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_general_category</b><i> (ucs4_t <var>uc</var>, uc_general_category_t <var>category</var>)</i> +<dt><u>Function:</u> bool <b>uc_is_general_category</b><i> (ucs4_t <var>uc</var>, uc_general_category_t <var>category</var>)</i>  <a name="IDX316"></a>  </dt>  <dd><p>Tests whether a Unicode character belongs to a given category. @@ -577,7 +577,7 @@ combination of several predefined general categories.  <hr size="6">  <a name="Bit-mask-API"></a>  <a name="SEC36"></a> -<h3 class="subsection"> <a href="libunistring.html#TOC36">8.1.2 The bit mask API for general category</a> </h3> +<h3 class="subsection"> <a href="libunistring_toc.html#TOC36">8.1.2 The bit mask API for general category</a> </h3>  <p>The following are the predefined general category value as bit masks.  Additional general categories may be added in the future. @@ -702,7 +702,7 @@ Additional general categories may be added in the future.  <p>The following function views general categories as sets of Unicode characters.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_general_category_withtable</b><i> (ucs4_t <var>uc</var>, uint32_t <var>bitmask</var>)</i> +<dt><u>Function:</u> bool <b>uc_is_general_category_withtable</b><i> (ucs4_t <var>uc</var>, uint32_t <var>bitmask</var>)</i>  <a name="IDX355"></a>  </dt>  <dd><p>Tests whether a Unicode character belongs to a given category. @@ -715,7 +715,7 @@ combination of several predefined general category bitmasks.  <hr size="6">  <a name="Canonical-combining-class"></a>  <a name="SEC37"></a> -<h2 class="section"> <a href="libunistring.html#TOC37">8.2 Canonical combining class</a> </h2> +<h2 class="section"> <a href="libunistring_toc.html#TOC37">8.2 Canonical combining class</a> </h2>  <p>Every Unicode character or code point has a <em>canonical combining class</em>  assigned to it. @@ -730,7 +730,7 @@ combining classes are attached "first" or "closer" to the ba  </p>  <p>The canonical combining class of a character is a number in the range  0..255.  The possible values are described in the Unicode Character Database -<a href="http://www.unicode.org/Public/UNIDATA/UCD.html">http://www.unicode.org/Public/UNIDATA/UCD.html</a>.  The list here is +<a href="https://www.unicode.org/Public/UNIDATA/UCD.html">https://www.unicode.org/Public/UNIDATA/UCD.html</a>.  The list here is  not definitive; more values can be added in future versions.  </p>  <dl> @@ -877,7 +877,7 @@ The value is 0.  <p>The following functions associate canonical combining classes with their name.  </p>  <dl> -<dt><u>Function:</u> const char * <b>uc_combining_class_name</b><i> (int <var>ccc</var>)</i> +<dt><u>Function:</u> const char * <b>uc_combining_class_name</b><i> (int <var>ccc</var>)</i>  <a name="IDX376"></a>  </dt>  <dd><p>Returns the name of a canonical combining class, more precisely, the @@ -887,7 +887,7 @@ name.  </p></dd></dl>  <dl> -<dt><u>Function:</u> const char * <b>uc_combining_class_long_name</b><i> (int <var>ccc</var>)</i> +<dt><u>Function:</u> const char * <b>uc_combining_class_long_name</b><i> (int <var>ccc</var>)</i>  <a name="IDX377"></a>  </dt>  <dd><p>Returns the long name of a canonical combining class. @@ -896,7 +896,7 @@ name.  </p></dd></dl>  <dl> -<dt><u>Function:</u> int <b>uc_combining_class_byname</b><i> (const char *<var>ccc_name</var>)</i> +<dt><u>Function:</u> int <b>uc_combining_class_byname</b><i> (const char *<var>ccc_name</var>)</i>  <a name="IDX378"></a>  </dt>  <dd><p>Returns the canonical combining class given by name, e.g. <code>"BL"</code>, or by @@ -908,7 +908,7 @@ case-insignificant.  <p>The following function looks up the canonical combining class of a character.  </p>  <dl> -<dt><u>Function:</u> int <b>uc_combining_class</b><i> (ucs4_t <var>uc</var>)</i> +<dt><u>Function:</u> int <b>uc_combining_class</b><i> (ucs4_t <var>uc</var>)</i>  <a name="IDX379"></a>  </dt>  <dd><p>Returns the canonical combining class of a Unicode character. @@ -917,13 +917,13 @@ case-insignificant.  <hr size="6">  <a name="Bidi-class"></a>  <a name="SEC38"></a> -<h2 class="section"> <a href="libunistring.html#TOC38">8.3 Bidi class</a> </h2> +<h2 class="section"> <a href="libunistring_toc.html#TOC38">8.3 Bidi class</a> </h2>  <p>Every Unicode character or code point has a <em>bidi class</em> assigned to it.  Before Unicode 4.0, this concept was known as <em>bidirectional category</em>.  </p>  <p>The bidi class guides the bidirectional algorithm -(<a href="http://www.unicode.org/reports/tr9/">http://www.unicode.org/reports/tr9/</a>).  The possible values are +(<a href="https://www.unicode.org/reports/tr9/">https://www.unicode.org/reports/tr9/</a>).  The possible values are  the following.  </p>  <dl> @@ -1059,33 +1059,61 @@ the following.  <dd><p>The bidi class for “Other Neutral” characters.  </p></dd></dl> -<p>The following functions implement the association between a bidirectional -category and its name. -</p>  <dl> -<dt><u>Function:</u> const char * <b>uc_bidi_class_name</b><i> (int <var>bidi_class</var>)</i> +<dt><u>Constant:</u> int <b>UC_BIDI_LRI</b>  <a name="IDX399"></a>  </dt> -<dt><u>Function:</u> const char * <b>uc_bidi_category_name</b><i> (int <var>category</var>)</i> +<dd><p>The bidi class for “Left-to-Right Isolate” characters. +</p></dd></dl> + +<dl> +<dt><u>Constant:</u> int <b>UC_BIDI_RLI</b>  <a name="IDX400"></a>  </dt> -<dd><p>Returns the name of a bidi class, more precisely, the abbreviated name. +<dd><p>The bidi class for “Right-to-Left Isolate” characters.  </p></dd></dl>  <dl> -<dt><u>Function:</u> const char * <b>uc_bidi_class_long_name</b><i> (int <var>bidi_class</var>)</i> +<dt><u>Constant:</u> int <b>UC_BIDI_FSI</b>  <a name="IDX401"></a>  </dt> -<dd><p>Returns the long name of a bidi class. +<dd><p>The bidi class for “First Strong Isolate” characters.  </p></dd></dl>  <dl> -<dt><u>Function:</u> int <b>uc_bidi_class_byname</b><i> (const char *<var>bidi_class_name</var>)</i> +<dt><u>Constant:</u> int <b>UC_BIDI_PDI</b>  <a name="IDX402"></a>  </dt> -<dt><u>Function:</u> int <b>uc_bidi_category_byname</b><i> (const char *<var>category_name</var>)</i> +<dd><p>The bidi class for “Pop Directional Isolate” characters. +</p></dd></dl> + +<p>The following functions implement the association between a bidirectional +category and its name. +</p> +<dl> +<dt><u>Function:</u> const char * <b>uc_bidi_class_name</b><i> (int <var>bidi_class</var>)</i>  <a name="IDX403"></a>  </dt> +<dt><u>Function:</u> const char * <b>uc_bidi_category_name</b><i> (int <var>category</var>)</i> +<a name="IDX404"></a> +</dt> +<dd><p>Returns the name of a bidi class, more precisely, the abbreviated name. +</p></dd></dl> + +<dl> +<dt><u>Function:</u> const char * <b>uc_bidi_class_long_name</b><i> (int <var>bidi_class</var>)</i> +<a name="IDX405"></a> +</dt> +<dd><p>Returns the long name of a bidi class. +</p></dd></dl> + +<dl> +<dt><u>Function:</u> int <b>uc_bidi_class_byname</b><i> (const char *<var>bidi_class_name</var>)</i> +<a name="IDX406"></a> +</dt> +<dt><u>Function:</u> int <b>uc_bidi_category_byname</b><i> (const char *<var>category_name</var>)</i> +<a name="IDX407"></a> +</dt>  <dd><p>Returns the bidi class given by name, e.g. <code>"LRE"</code>, or by long name,  e.g. <code>"Left-to-Right Embedding"</code>.  This lookup ignores spaces, underscores, or hyphens as word separators and is @@ -1096,21 +1124,21 @@ case-insignificant.  characters.  </p>  <dl> -<dt><u>Function:</u> int <b>uc_bidi_class</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX404"></a> +<dt><u>Function:</u> int <b>uc_bidi_class</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX408"></a>  </dt> -<dt><u>Function:</u> int <b>uc_bidi_category</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX405"></a> +<dt><u>Function:</u> int <b>uc_bidi_category</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX409"></a>  </dt>  <dd><p>Returns the bidi class of a Unicode character.  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_bidi_class</b><i> (ucs4_t <var>uc</var>, int <var>bidi_class</var>)</i> -<a name="IDX406"></a> +<dt><u>Function:</u> bool <b>uc_is_bidi_class</b><i> (ucs4_t <var>uc</var>, int <var>bidi_class</var>)</i> +<a name="IDX410"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_bidi_category</b><i> (ucs4_t <var>uc</var>, int <var>category</var>)</i> -<a name="IDX407"></a> +<dt><u>Function:</u> bool <b>uc_is_bidi_category</b><i> (ucs4_t <var>uc</var>, int <var>category</var>)</i> +<a name="IDX411"></a>  </dt>  <dd><p>Tests whether a Unicode character belongs to a given bidi class.  </p></dd></dl> @@ -1118,15 +1146,15 @@ characters.  <hr size="6">  <a name="Decimal-digit-value"></a>  <a name="SEC39"></a> -<h2 class="section"> <a href="libunistring.html#TOC39">8.4 Decimal digit value</a> </h2> +<h2 class="section"> <a href="libunistring_toc.html#TOC39">8.4 Decimal digit value</a> </h2>  <p>Decimal digits (like the digits from ‘<samp>0</samp>’ to ‘<samp>9</samp>’) exist in many  scripts.  The following function converts a decimal digit character to its  numerical value.  </p>  <dl> -<dt><u>Function:</u> int <b>uc_decimal_value</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX408"></a> +<dt><u>Function:</u> int <b>uc_decimal_value</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX412"></a>  </dt>  <dd><p>Returns the decimal digit value of a Unicode character.  The return value is an integer in the range 0..9, or -1 for characters that @@ -1136,15 +1164,15 @@ do not represent a decimal digit.  <hr size="6">  <a name="Digit-value"></a>  <a name="SEC40"></a> -<h2 class="section"> <a href="libunistring.html#TOC40">8.5 Digit value</a> </h2> +<h2 class="section"> <a href="libunistring_toc.html#TOC40">8.5 Digit value</a> </h2>  <p>Digit characters are like decimal digit characters, possibly in special forms,  like as superscript, subscript, or circled.  The following function converts a  digit character to its numerical value.  </p>  <dl> -<dt><u>Function:</u> int <b>uc_digit_value</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX409"></a> +<dt><u>Function:</u> int <b>uc_digit_value</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX413"></a>  </dt>  <dd><p>Returns the digit value of a Unicode character.  The return value is an integer in the range 0..9, or -1 for characters that @@ -1154,7 +1182,7 @@ do not represent a digit.  <hr size="6">  <a name="Numeric-value"></a>  <a name="SEC41"></a> -<h2 class="section"> <a href="libunistring.html#TOC41">8.6 Numeric value</a> </h2> +<h2 class="section"> <a href="libunistring_toc.html#TOC41">8.6 Numeric value</a> </h2>  <p>There are also characters that represent numbers without a digit system, like  the Roman numerals, and fractional numbers, like 1/4 or 3/4. @@ -1162,7 +1190,7 @@ the Roman numerals, and fractional numbers, like 1/4 or 3/4.  <p>The following type represents the numeric value of a Unicode character.  </p><dl>  <dt><u>Type:</u> <b>uc_fraction_t</b> -<a name="IDX410"></a> +<a name="IDX414"></a>  </dt>  <dd><p>This is a structure type with the following fields:  </p><table><tr><td> </td><td><pre class="smallexample">int numerator; @@ -1175,8 +1203,8 @@ int denominator;  <p>The following function converts a number character to its numerical value.  </p>  <dl> -<dt><u>Function:</u> uc_fraction_t <b>uc_numeric_value</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX411"></a> +<dt><u>Function:</u> uc_fraction_t <b>uc_numeric_value</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX415"></a>  </dt>  <dd><p>Returns the numeric value of a Unicode character.  The return value is a fraction, or the pseudo-fraction <code>{ 0, 0 }</code> for @@ -1186,7 +1214,7 @@ characters that do not represent a number.  <hr size="6">  <a name="Mirrored-character"></a>  <a name="SEC42"></a> -<h2 class="section"> <a href="libunistring.html#TOC42">8.7 Mirrored character</a> </h2> +<h2 class="section"> <a href="libunistring_toc.html#TOC42">8.7 Mirrored character</a> </h2>  <p>Character mirroring is used to associate the closing parenthesis character  to the opening parenthesis character, the closing brace character with the @@ -1195,8 +1223,8 @@ opening brace character, and so on.  <p>The following function looks up the mirrored character of a Unicode character.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_mirror_char</b><i> (ucs4_t <var>uc</var>, ucs4_t *<var>puc</var>)</i> -<a name="IDX412"></a> +<dt><u>Function:</u> bool <b>uc_mirror_char</b><i> (ucs4_t <var>uc</var>, ucs4_t *<var>puc</var>)</i> +<a name="IDX416"></a>  </dt>  <dd><p>Stores the mirrored character of a Unicode character <var>uc</var> in  <code>*<var>puc</var></code> and returns <code>true</code>, if it exists.  Otherwise it @@ -1206,7 +1234,7 @@ stores <var>uc</var> unmodified in <code>*<var>puc</var></code> and returns <cod  <hr size="6">  <a name="Arabic-shaping"></a>  <a name="SEC43"></a> -<h2 class="section"> <a href="libunistring.html#TOC43">8.8 Arabic shaping</a> </h2> +<h2 class="section"> <a href="libunistring_toc.html#TOC43">8.8 Arabic shaping</a> </h2>  <p>When Arabic characters are rendered, after bidi reordering has taken  place, the shape of the glyphs are modified so that many adjacent glyphs @@ -1217,7 +1245,7 @@ takes place: the joining type and the joining group.  <hr size="6">  <a name="Joining-type"></a>  <a name="SEC44"></a> -<h3 class="subsection"> <a href="libunistring.html#TOC44">8.8.1 Joining type of Arabic characters</a> </h3> +<h3 class="subsection"> <a href="libunistring_toc.html#TOC44">8.8.1 Joining type of Arabic characters</a> </h3>  <p>The joining type of a character describes on which of the left and right  neighbour characters the character's shape depends, and which of the two @@ -1227,14 +1255,14 @@ neighbour characters are rendered depending on this character.  </p>  <dl>  <dt><u>Constant:</u> int <b>UC_JOINING_TYPE_U</b> -<a name="IDX413"></a> +<a name="IDX417"></a>  </dt>  <dd><p>“Non joining”: Characters of this joining type prohibit joining.  </p></dd></dl>  <dl>  <dt><u>Constant:</u> int <b>UC_JOINING_TYPE_T</b> -<a name="IDX414"></a> +<a name="IDX418"></a>  </dt>  <dd><p>“Transparent”: Characters of this joining type are skipped when  considering joining. @@ -1242,7 +1270,7 @@ considering joining.  <dl>  <dt><u>Constant:</u> int <b>UC_JOINING_TYPE_C</b> -<a name="IDX415"></a> +<a name="IDX419"></a>  </dt>  <dd><p>“Join causing”: Characters of this joining type cause their neighbour  characters to change their shapes but don't change their own shape. @@ -1250,7 +1278,7 @@ characters to change their shapes but don't change their own shape.  <dl>  <dt><u>Constant:</u> int <b>UC_JOINING_TYPE_L</b> -<a name="IDX416"></a> +<a name="IDX420"></a>  </dt>  <dd><p>“Left joining”: Characters of this joining type have two shapes,  isolated and initial.  Such characters currently don't exist. @@ -1258,7 +1286,7 @@ isolated and initial.  Such characters currently don't exist.  <dl>  <dt><u>Constant:</u> int <b>UC_JOINING_TYPE_R</b> -<a name="IDX417"></a> +<a name="IDX421"></a>  </dt>  <dd><p>“Right joining”: Characters of this joining type have two shapes,  isolated and final. @@ -1266,7 +1294,7 @@ isolated and final.  <dl>  <dt><u>Constant:</u> int <b>UC_JOINING_TYPE_D</b> -<a name="IDX418"></a> +<a name="IDX422"></a>  </dt>  <dd><p>“Dual joining”: Characters of this joining type have four shapes,  initial, medial, final, and isolated. @@ -1276,22 +1304,22 @@ initial, medial, final, and isolated.  and its name.  </p>  <dl> -<dt><u>Function:</u> const char * <b>uc_joining_type_name</b><i> (int <var>joining_type</var>)</i> -<a name="IDX419"></a> +<dt><u>Function:</u> const char * <b>uc_joining_type_name</b><i> (int <var>joining_type</var>)</i> +<a name="IDX423"></a>  </dt>  <dd><p>Returns the name of a joining type.  </p></dd></dl>  <dl> -<dt><u>Function:</u> const char * <b>uc_joining_type_long_name</b><i> (int <var>joining_type</var>)</i> -<a name="IDX420"></a> +<dt><u>Function:</u> const char * <b>uc_joining_type_long_name</b><i> (int <var>joining_type</var>)</i> +<a name="IDX424"></a>  </dt>  <dd><p>Returns the long name of a joining type.  </p></dd></dl>  <dl> -<dt><u>Function:</u> int <b>uc_joining_type_byname</b><i> (const char *<var>joining_type_name</var>)</i> -<a name="IDX421"></a> +<dt><u>Function:</u> int <b>uc_joining_type_byname</b><i> (const char *<var>joining_type_name</var>)</i> +<a name="IDX425"></a>  </dt>  <dd><p>Returns the joining type given by name, e.g. <code>"D"</code>, or by long name,  e.g. <code>"Dual Joining</code>. @@ -1302,8 +1330,8 @@ case-insignificant.  <p>The following function gives the joining type of every Unicode character.  </p>  <dl> -<dt><u>Function:</u> int <b>uc_joining_type</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX422"></a> +<dt><u>Function:</u> int <b>uc_joining_type</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX426"></a>  </dt>  <dd><p>Returns the joining type of a Unicode character.  </p></dd></dl> @@ -1311,7 +1339,7 @@ case-insignificant.  <hr size="6">  <a name="Joining-group"></a>  <a name="SEC45"></a> -<h3 class="subsection"> <a href="libunistring.html#TOC45">8.8.2 Joining group of Arabic characters</a> </h3> +<h3 class="subsection"> <a href="libunistring_toc.html#TOC45">8.8.2 Joining group of Arabic characters</a> </h3>  <p>The joining group of a character describes how the character's shape  is modified in the four contexts of dual-joining characters or in the @@ -1321,175 +1349,316 @@ two contexts of right-joining characters.  </p>  <dl>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_NONE</b> -<a name="IDX423"></a> +<a name="IDX427"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_AIN</b> -<a name="IDX424"></a> +<a name="IDX428"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_ALAPH</b> -<a name="IDX425"></a> +<a name="IDX429"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_ALEF</b> -<a name="IDX426"></a> +<a name="IDX430"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_BEH</b> -<a name="IDX427"></a> +<a name="IDX431"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_BETH</b> -<a name="IDX428"></a> +<a name="IDX432"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_BURUSHASKI_YEH_BARREE</b> -<a name="IDX429"></a> +<a name="IDX433"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_DAL</b> -<a name="IDX430"></a> +<a name="IDX434"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_DALATH_RISH</b> -<a name="IDX431"></a> +<a name="IDX435"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_E</b> -<a name="IDX432"></a> +<a name="IDX436"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_FARSI_YEH</b> -<a name="IDX433"></a> +<a name="IDX437"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_FE</b> -<a name="IDX434"></a> +<a name="IDX438"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_FEH</b> -<a name="IDX435"></a> +<a name="IDX439"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_FINAL_SEMKATH</b> -<a name="IDX436"></a> +<a name="IDX440"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_GAF</b> -<a name="IDX437"></a> +<a name="IDX441"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_GAMAL</b> -<a name="IDX438"></a> +<a name="IDX442"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HAH</b> -<a name="IDX439"></a> +<a name="IDX443"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HE</b> -<a name="IDX440"></a> +<a name="IDX444"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HEH</b> -<a name="IDX441"></a> +<a name="IDX445"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HEH_GOAL</b> -<a name="IDX442"></a> +<a name="IDX446"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HETH</b> -<a name="IDX443"></a> +<a name="IDX447"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_KAF</b> -<a name="IDX444"></a> +<a name="IDX448"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_KAPH</b> -<a name="IDX445"></a> +<a name="IDX449"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_KHAPH</b> -<a name="IDX446"></a> +<a name="IDX450"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_KNOTTED_HEH</b> -<a name="IDX447"></a> +<a name="IDX451"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_LAM</b> -<a name="IDX448"></a> +<a name="IDX452"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_LAMADH</b> -<a name="IDX449"></a> +<a name="IDX453"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MEEM</b> -<a name="IDX450"></a> +<a name="IDX454"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MIM</b> -<a name="IDX451"></a> +<a name="IDX455"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_NOON</b> -<a name="IDX452"></a> +<a name="IDX456"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_NUN</b> -<a name="IDX453"></a> +<a name="IDX457"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_NYA</b> -<a name="IDX454"></a> +<a name="IDX458"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_PE</b> -<a name="IDX455"></a> +<a name="IDX459"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_QAF</b> -<a name="IDX456"></a> +<a name="IDX460"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_QAPH</b> -<a name="IDX457"></a> +<a name="IDX461"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_REH</b> -<a name="IDX458"></a> +<a name="IDX462"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_REVERSED_PE</b> -<a name="IDX459"></a> +<a name="IDX463"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SAD</b> -<a name="IDX460"></a> +<a name="IDX464"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SADHE</b> -<a name="IDX461"></a> +<a name="IDX465"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SEEN</b> -<a name="IDX462"></a> +<a name="IDX466"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SEMKATH</b> -<a name="IDX463"></a> +<a name="IDX467"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SHIN</b> -<a name="IDX464"></a> +<a name="IDX468"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SWASH_KAF</b> -<a name="IDX465"></a> +<a name="IDX469"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_SYRIAC_WAW</b> -<a name="IDX466"></a> +<a name="IDX470"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_TAH</b> -<a name="IDX467"></a> +<a name="IDX471"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_TAW</b> -<a name="IDX468"></a> +<a name="IDX472"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_TEH_MARBUTA</b> -<a name="IDX469"></a> +<a name="IDX473"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_TEH_MARBUTA_GOAL</b> -<a name="IDX470"></a> +<a name="IDX474"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_TETH</b> -<a name="IDX471"></a> +<a name="IDX475"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_WAW</b> -<a name="IDX472"></a> +<a name="IDX476"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_YEH</b> -<a name="IDX473"></a> +<a name="IDX477"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_YEH_BARREE</b> -<a name="IDX474"></a> +<a name="IDX478"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_YEH_WITH_TAIL</b> -<a name="IDX475"></a> +<a name="IDX479"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_YUDH</b> -<a name="IDX476"></a> +<a name="IDX480"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_YUDH_HE</b> -<a name="IDX477"></a> +<a name="IDX481"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_ZAIN</b> -<a name="IDX478"></a> +<a name="IDX482"></a>  </dt>  <dt><u>Constant:</u> int <b>UC_JOINING_GROUP_ZHAIN</b> -<a name="IDX479"></a> +<a name="IDX483"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_ROHINGYA_YEH</b> +<a name="IDX484"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_STRAIGHT_WAW</b> +<a name="IDX485"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_ALEPH</b> +<a name="IDX486"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_BETH</b> +<a name="IDX487"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_GIMEL</b> +<a name="IDX488"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_DALETH</b> +<a name="IDX489"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_WAW</b> +<a name="IDX490"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_ZAYIN</b> +<a name="IDX491"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_HETH</b> +<a name="IDX492"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_TETH</b> +<a name="IDX493"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_YODH</b> +<a name="IDX494"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_KAPH</b> +<a name="IDX495"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_LAMEDH</b> +<a name="IDX496"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_DHAMEDH</b> +<a name="IDX497"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_THAMEDH</b> +<a name="IDX498"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_MEM</b> +<a name="IDX499"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_NUN</b> +<a name="IDX500"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_SAMEKH</b> +<a name="IDX501"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_AYIN</b> +<a name="IDX502"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_PE</b> +<a name="IDX503"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_SADHE</b> +<a name="IDX504"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_QOPH</b> +<a name="IDX505"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_RESH</b> +<a name="IDX506"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_TAW</b> +<a name="IDX507"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_ONE</b> +<a name="IDX508"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_FIVE</b> +<a name="IDX509"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_TEN</b> +<a name="IDX510"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_TWENTY</b> +<a name="IDX511"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MANICHAEAN_HUNDRED</b> +<a name="IDX512"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_AFRICAN_FEH</b> +<a name="IDX513"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_AFRICAN_QAF</b> +<a name="IDX514"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_AFRICAN_NOON</b> +<a name="IDX515"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_NGA</b> +<a name="IDX516"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_JA</b> +<a name="IDX517"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_NYA</b> +<a name="IDX518"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_TTA</b> +<a name="IDX519"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_NNA</b> +<a name="IDX520"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_NNNA</b> +<a name="IDX521"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_BHA</b> +<a name="IDX522"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_RA</b> +<a name="IDX523"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_LLA</b> +<a name="IDX524"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_LLLA</b> +<a name="IDX525"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_MALAYALAM_SSA</b> +<a name="IDX526"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HANIFI_ROHINGYA_PA</b> +<a name="IDX527"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_HANIFI_ROHINGYA_KINNA_YA</b> +<a name="IDX528"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_THIN_YEH</b> +<a name="IDX529"></a> +</dt> +<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_VERTICAL_TAIL</b> +<a name="IDX530"></a>  </dt>  </dl> @@ -1497,15 +1666,15 @@ two contexts of right-joining characters.  and its name.  </p>  <dl> -<dt><u>Function:</u> const char * <b>uc_joining_group_name</b><i> (int <var>joining_group</var>)</i> -<a name="IDX480"></a> +<dt><u>Function:</u> const char * <b>uc_joining_group_name</b><i> (int <var>joining_group</var>)</i> +<a name="IDX531"></a>  </dt>  <dd><p>Returns the name of a joining group.  </p></dd></dl>  <dl> -<dt><u>Function:</u> int <b>uc_joining_group_byname</b><i> (const char *<var>joining_group_name</var>)</i> -<a name="IDX481"></a> +<dt><u>Function:</u> int <b>uc_joining_group_byname</b><i> (const char *<var>joining_group_name</var>)</i> +<a name="IDX532"></a>  </dt>  <dd><p>Returns the joining group given by name, e.g. <code>"Teh_Marbuta"</code>.  This lookup ignores spaces, underscores, or hyphens as word separators and is @@ -1515,8 +1684,8 @@ case-insignificant.  <p>The following function gives the joining group of every Unicode character.  </p>  <dl> -<dt><u>Function:</u> int <b>uc_joining_group</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX482"></a> +<dt><u>Function:</u> int <b>uc_joining_group</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX533"></a>  </dt>  <dd><p>Returns the joining group of a Unicode character.  </p></dd></dl> @@ -1524,7 +1693,7 @@ case-insignificant.  <hr size="6">  <a name="Properties"></a>  <a name="SEC46"></a> -<h2 class="section"> <a href="libunistring.html#TOC46">8.9 Properties</a> </h2> +<h2 class="section"> <a href="libunistring_toc.html#TOC46">8.9 Properties</a> </h2>  <p>This section defines boolean properties of Unicode characters.  This  means, a character either has the given property or does not have it. @@ -1540,13 +1709,13 @@ low level, a property is merely a function.  <hr size="6">  <a name="Properties-as-objects"></a>  <a name="SEC47"></a> -<h3 class="subsection"> <a href="libunistring.html#TOC47">8.9.1 Properties as objects – the object oriented API</a> </h3> +<h3 class="subsection"> <a href="libunistring_toc.html#TOC47">8.9.1 Properties as objects – the object oriented API</a> </h3>  <p>The following type designates a property on Unicode characters.  </p>  <dl>  <dt><u>Type:</u> <b>uc_property_t</b> -<a name="IDX483"></a> +<a name="IDX534"></a>  </dt>  <dd><p>This data type denotes a boolean property on Unicode characters. It is an  immediate type that can be copied by simple assignment, without involving @@ -1559,37 +1728,37 @@ memory allocation.  It is not an array type.  </p>  <dl>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_WHITE_SPACE</b> -<a name="IDX484"></a> +<a name="IDX535"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ALPHABETIC</b> -<a name="IDX485"></a> +<a name="IDX536"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_ALPHABETIC</b> -<a name="IDX486"></a> +<a name="IDX537"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_NOT_A_CHARACTER</b> -<a name="IDX487"></a> +<a name="IDX538"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT</b> -<a name="IDX488"></a> +<a name="IDX539"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT</b> -<a name="IDX489"></a> +<a name="IDX540"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DEPRECATED</b> -<a name="IDX490"></a> +<a name="IDX541"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_LOGICAL_ORDER_EXCEPTION</b> -<a name="IDX491"></a> +<a name="IDX542"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_VARIATION_SELECTOR</b> -<a name="IDX492"></a> +<a name="IDX543"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PRIVATE_USE</b> -<a name="IDX493"></a> +<a name="IDX544"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_UNASSIGNED_CODE_VALUE</b> -<a name="IDX494"></a> +<a name="IDX545"></a>  </dt>  </dl> @@ -1597,43 +1766,43 @@ memory allocation.  It is not an array type.  </p>  <dl>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_UPPERCASE</b> -<a name="IDX495"></a> +<a name="IDX546"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_UPPERCASE</b> -<a name="IDX496"></a> +<a name="IDX547"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_LOWERCASE</b> -<a name="IDX497"></a> +<a name="IDX548"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_LOWERCASE</b> -<a name="IDX498"></a> +<a name="IDX549"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_TITLECASE</b> -<a name="IDX499"></a> +<a name="IDX550"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CASED</b> -<a name="IDX500"></a> +<a name="IDX551"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CASE_IGNORABLE</b> -<a name="IDX501"></a> +<a name="IDX552"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_LOWERCASED</b> -<a name="IDX502"></a> +<a name="IDX553"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_UPPERCASED</b> -<a name="IDX503"></a> +<a name="IDX554"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_TITLECASED</b> -<a name="IDX504"></a> +<a name="IDX555"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_CASEFOLDED</b> -<a name="IDX505"></a> +<a name="IDX556"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_CASEMAPPED</b> -<a name="IDX506"></a> +<a name="IDX557"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_SOFT_DOTTED</b> -<a name="IDX507"></a> +<a name="IDX558"></a>  </dt>  </dl> @@ -1641,28 +1810,28 @@ memory allocation.  It is not an array type.  </p>  <dl>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ID_START</b> -<a name="IDX508"></a> +<a name="IDX559"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_ID_START</b> -<a name="IDX509"></a> +<a name="IDX560"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ID_CONTINUE</b> -<a name="IDX510"></a> +<a name="IDX561"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_ID_CONTINUE</b> -<a name="IDX511"></a> +<a name="IDX562"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_XID_START</b> -<a name="IDX512"></a> +<a name="IDX563"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_XID_CONTINUE</b> -<a name="IDX513"></a> +<a name="IDX564"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PATTERN_WHITE_SPACE</b> -<a name="IDX514"></a> +<a name="IDX565"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PATTERN_SYNTAX</b> -<a name="IDX515"></a> +<a name="IDX566"></a>  </dt>  </dl> @@ -1670,19 +1839,19 @@ memory allocation.  It is not an array type.  </p>  <dl>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_JOIN_CONTROL</b> -<a name="IDX516"></a> +<a name="IDX567"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_GRAPHEME_BASE</b> -<a name="IDX517"></a> +<a name="IDX568"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_GRAPHEME_EXTEND</b> -<a name="IDX518"></a> +<a name="IDX569"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_GRAPHEME_EXTEND</b> -<a name="IDX519"></a> +<a name="IDX570"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_GRAPHEME_LINK</b> -<a name="IDX520"></a> +<a name="IDX571"></a>  </dt>  </dl> @@ -1690,55 +1859,55 @@ memory allocation.  It is not an array type.  </p>  <dl>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_CONTROL</b> -<a name="IDX521"></a> +<a name="IDX572"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_LEFT_TO_RIGHT</b> -<a name="IDX522"></a> +<a name="IDX573"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT</b> -<a name="IDX523"></a> +<a name="IDX574"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT</b> -<a name="IDX524"></a> +<a name="IDX575"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_EUROPEAN_DIGIT</b> -<a name="IDX525"></a> +<a name="IDX576"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR</b> -<a name="IDX526"></a> +<a name="IDX577"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR</b> -<a name="IDX527"></a> +<a name="IDX578"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_ARABIC_DIGIT</b> -<a name="IDX528"></a> +<a name="IDX579"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_COMMON_SEPARATOR</b> -<a name="IDX529"></a> +<a name="IDX580"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_BLOCK_SEPARATOR</b> -<a name="IDX530"></a> +<a name="IDX581"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_SEGMENT_SEPARATOR</b> -<a name="IDX531"></a> +<a name="IDX582"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_WHITESPACE</b> -<a name="IDX532"></a> +<a name="IDX583"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_NON_SPACING_MARK</b> -<a name="IDX533"></a> +<a name="IDX584"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL</b> -<a name="IDX534"></a> +<a name="IDX585"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_PDF</b> -<a name="IDX535"></a> +<a name="IDX586"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE</b> -<a name="IDX536"></a> +<a name="IDX587"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_OTHER_NEUTRAL</b> -<a name="IDX537"></a> +<a name="IDX588"></a>  </dt>  </dl> @@ -1746,10 +1915,10 @@ memory allocation.  It is not an array type.  </p>  <dl>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_HEX_DIGIT</b> -<a name="IDX538"></a> +<a name="IDX589"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ASCII_HEX_DIGIT</b> -<a name="IDX539"></a> +<a name="IDX590"></a>  </dt>  </dl> @@ -1757,19 +1926,42 @@ memory allocation.  It is not an array type.  </p>  <dl>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_IDEOGRAPHIC</b> -<a name="IDX540"></a> +<a name="IDX591"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_UNIFIED_IDEOGRAPH</b> -<a name="IDX541"></a> +<a name="IDX592"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_RADICAL</b> -<a name="IDX542"></a> +<a name="IDX593"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_IDS_BINARY_OPERATOR</b> -<a name="IDX543"></a> +<a name="IDX594"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_IDS_TRINARY_OPERATOR</b> -<a name="IDX544"></a> +<a name="IDX595"></a> +</dt> +</dl> + +<p>The following properties deal with pictographic symbols. +</p> +<dl> +<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI</b> +<a name="IDX596"></a> +</dt> +<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI_PRESENTATION</b> +<a name="IDX597"></a> +</dt> +<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI_MODIFIER</b> +<a name="IDX598"></a> +</dt> +<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI_MODIFIER_BASE</b> +<a name="IDX599"></a> +</dt> +<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI_COMPONENT</b> +<a name="IDX600"></a> +</dt> +<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EXTENDED_PICTOGRAPHIC</b> +<a name="IDX601"></a>  </dt>  </dl> @@ -1777,87 +1969,90 @@ memory allocation.  It is not an array type.  </p>  <dl>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ZERO_WIDTH</b> -<a name="IDX545"></a> +<a name="IDX602"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_SPACE</b> -<a name="IDX546"></a> +<a name="IDX603"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_NON_BREAK</b> -<a name="IDX547"></a> +<a name="IDX604"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ISO_CONTROL</b> -<a name="IDX548"></a> +<a name="IDX605"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_FORMAT_CONTROL</b> -<a name="IDX549"></a> +<a name="IDX606"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DASH</b> -<a name="IDX550"></a> +<a name="IDX607"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_HYPHEN</b> -<a name="IDX551"></a> +<a name="IDX608"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PUNCTUATION</b> -<a name="IDX552"></a> +<a name="IDX609"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_LINE_SEPARATOR</b> -<a name="IDX553"></a> +<a name="IDX610"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PARAGRAPH_SEPARATOR</b> -<a name="IDX554"></a> +<a name="IDX611"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_QUOTATION_MARK</b> -<a name="IDX555"></a> +<a name="IDX612"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_SENTENCE_TERMINAL</b> -<a name="IDX556"></a> +<a name="IDX613"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_TERMINAL_PUNCTUATION</b> -<a name="IDX557"></a> +<a name="IDX614"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CURRENCY_SYMBOL</b> -<a name="IDX558"></a> +<a name="IDX615"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_MATH</b> -<a name="IDX559"></a> +<a name="IDX616"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_MATH</b> -<a name="IDX560"></a> +<a name="IDX617"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PAIRED_PUNCTUATION</b> -<a name="IDX561"></a> +<a name="IDX618"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_LEFT_OF_PAIR</b> -<a name="IDX562"></a> +<a name="IDX619"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_COMBINING</b> -<a name="IDX563"></a> +<a name="IDX620"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_COMPOSITE</b> -<a name="IDX564"></a> +<a name="IDX621"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DECIMAL_DIGIT</b> -<a name="IDX565"></a> +<a name="IDX622"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_NUMERIC</b> -<a name="IDX566"></a> +<a name="IDX623"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DIACRITIC</b> -<a name="IDX567"></a> +<a name="IDX624"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EXTENDER</b> -<a name="IDX568"></a> +<a name="IDX625"></a>  </dt>  <dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_IGNORABLE_CONTROL</b> -<a name="IDX569"></a> +<a name="IDX626"></a> +</dt> +<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_REGIONAL_INDICATOR</b> +<a name="IDX627"></a>  </dt>  </dl>  <p>The following function looks up a property by its name.  </p>  <dl> -<dt><u>Function:</u> uc_property_t <b>uc_property_byname</b><i> (const char *<var>property_name</var>)</i> -<a name="IDX570"></a> +<dt><u>Function:</u> uc_property_t <b>uc_property_byname</b><i> (const char *<var>property_name</var>)</i> +<a name="IDX628"></a>  </dt>  <dd><p>Returns the property given by name, e.g. <code>"White space"</code>.  If a property  with the given name exists, the result will satisfy the @@ -1874,8 +2069,8 @@ can significantly increase the size of your application.  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_property_is_valid</b><i> (uc_property_t property)</i> -<a name="IDX571"></a> +<dt><u>Function:</u> bool <b>uc_property_is_valid</b><i> (uc_property_t property)</i> +<a name="IDX629"></a>  </dt>  <dd><p>Returns <code>true</code> when the given property is valid, or <code>false</code>  otherwise. @@ -1884,8 +2079,8 @@ otherwise.  <p>The following function views a property as a set of Unicode characters.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_property</b><i> (ucs4_t <var>uc</var>, uc_property_t <var>property</var>)</i> -<a name="IDX572"></a> +<dt><u>Function:</u> bool <b>uc_is_property</b><i> (ucs4_t <var>uc</var>, uc_property_t <var>property</var>)</i> +<a name="IDX630"></a>  </dt>  <dd><p>Tests whether the Unicode character <var>uc</var> has the given property.  </p></dd></dl> @@ -1893,310 +2088,336 @@ otherwise.  <hr size="6">  <a name="Properties-as-functions"></a>  <a name="SEC48"></a> -<h3 class="subsection"> <a href="libunistring.html#TOC48">8.9.2 Properties as functions – the functional API</a> </h3> +<h3 class="subsection"> <a href="libunistring_toc.html#TOC48">8.9.2 Properties as functions – the functional API</a> </h3>  <p>The following are general properties.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_property_white_space</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX573"></a> +<dt><u>Function:</u> bool <b>uc_is_property_white_space</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX631"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_alphabetic</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX574"></a> +<dt><u>Function:</u> bool <b>uc_is_property_alphabetic</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX632"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_other_alphabetic</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX575"></a> +<dt><u>Function:</u> bool <b>uc_is_property_other_alphabetic</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX633"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_not_a_character</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX576"></a> +<dt><u>Function:</u> bool <b>uc_is_property_not_a_character</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX634"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_default_ignorable_code_point</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX577"></a> +<dt><u>Function:</u> bool <b>uc_is_property_default_ignorable_code_point</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX635"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_other_default_ignorable_code_point</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX578"></a> +<dt><u>Function:</u> bool <b>uc_is_property_other_default_ignorable_code_point</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX636"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_deprecated</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX579"></a> +<dt><u>Function:</u> bool <b>uc_is_property_deprecated</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX637"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_logical_order_exception</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX580"></a> +<dt><u>Function:</u> bool <b>uc_is_property_logical_order_exception</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX638"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_variation_selector</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX581"></a> +<dt><u>Function:</u> bool <b>uc_is_property_variation_selector</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX639"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_private_use</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX582"></a> +<dt><u>Function:</u> bool <b>uc_is_property_private_use</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX640"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_unassigned_code_value</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX583"></a> +<dt><u>Function:</u> bool <b>uc_is_property_unassigned_code_value</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX641"></a>  </dt>  </dl>  <p>The following properties are related to case folding.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_property_uppercase</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX584"></a> +<dt><u>Function:</u> bool <b>uc_is_property_uppercase</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX642"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_other_uppercase</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX585"></a> +<dt><u>Function:</u> bool <b>uc_is_property_other_uppercase</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX643"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_lowercase</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX586"></a> +<dt><u>Function:</u> bool <b>uc_is_property_lowercase</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX644"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_other_lowercase</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX587"></a> +<dt><u>Function:</u> bool <b>uc_is_property_other_lowercase</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX645"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_titlecase</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX588"></a> +<dt><u>Function:</u> bool <b>uc_is_property_titlecase</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX646"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_cased</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX589"></a> +<dt><u>Function:</u> bool <b>uc_is_property_cased</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX647"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_case_ignorable</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX590"></a> +<dt><u>Function:</u> bool <b>uc_is_property_case_ignorable</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX648"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_changes_when_lowercased</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX591"></a> +<dt><u>Function:</u> bool <b>uc_is_property_changes_when_lowercased</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX649"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_changes_when_uppercased</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX592"></a> +<dt><u>Function:</u> bool <b>uc_is_property_changes_when_uppercased</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX650"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_changes_when_titlecased</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX593"></a> +<dt><u>Function:</u> bool <b>uc_is_property_changes_when_titlecased</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX651"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_changes_when_casefolded</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX594"></a> +<dt><u>Function:</u> bool <b>uc_is_property_changes_when_casefolded</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX652"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_changes_when_casemapped</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX595"></a> +<dt><u>Function:</u> bool <b>uc_is_property_changes_when_casemapped</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX653"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_soft_dotted</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX596"></a> +<dt><u>Function:</u> bool <b>uc_is_property_soft_dotted</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX654"></a>  </dt>  </dl>  <p>The following properties are related to identifiers.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_property_id_start</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX597"></a> +<dt><u>Function:</u> bool <b>uc_is_property_id_start</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX655"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_other_id_start</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX598"></a> +<dt><u>Function:</u> bool <b>uc_is_property_other_id_start</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX656"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_id_continue</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX599"></a> +<dt><u>Function:</u> bool <b>uc_is_property_id_continue</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX657"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_other_id_continue</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX600"></a> +<dt><u>Function:</u> bool <b>uc_is_property_other_id_continue</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX658"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_xid_start</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX601"></a> +<dt><u>Function:</u> bool <b>uc_is_property_xid_start</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX659"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_xid_continue</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX602"></a> +<dt><u>Function:</u> bool <b>uc_is_property_xid_continue</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX660"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_pattern_white_space</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX603"></a> +<dt><u>Function:</u> bool <b>uc_is_property_pattern_white_space</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX661"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_pattern_syntax</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX604"></a> +<dt><u>Function:</u> bool <b>uc_is_property_pattern_syntax</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX662"></a>  </dt>  </dl>  <p>The following properties have an influence on shaping and rendering.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_property_join_control</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX605"></a> +<dt><u>Function:</u> bool <b>uc_is_property_join_control</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX663"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_grapheme_base</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX606"></a> +<dt><u>Function:</u> bool <b>uc_is_property_grapheme_base</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX664"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_grapheme_extend</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX607"></a> +<dt><u>Function:</u> bool <b>uc_is_property_grapheme_extend</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX665"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_other_grapheme_extend</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX608"></a> +<dt><u>Function:</u> bool <b>uc_is_property_other_grapheme_extend</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX666"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_grapheme_link</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX609"></a> +<dt><u>Function:</u> bool <b>uc_is_property_grapheme_link</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX667"></a>  </dt>  </dl>  <p>The following properties relate to bidirectional reordering.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_control</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX610"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_control</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX668"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_left_to_right</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX611"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_left_to_right</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX669"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_hebrew_right_to_left</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX612"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_hebrew_right_to_left</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX670"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_arabic_right_to_left</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX613"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_arabic_right_to_left</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX671"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_european_digit</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX614"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_european_digit</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX672"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_eur_num_separator</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX615"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_eur_num_separator</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX673"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_eur_num_terminator</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX616"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_eur_num_terminator</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX674"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_arabic_digit</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX617"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_arabic_digit</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX675"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_common_separator</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX618"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_common_separator</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX676"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_block_separator</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX619"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_block_separator</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX677"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_segment_separator</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX620"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_segment_separator</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX678"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_whitespace</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX621"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_whitespace</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX679"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_non_spacing_mark</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX622"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_non_spacing_mark</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX680"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_boundary_neutral</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX623"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_boundary_neutral</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX681"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_pdf</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX624"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_pdf</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX682"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_embedding_or_override</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX625"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_embedding_or_override</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX683"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_bidi_other_neutral</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX626"></a> +<dt><u>Function:</u> bool <b>uc_is_property_bidi_other_neutral</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX684"></a>  </dt>  </dl>  <p>The following properties deal with number representations.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_property_hex_digit</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX627"></a> +<dt><u>Function:</u> bool <b>uc_is_property_hex_digit</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX685"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_ascii_hex_digit</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX628"></a> +<dt><u>Function:</u> bool <b>uc_is_property_ascii_hex_digit</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX686"></a>  </dt>  </dl>  <p>The following properties deal with CJK.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_property_ideographic</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX629"></a> +<dt><u>Function:</u> bool <b>uc_is_property_ideographic</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX687"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_unified_ideograph</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX630"></a> +<dt><u>Function:</u> bool <b>uc_is_property_unified_ideograph</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX688"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_radical</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX631"></a> +<dt><u>Function:</u> bool <b>uc_is_property_radical</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX689"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_ids_binary_operator</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX632"></a> +<dt><u>Function:</u> bool <b>uc_is_property_ids_binary_operator</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX690"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_ids_trinary_operator</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX633"></a> +<dt><u>Function:</u> bool <b>uc_is_property_ids_trinary_operator</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX691"></a> +</dt> +</dl> + +<p>The following properties deal with pictographic symbols. +</p> +<dl> +<dt><u>Function:</u> bool <b>uc_is_property_emoji</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX692"></a> +</dt> +<dt><u>Function:</u> bool <b>uc_is_property_emoji_presentation</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX693"></a> +</dt> +<dt><u>Function:</u> bool <b>uc_is_property_emoji_modifier</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX694"></a> +</dt> +<dt><u>Function:</u> bool <b>uc_is_property_emoji_modifier_base</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX695"></a> +</dt> +<dt><u>Function:</u> bool <b>uc_is_property_emoji_component</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX696"></a> +</dt> +<dt><u>Function:</u> bool <b>uc_is_property_extended_pictographic</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX697"></a>  </dt>  </dl>  <p>Other miscellaneous properties are:  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_property_zero_width</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX634"></a> +<dt><u>Function:</u> bool <b>uc_is_property_zero_width</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX698"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_space</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX635"></a> +<dt><u>Function:</u> bool <b>uc_is_property_space</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX699"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_non_break</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX636"></a> +<dt><u>Function:</u> bool <b>uc_is_property_non_break</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX700"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_iso_control</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX637"></a> +<dt><u>Function:</u> bool <b>uc_is_property_iso_control</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX701"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_format_control</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX638"></a> +<dt><u>Function:</u> bool <b>uc_is_property_format_control</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX702"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_dash</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX639"></a> +<dt><u>Function:</u> bool <b>uc_is_property_dash</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX703"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_hyphen</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX640"></a> +<dt><u>Function:</u> bool <b>uc_is_property_hyphen</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX704"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_punctuation</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX641"></a> +<dt><u>Function:</u> bool <b>uc_is_property_punctuation</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX705"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_line_separator</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX642"></a> +<dt><u>Function:</u> bool <b>uc_is_property_line_separator</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX706"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_paragraph_separator</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX643"></a> +<dt><u>Function:</u> bool <b>uc_is_property_paragraph_separator</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX707"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_quotation_mark</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX644"></a> +<dt><u>Function:</u> bool <b>uc_is_property_quotation_mark</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX708"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_sentence_terminal</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX645"></a> +<dt><u>Function:</u> bool <b>uc_is_property_sentence_terminal</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX709"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_terminal_punctuation</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX646"></a> +<dt><u>Function:</u> bool <b>uc_is_property_terminal_punctuation</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX710"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_currency_symbol</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX647"></a> +<dt><u>Function:</u> bool <b>uc_is_property_currency_symbol</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX711"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_math</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX648"></a> +<dt><u>Function:</u> bool <b>uc_is_property_math</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX712"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_other_math</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX649"></a> +<dt><u>Function:</u> bool <b>uc_is_property_other_math</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX713"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_paired_punctuation</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX650"></a> +<dt><u>Function:</u> bool <b>uc_is_property_paired_punctuation</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX714"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_left_of_pair</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX651"></a> +<dt><u>Function:</u> bool <b>uc_is_property_left_of_pair</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX715"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_combining</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX652"></a> +<dt><u>Function:</u> bool <b>uc_is_property_combining</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX716"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_composite</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX653"></a> +<dt><u>Function:</u> bool <b>uc_is_property_composite</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX717"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_decimal_digit</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX654"></a> +<dt><u>Function:</u> bool <b>uc_is_property_decimal_digit</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX718"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_numeric</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX655"></a> +<dt><u>Function:</u> bool <b>uc_is_property_numeric</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX719"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_diacritic</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX656"></a> +<dt><u>Function:</u> bool <b>uc_is_property_diacritic</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX720"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_extender</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX657"></a> +<dt><u>Function:</u> bool <b>uc_is_property_extender</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX721"></a>  </dt> -<dt><u>Function:</u> bool <b>uc_is_property_ignorable_control</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX658"></a> +<dt><u>Function:</u> bool <b>uc_is_property_ignorable_control</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX722"></a> +</dt> +<dt><u>Function:</u> bool <b>uc_is_property_regional_indicator</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX723"></a>  </dt>  </dl>  <hr size="6">  <a name="Scripts"></a>  <a name="SEC49"></a> -<h2 class="section"> <a href="libunistring.html#TOC49">8.10 Scripts</a> </h2> +<h2 class="section"> <a href="libunistring_toc.html#TOC49">8.10 Scripts</a> </h2>  <p>The Unicode characters are subdivided into scripts.  </p> @@ -2204,7 +2425,7 @@ otherwise.  </p>  <dl>  <dt><u>Type:</u> <b>uc_script_t</b> -<a name="IDX659"></a> +<a name="IDX724"></a>  </dt>  <dd><p>This data type is a structure type that refers to statically allocated  read-only data.  It contains the following fields: @@ -2214,20 +2435,20 @@ read-only data.  It contains the following fields:  <p>The <code>name</code> field contains the name of the script.  </p></dd></dl> -<a name="IDX660"></a> +<a name="IDX725"></a>  <p>The following functions look up a script.  </p>  <dl> -<dt><u>Function:</u> const uc_script_t * <b>uc_script</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX661"></a> +<dt><u>Function:</u> const uc_script_t * <b>uc_script</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX726"></a>  </dt>  <dd><p>Returns the script of a Unicode character.  Returns NULL if <var>uc</var> does not  belong to any script.  </p></dd></dl>  <dl> -<dt><u>Function:</u> const uc_script_t * <b>uc_script_byname</b><i> (const char *<var>script_name</var>)</i> -<a name="IDX662"></a> +<dt><u>Function:</u> const uc_script_t * <b>uc_script_byname</b><i> (const char *<var>script_name</var>)</i> +<a name="IDX727"></a>  </dt>  <dd><p>Returns the script given by its name, e.g. <code>"HAN"</code>.  Returns NULL if a  script with the given name does not exist. @@ -2236,8 +2457,8 @@ script with the given name does not exist.  <p>The following function views a script as a set of Unicode characters.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_script</b><i> (ucs4_t <var>uc</var>, const uc_script_t *<var>script</var>)</i> -<a name="IDX663"></a> +<dt><u>Function:</u> bool <b>uc_is_script</b><i> (ucs4_t <var>uc</var>, const uc_script_t *<var>script</var>)</i> +<a name="IDX728"></a>  </dt>  <dd><p>Tests whether a Unicode character belongs to a given script.  </p></dd></dl> @@ -2245,8 +2466,8 @@ script with the given name does not exist.  <p>The following gives a global picture of all scripts.  </p>  <dl> -<dt><u>Function:</u> void <b>uc_all_scripts</b><i> (const uc_script_t **<var>scripts</var>, size_t *<var>count</var>)</i> -<a name="IDX664"></a> +<dt><u>Function:</u> void <b>uc_all_scripts</b><i> (const uc_script_t **<var>scripts</var>, size_t *<var>count</var>)</i> +<a name="IDX729"></a>  </dt>  <dd><p>Get the list of all scripts.  Stores a pointer to an array of all scripts in  <code>*<var>scripts</var></code> and the length of this array in <code>*<var>count</var></code>. @@ -2255,7 +2476,7 @@ script with the given name does not exist.  <hr size="6">  <a name="Blocks"></a>  <a name="SEC50"></a> -<h2 class="section"> <a href="libunistring.html#TOC50">8.11 Blocks</a> </h2> +<h2 class="section"> <a href="libunistring_toc.html#TOC50">8.11 Blocks</a> </h2>  <p>The Unicode characters are subdivided into blocks.  A block is an interval of  Unicode code points. @@ -2264,7 +2485,7 @@ Unicode code points.  </p>  <dl>  <dt><u>Type:</u> <b>uc_block_t</b> -<a name="IDX665"></a> +<a name="IDX730"></a>  </dt>  <dd><p>This data type is a structure type that refers to statically allocated data.  It contains the following fields: @@ -2280,12 +2501,12 @@ const char *name;  <p>The <code>name</code> field is the name of the block.  </p></dd></dl> -<a name="IDX666"></a> +<a name="IDX731"></a>  <p>The following function looks up a block.  </p>  <dl> -<dt><u>Function:</u> const uc_block_t * <b>uc_block</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX667"></a> +<dt><u>Function:</u> const uc_block_t * <b>uc_block</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX732"></a>  </dt>  <dd><p>Returns the block a character belongs to.  </p></dd></dl> @@ -2293,8 +2514,8 @@ const char *name;  <p>The following function views a block as a set of Unicode characters.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_block</b><i> (ucs4_t <var>uc</var>, const uc_block_t *<var>block</var>)</i> -<a name="IDX668"></a> +<dt><u>Function:</u> bool <b>uc_is_block</b><i> (ucs4_t <var>uc</var>, const uc_block_t *<var>block</var>)</i> +<a name="IDX733"></a>  </dt>  <dd><p>Tests whether a Unicode character belongs to a given block.  </p></dd></dl> @@ -2302,8 +2523,8 @@ const char *name;  <p>The following gives a global picture of all block.  </p>  <dl> -<dt><u>Function:</u> void <b>uc_all_blocks</b><i> (const uc_block_t **<var>blocks</var>, size_t *<var>count</var>)</i> -<a name="IDX669"></a> +<dt><u>Function:</u> void <b>uc_all_blocks</b><i> (const uc_block_t **<var>blocks</var>, size_t *<var>count</var>)</i> +<a name="IDX734"></a>  </dt>  <dd><p>Get the list of all blocks.  Stores a pointer to an array of all blocks in  <code>*<var>blocks</var></code> and the length of this array in <code>*<var>count</var></code>. @@ -2312,21 +2533,21 @@ const char *name;  <hr size="6">  <a name="ISO-C-and-Java-syntax"></a>  <a name="SEC51"></a> -<h2 class="section"> <a href="libunistring.html#TOC51">8.12 ISO C and Java syntax</a> </h2> +<h2 class="section"> <a href="libunistring_toc.html#TOC51">8.12 ISO C and Java syntax</a> </h2>  <p>The following properties are taken from language standards.  The supported  language standards are ISO C 99 and Java.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_c_whitespace</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX670"></a> +<dt><u>Function:</u> bool <b>uc_is_c_whitespace</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX735"></a>  </dt>  <dd><p>Tests whether a Unicode character is considered whitespace in ISO C 99.  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_java_whitespace</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX671"></a> +<dt><u>Function:</u> bool <b>uc_is_java_whitespace</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX736"></a>  </dt>  <dd><p>Tests whether a Unicode character is considered whitespace in Java.  </p></dd></dl> @@ -2336,7 +2557,7 @@ language standards are ISO C 99 and Java.  </p>  <dl>  <dt><u>Constant:</u> int <b>UC_IDENTIFIER_START</b> -<a name="IDX672"></a> +<a name="IDX737"></a>  </dt>  <dd><p>This return value means that the given character is valid as first or  subsequent character in an identifier. @@ -2344,7 +2565,7 @@ subsequent character in an identifier.  <dl>  <dt><u>Constant:</u> int <b>UC_IDENTIFIER_VALID</b> -<a name="IDX673"></a> +<a name="IDX738"></a>  </dt>  <dd><p>This return value means that the given character is valid as subsequent  character only. @@ -2352,14 +2573,14 @@ character only.  <dl>  <dt><u>Constant:</u> int <b>UC_IDENTIFIER_INVALID</b> -<a name="IDX674"></a> +<a name="IDX739"></a>  </dt>  <dd><p>This return value means that the given character is not valid in an identifier.  </p></dd></dl>  <dl>  <dt><u>Constant:</u> int <b>UC_IDENTIFIER_IGNORABLE</b> -<a name="IDX675"></a> +<a name="IDX740"></a>  </dt>  <dd><p>This return value (only for Java) means that the given character is ignorable.  </p></dd></dl> @@ -2367,19 +2588,19 @@ character only.  <p>The following function determine whether a given character can be a constituent  of an identifier in the given programming language.  </p> -<a name="IDX676"></a> +<a name="IDX741"></a>  <dl> -<dt><u>Function:</u> int <b>uc_c_ident_category</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX677"></a> +<dt><u>Function:</u> int <b>uc_c_ident_category</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX742"></a>  </dt>  <dd><p>Returns the categorization of a Unicode character with respect to the ISO C 99  identifier syntax.  </p></dd></dl> -<a name="IDX678"></a> +<a name="IDX743"></a>  <dl> -<dt><u>Function:</u> int <b>uc_java_ident_category</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX679"></a> +<dt><u>Function:</u> int <b>uc_java_ident_category</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX744"></a>  </dt>  <dd><p>Returns the categorization of a Unicode character with respect to the Java  identifier syntax. @@ -2388,7 +2609,7 @@ identifier syntax.  <hr size="6">  <a name="Classifications-like-in-ISO-C"></a>  <a name="SEC52"></a> -<h2 class="section"> <a href="libunistring.html#TOC52">8.13 Classifications like in ISO C</a> </h2> +<h2 class="section"> <a href="libunistring_toc.html#TOC52">8.13 Classifications like in ISO C</a> </h2>  <p>The following character classifications mimic those declared in the ISO C  header files <code><ctype.h></code> and <code><wctype.h></code>.  These functions are @@ -2398,16 +2619,16 @@ they can be a quick-and-dirty porting aid when migrating from <code>wchar_t</cod  APIs to Unicode strings.  </p>  <dl> -<dt><u>Function:</u> bool <b>uc_is_alnum</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX680"></a> +<dt><u>Function:</u> bool <b>uc_is_alnum</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX745"></a>  </dt>  <dd><p>Tests for any character for which <code>uc_is_alpha</code> or <code>uc_is_digit</code> is  true.  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_alpha</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX681"></a> +<dt><u>Function:</u> bool <b>uc_is_alpha</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX746"></a>  </dt>  <dd><p>Tests for any character for which <code>uc_is_upper</code> or <code>uc_is_lower</code> is  true, or any character that is one of a locale-specific set of characters for @@ -2416,30 +2637,30 @@ which none of <code>uc_is_cntrl</code>, <code>uc_is_digit</code>, <code>uc_is_pu  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_cntrl</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX682"></a> +<dt><u>Function:</u> bool <b>uc_is_cntrl</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX747"></a>  </dt>  <dd><p>Tests for any control character.  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_digit</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX683"></a> +<dt><u>Function:</u> bool <b>uc_is_digit</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX748"></a>  </dt>  <dd><p>Tests for any character that corresponds to a decimal-digit character.  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_graph</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX684"></a> +<dt><u>Function:</u> bool <b>uc_is_graph</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX749"></a>  </dt>  <dd><p>Tests for any character for which <code>uc_is_print</code> is true and  <code>uc_is_space</code> is false.  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_lower</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX685"></a> +<dt><u>Function:</u> bool <b>uc_is_lower</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX750"></a>  </dt>  <dd><p>Tests for any character that corresponds to a lowercase letter or is one  of a locale-specific set of characters for which none of <code>uc_is_cntrl</code>, @@ -2447,23 +2668,23 @@ of a locale-specific set of characters for which none of <code>uc_is_cntrl</code  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_print</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX686"></a> +<dt><u>Function:</u> bool <b>uc_is_print</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX751"></a>  </dt>  <dd><p>Tests for any printing character.  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_punct</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX687"></a> +<dt><u>Function:</u> bool <b>uc_is_punct</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX752"></a>  </dt>  <dd><p>Tests for any printing character that is one of a locale-specific set of  characters for which neither <code>uc_is_space</code> nor <code>uc_is_alnum</code> is true.  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_space</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX688"></a> +<dt><u>Function:</u> bool <b>uc_is_space</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX753"></a>  </dt>  <dd><p>Test for any character that corresponds to a locale-specific set of characters  for which none of <code>uc_is_alnum</code>, <code>uc_is_graph</code>, or <code>uc_is_punct</code> @@ -2471,8 +2692,8 @@ is true.  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_upper</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX689"></a> +<dt><u>Function:</u> bool <b>uc_is_upper</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX754"></a>  </dt>  <dd><p>Tests for any character that corresponds to an uppercase letter or is one  of a locale-specific set of characters for which none of <code>uc_is_cntrl</code>, @@ -2480,15 +2701,15 @@ of a locale-specific set of characters for which none of <code>uc_is_cntrl</code  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_xdigit</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX690"></a> +<dt><u>Function:</u> bool <b>uc_is_xdigit</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX755"></a>  </dt>  <dd><p>Tests for any character that corresponds to a hexadecimal-digit character.  </p></dd></dl>  <dl> -<dt><u>Function:</u> bool <b>uc_is_blank</b><i> (ucs4_t <var>uc</var>)</i> -<a name="IDX691"></a> +<dt><u>Function:</u> bool <b>uc_is_blank</b><i> (ucs4_t <var>uc</var>)</i> +<a name="IDX756"></a>  </dt>  <dd><p>Tests for any character that corresponds to a standard blank character or  a locale-specific set of characters for which <code>uc_is_alnum</code> is false. @@ -2502,14 +2723,14 @@ a locale-specific set of characters for which <code>uc_is_alnum</code> is false.  <td valign="middle" align="left">   </td>  <td valign="middle" align="left">   </td>  <td valign="middle" align="left">   </td> -<td valign="middle" align="left">[<a href="libunistring.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> -<td valign="middle" align="left">[<a href="libunistring.html#SEC_Contents" title="Table of contents">Contents</a>]</td> -<td valign="middle" align="left">[<a href="libunistring_20.html#SEC91" title="Index">Index</a>]</td> +<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Top" title="Cover (top) of document">Top</a>]</td> +<td valign="middle" align="left">[<a href="libunistring_toc.html#SEC_Contents" title="Table of contents">Contents</a>]</td> +<td valign="middle" align="left">[<a href="libunistring_21.html#SEC92" title="Index">Index</a>]</td>  <td valign="middle" align="left">[<a href="libunistring_abt.html#SEC_About" title="About (help)"> ? </a>]</td>  </tr></table>  <p>   <font size="-1"> -  This document was generated by <em>Daiki Ueno</em> on <em>May, 25 2018</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>. +  This document was generated by <em>Bruno Haible</em> on <em>January, 2 2022</em> using <a href="https://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.   </font>   <br> | 
