1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-04 18:29:23 +02:00
FBReaderJ/jni/LineBreak/liblinebreak-2.0/doc/html/linebreak_8h.html
Nikolay Pultsin 31889171f3 jni: NDKr3 is now used
git-svn-id: https://only.mawhrin.net/repos/FBReaderJ/trunk@1322 6a642e6f-84f6-412e-ac94-c4a38d5a04b0
2010-04-30 13:09:07 +00:00

431 lines
23 KiB
HTML

<!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>liblinebreak: linebreak.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.6.1 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="files.html"><span>File&nbsp;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>linebreak.h File Reference</h1>
<p>Header file for the line breaking algorithm.
<a href="#_details">More...</a></p>
<code>#include &lt;stddef.h&gt;</code><br/>
<p><a href="linebreak_8h_source.html">Go to the source code of this file.</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#a83634cb3df4ba09faf22ba687ffc4c02">LINEBREAK_VERSION</a>&nbsp;&nbsp;&nbsp;0x0195</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Version of the library linebreak. <a href="#a83634cb3df4ba09faf22ba687ffc4c02"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#a367d64258fd90864a467687cd1736b77">LINEBREAK_MUSTBREAK</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Break is mandatory. <a href="#a367d64258fd90864a467687cd1736b77"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#a229f34b0b72ccb2e53d0936a1e61a363">LINEBREAK_ALLOWBREAK</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Break is allowed. <a href="#a229f34b0b72ccb2e53d0936a1e61a363"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#add176a107633817050bedf6eb4f491cc">LINEBREAK_NOBREAK</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">No break is possible. <a href="#add176a107633817050bedf6eb4f491cc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#a5adf3d4831b89cb3e40e9bd31a73a39d">LINEBREAK_INSIDEACHAR</a>&nbsp;&nbsp;&nbsp;3</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">A UTF-8/16 sequence is unfinished. <a href="#a5adf3d4831b89cb3e40e9bd31a73a39d"></a><br/></td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#a6103b2105588f239c593e779e605038a">utf8_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for UTF-8 data points. <a href="#a6103b2105588f239c593e779e605038a"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#a4dce96cad338d9281612277b2d80950c">utf16_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for UTF-16 data points. <a href="#a4dce96cad338d9281612277b2d80950c"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for UTF-32 data points. <a href="#a4f775bae0642c213be2c526018283c25"></a><br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#a57c2b88b7e1277cbba23cfffbc782c4f">init_linebreak</a> (void)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Initializes the second-level index to the line breaking properties. <a href="#a57c2b88b7e1277cbba23cfffbc782c4f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#ab426e9cf68117faf583a0ed54742cb28">set_linebreaks_utf8</a> (const <a class="el" href="linebreak_8h.html#a6103b2105588f239c593e779e605038a">utf8_t</a> *s, size_t len, const char *lang, char *brks)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the line breaking information for a UTF-8 input string. <a href="#ab426e9cf68117faf583a0ed54742cb28"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#a1d56bce2d32cd986052172638cec43c8">set_linebreaks_utf16</a> (const <a class="el" href="linebreak_8h.html#a4dce96cad338d9281612277b2d80950c">utf16_t</a> *s, size_t len, const char *lang, char *brks)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the line breaking information for a UTF-16 input string. <a href="#a1d56bce2d32cd986052172638cec43c8"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#a9fdce33b4ded9d586888c16228ae9e1f">set_linebreaks_utf32</a> (const <a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a> *s, size_t len, const char *lang, char *brks)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the line breaking information for a UTF-32 input string. <a href="#a9fdce33b4ded9d586888c16228ae9e1f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#a5761f60559b5ddb61bb095f00c7deb5c">is_line_breakable</a> (<a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a> char1, <a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a> char2, const char *lang)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Tells whether a line break can occur between two Unicode characters. <a href="#a5761f60559b5ddb61bb095f00c7deb5c"></a><br/></td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#a0ac90a75aa79415fe87e66b95d8fd09b">linebreak_version</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Version number of the library. <a href="#a0ac90a75aa79415fe87e66b95d8fd09b"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Header file for the line breaking algorithm. </p>
<dl class="version"><dt><b>Version:</b></dt><dd>1.95, 2009/11/29 </dd></dl>
<dl class="author"><dt><b>Author:</b></dt><dd>Wu Yongwei </dd></dl>
<hr/><h2>Define Documentation</h2>
<a class="anchor" id="a229f34b0b72ccb2e53d0936a1e61a363"></a><!-- doxytag: member="linebreak.h::LINEBREAK_ALLOWBREAK" ref="a229f34b0b72ccb2e53d0936a1e61a363" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LINEBREAK_ALLOWBREAK&nbsp;&nbsp;&nbsp;1</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Break is allowed. </p>
</div>
</div>
<a class="anchor" id="a5adf3d4831b89cb3e40e9bd31a73a39d"></a><!-- doxytag: member="linebreak.h::LINEBREAK_INSIDEACHAR" ref="a5adf3d4831b89cb3e40e9bd31a73a39d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LINEBREAK_INSIDEACHAR&nbsp;&nbsp;&nbsp;3</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>A UTF-8/16 sequence is unfinished. </p>
</div>
</div>
<a class="anchor" id="a367d64258fd90864a467687cd1736b77"></a><!-- doxytag: member="linebreak.h::LINEBREAK_MUSTBREAK" ref="a367d64258fd90864a467687cd1736b77" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LINEBREAK_MUSTBREAK&nbsp;&nbsp;&nbsp;0</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Break is mandatory. </p>
</div>
</div>
<a class="anchor" id="add176a107633817050bedf6eb4f491cc"></a><!-- doxytag: member="linebreak.h::LINEBREAK_NOBREAK" ref="add176a107633817050bedf6eb4f491cc" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LINEBREAK_NOBREAK&nbsp;&nbsp;&nbsp;2</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>No break is possible. </p>
</div>
</div>
<a class="anchor" id="a83634cb3df4ba09faf22ba687ffc4c02"></a><!-- doxytag: member="linebreak.h::LINEBREAK_VERSION" ref="a83634cb3df4ba09faf22ba687ffc4c02" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LINEBREAK_VERSION&nbsp;&nbsp;&nbsp;0x0195</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Version of the library linebreak. </p>
</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="a4dce96cad338d9281612277b2d80950c"></a><!-- doxytag: member="linebreak.h::utf16_t" ref="a4dce96cad338d9281612277b2d80950c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef unsigned short <a class="el" href="linebreak_8h.html#a4dce96cad338d9281612277b2d80950c">utf16_t</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Type for UTF-16 data points. </p>
</div>
</div>
<a class="anchor" id="a4f775bae0642c213be2c526018283c25"></a><!-- doxytag: member="linebreak.h::utf32_t" ref="a4f775bae0642c213be2c526018283c25" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef unsigned int <a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Type for UTF-32 data points. </p>
</div>
</div>
<a class="anchor" id="a6103b2105588f239c593e779e605038a"></a><!-- doxytag: member="linebreak.h::utf8_t" ref="a6103b2105588f239c593e779e605038a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef unsigned char <a class="el" href="linebreak_8h.html#a6103b2105588f239c593e779e605038a">utf8_t</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Type for UTF-8 data points. </p>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a57c2b88b7e1277cbba23cfffbc782c4f"></a><!-- doxytag: member="linebreak.h::init_linebreak" ref="a57c2b88b7e1277cbba23cfffbc782c4f" args="(void)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void init_linebreak </td>
<td>(</td>
<td class="paramtype">void&nbsp;</td>
<td class="paramname"></td>
<td>&nbsp;)&nbsp;</td>
<td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Initializes the second-level index to the line breaking properties. </p>
<p>If it is not called, the performance of <a class="el" href="linebreak_8c.html#a41ec5a32a31d007d60ea57caa38a2f3e" title="Gets the line breaking class of a character for a specific language.">get_char_lb_class_lang</a> (and thus the main functionality) can be pretty bad, especially for big code points like those of Chinese. </p>
</div>
</div>
<a class="anchor" id="a5761f60559b5ddb61bb095f00c7deb5c"></a><!-- doxytag: member="linebreak.h::is_line_breakable" ref="a5761f60559b5ddb61bb095f00c7deb5c" args="(utf32_t char1, utf32_t char2, const char *lang)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int is_line_breakable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td>
<td class="paramname"> <em>char1</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td>
<td class="paramname"> <em>char2</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>lang</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Tells whether a line break can occur between two Unicode characters. </p>
<p>This is a wrapper function to expose a simple interface. Generally speaking, it is better to use <a class="el" href="linebreak_8h.html#a9fdce33b4ded9d586888c16228ae9e1f" title="Sets the line breaking information for a UTF-32 input string.">set_linebreaks_utf32</a> instead, since complicated cases involving combining marks, spaces, etc. cannot be correctly processed.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>char1</em>&nbsp;</td><td>the first Unicode character </td></tr>
<tr><td valign="top"></td><td valign="top"><em>char2</em>&nbsp;</td><td>the second Unicode character </td></tr>
<tr><td valign="top"></td><td valign="top"><em>lang</em>&nbsp;</td><td>language of the input </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>one of <a class="el" href="linebreak_8h.html#a367d64258fd90864a467687cd1736b77" title="Break is mandatory.">LINEBREAK_MUSTBREAK</a>, <a class="el" href="linebreak_8h.html#a229f34b0b72ccb2e53d0936a1e61a363" title="Break is allowed.">LINEBREAK_ALLOWBREAK</a>, <a class="el" href="linebreak_8h.html#add176a107633817050bedf6eb4f491cc" title="No break is possible.">LINEBREAK_NOBREAK</a>, or <a class="el" href="linebreak_8h.html#a5adf3d4831b89cb3e40e9bd31a73a39d" title="A UTF-8/16 sequence is unfinished.">LINEBREAK_INSIDEACHAR</a> </dd></dl>
</div>
</div>
<a class="anchor" id="a1d56bce2d32cd986052172638cec43c8"></a><!-- doxytag: member="linebreak.h::set_linebreaks_utf16" ref="a1d56bce2d32cd986052172638cec43c8" args="(const utf16_t *s, size_t len, const char *lang, char *brks)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void set_linebreaks_utf16 </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="linebreak_8h.html#a4dce96cad338d9281612277b2d80950c">utf16_t</a> *&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>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>lang</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>brks</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the line breaking information for a UTF-16 input string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>s</em>&nbsp;</td><td>input UTF-16 string </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>len</em>&nbsp;</td><td>length of the input </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>lang</em>&nbsp;</td><td>language of the input </td></tr>
<tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>brks</em>&nbsp;</td><td>pointer to the output breaking data, containing <a class="el" href="linebreak_8h.html#a367d64258fd90864a467687cd1736b77" title="Break is mandatory.">LINEBREAK_MUSTBREAK</a>, <a class="el" href="linebreak_8h.html#a229f34b0b72ccb2e53d0936a1e61a363" title="Break is allowed.">LINEBREAK_ALLOWBREAK</a>, <a class="el" href="linebreak_8h.html#add176a107633817050bedf6eb4f491cc" title="No break is possible.">LINEBREAK_NOBREAK</a>, or <a class="el" href="linebreak_8h.html#a5adf3d4831b89cb3e40e9bd31a73a39d" title="A UTF-8/16 sequence is unfinished.">LINEBREAK_INSIDEACHAR</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a9fdce33b4ded9d586888c16228ae9e1f"></a><!-- doxytag: member="linebreak.h::set_linebreaks_utf32" ref="a9fdce33b4ded9d586888c16228ae9e1f" args="(const utf32_t *s, size_t len, const char *lang, char *brks)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void set_linebreaks_utf32 </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a> *&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>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>lang</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>brks</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the line breaking information for a UTF-32 input string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>s</em>&nbsp;</td><td>input UTF-32 string </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>len</em>&nbsp;</td><td>length of the input </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>lang</em>&nbsp;</td><td>language of the input </td></tr>
<tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>brks</em>&nbsp;</td><td>pointer to the output breaking data, containing <a class="el" href="linebreak_8h.html#a367d64258fd90864a467687cd1736b77" title="Break is mandatory.">LINEBREAK_MUSTBREAK</a>, <a class="el" href="linebreak_8h.html#a229f34b0b72ccb2e53d0936a1e61a363" title="Break is allowed.">LINEBREAK_ALLOWBREAK</a>, <a class="el" href="linebreak_8h.html#add176a107633817050bedf6eb4f491cc" title="No break is possible.">LINEBREAK_NOBREAK</a>, or <a class="el" href="linebreak_8h.html#a5adf3d4831b89cb3e40e9bd31a73a39d" title="A UTF-8/16 sequence is unfinished.">LINEBREAK_INSIDEACHAR</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="ab426e9cf68117faf583a0ed54742cb28"></a><!-- doxytag: member="linebreak.h::set_linebreaks_utf8" ref="ab426e9cf68117faf583a0ed54742cb28" args="(const utf8_t *s, size_t len, const char *lang, char *brks)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void set_linebreaks_utf8 </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="linebreak_8h.html#a6103b2105588f239c593e779e605038a">utf8_t</a> *&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>len</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>lang</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&nbsp;</td>
<td class="paramname"> <em>brks</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Sets the line breaking information for a UTF-8 input string. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>s</em>&nbsp;</td><td>input UTF-8 string </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>len</em>&nbsp;</td><td>length of the input </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>lang</em>&nbsp;</td><td>language of the input </td></tr>
<tr><td valign="top"><tt>[out]</tt>&nbsp;</td><td valign="top"><em>brks</em>&nbsp;</td><td>pointer to the output breaking data, containing <a class="el" href="linebreak_8h.html#a367d64258fd90864a467687cd1736b77" title="Break is mandatory.">LINEBREAK_MUSTBREAK</a>, <a class="el" href="linebreak_8h.html#a229f34b0b72ccb2e53d0936a1e61a363" title="Break is allowed.">LINEBREAK_ALLOWBREAK</a>, <a class="el" href="linebreak_8h.html#add176a107633817050bedf6eb4f491cc" title="No break is possible.">LINEBREAK_NOBREAK</a>, or <a class="el" href="linebreak_8h.html#a5adf3d4831b89cb3e40e9bd31a73a39d" title="A UTF-8/16 sequence is unfinished.">LINEBREAK_INSIDEACHAR</a> </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="a0ac90a75aa79415fe87e66b95d8fd09b"></a><!-- doxytag: member="linebreak.h::linebreak_version" ref="a0ac90a75aa79415fe87e66b95d8fd09b" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const int <a class="el" href="linebreak_8h.html#a0ac90a75aa79415fe87e66b95d8fd09b">linebreak_version</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Version number of the library. </p>
</div>
</div>
</div>
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Nov 29 17:25:44 2009 for liblinebreak by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>