Sophie

Sophie

distrib > Mageia > 6 > armv5tl > media > core-release > by-pkgid > 3a4e91bde08970529a0aa07935652fe8 > files > 1042

icu-doc-58.2-3.mga6.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>ICU 58.2: ushape.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="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 id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">ICU 58.2
   &#160;<span id="projectnumber">58.2</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
      <li><a href="modules.html"><span>Modules</span></a></li>
      <li><a href="namespaces.html"><span>Namespaces</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li class="current"><a href="files.html"><span>Files</span></a></li>
    </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>
<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_b2f33c71d4aa5e7af42a1ca61ff5af1b.html">source</a></li><li class="navelem"><a class="el" href="dir_30087b5439e04c85304dbcf15650710b.html">common</a></li><li class="navelem"><a class="el" href="dir_8bf9c54ed6ca2fd1e2117fb037e4ad06.html">unicode</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">ushape.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>C API: Arabic shaping.  
<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 />
</div>
<p><a href="ushape_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ac17406c6548f18e1c9d7f3339e20c99f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#ac17406c6548f18e1c9d7f3339e20c99f">U_SHAPE_LENGTH_GROW_SHRINK</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ac17406c6548f18e1c9d7f3339e20c99f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: allow the result to have a different length than the source.  <a href="#ac17406c6548f18e1c9d7f3339e20c99f">More...</a><br /></td></tr>
<tr class="separator:ac17406c6548f18e1c9d7f3339e20c99f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44a55b05c3e6d7083cb38149860ad4a8"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a44a55b05c3e6d7083cb38149860ad4a8">U_SHAPE_LAMALEF_RESIZE</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a44a55b05c3e6d7083cb38149860ad4a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: allow the result to have a different length than the source.  <a href="#a44a55b05c3e6d7083cb38149860ad4a8">More...</a><br /></td></tr>
<tr class="separator:a44a55b05c3e6d7083cb38149860ad4a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56141bf9903c7b5e884d4193d110e7ab"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a56141bf9903c7b5e884d4193d110e7ab">U_SHAPE_LENGTH_FIXED_SPACES_NEAR</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:a56141bf9903c7b5e884d4193d110e7ab"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: the result must have the same length as the source.  <a href="#a56141bf9903c7b5e884d4193d110e7ab">More...</a><br /></td></tr>
<tr class="separator:a56141bf9903c7b5e884d4193d110e7ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4f48efd37560b34e415a755a485519eb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a4f48efd37560b34e415a755a485519eb">U_SHAPE_LAMALEF_NEAR</a>&#160;&#160;&#160;1</td></tr>
<tr class="memdesc:a4f48efd37560b34e415a755a485519eb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: the result must have the same length as the source.  <a href="#a4f48efd37560b34e415a755a485519eb">More...</a><br /></td></tr>
<tr class="separator:a4f48efd37560b34e415a755a485519eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1176691c3596d19baad04f9421f8389e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a1176691c3596d19baad04f9421f8389e">U_SHAPE_LENGTH_FIXED_SPACES_AT_END</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:a1176691c3596d19baad04f9421f8389e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: the result must have the same length as the source.  <a href="#a1176691c3596d19baad04f9421f8389e">More...</a><br /></td></tr>
<tr class="separator:a1176691c3596d19baad04f9421f8389e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16b1f4c076f22c3201877149d8a866d4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a16b1f4c076f22c3201877149d8a866d4">U_SHAPE_LAMALEF_END</a>&#160;&#160;&#160;2</td></tr>
<tr class="memdesc:a16b1f4c076f22c3201877149d8a866d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: the result must have the same length as the source.  <a href="#a16b1f4c076f22c3201877149d8a866d4">More...</a><br /></td></tr>
<tr class="separator:a16b1f4c076f22c3201877149d8a866d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76a858155800f59a06ea800f66821ed4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a76a858155800f59a06ea800f66821ed4">U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:a76a858155800f59a06ea800f66821ed4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: the result must have the same length as the source.  <a href="#a76a858155800f59a06ea800f66821ed4">More...</a><br /></td></tr>
<tr class="separator:a76a858155800f59a06ea800f66821ed4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab006a540a0f924e9e19e194da2f5c2cd"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#ab006a540a0f924e9e19e194da2f5c2cd">U_SHAPE_LAMALEF_BEGIN</a>&#160;&#160;&#160;3</td></tr>
<tr class="memdesc:ab006a540a0f924e9e19e194da2f5c2cd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: the result must have the same length as the source.  <a href="#ab006a540a0f924e9e19e194da2f5c2cd">More...</a><br /></td></tr>
<tr class="separator:ab006a540a0f924e9e19e194da2f5c2cd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a222f9407817a37959cfcd8ee31edaa39"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a222f9407817a37959cfcd8ee31edaa39">U_SHAPE_LAMALEF_AUTO</a>&#160;&#160;&#160;0x10000</td></tr>
<tr class="memdesc:a222f9407817a37959cfcd8ee31edaa39"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: the result must have the same length as the source.  <a href="#a222f9407817a37959cfcd8ee31edaa39">More...</a><br /></td></tr>
<tr class="separator:a222f9407817a37959cfcd8ee31edaa39"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac08849a490c2f229a7dc5e74faf00f33"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#ac08849a490c2f229a7dc5e74faf00f33">U_SHAPE_LENGTH_MASK</a>&#160;&#160;&#160;0x10003 /* Changed old value 3 */</td></tr>
<tr class="memdesc:ac08849a490c2f229a7dc5e74faf00f33"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask for memory options.  <a href="#ac08849a490c2f229a7dc5e74faf00f33">More...</a><br /></td></tr>
<tr class="separator:ac08849a490c2f229a7dc5e74faf00f33"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adf5a64eaf97d100e07be80339f2c13c9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#adf5a64eaf97d100e07be80339f2c13c9">U_SHAPE_LAMALEF_MASK</a>&#160;&#160;&#160;0x10003 /* updated */</td></tr>
<tr class="memdesc:adf5a64eaf97d100e07be80339f2c13c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask for LamAlef memory options.  <a href="#adf5a64eaf97d100e07be80339f2c13c9">More...</a><br /></td></tr>
<tr class="separator:adf5a64eaf97d100e07be80339f2c13c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a376059a8a3abdb0516f783941ff7d464"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a376059a8a3abdb0516f783941ff7d464">U_SHAPE_TEXT_DIRECTION_LOGICAL</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a376059a8a3abdb0516f783941ff7d464"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direction indicator: the source is in logical (keyboard) order.  <a href="#a376059a8a3abdb0516f783941ff7d464">More...</a><br /></td></tr>
<tr class="separator:a376059a8a3abdb0516f783941ff7d464"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0d7a7f1722037ec0af54e74d16695ca3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a0d7a7f1722037ec0af54e74d16695ca3">U_SHAPE_TEXT_DIRECTION_VISUAL_RTL</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a0d7a7f1722037ec0af54e74d16695ca3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direction indicator: the source is in visual RTL order, the rightmost displayed character stored first.  <a href="#a0d7a7f1722037ec0af54e74d16695ca3">More...</a><br /></td></tr>
<tr class="separator:a0d7a7f1722037ec0af54e74d16695ca3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98b7d5a066c6d71319f911dd0ae0fda4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a98b7d5a066c6d71319f911dd0ae0fda4">U_SHAPE_TEXT_DIRECTION_VISUAL_LTR</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:a98b7d5a066c6d71319f911dd0ae0fda4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Direction indicator: the source is in visual LTR order, the leftmost displayed character stored first.  <a href="#a98b7d5a066c6d71319f911dd0ae0fda4">More...</a><br /></td></tr>
<tr class="separator:a98b7d5a066c6d71319f911dd0ae0fda4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aead4db716c892f18366202c5d231672a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#aead4db716c892f18366202c5d231672a">U_SHAPE_TEXT_DIRECTION_MASK</a>&#160;&#160;&#160;4</td></tr>
<tr class="memdesc:aead4db716c892f18366202c5d231672a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask for direction indicators.  <a href="#aead4db716c892f18366202c5d231672a">More...</a><br /></td></tr>
<tr class="separator:aead4db716c892f18366202c5d231672a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a86f5c2c9667050dc9ab52b2568b2f299"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a86f5c2c9667050dc9ab52b2568b2f299">U_SHAPE_LETTERS_NOOP</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a86f5c2c9667050dc9ab52b2568b2f299"><td class="mdescLeft">&#160;</td><td class="mdescRight">Letter shaping option: do not perform letter shaping.  <a href="#a86f5c2c9667050dc9ab52b2568b2f299">More...</a><br /></td></tr>
<tr class="separator:a86f5c2c9667050dc9ab52b2568b2f299"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae54a10c82b703d47e46655b732e9ee50"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#ae54a10c82b703d47e46655b732e9ee50">U_SHAPE_LETTERS_SHAPE</a>&#160;&#160;&#160;8</td></tr>
<tr class="memdesc:ae54a10c82b703d47e46655b732e9ee50"><td class="mdescLeft">&#160;</td><td class="mdescRight">Letter shaping option: replace abstract letter characters by "shaped" ones.  <a href="#ae54a10c82b703d47e46655b732e9ee50">More...</a><br /></td></tr>
<tr class="separator:ae54a10c82b703d47e46655b732e9ee50"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5db2793e06b3f711b2413ae43fda338"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#ab5db2793e06b3f711b2413ae43fda338">U_SHAPE_LETTERS_UNSHAPE</a>&#160;&#160;&#160;0x10</td></tr>
<tr class="memdesc:ab5db2793e06b3f711b2413ae43fda338"><td class="mdescLeft">&#160;</td><td class="mdescRight">Letter shaping option: replace "shaped" letter characters by abstract ones.  <a href="#ab5db2793e06b3f711b2413ae43fda338">More...</a><br /></td></tr>
<tr class="separator:ab5db2793e06b3f711b2413ae43fda338"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a147edaa89bc02994a85f99d0eca97dd2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a147edaa89bc02994a85f99d0eca97dd2">U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED</a>&#160;&#160;&#160;0x18</td></tr>
<tr class="memdesc:a147edaa89bc02994a85f99d0eca97dd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Letter shaping option: replace abstract letter characters by "shaped" ones.  <a href="#a147edaa89bc02994a85f99d0eca97dd2">More...</a><br /></td></tr>
<tr class="separator:a147edaa89bc02994a85f99d0eca97dd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ede249701211173c977a9069d808800"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a5ede249701211173c977a9069d808800">U_SHAPE_LETTERS_MASK</a>&#160;&#160;&#160;0x18</td></tr>
<tr class="memdesc:a5ede249701211173c977a9069d808800"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask for letter shaping options.  <a href="#a5ede249701211173c977a9069d808800">More...</a><br /></td></tr>
<tr class="separator:a5ede249701211173c977a9069d808800"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac30d73f1b5a592655063a2a07169aaee"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#ac30d73f1b5a592655063a2a07169aaee">U_SHAPE_DIGITS_NOOP</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ac30d73f1b5a592655063a2a07169aaee"><td class="mdescLeft">&#160;</td><td class="mdescRight">Digit shaping option: do not perform digit shaping.  <a href="#ac30d73f1b5a592655063a2a07169aaee">More...</a><br /></td></tr>
<tr class="separator:ac30d73f1b5a592655063a2a07169aaee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad2a55f99c617158f846c246bc2d08e0e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#ad2a55f99c617158f846c246bc2d08e0e">U_SHAPE_DIGITS_EN2AN</a>&#160;&#160;&#160;0x20</td></tr>
<tr class="memdesc:ad2a55f99c617158f846c246bc2d08e0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Digit shaping option: Replace European digits (U+0030...) by Arabic-Indic digits.  <a href="#ad2a55f99c617158f846c246bc2d08e0e">More...</a><br /></td></tr>
<tr class="separator:ad2a55f99c617158f846c246bc2d08e0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab64949486e9c70a4452903d6938d8198"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#ab64949486e9c70a4452903d6938d8198">U_SHAPE_DIGITS_AN2EN</a>&#160;&#160;&#160;0x40</td></tr>
<tr class="memdesc:ab64949486e9c70a4452903d6938d8198"><td class="mdescLeft">&#160;</td><td class="mdescRight">Digit shaping option: Replace Arabic-Indic digits by European digits (U+0030...).  <a href="#ab64949486e9c70a4452903d6938d8198">More...</a><br /></td></tr>
<tr class="separator:ab64949486e9c70a4452903d6938d8198"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf9e74416ef9eb51078194c75ae58c2b"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#aaf9e74416ef9eb51078194c75ae58c2b">U_SHAPE_DIGITS_ALEN2AN_INIT_LR</a>&#160;&#160;&#160;0x60</td></tr>
<tr class="memdesc:aaf9e74416ef9eb51078194c75ae58c2b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Digit shaping option: Replace European digits (U+0030...) by Arabic-Indic digits if the most recent strongly directional character is an Arabic letter (<code><a class="el" href="uchar_8h.html#a007e7ad9be3d14528ad22f02f635c178" title="Returns the bidirectional category value for the code point, which is used in the Unicode bidirection...">u_charDirection()</a></code> result <code>U_RIGHT_TO_LEFT_ARABIC</code> [AL]).  <a href="#aaf9e74416ef9eb51078194c75ae58c2b">More...</a><br /></td></tr>
<tr class="separator:aaf9e74416ef9eb51078194c75ae58c2b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62280016a9a1e6dae2606e7f4885a293"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a62280016a9a1e6dae2606e7f4885a293">U_SHAPE_DIGITS_ALEN2AN_INIT_AL</a>&#160;&#160;&#160;0x80</td></tr>
<tr class="memdesc:a62280016a9a1e6dae2606e7f4885a293"><td class="mdescLeft">&#160;</td><td class="mdescRight">Digit shaping option: Replace European digits (U+0030...) by Arabic-Indic digits if the most recent strongly directional character is an Arabic letter (<code><a class="el" href="uchar_8h.html#a007e7ad9be3d14528ad22f02f635c178" title="Returns the bidirectional category value for the code point, which is used in the Unicode bidirection...">u_charDirection()</a></code> result <code>U_RIGHT_TO_LEFT_ARABIC</code> [AL]).  <a href="#a62280016a9a1e6dae2606e7f4885a293">More...</a><br /></td></tr>
<tr class="separator:a62280016a9a1e6dae2606e7f4885a293"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abda4f9060a11b445ceaae095b0ef6e09"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#abda4f9060a11b445ceaae095b0ef6e09">U_SHAPE_DIGITS_RESERVED</a>&#160;&#160;&#160;0xa0</td></tr>
<tr class="memdesc:abda4f9060a11b445ceaae095b0ef6e09"><td class="mdescLeft">&#160;</td><td class="mdescRight">Not a valid option value.  <a href="#abda4f9060a11b445ceaae095b0ef6e09">More...</a><br /></td></tr>
<tr class="separator:abda4f9060a11b445ceaae095b0ef6e09"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85ff906eb1189dccac37fda9f801edf5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a85ff906eb1189dccac37fda9f801edf5">U_SHAPE_DIGITS_MASK</a>&#160;&#160;&#160;0xe0</td></tr>
<tr class="memdesc:a85ff906eb1189dccac37fda9f801edf5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask for digit shaping options.  <a href="#a85ff906eb1189dccac37fda9f801edf5">More...</a><br /></td></tr>
<tr class="separator:a85ff906eb1189dccac37fda9f801edf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace82e665031672d4d90e9de8802ee877"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#ace82e665031672d4d90e9de8802ee877">U_SHAPE_DIGIT_TYPE_AN</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ace82e665031672d4d90e9de8802ee877"><td class="mdescLeft">&#160;</td><td class="mdescRight">Digit type option: Use Arabic-Indic digits (U+0660...U+0669).  <a href="#ace82e665031672d4d90e9de8802ee877">More...</a><br /></td></tr>
<tr class="separator:ace82e665031672d4d90e9de8802ee877"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad702c7e0c649d5cb2ac70d3e0a820cb1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#ad702c7e0c649d5cb2ac70d3e0a820cb1">U_SHAPE_DIGIT_TYPE_AN_EXTENDED</a>&#160;&#160;&#160;0x100</td></tr>
<tr class="memdesc:ad702c7e0c649d5cb2ac70d3e0a820cb1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Digit type option: Use Eastern (Extended) Arabic-Indic digits (U+06f0...U+06f9).  <a href="#ad702c7e0c649d5cb2ac70d3e0a820cb1">More...</a><br /></td></tr>
<tr class="separator:ad702c7e0c649d5cb2ac70d3e0a820cb1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7a72684ba67ebae3e141c0427736302"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#ae7a72684ba67ebae3e141c0427736302">U_SHAPE_DIGIT_TYPE_RESERVED</a>&#160;&#160;&#160;0x200</td></tr>
<tr class="memdesc:ae7a72684ba67ebae3e141c0427736302"><td class="mdescLeft">&#160;</td><td class="mdescRight">Not a valid option value.  <a href="#ae7a72684ba67ebae3e141c0427736302">More...</a><br /></td></tr>
<tr class="separator:ae7a72684ba67ebae3e141c0427736302"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57ba27bfc4ba29dffa3354d1d9ca045f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a57ba27bfc4ba29dffa3354d1d9ca045f">U_SHAPE_DIGIT_TYPE_MASK</a>&#160;&#160;&#160;0x300 /* I need to change this from 0x3f00 to 0x300 */</td></tr>
<tr class="memdesc:a57ba27bfc4ba29dffa3354d1d9ca045f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask for digit type options.  <a href="#a57ba27bfc4ba29dffa3354d1d9ca045f">More...</a><br /></td></tr>
<tr class="separator:a57ba27bfc4ba29dffa3354d1d9ca045f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa3b28918b5a9c1b597eeb1cf9b04067f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#aa3b28918b5a9c1b597eeb1cf9b04067f">U_SHAPE_AGGREGATE_TASHKEEL</a>&#160;&#160;&#160;0x4000</td></tr>
<tr class="memdesc:aa3b28918b5a9c1b597eeb1cf9b04067f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tashkeel aggregation option: Replaces any combination of U+0651 with one of U+064C, U+064D, U+064E, U+064F, U+0650 with U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 consecutively.  <a href="#aa3b28918b5a9c1b597eeb1cf9b04067f">More...</a><br /></td></tr>
<tr class="separator:aa3b28918b5a9c1b597eeb1cf9b04067f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5df6abccc5c906fa4bc07c84351614c7"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a5df6abccc5c906fa4bc07c84351614c7">U_SHAPE_AGGREGATE_TASHKEEL_NOOP</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:a5df6abccc5c906fa4bc07c84351614c7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Tashkeel aggregation option: do not aggregate tashkeels.  <a href="#a5df6abccc5c906fa4bc07c84351614c7">More...</a><br /></td></tr>
<tr class="separator:a5df6abccc5c906fa4bc07c84351614c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a16d0d1f59bc47273fbc7fa358aba981f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a16d0d1f59bc47273fbc7fa358aba981f">U_SHAPE_AGGREGATE_TASHKEEL_MASK</a>&#160;&#160;&#160;0x4000</td></tr>
<tr class="memdesc:a16d0d1f59bc47273fbc7fa358aba981f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask for tashkeel aggregation.  <a href="#a16d0d1f59bc47273fbc7fa358aba981f">More...</a><br /></td></tr>
<tr class="separator:a16d0d1f59bc47273fbc7fa358aba981f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af9b205460569cb5d6667ed773bc0c9d5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#af9b205460569cb5d6667ed773bc0c9d5">U_SHAPE_PRESERVE_PRESENTATION</a>&#160;&#160;&#160;0x8000</td></tr>
<tr class="memdesc:af9b205460569cb5d6667ed773bc0c9d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Presentation form option: Don't replace Arabic Presentation Forms-A and Arabic Presentation Forms-B characters with 0+06xx characters, before shaping.  <a href="#af9b205460569cb5d6667ed773bc0c9d5">More...</a><br /></td></tr>
<tr class="separator:af9b205460569cb5d6667ed773bc0c9d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb9ef25407831f84a85a8812592ffe00"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#abb9ef25407831f84a85a8812592ffe00">U_SHAPE_PRESERVE_PRESENTATION_NOOP</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:abb9ef25407831f84a85a8812592ffe00"><td class="mdescLeft">&#160;</td><td class="mdescRight">Presentation form option: Replace Arabic Presentation Forms-A and Arabic Presentationo Forms-B with their unshaped correspondants in range 0+06xx, before shaping.  <a href="#abb9ef25407831f84a85a8812592ffe00">More...</a><br /></td></tr>
<tr class="separator:abb9ef25407831f84a85a8812592ffe00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a713bd393961c912cc5af94400b7b6752"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a713bd393961c912cc5af94400b7b6752">U_SHAPE_PRESERVE_PRESENTATION_MASK</a>&#160;&#160;&#160;0x8000</td></tr>
<tr class="memdesc:a713bd393961c912cc5af94400b7b6752"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask for preserve presentation form.  <a href="#a713bd393961c912cc5af94400b7b6752">More...</a><br /></td></tr>
<tr class="separator:a713bd393961c912cc5af94400b7b6752"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0be47852d24dd3ea9fd5f029ec831a56"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a0be47852d24dd3ea9fd5f029ec831a56">U_SHAPE_SEEN_TWOCELL_NEAR</a>&#160;&#160;&#160;0x200000</td></tr>
<tr class="memdesc:a0be47852d24dd3ea9fd5f029ec831a56"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: the result must have the same length as the source.  <a href="#a0be47852d24dd3ea9fd5f029ec831a56">More...</a><br /></td></tr>
<tr class="separator:a0be47852d24dd3ea9fd5f029ec831a56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae7d634565a9489deb4afd698f09435d4"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#ae7d634565a9489deb4afd698f09435d4">U_SHAPE_SEEN_MASK</a>&#160;&#160;&#160;0x700000</td></tr>
<tr class="memdesc:ae7d634565a9489deb4afd698f09435d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask for Seen memory options.  <a href="#ae7d634565a9489deb4afd698f09435d4">More...</a><br /></td></tr>
<tr class="separator:ae7d634565a9489deb4afd698f09435d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2eb63f2ed694089974d76ba83da25c9"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#ab2eb63f2ed694089974d76ba83da25c9">U_SHAPE_YEHHAMZA_TWOCELL_NEAR</a>&#160;&#160;&#160;0x1000000</td></tr>
<tr class="memdesc:ab2eb63f2ed694089974d76ba83da25c9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: the result must have the same length as the source.  <a href="#ab2eb63f2ed694089974d76ba83da25c9">More...</a><br /></td></tr>
<tr class="separator:ab2eb63f2ed694089974d76ba83da25c9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aabc0cc02c0b88d31f1a53f3c1f5e0740"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#aabc0cc02c0b88d31f1a53f3c1f5e0740">U_SHAPE_YEHHAMZA_MASK</a>&#160;&#160;&#160;0x3800000</td></tr>
<tr class="memdesc:aabc0cc02c0b88d31f1a53f3c1f5e0740"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask for YehHamza memory options.  <a href="#aabc0cc02c0b88d31f1a53f3c1f5e0740">More...</a><br /></td></tr>
<tr class="separator:aabc0cc02c0b88d31f1a53f3c1f5e0740"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14476be839b55f569a46d6e5412d35c3"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a14476be839b55f569a46d6e5412d35c3">U_SHAPE_TASHKEEL_BEGIN</a>&#160;&#160;&#160;0x40000</td></tr>
<tr class="memdesc:a14476be839b55f569a46d6e5412d35c3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: the result must have the same length as the source.  <a href="#a14476be839b55f569a46d6e5412d35c3">More...</a><br /></td></tr>
<tr class="separator:a14476be839b55f569a46d6e5412d35c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa9a5ccf21b70f720239f3bbdd3bd30ed"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#aa9a5ccf21b70f720239f3bbdd3bd30ed">U_SHAPE_TASHKEEL_END</a>&#160;&#160;&#160;0x60000</td></tr>
<tr class="memdesc:aa9a5ccf21b70f720239f3bbdd3bd30ed"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: the result must have the same length as the source.  <a href="#aa9a5ccf21b70f720239f3bbdd3bd30ed">More...</a><br /></td></tr>
<tr class="separator:aa9a5ccf21b70f720239f3bbdd3bd30ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5a123149941ac200596e538dd713fdfb"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a5a123149941ac200596e538dd713fdfb">U_SHAPE_TASHKEEL_RESIZE</a>&#160;&#160;&#160;0x80000</td></tr>
<tr class="memdesc:a5a123149941ac200596e538dd713fdfb"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: allow the result to have a different length than the source.  <a href="#a5a123149941ac200596e538dd713fdfb">More...</a><br /></td></tr>
<tr class="separator:a5a123149941ac200596e538dd713fdfb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbb7c0115c0752d3f79d31db94fdfc24"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#abbb7c0115c0752d3f79d31db94fdfc24">U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL</a>&#160;&#160;&#160;0xC0000</td></tr>
<tr class="memdesc:abbb7c0115c0752d3f79d31db94fdfc24"><td class="mdescLeft">&#160;</td><td class="mdescRight">Memory option: the result must have the same length as the source.  <a href="#abbb7c0115c0752d3f79d31db94fdfc24">More...</a><br /></td></tr>
<tr class="separator:abbb7c0115c0752d3f79d31db94fdfc24"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2023bfdb099970a1eddaed17b65d2092"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a2023bfdb099970a1eddaed17b65d2092">U_SHAPE_TASHKEEL_MASK</a>&#160;&#160;&#160;0xE0000</td></tr>
<tr class="memdesc:a2023bfdb099970a1eddaed17b65d2092"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask for Tashkeel replacement with Space or Tatweel memory options.  <a href="#a2023bfdb099970a1eddaed17b65d2092">More...</a><br /></td></tr>
<tr class="separator:a2023bfdb099970a1eddaed17b65d2092"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adca8805b353d9abfe80b27e2d104a899"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#adca8805b353d9abfe80b27e2d104a899">U_SHAPE_SPACES_RELATIVE_TO_TEXT_BEGIN_END</a>&#160;&#160;&#160;0x4000000</td></tr>
<tr class="memdesc:adca8805b353d9abfe80b27e2d104a899"><td class="mdescLeft">&#160;</td><td class="mdescRight">This option affect the meaning of BEGIN and END options.  <a href="#adca8805b353d9abfe80b27e2d104a899">More...</a><br /></td></tr>
<tr class="separator:adca8805b353d9abfe80b27e2d104a899"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a80c0f9a48e3e40864ba0bdb6bf9480cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a80c0f9a48e3e40864ba0bdb6bf9480cc">U_SHAPE_SPACES_RELATIVE_TO_TEXT_MASK</a>&#160;&#160;&#160;0x4000000</td></tr>
<tr class="memdesc:a80c0f9a48e3e40864ba0bdb6bf9480cc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask for swapping BEGIN and END for Visual LTR text.  <a href="#a80c0f9a48e3e40864ba0bdb6bf9480cc">More...</a><br /></td></tr>
<tr class="separator:a80c0f9a48e3e40864ba0bdb6bf9480cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ad71c805c6440ee9d1598cbb2309978"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a4ad71c805c6440ee9d1598cbb2309978">U_SHAPE_TAIL_NEW_UNICODE</a>&#160;&#160;&#160;0x8000000</td></tr>
<tr class="memdesc:a4ad71c805c6440ee9d1598cbb2309978"><td class="mdescLeft">&#160;</td><td class="mdescRight">If this option is used, shaping will use the new Unicode code point for TAIL (i.e.  <a href="#a4ad71c805c6440ee9d1598cbb2309978">More...</a><br /></td></tr>
<tr class="separator:a4ad71c805c6440ee9d1598cbb2309978"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17d5be962c44c48054775253b08c73fe"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a17d5be962c44c48054775253b08c73fe">U_SHAPE_TAIL_TYPE_MASK</a>&#160;&#160;&#160;0x8000000</td></tr>
<tr class="memdesc:a17d5be962c44c48054775253b08c73fe"><td class="mdescLeft">&#160;</td><td class="mdescRight">Bit mask for new Unicode Tail option.  <a href="#a17d5be962c44c48054775253b08c73fe">More...</a><br /></td></tr>
<tr class="separator:a17d5be962c44c48054775253b08c73fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a1f89291c5a24a50b8f6dcad5eb4668f7"><td class="memItemLeft" align="right" valign="top">int32_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ushape_8h.html#a1f89291c5a24a50b8f6dcad5eb4668f7">u_shapeArabic</a> (const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *source, int32_t sourceLength, <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *dest, int32_t destSize, uint32_t options, <a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *pErrorCode)</td></tr>
<tr class="memdesc:a1f89291c5a24a50b8f6dcad5eb4668f7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Shape Arabic text on a character basis.  <a href="#a1f89291c5a24a50b8f6dcad5eb4668f7">More...</a><br /></td></tr>
<tr class="separator:a1f89291c5a24a50b8f6dcad5eb4668f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>C API: Arabic shaping. </p>

<p>Definition in file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="aa3b28918b5a9c1b597eeb1cf9b04067f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_AGGREGATE_TASHKEEL&#160;&#160;&#160;0x4000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Tashkeel aggregation option: Replaces any combination of U+0651 with one of U+064C, U+064D, U+064E, U+064F, U+0650 with U+FC5E, U+FC5F, U+FC60, U+FC61, U+FC62 consecutively. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002682">Stable:</a></b></dt><dd>ICU 3.6 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00311">311</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a16d0d1f59bc47273fbc7fa358aba981f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_AGGREGATE_TASHKEEL_MASK&#160;&#160;&#160;0x4000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bit mask for tashkeel aggregation. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002684">Stable:</a></b></dt><dd>ICU 3.6 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00315">315</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

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

<p>Tashkeel aggregation option: do not aggregate tashkeels. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002683">Stable:</a></b></dt><dd>ICU 3.6 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00313">313</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

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

<p>Digit type option: Use Arabic-Indic digits (U+0660...U+0669). </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002678">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00293">293</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

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

<p>Digit type option: Use Eastern (Extended) Arabic-Indic digits (U+06f0...U+06f9). </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002679">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00296">296</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a57ba27bfc4ba29dffa3354d1d9ca045f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_DIGIT_TYPE_MASK&#160;&#160;&#160;0x300 /* I need to change this from 0x3f00 to 0x300 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bit mask for digit type options. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002681">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00302">302</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae7a72684ba67ebae3e141c0427736302"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_DIGIT_TYPE_RESERVED&#160;&#160;&#160;0x200</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Not a valid option value. </p>
<p>May be replaced by a new option.</p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002680">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00299">299</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a62280016a9a1e6dae2606e7f4885a293"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_DIGITS_ALEN2AN_INIT_AL&#160;&#160;&#160;0x80</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Digit shaping option: Replace European digits (U+0030...) by Arabic-Indic digits if the most recent strongly directional character is an Arabic letter (<code><a class="el" href="uchar_8h.html#a007e7ad9be3d14528ad22f02f635c178" title="Returns the bidirectional category value for the code point, which is used in the Unicode bidirection...">u_charDirection()</a></code> result <code>U_RIGHT_TO_LEFT_ARABIC</code> [AL]). </p>
<p><br />
 The direction of "preceding" depends on the direction indicator option. For the first characters, the preceding strongly directional character (initial state) is assumed to be an Arabic letter. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002675">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00283">283</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="aaf9e74416ef9eb51078194c75ae58c2b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_DIGITS_ALEN2AN_INIT_LR&#160;&#160;&#160;0x60</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Digit shaping option: Replace European digits (U+0030...) by Arabic-Indic digits if the most recent strongly directional character is an Arabic letter (<code><a class="el" href="uchar_8h.html#a007e7ad9be3d14528ad22f02f635c178" title="Returns the bidirectional category value for the code point, which is used in the Unicode bidirection...">u_charDirection()</a></code> result <code>U_RIGHT_TO_LEFT_ARABIC</code> [AL]). </p>
<p><br />
 The direction of "preceding" depends on the direction indicator option. For the first characters, the preceding strongly directional character (initial state) is assumed to be not an Arabic letter (it is <code>U_LEFT_TO_RIGHT</code> [L] or <code>U_RIGHT_TO_LEFT</code> [R]). </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002674">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00271">271</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab64949486e9c70a4452903d6938d8198"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_DIGITS_AN2EN&#160;&#160;&#160;0x40</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Digit shaping option: Replace Arabic-Indic digits by European digits (U+0030...). </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002673">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00258">258</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="ad2a55f99c617158f846c246bc2d08e0e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_DIGITS_EN2AN&#160;&#160;&#160;0x20</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Digit shaping option: Replace European digits (U+0030...) by Arabic-Indic digits. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002672">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00251">251</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a85ff906eb1189dccac37fda9f801edf5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_DIGITS_MASK&#160;&#160;&#160;0xe0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bit mask for digit shaping options. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002677">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00289">289</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

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

<p>Digit shaping option: do not perform digit shaping. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002671">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00244">244</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="abda4f9060a11b445ceaae095b0ef6e09"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_DIGITS_RESERVED&#160;&#160;&#160;0xa0</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Not a valid option value. </p>
<p>May be replaced by a new option.</p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002676">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00286">286</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a222f9407817a37959cfcd8ee31edaa39"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_LAMALEF_AUTO&#160;&#160;&#160;0x10000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory option: the result must have the same length as the source. </p>
<p>Shaping Mode: For each LAMALEF character found, expand LAMALEF using space at end. If there is no space at end, use spaces at beginning of the buffer. If there is no space at beginning of the buffer, use spaces at the near (i.e. the space after the LAMALEF character). If there are no spaces found, an error U_NO_SPACE_AVAILABLE (as defined in <a class="el" href="utypes_8h.html" title="Basic definitions for ICU, for both C and C++ APIs. ">utypes.h</a>) will be set in pErrorCode</p>
<p>Deshaping Mode: Perform the same function as the flag equals U_SHAPE_LAMALEF_END. Affects: LamAlef options </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002659">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

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

</div>
</div>
<a class="anchor" id="ab006a540a0f924e9e19e194da2f5c2cd"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_LAMALEF_BEGIN&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory option: the result must have the same length as the source. </p>
<p>If more room is necessary, then try to consume spaces at the beginning of the text. Affects: LamAlef options This option is an alias to U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002658">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00168">168</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a16b1f4c076f22c3201877149d8a866d4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_LAMALEF_END&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory option: the result must have the same length as the source. </p>
<p>If more room is necessary, then try to consume spaces at the end of the text. Affects: LamAlef options This option is an alias to U_SHAPE_LENGTH_FIXED_SPACES_AT_END </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002656">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00152">152</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="adf5a64eaf97d100e07be80339f2c13c9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_LAMALEF_MASK&#160;&#160;&#160;0x10003 /* updated */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bit mask for LamAlef memory options. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002661">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00194">194</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4f48efd37560b34e415a755a485519eb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_LAMALEF_NEAR&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory option: the result must have the same length as the source. </p>
<p>If more room is necessary, then try to consume spaces next to modified characters. Affects: LamAlef options This option is an alias to U_SHAPE_LENGTH_FIXED_SPACES_NEAR </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002654">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00136">136</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

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

<p>Memory option: allow the result to have a different length than the source. </p>
<p>Affects: LamAlef options This option is an alias to U_SHAPE_LENGTH_GROW_SHRINK </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002652">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00120">120</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a76a858155800f59a06ea800f66821ed4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_LENGTH_FIXED_SPACES_AT_BEGINNING&#160;&#160;&#160;3</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory option: the result must have the same length as the source. </p>
<p>If more room is necessary, then try to consume spaces at the beginning of the text. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002657">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

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

</div>
</div>
<a class="anchor" id="a1176691c3596d19baad04f9421f8389e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_LENGTH_FIXED_SPACES_AT_END&#160;&#160;&#160;2</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory option: the result must have the same length as the source. </p>
<p>If more room is necessary, then try to consume spaces at the end of the text. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002655">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00143">143</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a56141bf9903c7b5e884d4193d110e7ab"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_LENGTH_FIXED_SPACES_NEAR&#160;&#160;&#160;1</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory option: the result must have the same length as the source. </p>
<p>If more room is necessary, then try to consume spaces next to modified characters. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002653">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00127">127</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

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

<p>Memory option: allow the result to have a different length than the source. </p>
<p>Affects: LamAlef options </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002651">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00112">112</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="ac08849a490c2f229a7dc5e74faf00f33"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_LENGTH_MASK&#160;&#160;&#160;0x10003 /* Changed old value 3 */</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bit mask for memory options. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002660">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00187">187</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5ede249701211173c977a9069d808800"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_LETTERS_MASK&#160;&#160;&#160;0x18</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bit mask for letter shaping options. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002670">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00240">240</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

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

<p>Letter shaping option: do not perform letter shaping. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002666">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00221">221</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae54a10c82b703d47e46655b732e9ee50"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_LETTERS_SHAPE&#160;&#160;&#160;8</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Letter shaping option: replace abstract letter characters by "shaped" ones. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002667">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00224">224</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a147edaa89bc02994a85f99d0eca97dd2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_LETTERS_SHAPE_TASHKEEL_ISOLATED&#160;&#160;&#160;0x18</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Letter shaping option: replace abstract letter characters by "shaped" ones. </p>
<p>The only difference with U_SHAPE_LETTERS_SHAPE is that Tashkeel letters are always "shaped" into the isolated form instead of the medial form (selecting code points from the Arabic Presentation Forms-B block). </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002669">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00236">236</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab5db2793e06b3f711b2413ae43fda338"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_LETTERS_UNSHAPE&#160;&#160;&#160;0x10</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Letter shaping option: replace "shaped" letter characters by abstract ones. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002668">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00227">227</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="af9b205460569cb5d6667ed773bc0c9d5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_PRESERVE_PRESENTATION&#160;&#160;&#160;0x8000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Presentation form option: Don't replace Arabic Presentation Forms-A and Arabic Presentation Forms-B characters with 0+06xx characters, before shaping. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002685">Stable:</a></b></dt><dd>ICU 3.6 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00323">323</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a713bd393961c912cc5af94400b7b6752"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_PRESERVE_PRESENTATION_MASK&#160;&#160;&#160;0x8000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bit mask for preserve presentation form. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002687">Stable:</a></b></dt><dd>ICU 3.6 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00331">331</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

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

<p>Presentation form option: Replace Arabic Presentation Forms-A and Arabic Presentationo Forms-B with their unshaped correspondants in range 0+06xx, before shaping. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002686">Stable:</a></b></dt><dd>ICU 3.6 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00329">329</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="ae7d634565a9489deb4afd698f09435d4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_SEEN_MASK&#160;&#160;&#160;0x700000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bit mask for Seen memory options. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002689">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00352">352</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a0be47852d24dd3ea9fd5f029ec831a56"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_SEEN_TWOCELL_NEAR&#160;&#160;&#160;0x200000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory option: the result must have the same length as the source. </p>
<p>Shaping mode: The SEEN family character will expand into two characters using space near the SEEN family character(i.e. the space after the character). If there are no spaces found, an error U_NO_SPACE_AVAILABLE (as defined in <a class="el" href="utypes_8h.html" title="Basic definitions for ICU, for both C and C++ APIs. ">utypes.h</a>) will be set in pErrorCode</p>
<p>De-shaping mode: Any Seen character followed by Tail character will be replaced by one cell Seen and a space will replace the Tail. Affects: Seen options </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002688">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00346">346</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="adca8805b353d9abfe80b27e2d104a899"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_SPACES_RELATIVE_TO_TEXT_BEGIN_END&#160;&#160;&#160;0x4000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This option affect the meaning of BEGIN and END options. </p>
<p>if this option is not used the default for BEGIN and END will be as following: The Default (for both Visual LTR, Visual RTL and Logical Text)</p><ol type="1">
<li>BEGIN always refers to the start address of physical memory.</li>
<li>END always refers to the end address of physical memory.</li>
</ol>
<p>If this option is used it will swap the meaning of BEGIN and END only for Visual LTR text.</p>
<p>The effect on BEGIN and END Memory Options will be as following: A. BEGIN For Visual LTR text: This will be the beginning (right side) of the visual text( corresponding to the physical memory address end for Visual LTR text, Same as END in default behavior) B. BEGIN For Logical text: Same as BEGIN in default behavior. C. END For Visual LTR text: This will be the end (left side) of the visual text (corresponding to the physical memory address beginning for Visual LTR text, Same as BEGIN in default behavior. D. END For Logical text: Same as END in default behavior). Affects: All LamAlef BEGIN, END and AUTO options. </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002697">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00448">448</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a80c0f9a48e3e40864ba0bdb6bf9480cc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_SPACES_RELATIVE_TO_TEXT_MASK&#160;&#160;&#160;0x4000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bit mask for swapping BEGIN and END for Visual LTR text. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002698">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00454">454</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a4ad71c805c6440ee9d1598cbb2309978"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_TAIL_NEW_UNICODE&#160;&#160;&#160;0x8000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>If this option is used, shaping will use the new Unicode code point for TAIL (i.e. </p>
<p>0xFE73). If this option is not specified (Default), old unofficial Unicode TAIL code point is used (i.e. 0x200B) De-shaping will not use this option as it will always search for both the new Unicode code point for the TAIL (i.e. 0xFE73) or the old unofficial Unicode TAIL code point (i.e. 0x200B) and de-shape the Seen-Family letter accordingly.</p>
<p>Shaping Mode: Only shaping. De-shaping Mode: N/A. Affects: All Seen options </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002699">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00468">468</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a17d5be962c44c48054775253b08c73fe"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_TAIL_TYPE_MASK&#160;&#160;&#160;0x8000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bit mask for new Unicode Tail option. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002700">Stable:</a></b></dt><dd>ICU 4.8 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00474">474</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a14476be839b55f569a46d6e5412d35c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_TASHKEEL_BEGIN&#160;&#160;&#160;0x40000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory option: the result must have the same length as the source. </p>
<p>Shaping mode: Tashkeel characters will be replaced by spaces. Spaces will be placed at beginning of the buffer</p>
<p>De-shaping mode: N/A Affects: Tashkeel options </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002692">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00386">386</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="aa9a5ccf21b70f720239f3bbdd3bd30ed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_TASHKEEL_END&#160;&#160;&#160;0x60000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory option: the result must have the same length as the source. </p>
<p>Shaping mode: Tashkeel characters will be replaced by spaces. Spaces will be placed at end of the buffer</p>
<p>De-shaping mode: N/A Affects: Tashkeel options </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002693">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00397">397</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a2023bfdb099970a1eddaed17b65d2092"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_TASHKEEL_MASK&#160;&#160;&#160;0xE0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bit mask for Tashkeel replacement with Space or Tatweel memory options. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002696">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00424">424</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="abbb7c0115c0752d3f79d31db94fdfc24"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_TASHKEEL_REPLACE_BY_TATWEEL&#160;&#160;&#160;0xC0000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory option: the result must have the same length as the source. </p>
<p>Shaping mode: Tashkeel characters will be replaced by Tatweel if it is connected to adjacent characters (i.e. shaped on Tatweel) or replaced by space if it is not connected.</p>
<p>De-shaping mode: N/A Affects: YehHamza options </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002695">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00418">418</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a5a123149941ac200596e538dd713fdfb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_TASHKEEL_RESIZE&#160;&#160;&#160;0x80000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory option: allow the result to have a different length than the source. </p>
<p>Shaping mode: Tashkeel characters will be removed, buffer length will shrink. De-shaping mode: N/A</p>
<p>Affect: Tashkeel options </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002694">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00407">407</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

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

<p>Direction indicator: the source is in logical (keyboard) order. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002662">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00197">197</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="aead4db716c892f18366202c5d231672a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_TEXT_DIRECTION_MASK&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bit mask for direction indicators. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002665">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00217">217</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="a98b7d5a066c6d71319f911dd0ae0fda4"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_TEXT_DIRECTION_VISUAL_LTR&#160;&#160;&#160;4</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Direction indicator: the source is in visual LTR order, the leftmost displayed character stored first. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002664">Stable:</a></b></dt><dd>ICU 2.0 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00214">214</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

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

<p>Direction indicator: the source is in visual RTL order, the rightmost displayed character stored first. </p>
<p>This option is an alias to U_SHAPE_TEXT_DIRECTION_LOGICAL </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002663">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00206">206</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="aabc0cc02c0b88d31f1a53f3c1f5e0740"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_YEHHAMZA_MASK&#160;&#160;&#160;0x3800000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Bit mask for YehHamza memory options. </p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002691">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00374">374</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<a class="anchor" id="ab2eb63f2ed694089974d76ba83da25c9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_SHAPE_YEHHAMZA_TWOCELL_NEAR&#160;&#160;&#160;0x1000000</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Memory option: the result must have the same length as the source. </p>
<p>Shaping mode: The YEHHAMZA character will expand into two characters using space near it (i.e. the space after the character If there are no spaces found, an error U_NO_SPACE_AVAILABLE (as defined in <a class="el" href="utypes_8h.html" title="Basic definitions for ICU, for both C and C++ APIs. ">utypes.h</a>) will be set in pErrorCode</p>
<p>De-shaping mode: Any Yeh (final or isolated) character followed by Hamza character will be replaced by one cell YehHamza and space will replace the Hamza. Affects: YehHamza options </p><dl class="stable"><dt><b><a class="el" href="stable.html#_stable002690">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p>Definition at line <a class="el" href="ushape_8h_source.html#l00367">367</a> of file <a class="el" href="ushape_8h_source.html">ushape.h</a>.</p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a1f89291c5a24a50b8f6dcad5eb4668f7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int32_t u_shapeArabic </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>source</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>sourceLength</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="umachine_8h.html#a6bb9fad572d65b305324ef288165e2ac">UChar</a> *&#160;</td>
          <td class="paramname"><em>dest</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int32_t&#160;</td>
          <td class="paramname"><em>destSize</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&#160;</td>
          <td class="paramname"><em>options</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="utypes_8h.html#a3343c1c8a8377277046774691c98d78c">UErrorCode</a> *&#160;</td>
          <td class="paramname"><em>pErrorCode</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Shape Arabic text on a character basis. </p>
<p>This function performs basic operations for "shaping" Arabic text. It is most useful for use with legacy data formats and legacy display technology (simple terminals). All operations are performed on Unicode characters.</p>
<p>Text-based shaping means that some character code points in the text are replaced by others depending on the context. It transforms one kind of text into another. In comparison, modern displays for Arabic text select appropriate, context-dependent font glyphs for each text element, which means that they transform text into a glyph vector.</p>
<p>Text transformations are necessary when modern display technology is not available or when text needs to be transformed to or from legacy formats that use "shaped" characters. Since the Arabic script is cursive, connecting adjacent letters to each other, computers select images for each letter based on the surrounding letters. This usually results in four images per Arabic letter: initial, middle, final, and isolated forms. In Unicode, on the other hand, letters are normally stored abstract, and a display system is expected to select the necessary glyphs. (This makes searching and other text processing easier because the same letter has only one code.) It is possible to mimic this with text transformations because there are characters in Unicode that are rendered as letters with a specific shape (or cursive connectivity). They were included for interoperability with legacy systems and codepages, and for unsophisticated display systems.</p>
<p>A second kind of text transformations is supported for Arabic digits: For compatibility with legacy codepages that only include European digits, it is possible to replace one set of digits by another, changing the character code points. These operations can be performed for either Arabic-Indic Digits (U+0660...U+0669) or Eastern (Extended) Arabic-Indic digits (U+06f0...U+06f9).</p>
<p>Some replacements may result in more or fewer characters (code points). By default, this means that the destination buffer may receive text with a length different from the source length. Some legacy systems rely on the length of the text to be constant. They expect extra spaces to be added or consumed either next to the affected character or at the end of the text.</p>
<p>For details about the available operations, see the description of the <code>U_SHAPE_...</code> options.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">source</td><td>The input text.</td></tr>
    <tr><td class="paramname">sourceLength</td><td>The number of UChars in <code>source</code>.</td></tr>
    <tr><td class="paramname">dest</td><td>The destination buffer that will receive the results of the requested operations. It may be <code>NULL</code> only if <code>destSize</code> is 0. The source and destination must not overlap.</td></tr>
    <tr><td class="paramname">destSize</td><td>The size (capacity) of the destination buffer in UChars. If <code>destSize</code> is 0, then no output is produced, but the necessary buffer size is returned ("preflighting").</td></tr>
    <tr><td class="paramname">options</td><td>This is a 32-bit set of flags that specify the operations that are performed on the input text. If no error occurs, then the result will always be written to the destination buffer.</td></tr>
    <tr><td class="paramname">pErrorCode</td><td>must be a valid pointer to an error code value, which must not indicate a failure before the function call.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The number of UChars written to the destination buffer. If an error occured, then no output was written, or it may be incomplete. If <code>U_BUFFER_OVERFLOW_ERROR</code> is set, then the return value indicates the necessary destination buffer size. </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable002650">Stable:</a></b></dt><dd>ICU 2.0 </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.11
</small></address>
</body>
</html>