<!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: unorm.h Source File</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  <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 Page</span></a></li> <li><a href="pages.html"><span>Related 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 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 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"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Data Structures</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark"> </span>Typedefs</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark"> </span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(8)"><span class="SelectionMark"> </span>Enumerator</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(9)"><span class="SelectionMark"> </span>Friends</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(10)"><span class="SelectionMark"> </span>Macros</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(11)"><span class="SelectionMark"> </span>Groups</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(12)"><span class="SelectionMark"> </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="headertitle"> <div class="title">unorm.h</div> </div> </div><!--header--> <div class="contents"> <a href="unorm_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/*</span></div> <div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">*******************************************************************************</span></div> <div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">* Copyright (c) 1996-2010, International Business Machines Corporation</span></div> <div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment">* and others. All Rights Reserved.</span></div> <div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment">*******************************************************************************</span></div> <div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">* File unorm.h</span></div> <div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">*</span></div> <div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">* Created by: Vladimir Weinstein 12052000</span></div> <div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">*</span></div> <div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">* Modification history :</span></div> <div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">*</span></div> <div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">* Date Name Description</span></div> <div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">* 02/01/01 synwee Added normalization quickcheck enum and method.</span></div> <div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">*/</span></div> <div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="preprocessor">#ifndef UNORM_H</span></div> <div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="preprocessor"></span><span class="preprocessor">#define UNORM_H</span></div> <div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="preprocessor">#include "<a class="code" href="utypes_8h.html">unicode/utypes.h</a>"</span></div> <div class="line"><a name="l00019"></a><span class="lineno"> 19</span> </div> <div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="preprocessor">#if !UCONFIG_NO_NORMALIZATION</span></div> <div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="preprocessor">#include "<a class="code" href="uiter_8h.html">unicode/uiter.h</a>"</span></div> <div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="preprocessor">#include "<a class="code" href="unorm2_8h.html">unicode/unorm2.h</a>"</span></div> <div class="line"><a name="l00024"></a><span class="lineno"> 24</span> </div> <div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7"> 133</a></span> <span class="keyword">typedef</span> <span class="keyword">enum</span> {</div> <div class="line"><a name="l00135"></a><span class="lineno"><a class="line" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a120a05cf3e51beaf4d9fbb6a4a1993c7"> 135</a></span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a120a05cf3e51beaf4d9fbb6a4a1993c7">UNORM_NONE</a> = 1, </div> <div class="line"><a name="l00137"></a><span class="lineno"><a class="line" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a60f3fa3dbcdfc2a075143fe078493e3a"> 137</a></span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a60f3fa3dbcdfc2a075143fe078493e3a">UNORM_NFD</a> = 2,</div> <div class="line"><a name="l00139"></a><span class="lineno"><a class="line" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a42f246a2e989929b24b2a4c84fe3a51a"> 139</a></span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a42f246a2e989929b24b2a4c84fe3a51a">UNORM_NFKD</a> = 3,</div> <div class="line"><a name="l00141"></a><span class="lineno"><a class="line" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a5b8bb462684c034d347e8dbcf4b77331"> 141</a></span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a5b8bb462684c034d347e8dbcf4b77331">UNORM_NFC</a> = 4,</div> <div class="line"><a name="l00143"></a><span class="lineno"><a class="line" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a0f833bde534a6902911c62dbb091a585"> 143</a></span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a0f833bde534a6902911c62dbb091a585">UNORM_DEFAULT</a> = <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a5b8bb462684c034d347e8dbcf4b77331">UNORM_NFC</a>, </div> <div class="line"><a name="l00145"></a><span class="lineno"><a class="line" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a9f7f2ae3788d9aa8e6dff82697d6d0db"> 145</a></span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a9f7f2ae3788d9aa8e6dff82697d6d0db">UNORM_NFKC</a> =5,</div> <div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7aac4a0a6b26928af19d2cef5985bdce8d"> 147</a></span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7aac4a0a6b26928af19d2cef5985bdce8d">UNORM_FCD</a> = 6,</div> <div class="line"><a name="l00148"></a><span class="lineno"> 148</span> </div> <div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7ab16cae528525fca531bcdee42b153796"> 150</a></span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7ab16cae528525fca531bcdee42b153796">UNORM_MODE_COUNT</a></div> <div class="line"><a name="l00151"></a><span class="lineno"> 151</span> } <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7">UNormalizationMode</a>;</div> <div class="line"><a name="l00152"></a><span class="lineno"> 152</span> </div> <div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="keyword">enum</span> {</div> <div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="unorm_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea5b4745b8b611e2d7e6245c023e22e462"> 167</a></span>  <a class="code" href="unorm_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea5b4745b8b611e2d7e6245c023e22e462">UNORM_UNICODE_3_2</a>=0x20</div> <div class="line"><a name="l00168"></a><span class="lineno"> 168</span> };</div> <div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div> <div class="line"><a name="l00185"></a><span class="lineno"><a class="line" href="unorm_8h.html#a2962ecfc131adbea913c9ac34eaed4b6"> 185</a></span> <span class="preprocessor">#define UNORM_COMPARE_NORM_OPTIONS_SHIFT 20</span></div> <div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2 </div> <div class="line"><a name="l00207"></a><span class="lineno"> 207</span> <a class="code" href="unorm_8h.html#a5410fab40c4e60a787c5cfbea5103c75">unorm_normalize</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *source, int32_t sourceLength,</div> <div class="line"><a name="l00208"></a><span class="lineno"> 208</span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7">UNormalizationMode</a> mode, int32_t options,</div> <div class="line"><a name="l00209"></a><span class="lineno"> 209</span>  <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *result, int32_t resultLength,</div> <div class="line"><a name="l00210"></a><span class="lineno"> 210</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00211"></a><span class="lineno"> 211</span> </div> <div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <a class="code" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece">UNormalizationCheckResult</a> U_EXPORT2</div> <div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <a class="code" href="unorm_8h.html#ad103c40dd46c7d95f6db4c97aed10277">unorm_quickCheck</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *source, int32_t sourcelength,</div> <div class="line"><a name="l00234"></a><span class="lineno"> 234</span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7">UNormalizationMode</a> mode,</div> <div class="line"><a name="l00235"></a><span class="lineno"> 235</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *status);</div> <div class="line"><a name="l00236"></a><span class="lineno"> 236</span> </div> <div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <a class="code" href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece">UNormalizationCheckResult</a> U_EXPORT2</div> <div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <a class="code" href="unorm_8h.html#ae437a1459c7379e327799d5d5ea44458">unorm_quickCheckWithOptions</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *src, int32_t srcLength, </div> <div class="line"><a name="l00255"></a><span class="lineno"> 255</span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7">UNormalizationMode</a> mode, int32_t options,</div> <div class="line"><a name="l00256"></a><span class="lineno"> 256</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode);</div> <div class="line"><a name="l00257"></a><span class="lineno"> 257</span> </div> <div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> U_EXPORT2</div> <div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <a class="code" href="unorm_8h.html#a919fb62224dc5f268e7b1cce21c2e873">unorm_isNormalized</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *src, int32_t srcLength,</div> <div class="line"><a name="l00281"></a><span class="lineno"> 281</span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7">UNormalizationMode</a> mode,</div> <div class="line"><a name="l00282"></a><span class="lineno"> 282</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode);</div> <div class="line"><a name="l00283"></a><span class="lineno"> 283</span> </div> <div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> U_EXPORT2</div> <div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <a class="code" href="unorm_8h.html#a0a0e785c85a02052d405626ce301405e">unorm_isNormalizedWithOptions</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *src, int32_t srcLength,</div> <div class="line"><a name="l00303"></a><span class="lineno"> 303</span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7">UNormalizationMode</a> mode, int32_t options,</div> <div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode);</div> <div class="line"><a name="l00305"></a><span class="lineno"> 305</span> </div> <div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <a class="code" href="unorm_8h.html#ab929eae6735fc93dfd799f7b71553614">unorm_next</a>(<a class="code" href="structUCharIterator.html">UCharIterator</a> *src,</div> <div class="line"><a name="l00381"></a><span class="lineno"> 381</span>  <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, int32_t destCapacity,</div> <div class="line"><a name="l00382"></a><span class="lineno"> 382</span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7">UNormalizationMode</a> mode, int32_t options,</div> <div class="line"><a name="l00383"></a><span class="lineno"> 383</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> doNormalize, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> *pNeededToNormalize,</div> <div class="line"><a name="l00384"></a><span class="lineno"> 384</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode);</div> <div class="line"><a name="l00385"></a><span class="lineno"> 385</span> </div> <div class="line"><a name="l00412"></a><span class="lineno"> 412</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00413"></a><span class="lineno"> 413</span> <a class="code" href="unorm_8h.html#a1b64cb761d9eb7ccfd7ec58a5e045975">unorm_previous</a>(<a class="code" href="structUCharIterator.html">UCharIterator</a> *src,</div> <div class="line"><a name="l00414"></a><span class="lineno"> 414</span>  <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, int32_t destCapacity,</div> <div class="line"><a name="l00415"></a><span class="lineno"> 415</span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7">UNormalizationMode</a> mode, int32_t options,</div> <div class="line"><a name="l00416"></a><span class="lineno"> 416</span>  <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> doNormalize, <a class="code" href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a> *pNeededToNormalize,</div> <div class="line"><a name="l00417"></a><span class="lineno"> 417</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode);</div> <div class="line"><a name="l00418"></a><span class="lineno"> 418</span> </div> <div class="line"><a name="l00456"></a><span class="lineno"> 456</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00457"></a><span class="lineno"> 457</span> <a class="code" href="unorm_8h.html#aa258530f27604d78c887aac13771e4a1">unorm_concatenate</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *left, int32_t leftLength,</div> <div class="line"><a name="l00458"></a><span class="lineno"> 458</span>  <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *right, int32_t rightLength,</div> <div class="line"><a name="l00459"></a><span class="lineno"> 459</span>  <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, int32_t destCapacity,</div> <div class="line"><a name="l00460"></a><span class="lineno"> 460</span>  <a class="code" href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7">UNormalizationMode</a> mode, int32_t options,</div> <div class="line"><a name="l00461"></a><span class="lineno"> 461</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode);</div> <div class="line"><a name="l00462"></a><span class="lineno"> 462</span> </div> <div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="unorm_8h.html#ab2632f6548f0574ded0d37671ead94b6"> 468</a></span> <span class="preprocessor">#define UNORM_INPUT_IS_FCD 0x20000</span></div> <div class="line"><a name="l00469"></a><span class="lineno"> 469</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00475"></a><span class="lineno"><a class="line" href="unorm_8h.html#a6cc4c8b0d5be7ce1ac4b600ace7817f5"> 475</a></span> <span class="preprocessor">#define U_COMPARE_IGNORE_CASE 0x10000</span></div> <div class="line"><a name="l00476"></a><span class="lineno"> 476</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00477"></a><span class="lineno"> 477</span> <span class="preprocessor">#ifndef U_COMPARE_CODE_POINT_ORDER</span></div> <div class="line"><a name="l00478"></a><span class="lineno"> 478</span> <span class="preprocessor"></span><span class="comment">/* see also unistr.h and ustring.h */</span></div> <div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="unorm_8h.html#a7fd781b068b28ee2db708090aa32df8f"> 484</a></span> <span class="preprocessor">#define U_COMPARE_CODE_POINT_ORDER 0x8000</span></div> <div class="line"><a name="l00485"></a><span class="lineno"> 485</span> <span class="preprocessor"></span><span class="preprocessor">#endif</span></div> <div class="line"><a name="l00486"></a><span class="lineno"> 486</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <a class="code" href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a> int32_t U_EXPORT2</div> <div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <a class="code" href="unorm_8h.html#a991e0fe6f0d062dd6e8e924517f3f437">unorm_compare</a>(<span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *s1, int32_t length1,</div> <div class="line"><a name="l00555"></a><span class="lineno"> 555</span>  <span class="keyword">const</span> <a class="code" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *s2, int32_t length2,</div> <div class="line"><a name="l00556"></a><span class="lineno"> 556</span>  uint32_t options,</div> <div class="line"><a name="l00557"></a><span class="lineno"> 557</span>  <a class="code" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode);</div> <div class="line"><a name="l00558"></a><span class="lineno"> 558</span> </div> <div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="preprocessor">#endif </span><span class="comment">/* #if !UCONFIG_NO_NORMALIZATION */</span><span class="preprocessor"></span></div> <div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="preprocessor"></span></div> <div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="preprocessor">#endif</span></div> <div class="ttc" id="unorm_8h_html_af317e3ace13f0ce7c86dd1ca48490ef7a60f3fa3dbcdfc2a075143fe078493e3a"><div class="ttname"><a href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a60f3fa3dbcdfc2a075143fe078493e3a">UNORM_NFD</a></div><div class="ttdoc">Canonical decomposition. </div><div class="ttdef"><b>Definition:</b> <a href="unorm_8h_source.html#l00137">unorm.h:137</a></div></div> <div class="ttc" id="unorm_8h_html_ae437a1459c7379e327799d5d5ea44458"><div class="ttname"><a href="unorm_8h.html#ae437a1459c7379e327799d5d5ea44458">unorm_quickCheckWithOptions</a></div><div class="ttdeci">UNormalizationCheckResult unorm_quickCheckWithOptions(const UChar *src, int32_t srcLength, UNormalizationMode mode, int32_t options, UErrorCode *pErrorCode)</div><div class="ttdoc">Performing quick check on a string; same as unorm_quickCheck but takes an extra options parameter lik...</div></div> <div class="ttc" id="unorm_8h_html_af317e3ace13f0ce7c86dd1ca48490ef7aac4a0a6b26928af19d2cef5985bdce8d"><div class="ttname"><a href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7aac4a0a6b26928af19d2cef5985bdce8d">UNORM_FCD</a></div><div class="ttdoc">"Fast C or D" form. </div><div class="ttdef"><b>Definition:</b> <a href="unorm_8h_source.html#l00147">unorm.h:147</a></div></div> <div class="ttc" id="unorm_8h_html_a05589fbab0657f08285ebdfe93f5ec9ea5b4745b8b611e2d7e6245c023e22e462"><div class="ttname"><a href="unorm_8h.html#a05589fbab0657f08285ebdfe93f5ec9ea5b4745b8b611e2d7e6245c023e22e462">UNORM_UNICODE_3_2</a></div><div class="ttdoc">Options bit set value to select Unicode 3.2 normalization (except NormalizationCorrections). </div><div class="ttdef"><b>Definition:</b> <a href="unorm_8h_source.html#l00167">unorm.h:167</a></div></div> <div class="ttc" id="unorm_8h_html_af317e3ace13f0ce7c86dd1ca48490ef7"><div class="ttname"><a href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7">UNormalizationMode</a></div><div class="ttdeci">UNormalizationMode</div><div class="ttdoc">Constants for normalization modes. </div><div class="ttdef"><b>Definition:</b> <a href="unorm_8h_source.html#l00133">unorm.h:133</a></div></div> <div class="ttc" id="unorm_8h_html_af317e3ace13f0ce7c86dd1ca48490ef7a9f7f2ae3788d9aa8e6dff82697d6d0db"><div class="ttname"><a href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a9f7f2ae3788d9aa8e6dff82697d6d0db">UNORM_NFKC</a></div><div class="ttdoc">Compatibility decomposition followed by canonical composition. </div><div class="ttdef"><b>Definition:</b> <a href="unorm_8h_source.html#l00145">unorm.h:145</a></div></div> <div class="ttc" id="structUCharIterator_html"><div class="ttname"><a href="structUCharIterator.html">UCharIterator</a></div><div class="ttdoc">C API for code unit iteration. </div><div class="ttdef"><b>Definition:</b> <a href="uiter_8h_source.html#l00339">uiter.h:339</a></div></div> <div class="ttc" id="unorm_8h_html_ad103c40dd46c7d95f6db4c97aed10277"><div class="ttname"><a href="unorm_8h.html#ad103c40dd46c7d95f6db4c97aed10277">unorm_quickCheck</a></div><div class="ttdeci">UNormalizationCheckResult unorm_quickCheck(const UChar *source, int32_t sourcelength, UNormalizationMode mode, UErrorCode *status)</div><div class="ttdoc">Performing quick check on a string, to quickly determine if the string is in a particular normalizati...</div></div> <div class="ttc" id="unorm_8h_html_a5410fab40c4e60a787c5cfbea5103c75"><div class="ttname"><a href="unorm_8h.html#a5410fab40c4e60a787c5cfbea5103c75">unorm_normalize</a></div><div class="ttdeci">int32_t unorm_normalize(const UChar *source, int32_t sourceLength, UNormalizationMode mode, int32_t options, UChar *result, int32_t resultLength, UErrorCode *status)</div><div class="ttdoc">Normalize a string. </div></div> <div class="ttc" id="unorm2_8h_html"><div class="ttname"><a href="unorm2_8h.html">unorm2.h</a></div><div class="ttdoc">C API: New API for Unicode Normalization. </div></div> <div class="ttc" id="unorm_8h_html_a0a0e785c85a02052d405626ce301405e"><div class="ttname"><a href="unorm_8h.html#a0a0e785c85a02052d405626ce301405e">unorm_isNormalizedWithOptions</a></div><div class="ttdeci">UBool unorm_isNormalizedWithOptions(const UChar *src, int32_t srcLength, UNormalizationMode mode, int32_t options, UErrorCode *pErrorCode)</div><div class="ttdoc">Test if a string is in a given normalization form; same as unorm_isNormalized but takes an extra opti...</div></div> <div class="ttc" id="unorm_8h_html_a919fb62224dc5f268e7b1cce21c2e873"><div class="ttname"><a href="unorm_8h.html#a919fb62224dc5f268e7b1cce21c2e873">unorm_isNormalized</a></div><div class="ttdeci">UBool unorm_isNormalized(const UChar *src, int32_t srcLength, UNormalizationMode mode, UErrorCode *pErrorCode)</div><div class="ttdoc">Test if a string is in a given normalization form. </div></div> <div class="ttc" id="unorm_8h_html_af317e3ace13f0ce7c86dd1ca48490ef7a0f833bde534a6902911c62dbb091a585"><div class="ttname"><a href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a0f833bde534a6902911c62dbb091a585">UNORM_DEFAULT</a></div><div class="ttdoc">Default normalization. </div><div class="ttdef"><b>Definition:</b> <a href="unorm_8h_source.html#l00143">unorm.h:143</a></div></div> <div class="ttc" id="unorm_8h_html_af317e3ace13f0ce7c86dd1ca48490ef7a120a05cf3e51beaf4d9fbb6a4a1993c7"><div class="ttname"><a href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a120a05cf3e51beaf4d9fbb6a4a1993c7">UNORM_NONE</a></div><div class="ttdoc">No decomposition/composition. </div><div class="ttdef"><b>Definition:</b> <a href="unorm_8h_source.html#l00135">unorm.h:135</a></div></div> <div class="ttc" id="unorm_8h_html_a991e0fe6f0d062dd6e8e924517f3f437"><div class="ttname"><a href="unorm_8h.html#a991e0fe6f0d062dd6e8e924517f3f437">unorm_compare</a></div><div class="ttdeci">int32_t unorm_compare(const UChar *s1, int32_t length1, const UChar *s2, int32_t length2, uint32_t options, UErrorCode *pErrorCode)</div><div class="ttdoc">Compare two strings for canonical equivalence. </div></div> <div class="ttc" id="uiter_8h_html"><div class="ttname"><a href="uiter_8h.html">uiter.h</a></div><div class="ttdoc">C API: Unicode Character Iteration. </div></div> <div class="ttc" id="unorm_8h_html_ab929eae6735fc93dfd799f7b71553614"><div class="ttname"><a href="unorm_8h.html#ab929eae6735fc93dfd799f7b71553614">unorm_next</a></div><div class="ttdeci">int32_t unorm_next(UCharIterator *src, UChar *dest, int32_t destCapacity, UNormalizationMode mode, int32_t options, UBool doNormalize, UBool *pNeededToNormalize, UErrorCode *pErrorCode)</div><div class="ttdoc">Iterative normalization forward. </div></div> <div class="ttc" id="umachine_8h_html_a6bb9fad572d65b305324ef288165e2ac"><div class="ttname"><a href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a></div><div class="ttdeci">uint16_t UChar</div><div class="ttdoc">Define UChar to be UCHAR_TYPE, if that is #defined (for example, to char16_t), or wchar_t if that is ...</div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00278">umachine.h:278</a></div></div> <div class="ttc" id="unorm_8h_html_aa258530f27604d78c887aac13771e4a1"><div class="ttname"><a href="unorm_8h.html#aa258530f27604d78c887aac13771e4a1">unorm_concatenate</a></div><div class="ttdeci">int32_t unorm_concatenate(const UChar *left, int32_t leftLength, const UChar *right, int32_t rightLength, UChar *dest, int32_t destCapacity, UNormalizationMode mode, int32_t options, UErrorCode *pErrorCode)</div><div class="ttdoc">Concatenate normalized strings, making sure that the result is normalized as well. </div></div> <div class="ttc" id="unorm_8h_html_a1b64cb761d9eb7ccfd7ec58a5e045975"><div class="ttname"><a href="unorm_8h.html#a1b64cb761d9eb7ccfd7ec58a5e045975">unorm_previous</a></div><div class="ttdeci">int32_t unorm_previous(UCharIterator *src, UChar *dest, int32_t destCapacity, UNormalizationMode mode, int32_t options, UBool doNormalize, UBool *pNeededToNormalize, UErrorCode *pErrorCode)</div><div class="ttdoc">Iterative normalization backward. </div></div> <div class="ttc" id="utypes_8h_html_a3343c1c8a8377277046774691c98d78c"><div class="ttname"><a href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a></div><div class="ttdeci">UErrorCode</div><div class="ttdoc">Error code to replace exception handling, so that the code is compatible with all C++ compilers...</div><div class="ttdef"><b>Definition:</b> <a href="utypes_8h_source.html#l00476">utypes.h:476</a></div></div> <div class="ttc" id="unorm_8h_html_af317e3ace13f0ce7c86dd1ca48490ef7a42f246a2e989929b24b2a4c84fe3a51a"><div class="ttname"><a href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a42f246a2e989929b24b2a4c84fe3a51a">UNORM_NFKD</a></div><div class="ttdoc">Compatibility decomposition. </div><div class="ttdef"><b>Definition:</b> <a href="unorm_8h_source.html#l00139">unorm.h:139</a></div></div> <div class="ttc" id="utypes_8h_html"><div class="ttname"><a href="utypes_8h.html">utypes.h</a></div><div class="ttdoc">Basic definitions for ICU, for both C and C++ APIs. </div></div> <div class="ttc" id="unorm_8h_html_af317e3ace13f0ce7c86dd1ca48490ef7ab16cae528525fca531bcdee42b153796"><div class="ttname"><a href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7ab16cae528525fca531bcdee42b153796">UNORM_MODE_COUNT</a></div><div class="ttdoc">One more than the highest normalization mode constant. </div><div class="ttdef"><b>Definition:</b> <a href="unorm_8h_source.html#l00150">unorm.h:150</a></div></div> <div class="ttc" id="unorm2_8h_html_a01b7464189aef5dae63c0c759e84bece"><div class="ttname"><a href="unorm2_8h.html#a01b7464189aef5dae63c0c759e84bece">UNormalizationCheckResult</a></div><div class="ttdeci">UNormalizationCheckResult</div><div class="ttdoc">Result values for normalization quick check functions. </div><div class="ttdef"><b>Definition:</b> <a href="unorm2_8h_source.html#l00091">unorm2.h:91</a></div></div> <div class="ttc" id="unorm_8h_html_af317e3ace13f0ce7c86dd1ca48490ef7a5b8bb462684c034d347e8dbcf4b77331"><div class="ttname"><a href="unorm_8h.html#af317e3ace13f0ce7c86dd1ca48490ef7a5b8bb462684c034d347e8dbcf4b77331">UNORM_NFC</a></div><div class="ttdoc">Canonical decomposition followed by canonical composition. </div><div class="ttdef"><b>Definition:</b> <a href="unorm_8h_source.html#l00141">unorm.h:141</a></div></div> <div class="ttc" id="umachine_8h_html_af3e3799716eaa41e3f49c7bf18c62b98"><div class="ttname"><a href="umachine_8h.html#af3e3799716eaa41e3f49c7bf18c62b98">U_STABLE</a></div><div class="ttdeci">#define U_STABLE</div><div class="ttdoc">This is used to declare a function as a stable public ICU C API. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00109">umachine.h:109</a></div></div> <div class="ttc" id="umachine_8h_html_a349ef00011f20ccd1d3b424445681aa5"><div class="ttname"><a href="umachine_8h.html#a349ef00011f20ccd1d3b424445681aa5">UBool</a></div><div class="ttdeci">int8_t UBool</div><div class="ttdoc">The ICU boolean type. </div><div class="ttdef"><b>Definition:</b> <a href="umachine_8h_source.html#l00200">umachine.h:200</a></div></div> </div><!-- fragment --></div><!-- contents --> <!-- start footer part --> <hr class="footer"/><address class="footer"><small> Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/> </a> 1.8.6 </small></address> </body> </html>