Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > 6d7587e5535e7142017769f96c14d623 > files > 43

libcaca-devel-0.99-0.beta16.5mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
    <title>libcaca documentation</title>
    <link href="doxygen.css" rel="stylesheet" type="text/css">
  </head>
  <body>
<!-- $Id$ -->
<!-- Generated by Doxygen 1.5.9 -->
<div class="contents">
<h1>libcaca character set conversions</h1><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__charset.html#ge1378ecf06c06b5b0b8065b360be6fb1">caca_utf8_to_utf32</a> (char const *, size_t *)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a UTF-8 character to UTF-32.  <a href="#ge1378ecf06c06b5b0b8065b360be6fb1"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__charset.html#gb9d52a659813d7b145b588cd91dbb51c">caca_utf32_to_utf8</a> (char *, uint32_t)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a UTF-32 character to UTF-8.  <a href="#gb9d52a659813d7b145b588cd91dbb51c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern uint8_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__charset.html#g633016cdd7cf60955816e004345746d9">caca_utf32_to_cp437</a> (uint32_t)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a UTF-32 character to CP437.  <a href="#g633016cdd7cf60955816e004345746d9"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern uint32_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__charset.html#gab52384bdbbe4f508a28f26490d77fbd">caca_cp437_to_utf32</a> (uint8_t)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a CP437 character to UTF-32.  <a href="#gab52384bdbbe4f508a28f26490d77fbd"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__charset.html#g33e76af6286e4c6226a77f4870d588be">caca_utf32_to_ascii</a> (uint32_t)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Convert a UTF-32 character to ASCII.  <a href="#g33e76af6286e4c6226a77f4870d588be"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">__extern int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__charset.html#g5f0a8814bbd8fdb74ea835448ad6f065">caca_utf32_is_fullwidth</a> (uint32_t)</td></tr>

<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tell whether a UTF-32 character is fullwidth.  <a href="#g5f0a8814bbd8fdb74ea835448ad6f065"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
These functions perform conversions between usual character sets. <hr><h2>Function Documentation</h2>
<a class="anchor" name="ge1378ecf06c06b5b0b8065b360be6fb1"></a><!-- doxytag: member="caca.h::caca_utf8_to_utf32" ref="ge1378ecf06c06b5b0b8065b360be6fb1" args="(char const *, size_t *)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern uint32_t caca_utf8_to_utf32           </td>
          <td>(</td>
          <td class="paramtype">char const *&nbsp;</td>
          <td class="paramname"> <em>s</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t *&nbsp;</td>
          <td class="paramname"> <em>bytes</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert a UTF-8 character read from a string and return its value in the UTF-32 character set. If the second argument is not null, the total number of read bytes is written in it.<p>
If a null byte was reached before the expected end of the UTF-8 sequence, this function returns zero and the number of read bytes is set to zero.<p>
This function never fails, but its behaviour with illegal UTF-8 sequences is undefined.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>s</em>&nbsp;</td><td>A string containing the UTF-8 character. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bytes</em>&nbsp;</td><td>A pointer to a size_t to store the number of bytes in the character, or NULL. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The corresponding UTF-32 character, or zero if the character is incomplete. </dd></dl>

<p>Referenced by <a class="el" href="string_8c_source.html#l00220">caca_put_str()</a>.</p>

</div>
</div><p>
<a class="anchor" name="gb9d52a659813d7b145b588cd91dbb51c"></a><!-- doxytag: member="caca.h::caca_utf32_to_utf8" ref="gb9d52a659813d7b145b588cd91dbb51c" args="(char *, uint32_t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern size_t caca_utf32_to_utf8           </td>
          <td>(</td>
          <td class="paramtype">char *&nbsp;</td>
          <td class="paramname"> <em>buf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>ch</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert a UTF-32 character read from a string and write its value in the UTF-8 character set into the given buffer.<p>
This function never fails, but its behaviour with illegal UTF-32 characters is undefined.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>buf</em>&nbsp;</td><td>A pointer to a character buffer where the UTF-8 sequence will be written. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>The UTF-32 character. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The number of bytes written. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g633016cdd7cf60955816e004345746d9"></a><!-- doxytag: member="caca.h::caca_utf32_to_cp437" ref="g633016cdd7cf60955816e004345746d9" args="(uint32_t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern uint8_t caca_utf32_to_cp437           </td>
          <td>(</td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>ch</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert a UTF-32 character read from a string and return its value in the CP437 character set, or "?" if the character has no equivalent.<p>
This function never fails.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>The UTF-32 character. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The corresponding CP437 character, or "?" if not representable. </dd></dl>

</div>
</div><p>
<a class="anchor" name="gab52384bdbbe4f508a28f26490d77fbd"></a><!-- doxytag: member="caca.h::caca_cp437_to_utf32" ref="gab52384bdbbe4f508a28f26490d77fbd" args="(uint8_t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern uint32_t caca_cp437_to_utf32           </td>
          <td>(</td>
          <td class="paramtype">uint8_t&nbsp;</td>
          <td class="paramname"> <em>ch</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert a CP437 character read from a string and return its value in the UTF-32 character set, or zero if the character is a CP437 control character.<p>
This function never fails.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>The CP437 character. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The corresponding UTF-32 character, or zero if not representable. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g33e76af6286e4c6226a77f4870d588be"></a><!-- doxytag: member="caca.h::caca_utf32_to_ascii" ref="g33e76af6286e4c6226a77f4870d588be" args="(uint32_t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern char caca_utf32_to_ascii           </td>
          <td>(</td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>ch</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Convert a UTF-32 character into an ASCII character. When no equivalent exists, a graphically close equivalent is sought.<p>
This function never fails, but its behaviour with illegal UTF-32 characters is undefined.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>The UTF-32 character. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>The corresponding ASCII character, or a graphically close equivalent if found, or "?" if not representable. </dd></dl>

</div>
</div><p>
<a class="anchor" name="g5f0a8814bbd8fdb74ea835448ad6f065"></a><!-- doxytag: member="caca.h::caca_utf32_is_fullwidth" ref="g5f0a8814bbd8fdb74ea835448ad6f065" args="(uint32_t)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">__extern int caca_utf32_is_fullwidth           </td>
          <td>(</td>
          <td class="paramtype">uint32_t&nbsp;</td>
          <td class="paramname"> <em>ch</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Check whether the given UTF-32 character should be printed at twice the normal width (fullwidth characters). If the character is unknown or if its status cannot be decided, it is treated as a standard-width character.<p>
This function never fails.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ch</em>&nbsp;</td><td>The UTF-32 character. </td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the character is fullwidth, 0 otherwise. </dd></dl>

<p>Referenced by <a class="el" href="string_8c_source.html#l00112">caca_put_char()</a>, and <a class="el" href="string_8c_source.html#l00220">caca_put_str()</a>.</p>

</div>
</div><p>
</div>
<!-- $Id$ -->
  </body>
</html>