Sophie

Sophie

distrib > Mageia > 5 > i586 > media > core-updates > by-pkgid > 67d6f1fcdf59eeb6f1363fc33c40091c > files > 1294

icu-doc-53.1-12.6.mga5.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.6"/>
<title>ICU 53.1: ucasemap.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td style="padding-left: 0.5em;">
   <div id="projectname">ICU 53.1
   &#160;<span id="projectnumber">53.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.6 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="files.html"><span>File&#160;List</span></a></li>
      <li><a href="globals.html"><span>Globals</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark">&#160;</span>Pages</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_55bf5c6bcedc2c5705af95fc7596ac50.html">icu</a></li><li class="navelem"><a class="el" href="dir_17c4e3d278dd0be6889e0e8c41145d45.html">source</a></li><li class="navelem"><a class="el" href="dir_9d30126de01c6acabed440c3eefed2e6.html">common</a></li><li class="navelem"><a class="el" href="dir_09927d28e4089b088d7b70dcc744d58d.html">unicode</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#namespaces">Namespaces</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">ucasemap.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>C API: Unicode case mapping functions using a UCaseMap service object.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="utypes_8h_source.html">unicode/utypes.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ustring_8h_source.html">unicode/ustring.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="localpointer_8h_source.html">unicode/localpointer.h</a>&quot;</code><br/>
</div>
<p><a href="ucasemap_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="namespaces"></a>
Namespaces</h2></td></tr>
<tr class="memitem:namespaceicu"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespaceicu.html">icu</a></td></tr>
<tr class="memdesc:namespaceicu"><td class="mdescLeft">&#160;</td><td class="mdescRight">File <a class="el" href="coll_8h.html" title="C++ API: Collation Service. ">coll.h</a>. <br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:aab9de6ad843adcbc21001f7f93f1e888"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#aab9de6ad843adcbc21001f7f93f1e888">U_TITLECASE_NO_LOWERCASE</a>&#160;&#160;&#160;0x100</td></tr>
<tr class="memdesc:aab9de6ad843adcbc21001f7f93f1e888"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do not lowercase non-initial parts of words when titlecasing.  <a href="#aab9de6ad843adcbc21001f7f93f1e888">More...</a><br/></td></tr>
<tr class="separator:aab9de6ad843adcbc21001f7f93f1e888"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afc65fa226cac9b8eeef0e877b8a7744e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#afc65fa226cac9b8eeef0e877b8a7744e">U_TITLECASE_NO_BREAK_ADJUSTMENT</a>&#160;&#160;&#160;0x200</td></tr>
<tr class="memdesc:afc65fa226cac9b8eeef0e877b8a7744e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Do not adjust the titlecasing indexes from BreakIterator::next() indexes; titlecase exactly the characters at breaks from the iterator.  <a href="#afc65fa226cac9b8eeef0e877b8a7744e">More...</a><br/></td></tr>
<tr class="separator:afc65fa226cac9b8eeef0e877b8a7744e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a2c127e061c4bc5f4ccc9defbe01f9dca"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a></td></tr>
<tr class="memdesc:a2c127e061c4bc5f4ccc9defbe01f9dca"><td class="mdescLeft">&#160;</td><td class="mdescRight">C typedef for struct UCaseMap.  <a href="#a2c127e061c4bc5f4ccc9defbe01f9dca">More...</a><br/></td></tr>
<tr class="separator:a2c127e061c4bc5f4ccc9defbe01f9dca"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a40df152b19d07dba4cc9d5b3015b27d1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#a40df152b19d07dba4cc9d5b3015b27d1">ucasemap_open</a> (const char *locale, uint32_t options, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a40df152b19d07dba4cc9d5b3015b27d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Open a UCaseMap service object for a locale and a set of options.  <a href="#a40df152b19d07dba4cc9d5b3015b27d1">More...</a><br/></td></tr>
<tr class="separator:a40df152b19d07dba4cc9d5b3015b27d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf25fdcf78936f8e0567a68962c0ddf8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#acf25fdcf78936f8e0567a68962c0ddf8">ucasemap_close</a> (<a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *csm)</td></tr>
<tr class="memdesc:acf25fdcf78936f8e0567a68962c0ddf8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Close a UCaseMap service object.  <a href="#acf25fdcf78936f8e0567a68962c0ddf8">More...</a><br/></td></tr>
<tr class="separator:acf25fdcf78936f8e0567a68962c0ddf8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3a7a9d9d7dbe7f723d666a9dc1556c6b"><td class="memItemLeft" align="right" valign="top">const char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#a3a7a9d9d7dbe7f723d666a9dc1556c6b">ucasemap_getLocale</a> (const <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *csm)</td></tr>
<tr class="memdesc:a3a7a9d9d7dbe7f723d666a9dc1556c6b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the locale ID that is used for language-dependent case mappings.  <a href="#a3a7a9d9d7dbe7f723d666a9dc1556c6b">More...</a><br/></td></tr>
<tr class="separator:a3a7a9d9d7dbe7f723d666a9dc1556c6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a811753309b4eb249429c7a7f86accae1"><td class="memItemLeft" align="right" valign="top">uint32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#a811753309b4eb249429c7a7f86accae1">ucasemap_getOptions</a> (const <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *csm)</td></tr>
<tr class="memdesc:a811753309b4eb249429c7a7f86accae1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the options bit set that is used for case folding and string comparisons.  <a href="#a811753309b4eb249429c7a7f86accae1">More...</a><br/></td></tr>
<tr class="separator:a811753309b4eb249429c7a7f86accae1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a907584719eb4fb3678fcb885c5f06059"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#a907584719eb4fb3678fcb885c5f06059">ucasemap_setLocale</a> (<a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *csm, const char *locale, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a907584719eb4fb3678fcb885c5f06059"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the locale ID that is used for language-dependent case mappings.  <a href="#a907584719eb4fb3678fcb885c5f06059">More...</a><br/></td></tr>
<tr class="separator:a907584719eb4fb3678fcb885c5f06059"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a06ddc797846dfd55bc4bd81ff30a5e56"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#a06ddc797846dfd55bc4bd81ff30a5e56">ucasemap_setOptions</a> (<a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *csm, uint32_t options, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a06ddc797846dfd55bc4bd81ff30a5e56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the options bit set that is used for case folding and string comparisons.  <a href="#a06ddc797846dfd55bc4bd81ff30a5e56">More...</a><br/></td></tr>
<tr class="separator:a06ddc797846dfd55bc4bd81ff30a5e56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2d3ecd2ab71395582ac92e263e0b50e0"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="ubrk_8h.html#adb85bb46d5f93c87098e11deab50bef4">UBreakIterator</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#a2d3ecd2ab71395582ac92e263e0b50e0">ucasemap_getBreakIterator</a> (const <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *csm)</td></tr>
<tr class="memdesc:a2d3ecd2ab71395582ac92e263e0b50e0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the break iterator that is used for titlecasing.  <a href="#a2d3ecd2ab71395582ac92e263e0b50e0">More...</a><br/></td></tr>
<tr class="separator:a2d3ecd2ab71395582ac92e263e0b50e0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1928a194cb0d8b6ca3617d61f534cbc5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#a1928a194cb0d8b6ca3617d61f534cbc5">ucasemap_setBreakIterator</a> (<a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *csm, <a class="el" href="ubrk_8h.html#adb85bb46d5f93c87098e11deab50bef4">UBreakIterator</a> *iterToAdopt, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a1928a194cb0d8b6ca3617d61f534cbc5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the break iterator that is used for titlecasing.  <a href="#a1928a194cb0d8b6ca3617d61f534cbc5">More...</a><br/></td></tr>
<tr class="separator:a1928a194cb0d8b6ca3617d61f534cbc5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab8002df7573b0dbf6e0a19ff3cc09b5d"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#ab8002df7573b0dbf6e0a19ff3cc09b5d">ucasemap_toTitle</a> (<a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *csm, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, int32_t destCapacity, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *src, int32_t srcLength, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:ab8002df7573b0dbf6e0a19ff3cc09b5d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Titlecase a UTF-16 string.  <a href="#ab8002df7573b0dbf6e0a19ff3cc09b5d">More...</a><br/></td></tr>
<tr class="separator:ab8002df7573b0dbf6e0a19ff3cc09b5d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8d14045335e130a16b68213194a04cc0"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#a8d14045335e130a16b68213194a04cc0">ucasemap_utf8ToLower</a> (const <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a8d14045335e130a16b68213194a04cc0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Lowercase the characters in a UTF-8 string.  <a href="#a8d14045335e130a16b68213194a04cc0">More...</a><br/></td></tr>
<tr class="separator:a8d14045335e130a16b68213194a04cc0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a817d31c95e792462407a119b5fdbedc7"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#a817d31c95e792462407a119b5fdbedc7">ucasemap_utf8ToUpper</a> (const <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a817d31c95e792462407a119b5fdbedc7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Uppercase the characters in a UTF-8 string.  <a href="#a817d31c95e792462407a119b5fdbedc7">More...</a><br/></td></tr>
<tr class="separator:a817d31c95e792462407a119b5fdbedc7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ef18fcd15be677e4b17bf70fda02551"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#a4ef18fcd15be677e4b17bf70fda02551">ucasemap_utf8ToTitle</a> (<a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a4ef18fcd15be677e4b17bf70fda02551"><td class="mdescLeft">&#160;</td><td class="mdescRight">Titlecase a UTF-8 string.  <a href="#a4ef18fcd15be677e4b17bf70fda02551">More...</a><br/></td></tr>
<tr class="separator:a4ef18fcd15be677e4b17bf70fda02551"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a3a403ca36e0ff7a4e5ecf821f2583c"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ucasemap_8h.html#a7a3a403ca36e0ff7a4e5ecf821f2583c">ucasemap_utf8FoldCase</a> (const <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *csm, char *dest, int32_t destCapacity, const char *src, int32_t srcLength, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a7a3a403ca36e0ff7a4e5ecf821f2583c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Case-folds the characters in a UTF-8 string.  <a href="#a7a3a403ca36e0ff7a4e5ecf821f2583c">More...</a><br/></td></tr>
<tr class="separator:a7a3a403ca36e0ff7a4e5ecf821f2583c"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>C API: Unicode case mapping functions using a UCaseMap service object. </p>
<p>The service object takes care of memory allocations, data loading, and setup for the attributes, as usual.</p>
<p>Currently, the functionality provided here does not overlap with <a class="el" href="uchar_8h.html" title="C API: Unicode Properties. ">uchar.h</a> and <a class="el" href="ustring_8h.html" title="C API: Unicode string handling functions. ">ustring.h</a>, except for <a class="el" href="ucasemap_8h.html#ab8002df7573b0dbf6e0a19ff3cc09b5d" title="Titlecase a UTF-16 string. ">ucasemap_toTitle()</a>.</p>
<p>ucasemap_utf8XYZ() functions operate directly on UTF-8 strings. </p>

<p>Definition in file <a class="el" href="ucasemap_8h_source.html">ucasemap.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="afc65fa226cac9b8eeef0e877b8a7744e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_TITLECASE_NO_BREAK_ADJUSTMENT&#160;&#160;&#160;0x200</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Do not adjust the titlecasing indexes from BreakIterator::next() indexes; titlecase exactly the characters at breaks from the iterator. </p>
<p>Option bit for titlecasing APIs that take an options bit set.</p>
<p>By default, titlecasing will take each break iterator index, adjust it by looking for the next cased character, and titlecase that one. Other characters are lowercased.</p>
<p>This follows Unicode 4 &amp; 5 section 3.13 Default Case Operations:</p>
<p>R3 toTitlecase(X): Find the word boundaries based on Unicode Standard Annex #29, "Text Boundaries." Between each pair of word boundaries, find the first cased character F. If F exists, map F to default_title(F); then map each subsequent character C to default_lower(C).</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="ucasemap_8h.html#a06ddc797846dfd55bc4bd81ff30a5e56" title="Set the options bit set that is used for case folding and string comparisons. ">ucasemap_setOptions</a> </dd>
<dd>
<a class="el" href="ucasemap_8h.html#ab8002df7573b0dbf6e0a19ff3cc09b5d" title="Titlecase a UTF-16 string. ">ucasemap_toTitle</a> </dd>
<dd>
<a class="el" href="ucasemap_8h.html#a4ef18fcd15be677e4b17bf70fda02551" title="Titlecase a UTF-8 string. ">ucasemap_utf8ToTitle</a> </dd>
<dd>
UnicodeString::toTitle </dd>
<dd>
<a class="el" href="ucasemap_8h.html#aab9de6ad843adcbc21001f7f93f1e888" title="Do not lowercase non-initial parts of words when titlecasing. ">U_TITLECASE_NO_LOWERCASE</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000741">Stable:</a></b></dt><dd>ICU 3.8 </dd></dl>

<p>Definition at line <a class="el" href="ucasemap_8h_source.html#l00184">184</a> of file <a class="el" href="ucasemap_8h_source.html">ucasemap.h</a>.</p>

</div>
</div>
<a class="anchor" id="aab9de6ad843adcbc21001f7f93f1e888"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_TITLECASE_NO_LOWERCASE&#160;&#160;&#160;0x100</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Do not lowercase non-initial parts of words when titlecasing. </p>
<p>Option bit for titlecasing APIs that take an options bit set.</p>
<p>By default, titlecasing will titlecase the first cased character of a word and lowercase all other characters. With this option, the other characters will not be modified.</p>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="ucasemap_8h.html#a06ddc797846dfd55bc4bd81ff30a5e56" title="Set the options bit set that is used for case folding and string comparisons. ">ucasemap_setOptions</a> </dd>
<dd>
<a class="el" href="ucasemap_8h.html#ab8002df7573b0dbf6e0a19ff3cc09b5d" title="Titlecase a UTF-16 string. ">ucasemap_toTitle</a> </dd>
<dd>
<a class="el" href="ucasemap_8h.html#a4ef18fcd15be677e4b17bf70fda02551" title="Titlecase a UTF-8 string. ">ucasemap_utf8ToTitle</a> </dd>
<dd>
UnicodeString::toTitle </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000740">Stable:</a></b></dt><dd>ICU 3.8 </dd></dl>

<p>Definition at line <a class="el" href="ucasemap_8h_source.html#l00159">159</a> of file <a class="el" href="ucasemap_8h_source.html">ucasemap.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="a2c127e061c4bc5f4ccc9defbe01f9dca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>C typedef for struct UCaseMap. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000733">Stable:</a></b></dt><dd>ICU 3.4 </dd></dl>

<p>Definition at line <a class="el" href="ucasemap_8h_source.html#l00045">45</a> of file <a class="el" href="ucasemap_8h_source.html">ucasemap.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="acf25fdcf78936f8e0567a68962c0ddf8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucasemap_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *&#160;</td>
          <td class="paramname"><em>csm</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Close a UCaseMap service object. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">csm</td><td>Object to be closed. </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000735">Stable:</a></b></dt><dd>ICU 3.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a2d3ecd2ab71395582ac92e263e0b50e0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="ubrk_8h.html#adb85bb46d5f93c87098e11deab50bef4">UBreakIterator</a>* ucasemap_getBreakIterator </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *&#160;</td>
          <td class="paramname"><em>csm</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the break iterator that is used for titlecasing. </p>
<p>Do not modify the returned break iterator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">csm</td><td>UCaseMap service object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>titlecasing break iterator </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000742">Stable:</a></b></dt><dd>ICU 3.8 </dd></dl>

</div>
</div>
<a class="anchor" id="a3a7a9d9d7dbe7f723d666a9dc1556c6b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const char* ucasemap_getLocale </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *&#160;</td>
          <td class="paramname"><em>csm</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the locale ID that is used for language-dependent case mappings. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">csm</td><td>UCaseMap service object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>locale ID </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000736">Stable:</a></b></dt><dd>ICU 3.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a811753309b4eb249429c7a7f86accae1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">uint32_t ucasemap_getOptions </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *&#160;</td>
          <td class="paramname"><em>csm</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the options bit set that is used for case folding and string comparisons. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">csm</td><td>UCaseMap service object. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>options bit set </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000737">Stable:</a></b></dt><dd>ICU 3.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a40df152b19d07dba4cc9d5b3015b27d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a>* ucasemap_open </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>locale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Open a UCaseMap service object for a locale and a set of options. </p>
<p>The locale ID and options are preprocessed so that functions using the service object need not process them in each call.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">locale</td><td>ICU locale ID, used for language-dependent upper-/lower-/title-casing according to the Unicode standard. Usual semantics: ""=root, NULL=default locale, etc. </td></tr>
    <tr><td class="paramname">options</td><td>Options bit set, used for case folding and string comparisons. Same flags as for <a class="el" href="uchar_8h.html#a92925c095397f6af772717acec165d01" title="The given character is mapped to its case folding equivalent according to UnicodeData.txt and CaseFolding.txt; if the character has no case folding equivalent, the character itself is returned. ">u_foldCase()</a>, <a class="el" href="ustring_8h.html#ab6709b5a5c1606cf0d3ea24934d9acce" title="Case-folds the characters in a string. ">u_strFoldCase()</a>, <a class="el" href="ustring_8h.html#a56c7ed13d57379ff8b5f0736b0628e09" title="Compare two strings case-insensitively using full case folding. ">u_strCaseCompare()</a>, etc. Use 0 or U_FOLD_CASE_DEFAULT for default behavior. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Must be a valid pointer to an error code value, which must not indicate a failure before the function call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer to a UCaseMap service object, if successful.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="uchar_8h.html#a7c41915be9809fd815a5c7d581ad1ea3" title="Option value for case folding: use default mappings defined in CaseFolding.txt. ">U_FOLD_CASE_DEFAULT</a> </dd>
<dd>
<a class="el" href="uchar_8h.html#a2d074cf9ee160fbcaec63740c4f9689e" title="Option value for case folding: ">U_FOLD_CASE_EXCLUDE_SPECIAL_I</a> </dd>
<dd>
<a class="el" href="ucasemap_8h.html#aab9de6ad843adcbc21001f7f93f1e888" title="Do not lowercase non-initial parts of words when titlecasing. ">U_TITLECASE_NO_LOWERCASE</a> </dd>
<dd>
<a class="el" href="ucasemap_8h.html#afc65fa226cac9b8eeef0e877b8a7744e" title="Do not adjust the titlecasing indexes from BreakIterator::next() indexes; titlecase exactly the chara...">U_TITLECASE_NO_BREAK_ADJUSTMENT</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000734">Stable:</a></b></dt><dd>ICU 3.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a1928a194cb0d8b6ca3617d61f534cbc5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucasemap_setBreakIterator </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *&#160;</td>
          <td class="paramname"><em>csm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="ubrk_8h.html#adb85bb46d5f93c87098e11deab50bef4">UBreakIterator</a> *&#160;</td>
          <td class="paramname"><em>iterToAdopt</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the break iterator that is used for titlecasing. </p>
<p>The UCaseMap service object releases a previously set break iterator and "adopts" this new one, taking ownership of it. It will be released in a subsequent call to <a class="el" href="ucasemap_8h.html#a1928a194cb0d8b6ca3617d61f534cbc5" title="Set the break iterator that is used for titlecasing. ">ucasemap_setBreakIterator()</a> or <a class="el" href="ucasemap_8h.html#acf25fdcf78936f8e0567a68962c0ddf8" title="Close a UCaseMap service object. ">ucasemap_close()</a>.</p>
<p>Break iterator operations are not thread-safe. Therefore, titlecasing functions use non-const UCaseMap objects. It is not possible to titlecase strings concurrently using the same UCaseMap.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">csm</td><td>UCaseMap service object. </td></tr>
    <tr><td class="paramname">iterToAdopt</td><td>Break iterator to be adopted for titlecasing. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Must be a valid pointer to an error code value, which must not indicate a failure before the function call.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="ucasemap_8h.html#ab8002df7573b0dbf6e0a19ff3cc09b5d" title="Titlecase a UTF-16 string. ">ucasemap_toTitle</a> </dd>
<dd>
<a class="el" href="ucasemap_8h.html#a4ef18fcd15be677e4b17bf70fda02551" title="Titlecase a UTF-8 string. ">ucasemap_utf8ToTitle</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000743">Stable:</a></b></dt><dd>ICU 3.8 </dd></dl>

</div>
</div>
<a class="anchor" id="a907584719eb4fb3678fcb885c5f06059"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucasemap_setLocale </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *&#160;</td>
          <td class="paramname"><em>csm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>locale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the locale ID that is used for language-dependent case mappings. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">csm</td><td>UCaseMap service object. </td></tr>
    <tr><td class="paramname">locale</td><td>Locale ID, see <a class="el" href="ucasemap_8h.html#a40df152b19d07dba4cc9d5b3015b27d1" title="Open a UCaseMap service object for a locale and a set of options. ">ucasemap_open()</a>. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Must be a valid pointer to an error code value, which must not indicate a failure before the function call.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="ucasemap_8h.html#a40df152b19d07dba4cc9d5b3015b27d1" title="Open a UCaseMap service object for a locale and a set of options. ">ucasemap_open</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000738">Stable:</a></b></dt><dd>ICU 3.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a06ddc797846dfd55bc4bd81ff30a5e56"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void ucasemap_setOptions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *&#160;</td>
          <td class="paramname"><em>csm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the options bit set that is used for case folding and string comparisons. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">csm</td><td>UCaseMap service object. </td></tr>
    <tr><td class="paramname">options</td><td>Options bit set, see <a class="el" href="ucasemap_8h.html#a40df152b19d07dba4cc9d5b3015b27d1" title="Open a UCaseMap service object for a locale and a set of options. ">ucasemap_open()</a>. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Must be a valid pointer to an error code value, which must not indicate a failure before the function call.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="ucasemap_8h.html#a40df152b19d07dba4cc9d5b3015b27d1" title="Open a UCaseMap service object for a locale and a set of options. ">ucasemap_open</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000739">Stable:</a></b></dt><dd>ICU 3.4 </dd></dl>

</div>
</div>
<a class="anchor" id="ab8002df7573b0dbf6e0a19ff3cc09b5d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t ucasemap_toTitle </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *&#160;</td>
          <td class="paramname"><em>csm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>srcLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Titlecase a UTF-16 string. </p>
<p>This function is almost a duplicate of <a class="el" href="ustring_8h.html#a8c6202ad4ac954e225aae061b184e450" title="Titlecase a string. ">u_strToTitle()</a>, except that it takes <a class="el" href="ucasemap_8h.html#a06ddc797846dfd55bc4bd81ff30a5e56" title="Set the options bit set that is used for case folding and string comparisons. ">ucasemap_setOptions()</a> into account and has performance advantages from being able to use a UCaseMap object for multiple case mapping operations, saving setup time.</p>
<p>Casing is locale-dependent and context-sensitive. Titlecasing uses a break iterator to find the first characters of words that are to be titlecased. It titlecases those characters and lowercases all others. (This can be modified with <a class="el" href="ucasemap_8h.html#a06ddc797846dfd55bc4bd81ff30a5e56" title="Set the options bit set that is used for case folding and string comparisons. ">ucasemap_setOptions()</a>.)</p>
<p>Note: This function takes a non-const UCaseMap pointer because it will open a default break iterator if no break iterator was set yet, and effectively call <a class="el" href="ucasemap_8h.html#a1928a194cb0d8b6ca3617d61f534cbc5" title="Set the break iterator that is used for titlecasing. ">ucasemap_setBreakIterator()</a>; also because the break iterator is stateful and will be modified during the iteration.</p>
<p>The titlecase break iterator can be provided to customize for arbitrary styles, using rules and dictionaries beyond the standard iterators. The standard titlecase iterator for the root locale implements the algorithm of Unicode TR 21.</p>
<p>This function uses only the setUText(), first(), next() and close() methods of the provided break iterator.</p>
<p>The result may be longer or shorter than the original. The source string and the destination buffer must not overlap.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">csm</td><td>UCaseMap service object. This pointer is non-const! See the note above for details. </td></tr>
    <tr><td class="paramname">dest</td><td>A buffer for the result string. The result will be NUL-terminated if the buffer is large enough. The contents is undefined in case of failure. </td></tr>
    <tr><td class="paramname">destCapacity</td><td>The size of the buffer (number of bytes). If it is 0, then dest may be NULL and the function will only return the length of the result without writing any of the result string. </td></tr>
    <tr><td class="paramname">src</td><td>The original string. </td></tr>
    <tr><td class="paramname">srcLength</td><td>The length of the original string. If -1, then src must be NUL-terminated. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Must be a valid pointer to an error code value, which must not indicate a failure before the function call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The length of the result string, if successful - or in case of a buffer overflow, in which case it will be greater than destCapacity.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="ustring_8h.html#a8c6202ad4ac954e225aae061b184e450" title="Titlecase a string. ">u_strToTitle</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000744">Stable:</a></b></dt><dd>ICU 3.8 </dd></dl>

</div>
</div>
<a class="anchor" id="a7a3a403ca36e0ff7a4e5ecf821f2583c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t ucasemap_utf8FoldCase </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *&#160;</td>
          <td class="paramname"><em>csm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>srcLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Case-folds the characters in a UTF-8 string. </p>
<p>Case-folding is locale-independent and not context-sensitive, but there is an option for whether to include or exclude mappings for dotted I and dotless i that are marked with 'T' in CaseFolding.txt.</p>
<p>The result may be longer or shorter than the original. The source string and the destination buffer must not overlap.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">csm</td><td>UCaseMap service object. </td></tr>
    <tr><td class="paramname">dest</td><td>A buffer for the result string. The result will be NUL-terminated if the buffer is large enough. The contents is undefined in case of failure. </td></tr>
    <tr><td class="paramname">destCapacity</td><td>The size of the buffer (number of bytes). If it is 0, then dest may be NULL and the function will only return the length of the result without writing any of the result string. </td></tr>
    <tr><td class="paramname">src</td><td>The original string. </td></tr>
    <tr><td class="paramname">srcLength</td><td>The length of the original string. If -1, then src must be NUL-terminated. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Must be a valid pointer to an error code value, which must not indicate a failure before the function call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The length of the result string, if successful - or in case of a buffer overflow, in which case it will be greater than destCapacity.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="ustring_8h.html#ab6709b5a5c1606cf0d3ea24934d9acce" title="Case-folds the characters in a string. ">u_strFoldCase</a> </dd>
<dd>
<a class="el" href="ucasemap_8h.html#a06ddc797846dfd55bc4bd81ff30a5e56" title="Set the options bit set that is used for case folding and string comparisons. ">ucasemap_setOptions</a> </dd>
<dd>
<a class="el" href="uchar_8h.html#a7c41915be9809fd815a5c7d581ad1ea3" title="Option value for case folding: use default mappings defined in CaseFolding.txt. ">U_FOLD_CASE_DEFAULT</a> </dd>
<dd>
<a class="el" href="uchar_8h.html#a2d074cf9ee160fbcaec63740c4f9689e" title="Option value for case folding: ">U_FOLD_CASE_EXCLUDE_SPECIAL_I</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000748">Stable:</a></b></dt><dd>ICU 3.8 </dd></dl>

</div>
</div>
<a class="anchor" id="a8d14045335e130a16b68213194a04cc0"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t ucasemap_utf8ToLower </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *&#160;</td>
          <td class="paramname"><em>csm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>srcLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Lowercase the characters in a UTF-8 string. </p>
<p>Casing is locale-dependent and context-sensitive. The result may be longer or shorter than the original. The source string and the destination buffer must not overlap.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">csm</td><td>UCaseMap service object. </td></tr>
    <tr><td class="paramname">dest</td><td>A buffer for the result string. The result will be NUL-terminated if the buffer is large enough. The contents is undefined in case of failure. </td></tr>
    <tr><td class="paramname">destCapacity</td><td>The size of the buffer (number of bytes). If it is 0, then dest may be NULL and the function will only return the length of the result without writing any of the result string. </td></tr>
    <tr><td class="paramname">src</td><td>The original string. </td></tr>
    <tr><td class="paramname">srcLength</td><td>The length of the original string. If -1, then src must be NUL-terminated. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Must be a valid pointer to an error code value, which must not indicate a failure before the function call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The length of the result string, if successful - or in case of a buffer overflow, in which case it will be greater than destCapacity.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="ustring_8h.html#ae3ed589f5ce0d550c228ee69bfed58fb" title="Lowercase the characters in a string. ">u_strToLower</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000745">Stable:</a></b></dt><dd>ICU 3.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a4ef18fcd15be677e4b17bf70fda02551"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t ucasemap_utf8ToTitle </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *&#160;</td>
          <td class="paramname"><em>csm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>srcLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Titlecase a UTF-8 string. </p>
<p>Casing is locale-dependent and context-sensitive. Titlecasing uses a break iterator to find the first characters of words that are to be titlecased. It titlecases those characters and lowercases all others. (This can be modified with <a class="el" href="ucasemap_8h.html#a06ddc797846dfd55bc4bd81ff30a5e56" title="Set the options bit set that is used for case folding and string comparisons. ">ucasemap_setOptions()</a>.)</p>
<p>Note: This function takes a non-const UCaseMap pointer because it will open a default break iterator if no break iterator was set yet, and effectively call <a class="el" href="ucasemap_8h.html#a1928a194cb0d8b6ca3617d61f534cbc5" title="Set the break iterator that is used for titlecasing. ">ucasemap_setBreakIterator()</a>; also because the break iterator is stateful and will be modified during the iteration.</p>
<p>The titlecase break iterator can be provided to customize for arbitrary styles, using rules and dictionaries beyond the standard iterators. The standard titlecase iterator for the root locale implements the algorithm of Unicode TR 21.</p>
<p>This function uses only the setUText(), first(), next() and close() methods of the provided break iterator.</p>
<p>The result may be longer or shorter than the original. The source string and the destination buffer must not overlap.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">csm</td><td>UCaseMap service object. This pointer is non-const! See the note above for details. </td></tr>
    <tr><td class="paramname">dest</td><td>A buffer for the result string. The result will be NUL-terminated if the buffer is large enough. The contents is undefined in case of failure. </td></tr>
    <tr><td class="paramname">destCapacity</td><td>The size of the buffer (number of bytes). If it is 0, then dest may be NULL and the function will only return the length of the result without writing any of the result string. </td></tr>
    <tr><td class="paramname">src</td><td>The original string. </td></tr>
    <tr><td class="paramname">srcLength</td><td>The length of the original string. If -1, then src must be NUL-terminated. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Must be a valid pointer to an error code value, which must not indicate a failure before the function call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The length of the result string, if successful - or in case of a buffer overflow, in which case it will be greater than destCapacity.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="ustring_8h.html#a8c6202ad4ac954e225aae061b184e450" title="Titlecase a string. ">u_strToTitle</a> </dd>
<dd>
<a class="el" href="ucasemap_8h.html#aab9de6ad843adcbc21001f7f93f1e888" title="Do not lowercase non-initial parts of words when titlecasing. ">U_TITLECASE_NO_LOWERCASE</a> </dd>
<dd>
<a class="el" href="ucasemap_8h.html#afc65fa226cac9b8eeef0e877b8a7744e" title="Do not adjust the titlecasing indexes from BreakIterator::next() indexes; titlecase exactly the chara...">U_TITLECASE_NO_BREAK_ADJUSTMENT</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000747">Stable:</a></b></dt><dd>ICU 3.8 </dd></dl>

</div>
</div>
<a class="anchor" id="a817d31c95e792462407a119b5fdbedc7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t ucasemap_utf8ToUpper </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="ucasemap_8h.html#a2c127e061c4bc5f4ccc9defbe01f9dca">UCaseMap</a> *&#160;</td>
          <td class="paramname"><em>csm</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>destCapacity</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>src</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>srcLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Uppercase the characters in a UTF-8 string. </p>
<p>Casing is locale-dependent and context-sensitive. The result may be longer or shorter than the original. The source string and the destination buffer must not overlap.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">csm</td><td>UCaseMap service object. </td></tr>
    <tr><td class="paramname">dest</td><td>A buffer for the result string. The result will be NUL-terminated if the buffer is large enough. The contents is undefined in case of failure. </td></tr>
    <tr><td class="paramname">destCapacity</td><td>The size of the buffer (number of bytes). If it is 0, then dest may be NULL and the function will only return the length of the result without writing any of the result string. </td></tr>
    <tr><td class="paramname">src</td><td>The original string. </td></tr>
    <tr><td class="paramname">srcLength</td><td>The length of the original string. If -1, then src must be NUL-terminated. </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Must be a valid pointer to an error code value, which must not indicate a failure before the function call. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The length of the result string, if successful - or in case of a buffer overflow, in which case it will be greater than destCapacity.</dd></dl>
<dl class="section see"><dt>See Also</dt><dd><a class="el" href="ustring_8h.html#a14740e3b734ffa82205d4762fcacb5e1" title="Uppercase the characters in a string. ">u_strToUpper</a> </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable000746">Stable:</a></b></dt><dd>ICU 3.4 </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.6
</small></address>
</body>
</html>