1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-06 03:50:19 +02:00
FBReaderJ/native/sources/liblinebreak/liblinebreak-1.2/doc/html/linebreakdef_8h.html
Nikolay Pultsin 76dcfea536 fixed hyperlink processing in epub files
added liblinebreak sources and a stub for java liblinebreak bindings


git-svn-id: https://only.mawhrin.net/repos/FBReaderJ/trunk@1002 6a642e6f-84f6-412e-ac94-c4a38d5a04b0
2009-07-26 19:16:42 +00:00

497 lines
37 KiB
HTML

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>liblinebreak: linebreakdef.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.5.9 -->
<div class="navigation" id="top">
<div class="tabs">
<ul>
<li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="pages.html"><span>Related&nbsp;Pages</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>linebreakdef.h File Reference</h1>Definitions of internal data structures, declarations of global variables, and function prototypes for the line breaking algorithm.
<a href="#_details">More...</a>
<p>
<p>
<a href="linebreakdef_8h_source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakProperties.html">LineBreakProperties</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Struct for entries of line break properties. <a href="structLineBreakProperties.html#_details">More...</a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesLang.html">LineBreakPropertiesLang</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Struct for association of language-specific line breaking properties with language names. <a href="structLineBreakPropertiesLang.html#_details">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#adbbc7b02d94a4c18646813ac8d7dec1">EOS</a>&nbsp;&nbsp;&nbsp;0xFFFF</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Constant value to mark the end of string. <a href="#adbbc7b02d94a4c18646813ac8d7dec1"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#d76de249e1f8334f318f9ee97ccc77c3">get_next_char_t</a> )(const void *, size_t, size_t *)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Abstract function interface for <a class="el" href="linebreakdef_8h.html#d6e67ab4880e304d6ac730d545027a7f" title="Gets the next Unicode character in a UTF-8 sequence.">get_next_char_utf8</a>, <a class="el" href="linebreakdef_8h.html#1358bfc18e5c58f3bf86d41da9915964" title="Gets the next Unicode character in a UTF-16 sequence.">get_next_char_utf16</a>, and <a class="el" href="linebreakdef_8h.html#b436dc6eadd1cfe258159ac671798653" title="Gets the next Unicode character in a UTF-32 sequence.">get_next_char_utf32</a>. <a href="#d76de249e1f8334f318f9ee97ccc77c3"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> { <br>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723">LBP_Undefined</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3">LBP_OP</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d">LBP_CL</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c39763b5b0557dddcec94a381ef30f4e">LBP_QU</a>,
<br>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040700550bdd01f16132d2897fc5000f58df7">LBP_GL</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040701cbbcff8d381e12574aec3679990e3f0">LBP_NS</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070694a3a0a4cf1649ca938e4cb8064f3b0">LBP_EX</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407047f9a3d5b87cd350905f552ffa3da097">LBP_SY</a>,
<br>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098ddb858ed33918bce8784a60c36712e">LBP_IS</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070985024038b0a61a40df014013daa7d57">LBP_PR</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c7d5be8568020554e49bb4c01ca1fdba">LBP_PO</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707d6ec3c06dfdee326bca876365e5be28">LBP_NU</a>,
<br>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407099a0353e48d4453d0acf01da43655281">LBP_AL</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070277e68f51ab2a52445f0e7e219b8bd55">LBP_ID</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e5285b1bd6bf868b1655b8ad3cb9cc73">LBP_IN</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707cf4d61e77f0d1f8974f1b21379d2883">LBP_HY</a>,
<br>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708487a95ef080e81a013162e107a4bc74">LBP_BA</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098dbcbc080626fbc0ff7d4f2b8b86d7d">LBP_BB</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407046fe18e486c79c3835a587fb15ad0c63">LBP_B2</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070a58613e52b70bda371b48ca2d89d85ee">LBP_ZW</a>,
<br>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070de6aff21f968efc84109e502c5c469c1">LBP_CM</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407000085861924d3758649cfd7dc0ec3daa">LBP_WJ</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407087a5464b708121503da98654e02c2cfc">LBP_H2</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e898c79c281f9d12c4adfa12834f4380">LBP_H3</a>,
<br>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040702cb194fd3b6e0295a134ad735f8f75eb">LBP_JL</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707759e3988158319f9efe87e322804cd8">LBP_JV</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707851519f0dac4f922b4144315bb711bf">LBP_JT</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c9dcacac1d71f0f8ca7bbfe670620dd3">LBP_AI</a>,
<br>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707b0aae40955328f649ec66b23ecf1626">LBP_BK</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070485f9b3c86d8b6f800bba048f1bf47b1">LBP_CB</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708f6991e8defca4aa9e6485dbb32628a2">LBP_CR</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070944522607828ef422c419633f68c8cab">LBP_LF</a>,
<br>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070cfefd6df8344cc5601ce7786aee51fcf">LBP_NL</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407038b102b238de030fe74906fb0fcfb769">LBP_SA</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070d6764678f5d80d86324a6f29c0561817">LBP_SG</a>,
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707605e7c192d43e2ef0596e92446dfba4">LBP_SP</a>,
<br>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407049450c35ed2a20d252e707322964bdf0">LBP_XX</a>
<br>
}</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Line break classes. <a href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">More...</a><br></td></tr>
<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#0e86da0f08579bd9bfeb437f5fab15fe">set_linebreaks</a> (const void *s, size_t len, const char *lang, char *brks, <a class="el" href="linebreakdef_8h.html#d76de249e1f8334f318f9ee97ccc77c3">get_next_char_t</a> get_next_char)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Sets the line breaking information for a generic input string. <a href="#0e86da0f08579bd9bfeb437f5fab15fe"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#d6e67ab4880e304d6ac730d545027a7f">get_next_char_utf8</a> (const <a class="el" href="linebreak_8h.html#6103b2105588f239c593e779e605038a">utf8_t</a> *s, size_t len, size_t *ip)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the next Unicode character in a UTF-8 sequence. <a href="#d6e67ab4880e304d6ac730d545027a7f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#1358bfc18e5c58f3bf86d41da9915964">get_next_char_utf16</a> (const <a class="el" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c">utf16_t</a> *s, size_t len, size_t *ip)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the next Unicode character in a UTF-16 sequence. <a href="#1358bfc18e5c58f3bf86d41da9915964"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#b436dc6eadd1cfe258159ac671798653">get_next_char_utf32</a> (const <a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a> *s, size_t len, size_t *ip)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the next Unicode character in a UTF-32 sequence. <a href="#b436dc6eadd1cfe258159ac671798653"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#bbd8c6b6e4e1c8ad2da83f23f81ac29a">lb_prop_default</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Default line breaking properties as from the Unicode Web site. <a href="#bbd8c6b6e4e1c8ad2da83f23f81ac29a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct <a class="el" href="structLineBreakPropertiesLang.html">LineBreakPropertiesLang</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#82efdfa4115828df9158e183f1a9983d">lb_prop_lang_map</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Association data of language-specific line breaking properties with language names. <a href="#82efdfa4115828df9158e183f1a9983d"></a><br></td></tr>
</table>
<hr><h2>Detailed Description</h2>
Definitions of internal data structures, declarations of global variables, and function prototypes for the line breaking algorithm.
<p>
<dl class="version" compact><dt><b>Version:</b></dt><dd>1.2, 2009/05/03 </dd></dl>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Wu Yongwei </dd></dl>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="adbbc7b02d94a4c18646813ac8d7dec1"></a><!-- doxytag: member="linebreakdef.h::EOS" ref="adbbc7b02d94a4c18646813ac8d7dec1" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define EOS&nbsp;&nbsp;&nbsp;0xFFFF </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Constant value to mark the end of string.
<p>
It is not a valid Unicode character.
</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="d76de249e1f8334f318f9ee97ccc77c3"></a><!-- doxytag: member="linebreakdef.h::get_next_char_t" ref="d76de249e1f8334f318f9ee97ccc77c3" args=")(const void *, size_t, size_t *)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef <a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a>(* <a class="el" href="linebreakdef_8h.html#d76de249e1f8334f318f9ee97ccc77c3">get_next_char_t</a>)(const void *, size_t, size_t *) </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Abstract function interface for <a class="el" href="linebreakdef_8h.html#d6e67ab4880e304d6ac730d545027a7f" title="Gets the next Unicode character in a UTF-8 sequence.">get_next_char_utf8</a>, <a class="el" href="linebreakdef_8h.html#1358bfc18e5c58f3bf86d41da9915964" title="Gets the next Unicode character in a UTF-16 sequence.">get_next_char_utf16</a>, and <a class="el" href="linebreakdef_8h.html#b436dc6eadd1cfe258159ac671798653" title="Gets the next Unicode character in a UTF-32 sequence.">get_next_char_utf32</a>.
<p>
</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="884b6565d87a81bbf549980bbdd04070"></a><!-- doxytag: member="linebreakdef.h::LineBreakClass" ref="884b6565d87a81bbf549980bbdd04070" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Line break classes.
<p>
This is a direct mapping of Table 1 of Unicode Standard Annex 14, Revision 19. <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723"></a><!-- doxytag: member="LBP_Undefined" ref="884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723" args="" -->LBP_Undefined</em>&nbsp;</td><td>
Undefined. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3"></a><!-- doxytag: member="LBP_OP" ref="884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" args="" -->LBP_OP</em>&nbsp;</td><td>
Opening punctuation. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d"></a><!-- doxytag: member="LBP_CL" ref="884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" args="" -->LBP_CL</em>&nbsp;</td><td>
Closing punctuation. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070c39763b5b0557dddcec94a381ef30f4e"></a><!-- doxytag: member="LBP_QU" ref="884b6565d87a81bbf549980bbdd04070c39763b5b0557dddcec94a381ef30f4e" args="" -->LBP_QU</em>&nbsp;</td><td>
Ambiguous quotation. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd040700550bdd01f16132d2897fc5000f58df7"></a><!-- doxytag: member="LBP_GL" ref="884b6565d87a81bbf549980bbdd040700550bdd01f16132d2897fc5000f58df7" args="" -->LBP_GL</em>&nbsp;</td><td>
Glue. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd040701cbbcff8d381e12574aec3679990e3f0"></a><!-- doxytag: member="LBP_NS" ref="884b6565d87a81bbf549980bbdd040701cbbcff8d381e12574aec3679990e3f0" args="" -->LBP_NS</em>&nbsp;</td><td>
Non-starters. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070694a3a0a4cf1649ca938e4cb8064f3b0"></a><!-- doxytag: member="LBP_EX" ref="884b6565d87a81bbf549980bbdd04070694a3a0a4cf1649ca938e4cb8064f3b0" args="" -->LBP_EX</em>&nbsp;</td><td>
Exclamation/Interrogation. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd0407047f9a3d5b87cd350905f552ffa3da097"></a><!-- doxytag: member="LBP_SY" ref="884b6565d87a81bbf549980bbdd0407047f9a3d5b87cd350905f552ffa3da097" args="" -->LBP_SY</em>&nbsp;</td><td>
Symbols allowing break after. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd0407098ddb858ed33918bce8784a60c36712e"></a><!-- doxytag: member="LBP_IS" ref="884b6565d87a81bbf549980bbdd0407098ddb858ed33918bce8784a60c36712e" args="" -->LBP_IS</em>&nbsp;</td><td>
Infix separator. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070985024038b0a61a40df014013daa7d57"></a><!-- doxytag: member="LBP_PR" ref="884b6565d87a81bbf549980bbdd04070985024038b0a61a40df014013daa7d57" args="" -->LBP_PR</em>&nbsp;</td><td>
Prefix. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070c7d5be8568020554e49bb4c01ca1fdba"></a><!-- doxytag: member="LBP_PO" ref="884b6565d87a81bbf549980bbdd04070c7d5be8568020554e49bb4c01ca1fdba" args="" -->LBP_PO</em>&nbsp;</td><td>
Postfix. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd040707d6ec3c06dfdee326bca876365e5be28"></a><!-- doxytag: member="LBP_NU" ref="884b6565d87a81bbf549980bbdd040707d6ec3c06dfdee326bca876365e5be28" args="" -->LBP_NU</em>&nbsp;</td><td>
Numeric. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd0407099a0353e48d4453d0acf01da43655281"></a><!-- doxytag: member="LBP_AL" ref="884b6565d87a81bbf549980bbdd0407099a0353e48d4453d0acf01da43655281" args="" -->LBP_AL</em>&nbsp;</td><td>
Alphabetic. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070277e68f51ab2a52445f0e7e219b8bd55"></a><!-- doxytag: member="LBP_ID" ref="884b6565d87a81bbf549980bbdd04070277e68f51ab2a52445f0e7e219b8bd55" args="" -->LBP_ID</em>&nbsp;</td><td>
Ideographic. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070e5285b1bd6bf868b1655b8ad3cb9cc73"></a><!-- doxytag: member="LBP_IN" ref="884b6565d87a81bbf549980bbdd04070e5285b1bd6bf868b1655b8ad3cb9cc73" args="" -->LBP_IN</em>&nbsp;</td><td>
Inseparable characters. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd040707cf4d61e77f0d1f8974f1b21379d2883"></a><!-- doxytag: member="LBP_HY" ref="884b6565d87a81bbf549980bbdd040707cf4d61e77f0d1f8974f1b21379d2883" args="" -->LBP_HY</em>&nbsp;</td><td>
Hyphen. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd040708487a95ef080e81a013162e107a4bc74"></a><!-- doxytag: member="LBP_BA" ref="884b6565d87a81bbf549980bbdd040708487a95ef080e81a013162e107a4bc74" args="" -->LBP_BA</em>&nbsp;</td><td>
Break after. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd0407098dbcbc080626fbc0ff7d4f2b8b86d7d"></a><!-- doxytag: member="LBP_BB" ref="884b6565d87a81bbf549980bbdd0407098dbcbc080626fbc0ff7d4f2b8b86d7d" args="" -->LBP_BB</em>&nbsp;</td><td>
Break before. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd0407046fe18e486c79c3835a587fb15ad0c63"></a><!-- doxytag: member="LBP_B2" ref="884b6565d87a81bbf549980bbdd0407046fe18e486c79c3835a587fb15ad0c63" args="" -->LBP_B2</em>&nbsp;</td><td>
Break on either side (but not pair). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070a58613e52b70bda371b48ca2d89d85ee"></a><!-- doxytag: member="LBP_ZW" ref="884b6565d87a81bbf549980bbdd04070a58613e52b70bda371b48ca2d89d85ee" args="" -->LBP_ZW</em>&nbsp;</td><td>
Zero-width space. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070de6aff21f968efc84109e502c5c469c1"></a><!-- doxytag: member="LBP_CM" ref="884b6565d87a81bbf549980bbdd04070de6aff21f968efc84109e502c5c469c1" args="" -->LBP_CM</em>&nbsp;</td><td>
Combining marks. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd0407000085861924d3758649cfd7dc0ec3daa"></a><!-- doxytag: member="LBP_WJ" ref="884b6565d87a81bbf549980bbdd0407000085861924d3758649cfd7dc0ec3daa" args="" -->LBP_WJ</em>&nbsp;</td><td>
Word joiner. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd0407087a5464b708121503da98654e02c2cfc"></a><!-- doxytag: member="LBP_H2" ref="884b6565d87a81bbf549980bbdd0407087a5464b708121503da98654e02c2cfc" args="" -->LBP_H2</em>&nbsp;</td><td>
Hangul LV. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070e898c79c281f9d12c4adfa12834f4380"></a><!-- doxytag: member="LBP_H3" ref="884b6565d87a81bbf549980bbdd04070e898c79c281f9d12c4adfa12834f4380" args="" -->LBP_H3</em>&nbsp;</td><td>
Hangul LVT. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd040702cb194fd3b6e0295a134ad735f8f75eb"></a><!-- doxytag: member="LBP_JL" ref="884b6565d87a81bbf549980bbdd040702cb194fd3b6e0295a134ad735f8f75eb" args="" -->LBP_JL</em>&nbsp;</td><td>
Hangul L Jamo. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd040707759e3988158319f9efe87e322804cd8"></a><!-- doxytag: member="LBP_JV" ref="884b6565d87a81bbf549980bbdd040707759e3988158319f9efe87e322804cd8" args="" -->LBP_JV</em>&nbsp;</td><td>
Hangul V Jamo. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd040707851519f0dac4f922b4144315bb711bf"></a><!-- doxytag: member="LBP_JT" ref="884b6565d87a81bbf549980bbdd040707851519f0dac4f922b4144315bb711bf" args="" -->LBP_JT</em>&nbsp;</td><td>
Hangul T Jamo. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070c9dcacac1d71f0f8ca7bbfe670620dd3"></a><!-- doxytag: member="LBP_AI" ref="884b6565d87a81bbf549980bbdd04070c9dcacac1d71f0f8ca7bbfe670620dd3" args="" -->LBP_AI</em>&nbsp;</td><td>
Ambiguous (alphabetic or ideograph). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd040707b0aae40955328f649ec66b23ecf1626"></a><!-- doxytag: member="LBP_BK" ref="884b6565d87a81bbf549980bbdd040707b0aae40955328f649ec66b23ecf1626" args="" -->LBP_BK</em>&nbsp;</td><td>
Break (mandatory). </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070485f9b3c86d8b6f800bba048f1bf47b1"></a><!-- doxytag: member="LBP_CB" ref="884b6565d87a81bbf549980bbdd04070485f9b3c86d8b6f800bba048f1bf47b1" args="" -->LBP_CB</em>&nbsp;</td><td>
Contingent break. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd040708f6991e8defca4aa9e6485dbb32628a2"></a><!-- doxytag: member="LBP_CR" ref="884b6565d87a81bbf549980bbdd040708f6991e8defca4aa9e6485dbb32628a2" args="" -->LBP_CR</em>&nbsp;</td><td>
Carriage return. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070944522607828ef422c419633f68c8cab"></a><!-- doxytag: member="LBP_LF" ref="884b6565d87a81bbf549980bbdd04070944522607828ef422c419633f68c8cab" args="" -->LBP_LF</em>&nbsp;</td><td>
Line feed. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070cfefd6df8344cc5601ce7786aee51fcf"></a><!-- doxytag: member="LBP_NL" ref="884b6565d87a81bbf549980bbdd04070cfefd6df8344cc5601ce7786aee51fcf" args="" -->LBP_NL</em>&nbsp;</td><td>
Next line. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd0407038b102b238de030fe74906fb0fcfb769"></a><!-- doxytag: member="LBP_SA" ref="884b6565d87a81bbf549980bbdd0407038b102b238de030fe74906fb0fcfb769" args="" -->LBP_SA</em>&nbsp;</td><td>
South-East Asian. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd04070d6764678f5d80d86324a6f29c0561817"></a><!-- doxytag: member="LBP_SG" ref="884b6565d87a81bbf549980bbdd04070d6764678f5d80d86324a6f29c0561817" args="" -->LBP_SG</em>&nbsp;</td><td>
Surrogates. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd040707605e7c192d43e2ef0596e92446dfba4"></a><!-- doxytag: member="LBP_SP" ref="884b6565d87a81bbf549980bbdd040707605e7c192d43e2ef0596e92446dfba4" args="" -->LBP_SP</em>&nbsp;</td><td>
Space. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="884b6565d87a81bbf549980bbdd0407049450c35ed2a20d252e707322964bdf0"></a><!-- doxytag: member="LBP_XX" ref="884b6565d87a81bbf549980bbdd0407049450c35ed2a20d252e707322964bdf0" args="" -->LBP_XX</em>&nbsp;</td><td>
Unknown. </td></tr>
</table>
</dl>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="1358bfc18e5c58f3bf86d41da9915964"></a><!-- doxytag: member="linebreakdef.h::get_next_char_utf16" ref="1358bfc18e5c58f3bf86d41da9915964" args="(const utf16_t *s, size_t len, size_t *ip)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a> get_next_char_utf16 </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c">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">size_t *&nbsp;</td>
<td class="paramname"> <em>ip</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Gets the next Unicode character in a UTF-16 sequence.
<p>
The index will be advanced to the next complete character, unless the end of string is reached in the middle of a UTF-16 surrogate pair.<p>
<dl compact><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 string in words </td></tr>
<tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>ip</em>&nbsp;</td><td>pointer to the index </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Unicode character beginning at the index; or <a class="el" href="linebreakdef_8h.html#adbbc7b02d94a4c18646813ac8d7dec1" title="Constant value to mark the end of string.">EOS</a> if end of input is encountered</dd></dl>
<dl class="deprecated" compact><dt><b><a class="el" href="deprecated.html#_deprecated000002">Deprecated:</a></b></dt><dd>This function will be prefixed with <code>lb_</code> in the future. </dd></dl>
</div>
</div><p>
<a class="anchor" name="b436dc6eadd1cfe258159ac671798653"></a><!-- doxytag: member="linebreakdef.h::get_next_char_utf32" ref="b436dc6eadd1cfe258159ac671798653" args="(const utf32_t *s, size_t len, size_t *ip)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a> get_next_char_utf32 </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">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">size_t *&nbsp;</td>
<td class="paramname"> <em>ip</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Gets the next Unicode character in a UTF-32 sequence.
<p>
The index will be advanced to the next character.<p>
<dl compact><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 string in dwords </td></tr>
<tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>ip</em>&nbsp;</td><td>pointer to the index </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Unicode character beginning at the index; or <a class="el" href="linebreakdef_8h.html#adbbc7b02d94a4c18646813ac8d7dec1" title="Constant value to mark the end of string.">EOS</a> if end of input is encountered</dd></dl>
<dl class="deprecated" compact><dt><b><a class="el" href="deprecated.html#_deprecated000003">Deprecated:</a></b></dt><dd>This function will be prefixed with <code>lb_</code> in the future. </dd></dl>
</div>
</div><p>
<a class="anchor" name="d6e67ab4880e304d6ac730d545027a7f"></a><!-- doxytag: member="linebreakdef.h::get_next_char_utf8" ref="d6e67ab4880e304d6ac730d545027a7f" args="(const utf8_t *s, size_t len, size_t *ip)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a> get_next_char_utf8 </td>
<td>(</td>
<td class="paramtype">const <a class="el" href="linebreak_8h.html#6103b2105588f239c593e779e605038a">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">size_t *&nbsp;</td>
<td class="paramname"> <em>ip</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Gets the next Unicode character in a UTF-8 sequence.
<p>
The index will be advanced to the next complete character, unless the end of string is reached in the middle of a UTF-8 sequence.<p>
<dl compact><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 string in bytes </td></tr>
<tr><td valign="top"><tt>[in,out]</tt>&nbsp;</td><td valign="top"><em>ip</em>&nbsp;</td><td>pointer to the index </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the Unicode character beginning at the index; or <a class="el" href="linebreakdef_8h.html#adbbc7b02d94a4c18646813ac8d7dec1" title="Constant value to mark the end of string.">EOS</a> if end of input is encountered</dd></dl>
<dl class="deprecated" compact><dt><b><a class="el" href="deprecated.html#_deprecated000001">Deprecated:</a></b></dt><dd>This function will be prefixed with <code>lb_</code> in the future. </dd></dl>
</div>
</div><p>
<a class="anchor" name="0e86da0f08579bd9bfeb437f5fab15fe"></a><!-- doxytag: member="linebreakdef.h::set_linebreaks" ref="0e86da0f08579bd9bfeb437f5fab15fe" args="(const void *s, size_t len, const char *lang, char *brks, get_next_char_t get_next_char)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void set_linebreaks </td>
<td>(</td>
<td class="paramtype">const void *&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>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="linebreakdef_8h.html#d76de249e1f8334f318f9ee97ccc77c3">get_next_char_t</a>&nbsp;</td>
<td class="paramname"> <em>get_next_char</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 generic input string.
<p>
<dl compact><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 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#367d64258fd90864a467687cd1736b77" title="Break is mandatory.">LINEBREAK_MUSTBREAK</a>, <a class="el" href="linebreak_8h.html#229f34b0b72ccb2e53d0936a1e61a363" title="Break is allowed.">LINEBREAK_ALLOWBREAK</a>, <a class="el" href="linebreak_8h.html#dd176a107633817050bedf6eb4f491cc" title="No break is possible.">LINEBREAK_NOBREAK</a>, or <a class="el" href="linebreak_8h.html#5adf3d4831b89cb3e40e9bd31a73a39d" title="A UTF-8/16 sequence is unfinished.">LINEBREAK_INSIDEACHAR</a> </td></tr>
<tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>get_next_char</em>&nbsp;</td><td>function to get the next UTF-32 character </td></tr>
</table>
</dl>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="bbd8c6b6e4e1c8ad2da83f23f81ac29a"></a><!-- doxytag: member="linebreakdef.h::lb_prop_default" ref="bbd8c6b6e4e1c8ad2da83f23f81ac29a" args="[]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> <a class="el" href="linebreakdef_8h.html#bbd8c6b6e4e1c8ad2da83f23f81ac29a">lb_prop_default</a>[] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Default line breaking properties as from the Unicode Web site.
<p>
</div>
</div><p>
<a class="anchor" name="82efdfa4115828df9158e183f1a9983d"></a><!-- doxytag: member="linebreakdef.h::lb_prop_lang_map" ref="82efdfa4115828df9158e183f1a9983d" args="[]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structLineBreakPropertiesLang.html">LineBreakPropertiesLang</a> <a class="el" href="linebreakdef_8h.html#82efdfa4115828df9158e183f1a9983d">lb_prop_lang_map</a>[] </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Association data of language-specific line breaking properties with language names.
<p>
This is the definition for the static data in this file. If you want more flexibility, or do not need the data here, you may want to redefine <em>lb_prop_lang_map</em> in your C source file.
</div>
</div><p>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 3 13:20:57 2009 for liblinebreak by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
</body>
</html>