<!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> <!-- Generated by Doxygen 1.8.13 --> </div><!-- top --> <div class="header"> <div class="summary"> <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">libcaca character set conversions</div> </div> </div><!--header--> <div class="contents"> <table class="memberdecls"> <tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a> Functions</h2></td></tr> <tr class="memitem:gae1378ecf06c06b5b0b8065b360be6fb1"><td class="memItemLeft" align="right" valign="top">__extern uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__charset.html#gae1378ecf06c06b5b0b8065b360be6fb1">caca_utf8_to_utf32</a> (char const *, size_t *)</td></tr> <tr class="memdesc:gae1378ecf06c06b5b0b8065b360be6fb1"><td class="mdescLeft"> </td><td class="mdescRight">Convert a UTF-8 character to UTF-32. <a href="#gae1378ecf06c06b5b0b8065b360be6fb1">More...</a><br /></td></tr> <tr class="separator:gae1378ecf06c06b5b0b8065b360be6fb1"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gab9d52a659813d7b145b588cd91dbb51c"><td class="memItemLeft" align="right" valign="top">__extern size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__charset.html#gab9d52a659813d7b145b588cd91dbb51c">caca_utf32_to_utf8</a> (char *, uint32_t)</td></tr> <tr class="memdesc:gab9d52a659813d7b145b588cd91dbb51c"><td class="mdescLeft"> </td><td class="mdescRight">Convert a UTF-32 character to UTF-8. <a href="#gab9d52a659813d7b145b588cd91dbb51c">More...</a><br /></td></tr> <tr class="separator:gab9d52a659813d7b145b588cd91dbb51c"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga633016cdd7cf60955816e004345746d9"><td class="memItemLeft" align="right" valign="top">__extern uint8_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__charset.html#ga633016cdd7cf60955816e004345746d9">caca_utf32_to_cp437</a> (uint32_t)</td></tr> <tr class="memdesc:ga633016cdd7cf60955816e004345746d9"><td class="mdescLeft"> </td><td class="mdescRight">Convert a UTF-32 character to CP437. <a href="#ga633016cdd7cf60955816e004345746d9">More...</a><br /></td></tr> <tr class="separator:ga633016cdd7cf60955816e004345746d9"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:gaab52384bdbbe4f508a28f26490d77fbd"><td class="memItemLeft" align="right" valign="top">__extern uint32_t </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__charset.html#gaab52384bdbbe4f508a28f26490d77fbd">caca_cp437_to_utf32</a> (uint8_t)</td></tr> <tr class="memdesc:gaab52384bdbbe4f508a28f26490d77fbd"><td class="mdescLeft"> </td><td class="mdescRight">Convert a CP437 character to UTF-32. <a href="#gaab52384bdbbe4f508a28f26490d77fbd">More...</a><br /></td></tr> <tr class="separator:gaab52384bdbbe4f508a28f26490d77fbd"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga33e76af6286e4c6226a77f4870d588be"><td class="memItemLeft" align="right" valign="top">__extern char </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__charset.html#ga33e76af6286e4c6226a77f4870d588be">caca_utf32_to_ascii</a> (uint32_t)</td></tr> <tr class="memdesc:ga33e76af6286e4c6226a77f4870d588be"><td class="mdescLeft"> </td><td class="mdescRight">Convert a UTF-32 character to ASCII. <a href="#ga33e76af6286e4c6226a77f4870d588be">More...</a><br /></td></tr> <tr class="separator:ga33e76af6286e4c6226a77f4870d588be"><td class="memSeparator" colspan="2"> </td></tr> <tr class="memitem:ga5f0a8814bbd8fdb74ea835448ad6f065"><td class="memItemLeft" align="right" valign="top">__extern int </td><td class="memItemRight" valign="bottom"><a class="el" href="group__caca__charset.html#ga5f0a8814bbd8fdb74ea835448ad6f065">caca_utf32_is_fullwidth</a> (uint32_t)</td></tr> <tr class="memdesc:ga5f0a8814bbd8fdb74ea835448ad6f065"><td class="mdescLeft"> </td><td class="mdescRight">Tell whether a UTF-32 character is fullwidth. <a href="#ga5f0a8814bbd8fdb74ea835448ad6f065">More...</a><br /></td></tr> <tr class="separator:ga5f0a8814bbd8fdb74ea835448ad6f065"><td class="memSeparator" colspan="2"> </td></tr> </table> <a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2> <p>These functions perform conversions between usual character sets. </p> <h2 class="groupheader">Function Documentation</h2> <a id="gae1378ecf06c06b5b0b8065b360be6fb1"></a> <h2 class="memtitle"><span class="permalink"><a href="#gae1378ecf06c06b5b0b8065b360be6fb1">◆ </a></span>caca_utf8_to_utf32()</h2> <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 * </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t * </td> <td class="paramname"><em>bytes</em> </td> </tr> <tr> <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> <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> <p>This function never fails, but its behaviour with illegal UTF-8 sequences is undefined.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>A string containing the UTF-8 character. </td></tr> <tr><td class="paramname">bytes</td><td>A pointer to a size_t to store the number of bytes in the character, or NULL. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The corresponding UTF-32 character, or zero if the character is incomplete. </dd></dl> <p class="reference">Referenced by <a class="el" href="group__caca__figfont.html#gad86d0785a97d54ebe796dcda02d7900f">caca_flush_figlet()</a>, <a class="el" href="group__caca__canvas.html#gac9370c0854f358b88d0cb8caf07fb6d3">caca_put_str()</a>, and <a class="el" href="group__caca__charset.html#ga5f0a8814bbd8fdb74ea835448ad6f065">caca_utf32_is_fullwidth()</a>.</p> </div> </div> <a id="gab9d52a659813d7b145b588cd91dbb51c"></a> <h2 class="memtitle"><span class="permalink"><a href="#gab9d52a659813d7b145b588cd91dbb51c">◆ </a></span>caca_utf32_to_utf8()</h2> <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 * </td> <td class="paramname"><em>buf</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">uint32_t </td> <td class="paramname"><em>ch</em> </td> </tr> <tr> <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> <p>This function never fails, but its behaviour with illegal UTF-32 characters is undefined.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">buf</td><td>A pointer to a character buffer where the UTF-8 sequence will be written. </td></tr> <tr><td class="paramname">ch</td><td>The UTF-32 character. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The number of bytes written. </dd></dl> <p class="reference">Referenced by <a class="el" href="group__caca__importexport.html#ga264bcf9f821d67f33bd5ee5aa5e048a0">caca_get_export_list()</a>, and <a class="el" href="group__caca__charset.html#ga5f0a8814bbd8fdb74ea835448ad6f065">caca_utf32_is_fullwidth()</a>.</p> </div> </div> <a id="ga633016cdd7cf60955816e004345746d9"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga633016cdd7cf60955816e004345746d9">◆ </a></span>caca_utf32_to_cp437()</h2> <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 </td> <td class="paramname"><em>ch</em></td><td>)</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> <p>This function never fails.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ch</td><td>The UTF-32 character. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The corresponding CP437 character, or "?" if not representable. </dd></dl> <p class="reference">Referenced by <a class="el" href="group__caca__charset.html#ga5f0a8814bbd8fdb74ea835448ad6f065">caca_utf32_is_fullwidth()</a>.</p> </div> </div> <a id="gaab52384bdbbe4f508a28f26490d77fbd"></a> <h2 class="memtitle"><span class="permalink"><a href="#gaab52384bdbbe4f508a28f26490d77fbd">◆ </a></span>caca_cp437_to_utf32()</h2> <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 </td> <td class="paramname"><em>ch</em></td><td>)</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> <p>This function never fails.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ch</td><td>The CP437 character. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The corresponding UTF-32 character, or zero if not representable. </dd></dl> <p class="reference">Referenced by <a class="el" href="group__caca__charset.html#ga5f0a8814bbd8fdb74ea835448ad6f065">caca_utf32_is_fullwidth()</a>.</p> </div> </div> <a id="ga33e76af6286e4c6226a77f4870d588be"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga33e76af6286e4c6226a77f4870d588be">◆ </a></span>caca_utf32_to_ascii()</h2> <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 </td> <td class="paramname"><em>ch</em></td><td>)</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> <p>This function never fails, but its behaviour with illegal UTF-32 characters is undefined.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ch</td><td>The UTF-32 character. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>The corresponding ASCII character, or a graphically close equivalent if found, or "?" if not representable. </dd></dl> <p class="reference">Referenced by <a class="el" href="group__caca__charset.html#ga5f0a8814bbd8fdb74ea835448ad6f065">caca_utf32_is_fullwidth()</a>.</p> </div> </div> <a id="ga5f0a8814bbd8fdb74ea835448ad6f065"></a> <h2 class="memtitle"><span class="permalink"><a href="#ga5f0a8814bbd8fdb74ea835448ad6f065">◆ </a></span>caca_utf32_is_fullwidth()</h2> <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 </td> <td class="paramname"><em>ch</em></td><td>)</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> <p>This function never fails.</p> <dl class="params"><dt>Parameters</dt><dd> <table class="params"> <tr><td class="paramname">ch</td><td>The UTF-32 character. </td></tr> </table> </dd> </dl> <dl class="section return"><dt>Returns</dt><dd>1 if the character is fullwidth, 0 otherwise. </dd></dl> <p class="reference">References <a class="el" href="group__caca__charset.html#gaab52384bdbbe4f508a28f26490d77fbd">caca_cp437_to_utf32()</a>, <a class="el" href="group__caca__charset.html#ga33e76af6286e4c6226a77f4870d588be">caca_utf32_to_ascii()</a>, <a class="el" href="group__caca__charset.html#ga633016cdd7cf60955816e004345746d9">caca_utf32_to_cp437()</a>, <a class="el" href="group__caca__charset.html#gab9d52a659813d7b145b588cd91dbb51c">caca_utf32_to_utf8()</a>, and <a class="el" href="group__caca__charset.html#gae1378ecf06c06b5b0b8065b360be6fb1">caca_utf8_to_utf32()</a>.</p> <p class="reference">Referenced by <a class="el" href="group__caca__importexport.html#ga264bcf9f821d67f33bd5ee5aa5e048a0">caca_get_export_list()</a>, <a class="el" href="group__caca__canvas.html#ga21864614dada3ee29f10987a6e0d3064">caca_put_char()</a>, and <a class="el" href="group__caca__canvas.html#gac9370c0854f358b88d0cb8caf07fb6d3">caca_put_str()</a>.</p> </div> </div> </div><!-- contents --> </body> </html>