Sophie

Sophie

distrib > Fedora > 17 > i386 > by-pkgid > 0508df3f0f31cdc1fec017f60572b2b0 > files > 1020

libicu-doc-4.8.1.1-5.fc17.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"/>
<title>ICU 4.8.1.1: unorm2.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 4.8.1.1
   &#160;<span id="projectnumber">4.8.1.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1.1 -->
<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="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>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark">&#160;</span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark">&#160;</span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark">&#160;</span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><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_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_f59c6450ff718ff1b085cfd1c36acbd7.html">unicode</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">unorm2.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>C API: New API for Unicode Normalization.  
<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="localpointer_8h_source.html">unicode/localpointer.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="uset_8h_source.html">unicode/uset.h</a>&quot;</code><br/>
</div>
<p><a href="unorm2_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a31b4684d696c9b9c6eb3e0509245535b"><td class="memItemLeft" align="right" valign="top">typedef enum <br class="typebreak"/>
<a class="el" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece">UNormalizationCheckResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#a31b4684d696c9b9c6eb3e0509245535b">UNormalizationCheckResult</a></td></tr>
<tr class="memdesc:a31b4684d696c9b9c6eb3e0509245535b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Result values for normalization quick check functions.  <a href="#a31b4684d696c9b9c6eb3e0509245535b"></a><br/></td></tr>
<tr class="memitem:af6cec882b8db0db15e33e6f21c51919e"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a></td></tr>
<tr class="memdesc:af6cec882b8db0db15e33e6f21c51919e"><td class="mdescLeft">&#160;</td><td class="mdescRight">C typedef for struct UNormalizer2.  <a href="#af6cec882b8db0db15e33e6f21c51919e"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a3cf189b046fe90ca167d2294275f4ab5"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#a3cf189b046fe90ca167d2294275f4ab5">UNormalization2Mode</a> { <a class="el" href="unorm2_8h.html#a3cf189b046fe90ca167d2294275f4ab5a4038a316229eef7d76901b704b0148bf">UNORM2_COMPOSE</a>, 
<a class="el" href="unorm2_8h.html#a3cf189b046fe90ca167d2294275f4ab5ab176fcf0362623fb45b1b0f1ae22e7ac">UNORM2_DECOMPOSE</a>, 
<a class="el" href="unorm2_8h.html#a3cf189b046fe90ca167d2294275f4ab5a6dbe9da1d7d77d2902d7ef197cb1619b">UNORM2_FCD</a>, 
<a class="el" href="unorm2_8h.html#a3cf189b046fe90ca167d2294275f4ab5aa8a0f3c152f66297036c8fbfd955f9b8">UNORM2_COMPOSE_CONTIGUOUS</a>
 }</td></tr>
<tr class="memdesc:a3cf189b046fe90ca167d2294275f4ab5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constants for normalization modes.  <a href="unorm2_8h.html#a3cf189b046fe90ca167d2294275f4ab5">More...</a><br/></td></tr>
<tr class="memitem:a01b7464189aef5dae63c0c759e84bece"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece">UNormalizationCheckResult</a> { <a class="el" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84becea17a2e3aec6aef936136f04cf8af29de3">UNORM_NO</a>, 
<a class="el" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84becea055e9208c9a15913ed2849243fb617c4">UNORM_YES</a>, 
<a class="el" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84becea05c9a1f19c022c5399e64ff8cb852558">UNORM_MAYBE</a>
 }</td></tr>
<tr class="memdesc:a01b7464189aef5dae63c0c759e84bece"><td class="mdescLeft">&#160;</td><td class="mdescRight">Result values for normalization quick check functions.  <a href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece">More...</a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:aada0d2d95913d0cc3329e9e7fd571630"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#aada0d2d95913d0cc3329e9e7fd571630">unorm2_getInstance</a> (const char *packageName, const char *name, <a class="el" href="unorm2_8h.html#a3cf189b046fe90ca167d2294275f4ab5">UNormalization2Mode</a> mode, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:aada0d2d95913d0cc3329e9e7fd571630"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns a UNormalizer2 instance which uses the specified data file (packageName/name similar to <a class="el" href="ucnv_8h.html#a7e3fc1e59ac1404120f242b8911cadbb">ucnv_openPackage()</a> and <a class="el" href="ures_8h.html#ac4d72fc9f7cc63a05f646cabee4be167" title="Opens a UResourceBundle, from which users can extract strings by using their corresponding keys...">ures_open()</a>/ResourceBundle) and which composes or decomposes text according to the specified mode.  <a href="#aada0d2d95913d0cc3329e9e7fd571630"></a><br/></td></tr>
<tr class="memitem:a7f6ce2fa8c5e5fa3b1b9a141e1032e15"><td class="memItemLeft" align="right" valign="top"><a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#a7f6ce2fa8c5e5fa3b1b9a141e1032e15">unorm2_openFiltered</a> (const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *norm2, const <a class="el" href="ucnv_8h.html#adce3fef7c15d7c78196bf977ac96ec9c">USet</a> *filterSet, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a7f6ce2fa8c5e5fa3b1b9a141e1032e15"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constructs a filtered normalizer wrapping any UNormalizer2 instance and a filter set.  <a href="#a7f6ce2fa8c5e5fa3b1b9a141e1032e15"></a><br/></td></tr>
<tr class="memitem:aa8b1599dfe72053c3b1c217aba1d8aac"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#aa8b1599dfe72053c3b1c217aba1d8aac">unorm2_close</a> (<a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *norm2)</td></tr>
<tr class="memdesc:aa8b1599dfe72053c3b1c217aba1d8aac"><td class="mdescLeft">&#160;</td><td class="mdescRight">Closes a UNormalizer2 instance from <a class="el" href="unorm2_8h.html#a7f6ce2fa8c5e5fa3b1b9a141e1032e15" title="Constructs a filtered normalizer wrapping any UNormalizer2 instance and a filter set.">unorm2_openFiltered()</a>.  <a href="#aa8b1599dfe72053c3b1c217aba1d8aac"></a><br/></td></tr>
<tr class="memitem:a0a596802db767da410b4b04cb75cbc53"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#a0a596802db767da410b4b04cb75cbc53">unorm2_normalize</a> (const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *norm2, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *src, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> capacity, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a0a596802db767da410b4b04cb75cbc53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes the normalized form of the source string to the destination string (replacing its contents) and returns the length of the destination string.  <a href="#a0a596802db767da410b4b04cb75cbc53"></a><br/></td></tr>
<tr class="memitem:aa10f3463975d69064234452d6fc82234"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#aa10f3463975d69064234452d6fc82234">unorm2_normalizeSecondAndAppend</a> (const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *norm2, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *first, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> firstLength, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> firstCapacity, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *second, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> secondLength, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:aa10f3463975d69064234452d6fc82234"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends the normalized form of the second string to the first string (merging them at the boundary) and returns the length of the first string.  <a href="#aa10f3463975d69064234452d6fc82234"></a><br/></td></tr>
<tr class="memitem:afd6fb5de5d9f989980a1d6a81b04f0ee"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#afd6fb5de5d9f989980a1d6a81b04f0ee">unorm2_append</a> (const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *norm2, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *first, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> firstLength, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> firstCapacity, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *second, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> secondLength, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:afd6fb5de5d9f989980a1d6a81b04f0ee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Appends the second string to the first string (merging them at the boundary) and returns the length of the first string.  <a href="#afd6fb5de5d9f989980a1d6a81b04f0ee"></a><br/></td></tr>
<tr class="memitem:a5a9caba78ab42fe17b3b2d7f94457309"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#a5a9caba78ab42fe17b3b2d7f94457309">unorm2_getDecomposition</a> (const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *norm2, <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> c, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *decomposition, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> capacity, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a5a9caba78ab42fe17b3b2d7f94457309"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the decomposition mapping of c.  <a href="#a5a9caba78ab42fe17b3b2d7f94457309"></a><br/></td></tr>
<tr class="memitem:aff442b2c792244e95f1649bf31d36426"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#aff442b2c792244e95f1649bf31d36426">unorm2_isNormalized</a> (const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *norm2, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *s, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:aff442b2c792244e95f1649bf31d36426"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if the string is normalized.  <a href="#aff442b2c792244e95f1649bf31d36426"></a><br/></td></tr>
<tr class="memitem:ad81711834f00bbeb97738004f4f08450"><td class="memItemLeft" align="right" valign="top"><a class="el" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece">UNormalizationCheckResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#ad81711834f00bbeb97738004f4f08450">unorm2_quickCheck</a> (const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *norm2, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *s, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:ad81711834f00bbeb97738004f4f08450"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if the string is normalized.  <a href="#ad81711834f00bbeb97738004f4f08450"></a><br/></td></tr>
<tr class="memitem:a04d7c52b719cfaceba3657d1340114e1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#a04d7c52b719cfaceba3657d1340114e1">unorm2_spanQuickCheckYes</a> (const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *norm2, const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *s, <a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> length, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a04d7c52b719cfaceba3657d1340114e1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the end of the normalized substring of the input string.  <a href="#a04d7c52b719cfaceba3657d1340114e1"></a><br/></td></tr>
<tr class="memitem:aa96a430bda580fb3551e0f5adc0aa6b1"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#aa96a430bda580fb3551e0f5adc0aa6b1">unorm2_hasBoundaryBefore</a> (const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *norm2, <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> c)</td></tr>
<tr class="memdesc:aa96a430bda580fb3551e0f5adc0aa6b1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if the character always has a normalization boundary before it, regardless of context.  <a href="#aa96a430bda580fb3551e0f5adc0aa6b1"></a><br/></td></tr>
<tr class="memitem:a0653490112118874c8dc23f2c33bc785"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#a0653490112118874c8dc23f2c33bc785">unorm2_hasBoundaryAfter</a> (const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *norm2, <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> c)</td></tr>
<tr class="memdesc:a0653490112118874c8dc23f2c33bc785"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if the character always has a normalization boundary after it, regardless of context.  <a href="#a0653490112118874c8dc23f2c33bc785"></a><br/></td></tr>
<tr class="memitem:a356cb1f20b745293e262b9ef6378fe16"><td class="memItemLeft" align="right" valign="top"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="unorm2_8h.html#a356cb1f20b745293e262b9ef6378fe16">unorm2_isInert</a> (const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *norm2, <a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a> c)</td></tr>
<tr class="memdesc:a356cb1f20b745293e262b9ef6378fe16"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tests if the character is normalization-inert.  <a href="#a356cb1f20b745293e262b9ef6378fe16"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>C API: New API for Unicode Normalization. </p>
<p>Unicode normalization functionality for standard Unicode normalization or for using custom mapping tables. All instances of UNormalizer2 are unmodifiable/immutable. Instances returned by <a class="el" href="unorm2_8h.html#aada0d2d95913d0cc3329e9e7fd571630" title="Returns a UNormalizer2 instance which uses the specified data file (packageName/name similar to ucnv_...">unorm2_getInstance()</a> are singletons that must not be deleted by the caller. For more details see the <a class="el" href="classNormalizer2.html" title="Unicode normalization functionality for standard Unicode normalization or for using custom mapping ta...">Normalizer2</a> C++ class. </p>

<p>Definition in file <a class="el" href="unorm2_8h_source.html">unorm2.h</a>.</p>
</div><hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a31b4684d696c9b9c6eb3e0509245535b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef enum <a class="el" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece">UNormalizationCheckResult</a>  <a class="el" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece">UNormalizationCheckResult</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Result values for normalization quick check functions. </p>
<p>For details see <a href="http://www.unicode.org/reports/tr15/#Detecting_Normalization_Forms">http://www.unicode.org/reports/tr15/#Detecting_Normalization_Forms</a> </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001766">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

</div>
</div>
<a class="anchor" id="af6cec882b8db0db15e33e6f21c51919e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a></td>
        </tr>
      </table>
</div><div class="memdoc">

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

<p>Definition at line <a class="el" href="unorm2_8h_source.html#l00117">117</a> of file <a class="el" href="unorm2_8h_source.html">unorm2.h</a>.</p>

</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="a3cf189b046fe90ca167d2294275f4ab5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="unorm2_8h.html#a3cf189b046fe90ca167d2294275f4ab5">UNormalization2Mode</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constants for normalization modes. </p>
<p>For details about standard Unicode normalization forms and about the algorithms which are also used with custom mapping tables see <a href="http://www.unicode.org/unicode/reports/tr15/">http://www.unicode.org/unicode/reports/tr15/</a> </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001765">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a3cf189b046fe90ca167d2294275f4ab5a4038a316229eef7d76901b704b0148bf"></a>UNORM2_COMPOSE</em>&nbsp;</td><td>
<p>Decomposition followed by composition. </p>
<p>Same as standard NFC when using an "nfc" instance. Same as standard NFKC when using an "nfkc" instance. For details about standard Unicode normalization forms see <a href="http://www.unicode.org/unicode/reports/tr15/">http://www.unicode.org/unicode/reports/tr15/</a> </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001781">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a3cf189b046fe90ca167d2294275f4ab5ab176fcf0362623fb45b1b0f1ae22e7ac"></a>UNORM2_DECOMPOSE</em>&nbsp;</td><td>
<p>Map, and reorder canonically. </p>
<p>Same as standard NFD when using an "nfc" instance. Same as standard NFKD when using an "nfkc" instance. For details about standard Unicode normalization forms see <a href="http://www.unicode.org/unicode/reports/tr15/">http://www.unicode.org/unicode/reports/tr15/</a> </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001782">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a3cf189b046fe90ca167d2294275f4ab5a6dbe9da1d7d77d2902d7ef197cb1619b"></a>UNORM2_FCD</em>&nbsp;</td><td>
<p>"Fast C or D" form. </p>
<p>If a string is in this form, then further decomposition <em>without reordering</em> would yield the same form as DECOMPOSE. Text in "Fast C or D" form can be processed efficiently with data tables that are "canonically closed", that is, that provide equivalent data for equivalent text, without having to be fully normalized. Not a standard Unicode normalization form. Not a unique form: Different FCD strings can be canonically equivalent. For details see <a href="http://www.unicode.org/notes/tn5/#FCD">http://www.unicode.org/notes/tn5/#FCD</a> </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001783">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a3cf189b046fe90ca167d2294275f4ab5aa8a0f3c152f66297036c8fbfd955f9b8"></a>UNORM2_COMPOSE_CONTIGUOUS</em>&nbsp;</td><td>
<p>Compose only contiguously. </p>
<p>Also known as "FCC" or "Fast C Contiguous". The result will often but not always be in NFC. The result will conform to FCD which is useful for processing. Not a standard Unicode normalization form. For details see <a href="http://www.unicode.org/notes/tn5/#FCC">http://www.unicode.org/notes/tn5/#FCC</a> </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001784">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="unorm2_8h_source.html#l00042">42</a> of file <a class="el" href="unorm2_8h_source.html">unorm2.h</a>.</p>

</div>
</div>
<a class="anchor" id="a01b7464189aef5dae63c0c759e84bece"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece">UNormalizationCheckResult</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Result values for normalization quick check functions. </p>
<p>For details see <a href="http://www.unicode.org/reports/tr15/#Detecting_Normalization_Forms">http://www.unicode.org/reports/tr15/#Detecting_Normalization_Forms</a> </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001766">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a01b7464189aef5dae63c0c759e84becea17a2e3aec6aef936136f04cf8af29de3"></a>UNORM_NO</em>&nbsp;</td><td>
<p>The input string is not in the normalization form. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001785">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a01b7464189aef5dae63c0c759e84becea055e9208c9a15913ed2849243fb617c4"></a>UNORM_YES</em>&nbsp;</td><td>
<p>The input string is in the normalization form. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001786">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a01b7464189aef5dae63c0c759e84becea05c9a1f19c022c5399e64ff8cb852558"></a>UNORM_MAYBE</em>&nbsp;</td><td>
<p>The input string may or may not be in the normalization form. </p>
<p>This value is only returned for composition forms like NFC and FCC, when a backward-combining character is found for which the surrounding text would have to be analyzed further. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001787">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>
</td></tr>
</table>
</dd>
</dl>

<p>Definition at line <a class="el" href="unorm2_8h_source.html#l00091">91</a> of file <a class="el" href="unorm2_8h_source.html">unorm2.h</a>.</p>

</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="afd6fb5de5d9f989980a1d6a81b04f0ee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> unorm2_append </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td>
          <td class="paramname"><em>norm2</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>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>firstLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>firstCapacity</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>second</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>secondLength</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>Appends the second string to the first string (merging them at the boundary) and returns the length of the first string. </p>
<p>The result is normalized if both the strings were normalized. The first and second strings must be different buffers. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">norm2</td><td>UNormalizer2 instance </td></tr>
    <tr><td class="paramname">first</td><td>string, should be normalized </td></tr>
    <tr><td class="paramname">firstLength</td><td>length of the first string, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">firstCapacity</td><td>number of UChars that can be written to first </td></tr>
    <tr><td class="paramname">second</td><td>string, should be normalized </td></tr>
    <tr><td class="paramname">secondLength</td><td>length of the source string, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>first </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001774">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>

</div>
</div>
<a class="anchor" id="aa8b1599dfe72053c3b1c217aba1d8aac"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void unorm2_close </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td>
          <td class="paramname"><em>norm2</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Closes a UNormalizer2 instance from <a class="el" href="unorm2_8h.html#a7f6ce2fa8c5e5fa3b1b9a141e1032e15" title="Constructs a filtered normalizer wrapping any UNormalizer2 instance and a filter set.">unorm2_openFiltered()</a>. </p>
<p>Do not close instances from <a class="el" href="unorm2_8h.html#aada0d2d95913d0cc3329e9e7fd571630" title="Returns a UNormalizer2 instance which uses the specified data file (packageName/name similar to ucnv_...">unorm2_getInstance()</a>! </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">norm2</td><td>UNormalizer2 instance to be closed </td></tr>
  </table>
  </dd>
</dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001771">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a5a9caba78ab42fe17b3b2d7f94457309"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> unorm2_getDecomposition </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td>
          <td class="paramname"><em>norm2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td>
          <td class="paramname"><em>c</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>decomposition</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>capacity</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>Gets the decomposition mapping of c. </p>
<p>Equivalent to unorm2_normalize(string(c)) on a UNORM2_DECOMPOSE UNormalizer2 instance, but much faster. This function is independent of the mode of the UNormalizer2. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">norm2</td><td>UNormalizer2 instance </td></tr>
    <tr><td class="paramname">c</td><td>code point </td></tr>
    <tr><td class="paramname">decomposition</td><td>String buffer which will be set to c's decomposition mapping, if there is one. </td></tr>
    <tr><td class="paramname">capacity</td><td>number of UChars that can be written to decomposition </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>the non-negative length of c's decomposition, if there is one; otherwise a negative value </dd></dl>
<dl class="draft"><dt><b><a class="el" href="draft.html#_draft000234">Draft:</a></b></dt><dd>This API may be changed in the future versions and was introduced in ICU 4.6 </dd></dl>

</div>
</div>
<a class="anchor" id="aada0d2d95913d0cc3329e9e7fd571630"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a>* unorm2_getInstance </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>packageName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="unorm2_8h.html#a3cf189b046fe90ca167d2294275f4ab5">UNormalization2Mode</a>&#160;</td>
          <td class="paramname"><em>mode</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>Returns a UNormalizer2 instance which uses the specified data file (packageName/name similar to <a class="el" href="ucnv_8h.html#a7e3fc1e59ac1404120f242b8911cadbb">ucnv_openPackage()</a> and <a class="el" href="ures_8h.html#ac4d72fc9f7cc63a05f646cabee4be167" title="Opens a UResourceBundle, from which users can extract strings by using their corresponding keys...">ures_open()</a>/ResourceBundle) and which composes or decomposes text according to the specified mode. </p>
<p>Returns an unmodifiable singleton instance. Do not delete it.</p>
<p>Use packageName=NULL for data files that are part of ICU's own data. Use name="nfc" and UNORM2_COMPOSE/UNORM2_DECOMPOSE for Unicode standard NFC/NFD. Use name="nfkc" and UNORM2_COMPOSE/UNORM2_DECOMPOSE for Unicode standard NFKC/NFKD. Use name="nfkc_cf" and UNORM2_COMPOSE for Unicode standard NFKC_CF=NFKC_Casefold.</p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">packageName</td><td>NULL for ICU built-in data, otherwise application data package name </td></tr>
    <tr><td class="paramname">name</td><td>"nfc" or "nfkc" or "nfkc_cf" or name of custom data file </td></tr>
    <tr><td class="paramname">mode</td><td>normalization mode (compose or decompose etc.) </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>the requested UNormalizer2, if successful </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001769">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a0653490112118874c8dc23f2c33bc785"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> unorm2_hasBoundaryAfter </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td>
          <td class="paramname"><em>norm2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests if the character always has a normalization boundary after it, regardless of context. </p>
<p>For details see the <a class="el" href="classNormalizer2.html" title="Unicode normalization functionality for standard Unicode normalization or for using custom mapping ta...">Normalizer2</a> base class documentation. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">norm2</td><td>UNormalizer2 instance </td></tr>
    <tr><td class="paramname">c</td><td>character to test </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>TRUE if c has a normalization boundary after it </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001779">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>

</div>
</div>
<a class="anchor" id="aa96a430bda580fb3551e0f5adc0aa6b1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> unorm2_hasBoundaryBefore </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td>
          <td class="paramname"><em>norm2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests if the character always has a normalization boundary before it, regardless of context. </p>
<p>For details see the <a class="el" href="classNormalizer2.html" title="Unicode normalization functionality for standard Unicode normalization or for using custom mapping ta...">Normalizer2</a> base class documentation. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">norm2</td><td>UNormalizer2 instance </td></tr>
    <tr><td class="paramname">c</td><td>character to test </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>TRUE if c has a normalization boundary before it </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001778">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a356cb1f20b745293e262b9ef6378fe16"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> unorm2_isInert </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td>
          <td class="paramname"><em>norm2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a09fff5c3b5a5b015324dc3ec3cf92809">UChar32</a>&#160;</td>
          <td class="paramname"><em>c</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tests if the character is normalization-inert. </p>
<p>For details see the <a class="el" href="classNormalizer2.html" title="Unicode normalization functionality for standard Unicode normalization or for using custom mapping ta...">Normalizer2</a> base class documentation. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">norm2</td><td>UNormalizer2 instance </td></tr>
    <tr><td class="paramname">c</td><td>character to test </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>TRUE if c is normalization-inert </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001780">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>

</div>
</div>
<a class="anchor" id="aff442b2c792244e95f1649bf31d36426"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> unorm2_isNormalized </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td>
          <td class="paramname"><em>norm2</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>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>length</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>Tests if the string is normalized. </p>
<p>Internally, in cases where the quickCheck() method would return "maybe" (which is only possible for the two COMPOSE modes) this method resolves to "yes" or "no" to provide a definitive result, at the cost of doing more work in those cases. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">norm2</td><td>UNormalizer2 instance </td></tr>
    <tr><td class="paramname">s</td><td>input string </td></tr>
    <tr><td class="paramname">length</td><td>length of the string, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>TRUE if s is normalized </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001775">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a0a596802db767da410b4b04cb75cbc53"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> unorm2_normalize </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td>
          <td class="paramname"><em>norm2</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"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>length</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"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>capacity</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>Writes the normalized form of the source string to the destination string (replacing its contents) and returns the length of the destination string. </p>
<p>The source and destination strings must be different buffers. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">norm2</td><td>UNormalizer2 instance </td></tr>
    <tr><td class="paramname">src</td><td>source string </td></tr>
    <tr><td class="paramname">length</td><td>length of the source string, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">dest</td><td>destination string; its contents is replaced with normalized src </td></tr>
    <tr><td class="paramname">capacity</td><td>number of UChars that can be written to dest </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>dest </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001772">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>

</div>
</div>
<a class="anchor" id="aa10f3463975d69064234452d6fc82234"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> unorm2_normalizeSecondAndAppend </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td>
          <td class="paramname"><em>norm2</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>first</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>firstLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>firstCapacity</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>second</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>secondLength</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>Appends the normalized form of the second string to the first string (merging them at the boundary) and returns the length of the first string. </p>
<p>The result is normalized if the first string was normalized. The first and second strings must be different buffers. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">norm2</td><td>UNormalizer2 instance </td></tr>
    <tr><td class="paramname">first</td><td>string, should be normalized </td></tr>
    <tr><td class="paramname">firstLength</td><td>length of the first string, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">firstCapacity</td><td>number of UChars that can be written to first </td></tr>
    <tr><td class="paramname">second</td><td>string, will be normalized </td></tr>
    <tr><td class="paramname">secondLength</td><td>length of the source string, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>first </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001773">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a7f6ce2fa8c5e5fa3b1b9a141e1032e15"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a>* unorm2_openFiltered </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td>
          <td class="paramname"><em>norm2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="ucnv_8h.html#adce3fef7c15d7c78196bf977ac96ec9c">USet</a> *&#160;</td>
          <td class="paramname"><em>filterSet</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>Constructs a filtered normalizer wrapping any UNormalizer2 instance and a filter set. </p>
<p>Both are aliased and must not be modified or deleted while this object is used. The filter set should be frozen; otherwise the performance will suffer greatly. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">norm2</td><td>wrapped UNormalizer2 instance </td></tr>
    <tr><td class="paramname">filterSet</td><td>USet which determines the characters to be normalized </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>the requested UNormalizer2, if successful </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001770">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>

</div>
</div>
<a class="anchor" id="ad81711834f00bbeb97738004f4f08450"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece">UNormalizationCheckResult</a> unorm2_quickCheck </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td>
          <td class="paramname"><em>norm2</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>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>length</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>Tests if the string is normalized. </p>
<p>For the two COMPOSE modes, the result could be "maybe" in cases that would take a little more work to resolve definitively. Use spanQuickCheckYes() and normalizeSecondAndAppend() for a faster combination of quick check + normalization, to avoid re-checking the "yes" prefix. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">norm2</td><td>UNormalizer2 instance </td></tr>
    <tr><td class="paramname">s</td><td>input string </td></tr>
    <tr><td class="paramname">length</td><td>length of the string, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>UNormalizationCheckResult </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001776">Stable:</a></b></dt><dd>ICU 4.4 </dd></dl>

</div>
</div>
<a class="anchor" id="a04d7c52b719cfaceba3657d1340114e1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a> unorm2_spanQuickCheckYes </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="unorm2_8h.html#af6cec882b8db0db15e33e6f21c51919e">UNormalizer2</a> *&#160;</td>
          <td class="paramname"><em>norm2</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>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="pwin32_8h.html#ab1967d8591af1a4e48c37fd2b0f184d0">int32_t</a>&#160;</td>
          <td class="paramname"><em>length</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>Returns the end of the normalized substring of the input string. </p>
<p>In other words, with <code>end=spanQuickCheckYes(s, ec);</code> the substring <code>UnicodeString(s, 0, end)</code> will pass the quick check with a "yes" result.</p>
<p>The returned end index is usually one or more characters before the "no" or "maybe" character: The end index is at a normalization boundary. (See the class documentation for more about normalization boundaries.)</p>
<p>When the goal is a normalized string and most input strings are expected to be normalized already, then call this method, and if it returns a prefix shorter than the input string, copy that prefix and use normalizeSecondAndAppend() for the remainder. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">norm2</td><td>UNormalizer2 instance </td></tr>
    <tr><td class="paramname">s</td><td>input string </td></tr>
    <tr><td class="paramname">length</td><td>length of the string, or -1 if NUL-terminated </td></tr>
    <tr><td class="paramname">pErrorCode</td><td>Standard ICU error code. Its input value must pass the <a class="el" href="utypes_8h.html#a527f2c69e6b2e3b2c53ad8a99fb36711" title="Does the error code indicate success?">U_SUCCESS()</a> test, or else the function returns immediately. Check for <a class="el" href="utypes_8h.html#a4d202200b6aa6f3c965ea370e0c8155f" title="Does the error code indicate a failure?">U_FAILURE()</a> on output or use with function chaining. (See User Guide for details.) </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>"yes" span end index </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable001777">Stable:</a></b></dt><dd>ICU 4.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.1.1
</small></address>
</body>
</html>