Updated msys2

This commit is contained in:
gator96100 2019-08-16 02:06:21 +02:00
commit f0dc1ea8b0
13308 changed files with 689276 additions and 46605 deletions

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -43,7 +43,7 @@ ul.toc {list-style: none}
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[ &lt;&lt; ]</td>
<td valign="middle" align="left">[<a href="libunistring_2.html#SEC9" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_2.html#SEC8" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,7 +51,7 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
@ -113,8 +113,8 @@ in general, contain characters of all kinds of scripts. The text processing
functions provided by this library handle all scripts and all languages.
</p>
<p>libunistring is for you if your application already uses the ISO C / POSIX
<code>&lt;ctype.h&gt;</code>, <code>&lt;wctype.h&gt;</code> functions and the text it operates on is
provided by the user and can be in any language.
<a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/ctype.h.html"><code>&lt;ctype.h&gt;</code></a>, <a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/wctype.h.html"><code>&lt;wctype.h&gt;</code></a> functions and the text it
operates on is provided by the user and can be in any language.
</p>
<p>libunistring is also for you if your application uses Unicode strings as
internal in-memory representation.
@ -195,7 +195,7 @@ in multiple languages present in the same document or even in the same line
of text.
</p>
<p>But use of Unicode is not everything. Internationalization usually consists
of three features:
of four features:
</p><ul>
<li>
Use of Unicode where needed for text processing. This is what this library
@ -207,6 +207,10 @@ GNU gettext is about.
Use of locale specific conventions for date and time formats, for numeric
formatting, or for sorting of text. This can be done adequately with the
POSIX APIs and the implementation of locales in the GNU C library.
</li><li>
In graphical user interfaces, adapting the GUI to the default text direction
of the current locale (see
<a href="https://en.wikipedia.org/wiki/Right-to-left">right-to-left languages</a>).
</li></ul>
<hr size="6">
@ -221,7 +225,7 @@ yet universally implemented and not widely used.)
<a name="IDX7"></a>
The locale is partitioned into several aspects, called the &ldquo;categories&rdquo;
of the locale. The main various aspects are:
</p><ul class="toc">
</p><ul>
<li>
The character encoding and the character properties. This is the
<code>LC_CTYPE</code> category.
@ -259,7 +263,7 @@ this country earlier.
</p>
<p>The legacy locale encodings, ISO-8859-15 (which supplanted ISO-8859-1 in
most of Europe), ISO-8859-2, KOI8-R, EUC-JP, etc., are still in use in
many places, though.
some places, though.
</p>
<p>UTF-16 and UTF-32 are not used as locale encodings, because they are not
ASCII compatible.
@ -271,7 +275,7 @@ ASCII compatible.
<p>There are three ways of representing strings in memory of a running
program.
</p><ul class="toc">
</p><ul>
<li>
As &lsquo;<samp>char *</samp>&rsquo; strings. Such strings are represented in locale encoding.
This approach is employed when not much text processing is done by the
@ -285,9 +289,24 @@ a significant amount of text processing, or when the program has multiple
threads operating on the same data but in different locales.
</li><li>
As &lsquo;<samp>wchar_t *</samp>&rsquo;, a.k.a. &ldquo;wide strings&rdquo;. This approach is misguided,
see <a href="#SEC7">The <code>wchar_t</code> mess</a>.
see <a href="libunistring_18.html#SEC81">The <code>wchar_t</code> mess</a>.
</li></ul>
<p>Of course, a &lsquo;<samp>char *</samp>&rsquo; string can, in some cases, be encoded in UTF-8.
You will use the data type depending on what you can guarantee about how
it's encoded: If a string is encoded in the locale encoding, or if you
don't know how it's encoded, use &lsquo;<samp>char *</samp>&rsquo;. If, on the other hand,
you can <em>guarantee</em> that it is UTF-8 encoded, then you can use the
UTF-8 string type, <code>uint8_t *</code>, for it.
</p>
<p>The five types <code>char *</code>, <code>uint8_t *</code>, <code>uint16_t *</code>,
<code>uint32_t *</code>, and <code>wchar_t *</code> are incompatible types at the C
level. Therefore, &lsquo;<samp>gcc -Wall</samp>&rsquo; will produce a warning if, by mistake,
your code contains a mismatch between these types. In the context of
using GNU libunistring, even a warning about a mismatch between
<code>char *</code> and <code>uint8_t *</code> is a sign of a bug in your code
that you should not try to silence through a cast.
</p>
<hr size="6">
<a name="char-_002a-strings"></a>
<a name="SEC6"></a>
@ -318,75 +337,75 @@ using multibyte locales.
</p></td></tr></table>
<p>As a consequence:
</p><ul class="toc">
</p><ul>
<li>
The <code>&lt;ctype.h&gt;</code> API is useless in this context; it does not work in
The <a href="http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/ctype.h.html"><code>&lt;ctype.h&gt;</code></a> API is useless in this context; it does not work in
multibyte locales.
</li><li>
The <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strlen.html"><code>strlen</code></a> function does not return the number of characters
The <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strlen.html"><code>strlen</code></a> function does not return the number of characters
in a string. Nor does it return the number of screen columns occupied
by a string after it is output. It merely returns the number of
<em>bytes</em> occupied by a string.
</li><li>
Truncating a string, for example, with <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strncpy.html"><code>strncpy</code></a>, can have the
Truncating a string, for example, with <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strncpy.html"><code>strncpy</code></a>, can have the
effect of truncating it in the middle of a multibyte character. Such
a string will, when output, have a garbled character at its end, often
represented by a hollow box.
</li><li>
<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strchr.html"><code>strchr</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strrchr.html"><code>strrchr</code></a> do not work with multibyte strings
<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strchr.html"><code>strchr</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strrchr.html"><code>strrchr</code></a> do not work with multibyte strings
if the locale encoding is GB18030 and the character to be searched is
a digit.
</li><li>
<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strstr.html"><code>strstr</code></a> does not work with multibyte strings if the locale encoding
<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strstr.html"><code>strstr</code></a> does not work with multibyte strings if the locale encoding
is different from UTF-8.
</li><li>
<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strcspn.html"><code>strcspn</code></a>, <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strpbrk.html"><code>strpbrk</code></a>, <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strspn.html"><code>strspn</code></a> cannot work
<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcspn.html"><code>strcspn</code></a>, <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strpbrk.html"><code>strpbrk</code></a>, <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strspn.html"><code>strspn</code></a> cannot work
correctly in multibyte locales: they assume the second argument is a list of
single-byte characters. Even in this simple case, they do not work with
multibyte strings if the locale encoding is GB18030 and one of the
characters to be searched is a digit.
</li><li>
<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strsep.html"><code>strsep</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strtok_r.html"><code>strtok_r</code></a> do not work with multibyte strings
<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strsep.html"><code>strsep</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strtok_r.html"><code>strtok_r</code></a> do not work with multibyte strings
unless all of the delimiter characters are ASCII characters &lt; 0x30.
</li><li>
The <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strcasecmp.html"><code>strcasecmp</code></a>, <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strncasecmp.html"><code>strncasecmp</code></a>, and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strcasestr.html"><code>strcasestr</code></a>
The <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcasecmp.html"><code>strcasecmp</code></a>, <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strncasecmp.html"><code>strncasecmp</code></a>, and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcasestr.html"><code>strcasestr</code></a>
functions do not work with multibyte strings.
</li></ul>
<p>The workarounds can be found in GNU gnulib
<a href="http://www.gnu.org/software/gnulib/">http://www.gnu.org/software/gnulib/</a>.
</p><ul class="toc">
</p><ul>
<li>
gnulib has modules &lsquo;<samp>mbchar</samp>&rsquo;, &lsquo;<samp>mbiter</samp>&rsquo;, &lsquo;<samp>mbuiter</samp>&rsquo; that
represent multibyte characters and allow to iterate across a multibyte
string with the same ease as through a unibyte string.
</li><li>
gnulib has functions <code>mbslen</code> and <code>mbswidth</code> that can be
used instead of <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strlen.html"><code>strlen</code></a> when the number of characters or the
used instead of <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strlen.html"><code>strlen</code></a> when the number of characters or the
number of screen columns of a string is requested.
</li><li>
gnulib has functions <code>mbschr</code> and <code>mbsrrchr</code> that are
like <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strchr.html"><code>strchr</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strrchr.html"><code>strrchr</code></a>, but work in multibyte locales.
like <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strchr.html"><code>strchr</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strrchr.html"><code>strrchr</code></a>, but work in multibyte locales.
</li><li>
gnulib has a function <code>mbsstr</code>, like <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strstr.html"><code>strstr</code></a>, but works
gnulib has a function <code>mbsstr</code>, like <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strstr.html"><code>strstr</code></a>, but works
in multibyte locales.
</li><li>
gnulib has functions <code>mbscspn</code>, <code>mbspbrk</code>, <code>mbsspn</code>
that are like <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strcspn.html"><code>strcspn</code></a>, <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strpbrk.html"><code>strpbrk</code></a>, <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strspn.html"><code>strspn</code></a>, but
that are like <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcspn.html"><code>strcspn</code></a>, <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strpbrk.html"><code>strpbrk</code></a>, <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strspn.html"><code>strspn</code></a>, but
work in multibyte locales.
</li><li>
gnulib has functions <code>mbssep</code> and <code>mbstok_r</code> that are
like <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strsep.html"><code>strsep</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strtok_r.html"><code>strtok_r</code></a> but work in multibyte locales.
like <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strsep.html"><code>strsep</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strtok_r.html"><code>strtok_r</code></a> but work in multibyte locales.
</li><li>
gnulib has functions <code>mbscasecmp</code>, <code>mbsncasecmp</code>,
<code>mbspcasecmp</code>, and <code>mbscasestr</code> that are like <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strcasecmp.html"><code>strcasecmp</code></a>,
<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strncasecmp.html"><code>strncasecmp</code></a>, and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strcasestr.html"><code>strcasestr</code></a>, but
<code>mbspcasecmp</code>, and <code>mbscasestr</code> that are like <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcasecmp.html"><code>strcasecmp</code></a>,
<a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strncasecmp.html"><code>strncasecmp</code></a>, and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcasestr.html"><code>strcasestr</code></a>, but
work in multibyte locales. Still, the function <code>ulc_casecmp</code> is
preferable to these functions; see below.
</li></ul>
<p>The second problem with the C library API is that it has some assumptions built-in that are not valid in some languages:
</p><ul class="toc">
</p><ul>
<li>
It assumes that there are only two forms of every character: uppercase
and lowercase. This is not true for Croatian, where the character
@ -418,71 +437,18 @@ to view case transformations as functions that operates on strings,
rather than on characters.
</li></ol>
<p>This is implemented in this library, through the functions declared in <code>&lt;unicase.h&gt;</code>, see <a href="libunistring_14.html#SEC54">Case mappings <code>&lt;unicase.h&gt;</code></a>.
</p>
<hr size="6">
<a name="The-wchar_005ft-mess"></a>
<a name="SEC7"></a>
<h2 class="section"> <a href="libunistring.html#TOC7">1.6 The <code>wchar_t</code> mess</a> </h2>
<p>The ISO C and POSIX standard creators made an attempt to fix the first
problem mentioned in the previous section. They introduced
</p><ul class="toc">
<li>
a type &lsquo;<samp>wchar_t</samp>&rsquo;, designed to encapsulate an entire character,
</li><li>
a &ldquo;wide string&rdquo; type &lsquo;<samp>wchar_t *</samp>&rsquo;, and
</li><li>
functions declared in <code>&lt;wctype.h&gt;</code> that were meant to supplant the
ones in <code>&lt;ctype.h&gt;</code>.
</li></ul>
<p>Unfortunately, this API and its implementation has numerous problems:
</p>
<ul class="toc">
<li>
On AIX and Windows platforms, <code>wchar_t</code> is a 16-bit type. This
means that it can never accommodate an entire Unicode character. Either
the <code>wchar_t *</code> strings are limited to characters in UCS-2 (the
&ldquo;Basic Multilingual Plane&rdquo; of Unicode), or &mdash; if <code>wchar_t *</code>
strings are encoded in UTF-16 &mdash; a <code>wchar_t</code> represents only half
of a character in the worst case, making the <code>&lt;wctype.h&gt;</code> functions
pointless.
</li><li>
On Solaris and FreeBSD, the <code>wchar_t</code> encoding is locale dependent
and undocumented. This means, if you want to know any property of a
<code>wchar_t</code> character, other than the properties defined by
<code>&lt;wctype.h&gt;</code> &mdash; such as whether it's a dash, currency symbol,
paragraph separator, or similar &mdash;, you have to convert it to
<code>char *</code> encoding first, by use of the function <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wctomb.html"><code>wctomb</code></a>.
</li><li>
When you read a stream of wide characters, through the functions
<a href="http://www.opengroup.org/onlinepubs/9699919799/functions/fgetwc.html"><code>fgetwc</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/fgetws.html"><code>fgetws</code></a>, and when the input stream/file is
not in the expected encoding, you have no way to determine the invalid
byte sequence and do some corrective action. If you use these
functions, your program becomes &ldquo;garbage in - more garbage out&rdquo; or
&ldquo;garbage in - abort&rdquo;.
</li></ul>
<p>As a consequence, it is better to use multibyte strings, as explained in
the previous section. Such multibyte strings can bypass limitations
of the <code>wchar_t</code> type, if you use functions defined in gnulib and
libunistring for text processing. They can also faithfully transport
malformed characters that were present in the input, without requiring
the program to produce garbage or abort.
<p>This is implemented in this library, through the functions declared in <code>&lt;unicase.h&gt;</code>, see <a href="libunistring_14.html#SEC67">Case mappings <code>&lt;unicase.h&gt;</code></a>.
</p>
<hr size="6">
<a name="Unicode-strings"></a>
<a name="SEC8"></a>
<h2 class="section"> <a href="libunistring.html#TOC8">1.7 Unicode strings</a> </h2>
<a name="SEC7"></a>
<h2 class="section"> <a href="libunistring.html#TOC7">1.6 Unicode strings</a> </h2>
<p>libunistring supports Unicode strings in three representations:
<a name="IDX11"></a>
<a name="IDX12"></a>
<a name="IDX13"></a>
</p><ul class="toc">
</p><ul>
<li>
UTF-8 strings, through the type &lsquo;<samp>uint8_t *</samp>&rsquo;. The units are bytes
(<code>uint8_t</code>).
@ -495,7 +461,7 @@ memory words (<code>uint32_t</code>).
</li></ul>
<p>As with C strings, there are two variants:
</p><ul class="toc">
</p><ul>
<li>
Unicode strings with a terminating NUL character are represented as
a pointer to the first unit of the string. There is a unit containing
@ -512,7 +478,7 @@ zero-valued unit used as &ldquo;end marker&rdquo;.
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#SEC1" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_2.html#SEC9" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_2.html#SEC8" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -520,12 +486,12 @@ zero-valued unit used as &ldquo;end marker&rdquo;.
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_9.html#SEC40" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_11.html#SEC44" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_9.html#SEC53" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_11.html#SEC57" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="unigbrk_002eh"></a>
<a name="SEC41"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC41">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a> </h1>
<a name="SEC54"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC54">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a> </h1>
<p>This include file declares functions for determining where in a string
&ldquo;grapheme clusters&rdquo; start and end. A &ldquo;grapheme cluster&rdquo; is an
@ -85,40 +85,50 @@ clusters.
<hr size="6">
<a name="Grapheme-cluster-breaks-in-a-string"></a>
<a name="SEC42"></a>
<h2 class="section"> <a href="libunistring.html#TOC42">10.1 Grapheme cluster breaks in a string</a> </h2>
<a name="SEC55"></a>
<h2 class="section"> <a href="libunistring.html#TOC55">10.1 Grapheme cluster breaks in a string</a> </h2>
<p>The following functions find a single boundary between grapheme
clusters in a string.
</p>
<dl>
<dt><u>Function:</u> void <b>u8_grapheme_next</b><i> (const uint8_t *<var>s</var>, const uint8_t *<var>end</var>)</i>
<a name="IDX712"></a>
<a name="IDX703"></a>
</dt>
<dt><u>Function:</u> void <b>u16_grapheme_next</b><i> (const uint16_t *<var>s</var>, const uint16_t *<var>end</var>)</i>
<a name="IDX713"></a>
<a name="IDX704"></a>
</dt>
<dt><u>Function:</u> void <b>u32_grapheme_next</b><i> (const uint32_t *<var>s</var>, const uint32_t *<var>end</var>)</i>
<a name="IDX714"></a>
<a name="IDX705"></a>
</dt>
<dd><p>Returns the start of the next grapheme cluster following <var>s</var>,
or <var>end</var> if no grapheme cluster break is encountered before it.
Returns NULL if and only if <code><var>s</var> == <var>end</var></code>.
</p>
<p>Note that these functions do not handle the case when a character
outside of the range between <var>s</var> and <var>end</var> is needed to
determine the boundary. Use <code>_grapheme_breaks</code> functions for such
cases.
</p></dd></dl>
<dl>
<dt><u>Function:</u> void <b>u8_grapheme_prev</b><i> (const uint8_t *<var>s</var>, const uint8_t *<var>start</var>)</i>
<a name="IDX715"></a>
<a name="IDX706"></a>
</dt>
<dt><u>Function:</u> void <b>u16_grapheme_prev</b><i> (const uint16_t *<var>s</var>, const uint16_t *<var>start</var>)</i>
<a name="IDX716"></a>
<a name="IDX707"></a>
</dt>
<dt><u>Function:</u> void <b>u32_grapheme_prev</b><i> (const uint32_t *<var>s</var>, const uint32_t *<var>start</var>)</i>
<a name="IDX717"></a>
<a name="IDX708"></a>
</dt>
<dd><p>Returns the start of the grapheme cluster preceding <var>s</var>, or
<var>start</var> if no grapheme cluster break is encountered before it.
Returns NULL if and only if <code><var>s</var> == <var>start</var></code>.
</p>
<p>Note that these functions do not handle the case when a character
outside of the range between <var>start</var> and <var>s</var> is needed to
determine the boundary. Use <code>_grapheme_breaks</code> functions for such
cases.
</p></dd></dl>
<p>The following functions determine all of the grapheme cluster
@ -126,19 +136,22 @@ boundaries in a string.
</p>
<dl>
<dt><u>Function:</u> void <b>u8_grapheme_breaks</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, char *<var>p</var>)</i>
<a name="IDX718"></a>
<a name="IDX709"></a>
</dt>
<dt><u>Function:</u> void <b>u16_grapheme_breaks</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, char *<var>p</var>)</i>
<a name="IDX719"></a>
<a name="IDX710"></a>
</dt>
<dt><u>Function:</u> void <b>u32_grapheme_breaks</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, char *<var>p</var>)</i>
<a name="IDX720"></a>
<a name="IDX711"></a>
</dt>
<dt><u>Function:</u> void <b>ulc_grapheme_breaks</b><i> (const char *<var>s</var>, size_t <var>n</var>, char *<var>p</var>)</i>
<a name="IDX721"></a>
<a name="IDX712"></a>
</dt>
<dt><u>Function:</u> void <b>uc_grapheme_breaks</b><i> (const ucs_t *<var>s</var>, size_t <var>n</var>, char *<var>p</var>)</i>
<a name="IDX713"></a>
</dt>
<dd><p>Determines the grapheme cluster break points in <var>s</var>, an array of
<var>n</var> units, and stores the result at <code><var>p</var>[0..<var>n</var>-1]</code>.
<var>n</var> units, and stores the result at <code><var>p</var>[0..<var>nx</var>-1]</code>.
</p><dl compact="compact">
<dt> <code><var>p</var>[i] = 1</code></dt>
<dd><p>means that there is a grapheme cluster boundary between
@ -151,12 +164,19 @@ same grapheme cluster.
</dl>
<p><code><var>p</var>[0]</code> is always set to 1, because there is always a
grapheme cluster break at start of text.
</p>
<p>In addition to the above variants for UTF-8, UTF-16, and UTF-32 strings,
<code>&lt;unigbrk.h&gt;</code> provides another variant: <code>uc_grapheme_breaks</code>.
</p>
<p>This is similar to <code>u32_grapheme_breaks</code>, but it accepts any
characters which may not be represented in UTF-32, such as control
characters.
</p></dd></dl>
<hr size="6">
<a name="Grapheme-cluster-break-property"></a>
<a name="SEC43"></a>
<h2 class="section"> <a href="libunistring.html#TOC43">10.2 Grapheme cluster break property</a> </h2>
<a name="SEC56"></a>
<h2 class="section"> <a href="libunistring.html#TOC56">10.2 Grapheme cluster break property</a> </h2>
<p>This is a more low-level API. The grapheme cluster break property is a
property defined in Unicode Standard Annex #29, section &ldquo;Grapheme Cluster
@ -169,40 +189,58 @@ property. More values may be added in the future.
</p>
<dl>
<dt><u>Constant:</u> int <b>GBP_OTHER</b>
<a name="IDX722"></a>
<a name="IDX714"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_CR</b>
<a name="IDX723"></a>
<a name="IDX715"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_LF</b>
<a name="IDX724"></a>
<a name="IDX716"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_CONTROL</b>
<a name="IDX725"></a>
<a name="IDX717"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_EXTEND</b>
<a name="IDX726"></a>
<a name="IDX718"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_PREPEND</b>
<a name="IDX727"></a>
<a name="IDX719"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_SPACINGMARK</b>
<a name="IDX728"></a>
<a name="IDX720"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_L</b>
<a name="IDX729"></a>
<a name="IDX721"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_V</b>
<a name="IDX730"></a>
<a name="IDX722"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_T</b>
<a name="IDX731"></a>
<a name="IDX723"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_LV</b>
<a name="IDX732"></a>
<a name="IDX724"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_LVT</b>
<a name="IDX733"></a>
<a name="IDX725"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_RI</b>
<a name="IDX726"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_ZWJ</b>
<a name="IDX727"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_EB</b>
<a name="IDX728"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_EM</b>
<a name="IDX729"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_GAZ</b>
<a name="IDX730"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_EBG</b>
<a name="IDX731"></a>
</dt>
</dl>
@ -211,7 +249,7 @@ character.
</p>
<dl>
<dt><u>Function:</u> int <b>uc_graphemeclusterbreak_property</b><i> (ucs4_t <var>uc</var>)</i>
<a name="IDX734"></a>
<a name="IDX732"></a>
</dt>
<dd><p>Returns the Grapheme_Cluster_Break property of a Unicode character.
</p></dd></dl>
@ -222,7 +260,7 @@ the higher-level functions in the previous section are directly based.
</p>
<dl>
<dt><u>Function:</u> bool <b>uc_is_grapheme_break</b><i> (ucs4_t <var>a</var>, ucs4_t <var>b</var>)</i>
<a name="IDX735"></a>
<a name="IDX733"></a>
</dt>
<dd><p>Returns true if there is an grapheme cluster boundary between Unicode
characters <var>a</var> and <var>b</var>.
@ -234,11 +272,15 @@ of text, respectively.
<p>This implements the extended (not legacy) grapheme cluster rules
described in the Unicode standard, because the standard says that they
are preferred.
</p>
<p>Note that this function does not handle the case when three or more
consecutive characters are needed to determine the boundary. Use
<code>uc_grapheme_breaks</code> for such cases.
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#SEC41" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_11.html#SEC44" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="#SEC54" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_11.html#SEC57" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -246,12 +288,12 @@ are preferred.
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_10.html#SEC41" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_12.html#SEC47" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_10.html#SEC54" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_12.html#SEC60" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="uniwbrk_002eh"></a>
<a name="SEC44"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC44">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a> </h1>
<a name="SEC57"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC57">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a> </h1>
<p>This include file declares functions for determining where in a string
&ldquo;words&rdquo; start and end. Here &ldquo;words&rdquo; are not necessarily the same as
@ -69,23 +69,23 @@ operations.
<hr size="6">
<a name="Word-breaks-in-a-string"></a>
<a name="SEC45"></a>
<h2 class="section"> <a href="libunistring.html#TOC45">11.1 Word breaks in a string</a> </h2>
<a name="SEC58"></a>
<h2 class="section"> <a href="libunistring.html#TOC58">11.1 Word breaks in a string</a> </h2>
<p>The following functions determine the word breaks in a string.
</p>
<dl>
<dt><u>Function:</u> void <b>u8_wordbreaks</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, char *<var>p</var>)</i>
<a name="IDX736"></a>
<a name="IDX734"></a>
</dt>
<dt><u>Function:</u> void <b>u16_wordbreaks</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, char *<var>p</var>)</i>
<a name="IDX737"></a>
<a name="IDX735"></a>
</dt>
<dt><u>Function:</u> void <b>u32_wordbreaks</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, char *<var>p</var>)</i>
<a name="IDX738"></a>
<a name="IDX736"></a>
</dt>
<dt><u>Function:</u> void <b>ulc_wordbreaks</b><i> (const char *<var>s</var>, size_t <var>n</var>, char *<var>p</var>)</i>
<a name="IDX739"></a>
<a name="IDX737"></a>
</dt>
<dd><p>Determines the word break points in <var>s</var>, an array of <var>n</var> units, and
stores the result at <code><var>p</var>[0..<var>n</var>-1]</code>.
@ -106,8 +106,8 @@ word break to be present at the beginning of the string (before
<hr size="6">
<a name="Word-break-property"></a>
<a name="SEC46"></a>
<h2 class="section"> <a href="libunistring.html#TOC46">11.2 Word break property</a> </h2>
<a name="SEC59"></a>
<h2 class="section"> <a href="libunistring.html#TOC59">11.2 Word break property</a> </h2>
<p>This is a more low-level API. The word break property is a property defined
in Unicode Standard Annex #29, section &ldquo;Word Boundaries&rdquo;, see
@ -119,58 +119,85 @@ may be added in the future.
</p>
<dl>
<dt><u>Constant:</u> int <b>WBP_OTHER</b>
<a name="IDX740"></a>
<a name="IDX738"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_CR</b>
<a name="IDX741"></a>
<a name="IDX739"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_LF</b>
<a name="IDX742"></a>
<a name="IDX740"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_NEWLINE</b>
<a name="IDX743"></a>
<a name="IDX741"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EXTEND</b>
<a name="IDX744"></a>
<a name="IDX742"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_FORMAT</b>
<a name="IDX745"></a>
<a name="IDX743"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_KATAKANA</b>
<a name="IDX746"></a>
<a name="IDX744"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_ALETTER</b>
<a name="IDX747"></a>
<a name="IDX745"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_MIDNUMLET</b>
<a name="IDX748"></a>
<a name="IDX746"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_MIDLETTER</b>
<a name="IDX749"></a>
<a name="IDX747"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_MIDNUM</b>
<a name="IDX750"></a>
<a name="IDX748"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_NUMERIC</b>
<a name="IDX751"></a>
<a name="IDX749"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EXTENDNUMLET</b>
<a name="IDX750"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_RI</b>
<a name="IDX751"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_DQ</b>
<a name="IDX752"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_SQ</b>
<a name="IDX753"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_HL</b>
<a name="IDX754"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_ZWJ</b>
<a name="IDX755"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EB</b>
<a name="IDX756"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EM</b>
<a name="IDX757"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_GAZ</b>
<a name="IDX758"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EBG</b>
<a name="IDX759"></a>
</dt>
</dl>
<p>The following function looks up the word break property of a character.
</p>
<dl>
<dt><u>Function:</u> int <b>uc_wordbreak_property</b><i> (ucs4_t <var>uc</var>)</i>
<a name="IDX753"></a>
<a name="IDX760"></a>
</dt>
<dd><p>Returns the Word_Break property of a Unicode character.
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#SEC44" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_12.html#SEC47" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="#SEC57" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_12.html#SEC60" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -178,12 +205,12 @@ may be added in the future.
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_11.html#SEC44" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_13.html#SEC48" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_11.html#SEC57" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_13.html#SEC61" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="unilbrk_002eh"></a>
<a name="SEC47"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC47">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a> </h1>
<a name="SEC60"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a> </h1>
<p>This include file declares functions for determining where in a string
line breaks could or should be introduced, in order to make the displayed
@ -74,14 +74,14 @@ following meanings:
</p>
<dl>
<dt><u>Constant:</u> int <b>UC_BREAK_MANDATORY</b>
<a name="IDX754"></a>
<a name="IDX761"></a>
</dt>
<dd><p>This value indicates that <code><var>s</var>[<var>i</var>]</code> is a line break character.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_BREAK_POSSIBLE</b>
<a name="IDX755"></a>
<a name="IDX762"></a>
</dt>
<dd><p>This value indicates that a line break may be inserted between
<code><var>s</var>[<var>i</var>-1]</code> and <code><var>s</var>[<var>i</var>]</code>.
@ -89,7 +89,7 @@ following meanings:
<dl>
<dt><u>Constant:</u> int <b>UC_BREAK_HYPHENATION</b>
<a name="IDX756"></a>
<a name="IDX763"></a>
</dt>
<dd><p>This value indicates that a hyphen and a line break may be inserted between
<code><var>s</var>[<var>i</var>-1]</code> and <code><var>s</var>[<var>i</var>]</code>. But beware of language
@ -98,7 +98,7 @@ dependent hyphenation rules.
<dl>
<dt><u>Constant:</u> int <b>UC_BREAK_PROHIBITED</b>
<a name="IDX757"></a>
<a name="IDX764"></a>
</dt>
<dd><p>This value indicates that <code><var>s</var>[<var>i</var>-1]</code> and <code><var>s</var>[<var>i</var>]</code>
must not be separated.
@ -106,7 +106,7 @@ must not be separated.
<dl>
<dt><u>Constant:</u> int <b>UC_BREAK_UNDEFINED</b>
<a name="IDX758"></a>
<a name="IDX765"></a>
</dt>
<dd><p>This value is not used as a return value; rather, in the overriding argument of
the <code>u*_width_linebreaks</code> functions, it indicates the absence of an
@ -118,16 +118,16 @@ possible.
</p>
<dl>
<dt><u>Function:</u> void <b>u8_possible_linebreaks</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, const char *<var>encoding</var>, char *<var>p</var>)</i>
<a name="IDX759"></a>
<a name="IDX766"></a>
</dt>
<dt><u>Function:</u> void <b>u16_possible_linebreaks</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, const char *<var>encoding</var>, char *<var>p</var>)</i>
<a name="IDX760"></a>
<a name="IDX767"></a>
</dt>
<dt><u>Function:</u> void <b>u32_possible_linebreaks</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, const char *<var>encoding</var>, char *<var>p</var>)</i>
<a name="IDX761"></a>
<a name="IDX768"></a>
</dt>
<dt><u>Function:</u> void <b>ulc_possible_linebreaks</b><i> (const char *<var>s</var>, size_t <var>n</var>, const char *<var>encoding</var>, char *<var>p</var>)</i>
<a name="IDX762"></a>
<a name="IDX769"></a>
</dt>
<dd><p>Determines the line break points in <var>s</var>, and stores the result at
<code><var>p</var>[0..<var>n</var>-1]</code>. Every <code><var>p</var>[<var>i</var>]</code> is assigned one of
@ -141,19 +141,19 @@ non-proportional fonts.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_width_linebreaks</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, int <var>width</var>, int <var>start_column</var>, int <var>at_end_columns</var>, const char *<var>override</var>, const char *<var>encoding</var>, char *<var>p</var>)</i>
<a name="IDX763"></a>
<a name="IDX770"></a>
</dt>
<dt><u>Function:</u> int <b>u16_width_linebreaks</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, int <var>width</var>, int <var>start_column</var>, int <var>at_end_columns</var>, const char *<var>override</var>, const char *<var>encoding</var>, char *<var>p</var>)</i>
<a name="IDX764"></a>
<a name="IDX771"></a>
</dt>
<dt><u>Function:</u> int <b>u32_width_linebreaks</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, int <var>width</var>, int <var>start_column</var>, int <var>at_end_columns</var>, const char *<var>override</var>, const char *<var>encoding</var>, char *<var>p</var>)</i>
<a name="IDX765"></a>
<a name="IDX772"></a>
</dt>
<dt><u>Function:</u> int <b>ulc_width_linebreaks</b><i> (const char *<var>s</var>, size_t <var>n</var>, int <var>width</var>, int <var>start_column</var>, int <var>at_end_columns</var>, const char *<var>override</var>, const char *<var>encoding</var>, char *<var>p</var>)</i>
<a name="IDX766"></a>
<a name="IDX773"></a>
</dt>
<dd><p>Chooses the best line breaks, assuming that every character occupies a width
given by the <code>uc_width</code> function (see <a href="libunistring_9.html#SEC40">Display width <code>&lt;uniwidth.h&gt;</code></a>).
given by the <code>uc_width</code> function (see <a href="libunistring_9.html#SEC53">Display width <code>&lt;uniwidth.h&gt;</code></a>).
</p>
<p>The string is <code><var>s</var>[0..<var>n</var>-1]</code>.
</p>
@ -177,8 +177,8 @@ the values <code>UC_BREAK_MANDATORY</code>, <code>UC_BREAK_POSSIBLE</code>,
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_11.html#SEC44" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_13.html#SEC48" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_11.html#SEC57" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_13.html#SEC61" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -186,12 +186,12 @@ the values <code>UC_BREAK_MANDATORY</code>, <code>UC_BREAK_POSSIBLE</code>,
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_12.html#SEC47" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_14.html#SEC54" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_12.html#SEC60" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_14.html#SEC67" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="uninorm_002eh"></a>
<a name="SEC48"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC48">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a> </h1>
<a name="SEC61"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC61">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a> </h1>
<p>This include file defines functions for transforming Unicode strings to one
of the four normal forms, known as NFC, NFD, NKFC, NFKD. These
@ -68,29 +68,29 @@ of Unicode characters.
<hr size="6">
<a name="Decomposition-of-characters"></a>
<a name="SEC49"></a>
<h2 class="section"> <a href="libunistring.html#TOC49">13.1 Decomposition of Unicode characters</a> </h2>
<a name="SEC62"></a>
<h2 class="section"> <a href="libunistring.html#TOC62">13.1 Decomposition of Unicode characters</a> </h2>
<p>The following enumerated values are the possible types of decomposition of a
Unicode character.
</p>
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_CANONICAL</b>
<a name="IDX767"></a>
<a name="IDX774"></a>
</dt>
<dd><p>Denotes canonical decomposition.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_FONT</b>
<a name="IDX768"></a>
<a name="IDX775"></a>
</dt>
<dd><p>UCD marker: <code>&lt;font&gt;</code>. Denotes a font variant (e.g. a blackletter form).
</p></dd></dl>
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_NOBREAK</b>
<a name="IDX769"></a>
<a name="IDX776"></a>
</dt>
<dd><p>UCD marker: <code>&lt;noBreak&gt;</code>.
Denotes a no-break version of a space or hyphen.
@ -98,7 +98,7 @@ Denotes a no-break version of a space or hyphen.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_INITIAL</b>
<a name="IDX770"></a>
<a name="IDX777"></a>
</dt>
<dd><p>UCD marker: <code>&lt;initial&gt;</code>.
Denotes an initial presentation form (Arabic).
@ -106,7 +106,7 @@ Denotes an initial presentation form (Arabic).
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_MEDIAL</b>
<a name="IDX771"></a>
<a name="IDX778"></a>
</dt>
<dd><p>UCD marker: <code>&lt;medial&gt;</code>.
Denotes a medial presentation form (Arabic).
@ -114,7 +114,7 @@ Denotes a medial presentation form (Arabic).
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_FINAL</b>
<a name="IDX772"></a>
<a name="IDX779"></a>
</dt>
<dd><p>UCD marker: <code>&lt;final&gt;</code>.
Denotes a final presentation form (Arabic).
@ -122,7 +122,7 @@ Denotes a final presentation form (Arabic).
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_ISOLATED</b>
<a name="IDX773"></a>
<a name="IDX780"></a>
</dt>
<dd><p>UCD marker: <code>&lt;isolated&gt;</code>.
Denotes an isolated presentation form (Arabic).
@ -130,7 +130,7 @@ Denotes an isolated presentation form (Arabic).
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_CIRCLE</b>
<a name="IDX774"></a>
<a name="IDX781"></a>
</dt>
<dd><p>UCD marker: <code>&lt;circle&gt;</code>.
Denotes an encircled form.
@ -138,7 +138,7 @@ Denotes an encircled form.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_SUPER</b>
<a name="IDX775"></a>
<a name="IDX782"></a>
</dt>
<dd><p>UCD marker: <code>&lt;super&gt;</code>.
Denotes a superscript form.
@ -146,7 +146,7 @@ Denotes a superscript form.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_SUB</b>
<a name="IDX776"></a>
<a name="IDX783"></a>
</dt>
<dd><p>UCD marker: <code>&lt;sub&gt;</code>.
Denotes a subscript form.
@ -154,7 +154,7 @@ Denotes a subscript form.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_VERTICAL</b>
<a name="IDX777"></a>
<a name="IDX784"></a>
</dt>
<dd><p>UCD marker: <code>&lt;vertical&gt;</code>.
Denotes a vertical layout presentation form.
@ -162,7 +162,7 @@ Denotes a vertical layout presentation form.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_WIDE</b>
<a name="IDX778"></a>
<a name="IDX785"></a>
</dt>
<dd><p>UCD marker: <code>&lt;wide&gt;</code>.
Denotes a wide (or zenkaku) compatibility character.
@ -170,7 +170,7 @@ Denotes a wide (or zenkaku) compatibility character.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_NARROW</b>
<a name="IDX779"></a>
<a name="IDX786"></a>
</dt>
<dd><p>UCD marker: <code>&lt;narrow&gt;</code>.
Denotes a narrow (or hankaku) compatibility character.
@ -178,7 +178,7 @@ Denotes a narrow (or hankaku) compatibility character.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_SMALL</b>
<a name="IDX780"></a>
<a name="IDX787"></a>
</dt>
<dd><p>UCD marker: <code>&lt;small&gt;</code>.
Denotes a small variant form (CNS compatibility).
@ -186,7 +186,7 @@ Denotes a small variant form (CNS compatibility).
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_SQUARE</b>
<a name="IDX781"></a>
<a name="IDX788"></a>
</dt>
<dd><p>UCD marker: <code>&lt;square&gt;</code>.
Denotes a CJK squared font variant.
@ -194,7 +194,7 @@ Denotes a CJK squared font variant.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_FRACTION</b>
<a name="IDX782"></a>
<a name="IDX789"></a>
</dt>
<dd><p>UCD marker: <code>&lt;fraction&gt;</code>.
Denotes a vulgar fraction form.
@ -202,7 +202,7 @@ Denotes a vulgar fraction form.
<dl>
<dt><u>Constant:</u> int <b>UC_DECOMP_COMPAT</b>
<a name="IDX783"></a>
<a name="IDX790"></a>
</dt>
<dd><p>UCD marker: <code>&lt;compat&gt;</code>.
Denotes an otherwise unspecified compatibility character.
@ -213,7 +213,7 @@ Unicode character.
</p>
<dl>
<dt><u>Macro:</u> unsigned int <b>UC_DECOMPOSITION_MAX_LENGTH</b>
<a name="IDX784"></a>
<a name="IDX791"></a>
</dt>
<dd><p>This macro expands to a constant that is the required size of buffer passed to
the <code>uc_decomposition</code> and <code>uc_canonical_decomposition</code> functions.
@ -223,7 +223,7 @@ the <code>uc_decomposition</code> and <code>uc_canonical_decomposition</code> fu
</p>
<dl>
<dt><u>Function:</u> int <b>uc_decomposition</b><i> (ucs4_t <var>uc</var>, int *<var>decomp_tag</var>, ucs4_t *<var>decomposition</var>)</i>
<a name="IDX785"></a>
<a name="IDX792"></a>
</dt>
<dd><p>Returns the character decomposition mapping of the Unicode character <var>uc</var>.
<var>decomposition</var> must point to an array of at least
@ -236,7 +236,7 @@ returned.
<dl>
<dt><u>Function:</u> int <b>uc_canonical_decomposition</b><i> (ucs4_t <var>uc</var>, ucs4_t *<var>decomposition</var>)</i>
<a name="IDX786"></a>
<a name="IDX793"></a>
</dt>
<dd><p>Returns the canonical character decomposition mapping of the Unicode character
<var>uc</var>. <var>decomposition</var> must point to an array of at least
@ -244,19 +244,24 @@ returned.
</p>
<p>When a decomposition exists, <code><var>decomposition</var>[0..<var>n</var>-1]</code> is filled
and <var>n</var> is returned. Otherwise -1 is returned.
</p>
<p>Note: This function returns the (simple) &ldquo;canonical decomposition&rdquo; of
<var>uc</var>. If you want the &ldquo;full canonical decomposition&rdquo; of <var>uc</var>,
that is, the recursive application of &ldquo;canonical decomposition&rdquo;, use the
function <code>u*_normalize</code> with argument <code>UNINORM_NFD</code> instead.
</p></dd></dl>
<hr size="6">
<a name="Composition-of-characters"></a>
<a name="SEC50"></a>
<h2 class="section"> <a href="libunistring.html#TOC50">13.2 Composition of Unicode characters</a> </h2>
<a name="SEC63"></a>
<h2 class="section"> <a href="libunistring.html#TOC63">13.2 Composition of Unicode characters</a> </h2>
<p>The following function composes a Unicode character from two Unicode
characters.
</p>
<dl>
<dt><u>Function:</u> ucs4_t <b>uc_composition</b><i> (ucs4_t <var>uc1</var>, ucs4_t <var>uc2</var>)</i>
<a name="IDX787"></a>
<a name="IDX794"></a>
</dt>
<dd><p>Attempts to combine the Unicode characters <var>uc1</var>, <var>uc2</var>.
<var>uc1</var> is known to have canonical combining class 0.
@ -270,15 +275,15 @@ file &lsquo;<tt>CompositionExclusions.txt</tt>&rsquo; for details.
<hr size="6">
<a name="Normalization-of-strings"></a>
<a name="SEC51"></a>
<h2 class="section"> <a href="libunistring.html#TOC51">13.3 Normalization of strings</a> </h2>
<a name="SEC64"></a>
<h2 class="section"> <a href="libunistring.html#TOC64">13.3 Normalization of strings</a> </h2>
<p>The Unicode standard defines four normalization forms for Unicode strings.
The following type is used to denote a normalization form.
</p>
<dl>
<dt><u>Type:</u> <b>uninorm_t</b>
<a name="IDX788"></a>
<a name="IDX795"></a>
</dt>
<dd><p>An object of type <code>uninorm_t</code> denotes a Unicode normalization form.
This is a scalar type; its values can be compared with <code>==</code>.
@ -288,28 +293,28 @@ This is a scalar type; its values can be compared with <code>==</code>.
</p>
<dl>
<dt><u>Macro:</u> uninorm_t <b>UNINORM_NFD</b>
<a name="IDX789"></a>
<a name="IDX796"></a>
</dt>
<dd><p>Denotes Normalization form D: canonical decomposition.
</p></dd></dl>
<dl>
<dt><u>Macro:</u> uninorm_t <b>UNINORM_NFC</b>
<a name="IDX790"></a>
<a name="IDX797"></a>
</dt>
<dd><p>Normalization form C: canonical decomposition, then canonical composition.
</p></dd></dl>
<dl>
<dt><u>Macro:</u> uninorm_t <b>UNINORM_NFKD</b>
<a name="IDX791"></a>
<a name="IDX798"></a>
</dt>
<dd><p>Normalization form KD: compatibility decomposition.
</p></dd></dl>
<dl>
<dt><u>Macro:</u> uninorm_t <b>UNINORM_NFKC</b>
<a name="IDX792"></a>
<a name="IDX799"></a>
</dt>
<dd><p>Normalization form KC: compatibility decomposition, then canonical composition.
</p></dd></dl>
@ -318,21 +323,21 @@ This is a scalar type; its values can be compared with <code>==</code>.
</p>
<dl>
<dt><u>Function:</u> bool <b>uninorm_is_compat_decomposing</b><i> (uninorm_t <var>nf</var>)</i>
<a name="IDX793"></a>
<a name="IDX800"></a>
</dt>
<dd><p>Tests whether the normalization form <var>nf</var> does compatibility decomposition.
</p></dd></dl>
<dl>
<dt><u>Function:</u> bool <b>uninorm_is_composing</b><i> (uninorm_t <var>nf</var>)</i>
<a name="IDX794"></a>
<a name="IDX801"></a>
</dt>
<dd><p>Tests whether the normalization form <var>nf</var> includes canonical composition.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uninorm_t <b>uninorm_decomposing_form</b><i> (uninorm_t <var>nf</var>)</i>
<a name="IDX795"></a>
<a name="IDX802"></a>
</dt>
<dd><p>Returns the decomposing variant of the normalization form <var>nf</var>.
This maps NFC,NFD → NFD and NFKC,NFKD → NFKD.
@ -342,34 +347,37 @@ This maps NFC,NFD → NFD and NFKC,NFKD → NFKD.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_normalize</b><i> (uninorm_t <var>nf</var>, const uint8_t *<var>s</var>, size_t <var>n</var>, uint8_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX796"></a>
<a name="IDX803"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_normalize</b><i> (uninorm_t <var>nf</var>, const uint16_t *<var>s</var>, size_t <var>n</var>, uint16_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX797"></a>
<a name="IDX804"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_normalize</b><i> (uninorm_t <var>nf</var>, const uint32_t *<var>s</var>, size_t <var>n</var>, uint32_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX798"></a>
<a name="IDX805"></a>
</dt>
<dd><p>Returns the specified normalization form of a string.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<hr size="6">
<a name="Normalizing-comparisons"></a>
<a name="SEC52"></a>
<h2 class="section"> <a href="libunistring.html#TOC52">13.4 Normalizing comparisons</a> </h2>
<a name="SEC65"></a>
<h2 class="section"> <a href="libunistring.html#TOC65">13.4 Normalizing comparisons</a> </h2>
<p>The following functions compare Unicode string, ignoring differences in
normalization.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_normcmp</b><i> (const uint8_t *<var>s1</var>, size_t <var>n1</var>, const uint8_t *<var>s2</var>, size_t <var>n2</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX799"></a>
<a name="IDX806"></a>
</dt>
<dt><u>Function:</u> int <b>u16_normcmp</b><i> (const uint16_t *<var>s1</var>, size_t <var>n1</var>, const uint16_t *<var>s2</var>, size_t <var>n2</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX800"></a>
<a name="IDX807"></a>
</dt>
<dt><u>Function:</u> int <b>u32_normcmp</b><i> (const uint32_t *<var>s1</var>, size_t <var>n1</var>, const uint32_t *<var>s2</var>, size_t <var>n2</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX801"></a>
<a name="IDX808"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, ignoring differences in normalization.
</p>
@ -380,17 +388,17 @@ normalization.
Upon failure, returns -1 with <code>errno</code> set.
</p></dd></dl>
<a name="IDX802"></a>
<a name="IDX803"></a>
<a name="IDX809"></a>
<a name="IDX810"></a>
<dl>
<dt><u>Function:</u> char * <b>u8_normxfrm</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, uninorm_t <var>nf</var>, char *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX804"></a>
<a name="IDX811"></a>
</dt>
<dt><u>Function:</u> char * <b>u16_normxfrm</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, uninorm_t <var>nf</var>, char *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX805"></a>
<a name="IDX812"></a>
</dt>
<dt><u>Function:</u> char * <b>u32_normxfrm</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, uninorm_t <var>nf</var>, char *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX806"></a>
<a name="IDX813"></a>
</dt>
<dd><p>Converts the string <var>s</var> of length <var>n</var> to a NUL-terminated byte
sequence, in such a way that comparing <code>u8_normxfrm (<var>s1</var>)</code> and
@ -398,17 +406,20 @@ sequence, in such a way that comparing <code>u8_normxfrm (<var>s1</var>)</code>
comparing <var>s1</var> and <var>s2</var> with the <code>u8_normcoll</code> function.
</p>
<p><var>nf</var> must be either <code>UNINORM_NFC</code> or <code>UNINORM_NFKC</code>.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> int <b>u8_normcoll</b><i> (const uint8_t *<var>s1</var>, size_t <var>n1</var>, const uint8_t *<var>s2</var>, size_t <var>n2</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX807"></a>
<a name="IDX814"></a>
</dt>
<dt><u>Function:</u> int <b>u16_normcoll</b><i> (const uint16_t *<var>s1</var>, size_t <var>n1</var>, const uint16_t *<var>s2</var>, size_t <var>n2</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX808"></a>
<a name="IDX815"></a>
</dt>
<dt><u>Function:</u> int <b>u32_normcoll</b><i> (const uint32_t *<var>s1</var>, size_t <var>n1</var>, const uint32_t *<var>s2</var>, size_t <var>n2</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX809"></a>
<a name="IDX816"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, ignoring differences in normalization, using
the collation rules of the current locale.
@ -422,8 +433,8 @@ Upon failure, returns -1 with <code>errno</code> set.
<hr size="6">
<a name="Normalization-of-streams"></a>
<a name="SEC53"></a>
<h2 class="section"> <a href="libunistring.html#TOC53">13.5 Normalization of streams of Unicode characters</a> </h2>
<a name="SEC66"></a>
<h2 class="section"> <a href="libunistring.html#TOC66">13.5 Normalization of streams of Unicode characters</a> </h2>
<p>A &ldquo;stream of Unicode characters&rdquo; is essentially a function that accepts an
<code>ucs4_t</code> argument repeatedly, optionally combined with a function that
@ -431,7 +442,7 @@ Upon failure, returns -1 with <code>errno</code> set.
</p>
<dl>
<dt><u>Type:</u> <b>struct uninorm_filter</b>
<a name="IDX810"></a>
<a name="IDX817"></a>
</dt>
<dd><p>This is the data type of a stream of Unicode characters that normalizes its
input according to a given normalization form and passes the normalized
@ -440,7 +451,7 @@ character sequence to the encapsulated stream of Unicode characters.
<dl>
<dt><u>Function:</u> struct uninorm_filter * <b>uninorm_filter_create</b><i> (uninorm_t <var>nf</var>, int (*<var>stream_func</var>) (void *<var>stream_data</var>, ucs4_t <var>uc</var>), void *<var>stream_data</var>)</i>
<a name="IDX811"></a>
<a name="IDX818"></a>
</dt>
<dd><p>Creates and returns a normalization filter for Unicode characters.
</p>
@ -454,7 +465,7 @@ upon failure.
<dl>
<dt><u>Function:</u> int <b>uninorm_filter_write</b><i> (struct uninorm_filter *<var>filter</var>, ucs4_t <var>uc</var>)</i>
<a name="IDX812"></a>
<a name="IDX819"></a>
</dt>
<dd><p>Stuffs a Unicode character into a normalizing filter.
Returns 0 if successful, or -1 with <code>errno</code> set upon failure.
@ -462,7 +473,7 @@ Returns 0 if successful, or -1 with <code>errno</code> set upon failure.
<dl>
<dt><u>Function:</u> int <b>uninorm_filter_flush</b><i> (struct uninorm_filter *<var>filter</var>)</i>
<a name="IDX813"></a>
<a name="IDX820"></a>
</dt>
<dd><p>Brings data buffered in the filter to its destination, the encapsulated stream.
</p>
@ -475,7 +486,7 @@ will not necessarily be normalized.
<dl>
<dt><u>Function:</u> int <b>uninorm_filter_free</b><i> (struct uninorm_filter *<var>filter</var>)</i>
<a name="IDX814"></a>
<a name="IDX821"></a>
</dt>
<dd><p>Brings data buffered in the filter to its destination, the encapsulated stream,
then closes and frees the filter.
@ -484,8 +495,8 @@ then closes and frees the filter.
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#SEC48" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_14.html#SEC54" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="#SEC61" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_14.html#SEC67" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -493,12 +504,12 @@ then closes and frees the filter.
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_13.html#SEC48" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_15.html#SEC60" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_13.html#SEC61" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_15.html#SEC73" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="unicase_002eh"></a>
<a name="SEC54"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC54">14. Case mappings <code>&lt;unicase.h&gt;</code></a> </h1>
<a name="SEC67"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC67">14. Case mappings <code>&lt;unicase.h&gt;</code></a> </h1>
<p>This include file defines functions for case mapping for Unicode strings and
case insensitive comparison of Unicode strings and C strings.
@ -71,8 +71,8 @@ Greek sigma and the Lithuanian i correctly.
<hr size="6">
<a name="Case-mappings-of-characters"></a>
<a name="SEC55"></a>
<h2 class="section"> <a href="libunistring.html#TOC55">14.1 Case mappings of characters</a> </h2>
<a name="SEC68"></a>
<h2 class="section"> <a href="libunistring.html#TOC68">14.1 Case mappings of characters</a> </h2>
<p>The following functions implement case mappings on Unicode characters &mdash;
for those cases only where the result of the mapping is a again a single
@ -88,21 +88,21 @@ entire string at once and are language aware.
<dl>
<dt><u>Function:</u> ucs4_t <b>uc_toupper</b><i> (ucs4_t <var>uc</var>)</i>
<a name="IDX815"></a>
<a name="IDX822"></a>
</dt>
<dd><p>Returns the uppercase mapping of the Unicode character <var>uc</var>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> ucs4_t <b>uc_tolower</b><i> (ucs4_t <var>uc</var>)</i>
<a name="IDX816"></a>
<a name="IDX823"></a>
</dt>
<dd><p>Returns the lowercase mapping of the Unicode character <var>uc</var>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> ucs4_t <b>uc_totitle</b><i> (ucs4_t <var>uc</var>)</i>
<a name="IDX817"></a>
<a name="IDX824"></a>
</dt>
<dd><p>Returns the titlecase mapping of the Unicode character <var>uc</var>.
</p>
@ -138,8 +138,8 @@ Bosnian, and Serbian languages.
<hr size="6">
<a name="Case-mappings-of-strings"></a>
<a name="SEC56"></a>
<h2 class="section"> <a href="libunistring.html#TOC56">14.2 Case mappings of strings</a> </h2>
<a name="SEC69"></a>
<h2 class="section"> <a href="libunistring.html#TOC69">14.2 Case mappings of strings</a> </h2>
<p>Case mapping should always be performed on entire strings, not on individual
characters. The functions in this sections do so.
@ -151,14 +151,14 @@ a character, U+00C4 <small>LATIN CAPITAL LETTER A WITH DIAERESIS</small> and
U+0041 <small>LATIN CAPITAL LETTER A</small> U+0308 <small>COMBINING DIAERESIS</small> the same.
The <var>nf</var> argument designates the normalization.
</p>
<a name="IDX818"></a>
<a name="IDX825"></a>
<p>These functions are locale dependent. The <var>iso639_language</var> argument
identifies the language (e.g. <code>&quot;tr&quot;</code> for Turkish). NULL means to use
locale independent case mappings.
</p>
<dl>
<dt><u>Function:</u> const char * <b>uc_locale_language</b><i> ()</i>
<a name="IDX819"></a>
<a name="IDX826"></a>
</dt>
<dd><p>Returns the ISO 639 language code of the current locale.
Returns <code>&quot;&quot;</code> if it is unknown, or in the &quot;C&quot; locale.
@ -166,45 +166,51 @@ Returns <code>&quot;&quot;</code> if it is unknown, or in the &quot;C&quot; loca
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_toupper</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint8_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX820"></a>
<a name="IDX827"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_toupper</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint16_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX821"></a>
<a name="IDX828"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_toupper</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint32_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX822"></a>
<a name="IDX829"></a>
</dt>
<dd><p>Returns the uppercase mapping of a string.
</p>
<p>The <var>nf</var> argument identifies the normalization form to apply after the
case-mapping. It can also be NULL, for no normalization.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_tolower</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint8_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX823"></a>
<a name="IDX830"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_tolower</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint16_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX824"></a>
<a name="IDX831"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_tolower</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint32_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX825"></a>
<a name="IDX832"></a>
</dt>
<dd><p>Returns the lowercase mapping of a string.
</p>
<p>The <var>nf</var> argument identifies the normalization form to apply after the
case-mapping. It can also be NULL, for no normalization.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_totitle</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint8_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX826"></a>
<a name="IDX833"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_totitle</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint16_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX827"></a>
<a name="IDX834"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_totitle</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint32_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX828"></a>
<a name="IDX835"></a>
</dt>
<dd><p>Returns the titlecase mapping of a string.
</p>
@ -214,12 +220,15 @@ are being mapped to lower case.
</p>
<p>The <var>nf</var> argument identifies the normalization form to apply after the
case-mapping. It can also be NULL, for no normalization.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<hr size="6">
<a name="Case-mappings-of-substrings"></a>
<a name="SEC57"></a>
<h2 class="section"> <a href="libunistring.html#TOC57">14.3 Case mappings of substrings</a> </h2>
<a name="SEC70"></a>
<h2 class="section"> <a href="libunistring.html#TOC70">14.3 Case mappings of substrings</a> </h2>
<p>Case mapping of a substring cannot simply be performed by extracting the
substring and then applying the case mapping function to it. This does not
@ -230,7 +239,7 @@ precede it (the &ldquo;prefix&rdquo;) and the characters that follow it (the &ld
</p>
<dl>
<dt><u>Type:</u> <b>casing_prefix_context_t</b>
<a name="IDX829"></a>
<a name="IDX836"></a>
</dt>
<dd><p>This data type denotes the case-mapping context that is given by a prefix
string. It is an immediate type that can be copied by simple assignment,
@ -239,7 +248,7 @@ without involving memory allocation. It is not an array type.
<dl>
<dt><u>Constant:</u> casing_prefix_context_t <b>unicase_empty_prefix_context</b>
<a name="IDX830"></a>
<a name="IDX837"></a>
</dt>
<dd><p>This constant is the case-mapping context that corresponds to an empty prefix
string.
@ -249,26 +258,26 @@ string.
</p>
<dl>
<dt><u>Function:</u> casing_prefix_context_t <b>u8_casing_prefix_context</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX831"></a>
<a name="IDX838"></a>
</dt>
<dt><u>Function:</u> casing_prefix_context_t <b>u16_casing_prefix_context</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX832"></a>
<a name="IDX839"></a>
</dt>
<dt><u>Function:</u> casing_prefix_context_t <b>u32_casing_prefix_context</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX833"></a>
<a name="IDX840"></a>
</dt>
<dd><p>Returns the case-mapping context of a given prefix string.
</p></dd></dl>
<dl>
<dt><u>Function:</u> casing_prefix_context_t <b>u8_casing_prefixes_context</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>a_context</var>)</i>
<a name="IDX834"></a>
<a name="IDX841"></a>
</dt>
<dt><u>Function:</u> casing_prefix_context_t <b>u16_casing_prefixes_context</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>a_context</var>)</i>
<a name="IDX835"></a>
<a name="IDX842"></a>
</dt>
<dt><u>Function:</u> casing_prefix_context_t <b>u32_casing_prefixes_context</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>a_context</var>)</i>
<a name="IDX836"></a>
<a name="IDX843"></a>
</dt>
<dd><p>Returns the case-mapping context of the prefix concat(<var>a</var>, <var>s</var>),
given the case-mapping context of the prefix <var>a</var>.
@ -276,7 +285,7 @@ given the case-mapping context of the prefix <var>a</var>.
<dl>
<dt><u>Type:</u> <b>casing_suffix_context_t</b>
<a name="IDX837"></a>
<a name="IDX844"></a>
</dt>
<dd><p>This data type denotes the case-mapping context that is given by a suffix
string. It is an immediate type that can be copied by simple assignment,
@ -285,7 +294,7 @@ without involving memory allocation. It is not an array type.
<dl>
<dt><u>Constant:</u> casing_suffix_context_t <b>unicase_empty_suffix_context</b>
<a name="IDX838"></a>
<a name="IDX845"></a>
</dt>
<dd><p>This constant is the case-mapping context that corresponds to an empty suffix
string.
@ -295,26 +304,26 @@ string.
</p>
<dl>
<dt><u>Function:</u> casing_suffix_context_t <b>u8_casing_suffix_context</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX839"></a>
<a name="IDX846"></a>
</dt>
<dt><u>Function:</u> casing_suffix_context_t <b>u16_casing_suffix_context</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX840"></a>
<a name="IDX847"></a>
</dt>
<dt><u>Function:</u> casing_suffix_context_t <b>u32_casing_suffix_context</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX841"></a>
<a name="IDX848"></a>
</dt>
<dd><p>Returns the case-mapping context of a given suffix string.
</p></dd></dl>
<dl>
<dt><u>Function:</u> casing_suffix_context_t <b>u8_casing_suffixes_context</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, casing_suffix_context_t <var>a_context</var>)</i>
<a name="IDX842"></a>
<a name="IDX849"></a>
</dt>
<dt><u>Function:</u> casing_suffix_context_t <b>u16_casing_suffixes_context</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, casing_suffix_context_t <var>a_context</var>)</i>
<a name="IDX843"></a>
<a name="IDX850"></a>
</dt>
<dt><u>Function:</u> casing_suffix_context_t <b>u32_casing_suffixes_context</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, casing_suffix_context_t <var>a_context</var>)</i>
<a name="IDX844"></a>
<a name="IDX851"></a>
</dt>
<dd><p>Returns the case-mapping context of the suffix concat(<var>s</var>, <var>a</var>),
given the case-mapping context of the suffix <var>a</var>.
@ -325,44 +334,53 @@ prefix context and the suffix context.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_ct_toupper</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>prefix_context</var>, casing_suffix_context_t <var>suffix_context</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint8_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX845"></a>
<a name="IDX852"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_ct_toupper</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>prefix_context</var>, casing_suffix_context_t <var>suffix_context</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint16_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX846"></a>
<a name="IDX853"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_ct_toupper</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>prefix_context</var>, casing_suffix_context_t <var>suffix_context</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint32_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX847"></a>
<a name="IDX854"></a>
</dt>
<dd><p>Returns the uppercase mapping of a string that is surrounded by a prefix
and a suffix.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_ct_tolower</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>prefix_context</var>, casing_suffix_context_t <var>suffix_context</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint8_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX848"></a>
<a name="IDX855"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_ct_tolower</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>prefix_context</var>, casing_suffix_context_t <var>suffix_context</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint16_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX849"></a>
<a name="IDX856"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_ct_tolower</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>prefix_context</var>, casing_suffix_context_t <var>suffix_context</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint32_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX850"></a>
<a name="IDX857"></a>
</dt>
<dd><p>Returns the lowercase mapping of a string that is surrounded by a prefix
and a suffix.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_ct_totitle</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>prefix_context</var>, casing_suffix_context_t <var>suffix_context</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint8_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX851"></a>
<a name="IDX858"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_ct_totitle</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>prefix_context</var>, casing_suffix_context_t <var>suffix_context</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint16_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX852"></a>
<a name="IDX859"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_ct_totitle</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>prefix_context</var>, casing_suffix_context_t <var>suffix_context</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint32_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX853"></a>
<a name="IDX860"></a>
</dt>
<dd><p>Returns the titlecase mapping of a string that is surrounded by a prefix
and a suffix.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<p>For example, to uppercase the UTF-8 substring between <code>s + start_index</code>
@ -380,21 +398,21 @@ uint8_t result =
<hr size="6">
<a name="Case-insensitive-comparison"></a>
<a name="SEC58"></a>
<h2 class="section"> <a href="libunistring.html#TOC58">14.4 Case insensitive comparison</a> </h2>
<a name="SEC71"></a>
<h2 class="section"> <a href="libunistring.html#TOC71">14.4 Case insensitive comparison</a> </h2>
<p>The following functions implement comparison that ignores differences in case
and normalization.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_casefold</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint8_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX854"></a>
<a name="IDX861"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_casefold</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint16_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX855"></a>
<a name="IDX862"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_casefold</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint32_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX856"></a>
<a name="IDX863"></a>
</dt>
<dd><p>Returns the case folded string.
</p>
@ -404,34 +422,40 @@ with the <code>u8_cmp2</code> function is equivalent to comparing <var>s1</var>
</p>
<p>The <var>nf</var> argument identifies the normalization form to apply after the
case-mapping. It can also be NULL, for no normalization.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_ct_casefold</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>prefix_context</var>, casing_suffix_context_t <var>suffix_context</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint8_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX857"></a>
<a name="IDX864"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_ct_casefold</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>prefix_context</var>, casing_suffix_context_t <var>suffix_context</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint16_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX858"></a>
<a name="IDX865"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_ct_casefold</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, casing_prefix_context_t <var>prefix_context</var>, casing_suffix_context_t <var>suffix_context</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, uint32_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX859"></a>
<a name="IDX866"></a>
</dt>
<dd><p>Returns the case folded string. The case folding takes into account the
case mapping contexts of the prefix and suffix strings.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> int <b>u8_casecmp</b><i> (const uint8_t *<var>s1</var>, size_t <var>n1</var>, const uint8_t *<var>s2</var>, size_t <var>n2</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX860"></a>
<a name="IDX867"></a>
</dt>
<dt><u>Function:</u> int <b>u16_casecmp</b><i> (const uint16_t *<var>s1</var>, size_t <var>n1</var>, const uint16_t *<var>s2</var>, size_t <var>n2</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX861"></a>
<a name="IDX868"></a>
</dt>
<dt><u>Function:</u> int <b>u32_casecmp</b><i> (const uint32_t *<var>s1</var>, size_t <var>n1</var>, const uint32_t *<var>s2</var>, size_t <var>n2</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX862"></a>
<a name="IDX869"></a>
</dt>
<dt><u>Function:</u> int <b>ulc_casecmp</b><i> (const char *<var>s1</var>, size_t <var>n1</var>, const char *<var>s2</var>, size_t <var>n2</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX863"></a>
<a name="IDX870"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, ignoring differences in case and normalization.
</p>
@ -443,25 +467,25 @@ case-mapping. It can also be NULL, for no normalization.
Upon failure, returns -1 with <code>errno</code> set.
</p></dd></dl>
<a name="IDX864"></a>
<a name="IDX865"></a>
<a name="IDX866"></a>
<a name="IDX867"></a>
<a name="IDX871"></a>
<a name="IDX872"></a>
<a name="IDX873"></a>
<a name="IDX874"></a>
<p>The following functions additionally take into account the sorting rules of the
current locale.
</p>
<dl>
<dt><u>Function:</u> char * <b>u8_casexfrm</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, char *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX868"></a>
<a name="IDX875"></a>
</dt>
<dt><u>Function:</u> char * <b>u16_casexfrm</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, char *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX869"></a>
<a name="IDX876"></a>
</dt>
<dt><u>Function:</u> char * <b>u32_casexfrm</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, char *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX870"></a>
<a name="IDX877"></a>
</dt>
<dt><u>Function:</u> char * <b>ulc_casexfrm</b><i> (const char *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, char *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX871"></a>
<a name="IDX878"></a>
</dt>
<dd><p>Converts the string <var>s</var> of length <var>n</var> to a NUL-terminated byte
sequence, in such a way that comparing <code>u8_casexfrm (<var>s1</var>)</code> and
@ -470,20 +494,23 @@ equivalent to comparing <var>s1</var> and <var>s2</var> with <code>u8_casecoll</
</p>
<p><var>nf</var> must be either <code>UNINORM_NFC</code>, <code>UNINORM_NFKC</code>, or NULL for
no normalization.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> int <b>u8_casecoll</b><i> (const uint8_t *<var>s1</var>, size_t <var>n1</var>, const uint8_t *<var>s2</var>, size_t <var>n2</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX872"></a>
<a name="IDX879"></a>
</dt>
<dt><u>Function:</u> int <b>u16_casecoll</b><i> (const uint16_t *<var>s1</var>, size_t <var>n1</var>, const uint16_t *<var>s2</var>, size_t <var>n2</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX873"></a>
<a name="IDX880"></a>
</dt>
<dt><u>Function:</u> int <b>u32_casecoll</b><i> (const uint32_t *<var>s1</var>, size_t <var>n1</var>, const uint32_t *<var>s2</var>, size_t <var>n2</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX874"></a>
<a name="IDX881"></a>
</dt>
<dt><u>Function:</u> int <b>ulc_casecoll</b><i> (const char *<var>s1</var>, size_t <var>n1</var>, const char *<var>s2</var>, size_t <var>n2</var>, const char *<var>iso639_language</var>, uninorm_t <var>nf</var>, int *<var>resultp</var>)</i>
<a name="IDX875"></a>
<a name="IDX882"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, ignoring differences in case and normalization,
using the collation rules of the current locale.
@ -499,8 +526,8 @@ Upon failure, returns -1 with <code>errno</code> set.
<hr size="6">
<a name="Case-detection"></a>
<a name="SEC59"></a>
<h2 class="section"> <a href="libunistring.html#TOC59">14.5 Case detection</a> </h2>
<a name="SEC72"></a>
<h2 class="section"> <a href="libunistring.html#TOC72">14.5 Case detection</a> </h2>
<p>The following functions determine whether a Unicode string is entirely in
upper case. or entirely in lower case, or entirely in title case, or already
@ -508,13 +535,13 @@ case-folded.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_is_uppercase</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX876"></a>
<a name="IDX883"></a>
</dt>
<dt><u>Function:</u> int <b>u16_is_uppercase</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX877"></a>
<a name="IDX884"></a>
</dt>
<dt><u>Function:</u> int <b>u32_is_uppercase</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX878"></a>
<a name="IDX885"></a>
</dt>
<dd><p>Sets <code>*<var>resultp</var></code> to true if mapping NFD(<var>s</var>) to upper case is
a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
@ -523,13 +550,13 @@ a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
<dl>
<dt><u>Function:</u> int <b>u8_is_lowercase</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX879"></a>
<a name="IDX886"></a>
</dt>
<dt><u>Function:</u> int <b>u16_is_lowercase</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX880"></a>
<a name="IDX887"></a>
</dt>
<dt><u>Function:</u> int <b>u32_is_lowercase</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX881"></a>
<a name="IDX888"></a>
</dt>
<dd><p>Sets <code>*<var>resultp</var></code> to true if mapping NFD(<var>s</var>) to lower case is
a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
@ -538,13 +565,13 @@ a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
<dl>
<dt><u>Function:</u> int <b>u8_is_titlecase</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX882"></a>
<a name="IDX889"></a>
</dt>
<dt><u>Function:</u> int <b>u16_is_titlecase</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX883"></a>
<a name="IDX890"></a>
</dt>
<dt><u>Function:</u> int <b>u32_is_titlecase</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX884"></a>
<a name="IDX891"></a>
</dt>
<dd><p>Sets <code>*<var>resultp</var></code> to true if mapping NFD(<var>s</var>) to title case is
a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
@ -553,13 +580,13 @@ a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
<dl>
<dt><u>Function:</u> int <b>u8_is_casefolded</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX885"></a>
<a name="IDX892"></a>
</dt>
<dt><u>Function:</u> int <b>u16_is_casefolded</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX886"></a>
<a name="IDX893"></a>
</dt>
<dt><u>Function:</u> int <b>u32_is_casefolded</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX887"></a>
<a name="IDX894"></a>
</dt>
<dd><p>Sets <code>*<var>resultp</var></code> to true if applying case folding to NFD(<var>S</var>) is
a no-op, or to false otherwise, and returns 0. Upon failure, returns -1 with
@ -571,13 +598,13 @@ Unicode string.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_is_cased</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX888"></a>
<a name="IDX895"></a>
</dt>
<dt><u>Function:</u> int <b>u16_is_cased</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX889"></a>
<a name="IDX896"></a>
</dt>
<dt><u>Function:</u> int <b>u32_is_cased</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, const char *<var>iso639_language</var>, bool *<var>resultp</var>)</i>
<a name="IDX890"></a>
<a name="IDX897"></a>
</dt>
<dd><p>Sets <code>*<var>resultp</var></code> to true if case matters for <var>s</var>, that is, if
mapping NFD(<var>s</var>) to either upper case or lower case or title case is not
@ -588,8 +615,8 @@ characters. Upon failure, returns -1 with <code>errno</code> set.
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#SEC54" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_15.html#SEC60" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="#SEC67" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_15.html#SEC73" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -597,12 +624,12 @@ characters. Upon failure, returns -1 with <code>errno</code> set.
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_14.html#SEC54" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_16.html#SEC61" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_14.html#SEC67" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_16.html#SEC74" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,21 +51,21 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="uniregex_002eh"></a>
<a name="SEC60"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC60">15. Regular expressions <code>&lt;uniregex.h&gt;</code></a> </h1>
<a name="SEC73"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC73">15. Regular expressions <code>&lt;uniregex.h&gt;</code></a> </h1>
<p>This include file is not yet implemented.
</p>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_14.html#SEC54" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_16.html#SEC61" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_14.html#SEC67" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_16.html#SEC74" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -73,12 +73,12 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_15.html#SEC60" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_17.html#SEC67" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_15.html#SEC73" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_17.html#SEC80" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="Using-the-library"></a>
<a name="SEC61"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC61">16. Using the library</a> </h1>
<a name="SEC74"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC74">16. Using the library</a> </h1>
<p>This chapter explains some practical considerations, regarding the
installation and compiler options that are needed in order to use this
@ -67,22 +67,22 @@ library.
<hr size="6">
<a name="Installation"></a>
<a name="SEC62"></a>
<h2 class="section"> <a href="libunistring.html#TOC62">16.1 Installation</a> </h2>
<a name="SEC75"></a>
<h2 class="section"> <a href="libunistring.html#TOC75">16.1 Installation</a> </h2>
<p>Before you can use the library, it must be installed. First, you have to
make sure all dependencies are installed. They are listed in the file
&lsquo;<tt>DEPENDENCIES</tt>&rsquo;.
</p>
<a name="IDX891"></a>
<a name="IDX898"></a>
<p>Then you can proceed to build and install the library, as described in the
file &lsquo;<tt>INSTALL</tt>&rsquo;. For installation on Windows systems, please refer to
the file &lsquo;<tt>README.windows</tt>&rsquo;.
the file &lsquo;<tt>INSTALL.windows</tt>&rsquo;.
</p>
<hr size="6">
<a name="Compiler-options"></a>
<a name="SEC63"></a>
<h2 class="section"> <a href="libunistring.html#TOC63">16.2 Compiler options</a> </h2>
<a name="SEC76"></a>
<h2 class="section"> <a href="libunistring.html#TOC76">16.2 Compiler options</a> </h2>
<p>Let's denote as <code>LIBUNISTRING_PREFIX</code> the value of the &lsquo;<samp>--prefix</samp>&rsquo;
option that you passed to <code>configure</code> while installing this package.
@ -103,7 +103,7 @@ in 64-bit mode on a 64-bit GNU/Linux system that supports executables
in either 64-bit mode or 32-bit mode, you should have used the option
<code>--libdir=${LIBUNISTRING_PREFIX}/lib64</code>.
</p>
<a name="IDX892"></a>
<a name="IDX899"></a>
<p>So that the compiler finds the include files, you have to pass it the
option <code>-I${LIBUNISTRING_INCLUDEDIR}</code>.
</p>
@ -111,13 +111,13 @@ option <code>-I${LIBUNISTRING_INCLUDEDIR}</code>.
to pass it the options <code>-L${LIBUNISTRING_LIBDIR} -lunistring</code>.
On some systems, in some configurations, you also have to pass options
needed for linking with <code>libiconv</code>. The autoconf macro
<code>gl_LIBUNISTRING</code> (see <a href="#SEC65">Autoconf macro</a>) deals with this
<code>gl_LIBUNISTRING</code> (see <a href="#SEC78">Autoconf macro</a>) deals with this
particularity.
</p>
<hr size="6">
<a name="Include-files"></a>
<a name="SEC64"></a>
<h2 class="section"> <a href="libunistring.html#TOC64">16.3 Include files</a> </h2>
<a name="SEC77"></a>
<h2 class="section"> <a href="libunistring.html#TOC77">16.3 Include files</a> </h2>
<p>Most of the include files have been presented in the introduction, see
<a href="libunistring_1.html#SEC1">Introduction</a>, and subsequent detailed chapters.
@ -127,7 +127,7 @@ version number of the libunistring library.
</p>
<dl>
<dt><u>Macro:</u> int <b>_LIBUNISTRING_VERSION</b>
<a name="IDX893"></a>
<a name="IDX900"></a>
</dt>
<dd><p>This constant contains the version of libunistring that is being used
at compile time. It encodes the major and minor parts of the version
@ -136,7 +136,7 @@ number only. These parts are encoded in the form <code>(major&lt;&lt;8) + minor
<dl>
<dt><u>Constant:</u> int <b>_libunistring_version</b>
<a name="IDX894"></a>
<a name="IDX901"></a>
</dt>
<dd><p>This constant contains the version of libunistring that is being used
at run time. It encodes the major and minor parts of the version
@ -151,15 +151,15 @@ that uses <code>libunistring</code> was installed.
</p>
<hr size="6">
<a name="Autoconf-macro"></a>
<a name="SEC65"></a>
<h2 class="section"> <a href="libunistring.html#TOC65">16.4 Autoconf macro</a> </h2>
<a name="SEC78"></a>
<h2 class="section"> <a href="libunistring.html#TOC78">16.4 Autoconf macro</a> </h2>
<p>GNU Gnulib provides an autoconf macro that tests for the availability
of <code>libunistring</code>. It is contained in the Gnulib module
&lsquo;<samp>libunistring</samp>&rsquo;, see
<a href="http://www.gnu.org/software/gnulib/MODULES.html#module=libunistring">http://www.gnu.org/software/gnulib/MODULES.html#module=libunistring</a>.
</p>
<a name="IDX895"></a>
<a name="IDX902"></a>
<p>The macro is called <code>gl_LIBUNISTRING</code>. It searches for an installed
libunistring. If found, it sets and AC_SUBSTs <code>HAVE_LIBUNISTRING=yes</code>
and the <code>LIBUNISTRING</code> and <code>LTLIBUNISTRING</code> variables and augments
@ -191,8 +191,8 @@ on most systems.
<hr size="6">
<a name="Reporting-problems"></a>
<a name="SEC66"></a>
<h2 class="section"> <a href="libunistring.html#TOC66">16.5 Reporting problems</a> </h2>
<a name="SEC79"></a>
<h2 class="section"> <a href="libunistring.html#TOC79">16.5 Reporting problems</a> </h2>
<p>If you encounter any problem, please don't hesitate to send a detailed
bug report to the <code>bug-libunistring@gnu.org</code> mailing list. You can
@ -209,8 +209,8 @@ a description of the options that you passed to the &lsquo;<samp>configure</samp
</p>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#SEC61" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_17.html#SEC67" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="#SEC74" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_17.html#SEC80" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -218,12 +218,12 @@ a description of the options that you passed to the &lsquo;<samp>configure</samp
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_16.html#SEC61" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_18.html#SEC68" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_16.html#SEC74" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_18.html#SEC81" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,27 +51,27 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="More-functionality"></a>
<a name="SEC67"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC67">17. More advanced functionality</a> </h1>
<a name="SEC80"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC80">17. More advanced functionality</a> </h1>
<p>For bidirectional reordering of strings, we recommend the GNU FriBidi library:
<a href="http://www.fribidi.org/">http://www.fribidi.org/</a>.
</p>
<a name="IDX896"></a>
<a name="IDX903"></a>
<p>For the rendering of Unicode strings outside of the context of a given toolkit
(KDE/Qt or GNOME/Gtk), we recommend the Pango library:
<a href="http://www.pango.org/">http://www.pango.org/</a>.
</p>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_16.html#SEC61" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_18.html#SEC68" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_16.html#SEC74" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_18.html#SEC81" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -79,12 +79,12 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -43,7 +43,7 @@ ul.toc {list-style: none}
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_1.html#SEC1" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_3.html#SEC10" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_3.html#SEC9" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="Conventions"></a>
<a name="SEC9"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC9">2. Conventions</a> </h1>
<a name="SEC8"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC8">2. Conventions</a> </h1>
<p>This chapter explains conventions valid throughout the libunistring library.
</p>
@ -119,7 +119,7 @@ NULL is returned and <code>errno</code> is set.
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_1.html#SEC1" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_3.html#SEC10" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_3.html#SEC9" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -127,12 +127,12 @@ NULL is returned and <code>errno</code> is set.
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -11,10 +11,10 @@ Send bugs and suggestions to <texi2html-bug@nongnu.org>
-->
<head>
<title>GNU libunistring: Index: V &ndash; W</title>
<title>GNU libunistring: Index</title>
<meta name="description" content="GNU libunistring: Index: V &ndash; W">
<meta name="keywords" content="GNU libunistring: Index: V &ndash; W">
<meta name="description" content="GNU libunistring: Index">
<meta name="keywords" content="GNU libunistring: Index">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2html 1.78a">
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_19.html#SEC77" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[ &gt;&gt; ]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_19.html#SEC82" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_21.html#INDEX0" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,124 +51,751 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="#SEC91" 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="INDEX0"></a>
<h1 class="unnumbered"> Index: V &ndash; W </h1>
<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="libunistring_19.html#SEC77_0" class="summary-letter"><b>A</b></a>
<a name="Index"></a>
<a name="SEC91"></a>
<h1 class="unnumbered"> <a href="libunistring.html#TOC86">Index</a> </h1>
<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC91_0" class="summary-letter"><b>A</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_1" class="summary-letter"><b>B</b></a>
<a href="#SEC91_1" class="summary-letter"><b>B</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_2" class="summary-letter"><b>C</b></a>
<a href="#SEC91_2" class="summary-letter"><b>C</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_3" class="summary-letter"><b>D</b></a>
<a href="#SEC91_3" class="summary-letter"><b>D</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_4" class="summary-letter"><b>E</b></a>
<a href="#SEC91_4" class="summary-letter"><b>E</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_5" class="summary-letter"><b>F</b></a>
<a href="#SEC91_5" class="summary-letter"><b>F</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_6" class="summary-letter"><b>G</b></a>
<a href="#SEC91_6" class="summary-letter"><b>G</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_7" class="summary-letter"><b>H</b></a>
<a href="#SEC91_7" class="summary-letter"><b>H</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_8" class="summary-letter"><b>I</b></a>
<a href="#SEC91_8" class="summary-letter"><b>I</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_9" class="summary-letter"><b>J</b></a>
<a href="#SEC91_9" class="summary-letter"><b>J</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_10" class="summary-letter"><b>L</b></a>
<a href="#SEC91_10" class="summary-letter"><b>L</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_11" class="summary-letter"><b>M</b></a>
<a href="#SEC91_11" class="summary-letter"><b>M</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_12" class="summary-letter"><b>N</b></a>
<a href="#SEC91_12" class="summary-letter"><b>N</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_13" class="summary-letter"><b>O</b></a>
<a href="#SEC91_13" class="summary-letter"><b>O</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_14" class="summary-letter"><b>P</b></a>
<a href="#SEC91_14" class="summary-letter"><b>P</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_15" class="summary-letter"><b>R</b></a>
<a href="#SEC91_15" class="summary-letter"><b>R</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_16" class="summary-letter"><b>S</b></a>
<a href="#SEC91_16" class="summary-letter"><b>S</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_17" class="summary-letter"><b>T</b></a>
<a href="#SEC91_17" class="summary-letter"><b>T</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_18" class="summary-letter"><b>U</b></a>
<a href="#SEC91_18" class="summary-letter"><b>U</b></a>
&nbsp;
<a href="#INDEX0_0" class="summary-letter"><b>V</b></a>
<a href="libunistring_21.html#INDEX0_0" class="summary-letter"><b>V</b></a>
&nbsp;
<a href="#INDEX0_1" class="summary-letter"><b>W</b></a>
<a href="libunistring_21.html#INDEX0_1" class="summary-letter"><b>W</b></a>
&nbsp;
</td></tr></table>
<table border="0" class="index-cp">
<tr><td></td><th align="left">Index Entry</th><th align="left"> Section</th></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="INDEX0_0">V</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC12">validity</a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.1 Elementary string checks</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX2">value, of libunistring</a></td><td valign="top"><a href="libunistring_1.html#SEC1">1. Introduction</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC26">value, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC26">8.4 Decimal digit value</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC27">value, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC27">8.5 Digit value</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC28">value, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC28">8.6 Numeric value</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC12">verification</a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.1 Elementary string checks</a></td></tr>
<tr><th><a name="SEC91_0">A</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX692">ambiguous width</a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC43">Arabic shaping</a></td><td valign="top"><a href="libunistring_8.html#SEC43">8.8 Arabic shaping</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_2.html#IDX14">argument conventions</a></td><td valign="top"><a href="libunistring_2.html#SEC8">2. Conventions</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC78">autoconf macro</a></td><td valign="top"><a href="libunistring_16.html#SEC78">16.4 Autoconf macro</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="INDEX0_1">W</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#SEC7">wchar_t, type</a></td><td valign="top"><a href="libunistring_1.html#SEC7">1.6 The <code>wchar_t</code> mess</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC12">well-formed</a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.1 Elementary string checks</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_9.html#SEC40">width</a></td><td valign="top"><a href="libunistring_9.html#SEC40">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC44">word boundaries</a></td><td valign="top"><a href="libunistring_11.html#SEC44">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC44">word breaks</a></td><td valign="top"><a href="libunistring_11.html#SEC44">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_12.html#SEC47">wrapping</a></td><td valign="top"><a href="libunistring_12.html#SEC47">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
<tr><th><a name="SEC91_1">B</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC38">bidi class</a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC38">bidirectional category</a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_17.html#SEC80">bidirectional reordering</a></td><td valign="top"><a href="libunistring_17.html#SEC80">17. More advanced functionality</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC50">block</a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.11 Blocks</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#SEC54">boundaries, between grapheme clusters</a></td><td valign="top"><a href="libunistring_10.html#SEC54">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC57">boundaries, between words</a></td><td valign="top"><a href="libunistring_11.html#SEC57">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#SEC54">breaks, grapheme cluster</a></td><td valign="top"><a href="libunistring_10.html#SEC54">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_12.html#SEC60">breaks, line</a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC57">breaks, word</a></td><td valign="top"><a href="libunistring_11.html#SEC57">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC79">bug reports</a></td><td valign="top"><a href="libunistring_16.html#SEC79">16.5 Reporting problems</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC79">bug tracker</a></td><td valign="top"><a href="libunistring_16.html#SEC79">16.5 Reporting problems</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_2">C</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#SEC6">C string functions</a></td><td valign="top"><a href="libunistring_1.html#SEC6">1.5 &lsquo;<samp>char *</samp>&rsquo; strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC51">C, programming language</a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC52">C-like API</a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC37">canonical combining class</a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC72">case detection</a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC69">case mappings</a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX836"><code>casing_prefix_context_t</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX844"><code>casing_suffix_context_t</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX10">char, type</a></td><td valign="top"><a href="libunistring_1.html#SEC6">1.5 &lsquo;<samp>char *</samp>&rsquo; strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC63">combining, Unicode characters</a></td><td valign="top"><a href="libunistring_13.html#SEC63">13.2 Composition of Unicode characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC17">comparing</a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC25">comparing</a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC71">comparing, ignoring case</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX871">comparing, ignoring case, with collation rules</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC65">comparing, ignoring normalization</a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC71">comparing, ignoring normalization and case</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX873">comparing, ignoring normalization and case, with collation rules</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX809">comparing, ignoring normalization, with collation rules</a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX108">comparing, with collation rules</a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX872">comparing, with collation rules, ignoring case</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX810">comparing, with collation rules, ignoring normalization</a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX874">comparing, with collation rules, ignoring normalization and case</a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_16.html#IDX899">compiler options</a></td><td valign="top"><a href="libunistring_16.html#SEC76">16.2 Compiler options</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC63">composing, Unicode characters</a></td><td valign="top"><a href="libunistring_13.html#SEC63">13.2 Composition of Unicode characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC12">converting</a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX151">converting</a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC16">copying</a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC24">copying</a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC19">counting</a></td><td valign="top"><a href="libunistring_4.html#SEC19">4.3.6 Counting the characters in a Unicode string</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_3">D</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC62">decomposing</a></td><td valign="top"><a href="libunistring_13.html#SEC62">13.1 Decomposition of Unicode characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC75">dependencies</a></td><td valign="top"><a href="libunistring_16.html#SEC75">16.1 Installation</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC72">detecting case</a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC20">duplicating</a></td><td valign="top"><a href="libunistring_4.html#SEC20">4.4 Elementary string functions with memory allocation</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC26">duplicating</a></td><td valign="top"><a href="libunistring_4.html#SEC26">4.5.5 Duplicating a NUL terminated Unicode string</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_4">E</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX147"><code>enum iconv_ilseq_handler</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_5">F</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_19.html#SEC89">FDL, GNU Free Documentation License</a></td><td valign="top"><a href="libunistring_19.html#SEC89">B.3 GNU Free Documentation License</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#SEC31">formatted output</a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX695">fullwidth</a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_6">G</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC34">general category</a></td><td valign="top"><a href="libunistring_8.html#SEC34">8.1 General category</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_16.html#IDX902"><code>gl_LIBUNISTRING</code></a></td><td valign="top"><a href="libunistring_16.html#SEC78">16.4 Autoconf macro</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_19.html#SEC83">GPL, GNU General Public License</a></td><td valign="top"><a href="libunistring_19.html#SEC83">B.1 GNU GENERAL PUBLIC LICENSE</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#SEC54">grapheme cluster boundaries</a></td><td valign="top"><a href="libunistring_10.html#SEC54">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#SEC54">grapheme cluster breaks</a></td><td valign="top"><a href="libunistring_10.html#SEC54">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_7">H</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX694">halfwidth</a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_8">I</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC51">identifiers</a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_16.html#IDX898">installation</a></td><td valign="top"><a href="libunistring_16.html#SEC75">16.1 Installation</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#SEC3">internationalization</a></td><td valign="top"><a href="libunistring_1.html#SEC3">1.2 Unicode and Internationalization</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC14">iterating</a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX71">iterating</a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_9">J</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC51">Java, programming language</a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC45">joining group</a></td><td valign="top"><a href="libunistring_8.html#SEC45">8.8.2 Joining group of Arabic characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC43">joining of Arabic characters</a></td><td valign="top"><a href="libunistring_8.html#SEC43">8.8 Arabic shaping</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC44">joining type</a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_10">L</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_19.html#SEC88">LGPL, GNU Lesser General Public License</a></td><td valign="top"><a href="libunistring_19.html#SEC88">B.2 GNU LESSER GENERAL PUBLIC LICENSE</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_19.html#SEC89">License, GNU FDL</a></td><td valign="top"><a href="libunistring_19.html#SEC89">B.3 GNU Free Documentation License</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_19.html#SEC83">License, GNU GPL</a></td><td valign="top"><a href="libunistring_19.html#SEC83">B.1 GNU GENERAL PUBLIC LICENSE</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_19.html#SEC88">License, GNU LGPL</a></td><td valign="top"><a href="libunistring_19.html#SEC88">B.2 GNU LESSER GENERAL PUBLIC LICENSE</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_19.html#SEC82">Licenses</a></td><td valign="top"><a href="libunistring_19.html#SEC82">B. Licenses</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_12.html#SEC60">line breaks</a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#SEC4">locale</a></td><td valign="top"><a href="libunistring_1.html#SEC4">1.3 Locale encodings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX7">locale categories</a></td><td valign="top"><a href="libunistring_1.html#SEC4">1.3 Locale encodings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX8">locale encoding</a></td><td valign="top"><a href="libunistring_1.html#SEC4">1.3 Locale encodings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX145">locale encoding</a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX825">locale language</a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX9">locale, multibyte</a></td><td valign="top"><a href="libunistring_1.html#SEC6">1.5 &lsquo;<samp>char *</samp>&rsquo; strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX146"><code>locale_charset</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC69">lowercasing</a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_11">M</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_16.html#SEC79">mailing list</a></td><td valign="top"><a href="libunistring_16.html#SEC79">16.5 Reporting problems</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC42">mirroring, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC42">8.7 Mirrored character</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_12">N</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC61">normal forms</a></td><td valign="top"><a href="libunistring_13.html#SEC61">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC61">normalizing</a></td><td valign="top"><a href="libunistring_13.html#SEC61">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_13">O</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#SEC31">output, formatted</a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_14">P</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC46">properties, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC46">8.9 Properties</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_15">R</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_15.html#SEC73">regular expression</a></td><td valign="top"><a href="libunistring_15.html#SEC73">15. Regular expressions <code>&lt;uniregex.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_17.html#IDX903">rendering</a></td><td valign="top"><a href="libunistring_17.html#SEC80">17. More advanced functionality</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_2.html#IDX15">return value conventions</a></td><td valign="top"><a href="libunistring_2.html#SEC8">2. Conventions</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_16">S</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC49">scripts</a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC18">searching, for a character</a></td><td valign="top"><a href="libunistring_4.html#SEC18">4.3.5 Searching for a character in a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC27">searching, for a character</a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC28">searching, for a substring</a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#SEC66">stream, normalizing a</a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX817"><code>struct uninorm_filter</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_17">T</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC69">titlecasing</a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="SEC91_18">U</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX197"><code>u16_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX196"><code>u16_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX868"><code>u16_casecmp</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX880"><code>u16_casecoll</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX862"><code>u16_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX876"><code>u16_casexfrm</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX839"><code>u16_casing_prefix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX842"><code>u16_casing_prefixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX847"><code>u16_casing_suffix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX850"><code>u16_casing_suffixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX21"><code>u16_check</code></a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX60"><code>u16_chr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC18">4.3.5 Searching for a character in a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX54"><code>u16_cmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX57"><code>u16_cmp2</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX153"><code>u16_conv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX156"><code>u16_conv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX45"><code>u16_cpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX66"><code>u16_cpy_alloc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC20">4.4 Elementary string functions with memory allocation</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX865"><code>u16_ct_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX856"><code>u16_ct_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX859"><code>u16_ct_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX853"><code>u16_ct_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX140"><code>u16_endswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX710"><code>u16_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX704"><code>u16_grapheme_next</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX707"><code>u16_grapheme_prev</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX896"><code>u16_is_cased</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX893"><code>u16_is_casefolded</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX887"><code>u16_is_lowercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX890"><code>u16_is_titlecase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX884"><code>u16_is_uppercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX30"><code>u16_mblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX63"><code>u16_mbsnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC19">4.3.6 Counting the characters in a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX33"><code>u16_mbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX36"><code>u16_mbtouc_unsafe</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX39"><code>u16_mbtoucr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX48"><code>u16_move</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX76"><code>u16_next</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX804"><code>u16_normalize</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX807"><code>u16_normcmp</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX815"><code>u16_normcoll</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX812"><code>u16_normxfrm</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX767"><code>u16_possible_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX79"><code>u16_prev</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX51"><code>u16_set</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX195"><code>u16_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX194"><code>u16_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX137"><code>u16_startswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX91"><code>u16_stpcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX97"><code>u16_stpncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX100"><code>u16_strcat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX119"><code>u16_strchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX106"><code>u16_strcmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX110"><code>u16_strcoll</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX159"><code>u16_strconv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX165"><code>u16_strconv_from_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX162"><code>u16_strconv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX168"><code>u16_strconv_to_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX88"><code>u16_strcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX125"><code>u16_strcspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX116"><code>u16_strdup</code></a></td><td valign="top"><a href="libunistring_4.html#SEC26">4.5.5 Duplicating a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX82"><code>u16_strlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX69"><code>u16_strmblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX73"><code>u16_strmbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX103"><code>u16_strncat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX113"><code>u16_strncmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX94"><code>u16_strncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX85"><code>u16_strnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX131"><code>u16_strpbrk</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX122"><code>u16_strrchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX128"><code>u16_strspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX134"><code>u16_strstr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX143"><code>u16_strtok</code></a></td><td valign="top"><a href="libunistring_4.html#SEC29">4.5.8 Tokenizing a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX701"><code>u16_strwidth</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX26"><code>u16_to_u32</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX25"><code>u16_to_u8</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX831"><code>u16_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX834"><code>u16_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX828"><code>u16_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX205"><code>u16_u16_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX204"><code>u16_u16_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX203"><code>u16_u16_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX202"><code>u16_u16_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX209"><code>u16_u16_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX208"><code>u16_u16_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX207"><code>u16_u16_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX206"><code>u16_u16_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX42"><code>u16_uctomb</code></a></td><td valign="top"><a href="libunistring_4.html#SEC15">4.3.2 Creating Unicode strings one character at a time</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX201"><code>u16_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX200"><code>u16_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX199"><code>u16_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX198"><code>u16_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX698"><code>u16_width</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX771"><code>u16_width_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX735"><code>u16_wordbreaks</code></a></td><td valign="top"><a href="libunistring_11.html#SEC58">11.1 Word breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX213"><code>u32_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX212"><code>u32_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX869"><code>u32_casecmp</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX881"><code>u32_casecoll</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX863"><code>u32_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX877"><code>u32_casexfrm</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX840"><code>u32_casing_prefix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX843"><code>u32_casing_prefixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX848"><code>u32_casing_suffix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX851"><code>u32_casing_suffixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX22"><code>u32_check</code></a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX61"><code>u32_chr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC18">4.3.5 Searching for a character in a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX55"><code>u32_cmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX58"><code>u32_cmp2</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX154"><code>u32_conv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX157"><code>u32_conv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX46"><code>u32_cpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX67"><code>u32_cpy_alloc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC20">4.4 Elementary string functions with memory allocation</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX866"><code>u32_ct_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX857"><code>u32_ct_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX860"><code>u32_ct_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX854"><code>u32_ct_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX141"><code>u32_endswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX711"><code>u32_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX705"><code>u32_grapheme_next</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX708"><code>u32_grapheme_prev</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX897"><code>u32_is_cased</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX894"><code>u32_is_casefolded</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX888"><code>u32_is_lowercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX891"><code>u32_is_titlecase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX885"><code>u32_is_uppercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX31"><code>u32_mblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX64"><code>u32_mbsnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC19">4.3.6 Counting the characters in a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX34"><code>u32_mbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX37"><code>u32_mbtouc_unsafe</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX40"><code>u32_mbtoucr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX49"><code>u32_move</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX77"><code>u32_next</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX805"><code>u32_normalize</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX808"><code>u32_normcmp</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX816"><code>u32_normcoll</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX813"><code>u32_normxfrm</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX768"><code>u32_possible_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX80"><code>u32_prev</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX52"><code>u32_set</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX211"><code>u32_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX210"><code>u32_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX138"><code>u32_startswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX92"><code>u32_stpcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX98"><code>u32_stpncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX101"><code>u32_strcat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX120"><code>u32_strchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX107"><code>u32_strcmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX111"><code>u32_strcoll</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX160"><code>u32_strconv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX166"><code>u32_strconv_from_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX163"><code>u32_strconv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX169"><code>u32_strconv_to_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX89"><code>u32_strcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX126"><code>u32_strcspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX117"><code>u32_strdup</code></a></td><td valign="top"><a href="libunistring_4.html#SEC26">4.5.5 Duplicating a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX83"><code>u32_strlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX70"><code>u32_strmblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX74"><code>u32_strmbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX104"><code>u32_strncat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX114"><code>u32_strncmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX95"><code>u32_strncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX86"><code>u32_strnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX132"><code>u32_strpbrk</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX123"><code>u32_strrchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX129"><code>u32_strspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX135"><code>u32_strstr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX144"><code>u32_strtok</code></a></td><td valign="top"><a href="libunistring_4.html#SEC29">4.5.8 Tokenizing a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX702"><code>u32_strwidth</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX28"><code>u32_to_u16</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX27"><code>u32_to_u8</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX832"><code>u32_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX835"><code>u32_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX829"><code>u32_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX221"><code>u32_u32_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX220"><code>u32_u32_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX219"><code>u32_u32_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX218"><code>u32_u32_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX225"><code>u32_u32_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX224"><code>u32_u32_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX223"><code>u32_u32_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX222"><code>u32_u32_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX43"><code>u32_uctomb</code></a></td><td valign="top"><a href="libunistring_4.html#SEC15">4.3.2 Creating Unicode strings one character at a time</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX217"><code>u32_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX216"><code>u32_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX215"><code>u32_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX214"><code>u32_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX699"><code>u32_width</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX772"><code>u32_width_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX736"><code>u32_wordbreaks</code></a></td><td valign="top"><a href="libunistring_11.html#SEC58">11.1 Word breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX181"><code>u8_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX180"><code>u8_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX867"><code>u8_casecmp</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX879"><code>u8_casecoll</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX861"><code>u8_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX875"><code>u8_casexfrm</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX838"><code>u8_casing_prefix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX841"><code>u8_casing_prefixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX846"><code>u8_casing_suffix_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX849"><code>u8_casing_suffixes_context</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX20"><code>u8_check</code></a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX59"><code>u8_chr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC18">4.3.5 Searching for a character in a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX53"><code>u8_cmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX56"><code>u8_cmp2</code></a></td><td valign="top"><a href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX152"><code>u8_conv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX155"><code>u8_conv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX44"><code>u8_cpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX65"><code>u8_cpy_alloc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC20">4.4 Elementary string functions with memory allocation</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX864"><code>u8_ct_casefold</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX855"><code>u8_ct_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX858"><code>u8_ct_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX852"><code>u8_ct_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX139"><code>u8_endswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX709"><code>u8_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX703"><code>u8_grapheme_next</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX706"><code>u8_grapheme_prev</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX895"><code>u8_is_cased</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX892"><code>u8_is_casefolded</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX886"><code>u8_is_lowercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX889"><code>u8_is_titlecase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX883"><code>u8_is_uppercase</code></a></td><td valign="top"><a href="libunistring_14.html#SEC72">14.5 Case detection</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX29"><code>u8_mblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX62"><code>u8_mbsnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC19">4.3.6 Counting the characters in a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX32"><code>u8_mbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX35"><code>u8_mbtouc_unsafe</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX38"><code>u8_mbtoucr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX47"><code>u8_move</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX75"><code>u8_next</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX803"><code>u8_normalize</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX806"><code>u8_normcmp</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX814"><code>u8_normcoll</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX811"><code>u8_normxfrm</code></a></td><td valign="top"><a href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX766"><code>u8_possible_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX78"><code>u8_prev</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX50"><code>u8_set</code></a></td><td valign="top"><a href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX179"><code>u8_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX178"><code>u8_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX136"><code>u8_startswith</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX90"><code>u8_stpcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX96"><code>u8_stpncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX99"><code>u8_strcat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX118"><code>u8_strchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX105"><code>u8_strcmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX109"><code>u8_strcoll</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX158"><code>u8_strconv_from_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX164"><code>u8_strconv_from_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX161"><code>u8_strconv_to_encoding</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_5.html#IDX167"><code>u8_strconv_to_locale</code></a></td><td valign="top"><a href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX87"><code>u8_strcpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX124"><code>u8_strcspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX115"><code>u8_strdup</code></a></td><td valign="top"><a href="libunistring_4.html#SEC26">4.5.5 Duplicating a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX81"><code>u8_strlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX68"><code>u8_strmblen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX72"><code>u8_strmbtouc</code></a></td><td valign="top"><a href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX102"><code>u8_strncat</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX112"><code>u8_strncmp</code></a></td><td valign="top"><a href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX93"><code>u8_strncpy</code></a></td><td valign="top"><a href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX84"><code>u8_strnlen</code></a></td><td valign="top"><a href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX130"><code>u8_strpbrk</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX121"><code>u8_strrchr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX127"><code>u8_strspn</code></a></td><td valign="top"><a href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX133"><code>u8_strstr</code></a></td><td valign="top"><a href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX142"><code>u8_strtok</code></a></td><td valign="top"><a href="libunistring_4.html#SEC29">4.5.8 Tokenizing a NUL terminated Unicode string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX700"><code>u8_strwidth</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX23"><code>u8_to_u16</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX24"><code>u8_to_u32</code></a></td><td valign="top"><a href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX830"><code>u8_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX833"><code>u8_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX827"><code>u8_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX189"><code>u8_u8_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX188"><code>u8_u8_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX187"><code>u8_u8_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX186"><code>u8_u8_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX193"><code>u8_u8_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX192"><code>u8_u8_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX191"><code>u8_u8_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX190"><code>u8_u8_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#IDX41"><code>u8_uctomb</code></a></td><td valign="top"><a href="libunistring_4.html#SEC15">4.3.2 Creating Unicode strings one character at a time</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX185"><code>u8_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX184"><code>u8_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX183"><code>u8_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX182"><code>u8_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX697"><code>u8_width</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX770"><code>u8_width_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX734"><code>u8_wordbreaks</code></a></td><td valign="top"><a href="libunistring_11.html#SEC58">11.1 Word breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX669"><code>uc_all_blocks</code></a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.11 Blocks</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX664"><code>uc_all_scripts</code></a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX405"><code>uc_bidi_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX403"><code>uc_bidi_category_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX400"><code>uc_bidi_category_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX404"><code>uc_bidi_class</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX402"><code>uc_bidi_class_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX401"><code>uc_bidi_class_long_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX399"><code>uc_bidi_class_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX667"><code>uc_block</code></a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.11 Blocks</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX665"><code>uc_block_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.11 Blocks</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX677"><code>uc_c_ident_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX793"><code>uc_canonical_decomposition</code></a></td><td valign="top"><a href="libunistring_13.html#SEC62">13.1 Decomposition of Unicode characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX379"><code>uc_combining_class</code></a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX378"><code>uc_combining_class_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX377"><code>uc_combining_class_long_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX376"><code>uc_combining_class_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX794"><code>uc_composition</code></a></td><td valign="top"><a href="libunistring_13.html#SEC63">13.2 Composition of Unicode characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX408"><code>uc_decimal_value</code></a></td><td valign="top"><a href="libunistring_8.html#SEC39">8.4 Decimal digit value</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX792"><code>uc_decomposition</code></a></td><td valign="top"><a href="libunistring_13.html#SEC62">13.1 Decomposition of Unicode characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX409"><code>uc_digit_value</code></a></td><td valign="top"><a href="libunistring_8.html#SEC40">8.5 Digit value</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX410"><code>uc_fraction_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC41">8.6 Numeric value</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX315"><code>uc_general_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX310"><code>uc_general_category_and</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX311"><code>uc_general_category_and_not</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX314"><code>uc_general_category_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX313"><code>uc_general_category_long_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX312"><code>uc_general_category_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX309"><code>uc_general_category_or</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX232"><code>uc_general_category_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX713"><code>uc_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX732"><code>uc_graphemeclusterbreak_property</code></a></td><td valign="top"><a href="libunistring_10.html#SEC56">10.2 Grapheme cluster break property</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX680"><code>uc_is_alnum</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX681"><code>uc_is_alpha</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX407"><code>uc_is_bidi_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX406"><code>uc_is_bidi_class</code></a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX691"><code>uc_is_blank</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX668"><code>uc_is_block</code></a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.11 Blocks</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX670"><code>uc_is_c_whitespace</code></a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX682"><code>uc_is_cntrl</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX683"><code>uc_is_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX316"><code>uc_is_general_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX355"><code>uc_is_general_category_withtable</code></a></td><td valign="top"><a href="libunistring_8.html#SEC36">8.1.2 The bit mask API for general category</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX684"><code>uc_is_graph</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX733"><code>uc_is_grapheme_break</code></a></td><td valign="top"><a href="libunistring_10.html#SEC56">10.2 Grapheme cluster break property</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX671"><code>uc_is_java_whitespace</code></a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX685"><code>uc_is_lower</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX686"><code>uc_is_print</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX572"><code>uc_is_property</code></a></td><td valign="top"><a href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX574"><code>uc_is_property_alphabetic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX628"><code>uc_is_property_ascii_hex_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX617"><code>uc_is_property_bidi_arabic_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX613"><code>uc_is_property_bidi_arabic_right_to_left</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX619"><code>uc_is_property_bidi_block_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX623"><code>uc_is_property_bidi_boundary_neutral</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX618"><code>uc_is_property_bidi_common_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX610"><code>uc_is_property_bidi_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX625"><code>uc_is_property_bidi_embedding_or_override</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX615"><code>uc_is_property_bidi_eur_num_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX616"><code>uc_is_property_bidi_eur_num_terminator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX614"><code>uc_is_property_bidi_european_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX612"><code>uc_is_property_bidi_hebrew_right_to_left</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX611"><code>uc_is_property_bidi_left_to_right</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX622"><code>uc_is_property_bidi_non_spacing_mark</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX626"><code>uc_is_property_bidi_other_neutral</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX624"><code>uc_is_property_bidi_pdf</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX620"><code>uc_is_property_bidi_segment_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX621"><code>uc_is_property_bidi_whitespace</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX590"><code>uc_is_property_case_ignorable</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX589"><code>uc_is_property_cased</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX594"><code>uc_is_property_changes_when_casefolded</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX595"><code>uc_is_property_changes_when_casemapped</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX591"><code>uc_is_property_changes_when_lowercased</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX593"><code>uc_is_property_changes_when_titlecased</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX592"><code>uc_is_property_changes_when_uppercased</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX652"><code>uc_is_property_combining</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX653"><code>uc_is_property_composite</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX647"><code>uc_is_property_currency_symbol</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX639"><code>uc_is_property_dash</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX654"><code>uc_is_property_decimal_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX577"><code>uc_is_property_default_ignorable_code_point</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX579"><code>uc_is_property_deprecated</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX656"><code>uc_is_property_diacritic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX657"><code>uc_is_property_extender</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX638"><code>uc_is_property_format_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX606"><code>uc_is_property_grapheme_base</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX607"><code>uc_is_property_grapheme_extend</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX609"><code>uc_is_property_grapheme_link</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX627"><code>uc_is_property_hex_digit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX640"><code>uc_is_property_hyphen</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX599"><code>uc_is_property_id_continue</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX597"><code>uc_is_property_id_start</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX629"><code>uc_is_property_ideographic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX632"><code>uc_is_property_ids_binary_operator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX633"><code>uc_is_property_ids_trinary_operator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX658"><code>uc_is_property_ignorable_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX637"><code>uc_is_property_iso_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX605"><code>uc_is_property_join_control</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX651"><code>uc_is_property_left_of_pair</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX642"><code>uc_is_property_line_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX580"><code>uc_is_property_logical_order_exception</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX586"><code>uc_is_property_lowercase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX648"><code>uc_is_property_math</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX636"><code>uc_is_property_non_break</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX576"><code>uc_is_property_not_a_character</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX655"><code>uc_is_property_numeric</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX575"><code>uc_is_property_other_alphabetic</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX578"><code>uc_is_property_other_default_ignorable_code_point</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX608"><code>uc_is_property_other_grapheme_extend</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX600"><code>uc_is_property_other_id_continue</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX598"><code>uc_is_property_other_id_start</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX587"><code>uc_is_property_other_lowercase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX649"><code>uc_is_property_other_math</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX585"><code>uc_is_property_other_uppercase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX650"><code>uc_is_property_paired_punctuation</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX643"><code>uc_is_property_paragraph_separator</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX604"><code>uc_is_property_pattern_syntax</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX603"><code>uc_is_property_pattern_white_space</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX582"><code>uc_is_property_private_use</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX641"><code>uc_is_property_punctuation</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX644"><code>uc_is_property_quotation_mark</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX631"><code>uc_is_property_radical</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX645"><code>uc_is_property_sentence_terminal</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX596"><code>uc_is_property_soft_dotted</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX635"><code>uc_is_property_space</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX646"><code>uc_is_property_terminal_punctuation</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX588"><code>uc_is_property_titlecase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX583"><code>uc_is_property_unassigned_code_value</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX630"><code>uc_is_property_unified_ideograph</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX584"><code>uc_is_property_uppercase</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX581"><code>uc_is_property_variation_selector</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX573"><code>uc_is_property_white_space</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX602"><code>uc_is_property_xid_continue</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX601"><code>uc_is_property_xid_start</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX634"><code>uc_is_property_zero_width</code></a></td><td valign="top"><a href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX687"><code>uc_is_punct</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX663"><code>uc_is_script</code></a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX688"><code>uc_is_space</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX689"><code>uc_is_upper</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX690"><code>uc_is_xdigit</code></a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX679"><code>uc_java_ident_category</code></a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX482"><code>uc_joining_group</code></a></td><td valign="top"><a href="libunistring_8.html#SEC45">8.8.2 Joining group of Arabic characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX481"><code>uc_joining_group_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC45">8.8.2 Joining group of Arabic characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX480"><code>uc_joining_group_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC45">8.8.2 Joining group of Arabic characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX422"><code>uc_joining_type</code></a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX421"><code>uc_joining_type_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX420"><code>uc_joining_type_long_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX419"><code>uc_joining_type_name</code></a></td><td valign="top"><a href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX826"><code>uc_locale_language</code></a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX412"><code>uc_mirror_char</code></a></td><td valign="top"><a href="libunistring_8.html#SEC42">8.7 Mirrored character</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX411"><code>uc_numeric_value</code></a></td><td valign="top"><a href="libunistring_8.html#SEC41">8.6 Numeric value</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX570"><code>uc_property_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX571"><code>uc_property_is_valid</code></a></td><td valign="top"><a href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX483"><code>uc_property_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX661"><code>uc_script</code></a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX662"><code>uc_script_byname</code></a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX659"><code>uc_script_t</code></a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX823"><code>uc_tolower</code></a></td><td valign="top"><a href="libunistring_14.html#SEC68">14.1 Case mappings of characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX824"><code>uc_totitle</code></a></td><td valign="top"><a href="libunistring_14.html#SEC68">14.1 Case mappings of characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX822"><code>uc_toupper</code></a></td><td valign="top"><a href="libunistring_14.html#SEC68">14.1 Case mappings of characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX696"><code>uc_width</code></a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX760"><code>uc_wordbreak_property</code></a></td><td valign="top"><a href="libunistring_11.html#SEC59">11.2 Word break property</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX6">UCS-4</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_3.html#IDX19"><code>ucs4_t</code></a></td><td valign="top"><a href="libunistring_3.html#SEC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_3.html#IDX17"><code>uint16_t</code></a></td><td valign="top"><a href="libunistring_3.html#SEC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_3.html#IDX18"><code>uint32_t</code></a></td><td valign="top"><a href="libunistring_3.html#SEC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_3.html#IDX16"><code>uint8_t</code></a></td><td valign="top"><a href="libunistring_3.html#SEC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX173"><code>ulc_asnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX172"><code>ulc_asprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX870"><code>ulc_casecmp</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX882"><code>ulc_casecoll</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#IDX878"><code>ulc_casexfrm</code></a></td><td valign="top"><a href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX226"><code>ulc_fprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_10.html#IDX712"><code>ulc_grapheme_breaks</code></a></td><td valign="top"><a href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX769"><code>ulc_possible_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX171"><code>ulc_snprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX170"><code>ulc_sprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX177"><code>ulc_vasnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX176"><code>ulc_vasprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX227"><code>ulc_vfprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX175"><code>ulc_vsnprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_6.html#IDX174"><code>ulc_vsprintf</code></a></td><td valign="top"><a href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_12.html#IDX773"><code>ulc_width_linebreaks</code></a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_11.html#IDX737"><code>ulc_wordbreaks</code></a></td><td valign="top"><a href="libunistring_11.html#SEC58">11.1 Word breaks in a string</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#SEC2">Unicode</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC38">Unicode character, bidi class</a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC38">Unicode character, bidirectional category</a></td><td valign="top"><a href="libunistring_8.html#SEC38">8.3 Bidi class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX666">Unicode character, block</a></td><td valign="top"><a href="libunistring_8.html#SEC50">8.11 Blocks</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC37">Unicode character, canonical combining class</a></td><td valign="top"><a href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC68">Unicode character, case mappings</a></td><td valign="top"><a href="libunistring_14.html#SEC68">14.1 Case mappings of characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC34">Unicode character, classification</a></td><td valign="top"><a href="libunistring_8.html#SEC34">8.1 General category</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC52">Unicode character, classification like in C</a></td><td valign="top"><a href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC34">Unicode character, general category</a></td><td valign="top"><a href="libunistring_8.html#SEC34">8.1 General category</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC42">Unicode character, mirroring</a></td><td valign="top"><a href="libunistring_8.html#SEC42">8.7 Mirrored character</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_7.html#SEC32">Unicode character, name</a></td><td valign="top"><a href="libunistring_7.html#SEC32">7. Names of Unicode characters <code>&lt;uniname.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC46">Unicode character, properties</a></td><td valign="top"><a href="libunistring_8.html#SEC46">8.9 Properties</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX660">Unicode character, script</a></td><td valign="top"><a href="libunistring_8.html#SEC49">8.10 Scripts</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX676">Unicode character, validity in C identifiers</a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#IDX678">Unicode character, validity in Java identifiers</a></td><td valign="top"><a href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC39">Unicode character, value</a></td><td valign="top"><a href="libunistring_8.html#SEC39">8.4 Decimal digit value</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC40">Unicode character, value</a></td><td valign="top"><a href="libunistring_8.html#SEC40">8.5 Digit value</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC41">Unicode character, value</a></td><td valign="top"><a href="libunistring_8.html#SEC41">8.6 Numeric value</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_9.html#IDX693">Unicode character, width</a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_7.html#IDX229"><code>unicode_character_name</code></a></td><td valign="top"><a href="libunistring_7.html#SEC32">7. Names of Unicode characters <code>&lt;uniname.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_7.html#IDX230"><code>unicode_name_character</code></a></td><td valign="top"><a href="libunistring_7.html#SEC32">7. Names of Unicode characters <code>&lt;uniname.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX802"><code>uninorm_decomposing_form</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX818"><code>uninorm_filter_create</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX820"><code>uninorm_filter_flush</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX821"><code>uninorm_filter_free</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX819"><code>uninorm_filter_write</code></a></td><td valign="top"><a href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX800"><code>uninorm_is_compat_decomposing</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX801"><code>uninorm_is_composing</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_13.html#IDX795"><code>uninorm_t</code></a></td><td valign="top"><a href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_14.html#SEC69">uppercasing</a></td><td valign="top"><a href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX1">use cases</a></td><td valign="top"><a href="libunistring_1.html#SEC1">1. Introduction</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX4">UTF-16</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX12">UTF-16, strings</a></td><td valign="top"><a href="libunistring_1.html#SEC7">1.6 Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX5">UTF-32</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX13">UTF-32, strings</a></td><td valign="top"><a href="libunistring_1.html#SEC7">1.6 Unicode strings</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX3">UTF-8</a></td><td valign="top"><a href="libunistring_1.html#SEC2">1.1 Unicode</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX11">UTF-8, strings</a></td><td valign="top"><a href="libunistring_1.html#SEC7">1.6 Unicode strings</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
</table>
<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="libunistring_19.html#SEC77_0" class="summary-letter"><b>A</b></a>
<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="#SEC91_0" class="summary-letter"><b>A</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_1" class="summary-letter"><b>B</b></a>
<a href="#SEC91_1" class="summary-letter"><b>B</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_2" class="summary-letter"><b>C</b></a>
<a href="#SEC91_2" class="summary-letter"><b>C</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_3" class="summary-letter"><b>D</b></a>
<a href="#SEC91_3" class="summary-letter"><b>D</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_4" class="summary-letter"><b>E</b></a>
<a href="#SEC91_4" class="summary-letter"><b>E</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_5" class="summary-letter"><b>F</b></a>
<a href="#SEC91_5" class="summary-letter"><b>F</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_6" class="summary-letter"><b>G</b></a>
<a href="#SEC91_6" class="summary-letter"><b>G</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_7" class="summary-letter"><b>H</b></a>
<a href="#SEC91_7" class="summary-letter"><b>H</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_8" class="summary-letter"><b>I</b></a>
<a href="#SEC91_8" class="summary-letter"><b>I</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_9" class="summary-letter"><b>J</b></a>
<a href="#SEC91_9" class="summary-letter"><b>J</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_10" class="summary-letter"><b>L</b></a>
<a href="#SEC91_10" class="summary-letter"><b>L</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_11" class="summary-letter"><b>M</b></a>
<a href="#SEC91_11" class="summary-letter"><b>M</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_12" class="summary-letter"><b>N</b></a>
<a href="#SEC91_12" class="summary-letter"><b>N</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_13" class="summary-letter"><b>O</b></a>
<a href="#SEC91_13" class="summary-letter"><b>O</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_14" class="summary-letter"><b>P</b></a>
<a href="#SEC91_14" class="summary-letter"><b>P</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_15" class="summary-letter"><b>R</b></a>
<a href="#SEC91_15" class="summary-letter"><b>R</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_16" class="summary-letter"><b>S</b></a>
<a href="#SEC91_16" class="summary-letter"><b>S</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_17" class="summary-letter"><b>T</b></a>
<a href="#SEC91_17" class="summary-letter"><b>T</b></a>
&nbsp;
<a href="libunistring_19.html#SEC77_18" class="summary-letter"><b>U</b></a>
<a href="#SEC91_18" class="summary-letter"><b>U</b></a>
&nbsp;
<a href="#INDEX0_0" class="summary-letter"><b>V</b></a>
<a href="libunistring_21.html#INDEX0_0" class="summary-letter"><b>V</b></a>
&nbsp;
<a href="#INDEX0_1" class="summary-letter"><b>W</b></a>
<a href="libunistring_21.html#INDEX0_1" class="summary-letter"><b>W</b></a>
&nbsp;
</td></tr></table>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_19.html#SEC77" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[ &gt;&gt; ]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_19.html#SEC82" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_21.html#INDEX0" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -176,12 +803,12 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</a>]</td>
<td valign="middle" align="left">[<a href="#SEC91" 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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -0,0 +1,190 @@
<!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 -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
Olaf Bachmann <obachman@mathematik.uni-kl.de>
and many others.
Maintained by: Many creative people.
Send bugs and suggestions to <texi2html-bug@nongnu.org>
-->
<head>
<title>GNU libunistring: Index: V &ndash; W</title>
<meta name="description" content="GNU libunistring: Index: V &ndash; W">
<meta name="keywords" content="GNU libunistring: Index: V &ndash; W">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="texi2html 1.78a">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
pre.display {font-family: serif}
pre.format {font-family: serif}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: serif; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: serif; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.roman {font-family:serif; font-weight:normal;}
span.sansserif {font-family:sans-serif; font-weight:normal;}
ul.toc {list-style: none}
-->
</style>
</head>
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_20.html#SEC91" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[ &gt;&gt; ]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="INDEX0"></a>
<h1 class="unnumbered"> Index: V &ndash; W </h1>
<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="libunistring_20.html#SEC91_0" class="summary-letter"><b>A</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_1" class="summary-letter"><b>B</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_2" class="summary-letter"><b>C</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_3" class="summary-letter"><b>D</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_4" class="summary-letter"><b>E</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_5" class="summary-letter"><b>F</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_6" class="summary-letter"><b>G</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_7" class="summary-letter"><b>H</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_8" class="summary-letter"><b>I</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_9" class="summary-letter"><b>J</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_10" class="summary-letter"><b>L</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_11" class="summary-letter"><b>M</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_12" class="summary-letter"><b>N</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_13" class="summary-letter"><b>O</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_14" class="summary-letter"><b>P</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_15" class="summary-letter"><b>R</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_16" class="summary-letter"><b>S</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_17" class="summary-letter"><b>T</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_18" class="summary-letter"><b>U</b></a>
&nbsp;
<a href="#INDEX0_0" class="summary-letter"><b>V</b></a>
&nbsp;
<a href="#INDEX0_1" class="summary-letter"><b>W</b></a>
&nbsp;
</td></tr></table>
<table border="0" class="index-cp">
<tr><td></td><th align="left">Index Entry</th><th align="left"> Section</th></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="INDEX0_0">V</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC11">validity</a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_1.html#IDX2">value, of libunistring</a></td><td valign="top"><a href="libunistring_1.html#SEC1">1. Introduction</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC39">value, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC39">8.4 Decimal digit value</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC40">value, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC40">8.5 Digit value</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_8.html#SEC41">value, of Unicode character</a></td><td valign="top"><a href="libunistring_8.html#SEC41">8.6 Numeric value</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC11">verification</a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
<tr><th><a name="INDEX0_1">W</a></th><td></td><td></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_18.html#SEC81">wchar_t, type</a></td><td valign="top"><a href="libunistring_18.html#SEC81">A. The <code>wchar_t</code> mess</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_4.html#SEC11">well-formed</a></td><td valign="top"><a href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_9.html#SEC53">width</a></td><td valign="top"><a href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC57">word boundaries</a></td><td valign="top"><a href="libunistring_11.html#SEC57">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_11.html#SEC57">word breaks</a></td><td valign="top"><a href="libunistring_11.html#SEC57">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a></td></tr>
<tr><td></td><td valign="top"><a href="libunistring_12.html#SEC60">wrapping</a></td><td valign="top"><a href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></td></tr>
<tr><td colspan="3"> <hr></td></tr>
</table>
<table><tr><th valign="top">Jump to: &nbsp; </th><td><a href="libunistring_20.html#SEC91_0" class="summary-letter"><b>A</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_1" class="summary-letter"><b>B</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_2" class="summary-letter"><b>C</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_3" class="summary-letter"><b>D</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_4" class="summary-letter"><b>E</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_5" class="summary-letter"><b>F</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_6" class="summary-letter"><b>G</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_7" class="summary-letter"><b>H</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_8" class="summary-letter"><b>I</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_9" class="summary-letter"><b>J</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_10" class="summary-letter"><b>L</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_11" class="summary-letter"><b>M</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_12" class="summary-letter"><b>N</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_13" class="summary-letter"><b>O</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_14" class="summary-letter"><b>P</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_15" class="summary-letter"><b>R</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_16" class="summary-letter"><b>S</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_17" class="summary-letter"><b>T</b></a>
&nbsp;
<a href="libunistring_20.html#SEC91_18" class="summary-letter"><b>U</b></a>
&nbsp;
<a href="#INDEX0_0" class="summary-letter"><b>V</b></a>
&nbsp;
<a href="#INDEX0_1" class="summary-letter"><b>W</b></a>
&nbsp;
</td></tr></table>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_20.html#SEC91" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[ &gt;&gt; ]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </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_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>.
</font>
<br>
</p>
</body>
</html>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_2.html#SEC9" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_4.html#SEC11" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_2.html#SEC8" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_4.html#SEC10" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="unitypes_002eh"></a>
<a name="SEC10"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC10">3. Elementary types <code>&lt;unitypes.h&gt;</code></a> </h1>
<a name="SEC9"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a> </h1>
<p>The include file <code>&lt;unitypes.h&gt;</code> provides the following basic types.
</p>
@ -82,10 +82,22 @@ taken from <code>&lt;stdint.h&gt;</code>, on platforms where this include file i
</dt>
<dd><p>This type represents a single Unicode character, outside of an UTF-32 string.
</p></dd></dl>
<p>The types <code>ucs4_t</code> and <code>uint32_t</code> happen to be identical. They differ
in use and intent, however:
</p><ul>
<li>
Use <code>uint32_t *</code> to designate an UTF-32 string. Use <code>ucs4_t</code> to
designate a single Unicode character, outside of an UTF-32 string.
</li><li>
Conversions functions that take an UTF-32 string as input will usually perform
a range-check on the <code>uint32_t</code> values. Whereas functions that are
declared to take <code>ucs4_t</code> arguments will not perform such a range-check.
</li></ul>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_2.html#SEC9" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_4.html#SEC11" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_2.html#SEC8" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_4.html#SEC10" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -93,12 +105,12 @@ taken from <code>&lt;stdint.h&gt;</code>, on platforms where this include file i
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_3.html#SEC10" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_5.html#SEC17" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_3.html#SEC9" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_5.html#SEC30" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="unistr_002eh"></a>
<a name="SEC11"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC11">4. Elementary Unicode string functions <code>&lt;unistr.h&gt;</code></a> </h1>
<a name="SEC10"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC10">4. Elementary Unicode string functions <code>&lt;unistr.h&gt;</code></a> </h1>
<p>This include file declares elementary functions for Unicode strings. It is
essentially the equivalent of what <code>&lt;string.h&gt;</code> is for C strings.
@ -66,8 +66,8 @@ essentially the equivalent of what <code>&lt;string.h&gt;</code> is for C string
<hr size="6">
<a name="Elementary-string-checks"></a>
<a name="SEC12"></a>
<h2 class="section"> <a href="libunistring.html#TOC12">4.1 Elementary string checks</a> </h2>
<a name="SEC11"></a>
<h2 class="section"> <a href="libunistring.html#TOC11">4.1 Elementary string checks</a> </h2>
<p>The following function is available to verify the integrity of a Unicode string.
</p>
@ -87,8 +87,8 @@ It returns NULL if valid, or a pointer to the first invalid unit otherwise.
<hr size="6">
<a name="Elementary-string-conversions"></a>
<a name="SEC13"></a>
<h2 class="section"> <a href="libunistring.html#TOC13">4.2 Elementary string conversions</a> </h2>
<a name="SEC12"></a>
<h2 class="section"> <a href="libunistring.html#TOC12">4.2 Elementary string conversions</a> </h2>
<p>The following functions perform conversions between the different forms of Unicode strings.
</p>
@ -97,6 +97,9 @@ It returns NULL if valid, or a pointer to the first invalid unit otherwise.
<a name="IDX23"></a>
</dt>
<dd><p>Converts an UTF-8 string to an UTF-16 string.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<dl>
@ -104,6 +107,9 @@ It returns NULL if valid, or a pointer to the first invalid unit otherwise.
<a name="IDX24"></a>
</dt>
<dd><p>Converts an UTF-8 string to an UTF-32 string.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<dl>
@ -111,6 +117,9 @@ It returns NULL if valid, or a pointer to the first invalid unit otherwise.
<a name="IDX25"></a>
</dt>
<dd><p>Converts an UTF-16 string to an UTF-8 string.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<dl>
@ -118,6 +127,9 @@ It returns NULL if valid, or a pointer to the first invalid unit otherwise.
<a name="IDX26"></a>
</dt>
<dd><p>Converts an UTF-16 string to an UTF-32 string.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<dl>
@ -125,6 +137,9 @@ It returns NULL if valid, or a pointer to the first invalid unit otherwise.
<a name="IDX27"></a>
</dt>
<dd><p>Converts an UTF-32 string to an UTF-8 string.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<dl>
@ -132,12 +147,21 @@ It returns NULL if valid, or a pointer to the first invalid unit otherwise.
<a name="IDX28"></a>
</dt>
<dd><p>Converts an UTF-32 string to an UTF-16 string.
</p>
<p>The <var>resultbuf</var> and <var>lengthp</var> arguments are as described in
chapter <a href="libunistring_2.html#SEC8">Conventions</a>.
</p></dd></dl>
<hr size="6">
<a name="Elementary-string-functions"></a>
<a name="SEC13"></a>
<h2 class="section"> <a href="libunistring.html#TOC13">4.3 Elementary string functions</a> </h2>
<hr size="6">
<a name="Iterating"></a>
<a name="SEC14"></a>
<h2 class="section"> <a href="libunistring.html#TOC14">4.3 Elementary string functions</a> </h2>
<h3 class="subsection"> <a href="libunistring.html#TOC14">4.3.1 Iterating over a Unicode string</a> </h3>
<p>The following functions inspect and return details about the first character
in a Unicode string.
@ -156,18 +180,18 @@ in a Unicode string.
is no longer than <var>n</var>. Returns 0 if it is the NUL character. Returns -1
upon failure.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/mblen.html"><code>mblen</code></a>, except that it operates on a
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/mblen.html"><code>mblen</code></a>, except that it operates on a
Unicode string and that <var>s</var> must not be NULL.
</p></dd></dl>
<dl>
<dt><u>Function:</u> int <b>u8_mbtouc_unsafe</b><i> (ucs4_t *<var>puc</var>, const uint8_t *<var>s</var>, size_t <var>n</var>)</i>
<dt><u>Function:</u> int <b>u8_mbtouc</b><i> (ucs4_t *<var>puc</var>, const uint8_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX32"></a>
</dt>
<dt><u>Function:</u> int <b>u16_mbtouc_unsafe</b><i> (ucs4_t *<var>puc</var>, const uint16_t *<var>s</var>, size_t <var>n</var>)</i>
<dt><u>Function:</u> int <b>u16_mbtouc</b><i> (ucs4_t *<var>puc</var>, const uint16_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX33"></a>
</dt>
<dt><u>Function:</u> int <b>u32_mbtouc_unsafe</b><i> (ucs4_t *<var>puc</var>, const uint32_t *<var>s</var>, size_t <var>n</var>)</i>
<dt><u>Function:</u> int <b>u32_mbtouc</b><i> (ucs4_t *<var>puc</var>, const uint32_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX34"></a>
</dt>
<dd><p>Returns the length (number of units) of the first character in <var>s</var>,
@ -177,24 +201,28 @@ is returned.
</p>
<p>The number of available units, <var>n</var>, must be &gt; 0.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/mbtowc.html"><code>mbtowc</code></a>, except that it operates on a
<p>This function fails if an invalid sequence of units is encountered at the
beginning of <var>s</var>, or if additional units (after the <var>n</var> provided units)
would be needed to form a character.
</p>
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/mbtowc.html"><code>mbtowc</code></a>, except that it operates on a
Unicode string, <var>puc</var> and <var>s</var> must not be NULL, <var>n</var> must be &gt; 0,
and the NUL character is not treated specially.
</p></dd></dl>
<dl>
<dt><u>Function:</u> int <b>u8_mbtouc</b><i> (ucs4_t *<var>puc</var>, const uint8_t *<var>s</var>, size_t <var>n</var>)</i>
<dt><u>Function:</u> int <b>u8_mbtouc_unsafe</b><i> (ucs4_t *<var>puc</var>, const uint8_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX35"></a>
</dt>
<dt><u>Function:</u> int <b>u16_mbtouc</b><i> (ucs4_t *<var>puc</var>, const uint16_t *<var>s</var>, size_t <var>n</var>)</i>
<dt><u>Function:</u> int <b>u16_mbtouc_unsafe</b><i> (ucs4_t *<var>puc</var>, const uint16_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX36"></a>
</dt>
<dt><u>Function:</u> int <b>u32_mbtouc</b><i> (ucs4_t *<var>puc</var>, const uint32_t *<var>s</var>, size_t <var>n</var>)</i>
<dt><u>Function:</u> int <b>u32_mbtouc_unsafe</b><i> (ucs4_t *<var>puc</var>, const uint32_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX37"></a>
</dt>
<dd><p>This function is like <code>u8_mbtouc_unsafe</code>, except that it will detect an
invalid UTF-8 character, even if the library is compiled without
&lsquo;<samp>--enable-safety</samp>&rsquo;.
<dd><p>This function is identical to <code>u8_mbtouc</code>/<code>u16_mbtouc</code>/<code>u32_mbtouc</code>.
Earlier versions of this function performed fewer range-checks on the sequence
of units.
</p></dd></dl>
<dl>
@ -215,9 +243,14 @@ sequence of units, -2 is returned for an incomplete sequence of units.
<p>The number of available units, <var>n</var>, must be &gt; 0.
</p>
<p>This function is similar to <code>u8_mbtouc</code>, except that the return value
gives more details about the failure, similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/mbrtowc.html"><code>mbrtowc</code></a>.
gives more details about the failure, similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/mbrtowc.html"><code>mbrtowc</code></a>.
</p></dd></dl>
<hr size="6">
<a name="Creating-Unicode-strings"></a>
<a name="SEC15"></a>
<h3 class="subsection"> <a href="libunistring.html#TOC15">4.3.2 Creating Unicode strings one character at a time</a> </h3>
<p>The following function stores a Unicode character as a Unicode string in
memory.
</p>
@ -235,44 +268,48 @@ memory.
length. Returns -1 upon failure, -2 if the number of available units, <var>n</var>,
is too small. The latter case cannot occur if <var>n</var> &gt;= 6/2/1, respectively.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wctomb.html"><code>wctomb</code></a>, except that it operates on a
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wctomb.html"><code>wctomb</code></a>, except that it operates on a
Unicode strings, <var>s</var> must not be NULL, and the argument <var>n</var> must be
specified.
</p></dd></dl>
<a name="IDX44"></a>
<hr size="6">
<a name="Copying-Unicode-strings"></a>
<a name="SEC16"></a>
<h3 class="subsection"> <a href="libunistring.html#TOC16">4.3.3 Copying Unicode strings</a> </h3>
<p>The following functions copy Unicode strings in memory.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_cpy</b><i> (uint8_t *<var>dest</var>, const uint8_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX45"></a>
<a name="IDX44"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_cpy</b><i> (uint16_t *<var>dest</var>, const uint16_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX46"></a>
<a name="IDX45"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_cpy</b><i> (uint32_t *<var>dest</var>, const uint32_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX47"></a>
<a name="IDX46"></a>
</dt>
<dd><p>Copies <var>n</var> units from <var>src</var> to <var>dest</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/memcpy.html"><code>memcpy</code></a>, except that it operates on
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/memcpy.html"><code>memcpy</code></a>, except that it operates on
Unicode strings.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_move</b><i> (uint8_t *<var>dest</var>, const uint8_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX48"></a>
<a name="IDX47"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_move</b><i> (uint16_t *<var>dest</var>, const uint16_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX49"></a>
<a name="IDX48"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_move</b><i> (uint32_t *<var>dest</var>, const uint32_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX50"></a>
<a name="IDX49"></a>
</dt>
<dd><p>Copies <var>n</var> units from <var>src</var> to <var>dest</var>, guaranteeing correct
behavior for overlapping memory areas.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/memmove.html"><code>memmove</code></a>, except that it operates on
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/memmove.html"><code>memmove</code></a>, except that it operates on
Unicode strings.
</p></dd></dl>
@ -280,40 +317,44 @@ Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_set</b><i> (uint8_t *<var>s</var>, ucs4_t <var>uc</var>, size_t <var>n</var>)</i>
<a name="IDX51"></a>
<a name="IDX50"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_set</b><i> (uint16_t *<var>s</var>, ucs4_t <var>uc</var>, size_t <var>n</var>)</i>
<a name="IDX52"></a>
<a name="IDX51"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_set</b><i> (uint32_t *<var>s</var>, ucs4_t <var>uc</var>, size_t <var>n</var>)</i>
<a name="IDX53"></a>
<a name="IDX52"></a>
</dt>
<dd><p>Sets the first <var>n</var> characters of <var>s</var> to <var>uc</var>. <var>uc</var> should be
a character that occupies only 1 unit.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/memset.html"><code>memset</code></a>, except that it operates on
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/memset.html"><code>memset</code></a>, except that it operates on
Unicode strings.
</p></dd></dl>
<a name="IDX54"></a>
<hr size="6">
<a name="Comparing-Unicode-strings"></a>
<a name="SEC17"></a>
<h3 class="subsection"> <a href="libunistring.html#TOC17">4.3.4 Comparing Unicode strings</a> </h3>
<p>The following function compares two Unicode strings of the same length.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_cmp</b><i> (const uint8_t *<var>s1</var>, const uint8_t *<var>s2</var>, size_t <var>n</var>)</i>
<a name="IDX55"></a>
<a name="IDX53"></a>
</dt>
<dt><u>Function:</u> int <b>u16_cmp</b><i> (const uint16_t *<var>s1</var>, const uint16_t *<var>s2</var>, size_t <var>n</var>)</i>
<a name="IDX56"></a>
<a name="IDX54"></a>
</dt>
<dt><u>Function:</u> int <b>u32_cmp</b><i> (const uint32_t *<var>s1</var>, const uint32_t *<var>s2</var>, size_t <var>n</var>)</i>
<a name="IDX57"></a>
<a name="IDX55"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, each of length <var>n</var>, lexicographically.
Returns a negative value if <var>s1</var> compares smaller than <var>s2</var>,
a positive value if <var>s1</var> compares larger than <var>s2</var>, or 0 if
they compare equal.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/memcmp.html"><code>memcmp</code></a>, except that it operates on
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/memcmp.html"><code>memcmp</code></a>, except that it operates on
Unicode strings.
</p></dd></dl>
@ -322,13 +363,13 @@ lengths.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_cmp2</b><i> (const uint8_t *<var>s1</var>, size_t <var>n1</var>, const uint8_t *<var>s2</var>, size_t <var>n2</var>)</i>
<a name="IDX58"></a>
<a name="IDX56"></a>
</dt>
<dt><u>Function:</u> int <b>u16_cmp2</b><i> (const uint16_t *<var>s1</var>, size_t <var>n1</var>, const uint16_t *<var>s2</var>, size_t <var>n2</var>)</i>
<a name="IDX59"></a>
<a name="IDX57"></a>
</dt>
<dt><u>Function:</u> int <b>u32_cmp2</b><i> (const uint32_t *<var>s1</var>, size_t <var>n1</var>, const uint32_t *<var>s2</var>, size_t <var>n2</var>)</i>
<a name="IDX60"></a>
<a name="IDX58"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, lexicographically.
Returns a negative value if <var>s1</var> compares smaller than <var>s2</var>,
@ -339,39 +380,47 @@ they compare equal.
operates on Unicode strings.
</p></dd></dl>
<a name="IDX61"></a>
<hr size="6">
<a name="Searching-for-a-character"></a>
<a name="SEC18"></a>
<h3 class="subsection"> <a href="libunistring.html#TOC18">4.3.5 Searching for a character in a Unicode string</a> </h3>
<p>The following function searches for a given Unicode character.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_chr</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, ucs4_t <var>uc</var>)</i>
<a name="IDX62"></a>
<a name="IDX59"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_chr</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, ucs4_t <var>uc</var>)</i>
<a name="IDX63"></a>
<a name="IDX60"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_chr</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, ucs4_t <var>uc</var>)</i>
<a name="IDX64"></a>
<a name="IDX61"></a>
</dt>
<dd><p>Searches the string at <var>s</var> for <var>uc</var>. Returns a pointer to the first
occurrence of <var>uc</var> in <var>s</var>, or NULL if <var>uc</var> does not occur in
<var>s</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/memchr.html"><code>memchr</code></a>, except that it operates on
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/memchr.html"><code>memchr</code></a>, except that it operates on
Unicode strings.
</p></dd></dl>
<a name="IDX65"></a>
<hr size="6">
<a name="Counting-characters"></a>
<a name="SEC19"></a>
<h3 class="subsection"> <a href="libunistring.html#TOC19">4.3.6 Counting the characters in a Unicode string</a> </h3>
<p>The following function counts the number of Unicode characters.
</p>
<dl>
<dt><u>Function:</u> size_t <b>u8_mbsnlen</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX66"></a>
<a name="IDX62"></a>
</dt>
<dt><u>Function:</u> size_t <b>u16_mbsnlen</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX67"></a>
<a name="IDX63"></a>
</dt>
<dt><u>Function:</u> size_t <b>u32_mbsnlen</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX68"></a>
<a name="IDX64"></a>
</dt>
<dd><p>Counts and returns the number of Unicode characters in the <var>n</var> units
from <var>s</var>.
@ -382,56 +431,62 @@ it operates on Unicode strings.
<hr size="6">
<a name="Elementary-string-functions-with-memory-allocation"></a>
<a name="SEC15"></a>
<h2 class="section"> <a href="libunistring.html#TOC15">4.4 Elementary string functions with memory allocation</a> </h2>
<a name="SEC20"></a>
<h2 class="section"> <a href="libunistring.html#TOC20">4.4 Elementary string functions with memory allocation</a> </h2>
<p>The following function copies a Unicode string.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_cpy_alloc</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX69"></a>
<a name="IDX65"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_cpy_alloc</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX70"></a>
<a name="IDX66"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_cpy_alloc</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>)</i>
<a name="IDX71"></a>
<a name="IDX67"></a>
</dt>
<dd><p>Makes a freshly allocated copy of <var>s</var>, of length <var>n</var>.
</p></dd></dl>
<hr size="6">
<a name="Elementary-string-functions-on-NUL-terminated-strings"></a>
<a name="SEC16"></a>
<h2 class="section"> <a href="libunistring.html#TOC16">4.5 Elementary string functions on NUL terminated strings</a> </h2>
<a name="SEC21"></a>
<h2 class="section"> <a href="libunistring.html#TOC21">4.5 Elementary string functions on NUL terminated strings</a> </h2>
<hr size="6">
<a name="Iterating-over-a-NUL-terminated-Unicode-string"></a>
<a name="SEC22"></a>
<h3 class="subsection"> <a href="libunistring.html#TOC22">4.5.1 Iterating over a NUL terminated Unicode string</a> </h3>
<p>The following functions inspect and return details about the first character
in a Unicode string.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_strmblen</b><i> (const uint8_t *<var>s</var>)</i>
<a name="IDX72"></a>
<a name="IDX68"></a>
</dt>
<dt><u>Function:</u> int <b>u16_strmblen</b><i> (const uint16_t *<var>s</var>)</i>
<a name="IDX73"></a>
<a name="IDX69"></a>
</dt>
<dt><u>Function:</u> int <b>u32_strmblen</b><i> (const uint32_t *<var>s</var>)</i>
<a name="IDX74"></a>
<a name="IDX70"></a>
</dt>
<dd><p>Returns the length (number of units) of the first character in <var>s</var>.
Returns 0 if it is the NUL character. Returns -1 upon failure.
</p></dd></dl>
<a name="IDX75"></a>
<a name="IDX71"></a>
<dl>
<dt><u>Function:</u> int <b>u8_strmbtouc</b><i> (ucs4_t *<var>puc</var>, const uint8_t *<var>s</var>)</i>
<a name="IDX76"></a>
<a name="IDX72"></a>
</dt>
<dt><u>Function:</u> int <b>u16_strmbtouc</b><i> (ucs4_t *<var>puc</var>, const uint16_t *<var>s</var>)</i>
<a name="IDX77"></a>
<a name="IDX73"></a>
</dt>
<dt><u>Function:</u> int <b>u32_strmbtouc</b><i> (ucs4_t *<var>puc</var>, const uint32_t *<var>s</var>)</i>
<a name="IDX78"></a>
<a name="IDX74"></a>
</dt>
<dd><p>Returns the length (number of units) of the first character in <var>s</var>,
putting its <code>ucs4_t</code> representation in <code>*<var>puc</var></code>. Returns 0
@ -440,13 +495,13 @@ if it is the NUL character. Returns -1 upon failure.
<dl>
<dt><u>Function:</u> const uint8_t * <b>u8_next</b><i> (ucs4_t *<var>puc</var>, const uint8_t *<var>s</var>)</i>
<a name="IDX79"></a>
<a name="IDX75"></a>
</dt>
<dt><u>Function:</u> const uint16_t * <b>u16_next</b><i> (ucs4_t *<var>puc</var>, const uint16_t *<var>s</var>)</i>
<a name="IDX80"></a>
<a name="IDX76"></a>
</dt>
<dt><u>Function:</u> const uint32_t * <b>u32_next</b><i> (ucs4_t *<var>puc</var>, const uint32_t *<var>s</var>)</i>
<a name="IDX81"></a>
<a name="IDX77"></a>
</dt>
<dd><p>Forward iteration step. Advances the pointer past the next character,
or returns NULL if the end of the string has been reached. Puts the
@ -458,13 +513,13 @@ character in a Unicode string.
</p>
<dl>
<dt><u>Function:</u> const uint8_t * <b>u8_prev</b><i> (ucs4_t *<var>puc</var>, const uint8_t *<var>s</var>, const uint8_t *<var>start</var>)</i>
<a name="IDX82"></a>
<a name="IDX78"></a>
</dt>
<dt><u>Function:</u> const uint16_t * <b>u16_prev</b><i> (ucs4_t *<var>puc</var>, const uint16_t *<var>s</var>, const uint16_t *<var>start</var>)</i>
<a name="IDX83"></a>
<a name="IDX79"></a>
</dt>
<dt><u>Function:</u> const uint32_t * <b>u32_prev</b><i> (ucs4_t *<var>puc</var>, const uint32_t *<var>s</var>, const uint32_t *<var>start</var>)</i>
<a name="IDX84"></a>
<a name="IDX80"></a>
</dt>
<dd><p>Backward iteration step. Advances the pointer to point to the previous
character (the one that ends at <code><var>s</var></code>), or returns NULL if the
@ -473,101 +528,110 @@ Puts the character's <code>ucs4_t</code> representation in <code>*<var>puc</var>
Note that this function works only on well-formed Unicode strings.
</p></dd></dl>
<hr size="6">
<a name="Length"></a>
<a name="SEC23"></a>
<h3 class="subsection"> <a href="libunistring.html#TOC23">4.5.2 Length of a NUL terminated Unicode string</a> </h3>
<p>The following functions determine the length of a Unicode string.
</p>
<dl>
<dt><u>Function:</u> size_t <b>u8_strlen</b><i> (const uint8_t *<var>s</var>)</i>
<a name="IDX85"></a>
<a name="IDX81"></a>
</dt>
<dt><u>Function:</u> size_t <b>u16_strlen</b><i> (const uint16_t *<var>s</var>)</i>
<a name="IDX86"></a>
<a name="IDX82"></a>
</dt>
<dt><u>Function:</u> size_t <b>u32_strlen</b><i> (const uint32_t *<var>s</var>)</i>
<a name="IDX87"></a>
<a name="IDX83"></a>
</dt>
<dd><p>Returns the number of units in <var>s</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strlen.html"><code>strlen</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcslen.html"><code>wcslen</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strlen.html"><code>strlen</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcslen.html"><code>wcslen</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<dl>
<dt><u>Function:</u> size_t <b>u8_strnlen</b><i> (const uint8_t *<var>s</var>, size_t <var>maxlen</var>)</i>
<a name="IDX88"></a>
<a name="IDX84"></a>
</dt>
<dt><u>Function:</u> size_t <b>u16_strnlen</b><i> (const uint16_t *<var>s</var>, size_t <var>maxlen</var>)</i>
<a name="IDX89"></a>
<a name="IDX85"></a>
</dt>
<dt><u>Function:</u> size_t <b>u32_strnlen</b><i> (const uint32_t *<var>s</var>, size_t <var>maxlen</var>)</i>
<a name="IDX90"></a>
<a name="IDX86"></a>
</dt>
<dd><p>Returns the number of units in <var>s</var>, but at most <var>maxlen</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strnlen.html"><code>strnlen</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcsnlen.html"><code>wcsnlen</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strnlen.html"><code>strnlen</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsnlen.html"><code>wcsnlen</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<a name="IDX91"></a>
<hr size="6">
<a name="Copying-a-NUL-terminated-Unicode-string"></a>
<a name="SEC24"></a>
<h3 class="subsection"> <a href="libunistring.html#TOC24">4.5.3 Copying a NUL terminated Unicode string</a> </h3>
<p>The following functions copy portions of Unicode strings in memory.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strcpy</b><i> (uint8_t *<var>dest</var>, const uint8_t *<var>src</var>)</i>
<a name="IDX92"></a>
<a name="IDX87"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strcpy</b><i> (uint16_t *<var>dest</var>, const uint16_t *<var>src</var>)</i>
<a name="IDX93"></a>
<a name="IDX88"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strcpy</b><i> (uint32_t *<var>dest</var>, const uint32_t *<var>src</var>)</i>
<a name="IDX94"></a>
<a name="IDX89"></a>
</dt>
<dd><p>Copies <var>src</var> to <var>dest</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strcpy.html"><code>strcpy</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcscpy.html"><code>wcscpy</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcpy.html"><code>strcpy</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcscpy.html"><code>wcscpy</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_stpcpy</b><i> (uint8_t *<var>dest</var>, const uint8_t *<var>src</var>)</i>
<a name="IDX95"></a>
<a name="IDX90"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_stpcpy</b><i> (uint16_t *<var>dest</var>, const uint16_t *<var>src</var>)</i>
<a name="IDX96"></a>
<a name="IDX91"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_stpcpy</b><i> (uint32_t *<var>dest</var>, const uint32_t *<var>src</var>)</i>
<a name="IDX97"></a>
<a name="IDX92"></a>
</dt>
<dd><p>Copies <var>src</var> to <var>dest</var>, returning the address of the terminating NUL
in <var>dest</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/stpcpy.html"><code>stpcpy</code></a>, except that it operates on
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/stpcpy.html"><code>stpcpy</code></a>, except that it operates on
Unicode strings.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strncpy</b><i> (uint8_t *<var>dest</var>, const uint8_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX98"></a>
<a name="IDX93"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strncpy</b><i> (uint16_t *<var>dest</var>, const uint16_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX99"></a>
<a name="IDX94"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strncpy</b><i> (uint32_t *<var>dest</var>, const uint32_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX100"></a>
<a name="IDX95"></a>
</dt>
<dd><p>Copies no more than <var>n</var> units of <var>src</var> to <var>dest</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strncpy.html"><code>strncpy</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcsncpy.html"><code>wcsncpy</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strncpy.html"><code>strncpy</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsncpy.html"><code>wcsncpy</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_stpncpy</b><i> (uint8_t *<var>dest</var>, const uint8_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX101"></a>
<a name="IDX96"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_stpncpy</b><i> (uint16_t *<var>dest</var>, const uint16_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX102"></a>
<a name="IDX97"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_stpncpy</b><i> (uint32_t *<var>dest</var>, const uint32_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX103"></a>
<a name="IDX98"></a>
</dt>
<dd><p>Copies no more than <var>n</var> units of <var>src</var> to <var>dest</var>. Returns a
pointer past the last non-NUL unit written into <var>dest</var>. In other words,
@ -575,155 +639,167 @@ if the units written into <var>dest</var> include a NUL, the return value is the
address of the first such NUL unit, otherwise it is
<code><var>dest</var> + <var>n</var></code>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/stpncpy.html"><code>stpncpy</code></a>, except that it operates on
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/stpncpy.html"><code>stpncpy</code></a>, except that it operates on
Unicode strings.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strcat</b><i> (uint8_t *<var>dest</var>, const uint8_t *<var>src</var>)</i>
<a name="IDX104"></a>
<a name="IDX99"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strcat</b><i> (uint16_t *<var>dest</var>, const uint16_t *<var>src</var>)</i>
<a name="IDX105"></a>
<a name="IDX100"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strcat</b><i> (uint32_t *<var>dest</var>, const uint32_t *<var>src</var>)</i>
<a name="IDX106"></a>
<a name="IDX101"></a>
</dt>
<dd><p>Appends <var>src</var> onto <var>dest</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strcat.html"><code>strcat</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcscat.html"><code>wcscat</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcat.html"><code>strcat</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcscat.html"><code>wcscat</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strncat</b><i> (uint8_t *<var>dest</var>, const uint8_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX107"></a>
<a name="IDX102"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strncat</b><i> (uint16_t *<var>dest</var>, const uint16_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX108"></a>
<a name="IDX103"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strncat</b><i> (uint32_t *<var>dest</var>, const uint32_t *<var>src</var>, size_t <var>n</var>)</i>
<a name="IDX109"></a>
<a name="IDX104"></a>
</dt>
<dd><p>Appends no more than <var>n</var> units of <var>src</var> onto <var>dest</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strncat.html"><code>strncat</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcsncat.html"><code>wcsncat</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strncat.html"><code>strncat</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsncat.html"><code>wcsncat</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<a name="IDX110"></a>
<hr size="6">
<a name="Comparing-NUL-terminated-Unicode-strings"></a>
<a name="SEC25"></a>
<h3 class="subsection"> <a href="libunistring.html#TOC25">4.5.4 Comparing NUL terminated Unicode strings</a> </h3>
<p>The following functions compare two Unicode strings.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_strcmp</b><i> (const uint8_t *<var>s1</var>, const uint8_t *<var>s2</var>)</i>
<a name="IDX111"></a>
<a name="IDX105"></a>
</dt>
<dt><u>Function:</u> int <b>u16_strcmp</b><i> (const uint16_t *<var>s1</var>, const uint16_t *<var>s2</var>)</i>
<a name="IDX112"></a>
<a name="IDX106"></a>
</dt>
<dt><u>Function:</u> int <b>u32_strcmp</b><i> (const uint32_t *<var>s1</var>, const uint32_t *<var>s2</var>)</i>
<a name="IDX113"></a>
<a name="IDX107"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var>, lexicographically.
Returns a negative value if <var>s1</var> compares smaller than <var>s2</var>,
a positive value if <var>s1</var> compares larger than <var>s2</var>, or 0 if
they compare equal.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strcmp.html"><code>strcmp</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcscmp.html"><code>wcscmp</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcmp.html"><code>strcmp</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcscmp.html"><code>wcscmp</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<a name="IDX114"></a>
<a name="IDX108"></a>
<dl>
<dt><u>Function:</u> int <b>u8_strcoll</b><i> (const uint8_t *<var>s1</var>, const uint8_t *<var>s2</var>)</i>
<a name="IDX115"></a>
<a name="IDX109"></a>
</dt>
<dt><u>Function:</u> int <b>u16_strcoll</b><i> (const uint16_t *<var>s1</var>, const uint16_t *<var>s2</var>)</i>
<a name="IDX116"></a>
<a name="IDX110"></a>
</dt>
<dt><u>Function:</u> int <b>u32_strcoll</b><i> (const uint32_t *<var>s1</var>, const uint32_t *<var>s2</var>)</i>
<a name="IDX117"></a>
<a name="IDX111"></a>
</dt>
<dd><p>Compares <var>s1</var> and <var>s2</var> using the collation rules of the current
locale.
Returns -1 if <var>s1</var> &lt; <var>s2</var>, 0 if <var>s1</var> = <var>s2</var>, 1 if
<var>s1</var> &gt; <var>s2</var>. Upon failure, sets <code>errno</code> and returns any value.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strcoll.html"><code>strcoll</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcscoll.html"><code>wcscoll</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcoll.html"><code>strcoll</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcscoll.html"><code>wcscoll</code></a>, except
that it operates on Unicode strings.
</p>
<p>Note that this function may consider different canonical normalizations
of the same string as having a large distance. It is therefore better to
use the function <code>u8_normcoll</code> instead of this one; see <a href="libunistring_13.html#SEC48">Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a>.
use the function <code>u8_normcoll</code> instead of this one; see <a href="libunistring_13.html#SEC61">Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> int <b>u8_strncmp</b><i> (const uint8_t *<var>s1</var>, const uint8_t *<var>s2</var>, size_t <var>n</var>)</i>
<a name="IDX118"></a>
<a name="IDX112"></a>
</dt>
<dt><u>Function:</u> int <b>u16_strncmp</b><i> (const uint16_t *<var>s1</var>, const uint16_t *<var>s2</var>, size_t <var>n</var>)</i>
<a name="IDX119"></a>
<a name="IDX113"></a>
</dt>
<dt><u>Function:</u> int <b>u32_strncmp</b><i> (const uint32_t *<var>s1</var>, const uint32_t *<var>s2</var>, size_t <var>n</var>)</i>
<a name="IDX120"></a>
<a name="IDX114"></a>
</dt>
<dd><p>Compares no more than <var>n</var> units of <var>s1</var> and <var>s2</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strncmp.html"><code>strncmp</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcsncmp.html"><code>wcsncmp</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strncmp.html"><code>strncmp</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsncmp.html"><code>wcsncmp</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<a name="IDX121"></a>
<hr size="6">
<a name="Duplicating-a-NUL-terminated-Unicode-string"></a>
<a name="SEC26"></a>
<h3 class="subsection"> <a href="libunistring.html#TOC26">4.5.5 Duplicating a NUL terminated Unicode string</a> </h3>
<p>The following function allocates a duplicate of a Unicode string.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strdup</b><i> (const uint8_t *<var>s</var>)</i>
<a name="IDX122"></a>
<a name="IDX115"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strdup</b><i> (const uint16_t *<var>s</var>)</i>
<a name="IDX123"></a>
<a name="IDX116"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strdup</b><i> (const uint32_t *<var>s</var>)</i>
<a name="IDX124"></a>
<a name="IDX117"></a>
</dt>
<dd><p>Duplicates <var>s</var>, returning an identical malloc'd string.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strdup.html"><code>strdup</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcsdup.html"><code>wcsdup</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strdup.html"><code>strdup</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsdup.html"><code>wcsdup</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<a name="IDX125"></a>
<hr size="6">
<a name="Searching-for-a-character-in-a-NUL-terminated-Unicode-string"></a>
<a name="SEC27"></a>
<h3 class="subsection"> <a href="libunistring.html#TOC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a> </h3>
<p>The following functions search for a given Unicode character.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strchr</b><i> (const uint8_t *<var>str</var>, ucs4_t <var>uc</var>)</i>
<a name="IDX126"></a>
<a name="IDX118"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strchr</b><i> (const uint16_t *<var>str</var>, ucs4_t <var>uc</var>)</i>
<a name="IDX127"></a>
<a name="IDX119"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strchr</b><i> (const uint32_t *<var>str</var>, ucs4_t <var>uc</var>)</i>
<a name="IDX128"></a>
<a name="IDX120"></a>
</dt>
<dd><p>Finds the first occurrence of <var>uc</var> in <var>str</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strchr.html"><code>strchr</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcschr.html"><code>wcschr</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strchr.html"><code>strchr</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcschr.html"><code>wcschr</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strrchr</b><i> (const uint8_t *<var>str</var>, ucs4_t <var>uc</var>)</i>
<a name="IDX129"></a>
<a name="IDX121"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strrchr</b><i> (const uint16_t *<var>str</var>, ucs4_t <var>uc</var>)</i>
<a name="IDX130"></a>
<a name="IDX122"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strrchr</b><i> (const uint32_t *<var>str</var>, ucs4_t <var>uc</var>)</i>
<a name="IDX131"></a>
<a name="IDX123"></a>
</dt>
<dd><p>Finds the last occurrence of <var>uc</var> in <var>str</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strrchr.html"><code>strrchr</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcsrchr.html"><code>wcsrchr</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strrchr.html"><code>strrchr</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsrchr.html"><code>wcsrchr</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
@ -732,122 +808,131 @@ character in or outside a given set of Unicode characters.
</p>
<dl>
<dt><u>Function:</u> size_t <b>u8_strcspn</b><i> (const uint8_t *<var>str</var>, const uint8_t *<var>reject</var>)</i>
<a name="IDX132"></a>
<a name="IDX124"></a>
</dt>
<dt><u>Function:</u> size_t <b>u16_strcspn</b><i> (const uint16_t *<var>str</var>, const uint16_t *<var>reject</var>)</i>
<a name="IDX133"></a>
<a name="IDX125"></a>
</dt>
<dt><u>Function:</u> size_t <b>u32_strcspn</b><i> (const uint32_t *<var>str</var>, const uint32_t *<var>reject</var>)</i>
<a name="IDX134"></a>
<a name="IDX126"></a>
</dt>
<dd><p>Returns the length of the initial segment of <var>str</var> which consists entirely
of Unicode characters not in <var>reject</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strcspn.html"><code>strcspn</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcscspn.html"><code>wcscspn</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strcspn.html"><code>strcspn</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcscspn.html"><code>wcscspn</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<dl>
<dt><u>Function:</u> size_t <b>u8_strspn</b><i> (const uint8_t *<var>str</var>, const uint8_t *<var>accept</var>)</i>
<a name="IDX135"></a>
<a name="IDX127"></a>
</dt>
<dt><u>Function:</u> size_t <b>u16_strspn</b><i> (const uint16_t *<var>str</var>, const uint16_t *<var>accept</var>)</i>
<a name="IDX136"></a>
<a name="IDX128"></a>
</dt>
<dt><u>Function:</u> size_t <b>u32_strspn</b><i> (const uint32_t *<var>str</var>, const uint32_t *<var>accept</var>)</i>
<a name="IDX137"></a>
<a name="IDX129"></a>
</dt>
<dd><p>Returns the length of the initial segment of <var>str</var> which consists entirely
of Unicode characters in <var>accept</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strspn.html"><code>strspn</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcsspn.html"><code>wcsspn</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strspn.html"><code>strspn</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsspn.html"><code>wcsspn</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strpbrk</b><i> (const uint8_t *<var>str</var>, const uint8_t *<var>accept</var>)</i>
<a name="IDX138"></a>
<a name="IDX130"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strpbrk</b><i> (const uint16_t *<var>str</var>, const uint16_t *<var>accept</var>)</i>
<a name="IDX139"></a>
<a name="IDX131"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strpbrk</b><i> (const uint32_t *<var>str</var>, const uint32_t *<var>accept</var>)</i>
<a name="IDX140"></a>
<a name="IDX132"></a>
</dt>
<dd><p>Finds the first occurrence in <var>str</var> of any character in <var>accept</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strpbrk.html"><code>strpbrk</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcspbrk.html"><code>wcspbrk</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strpbrk.html"><code>strpbrk</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcspbrk.html"><code>wcspbrk</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<a name="IDX141"></a>
<hr size="6">
<a name="Searching-for-a-substring"></a>
<a name="SEC28"></a>
<h3 class="subsection"> <a href="libunistring.html#TOC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a> </h3>
<p>The following functions search whether a given Unicode string is a substring
of another Unicode string.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strstr</b><i> (const uint8_t *<var>haystack</var>, const uint8_t *<var>needle</var>)</i>
<a name="IDX142"></a>
<a name="IDX133"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strstr</b><i> (const uint16_t *<var>haystack</var>, const uint16_t *<var>needle</var>)</i>
<a name="IDX143"></a>
<a name="IDX134"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strstr</b><i> (const uint32_t *<var>haystack</var>, const uint32_t *<var>needle</var>)</i>
<a name="IDX144"></a>
<a name="IDX135"></a>
</dt>
<dd><p>Finds the first occurrence of <var>needle</var> in <var>haystack</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strstr.html"><code>strstr</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcsstr.html"><code>wcsstr</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strstr.html"><code>strstr</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcsstr.html"><code>wcsstr</code></a>, except
that it operates on Unicode strings.
</p></dd></dl>
<dl>
<dt><u>Function:</u> bool <b>u8_startswith</b><i> (const uint8_t *<var>str</var>, const uint8_t *<var>prefix</var>)</i>
<a name="IDX145"></a>
<a name="IDX136"></a>
</dt>
<dt><u>Function:</u> bool <b>u16_startswith</b><i> (const uint16_t *<var>str</var>, const uint16_t *<var>prefix</var>)</i>
<a name="IDX146"></a>
<a name="IDX137"></a>
</dt>
<dt><u>Function:</u> bool <b>u32_startswith</b><i> (const uint32_t *<var>str</var>, const uint32_t *<var>prefix</var>)</i>
<a name="IDX147"></a>
<a name="IDX138"></a>
</dt>
<dd><p>Tests whether <var>str</var> starts with <var>prefix</var>.
</p></dd></dl>
<dl>
<dt><u>Function:</u> bool <b>u8_endswith</b><i> (const uint8_t *<var>str</var>, const uint8_t *<var>suffix</var>)</i>
<a name="IDX148"></a>
<a name="IDX139"></a>
</dt>
<dt><u>Function:</u> bool <b>u16_endswith</b><i> (const uint16_t *<var>str</var>, const uint16_t *<var>suffix</var>)</i>
<a name="IDX149"></a>
<a name="IDX140"></a>
</dt>
<dt><u>Function:</u> bool <b>u32_endswith</b><i> (const uint32_t *<var>str</var>, const uint32_t *<var>suffix</var>)</i>
<a name="IDX150"></a>
<a name="IDX141"></a>
</dt>
<dd><p>Tests whether <var>str</var> ends with <var>suffix</var>.
</p></dd></dl>
<hr size="6">
<a name="Tokenizing"></a>
<a name="SEC29"></a>
<h3 class="subsection"> <a href="libunistring.html#TOC29">4.5.8 Tokenizing a NUL terminated Unicode string</a> </h3>
<p>The following function does one step in tokenizing a Unicode string.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strtok</b><i> (uint8_t *<var>str</var>, const uint8_t *<var>delim</var>, uint8_t **<var>ptr</var>)</i>
<a name="IDX151"></a>
<a name="IDX142"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strtok</b><i> (uint16_t *<var>str</var>, const uint16_t *<var>delim</var>, uint16_t **<var>ptr</var>)</i>
<a name="IDX152"></a>
<a name="IDX143"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strtok</b><i> (uint32_t *<var>str</var>, const uint32_t *<var>delim</var>, uint32_t **<var>ptr</var>)</i>
<a name="IDX153"></a>
<a name="IDX144"></a>
</dt>
<dd><p>Divides <var>str</var> into tokens separated by characters in <var>delim</var>.
</p>
<p>This function is similar to <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/strtok_r.html"><code>strtok_r</code></a> and <a href="http://www.opengroup.org/onlinepubs/9699919799/functions/wcstok.html"><code>wcstok</code></a>, except
<p>This function is similar to <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/strtok_r.html"><code>strtok_r</code></a> and <a href="http://pubs.opengroup.org/onlinepubs/9699919799/functions/wcstok.html"><code>wcstok</code></a>, except
that it operates on Unicode strings. Its interface is actually more similar to
<code>wcstok</code> than to <code>strtok</code>.
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#SEC11" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_5.html#SEC17" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="#SEC10" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_5.html#SEC30" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -855,12 +940,12 @@ that it operates on Unicode strings. Its interface is actually more similar to
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_4.html#SEC11" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_6.html#SEC18" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_4.html#SEC10" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_6.html#SEC31" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,24 +51,24 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="uniconv_002eh"></a>
<a name="SEC17"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC17">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a> </h1>
<a name="SEC30"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a> </h1>
<p>This include file declares functions for converting between Unicode strings
and <code>char *</code> strings in locale encoding or in other specified encodings.
</p>
<a name="IDX154"></a>
<a name="IDX145"></a>
<p>The following function returns the locale encoding.
</p>
<dl>
<dt><u>Function:</u> const char * <b>locale_charset</b><i> ()</i>
<a name="IDX155"></a>
<a name="IDX146"></a>
</dt>
<dd><p>Determines the current locale's character encoding, and canonicalizes it
into one of the canonical names listed in &lsquo;<tt>config.charset</tt>&rsquo;.
@ -88,14 +88,14 @@ parametrized through the following enumeration type:
</p>
<dl>
<dt><u>Type:</u> <b>enum iconv_ilseq_handler</b>
<a name="IDX156"></a>
<a name="IDX147"></a>
</dt>
<dd><p>This type specifies how unconvertible characters in the input are handled.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> enum iconv_ilseq_handler <b>iconveh_error</b>
<a name="IDX157"></a>
<a name="IDX148"></a>
</dt>
<dd><p>This handler causes the function to return with <code>errno</code> set to
<code>EILSEQ</code>.
@ -103,32 +103,32 @@ parametrized through the following enumeration type:
<dl>
<dt><u>Constant:</u> enum iconv_ilseq_handler <b>iconveh_question_mark</b>
<a name="IDX158"></a>
<a name="IDX149"></a>
</dt>
<dd><p>This handler produces one question mark &lsquo;<samp>?</samp>&rsquo; per unconvertible character.
</p></dd></dl>
<dl>
<dt><u>Constant:</u> enum iconv_ilseq_handler <b>iconveh_escape_sequence</b>
<a name="IDX159"></a>
<a name="IDX150"></a>
</dt>
<dd><p>This handler produces an escape sequence <code>\u<var>xxxx</var></code> or
<code>\U<var>xxxxxxxx</var></code> for each unconvertible character.
</p></dd></dl>
<a name="IDX160"></a>
<a name="IDX151"></a>
<p>The following functions convert between strings in a specified encoding and
Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_conv_from_encoding</b><i> (const char *<var>fromcode</var>, enum iconv_ilseq_handler <var>handler</var>, const char *<var>src</var>, size_t <var>srclen</var>, size_t *<var>offsets</var>, uint8_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX161"></a>
<a name="IDX152"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_conv_from_encoding</b><i> (const char *<var>fromcode</var>, enum iconv_ilseq_handler <var>handler</var>, const char *<var>src</var>, size_t <var>srclen</var>, size_t *<var>offsets</var>, uint16_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX162"></a>
<a name="IDX153"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_conv_from_encoding</b><i> (const char *<var>fromcode</var>, enum iconv_ilseq_handler <var>handler</var>, const char *<var>src</var>, size_t <var>srclen</var>, size_t *<var>offsets</var>, uint32_t *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX163"></a>
<a name="IDX154"></a>
</dt>
<dd><p>Converts an entire string, possibly including NUL bytes, from one encoding
to UTF-8 encoding.
@ -161,13 +161,13 @@ Particular <code>errno</code> values: <code>EINVAL</code>, <code>EILSEQ</code>,
<dl>
<dt><u>Function:</u> char * <b>u8_conv_to_encoding</b><i> (const char *<var>tocode</var>, enum iconv_ilseq_handler <var>handler</var>, const uint8_t *<var>src</var>, size_t <var>srclen</var>, size_t *<var>offsets</var>, char *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX164"></a>
<a name="IDX155"></a>
</dt>
<dt><u>Function:</u> char * <b>u16_conv_to_encoding</b><i> (const char *<var>tocode</var>, enum iconv_ilseq_handler <var>handler</var>, const uint16_t *<var>src</var>, size_t <var>srclen</var>, size_t *<var>offsets</var>, char *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX165"></a>
<a name="IDX156"></a>
</dt>
<dt><u>Function:</u> char * <b>u32_conv_to_encoding</b><i> (const char *<var>tocode</var>, enum iconv_ilseq_handler <var>handler</var>, const uint32_t *<var>src</var>, size_t <var>srclen</var>, size_t *<var>offsets</var>, char *<var>resultbuf</var>, size_t *<var>lengthp</var>)</i>
<a name="IDX166"></a>
<a name="IDX157"></a>
</dt>
<dd><p>Converts an entire Unicode string, possibly including NUL units, from UTF-8
encoding to a given encoding.
@ -203,13 +203,13 @@ encoding and NUL terminated Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strconv_from_encoding</b><i> (const char *<var>string</var>, const char *<var>fromcode</var>, enum iconv_ilseq_handler <var>handler</var>)</i>
<a name="IDX167"></a>
<a name="IDX158"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strconv_from_encoding</b><i> (const char *<var>string</var>, const char *<var>fromcode</var>, enum iconv_ilseq_handler <var>handler</var>)</i>
<a name="IDX168"></a>
<a name="IDX159"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strconv_from_encoding</b><i> (const char *<var>string</var>, const char *<var>fromcode</var>, enum iconv_ilseq_handler <var>handler</var>)</i>
<a name="IDX169"></a>
<a name="IDX160"></a>
</dt>
<dd><p>Converts a NUL terminated string from a given encoding.
</p>
@ -220,13 +220,13 @@ encoding and NUL terminated Unicode strings.
<dl>
<dt><u>Function:</u> char * <b>u8_strconv_to_encoding</b><i> (const uint8_t *<var>string</var>, const char *<var>tocode</var>, enum iconv_ilseq_handler <var>handler</var>)</i>
<a name="IDX170"></a>
<a name="IDX161"></a>
</dt>
<dt><u>Function:</u> char * <b>u16_strconv_to_encoding</b><i> (const uint16_t *<var>string</var>, const char *<var>tocode</var>, enum iconv_ilseq_handler <var>handler</var>)</i>
<a name="IDX171"></a>
<a name="IDX162"></a>
</dt>
<dt><u>Function:</u> char * <b>u32_strconv_to_encoding</b><i> (const uint32_t *<var>string</var>, const char *<var>tocode</var>, enum iconv_ilseq_handler <var>handler</var>)</i>
<a name="IDX172"></a>
<a name="IDX163"></a>
</dt>
<dd><p>Converts a NUL terminated string to a given encoding.
</p>
@ -240,13 +240,13 @@ strings in locale encoding and NUL terminated Unicode strings.
</p>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_strconv_from_locale</b><i> (const char *<var>string</var>)</i>
<a name="IDX173"></a>
<a name="IDX164"></a>
</dt>
<dt><u>Function:</u> uint16_t * <b>u16_strconv_from_locale</b><i> (const char *<var>string</var>)</i>
<a name="IDX174"></a>
<a name="IDX165"></a>
</dt>
<dt><u>Function:</u> uint32_t * <b>u32_strconv_from_locale</b><i> (const char *<var>string</var>)</i>
<a name="IDX175"></a>
<a name="IDX166"></a>
</dt>
<dd><p>Converts a NUL terminated string from the locale encoding.
</p>
@ -257,13 +257,13 @@ strings in locale encoding and NUL terminated Unicode strings.
<dl>
<dt><u>Function:</u> char * <b>u8_strconv_to_locale</b><i> (const uint8_t *<var>string</var>)</i>
<a name="IDX176"></a>
<a name="IDX167"></a>
</dt>
<dt><u>Function:</u> char * <b>u16_strconv_to_locale</b><i> (const uint16_t *<var>string</var>)</i>
<a name="IDX177"></a>
<a name="IDX168"></a>
</dt>
<dt><u>Function:</u> char * <b>u32_strconv_to_locale</b><i> (const uint32_t *<var>string</var>)</i>
<a name="IDX178"></a>
<a name="IDX169"></a>
</dt>
<dd><p>Converts a NUL terminated string to the locale encoding.
</p>
@ -273,8 +273,8 @@ strings in locale encoding and NUL terminated Unicode strings.
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_4.html#SEC11" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_6.html#SEC18" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_4.html#SEC10" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_6.html#SEC31" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -282,12 +282,12 @@ strings in locale encoding and NUL terminated Unicode strings.
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_5.html#SEC17" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_7.html#SEC19" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_5.html#SEC30" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_7.html#SEC32" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="unistdio_002eh"></a>
<a name="SEC18"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC18">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a> </h1>
<a name="SEC31"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a> </h1>
<p>This include file declares functions for doing formatted output with Unicode
strings. It defines a set of functions similar to <code>fprintf</code> and
@ -66,7 +66,7 @@ strings. It defines a set of functions similar to <code>fprintf</code> and
</p>
<p>These functions work like the <code>printf</code> function family.
In the format string:
</p><ul class="toc">
</p><ul>
<li>
The format directive &lsquo;<samp>U</samp>&rsquo; takes an UTF-8 string (<code>const uint8_t *</code>).
</li><li>
@ -103,49 +103,49 @@ is a <code>char *</code> string in locale encoding.
</p>
<dl>
<dt><u>Function:</u> int <b>ulc_sprintf</b><i> (char *<var>buf</var>, const char *<var>format</var>, ...)</i>
<a name="IDX179"></a>
<a name="IDX170"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>ulc_snprintf</b><i> (char *<var>buf</var>, size_t size, const char *<var>format</var>, ...)</i>
<a name="IDX180"></a>
<a name="IDX171"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>ulc_asprintf</b><i> (char **<var>resultp</var>, const char *<var>format</var>, ...)</i>
<a name="IDX181"></a>
<a name="IDX172"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> char * <b>ulc_asnprintf</b><i> (char *<var>resultbuf</var>, size_t *<var>lengthp</var>, const char *<var>format</var>, ...)</i>
<a name="IDX182"></a>
<a name="IDX173"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>ulc_vsprintf</b><i> (char *<var>buf</var>, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX183"></a>
<a name="IDX174"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>ulc_vsnprintf</b><i> (char *<var>buf</var>, size_t size, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX184"></a>
<a name="IDX175"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>ulc_vasprintf</b><i> (char **<var>resultp</var>, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX185"></a>
<a name="IDX176"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> char * <b>ulc_vasnprintf</b><i> (char *<var>resultbuf</var>, size_t *<var>lengthp</var>, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX186"></a>
<a name="IDX177"></a>
</dt>
</dl>
@ -154,42 +154,42 @@ UTF-8 format.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_sprintf</b><i> (uint8_t *<var>buf</var>, const char *<var>format</var>, ...)</i>
<a name="IDX187"></a>
<a name="IDX178"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_snprintf</b><i> (uint8_t *<var>buf</var>, size_t <var>size</var>, const char *<var>format</var>, ...)</i>
<a name="IDX188"></a>
<a name="IDX179"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_asprintf</b><i> (uint8_t **<var>resultp</var>, const char *<var>format</var>, ...)</i>
<a name="IDX189"></a>
<a name="IDX180"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_asnprintf</b><i> (uint8_t *<var>resultbuf</var>, size_t *<var>lengthp</var>, const char *<var>format</var>, ...)</i>
<a name="IDX190"></a>
<a name="IDX181"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_vsprintf</b><i> (uint8_t *<var>buf</var>, const char *<var>format</var>, va_list ap)</i>
<a name="IDX191"></a>
<a name="IDX182"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_vsnprintf</b><i> (uint8_t *<var>buf</var>, size_t <var>size</var>, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX192"></a>
<a name="IDX183"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_vasprintf</b><i> (uint8_t **<var>resultp</var>, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX193"></a>
<a name="IDX184"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_vasnprintf</b><i> (uint8_t *resultbuf, size_t *<var>lengthp</var>, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX194"></a>
<a name="IDX185"></a>
</dt>
</dl>
@ -198,42 +198,42 @@ UTF-8 format.
</p>
<dl>
<dt><u>Function:</u> int <b>u8_u8_sprintf</b><i> (uint8_t *<var>buf</var>, const uint8_t *<var>format</var>, ...)</i>
<a name="IDX195"></a>
<a name="IDX186"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_u8_snprintf</b><i> (uint8_t *<var>buf</var>, size_t <var>size</var>, const uint8_t *<var>format</var>, ...)</i>
<a name="IDX196"></a>
<a name="IDX187"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_u8_asprintf</b><i> (uint8_t **<var>resultp</var>, const uint8_t *<var>format</var>, ...)</i>
<a name="IDX197"></a>
<a name="IDX188"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_u8_asnprintf</b><i> (uint8_t *resultbuf, size_t *<var>lengthp</var>, const uint8_t *<var>format</var>, ...)</i>
<a name="IDX198"></a>
<a name="IDX189"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_u8_vsprintf</b><i> (uint8_t *<var>buf</var>, const uint8_t *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX199"></a>
<a name="IDX190"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_u8_vsnprintf</b><i> (uint8_t *<var>buf</var>, size_t <var>size</var>, const uint8_t *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX200"></a>
<a name="IDX191"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u8_u8_vasprintf</b><i> (uint8_t **<var>resultp</var>, const uint8_t *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX201"></a>
<a name="IDX192"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint8_t * <b>u8_u8_vasnprintf</b><i> (uint8_t *resultbuf, size_t *<var>lengthp</var>, const uint8_t *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX202"></a>
<a name="IDX193"></a>
</dt>
</dl>
@ -242,42 +242,42 @@ UTF-16 format.
</p>
<dl>
<dt><u>Function:</u> int <b>u16_sprintf</b><i> (uint16_t *<var>buf</var>, const char *<var>format</var>, ...)</i>
<a name="IDX203"></a>
<a name="IDX194"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_snprintf</b><i> (uint16_t *<var>buf</var>, size_t <var>size</var>, const char *<var>format</var>, ...)</i>
<a name="IDX204"></a>
<a name="IDX195"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_asprintf</b><i> (uint16_t **<var>resultp</var>, const char *<var>format</var>, ...)</i>
<a name="IDX205"></a>
<a name="IDX196"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint16_t * <b>u16_asnprintf</b><i> (uint16_t *<var>resultbuf</var>, size_t *<var>lengthp</var>, const char *<var>format</var>, ...)</i>
<a name="IDX206"></a>
<a name="IDX197"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_vsprintf</b><i> (uint16_t *<var>buf</var>, const char *<var>format</var>, va_list ap)</i>
<a name="IDX207"></a>
<a name="IDX198"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_vsnprintf</b><i> (uint16_t *<var>buf</var>, size_t <var>size</var>, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX208"></a>
<a name="IDX199"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_vasprintf</b><i> (uint16_t **<var>resultp</var>, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX209"></a>
<a name="IDX200"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint16_t * <b>u16_vasnprintf</b><i> (uint16_t *resultbuf, size_t *<var>lengthp</var>, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX210"></a>
<a name="IDX201"></a>
</dt>
</dl>
@ -286,42 +286,42 @@ UTF-16 format.
</p>
<dl>
<dt><u>Function:</u> int <b>u16_u16_sprintf</b><i> (uint16_t *<var>buf</var>, const uint16_t *<var>format</var>, ...)</i>
<a name="IDX211"></a>
<a name="IDX202"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_u16_snprintf</b><i> (uint16_t *<var>buf</var>, size_t <var>size</var>, const uint16_t *<var>format</var>, ...)</i>
<a name="IDX212"></a>
<a name="IDX203"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_u16_asprintf</b><i> (uint16_t **<var>resultp</var>, const uint16_t *<var>format</var>, ...)</i>
<a name="IDX213"></a>
<a name="IDX204"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint16_t * <b>u16_u16_asnprintf</b><i> (uint16_t *resultbuf, size_t *<var>lengthp</var>, const uint16_t *<var>format</var>, ...)</i>
<a name="IDX214"></a>
<a name="IDX205"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_u16_vsprintf</b><i> (uint16_t *<var>buf</var>, const uint16_t *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX215"></a>
<a name="IDX206"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_u16_vsnprintf</b><i> (uint16_t *<var>buf</var>, size_t <var>size</var>, const uint16_t *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX216"></a>
<a name="IDX207"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u16_u16_vasprintf</b><i> (uint16_t **<var>resultp</var>, const uint16_t *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX217"></a>
<a name="IDX208"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint16_t * <b>u16_u16_vasnprintf</b><i> (uint16_t *resultbuf, size_t *<var>lengthp</var>, const uint16_t *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX218"></a>
<a name="IDX209"></a>
</dt>
</dl>
@ -330,42 +330,42 @@ UTF-32 format.
</p>
<dl>
<dt><u>Function:</u> int <b>u32_sprintf</b><i> (uint32_t *<var>buf</var>, const char *<var>format</var>, ...)</i>
<a name="IDX219"></a>
<a name="IDX210"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_snprintf</b><i> (uint32_t *<var>buf</var>, size_t <var>size</var>, const char *<var>format</var>, ...)</i>
<a name="IDX220"></a>
<a name="IDX211"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_asprintf</b><i> (uint32_t **<var>resultp</var>, const char *<var>format</var>, ...)</i>
<a name="IDX221"></a>
<a name="IDX212"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint32_t * <b>u32_asnprintf</b><i> (uint32_t *<var>resultbuf</var>, size_t *<var>lengthp</var>, const char *<var>format</var>, ...)</i>
<a name="IDX222"></a>
<a name="IDX213"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_vsprintf</b><i> (uint32_t *<var>buf</var>, const char *<var>format</var>, va_list ap)</i>
<a name="IDX223"></a>
<a name="IDX214"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_vsnprintf</b><i> (uint32_t *<var>buf</var>, size_t <var>size</var>, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX224"></a>
<a name="IDX215"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_vasprintf</b><i> (uint32_t **<var>resultp</var>, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX225"></a>
<a name="IDX216"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint32_t * <b>u32_vasnprintf</b><i> (uint32_t *resultbuf, size_t *<var>lengthp</var>, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX226"></a>
<a name="IDX217"></a>
</dt>
</dl>
@ -374,42 +374,42 @@ UTF-32 format.
</p>
<dl>
<dt><u>Function:</u> int <b>u32_u32_sprintf</b><i> (uint32_t *<var>buf</var>, const uint32_t *<var>format</var>, ...)</i>
<a name="IDX227"></a>
<a name="IDX218"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_u32_snprintf</b><i> (uint32_t *<var>buf</var>, size_t <var>size</var>, const uint32_t *<var>format</var>, ...)</i>
<a name="IDX228"></a>
<a name="IDX219"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_u32_asprintf</b><i> (uint32_t **<var>resultp</var>, const uint32_t *<var>format</var>, ...)</i>
<a name="IDX229"></a>
<a name="IDX220"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint32_t * <b>u32_u32_asnprintf</b><i> (uint32_t *resultbuf, size_t *<var>lengthp</var>, const uint32_t *<var>format</var>, ...)</i>
<a name="IDX230"></a>
<a name="IDX221"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_u32_vsprintf</b><i> (uint32_t *<var>buf</var>, const uint32_t *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX231"></a>
<a name="IDX222"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_u32_vsnprintf</b><i> (uint32_t *<var>buf</var>, size_t <var>size</var>, const uint32_t *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX232"></a>
<a name="IDX223"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>u32_u32_vasprintf</b><i> (uint32_t **<var>resultp</var>, const uint32_t *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX233"></a>
<a name="IDX224"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> uint32_t * <b>u32_u32_vasnprintf</b><i> (uint32_t *resultbuf, size_t *<var>lengthp</var>, const uint32_t *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX234"></a>
<a name="IDX225"></a>
</dt>
</dl>
@ -418,18 +418,18 @@ locale encoding to a <code>FILE</code> stream.
</p>
<dl>
<dt><u>Function:</u> int <b>ulc_fprintf</b><i> (FILE *<var>stream</var>, const char *<var>format</var>, ...)</i>
<a name="IDX235"></a>
<a name="IDX226"></a>
</dt>
</dl>
<dl>
<dt><u>Function:</u> int <b>ulc_vfprintf</b><i> (FILE *<var>stream</var>, const char *<var>format</var>, va_list <var>ap</var>)</i>
<a name="IDX236"></a>
<a name="IDX227"></a>
</dt>
</dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_5.html#SEC17" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_7.html#SEC19" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_5.html#SEC30" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_7.html#SEC32" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -437,12 +437,12 @@ locale encoding to a <code>FILE</code> stream.
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_6.html#SEC18" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_8.html#SEC20" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_6.html#SEC31" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_8.html#SEC33" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,14 +51,14 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="uniname_002eh"></a>
<a name="SEC19"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC19">7. Names of Unicode characters <code>&lt;uniname.h&gt;</code></a> </h1>
<a name="SEC32"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC32">7. Names of Unicode characters <code>&lt;uniname.h&gt;</code></a> </h1>
<p>This include file implements the association between a Unicode character and
its name.
@ -70,7 +70,7 @@ named <code>&quot;MULTIPLICATION SIGN&quot;</code>.
</p>
<dl>
<dt><u>Macro:</u> unsigned int <b>UNINAME_MAX</b>
<a name="IDX237"></a>
<a name="IDX228"></a>
</dt>
<dd><p>This macro expands to a constant that is the required size of buffer for a
Unicode character name.
@ -78,7 +78,7 @@ Unicode character name.
<dl>
<dt><u>Function:</u> char * <b>unicode_character_name</b><i> (ucs4_t <var>uc</var>, char *<var>buf</var>)</i>
<a name="IDX238"></a>
<a name="IDX229"></a>
</dt>
<dd><p>Looks up the name of a Unicode character, in uppercase ASCII.
<var>buf</var> must point to a buffer, at least <code>UNINAME_MAX</code> bytes in size.
@ -87,7 +87,7 @@ Returns the filled <var>buf</var>, or NULL if the character does not have a name
<dl>
<dt><u>Function:</u> ucs4_t <b>unicode_name_character</b><i> (const char *<var>name</var>)</i>
<a name="IDX239"></a>
<a name="IDX230"></a>
</dt>
<dd><p>Looks up the Unicode character with a given name, in upper- or lowercase
ASCII. <var>NAME</var> can also be an alias name of a character.
@ -96,15 +96,15 @@ Returns the character if found, or <code>UNINAME_INVALID</code> if not found.
<dl>
<dt><u>Macro:</u> ucs4_t <b>UNINAME_INVALID</b>
<a name="IDX240"></a>
<a name="IDX231"></a>
</dt>
<dd><p>This macro expands to a constant that is a special return value of the
<code>unicode_name_character</code> function.
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_6.html#SEC18" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_8.html#SEC20" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_6.html#SEC31" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_8.html#SEC33" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -112,12 +112,12 @@ Returns the character if found, or <code>UNINAME_INVALID</code> if not found.
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

File diff suppressed because it is too large Load diff

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -42,8 +42,8 @@ ul.toc {list-style: none}
<body lang="en" bgcolor="#FFFFFF" text="#000000" link="#0000FF" vlink="#800080" alink="#FF0000">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_8.html#SEC20" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_10.html#SEC41" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_8.html#SEC33" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_10.html#SEC54" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -51,20 +51,20 @@ ul.toc {list-style: none}
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<hr size="2">
<a name="uniwidth_002eh"></a>
<a name="SEC40"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC40">9. Display width <code>&lt;uniwidth.h&gt;</code></a> </h1>
<a name="SEC53"></a>
<h1 class="chapter"> <a href="libunistring.html#TOC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a> </h1>
<p>This include file declares functions that return the display width, measured
in columns, of characters or strings, when output to a device that uses
non-proportional fonts.
</p>
<a name="IDX701"></a>
<a name="IDX692"></a>
<p>Note that for some rarely used characters the actual fonts or terminal
emulators can use a different width. There is no mechanism for communicating
the display width of characters across a Unix pseudo-terminal (tty). Also,
@ -76,12 +76,12 @@ most characters but can fail to represent the actual display width.
<p>These functions are locale dependent. The <var>encoding</var> argument identifies
the encoding (e.g. <code>&quot;ISO-8859-2&quot;</code> for Polish).
</p>
<a name="IDX702"></a>
<a name="IDX703"></a>
<a name="IDX704"></a>
<a name="IDX693"></a>
<a name="IDX694"></a>
<a name="IDX695"></a>
<dl>
<dt><u>Function:</u> int <b>uc_width</b><i> (ucs4_t <var>uc</var>, const char *<var>encoding</var>)</i>
<a name="IDX705"></a>
<a name="IDX696"></a>
</dt>
<dd><p>Determines and returns the number of column positions required for <var>uc</var>.
Returns -1 if <var>uc</var> is a control character that has an influence on the
@ -90,13 +90,13 @@ column position when output.
<dl>
<dt><u>Function:</u> int <b>u8_width</b><i> (const uint8_t *<var>s</var>, size_t <var>n</var>, const char *<var>encoding</var>)</i>
<a name="IDX706"></a>
<a name="IDX697"></a>
</dt>
<dt><u>Function:</u> int <b>u16_width</b><i> (const uint16_t *<var>s</var>, size_t <var>n</var>, const char *<var>encoding</var>)</i>
<a name="IDX707"></a>
<a name="IDX698"></a>
</dt>
<dt><u>Function:</u> int <b>u32_width</b><i> (const uint32_t *<var>s</var>, size_t <var>n</var>, const char *<var>encoding</var>)</i>
<a name="IDX708"></a>
<a name="IDX699"></a>
</dt>
<dd><p>Determines and returns the number of column positions required for first
<var>n</var> units (or fewer if <var>s</var> ends before this) in <var>s</var>. This
@ -105,21 +105,21 @@ function ignores control characters in the string.
<dl>
<dt><u>Function:</u> int <b>u8_strwidth</b><i> (const uint8_t *<var>s</var>, const char *<var>encoding</var>)</i>
<a name="IDX709"></a>
<a name="IDX700"></a>
</dt>
<dt><u>Function:</u> int <b>u16_strwidth</b><i> (const uint16_t *<var>s</var>, const char *<var>encoding</var>)</i>
<a name="IDX710"></a>
<a name="IDX701"></a>
</dt>
<dt><u>Function:</u> int <b>u32_strwidth</b><i> (const uint32_t *<var>s</var>, const char *<var>encoding</var>)</i>
<a name="IDX711"></a>
<a name="IDX702"></a>
</dt>
<dd><p>Determines and returns the number of column positions required for <var>s</var>.
This function ignores control characters in the string.
</p></dd></dl>
<hr size="6">
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="libunistring_8.html#SEC20" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_10.html#SEC41" title="Next chapter"> &gt;&gt; </a>]</td>
<tr><td valign="middle" align="left">[<a href="libunistring_8.html#SEC33" title="Beginning of this chapter or previous chapter"> &lt;&lt; </a>]</td>
<td valign="middle" align="left">[<a href="libunistring_10.html#SEC54" title="Next chapter"> &gt;&gt; </a>]</td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
<td valign="middle" align="left"> &nbsp; </td>
@ -127,12 +127,12 @@ This function ignores control characters in the string.
<td valign="middle" align="left"> &nbsp; </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_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -45,12 +45,12 @@ ul.toc {list-style: none}
<table cellpadding="1" cellspacing="1" border="0">
<tr><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_19.html#SEC77" title="Index">Index</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="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<h1>About This Document</h1>
<p>
This document was generated by <em>Daiki Ueno</em> on <em>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</p>
<p>
The buttons in the navigation panels have the following meaning:
@ -153,12 +153,12 @@ ul.toc {list-style: none}
<table cellpadding="1" cellspacing="1" border="0">
<tr><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_19.html#SEC77" title="Index">Index</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="#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<p>
<font size="-1">
This document was generated by <em>Daiki Ueno</em> on <em>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>

View file

@ -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 December, 2 2016 by texi2html 1.78a -->
<!-- Created on May, 25 2018 by texi2html 1.78a -->
<!--
Written by: Lionel Cons <Lionel.Cons@cern.ch> (original author)
Karl Berry <karl@freefriends.org>
@ -44,7 +44,7 @@ ul.toc {list-style: none}
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_19.html#SEC77" title="Index">Index</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_abt.html#SEC_About" title="About (help)"> ? </a>]</td>
</tr></table>
<h1 class="settitle">GNU libunistring</h1>
@ -60,95 +60,114 @@ ul.toc {list-style: none}
<li><a name="TOC4" href="libunistring_1.html#SEC4">1.3 Locale encodings</a></li>
<li><a name="TOC5" href="libunistring_1.html#SEC5">1.4 Choice of in-memory representation of strings</a></li>
<li><a name="TOC6" href="libunistring_1.html#SEC6">1.5 &lsquo;<samp>char *</samp>&rsquo; strings</a></li>
<li><a name="TOC7" href="libunistring_1.html#SEC7">1.6 The <code>wchar_t</code> mess</a></li>
<li><a name="TOC8" href="libunistring_1.html#SEC8">1.7 Unicode strings</a></li>
<li><a name="TOC7" href="libunistring_1.html#SEC7">1.6 Unicode strings</a></li>
</ul></li>
<li><a name="TOC9" href="libunistring_2.html#SEC9">2. Conventions</a></li>
<li><a name="TOC10" href="libunistring_3.html#SEC10">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></li>
<li><a name="TOC11" href="libunistring_4.html#SEC11">4. Elementary Unicode string functions <code>&lt;unistr.h&gt;</code></a>
<li><a name="TOC8" href="libunistring_2.html#SEC8">2. Conventions</a></li>
<li><a name="TOC9" href="libunistring_3.html#SEC9">3. Elementary types <code>&lt;unitypes.h&gt;</code></a></li>
<li><a name="TOC10" href="libunistring_4.html#SEC10">4. Elementary Unicode string functions <code>&lt;unistr.h&gt;</code></a>
<ul class="toc">
<li><a name="TOC12" href="libunistring_4.html#SEC12">4.1 Elementary string checks</a></li>
<li><a name="TOC13" href="libunistring_4.html#SEC13">4.2 Elementary string conversions</a></li>
<li><a name="TOC14" href="libunistring_4.html#SEC14">4.3 Elementary string functions</a></li>
<li><a name="TOC15" href="libunistring_4.html#SEC15">4.4 Elementary string functions with memory allocation</a></li>
<li><a name="TOC16" href="libunistring_4.html#SEC16">4.5 Elementary string functions on NUL terminated strings</a></li>
</ul></li>
<li><a name="TOC17" href="libunistring_5.html#SEC17">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></li>
<li><a name="TOC18" href="libunistring_6.html#SEC18">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></li>
<li><a name="TOC19" href="libunistring_7.html#SEC19">7. Names of Unicode characters <code>&lt;uniname.h&gt;</code></a></li>
<li><a name="TOC20" href="libunistring_8.html#SEC20">8. Unicode character classification and properties <code>&lt;unictype.h&gt;</code></a>
<ul class="toc">
<li><a name="TOC21" href="libunistring_8.html#SEC21">8.1 General category</a>
<li><a name="TOC11" href="libunistring_4.html#SEC11">4.1 Elementary string checks</a></li>
<li><a name="TOC12" href="libunistring_4.html#SEC12">4.2 Elementary string conversions</a></li>
<li><a name="TOC13" href="libunistring_4.html#SEC13">4.3 Elementary string functions</a>
<ul class="toc">
<li><a name="TOC22" href="libunistring_8.html#SEC22">8.1.1 The object oriented API for general category</a></li>
<li><a name="TOC23" href="libunistring_8.html#SEC23">8.1.2 The bit mask API for general category</a></li>
<li><a name="TOC14" href="libunistring_4.html#SEC14">4.3.1 Iterating over a Unicode string</a></li>
<li><a name="TOC15" href="libunistring_4.html#SEC15">4.3.2 Creating Unicode strings one character at a time</a></li>
<li><a name="TOC16" href="libunistring_4.html#SEC16">4.3.3 Copying Unicode strings</a></li>
<li><a name="TOC17" href="libunistring_4.html#SEC17">4.3.4 Comparing Unicode strings</a></li>
<li><a name="TOC18" href="libunistring_4.html#SEC18">4.3.5 Searching for a character in a Unicode string</a></li>
<li><a name="TOC19" href="libunistring_4.html#SEC19">4.3.6 Counting the characters in a Unicode string</a></li>
</ul></li>
<li><a name="TOC24" href="libunistring_8.html#SEC24">8.2 Canonical combining class</a></li>
<li><a name="TOC25" href="libunistring_8.html#SEC25">8.3 Bidi class</a></li>
<li><a name="TOC26" href="libunistring_8.html#SEC26">8.4 Decimal digit value</a></li>
<li><a name="TOC27" href="libunistring_8.html#SEC27">8.5 Digit value</a></li>
<li><a name="TOC28" href="libunistring_8.html#SEC28">8.6 Numeric value</a></li>
<li><a name="TOC29" href="libunistring_8.html#SEC29">8.7 Mirrored character</a></li>
<li><a name="TOC30" href="libunistring_8.html#SEC30">8.8 Arabic shaping</a>
<li><a name="TOC20" href="libunistring_4.html#SEC20">4.4 Elementary string functions with memory allocation</a></li>
<li><a name="TOC21" href="libunistring_4.html#SEC21">4.5 Elementary string functions on NUL terminated strings</a>
<ul class="toc">
<li><a name="TOC31" href="libunistring_8.html#SEC31">8.8.1 Joining type of Arabic characters</a></li>
<li><a name="TOC32" href="libunistring_8.html#SEC32">8.8.2 Joining group of Arabic characters</a></li>
</ul></li>
<li><a name="TOC33" href="libunistring_8.html#SEC33">8.9 Properties</a>
<li><a name="TOC22" href="libunistring_4.html#SEC22">4.5.1 Iterating over a NUL terminated Unicode string</a></li>
<li><a name="TOC23" href="libunistring_4.html#SEC23">4.5.2 Length of a NUL terminated Unicode string</a></li>
<li><a name="TOC24" href="libunistring_4.html#SEC24">4.5.3 Copying a NUL terminated Unicode string</a></li>
<li><a name="TOC25" href="libunistring_4.html#SEC25">4.5.4 Comparing NUL terminated Unicode strings</a></li>
<li><a name="TOC26" href="libunistring_4.html#SEC26">4.5.5 Duplicating a NUL terminated Unicode string</a></li>
<li><a name="TOC27" href="libunistring_4.html#SEC27">4.5.6 Searching for a character in a NUL terminated Unicode string</a></li>
<li><a name="TOC28" href="libunistring_4.html#SEC28">4.5.7 Searching for a substring in a NUL terminated Unicode string</a></li>
<li><a name="TOC29" href="libunistring_4.html#SEC29">4.5.8 Tokenizing a NUL terminated Unicode string</a></li>
</ul>
</li>
</ul></li>
<li><a name="TOC30" href="libunistring_5.html#SEC30">5. Conversions between Unicode and encodings <code>&lt;uniconv.h&gt;</code></a></li>
<li><a name="TOC31" href="libunistring_6.html#SEC31">6. Output with Unicode strings <code>&lt;unistdio.h&gt;</code></a></li>
<li><a name="TOC32" href="libunistring_7.html#SEC32">7. Names of Unicode characters <code>&lt;uniname.h&gt;</code></a></li>
<li><a name="TOC33" href="libunistring_8.html#SEC33">8. Unicode character classification and properties <code>&lt;unictype.h&gt;</code></a>
<ul class="toc">
<li><a name="TOC34" href="libunistring_8.html#SEC34">8.1 General category</a>
<ul class="toc">
<li><a name="TOC34" href="libunistring_8.html#SEC34">8.9.1 Properties as objects &ndash; the object oriented API</a></li>
<li><a name="TOC35" href="libunistring_8.html#SEC35">8.9.2 Properties as functions &ndash; the functional API</a></li>
<li><a name="TOC35" href="libunistring_8.html#SEC35">8.1.1 The object oriented API for general category</a></li>
<li><a name="TOC36" href="libunistring_8.html#SEC36">8.1.2 The bit mask API for general category</a></li>
</ul></li>
<li><a name="TOC36" href="libunistring_8.html#SEC36">8.10 Scripts</a></li>
<li><a name="TOC37" href="libunistring_8.html#SEC37">8.11 Blocks</a></li>
<li><a name="TOC38" href="libunistring_8.html#SEC38">8.12 ISO C and Java syntax</a></li>
<li><a name="TOC39" href="libunistring_8.html#SEC39">8.13 Classifications like in ISO C</a></li>
<li><a name="TOC37" href="libunistring_8.html#SEC37">8.2 Canonical combining class</a></li>
<li><a name="TOC38" href="libunistring_8.html#SEC38">8.3 Bidi class</a></li>
<li><a name="TOC39" href="libunistring_8.html#SEC39">8.4 Decimal digit value</a></li>
<li><a name="TOC40" href="libunistring_8.html#SEC40">8.5 Digit value</a></li>
<li><a name="TOC41" href="libunistring_8.html#SEC41">8.6 Numeric value</a></li>
<li><a name="TOC42" href="libunistring_8.html#SEC42">8.7 Mirrored character</a></li>
<li><a name="TOC43" href="libunistring_8.html#SEC43">8.8 Arabic shaping</a>
<ul class="toc">
<li><a name="TOC44" href="libunistring_8.html#SEC44">8.8.1 Joining type of Arabic characters</a></li>
<li><a name="TOC45" href="libunistring_8.html#SEC45">8.8.2 Joining group of Arabic characters</a></li>
</ul></li>
<li><a name="TOC46" href="libunistring_8.html#SEC46">8.9 Properties</a>
<ul class="toc">
<li><a name="TOC47" href="libunistring_8.html#SEC47">8.9.1 Properties as objects &ndash; the object oriented API</a></li>
<li><a name="TOC48" href="libunistring_8.html#SEC48">8.9.2 Properties as functions &ndash; the functional API</a></li>
</ul></li>
<li><a name="TOC49" href="libunistring_8.html#SEC49">8.10 Scripts</a></li>
<li><a name="TOC50" href="libunistring_8.html#SEC50">8.11 Blocks</a></li>
<li><a name="TOC51" href="libunistring_8.html#SEC51">8.12 ISO C and Java syntax</a></li>
<li><a name="TOC52" href="libunistring_8.html#SEC52">8.13 Classifications like in ISO C</a></li>
</ul></li>
<li><a name="TOC40" href="libunistring_9.html#SEC40">9. Display width <code>&lt;uniwidth.h&gt;</code></a></li>
<li><a name="TOC41" href="libunistring_10.html#SEC41">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a>
<li><a name="TOC53" href="libunistring_9.html#SEC53">9. Display width <code>&lt;uniwidth.h&gt;</code></a></li>
<li><a name="TOC54" href="libunistring_10.html#SEC54">10. Grapheme cluster breaks in strings <code>&lt;unigbrk.h&gt;</code></a>
<ul class="toc">
<li><a name="TOC42" href="libunistring_10.html#SEC42">10.1 Grapheme cluster breaks in a string</a></li>
<li><a name="TOC43" href="libunistring_10.html#SEC43">10.2 Grapheme cluster break property</a></li>
<li><a name="TOC55" href="libunistring_10.html#SEC55">10.1 Grapheme cluster breaks in a string</a></li>
<li><a name="TOC56" href="libunistring_10.html#SEC56">10.2 Grapheme cluster break property</a></li>
</ul></li>
<li><a name="TOC44" href="libunistring_11.html#SEC44">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a>
<li><a name="TOC57" href="libunistring_11.html#SEC57">11. Word breaks in strings <code>&lt;uniwbrk.h&gt;</code></a>
<ul class="toc">
<li><a name="TOC45" href="libunistring_11.html#SEC45">11.1 Word breaks in a string</a></li>
<li><a name="TOC46" href="libunistring_11.html#SEC46">11.2 Word break property</a></li>
<li><a name="TOC58" href="libunistring_11.html#SEC58">11.1 Word breaks in a string</a></li>
<li><a name="TOC59" href="libunistring_11.html#SEC59">11.2 Word break property</a></li>
</ul></li>
<li><a name="TOC47" href="libunistring_12.html#SEC47">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></li>
<li><a name="TOC48" href="libunistring_13.html#SEC48">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a>
<li><a name="TOC60" href="libunistring_12.html#SEC60">12. Line breaking <code>&lt;unilbrk.h&gt;</code></a></li>
<li><a name="TOC61" href="libunistring_13.html#SEC61">13. Normalization forms (composition and decomposition) <code>&lt;uninorm.h&gt;</code></a>
<ul class="toc">
<li><a name="TOC49" href="libunistring_13.html#SEC49">13.1 Decomposition of Unicode characters</a></li>
<li><a name="TOC50" href="libunistring_13.html#SEC50">13.2 Composition of Unicode characters</a></li>
<li><a name="TOC51" href="libunistring_13.html#SEC51">13.3 Normalization of strings</a></li>
<li><a name="TOC52" href="libunistring_13.html#SEC52">13.4 Normalizing comparisons</a></li>
<li><a name="TOC53" href="libunistring_13.html#SEC53">13.5 Normalization of streams of Unicode characters</a></li>
<li><a name="TOC62" href="libunistring_13.html#SEC62">13.1 Decomposition of Unicode characters</a></li>
<li><a name="TOC63" href="libunistring_13.html#SEC63">13.2 Composition of Unicode characters</a></li>
<li><a name="TOC64" href="libunistring_13.html#SEC64">13.3 Normalization of strings</a></li>
<li><a name="TOC65" href="libunistring_13.html#SEC65">13.4 Normalizing comparisons</a></li>
<li><a name="TOC66" href="libunistring_13.html#SEC66">13.5 Normalization of streams of Unicode characters</a></li>
</ul></li>
<li><a name="TOC54" href="libunistring_14.html#SEC54">14. Case mappings <code>&lt;unicase.h&gt;</code></a>
<li><a name="TOC67" href="libunistring_14.html#SEC67">14. Case mappings <code>&lt;unicase.h&gt;</code></a>
<ul class="toc">
<li><a name="TOC55" href="libunistring_14.html#SEC55">14.1 Case mappings of characters</a></li>
<li><a name="TOC56" href="libunistring_14.html#SEC56">14.2 Case mappings of strings</a></li>
<li><a name="TOC57" href="libunistring_14.html#SEC57">14.3 Case mappings of substrings</a></li>
<li><a name="TOC58" href="libunistring_14.html#SEC58">14.4 Case insensitive comparison</a></li>
<li><a name="TOC59" href="libunistring_14.html#SEC59">14.5 Case detection</a></li>
<li><a name="TOC68" href="libunistring_14.html#SEC68">14.1 Case mappings of characters</a></li>
<li><a name="TOC69" href="libunistring_14.html#SEC69">14.2 Case mappings of strings</a></li>
<li><a name="TOC70" href="libunistring_14.html#SEC70">14.3 Case mappings of substrings</a></li>
<li><a name="TOC71" href="libunistring_14.html#SEC71">14.4 Case insensitive comparison</a></li>
<li><a name="TOC72" href="libunistring_14.html#SEC72">14.5 Case detection</a></li>
</ul></li>
<li><a name="TOC60" href="libunistring_15.html#SEC60">15. Regular expressions <code>&lt;uniregex.h&gt;</code></a></li>
<li><a name="TOC61" href="libunistring_16.html#SEC61">16. Using the library</a>
<li><a name="TOC73" href="libunistring_15.html#SEC73">15. Regular expressions <code>&lt;uniregex.h&gt;</code></a></li>
<li><a name="TOC74" href="libunistring_16.html#SEC74">16. Using the library</a>
<ul class="toc">
<li><a name="TOC62" href="libunistring_16.html#SEC62">16.1 Installation</a></li>
<li><a name="TOC63" href="libunistring_16.html#SEC63">16.2 Compiler options</a></li>
<li><a name="TOC64" href="libunistring_16.html#SEC64">16.3 Include files</a></li>
<li><a name="TOC65" href="libunistring_16.html#SEC65">16.4 Autoconf macro</a></li>
<li><a name="TOC66" href="libunistring_16.html#SEC66">16.5 Reporting problems</a></li>
<li><a name="TOC75" href="libunistring_16.html#SEC75">16.1 Installation</a></li>
<li><a name="TOC76" href="libunistring_16.html#SEC76">16.2 Compiler options</a></li>
<li><a name="TOC77" href="libunistring_16.html#SEC77">16.3 Include files</a></li>
<li><a name="TOC78" href="libunistring_16.html#SEC78">16.4 Autoconf macro</a></li>
<li><a name="TOC79" href="libunistring_16.html#SEC79">16.5 Reporting problems</a></li>
</ul></li>
<li><a name="TOC67" href="libunistring_17.html#SEC67">17. More advanced functionality</a></li>
<li><a name="TOC68" href="libunistring_18.html#SEC68">A. Licenses</a>
<li><a name="TOC80" href="libunistring_17.html#SEC80">17. More advanced functionality</a></li>
<li><a name="TOC81" href="libunistring_18.html#SEC81">A. The <code>wchar_t</code> mess</a></li>
<li><a name="TOC82" href="libunistring_19.html#SEC82">B. Licenses</a>
<ul class="toc">
<li><a name="TOC69" href="libunistring_18.html#SEC69">A.1 GNU GENERAL PUBLIC LICENSE</a></li>
<li><a name="TOC70" href="libunistring_18.html#SEC74">A.2 GNU LESSER GENERAL PUBLIC LICENSE</a></li>
<li><a name="TOC71" href="libunistring_18.html#SEC75">A.3 GNU Free Documentation License</a></li>
<li><a name="TOC83" href="libunistring_19.html#SEC83">B.1 GNU GENERAL PUBLIC LICENSE</a></li>
<li><a name="TOC84" href="libunistring_19.html#SEC88">B.2 GNU LESSER GENERAL PUBLIC LICENSE</a></li>
<li><a name="TOC85" href="libunistring_19.html#SEC89">B.3 GNU Free Documentation License</a></li>
</ul></li>
<li><a name="TOC72" href="libunistring_19.html#SEC77">Index</a></li>
<li><a name="TOC86" href="libunistring_20.html#SEC91">Index</a></li>
</ul>
</div>
@ -160,12 +179,12 @@ ul.toc {list-style: none}
<table cellpadding="1" cellspacing="1" border="0">
<tr><td valign="middle" align="left">[<a href="#SEC_Top" title="Cover (top) of document">Top</a>]</td>
<td valign="middle" align="left">[<a href="#SEC_Contents" title="Table of contents">Contents</a>]</td>
<td valign="middle" align="left">[<a href="libunistring_19.html#SEC77" title="Index">Index</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_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>December, 2 2016</em> using <a href="http://www.nongnu.org/texi2html/"><em>texi2html 1.78a</em></a>.
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>.
</font>
<br>