<!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"/> <title>libthai: thai/thwchar.h File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.3 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">libthai <span id="projectnumber">0.1.14</span></div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#define-members">Defines</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <h1>thai/thwchar.h File Reference</h1> </div> </div> <div class="contents"> <p>Wide char support for Thai. <a href="#_details">More...</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="define-members"></a> Defines</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a042d1722b6c15b36e67d13fd5f548bb8"></a><!-- doxytag: member="thwchar.h::THWCHAR_ERR" ref="a042d1722b6c15b36e67d13fd5f548bb8" args="" --> #define </td><td class="memItemRight" valign="bottom"><a class="el" href="thwchar_8h.html#a042d1722b6c15b36e67d13fd5f548bb8">THWCHAR_ERR</a>   (~(<a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a>)0)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Wide-character value indicating error. <br/></td></tr> <tr><td colspan="2"><h2><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac574aa2199e3bc6e052d051ea720cc21"></a><!-- doxytag: member="thwchar.h::thwchar_t" ref="ac574aa2199e3bc6e052d051ea720cc21" args="" --> typedef wchar_t </td><td class="memItemRight" valign="bottom"><a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Thai character type for storing Unicode character. <br/></td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="thwchar_8h.html#ac701f59d18ba58af555876f8fb6e2920">th_tis2uni</a> (<a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> c)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert character code from TIS-620 to Unicode. <a href="#ac701f59d18ba58af555876f8fb6e2920"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="thwchar_8h.html#a3e7706fe0882acab3dc26bd74b442786">th_tis2uni_line</a> (const <a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> *s, <a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> *result, size_t n)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert string from TIS-620 to Unicode. <a href="#a3e7706fe0882acab3dc26bd74b442786"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="thwchar_8h.html#a645bd448345fe7ee68bc5cf8faefb8bd">th_winthai2uni</a> (<a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> c)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert character code from Thai Windows extended code to Unicode. <a href="#a645bd448345fe7ee68bc5cf8faefb8bd"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="thwchar_8h.html#a4496f3813622471c9b517e7dc5b8ffdc">th_macthai2uni</a> (<a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> c)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert character code from Mac Thai extended code to Unicode. <a href="#a4496f3813622471c9b517e7dc5b8ffdc"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="thwchar_8h.html#af9254228afa54671b47b55b6bee6afc4">th_uni2tis</a> (<a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> wc)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert character code from Unicode to TIS-620. <a href="#af9254228afa54671b47b55b6bee6afc4"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="thwchar_8h.html#a72225f1c24c6ecd5056f53e620b931b6">th_uni2tis_line</a> (const <a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> *s, <a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> *result, size_t n)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert string from Unicode to TIS-620. <a href="#a72225f1c24c6ecd5056f53e620b931b6"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="thwchar_8h.html#a11e60d3d47b6262661f3eafa5cdfecd0">th_uni2winthai</a> (<a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> wc)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert character code from Unicode to Thai Windows extended code. <a href="#a11e60d3d47b6262661f3eafa5cdfecd0"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="thwchar_8h.html#a3e47bb56a7421897b4471250415f5e5d">th_uni2macthai</a> (<a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> wc)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Convert character code from Unicode to Mac Thai extended code. <a href="#a3e47bb56a7421897b4471250415f5e5d"></a><br/></td></tr> </table> <hr/><a name="_details"></a><h2>Detailed Description</h2> <div class="textblock"><p>Wide char support for Thai. </p> </div><hr/><h2>Function Documentation</h2> <a class="anchor" id="a4496f3813622471c9b517e7dc5b8ffdc"></a><!-- doxytag: member="thwchar.h::th_macthai2uni" ref="a4496f3813622471c9b517e7dc5b8ffdc" args="(thchar_t c)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> th_macthai2uni </td> <td>(</td> <td class="paramtype"><a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> </td> <td class="paramname"><em>c</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert character code from Mac Thai extended code to Unicode. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">c</td><td>: Mac Thai character/glyph to convert</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Corresponding Unicode code </dd></dl> </div> </div> <a class="anchor" id="ac701f59d18ba58af555876f8fb6e2920"></a><!-- doxytag: member="thwchar.h::th_tis2uni" ref="ac701f59d18ba58af555876f8fb6e2920" args="(thchar_t c)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> th_tis2uni </td> <td>(</td> <td class="paramtype"><a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> </td> <td class="paramname"><em>c</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert character code from TIS-620 to Unicode. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">c</td><td>: TIS-620 character to convert</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Corresponding Unicode code </dd></dl> </div> </div> <a class="anchor" id="a3e7706fe0882acab3dc26bd74b442786"></a><!-- doxytag: member="thwchar.h::th_tis2uni_line" ref="a3e7706fe0882acab3dc26bd74b442786" args="(const thchar_t *s, thwchar_t *result, size_t n)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int th_tis2uni_line </td> <td>(</td> <td class="paramtype">const <a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> * </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> * </td> <td class="paramname"><em>result</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>n</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert string from TIS-620 to Unicode. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>: source TIS-620 string (null-terminated) </td></tr> <tr><td class="paramname">result</td><td>: buffer for storing resulting Unicode string </td></tr> <tr><td class="paramname">n</td><td>: size of <em>result</em> buffer (as number of elements)</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the length of the output Unicode string </dd></dl> </div> </div> <a class="anchor" id="a3e47bb56a7421897b4471250415f5e5d"></a><!-- doxytag: member="thwchar.h::th_uni2macthai" ref="a3e47bb56a7421897b4471250415f5e5d" args="(thwchar_t wc)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> th_uni2macthai </td> <td>(</td> <td class="paramtype"><a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> </td> <td class="paramname"><em>wc</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert character code from Unicode to Mac Thai extended code. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">wc</td><td>: Unicode code to convert</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Corresponding Mac Thai extended code, or <code>TH_ERR</code> if conversion is impossible </dd></dl> </div> </div> <a class="anchor" id="af9254228afa54671b47b55b6bee6afc4"></a><!-- doxytag: member="thwchar.h::th_uni2tis" ref="af9254228afa54671b47b55b6bee6afc4" args="(thwchar_t wc)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> th_uni2tis </td> <td>(</td> <td class="paramtype"><a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> </td> <td class="paramname"><em>wc</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert character code from Unicode to TIS-620. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">wc</td><td>: Unicode character to convert</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Corresponding TIS-620 code, or <code>TH_ERR</code> if conversion is impossible </dd></dl> </div> </div> <a class="anchor" id="a72225f1c24c6ecd5056f53e620b931b6"></a><!-- doxytag: member="thwchar.h::th_uni2tis_line" ref="a72225f1c24c6ecd5056f53e620b931b6" args="(const thwchar_t *s, thchar_t *result, size_t n)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int th_uni2tis_line </td> <td>(</td> <td class="paramtype">const <a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> * </td> <td class="paramname"><em>s</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> * </td> <td class="paramname"><em>result</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">size_t </td> <td class="paramname"><em>n</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert string from Unicode to TIS-620. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">s</td><td>: source Unicode string (null-terminated) </td></tr> <tr><td class="paramname">result</td><td>: buffer for storing resulting TIS-620 string </td></tr> <tr><td class="paramname">n</td><td>: size of <em>result</em> buffer (as number of elements)</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>the length of the output TIS-620 string</dd></dl> <p>Note that, since the conversion is lossy, some characters in the convesion result may be <code>TH_ERR</code>, indicating conversion error. </p> </div> </div> <a class="anchor" id="a11e60d3d47b6262661f3eafa5cdfecd0"></a><!-- doxytag: member="thwchar.h::th_uni2winthai" ref="a11e60d3d47b6262661f3eafa5cdfecd0" args="(thwchar_t wc)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> th_uni2winthai </td> <td>(</td> <td class="paramtype"><a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> </td> <td class="paramname"><em>wc</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert character code from Unicode to Thai Windows extended code. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">wc</td><td>: Unicode code to convert</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Corresponding Thai Windows extended code, or <code>TH_ERR</code> if conversion is impossible </dd></dl> </div> </div> <a class="anchor" id="a645bd448345fe7ee68bc5cf8faefb8bd"></a><!-- doxytag: member="thwchar.h::th_winthai2uni" ref="a645bd448345fe7ee68bc5cf8faefb8bd" args="(thchar_t c)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="thwchar_8h.html#ac574aa2199e3bc6e052d051ea720cc21">thwchar_t</a> th_winthai2uni </td> <td>(</td> <td class="paramtype"><a class="el" href="thailib_8h.html#a75138f51cef42c2e0d8bc3e6ce691f51">thchar_t</a> </td> <td class="paramname"><em>c</em></td><td>)</td> <td></td> </tr> </table> </div> <div class="memdoc"> <p>Convert character code from Thai Windows extended code to Unicode. </p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">c</td><td>: Thai Windows character/glyph to convert</td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Corresponding Unicode code </dd></dl> </div> </div> </div> <hr size="1"><address style="text-align: right;"><small> Generated for libthai by <a href="http://www.doxygen.org/ index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.7.3</small></address> </body> </html>