404 Not Found


nginx
beegazpacho.com - GrazzMean
Uname: Linux in-mum-web1557.main-hosting.eu 5.14.0-503.35.1.el9_5.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Apr 4 05:23:43 EDT 2025 x86_64
Software: LiteSpeed
PHP version: 8.2.30 [ PHP INFO ] PHP os: Linux
Server Ip: 93.127.173.82
Your Ip: 216.73.216.168
User: u848900432 (848900432) | Group: o51372345 (1051372345)
Safe Mode: OFF
Disable Function:
NONE

name : utf_8h.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://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.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>ICU 77.1: common/unicode/utf.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.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 77.1
   &#160;<span id="projectnumber">77.1</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

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

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="dir_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_f59c6450ff718ff1b085cfd1c36acbd7.html">unicode</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#define-members">Macros</a>  </div>
  <div class="headertitle">
<div class="title">utf.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>C API: Code point macros.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &quot;<a class="el" href="umachine_8h_source.html">unicode/umachine.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="utf8_8h_source.html">unicode/utf8.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="utf16_8h_source.html">unicode/utf16.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="utf__old_8h_source.html">unicode/utf_old.h</a>&quot;</code><br />
</div>
<p><a href="utf_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:a7d794df2276384e748f2836b25b58f7d"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utf_8h.html#a7d794df2276384e748f2836b25b58f7d">U_IS_UNICODE_NONCHAR</a>(c)</td></tr>
<tr class="memdesc:a7d794df2276384e748f2836b25b58f7d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this code point a Unicode noncharacter?  <a href="utf_8h.html#a7d794df2276384e748f2836b25b58f7d">More...</a><br /></td></tr>
<tr class="separator:a7d794df2276384e748f2836b25b58f7d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd1d72b6c7a8a90ad13cdf5a4553ca3a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utf_8h.html#acd1d72b6c7a8a90ad13cdf5a4553ca3a">U_IS_UNICODE_CHAR</a>(c)</td></tr>
<tr class="memdesc:acd1d72b6c7a8a90ad13cdf5a4553ca3a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is c a Unicode code point value (0..U+10ffff) that can be assigned a character?  <a href="utf_8h.html#acd1d72b6c7a8a90ad13cdf5a4553ca3a">More...</a><br /></td></tr>
<tr class="separator:acd1d72b6c7a8a90ad13cdf5a4553ca3a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af61a68e47f2001bc1e9eca44b57f16d0"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utf_8h.html#af61a68e47f2001bc1e9eca44b57f16d0">U_IS_BMP</a>(c)&#160;&#160;&#160;((uint32_t)(c)&lt;=0xffff)</td></tr>
<tr class="memdesc:af61a68e47f2001bc1e9eca44b57f16d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this code point a BMP code point (U+0000..U+ffff)?  <a href="utf_8h.html#af61a68e47f2001bc1e9eca44b57f16d0">More...</a><br /></td></tr>
<tr class="separator:af61a68e47f2001bc1e9eca44b57f16d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3e17136e0bf04c8cc2abeea275bde094"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utf_8h.html#a3e17136e0bf04c8cc2abeea275bde094">U_IS_SUPPLEMENTARY</a>(c)&#160;&#160;&#160;((uint32_t)((c)-0x10000)&lt;=0xfffff)</td></tr>
<tr class="memdesc:a3e17136e0bf04c8cc2abeea275bde094"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this code point a supplementary code point (U+10000..U+10ffff)?  <a href="utf_8h.html#a3e17136e0bf04c8cc2abeea275bde094">More...</a><br /></td></tr>
<tr class="separator:a3e17136e0bf04c8cc2abeea275bde094"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c2a23cf4c14a0c89070319b76e0bc58"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utf_8h.html#a8c2a23cf4c14a0c89070319b76e0bc58">U_IS_LEAD</a>(c)&#160;&#160;&#160;(((c)&amp;0xfffffc00)==0xd800)</td></tr>
<tr class="memdesc:a8c2a23cf4c14a0c89070319b76e0bc58"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this code point a lead surrogate (U+d800..U+dbff)?  <a href="utf_8h.html#a8c2a23cf4c14a0c89070319b76e0bc58">More...</a><br /></td></tr>
<tr class="separator:a8c2a23cf4c14a0c89070319b76e0bc58"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae37493f4f0e5cbec5cdb0e85ba456b65"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utf_8h.html#ae37493f4f0e5cbec5cdb0e85ba456b65">U_IS_TRAIL</a>(c)&#160;&#160;&#160;(((c)&amp;0xfffffc00)==0xdc00)</td></tr>
<tr class="memdesc:ae37493f4f0e5cbec5cdb0e85ba456b65"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this code point a trail surrogate (U+dc00..U+dfff)?  <a href="utf_8h.html#ae37493f4f0e5cbec5cdb0e85ba456b65">More...</a><br /></td></tr>
<tr class="separator:ae37493f4f0e5cbec5cdb0e85ba456b65"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ec1c520a06d1e8e3ca431a2ff8e6b02"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utf_8h.html#a0ec1c520a06d1e8e3ca431a2ff8e6b02">U_IS_SURROGATE</a>(c)&#160;&#160;&#160;(((c)&amp;0xfffff800)==0xd800)</td></tr>
<tr class="memdesc:a0ec1c520a06d1e8e3ca431a2ff8e6b02"><td class="mdescLeft">&#160;</td><td class="mdescRight">Is this code point a surrogate (U+d800..U+dfff)?  <a href="utf_8h.html#a0ec1c520a06d1e8e3ca431a2ff8e6b02">More...</a><br /></td></tr>
<tr class="separator:a0ec1c520a06d1e8e3ca431a2ff8e6b02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab5f635b25601604c9a5f826fbd87c1aa"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utf_8h.html#ab5f635b25601604c9a5f826fbd87c1aa">U_IS_SURROGATE_LEAD</a>(c)&#160;&#160;&#160;(((c)&amp;0x400)==0)</td></tr>
<tr class="memdesc:ab5f635b25601604c9a5f826fbd87c1aa"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assuming c is a surrogate code point (<a class="el" href="utf_8h.html#a0ec1c520a06d1e8e3ca431a2ff8e6b02" title="Is this code point a surrogate (U+d800..U+dfff)?">U_IS_SURROGATE(c)</a>), is it a lead surrogate?  <a href="utf_8h.html#ab5f635b25601604c9a5f826fbd87c1aa">More...</a><br /></td></tr>
<tr class="separator:ab5f635b25601604c9a5f826fbd87c1aa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ace975c9d1f75c650e035539fabc23883"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="utf_8h.html#ace975c9d1f75c650e035539fabc23883">U_IS_SURROGATE_TRAIL</a>(c)&#160;&#160;&#160;(((c)&amp;0x400)!=0)</td></tr>
<tr class="memdesc:ace975c9d1f75c650e035539fabc23883"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assuming c is a surrogate code point (<a class="el" href="utf_8h.html#a0ec1c520a06d1e8e3ca431a2ff8e6b02" title="Is this code point a surrogate (U+d800..U+dfff)?">U_IS_SURROGATE(c)</a>), is it a trail surrogate?  <a href="utf_8h.html#ace975c9d1f75c650e035539fabc23883">More...</a><br /></td></tr>
<tr class="separator:ace975c9d1f75c650e035539fabc23883"><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: Code point macros. </p>
<p>This file defines macros for checking whether a code point is a surrogate or a non-character etc.</p>
<p>If U_NO_DEFAULT_INCLUDE_UTF_HEADERS is 0 then <a class="el" href="utf_8h.html" title="C API: Code point macros.">utf.h</a> is included by <a class="el" href="utypes_8h.html" title="Basic definitions for ICU, for both C and C++ APIs.">utypes.h</a> and itself includes <a class="el" href="utf8_8h.html" title="C API: 8-bit Unicode handling macros.">utf8.h</a> and <a class="el" href="utf16_8h.html" title="C API: 16-bit Unicode handling macros.">utf16.h</a> after some common definitions. If U_NO_DEFAULT_INCLUDE_UTF_HEADERS is 1 then each of these headers must be included explicitly if their definitions are used.</p>
<p><a class="el" href="utf8_8h.html" title="C API: 8-bit Unicode handling macros.">utf8.h</a> and <a class="el" href="utf16_8h.html" title="C API: 16-bit Unicode handling macros.">utf16.h</a> define macros for efficiently getting code points in and out of UTF-8/16 strings. <a class="el" href="utf16_8h.html" title="C API: 16-bit Unicode handling macros.">utf16.h</a> macros have "U16_" prefixes. <a class="el" href="utf8_8h.html" title="C API: 8-bit Unicode handling macros.">utf8.h</a> defines similar macros with "U8_" prefixes for UTF-8 string handling.</p>
<p>ICU mostly processes 16-bit Unicode strings. Most of the time, such strings are well-formed UTF-16. Single, unpaired surrogates must be handled as well, and are treated in ICU like regular code points where possible. (Pairs of surrogate code points are indistinguishable from supplementary code points encoded as pairs of supplementary code units.)</p>
<p>In fact, almost all Unicode code points in normal text (&gt;99%) are on the BMP (&lt;=U+ffff) and even &lt;=U+d7ff. ICU functions handle supplementary code points (U+10000..U+10ffff) but are optimized for the much more frequently occurring BMP code points.</p>
<p><a class="el" href="umachine_8h.html" title="Basic types and constants for UTF.">umachine.h</a> defines UChar to be an unsigned 16-bit integer. Since ICU 59, ICU uses char16_t in C++, UChar only in C, and defines UChar=char16_t by default. See the UChar API docs for details.</p>
<p>UChar32 is defined to be a signed 32-bit integer (int32_t), large enough for a 21-bit Unicode code point (Unicode scalar value, 0..0x10ffff) and U_SENTINEL (-1). Before ICU 2.4, the definition of UChar32 was similarly platform-dependent as the definition of UChar. For details see the documentation for UChar32 itself.</p>
<p><a class="el" href="utf_8h.html" title="C API: Code point macros.">utf.h</a> defines a small number of C macros for single Unicode code points. These are simple checks for surrogates and non-characters. For actual Unicode character properties see <a class="el" href="uchar_8h.html" title="C API: Unicode Properties.">uchar.h</a>.</p>
<p>By default, string operations must be done with error checking in case a string is not well-formed UTF-16 or UTF-8.</p>
<p>The U16_ macros detect if a surrogate code unit is unpaired (lead unit without trail unit or vice versa) and just return the unit itself as the code point.</p>
<p>The U8_ macros detect illegal byte sequences and return a negative value. Starting with ICU 60, the observable length of a single illegal byte sequence skipped by one of these macros follows the Unicode 6+ recommendation which is consistent with the W3C Encoding Standard.</p>
<p>There are ..._OR_FFFD versions of both U16_ and U8_ macros that return U+FFFD for illegal code unit sequences.</p>
<p>The regular "safe" macros require that the initial, passed-in string index is within bounds. They only check the index when they read more than one code unit. This is usually done with code similar to the following loop: </p><pre>while(i&lt;length) {
  <a class="el" href="utf16_8h.html#a844bb48486904fdca40c8b883e9c80ee" title="Get a code point from a string at a code point boundary offset, and advance the offset to the next co...">U16_NEXT(s, i, length, c)</a>;
  // use c
}</pre><p>When it is safe to assume that text is well-formed UTF-16 (does not contain single, unpaired surrogates), then one can use U16_..._UNSAFE macros. These do not check for proper code unit sequences or truncated text and may yield wrong results or even cause a crash if they are used with "malformed" text. In practice, U16_..._UNSAFE macros will produce slightly less code but should not be faster because the processing is only different when a surrogate code unit is detected, which will be rare.</p>
<p>Similarly for UTF-8, there are "safe" macros without a suffix, and U8_..._UNSAFE versions. The performance differences are much larger here because UTF-8 provides so many opportunities for malformed sequences. The unsafe UTF-8 macros are entirely implemented inside the macro definitions and are fast, while the safe UTF-8 macros call functions for some complicated cases.</p>
<p>Unlike with UTF-16, malformed sequences cannot be expressed with distinct code point values (0..U+10ffff). They are indicated with negative values instead.</p>
<p>For more information see the ICU User Guide Strings chapter (<a href="https://unicode-org.github.io/icu/userguide/strings">https://unicode-org.github.io/icu/userguide/strings</a>).</p>
<p><em>Usage:</em> ICU coding guidelines for if() statements should be followed when using these macros. Compound statements (curly braces {}) must be used for if-else-while... bodies and all macro statements should be terminated with semicolon.</p>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003417">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

<p class="definition">Definition in file <a class="el" href="utf_8h_source.html">utf.h</a>.</p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a id="af61a68e47f2001bc1e9eca44b57f16d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af61a68e47f2001bc1e9eca44b57f16d0">&#9670;&nbsp;</a></span>U_IS_BMP</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_IS_BMP</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c</td><td>)</td>
          <td>&#160;&#160;&#160;((uint32_t)(c)&lt;=0xffff)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Is this code point a BMP code point (U+0000..U+ffff)? </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>32-bit code point </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true or false </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003420">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

<p class="definition">Definition at line <a class="el" href="utf_8h_source.html#l00161">161</a> of file <a class="el" href="utf_8h_source.html">utf.h</a>.</p>

</div>
</div>
<a id="a8c2a23cf4c14a0c89070319b76e0bc58"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c2a23cf4c14a0c89070319b76e0bc58">&#9670;&nbsp;</a></span>U_IS_LEAD</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_IS_LEAD</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c</td><td>)</td>
          <td>&#160;&#160;&#160;(((c)&amp;0xfffffc00)==0xd800)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Is this code point a lead surrogate (U+d800..U+dbff)? </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>32-bit code point </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true or false </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003422">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

<p class="definition">Definition at line <a class="el" href="utf_8h_source.html#l00177">177</a> of file <a class="el" href="utf_8h_source.html">utf.h</a>.</p>

</div>
</div>
<a id="a3e17136e0bf04c8cc2abeea275bde094"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3e17136e0bf04c8cc2abeea275bde094">&#9670;&nbsp;</a></span>U_IS_SUPPLEMENTARY</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_IS_SUPPLEMENTARY</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c</td><td>)</td>
          <td>&#160;&#160;&#160;((uint32_t)((c)-0x10000)&lt;=0xfffff)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Is this code point a supplementary code point (U+10000..U+10ffff)? </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>32-bit code point </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true or false </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003421">Stable:</a></b></dt><dd>ICU 2.8 </dd></dl>

<p class="definition">Definition at line <a class="el" href="utf_8h_source.html#l00169">169</a> of file <a class="el" href="utf_8h_source.html">utf.h</a>.</p>

</div>
</div>
<a id="a0ec1c520a06d1e8e3ca431a2ff8e6b02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ec1c520a06d1e8e3ca431a2ff8e6b02">&#9670;&nbsp;</a></span>U_IS_SURROGATE</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_IS_SURROGATE</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c</td><td>)</td>
          <td>&#160;&#160;&#160;(((c)&amp;0xfffff800)==0xd800)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Is this code point a surrogate (U+d800..U+dfff)? </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>32-bit code point </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true or false </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003424">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

<p class="definition">Definition at line <a class="el" href="utf_8h_source.html#l00193">193</a> of file <a class="el" href="utf_8h_source.html">utf.h</a>.</p>

</div>
</div>
<a id="ab5f635b25601604c9a5f826fbd87c1aa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab5f635b25601604c9a5f826fbd87c1aa">&#9670;&nbsp;</a></span>U_IS_SURROGATE_LEAD</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_IS_SURROGATE_LEAD</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c</td><td>)</td>
          <td>&#160;&#160;&#160;(((c)&amp;0x400)==0)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assuming c is a surrogate code point (<a class="el" href="utf_8h.html#a0ec1c520a06d1e8e3ca431a2ff8e6b02" title="Is this code point a surrogate (U+d800..U+dfff)?">U_IS_SURROGATE(c)</a>), is it a lead surrogate? </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>32-bit code point </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true or false </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003425">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

<p class="definition">Definition at line <a class="el" href="utf_8h_source.html#l00202">202</a> of file <a class="el" href="utf_8h_source.html">utf.h</a>.</p>

</div>
</div>
<a id="ace975c9d1f75c650e035539fabc23883"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ace975c9d1f75c650e035539fabc23883">&#9670;&nbsp;</a></span>U_IS_SURROGATE_TRAIL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_IS_SURROGATE_TRAIL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c</td><td>)</td>
          <td>&#160;&#160;&#160;(((c)&amp;0x400)!=0)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Assuming c is a surrogate code point (<a class="el" href="utf_8h.html#a0ec1c520a06d1e8e3ca431a2ff8e6b02" title="Is this code point a surrogate (U+d800..U+dfff)?">U_IS_SURROGATE(c)</a>), is it a trail surrogate? </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>32-bit code point </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true or false </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003426">Stable:</a></b></dt><dd>ICU 4.2 </dd></dl>

<p class="definition">Definition at line <a class="el" href="utf_8h_source.html#l00211">211</a> of file <a class="el" href="utf_8h_source.html">utf.h</a>.</p>

</div>
</div>
<a id="ae37493f4f0e5cbec5cdb0e85ba456b65"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae37493f4f0e5cbec5cdb0e85ba456b65">&#9670;&nbsp;</a></span>U_IS_TRAIL</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_IS_TRAIL</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c</td><td>)</td>
          <td>&#160;&#160;&#160;(((c)&amp;0xfffffc00)==0xdc00)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Is this code point a trail surrogate (U+dc00..U+dfff)? </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>32-bit code point </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true or false </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003423">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

<p class="definition">Definition at line <a class="el" href="utf_8h_source.html#l00185">185</a> of file <a class="el" href="utf_8h_source.html">utf.h</a>.</p>

</div>
</div>
<a id="acd1d72b6c7a8a90ad13cdf5a4553ca3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acd1d72b6c7a8a90ad13cdf5a4553ca3a">&#9670;&nbsp;</a></span>U_IS_UNICODE_CHAR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_IS_UNICODE_CHAR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">    ((uint32_t)(c)&lt;0xd800 || \</div>
<div class="line">        (0xdfff&lt;(c) &amp;&amp; (c)&lt;=0x10ffff &amp;&amp; !<a class="code" href="utf_8h.html#a7d794df2276384e748f2836b25b58f7d">U_IS_UNICODE_NONCHAR</a>(c)))</div>
<div class="ttc" id="autf_8h_html_a7d794df2276384e748f2836b25b58f7d"><div class="ttname"><a href="utf_8h.html#a7d794df2276384e748f2836b25b58f7d">U_IS_UNICODE_NONCHAR</a></div><div class="ttdeci">#define U_IS_UNICODE_NONCHAR(c)</div><div class="ttdoc">Is this code point a Unicode noncharacter?</div><div class="ttdef"><b>Definition:</b> <a href="utf_8h_source.html#l00130">utf.h:130</a></div></div>
</div><!-- fragment -->
<p>Is c a Unicode code point value (0..U+10ffff) that can be assigned a character? </p>
<p>Code points that are not characters include:</p><ul>
<li>single surrogate code points (U+d800..U+dfff, 2048 code points)</li>
<li>the last two code points on each plane (U+__fffe and U+__ffff, 34 code points)</li>
<li>U+fdd0..U+fdef (new with Unicode 3.1, 32 code points)</li>
<li>the highest Unicode code point value is U+10ffff</li>
</ul>
<p>This means that all code points below U+d800 are character code points, and that boundary is tested first for performance.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>32-bit code point </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true or false </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003419">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

<p class="definition">Definition at line <a class="el" href="utf_8h_source.html#l00151">151</a> of file <a class="el" href="utf_8h_source.html">utf.h</a>.</p>

</div>
</div>
<a id="a7d794df2276384e748f2836b25b58f7d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d794df2276384e748f2836b25b58f7d">&#9670;&nbsp;</a></span>U_IS_UNICODE_NONCHAR</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define U_IS_UNICODE_NONCHAR</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c</td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">    ((c)&gt;=0xfdd0 &amp;&amp; \</div>
<div class="line">     ((c)&lt;=0xfdef || ((c)&amp;0xfffe)==0xfffe) &amp;&amp; (c)&lt;=0x10ffff)</div>
</div><!-- fragment -->
<p>Is this code point a Unicode noncharacter? </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">c</td><td>32-bit code point </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>true or false </dd></dl>
<dl class="stable"><dt><b><a class="el" href="stable.html#_stable003418">Stable:</a></b></dt><dd>ICU 2.4 </dd></dl>

<p class="definition">Definition at line <a class="el" href="utf_8h_source.html#l00130">130</a> of file <a class="el" href="utf_8h_source.html">utf.h</a>.</p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1
</small></address>
</body>
</html>
© 2026 GrazzMean
Beegazpacho


Let’s  Start  Your  Online  Journey  with  Beegazpacho 

Welcome to Beegazpacho,
where creativity meets strategy,
and innovation drives success.


Contact
Now


OUR CLIENTS

WhatsApp-Image-2021-12-06.png
Untitled-design-11.png
niaf-logo.png
20220406-163308-scaled.jpg
karchi-logo.png
20220405-171252.png
20220405-171309.png
20220321-161603.png
20220321-161611.png
20220321-161628.png
20220321-161244.png
20220321-161256.png
20220321-161450.png
20220321-161205.png
20220226-170222.png
20220321-161051.png
20211202-170852.png
Untitled-design-9
pidilite-png-logo-colour
logo-black-e1706125740216-qisosldqhzgcaerhdt6n4t3m4s50jr0iik48z0h5vk
Fraikin-Dayim-logo-1
hpcl-logo-2-1
services

Transforming Ideas into
Success

.01
Digital Marketing

We drive growth through data-driven strategies and cutting-edge techniques.

Learn More

.02
SEO

Improve your online visibility and rank higher on search engines with our expert SEO services.

Learn More

.03
Website Designing

We design websites that are not only visually stunning but also user-centric, ensuring seamless navigation and enhanced user experience.

Learn More

.04
App Development

Our apps are crafted to be intuitive, engaging, and functional, providing your users with an exceptional mobile experience.

Learn More

.05
Social Media Ads

Target the right audience with precision and creativity to maximize engagement and conversions.

Learn More

.06
Google Ads

Maximize ROI with precision-targeted campaigns on Google’s powerful ad platform.

Learn More

.07
Google My Business

Optimize your local presence with strategies that put your business on the map and attract more customers.

Learn More

.08
Graphic Designing

Our designs tell your brand’s story in a visually compelling way.

Learn More

.09
3D Videos

Bring your product to life with immersive and dynamic 3D explainer videos.

Learn More

about BEEGAZPACHO

creating special Things
For special brands

Join the ranks of successful brands by partnering with Beegazpacho

00+

Happy Customer

00+

Continents

Our vision is not just to be a service provider but to be your partner in growth. We see ourselves as an extension of your team, working tirelessly to ensure that your brand not only meets its goals but surpasses them.

Explore
more

Our Recent Work

Crafted with Passion and Precision

Connect now


Web Design
Design, Development & Identity

Logo Design
Design, Development & Identity

Creative Brand design
Design, Development & Identity

Product Design Marketing
Design, Development & Identity

DIGITAL MARKETING
SEO
WEBSITE DESIGNING
APP DEVELOPMENT
SOCIAL MEDIA ADS
GOOGLE ADS
GOOGLE MY BUSINESS
GRAPHIC DESINING
3D VIDEOS
Client Stories

Hear It from Those Who Know Us Best

Our clients’ success stories speak volumes about our commitment to excellence. Don’t just take our word for it—hear directly from the brands we’ve partnered with. Their testimonials highlight our ability to bring visions to life and create a lasting impact on their businesses.

“Beegazpacho feels like an extension of our team. Their content marketing and social media expertise have elevated our brand. They listen, adapt, and always deliver on time. We look forward to continuing this partnership.”

— Sarah Williams

Head of Marketing, GreenPlanet Apparel

“Beegazpacho’s data-driven strategies helped us improve our online ads, optimize our website, and enhance branding. We’ve seen great ROI and increased visibility. Their professionalism is unmatched.”

— Arvind Shah

CEO, InnovateTech Solutions

“Partnering with Beegazpacho has been a game-changer for our brand. Their creative ad campaigns and SEO services have boosted our online presence and significantly increased leads and sales. We couldn’t ask for a better partner!”

— Rina Kapoor

Marketing Director, Luxury Home Interiors

“Beegazpacho feels like an extension of our team. Their content marketing and social media expertise have elevated our brand. They listen, adapt, and always deliver on time. We look forward to continuing this partnership.”

— Sarah Williams

Head of Marketing, GreenPlanet Apparel

“Beegazpacho’s data-driven strategies helped us improve our online ads, optimize our website, and enhance branding. We’ve seen great ROI and increased visibility. Their professionalism is unmatched.”

— Arvind Shah

CEO, InnovateTech Solutions

“Partnering with Beegazpacho has been a game-changer for our brand. Their creative ad campaigns and SEO services have boosted our online presence and significantly increased leads and sales. We couldn’t ask for a better partner!”

— Rina Kapoor

Marketing Director, Luxury Home Interiors