1
0
Fork 0
mirror of https://github.com/geometer/FBReaderJ.git synced 2025-10-05 19:42:17 +02:00

experiments with native liblinebreaks

git-svn-id: https://only.mawhrin.net/repos/FBReaderJ/trunk@1202 6a642e6f-84f6-412e-ac94-c4a38d5a04b0
This commit is contained in:
Nikolay Pultsin 2010-04-09 20:50:27 +00:00
parent 435f966868
commit a168cc2a0c
90 changed files with 4290 additions and 3811 deletions

View file

@ -8,7 +8,8 @@ DONE нарисовать иконку (скопирована иконка ic_m
DELAYED (NP) нарисовать правильную иконку
NP улучшить определение размеров иконок
** сделать стартовые иконки прозрачными
DELAYED сделать стартовые иконки прозрачными
я попробовал, стало хуже
DONE чистить все Notification'ы при завершении NetworkLibrary / BookDownloadService
DONE CRASH: начать загрузку большого каталога --> Нажать кнопку "Home" --> Открыть FBReader --> Открыть библиотеку --> Развернуть каталог
DONE добавлен CatalogDownloaderService

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,9 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := LineBreak
LOCAL_SRC_FILES := linebreak-jni.cpp liblinebreak-2.0/linebreak.c liblinebreak-2.0/linebreakdata.c liblinebreak-2.0/linebreakdef.c
LOCAL_ALLOW_UNDEFINED_SYMBOLS := false
include $(BUILD_SHARED_LIBRARY)

View file

@ -1,32 +1,42 @@
2009-11-29 Wu Yongwei <wuyongwei@gmail.com>
* linebreak.h: Add a documentation comment.
2009-11-29 Wu Yongwei <wuyongwei@gmail.com>
* linebreak.c (baTable): Add the missing changes for `NU' and `AL'.
2009-11-29 Wu Yongwei <wuyongwei@gmail.com>
* linebreak.c (baTable): Fix a comment; reflow the table data.
2009-11-29 Wu Yongwei <wuyongwei@gmail.com>
* Doxyfile (TAB_SIZE): Set to the correct size `4', as used in the
source files.
2009-11-29 Wu Yongwei <wuyongwei@gmail.com>
Update files according to UAX #14-24, for Unicode 5.2.0.
* linebreak.c: Update comments about UAX #14.
* linebreak.h: Ditto.
* linebreakdef.c: Ditto.
* linebreakdef.h: Ditto.
(LBP_CP): New enumerator for the new `CP' class as defined in
UAX #14-24.
* linebreak.c (baTable): Update for the new class `CP'.
* linebreakdata.c: Regenerate from LineBreak-5.2.0.txt.
* README: Update the reference to UAX #14-24, for Unicode 5.2.0.
2009-05-03 Wu Yongwei <wuyongwei@gmail.com>
* configure.ac (AC_INIT): Increase the version to 1.2.
* Doxyfile (PROJECT_NUMBER): Set to 1.2.
* Makefile.am (liblinebreak_la_LDFLAGS): Set the version-info to
`1:2'.
* NEWS: Add information about the 1.2 release.
2009-05-03 Wu Yongwei <wuyongwei@gmail.com>
Deal with a bug in Doxygen when the documentation comment for one
entity is given twice and includes the @deprecated tag.
* linebreak.h (is_line_breakable): Move some of the documentation
comment of is_breakable here.
(is_breakable): Remove the documentation comment since
the result from recent versions of Doxygen is incorrect otherwise.
* linebreakdef.h (get_next_char_utf8): Ditto.
(get_next_char_utf16): Ditto.
(get_next_char_utf32): Ditto.
2009-04-30 Wu Yongwei <wuyongwei@gmail.com>
Optimize the Doxygen output.
* linebreak.c (lb_prop_index): Use the `@deprecated' tag to
deprecate it.
(get_next_char_utf16): Ditto.
(get_next_char_utf32): Ditto.
(is_breakable): Ditto.
(lb_prop_index): Adjust its definition format slightly.
* linebreak.c (lb_prop_index): Adjust its definition format
slightly.
2009-04-30 Wu Yongwei <wuyongwei@gmail.com>
@ -38,61 +48,66 @@
(REFERENCES_RELATION): Ditto.
(EXCLUDE): Add `filter_dup.c'.
2009-04-29 Wu Yongwei <wuyongwei@gmail.com>
2009-04-28 Wu Yongwei <wuyongwei@gmail.com>
* linebreak.c (lb_get_next_char_utf8): Fix the issue that the index
can point to the middle of a UTF-8 sequence if End of String (EOS)
is encountered prematurely (thanks to Nikolay Pultsin and Rick Xu).
(lb_get_next_char_utf16): Fix the issue that the index can point to
the middle of a UTF-16 surrogate pair if EOS is encountered
prematurely.
2009-04-20 Wu Yongwei <wuyongwei@gmail.com>
Backport patches from the main trunk.
* linebreak.c (get_next_char_utf8): Fix the issue that the index can
point to the middle of a UTF-8 sequence if End of String (EOS) is
encountered prematurely (thanks to Nikolay Pultsin and Rick Xu).
(get_next_char_utf16): Fix the issue that the index can point to the
middle of a UTF-16 surrogate pair if EOS is encountered prematurely.
* linebreakdef.c (lb_prop_English): Remove the specialization of
right single quotation mark as closing punctuation mark, because it
can be used as apostrophe.
(lb_prop_Spanish): Ditto.
(lb_prop_French): Ditto.
2009-03-05 Wu Yongwei <wuyongwei@gmail.com>
2009-04-09 Wu Yongwei <wuyongwei@gmail.com>
* configure.ac (AC_INIT): Increase the version to 1.1.1.
* Makefile.msvc: Make the `clean' target work on MSVC versions other
than 6.0; do not use precompiled header.
2009-03-05 Wu Yongwei <wuyongwei@gmail.com>
2009-03-07 Wu Yongwei <wuyongwei@gmail.com>
* linebreak.h: Correct the wrong date in the documentation comment.
* linebreakdef.h: Ditto.
2009-02-06 Wu Yongwei <wuyongwei@gmail.com>
2009-02-10 Wu Yongwei <wuyongwei@gmail.com>
* configure.ac (AC_INIT): Increase the version to 1.1.
* Doxyfile (PROJECT_NUMBER): Set to 1.1.
* configure.ac (AC_INIT): Increase the version to 2.0.
* Makefile.am (liblinebreak_la_LDFLAGS): Set the version-info to
`1:1'.
* NEWS: Add information about the 1.1 release.
`2:0'.
2009-01-29 Wu Yongwei <wuyongwei@gmail.com>
2009-02-10 Wu Yongwei <wuyongwei@gmail.com>
* linebreak.h: Copy function documentation comments from the
definition to the header file.
* linebreakdef.h: Ditto.
* linebreak.h (LINEBREAK_VERSION): New macro.
(linebreak_version): New global constant declaration.
* linebreak.c (linebreak_version): New global constant definition.
2009-01-29 Wu Yongwei <wuyongwei@gmail.com>
2009-02-10 Wu Yongwei <wuyongwei@gmail.com>
Prepare to reduce namespace pollution.
Reduce namespace pollution.
* linebreak.c (get_lb_prop_lang): Mark as static.
(get_next_char_utf8): Add a comment that it will be renamed.
(get_next_char_utf16): Ditto.
(get_next_char_utf32): Ditto.
(is_breakable): Ditto.
* linebreak.h (get_next_char_utf8): Remove the prototype
(get_next_char_utf8): Rename to lb_get_next_char_utf8.
(get_next_char_utf16): Rename to lb_get_next_char_utf32.
(get_next_char_utf32): Rename to lb_get_next_char_utf32.
(is_breakable): Rename to is_line_breakable.
* linebreak.h (get_next_char_utf8): Remove the function prototype
declaration.
(get_next_char_utf16): Ditto.
(get_next_char_utf32): Ditto.
(is_line_breakable): Add the replacement macro for is_breakable to
ease the API change transition.
* linebreakdef.h (get_next_char_utf8): Add the prototype declaration
and comment about renaming.
(get_next_char_utf16): Ditto.
(get_next_char_utf32): Ditto.
(is_breakable): Rename to is_line_breakable.
* linebreakdef.h (lb_get_next_char_utf8): Add the function prototype
declaration.
(lb_get_next_char_utf16): Ditto.
(lb_get_next_char_utf32): Ditto.
2009-02-06 Wu Yongwei <wuyongwei@gmail.com>
* NEWS: Add information about the 1.1 release.
2009-01-02 Wu Yongwei <wuyongwei@gmail.com>

View file

@ -23,7 +23,7 @@ PROJECT_NAME = liblinebreak
# This could be handy for archiving the generated documentation or
# if some version control system is used.
PROJECT_NUMBER = 1.2
PROJECT_NUMBER =
# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
# base path where the generated documentation will be put.
@ -153,7 +153,7 @@ SEPARATE_MEMBER_PAGES = NO
# The TAB_SIZE tag can be used to set the number of spaces in a tab.
# Doxygen uses this value to replace tabs by spaces in code fragments.
TAB_SIZE = 8
TAB_SIZE = 4
# This tag can be used to specify a number of aliases that acts
# as commands in the documentation. An alias has the form "name=value".

View file

@ -2,7 +2,7 @@
include_HEADERS = linebreak.h linebreakdef.h
lib_LTLIBRARIES = liblinebreak.la
liblinebreak_la_LDFLAGS = -no-undefined -version-info 1:2
liblinebreak_la_LDFLAGS = -no-undefined -version-info 2:0
liblinebreak_la_SOURCES = \
linebreak.c \
linebreakdata.c \

View file

@ -202,7 +202,7 @@ top_srcdir = @top_srcdir@
#noinst_PROGRAMS = filter_dup
include_HEADERS = linebreak.h linebreakdef.h
lib_LTLIBRARIES = liblinebreak.la
liblinebreak_la_LDFLAGS = -no-undefined -version-info 1:2
liblinebreak_la_LDFLAGS = -no-undefined -version-info 2:0
liblinebreak_la_SOURCES = \
linebreak.c \
linebreakdata.c \

View file

@ -44,13 +44,13 @@ CLEAN :
-@erase "$(INTDIR)\linebreak.obj"
-@erase "$(INTDIR)\linebreakdata.obj"
-@erase "$(INTDIR)\linebreakdef.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc*.idb"
-@erase "$(OUTDIR)\linebreak.lib"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fp"$(INTDIR)\linebreak.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
CPP_PROJ=/nologo /ML /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\linebreak.bsc"
BSC32_SBRS= \
@ -82,14 +82,14 @@ CLEAN :
-@erase "$(INTDIR)\linebreak.obj"
-@erase "$(INTDIR)\linebreakdata.obj"
-@erase "$(INTDIR)\linebreakdef.obj"
-@erase "$(INTDIR)\vc60.idb"
-@erase "$(INTDIR)\vc60.pdb"
-@erase "$(INTDIR)\vc*.idb"
-@erase "$(INTDIR)\vc*.pdb"
-@erase "$(OUTDIR)\linebreak.lib"
"$(OUTDIR)" :
if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)"
CPP_PROJ=/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fp"$(INTDIR)\linebreak.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
CPP_PROJ=/nologo /MLd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /GZ /c
BSC32=bscmake.exe
BSC32_FLAGS=/nologo /o"$(OUTDIR)\linebreak.bsc"
BSC32_SBRS= \

View file

@ -5,9 +5,9 @@ Overview
--------
This is the README file for liblinebreak, an implementation of the line
breaking algorithm as described in Unicode 5.1.0 Standard Annex 14,
Revision 22, available at
<URL:http://www.unicode.org/reports/tr14/tr14-22.html>
breaking algorithm as described in Unicode 5.2.0 Standard Annex 14,
Revision 24, available at
<URL:http://www.unicode.org/reports/tr14/tr14-24.html>
Check this URL for up-to-date information:
<URL:http://vimgadgets.sourceforge.net/liblinebreak/>
@ -46,7 +46,6 @@ There are three ways to build the library:
- type `make linebreakdata' to regenerate linebreakdata.c from
LineBreak.txt.
2) On systems where GCC and Binutils are supported, one can type
cp -p Makefile.gcc Makefile
@ -78,6 +77,6 @@ Check the generated document doc/html/linebreak_8h.html for the public
interfaces exposed to applications.
$Id: README,v 1.5 2008/12/31 04:24:12 adah Exp $
$Id: README,v 1.6 2009/11/29 08:09:13 adah Exp $
vim:autoindent:expandtab:formatoptions=tcqlmn:textwidth=72:

View file

@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
# Generated by GNU Autoconf 2.61 for liblinebreak 1.2.
# Generated by GNU Autoconf 2.61 for liblinebreak 2.0.
#
# Report bugs to <wuyongwei@gmail.com>.
#
@ -728,8 +728,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='liblinebreak'
PACKAGE_TARNAME='liblinebreak'
PACKAGE_VERSION='1.2'
PACKAGE_STRING='liblinebreak 1.2'
PACKAGE_VERSION='2.0'
PACKAGE_STRING='liblinebreak 2.0'
PACKAGE_BUGREPORT='wuyongwei@gmail.com'
ac_unique_file="linebreak.c"
@ -1390,7 +1390,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
\`configure' configures liblinebreak 1.2 to adapt to many kinds of systems.
\`configure' configures liblinebreak 2.0 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@ -1460,7 +1460,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
short | recursive ) echo "Configuration of liblinebreak 1.2:";;
short | recursive ) echo "Configuration of liblinebreak 2.0:";;
esac
cat <<\_ACEOF
@ -1562,7 +1562,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
liblinebreak configure 1.2
liblinebreak configure 2.0
generated by GNU Autoconf 2.61
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@ -1576,7 +1576,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
It was created by liblinebreak $as_me 1.2, which was
It was created by liblinebreak $as_me 2.0, which was
generated by GNU Autoconf 2.61. Invocation command line was
$ $0 $@
@ -2269,7 +2269,7 @@ fi
# Define the identity of the package.
PACKAGE='liblinebreak'
VERSION='1.2'
VERSION='2.0'
cat >>confdefs.h <<_ACEOF
@ -19577,7 +19577,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
This file was extended by liblinebreak $as_me 1.2, which was
This file was extended by liblinebreak $as_me 2.0, which was
generated by GNU Autoconf 2.61. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@ -19630,7 +19630,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
liblinebreak config.status 1.2
liblinebreak config.status 2.0
configured by $0, generated by GNU Autoconf 2.61,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"

View file

@ -1,5 +1,5 @@
AC_PREREQ(2.57)
AC_INIT([liblinebreak],[1.2],[wuyongwei@gmail.com])
AC_INIT([liblinebreak],[2.0],[wuyongwei@gmail.com])
AC_CONFIG_SRCDIR([linebreak.c])
AC_CONFIG_HEADERS([config.h])
AM_INIT_AUTOMAKE([foreign])

View file

@ -1,15 +1,17 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<!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: Data Structures</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 -->
<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="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
@ -29,8 +31,8 @@
<tr><td class="indexkey"><a class="el" href="structLineBreakPropertiesLang.html">LineBreakPropertiesLang</a></td><td class="indexvalue">Struct for association of language-specific line breaking properties with language names </td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 3 13:20:57 2009 for liblinebreak by&nbsp;
<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 src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View file

@ -1,15 +1,17 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<!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: Alphabetical List</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 -->
<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="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
@ -23,13 +25,13 @@
</div>
</div>
<div class="contents">
<h1>Data Structure Index</h1><p><div class="qindex"><a class="qindex" href="#letter_L">L</a></div><p>
<h1>Data Structure Index</h1><div class="qindex"><a class="qindex" href="#letter_L">L</a></div>
<table align="center" width="95%" border="0" cellspacing="0" cellpadding="0">
<tr><td><a name="letter_L"></a><table border="0" cellspacing="0" cellpadding="0"><tr><td><div class="ah">&nbsp;&nbsp;L&nbsp;&nbsp;</div></td></tr></table>
</td><td><a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structLineBreakPropertiesIndex.html">LineBreakPropertiesIndex</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structLineBreakPropertiesLang.html">LineBreakPropertiesLang</a>&nbsp;&nbsp;&nbsp;</td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_L">L</a></div><p>
</td><td><a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structLineBreakPropertiesIndex.html">LineBreakPropertiesIndex</a>&nbsp;&nbsp;&nbsp;</td><td><a class="el" href="structLineBreakPropertiesLang.html">LineBreakPropertiesLang</a>&nbsp;&nbsp;&nbsp;</td></tr></table><div class="qindex"><a class="qindex" href="#letter_L">L</a></div>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 3 13:20:57 2009 for liblinebreak by&nbsp;
<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 src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View file

@ -1,3 +1,5 @@
/* The standard CSS for doxygen */
body, table, div, p, dl {
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
font-size: 12px;
@ -18,12 +20,40 @@ h3 {
font-size: 100%;
}
dt {
font-weight: bold;
}
div.multicol {
-moz-column-gap: 1em;
-webkit-column-gap: 1em;
-moz-column-count: 3;
-webkit-column-count: 3;
}
p.startli, p.startdd {
margin-top: 2px;
}
p.endli {
margin-bottom: 0px;
}
p.enddd {
margin-bottom: 4px;
}
/* @end */
caption {
font-weight: bold;
}
span.legend {
font-size: 70%;
text-align: center;
}
div.qindex, div.navtab{
background-color: #e8eef2;
border: 1px solid #84b0c7;
@ -161,6 +191,22 @@ img.formulaInl {
vertical-align: middle;
}
div.center {
text-align: center;
margin-top: 0px;
margin-bottom: 0px;
padding: 0px;
}
div.center img {
border: 0px;
}
img.footer {
border: 0px;
vertical-align: middle;
}
/* @group Code Colorization */
span.keyword {
@ -267,8 +313,13 @@ hr {
border-top: 1px solid #ccc;
}
.memItemLeft, .memTemplItemLeft {
white-space: nowrap;
}
.memTemplParams {
color: #606060;
white-space: nowrap;
}
/* @end */
@ -295,6 +346,7 @@ hr {
.memitem {
padding: 0;
margin-bottom: 10px;
}
.memname {
@ -312,8 +364,11 @@ hr {
font-weight: bold;
-webkit-border-top-left-radius: 8px;
-webkit-border-top-right-radius: 8px;
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-moz-border-radius-topleft: 8px;
-moz-border-radius-topright: 8px;
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
}
.memdoc {
@ -322,8 +377,10 @@ hr {
border-top-width: 0;
-webkit-border-bottom-left-radius: 8px;
-webkit-border-bottom-right-radius: 8px;
-webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15);
-moz-border-radius-bottomleft: 8px;
-moz-border-radius-bottomright: 8px;
-moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px;
}
.paramkey {

View file

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

Before After
Before After

View file

@ -1,15 +1,17 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<!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: File Index</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 -->
<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="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>
@ -30,8 +32,8 @@
<tr><td class="indexkey"><a class="el" href="linebreakdef_8h.html">linebreakdef.h</a> <a href="linebreakdef_8h_source.html">[code]</a></td><td class="indexvalue">Definitions of internal data structures, declarations of global variables, and function prototypes for the line breaking algorithm </td></tr>
</table>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 3 13:20:57 2009 for liblinebreak by&nbsp;
<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 src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View file

@ -0,0 +1,61 @@
<!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: Data Fields</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 class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
<li class="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li class="current"><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
</div>
<div class="contents">
Here is a list of all struct and union fields with links to the structures/unions they belong to:<ul>
<li>end
: <a class="el" href="structLineBreakPropertiesIndex.html#a7a5207276632f772309f8cf2877c9eae">LineBreakPropertiesIndex</a>
, <a class="el" href="structLineBreakProperties.html#af6ff463e88f6c694661aa10222404a14">LineBreakProperties</a>
</li>
<li>lang
: <a class="el" href="structLineBreakPropertiesLang.html#ae961b49d11e272adc590cf06e9f6100d">LineBreakPropertiesLang</a>
</li>
<li>lbp
: <a class="el" href="structLineBreakPropertiesLang.html#ae4b7339a372a0ccbf97e380aa440ff9d">LineBreakPropertiesLang</a>
, <a class="el" href="structLineBreakPropertiesIndex.html#ade56f82faa0703e4eafddb0fc4ba6528">LineBreakPropertiesIndex</a>
</li>
<li>namelen
: <a class="el" href="structLineBreakPropertiesLang.html#ab5132ed92c5964a5cfecbb21de206488">LineBreakPropertiesLang</a>
</li>
<li>prop
: <a class="el" href="structLineBreakProperties.html#a46d34ea3f514f8f082d92a441a6665ba">LineBreakProperties</a>
</li>
<li>start
: <a class="el" href="structLineBreakProperties.html#a1fe368ff9b53f52305c8dca687395372">LineBreakProperties</a>
</li>
</ul>
</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>

View file

@ -0,0 +1,61 @@
<!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: Data Fields - Variables</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 class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
<li class="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="functions.html"><span>All</span></a></li>
<li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;<ul>
<li>end
: <a class="el" href="structLineBreakPropertiesIndex.html#a7a5207276632f772309f8cf2877c9eae">LineBreakPropertiesIndex</a>
, <a class="el" href="structLineBreakProperties.html#af6ff463e88f6c694661aa10222404a14">LineBreakProperties</a>
</li>
<li>lang
: <a class="el" href="structLineBreakPropertiesLang.html#ae961b49d11e272adc590cf06e9f6100d">LineBreakPropertiesLang</a>
</li>
<li>lbp
: <a class="el" href="structLineBreakPropertiesLang.html#ae4b7339a372a0ccbf97e380aa440ff9d">LineBreakPropertiesLang</a>
, <a class="el" href="structLineBreakPropertiesIndex.html#ade56f82faa0703e4eafddb0fc4ba6528">LineBreakPropertiesIndex</a>
</li>
<li>namelen
: <a class="el" href="structLineBreakPropertiesLang.html#ab5132ed92c5964a5cfecbb21de206488">LineBreakPropertiesLang</a>
</li>
<li>prop
: <a class="el" href="structLineBreakProperties.html#a46d34ea3f514f8f082d92a441a6665ba">LineBreakProperties</a>
</li>
<li>start
: <a class="el" href="structLineBreakProperties.html#a1fe368ff9b53f52305c8dca687395372">LineBreakProperties</a>
</li>
</ul>
</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>

View file

@ -0,0 +1,359 @@
<!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: Data Fields</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 class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li class="current"><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
</ul>
</div>
</div>
<div class="contents">
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
<h3><a class="anchor" id="index_b">- b -</a></h3><ul>
<li>baTable
: <a class="el" href="linebreak_8c.html#ae334fc5c93e9d07c1f6731774cdc07d4">linebreak.c</a>
</li>
<li>BreakAction
: <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8d">linebreak.c</a>
</li>
</ul>
<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
<li>CM_INDIRECT_BRK
: <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8da3e854663bba91b604d4a5f633b62c74a">linebreak.c</a>
</li>
<li>CM_PROHIBITED_BRK
: <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8da9ae64fb627a84203f331f718eaf942c8">linebreak.c</a>
</li>
</ul>
<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
<li>DIRECT_BRK
: <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8da570708fb66d60c437dc3e8c1c784eef6">linebreak.c</a>
</li>
</ul>
<h3><a class="anchor" id="index_e">- e -</a></h3><ul>
<li>EOS
: <a class="el" href="linebreakdef_8h.html#aadbbc7b02d94a4c18646813ac8d7dec1">linebreakdef.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_g">- g -</a></h3><ul>
<li>get_char_lb_class()
: <a class="el" href="linebreak_8c.html#a4eb765d3c50b5be0f694f9dd875bf5bb">linebreak.c</a>
</li>
<li>get_char_lb_class_default()
: <a class="el" href="linebreak_8c.html#aa8be95ab8e6ee731e55279772b5aec91">linebreak.c</a>
</li>
<li>get_char_lb_class_lang()
: <a class="el" href="linebreak_8c.html#a41ec5a32a31d007d60ea57caa38a2f3e">linebreak.c</a>
</li>
<li>get_lb_prop_lang()
: <a class="el" href="linebreak_8c.html#aec14ede6c9c839852210a729274c7fbc">linebreak.c</a>
</li>
<li>get_next_char_t
: <a class="el" href="linebreakdef_8h.html#ad76de249e1f8334f318f9ee97ccc77c3">linebreakdef.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
<li>INDIRECT_BRK
: <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8da246deb66413ac197d95680d31d4d5436">linebreak.c</a>
</li>
<li>init_linebreak()
: <a class="el" href="linebreak_8c.html#a57c2b88b7e1277cbba23cfffbc782c4f">linebreak.c</a>
, <a class="el" href="linebreak_8h.html#a57c2b88b7e1277cbba23cfffbc782c4f">linebreak.h</a>
</li>
<li>is_line_breakable()
: <a class="el" href="linebreak_8c.html#a5761f60559b5ddb61bb095f00c7deb5c">linebreak.c</a>
, <a class="el" href="linebreak_8h.html#a5761f60559b5ddb61bb095f00c7deb5c">linebreak.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
<li>lb_get_next_char_utf16()
: <a class="el" href="linebreak_8c.html#aa1664feb525e6bf1efbe8566547708be">linebreak.c</a>
, <a class="el" href="linebreakdef_8h.html#aa1664feb525e6bf1efbe8566547708be">linebreakdef.h</a>
</li>
<li>lb_get_next_char_utf32()
: <a class="el" href="linebreakdef_8h.html#a1f8bc7169caccfa444e75274b55e6721">linebreakdef.h</a>
, <a class="el" href="linebreak_8c.html#a1f8bc7169caccfa444e75274b55e6721">linebreak.c</a>
</li>
<li>lb_get_next_char_utf8()
: <a class="el" href="linebreak_8c.html#a5ffc31765568becd8b9eb08a3916ab4b">linebreak.c</a>
, <a class="el" href="linebreakdef_8h.html#a5ffc31765568becd8b9eb08a3916ab4b">linebreakdef.h</a>
</li>
<li>lb_prop_Chinese
: <a class="el" href="linebreakdef_8c.html#a945fbc26db32e1f4fbce4f6e9ae70189">linebreakdef.c</a>
</li>
<li>lb_prop_default
: <a class="el" href="linebreakdata_8c.html#abbd8c6b6e4e1c8ad2da83f23f81ac29a">linebreakdata.c</a>
, <a class="el" href="linebreakdef_8h.html#abbd8c6b6e4e1c8ad2da83f23f81ac29a">linebreakdef.h</a>
</li>
<li>lb_prop_English
: <a class="el" href="linebreakdef_8c.html#acb15b3309e7e1c7a48da9535c4e2855f">linebreakdef.c</a>
</li>
<li>lb_prop_French
: <a class="el" href="linebreakdef_8c.html#af75c60d3b0f882032e6932da25b9c9fa">linebreakdef.c</a>
</li>
<li>lb_prop_German
: <a class="el" href="linebreakdef_8c.html#ac39e3f65a289864edb8a38a201481627">linebreakdef.c</a>
</li>
<li>lb_prop_index
: <a class="el" href="linebreak_8c.html#a5f6f6df49c934134e8fb043ce6230931">linebreak.c</a>
</li>
<li>lb_prop_lang_map
: <a class="el" href="linebreakdef_8c.html#a82efdfa4115828df9158e183f1a9983d">linebreakdef.c</a>
, <a class="el" href="linebreakdef_8h.html#a82efdfa4115828df9158e183f1a9983d">linebreakdef.h</a>
</li>
<li>lb_prop_Russian
: <a class="el" href="linebreakdef_8c.html#a980ede377c1ded0d24a58fb429f237f4">linebreakdef.c</a>
</li>
<li>lb_prop_Spanish
: <a class="el" href="linebreakdef_8c.html#a41ee5277b95d453efdfb0e0242e1cb5f">linebreakdef.c</a>
</li>
<li>LBP_AI
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac9dcacac1d71f0f8ca7bbfe670620dd3">linebreakdef.h</a>
</li>
<li>LBP_AL
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a99a0353e48d4453d0acf01da43655281">linebreakdef.h</a>
</li>
<li>LBP_B2
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a46fe18e486c79c3835a587fb15ad0c63">linebreakdef.h</a>
</li>
<li>LBP_BA
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a8487a95ef080e81a013162e107a4bc74">linebreakdef.h</a>
</li>
<li>LBP_BB
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a98dbcbc080626fbc0ff7d4f2b8b86d7d">linebreakdef.h</a>
</li>
<li>LBP_BK
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7b0aae40955328f649ec66b23ecf1626">linebreakdef.h</a>
</li>
<li>LBP_CB
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a485f9b3c86d8b6f800bba048f1bf47b1">linebreakdef.h</a>
</li>
<li>LBP_CL
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d">linebreakdef.h</a>
</li>
<li>LBP_CM
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ade6aff21f968efc84109e502c5c469c1">linebreakdef.h</a>
</li>
<li>LBP_CP
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac722dfa01172dc818ac7b88296ab8bbb">linebreakdef.h</a>
</li>
<li>LBP_CR
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a8f6991e8defca4aa9e6485dbb32628a2">linebreakdef.h</a>
</li>
<li>LBP_EX
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a694a3a0a4cf1649ca938e4cb8064f3b0">linebreakdef.h</a>
</li>
<li>LBP_GL
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a0550bdd01f16132d2897fc5000f58df7">linebreakdef.h</a>
</li>
<li>LBP_H2
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a87a5464b708121503da98654e02c2cfc">linebreakdef.h</a>
</li>
<li>LBP_H3
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ae898c79c281f9d12c4adfa12834f4380">linebreakdef.h</a>
</li>
<li>LBP_HY
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7cf4d61e77f0d1f8974f1b21379d2883">linebreakdef.h</a>
</li>
<li>LBP_ID
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a277e68f51ab2a52445f0e7e219b8bd55">linebreakdef.h</a>
</li>
<li>LBP_IN
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ae5285b1bd6bf868b1655b8ad3cb9cc73">linebreakdef.h</a>
</li>
<li>LBP_IS
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a98ddb858ed33918bce8784a60c36712e">linebreakdef.h</a>
</li>
<li>LBP_JL
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a2cb194fd3b6e0295a134ad735f8f75eb">linebreakdef.h</a>
</li>
<li>LBP_JT
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7851519f0dac4f922b4144315bb711bf">linebreakdef.h</a>
</li>
<li>LBP_JV
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7759e3988158319f9efe87e322804cd8">linebreakdef.h</a>
</li>
<li>LBP_LF
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a944522607828ef422c419633f68c8cab">linebreakdef.h</a>
</li>
<li>LBP_NL
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070acfefd6df8344cc5601ce7786aee51fcf">linebreakdef.h</a>
</li>
<li>LBP_NS
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a1cbbcff8d381e12574aec3679990e3f0">linebreakdef.h</a>
</li>
<li>LBP_NU
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7d6ec3c06dfdee326bca876365e5be28">linebreakdef.h</a>
</li>
<li>LBP_OP
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3">linebreakdef.h</a>
</li>
<li>LBP_PO
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac7d5be8568020554e49bb4c01ca1fdba">linebreakdef.h</a>
</li>
<li>LBP_PR
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a985024038b0a61a40df014013daa7d57">linebreakdef.h</a>
</li>
<li>LBP_QU
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac39763b5b0557dddcec94a381ef30f4e">linebreakdef.h</a>
</li>
<li>LBP_SA
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a38b102b238de030fe74906fb0fcfb769">linebreakdef.h</a>
</li>
<li>LBP_SG
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ad6764678f5d80d86324a6f29c0561817">linebreakdef.h</a>
</li>
<li>LBP_SP
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7605e7c192d43e2ef0596e92446dfba4">linebreakdef.h</a>
</li>
<li>LBP_SY
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a47f9a3d5b87cd350905f552ffa3da097">linebreakdef.h</a>
</li>
<li>LBP_Undefined
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a926181b709c80b3b50e929c2a151b723">linebreakdef.h</a>
</li>
<li>LBP_WJ
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a00085861924d3758649cfd7dc0ec3daa">linebreakdef.h</a>
</li>
<li>LBP_XX
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a49450c35ed2a20d252e707322964bdf0">linebreakdef.h</a>
</li>
<li>LBP_ZW
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070aa58613e52b70bda371b48ca2d89d85ee">linebreakdef.h</a>
</li>
<li>LINEBREAK_ALLOWBREAK
: <a class="el" href="linebreak_8h.html#a229f34b0b72ccb2e53d0936a1e61a363">linebreak.h</a>
</li>
<li>LINEBREAK_INDEX_SIZE
: <a class="el" href="linebreak_8c.html#a0ba826ea7bf9cd9038b146bb3572dbf0">linebreak.c</a>
</li>
<li>LINEBREAK_INSIDEACHAR
: <a class="el" href="linebreak_8h.html#a5adf3d4831b89cb3e40e9bd31a73a39d">linebreak.h</a>
</li>
<li>LINEBREAK_MUSTBREAK
: <a class="el" href="linebreak_8h.html#a367d64258fd90864a467687cd1736b77">linebreak.h</a>
</li>
<li>LINEBREAK_NOBREAK
: <a class="el" href="linebreak_8h.html#add176a107633817050bedf6eb4f491cc">linebreak.h</a>
</li>
<li>linebreak_version
: <a class="el" href="linebreak_8h.html#a0ac90a75aa79415fe87e66b95d8fd09b">linebreak.h</a>
</li>
<li>LINEBREAK_VERSION
: <a class="el" href="linebreak_8h.html#a83634cb3df4ba09faf22ba687ffc4c02">linebreak.h</a>
</li>
<li>linebreak_version
: <a class="el" href="linebreak_8c.html#a0ac90a75aa79415fe87e66b95d8fd09b">linebreak.c</a>
</li>
<li>LineBreakClass
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">linebreakdef.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
<li>PROHIBITED_BRK
: <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8dac31d10dc16c2e583ceb6c7e198fc9799">linebreak.c</a>
</li>
</ul>
<h3><a class="anchor" id="index_r">- r -</a></h3><ul>
<li>resolve_lb_class()
: <a class="el" href="linebreak_8c.html#aa42b073302ff3325b087b61c78bf4841">linebreak.c</a>
</li>
</ul>
<h3><a class="anchor" id="index_s">- s -</a></h3><ul>
<li>set_linebreaks()
: <a class="el" href="linebreak_8c.html#a0e86da0f08579bd9bfeb437f5fab15fe">linebreak.c</a>
, <a class="el" href="linebreakdef_8h.html#a0e86da0f08579bd9bfeb437f5fab15fe">linebreakdef.h</a>
</li>
<li>set_linebreaks_utf16()
: <a class="el" href="linebreak_8h.html#a1d56bce2d32cd986052172638cec43c8">linebreak.h</a>
, <a class="el" href="linebreak_8c.html#a1d56bce2d32cd986052172638cec43c8">linebreak.c</a>
</li>
<li>set_linebreaks_utf32()
: <a class="el" href="linebreak_8c.html#a9fdce33b4ded9d586888c16228ae9e1f">linebreak.c</a>
, <a class="el" href="linebreak_8h.html#a9fdce33b4ded9d586888c16228ae9e1f">linebreak.h</a>
</li>
<li>set_linebreaks_utf8()
: <a class="el" href="linebreak_8h.html#ab426e9cf68117faf583a0ed54742cb28">linebreak.h</a>
, <a class="el" href="linebreak_8c.html#ab426e9cf68117faf583a0ed54742cb28">linebreak.c</a>
</li>
</ul>
<h3><a class="anchor" id="index_u">- u -</a></h3><ul>
<li>utf16_t
: <a class="el" href="linebreak_8h.html#a4dce96cad338d9281612277b2d80950c">linebreak.h</a>
</li>
<li>utf32_t
: <a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">linebreak.h</a>
</li>
<li>utf8_t
: <a class="el" href="linebreak_8h.html#a6103b2105588f239c593e779e605038a">linebreak.h</a>
</li>
</ul>
</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>

View file

@ -0,0 +1,66 @@
<!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: Data Fields</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 class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;<ul>
<li>EOS
: <a class="el" href="linebreakdef_8h.html#aadbbc7b02d94a4c18646813ac8d7dec1">linebreakdef.h</a>
</li>
<li>LINEBREAK_ALLOWBREAK
: <a class="el" href="linebreak_8h.html#a229f34b0b72ccb2e53d0936a1e61a363">linebreak.h</a>
</li>
<li>LINEBREAK_INDEX_SIZE
: <a class="el" href="linebreak_8c.html#a0ba826ea7bf9cd9038b146bb3572dbf0">linebreak.c</a>
</li>
<li>LINEBREAK_INSIDEACHAR
: <a class="el" href="linebreak_8h.html#a5adf3d4831b89cb3e40e9bd31a73a39d">linebreak.h</a>
</li>
<li>LINEBREAK_MUSTBREAK
: <a class="el" href="linebreak_8h.html#a367d64258fd90864a467687cd1736b77">linebreak.h</a>
</li>
<li>LINEBREAK_NOBREAK
: <a class="el" href="linebreak_8h.html#add176a107633817050bedf6eb4f491cc">linebreak.h</a>
</li>
<li>LINEBREAK_VERSION
: <a class="el" href="linebreak_8h.html#a83634cb3df4ba09faf22ba687ffc4c02">linebreak.h</a>
</li>
</ul>
</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>

View file

@ -1,15 +1,17 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<!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: Data Fields</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 -->
<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="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>
@ -33,17 +35,17 @@
</div>
</div>
<div class="contents">
&nbsp;
<p>
<ul>
&nbsp;<ul>
<li>BreakAction
: <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d">linebreak.c</a>
: <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8d">linebreak.c</a>
</li>
<li>LineBreakClass
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">linebreakdef.h</a>
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">linebreakdef.h</a>
</li>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 3 13:20:57 2009 for liblinebreak by&nbsp;
<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 src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View file

@ -0,0 +1,201 @@
<!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: Data Fields</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 class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;
<h3><a class="anchor" id="index_c">- c -</a></h3><ul>
<li>CM_INDIRECT_BRK
: <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8da3e854663bba91b604d4a5f633b62c74a">linebreak.c</a>
</li>
<li>CM_PROHIBITED_BRK
: <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8da9ae64fb627a84203f331f718eaf942c8">linebreak.c</a>
</li>
</ul>
<h3><a class="anchor" id="index_d">- d -</a></h3><ul>
<li>DIRECT_BRK
: <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8da570708fb66d60c437dc3e8c1c784eef6">linebreak.c</a>
</li>
</ul>
<h3><a class="anchor" id="index_i">- i -</a></h3><ul>
<li>INDIRECT_BRK
: <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8da246deb66413ac197d95680d31d4d5436">linebreak.c</a>
</li>
</ul>
<h3><a class="anchor" id="index_l">- l -</a></h3><ul>
<li>LBP_AI
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac9dcacac1d71f0f8ca7bbfe670620dd3">linebreakdef.h</a>
</li>
<li>LBP_AL
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a99a0353e48d4453d0acf01da43655281">linebreakdef.h</a>
</li>
<li>LBP_B2
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a46fe18e486c79c3835a587fb15ad0c63">linebreakdef.h</a>
</li>
<li>LBP_BA
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a8487a95ef080e81a013162e107a4bc74">linebreakdef.h</a>
</li>
<li>LBP_BB
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a98dbcbc080626fbc0ff7d4f2b8b86d7d">linebreakdef.h</a>
</li>
<li>LBP_BK
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7b0aae40955328f649ec66b23ecf1626">linebreakdef.h</a>
</li>
<li>LBP_CB
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a485f9b3c86d8b6f800bba048f1bf47b1">linebreakdef.h</a>
</li>
<li>LBP_CL
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d">linebreakdef.h</a>
</li>
<li>LBP_CM
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ade6aff21f968efc84109e502c5c469c1">linebreakdef.h</a>
</li>
<li>LBP_CP
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac722dfa01172dc818ac7b88296ab8bbb">linebreakdef.h</a>
</li>
<li>LBP_CR
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a8f6991e8defca4aa9e6485dbb32628a2">linebreakdef.h</a>
</li>
<li>LBP_EX
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a694a3a0a4cf1649ca938e4cb8064f3b0">linebreakdef.h</a>
</li>
<li>LBP_GL
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a0550bdd01f16132d2897fc5000f58df7">linebreakdef.h</a>
</li>
<li>LBP_H2
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a87a5464b708121503da98654e02c2cfc">linebreakdef.h</a>
</li>
<li>LBP_H3
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ae898c79c281f9d12c4adfa12834f4380">linebreakdef.h</a>
</li>
<li>LBP_HY
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7cf4d61e77f0d1f8974f1b21379d2883">linebreakdef.h</a>
</li>
<li>LBP_ID
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a277e68f51ab2a52445f0e7e219b8bd55">linebreakdef.h</a>
</li>
<li>LBP_IN
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ae5285b1bd6bf868b1655b8ad3cb9cc73">linebreakdef.h</a>
</li>
<li>LBP_IS
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a98ddb858ed33918bce8784a60c36712e">linebreakdef.h</a>
</li>
<li>LBP_JL
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a2cb194fd3b6e0295a134ad735f8f75eb">linebreakdef.h</a>
</li>
<li>LBP_JT
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7851519f0dac4f922b4144315bb711bf">linebreakdef.h</a>
</li>
<li>LBP_JV
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7759e3988158319f9efe87e322804cd8">linebreakdef.h</a>
</li>
<li>LBP_LF
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a944522607828ef422c419633f68c8cab">linebreakdef.h</a>
</li>
<li>LBP_NL
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070acfefd6df8344cc5601ce7786aee51fcf">linebreakdef.h</a>
</li>
<li>LBP_NS
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a1cbbcff8d381e12574aec3679990e3f0">linebreakdef.h</a>
</li>
<li>LBP_NU
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7d6ec3c06dfdee326bca876365e5be28">linebreakdef.h</a>
</li>
<li>LBP_OP
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3">linebreakdef.h</a>
</li>
<li>LBP_PO
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac7d5be8568020554e49bb4c01ca1fdba">linebreakdef.h</a>
</li>
<li>LBP_PR
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a985024038b0a61a40df014013daa7d57">linebreakdef.h</a>
</li>
<li>LBP_QU
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac39763b5b0557dddcec94a381ef30f4e">linebreakdef.h</a>
</li>
<li>LBP_SA
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a38b102b238de030fe74906fb0fcfb769">linebreakdef.h</a>
</li>
<li>LBP_SG
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ad6764678f5d80d86324a6f29c0561817">linebreakdef.h</a>
</li>
<li>LBP_SP
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7605e7c192d43e2ef0596e92446dfba4">linebreakdef.h</a>
</li>
<li>LBP_SY
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a47f9a3d5b87cd350905f552ffa3da097">linebreakdef.h</a>
</li>
<li>LBP_Undefined
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a926181b709c80b3b50e929c2a151b723">linebreakdef.h</a>
</li>
<li>LBP_WJ
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a00085861924d3758649cfd7dc0ec3daa">linebreakdef.h</a>
</li>
<li>LBP_XX
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a49450c35ed2a20d252e707322964bdf0">linebreakdef.h</a>
</li>
<li>LBP_ZW
: <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070aa58613e52b70bda371b48ca2d89d85ee">linebreakdef.h</a>
</li>
</ul>
<h3><a class="anchor" id="index_p">- p -</a></h3><ul>
<li>PROHIBITED_BRK
: <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8dac31d10dc16c2e583ceb6c7e198fc9799">linebreak.c</a>
</li>
</ul>
</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>

View file

@ -0,0 +1,96 @@
<!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: Data Fields</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 class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;<ul>
<li>get_char_lb_class()
: <a class="el" href="linebreak_8c.html#a4eb765d3c50b5be0f694f9dd875bf5bb">linebreak.c</a>
</li>
<li>get_char_lb_class_default()
: <a class="el" href="linebreak_8c.html#aa8be95ab8e6ee731e55279772b5aec91">linebreak.c</a>
</li>
<li>get_char_lb_class_lang()
: <a class="el" href="linebreak_8c.html#a41ec5a32a31d007d60ea57caa38a2f3e">linebreak.c</a>
</li>
<li>get_lb_prop_lang()
: <a class="el" href="linebreak_8c.html#aec14ede6c9c839852210a729274c7fbc">linebreak.c</a>
</li>
<li>init_linebreak()
: <a class="el" href="linebreak_8c.html#a57c2b88b7e1277cbba23cfffbc782c4f">linebreak.c</a>
, <a class="el" href="linebreak_8h.html#a57c2b88b7e1277cbba23cfffbc782c4f">linebreak.h</a>
</li>
<li>is_line_breakable()
: <a class="el" href="linebreak_8c.html#a5761f60559b5ddb61bb095f00c7deb5c">linebreak.c</a>
, <a class="el" href="linebreak_8h.html#a5761f60559b5ddb61bb095f00c7deb5c">linebreak.h</a>
</li>
<li>lb_get_next_char_utf16()
: <a class="el" href="linebreak_8c.html#aa1664feb525e6bf1efbe8566547708be">linebreak.c</a>
, <a class="el" href="linebreakdef_8h.html#aa1664feb525e6bf1efbe8566547708be">linebreakdef.h</a>
</li>
<li>lb_get_next_char_utf32()
: <a class="el" href="linebreakdef_8h.html#a1f8bc7169caccfa444e75274b55e6721">linebreakdef.h</a>
, <a class="el" href="linebreak_8c.html#a1f8bc7169caccfa444e75274b55e6721">linebreak.c</a>
</li>
<li>lb_get_next_char_utf8()
: <a class="el" href="linebreakdef_8h.html#a5ffc31765568becd8b9eb08a3916ab4b">linebreakdef.h</a>
, <a class="el" href="linebreak_8c.html#a5ffc31765568becd8b9eb08a3916ab4b">linebreak.c</a>
</li>
<li>resolve_lb_class()
: <a class="el" href="linebreak_8c.html#aa42b073302ff3325b087b61c78bf4841">linebreak.c</a>
</li>
<li>set_linebreaks()
: <a class="el" href="linebreak_8c.html#a0e86da0f08579bd9bfeb437f5fab15fe">linebreak.c</a>
, <a class="el" href="linebreakdef_8h.html#a0e86da0f08579bd9bfeb437f5fab15fe">linebreakdef.h</a>
</li>
<li>set_linebreaks_utf16()
: <a class="el" href="linebreak_8h.html#a1d56bce2d32cd986052172638cec43c8">linebreak.h</a>
, <a class="el" href="linebreak_8c.html#a1d56bce2d32cd986052172638cec43c8">linebreak.c</a>
</li>
<li>set_linebreaks_utf32()
: <a class="el" href="linebreak_8c.html#a9fdce33b4ded9d586888c16228ae9e1f">linebreak.c</a>
, <a class="el" href="linebreak_8h.html#a9fdce33b4ded9d586888c16228ae9e1f">linebreak.h</a>
</li>
<li>set_linebreaks_utf8()
: <a class="el" href="linebreak_8h.html#ab426e9cf68117faf583a0ed54742cb28">linebreak.h</a>
, <a class="el" href="linebreak_8c.html#ab426e9cf68117faf583a0ed54742cb28">linebreak.c</a>
</li>
</ul>
</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>

View file

@ -1,15 +1,17 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<!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: Data Fields</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 -->
<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="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>
@ -33,21 +35,23 @@
</div>
</div>
<div class="contents">
&nbsp;
<p>
<ul>
&nbsp;<ul>
<li>get_next_char_t
: <a class="el" href="linebreakdef_8h.html#d76de249e1f8334f318f9ee97ccc77c3">linebreakdef.h</a>
: <a class="el" href="linebreakdef_8h.html#ad76de249e1f8334f318f9ee97ccc77c3">linebreakdef.h</a>
</li>
<li>utf16_t
: <a class="el" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c">linebreak.h</a>
: <a class="el" href="linebreak_8h.html#a4dce96cad338d9281612277b2d80950c">linebreak.h</a>
</li>
<li>utf32_t
: <a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">linebreak.h</a>
: <a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">linebreak.h</a>
</li>
<li>utf8_t
: <a class="el" href="linebreak_8h.html#6103b2105588f239c593e779e605038a">linebreak.h</a>
: <a class="el" href="linebreak_8h.html#a6103b2105588f239c593e779e605038a">linebreak.h</a>
</li>
</ul>
</div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 3 13:20:57 2009 for liblinebreak by&nbsp;
<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 src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address>
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
</body>
</html>

View file

@ -0,0 +1,81 @@
<!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: Data Fields</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 class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;<ul>
<li>baTable
: <a class="el" href="linebreak_8c.html#ae334fc5c93e9d07c1f6731774cdc07d4">linebreak.c</a>
</li>
<li>lb_prop_Chinese
: <a class="el" href="linebreakdef_8c.html#a945fbc26db32e1f4fbce4f6e9ae70189">linebreakdef.c</a>
</li>
<li>lb_prop_default
: <a class="el" href="linebreakdata_8c.html#abbd8c6b6e4e1c8ad2da83f23f81ac29a">linebreakdata.c</a>
, <a class="el" href="linebreakdef_8h.html#abbd8c6b6e4e1c8ad2da83f23f81ac29a">linebreakdef.h</a>
</li>
<li>lb_prop_English
: <a class="el" href="linebreakdef_8c.html#acb15b3309e7e1c7a48da9535c4e2855f">linebreakdef.c</a>
</li>
<li>lb_prop_French
: <a class="el" href="linebreakdef_8c.html#af75c60d3b0f882032e6932da25b9c9fa">linebreakdef.c</a>
</li>
<li>lb_prop_German
: <a class="el" href="linebreakdef_8c.html#ac39e3f65a289864edb8a38a201481627">linebreakdef.c</a>
</li>
<li>lb_prop_index
: <a class="el" href="linebreak_8c.html#a5f6f6df49c934134e8fb043ce6230931">linebreak.c</a>
</li>
<li>lb_prop_lang_map
: <a class="el" href="linebreakdef_8c.html#a82efdfa4115828df9158e183f1a9983d">linebreakdef.c</a>
, <a class="el" href="linebreakdef_8h.html#a82efdfa4115828df9158e183f1a9983d">linebreakdef.h</a>
</li>
<li>lb_prop_Russian
: <a class="el" href="linebreakdef_8c.html#a980ede377c1ded0d24a58fb429f237f4">linebreakdef.c</a>
</li>
<li>lb_prop_Spanish
: <a class="el" href="linebreakdef_8c.html#a41ee5277b95d453efdfb0e0242e1cb5f">linebreakdef.c</a>
</li>
<li>linebreak_version
: <a class="el" href="linebreak_8h.html#a0ac90a75aa79415fe87e66b95d8fd09b">linebreak.h</a>
, <a class="el" href="linebreak_8c.html#a0ac90a75aa79415fe87e66b95d8fd09b">linebreak.c</a>
</li>
</ul>
</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>

View file

@ -0,0 +1,26 @@
<!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: Main Page</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 class="current"><a href="index.html"><span>Main&nbsp;Page</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>liblinebreak Documentation</h1></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>

View file

@ -0,0 +1,780 @@
<!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.c 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.c File Reference</h1>
<p>Implementation of the line breaking algorithm as described in Unicode Standard Annex 14.
<a href="#_details">More...</a></p>
<code>#include &lt;assert.h&gt;</code><br/>
<code>#include &lt;stddef.h&gt;</code><br/>
<code>#include &lt;string.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="linebreak_8h_source.html">linebreak.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>&quot;</code><br/>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesIndex.html">LineBreakPropertiesIndex</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Struct for the second-level index to the line breaking properties. <a href="structLineBreakPropertiesIndex.html#_details">More...</a><br/></td></tr>
<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_8c.html#a0ba826ea7bf9cd9038b146bb3572dbf0">LINEBREAK_INDEX_SIZE</a>&nbsp;&nbsp;&nbsp;40</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size of the second-level index to the line breaking properties. <a href="#a0ba826ea7bf9cd9038b146bb3572dbf0"></a><br/></td></tr>
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8d">BreakAction</a> { <br/>
&nbsp;&nbsp;<a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8da570708fb66d60c437dc3e8c1c784eef6">DIRECT_BRK</a>,
<a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8da246deb66413ac197d95680d31d4d5436">INDIRECT_BRK</a>,
<a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8da3e854663bba91b604d4a5f633b62c74a">CM_INDIRECT_BRK</a>,
<a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8da9ae64fb627a84203f331f718eaf942c8">CM_PROHIBITED_BRK</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8dac31d10dc16c2e583ceb6c7e198fc9799">PROHIBITED_BRK</a>
<br/>
}</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Enumeration of break actions. </p>
<a href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8d">More...</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_8c.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">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#aec14ede6c9c839852210a729274c7fbc">get_lb_prop_lang</a> (const char *lang)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the language-specific line breaking properties. <a href="#aec14ede6c9c839852210a729274c7fbc"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static enum <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#a4eb765d3c50b5be0f694f9dd875bf5bb">get_char_lb_class</a> (<a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a> ch, struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> *lbp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the line breaking class of a character from a line breaking properties array. <a href="#a4eb765d3c50b5be0f694f9dd875bf5bb"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static enum <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#aa8be95ab8e6ee731e55279772b5aec91">get_char_lb_class_default</a> (<a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a> ch)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the line breaking class of a character from the default line breaking properties array. <a href="#aa8be95ab8e6ee731e55279772b5aec91"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static enum <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#a41ec5a32a31d007d60ea57caa38a2f3e">get_char_lb_class_lang</a> (<a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a> ch, struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> *lbpLang)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the line breaking class of a character for a specific language. <a href="#a41ec5a32a31d007d60ea57caa38a2f3e"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static enum <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#aa42b073302ff3325b087b61c78bf4841">resolve_lb_class</a> (enum <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> lbc, const char *lang)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resolves the line breaking class for certain ambiguous or complicated characters. <a href="#aa42b073302ff3325b087b61c78bf4841"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#a5ffc31765568becd8b9eb08a3916ab4b">lb_get_next_char_utf8</a> (const <a class="el" href="linebreak_8h.html#a6103b2105588f239c593e779e605038a">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="#a5ffc31765568becd8b9eb08a3916ab4b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#aa1664feb525e6bf1efbe8566547708be">lb_get_next_char_utf16</a> (const <a class="el" href="linebreak_8h.html#a4dce96cad338d9281612277b2d80950c">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="#aa1664feb525e6bf1efbe8566547708be"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#a1f8bc7169caccfa444e75274b55e6721">lb_get_next_char_utf32</a> (const <a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">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="#a1f8bc7169caccfa444e75274b55e6721"></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_8c.html#a0e86da0f08579bd9bfeb437f5fab15fe">set_linebreaks</a> (const void *s, size_t len, const char *lang, char *brks, <a class="el" href="linebreakdef_8h.html#ad76de249e1f8334f318f9ee97ccc77c3">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="#a0e86da0f08579bd9bfeb437f5fab15fe"></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_8c.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_8c.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_8c.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_8c.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_8c.html#a0ac90a75aa79415fe87e66b95d8fd09b">linebreak_version</a> = LINEBREAK_VERSION</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Version number of the library. <a href="#a0ac90a75aa79415fe87e66b95d8fd09b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static enum <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8d">BreakAction</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#ae334fc5c93e9d07c1f6731774cdc07d4">baTable</a> [LBP_JT][LBP_JT]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Break action pair table. <a href="#ae334fc5c93e9d07c1f6731774cdc07d4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static struct <br class="typebreak"/>
<a class="el" href="structLineBreakPropertiesIndex.html">LineBreakPropertiesIndex</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#a5f6f6df49c934134e8fb043ce6230931">lb_prop_index</a> [LINEBREAK_INDEX_SIZE]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Second-level index to the line breaking properties. <a href="#a5f6f6df49c934134e8fb043ce6230931"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Implementation of the line breaking algorithm as described in Unicode Standard Annex 14. </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="a0ba826ea7bf9cd9038b146bb3572dbf0"></a><!-- doxytag: member="linebreak.c::LINEBREAK_INDEX_SIZE" ref="a0ba826ea7bf9cd9038b146bb3572dbf0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LINEBREAK_INDEX_SIZE&nbsp;&nbsp;&nbsp;40</td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Size of the second-level index to the line breaking properties. </p>
</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="a440c1a7abb9df5e3fc1d27b9a39e3a8d"></a><!-- doxytag: member="linebreak.c::BreakAction" ref="a440c1a7abb9df5e3fc1d27b9a39e3a8d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8d">BreakAction</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Enumeration of break actions. </p>
<p>They are used in the break action pair table below. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a440c1a7abb9df5e3fc1d27b9a39e3a8da570708fb66d60c437dc3e8c1c784eef6"></a><!-- doxytag: member="DIRECT_BRK" ref="a440c1a7abb9df5e3fc1d27b9a39e3a8da570708fb66d60c437dc3e8c1c784eef6" args="" -->DIRECT_BRK</em>&nbsp;</td><td>
<p>Direct break opportunity. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a440c1a7abb9df5e3fc1d27b9a39e3a8da246deb66413ac197d95680d31d4d5436"></a><!-- doxytag: member="INDIRECT_BRK" ref="a440c1a7abb9df5e3fc1d27b9a39e3a8da246deb66413ac197d95680d31d4d5436" args="" -->INDIRECT_BRK</em>&nbsp;</td><td>
<p>Indirect break opportunity. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a440c1a7abb9df5e3fc1d27b9a39e3a8da3e854663bba91b604d4a5f633b62c74a"></a><!-- doxytag: member="CM_INDIRECT_BRK" ref="a440c1a7abb9df5e3fc1d27b9a39e3a8da3e854663bba91b604d4a5f633b62c74a" args="" -->CM_INDIRECT_BRK</em>&nbsp;</td><td>
<p>Indirect break opportunity for combining marks. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a440c1a7abb9df5e3fc1d27b9a39e3a8da9ae64fb627a84203f331f718eaf942c8"></a><!-- doxytag: member="CM_PROHIBITED_BRK" ref="a440c1a7abb9df5e3fc1d27b9a39e3a8da9ae64fb627a84203f331f718eaf942c8" args="" -->CM_PROHIBITED_BRK</em>&nbsp;</td><td>
<p>Prohibited break for combining marks. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a440c1a7abb9df5e3fc1d27b9a39e3a8dac31d10dc16c2e583ceb6c7e198fc9799"></a><!-- doxytag: member="PROHIBITED_BRK" ref="a440c1a7abb9df5e3fc1d27b9a39e3a8dac31d10dc16c2e583ceb6c7e198fc9799" args="" -->PROHIBITED_BRK</em>&nbsp;</td><td>
<p>Prohibited break. </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="a4eb765d3c50b5be0f694f9dd875bf5bb"></a><!-- doxytag: member="linebreak.c::get_char_lb_class" ref="a4eb765d3c50b5be0f694f9dd875bf5bb" args="(utf32_t ch, struct LineBreakProperties *lbp)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static enum <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> get_char_lb_class </td>
<td>(</td>
<td class="paramtype"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td>
<td class="paramname"> <em>ch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> *&nbsp;</td>
<td class="paramname"> <em>lbp</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the line breaking class of a character from a line breaking properties array. </p>
<dl><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>character to check </td></tr>
<tr><td valign="top"></td><td valign="top"><em>lbp</em>&nbsp;</td><td>pointer to the line breaking properties array </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the line breaking class if found; <code>LBP_XX</code> otherwise </dd></dl>
</div>
</div>
<a class="anchor" id="aa8be95ab8e6ee731e55279772b5aec91"></a><!-- doxytag: member="linebreak.c::get_char_lb_class_default" ref="aa8be95ab8e6ee731e55279772b5aec91" args="(utf32_t ch)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static enum <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> get_char_lb_class_default </td>
<td>(</td>
<td class="paramtype"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td>
<td class="paramname"> <em>ch</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the line breaking class of a character from the default line breaking properties array. </p>
<dl><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>character to check </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the line breaking class if found; <code>LBP_XX</code> otherwise </dd></dl>
</div>
</div>
<a class="anchor" id="a41ec5a32a31d007d60ea57caa38a2f3e"></a><!-- doxytag: member="linebreak.c::get_char_lb_class_lang" ref="a41ec5a32a31d007d60ea57caa38a2f3e" args="(utf32_t ch, struct LineBreakProperties *lbpLang)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static enum <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> get_char_lb_class_lang </td>
<td>(</td>
<td class="paramtype"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td>
<td class="paramname"> <em>ch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> *&nbsp;</td>
<td class="paramname"> <em>lbpLang</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the line breaking class of a character for a specific language. </p>
<p>This function will check the language-specific data first, and then the default data if there is no language-specific property available for the character.</p>
<dl><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>character to check </td></tr>
<tr><td valign="top"></td><td valign="top"><em>lbpLang</em>&nbsp;</td><td>pointer to the language-specific line breaking properties array </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the line breaking class if found; <code>LBP_XX</code> otherwise </dd></dl>
</div>
</div>
<a class="anchor" id="aec14ede6c9c839852210a729274c7fbc"></a><!-- doxytag: member="linebreak.c::get_lb_prop_lang" ref="aec14ede6c9c839852210a729274c7fbc" args="(const char *lang)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>* get_lb_prop_lang </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>lang</em></td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static, read]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Gets the language-specific line breaking properties. </p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>lang</em>&nbsp;</td><td>language of the text </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to the language-specific line breaking properties array if found; <code>NULL</code> otherwise </dd></dl>
</div>
</div>
<a class="anchor" id="a57c2b88b7e1277cbba23cfffbc782c4f"></a><!-- doxytag: member="linebreak.c::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.c::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="aa1664feb525e6bf1efbe8566547708be"></a><!-- doxytag: member="linebreak.c::lb_get_next_char_utf16" ref="aa1664feb525e6bf1efbe8566547708be" 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#a4f775bae0642c213be2c526018283c25">utf32_t</a> lb_get_next_char_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">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>
<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><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>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the Unicode character beginning at the index; or <a class="el" href="linebreakdef_8h.html#aadbbc7b02d94a4c18646813ac8d7dec1" title="Constant value to mark the end of string.">EOS</a> if end of input is encountered </dd></dl>
</div>
</div>
<a class="anchor" id="a1f8bc7169caccfa444e75274b55e6721"></a><!-- doxytag: member="linebreak.c::lb_get_next_char_utf32" ref="a1f8bc7169caccfa444e75274b55e6721" 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#a4f775bae0642c213be2c526018283c25">utf32_t</a> lb_get_next_char_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">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>
<p>The index will be advanced to the next character.</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 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>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the Unicode character beginning at the index; or <a class="el" href="linebreakdef_8h.html#aadbbc7b02d94a4c18646813ac8d7dec1" title="Constant value to mark the end of string.">EOS</a> if end of input is encountered </dd></dl>
</div>
</div>
<a class="anchor" id="a5ffc31765568becd8b9eb08a3916ab4b"></a><!-- doxytag: member="linebreak.c::lb_get_next_char_utf8" ref="a5ffc31765568becd8b9eb08a3916ab4b" 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#a4f775bae0642c213be2c526018283c25">utf32_t</a> lb_get_next_char_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">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>
<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><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>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the Unicode character beginning at the index; or <a class="el" href="linebreakdef_8h.html#aadbbc7b02d94a4c18646813ac8d7dec1" title="Constant value to mark the end of string.">EOS</a> if end of input is encountered </dd></dl>
</div>
</div>
<a class="anchor" id="aa42b073302ff3325b087b61c78bf4841"></a><!-- doxytag: member="linebreak.c::resolve_lb_class" ref="aa42b073302ff3325b087b61c78bf4841" args="(enum LineBreakClass lbc, const char *lang)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static enum <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> resolve_lb_class </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a>&nbsp;</td>
<td class="paramname"> <em>lbc</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><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Resolves the line breaking class for certain ambiguous or complicated characters. </p>
<p>They are treated in a simplistic way in this implementation.</p>
<dl><dt><b>Parameters:</b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"></td><td valign="top"><em>lbc</em>&nbsp;</td><td>line breaking class to resolve </td></tr>
<tr><td valign="top"></td><td valign="top"><em>lang</em>&nbsp;</td><td>language of the text </td></tr>
</table>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the resolved line breaking class </dd></dl>
</div>
</div>
<a class="anchor" id="a0e86da0f08579bd9bfeb437f5fab15fe"></a><!-- doxytag: member="linebreak.c::set_linebreaks" ref="a0e86da0f08579bd9bfeb437f5fab15fe" 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#ad76de249e1f8334f318f9ee97ccc77c3">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><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#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>
<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>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a1d56bce2d32cd986052172638cec43c8"></a><!-- doxytag: member="linebreak.c::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.c::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.c::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="ae334fc5c93e9d07c1f6731774cdc07d4"></a><!-- doxytag: member="linebreak.c::baTable" ref="ae334fc5c93e9d07c1f6731774cdc07d4" args="[LBP_JT][LBP_JT]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="linebreak_8c.html#a440c1a7abb9df5e3fc1d27b9a39e3a8d">BreakAction</a> <a class="el" href="linebreak_8c.html#ae334fc5c93e9d07c1f6731774cdc07d4">baTable</a>[LBP_JT][LBP_JT]<code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Break action pair table. </p>
<p>This is a direct mapping of Table 2 of Unicode Standard Annex 14, Revision 24. </p>
</div>
</div>
<a class="anchor" id="a5f6f6df49c934134e8fb043ce6230931"></a><!-- doxytag: member="linebreak.c::lb_prop_index" ref="a5f6f6df49c934134e8fb043ce6230931" args="[LINEBREAK_INDEX_SIZE]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structLineBreakPropertiesIndex.html">LineBreakPropertiesIndex</a> <a class="el" href="linebreak_8c.html#a5f6f6df49c934134e8fb043ce6230931">lb_prop_index</a>[LINEBREAK_INDEX_SIZE]<code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment">
{
{ 0xFFFFFFFF, <a class="code" href="linebreakdata_8c.html#abbd8c6b6e4e1c8ad2da83f23f81ac29a" title="Default line breaking properties as from the Unicode Web site.">lb_prop_default</a> }
}
</pre></div>
<p>Second-level index to the line breaking properties. </p>
</div>
</div>
<a class="anchor" id="a0ac90a75aa79415fe87e66b95d8fd09b"></a><!-- doxytag: member="linebreak.c::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> = LINEBREAK_VERSION</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>

View file

@ -4,12 +4,11 @@
<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 -->
<!-- Generated by Doxygen 1.5.8 -->
<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>
@ -46,18 +45,18 @@
<a name="l00024"></a>00024 <span class="comment"> * distribution.</span>
<a name="l00025"></a>00025 <span class="comment"> *</span>
<a name="l00026"></a>00026 <span class="comment"> * The main reference is Unicode Standard Annex 14 (UAX #14):</span>
<a name="l00027"></a>00027 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/&gt;</span>
<a name="l00027"></a>00027 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/&gt;</span>
<a name="l00028"></a>00028 <span class="comment"> *</span>
<a name="l00029"></a>00029 <span class="comment"> * When this library was designed, this annex was at Revision 19, for</span>
<a name="l00030"></a>00030 <span class="comment"> * Unicode 5.0.0:</span>
<a name="l00031"></a>00031 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/tr14-19.html&gt;</span>
<a name="l00031"></a>00031 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/tr14-19.html&gt;</span>
<a name="l00032"></a>00032 <span class="comment"> *</span>
<a name="l00033"></a>00033 <span class="comment"> * This library has been updated according to Revision 22, for</span>
<a name="l00034"></a>00034 <span class="comment"> * Unicode 5.1.0:</span>
<a name="l00035"></a>00035 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/tr14-22.html&gt;</span>
<a name="l00033"></a>00033 <span class="comment"> * This library has been updated according to Revision 24, for</span>
<a name="l00034"></a>00034 <span class="comment"> * Unicode 5.2.0:</span>
<a name="l00035"></a>00035 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/tr14-24.html&gt;</span>
<a name="l00036"></a>00036 <span class="comment"> *</span>
<a name="l00037"></a>00037 <span class="comment"> * The Unicode Terms of Use are available at</span>
<a name="l00038"></a>00038 <span class="comment"> * &lt;URL:http://www.unicode.org/copyright.html&gt;</span>
<a name="l00038"></a>00038 <span class="comment"> * &lt;URL:http://www.unicode.org/copyright.html&gt;</span>
<a name="l00039"></a>00039 <span class="comment"> */</span>
<a name="l00040"></a>00040
<a name="l00050"></a>00050 <span class="preprocessor">#ifndef LINEBREAK_H</span>
@ -69,40 +68,37 @@
<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> {
<a name="l00057"></a>00057 <span class="preprocessor">#endif</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span>
<a name="l00059"></a>00059 <span class="preprocessor">#ifndef LINEBREAK_UTF_TYPES_DEFINED</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="preprocessor">#define LINEBREAK_UTF_TYPES_DEFINED</span>
<a name="l00061"></a><a class="code" href="linebreak_8h.html#6103b2105588f239c593e779e605038a">00061</a> <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="linebreak_8h.html#6103b2105588f239c593e779e605038a" title="Type for UTF-8 data points.">utf8_t</a>;
<a name="l00062"></a><a class="code" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c">00062</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c" title="Type for UTF-16 data points.">utf16_t</a>;
<a name="l00063"></a><a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">00063</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a>;
<a name="l00064"></a>00064 <span class="preprocessor">#endif</span>
<a name="l00065"></a>00065 <span class="preprocessor"></span>
<a name="l00066"></a><a class="code" href="linebreak_8h.html#367d64258fd90864a467687cd1736b77">00066</a> <span class="preprocessor">#define LINEBREAK_MUSTBREAK 0 </span>
<a name="l00067"></a><a class="code" href="linebreak_8h.html#229f34b0b72ccb2e53d0936a1e61a363">00067</a> <span class="preprocessor">#define LINEBREAK_ALLOWBREAK 1 </span>
<a name="l00068"></a><a class="code" href="linebreak_8h.html#dd176a107633817050bedf6eb4f491cc">00068</a> <span class="preprocessor">#define LINEBREAK_NOBREAK 2 </span>
<a name="l00069"></a><a class="code" href="linebreak_8h.html#5adf3d4831b89cb3e40e9bd31a73a39d">00069</a> <span class="preprocessor">#define LINEBREAK_INSIDEACHAR 3 </span>
<a name="l00077"></a>00077 <span class="preprocessor">void init_linebreak(void);</span>
<a name="l00078"></a>00078 <span class="preprocessor"></span>
<a name="l00079"></a>00079 <span class="keywordtype">int</span> <a class="code" href="linebreak_8c.html#22abef1024a6392cf2bd2281fc1bd151" title="Tells whether a line break can occur between two Unicode characters.">is_breakable</a>(utf32_t char1, utf32_t char2, <span class="keyword">const</span> <span class="keywordtype">char</span>* lang);
<a name="l00080"></a>00080
<a name="l00091"></a>00091 <span class="keywordtype">void</span> <a class="code" href="linebreak_8c.html#b426e9cf68117faf583a0ed54742cb28" title="Sets the line breaking information for a UTF-8 input string.">set_linebreaks_utf8</a>(
<a name="l00092"></a>00092 <span class="keyword">const</span> utf8_t *s, <span class="keywordtype">size_t</span> len, <span class="keyword">const</span> <span class="keywordtype">char</span>* lang, <span class="keywordtype">char</span> *brks);
<a name="l00093"></a>00093
<a name="l00104"></a>00104 <span class="keywordtype">void</span> <a class="code" href="linebreak_8c.html#1d56bce2d32cd986052172638cec43c8" title="Sets the line breaking information for a UTF-16 input string.">set_linebreaks_utf16</a>(
<a name="l00105"></a>00105 <span class="keyword">const</span> utf16_t *s, <span class="keywordtype">size_t</span> len, <span class="keyword">const</span> <span class="keywordtype">char</span>* lang, <span class="keywordtype">char</span> *brks);
<a name="l00106"></a>00106
<a name="l00117"></a>00117 <span class="keywordtype">void</span> <a class="code" href="linebreak_8c.html#9fdce33b4ded9d586888c16228ae9e1f" title="Sets the line breaking information for a UTF-32 input string.">set_linebreaks_utf32</a>(
<a name="l00118"></a>00118 <span class="keyword">const</span> utf32_t *s, <span class="keywordtype">size_t</span> len, <span class="keyword">const</span> <span class="keywordtype">char</span>* lang, <span class="keywordtype">char</span> *brks);
<a name="l00119"></a>00119
<a name="l00134"></a><a class="code" href="linebreak_8h.html#9d54c1b18d4fc526a66ef64d9de9c63a">00134</a> <span class="preprocessor">#define is_line_breakable is_breakable</span>
<a name="l00135"></a>00135 <span class="preprocessor"></span>
<a name="l00136"></a>00136 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00137"></a>00137 <span class="preprocessor"></span>}
<a name="l00138"></a>00138 <span class="preprocessor">#endif</span>
<a name="l00139"></a>00139 <span class="preprocessor"></span>
<a name="l00140"></a>00140 <span class="preprocessor">#endif </span><span class="comment">/* LINEBREAK_H */</span>
<a name="l00059"></a><a class="code" href="linebreak_8h.html#83634cb3df4ba09faf22ba687ffc4c02">00059</a> <span class="preprocessor">#define LINEBREAK_VERSION 0x0195</span>
<a name="l00060"></a>00060 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="keyword">const</span> <span class="keywordtype">int</span> <a class="code" href="linebreak_8c.html#0ac90a75aa79415fe87e66b95d8fd09b" title="Version number of the library.">linebreak_version</a>;
<a name="l00061"></a>00061
<a name="l00062"></a>00062 <span class="preprocessor">#ifndef LINEBREAK_UTF_TYPES_DEFINED</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define LINEBREAK_UTF_TYPES_DEFINED</span>
<a name="l00064"></a><a class="code" href="linebreak_8h.html#6103b2105588f239c593e779e605038a">00064</a> <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="linebreak_8h.html#6103b2105588f239c593e779e605038a" title="Type for UTF-8 data points.">utf8_t</a>;
<a name="l00065"></a><a class="code" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c">00065</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c" title="Type for UTF-16 data points.">utf16_t</a>;
<a name="l00066"></a><a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">00066</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a>;
<a name="l00067"></a>00067 <span class="preprocessor">#endif</span>
<a name="l00068"></a>00068 <span class="preprocessor"></span>
<a name="l00069"></a><a class="code" href="linebreak_8h.html#367d64258fd90864a467687cd1736b77">00069</a> <span class="preprocessor">#define LINEBREAK_MUSTBREAK 0 </span>
<a name="l00070"></a><a class="code" href="linebreak_8h.html#229f34b0b72ccb2e53d0936a1e61a363">00070</a> <span class="preprocessor">#define LINEBREAK_ALLOWBREAK 1 </span>
<a name="l00071"></a><a class="code" href="linebreak_8h.html#dd176a107633817050bedf6eb4f491cc">00071</a> <span class="preprocessor">#define LINEBREAK_NOBREAK 2 </span>
<a name="l00072"></a><a class="code" href="linebreak_8h.html#5adf3d4831b89cb3e40e9bd31a73a39d">00072</a> <span class="preprocessor">#define LINEBREAK_INSIDEACHAR 3 </span>
<a name="l00074"></a>00074 <span class="preprocessor">void init_linebreak(void);</span>
<a name="l00075"></a>00075 <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="linebreak_8c.html#b426e9cf68117faf583a0ed54742cb28" title="Sets the line breaking information for a UTF-8 input string.">set_linebreaks_utf8</a>(
<a name="l00076"></a>00076 <span class="keyword">const</span> utf8_t *s, <span class="keywordtype">size_t</span> len, <span class="keyword">const</span> <span class="keywordtype">char</span>* lang, <span class="keywordtype">char</span> *brks);
<a name="l00077"></a>00077 <span class="keywordtype">void</span> <a class="code" href="linebreak_8c.html#1d56bce2d32cd986052172638cec43c8" title="Sets the line breaking information for a UTF-16 input string.">set_linebreaks_utf16</a>(
<a name="l00078"></a>00078 <span class="keyword">const</span> utf16_t *s, <span class="keywordtype">size_t</span> len, <span class="keyword">const</span> <span class="keywordtype">char</span>* lang, <span class="keywordtype">char</span> *brks);
<a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="linebreak_8c.html#9fdce33b4ded9d586888c16228ae9e1f" title="Sets the line breaking information for a UTF-32 input string.">set_linebreaks_utf32</a>(
<a name="l00080"></a>00080 <span class="keyword">const</span> utf32_t *s, <span class="keywordtype">size_t</span> len, <span class="keyword">const</span> <span class="keywordtype">char</span>* lang, <span class="keywordtype">char</span> *brks);
<a name="l00081"></a>00081 <span class="keywordtype">int</span> <a class="code" href="linebreak_8c.html#5761f60559b5ddb61bb095f00c7deb5c" title="Tells whether a line break can occur between two Unicode characters.">is_line_breakable</a>(utf32_t char1, utf32_t char2, <span class="keyword">const</span> <span class="keywordtype">char</span>* lang);
<a name="l00082"></a>00082
<a name="l00083"></a>00083 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00084"></a>00084 <span class="preprocessor"></span>}
<a name="l00085"></a>00085 <span class="preprocessor">#endif</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span>
<a name="l00087"></a>00087 <span class="preprocessor">#endif </span><span class="comment">/* LINEBREAK_H */</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 3 13:20:57 2009 for liblinebreak by&nbsp;
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Nov 29 16:41:13 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>
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
</body>
</html>

View file

@ -0,0 +1,431 @@
<!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>

View file

@ -0,0 +1,107 @@
<!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 Source File</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>
<h1>linebreak.h</h1><a href="linebreak_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* vim: set tabstop=4 shiftwidth=4: */</span>
<a name="l00002"></a>00002
<a name="l00003"></a>00003 <span class="comment">/*</span>
<a name="l00004"></a>00004 <span class="comment"> * Line breaking in a Unicode sequence. Designed to be used in a</span>
<a name="l00005"></a>00005 <span class="comment"> * generic text renderer.</span>
<a name="l00006"></a>00006 <span class="comment"> *</span>
<a name="l00007"></a>00007 <span class="comment"> * Copyright (C) 2008-2009 Wu Yongwei &lt;wuyongwei at gmail dot com&gt;</span>
<a name="l00008"></a>00008 <span class="comment"> *</span>
<a name="l00009"></a>00009 <span class="comment"> * This software is provided &apos;as-is&apos;, without any express or implied</span>
<a name="l00010"></a>00010 <span class="comment"> * warranty. In no event will the author be held liable for any damages</span>
<a name="l00011"></a>00011 <span class="comment"> * arising from the use of this software.</span>
<a name="l00012"></a>00012 <span class="comment"> *</span>
<a name="l00013"></a>00013 <span class="comment"> * Permission is granted to anyone to use this software for any purpose,</span>
<a name="l00014"></a>00014 <span class="comment"> * including commercial applications, and to alter it and redistribute</span>
<a name="l00015"></a>00015 <span class="comment"> * it freely, subject to the following restrictions:</span>
<a name="l00016"></a>00016 <span class="comment"> *</span>
<a name="l00017"></a>00017 <span class="comment"> * 1. The origin of this software must not be misrepresented; you must</span>
<a name="l00018"></a>00018 <span class="comment"> * not claim that you wrote the original software. If you use this</span>
<a name="l00019"></a>00019 <span class="comment"> * software in a product, an acknowledgement in the product</span>
<a name="l00020"></a>00020 <span class="comment"> * documentation would be appreciated but is not required.</span>
<a name="l00021"></a>00021 <span class="comment"> * 2. Altered source versions must be plainly marked as such, and must</span>
<a name="l00022"></a>00022 <span class="comment"> * not be misrepresented as being the original software.</span>
<a name="l00023"></a>00023 <span class="comment"> * 3. This notice may not be removed or altered from any source</span>
<a name="l00024"></a>00024 <span class="comment"> * distribution.</span>
<a name="l00025"></a>00025 <span class="comment"> *</span>
<a name="l00026"></a>00026 <span class="comment"> * The main reference is Unicode Standard Annex 14 (UAX #14):</span>
<a name="l00027"></a>00027 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/&gt;</span>
<a name="l00028"></a>00028 <span class="comment"> *</span>
<a name="l00029"></a>00029 <span class="comment"> * When this library was designed, this annex was at Revision 19, for</span>
<a name="l00030"></a>00030 <span class="comment"> * Unicode 5.0.0:</span>
<a name="l00031"></a>00031 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/tr14-19.html&gt;</span>
<a name="l00032"></a>00032 <span class="comment"> *</span>
<a name="l00033"></a>00033 <span class="comment"> * This library has been updated according to Revision 24, for</span>
<a name="l00034"></a>00034 <span class="comment"> * Unicode 5.2.0:</span>
<a name="l00035"></a>00035 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/tr14-24.html&gt;</span>
<a name="l00036"></a>00036 <span class="comment"> *</span>
<a name="l00037"></a>00037 <span class="comment"> * The Unicode Terms of Use are available at</span>
<a name="l00038"></a>00038 <span class="comment"> * &lt;URL:http://www.unicode.org/copyright.html&gt;</span>
<a name="l00039"></a>00039 <span class="comment"> */</span>
<a name="l00040"></a>00040
<a name="l00050"></a>00050 <span class="preprocessor">#ifndef LINEBREAK_H</span>
<a name="l00051"></a>00051 <span class="preprocessor"></span><span class="preprocessor">#define LINEBREAK_H</span>
<a name="l00052"></a>00052 <span class="preprocessor"></span>
<a name="l00053"></a>00053 <span class="preprocessor">#include &lt;stddef.h&gt;</span>
<a name="l00054"></a>00054
<a name="l00055"></a>00055 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">&quot;C&quot;</span> {
<a name="l00057"></a>00057 <span class="preprocessor">#endif</span>
<a name="l00058"></a>00058 <span class="preprocessor"></span>
<a name="l00059"></a><a class="code" href="linebreak_8h.html#a83634cb3df4ba09faf22ba687ffc4c02">00059</a> <span class="preprocessor">#define LINEBREAK_VERSION 0x0195 </span>
<a name="l00060"></a>00060 <span class="preprocessor">extern const int linebreak_version;</span>
<a name="l00061"></a>00061 <span class="preprocessor"></span>
<a name="l00062"></a>00062 <span class="preprocessor">#ifndef LINEBREAK_UTF_TYPES_DEFINED</span>
<a name="l00063"></a>00063 <span class="preprocessor"></span><span class="preprocessor">#define LINEBREAK_UTF_TYPES_DEFINED</span>
<a name="l00064"></a><a class="code" href="linebreak_8h.html#a6103b2105588f239c593e779e605038a">00064</a> <span class="preprocessor"></span><span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> <a class="code" href="linebreak_8h.html#a6103b2105588f239c593e779e605038a" title="Type for UTF-8 data points.">utf8_t</a>;
<a name="l00065"></a><a class="code" href="linebreak_8h.html#a4dce96cad338d9281612277b2d80950c">00065</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="linebreak_8h.html#a4dce96cad338d9281612277b2d80950c" title="Type for UTF-16 data points.">utf16_t</a>;
<a name="l00066"></a><a class="code" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">00066</a> <span class="keyword">typedef</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> <a class="code" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a>;
<a name="l00067"></a>00067 <span class="preprocessor">#endif</span>
<a name="l00068"></a>00068 <span class="preprocessor"></span>
<a name="l00069"></a><a class="code" href="linebreak_8h.html#a367d64258fd90864a467687cd1736b77">00069</a> <span class="preprocessor">#define LINEBREAK_MUSTBREAK 0 </span>
<a name="l00070"></a><a class="code" href="linebreak_8h.html#a229f34b0b72ccb2e53d0936a1e61a363">00070</a> <span class="preprocessor">#define LINEBREAK_ALLOWBREAK 1 </span>
<a name="l00071"></a><a class="code" href="linebreak_8h.html#add176a107633817050bedf6eb4f491cc">00071</a> <span class="preprocessor">#define LINEBREAK_NOBREAK 2 </span>
<a name="l00072"></a><a class="code" href="linebreak_8h.html#a5adf3d4831b89cb3e40e9bd31a73a39d">00072</a> <span class="preprocessor">#define LINEBREAK_INSIDEACHAR 3 </span>
<a name="l00074"></a>00074 <span class="preprocessor">void init_linebreak(void);</span>
<a name="l00075"></a>00075 <span class="preprocessor"></span><span class="keywordtype">void</span> <a class="code" href="linebreak_8c.html#ab426e9cf68117faf583a0ed54742cb28" title="Sets the line breaking information for a UTF-8 input string.">set_linebreaks_utf8</a>(
<a name="l00076"></a>00076 <span class="keyword">const</span> utf8_t *s, <span class="keywordtype">size_t</span> len, <span class="keyword">const</span> <span class="keywordtype">char</span>* lang, <span class="keywordtype">char</span> *brks);
<a name="l00077"></a>00077 <span class="keywordtype">void</span> <a class="code" href="linebreak_8c.html#a1d56bce2d32cd986052172638cec43c8" title="Sets the line breaking information for a UTF-16 input string.">set_linebreaks_utf16</a>(
<a name="l00078"></a>00078 <span class="keyword">const</span> utf16_t *s, <span class="keywordtype">size_t</span> len, <span class="keyword">const</span> <span class="keywordtype">char</span>* lang, <span class="keywordtype">char</span> *brks);
<a name="l00079"></a>00079 <span class="keywordtype">void</span> <a class="code" href="linebreak_8c.html#a9fdce33b4ded9d586888c16228ae9e1f" title="Sets the line breaking information for a UTF-32 input string.">set_linebreaks_utf32</a>(
<a name="l00080"></a>00080 <span class="keyword">const</span> utf32_t *s, <span class="keywordtype">size_t</span> len, <span class="keyword">const</span> <span class="keywordtype">char</span>* lang, <span class="keywordtype">char</span> *brks);
<a name="l00081"></a>00081 <span class="keywordtype">int</span> <a class="code" href="linebreak_8c.html#a5761f60559b5ddb61bb095f00c7deb5c" title="Tells whether a line break can occur between two Unicode characters.">is_line_breakable</a>(utf32_t char1, utf32_t char2, <span class="keyword">const</span> <span class="keywordtype">char</span>* lang);
<a name="l00082"></a>00082
<a name="l00083"></a>00083 <span class="preprocessor">#ifdef __cplusplus</span>
<a name="l00084"></a>00084 <span class="preprocessor"></span>}
<a name="l00085"></a>00085 <span class="preprocessor">#endif</span>
<a name="l00086"></a>00086 <span class="preprocessor"></span>
<a name="l00087"></a>00087 <span class="preprocessor">#endif </span><span class="comment">/* LINEBREAK_H */</span>
</pre></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>

View file

@ -0,0 +1,55 @@
<!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: linebreakdata.c 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>linebreakdata.c File Reference</h1><code>#include &quot;<a class="el" href="linebreak_8h_source.html">linebreak.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>&quot;</code><br/>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdata_8c.html#abbd8c6b6e4e1c8ad2da83f23f81ac29a">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="#abbd8c6b6e4e1c8ad2da83f23f81ac29a"></a><br/></td></tr>
</table>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="abbd8c6b6e4e1c8ad2da83f23f81ac29a"></a><!-- doxytag: member="linebreakdata.c::lb_prop_default" ref="abbd8c6b6e4e1c8ad2da83f23f81ac29a" 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#abbd8c6b6e4e1c8ad2da83f23f81ac29a">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>
</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>

View file

@ -0,0 +1,222 @@
<!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: linebreakdef.c 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>linebreakdef.c File Reference</h1>
<p>Definition of language-specific data.
<a href="#_details">More...</a></p>
<code>#include &quot;<a class="el" href="linebreak_8h_source.html">linebreak.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>&quot;</code><br/>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#acb15b3309e7e1c7a48da9535c4e2855f">lb_prop_English</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">English-specifc data over the default Unicode rules. <a href="#acb15b3309e7e1c7a48da9535c4e2855f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#ac39e3f65a289864edb8a38a201481627">lb_prop_German</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">German-specifc data over the default Unicode rules. <a href="#ac39e3f65a289864edb8a38a201481627"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#a41ee5277b95d453efdfb0e0242e1cb5f">lb_prop_Spanish</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spanish-specifc data over the default Unicode rules. <a href="#a41ee5277b95d453efdfb0e0242e1cb5f"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#af75c60d3b0f882032e6932da25b9c9fa">lb_prop_French</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">French-specifc data over the default Unicode rules. <a href="#af75c60d3b0f882032e6932da25b9c9fa"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#a980ede377c1ded0d24a58fb429f237f4">lb_prop_Russian</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Russian-specifc data over the default Unicode rules. <a href="#a980ede377c1ded0d24a58fb429f237f4"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#a945fbc26db32e1f4fbce4f6e9ae70189">lb_prop_Chinese</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Chinese-specifc data over the default Unicode rules. <a href="#a945fbc26db32e1f4fbce4f6e9ae70189"></a><br/></td></tr>
<tr><td class="memItemLeft" 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_8c.html#a82efdfa4115828df9158e183f1a9983d">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="#a82efdfa4115828df9158e183f1a9983d"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Definition of language-specific data. </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>Variable Documentation</h2>
<a class="anchor" id="a945fbc26db32e1f4fbce4f6e9ae70189"></a><!-- doxytag: member="linebreakdef.c::lb_prop_Chinese" ref="a945fbc26db32e1f4fbce4f6e9ae70189" 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_8c.html#a945fbc26db32e1f4fbce4f6e9ae70189">lb_prop_Chinese</a>[]<code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ 0x2018, 0x2018, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x2019, 0x2019, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x201C, 0x201C, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201D, 0x201D, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0, 0, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a> }
}
</pre></div>
<p>Chinese-specifc data over the default Unicode rules. </p>
</div>
</div>
<a class="anchor" id="acb15b3309e7e1c7a48da9535c4e2855f"></a><!-- doxytag: member="linebreakdef.c::lb_prop_English" ref="acb15b3309e7e1c7a48da9535c4e2855f" 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_8c.html#acb15b3309e7e1c7a48da9535c4e2855f">lb_prop_English</a>[]<code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ 0x2018, 0x2018, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201C, 0x201C, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201D, 0x201D, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0, 0, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a> }
}
</pre></div>
<p>English-specifc data over the default Unicode rules. </p>
</div>
</div>
<a class="anchor" id="af75c60d3b0f882032e6932da25b9c9fa"></a><!-- doxytag: member="linebreakdef.c::lb_prop_French" ref="af75c60d3b0f882032e6932da25b9c9fa" 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_8c.html#af75c60d3b0f882032e6932da25b9c9fa">lb_prop_French</a>[]<code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ 0x00AB, 0x00AB, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x00BB, 0x00BB, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x2018, 0x2018, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201C, 0x201C, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201D, 0x201D, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x2039, 0x2039, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x203A, 0x203A, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0, 0, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a> }
}
</pre></div>
<p>French-specifc data over the default Unicode rules. </p>
</div>
</div>
<a class="anchor" id="ac39e3f65a289864edb8a38a201481627"></a><!-- doxytag: member="linebreakdef.c::lb_prop_German" ref="ac39e3f65a289864edb8a38a201481627" 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_8c.html#ac39e3f65a289864edb8a38a201481627">lb_prop_German</a>[]<code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ 0x00AB, 0x00AB, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x00BB, 0x00BB, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x2018, 0x2018, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x201C, 0x201C, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x2039, 0x2039, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x203A, 0x203A, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0, 0, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a> }
}
</pre></div>
<p>German-specifc data over the default Unicode rules. </p>
</div>
</div>
<a class="anchor" id="a82efdfa4115828df9158e183f1a9983d"></a><!-- doxytag: member="linebreakdef.c::lb_prop_lang_map" ref="a82efdfa4115828df9158e183f1a9983d" 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#a82efdfa4115828df9158e183f1a9983d">lb_prop_lang_map</a>[]</td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ <span class="stringliteral">&quot;en&quot;</span>, 2, <a class="code" href="linebreakdef_8c.html#acb15b3309e7e1c7a48da9535c4e2855f" title="English-specifc data over the default Unicode rules.">lb_prop_English</a> },
{ <span class="stringliteral">&quot;de&quot;</span>, 2, <a class="code" href="linebreakdef_8c.html#ac39e3f65a289864edb8a38a201481627" title="German-specifc data over the default Unicode rules.">lb_prop_German</a> },
{ <span class="stringliteral">&quot;es&quot;</span>, 2, <a class="code" href="linebreakdef_8c.html#a41ee5277b95d453efdfb0e0242e1cb5f" title="Spanish-specifc data over the default Unicode rules.">lb_prop_Spanish</a> },
{ <span class="stringliteral">&quot;fr&quot;</span>, 2, <a class="code" href="linebreakdef_8c.html#af75c60d3b0f882032e6932da25b9c9fa" title="French-specifc data over the default Unicode rules.">lb_prop_French</a> },
{ <span class="stringliteral">&quot;ru&quot;</span>, 2, <a class="code" href="linebreakdef_8c.html#a980ede377c1ded0d24a58fb429f237f4" title="Russian-specifc data over the default Unicode rules.">lb_prop_Russian</a> },
{ <span class="stringliteral">&quot;zh&quot;</span>, 2, <a class="code" href="linebreakdef_8c.html#a945fbc26db32e1f4fbce4f6e9ae70189" title="Chinese-specifc data over the default Unicode rules.">lb_prop_Chinese</a> },
{ NULL, 0, NULL }
}
</pre></div>
<p>Association data of language-specific line breaking properties with language names. </p>
<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. </p>
</div>
</div>
<a class="anchor" id="a980ede377c1ded0d24a58fb429f237f4"></a><!-- doxytag: member="linebreakdef.c::lb_prop_Russian" ref="a980ede377c1ded0d24a58fb429f237f4" 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_8c.html#a980ede377c1ded0d24a58fb429f237f4">lb_prop_Russian</a>[]<code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ 0x00AB, 0x00AB, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x00BB, 0x00BB, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x201C, 0x201C, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0, 0, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a> }
}
</pre></div>
<p>Russian-specifc data over the default Unicode rules. </p>
</div>
</div>
<a class="anchor" id="a41ee5277b95d453efdfb0e0242e1cb5f"></a><!-- doxytag: member="linebreakdef.c::lb_prop_Spanish" ref="a41ee5277b95d453efdfb0e0242e1cb5f" 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_8c.html#a41ee5277b95d453efdfb0e0242e1cb5f">lb_prop_Spanish</a>[]<code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ 0x00AB, 0x00AB, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x00BB, 0x00BB, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x2018, 0x2018, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201C, 0x201C, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201D, 0x201D, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x2039, 0x2039, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x203A, 0x203A, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0, 0, <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a> }
}
</pre></div>
<p>Spanish-specifc data over the default Unicode rules. </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>

View file

@ -0,0 +1,144 @@
<!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 Source File</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.8 -->
<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>
<h1>linebreakdef.h</h1><a href="linebreakdef_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* vim: set tabstop=4 shiftwidth=4: */</span>
<a name="l00002"></a>00002
<a name="l00003"></a>00003 <span class="comment">/*</span>
<a name="l00004"></a>00004 <span class="comment"> * Line breaking in a Unicode sequence. Designed to be used in a</span>
<a name="l00005"></a>00005 <span class="comment"> * generic text renderer.</span>
<a name="l00006"></a>00006 <span class="comment"> *</span>
<a name="l00007"></a>00007 <span class="comment"> * Copyright (C) 2008-2009 Wu Yongwei &lt;wuyongwei at gmail dot com&gt;</span>
<a name="l00008"></a>00008 <span class="comment"> *</span>
<a name="l00009"></a>00009 <span class="comment"> * This software is provided 'as-is', without any express or implied</span>
<a name="l00010"></a>00010 <span class="comment"> * warranty. In no event will the author be held liable for any damages</span>
<a name="l00011"></a>00011 <span class="comment"> * arising from the use of this software.</span>
<a name="l00012"></a>00012 <span class="comment"> *</span>
<a name="l00013"></a>00013 <span class="comment"> * Permission is granted to anyone to use this software for any purpose,</span>
<a name="l00014"></a>00014 <span class="comment"> * including commercial applications, and to alter it and redistribute</span>
<a name="l00015"></a>00015 <span class="comment"> * it freely, subject to the following restrictions:</span>
<a name="l00016"></a>00016 <span class="comment"> *</span>
<a name="l00017"></a>00017 <span class="comment"> * 1. The origin of this software must not be misrepresented; you must</span>
<a name="l00018"></a>00018 <span class="comment"> * not claim that you wrote the original software. If you use this</span>
<a name="l00019"></a>00019 <span class="comment"> * software in a product, an acknowledgement in the product</span>
<a name="l00020"></a>00020 <span class="comment"> * documentation would be appreciated but is not required.</span>
<a name="l00021"></a>00021 <span class="comment"> * 2. Altered source versions must be plainly marked as such, and must</span>
<a name="l00022"></a>00022 <span class="comment"> * not be misrepresented as being the original software.</span>
<a name="l00023"></a>00023 <span class="comment"> * 3. This notice may not be removed or altered from any source</span>
<a name="l00024"></a>00024 <span class="comment"> * distribution.</span>
<a name="l00025"></a>00025 <span class="comment"> *</span>
<a name="l00026"></a>00026 <span class="comment"> * The main reference is Unicode Standard Annex 14 (UAX #14):</span>
<a name="l00027"></a>00027 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/&gt;</span>
<a name="l00028"></a>00028 <span class="comment"> *</span>
<a name="l00029"></a>00029 <span class="comment"> * When this library was designed, this annex was at Revision 19, for</span>
<a name="l00030"></a>00030 <span class="comment"> * Unicode 5.0.0:</span>
<a name="l00031"></a>00031 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/tr14-19.html&gt;</span>
<a name="l00032"></a>00032 <span class="comment"> *</span>
<a name="l00033"></a>00033 <span class="comment"> * This library has been updated according to Revision 24, for</span>
<a name="l00034"></a>00034 <span class="comment"> * Unicode 5.2.0:</span>
<a name="l00035"></a>00035 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/tr14-24.html&gt;</span>
<a name="l00036"></a>00036 <span class="comment"> *</span>
<a name="l00037"></a>00037 <span class="comment"> * The Unicode Terms of Use are available at</span>
<a name="l00038"></a>00038 <span class="comment"> * &lt;URL:http://www.unicode.org/copyright.html&gt;</span>
<a name="l00039"></a>00039 <span class="comment"> */</span>
<a name="l00040"></a>00040
<a name="l00055"></a><a class="code" href="linebreakdef_8h.html#adbbc7b02d94a4c18646813ac8d7dec1">00055</a> <span class="preprocessor">#define EOS 0xFFFF</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span>
<a name="l00061"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">00061</a> <span class="keyword">enum</span> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070" title="Line break classes.">LineBreakClass</a>
<a name="l00062"></a>00062 {
<a name="l00063"></a>00063 <span class="comment">/* This is used to signal an error condition. */</span>
<a name="l00064"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723">00064</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a>,
<a name="l00066"></a>00066 <span class="comment">/* The following break classes are treated in the pair table. */</span>
<a name="l00067"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3">00067</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a>,
<a name="l00068"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d">00068</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a>,
<a name="l00069"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c722dfa01172dc818ac7b88296ab8bbb">00069</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c722dfa01172dc818ac7b88296ab8bbb" title="Closing parenthesis.">LBP_CP</a>,
<a name="l00070"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c39763b5b0557dddcec94a381ef30f4e">00070</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c39763b5b0557dddcec94a381ef30f4e" title="Ambiguous quotation.">LBP_QU</a>,
<a name="l00071"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040700550bdd01f16132d2897fc5000f58df7">00071</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040700550bdd01f16132d2897fc5000f58df7" title="Glue.">LBP_GL</a>,
<a name="l00072"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040701cbbcff8d381e12574aec3679990e3f0">00072</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040701cbbcff8d381e12574aec3679990e3f0" title="Non-starters.">LBP_NS</a>,
<a name="l00073"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070694a3a0a4cf1649ca938e4cb8064f3b0">00073</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070694a3a0a4cf1649ca938e4cb8064f3b0" title="Exclamation/Interrogation.">LBP_EX</a>,
<a name="l00074"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407047f9a3d5b87cd350905f552ffa3da097">00074</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407047f9a3d5b87cd350905f552ffa3da097" title="Symbols allowing break after.">LBP_SY</a>,
<a name="l00075"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098ddb858ed33918bce8784a60c36712e">00075</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098ddb858ed33918bce8784a60c36712e" title="Infix separator.">LBP_IS</a>,
<a name="l00076"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070985024038b0a61a40df014013daa7d57">00076</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070985024038b0a61a40df014013daa7d57" title="Prefix.">LBP_PR</a>,
<a name="l00077"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c7d5be8568020554e49bb4c01ca1fdba">00077</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c7d5be8568020554e49bb4c01ca1fdba" title="Postfix.">LBP_PO</a>,
<a name="l00078"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707d6ec3c06dfdee326bca876365e5be28">00078</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707d6ec3c06dfdee326bca876365e5be28" title="Numeric.">LBP_NU</a>,
<a name="l00079"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407099a0353e48d4453d0acf01da43655281">00079</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407099a0353e48d4453d0acf01da43655281" title="Alphabetic.">LBP_AL</a>,
<a name="l00080"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070277e68f51ab2a52445f0e7e219b8bd55">00080</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070277e68f51ab2a52445f0e7e219b8bd55" title="Ideographic.">LBP_ID</a>,
<a name="l00081"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e5285b1bd6bf868b1655b8ad3cb9cc73">00081</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e5285b1bd6bf868b1655b8ad3cb9cc73" title="Inseparable characters.">LBP_IN</a>,
<a name="l00082"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707cf4d61e77f0d1f8974f1b21379d2883">00082</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707cf4d61e77f0d1f8974f1b21379d2883" title="Hyphen.">LBP_HY</a>,
<a name="l00083"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708487a95ef080e81a013162e107a4bc74">00083</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708487a95ef080e81a013162e107a4bc74" title="Break after.">LBP_BA</a>,
<a name="l00084"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098dbcbc080626fbc0ff7d4f2b8b86d7d">00084</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098dbcbc080626fbc0ff7d4f2b8b86d7d" title="Break before.">LBP_BB</a>,
<a name="l00085"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407046fe18e486c79c3835a587fb15ad0c63">00085</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407046fe18e486c79c3835a587fb15ad0c63" title="Break on either side (but not pair).">LBP_B2</a>,
<a name="l00086"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070a58613e52b70bda371b48ca2d89d85ee">00086</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070a58613e52b70bda371b48ca2d89d85ee" title="Zero-width space.">LBP_ZW</a>,
<a name="l00087"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070de6aff21f968efc84109e502c5c469c1">00087</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070de6aff21f968efc84109e502c5c469c1" title="Combining marks.">LBP_CM</a>,
<a name="l00088"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407000085861924d3758649cfd7dc0ec3daa">00088</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407000085861924d3758649cfd7dc0ec3daa" title="Word joiner.">LBP_WJ</a>,
<a name="l00089"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407087a5464b708121503da98654e02c2cfc">00089</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407087a5464b708121503da98654e02c2cfc" title="Hangul LV.">LBP_H2</a>,
<a name="l00090"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e898c79c281f9d12c4adfa12834f4380">00090</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e898c79c281f9d12c4adfa12834f4380" title="Hangul LVT.">LBP_H3</a>,
<a name="l00091"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040702cb194fd3b6e0295a134ad735f8f75eb">00091</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040702cb194fd3b6e0295a134ad735f8f75eb" title="Hangul L Jamo.">LBP_JL</a>,
<a name="l00092"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707759e3988158319f9efe87e322804cd8">00092</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707759e3988158319f9efe87e322804cd8" title="Hangul V Jamo.">LBP_JV</a>,
<a name="l00093"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707851519f0dac4f922b4144315bb711bf">00093</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707851519f0dac4f922b4144315bb711bf" title="Hangul T Jamo.">LBP_JT</a>,
<a name="l00095"></a>00095 <span class="comment">/* The following break classes are not treated in the pair table */</span>
<a name="l00096"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c9dcacac1d71f0f8ca7bbfe670620dd3">00096</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c9dcacac1d71f0f8ca7bbfe670620dd3" title="Ambiguous (alphabetic or ideograph).">LBP_AI</a>,
<a name="l00097"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707b0aae40955328f649ec66b23ecf1626">00097</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707b0aae40955328f649ec66b23ecf1626" title="Break (mandatory).">LBP_BK</a>,
<a name="l00098"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070485f9b3c86d8b6f800bba048f1bf47b1">00098</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070485f9b3c86d8b6f800bba048f1bf47b1" title="Contingent break.">LBP_CB</a>,
<a name="l00099"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708f6991e8defca4aa9e6485dbb32628a2">00099</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708f6991e8defca4aa9e6485dbb32628a2" title="Carriage return.">LBP_CR</a>,
<a name="l00100"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070944522607828ef422c419633f68c8cab">00100</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070944522607828ef422c419633f68c8cab" title="Line feed.">LBP_LF</a>,
<a name="l00101"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070cfefd6df8344cc5601ce7786aee51fcf">00101</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070cfefd6df8344cc5601ce7786aee51fcf" title="Next line.">LBP_NL</a>,
<a name="l00102"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407038b102b238de030fe74906fb0fcfb769">00102</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407038b102b238de030fe74906fb0fcfb769" title="South-East Asian.">LBP_SA</a>,
<a name="l00103"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070d6764678f5d80d86324a6f29c0561817">00103</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070d6764678f5d80d86324a6f29c0561817" title="Surrogates.">LBP_SG</a>,
<a name="l00104"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707605e7c192d43e2ef0596e92446dfba4">00104</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707605e7c192d43e2ef0596e92446dfba4" title="Space.">LBP_SP</a>,
<a name="l00105"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407049450c35ed2a20d252e707322964bdf0">00105</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407049450c35ed2a20d252e707322964bdf0" title="Unknown.">LBP_XX</a>
<a name="l00106"></a>00106 };
<a name="l00107"></a>00107
<a name="l00112"></a><a class="code" href="structLineBreakProperties.html">00112</a> <span class="keyword">struct </span><a class="code" href="structLineBreakProperties.html" title="Struct for entries of line break properties.">LineBreakProperties</a>
<a name="l00113"></a>00113 {
<a name="l00114"></a><a class="code" href="structLineBreakProperties.html#1fe368ff9b53f52305c8dca687395372">00114</a> <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="structLineBreakProperties.html#1fe368ff9b53f52305c8dca687395372" title="Starting coding point.">start</a>;
<a name="l00115"></a><a class="code" href="structLineBreakProperties.html#f6ff463e88f6c694661aa10222404a14">00115</a> <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="structLineBreakProperties.html#f6ff463e88f6c694661aa10222404a14" title="End coding point.">end</a>;
<a name="l00116"></a><a class="code" href="structLineBreakProperties.html#46d34ea3f514f8f082d92a441a6665ba">00116</a> <span class="keyword">enum</span> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070" title="Line break classes.">LineBreakClass</a> <a class="code" href="structLineBreakProperties.html#46d34ea3f514f8f082d92a441a6665ba" title="The line breaking property.">prop</a>;
<a name="l00117"></a>00117 };
<a name="l00118"></a>00118
<a name="l00123"></a><a class="code" href="structLineBreakPropertiesLang.html">00123</a> <span class="keyword">struct </span><a class="code" href="structLineBreakPropertiesLang.html" title="Struct for association of language-specific line breaking properties with language...">LineBreakPropertiesLang</a>
<a name="l00124"></a>00124 {
<a name="l00125"></a><a class="code" href="structLineBreakPropertiesLang.html#e961b49d11e272adc590cf06e9f6100d">00125</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structLineBreakPropertiesLang.html#e961b49d11e272adc590cf06e9f6100d" title="Language name.">lang</a>;
<a name="l00126"></a><a class="code" href="structLineBreakPropertiesLang.html#b5132ed92c5964a5cfecbb21de206488">00126</a> <span class="keywordtype">size_t</span> <a class="code" href="structLineBreakPropertiesLang.html#b5132ed92c5964a5cfecbb21de206488" title="Length of name to match.">namelen</a>;
<a name="l00127"></a><a class="code" href="structLineBreakPropertiesLang.html#e4b7339a372a0ccbf97e380aa440ff9d">00127</a> <span class="keyword">struct </span><a class="code" href="structLineBreakProperties.html" title="Struct for entries of line break properties.">LineBreakProperties</a> *<a class="code" href="structLineBreakPropertiesLang.html#e4b7339a372a0ccbf97e380aa440ff9d" title="Pointer to associated data.">lbp</a>;
<a name="l00128"></a>00128 };
<a name="l00129"></a>00129
<a name="l00134"></a><a class="code" href="linebreakdef_8h.html#d76de249e1f8334f318f9ee97ccc77c3">00134</a> <span class="keyword">typedef</span> <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> (*<a class="code" href="linebreakdef_8h.html#d76de249e1f8334f318f9ee97ccc77c3" title="Abstract function interface for lb_get_next_char_utf8, lb_get_next_char_utf16, and...">get_next_char_t</a>)(<span class="keyword">const</span> <span class="keywordtype">void</span> *, size_t, <span class="keywordtype">size_t</span> *);
<a name="l00135"></a>00135
<a name="l00136"></a>00136 <span class="comment">/* Declarations */</span>
<a name="l00137"></a>00137 <span class="keyword">extern</span> <span class="keyword">struct </span><a class="code" href="structLineBreakProperties.html" title="Struct for entries of line break properties.">LineBreakProperties</a> <a class="code" href="linebreakdata_8c.html#bbd8c6b6e4e1c8ad2da83f23f81ac29a" title="Default line breaking properties as from the Unicode Web site.">lb_prop_default</a>[];
<a name="l00138"></a>00138 <span class="keyword">extern</span> <span class="keyword">struct </span><a class="code" href="structLineBreakPropertiesLang.html" title="Struct for association of language-specific line breaking properties with language...">LineBreakPropertiesLang</a> <a class="code" href="linebreakdef_8c.html#82efdfa4115828df9158e183f1a9983d" title="Association data of language-specific line breaking properties with language names...">lb_prop_lang_map</a>[];
<a name="l00139"></a>00139
<a name="l00140"></a>00140 <span class="comment">/* Function Prototype */</span>
<a name="l00141"></a>00141 <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="linebreak_8c.html#5ffc31765568becd8b9eb08a3916ab4b" title="Gets the next Unicode character in a UTF-8 sequence.">lb_get_next_char_utf8</a>(<span class="keyword">const</span> <a class="code" href="linebreak_8h.html#6103b2105588f239c593e779e605038a" title="Type for UTF-8 data points.">utf8_t</a> *s, <span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> *ip);
<a name="l00142"></a>00142 <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="linebreak_8c.html#a1664feb525e6bf1efbe8566547708be" title="Gets the next Unicode character in a UTF-16 sequence.">lb_get_next_char_utf16</a>(<span class="keyword">const</span> <a class="code" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c" title="Type for UTF-16 data points.">utf16_t</a> *s, <span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> *ip);
<a name="l00143"></a>00143 <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="linebreak_8c.html#1f8bc7169caccfa444e75274b55e6721" title="Gets the next Unicode character in a UTF-32 sequence.">lb_get_next_char_utf32</a>(<span class="keyword">const</span> <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> *s, <span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> *ip);
<a name="l00144"></a>00144 <span class="keywordtype">void</span> <a class="code" href="linebreak_8c.html#0e86da0f08579bd9bfeb437f5fab15fe" title="Sets the line breaking information for a generic input string.">set_linebreaks</a>(
<a name="l00145"></a>00145 <span class="keyword">const</span> <span class="keywordtype">void</span> *s,
<a name="l00146"></a>00146 <span class="keywordtype">size_t</span> len,
<a name="l00147"></a>00147 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structLineBreakPropertiesLang.html#e961b49d11e272adc590cf06e9f6100d" title="Language name.">lang</a>,
<a name="l00148"></a>00148 <span class="keywordtype">char</span> *brks,
<a name="l00149"></a>00149 <a class="code" href="linebreakdef_8h.html#d76de249e1f8334f318f9ee97ccc77c3" title="Abstract function interface for lb_get_next_char_utf8, lb_get_next_char_utf16, and...">get_next_char_t</a> get_next_char);
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Generated on Sun Nov 29 16:41:13 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.8 </small></address>
</body>
</html>

View file

@ -0,0 +1,514 @@
<!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: 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.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>linebreakdef.h File Reference</h1>
<p>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></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" 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" 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"><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="linebreakdef_8h.html#aadbbc7b02d94a4c18646813ac8d7dec1">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="#aadbbc7b02d94a4c18646813ac8d7dec1"></a><br/></td></tr>
<tr><td colspan="2"><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">typedef <a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>(*&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#ad76de249e1f8334f318f9ee97ccc77c3">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#a5ffc31765568becd8b9eb08a3916ab4b" title="Gets the next Unicode character in a UTF-8 sequence.">lb_get_next_char_utf8</a>, <a class="el" href="linebreakdef_8h.html#aa1664feb525e6bf1efbe8566547708be" title="Gets the next Unicode character in a UTF-16 sequence.">lb_get_next_char_utf16</a>, and <a class="el" href="linebreakdef_8h.html#a1f8bc7169caccfa444e75274b55e6721" title="Gets the next Unicode character in a UTF-32 sequence.">lb_get_next_char_utf32</a>. <a href="#ad76de249e1f8334f318f9ee97ccc77c3"></a><br/></td></tr>
<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> { <br/>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a926181b709c80b3b50e929c2a151b723">LBP_Undefined</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3">LBP_OP</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d">LBP_CL</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac722dfa01172dc818ac7b88296ab8bbb">LBP_CP</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac39763b5b0557dddcec94a381ef30f4e">LBP_QU</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a0550bdd01f16132d2897fc5000f58df7">LBP_GL</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a1cbbcff8d381e12574aec3679990e3f0">LBP_NS</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a694a3a0a4cf1649ca938e4cb8064f3b0">LBP_EX</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a47f9a3d5b87cd350905f552ffa3da097">LBP_SY</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a98ddb858ed33918bce8784a60c36712e">LBP_IS</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a985024038b0a61a40df014013daa7d57">LBP_PR</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac7d5be8568020554e49bb4c01ca1fdba">LBP_PO</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7d6ec3c06dfdee326bca876365e5be28">LBP_NU</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a99a0353e48d4453d0acf01da43655281">LBP_AL</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a277e68f51ab2a52445f0e7e219b8bd55">LBP_ID</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ae5285b1bd6bf868b1655b8ad3cb9cc73">LBP_IN</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7cf4d61e77f0d1f8974f1b21379d2883">LBP_HY</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a8487a95ef080e81a013162e107a4bc74">LBP_BA</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a98dbcbc080626fbc0ff7d4f2b8b86d7d">LBP_BB</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a46fe18e486c79c3835a587fb15ad0c63">LBP_B2</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070aa58613e52b70bda371b48ca2d89d85ee">LBP_ZW</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ade6aff21f968efc84109e502c5c469c1">LBP_CM</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a00085861924d3758649cfd7dc0ec3daa">LBP_WJ</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a87a5464b708121503da98654e02c2cfc">LBP_H2</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ae898c79c281f9d12c4adfa12834f4380">LBP_H3</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a2cb194fd3b6e0295a134ad735f8f75eb">LBP_JL</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7759e3988158319f9efe87e322804cd8">LBP_JV</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7851519f0dac4f922b4144315bb711bf">LBP_JT</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac9dcacac1d71f0f8ca7bbfe670620dd3">LBP_AI</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7b0aae40955328f649ec66b23ecf1626">LBP_BK</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a485f9b3c86d8b6f800bba048f1bf47b1">LBP_CB</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a8f6991e8defca4aa9e6485dbb32628a2">LBP_CR</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a944522607828ef422c419633f68c8cab">LBP_LF</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070acfefd6df8344cc5601ce7786aee51fcf">LBP_NL</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a38b102b238de030fe74906fb0fcfb769">LBP_SA</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ad6764678f5d80d86324a6f29c0561817">LBP_SG</a>,
<br/>
&nbsp;&nbsp;<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7605e7c192d43e2ef0596e92446dfba4">LBP_SP</a>,
<a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a49450c35ed2a20d252e707322964bdf0">LBP_XX</a>
<br/>
}</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight"><p>Line break classes. </p>
<a href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">More...</a><br/></td></tr>
<tr><td colspan="2"><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#a5ffc31765568becd8b9eb08a3916ab4b">lb_get_next_char_utf8</a> (const <a class="el" href="linebreak_8h.html#a6103b2105588f239c593e779e605038a">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="#a5ffc31765568becd8b9eb08a3916ab4b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#aa1664feb525e6bf1efbe8566547708be">lb_get_next_char_utf16</a> (const <a class="el" href="linebreak_8h.html#a4dce96cad338d9281612277b2d80950c">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="#aa1664feb525e6bf1efbe8566547708be"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#a1f8bc7169caccfa444e75274b55e6721">lb_get_next_char_utf32</a> (const <a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">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="#a1f8bc7169caccfa444e75274b55e6721"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#a0e86da0f08579bd9bfeb437f5fab15fe">set_linebreaks</a> (const void *s, size_t len, const char *lang, char *brks, <a class="el" href="linebreakdef_8h.html#ad76de249e1f8334f318f9ee97ccc77c3">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="#a0e86da0f08579bd9bfeb437f5fab15fe"></a><br/></td></tr>
<tr><td colspan="2"><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" 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#abbd8c6b6e4e1c8ad2da83f23f81ac29a">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="#abbd8c6b6e4e1c8ad2da83f23f81ac29a"></a><br/></td></tr>
<tr><td class="memItemLeft" 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#a82efdfa4115828df9158e183f1a9983d">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="#a82efdfa4115828df9158e183f1a9983d"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Definitions of internal data structures, declarations of global variables, and function prototypes 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="aadbbc7b02d94a4c18646813ac8d7dec1"></a><!-- doxytag: member="linebreakdef.h::EOS" ref="aadbbc7b02d94a4c18646813ac8d7dec1" 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>
<p>It is not a valid Unicode character. </p>
</div>
</div>
<hr/><h2>Typedef Documentation</h2>
<a class="anchor" id="ad76de249e1f8334f318f9ee97ccc77c3"></a><!-- doxytag: member="linebreakdef.h::get_next_char_t" ref="ad76de249e1f8334f318f9ee97ccc77c3" 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#a4f775bae0642c213be2c526018283c25">utf32_t</a>(* <a class="el" href="linebreakdef_8h.html#ad76de249e1f8334f318f9ee97ccc77c3">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#a5ffc31765568becd8b9eb08a3916ab4b" title="Gets the next Unicode character in a UTF-8 sequence.">lb_get_next_char_utf8</a>, <a class="el" href="linebreakdef_8h.html#aa1664feb525e6bf1efbe8566547708be" title="Gets the next Unicode character in a UTF-16 sequence.">lb_get_next_char_utf16</a>, and <a class="el" href="linebreakdef_8h.html#a1f8bc7169caccfa444e75274b55e6721" title="Gets the next Unicode character in a UTF-32 sequence.">lb_get_next_char_utf32</a>. </p>
</div>
</div>
<hr/><h2>Enumeration Type Documentation</h2>
<a class="anchor" id="a884b6565d87a81bbf549980bbdd04070"></a><!-- doxytag: member="linebreakdef.h::LineBreakClass" ref="a884b6565d87a81bbf549980bbdd04070" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Line break classes. </p>
<p>This is a direct mapping of Table 1 of Unicode Standard Annex 14, Revision 19. </p>
<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a926181b709c80b3b50e929c2a151b723"></a><!-- doxytag: member="LBP_Undefined" ref="a884b6565d87a81bbf549980bbdd04070a926181b709c80b3b50e929c2a151b723" args="" -->LBP_Undefined</em>&nbsp;</td><td>
<p>Undefined. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3"></a><!-- doxytag: member="LBP_OP" ref="a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" args="" -->LBP_OP</em>&nbsp;</td><td>
<p>Opening punctuation. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d"></a><!-- doxytag: member="LBP_CL" ref="a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" args="" -->LBP_CL</em>&nbsp;</td><td>
<p>Closing punctuation. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070ac722dfa01172dc818ac7b88296ab8bbb"></a><!-- doxytag: member="LBP_CP" ref="a884b6565d87a81bbf549980bbdd04070ac722dfa01172dc818ac7b88296ab8bbb" args="" -->LBP_CP</em>&nbsp;</td><td>
<p>Closing parenthesis. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070ac39763b5b0557dddcec94a381ef30f4e"></a><!-- doxytag: member="LBP_QU" ref="a884b6565d87a81bbf549980bbdd04070ac39763b5b0557dddcec94a381ef30f4e" args="" -->LBP_QU</em>&nbsp;</td><td>
<p>Ambiguous quotation. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a0550bdd01f16132d2897fc5000f58df7"></a><!-- doxytag: member="LBP_GL" ref="a884b6565d87a81bbf549980bbdd04070a0550bdd01f16132d2897fc5000f58df7" args="" -->LBP_GL</em>&nbsp;</td><td>
<p>Glue. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a1cbbcff8d381e12574aec3679990e3f0"></a><!-- doxytag: member="LBP_NS" ref="a884b6565d87a81bbf549980bbdd04070a1cbbcff8d381e12574aec3679990e3f0" args="" -->LBP_NS</em>&nbsp;</td><td>
<p>Non-starters. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a694a3a0a4cf1649ca938e4cb8064f3b0"></a><!-- doxytag: member="LBP_EX" ref="a884b6565d87a81bbf549980bbdd04070a694a3a0a4cf1649ca938e4cb8064f3b0" args="" -->LBP_EX</em>&nbsp;</td><td>
<p>Exclamation/Interrogation. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a47f9a3d5b87cd350905f552ffa3da097"></a><!-- doxytag: member="LBP_SY" ref="a884b6565d87a81bbf549980bbdd04070a47f9a3d5b87cd350905f552ffa3da097" args="" -->LBP_SY</em>&nbsp;</td><td>
<p>Symbols allowing break after. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a98ddb858ed33918bce8784a60c36712e"></a><!-- doxytag: member="LBP_IS" ref="a884b6565d87a81bbf549980bbdd04070a98ddb858ed33918bce8784a60c36712e" args="" -->LBP_IS</em>&nbsp;</td><td>
<p>Infix separator. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a985024038b0a61a40df014013daa7d57"></a><!-- doxytag: member="LBP_PR" ref="a884b6565d87a81bbf549980bbdd04070a985024038b0a61a40df014013daa7d57" args="" -->LBP_PR</em>&nbsp;</td><td>
<p>Prefix. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070ac7d5be8568020554e49bb4c01ca1fdba"></a><!-- doxytag: member="LBP_PO" ref="a884b6565d87a81bbf549980bbdd04070ac7d5be8568020554e49bb4c01ca1fdba" args="" -->LBP_PO</em>&nbsp;</td><td>
<p>Postfix. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a7d6ec3c06dfdee326bca876365e5be28"></a><!-- doxytag: member="LBP_NU" ref="a884b6565d87a81bbf549980bbdd04070a7d6ec3c06dfdee326bca876365e5be28" args="" -->LBP_NU</em>&nbsp;</td><td>
<p>Numeric. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a99a0353e48d4453d0acf01da43655281"></a><!-- doxytag: member="LBP_AL" ref="a884b6565d87a81bbf549980bbdd04070a99a0353e48d4453d0acf01da43655281" args="" -->LBP_AL</em>&nbsp;</td><td>
<p>Alphabetic. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a277e68f51ab2a52445f0e7e219b8bd55"></a><!-- doxytag: member="LBP_ID" ref="a884b6565d87a81bbf549980bbdd04070a277e68f51ab2a52445f0e7e219b8bd55" args="" -->LBP_ID</em>&nbsp;</td><td>
<p>Ideographic. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070ae5285b1bd6bf868b1655b8ad3cb9cc73"></a><!-- doxytag: member="LBP_IN" ref="a884b6565d87a81bbf549980bbdd04070ae5285b1bd6bf868b1655b8ad3cb9cc73" args="" -->LBP_IN</em>&nbsp;</td><td>
<p>Inseparable characters. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a7cf4d61e77f0d1f8974f1b21379d2883"></a><!-- doxytag: member="LBP_HY" ref="a884b6565d87a81bbf549980bbdd04070a7cf4d61e77f0d1f8974f1b21379d2883" args="" -->LBP_HY</em>&nbsp;</td><td>
<p>Hyphen. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a8487a95ef080e81a013162e107a4bc74"></a><!-- doxytag: member="LBP_BA" ref="a884b6565d87a81bbf549980bbdd04070a8487a95ef080e81a013162e107a4bc74" args="" -->LBP_BA</em>&nbsp;</td><td>
<p>Break after. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a98dbcbc080626fbc0ff7d4f2b8b86d7d"></a><!-- doxytag: member="LBP_BB" ref="a884b6565d87a81bbf549980bbdd04070a98dbcbc080626fbc0ff7d4f2b8b86d7d" args="" -->LBP_BB</em>&nbsp;</td><td>
<p>Break before. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a46fe18e486c79c3835a587fb15ad0c63"></a><!-- doxytag: member="LBP_B2" ref="a884b6565d87a81bbf549980bbdd04070a46fe18e486c79c3835a587fb15ad0c63" args="" -->LBP_B2</em>&nbsp;</td><td>
<p>Break on either side (but not pair). </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070aa58613e52b70bda371b48ca2d89d85ee"></a><!-- doxytag: member="LBP_ZW" ref="a884b6565d87a81bbf549980bbdd04070aa58613e52b70bda371b48ca2d89d85ee" args="" -->LBP_ZW</em>&nbsp;</td><td>
<p>Zero-width space. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070ade6aff21f968efc84109e502c5c469c1"></a><!-- doxytag: member="LBP_CM" ref="a884b6565d87a81bbf549980bbdd04070ade6aff21f968efc84109e502c5c469c1" args="" -->LBP_CM</em>&nbsp;</td><td>
<p>Combining marks. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a00085861924d3758649cfd7dc0ec3daa"></a><!-- doxytag: member="LBP_WJ" ref="a884b6565d87a81bbf549980bbdd04070a00085861924d3758649cfd7dc0ec3daa" args="" -->LBP_WJ</em>&nbsp;</td><td>
<p>Word joiner. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a87a5464b708121503da98654e02c2cfc"></a><!-- doxytag: member="LBP_H2" ref="a884b6565d87a81bbf549980bbdd04070a87a5464b708121503da98654e02c2cfc" args="" -->LBP_H2</em>&nbsp;</td><td>
<p>Hangul LV. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070ae898c79c281f9d12c4adfa12834f4380"></a><!-- doxytag: member="LBP_H3" ref="a884b6565d87a81bbf549980bbdd04070ae898c79c281f9d12c4adfa12834f4380" args="" -->LBP_H3</em>&nbsp;</td><td>
<p>Hangul LVT. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a2cb194fd3b6e0295a134ad735f8f75eb"></a><!-- doxytag: member="LBP_JL" ref="a884b6565d87a81bbf549980bbdd04070a2cb194fd3b6e0295a134ad735f8f75eb" args="" -->LBP_JL</em>&nbsp;</td><td>
<p>Hangul L Jamo. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a7759e3988158319f9efe87e322804cd8"></a><!-- doxytag: member="LBP_JV" ref="a884b6565d87a81bbf549980bbdd04070a7759e3988158319f9efe87e322804cd8" args="" -->LBP_JV</em>&nbsp;</td><td>
<p>Hangul V Jamo. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a7851519f0dac4f922b4144315bb711bf"></a><!-- doxytag: member="LBP_JT" ref="a884b6565d87a81bbf549980bbdd04070a7851519f0dac4f922b4144315bb711bf" args="" -->LBP_JT</em>&nbsp;</td><td>
<p>Hangul T Jamo. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070ac9dcacac1d71f0f8ca7bbfe670620dd3"></a><!-- doxytag: member="LBP_AI" ref="a884b6565d87a81bbf549980bbdd04070ac9dcacac1d71f0f8ca7bbfe670620dd3" args="" -->LBP_AI</em>&nbsp;</td><td>
<p>Ambiguous (alphabetic or ideograph). </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a7b0aae40955328f649ec66b23ecf1626"></a><!-- doxytag: member="LBP_BK" ref="a884b6565d87a81bbf549980bbdd04070a7b0aae40955328f649ec66b23ecf1626" args="" -->LBP_BK</em>&nbsp;</td><td>
<p>Break (mandatory). </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a485f9b3c86d8b6f800bba048f1bf47b1"></a><!-- doxytag: member="LBP_CB" ref="a884b6565d87a81bbf549980bbdd04070a485f9b3c86d8b6f800bba048f1bf47b1" args="" -->LBP_CB</em>&nbsp;</td><td>
<p>Contingent break. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a8f6991e8defca4aa9e6485dbb32628a2"></a><!-- doxytag: member="LBP_CR" ref="a884b6565d87a81bbf549980bbdd04070a8f6991e8defca4aa9e6485dbb32628a2" args="" -->LBP_CR</em>&nbsp;</td><td>
<p>Carriage return. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a944522607828ef422c419633f68c8cab"></a><!-- doxytag: member="LBP_LF" ref="a884b6565d87a81bbf549980bbdd04070a944522607828ef422c419633f68c8cab" args="" -->LBP_LF</em>&nbsp;</td><td>
<p>Line feed. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070acfefd6df8344cc5601ce7786aee51fcf"></a><!-- doxytag: member="LBP_NL" ref="a884b6565d87a81bbf549980bbdd04070acfefd6df8344cc5601ce7786aee51fcf" args="" -->LBP_NL</em>&nbsp;</td><td>
<p>Next line. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a38b102b238de030fe74906fb0fcfb769"></a><!-- doxytag: member="LBP_SA" ref="a884b6565d87a81bbf549980bbdd04070a38b102b238de030fe74906fb0fcfb769" args="" -->LBP_SA</em>&nbsp;</td><td>
<p>South-East Asian. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070ad6764678f5d80d86324a6f29c0561817"></a><!-- doxytag: member="LBP_SG" ref="a884b6565d87a81bbf549980bbdd04070ad6764678f5d80d86324a6f29c0561817" args="" -->LBP_SG</em>&nbsp;</td><td>
<p>Surrogates. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a7605e7c192d43e2ef0596e92446dfba4"></a><!-- doxytag: member="LBP_SP" ref="a884b6565d87a81bbf549980bbdd04070a7605e7c192d43e2ef0596e92446dfba4" args="" -->LBP_SP</em>&nbsp;</td><td>
<p>Space. </p>
</td></tr>
<tr><td valign="top"><em><a class="anchor" id="a884b6565d87a81bbf549980bbdd04070a49450c35ed2a20d252e707322964bdf0"></a><!-- doxytag: member="LBP_XX" ref="a884b6565d87a81bbf549980bbdd04070a49450c35ed2a20d252e707322964bdf0" args="" -->LBP_XX</em>&nbsp;</td><td>
<p>Unknown. </p>
</td></tr>
</table>
</dd>
</dl>
</div>
</div>
<hr/><h2>Function Documentation</h2>
<a class="anchor" id="aa1664feb525e6bf1efbe8566547708be"></a><!-- doxytag: member="linebreakdef.h::lb_get_next_char_utf16" ref="aa1664feb525e6bf1efbe8566547708be" 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#a4f775bae0642c213be2c526018283c25">utf32_t</a> lb_get_next_char_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">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>
<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><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>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the Unicode character beginning at the index; or <a class="el" href="linebreakdef_8h.html#aadbbc7b02d94a4c18646813ac8d7dec1" title="Constant value to mark the end of string.">EOS</a> if end of input is encountered </dd></dl>
</div>
</div>
<a class="anchor" id="a1f8bc7169caccfa444e75274b55e6721"></a><!-- doxytag: member="linebreakdef.h::lb_get_next_char_utf32" ref="a1f8bc7169caccfa444e75274b55e6721" 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#a4f775bae0642c213be2c526018283c25">utf32_t</a> lb_get_next_char_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">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>
<p>The index will be advanced to the next character.</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 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>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the Unicode character beginning at the index; or <a class="el" href="linebreakdef_8h.html#aadbbc7b02d94a4c18646813ac8d7dec1" title="Constant value to mark the end of string.">EOS</a> if end of input is encountered </dd></dl>
</div>
</div>
<a class="anchor" id="a5ffc31765568becd8b9eb08a3916ab4b"></a><!-- doxytag: member="linebreakdef.h::lb_get_next_char_utf8" ref="a5ffc31765568becd8b9eb08a3916ab4b" 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#a4f775bae0642c213be2c526018283c25">utf32_t</a> lb_get_next_char_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">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>
<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><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>
</dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>the Unicode character beginning at the index; or <a class="el" href="linebreakdef_8h.html#aadbbc7b02d94a4c18646813ac8d7dec1" title="Constant value to mark the end of string.">EOS</a> if end of input is encountered </dd></dl>
</div>
</div>
<a class="anchor" id="a0e86da0f08579bd9bfeb437f5fab15fe"></a><!-- doxytag: member="linebreakdef.h::set_linebreaks" ref="a0e86da0f08579bd9bfeb437f5fab15fe" 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#ad76de249e1f8334f318f9ee97ccc77c3">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><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#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>
<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>
</dd>
</dl>
</div>
</div>
<hr/><h2>Variable Documentation</h2>
<a class="anchor" id="abbd8c6b6e4e1c8ad2da83f23f81ac29a"></a><!-- doxytag: member="linebreakdef.h::lb_prop_default" ref="abbd8c6b6e4e1c8ad2da83f23f81ac29a" 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#abbd8c6b6e4e1c8ad2da83f23f81ac29a">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>
<a class="anchor" id="a82efdfa4115828df9158e183f1a9983d"></a><!-- doxytag: member="linebreakdef.h::lb_prop_lang_map" ref="a82efdfa4115828df9158e183f1a9983d" 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#a82efdfa4115828df9158e183f1a9983d">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>
<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. </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>

View file

@ -0,0 +1,147 @@
<!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: linebreakdef.h Source File</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>
<h1>linebreakdef.h</h1><a href="linebreakdef_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* vim: set tabstop=4 shiftwidth=4: */</span>
<a name="l00002"></a>00002
<a name="l00003"></a>00003 <span class="comment">/*</span>
<a name="l00004"></a>00004 <span class="comment"> * Line breaking in a Unicode sequence. Designed to be used in a</span>
<a name="l00005"></a>00005 <span class="comment"> * generic text renderer.</span>
<a name="l00006"></a>00006 <span class="comment"> *</span>
<a name="l00007"></a>00007 <span class="comment"> * Copyright (C) 2008-2009 Wu Yongwei &lt;wuyongwei at gmail dot com&gt;</span>
<a name="l00008"></a>00008 <span class="comment"> *</span>
<a name="l00009"></a>00009 <span class="comment"> * This software is provided &apos;as-is&apos;, without any express or implied</span>
<a name="l00010"></a>00010 <span class="comment"> * warranty. In no event will the author be held liable for any damages</span>
<a name="l00011"></a>00011 <span class="comment"> * arising from the use of this software.</span>
<a name="l00012"></a>00012 <span class="comment"> *</span>
<a name="l00013"></a>00013 <span class="comment"> * Permission is granted to anyone to use this software for any purpose,</span>
<a name="l00014"></a>00014 <span class="comment"> * including commercial applications, and to alter it and redistribute</span>
<a name="l00015"></a>00015 <span class="comment"> * it freely, subject to the following restrictions:</span>
<a name="l00016"></a>00016 <span class="comment"> *</span>
<a name="l00017"></a>00017 <span class="comment"> * 1. The origin of this software must not be misrepresented; you must</span>
<a name="l00018"></a>00018 <span class="comment"> * not claim that you wrote the original software. If you use this</span>
<a name="l00019"></a>00019 <span class="comment"> * software in a product, an acknowledgement in the product</span>
<a name="l00020"></a>00020 <span class="comment"> * documentation would be appreciated but is not required.</span>
<a name="l00021"></a>00021 <span class="comment"> * 2. Altered source versions must be plainly marked as such, and must</span>
<a name="l00022"></a>00022 <span class="comment"> * not be misrepresented as being the original software.</span>
<a name="l00023"></a>00023 <span class="comment"> * 3. This notice may not be removed or altered from any source</span>
<a name="l00024"></a>00024 <span class="comment"> * distribution.</span>
<a name="l00025"></a>00025 <span class="comment"> *</span>
<a name="l00026"></a>00026 <span class="comment"> * The main reference is Unicode Standard Annex 14 (UAX #14):</span>
<a name="l00027"></a>00027 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/&gt;</span>
<a name="l00028"></a>00028 <span class="comment"> *</span>
<a name="l00029"></a>00029 <span class="comment"> * When this library was designed, this annex was at Revision 19, for</span>
<a name="l00030"></a>00030 <span class="comment"> * Unicode 5.0.0:</span>
<a name="l00031"></a>00031 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/tr14-19.html&gt;</span>
<a name="l00032"></a>00032 <span class="comment"> *</span>
<a name="l00033"></a>00033 <span class="comment"> * This library has been updated according to Revision 24, for</span>
<a name="l00034"></a>00034 <span class="comment"> * Unicode 5.2.0:</span>
<a name="l00035"></a>00035 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/tr14-24.html&gt;</span>
<a name="l00036"></a>00036 <span class="comment"> *</span>
<a name="l00037"></a>00037 <span class="comment"> * The Unicode Terms of Use are available at</span>
<a name="l00038"></a>00038 <span class="comment"> * &lt;URL:http://www.unicode.org/copyright.html&gt;</span>
<a name="l00039"></a>00039 <span class="comment"> */</span>
<a name="l00040"></a>00040
<a name="l00055"></a><a class="code" href="linebreakdef_8h.html#aadbbc7b02d94a4c18646813ac8d7dec1">00055</a> <span class="preprocessor">#define EOS 0xFFFF</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span>
<a name="l00061"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">00061</a> <span class="keyword">enum</span> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070" title="Line break classes.">LineBreakClass</a>
<a name="l00062"></a>00062 {
<a name="l00063"></a>00063 <span class="comment">/* This is used to signal an error condition. */</span>
<a name="l00064"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a926181b709c80b3b50e929c2a151b723">00064</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a>,
<a name="l00066"></a>00066 <span class="comment">/* The following break classes are treated in the pair table. */</span>
<a name="l00067"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3">00067</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ace49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a>,
<a name="l00068"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d">00068</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a13de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a>,
<a name="l00069"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac722dfa01172dc818ac7b88296ab8bbb">00069</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac722dfa01172dc818ac7b88296ab8bbb" title="Closing parenthesis.">LBP_CP</a>,
<a name="l00070"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac39763b5b0557dddcec94a381ef30f4e">00070</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac39763b5b0557dddcec94a381ef30f4e" title="Ambiguous quotation.">LBP_QU</a>,
<a name="l00071"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a0550bdd01f16132d2897fc5000f58df7">00071</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a0550bdd01f16132d2897fc5000f58df7" title="Glue.">LBP_GL</a>,
<a name="l00072"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a1cbbcff8d381e12574aec3679990e3f0">00072</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a1cbbcff8d381e12574aec3679990e3f0" title="Non-starters.">LBP_NS</a>,
<a name="l00073"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a694a3a0a4cf1649ca938e4cb8064f3b0">00073</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a694a3a0a4cf1649ca938e4cb8064f3b0" title="Exclamation/Interrogation.">LBP_EX</a>,
<a name="l00074"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a47f9a3d5b87cd350905f552ffa3da097">00074</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a47f9a3d5b87cd350905f552ffa3da097" title="Symbols allowing break after.">LBP_SY</a>,
<a name="l00075"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a98ddb858ed33918bce8784a60c36712e">00075</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a98ddb858ed33918bce8784a60c36712e" title="Infix separator.">LBP_IS</a>,
<a name="l00076"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a985024038b0a61a40df014013daa7d57">00076</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a985024038b0a61a40df014013daa7d57" title="Prefix.">LBP_PR</a>,
<a name="l00077"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac7d5be8568020554e49bb4c01ca1fdba">00077</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac7d5be8568020554e49bb4c01ca1fdba" title="Postfix.">LBP_PO</a>,
<a name="l00078"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7d6ec3c06dfdee326bca876365e5be28">00078</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7d6ec3c06dfdee326bca876365e5be28" title="Numeric.">LBP_NU</a>,
<a name="l00079"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a99a0353e48d4453d0acf01da43655281">00079</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a99a0353e48d4453d0acf01da43655281" title="Alphabetic.">LBP_AL</a>,
<a name="l00080"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a277e68f51ab2a52445f0e7e219b8bd55">00080</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a277e68f51ab2a52445f0e7e219b8bd55" title="Ideographic.">LBP_ID</a>,
<a name="l00081"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ae5285b1bd6bf868b1655b8ad3cb9cc73">00081</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ae5285b1bd6bf868b1655b8ad3cb9cc73" title="Inseparable characters.">LBP_IN</a>,
<a name="l00082"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7cf4d61e77f0d1f8974f1b21379d2883">00082</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7cf4d61e77f0d1f8974f1b21379d2883" title="Hyphen.">LBP_HY</a>,
<a name="l00083"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a8487a95ef080e81a013162e107a4bc74">00083</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a8487a95ef080e81a013162e107a4bc74" title="Break after.">LBP_BA</a>,
<a name="l00084"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a98dbcbc080626fbc0ff7d4f2b8b86d7d">00084</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a98dbcbc080626fbc0ff7d4f2b8b86d7d" title="Break before.">LBP_BB</a>,
<a name="l00085"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a46fe18e486c79c3835a587fb15ad0c63">00085</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a46fe18e486c79c3835a587fb15ad0c63" title="Break on either side (but not pair).">LBP_B2</a>,
<a name="l00086"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070aa58613e52b70bda371b48ca2d89d85ee">00086</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070aa58613e52b70bda371b48ca2d89d85ee" title="Zero-width space.">LBP_ZW</a>,
<a name="l00087"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ade6aff21f968efc84109e502c5c469c1">00087</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ade6aff21f968efc84109e502c5c469c1" title="Combining marks.">LBP_CM</a>,
<a name="l00088"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a00085861924d3758649cfd7dc0ec3daa">00088</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a00085861924d3758649cfd7dc0ec3daa" title="Word joiner.">LBP_WJ</a>,
<a name="l00089"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a87a5464b708121503da98654e02c2cfc">00089</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a87a5464b708121503da98654e02c2cfc" title="Hangul LV.">LBP_H2</a>,
<a name="l00090"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ae898c79c281f9d12c4adfa12834f4380">00090</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ae898c79c281f9d12c4adfa12834f4380" title="Hangul LVT.">LBP_H3</a>,
<a name="l00091"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a2cb194fd3b6e0295a134ad735f8f75eb">00091</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a2cb194fd3b6e0295a134ad735f8f75eb" title="Hangul L Jamo.">LBP_JL</a>,
<a name="l00092"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7759e3988158319f9efe87e322804cd8">00092</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7759e3988158319f9efe87e322804cd8" title="Hangul V Jamo.">LBP_JV</a>,
<a name="l00093"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7851519f0dac4f922b4144315bb711bf">00093</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7851519f0dac4f922b4144315bb711bf" title="Hangul T Jamo.">LBP_JT</a>,
<a name="l00095"></a>00095 <span class="comment">/* The following break classes are not treated in the pair table */</span>
<a name="l00096"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac9dcacac1d71f0f8ca7bbfe670620dd3">00096</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ac9dcacac1d71f0f8ca7bbfe670620dd3" title="Ambiguous (alphabetic or ideograph).">LBP_AI</a>,
<a name="l00097"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7b0aae40955328f649ec66b23ecf1626">00097</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7b0aae40955328f649ec66b23ecf1626" title="Break (mandatory).">LBP_BK</a>,
<a name="l00098"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a485f9b3c86d8b6f800bba048f1bf47b1">00098</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a485f9b3c86d8b6f800bba048f1bf47b1" title="Contingent break.">LBP_CB</a>,
<a name="l00099"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a8f6991e8defca4aa9e6485dbb32628a2">00099</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a8f6991e8defca4aa9e6485dbb32628a2" title="Carriage return.">LBP_CR</a>,
<a name="l00100"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a944522607828ef422c419633f68c8cab">00100</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a944522607828ef422c419633f68c8cab" title="Line feed.">LBP_LF</a>,
<a name="l00101"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070acfefd6df8344cc5601ce7786aee51fcf">00101</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070acfefd6df8344cc5601ce7786aee51fcf" title="Next line.">LBP_NL</a>,
<a name="l00102"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a38b102b238de030fe74906fb0fcfb769">00102</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a38b102b238de030fe74906fb0fcfb769" title="South-East Asian.">LBP_SA</a>,
<a name="l00103"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ad6764678f5d80d86324a6f29c0561817">00103</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070ad6764678f5d80d86324a6f29c0561817" title="Surrogates.">LBP_SG</a>,
<a name="l00104"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7605e7c192d43e2ef0596e92446dfba4">00104</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a7605e7c192d43e2ef0596e92446dfba4" title="Space.">LBP_SP</a>,
<a name="l00105"></a><a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a49450c35ed2a20d252e707322964bdf0">00105</a> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070a49450c35ed2a20d252e707322964bdf0" title="Unknown.">LBP_XX</a>
<a name="l00106"></a>00106 };
<a name="l00107"></a>00107
<a name="l00112"></a><a class="code" href="structLineBreakProperties.html">00112</a> <span class="keyword">struct </span><a class="code" href="structLineBreakProperties.html" title="Struct for entries of line break properties.">LineBreakProperties</a>
<a name="l00113"></a>00113 {
<a name="l00114"></a><a class="code" href="structLineBreakProperties.html#a1fe368ff9b53f52305c8dca687395372">00114</a> <a class="code" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="structLineBreakProperties.html#a1fe368ff9b53f52305c8dca687395372" title="Starting coding point.">start</a>;
<a name="l00115"></a><a class="code" href="structLineBreakProperties.html#af6ff463e88f6c694661aa10222404a14">00115</a> <a class="code" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="structLineBreakProperties.html#af6ff463e88f6c694661aa10222404a14" title="End coding point.">end</a>;
<a name="l00116"></a><a class="code" href="structLineBreakProperties.html#a46d34ea3f514f8f082d92a441a6665ba">00116</a> <span class="keyword">enum</span> <a class="code" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070" title="Line break classes.">LineBreakClass</a> <a class="code" href="structLineBreakProperties.html#a46d34ea3f514f8f082d92a441a6665ba" title="The line breaking property.">prop</a>;
<a name="l00117"></a>00117 };
<a name="l00118"></a>00118
<a name="l00123"></a><a class="code" href="structLineBreakPropertiesLang.html">00123</a> <span class="keyword">struct </span><a class="code" href="structLineBreakPropertiesLang.html" title="Struct for association of language-specific line breaking properties with language...">LineBreakPropertiesLang</a>
<a name="l00124"></a>00124 {
<a name="l00125"></a><a class="code" href="structLineBreakPropertiesLang.html#ae961b49d11e272adc590cf06e9f6100d">00125</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structLineBreakPropertiesLang.html#ae961b49d11e272adc590cf06e9f6100d" title="Language name.">lang</a>;
<a name="l00126"></a><a class="code" href="structLineBreakPropertiesLang.html#ab5132ed92c5964a5cfecbb21de206488">00126</a> <span class="keywordtype">size_t</span> <a class="code" href="structLineBreakPropertiesLang.html#ab5132ed92c5964a5cfecbb21de206488" title="Length of name to match.">namelen</a>;
<a name="l00127"></a><a class="code" href="structLineBreakPropertiesLang.html#ae4b7339a372a0ccbf97e380aa440ff9d">00127</a> <span class="keyword">struct </span><a class="code" href="structLineBreakProperties.html" title="Struct for entries of line break properties.">LineBreakProperties</a> *<a class="code" href="structLineBreakPropertiesLang.html#ae4b7339a372a0ccbf97e380aa440ff9d" title="Pointer to associated data.">lbp</a>;
<a name="l00128"></a>00128 };
<a name="l00129"></a>00129
<a name="l00134"></a><a class="code" href="linebreakdef_8h.html#ad76de249e1f8334f318f9ee97ccc77c3">00134</a> <span class="keyword">typedef</span> <a class="code" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> (*<a class="code" href="linebreakdef_8h.html#ad76de249e1f8334f318f9ee97ccc77c3" title="Abstract function interface for lb_get_next_char_utf8, lb_get_next_char_utf16, and...">get_next_char_t</a>)(<span class="keyword">const</span> <span class="keywordtype">void</span> *, size_t, <span class="keywordtype">size_t</span> *);
<a name="l00135"></a>00135
<a name="l00136"></a>00136 <span class="comment">/* Declarations */</span>
<a name="l00137"></a>00137 <span class="keyword">extern</span> <span class="keyword">struct </span><a class="code" href="structLineBreakProperties.html" title="Struct for entries of line break properties.">LineBreakProperties</a> <a class="code" href="linebreakdata_8c.html#abbd8c6b6e4e1c8ad2da83f23f81ac29a" title="Default line breaking properties as from the Unicode Web site.">lb_prop_default</a>[];
<a name="l00138"></a>00138 <span class="keyword">extern</span> <span class="keyword">struct </span><a class="code" href="structLineBreakPropertiesLang.html" title="Struct for association of language-specific line breaking properties with language...">LineBreakPropertiesLang</a> <a class="code" href="linebreakdef_8c.html#a82efdfa4115828df9158e183f1a9983d" title="Association data of language-specific line breaking properties with language names...">lb_prop_lang_map</a>[];
<a name="l00139"></a>00139
<a name="l00140"></a>00140 <span class="comment">/* Function Prototype */</span>
<a name="l00141"></a>00141 <a class="code" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="linebreak_8c.html#a5ffc31765568becd8b9eb08a3916ab4b" title="Gets the next Unicode character in a UTF-8 sequence.">lb_get_next_char_utf8</a>(<span class="keyword">const</span> <a class="code" href="linebreak_8h.html#a6103b2105588f239c593e779e605038a" title="Type for UTF-8 data points.">utf8_t</a> *s, <span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> *ip);
<a name="l00142"></a>00142 <a class="code" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="linebreak_8c.html#aa1664feb525e6bf1efbe8566547708be" title="Gets the next Unicode character in a UTF-16 sequence.">lb_get_next_char_utf16</a>(<span class="keyword">const</span> <a class="code" href="linebreak_8h.html#a4dce96cad338d9281612277b2d80950c" title="Type for UTF-16 data points.">utf16_t</a> *s, <span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> *ip);
<a name="l00143"></a>00143 <a class="code" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="linebreak_8c.html#a1f8bc7169caccfa444e75274b55e6721" title="Gets the next Unicode character in a UTF-32 sequence.">lb_get_next_char_utf32</a>(<span class="keyword">const</span> <a class="code" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> *s, <span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> *ip);
<a name="l00144"></a>00144 <span class="keywordtype">void</span> <a class="code" href="linebreak_8c.html#a0e86da0f08579bd9bfeb437f5fab15fe" title="Sets the line breaking information for a generic input string.">set_linebreaks</a>(
<a name="l00145"></a>00145 <span class="keyword">const</span> <span class="keywordtype">void</span> *s,
<a name="l00146"></a>00146 <span class="keywordtype">size_t</span> len,
<a name="l00147"></a>00147 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structLineBreakPropertiesLang.html#ae961b49d11e272adc590cf06e9f6100d" title="Language name.">lang</a>,
<a name="l00148"></a>00148 <span class="keywordtype">char</span> *brks,
<a name="l00149"></a>00149 <a class="code" href="linebreakdef_8h.html#ad76de249e1f8334f318f9ee97ccc77c3" title="Abstract function interface for lb_get_next_char_utf8, lb_get_next_char_utf16, and...">get_next_char_t</a> get_next_char);
</pre></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>

View file

@ -0,0 +1,99 @@
<!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: LineBreakProperties Struct 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 class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>LineBreakProperties Struct Reference</h1><!-- doxytag: class="LineBreakProperties" -->
<p>Struct for entries of line break properties.
<a href="#_details">More...</a></p>
<p><code>#include &lt;<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>&gt;</code></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakProperties.html#a1fe368ff9b53f52305c8dca687395372">start</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Starting coding point. <a href="#a1fe368ff9b53f52305c8dca687395372"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakProperties.html#af6ff463e88f6c694661aa10222404a14">end</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End coding point. <a href="#af6ff463e88f6c694661aa10222404a14"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">enum <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakProperties.html#a46d34ea3f514f8f082d92a441a6665ba">prop</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The line breaking property. <a href="#a46d34ea3f514f8f082d92a441a6665ba"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Struct for entries of line break properties. </p>
<p>The array of the entries <em>must</em> be sorted. </p>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="af6ff463e88f6c694661aa10222404a14"></a><!-- doxytag: member="LineBreakProperties::end" ref="af6ff463e88f6c694661aa10222404a14" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a> <a class="el" href="structLineBreakProperties.html#af6ff463e88f6c694661aa10222404a14">LineBreakProperties::end</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>End coding point. </p>
</div>
</div>
<a class="anchor" id="a46d34ea3f514f8f082d92a441a6665ba"></a><!-- doxytag: member="LineBreakProperties::prop" ref="a46d34ea3f514f8f082d92a441a6665ba" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="linebreakdef_8h.html#a884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> <a class="el" href="structLineBreakProperties.html#a46d34ea3f514f8f082d92a441a6665ba">LineBreakProperties::prop</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>The line breaking property. </p>
</div>
</div>
<a class="anchor" id="a1fe368ff9b53f52305c8dca687395372"></a><!-- doxytag: member="LineBreakProperties::start" ref="a1fe368ff9b53f52305c8dca687395372" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a> <a class="el" href="structLineBreakProperties.html#a1fe368ff9b53f52305c8dca687395372">LineBreakProperties::start</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Starting coding point. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a></li>
</ul>
</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>

View file

@ -0,0 +1,79 @@
<!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: LineBreakPropertiesIndex Struct 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 class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>LineBreakPropertiesIndex Struct Reference</h1><!-- doxytag: class="LineBreakPropertiesIndex" -->
<p>Struct for the second-level index to the line breaking properties.
<a href="#_details">More...</a></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesIndex.html#a7a5207276632f772309f8cf2877c9eae">end</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End coding point. <a href="#a7a5207276632f772309f8cf2877c9eae"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesIndex.html#ade56f82faa0703e4eafddb0fc4ba6528">lbp</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to line breaking properties. <a href="#ade56f82faa0703e4eafddb0fc4ba6528"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Struct for the second-level index to the line breaking properties. </p>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="a7a5207276632f772309f8cf2877c9eae"></a><!-- doxytag: member="LineBreakPropertiesIndex::end" ref="a7a5207276632f772309f8cf2877c9eae" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="linebreak_8h.html#a4f775bae0642c213be2c526018283c25">utf32_t</a> <a class="el" href="structLineBreakPropertiesIndex.html#a7a5207276632f772309f8cf2877c9eae">LineBreakPropertiesIndex::end</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>End coding point. </p>
</div>
</div>
<a class="anchor" id="ade56f82faa0703e4eafddb0fc4ba6528"></a><!-- doxytag: member="LineBreakPropertiesIndex::lbp" ref="ade56f82faa0703e4eafddb0fc4ba6528" 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="structLineBreakPropertiesIndex.html#ade56f82faa0703e4eafddb0fc4ba6528">LineBreakPropertiesIndex::lbp</a><code> [read]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Pointer to line breaking properties. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="linebreak_8c.html">linebreak.c</a></li>
</ul>
</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>

View file

@ -0,0 +1,98 @@
<!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: LineBreakPropertiesLang Struct 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 class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>LineBreakPropertiesLang Struct Reference</h1><!-- doxytag: class="LineBreakPropertiesLang" -->
<p>Struct for association of language-specific line breaking properties with language names.
<a href="#_details">More...</a></p>
<p><code>#include &lt;<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>&gt;</code></p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td colspan="2"><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesLang.html#ae961b49d11e272adc590cf06e9f6100d">lang</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Language name. <a href="#ae961b49d11e272adc590cf06e9f6100d"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesLang.html#ab5132ed92c5964a5cfecbb21de206488">namelen</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of name to match. <a href="#ab5132ed92c5964a5cfecbb21de206488"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesLang.html#ae4b7339a372a0ccbf97e380aa440ff9d">lbp</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to associated data. <a href="#ae4b7339a372a0ccbf97e380aa440ff9d"></a><br/></td></tr>
</table>
<hr/><a name="_details"></a><h2>Detailed Description</h2>
<p>Struct for association of language-specific line breaking properties with language names. </p>
<hr/><h2>Field Documentation</h2>
<a class="anchor" id="ae961b49d11e272adc590cf06e9f6100d"></a><!-- doxytag: member="LineBreakPropertiesLang::lang" ref="ae961b49d11e272adc590cf06e9f6100d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* <a class="el" href="structLineBreakPropertiesLang.html#ae961b49d11e272adc590cf06e9f6100d">LineBreakPropertiesLang::lang</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Language name. </p>
</div>
</div>
<a class="anchor" id="ae4b7339a372a0ccbf97e380aa440ff9d"></a><!-- doxytag: member="LineBreakPropertiesLang::lbp" ref="ae4b7339a372a0ccbf97e380aa440ff9d" 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="structLineBreakPropertiesLang.html#ae4b7339a372a0ccbf97e380aa440ff9d">LineBreakPropertiesLang::lbp</a><code> [read]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Pointer to associated data. </p>
</div>
</div>
<a class="anchor" id="ab5132ed92c5964a5cfecbb21de206488"></a><!-- doxytag: member="LineBreakPropertiesLang::namelen" ref="ab5132ed92c5964a5cfecbb21de206488" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="structLineBreakPropertiesLang.html#ab5132ed92c5964a5cfecbb21de206488">LineBreakPropertiesLang::namelen</a></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>Length of name to match. </p>
</div>
</div>
<hr/>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a></li>
</ul>
</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>

View file

Before

Width:  |  Height:  |  Size: 35 B

After

Width:  |  Height:  |  Size: 35 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 706 B

After

Width:  |  Height:  |  Size: 706 B

Before After
Before After

View file

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.5 KiB

Before After
Before After

View file

@ -57,7 +57,7 @@ DIV.tabs SPAN
white-space : nowrap;
}
DIV.tabs INPUT
DIV.tabs #MSearchBox
{
float : right;
display : inline;

View file

@ -30,9 +30,9 @@
* Unicode 5.0.0:
* <URL:http://www.unicode.org/reports/tr14/tr14-19.html>
*
* This library has been updated according to Revision 22, for
* Unicode 5.1.0:
* <URL:http://www.unicode.org/reports/tr14/tr14-22.html>
* This library has been updated according to Revision 24, for
* Unicode 5.2.0:
* <URL:http://www.unicode.org/reports/tr14/tr14-24.html>
*
* The Unicode Terms of Use are available at
* <URL:http://www.unicode.org/copyright.html>
@ -44,7 +44,7 @@
* Implementation of the line breaking algorithm as described in Unicode
* Standard Annex 14.
*
* @version 1.2, 2009/04/29
* @version 1.95, 2009/11/29
* @author Wu Yongwei
*/
@ -59,6 +59,11 @@
*/
#define LINEBREAK_INDEX_SIZE 40
/**
* Version number of the library.
*/
const int linebreak_version = LINEBREAK_VERSION;
/**
* Enumeration of break actions. They are used in the break action
* pair table below.
@ -74,8 +79,7 @@ enum BreakAction
/**
* Break action pair table. This is a direct mapping of Table 2 of
* Unicode Standard Annex 14, Revision 22.
* Unicode Standard Annex 14, Revision 24.
*/
static enum BreakAction baTable[LBP_JT][LBP_JT] = {
{ /* OP */
@ -83,209 +87,217 @@ static enum BreakAction baTable[LBP_JT][LBP_JT] = {
PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK, CM_PROHIBITED_BRK,
PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, PROHIBITED_BRK },
CM_PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK },
{ /* CL */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
INDIRECT_BRK, INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* CP */
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* QU */
PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK },
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK },
{ /* GL */
INDIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK },
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK },
{ /* NS */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* EX */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* SY */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* IS */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* PR */
INDIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK },
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK },
{ /* PO */
INDIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* NU */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
{ /* AL */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
{ /* ID */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
{ /* IN */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
{ /* HY */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, DIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
{ /* BA */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, DIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
{ /* BB */
INDIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK },
{ /* B2 */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* AL */
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* ID */
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* IN */
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* HY */
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* BA */
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* BB */
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK },
{ /* B2 */
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* ZW */
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* CM */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK },
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, DIRECT_BRK },
{ /* WJ */
INDIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK },
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK },
{ /* H2 */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK },
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK },
{ /* H3 */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK },
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK },
{ /* JL */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK },
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, DIRECT_BRK },
{ /* JV */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK },
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK },
{ /* JT */
DIRECT_BRK, PROHIBITED_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK, CM_INDIRECT_BRK,
PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, INDIRECT_BRK }
DIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK, INDIRECT_BRK,
INDIRECT_BRK, INDIRECT_BRK, PROHIBITED_BRK, PROHIBITED_BRK,
PROHIBITED_BRK, DIRECT_BRK, INDIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK, INDIRECT_BRK,
INDIRECT_BRK, DIRECT_BRK, DIRECT_BRK, PROHIBITED_BRK,
CM_INDIRECT_BRK, PROHIBITED_BRK, DIRECT_BRK, DIRECT_BRK,
DIRECT_BRK, DIRECT_BRK, INDIRECT_BRK }
};
/**
@ -468,10 +480,8 @@ static enum LineBreakClass resolve_lb_class(
* @param[in,out] ip pointer to the index
* @return the Unicode character beginning at the index; or
* #EOS if end of input is encountered
*
* @deprecated This function will be prefixed with \c lb_ in the future.
*/
utf32_t get_next_char_utf8(
utf32_t lb_get_next_char_utf8(
const utf8_t *s,
size_t len,
size_t *ip)
@ -530,10 +540,8 @@ utf32_t get_next_char_utf8(
* @param[in,out] ip pointer to the index
* @return the Unicode character beginning at the index; or
* #EOS if end of input is encountered
*
* @deprecated This function will be prefixed with \c lb_ in the future.
*/
utf32_t get_next_char_utf16(
utf32_t lb_get_next_char_utf16(
const utf16_t *s,
size_t len,
size_t *ip)
@ -571,10 +579,8 @@ utf32_t get_next_char_utf16(
* @param[in,out] ip pointer to the index
* @return the Unicode character beginning at the index; or
* #EOS if end of input is encountered
*
* @deprecated This function will be prefixed with \c lb_ in the future.
*/
utf32_t get_next_char_utf32(
utf32_t lb_get_next_char_utf32(
const utf32_t *s,
size_t len,
size_t *ip)
@ -738,7 +744,8 @@ void set_linebreaks_utf8(
const char *lang,
char *brks)
{
set_linebreaks(s, len, lang, brks, (get_next_char_t)get_next_char_utf8);
set_linebreaks(s, len, lang, brks,
(get_next_char_t)lb_get_next_char_utf8);
}
/**
@ -757,7 +764,8 @@ void set_linebreaks_utf16(
const char *lang,
char *brks)
{
set_linebreaks(s, len, lang, brks, (get_next_char_t)get_next_char_utf16);
set_linebreaks(s, len, lang, brks,
(get_next_char_t)lb_get_next_char_utf16);
}
/**
@ -776,7 +784,8 @@ void set_linebreaks_utf32(
const char *lang,
char *brks)
{
set_linebreaks(s, len, lang, brks, (get_next_char_t)get_next_char_utf32);
set_linebreaks(s, len, lang, brks,
(get_next_char_t)lb_get_next_char_utf32);
}
/**
@ -791,12 +800,8 @@ void set_linebreaks_utf32(
* @param lang language of the input
* @return one of #LINEBREAK_MUSTBREAK, #LINEBREAK_ALLOWBREAK,
* #LINEBREAK_NOBREAK, or #LINEBREAK_INSIDEACHAR
*
* @deprecated This function will be renamed to #is_line_breakable in
* the future. The name is already defined as a
* macro&mdash;please use it.
*/
int is_breakable(
int is_line_breakable(
utf32_t char1,
utf32_t char2,
const char* lang)

View file

@ -30,9 +30,9 @@
* Unicode 5.0.0:
* <URL:http://www.unicode.org/reports/tr14/tr14-19.html>
*
* This library has been updated according to Revision 22, for
* Unicode 5.1.0:
* <URL:http://www.unicode.org/reports/tr14/tr14-22.html>
* This library has been updated according to Revision 24, for
* Unicode 5.2.0:
* <URL:http://www.unicode.org/reports/tr14/tr14-24.html>
*
* The Unicode Terms of Use are available at
* <URL:http://www.unicode.org/copyright.html>
@ -43,7 +43,7 @@
*
* Header file for the line breaking algorithm.
*
* @version 1.2, 2009/05/03
* @version 1.95, 2009/11/29
* @author Wu Yongwei
*/
@ -56,6 +56,9 @@
extern "C" {
#endif
#define LINEBREAK_VERSION 0x0195 /**< Version of the library linebreak */
extern const int linebreak_version;
#ifndef LINEBREAK_UTF_TYPES_DEFINED
#define LINEBREAK_UTF_TYPES_DEFINED
typedef unsigned char utf8_t; /**< Type for UTF-8 data points */
@ -68,70 +71,14 @@ typedef unsigned int utf32_t; /**< Type for UTF-32 data points */
#define LINEBREAK_NOBREAK 2 /**< No break is possible */
#define LINEBREAK_INSIDEACHAR 3 /**< A UTF-8/16 sequence is unfinished */
/**
* Initializes the second-level index to the line breaking properties.
* If it is not called, the performance of #get_char_lb_class_lang (and
* thus the main functionality) can be pretty bad, especially for big
* code points like those of Chinese.
*/
void init_linebreak(void);
int is_breakable(utf32_t char1, utf32_t char2, const char* lang);
/**
* Sets the line breaking information for a UTF-8 input string.
*
* @param[in] s input UTF-8 string
* @param[in] len length of the input
* @param[in] lang language of the input
* @param[out] brks pointer to the output breaking data, containing
* #LINEBREAK_MUSTBREAK, #LINEBREAK_ALLOWBREAK,
* #LINEBREAK_NOBREAK, or #LINEBREAK_INSIDEACHAR
*/
void set_linebreaks_utf8(
const utf8_t *s, size_t len, const char* lang, char *brks);
/**
* Sets the line breaking information for a UTF-16 input string.
*
* @param[in] s input UTF-16 string
* @param[in] len length of the input
* @param[in] lang language of the input
* @param[out] brks pointer to the output breaking data, containing
* #LINEBREAK_MUSTBREAK, #LINEBREAK_ALLOWBREAK,
* #LINEBREAK_NOBREAK, or #LINEBREAK_INSIDEACHAR
*/
void set_linebreaks_utf16(
const utf16_t *s, size_t len, const char* lang, char *brks);
/**
* Sets the line breaking information for a UTF-32 input string.
*
* @param[in] s input UTF-32 string
* @param[in] len length of the input
* @param[in] lang language of the input
* @param[out] brks pointer to the output breaking data, containing
* #LINEBREAK_MUSTBREAK, #LINEBREAK_ALLOWBREAK,
* #LINEBREAK_NOBREAK, or #LINEBREAK_INSIDEACHAR
*/
void set_linebreaks_utf32(
const utf32_t *s, size_t len, const char* lang, char *brks);
/**
* Replacement form for the deprecated function #is_breakable. Please
* use the macro for the present moment, before the function is renamed.
* <p>This is a wrapper function to expose a simple interface. Generally
* speaking, it is better to use #set_linebreaks_utf32 instead, since
* complicated cases involving combining marks, spaces, etc. cannot be
* correctly processed.
*
* @param char1 the first Unicode character
* @param char2 the second Unicode character
* @param lang language of the input
* @return one of #LINEBREAK_MUSTBREAK, #LINEBREAK_ALLOWBREAK,
* #LINEBREAK_NOBREAK, or #LINEBREAK_INSIDEACHAR
*/
#define is_line_breakable is_breakable
int is_line_breakable(utf32_t char1, utf32_t char2, const char* lang);
#ifdef __cplusplus
}

View file

@ -1,6 +1,6 @@
/* The content of this file is generated from:
# LineBreak-5.1.0.txt
# Date: 2008-03-20, 17:43:00 PST [KW]
# LineBreak-5.2.0.txt
# Date: 2009-08-17, 12:21:00 PDT [KW]
*/
#include "linebreak.h"
@ -23,7 +23,7 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x0026, 0x0026, LBP_AL },
{ 0x0027, 0x0027, LBP_QU },
{ 0x0028, 0x0028, LBP_OP },
{ 0x0029, 0x0029, LBP_CL },
{ 0x0029, 0x0029, LBP_CP },
{ 0x002A, 0x002A, LBP_AL },
{ 0x002B, 0x002B, LBP_PR },
{ 0x002C, 0x002C, LBP_IS },
@ -37,7 +37,7 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x0040, 0x005A, LBP_AL },
{ 0x005B, 0x005B, LBP_OP },
{ 0x005C, 0x005C, LBP_PR },
{ 0x005D, 0x005D, LBP_CL },
{ 0x005D, 0x005D, LBP_CP },
{ 0x005E, 0x007A, LBP_AL },
{ 0x007B, 0x007B, LBP_OP },
{ 0x007C, 0x007C, LBP_BA },
@ -145,14 +145,22 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x07F4, 0x07F7, LBP_AL },
{ 0x07F8, 0x07F8, LBP_IS },
{ 0x07F9, 0x07F9, LBP_EX },
{ 0x07FA, 0x07FA, LBP_AL },
{ 0x0901, 0x0903, LBP_CM },
{ 0x07FA, 0x0815, LBP_AL },
{ 0x0816, 0x0819, LBP_CM },
{ 0x081A, 0x081A, LBP_AL },
{ 0x081B, 0x0823, LBP_CM },
{ 0x0824, 0x0824, LBP_AL },
{ 0x0825, 0x0827, LBP_CM },
{ 0x0828, 0x0828, LBP_AL },
{ 0x0829, 0x082D, LBP_CM },
{ 0x0830, 0x083E, LBP_AL },
{ 0x0900, 0x0903, LBP_CM },
{ 0x0904, 0x0939, LBP_AL },
{ 0x093C, 0x093C, LBP_CM },
{ 0x093D, 0x093D, LBP_AL },
{ 0x093E, 0x094D, LBP_CM },
{ 0x093E, 0x094E, LBP_CM },
{ 0x0950, 0x0950, LBP_AL },
{ 0x0951, 0x0954, LBP_CM },
{ 0x0951, 0x0955, LBP_CM },
{ 0x0958, 0x0961, LBP_AL },
{ 0x0962, 0x0963, LBP_CM },
{ 0x0964, 0x0965, LBP_BA },
@ -169,8 +177,11 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x09E2, 0x09E3, LBP_CM },
{ 0x09E6, 0x09EF, LBP_NU },
{ 0x09F0, 0x09F1, LBP_AL },
{ 0x09F2, 0x09F3, LBP_PR },
{ 0x09F4, 0x09FA, LBP_AL },
{ 0x09F2, 0x09F3, LBP_PO },
{ 0x09F4, 0x09F8, LBP_AL },
{ 0x09F9, 0x09F9, LBP_PO },
{ 0x09FA, 0x09FA, LBP_AL },
{ 0x09FB, 0x09FB, LBP_PR },
{ 0x0A01, 0x0A03, LBP_CM },
{ 0x0A05, 0x0A39, LBP_AL },
{ 0x0A3C, 0x0A51, LBP_CM },
@ -286,23 +297,25 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x0FD0, 0x0FD1, LBP_BB },
{ 0x0FD2, 0x0FD2, LBP_BA },
{ 0x0FD3, 0x0FD3, LBP_BB },
{ 0x0FD4, 0x0FD4, LBP_AL },
{ 0x0FD4, 0x0FD8, LBP_AL },
{ 0x1000, 0x103F, LBP_SA },
{ 0x1040, 0x1049, LBP_NU },
{ 0x104A, 0x104B, LBP_BA },
{ 0x104C, 0x104F, LBP_AL },
{ 0x1050, 0x108F, LBP_SA },
{ 0x1090, 0x1099, LBP_NU },
{ 0x109E, 0x109F, LBP_SA },
{ 0x109A, 0x109F, LBP_SA },
{ 0x10A0, 0x10FC, LBP_AL },
{ 0x1100, 0x115F, LBP_JL },
{ 0x1160, 0x11A2, LBP_JV },
{ 0x11A8, 0x11F9, LBP_JT },
{ 0x1160, 0x11A7, LBP_JV },
{ 0x11A8, 0x11FF, LBP_JT },
{ 0x1200, 0x135A, LBP_AL },
{ 0x135F, 0x135F, LBP_CM },
{ 0x1360, 0x1360, LBP_AL },
{ 0x1361, 0x1361, LBP_BA },
{ 0x1362, 0x1676, LBP_AL },
{ 0x1362, 0x13F4, LBP_AL },
{ 0x1400, 0x1400, LBP_BA },
{ 0x1401, 0x167F, LBP_AL },
{ 0x1680, 0x1680, LBP_BA },
{ 0x1681, 0x169A, LBP_AL },
{ 0x169B, 0x169B, LBP_OP },
@ -346,17 +359,23 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x1944, 0x1945, LBP_EX },
{ 0x1946, 0x194F, LBP_NU },
{ 0x1950, 0x19C9, LBP_SA },
{ 0x19D0, 0x19D9, LBP_NU },
{ 0x19D0, 0x19DA, LBP_NU },
{ 0x19DE, 0x19DF, LBP_SA },
{ 0x19E0, 0x1A16, LBP_AL },
{ 0x1A17, 0x1A1B, LBP_CM },
{ 0x1A1E, 0x1A1F, LBP_AL },
{ 0x1A20, 0x1A7C, LBP_SA },
{ 0x1A7F, 0x1A7F, LBP_CM },
{ 0x1A80, 0x1A99, LBP_NU },
{ 0x1AA0, 0x1AAD, LBP_SA },
{ 0x1B00, 0x1B04, LBP_CM },
{ 0x1B05, 0x1B33, LBP_AL },
{ 0x1B34, 0x1B44, LBP_CM },
{ 0x1B45, 0x1B4B, LBP_AL },
{ 0x1B50, 0x1B59, LBP_NU },
{ 0x1B5A, 0x1B60, LBP_BA },
{ 0x1B5A, 0x1B5B, LBP_BA },
{ 0x1B5C, 0x1B5C, LBP_AL },
{ 0x1B5D, 0x1B60, LBP_BA },
{ 0x1B61, 0x1B6A, LBP_AL },
{ 0x1B6B, 0x1B73, LBP_CM },
{ 0x1B74, 0x1B7C, LBP_AL },
@ -373,6 +392,13 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x1C50, 0x1C59, LBP_NU },
{ 0x1C5A, 0x1C7D, LBP_AL },
{ 0x1C7E, 0x1C7F, LBP_BA },
{ 0x1CD0, 0x1CD2, LBP_CM },
{ 0x1CD3, 0x1CD3, LBP_AL },
{ 0x1CD4, 0x1CE8, LBP_CM },
{ 0x1CE9, 0x1CEC, LBP_AL },
{ 0x1CED, 0x1CED, LBP_CM },
{ 0x1CEE, 0x1CF1, LBP_AL },
{ 0x1CF2, 0x1CF2, LBP_CM },
{ 0x1D00, 0x1DBF, LBP_AL },
{ 0x1DC0, 0x1DFF, LBP_CM },
{ 0x1E00, 0x1FFC, LBP_AL },
@ -435,6 +461,8 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x20A0, 0x20A6, LBP_PR },
{ 0x20A7, 0x20A7, LBP_PO },
{ 0x20A8, 0x20B5, LBP_PR },
{ 0x20B6, 0x20B6, LBP_PO },
{ 0x20B7, 0x20B8, LBP_PR },
{ 0x20D0, 0x20F0, LBP_CM },
{ 0x2100, 0x2102, LBP_AL },
{ 0x2103, 0x2103, LBP_PO },
@ -461,7 +489,7 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x216C, 0x216F, LBP_AL },
{ 0x2170, 0x2179, LBP_AI },
{ 0x217A, 0x2188, LBP_AL },
{ 0x2190, 0x2199, LBP_AI },
{ 0x2189, 0x2199, LBP_AI },
{ 0x219A, 0x21D1, LBP_AL },
{ 0x21D2, 0x21D2, LBP_AI },
{ 0x21D3, 0x21D3, LBP_AL },
@ -586,7 +614,15 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x266C, 0x266D, LBP_AI },
{ 0x266E, 0x266E, LBP_AL },
{ 0x266F, 0x266F, LBP_AI },
{ 0x2670, 0x275A, LBP_AL },
{ 0x2670, 0x269D, LBP_AL },
{ 0x269E, 0x269F, LBP_AI },
{ 0x26A0, 0x26BD, LBP_AL },
{ 0x26BE, 0x26BF, LBP_AI },
{ 0x26C0, 0x26C3, LBP_AL },
{ 0x26C4, 0x26FF, LBP_AI },
{ 0x2701, 0x2756, LBP_AL },
{ 0x2757, 0x2757, LBP_AI },
{ 0x2758, 0x275A, LBP_AL },
{ 0x275B, 0x275E, LBP_QU },
{ 0x2761, 0x2761, LBP_AL },
{ 0x2762, 0x2763, LBP_EX },
@ -651,7 +687,10 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x29DC, 0x29FB, LBP_AL },
{ 0x29FC, 0x29FC, LBP_OP },
{ 0x29FD, 0x29FD, LBP_CL },
{ 0x29FE, 0x2CEA, LBP_AL },
{ 0x29FE, 0x2B54, LBP_AL },
{ 0x2B55, 0x2B59, LBP_AI },
{ 0x2C00, 0x2CEE, LBP_AL },
{ 0x2CEF, 0x2CF1, LBP_CM },
{ 0x2CF9, 0x2CF9, LBP_EX },
{ 0x2CFA, 0x2CFC, LBP_BA },
{ 0x2CFD, 0x2CFD, LBP_AL },
@ -680,7 +719,7 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x2E2A, 0x2E2D, LBP_BA },
{ 0x2E2E, 0x2E2E, LBP_EX },
{ 0x2E2F, 0x2E2F, LBP_AL },
{ 0x2E30, 0x2E30, LBP_BA },
{ 0x2E30, 0x2E31, LBP_BA },
{ 0x2E80, 0x3000, LBP_ID },
{ 0x3001, 0x3002, LBP_CL },
{ 0x3003, 0x3004, LBP_ID },
@ -762,11 +801,15 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x30FB, 0x30FE, LBP_NS },
{ 0x30FF, 0x31E3, LBP_ID },
{ 0x31F0, 0x31FF, LBP_NS },
{ 0x3200, 0x4DB5, LBP_ID },
{ 0x3200, 0x3247, LBP_ID },
{ 0x3248, 0x324F, LBP_AI },
{ 0x3250, 0x4DBF, LBP_ID },
{ 0x4DC0, 0x4DFF, LBP_AL },
{ 0x4E00, 0xA014, LBP_ID },
{ 0xA015, 0xA015, LBP_NS },
{ 0xA016, 0xA4C6, LBP_ID },
{ 0xA4D0, 0xA4FD, LBP_AL },
{ 0xA4FE, 0xA4FF, LBP_BA },
{ 0xA500, 0xA60C, LBP_AL },
{ 0xA60D, 0xA60D, LBP_BA },
{ 0xA60E, 0xA60E, LBP_EX },
@ -777,7 +820,11 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0xA66F, 0xA672, LBP_CM },
{ 0xA673, 0xA673, LBP_AL },
{ 0xA67C, 0xA67D, LBP_CM },
{ 0xA67E, 0xA801, LBP_AL },
{ 0xA67E, 0xA6EF, LBP_AL },
{ 0xA6F0, 0xA6F1, LBP_CM },
{ 0xA6F2, 0xA6F2, LBP_AL },
{ 0xA6F3, 0xA6F7, LBP_BA },
{ 0xA700, 0xA801, LBP_AL },
{ 0xA802, 0xA802, LBP_CM },
{ 0xA803, 0xA805, LBP_AL },
{ 0xA806, 0xA806, LBP_CM },
@ -785,20 +832,34 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0xA80B, 0xA80B, LBP_CM },
{ 0xA80C, 0xA822, LBP_AL },
{ 0xA823, 0xA827, LBP_CM },
{ 0xA828, 0xA873, LBP_AL },
{ 0xA828, 0xA837, LBP_AL },
{ 0xA838, 0xA838, LBP_PO },
{ 0xA839, 0xA873, LBP_AL },
{ 0xA874, 0xA875, LBP_BB },
{ 0xA876, 0xA877, LBP_EX },
{ 0xA880, 0xA881, LBP_CM },
{ 0xA882, 0xA8B3, LBP_AL },
{ 0xA8B4, 0xA8C4, LBP_CM },
{ 0xA8CE, 0xA8CF, LBP_BA },
{ 0xA8D0, 0xA909, LBP_NU },
{ 0xA8D0, 0xA8D9, LBP_NU },
{ 0xA8E0, 0xA8F1, LBP_CM },
{ 0xA8F2, 0xA8FB, LBP_AL },
{ 0xA900, 0xA909, LBP_NU },
{ 0xA90A, 0xA925, LBP_AL },
{ 0xA926, 0xA92D, LBP_CM },
{ 0xA92E, 0xA92F, LBP_BA },
{ 0xA930, 0xA946, LBP_AL },
{ 0xA947, 0xA953, LBP_CM },
{ 0xA95F, 0xAA28, LBP_AL },
{ 0xA95F, 0xA95F, LBP_AL },
{ 0xA960, 0xA97C, LBP_JL },
{ 0xA980, 0xA983, LBP_CM },
{ 0xA984, 0xA9B2, LBP_AL },
{ 0xA9B3, 0xA9C0, LBP_CM },
{ 0xA9C1, 0xA9C6, LBP_AL },
{ 0xA9C7, 0xA9C9, LBP_BA },
{ 0xA9CA, 0xA9CF, LBP_AL },
{ 0xA9D0, 0xA9D9, LBP_NU },
{ 0xA9DE, 0xAA28, LBP_AL },
{ 0xAA29, 0xAA36, LBP_CM },
{ 0xAA40, 0xAA42, LBP_AL },
{ 0xAA43, 0xAA43, LBP_CM },
@ -807,6 +868,12 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0xAA50, 0xAA59, LBP_NU },
{ 0xAA5C, 0xAA5C, LBP_AL },
{ 0xAA5D, 0xAA5F, LBP_BA },
{ 0xAA60, 0xAADF, LBP_SA },
{ 0xABC0, 0xABE2, LBP_AL },
{ 0xABE3, 0xABEA, LBP_CM },
{ 0xABEB, 0xABEB, LBP_BA },
{ 0xABEC, 0xABED, LBP_CM },
{ 0xABF0, 0xABF9, LBP_NU },
{ 0xAC00, 0xAC00, LBP_H2 },
{ 0xAC01, 0xAC1B, LBP_H3 },
{ 0xAC1C, 0xAC1C, LBP_H2 },
@ -1605,9 +1672,11 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0xD76D, 0xD787, LBP_H3 },
{ 0xD788, 0xD788, LBP_H2 },
{ 0xD789, 0xD7A3, LBP_H3 },
{ 0xD7B0, 0xD7C6, LBP_JV },
{ 0xD7CB, 0xD7FB, LBP_JT },
{ 0xD800, 0xDFFF, LBP_SG },
{ 0xE000, 0xF8FF, LBP_XX },
{ 0xF900, 0xFAD9, LBP_ID },
{ 0xF900, 0xFAFF, LBP_ID },
{ 0xFB00, 0xFB1D, LBP_AL },
{ 0xFB1E, 0xFB1E, LBP_CM },
{ 0xFB1F, 0xFD3D, LBP_AL },
@ -1716,7 +1785,9 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x103D0, 0x103D0, LBP_BA },
{ 0x103D1, 0x1049D, LBP_AL },
{ 0x104A0, 0x104A9, LBP_NU },
{ 0x10800, 0x10919, LBP_AL },
{ 0x10800, 0x10855, LBP_AL },
{ 0x10857, 0x10857, LBP_BA },
{ 0x10858, 0x1091B, LBP_AL },
{ 0x1091F, 0x1091F, LBP_BA },
{ 0x10920, 0x10A00, LBP_AL },
{ 0x10A01, 0x10A0F, LBP_CM },
@ -1724,9 +1795,30 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x10A38, 0x10A3F, LBP_CM },
{ 0x10A40, 0x10A47, LBP_AL },
{ 0x10A50, 0x10A57, LBP_BA },
{ 0x10A58, 0x12462, LBP_AL },
{ 0x10A58, 0x10B35, LBP_AL },
{ 0x10B39, 0x10B3F, LBP_BA },
{ 0x10B40, 0x10E7E, LBP_AL },
{ 0x11080, 0x11082, LBP_CM },
{ 0x11083, 0x110AF, LBP_AL },
{ 0x110B0, 0x110BA, LBP_CM },
{ 0x110BB, 0x110BD, LBP_AL },
{ 0x110BE, 0x110C1, LBP_BA },
{ 0x12000, 0x12462, LBP_AL },
{ 0x12470, 0x12473, LBP_BA },
{ 0x1D000, 0x1D164, LBP_AL },
{ 0x13000, 0x13257, LBP_AL },
{ 0x13258, 0x1325A, LBP_OP },
{ 0x1325B, 0x1325D, LBP_CL },
{ 0x1325E, 0x13281, LBP_AL },
{ 0x13282, 0x13282, LBP_CL },
{ 0x13283, 0x13285, LBP_AL },
{ 0x13286, 0x13286, LBP_OP },
{ 0x13287, 0x13287, LBP_CL },
{ 0x13288, 0x13288, LBP_OP },
{ 0x13289, 0x13289, LBP_CL },
{ 0x1328A, 0x13378, LBP_AL },
{ 0x13379, 0x13379, LBP_OP },
{ 0x1337A, 0x1337B, LBP_CL },
{ 0x1337C, 0x1D164, LBP_AL },
{ 0x1D165, 0x1D169, LBP_CM },
{ 0x1D16A, 0x1D16C, LBP_AL },
{ 0x1D16D, 0x1D182, LBP_CM },
@ -1739,7 +1831,10 @@ struct LineBreakProperties lb_prop_default[] = {
{ 0x1D245, 0x1D7CB, LBP_AL },
{ 0x1D7CE, 0x1D7FF, LBP_NU },
{ 0x1F000, 0x1F093, LBP_AL },
{ 0x20000, 0x2FA1D, LBP_ID },
{ 0x1F100, 0x1F12D, LBP_AI },
{ 0x1F12E, 0x1F12E, LBP_AL },
{ 0x1F131, 0x1F190, LBP_AI },
{ 0x1F200, 0x3FFFD, LBP_ID },
{ 0xE0001, 0xE01EF, LBP_CM },
{ 0xF0000, 0x10FFFD, LBP_XX },
{ 0xFFFFFFFF, 0xFFFFFFFF, LBP_Undefined }

View file

@ -30,9 +30,9 @@
* Unicode 5.0.0:
* <URL:http://www.unicode.org/reports/tr14/tr14-19.html>
*
* This library has been updated according to Revision 22, for
* Unicode 5.1.0:
* <URL:http://www.unicode.org/reports/tr14/tr14-22.html>
* This library has been updated according to Revision 24, for
* Unicode 5.2.0:
* <URL:http://www.unicode.org/reports/tr14/tr14-24.html>
*
* The Unicode Terms of Use are available at
* <URL:http://www.unicode.org/copyright.html>
@ -43,7 +43,7 @@
*
* Definition of language-specific data.
*
* @version 1.2, 2009/04/29
* @version 1.95, 2009/11/29
* @author Wu Yongwei
*/

View file

@ -30,9 +30,9 @@
* Unicode 5.0.0:
* <URL:http://www.unicode.org/reports/tr14/tr14-19.html>
*
* This library has been updated according to Revision 22, for
* Unicode 5.1.0:
* <URL:http://www.unicode.org/reports/tr14/tr14-22.html>
* This library has been updated according to Revision 24, for
* Unicode 5.2.0:
* <URL:http://www.unicode.org/reports/tr14/tr14-24.html>
*
* The Unicode Terms of Use are available at
* <URL:http://www.unicode.org/copyright.html>
@ -44,7 +44,7 @@
* Definitions of internal data structures, declarations of global
* variables, and function prototypes for the line breaking algorithm.
*
* @version 1.2, 2009/05/03
* @version 1.95, 2009/11/29
* @author Wu Yongwei
*/
@ -66,6 +66,7 @@ enum LineBreakClass
/* The following break classes are treated in the pair table. */
LBP_OP, /**< Opening punctuation */
LBP_CL, /**< Closing punctuation */
LBP_CP, /**< Closing parenthesis */
LBP_QU, /**< Ambiguous quotation */
LBP_GL, /**< Glue */
LBP_NS, /**< Non-starters */
@ -127,8 +128,8 @@ struct LineBreakPropertiesLang
};
/**
* Abstract function interface for #get_next_char_utf8,
* #get_next_char_utf16, and #get_next_char_utf32.
* Abstract function interface for #lb_get_next_char_utf8,
* #lb_get_next_char_utf16, and #lb_get_next_char_utf32.
*/
typedef utf32_t (*get_next_char_t)(const void *, size_t, size_t *);
@ -136,27 +137,13 @@ typedef utf32_t (*get_next_char_t)(const void *, size_t, size_t *);
extern struct LineBreakProperties lb_prop_default[];
extern struct LineBreakPropertiesLang lb_prop_lang_map[];
/* Function Prototypes */
/**
* Sets the line breaking information for a generic input string.
*
* @param[in] s input string
* @param[in] len length of the input
* @param[in] lang language of the input
* @param[out] brks pointer to the output breaking data,
* containing #LINEBREAK_MUSTBREAK,
* #LINEBREAK_ALLOWBREAK, #LINEBREAK_NOBREAK,
* or #LINEBREAK_INSIDEACHAR
* @param[in] get_next_char function to get the next UTF-32 character
*/
/* Function Prototype */
utf32_t lb_get_next_char_utf8(const utf8_t *s, size_t len, size_t *ip);
utf32_t lb_get_next_char_utf16(const utf16_t *s, size_t len, size_t *ip);
utf32_t lb_get_next_char_utf32(const utf32_t *s, size_t len, size_t *ip);
void set_linebreaks(
const void *s,
size_t len,
const char *lang,
char *brks,
get_next_char_t get_next_char);
utf32_t get_next_char_utf8(const utf8_t *s, size_t len, size_t *ip);
utf32_t get_next_char_utf16(const utf16_t *s, size_t len, size_t *ip);
utf32_t get_next_char_utf32(const utf32_t *s, size_t len, size_t *ip);

View file

@ -0,0 +1,35 @@
#include <jni.h>
#include "liblinebreak-2.0/linebreak.h"
extern "C"
void Java_org_vimgadgets_linebreak_LineBreak_init(JNIEnv *env, jobject thiz) {
init_linebreak();
}
extern "C"
void Java_org_vimgadgets_linebreak_LineBreak_setLineBreaksForCharArray(JNIEnv *env, jobject thiz, jcharArray data, jint offset, jint length, jstring lang, jbyteArray breaks) {
jchar* dataArray = env->GetCharArrayElements(data, 0);
jbyte* breaksArray = env->GetByteArrayElements(breaks, 0);
const char *langArray = env->GetStringUTFChars(lang, 0);
set_linebreaks_utf16(dataArray + offset, length, langArray, (char*)breaksArray);
env->ReleaseStringUTFChars(lang, langArray);
env->ReleaseByteArrayElements(breaks, breaksArray, 0);
env->ReleaseCharArrayElements(data, dataArray, 0);
}
extern "C"
void Java_org_vimgadgets_linebreak_LineBreak_setLineBreaksForString(JNIEnv *env, jobject thiz, jstring data, jstring lang, jbyteArray breaks) {
const jchar* dataArray = env->GetStringChars(data, 0);
jbyte* breaksArray = env->GetByteArrayElements(breaks, 0);
const size_t len = env->GetStringLength(data);
const char *langArray = env->GetStringUTFChars(lang, 0);
set_linebreaks_utf16(dataArray, len, "en", (char*)breaksArray);
env->ReleaseStringUTFChars(lang, langArray);
env->ReleaseByteArrayElements(breaks, breaksArray, 0);
env->ReleaseStringChars(data, dataArray);
}

View file

@ -1,9 +0,0 @@
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := liblinebreak
LOCAL_SRC_FILES := linebreak-jni.c liblinebreak-1.2/linebreak.c liblinebreak-1.2/linebreakdata.c liblinebreak-1.2/linebreakdef.c
LOCAL_ALLOW_UNDEFINED_SYMBOLS := false
include $(BUILD_SHARED_LIBRARY)

View file

@ -1,43 +0,0 @@
<!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: Deprecated List</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 class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1><a class="anchor" name="deprecated">Deprecated List </a></h1><a class="anchor" name="_deprecated000002"></a> <dl>
<dt>Global <a class="el" href="linebreak_8c.html#1358bfc18e5c58f3bf86d41da9915964">get_next_char_utf16</a> </dt>
<dd>This function will be prefixed with <code>lb_</code> in the future. </dd>
</dl>
<p>
<a class="anchor" name="_deprecated000003"></a> <dl>
<dt>Global <a class="el" href="linebreak_8c.html#b436dc6eadd1cfe258159ac671798653">get_next_char_utf32</a> </dt>
<dd>This function will be prefixed with <code>lb_</code> in the future. </dd>
</dl>
<p>
<a class="anchor" name="_deprecated000001"></a> <dl>
<dt>Global <a class="el" href="linebreak_8c.html#d6e67ab4880e304d6ac730d545027a7f">get_next_char_utf8</a> </dt>
<dd>This function will be prefixed with <code>lb_</code> in the future. </dd>
</dl>
<p>
<a class="anchor" name="_deprecated000004"></a> <dl>
<dt>Global <a class="el" href="linebreak_8c.html#22abef1024a6392cf2bd2281fc1bd151">is_breakable</a> </dt>
<dd>This function will be renamed to <a class="el" href="linebreak_8h.html#9d54c1b18d4fc526a66ef64d9de9c63a" title="Replacement form for the deprecated function is_breakable.">is_line_breakable</a> in the future. The name is already defined as a macro&mdash;please use it. </dd>
</dl>
</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>

View file

@ -1,55 +0,0 @@
<!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: Data Fields</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 class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
<li class="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li class="current"><a href="functions.html"><span>All</span></a></li>
<li><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
</div>
<div class="contents">
Here is a list of all struct and union fields with links to the structures/unions they belong to:
<p>
<ul>
<li>end
: <a class="el" href="structLineBreakPropertiesIndex.html#7a5207276632f772309f8cf2877c9eae">LineBreakPropertiesIndex</a>
, <a class="el" href="structLineBreakProperties.html#f6ff463e88f6c694661aa10222404a14">LineBreakProperties</a>
<li>lang
: <a class="el" href="structLineBreakPropertiesLang.html#e961b49d11e272adc590cf06e9f6100d">LineBreakPropertiesLang</a>
<li>lbp
: <a class="el" href="structLineBreakPropertiesLang.html#e4b7339a372a0ccbf97e380aa440ff9d">LineBreakPropertiesLang</a>
, <a class="el" href="structLineBreakPropertiesIndex.html#de56f82faa0703e4eafddb0fc4ba6528">LineBreakPropertiesIndex</a>
<li>namelen
: <a class="el" href="structLineBreakPropertiesLang.html#b5132ed92c5964a5cfecbb21de206488">LineBreakPropertiesLang</a>
<li>prop
: <a class="el" href="structLineBreakProperties.html#46d34ea3f514f8f082d92a441a6665ba">LineBreakProperties</a>
<li>start
: <a class="el" href="structLineBreakProperties.html#1fe368ff9b53f52305c8dca687395372">LineBreakProperties</a>
</ul>
</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>

View file

@ -1,55 +0,0 @@
<!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: Data Fields - Variables</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 class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
<li class="current"><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="functions.html"><span>All</span></a></li>
<li class="current"><a href="functions_vars.html"><span>Variables</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;
<p>
<ul>
<li>end
: <a class="el" href="structLineBreakPropertiesIndex.html#7a5207276632f772309f8cf2877c9eae">LineBreakPropertiesIndex</a>
, <a class="el" href="structLineBreakProperties.html#f6ff463e88f6c694661aa10222404a14">LineBreakProperties</a>
<li>lang
: <a class="el" href="structLineBreakPropertiesLang.html#e961b49d11e272adc590cf06e9f6100d">LineBreakPropertiesLang</a>
<li>lbp
: <a class="el" href="structLineBreakPropertiesLang.html#e4b7339a372a0ccbf97e380aa440ff9d">LineBreakPropertiesLang</a>
, <a class="el" href="structLineBreakPropertiesIndex.html#de56f82faa0703e4eafddb0fc4ba6528">LineBreakPropertiesIndex</a>
<li>namelen
: <a class="el" href="structLineBreakPropertiesLang.html#b5132ed92c5964a5cfecbb21de206488">LineBreakPropertiesLang</a>
<li>prop
: <a class="el" href="structLineBreakProperties.html#46d34ea3f514f8f082d92a441a6665ba">LineBreakProperties</a>
<li>start
: <a class="el" href="structLineBreakProperties.html#1fe368ff9b53f52305c8dca687395372">LineBreakProperties</a>
</ul>
</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>

View file

@ -1,249 +0,0 @@
<!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: Data Fields</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 class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li class="current"><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_b"><span>b</span></a></li>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_e"><span>e</span></a></li>
<li><a href="#index_g"><span>g</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
<li><a href="#index_r"><span>r</span></a></li>
<li><a href="#index_s"><span>s</span></a></li>
<li><a href="#index_u"><span>u</span></a></li>
</ul>
</div>
</div>
<div class="contents">
Here is a list of all functions, variables, defines, enums, and typedefs with links to the files they belong to:
<p>
<h3><a class="anchor" name="index_b">- b -</a></h3><ul>
<li>baTable
: <a class="el" href="linebreak_8c.html#e334fc5c93e9d07c1f6731774cdc07d4">linebreak.c</a>
<li>BreakAction
: <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d">linebreak.c</a>
</ul>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>CM_INDIRECT_BRK
: <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d3e854663bba91b604d4a5f633b62c74a">linebreak.c</a>
<li>CM_PROHIBITED_BRK
: <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d9ae64fb627a84203f331f718eaf942c8">linebreak.c</a>
</ul>
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
<li>DIRECT_BRK
: <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d570708fb66d60c437dc3e8c1c784eef6">linebreak.c</a>
</ul>
<h3><a class="anchor" name="index_e">- e -</a></h3><ul>
<li>EOS
: <a class="el" href="linebreakdef_8h.html#adbbc7b02d94a4c18646813ac8d7dec1">linebreakdef.h</a>
</ul>
<h3><a class="anchor" name="index_g">- g -</a></h3><ul>
<li>get_char_lb_class()
: <a class="el" href="linebreak_8c.html#4eb765d3c50b5be0f694f9dd875bf5bb">linebreak.c</a>
<li>get_char_lb_class_default()
: <a class="el" href="linebreak_8c.html#a8be95ab8e6ee731e55279772b5aec91">linebreak.c</a>
<li>get_char_lb_class_lang()
: <a class="el" href="linebreak_8c.html#41ec5a32a31d007d60ea57caa38a2f3e">linebreak.c</a>
<li>get_lb_prop_lang()
: <a class="el" href="linebreak_8c.html#ec14ede6c9c839852210a729274c7fbc">linebreak.c</a>
<li>get_next_char_t
: <a class="el" href="linebreakdef_8h.html#d76de249e1f8334f318f9ee97ccc77c3">linebreakdef.h</a>
<li>get_next_char_utf16()
: <a class="el" href="linebreakdef_8h.html#1358bfc18e5c58f3bf86d41da9915964">linebreakdef.h</a>
, <a class="el" href="linebreak_8c.html#1358bfc18e5c58f3bf86d41da9915964">linebreak.c</a>
<li>get_next_char_utf32()
: <a class="el" href="linebreakdef_8h.html#b436dc6eadd1cfe258159ac671798653">linebreakdef.h</a>
, <a class="el" href="linebreak_8c.html#b436dc6eadd1cfe258159ac671798653">linebreak.c</a>
<li>get_next_char_utf8()
: <a class="el" href="linebreak_8c.html#d6e67ab4880e304d6ac730d545027a7f">linebreak.c</a>
, <a class="el" href="linebreakdef_8h.html#d6e67ab4880e304d6ac730d545027a7f">linebreakdef.h</a>
</ul>
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
<li>INDIRECT_BRK
: <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d246deb66413ac197d95680d31d4d5436">linebreak.c</a>
<li>init_linebreak()
: <a class="el" href="linebreak_8c.html#57c2b88b7e1277cbba23cfffbc782c4f">linebreak.c</a>
, <a class="el" href="linebreak_8h.html#57c2b88b7e1277cbba23cfffbc782c4f">linebreak.h</a>
<li>is_breakable()
: <a class="el" href="linebreak_8c.html#22abef1024a6392cf2bd2281fc1bd151">linebreak.c</a>
, <a class="el" href="linebreak_8h.html#22abef1024a6392cf2bd2281fc1bd151">linebreak.h</a>
<li>is_line_breakable
: <a class="el" href="linebreak_8h.html#9d54c1b18d4fc526a66ef64d9de9c63a">linebreak.h</a>
</ul>
<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
<li>lb_prop_Chinese
: <a class="el" href="linebreakdef_8c.html#945fbc26db32e1f4fbce4f6e9ae70189">linebreakdef.c</a>
<li>lb_prop_default
: <a class="el" href="linebreakdata_8c.html#bbd8c6b6e4e1c8ad2da83f23f81ac29a">linebreakdata.c</a>
, <a class="el" href="linebreakdef_8h.html#bbd8c6b6e4e1c8ad2da83f23f81ac29a">linebreakdef.h</a>
<li>lb_prop_English
: <a class="el" href="linebreakdef_8c.html#cb15b3309e7e1c7a48da9535c4e2855f">linebreakdef.c</a>
<li>lb_prop_French
: <a class="el" href="linebreakdef_8c.html#f75c60d3b0f882032e6932da25b9c9fa">linebreakdef.c</a>
<li>lb_prop_German
: <a class="el" href="linebreakdef_8c.html#c39e3f65a289864edb8a38a201481627">linebreakdef.c</a>
<li>lb_prop_index
: <a class="el" href="linebreak_8c.html#5f6f6df49c934134e8fb043ce6230931">linebreak.c</a>
<li>lb_prop_lang_map
: <a class="el" href="linebreakdef_8c.html#82efdfa4115828df9158e183f1a9983d">linebreakdef.c</a>
, <a class="el" href="linebreakdef_8h.html#82efdfa4115828df9158e183f1a9983d">linebreakdef.h</a>
<li>lb_prop_Russian
: <a class="el" href="linebreakdef_8c.html#980ede377c1ded0d24a58fb429f237f4">linebreakdef.c</a>
<li>lb_prop_Spanish
: <a class="el" href="linebreakdef_8c.html#41ee5277b95d453efdfb0e0242e1cb5f">linebreakdef.c</a>
<li>LBP_AI
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c9dcacac1d71f0f8ca7bbfe670620dd3">linebreakdef.h</a>
<li>LBP_AL
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407099a0353e48d4453d0acf01da43655281">linebreakdef.h</a>
<li>LBP_B2
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407046fe18e486c79c3835a587fb15ad0c63">linebreakdef.h</a>
<li>LBP_BA
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708487a95ef080e81a013162e107a4bc74">linebreakdef.h</a>
<li>LBP_BB
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098dbcbc080626fbc0ff7d4f2b8b86d7d">linebreakdef.h</a>
<li>LBP_BK
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707b0aae40955328f649ec66b23ecf1626">linebreakdef.h</a>
<li>LBP_CB
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070485f9b3c86d8b6f800bba048f1bf47b1">linebreakdef.h</a>
<li>LBP_CL
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d">linebreakdef.h</a>
<li>LBP_CM
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070de6aff21f968efc84109e502c5c469c1">linebreakdef.h</a>
<li>LBP_CR
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708f6991e8defca4aa9e6485dbb32628a2">linebreakdef.h</a>
<li>LBP_EX
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070694a3a0a4cf1649ca938e4cb8064f3b0">linebreakdef.h</a>
<li>LBP_GL
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040700550bdd01f16132d2897fc5000f58df7">linebreakdef.h</a>
<li>LBP_H2
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407087a5464b708121503da98654e02c2cfc">linebreakdef.h</a>
<li>LBP_H3
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e898c79c281f9d12c4adfa12834f4380">linebreakdef.h</a>
<li>LBP_HY
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707cf4d61e77f0d1f8974f1b21379d2883">linebreakdef.h</a>
<li>LBP_ID
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070277e68f51ab2a52445f0e7e219b8bd55">linebreakdef.h</a>
<li>LBP_IN
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e5285b1bd6bf868b1655b8ad3cb9cc73">linebreakdef.h</a>
<li>LBP_IS
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098ddb858ed33918bce8784a60c36712e">linebreakdef.h</a>
<li>LBP_JL
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040702cb194fd3b6e0295a134ad735f8f75eb">linebreakdef.h</a>
<li>LBP_JT
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707851519f0dac4f922b4144315bb711bf">linebreakdef.h</a>
<li>LBP_JV
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707759e3988158319f9efe87e322804cd8">linebreakdef.h</a>
<li>LBP_LF
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070944522607828ef422c419633f68c8cab">linebreakdef.h</a>
<li>LBP_NL
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070cfefd6df8344cc5601ce7786aee51fcf">linebreakdef.h</a>
<li>LBP_NS
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040701cbbcff8d381e12574aec3679990e3f0">linebreakdef.h</a>
<li>LBP_NU
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707d6ec3c06dfdee326bca876365e5be28">linebreakdef.h</a>
<li>LBP_OP
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3">linebreakdef.h</a>
<li>LBP_PO
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c7d5be8568020554e49bb4c01ca1fdba">linebreakdef.h</a>
<li>LBP_PR
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070985024038b0a61a40df014013daa7d57">linebreakdef.h</a>
<li>LBP_QU
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c39763b5b0557dddcec94a381ef30f4e">linebreakdef.h</a>
<li>LBP_SA
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407038b102b238de030fe74906fb0fcfb769">linebreakdef.h</a>
<li>LBP_SG
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070d6764678f5d80d86324a6f29c0561817">linebreakdef.h</a>
<li>LBP_SP
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707605e7c192d43e2ef0596e92446dfba4">linebreakdef.h</a>
<li>LBP_SY
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407047f9a3d5b87cd350905f552ffa3da097">linebreakdef.h</a>
<li>LBP_Undefined
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723">linebreakdef.h</a>
<li>LBP_WJ
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407000085861924d3758649cfd7dc0ec3daa">linebreakdef.h</a>
<li>LBP_XX
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407049450c35ed2a20d252e707322964bdf0">linebreakdef.h</a>
<li>LBP_ZW
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070a58613e52b70bda371b48ca2d89d85ee">linebreakdef.h</a>
<li>LINEBREAK_ALLOWBREAK
: <a class="el" href="linebreak_8h.html#229f34b0b72ccb2e53d0936a1e61a363">linebreak.h</a>
<li>LINEBREAK_INDEX_SIZE
: <a class="el" href="linebreak_8c.html#0ba826ea7bf9cd9038b146bb3572dbf0">linebreak.c</a>
<li>LINEBREAK_INSIDEACHAR
: <a class="el" href="linebreak_8h.html#5adf3d4831b89cb3e40e9bd31a73a39d">linebreak.h</a>
<li>LINEBREAK_MUSTBREAK
: <a class="el" href="linebreak_8h.html#367d64258fd90864a467687cd1736b77">linebreak.h</a>
<li>LINEBREAK_NOBREAK
: <a class="el" href="linebreak_8h.html#dd176a107633817050bedf6eb4f491cc">linebreak.h</a>
<li>LineBreakClass
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">linebreakdef.h</a>
</ul>
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
<li>PROHIBITED_BRK
: <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8dc31d10dc16c2e583ceb6c7e198fc9799">linebreak.c</a>
</ul>
<h3><a class="anchor" name="index_r">- r -</a></h3><ul>
<li>resolve_lb_class()
: <a class="el" href="linebreak_8c.html#a42b073302ff3325b087b61c78bf4841">linebreak.c</a>
</ul>
<h3><a class="anchor" name="index_s">- s -</a></h3><ul>
<li>set_linebreaks()
: <a class="el" href="linebreak_8c.html#0e86da0f08579bd9bfeb437f5fab15fe">linebreak.c</a>
, <a class="el" href="linebreakdef_8h.html#0e86da0f08579bd9bfeb437f5fab15fe">linebreakdef.h</a>
<li>set_linebreaks_utf16()
: <a class="el" href="linebreak_8h.html#1d56bce2d32cd986052172638cec43c8">linebreak.h</a>
, <a class="el" href="linebreak_8c.html#1d56bce2d32cd986052172638cec43c8">linebreak.c</a>
<li>set_linebreaks_utf32()
: <a class="el" href="linebreak_8c.html#9fdce33b4ded9d586888c16228ae9e1f">linebreak.c</a>
, <a class="el" href="linebreak_8h.html#9fdce33b4ded9d586888c16228ae9e1f">linebreak.h</a>
<li>set_linebreaks_utf8()
: <a class="el" href="linebreak_8h.html#b426e9cf68117faf583a0ed54742cb28">linebreak.h</a>
, <a class="el" href="linebreak_8c.html#b426e9cf68117faf583a0ed54742cb28">linebreak.c</a>
</ul>
<h3><a class="anchor" name="index_u">- u -</a></h3><ul>
<li>utf16_t
: <a class="el" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c">linebreak.h</a>
<li>utf32_t
: <a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">linebreak.h</a>
<li>utf8_t
: <a class="el" href="linebreak_8h.html#6103b2105588f239c593e779e605038a">linebreak.h</a>
</ul>
</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>

View file

@ -1,59 +0,0 @@
<!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: Data Fields</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 class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li class="current"><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;
<p>
<ul>
<li>EOS
: <a class="el" href="linebreakdef_8h.html#adbbc7b02d94a4c18646813ac8d7dec1">linebreakdef.h</a>
<li>is_line_breakable
: <a class="el" href="linebreak_8h.html#9d54c1b18d4fc526a66ef64d9de9c63a">linebreak.h</a>
<li>LINEBREAK_ALLOWBREAK
: <a class="el" href="linebreak_8h.html#229f34b0b72ccb2e53d0936a1e61a363">linebreak.h</a>
<li>LINEBREAK_INDEX_SIZE
: <a class="el" href="linebreak_8c.html#0ba826ea7bf9cd9038b146bb3572dbf0">linebreak.c</a>
<li>LINEBREAK_INSIDEACHAR
: <a class="el" href="linebreak_8h.html#5adf3d4831b89cb3e40e9bd31a73a39d">linebreak.h</a>
<li>LINEBREAK_MUSTBREAK
: <a class="el" href="linebreak_8h.html#367d64258fd90864a467687cd1736b77">linebreak.h</a>
<li>LINEBREAK_NOBREAK
: <a class="el" href="linebreak_8h.html#dd176a107633817050bedf6eb4f491cc">linebreak.h</a>
</ul>
</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>

View file

@ -1,146 +0,0 @@
<!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: Data Fields</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 class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li class="current"><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="#index_c"><span>c</span></a></li>
<li><a href="#index_d"><span>d</span></a></li>
<li><a href="#index_i"><span>i</span></a></li>
<li><a href="#index_l"><span>l</span></a></li>
<li><a href="#index_p"><span>p</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;
<p>
<h3><a class="anchor" name="index_c">- c -</a></h3><ul>
<li>CM_INDIRECT_BRK
: <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d3e854663bba91b604d4a5f633b62c74a">linebreak.c</a>
<li>CM_PROHIBITED_BRK
: <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d9ae64fb627a84203f331f718eaf942c8">linebreak.c</a>
</ul>
<h3><a class="anchor" name="index_d">- d -</a></h3><ul>
<li>DIRECT_BRK
: <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d570708fb66d60c437dc3e8c1c784eef6">linebreak.c</a>
</ul>
<h3><a class="anchor" name="index_i">- i -</a></h3><ul>
<li>INDIRECT_BRK
: <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d246deb66413ac197d95680d31d4d5436">linebreak.c</a>
</ul>
<h3><a class="anchor" name="index_l">- l -</a></h3><ul>
<li>LBP_AI
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c9dcacac1d71f0f8ca7bbfe670620dd3">linebreakdef.h</a>
<li>LBP_AL
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407099a0353e48d4453d0acf01da43655281">linebreakdef.h</a>
<li>LBP_B2
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407046fe18e486c79c3835a587fb15ad0c63">linebreakdef.h</a>
<li>LBP_BA
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708487a95ef080e81a013162e107a4bc74">linebreakdef.h</a>
<li>LBP_BB
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098dbcbc080626fbc0ff7d4f2b8b86d7d">linebreakdef.h</a>
<li>LBP_BK
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707b0aae40955328f649ec66b23ecf1626">linebreakdef.h</a>
<li>LBP_CB
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070485f9b3c86d8b6f800bba048f1bf47b1">linebreakdef.h</a>
<li>LBP_CL
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d">linebreakdef.h</a>
<li>LBP_CM
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070de6aff21f968efc84109e502c5c469c1">linebreakdef.h</a>
<li>LBP_CR
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708f6991e8defca4aa9e6485dbb32628a2">linebreakdef.h</a>
<li>LBP_EX
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070694a3a0a4cf1649ca938e4cb8064f3b0">linebreakdef.h</a>
<li>LBP_GL
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040700550bdd01f16132d2897fc5000f58df7">linebreakdef.h</a>
<li>LBP_H2
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407087a5464b708121503da98654e02c2cfc">linebreakdef.h</a>
<li>LBP_H3
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e898c79c281f9d12c4adfa12834f4380">linebreakdef.h</a>
<li>LBP_HY
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707cf4d61e77f0d1f8974f1b21379d2883">linebreakdef.h</a>
<li>LBP_ID
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070277e68f51ab2a52445f0e7e219b8bd55">linebreakdef.h</a>
<li>LBP_IN
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e5285b1bd6bf868b1655b8ad3cb9cc73">linebreakdef.h</a>
<li>LBP_IS
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098ddb858ed33918bce8784a60c36712e">linebreakdef.h</a>
<li>LBP_JL
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040702cb194fd3b6e0295a134ad735f8f75eb">linebreakdef.h</a>
<li>LBP_JT
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707851519f0dac4f922b4144315bb711bf">linebreakdef.h</a>
<li>LBP_JV
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707759e3988158319f9efe87e322804cd8">linebreakdef.h</a>
<li>LBP_LF
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070944522607828ef422c419633f68c8cab">linebreakdef.h</a>
<li>LBP_NL
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070cfefd6df8344cc5601ce7786aee51fcf">linebreakdef.h</a>
<li>LBP_NS
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040701cbbcff8d381e12574aec3679990e3f0">linebreakdef.h</a>
<li>LBP_NU
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707d6ec3c06dfdee326bca876365e5be28">linebreakdef.h</a>
<li>LBP_OP
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3">linebreakdef.h</a>
<li>LBP_PO
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c7d5be8568020554e49bb4c01ca1fdba">linebreakdef.h</a>
<li>LBP_PR
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070985024038b0a61a40df014013daa7d57">linebreakdef.h</a>
<li>LBP_QU
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c39763b5b0557dddcec94a381ef30f4e">linebreakdef.h</a>
<li>LBP_SA
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407038b102b238de030fe74906fb0fcfb769">linebreakdef.h</a>
<li>LBP_SG
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070d6764678f5d80d86324a6f29c0561817">linebreakdef.h</a>
<li>LBP_SP
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707605e7c192d43e2ef0596e92446dfba4">linebreakdef.h</a>
<li>LBP_SY
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407047f9a3d5b87cd350905f552ffa3da097">linebreakdef.h</a>
<li>LBP_Undefined
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723">linebreakdef.h</a>
<li>LBP_WJ
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407000085861924d3758649cfd7dc0ec3daa">linebreakdef.h</a>
<li>LBP_XX
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407049450c35ed2a20d252e707322964bdf0">linebreakdef.h</a>
<li>LBP_ZW
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070a58613e52b70bda371b48ca2d89d85ee">linebreakdef.h</a>
</ul>
<h3><a class="anchor" name="index_p">- p -</a></h3><ul>
<li>PROHIBITED_BRK
: <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8dc31d10dc16c2e583ceb6c7e198fc9799">linebreak.c</a>
</ul>
</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>

View file

@ -1,82 +0,0 @@
<!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: Data Fields</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 class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li class="current"><a href="globals_func.html"><span>Functions</span></a></li>
<li><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;
<p>
<ul>
<li>get_char_lb_class()
: <a class="el" href="linebreak_8c.html#4eb765d3c50b5be0f694f9dd875bf5bb">linebreak.c</a>
<li>get_char_lb_class_default()
: <a class="el" href="linebreak_8c.html#a8be95ab8e6ee731e55279772b5aec91">linebreak.c</a>
<li>get_char_lb_class_lang()
: <a class="el" href="linebreak_8c.html#41ec5a32a31d007d60ea57caa38a2f3e">linebreak.c</a>
<li>get_lb_prop_lang()
: <a class="el" href="linebreak_8c.html#ec14ede6c9c839852210a729274c7fbc">linebreak.c</a>
<li>get_next_char_utf16()
: <a class="el" href="linebreak_8c.html#1358bfc18e5c58f3bf86d41da9915964">linebreak.c</a>
, <a class="el" href="linebreakdef_8h.html#1358bfc18e5c58f3bf86d41da9915964">linebreakdef.h</a>
<li>get_next_char_utf32()
: <a class="el" href="linebreak_8c.html#b436dc6eadd1cfe258159ac671798653">linebreak.c</a>
, <a class="el" href="linebreakdef_8h.html#b436dc6eadd1cfe258159ac671798653">linebreakdef.h</a>
<li>get_next_char_utf8()
: <a class="el" href="linebreak_8c.html#d6e67ab4880e304d6ac730d545027a7f">linebreak.c</a>
, <a class="el" href="linebreakdef_8h.html#d6e67ab4880e304d6ac730d545027a7f">linebreakdef.h</a>
<li>init_linebreak()
: <a class="el" href="linebreak_8c.html#57c2b88b7e1277cbba23cfffbc782c4f">linebreak.c</a>
, <a class="el" href="linebreak_8h.html#57c2b88b7e1277cbba23cfffbc782c4f">linebreak.h</a>
<li>is_breakable()
: <a class="el" href="linebreak_8c.html#22abef1024a6392cf2bd2281fc1bd151">linebreak.c</a>
, <a class="el" href="linebreak_8h.html#22abef1024a6392cf2bd2281fc1bd151">linebreak.h</a>
<li>resolve_lb_class()
: <a class="el" href="linebreak_8c.html#a42b073302ff3325b087b61c78bf4841">linebreak.c</a>
<li>set_linebreaks()
: <a class="el" href="linebreak_8c.html#0e86da0f08579bd9bfeb437f5fab15fe">linebreak.c</a>
, <a class="el" href="linebreakdef_8h.html#0e86da0f08579bd9bfeb437f5fab15fe">linebreakdef.h</a>
<li>set_linebreaks_utf16()
: <a class="el" href="linebreak_8h.html#1d56bce2d32cd986052172638cec43c8">linebreak.h</a>
, <a class="el" href="linebreak_8c.html#1d56bce2d32cd986052172638cec43c8">linebreak.c</a>
<li>set_linebreaks_utf32()
: <a class="el" href="linebreak_8c.html#9fdce33b4ded9d586888c16228ae9e1f">linebreak.c</a>
, <a class="el" href="linebreak_8h.html#9fdce33b4ded9d586888c16228ae9e1f">linebreak.h</a>
<li>set_linebreaks_utf8()
: <a class="el" href="linebreak_8h.html#b426e9cf68117faf583a0ed54742cb28">linebreak.h</a>
, <a class="el" href="linebreak_8c.html#b426e9cf68117faf583a0ed54742cb28">linebreak.c</a>
</ul>
</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>

View file

@ -1,67 +0,0 @@
<!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: Data Fields</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 class="current"><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="globals.html"><span>All</span></a></li>
<li><a href="globals_func.html"><span>Functions</span></a></li>
<li class="current"><a href="globals_vars.html"><span>Variables</span></a></li>
<li><a href="globals_type.html"><span>Typedefs</span></a></li>
<li><a href="globals_enum.html"><span>Enumerations</span></a></li>
<li><a href="globals_eval.html"><span>Enumerator</span></a></li>
<li><a href="globals_defs.html"><span>Defines</span></a></li>
</ul>
</div>
</div>
<div class="contents">
&nbsp;
<p>
<ul>
<li>baTable
: <a class="el" href="linebreak_8c.html#e334fc5c93e9d07c1f6731774cdc07d4">linebreak.c</a>
<li>lb_prop_Chinese
: <a class="el" href="linebreakdef_8c.html#945fbc26db32e1f4fbce4f6e9ae70189">linebreakdef.c</a>
<li>lb_prop_default
: <a class="el" href="linebreakdata_8c.html#bbd8c6b6e4e1c8ad2da83f23f81ac29a">linebreakdata.c</a>
, <a class="el" href="linebreakdef_8h.html#bbd8c6b6e4e1c8ad2da83f23f81ac29a">linebreakdef.h</a>
<li>lb_prop_English
: <a class="el" href="linebreakdef_8c.html#cb15b3309e7e1c7a48da9535c4e2855f">linebreakdef.c</a>
<li>lb_prop_French
: <a class="el" href="linebreakdef_8c.html#f75c60d3b0f882032e6932da25b9c9fa">linebreakdef.c</a>
<li>lb_prop_German
: <a class="el" href="linebreakdef_8c.html#c39e3f65a289864edb8a38a201481627">linebreakdef.c</a>
<li>lb_prop_index
: <a class="el" href="linebreak_8c.html#5f6f6df49c934134e8fb043ce6230931">linebreak.c</a>
<li>lb_prop_lang_map
: <a class="el" href="linebreakdef_8h.html#82efdfa4115828df9158e183f1a9983d">linebreakdef.h</a>
, <a class="el" href="linebreakdef_8c.html#82efdfa4115828df9158e183f1a9983d">linebreakdef.c</a>
<li>lb_prop_Russian
: <a class="el" href="linebreakdef_8c.html#980ede377c1ded0d24a58fb429f237f4">linebreakdef.c</a>
<li>lb_prop_Spanish
: <a class="el" href="linebreakdef_8c.html#41ee5277b95d453efdfb0e0242e1cb5f">linebreakdef.c</a>
</ul>
</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>

View file

@ -1,26 +0,0 @@
<!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: Main Page</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 class="current"><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><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>liblinebreak Documentation</h1>
<p>
<h3 align="center">1.2 </h3></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>

View file

@ -1,800 +0,0 @@
<!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: linebreak.c 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>linebreak.c File Reference</h1>Implementation of the line breaking algorithm as described in Unicode Standard Annex 14.
<a href="#_details">More...</a>
<p>
<code>#include &lt;assert.h&gt;</code><br>
<code>#include &lt;stddef.h&gt;</code><br>
<code>#include &lt;string.h&gt;</code><br>
<code>#include &quot;<a class="el" href="linebreak_8h_source.html">linebreak.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>&quot;</code><br>
<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="structLineBreakPropertiesIndex.html">LineBreakPropertiesIndex</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Struct for the second-level index to the line breaking properties. <a href="structLineBreakPropertiesIndex.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="linebreak_8c.html#0ba826ea7bf9cd9038b146bb3572dbf0">LINEBREAK_INDEX_SIZE</a>&nbsp;&nbsp;&nbsp;40</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Size of the second-level index to the line breaking properties. <a href="#0ba826ea7bf9cd9038b146bb3572dbf0"></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="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d">BreakAction</a> { <br>
&nbsp;&nbsp;<a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d570708fb66d60c437dc3e8c1c784eef6">DIRECT_BRK</a>,
<a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d246deb66413ac197d95680d31d4d5436">INDIRECT_BRK</a>,
<a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d3e854663bba91b604d4a5f633b62c74a">CM_INDIRECT_BRK</a>,
<a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d9ae64fb627a84203f331f718eaf942c8">CM_PROHIBITED_BRK</a>,
<br>
&nbsp;&nbsp;<a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8dc31d10dc16c2e583ceb6c7e198fc9799">PROHIBITED_BRK</a>
<br>
}</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Enumeration of break actions. <a href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d">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="linebreak_8c.html#57c2b88b7e1277cbba23cfffbc782c4f">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="#57c2b88b7e1277cbba23cfffbc782c4f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#ec14ede6c9c839852210a729274c7fbc">get_lb_prop_lang</a> (const char *lang)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the language-specific line breaking properties. <a href="#ec14ede6c9c839852210a729274c7fbc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static enum <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#4eb765d3c50b5be0f694f9dd875bf5bb">get_char_lb_class</a> (<a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a> ch, struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> *lbp)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the line breaking class of a character from a line breaking properties array. <a href="#4eb765d3c50b5be0f694f9dd875bf5bb"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static enum <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#a8be95ab8e6ee731e55279772b5aec91">get_char_lb_class_default</a> (<a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a> ch)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the line breaking class of a character from the default line breaking properties array. <a href="#a8be95ab8e6ee731e55279772b5aec91"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static enum <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#41ec5a32a31d007d60ea57caa38a2f3e">get_char_lb_class_lang</a> (<a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a> ch, struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> *lbpLang)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Gets the line breaking class of a character for a specific language. <a href="#41ec5a32a31d007d60ea57caa38a2f3e"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static enum <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#a42b073302ff3325b087b61c78bf4841">resolve_lb_class</a> (enum <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> lbc, const char *lang)</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Resolves the line breaking class for certain ambiguous or complicated characters. <a href="#a42b073302ff3325b087b61c78bf4841"></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="linebreak_8c.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="linebreak_8c.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="linebreak_8c.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 class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.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">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#b426e9cf68117faf583a0ed54742cb28">set_linebreaks_utf8</a> (const <a class="el" href="linebreak_8h.html#6103b2105588f239c593e779e605038a">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="#b426e9cf68117faf583a0ed54742cb28"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#1d56bce2d32cd986052172638cec43c8">set_linebreaks_utf16</a> (const <a class="el" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c">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="#1d56bce2d32cd986052172638cec43c8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#9fdce33b4ded9d586888c16228ae9e1f">set_linebreaks_utf32</a> (const <a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">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="#9fdce33b4ded9d586888c16228ae9e1f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#22abef1024a6392cf2bd2281fc1bd151">is_breakable</a> (<a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a> char1, <a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">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="#22abef1024a6392cf2bd2281fc1bd151"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static enum <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d">BreakAction</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#e334fc5c93e9d07c1f6731774cdc07d4">baTable</a> [LBP_JT][LBP_JT]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Break action pair table. <a href="#e334fc5c93e9d07c1f6731774cdc07d4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <br class="typebreak">
<a class="el" href="structLineBreakPropertiesIndex.html">LineBreakPropertiesIndex</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#5f6f6df49c934134e8fb043ce6230931">lb_prop_index</a> [LINEBREAK_INDEX_SIZE]</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Second-level index to the line breaking properties. <a href="#5f6f6df49c934134e8fb043ce6230931"></a><br></td></tr>
</table>
<hr><h2>Detailed Description</h2>
Implementation of the line breaking algorithm as described in Unicode Standard Annex 14.
<p>
<dl class="version" compact><dt><b>Version:</b></dt><dd>1.2, 2009/04/29 </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="0ba826ea7bf9cd9038b146bb3572dbf0"></a><!-- doxytag: member="linebreak.c::LINEBREAK_INDEX_SIZE" ref="0ba826ea7bf9cd9038b146bb3572dbf0" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define LINEBREAK_INDEX_SIZE&nbsp;&nbsp;&nbsp;40 </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Size of the second-level index to the line breaking properties.
<p>
</div>
</div><p>
<hr><h2>Enumeration Type Documentation</h2>
<a class="anchor" name="440c1a7abb9df5e3fc1d27b9a39e3a8d"></a><!-- doxytag: member="linebreak.c::BreakAction" ref="440c1a7abb9df5e3fc1d27b9a39e3a8d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d">BreakAction</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Enumeration of break actions.
<p>
They are used in the break action pair table below. <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="440c1a7abb9df5e3fc1d27b9a39e3a8d570708fb66d60c437dc3e8c1c784eef6"></a><!-- doxytag: member="DIRECT_BRK" ref="440c1a7abb9df5e3fc1d27b9a39e3a8d570708fb66d60c437dc3e8c1c784eef6" args="" -->DIRECT_BRK</em>&nbsp;</td><td>
Direct break opportunity. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="440c1a7abb9df5e3fc1d27b9a39e3a8d246deb66413ac197d95680d31d4d5436"></a><!-- doxytag: member="INDIRECT_BRK" ref="440c1a7abb9df5e3fc1d27b9a39e3a8d246deb66413ac197d95680d31d4d5436" args="" -->INDIRECT_BRK</em>&nbsp;</td><td>
Indirect break opportunity. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="440c1a7abb9df5e3fc1d27b9a39e3a8d3e854663bba91b604d4a5f633b62c74a"></a><!-- doxytag: member="CM_INDIRECT_BRK" ref="440c1a7abb9df5e3fc1d27b9a39e3a8d3e854663bba91b604d4a5f633b62c74a" args="" -->CM_INDIRECT_BRK</em>&nbsp;</td><td>
Indirect break opportunity for combining marks. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="440c1a7abb9df5e3fc1d27b9a39e3a8d9ae64fb627a84203f331f718eaf942c8"></a><!-- doxytag: member="CM_PROHIBITED_BRK" ref="440c1a7abb9df5e3fc1d27b9a39e3a8d9ae64fb627a84203f331f718eaf942c8" args="" -->CM_PROHIBITED_BRK</em>&nbsp;</td><td>
Prohibited break for combining marks. </td></tr>
<tr><td valign="top"><em><a class="anchor" name="440c1a7abb9df5e3fc1d27b9a39e3a8dc31d10dc16c2e583ceb6c7e198fc9799"></a><!-- doxytag: member="PROHIBITED_BRK" ref="440c1a7abb9df5e3fc1d27b9a39e3a8dc31d10dc16c2e583ceb6c7e198fc9799" args="" -->PROHIBITED_BRK</em>&nbsp;</td><td>
Prohibited break. </td></tr>
</table>
</dl>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="4eb765d3c50b5be0f694f9dd875bf5bb"></a><!-- doxytag: member="linebreak.c::get_char_lb_class" ref="4eb765d3c50b5be0f694f9dd875bf5bb" args="(utf32_t ch, struct LineBreakProperties *lbp)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static enum <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> get_char_lb_class </td>
<td>(</td>
<td class="paramtype"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td>
<td class="paramname"> <em>ch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> *&nbsp;</td>
<td class="paramname"> <em>lbp</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Gets the line breaking class of a character from a line breaking properties array.
<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>character to check </td></tr>
<tr><td valign="top"></td><td valign="top"><em>lbp</em>&nbsp;</td><td>pointer to the line breaking properties array </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the line breaking class if found; <code>LBP_XX</code> otherwise </dd></dl>
</div>
</div><p>
<a class="anchor" name="a8be95ab8e6ee731e55279772b5aec91"></a><!-- doxytag: member="linebreak.c::get_char_lb_class_default" ref="a8be95ab8e6ee731e55279772b5aec91" args="(utf32_t ch)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static enum <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> get_char_lb_class_default </td>
<td>(</td>
<td class="paramtype"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td>
<td class="paramname"> <em>ch</em> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Gets the line breaking class of a character from the default line breaking properties array.
<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>character to check </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the line breaking class if found; <code>LBP_XX</code> otherwise </dd></dl>
</div>
</div><p>
<a class="anchor" name="41ec5a32a31d007d60ea57caa38a2f3e"></a><!-- doxytag: member="linebreak.c::get_char_lb_class_lang" ref="41ec5a32a31d007d60ea57caa38a2f3e" args="(utf32_t ch, struct LineBreakProperties *lbpLang)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static enum <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> get_char_lb_class_lang </td>
<td>(</td>
<td class="paramtype"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a>&nbsp;</td>
<td class="paramname"> <em>ch</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> *&nbsp;</td>
<td class="paramname"> <em>lbpLang</em></td><td>&nbsp;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td><td><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Gets the line breaking class of a character for a specific language.
<p>
This function will check the language-specific data first, and then the default data if there is no language-specific property available for the character.<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>character to check </td></tr>
<tr><td valign="top"></td><td valign="top"><em>lbpLang</em>&nbsp;</td><td>pointer to the language-specific line breaking properties array </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the line breaking class if found; <code>LBP_XX</code> otherwise </dd></dl>
</div>
</div><p>
<a class="anchor" name="ec14ede6c9c839852210a729274c7fbc"></a><!-- doxytag: member="linebreak.c::get_lb_prop_lang" ref="ec14ede6c9c839852210a729274c7fbc" args="(const char *lang)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>* get_lb_prop_lang </td>
<td>(</td>
<td class="paramtype">const char *&nbsp;</td>
<td class="paramname"> <em>lang</em> </td>
<td>&nbsp;)&nbsp;</td>
<td><code> [static, read]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Gets the language-specific line breaking properties.
<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>lang</em>&nbsp;</td><td>language of the text </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>pointer to the language-specific line breaking properties array if found; <code>NULL</code> otherwise </dd></dl>
</div>
</div><p>
<a class="anchor" name="1358bfc18e5c58f3bf86d41da9915964"></a><!-- doxytag: member="linebreak.c::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="linebreak.c::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="linebreak.c::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="57c2b88b7e1277cbba23cfffbc782c4f"></a><!-- doxytag: member="linebreak.c::init_linebreak" ref="57c2b88b7e1277cbba23cfffbc782c4f" 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>
If it is not called, the performance of <a class="el" href="linebreak_8c.html#41ec5a32a31d007d60ea57caa38a2f3e" 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.
</div>
</div><p>
<a class="anchor" name="22abef1024a6392cf2bd2281fc1bd151"></a><!-- doxytag: member="linebreak.c::is_breakable" ref="22abef1024a6392cf2bd2281fc1bd151" 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_breakable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">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#4f775bae0642c213be2c526018283c25">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>
This is a wrapper function to expose a simple interface. Generally speaking, it is better to use <a class="el" href="linebreak_8h.html#9fdce33b4ded9d586888c16228ae9e1f" 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 compact><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>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>one of <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></dd></dl>
<dl class="deprecated" compact><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>This function will be renamed to <a class="el" href="linebreak_8h.html#9d54c1b18d4fc526a66ef64d9de9c63a" title="Replacement form for the deprecated function is_breakable.">is_line_breakable</a> in the future. The name is already defined as a macro&mdash;please use it. </dd></dl>
</div>
</div><p>
<a class="anchor" name="a42b073302ff3325b087b61c78bf4841"></a><!-- doxytag: member="linebreak.c::resolve_lb_class" ref="a42b073302ff3325b087b61c78bf4841" args="(enum LineBreakClass lbc, const char *lang)" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">static enum <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> resolve_lb_class </td>
<td>(</td>
<td class="paramtype">enum <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a>&nbsp;</td>
<td class="paramname"> <em>lbc</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><code> [static]</code></td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Resolves the line breaking class for certain ambiguous or complicated characters.
<p>
They are treated in a simplistic way in this implementation.<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>lbc</em>&nbsp;</td><td>line breaking class to resolve </td></tr>
<tr><td valign="top"></td><td valign="top"><em>lang</em>&nbsp;</td><td>language of the text </td></tr>
</table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>the resolved line breaking class </dd></dl>
</div>
</div><p>
<a class="anchor" name="0e86da0f08579bd9bfeb437f5fab15fe"></a><!-- doxytag: member="linebreak.c::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>
<a class="anchor" name="1d56bce2d32cd986052172638cec43c8"></a><!-- doxytag: member="linebreak.c::set_linebreaks_utf16" ref="1d56bce2d32cd986052172638cec43c8" 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#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">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 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 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>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="9fdce33b4ded9d586888c16228ae9e1f"></a><!-- doxytag: member="linebreak.c::set_linebreaks_utf32" ref="9fdce33b4ded9d586888c16228ae9e1f" 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#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">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 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 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>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="b426e9cf68117faf583a0ed54742cb28"></a><!-- doxytag: member="linebreak.c::set_linebreaks_utf8" ref="b426e9cf68117faf583a0ed54742cb28" 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#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">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 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 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>
</table>
</dl>
</div>
</div><p>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="e334fc5c93e9d07c1f6731774cdc07d4"></a><!-- doxytag: member="linebreak.c::baTable" ref="e334fc5c93e9d07c1f6731774cdc07d4" args="[LBP_JT][LBP_JT]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">enum <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d">BreakAction</a> <a class="el" href="linebreak_8c.html#e334fc5c93e9d07c1f6731774cdc07d4">baTable</a>[LBP_JT][LBP_JT]<code> [static]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Break action pair table.
<p>
This is a direct mapping of Table 2 of Unicode Standard Annex 14, Revision 22.
</div>
</div><p>
<a class="anchor" name="5f6f6df49c934134e8fb043ce6230931"></a><!-- doxytag: member="linebreak.c::lb_prop_index" ref="5f6f6df49c934134e8fb043ce6230931" args="[LINEBREAK_INDEX_SIZE]" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct <a class="el" href="structLineBreakPropertiesIndex.html">LineBreakPropertiesIndex</a> <a class="el" href="linebreak_8c.html#5f6f6df49c934134e8fb043ce6230931">lb_prop_index</a>[LINEBREAK_INDEX_SIZE]<code> [static]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment">
{
{ 0xFFFFFFFF, <a class="code" href="linebreakdata_8c.html#bbd8c6b6e4e1c8ad2da83f23f81ac29a" title="Default line breaking properties as from the Unicode Web site.">lb_prop_default</a> }
}
</pre></div>Second-level index to the line breaking properties.
<p>
</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>

View file

@ -1,457 +0,0 @@
<!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: 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.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>linebreak.h File Reference</h1>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><table border="0" cellpadding="0" cellspacing="0">
<tr><td></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="linebreak_8h.html#367d64258fd90864a467687cd1736b77">LINEBREAK_MUSTBREAK</a>&nbsp;&nbsp;&nbsp;0</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Break is mandatory. <a href="#367d64258fd90864a467687cd1736b77"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#229f34b0b72ccb2e53d0936a1e61a363">LINEBREAK_ALLOWBREAK</a>&nbsp;&nbsp;&nbsp;1</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Break is allowed. <a href="#229f34b0b72ccb2e53d0936a1e61a363"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#dd176a107633817050bedf6eb4f491cc">LINEBREAK_NOBREAK</a>&nbsp;&nbsp;&nbsp;2</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">No break is possible. <a href="#dd176a107633817050bedf6eb4f491cc"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#5adf3d4831b89cb3e40e9bd31a73a39d">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="#5adf3d4831b89cb3e40e9bd31a73a39d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#9d54c1b18d4fc526a66ef64d9de9c63a">is_line_breakable</a>&nbsp;&nbsp;&nbsp;is_breakable</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Replacement form for the deprecated function <a class="el" href="linebreak_8h.html#22abef1024a6392cf2bd2281fc1bd151" title="Tells whether a line break can occur between two Unicode characters.">is_breakable</a>. <a href="#9d54c1b18d4fc526a66ef64d9de9c63a"></a><br></td></tr>
<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned char&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#6103b2105588f239c593e779e605038a">utf8_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for UTF-8 data points. <a href="#6103b2105588f239c593e779e605038a"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned short&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c">utf16_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for UTF-16 data points. <a href="#4dce96cad338d9281612277b2d80950c"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Type for UTF-32 data points. <a href="#4f775bae0642c213be2c526018283c25"></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="linebreak_8h.html#57c2b88b7e1277cbba23cfffbc782c4f">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="#57c2b88b7e1277cbba23cfffbc782c4f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#22abef1024a6392cf2bd2281fc1bd151">is_breakable</a> (<a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a> char1, <a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">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="#22abef1024a6392cf2bd2281fc1bd151"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#b426e9cf68117faf583a0ed54742cb28">set_linebreaks_utf8</a> (const <a class="el" href="linebreak_8h.html#6103b2105588f239c593e779e605038a">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="#b426e9cf68117faf583a0ed54742cb28"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#1d56bce2d32cd986052172638cec43c8">set_linebreaks_utf16</a> (const <a class="el" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c">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="#1d56bce2d32cd986052172638cec43c8"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#9fdce33b4ded9d586888c16228ae9e1f">set_linebreaks_utf32</a> (const <a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">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="#9fdce33b4ded9d586888c16228ae9e1f"></a><br></td></tr>
</table>
<hr><h2>Detailed Description</h2>
Header file 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="9d54c1b18d4fc526a66ef64d9de9c63a"></a><!-- doxytag: member="linebreak.h::is_line_breakable" ref="9d54c1b18d4fc526a66ef64d9de9c63a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define is_line_breakable&nbsp;&nbsp;&nbsp;is_breakable </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Replacement form for the deprecated function <a class="el" href="linebreak_8h.html#22abef1024a6392cf2bd2281fc1bd151" title="Tells whether a line break can occur between two Unicode characters.">is_breakable</a>.
<p>
Please use the macro for the present moment, before the function is renamed. <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#9fdce33b4ded9d586888c16228ae9e1f" 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 compact><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>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>one of <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> </dd></dl>
</div>
</div><p>
<a class="anchor" name="229f34b0b72ccb2e53d0936a1e61a363"></a><!-- doxytag: member="linebreak.h::LINEBREAK_ALLOWBREAK" ref="229f34b0b72ccb2e53d0936a1e61a363" 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><p>
<a class="anchor" name="5adf3d4831b89cb3e40e9bd31a73a39d"></a><!-- doxytag: member="linebreak.h::LINEBREAK_INSIDEACHAR" ref="5adf3d4831b89cb3e40e9bd31a73a39d" 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><p>
<a class="anchor" name="367d64258fd90864a467687cd1736b77"></a><!-- doxytag: member="linebreak.h::LINEBREAK_MUSTBREAK" ref="367d64258fd90864a467687cd1736b77" 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><p>
<a class="anchor" name="dd176a107633817050bedf6eb4f491cc"></a><!-- doxytag: member="linebreak.h::LINEBREAK_NOBREAK" ref="dd176a107633817050bedf6eb4f491cc" 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><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="4dce96cad338d9281612277b2d80950c"></a><!-- doxytag: member="linebreak.h::utf16_t" ref="4dce96cad338d9281612277b2d80950c" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef unsigned short <a class="el" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c">utf16_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Type for UTF-16 data points.
<p>
</div>
</div><p>
<a class="anchor" name="4f775bae0642c213be2c526018283c25"></a><!-- doxytag: member="linebreak.h::utf32_t" ref="4f775bae0642c213be2c526018283c25" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef unsigned int <a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Type for UTF-32 data points.
<p>
</div>
</div><p>
<a class="anchor" name="6103b2105588f239c593e779e605038a"></a><!-- doxytag: member="linebreak.h::utf8_t" ref="6103b2105588f239c593e779e605038a" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">typedef unsigned char <a class="el" href="linebreak_8h.html#6103b2105588f239c593e779e605038a">utf8_t</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Type for UTF-8 data points.
<p>
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="57c2b88b7e1277cbba23cfffbc782c4f"></a><!-- doxytag: member="linebreak.h::init_linebreak" ref="57c2b88b7e1277cbba23cfffbc782c4f" 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>
If it is not called, the performance of <a class="el" href="linebreak_8c.html#41ec5a32a31d007d60ea57caa38a2f3e" 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.
</div>
</div><p>
<a class="anchor" name="22abef1024a6392cf2bd2281fc1bd151"></a><!-- doxytag: member="linebreak.h::is_breakable" ref="22abef1024a6392cf2bd2281fc1bd151" 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_breakable </td>
<td>(</td>
<td class="paramtype"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">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#4f775bae0642c213be2c526018283c25">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>
This is a wrapper function to expose a simple interface. Generally speaking, it is better to use <a class="el" href="linebreak_8h.html#9fdce33b4ded9d586888c16228ae9e1f" 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 compact><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>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd>one of <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></dd></dl>
<dl class="deprecated" compact><dt><b><a class="el" href="deprecated.html#_deprecated000004">Deprecated:</a></b></dt><dd>This function will be renamed to <a class="el" href="linebreak_8h.html#9d54c1b18d4fc526a66ef64d9de9c63a" title="Replacement form for the deprecated function is_breakable.">is_line_breakable</a> in the future. The name is already defined as a macro&mdash;please use it. </dd></dl>
</div>
</div><p>
<a class="anchor" name="1d56bce2d32cd986052172638cec43c8"></a><!-- doxytag: member="linebreak.h::set_linebreaks_utf16" ref="1d56bce2d32cd986052172638cec43c8" 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#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">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 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 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>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="9fdce33b4ded9d586888c16228ae9e1f"></a><!-- doxytag: member="linebreak.h::set_linebreaks_utf32" ref="9fdce33b4ded9d586888c16228ae9e1f" 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#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">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 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 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>
</table>
</dl>
</div>
</div><p>
<a class="anchor" name="b426e9cf68117faf583a0ed54742cb28"></a><!-- doxytag: member="linebreak.h::set_linebreaks_utf8" ref="b426e9cf68117faf583a0ed54742cb28" 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#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">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 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 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>
</table>
</dl>
</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>

View file

@ -1,57 +0,0 @@
<!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: linebreakdata.c 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>linebreakdata.c File Reference</h1><code>#include &quot;<a class="el" href="linebreak_8h_source.html">linebreak.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>&quot;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></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="linebreakdata_8c.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>
</table>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="bbd8c6b6e4e1c8ad2da83f23f81ac29a"></a><!-- doxytag: member="linebreakdata.c::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>
</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>

View file

@ -1,242 +0,0 @@
<!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.c 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.c File Reference</h1>Definition of language-specific data.
<a href="#_details">More...</a>
<p>
<code>#include &quot;<a class="el" href="linebreak_8h_source.html">linebreak.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>&quot;</code><br>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Variables</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#cb15b3309e7e1c7a48da9535c4e2855f">lb_prop_English</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">English-specifc data over the default Unicode rules. <a href="#cb15b3309e7e1c7a48da9535c4e2855f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#c39e3f65a289864edb8a38a201481627">lb_prop_German</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">German-specifc data over the default Unicode rules. <a href="#c39e3f65a289864edb8a38a201481627"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#41ee5277b95d453efdfb0e0242e1cb5f">lb_prop_Spanish</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Spanish-specifc data over the default Unicode rules. <a href="#41ee5277b95d453efdfb0e0242e1cb5f"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#f75c60d3b0f882032e6932da25b9c9fa">lb_prop_French</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">French-specifc data over the default Unicode rules. <a href="#f75c60d3b0f882032e6932da25b9c9fa"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#980ede377c1ded0d24a58fb429f237f4">lb_prop_Russian</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Russian-specifc data over the default Unicode rules. <a href="#980ede377c1ded0d24a58fb429f237f4"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">static struct <a class="el" href="structLineBreakProperties.html">LineBreakProperties</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#945fbc26db32e1f4fbce4f6e9ae70189">lb_prop_Chinese</a> []</td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Chinese-specifc data over the default Unicode rules. <a href="#945fbc26db32e1f4fbce4f6e9ae70189"></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_8c.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>
Definition of language-specific data.
<p>
<dl class="version" compact><dt><b>Version:</b></dt><dd>1.2, 2009/04/29 </dd></dl>
<dl class="author" compact><dt><b>Author:</b></dt><dd>Wu Yongwei </dd></dl>
<hr><h2>Variable Documentation</h2>
<a class="anchor" name="945fbc26db32e1f4fbce4f6e9ae70189"></a><!-- doxytag: member="linebreakdef.c::lb_prop_Chinese" ref="945fbc26db32e1f4fbce4f6e9ae70189" 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_8c.html#945fbc26db32e1f4fbce4f6e9ae70189">lb_prop_Chinese</a>[]<code> [static]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ 0x2018, 0x2018, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x2019, 0x2019, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x201C, 0x201C, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201D, 0x201D, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0, 0, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a> }
}
</pre></div>Chinese-specifc data over the default Unicode rules.
<p>
</div>
</div><p>
<a class="anchor" name="cb15b3309e7e1c7a48da9535c4e2855f"></a><!-- doxytag: member="linebreakdef.c::lb_prop_English" ref="cb15b3309e7e1c7a48da9535c4e2855f" 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_8c.html#cb15b3309e7e1c7a48da9535c4e2855f">lb_prop_English</a>[]<code> [static]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ 0x2018, 0x2018, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201C, 0x201C, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201D, 0x201D, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0, 0, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a> }
}
</pre></div>English-specifc data over the default Unicode rules.
<p>
</div>
</div><p>
<a class="anchor" name="f75c60d3b0f882032e6932da25b9c9fa"></a><!-- doxytag: member="linebreakdef.c::lb_prop_French" ref="f75c60d3b0f882032e6932da25b9c9fa" 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_8c.html#f75c60d3b0f882032e6932da25b9c9fa">lb_prop_French</a>[]<code> [static]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ 0x00AB, 0x00AB, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x00BB, 0x00BB, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x2018, 0x2018, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201C, 0x201C, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201D, 0x201D, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x2039, 0x2039, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x203A, 0x203A, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0, 0, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a> }
}
</pre></div>French-specifc data over the default Unicode rules.
<p>
</div>
</div><p>
<a class="anchor" name="c39e3f65a289864edb8a38a201481627"></a><!-- doxytag: member="linebreakdef.c::lb_prop_German" ref="c39e3f65a289864edb8a38a201481627" 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_8c.html#c39e3f65a289864edb8a38a201481627">lb_prop_German</a>[]<code> [static]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ 0x00AB, 0x00AB, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x00BB, 0x00BB, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x2018, 0x2018, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x201C, 0x201C, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x2039, 0x2039, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x203A, 0x203A, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0, 0, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a> }
}
</pre></div>German-specifc data over the default Unicode rules.
<p>
</div>
</div><p>
<a class="anchor" name="82efdfa4115828df9158e183f1a9983d"></a><!-- doxytag: member="linebreakdef.c::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>
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ <span class="stringliteral">"en"</span>, 2, <a class="code" href="linebreakdef_8c.html#cb15b3309e7e1c7a48da9535c4e2855f" title="English-specifc data over the default Unicode rules.">lb_prop_English</a> },
{ <span class="stringliteral">"de"</span>, 2, <a class="code" href="linebreakdef_8c.html#c39e3f65a289864edb8a38a201481627" title="German-specifc data over the default Unicode rules.">lb_prop_German</a> },
{ <span class="stringliteral">"es"</span>, 2, <a class="code" href="linebreakdef_8c.html#41ee5277b95d453efdfb0e0242e1cb5f" title="Spanish-specifc data over the default Unicode rules.">lb_prop_Spanish</a> },
{ <span class="stringliteral">"fr"</span>, 2, <a class="code" href="linebreakdef_8c.html#f75c60d3b0f882032e6932da25b9c9fa" title="French-specifc data over the default Unicode rules.">lb_prop_French</a> },
{ <span class="stringliteral">"ru"</span>, 2, <a class="code" href="linebreakdef_8c.html#980ede377c1ded0d24a58fb429f237f4" title="Russian-specifc data over the default Unicode rules.">lb_prop_Russian</a> },
{ <span class="stringliteral">"zh"</span>, 2, <a class="code" href="linebreakdef_8c.html#945fbc26db32e1f4fbce4f6e9ae70189" title="Chinese-specifc data over the default Unicode rules.">lb_prop_Chinese</a> },
{ NULL, 0, NULL }
}
</pre></div>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>
<a class="anchor" name="980ede377c1ded0d24a58fb429f237f4"></a><!-- doxytag: member="linebreakdef.c::lb_prop_Russian" ref="980ede377c1ded0d24a58fb429f237f4" 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_8c.html#980ede377c1ded0d24a58fb429f237f4">lb_prop_Russian</a>[]<code> [static]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ 0x00AB, 0x00AB, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x00BB, 0x00BB, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x201C, 0x201C, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0, 0, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a> }
}
</pre></div>Russian-specifc data over the default Unicode rules.
<p>
</div>
</div><p>
<a class="anchor" name="41ee5277b95d453efdfb0e0242e1cb5f"></a><!-- doxytag: member="linebreakdef.c::lb_prop_Spanish" ref="41ee5277b95d453efdfb0e0242e1cb5f" 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_8c.html#41ee5277b95d453efdfb0e0242e1cb5f">lb_prop_Spanish</a>[]<code> [static]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
<b>Initial value:</b><div class="fragment"><pre class="fragment"> {
{ 0x00AB, 0x00AB, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x00BB, 0x00BB, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x2018, 0x2018, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201C, 0x201C, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x201D, 0x201D, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0x2039, 0x2039, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a> },
{ 0x203A, 0x203A, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a> },
{ 0, 0, <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a> }
}
</pre></div>Spanish-specifc data over the default Unicode rules.
<p>
</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>

View file

@ -1,497 +0,0 @@
<!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>

View file

@ -1,146 +0,0 @@
<!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 Source File</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>
<h1>linebreakdef.h</h1><a href="linebreakdef_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/* vim: set tabstop=4 shiftwidth=4: */</span>
<a name="l00002"></a>00002
<a name="l00003"></a>00003 <span class="comment">/*</span>
<a name="l00004"></a>00004 <span class="comment"> * Line breaking in a Unicode sequence. Designed to be used in a</span>
<a name="l00005"></a>00005 <span class="comment"> * generic text renderer.</span>
<a name="l00006"></a>00006 <span class="comment"> *</span>
<a name="l00007"></a>00007 <span class="comment"> * Copyright (C) 2008-2009 Wu Yongwei &lt;wuyongwei at gmail dot com&gt;</span>
<a name="l00008"></a>00008 <span class="comment"> *</span>
<a name="l00009"></a>00009 <span class="comment"> * This software is provided 'as-is', without any express or implied</span>
<a name="l00010"></a>00010 <span class="comment"> * warranty. In no event will the author be held liable for any damages</span>
<a name="l00011"></a>00011 <span class="comment"> * arising from the use of this software.</span>
<a name="l00012"></a>00012 <span class="comment"> *</span>
<a name="l00013"></a>00013 <span class="comment"> * Permission is granted to anyone to use this software for any purpose,</span>
<a name="l00014"></a>00014 <span class="comment"> * including commercial applications, and to alter it and redistribute</span>
<a name="l00015"></a>00015 <span class="comment"> * it freely, subject to the following restrictions:</span>
<a name="l00016"></a>00016 <span class="comment"> *</span>
<a name="l00017"></a>00017 <span class="comment"> * 1. The origin of this software must not be misrepresented; you must</span>
<a name="l00018"></a>00018 <span class="comment"> * not claim that you wrote the original software. If you use this</span>
<a name="l00019"></a>00019 <span class="comment"> * software in a product, an acknowledgement in the product</span>
<a name="l00020"></a>00020 <span class="comment"> * documentation would be appreciated but is not required.</span>
<a name="l00021"></a>00021 <span class="comment"> * 2. Altered source versions must be plainly marked as such, and must</span>
<a name="l00022"></a>00022 <span class="comment"> * not be misrepresented as being the original software.</span>
<a name="l00023"></a>00023 <span class="comment"> * 3. This notice may not be removed or altered from any source</span>
<a name="l00024"></a>00024 <span class="comment"> * distribution.</span>
<a name="l00025"></a>00025 <span class="comment"> *</span>
<a name="l00026"></a>00026 <span class="comment"> * The main reference is Unicode Standard Annex 14 (UAX #14):</span>
<a name="l00027"></a>00027 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/&gt;</span>
<a name="l00028"></a>00028 <span class="comment"> *</span>
<a name="l00029"></a>00029 <span class="comment"> * When this library was designed, this annex was at Revision 19, for</span>
<a name="l00030"></a>00030 <span class="comment"> * Unicode 5.0.0:</span>
<a name="l00031"></a>00031 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/tr14-19.html&gt;</span>
<a name="l00032"></a>00032 <span class="comment"> *</span>
<a name="l00033"></a>00033 <span class="comment"> * This library has been updated according to Revision 22, for</span>
<a name="l00034"></a>00034 <span class="comment"> * Unicode 5.1.0:</span>
<a name="l00035"></a>00035 <span class="comment"> * &lt;URL:http://www.unicode.org/reports/tr14/tr14-22.html&gt;</span>
<a name="l00036"></a>00036 <span class="comment"> *</span>
<a name="l00037"></a>00037 <span class="comment"> * The Unicode Terms of Use are available at</span>
<a name="l00038"></a>00038 <span class="comment"> * &lt;URL:http://www.unicode.org/copyright.html&gt;</span>
<a name="l00039"></a>00039 <span class="comment"> */</span>
<a name="l00040"></a>00040
<a name="l00055"></a><a class="code" href="linebreakdef_8h.html#adbbc7b02d94a4c18646813ac8d7dec1">00055</a> <span class="preprocessor">#define EOS 0xFFFF</span>
<a name="l00056"></a>00056 <span class="preprocessor"></span>
<a name="l00061"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">00061</a> <span class="keyword">enum</span> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070" title="Line break classes.">LineBreakClass</a>
<a name="l00062"></a>00062 {
<a name="l00063"></a>00063 <span class="comment">/* This is used to signal an error condition. */</span>
<a name="l00064"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723">00064</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070926181b709c80b3b50e929c2a151b723" title="Undefined.">LBP_Undefined</a>,
<a name="l00066"></a>00066 <span class="comment">/* The following break classes are treated in the pair table. */</span>
<a name="l00067"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3">00067</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070ce49119a43e68388f6201e0b8e1752a3" title="Opening punctuation.">LBP_OP</a>,
<a name="l00068"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d">00068</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407013de437628c74f3ae2bc82c0bed4dd3d" title="Closing punctuation.">LBP_CL</a>,
<a name="l00069"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c39763b5b0557dddcec94a381ef30f4e">00069</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c39763b5b0557dddcec94a381ef30f4e" title="Ambiguous quotation.">LBP_QU</a>,
<a name="l00070"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040700550bdd01f16132d2897fc5000f58df7">00070</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040700550bdd01f16132d2897fc5000f58df7" title="Glue.">LBP_GL</a>,
<a name="l00071"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040701cbbcff8d381e12574aec3679990e3f0">00071</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040701cbbcff8d381e12574aec3679990e3f0" title="Non-starters.">LBP_NS</a>,
<a name="l00072"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070694a3a0a4cf1649ca938e4cb8064f3b0">00072</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070694a3a0a4cf1649ca938e4cb8064f3b0" title="Exclamation/Interrogation.">LBP_EX</a>,
<a name="l00073"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407047f9a3d5b87cd350905f552ffa3da097">00073</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407047f9a3d5b87cd350905f552ffa3da097" title="Symbols allowing break after.">LBP_SY</a>,
<a name="l00074"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098ddb858ed33918bce8784a60c36712e">00074</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098ddb858ed33918bce8784a60c36712e" title="Infix separator.">LBP_IS</a>,
<a name="l00075"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070985024038b0a61a40df014013daa7d57">00075</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070985024038b0a61a40df014013daa7d57" title="Prefix.">LBP_PR</a>,
<a name="l00076"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c7d5be8568020554e49bb4c01ca1fdba">00076</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c7d5be8568020554e49bb4c01ca1fdba" title="Postfix.">LBP_PO</a>,
<a name="l00077"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707d6ec3c06dfdee326bca876365e5be28">00077</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707d6ec3c06dfdee326bca876365e5be28" title="Numeric.">LBP_NU</a>,
<a name="l00078"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407099a0353e48d4453d0acf01da43655281">00078</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407099a0353e48d4453d0acf01da43655281" title="Alphabetic.">LBP_AL</a>,
<a name="l00079"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070277e68f51ab2a52445f0e7e219b8bd55">00079</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070277e68f51ab2a52445f0e7e219b8bd55" title="Ideographic.">LBP_ID</a>,
<a name="l00080"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e5285b1bd6bf868b1655b8ad3cb9cc73">00080</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e5285b1bd6bf868b1655b8ad3cb9cc73" title="Inseparable characters.">LBP_IN</a>,
<a name="l00081"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707cf4d61e77f0d1f8974f1b21379d2883">00081</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707cf4d61e77f0d1f8974f1b21379d2883" title="Hyphen.">LBP_HY</a>,
<a name="l00082"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708487a95ef080e81a013162e107a4bc74">00082</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708487a95ef080e81a013162e107a4bc74" title="Break after.">LBP_BA</a>,
<a name="l00083"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098dbcbc080626fbc0ff7d4f2b8b86d7d">00083</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407098dbcbc080626fbc0ff7d4f2b8b86d7d" title="Break before.">LBP_BB</a>,
<a name="l00084"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407046fe18e486c79c3835a587fb15ad0c63">00084</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407046fe18e486c79c3835a587fb15ad0c63" title="Break on either side (but not pair).">LBP_B2</a>,
<a name="l00085"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070a58613e52b70bda371b48ca2d89d85ee">00085</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070a58613e52b70bda371b48ca2d89d85ee" title="Zero-width space.">LBP_ZW</a>,
<a name="l00086"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070de6aff21f968efc84109e502c5c469c1">00086</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070de6aff21f968efc84109e502c5c469c1" title="Combining marks.">LBP_CM</a>,
<a name="l00087"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407000085861924d3758649cfd7dc0ec3daa">00087</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407000085861924d3758649cfd7dc0ec3daa" title="Word joiner.">LBP_WJ</a>,
<a name="l00088"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407087a5464b708121503da98654e02c2cfc">00088</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407087a5464b708121503da98654e02c2cfc" title="Hangul LV.">LBP_H2</a>,
<a name="l00089"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e898c79c281f9d12c4adfa12834f4380">00089</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070e898c79c281f9d12c4adfa12834f4380" title="Hangul LVT.">LBP_H3</a>,
<a name="l00090"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040702cb194fd3b6e0295a134ad735f8f75eb">00090</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040702cb194fd3b6e0295a134ad735f8f75eb" title="Hangul L Jamo.">LBP_JL</a>,
<a name="l00091"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707759e3988158319f9efe87e322804cd8">00091</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707759e3988158319f9efe87e322804cd8" title="Hangul V Jamo.">LBP_JV</a>,
<a name="l00092"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707851519f0dac4f922b4144315bb711bf">00092</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707851519f0dac4f922b4144315bb711bf" title="Hangul T Jamo.">LBP_JT</a>,
<a name="l00094"></a>00094 <span class="comment">/* The following break classes are not treated in the pair table */</span>
<a name="l00095"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c9dcacac1d71f0f8ca7bbfe670620dd3">00095</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070c9dcacac1d71f0f8ca7bbfe670620dd3" title="Ambiguous (alphabetic or ideograph).">LBP_AI</a>,
<a name="l00096"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707b0aae40955328f649ec66b23ecf1626">00096</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707b0aae40955328f649ec66b23ecf1626" title="Break (mandatory).">LBP_BK</a>,
<a name="l00097"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070485f9b3c86d8b6f800bba048f1bf47b1">00097</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070485f9b3c86d8b6f800bba048f1bf47b1" title="Contingent break.">LBP_CB</a>,
<a name="l00098"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708f6991e8defca4aa9e6485dbb32628a2">00098</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040708f6991e8defca4aa9e6485dbb32628a2" title="Carriage return.">LBP_CR</a>,
<a name="l00099"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070944522607828ef422c419633f68c8cab">00099</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070944522607828ef422c419633f68c8cab" title="Line feed.">LBP_LF</a>,
<a name="l00100"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070cfefd6df8344cc5601ce7786aee51fcf">00100</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070cfefd6df8344cc5601ce7786aee51fcf" title="Next line.">LBP_NL</a>,
<a name="l00101"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407038b102b238de030fe74906fb0fcfb769">00101</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407038b102b238de030fe74906fb0fcfb769" title="South-East Asian.">LBP_SA</a>,
<a name="l00102"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070d6764678f5d80d86324a6f29c0561817">00102</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070d6764678f5d80d86324a6f29c0561817" title="Surrogates.">LBP_SG</a>,
<a name="l00103"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707605e7c192d43e2ef0596e92446dfba4">00103</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd040707605e7c192d43e2ef0596e92446dfba4" title="Space.">LBP_SP</a>,
<a name="l00104"></a><a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407049450c35ed2a20d252e707322964bdf0">00104</a> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407049450c35ed2a20d252e707322964bdf0" title="Unknown.">LBP_XX</a>
<a name="l00105"></a>00105 };
<a name="l00106"></a>00106
<a name="l00111"></a><a class="code" href="structLineBreakProperties.html">00111</a> <span class="keyword">struct </span><a class="code" href="structLineBreakProperties.html" title="Struct for entries of line break properties.">LineBreakProperties</a>
<a name="l00112"></a>00112 {
<a name="l00113"></a><a class="code" href="structLineBreakProperties.html#1fe368ff9b53f52305c8dca687395372">00113</a> <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="structLineBreakProperties.html#1fe368ff9b53f52305c8dca687395372" title="Starting coding point.">start</a>;
<a name="l00114"></a><a class="code" href="structLineBreakProperties.html#f6ff463e88f6c694661aa10222404a14">00114</a> <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="structLineBreakProperties.html#f6ff463e88f6c694661aa10222404a14" title="End coding point.">end</a>;
<a name="l00115"></a><a class="code" href="structLineBreakProperties.html#46d34ea3f514f8f082d92a441a6665ba">00115</a> <span class="keyword">enum</span> <a class="code" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070" title="Line break classes.">LineBreakClass</a> <a class="code" href="structLineBreakProperties.html#46d34ea3f514f8f082d92a441a6665ba" title="The line breaking property.">prop</a>;
<a name="l00116"></a>00116 };
<a name="l00117"></a>00117
<a name="l00122"></a><a class="code" href="structLineBreakPropertiesLang.html">00122</a> <span class="keyword">struct </span><a class="code" href="structLineBreakPropertiesLang.html" title="Struct for association of language-specific line breaking properties with language...">LineBreakPropertiesLang</a>
<a name="l00123"></a>00123 {
<a name="l00124"></a><a class="code" href="structLineBreakPropertiesLang.html#e961b49d11e272adc590cf06e9f6100d">00124</a> <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structLineBreakPropertiesLang.html#e961b49d11e272adc590cf06e9f6100d" title="Language name.">lang</a>;
<a name="l00125"></a><a class="code" href="structLineBreakPropertiesLang.html#b5132ed92c5964a5cfecbb21de206488">00125</a> <span class="keywordtype">size_t</span> <a class="code" href="structLineBreakPropertiesLang.html#b5132ed92c5964a5cfecbb21de206488" title="Length of name to match.">namelen</a>;
<a name="l00126"></a><a class="code" href="structLineBreakPropertiesLang.html#e4b7339a372a0ccbf97e380aa440ff9d">00126</a> <span class="keyword">struct </span><a class="code" href="structLineBreakProperties.html" title="Struct for entries of line break properties.">LineBreakProperties</a> *<a class="code" href="structLineBreakPropertiesLang.html#e4b7339a372a0ccbf97e380aa440ff9d" title="Pointer to associated data.">lbp</a>;
<a name="l00127"></a>00127 };
<a name="l00128"></a>00128
<a name="l00133"></a><a class="code" href="linebreakdef_8h.html#d76de249e1f8334f318f9ee97ccc77c3">00133</a> <span class="keyword">typedef</span> <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> (*<a class="code" href="linebreakdef_8h.html#d76de249e1f8334f318f9ee97ccc77c3" title="Abstract function interface for get_next_char_utf8, get_next_char_utf16, and get_next_char_utf32...">get_next_char_t</a>)(<span class="keyword">const</span> <span class="keywordtype">void</span> *, size_t, <span class="keywordtype">size_t</span> *);
<a name="l00134"></a>00134
<a name="l00135"></a>00135 <span class="comment">/* Declarations */</span>
<a name="l00136"></a>00136 <span class="keyword">extern</span> <span class="keyword">struct </span><a class="code" href="structLineBreakProperties.html" title="Struct for entries of line break properties.">LineBreakProperties</a> <a class="code" href="linebreakdata_8c.html#bbd8c6b6e4e1c8ad2da83f23f81ac29a" title="Default line breaking properties as from the Unicode Web site.">lb_prop_default</a>[];
<a name="l00137"></a>00137 <span class="keyword">extern</span> <span class="keyword">struct </span><a class="code" href="structLineBreakPropertiesLang.html" title="Struct for association of language-specific line breaking properties with language...">LineBreakPropertiesLang</a> <a class="code" href="linebreakdef_8c.html#82efdfa4115828df9158e183f1a9983d" title="Association data of language-specific line breaking properties with language names...">lb_prop_lang_map</a>[];
<a name="l00138"></a>00138
<a name="l00139"></a>00139 <span class="comment">/* Function Prototypes */</span>
<a name="l00140"></a>00140
<a name="l00153"></a>00153 <span class="keywordtype">void</span> <a class="code" href="linebreak_8c.html#0e86da0f08579bd9bfeb437f5fab15fe" title="Sets the line breaking information for a generic input string.">set_linebreaks</a>(
<a name="l00154"></a>00154 <span class="keyword">const</span> <span class="keywordtype">void</span> *s,
<a name="l00155"></a>00155 <span class="keywordtype">size_t</span> len,
<a name="l00156"></a>00156 <span class="keyword">const</span> <span class="keywordtype">char</span> *<a class="code" href="structLineBreakPropertiesLang.html#e961b49d11e272adc590cf06e9f6100d" title="Language name.">lang</a>,
<a name="l00157"></a>00157 <span class="keywordtype">char</span> *brks,
<a name="l00158"></a>00158 <a class="code" href="linebreakdef_8h.html#d76de249e1f8334f318f9ee97ccc77c3" title="Abstract function interface for get_next_char_utf8, get_next_char_utf16, and get_next_char_utf32...">get_next_char_t</a> get_next_char);
<a name="l00159"></a>00159
<a name="l00160"></a>00160 <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="linebreak_8c.html#d6e67ab4880e304d6ac730d545027a7f" title="Gets the next Unicode character in a UTF-8 sequence.">get_next_char_utf8</a>(<span class="keyword">const</span> <a class="code" href="linebreak_8h.html#6103b2105588f239c593e779e605038a" title="Type for UTF-8 data points.">utf8_t</a> *s, <span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> *ip);
<a name="l00161"></a>00161 <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="linebreak_8c.html#1358bfc18e5c58f3bf86d41da9915964" title="Gets the next Unicode character in a UTF-16 sequence.">get_next_char_utf16</a>(<span class="keyword">const</span> <a class="code" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c" title="Type for UTF-16 data points.">utf16_t</a> *s, <span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> *ip);
<a name="l00162"></a>00162 <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> <a class="code" href="linebreak_8c.html#b436dc6eadd1cfe258159ac671798653" title="Gets the next Unicode character in a UTF-32 sequence.">get_next_char_utf32</a>(<span class="keyword">const</span> <a class="code" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25" title="Type for UTF-32 data points.">utf32_t</a> *s, <span class="keywordtype">size_t</span> len, <span class="keywordtype">size_t</span> *ip);
</pre></div></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>

View file

@ -1,28 +0,0 @@
<!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: Page Index</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 class="current"><a href="pages.html"><span>Related&nbsp;Pages</span></a></li>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>Related Pages</h1>Here is a list of all related documentation pages:<ul>
<li><a class="el" href="deprecated.html">Deprecated List</a>
</ul>
</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>

View file

@ -1,106 +0,0 @@
<!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: LineBreakProperties Struct 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 class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>LineBreakProperties Struct Reference</h1><!-- doxytag: class="LineBreakProperties" -->Struct for entries of line break properties.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></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="structLineBreakProperties.html#1fe368ff9b53f52305c8dca687395372">start</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Starting coding point. <a href="#1fe368ff9b53f52305c8dca687395372"></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="structLineBreakProperties.html#f6ff463e88f6c694661aa10222404a14">end</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End coding point. <a href="#f6ff463e88f6c694661aa10222404a14"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakProperties.html#46d34ea3f514f8f082d92a441a6665ba">prop</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">The line breaking property. <a href="#46d34ea3f514f8f082d92a441a6665ba"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Struct for entries of line break properties.
<p>
The array of the entries <em>must</em> be sorted. <hr><h2>Field Documentation</h2>
<a class="anchor" name="f6ff463e88f6c694661aa10222404a14"></a><!-- doxytag: member="LineBreakProperties::end" ref="f6ff463e88f6c694661aa10222404a14" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a> <a class="el" href="structLineBreakProperties.html#f6ff463e88f6c694661aa10222404a14">LineBreakProperties::end</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
End coding point.
<p>
</div>
</div><p>
<a class="anchor" name="46d34ea3f514f8f082d92a441a6665ba"></a><!-- doxytag: member="LineBreakProperties::prop" ref="46d34ea3f514f8f082d92a441a6665ba" 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> <a class="el" href="structLineBreakProperties.html#46d34ea3f514f8f082d92a441a6665ba">LineBreakProperties::prop</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
The line breaking property.
<p>
</div>
</div><p>
<a class="anchor" name="1fe368ff9b53f52305c8dca687395372"></a><!-- doxytag: member="LineBreakProperties::start" ref="1fe368ff9b53f52305c8dca687395372" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a> <a class="el" href="structLineBreakProperties.html#1fe368ff9b53f52305c8dca687395372">LineBreakProperties::start</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Starting coding point.
<p>
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a></ul>
</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>

View file

@ -1,82 +0,0 @@
<!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: LineBreakPropertiesIndex Struct 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 class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>LineBreakPropertiesIndex Struct Reference</h1><!-- doxytag: class="LineBreakPropertiesIndex" -->Struct for the second-level index to the line breaking properties.
<a href="#_details">More...</a>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></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="structLineBreakPropertiesIndex.html#7a5207276632f772309f8cf2877c9eae">end</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">End coding point. <a href="#7a5207276632f772309f8cf2877c9eae"></a><br></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="structLineBreakPropertiesIndex.html#de56f82faa0703e4eafddb0fc4ba6528">lbp</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to line breaking properties. <a href="#de56f82faa0703e4eafddb0fc4ba6528"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Struct for the second-level index to the line breaking properties. <hr><h2>Field Documentation</h2>
<a class="anchor" name="7a5207276632f772309f8cf2877c9eae"></a><!-- doxytag: member="LineBreakPropertiesIndex::end" ref="7a5207276632f772309f8cf2877c9eae" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a> <a class="el" href="structLineBreakPropertiesIndex.html#7a5207276632f772309f8cf2877c9eae">LineBreakPropertiesIndex::end</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
End coding point.
<p>
</div>
</div><p>
<a class="anchor" name="de56f82faa0703e4eafddb0fc4ba6528"></a><!-- doxytag: member="LineBreakPropertiesIndex::lbp" ref="de56f82faa0703e4eafddb0fc4ba6528" 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="structLineBreakPropertiesIndex.html#de56f82faa0703e4eafddb0fc4ba6528">LineBreakPropertiesIndex::lbp</a><code> [read]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Pointer to line breaking properties.
<p>
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="linebreak_8c.html">linebreak.c</a></ul>
</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>

View file

@ -1,104 +0,0 @@
<!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: LineBreakPropertiesLang Struct 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 class="current"><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div class="tabs">
<ul>
<li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
<li><a href="classes.html"><span>Data&nbsp;Structure&nbsp;Index</span></a></li>
<li><a href="functions.html"><span>Data&nbsp;Fields</span></a></li>
</ul>
</div>
</div>
<div class="contents">
<h1>LineBreakPropertiesLang Struct Reference</h1><!-- doxytag: class="LineBreakPropertiesLang" -->Struct for association of language-specific line breaking properties with language names.
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>&gt;</code>
<p>
<table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Fields</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesLang.html#e961b49d11e272adc590cf06e9f6100d">lang</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Language name. <a href="#e961b49d11e272adc590cf06e9f6100d"></a><br></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesLang.html#b5132ed92c5964a5cfecbb21de206488">namelen</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Length of name to match. <a href="#b5132ed92c5964a5cfecbb21de206488"></a><br></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="structLineBreakPropertiesLang.html#e4b7339a372a0ccbf97e380aa440ff9d">lbp</a></td></tr>
<tr><td class="mdescLeft">&nbsp;</td><td class="mdescRight">Pointer to associated data. <a href="#e4b7339a372a0ccbf97e380aa440ff9d"></a><br></td></tr>
</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
Struct for association of language-specific line breaking properties with language names. <hr><h2>Field Documentation</h2>
<a class="anchor" name="e961b49d11e272adc590cf06e9f6100d"></a><!-- doxytag: member="LineBreakPropertiesLang::lang" ref="e961b49d11e272adc590cf06e9f6100d" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">const char* <a class="el" href="structLineBreakPropertiesLang.html#e961b49d11e272adc590cf06e9f6100d">LineBreakPropertiesLang::lang</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Language name.
<p>
</div>
</div><p>
<a class="anchor" name="e4b7339a372a0ccbf97e380aa440ff9d"></a><!-- doxytag: member="LineBreakPropertiesLang::lbp" ref="e4b7339a372a0ccbf97e380aa440ff9d" 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="structLineBreakPropertiesLang.html#e4b7339a372a0ccbf97e380aa440ff9d">LineBreakPropertiesLang::lbp</a><code> [read]</code> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Pointer to associated data.
<p>
</div>
</div><p>
<a class="anchor" name="b5132ed92c5964a5cfecbb21de206488"></a><!-- doxytag: member="LineBreakPropertiesLang::namelen" ref="b5132ed92c5964a5cfecbb21de206488" args="" -->
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">size_t <a class="el" href="structLineBreakPropertiesLang.html#b5132ed92c5964a5cfecbb21de206488">LineBreakPropertiesLang::namelen</a> </td>
</tr>
</table>
</div>
<div class="memdoc">
<p>
Length of name to match.
<p>
</div>
</div><p>
<hr>The documentation for this struct was generated from the following file:<ul>
<li><a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a></ul>
</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>

View file

@ -20,7 +20,7 @@
package org.geometerplus.zlibrary.text.view;
import java.util.*;
//import org.vimgadgets.linebreak.LineBreak;
import org.vimgadgets.linebreak.LineBreak;
import org.geometerplus.zlibrary.core.image.*;
import org.geometerplus.zlibrary.text.model.*;
@ -52,7 +52,6 @@ public final class ZLTextParagraphCursor {
}
void fill() {
//new LineBreak("en");
final ArrayList<ZLTextElement> elements = myElements;
for (ZLTextParagraph.EntryIterator it = myParagraph.iterator(); it.hasNext(); ) {
it.next();
@ -94,6 +93,11 @@ public final class ZLTextParagraphCursor {
private void processTextEntry(final char[] data, final int offset, final int length) {
if (length != 0) {
final LineBreak breaker = new LineBreak("en");
final byte[] breaks = new byte[length];
System.err.println(length);
breaker.setLineBreaks(data, offset, length, breaks);
final ZLTextElement hSpace = ZLTextElement.HSpace;
final int end = offset + length;
int firstNonSpace = -1;

View file

@ -21,12 +21,12 @@ package org.vimgadgets.linebreak;
public final class LineBreak {
static {
System.loadLibrary("linebreak");
System.loadLibrary("LineBreak");
init();
}
private static native void init();
private static native void setLineBreaksForCharArray(char[] data, String lang, byte[] breaks);
private static native void setLineBreaksForCharArray(char[] data, int offset, int length, String lang, byte[] breaks);
private static native void setLineBreaksForString(String data, String lang, byte[] breaks);
private final String myLanguage;
@ -35,8 +35,8 @@ public final class LineBreak {
myLanguage = lang;
}
public void setLineBreaks(char[] data, byte[] breaks) {
setLineBreaksForCharArray(data, myLanguage, breaks);
public void setLineBreaks(char[] data, int offset, int length, byte[] breaks) {
setLineBreaksForCharArray(data, offset, length, myLanguage, breaks);
}
public void setLineBreaks(String data, byte[] breaks) {