mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-05 19:42:17 +02:00
fixed hyperlink processing in epub files
added liblinebreak sources and a stub for java liblinebreak bindings git-svn-id: https://only.mawhrin.net/repos/FBReaderJ/trunk@1002 6a642e6f-84f6-412e-ac94-c4a38d5a04b0
This commit is contained in:
parent
f8435f12d4
commit
76dcfea536
70 changed files with 49274 additions and 32 deletions
9
native/sources/liblinebreak/Android.mk
Normal file
9
native/sources/liblinebreak/Android.mk
Normal file
|
@ -0,0 +1,9 @@
|
|||
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)
|
6
native/sources/liblinebreak/liblinebreak-1.2/AUTHORS
Normal file
6
native/sources/liblinebreak/liblinebreak-1.2/AUTHORS
Normal file
|
@ -0,0 +1,6 @@
|
|||
Wu Yongwei. Designed and implemented liblinebreak.
|
||||
|
||||
Nikolay Pultsin. Put forward the original requirements on liblinebreak,
|
||||
performed tests, and made a lot of suggestions on the initial versions.
|
||||
|
||||
Thomas Klausner. Autoconfiscated and libtoolized liblinebreak.
|
365
native/sources/liblinebreak/liblinebreak-1.2/ChangeLog
Normal file
365
native/sources/liblinebreak/liblinebreak-1.2/ChangeLog
Normal file
|
@ -0,0 +1,365 @@
|
|||
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.
|
||||
|
||||
2009-04-30 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* Doxyfile (USE_WINDOWS_ENCODING): Remove obsolete tag.
|
||||
(DETAILS_AT_TOP): Ditto.
|
||||
(MAX_DOT_GRAPH_WIDTH): Ditto.
|
||||
(MAX_DOT_GRAPH_HEIGHT): Ditto.
|
||||
(REFERENCED_BY_RELATION): Set to `NO'.
|
||||
(REFERENCES_RELATION): Ditto.
|
||||
(EXCLUDE): Add `filter_dup.c'.
|
||||
|
||||
2009-04-29 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>
|
||||
|
||||
* configure.ac (AC_INIT): Increase the version to 1.1.1.
|
||||
|
||||
2009-03-05 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>
|
||||
|
||||
* configure.ac (AC_INIT): Increase the version to 1.1.
|
||||
* Doxyfile (PROJECT_NUMBER): Set to 1.1.
|
||||
* Makefile.am (liblinebreak_la_LDFLAGS): Set the version-info to
|
||||
`1:1'.
|
||||
* NEWS: Add information about the 1.1 release.
|
||||
|
||||
2009-01-29 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* linebreak.h: Copy function documentation comments from the
|
||||
definition to the header file.
|
||||
* linebreakdef.h: Ditto.
|
||||
|
||||
2009-01-29 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Prepare to 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
|
||||
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.
|
||||
|
||||
2009-01-02 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* Makefile.am (EXTRA_DIST): Add the missing `LICENCE' file.
|
||||
|
||||
2008-12-31 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* linebreak.c: Update the version number in comment to 1.0.
|
||||
* linebreak.h: Ditto.
|
||||
* linebreakdef.c: Ditto.
|
||||
* linebreakdef.h: Ditto.
|
||||
|
||||
2008-12-31 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* NEWS: Update for the 1.0 release.
|
||||
|
||||
2008-12-31 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* README: Correct two typos.
|
||||
|
||||
2008-12-31 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* README: Add the online URL reference.
|
||||
|
||||
2008-12-30 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* README: Update the reference to UAX #14-22, for Unicode 5.1.0.
|
||||
|
||||
2008-12-13 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Update files according to UAX #14-22, for Unicode 5.1.0.
|
||||
* linebreak.c (baTable): Update according to Table 2 of UAX #14-22.
|
||||
* linebreakdef.c (lb_prop_Spanish): Remove the unnecessary
|
||||
customization for inverted marks in Spanish.
|
||||
* linebreakdata.c: Regenerate from LineBreak-5.1.0.txt.
|
||||
* linebreak.h: Update comment only.
|
||||
* linebreakdef.h: Ditto.
|
||||
|
||||
2008-12-12 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* README: Update for the new build methods and better readability.
|
||||
|
||||
2008-12-12 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* Makefile.msvc: Correct the inconsistent naming in the output
|
||||
message.
|
||||
|
||||
2008-12-12 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* configure.ac (AM_INIT_AUTOMAKE): Mark `foreign'.
|
||||
* bootstrap: New file.
|
||||
* purge: New file.
|
||||
* Makefile.gcc (purge): Remove this target.
|
||||
|
||||
2008-12-10 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* NEWS: New file.
|
||||
|
||||
2008-12-10 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* AUTHORS: New file.
|
||||
|
||||
2008-12-10 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* Makefile.gcc (purge): New phony target to purge files generated by
|
||||
autoconfiscation.
|
||||
|
||||
2008-12-10 Thomas Klausner <tk@giga.or.at>
|
||||
|
||||
* configure.ac: New file.
|
||||
* Makefile.am: New file.
|
||||
|
||||
2008-12-10 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* Doxyfile (OUTPUT_DIRECTORY): Set to `doc'.
|
||||
(ALPHABETICAL_INDEX): Set to `YES'.
|
||||
|
||||
2008-12-09 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* Makefile.msvc: New file.
|
||||
|
||||
2008-12-09 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* Makefile: Remove (to become Makefile.gcc).
|
||||
* Makefile.gcc: New file (was Makefile).
|
||||
|
||||
2008-12-07 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* linebreak.c: Adjust the comment that refers to Unicode Annex 14.
|
||||
* linebreak.h: Ditto.
|
||||
* linebreakdef.c: Ditto.
|
||||
* linebreakdef.h: Ditto.
|
||||
|
||||
2008-12-07 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Use only POSIX basic regexp to ensure maximum portability (issues
|
||||
have been found on Mac OS X, where GNU extensions do not work).
|
||||
* LineBreak1.sed: Replace `[:xdigit:]' with `0-9A-F', and `\+' with
|
||||
`\{1,\}'.
|
||||
* LineBreak2.sed: Ditto.
|
||||
|
||||
2008-12-07 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* Makefile: Replace `*.exe' with `filter_dup$(EXEEXT)', since the
|
||||
extension `.exe' is specific to Windows.
|
||||
|
||||
2008-04-20 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Add README and LICENCE files, as well as a Doxyfile to generate
|
||||
documents.
|
||||
* README: New file.
|
||||
* LICENCE: New file.
|
||||
* Doxyfile: New file.
|
||||
* Makefile (doc): Add new phony target.
|
||||
|
||||
2008-04-04 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Remove the English override for plus sign: it is better treated in
|
||||
the text breaking program (see ../breaktext/ for an example).
|
||||
* linebreakdef.c (lb_prop_English): Remove the line for plus sign.
|
||||
|
||||
2008-03-29 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* Makefile: Correct the dependency-making rules when OLDGCC=Y.
|
||||
|
||||
2008-03-23 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* Makefile (clean): Do not remove *.exe and tags here.
|
||||
(distclean): Remove *.exe and tags.
|
||||
|
||||
2008-03-23 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Remove the English override for solidus: it is better treated in the
|
||||
text breaking program (see ../breaktext/ for an example).
|
||||
* linebreakdef.c (lb_prop_English): Remove the line for solidus.
|
||||
|
||||
2008-03-16 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Rename init_linebreak_prop_index to init_linebreak for future
|
||||
safety; make visible certain functions that are potentially useful.
|
||||
* linebreak.c (init_linebreak_prop_index): Rename to init_linebreak.
|
||||
(get_next_char_t): Move to linebreakdef.h.
|
||||
(get_next_char_utf8): Make non-static.
|
||||
(get_next_char_utf16): Ditto.
|
||||
(get_next_char_utf32): Ditto.
|
||||
(set_linebreaks): Ditto.
|
||||
* linebreak.h (init_linebreak_prop_index): Rename to init_linebreak.
|
||||
(get_next_char_utf8): Add the function prototype.
|
||||
(get_next_char_utf16): Ditto.
|
||||
(get_next_char_utf32): Ditto.
|
||||
* linebreakdef.h (get_next_char_t): Add the typedef.
|
||||
(set_linebreaks): Add the function prototype.
|
||||
|
||||
2008-03-16 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* Makefile (OLDGCC): Add support for GCC 2.95.3 (when OLDGCC=Y).
|
||||
|
||||
2008-03-15 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* linebreak.c (set_linebreaks): Fix a bug that `==' was wrongly used
|
||||
for `='.
|
||||
|
||||
2008-03-05 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Improve the performance by reducing the look-ups of the
|
||||
language-specific line breaking properties array from the language
|
||||
name (thanks to Nikolay Pultsin).
|
||||
* linebreak.c (get_lb_prop_lang): New function.
|
||||
(get_char_lb_class_lang): Change the second parameter from the
|
||||
language name to the line breaking properties array.
|
||||
(set_linebreaks): Look up the language-specific line breaking
|
||||
properties array from the language name only once in one function
|
||||
call.
|
||||
|
||||
2008-03-03 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Make minor adjustments in code and comments.
|
||||
* linebreak.c: Adjust the doc comments.
|
||||
(init_linebreak_prop_index): Modify a conditional to make it more
|
||||
robust and consistent.
|
||||
* linebreakdef.c (lb_prop_lang_map): Replace the pointer
|
||||
lb_prop_default with NULL, since the value is never used.
|
||||
|
||||
2008-03-03 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Accelerate get_char_lb_class for invalid Unicode code points.
|
||||
* linebreak.c (get_char_lb_class): Adjust the conditionals so that
|
||||
getting the line breaking class for an invalid code point is much
|
||||
faster, which requires the array of line breaking properties be
|
||||
sorted.
|
||||
* linebreakdef.h: Adjust a comment that the array of line break
|
||||
properties must be sorted.
|
||||
|
||||
2008-03-02 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Change the values of enum BreakAction to more complete forms.
|
||||
* linebreak.c (INDRCT_BRK): Rename to INDIRECT_BRK.
|
||||
(CM_INDRCT_BRK): Rename to CM_INDIRECT_BRK.
|
||||
(CM_PROHIBTD_BRK): Rename to CM_PROHIBITED_BRK.
|
||||
(PROHIBTD_BRK): Rename to PROHIBITED_BRK.
|
||||
|
||||
2008-03-02 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Implement a two-stage search in get_char_lb_class_default to
|
||||
accelerate the overall performance, especially for non-Latin
|
||||
languages.
|
||||
* linebreak.c (LINEBREAK_INDEX_SIZE): New constant macro.
|
||||
(struct LineBreakPropertiesIndex): New struct.
|
||||
(lb_prop_index): New static variable.
|
||||
(init_linebreak_prop_index): New function.
|
||||
(get_char_lb_class_default): New function.
|
||||
(get_char_lb_class_lang): Use get_char_lb_class_default.
|
||||
* linebreak.h: Detect C++ and add extern "C" guard if necessary.
|
||||
(init_linebreak_prop_index): Add the prototype declaration.
|
||||
* linebreakdef.h: Adjust a comment.
|
||||
|
||||
2008-03-02 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Split/refactor the code; add (doc) comments.
|
||||
* Makefile (CFILES): Add linebreakdata.c and linebreakdef.c.
|
||||
* linebreak.c: Add and adjust comments.
|
||||
(linebreakdef.h): Add include file.
|
||||
(linebreakdata.c): Remove include file.
|
||||
(EOS): Remove (now in linebreakdef.h).
|
||||
(enum LineBreakClass): Ditto.
|
||||
(struct LineBreakProperties): Ditto.
|
||||
(lbpEnglish): Remove (now in linebreakdef.c as lb_prop_English).
|
||||
(lbpGerman): Remove (now in linebreakdef.c as lb_prop_German).
|
||||
(lbpSpanish): Remove (now in linebreakdef.c as lb_prop_Spanish).
|
||||
(lbpFrench): Remove (now in linebreakdef.c as lb_prop_French).
|
||||
(lbpRussian): Remove (now in linebreakdef.c as lb_prop_Russian).
|
||||
(lbpChinese): Remove (now in linebreakdef.c as lb_prop_Chinese).
|
||||
(struct LineBreakPropertiesLang): Remove (now in linebreakdef.h).
|
||||
(lbpLangs): Remove (now in linebreakdef.c as lb_prop_lang_map).
|
||||
(get_next_char_utf16): Make sure memory access not go beyond len.
|
||||
* linebreak.h: Add copyright information and adjust comments.
|
||||
(stddef.h): Add include file.
|
||||
* linebreakdata.c (linebreak.h): Add include file.
|
||||
(linebreakdef.h): Add include file.
|
||||
(lbpDefault): Make global and rename to lb_prop_default.
|
||||
* linebreakdata2.tmpl: Add two include files, a comment line, and
|
||||
remove `static'.
|
||||
* linebreakdef.c: New file.
|
||||
* linebreakdef.h: New file.
|
||||
|
||||
2008-02-26 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* linebreak.c (lbpSpanish): New array for Spanish-specific data.
|
||||
(lbpLangs): Update the index array for Spanish.
|
||||
(resolve_lb_class): Resolve AmbIguous class to IDeographic in
|
||||
Chinese, Japanese, and Korean.
|
||||
|
||||
2008-02-26 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
* Makefile (LineBreak.txt): Add new rule to retrieve it from the Web
|
||||
if it is not already there.
|
||||
|
||||
2008-02-23 Wu Yongwei <wuyongwei@gmail.com>
|
||||
|
||||
Add files for linebreak.
|
||||
* LineBreak1.sed: New file.
|
||||
* LineBreak2.sed: New file.
|
||||
* Makefile: New file.
|
||||
* filter_dup.c: New file.
|
||||
* linebreak.c: New file.
|
||||
* linebreak.h: New file.
|
||||
* linebreakdata.c: New file.
|
||||
* linebreakdata1.tmpl: New file.
|
||||
* linebreakdata2.tmpl: New file.
|
||||
* linebreakdata3.tmpl: New file.
|
1219
native/sources/liblinebreak/liblinebreak-1.2/Doxyfile
Normal file
1219
native/sources/liblinebreak/liblinebreak-1.2/Doxyfile
Normal file
File diff suppressed because it is too large
Load diff
18
native/sources/liblinebreak/liblinebreak-1.2/LICENCE
Normal file
18
native/sources/liblinebreak/liblinebreak-1.2/LICENCE
Normal file
|
@ -0,0 +1,18 @@
|
|||
Copyright (C) 2008 Wu Yongwei <wuyongwei at gmail dot com>
|
||||
|
||||
This software is provided 'as-is', without any express or implied
|
||||
warranty. In no event will the author be held liable for any damages
|
||||
arising from the use of this software.
|
||||
|
||||
Permission is granted to anyone to use this software for any purpose,
|
||||
including commercial applications, and to alter it and redistribute it
|
||||
freely, subject to the following restrictions:
|
||||
|
||||
1. The origin of this software must not be misrepresented; you must not
|
||||
claim that you wrote the original software. If you use this software
|
||||
in a product, an acknowledgement in the product documentation would
|
||||
be appreciated but is not required.
|
||||
2. Altered source versions must be plainly marked as such, and must not
|
||||
be misrepresented as being the original software.
|
||||
3. This notice may not be removed or altered from any source
|
||||
distribution.
|
|
@ -0,0 +1 @@
|
|||
s/\(^[0-9A-F.]\{1,\};[A-Z][A-Z0-9]\) #.*/\1/p
|
|
@ -0,0 +1,2 @@
|
|||
s/^\([0-9A-F]\{1,\}\);/\1..\1;/
|
||||
s/^\([0-9A-F]\{1,\}\)\.\.\([0-9A-F]\{1,\}\);\([A-Z][A-Z0-9]\)/ { 0x\1, 0x\2, LBP_\3 },/
|
37
native/sources/liblinebreak/liblinebreak-1.2/Makefile.am
Normal file
37
native/sources/liblinebreak/liblinebreak-1.2/Makefile.am
Normal file
|
@ -0,0 +1,37 @@
|
|||
#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_SOURCES = \
|
||||
linebreak.c \
|
||||
linebreakdata.c \
|
||||
linebreakdef.c
|
||||
|
||||
EXTRA_DIST = \
|
||||
LineBreak1.sed \
|
||||
LineBreak2.sed \
|
||||
linebreakdata1.tmpl \
|
||||
linebreakdata2.tmpl \
|
||||
linebreakdata3.tmpl \
|
||||
LICENCE \
|
||||
Doxyfile \
|
||||
Makefile.gcc \
|
||||
Makefile.msvc \
|
||||
doc
|
||||
|
||||
distclean-local:
|
||||
rm -f LineBreak.txt filter_dup${EXEEXT}
|
||||
|
||||
doc:
|
||||
cd ${top_srcdir} && doxygen
|
||||
|
||||
LineBreak.txt:
|
||||
wget http://unicode.org/Public/UNIDATA/LineBreak.txt
|
||||
|
||||
linebreakdata: ${builddir}/filter_dup LineBreak.txt
|
||||
sed -n -f ${top_srcdir}/LineBreak1.sed LineBreak.txt > tmp.txt
|
||||
sed -f ${top_srcdir}/LineBreak2.sed tmp.txt | ${builddir}/filter_dup > tmp.c
|
||||
head -2 LineBreak.txt > tmp.txt
|
||||
cat ${top_srcdir}/linebreakdata1.tmpl tmp.txt ${top_srcdir}/linebreakdata2.tmpl tmp.c ${top_srcdir}/linebreakdata3.tmpl > ${top_srcdir}/linebreakdata.c
|
||||
rm tmp.txt tmp.c
|
162
native/sources/liblinebreak/liblinebreak-1.2/Makefile.gcc
Normal file
162
native/sources/liblinebreak/liblinebreak-1.2/Makefile.gcc
Normal file
|
@ -0,0 +1,162 @@
|
|||
# Windows/Cygwin support
|
||||
ifdef windir
|
||||
WINDOWS := 1
|
||||
CYGWIN := 0
|
||||
else
|
||||
ifdef WINDIR
|
||||
WINDOWS := 1
|
||||
CYGWIN := 1
|
||||
else
|
||||
WINDOWS := 0
|
||||
endif
|
||||
endif
|
||||
ifeq ($(WINDOWS),1)
|
||||
EXEEXT := .exe
|
||||
DLLEXT := .dll
|
||||
DEVNUL := nul
|
||||
ifeq ($(CYGWIN),1)
|
||||
PATHSEP := /
|
||||
else
|
||||
PATHSEP := $(strip \ )
|
||||
endif
|
||||
else
|
||||
EXEEXT :=
|
||||
DLLEXT := .so
|
||||
DEVNUL := /dev/null
|
||||
PATHSEP := /
|
||||
endif
|
||||
|
||||
CFG ?= Debug
|
||||
ifeq ($(CFG),Debug)
|
||||
all: debug
|
||||
else
|
||||
all: release
|
||||
endif
|
||||
|
||||
OLDGCC ?= N
|
||||
|
||||
DEBUG := DebugDir
|
||||
RELEASE := ReleaseDir
|
||||
|
||||
$(DEBUG)/%.o: %.c
|
||||
$(CC) $(CFLAGS) $(CPPFLAGS) $(DBGFLAGS) $(TARGET_ARCH) -c -o $@ $<
|
||||
|
||||
$(RELEASE)/%.o: %.c
|
||||
$(CC) $(CFLAGS) $(CPPFLAGS) $(RELFLAGS) $(TARGET_ARCH) -c -o $@ $<
|
||||
|
||||
$(DEBUG)/%.o: %.cpp
|
||||
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(DBGFLAGS) $(TARGET_ARCH) -c -o $@ $<
|
||||
|
||||
$(RELEASE)/%.o: %.cpp
|
||||
$(CXX) $(CXXFLAGS) $(CPPFLAGS) $(RELFLAGS) $(TARGET_ARCH) -c -o $@ $<
|
||||
|
||||
ifeq ($(OLDGCC),N)
|
||||
|
||||
$(DEBUG)/%.dep: %.c
|
||||
$(CC) -MM -MT $(patsubst %.dep,%.o,$@) $(CFLAGS) $(CPPFLAGS) $(DBGFLAGS) $(TARGET_ARCH) -o $@ $<
|
||||
|
||||
$(RELEASE)/%.dep: %.c
|
||||
$(CC) -MM -MT $(patsubst %.dep,%.o,$@) $(CFLAGS) $(CPPFLAGS) $(RELFLAGS) $(TARGET_ARCH) -o $@ $<
|
||||
|
||||
$(DEBUG)/%.dep: %.cpp
|
||||
$(CXX) -MM -MT $(patsubst %.dep,%.o,$@) $(CXXFLAGS) $(CPPFLAGS) $(DBGFLAGS) $(TARGET_ARCH) -o $@ $<
|
||||
|
||||
$(RELEASE)/%.dep: %.cpp
|
||||
$(CXX) -MM -MT $(patsubst %.dep,%.o,$@) $(CXXFLAGS) $(CPPFLAGS) $(RELFLAGS) $(TARGET_ARCH) -o $@ $<
|
||||
|
||||
else
|
||||
|
||||
$(DEBUG)/%.dep: %.c
|
||||
$(CC) -MM $(CFLAGS) $(CPPFLAGS) $(DBGFLAGS) $(TARGET_ARCH) $< | sed "s!^!$(DEBUG)/!" > $@
|
||||
|
||||
$(RELEASE)/%.dep: %.c
|
||||
$(CC) -MM $(CFLAGS) $(CPPFLAGS) $(RELFLAGS) $(TARGET_ARCH) $< | sed "s!^!$(RELEASE)/!" > $@
|
||||
|
||||
$(DEBUG)/%.dep: %.cpp
|
||||
$(CXX) -MM $(CXXFLAGS) $(CPPFLAGS) $(DBGFLAGS) $(TARGET_ARCH) $< | sed "s!^!$(DEBUG)/!" > $@
|
||||
|
||||
$(RELEASE)/%.dep: %.cpp
|
||||
$(CXX) -MM $(CXXFLAGS) $(CPPFLAGS) $(RELFLAGS) $(TARGET_ARCH) $< | sed "s!^!$(RELEASE)/!" > $@
|
||||
|
||||
endif
|
||||
|
||||
CC = gcc
|
||||
CXX = g++
|
||||
AR = ar
|
||||
LD = $(CXX) $(CXXFLAGS) $(TARGET_ARCH)
|
||||
|
||||
INCLUDE = -I. $(patsubst %,-I%,$(VPATH))
|
||||
CFLAGS = -W -Wall $(INCLUDE)
|
||||
CXXFLAGS = $(CFLAGS)
|
||||
DBGFLAGS = -D_DEBUG -g
|
||||
RELFLAGS = -DNDEBUG -O2
|
||||
CPPFLAGS =
|
||||
|
||||
ifeq ($(OLDGCC),N)
|
||||
CFLAGS += -fmessage-length=0
|
||||
endif
|
||||
|
||||
HFILES = $(wildcard $(patsubst -I%,%/*.h,$(INCLUDE)))
|
||||
OBJFILES = $(CFILES:.c=.o) $(CXXFILES:.cpp=.o)
|
||||
|
||||
DEBUG_OBJS = $(patsubst %.o,$(DEBUG)/%.o,$(OBJFILES))
|
||||
RELEASE_OBJS = $(patsubst %.o,$(RELEASE)/%.o,$(OBJFILES))
|
||||
|
||||
DEBUG_DEPS = $(patsubst %.o,%.dep,$(DEBUG_OBJS))
|
||||
RELEASE_DEPS = $(patsubst %.o,%.dep,$(RELEASE_OBJS))
|
||||
|
||||
CFILES := linebreak.c linebreakdata.c linebreakdef.c
|
||||
CXXFILES :=
|
||||
|
||||
LIBS :=
|
||||
|
||||
TARGET = liblinebreak.a
|
||||
DEBUG_TARGET = $(patsubst %,$(DEBUG)/%,$(TARGET))
|
||||
RELEASE_TARGET = $(patsubst %,$(RELEASE)/%,$(TARGET))
|
||||
|
||||
debug: $(DEBUG) $(DEBUG_TARGET)
|
||||
|
||||
release: $(RELEASE) $(RELEASE_TARGET)
|
||||
|
||||
|
||||
|
||||
$(DEBUG):
|
||||
mkdir $(DEBUG)
|
||||
|
||||
$(RELEASE):
|
||||
mkdir $(RELEASE)
|
||||
|
||||
$(DEBUG_TARGET): $(DEBUG_DEPS) $(DEBUG_OBJS)
|
||||
$(AR) -r $(DEBUG_TARGET) $(DEBUG_OBJS)
|
||||
|
||||
$(RELEASE_TARGET): $(RELEASE_DEPS) $(RELEASE_OBJS)
|
||||
$(AR) -r $(RELEASE_TARGET) $(RELEASE_OBJS)
|
||||
|
||||
doc:
|
||||
doxygen
|
||||
|
||||
linebreakdata: filter_dup$(EXEEXT) LineBreak.txt
|
||||
sed -n -f LineBreak1.sed LineBreak.txt > tmp.txt
|
||||
sed -f LineBreak2.sed tmp.txt | .$(PATHSEP)filter_dup > tmp.c
|
||||
head -2 LineBreak.txt > tmp.txt
|
||||
cat linebreakdata1.tmpl tmp.txt linebreakdata2.tmpl tmp.c linebreakdata3.tmpl > linebreakdata.c
|
||||
$(RM) tmp.txt tmp.c
|
||||
|
||||
filter_dup$(EXEEXT): filter_dup.c
|
||||
gcc -O2 -o filter_dup$(EXEEXT) $<
|
||||
|
||||
LineBreak.txt:
|
||||
wget http://unicode.org/Public/UNIDATA/LineBreak.txt
|
||||
|
||||
.PHONY: all debug release clean distclean doc linebreakdata
|
||||
|
||||
clean:
|
||||
$(RM) $(DEBUG)/*.o $(DEBUG)/*.dep $(DEBUG_TARGET)
|
||||
$(RM) $(RELEASE)/*.o $(RELEASE)/*.dep $(RELEASE_TARGET)
|
||||
|
||||
distclean: clean
|
||||
$(RM) $(DEBUG)/* $(RELEASE)/* filter_dup$(EXEEXT) tags LineBreak.txt
|
||||
-rmdir $(DEBUG) 2> $(DEVNUL)
|
||||
-rmdir $(RELEASE) 2> $(DEVNUL)
|
||||
|
||||
-include $(wildcard $(DEBUG)/*.dep) $(wildcard $(RELEASE)/*.dep)
|
669
native/sources/liblinebreak/liblinebreak-1.2/Makefile.in
Normal file
669
native/sources/liblinebreak/liblinebreak-1.2/Makefile.in
Normal file
|
@ -0,0 +1,669 @@
|
|||
# Makefile.in generated by automake 1.10 from Makefile.am.
|
||||
# @configure_input@
|
||||
|
||||
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
|
||||
# 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
|
||||
# This Makefile.in is free software; the Free Software Foundation
|
||||
# gives unlimited permission to copy and/or distribute it,
|
||||
# with or without modifications, as long as this notice is preserved.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
|
||||
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
|
||||
# PARTICULAR PURPOSE.
|
||||
|
||||
@SET_MAKE@
|
||||
|
||||
|
||||
VPATH = @srcdir@
|
||||
pkgdatadir = $(datadir)/@PACKAGE@
|
||||
pkglibdir = $(libdir)/@PACKAGE@
|
||||
pkgincludedir = $(includedir)/@PACKAGE@
|
||||
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
|
||||
install_sh_DATA = $(install_sh) -c -m 644
|
||||
install_sh_PROGRAM = $(install_sh) -c
|
||||
install_sh_SCRIPT = $(install_sh) -c
|
||||
INSTALL_HEADER = $(INSTALL_DATA)
|
||||
transform = $(program_transform_name)
|
||||
NORMAL_INSTALL = :
|
||||
PRE_INSTALL = :
|
||||
POST_INSTALL = :
|
||||
NORMAL_UNINSTALL = :
|
||||
PRE_UNINSTALL = :
|
||||
POST_UNINSTALL = :
|
||||
build_triplet = @build@
|
||||
host_triplet = @host@
|
||||
subdir = .
|
||||
DIST_COMMON = README $(am__configure_deps) $(include_HEADERS) \
|
||||
$(srcdir)/Makefile.am $(srcdir)/Makefile.in \
|
||||
$(srcdir)/config.h.in $(top_srcdir)/configure AUTHORS \
|
||||
ChangeLog NEWS config.guess config.sub depcomp install-sh \
|
||||
ltmain.sh missing
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
am__aclocal_m4_deps = $(top_srcdir)/configure.ac
|
||||
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
|
||||
$(ACLOCAL_M4)
|
||||
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
|
||||
configure.lineno config.status.lineno
|
||||
mkinstalldirs = $(install_sh) -d
|
||||
CONFIG_HEADER = config.h
|
||||
CONFIG_CLEAN_FILES =
|
||||
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
|
||||
am__vpath_adj = case $$p in \
|
||||
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
|
||||
*) f=$$p;; \
|
||||
esac;
|
||||
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
|
||||
am__installdirs = "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"
|
||||
libLTLIBRARIES_INSTALL = $(INSTALL)
|
||||
LTLIBRARIES = $(lib_LTLIBRARIES)
|
||||
liblinebreak_la_LIBADD =
|
||||
am_liblinebreak_la_OBJECTS = linebreak.lo linebreakdata.lo \
|
||||
linebreakdef.lo
|
||||
liblinebreak_la_OBJECTS = $(am_liblinebreak_la_OBJECTS)
|
||||
liblinebreak_la_LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) \
|
||||
$(LIBTOOLFLAGS) --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
|
||||
$(liblinebreak_la_LDFLAGS) $(LDFLAGS) -o $@
|
||||
DEFAULT_INCLUDES = -I.@am__isrc@
|
||||
depcomp = $(SHELL) $(top_srcdir)/depcomp
|
||||
am__depfiles_maybe = depfiles
|
||||
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
|
||||
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
LTCOMPILE = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||
--mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
|
||||
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
|
||||
CCLD = $(CC)
|
||||
LINK = $(LIBTOOL) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) \
|
||||
--mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) $(AM_LDFLAGS) \
|
||||
$(LDFLAGS) -o $@
|
||||
SOURCES = $(liblinebreak_la_SOURCES)
|
||||
DIST_SOURCES = $(liblinebreak_la_SOURCES)
|
||||
includeHEADERS_INSTALL = $(INSTALL_HEADER)
|
||||
HEADERS = $(include_HEADERS)
|
||||
ETAGS = etags
|
||||
CTAGS = ctags
|
||||
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
|
||||
distdir = $(PACKAGE)-$(VERSION)
|
||||
top_distdir = $(distdir)
|
||||
am__remove_distdir = \
|
||||
{ test ! -d $(distdir) \
|
||||
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
|
||||
&& rm -fr $(distdir); }; }
|
||||
DIST_ARCHIVES = $(distdir).tar.gz
|
||||
GZIP_ENV = --best
|
||||
distuninstallcheck_listfiles = find . -type f -print
|
||||
distcleancheck_listfiles = find . -type f -print
|
||||
ACLOCAL = @ACLOCAL@
|
||||
AMTAR = @AMTAR@
|
||||
AR = @AR@
|
||||
AUTOCONF = @AUTOCONF@
|
||||
AUTOHEADER = @AUTOHEADER@
|
||||
AUTOMAKE = @AUTOMAKE@
|
||||
AWK = @AWK@
|
||||
CC = @CC@
|
||||
CCDEPMODE = @CCDEPMODE@
|
||||
CFLAGS = @CFLAGS@
|
||||
CPP = @CPP@
|
||||
CPPFLAGS = @CPPFLAGS@
|
||||
CXX = @CXX@
|
||||
CXXCPP = @CXXCPP@
|
||||
CXXDEPMODE = @CXXDEPMODE@
|
||||
CXXFLAGS = @CXXFLAGS@
|
||||
CYGPATH_W = @CYGPATH_W@
|
||||
DEFS = @DEFS@
|
||||
DEPDIR = @DEPDIR@
|
||||
ECHO = @ECHO@
|
||||
ECHO_C = @ECHO_C@
|
||||
ECHO_N = @ECHO_N@
|
||||
ECHO_T = @ECHO_T@
|
||||
EGREP = @EGREP@
|
||||
EXEEXT = @EXEEXT@
|
||||
F77 = @F77@
|
||||
FFLAGS = @FFLAGS@
|
||||
GREP = @GREP@
|
||||
INSTALL = @INSTALL@
|
||||
INSTALL_DATA = @INSTALL_DATA@
|
||||
INSTALL_PROGRAM = @INSTALL_PROGRAM@
|
||||
INSTALL_SCRIPT = @INSTALL_SCRIPT@
|
||||
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
|
||||
LDFLAGS = @LDFLAGS@
|
||||
LIBOBJS = @LIBOBJS@
|
||||
LIBS = @LIBS@
|
||||
LIBTOOL = @LIBTOOL@
|
||||
LN_S = @LN_S@
|
||||
LTLIBOBJS = @LTLIBOBJS@
|
||||
MAKEINFO = @MAKEINFO@
|
||||
MKDIR_P = @MKDIR_P@
|
||||
OBJEXT = @OBJEXT@
|
||||
PACKAGE = @PACKAGE@
|
||||
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
|
||||
PACKAGE_NAME = @PACKAGE_NAME@
|
||||
PACKAGE_STRING = @PACKAGE_STRING@
|
||||
PACKAGE_TARNAME = @PACKAGE_TARNAME@
|
||||
PACKAGE_VERSION = @PACKAGE_VERSION@
|
||||
PATH_SEPARATOR = @PATH_SEPARATOR@
|
||||
RANLIB = @RANLIB@
|
||||
SET_MAKE = @SET_MAKE@
|
||||
SHELL = @SHELL@
|
||||
STRIP = @STRIP@
|
||||
VERSION = @VERSION@
|
||||
abs_builddir = @abs_builddir@
|
||||
abs_srcdir = @abs_srcdir@
|
||||
abs_top_builddir = @abs_top_builddir@
|
||||
abs_top_srcdir = @abs_top_srcdir@
|
||||
ac_ct_CC = @ac_ct_CC@
|
||||
ac_ct_CXX = @ac_ct_CXX@
|
||||
ac_ct_F77 = @ac_ct_F77@
|
||||
am__include = @am__include@
|
||||
am__leading_dot = @am__leading_dot@
|
||||
am__quote = @am__quote@
|
||||
am__tar = @am__tar@
|
||||
am__untar = @am__untar@
|
||||
bindir = @bindir@
|
||||
build = @build@
|
||||
build_alias = @build_alias@
|
||||
build_cpu = @build_cpu@
|
||||
build_os = @build_os@
|
||||
build_vendor = @build_vendor@
|
||||
builddir = @builddir@
|
||||
datadir = @datadir@
|
||||
datarootdir = @datarootdir@
|
||||
docdir = @docdir@
|
||||
dvidir = @dvidir@
|
||||
exec_prefix = @exec_prefix@
|
||||
host = @host@
|
||||
host_alias = @host_alias@
|
||||
host_cpu = @host_cpu@
|
||||
host_os = @host_os@
|
||||
host_vendor = @host_vendor@
|
||||
htmldir = @htmldir@
|
||||
includedir = @includedir@
|
||||
infodir = @infodir@
|
||||
install_sh = @install_sh@
|
||||
libdir = @libdir@
|
||||
libexecdir = @libexecdir@
|
||||
localedir = @localedir@
|
||||
localstatedir = @localstatedir@
|
||||
mandir = @mandir@
|
||||
mkdir_p = @mkdir_p@
|
||||
oldincludedir = @oldincludedir@
|
||||
pdfdir = @pdfdir@
|
||||
prefix = @prefix@
|
||||
program_transform_name = @program_transform_name@
|
||||
psdir = @psdir@
|
||||
sbindir = @sbindir@
|
||||
sharedstatedir = @sharedstatedir@
|
||||
srcdir = @srcdir@
|
||||
sysconfdir = @sysconfdir@
|
||||
target_alias = @target_alias@
|
||||
top_builddir = @top_builddir@
|
||||
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_SOURCES = \
|
||||
linebreak.c \
|
||||
linebreakdata.c \
|
||||
linebreakdef.c
|
||||
|
||||
EXTRA_DIST = \
|
||||
LineBreak1.sed \
|
||||
LineBreak2.sed \
|
||||
linebreakdata1.tmpl \
|
||||
linebreakdata2.tmpl \
|
||||
linebreakdata3.tmpl \
|
||||
LICENCE \
|
||||
Doxyfile \
|
||||
Makefile.gcc \
|
||||
Makefile.msvc \
|
||||
doc
|
||||
|
||||
all: config.h
|
||||
$(MAKE) $(AM_MAKEFLAGS) all-am
|
||||
|
||||
.SUFFIXES:
|
||||
.SUFFIXES: .c .lo .o .obj
|
||||
am--refresh:
|
||||
@:
|
||||
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
|
||||
@for dep in $?; do \
|
||||
case '$(am__configure_deps)' in \
|
||||
*$$dep*) \
|
||||
echo ' cd $(srcdir) && $(AUTOMAKE) --foreign '; \
|
||||
cd $(srcdir) && $(AUTOMAKE) --foreign \
|
||||
&& exit 0; \
|
||||
exit 1;; \
|
||||
esac; \
|
||||
done; \
|
||||
echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign Makefile'; \
|
||||
cd $(top_srcdir) && \
|
||||
$(AUTOMAKE) --foreign Makefile
|
||||
.PRECIOUS: Makefile
|
||||
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
|
||||
@case '$?' in \
|
||||
*config.status*) \
|
||||
echo ' $(SHELL) ./config.status'; \
|
||||
$(SHELL) ./config.status;; \
|
||||
*) \
|
||||
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
|
||||
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
|
||||
esac;
|
||||
|
||||
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
|
||||
$(SHELL) ./config.status --recheck
|
||||
|
||||
$(top_srcdir)/configure: $(am__configure_deps)
|
||||
cd $(srcdir) && $(AUTOCONF)
|
||||
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
|
||||
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
|
||||
|
||||
config.h: stamp-h1
|
||||
@if test ! -f $@; then \
|
||||
rm -f stamp-h1; \
|
||||
$(MAKE) $(AM_MAKEFLAGS) stamp-h1; \
|
||||
else :; fi
|
||||
|
||||
stamp-h1: $(srcdir)/config.h.in $(top_builddir)/config.status
|
||||
@rm -f stamp-h1
|
||||
cd $(top_builddir) && $(SHELL) ./config.status config.h
|
||||
$(srcdir)/config.h.in: $(am__configure_deps)
|
||||
cd $(top_srcdir) && $(AUTOHEADER)
|
||||
rm -f stamp-h1
|
||||
touch $@
|
||||
|
||||
distclean-hdr:
|
||||
-rm -f config.h stamp-h1
|
||||
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(libdir)" || $(MKDIR_P) "$(DESTDIR)$(libdir)"
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
if test -f $$p; then \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
|
||||
$(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
|
||||
else :; fi; \
|
||||
done
|
||||
|
||||
uninstall-libLTLIBRARIES:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
p=$(am__strip_dir) \
|
||||
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
|
||||
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
|
||||
done
|
||||
|
||||
clean-libLTLIBRARIES:
|
||||
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
|
||||
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
|
||||
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
|
||||
test "$$dir" != "$$p" || dir=.; \
|
||||
echo "rm -f \"$${dir}/so_locations\""; \
|
||||
rm -f "$${dir}/so_locations"; \
|
||||
done
|
||||
liblinebreak.la: $(liblinebreak_la_OBJECTS) $(liblinebreak_la_DEPENDENCIES)
|
||||
$(liblinebreak_la_LINK) -rpath $(libdir) $(liblinebreak_la_OBJECTS) $(liblinebreak_la_LIBADD) $(LIBS)
|
||||
|
||||
mostlyclean-compile:
|
||||
-rm -f *.$(OBJEXT)
|
||||
|
||||
distclean-compile:
|
||||
-rm -f *.tab.c
|
||||
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linebreak.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linebreakdata.Plo@am__quote@
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/linebreakdef.Plo@am__quote@
|
||||
|
||||
.c.o:
|
||||
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c $<
|
||||
|
||||
.c.obj:
|
||||
@am__fastdepCC_TRUE@ $(COMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ `$(CYGPATH_W) '$<'`
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(COMPILE) -c `$(CYGPATH_W) '$<'`
|
||||
|
||||
.c.lo:
|
||||
@am__fastdepCC_TRUE@ $(LTCOMPILE) -MT $@ -MD -MP -MF $(DEPDIR)/$*.Tpo -c -o $@ $<
|
||||
@am__fastdepCC_TRUE@ mv -f $(DEPDIR)/$*.Tpo $(DEPDIR)/$*.Plo
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(LTCOMPILE) -c -o $@ $<
|
||||
|
||||
mostlyclean-libtool:
|
||||
-rm -f *.lo
|
||||
|
||||
clean-libtool:
|
||||
-rm -rf .libs _libs
|
||||
|
||||
distclean-libtool:
|
||||
-rm -f libtool
|
||||
install-includeHEADERS: $(include_HEADERS)
|
||||
@$(NORMAL_INSTALL)
|
||||
test -z "$(includedir)" || $(MKDIR_P) "$(DESTDIR)$(includedir)"
|
||||
@list='$(include_HEADERS)'; for p in $$list; do \
|
||||
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
|
||||
f=$(am__strip_dir) \
|
||||
echo " $(includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(includedir)/$$f'"; \
|
||||
$(includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(includedir)/$$f"; \
|
||||
done
|
||||
|
||||
uninstall-includeHEADERS:
|
||||
@$(NORMAL_UNINSTALL)
|
||||
@list='$(include_HEADERS)'; for p in $$list; do \
|
||||
f=$(am__strip_dir) \
|
||||
echo " rm -f '$(DESTDIR)$(includedir)/$$f'"; \
|
||||
rm -f "$(DESTDIR)$(includedir)/$$f"; \
|
||||
done
|
||||
|
||||
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
|
||||
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
mkid -fID $$unique
|
||||
tags: TAGS
|
||||
|
||||
TAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
|
||||
test -n "$$unique" || unique=$$empty_fix; \
|
||||
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
|
||||
$$tags $$unique; \
|
||||
fi
|
||||
ctags: CTAGS
|
||||
CTAGS: $(HEADERS) $(SOURCES) config.h.in $(TAGS_DEPENDENCIES) \
|
||||
$(TAGS_FILES) $(LISP)
|
||||
tags=; \
|
||||
here=`pwd`; \
|
||||
list='$(SOURCES) $(HEADERS) config.h.in $(LISP) $(TAGS_FILES)'; \
|
||||
unique=`for i in $$list; do \
|
||||
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
|
||||
done | \
|
||||
$(AWK) ' { files[$$0] = 1; } \
|
||||
END { for (i in files) print i; }'`; \
|
||||
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|
||||
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
|
||||
$$tags $$unique
|
||||
|
||||
GTAGS:
|
||||
here=`$(am__cd) $(top_builddir) && pwd` \
|
||||
&& cd $(top_srcdir) \
|
||||
&& gtags -i $(GTAGS_ARGS) $$here
|
||||
|
||||
distclean-tags:
|
||||
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
|
||||
|
||||
distdir: $(DISTFILES)
|
||||
$(am__remove_distdir)
|
||||
test -d $(distdir) || mkdir $(distdir)
|
||||
@srcdirstrip=`echo "$(srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's/[].[^$$\\*]/\\\\&/g'`; \
|
||||
list='$(DISTFILES)'; \
|
||||
dist_files=`for file in $$list; do echo $$file; done | \
|
||||
sed -e "s|^$$srcdirstrip/||;t" \
|
||||
-e "s|^$$topsrcdirstrip/|$(top_builddir)/|;t"`; \
|
||||
case $$dist_files in \
|
||||
*/*) $(MKDIR_P) `echo "$$dist_files" | \
|
||||
sed '/\//!d;s|^|$(distdir)/|;s,/[^/]*$$,,' | \
|
||||
sort -u` ;; \
|
||||
esac; \
|
||||
for file in $$dist_files; do \
|
||||
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
|
||||
if test -d $$d/$$file; then \
|
||||
dir=`echo "/$$file" | sed -e 's,/[^/]*$$,,'`; \
|
||||
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
|
||||
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
|
||||
fi; \
|
||||
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
|
||||
else \
|
||||
test -f $(distdir)/$$file \
|
||||
|| cp -p $$d/$$file $(distdir)/$$file \
|
||||
|| exit 1; \
|
||||
fi; \
|
||||
done
|
||||
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
|
||||
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
|
||||
! -type d ! -perm -444 -exec $(install_sh) -c -m a+r {} {} \; \
|
||||
|| chmod -R a+r $(distdir)
|
||||
dist-gzip: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-bzip2: distdir
|
||||
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-tarZ: distdir
|
||||
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-shar: distdir
|
||||
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist-zip: distdir
|
||||
-rm -f $(distdir).zip
|
||||
zip -rq $(distdir).zip $(distdir)
|
||||
$(am__remove_distdir)
|
||||
|
||||
dist dist-all: distdir
|
||||
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
|
||||
$(am__remove_distdir)
|
||||
|
||||
# This target untars the dist file and tries a VPATH configuration. Then
|
||||
# it guarantees that the distribution is self-contained by making another
|
||||
# tarfile.
|
||||
distcheck: dist
|
||||
case '$(DIST_ARCHIVES)' in \
|
||||
*.tar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
|
||||
*.tar.bz2*) \
|
||||
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
|
||||
*.tar.Z*) \
|
||||
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
|
||||
*.shar.gz*) \
|
||||
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
|
||||
*.zip*) \
|
||||
unzip $(distdir).zip ;;\
|
||||
esac
|
||||
chmod -R a-w $(distdir); chmod a+w $(distdir)
|
||||
mkdir $(distdir)/_build
|
||||
mkdir $(distdir)/_inst
|
||||
chmod a-w $(distdir)
|
||||
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
|
||||
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
|
||||
&& cd $(distdir)/_build \
|
||||
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
|
||||
$(DISTCHECK_CONFIGURE_FLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) check \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
|
||||
distuninstallcheck \
|
||||
&& chmod -R a-w "$$dc_install_base" \
|
||||
&& ({ \
|
||||
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
|
||||
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
|
||||
} || { rm -rf "$$dc_destdir"; exit 1; }) \
|
||||
&& rm -rf "$$dc_destdir" \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) dist \
|
||||
&& rm -rf $(DIST_ARCHIVES) \
|
||||
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
|
||||
$(am__remove_distdir)
|
||||
@(echo "$(distdir) archives ready for distribution: "; \
|
||||
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
|
||||
sed -e 1h -e 1s/./=/g -e 1p -e 1x -e '$$p' -e '$$x'
|
||||
distuninstallcheck:
|
||||
@cd $(distuninstallcheck_dir) \
|
||||
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|
||||
|| { echo "ERROR: files left after uninstall:" ; \
|
||||
if test -n "$(DESTDIR)"; then \
|
||||
echo " (check DESTDIR support)"; \
|
||||
fi ; \
|
||||
$(distuninstallcheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
distcleancheck: distclean
|
||||
@if test '$(srcdir)' = . ; then \
|
||||
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
|
||||
exit 1 ; \
|
||||
fi
|
||||
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|
||||
|| { echo "ERROR: files left in build directory after distclean:" ; \
|
||||
$(distcleancheck_listfiles) ; \
|
||||
exit 1; } >&2
|
||||
check-am: all-am
|
||||
check: check-am
|
||||
all-am: Makefile $(LTLIBRARIES) $(HEADERS) config.h
|
||||
installdirs:
|
||||
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(includedir)"; do \
|
||||
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
|
||||
done
|
||||
install: install-am
|
||||
install-exec: install-exec-am
|
||||
install-data: install-data-am
|
||||
uninstall: uninstall-am
|
||||
|
||||
install-am: all-am
|
||||
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
|
||||
|
||||
installcheck: installcheck-am
|
||||
install-strip:
|
||||
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
|
||||
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
|
||||
`test -z '$(STRIP)' || \
|
||||
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
|
||||
mostlyclean-generic:
|
||||
|
||||
clean-generic:
|
||||
|
||||
distclean-generic:
|
||||
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
|
||||
|
||||
maintainer-clean-generic:
|
||||
@echo "This command is intended for maintainers to use"
|
||||
@echo "it deletes files that may require special tools to rebuild."
|
||||
clean: clean-am
|
||||
|
||||
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
|
||||
mostlyclean-am
|
||||
|
||||
distclean: distclean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
distclean-am: clean-am distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-local distclean-tags
|
||||
|
||||
dvi: dvi-am
|
||||
|
||||
dvi-am:
|
||||
|
||||
html: html-am
|
||||
|
||||
info: info-am
|
||||
|
||||
info-am:
|
||||
|
||||
install-data-am: install-includeHEADERS
|
||||
|
||||
install-dvi: install-dvi-am
|
||||
|
||||
install-exec-am: install-libLTLIBRARIES
|
||||
|
||||
install-html: install-html-am
|
||||
|
||||
install-info: install-info-am
|
||||
|
||||
install-man:
|
||||
|
||||
install-pdf: install-pdf-am
|
||||
|
||||
install-ps: install-ps-am
|
||||
|
||||
installcheck-am:
|
||||
|
||||
maintainer-clean: maintainer-clean-am
|
||||
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
|
||||
-rm -rf $(top_srcdir)/autom4te.cache
|
||||
-rm -rf ./$(DEPDIR)
|
||||
-rm -f Makefile
|
||||
maintainer-clean-am: distclean-am maintainer-clean-generic
|
||||
|
||||
mostlyclean: mostlyclean-am
|
||||
|
||||
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
|
||||
mostlyclean-libtool
|
||||
|
||||
pdf: pdf-am
|
||||
|
||||
pdf-am:
|
||||
|
||||
ps: ps-am
|
||||
|
||||
ps-am:
|
||||
|
||||
uninstall-am: uninstall-includeHEADERS uninstall-libLTLIBRARIES
|
||||
|
||||
.MAKE: install-am install-strip
|
||||
|
||||
.PHONY: CTAGS GTAGS all all-am am--refresh check check-am clean \
|
||||
clean-generic clean-libLTLIBRARIES clean-libtool ctags dist \
|
||||
dist-all dist-bzip2 dist-gzip dist-shar dist-tarZ dist-zip \
|
||||
distcheck distclean distclean-compile distclean-generic \
|
||||
distclean-hdr distclean-libtool distclean-local distclean-tags \
|
||||
distcleancheck distdir distuninstallcheck dvi dvi-am html \
|
||||
html-am info info-am install install-am install-data \
|
||||
install-data-am install-dvi install-dvi-am install-exec \
|
||||
install-exec-am install-html install-html-am \
|
||||
install-includeHEADERS install-info install-info-am \
|
||||
install-libLTLIBRARIES install-man install-pdf install-pdf-am \
|
||||
install-ps install-ps-am install-strip installcheck \
|
||||
installcheck-am installdirs maintainer-clean \
|
||||
maintainer-clean-generic mostlyclean mostlyclean-compile \
|
||||
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
|
||||
tags uninstall uninstall-am uninstall-includeHEADERS \
|
||||
uninstall-libLTLIBRARIES
|
||||
|
||||
|
||||
distclean-local:
|
||||
rm -f LineBreak.txt filter_dup${EXEEXT}
|
||||
|
||||
doc:
|
||||
cd ${top_srcdir} && doxygen
|
||||
|
||||
LineBreak.txt:
|
||||
wget http://unicode.org/Public/UNIDATA/LineBreak.txt
|
||||
|
||||
linebreakdata: ${builddir}/filter_dup LineBreak.txt
|
||||
sed -n -f ${top_srcdir}/LineBreak1.sed LineBreak.txt > tmp.txt
|
||||
sed -f ${top_srcdir}/LineBreak2.sed tmp.txt | ${builddir}/filter_dup > tmp.c
|
||||
head -2 LineBreak.txt > tmp.txt
|
||||
cat ${top_srcdir}/linebreakdata1.tmpl tmp.txt ${top_srcdir}/linebreakdata2.tmpl tmp.c ${top_srcdir}/linebreakdata3.tmpl > ${top_srcdir}/linebreakdata.c
|
||||
rm tmp.txt tmp.c
|
||||
# Tell versions [3.59,3.63) of GNU make to not export all variables.
|
||||
# Otherwise a system limit (for SysV at least) may be exceeded.
|
||||
.NOEXPORT:
|
173
native/sources/liblinebreak/liblinebreak-1.2/Makefile.msvc
Normal file
173
native/sources/liblinebreak/liblinebreak-1.2/Makefile.msvc
Normal file
|
@ -0,0 +1,173 @@
|
|||
# Makefile for Microsoft Visual C++ and NMAKE
|
||||
|
||||
!IF "$(CFG)" == ""
|
||||
CFG=linebreak - Win32 Debug
|
||||
!MESSAGE No configuration specified. Defaulting to linebreak - Win32 Debug.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(CFG)" != "linebreak - Win32 Release" && "$(CFG)" != "linebreak - Win32 Debug"
|
||||
!MESSAGE Invalid configuration "$(CFG)" specified.
|
||||
!MESSAGE You can specify a configuration when running NMAKE
|
||||
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||
!MESSAGE
|
||||
!MESSAGE NMAKE /f Makefile.msvc CFG="linebreak - Win32 Debug"
|
||||
!MESSAGE
|
||||
!MESSAGE Possible choices for configuration are:
|
||||
!MESSAGE
|
||||
!MESSAGE "linebreak - Win32 Release" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE "linebreak - Win32 Debug" (based on "Win32 (x86) Static Library")
|
||||
!MESSAGE
|
||||
!ERROR An invalid configuration is specified.
|
||||
!ENDIF
|
||||
|
||||
!IF "$(OS)" == "Windows_NT"
|
||||
NULL=
|
||||
!ELSE
|
||||
NULL=nul
|
||||
!ENDIF
|
||||
|
||||
CPP=cl.exe
|
||||
RSC=rc.exe
|
||||
|
||||
!IF "$(CFG)" == "linebreak - Win32 Release"
|
||||
|
||||
OUTDIR=.\Release
|
||||
INTDIR=.\Release
|
||||
# Begin Custom Macros
|
||||
OutDir=.\Release
|
||||
# End Custom Macros
|
||||
|
||||
ALL : "$(OUTDIR)\linebreak.lib"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\linebreak.obj"
|
||||
-@erase "$(INTDIR)\linebreakdata.obj"
|
||||
-@erase "$(INTDIR)\linebreakdef.obj"
|
||||
-@erase "$(INTDIR)\vc60.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
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\linebreak.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LIB32=link.exe -lib
|
||||
LIB32_FLAGS=/nologo /out:"$(OUTDIR)\linebreak.lib"
|
||||
LIB32_OBJS= \
|
||||
"$(INTDIR)\linebreak.obj" \
|
||||
"$(INTDIR)\linebreakdata.obj" \
|
||||
"$(INTDIR)\linebreakdef.obj"
|
||||
|
||||
"$(OUTDIR)\linebreak.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
|
||||
$(LIB32) @<<
|
||||
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
|
||||
<<
|
||||
|
||||
!ELSEIF "$(CFG)" == "linebreak - Win32 Debug"
|
||||
|
||||
OUTDIR=.\Debug
|
||||
INTDIR=.\Debug
|
||||
# Begin Custom Macros
|
||||
OutDir=.\Debug
|
||||
# End Custom Macros
|
||||
|
||||
ALL : "$(OUTDIR)\linebreak.lib"
|
||||
|
||||
|
||||
CLEAN :
|
||||
-@erase "$(INTDIR)\linebreak.obj"
|
||||
-@erase "$(INTDIR)\linebreakdata.obj"
|
||||
-@erase "$(INTDIR)\linebreakdef.obj"
|
||||
-@erase "$(INTDIR)\vc60.idb"
|
||||
-@erase "$(INTDIR)\vc60.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
|
||||
BSC32=bscmake.exe
|
||||
BSC32_FLAGS=/nologo /o"$(OUTDIR)\linebreak.bsc"
|
||||
BSC32_SBRS= \
|
||||
|
||||
LIB32=link.exe -lib
|
||||
LIB32_FLAGS=/nologo /out:"$(OUTDIR)\linebreak.lib"
|
||||
LIB32_OBJS= \
|
||||
"$(INTDIR)\linebreak.obj" \
|
||||
"$(INTDIR)\linebreakdata.obj" \
|
||||
"$(INTDIR)\linebreakdef.obj"
|
||||
|
||||
"$(OUTDIR)\linebreak.lib" : "$(OUTDIR)" $(DEF_FILE) $(LIB32_OBJS)
|
||||
$(LIB32) @<<
|
||||
$(LIB32_FLAGS) $(DEF_FLAGS) $(LIB32_OBJS)
|
||||
<<
|
||||
|
||||
!ENDIF
|
||||
|
||||
.c{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.obj::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.c{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cpp{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
.cxx{$(INTDIR)}.sbr::
|
||||
$(CPP) @<<
|
||||
$(CPP_PROJ) $<
|
||||
<<
|
||||
|
||||
|
||||
.\linebreak.c : \
|
||||
".\linebreak.h"\
|
||||
".\linebreakdef.h"\
|
||||
|
||||
.\linebreakdata.c : \
|
||||
".\linebreak.h"\
|
||||
".\linebreakdef.h"\
|
||||
|
||||
.\linebreakdef.c : \
|
||||
".\linebreak.h"\
|
||||
".\linebreakdef.h"\
|
||||
|
||||
|
||||
!IF "$(CFG)" == "linebreak - Win32 Release" || "$(CFG)" == "linebreak - Win32 Debug"
|
||||
SOURCE=.\linebreak.c
|
||||
|
||||
"$(INTDIR)\linebreak.obj" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\linebreakdata.c
|
||||
|
||||
"$(INTDIR)\linebreakdata.obj" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
SOURCE=.\linebreakdef.c
|
||||
|
||||
"$(INTDIR)\linebreakdef.obj" : $(SOURCE) "$(INTDIR)"
|
||||
|
||||
|
||||
|
||||
!ENDIF
|
||||
|
30
native/sources/liblinebreak/liblinebreak-1.2/NEWS
Normal file
30
native/sources/liblinebreak/liblinebreak-1.2/NEWS
Normal file
|
@ -0,0 +1,30 @@
|
|||
New in 1.2
|
||||
|
||||
- Fix the bug that an assertion in code can fail if an invalid UTF-8 or
|
||||
UTF-16 sequence is encountered near the end of input
|
||||
- Remove the specialization of right single quotation mark as closing
|
||||
punctuation mark in English, French, and Spanish, because it can be
|
||||
used as apostrophe
|
||||
- Make Doxygen documentation better
|
||||
|
||||
New in 1.1
|
||||
|
||||
- Make get_lb_prop_lang static and not an exported symbol
|
||||
- Define is_line_breakable to alias to is_breakable
|
||||
- Declare get_next_char_utf* will be changed to lb_get_next_char_utf*
|
||||
- Move the declarations of get_next_char_utf* from linebreak.h to
|
||||
linebreakdef.h
|
||||
- Add the function documentation comments to the header files
|
||||
|
||||
New in 1.0
|
||||
|
||||
- Update the line breaking data according to UAX #14-22 and
|
||||
LineBreak-5.1.0.txt
|
||||
- Add autoconfiscation support (./configure, make, make install)
|
||||
- Add Makefile for MSVC
|
||||
|
||||
First public release (0.9.6, or 20080421)
|
||||
|
||||
- Implement line breaking algorithm according to UAX #14-19
|
||||
- Line breaking data is generated from LineBreak-5.0.0.txt
|
||||
- Makefile only supports GCC
|
83
native/sources/liblinebreak/liblinebreak-1.2/README
Normal file
83
native/sources/liblinebreak/liblinebreak-1.2/README
Normal file
|
@ -0,0 +1,83 @@
|
|||
L I B L I N E B R E A K
|
||||
=======================
|
||||
|
||||
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>
|
||||
|
||||
Check this URL for up-to-date information:
|
||||
<URL:http://vimgadgets.sourceforge.net/liblinebreak/>
|
||||
|
||||
|
||||
Licence
|
||||
-------
|
||||
|
||||
This library is released under an open-source licence, the zlib/libpng
|
||||
licence. Please check the file LICENCE for details.
|
||||
|
||||
Apart from using the algorithm, part of the code is derived from the
|
||||
data provided under
|
||||
<URL:http://www.unicode.org/Public/>
|
||||
|
||||
And the Unicode Terms of Use may apply:
|
||||
<URL:http://www.unicode.org/copyright.html>
|
||||
|
||||
|
||||
Installation
|
||||
------------
|
||||
|
||||
There are three ways to build the library:
|
||||
|
||||
1) On *NIX systems supported by the autoconfiscation tools, do the
|
||||
normal
|
||||
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
|
||||
to build and install both the dynamic and static libraries. In
|
||||
addition, one may
|
||||
|
||||
- type `make doc' to generate the doxygen documentation; or
|
||||
- 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
|
||||
make
|
||||
|
||||
to build the static library. In addition, one may
|
||||
|
||||
- type `make debug' or `make release' to explicitly generate the
|
||||
debug or release build;
|
||||
- type `make doc' to generate the doxygen documentation; or
|
||||
- type `make linebreakdata' to regenerate linebreakdata.c from
|
||||
LineBreak.txt.
|
||||
|
||||
3) On Windows, apart from using method 1 (Cygwin/MSYS) and method 2
|
||||
(MinGW), MSVC can also be used. Type
|
||||
|
||||
nmake -f Makefile.msvc
|
||||
|
||||
to build the static library. By default the debug release is built.
|
||||
To build the release version
|
||||
|
||||
nmake -f Makefile.msvc CFG="linebreak - Win32 Release"
|
||||
|
||||
|
||||
Documentation
|
||||
-------------
|
||||
|
||||
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 $
|
||||
|
||||
vim:autoindent:expandtab:formatoptions=tcqlmn:textwidth=72:
|
7239
native/sources/liblinebreak/liblinebreak-1.2/aclocal.m4
vendored
Normal file
7239
native/sources/liblinebreak/liblinebreak-1.2/aclocal.m4
vendored
Normal file
File diff suppressed because it is too large
Load diff
1472
native/sources/liblinebreak/liblinebreak-1.2/config.guess
vendored
Executable file
1472
native/sources/liblinebreak/liblinebreak-1.2/config.guess
vendored
Executable file
File diff suppressed because it is too large
Load diff
55
native/sources/liblinebreak/liblinebreak-1.2/config.h.in
Normal file
55
native/sources/liblinebreak/liblinebreak-1.2/config.h.in
Normal file
|
@ -0,0 +1,55 @@
|
|||
/* config.h.in. Generated from configure.ac by autoheader. */
|
||||
|
||||
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||
#undef HAVE_DLFCN_H
|
||||
|
||||
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define to 1 if you have the <memory.h> header file. */
|
||||
#undef HAVE_MEMORY_H
|
||||
|
||||
/* Define to 1 if you have the <stdint.h> header file. */
|
||||
#undef HAVE_STDINT_H
|
||||
|
||||
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||
#undef HAVE_STDLIB_H
|
||||
|
||||
/* Define to 1 if you have the <strings.h> header file. */
|
||||
#undef HAVE_STRINGS_H
|
||||
|
||||
/* Define to 1 if you have the <string.h> header file. */
|
||||
#undef HAVE_STRING_H
|
||||
|
||||
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||
#undef HAVE_SYS_STAT_H
|
||||
|
||||
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||
#undef HAVE_SYS_TYPES_H
|
||||
|
||||
/* Define to 1 if you have the <unistd.h> header file. */
|
||||
#undef HAVE_UNISTD_H
|
||||
|
||||
/* Name of package */
|
||||
#undef PACKAGE
|
||||
|
||||
/* Define to the address where bug reports for this package should be sent. */
|
||||
#undef PACKAGE_BUGREPORT
|
||||
|
||||
/* Define to the full name of this package. */
|
||||
#undef PACKAGE_NAME
|
||||
|
||||
/* Define to the full name and version of this package. */
|
||||
#undef PACKAGE_STRING
|
||||
|
||||
/* Define to the one symbol short name of this package. */
|
||||
#undef PACKAGE_TARNAME
|
||||
|
||||
/* Define to the version of this package. */
|
||||
#undef PACKAGE_VERSION
|
||||
|
||||
/* Define to 1 if you have the ANSI C header files. */
|
||||
#undef STDC_HEADERS
|
||||
|
||||
/* Version number of package */
|
||||
#undef VERSION
|
1599
native/sources/liblinebreak/liblinebreak-1.2/config.sub
vendored
Executable file
1599
native/sources/liblinebreak/liblinebreak-1.2/config.sub
vendored
Executable file
File diff suppressed because it is too large
Load diff
20555
native/sources/liblinebreak/liblinebreak-1.2/configure
vendored
Executable file
20555
native/sources/liblinebreak/liblinebreak-1.2/configure
vendored
Executable file
File diff suppressed because it is too large
Load diff
11
native/sources/liblinebreak/liblinebreak-1.2/configure.ac
Normal file
11
native/sources/liblinebreak/liblinebreak-1.2/configure.ac
Normal file
|
@ -0,0 +1,11 @@
|
|||
AC_PREREQ(2.57)
|
||||
AC_INIT([liblinebreak],[1.2],[wuyongwei@gmail.com])
|
||||
AC_CONFIG_SRCDIR([linebreak.c])
|
||||
AC_CONFIG_HEADERS([config.h])
|
||||
AM_INIT_AUTOMAKE([foreign])
|
||||
|
||||
AC_PROG_CC
|
||||
AC_EXEEXT
|
||||
AM_PROG_LIBTOOL
|
||||
AC_CONFIG_FILES([Makefile])
|
||||
AC_OUTPUT
|
584
native/sources/liblinebreak/liblinebreak-1.2/depcomp
Executable file
584
native/sources/liblinebreak/liblinebreak-1.2/depcomp
Executable file
|
@ -0,0 +1,584 @@
|
|||
#! /bin/sh
|
||||
# depcomp - compile a program generating dependencies as side-effects
|
||||
|
||||
scriptversion=2006-10-15.18
|
||||
|
||||
# Copyright (C) 1999, 2000, 2003, 2004, 2005, 2006 Free Software
|
||||
# Foundation, Inc.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
|
||||
|
||||
case $1 in
|
||||
'')
|
||||
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
|
||||
exit 1;
|
||||
;;
|
||||
-h | --h*)
|
||||
cat <<\EOF
|
||||
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
|
||||
|
||||
Run PROGRAMS ARGS to compile a file, generating dependencies
|
||||
as side-effects.
|
||||
|
||||
Environment variables:
|
||||
depmode Dependency tracking mode.
|
||||
source Source file read by `PROGRAMS ARGS'.
|
||||
object Object file output by `PROGRAMS ARGS'.
|
||||
DEPDIR directory where to store dependencies.
|
||||
depfile Dependency file to output.
|
||||
tmpdepfile Temporary file to use when outputing dependencies.
|
||||
libtool Whether libtool is used (yes/no).
|
||||
|
||||
Report bugs to <bug-automake@gnu.org>.
|
||||
EOF
|
||||
exit $?
|
||||
;;
|
||||
-v | --v*)
|
||||
echo "depcomp $scriptversion"
|
||||
exit $?
|
||||
;;
|
||||
esac
|
||||
|
||||
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
|
||||
echo "depcomp: Variables source, object and depmode must be set" 1>&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
|
||||
depfile=${depfile-`echo "$object" |
|
||||
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
|
||||
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
|
||||
|
||||
rm -f "$tmpdepfile"
|
||||
|
||||
# Some modes work just like other modes, but use different flags. We
|
||||
# parameterize here, but still list the modes in the big case below,
|
||||
# to make depend.m4 easier to write. Note that we *cannot* use a case
|
||||
# here, because this file can only contain one case statement.
|
||||
if test "$depmode" = hp; then
|
||||
# HP compiler uses -M and no extra arg.
|
||||
gccflag=-M
|
||||
depmode=gcc
|
||||
fi
|
||||
|
||||
if test "$depmode" = dashXmstdout; then
|
||||
# This is just like dashmstdout with a different argument.
|
||||
dashmflag=-xM
|
||||
depmode=dashmstdout
|
||||
fi
|
||||
|
||||
case "$depmode" in
|
||||
gcc3)
|
||||
## gcc 3 implements dependency tracking that does exactly what
|
||||
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
|
||||
## it if -MD -MP comes after the -MF stuff. Hmm.
|
||||
## Unfortunately, FreeBSD c89 acceptance of flags depends upon
|
||||
## the command line argument order; so add the flags where they
|
||||
## appear in depend2.am. Note that the slowdown incurred here
|
||||
## affects only configure: in makefiles, %FASTDEP% shortcuts this.
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-c) set fnord "$@" -MT "$object" -MD -MP -MF "$tmpdepfile" "$arg" ;;
|
||||
*) set fnord "$@" "$arg" ;;
|
||||
esac
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
done
|
||||
"$@"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
mv "$tmpdepfile" "$depfile"
|
||||
;;
|
||||
|
||||
gcc)
|
||||
## There are various ways to get dependency output from gcc. Here's
|
||||
## why we pick this rather obscure method:
|
||||
## - Don't want to use -MD because we'd like the dependencies to end
|
||||
## up in a subdir. Having to rename by hand is ugly.
|
||||
## (We might end up doing this anyway to support other compilers.)
|
||||
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
|
||||
## -MM, not -M (despite what the docs say).
|
||||
## - Using -M directly means running the compiler twice (even worse
|
||||
## than renaming).
|
||||
if test -z "$gccflag"; then
|
||||
gccflag=-MD,
|
||||
fi
|
||||
"$@" -Wp,"$gccflag$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
|
||||
## The second -e expression handles DOS-style file names with drive letters.
|
||||
sed -e 's/^[^:]*: / /' \
|
||||
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
|
||||
## This next piece of magic avoids the `deleted header file' problem.
|
||||
## The problem is that when a header file which appears in a .P file
|
||||
## is deleted, the dependency causes make to die (because there is
|
||||
## typically no way to rebuild the header). We avoid this by adding
|
||||
## dummy dependencies for each header file. Too bad gcc doesn't do
|
||||
## this for us directly.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" |
|
||||
## Some versions of gcc put a space before the `:'. On the theory
|
||||
## that the space means something, we add a space to the output as
|
||||
## well.
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp)
|
||||
# This case exists only to let depend.m4 do its work. It works by
|
||||
# looking at the text of this script. This case will never be run,
|
||||
# since it is checked for above.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
sgi)
|
||||
if test "$libtool" = yes; then
|
||||
"$@" "-Wp,-MDupdate,$tmpdepfile"
|
||||
else
|
||||
"$@" -MDupdate "$tmpdepfile"
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
|
||||
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
|
||||
echo "$object : \\" > "$depfile"
|
||||
|
||||
# Clip off the initial element (the dependent). Don't try to be
|
||||
# clever and replace this with sed code, as IRIX sed won't handle
|
||||
# lines with more than a fixed number of characters (4096 in
|
||||
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
|
||||
# the IRIX cc adds comments like `#:fec' to the end of the
|
||||
# dependency line.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
|
||||
tr '
|
||||
' ' ' >> $depfile
|
||||
echo >> $depfile
|
||||
|
||||
# The second pass generates a dummy entry for each header file.
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" \
|
||||
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
|
||||
>> $depfile
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
aix)
|
||||
# The C for AIX Compiler uses -M and outputs the dependencies
|
||||
# in a .u file. In older versions, this file always lives in the
|
||||
# current directory. Also, the AIX compiler puts `$object:' at the
|
||||
# start of each line; $object doesn't have directory information.
|
||||
# Version 6 uses the directory in both cases.
|
||||
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
|
||||
tmpdepfile="$stripped.u"
|
||||
if test "$libtool" = yes; then
|
||||
"$@" -Wc,-M
|
||||
else
|
||||
"$@" -M
|
||||
fi
|
||||
stat=$?
|
||||
|
||||
if test -f "$tmpdepfile"; then :
|
||||
else
|
||||
stripped=`echo "$stripped" | sed 's,^.*/,,'`
|
||||
tmpdepfile="$stripped.u"
|
||||
fi
|
||||
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
if test -f "$tmpdepfile"; then
|
||||
outname="$stripped.o"
|
||||
# Each line is of the form `foo.o: dependent.h'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
# The sourcefile does not contain any dependencies, so just
|
||||
# store a dummy comment line, to avoid errors with the Makefile
|
||||
# "include basename.Plo" scheme.
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
icc)
|
||||
# Intel's C compiler understands `-MD -MF file'. However on
|
||||
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
|
||||
# ICC 7.0 will fill foo.d with something like
|
||||
# foo.o: sub/foo.c
|
||||
# foo.o: sub/foo.h
|
||||
# which is wrong. We want:
|
||||
# sub/foo.o: sub/foo.c
|
||||
# sub/foo.o: sub/foo.h
|
||||
# sub/foo.c:
|
||||
# sub/foo.h:
|
||||
# ICC 7.1 will output
|
||||
# foo.o: sub/foo.c sub/foo.h
|
||||
# and will wrap long lines using \ :
|
||||
# foo.o: sub/foo.c ... \
|
||||
# sub/foo.h ... \
|
||||
# ...
|
||||
|
||||
"$@" -MD -MF "$tmpdepfile"
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile"
|
||||
exit $stat
|
||||
fi
|
||||
rm -f "$depfile"
|
||||
# Each line is of the form `foo.o: dependent.h',
|
||||
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
|
||||
# Do two passes, one to just change these to
|
||||
# `$object: dependent.h' and one to simply `dependent.h:'.
|
||||
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
|
||||
# Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
# correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
|
||||
sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
hp2)
|
||||
# The "hp" stanza above does not work with aCC (C++) and HP's ia64
|
||||
# compilers, which have integrated preprocessors. The correct option
|
||||
# to use with these is +Maked; it writes dependencies to a file named
|
||||
# 'foo.d', which lands next to the object file, wherever that
|
||||
# happens to be.
|
||||
# Much of this is similar to the tru64 case; see comments there.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
if test "$libtool" = yes; then
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir.libs/$base.d
|
||||
"$@" -Wc,+Maked
|
||||
else
|
||||
tmpdepfile1=$dir$base.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
"$@" +Maked
|
||||
fi
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," "$tmpdepfile" > "$depfile"
|
||||
# Add `dependent.h:' lines.
|
||||
sed -ne '2,${; s/^ *//; s/ \\*$//; s/$/:/; p;}' "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile" "$tmpdepfile2"
|
||||
;;
|
||||
|
||||
tru64)
|
||||
# The Tru64 compiler uses -MD to generate dependencies as a side
|
||||
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
|
||||
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
|
||||
# dependencies in `foo.d' instead, so we check for that too.
|
||||
# Subdirectories are respected.
|
||||
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
|
||||
test "x$dir" = "x$object" && dir=
|
||||
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
|
||||
|
||||
if test "$libtool" = yes; then
|
||||
# With Tru64 cc, shared objects can also be used to make a
|
||||
# static library. This mechanism is used in libtool 1.4 series to
|
||||
# handle both shared and static libraries in a single compilation.
|
||||
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
|
||||
#
|
||||
# With libtool 1.5 this exception was removed, and libtool now
|
||||
# generates 2 separate objects for the 2 libraries. These two
|
||||
# compilations output dependencies in $dir.libs/$base.o.d and
|
||||
# in $dir$base.o.d. We have to check for both files, because
|
||||
# one of the two compilations can be disabled. We should prefer
|
||||
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
|
||||
# automatically cleaned when .libs/ is deleted, while ignoring
|
||||
# the former would cause a distcleancheck panic.
|
||||
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
|
||||
tmpdepfile2=$dir$base.o.d # libtool 1.5
|
||||
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
|
||||
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
|
||||
"$@" -Wc,-MD
|
||||
else
|
||||
tmpdepfile1=$dir$base.o.d
|
||||
tmpdepfile2=$dir$base.d
|
||||
tmpdepfile3=$dir$base.d
|
||||
tmpdepfile4=$dir$base.d
|
||||
"$@" -MD
|
||||
fi
|
||||
|
||||
stat=$?
|
||||
if test $stat -eq 0; then :
|
||||
else
|
||||
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
exit $stat
|
||||
fi
|
||||
|
||||
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
|
||||
do
|
||||
test -f "$tmpdepfile" && break
|
||||
done
|
||||
if test -f "$tmpdepfile"; then
|
||||
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
|
||||
# That's a tab and a space in the [].
|
||||
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
|
||||
else
|
||||
echo "#dummy" > "$depfile"
|
||||
fi
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
#nosideeffect)
|
||||
# This comment above is used by automake to tell side-effect
|
||||
# dependency tracking mechanisms from slower ones.
|
||||
|
||||
dashmstdout)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
test -z "$dashmflag" && dashmflag=-M
|
||||
# Require at least two characters before searching for `:'
|
||||
# in the target name. This is to cope with DOS-style filenames:
|
||||
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
|
||||
"$@" $dashmflag |
|
||||
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
tr ' ' '
|
||||
' < "$tmpdepfile" | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
dashXmstdout)
|
||||
# This case only exists to satisfy depend.m4. It is never actually
|
||||
# run, as this mode is specially recognized in the preamble.
|
||||
exit 1
|
||||
;;
|
||||
|
||||
makedepend)
|
||||
"$@" || exit $?
|
||||
# Remove any Libtool call
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
# X makedepend
|
||||
shift
|
||||
cleared=no
|
||||
for arg in "$@"; do
|
||||
case $cleared in
|
||||
no)
|
||||
set ""; shift
|
||||
cleared=yes ;;
|
||||
esac
|
||||
case "$arg" in
|
||||
-D*|-I*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
# Strip any option that makedepend may not understand. Remove
|
||||
# the object too, otherwise makedepend will parse it as a source file.
|
||||
-*|$object)
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"; shift ;;
|
||||
esac
|
||||
done
|
||||
obj_suffix="`echo $object | sed 's/^.*\././'`"
|
||||
touch "$tmpdepfile"
|
||||
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
|
||||
rm -f "$depfile"
|
||||
cat < "$tmpdepfile" > "$depfile"
|
||||
sed '1,2d' "$tmpdepfile" | tr ' ' '
|
||||
' | \
|
||||
## Some versions of the HPUX 10.20 sed can't process this invocation
|
||||
## correctly. Breaking it into two sed invocations is a workaround.
|
||||
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile" "$tmpdepfile".bak
|
||||
;;
|
||||
|
||||
cpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout.
|
||||
"$@" || exit $?
|
||||
|
||||
# Remove the call to Libtool.
|
||||
if test "$libtool" = yes; then
|
||||
while test $1 != '--mode=compile'; do
|
||||
shift
|
||||
done
|
||||
shift
|
||||
fi
|
||||
|
||||
# Remove `-o $object'.
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case $arg in
|
||||
-o)
|
||||
shift
|
||||
;;
|
||||
$object)
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift # fnord
|
||||
shift # $arg
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
"$@" -E |
|
||||
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
|
||||
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
|
||||
sed '$ s: \\$::' > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
cat < "$tmpdepfile" >> "$depfile"
|
||||
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
msvisualcpp)
|
||||
# Important note: in order to support this mode, a compiler *must*
|
||||
# always write the preprocessed file to stdout, regardless of -o,
|
||||
# because we must use -o when running libtool.
|
||||
"$@" || exit $?
|
||||
IFS=" "
|
||||
for arg
|
||||
do
|
||||
case "$arg" in
|
||||
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
|
||||
set fnord "$@"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
*)
|
||||
set fnord "$@" "$arg"
|
||||
shift
|
||||
shift
|
||||
;;
|
||||
esac
|
||||
done
|
||||
"$@" -E |
|
||||
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
|
||||
rm -f "$depfile"
|
||||
echo "$object : \\" > "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
|
||||
echo " " >> "$depfile"
|
||||
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
|
||||
rm -f "$tmpdepfile"
|
||||
;;
|
||||
|
||||
none)
|
||||
exec "$@"
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "Unknown depmode $depmode" 1>&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local Variables:
|
||||
# mode: shell-script
|
||||
# sh-indentation: 2
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
|
@ -0,0 +1,36 @@
|
|||
<!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 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 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li class="current"><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li><a href="classes.html"><span>Data Structure Index</span></a></li>
|
||||
<li><a href="functions.html"><span>Data Fields</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>Data Structures</h1>Here are the data structures with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="structLineBreakProperties.html">LineBreakProperties</a></td><td class="indexvalue">Struct for entries of line break properties </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="structLineBreakPropertiesIndex.html">LineBreakPropertiesIndex</a></td><td class="indexvalue">Struct for the second-level index to the line breaking properties </td></tr>
|
||||
<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
|
||||
<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>
|
|
@ -0,0 +1,35 @@
|
|||
<!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: 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 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Data 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 Structures</span></a></li>
|
||||
<li class="current"><a href="classes.html"><span>Data Structure Index</span></a></li>
|
||||
<li><a href="functions.html"><span>Data Fields</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>Data Structure Index</h1><p><div class="qindex"><a class="qindex" href="#letter_L">L</a></div><p>
|
||||
<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"> L </div></td></tr></table>
|
||||
</td><td><a class="el" href="structLineBreakProperties.html">LineBreakProperties</a> </td><td><a class="el" href="structLineBreakPropertiesIndex.html">LineBreakPropertiesIndex</a> </td><td><a class="el" href="structLineBreakPropertiesLang.html">LineBreakPropertiesLang</a> </td></tr></table><p><div class="qindex"><a class="qindex" href="#letter_L">L</a></div><p>
|
||||
</div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 3 13:20:57 2009 for liblinebreak by
|
||||
<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>
|
|
@ -0,0 +1,43 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data 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—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
|
||||
<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>
|
|
@ -0,0 +1,441 @@
|
|||
body, table, div, p, dl {
|
||||
font-family: Lucida Grande, Verdana, Geneva, Arial, sans-serif;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
/* @group Heading Levels */
|
||||
|
||||
h1 {
|
||||
text-align: center;
|
||||
font-size: 150%;
|
||||
}
|
||||
|
||||
h2 {
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 100%;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
caption {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.qindex, div.navtab{
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
div.qindex, div.navpath {
|
||||
width: 100%;
|
||||
line-height: 140%;
|
||||
}
|
||||
|
||||
div.navtab {
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
/* @group Link Styling */
|
||||
|
||||
a {
|
||||
color: #153788;
|
||||
font-weight: normal;
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.contents a:visited {
|
||||
color: #1b77c5;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
text-decoration: underline;
|
||||
}
|
||||
|
||||
a.qindex {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a.qindexHL {
|
||||
font-weight: bold;
|
||||
background-color: #6666cc;
|
||||
color: #ffffff;
|
||||
border: 1px double #9295C2;
|
||||
}
|
||||
|
||||
.contents a.qindexHL:visited {
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
a.el {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
a.elRef {
|
||||
}
|
||||
|
||||
a.code {
|
||||
}
|
||||
|
||||
a.codeRef {
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
dl.el {
|
||||
margin-left: -1cm;
|
||||
}
|
||||
|
||||
.fragment {
|
||||
font-family: monospace, fixed;
|
||||
font-size: 105%;
|
||||
}
|
||||
|
||||
pre.fragment {
|
||||
border: 1px solid #CCCCCC;
|
||||
background-color: #f5f5f5;
|
||||
padding: 4px 6px;
|
||||
margin: 4px 8px 4px 2px;
|
||||
}
|
||||
|
||||
div.ah {
|
||||
background-color: black;
|
||||
font-weight: bold;
|
||||
color: #ffffff;
|
||||
margin-bottom: 3px;
|
||||
margin-top: 3px
|
||||
}
|
||||
|
||||
div.groupHeader {
|
||||
margin-left: 16px;
|
||||
margin-top: 12px;
|
||||
margin-bottom: 6px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
div.groupText {
|
||||
margin-left: 16px;
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
body {
|
||||
background: white;
|
||||
color: black;
|
||||
margin-right: 20px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
td.indexkey {
|
||||
background-color: #e8eef2;
|
||||
font-weight: bold;
|
||||
border: 1px solid #CCCCCC;
|
||||
margin: 2px 0px 2px 0;
|
||||
padding: 2px 10px;
|
||||
}
|
||||
|
||||
td.indexvalue {
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #CCCCCC;
|
||||
padding: 2px 10px;
|
||||
margin: 2px 0px;
|
||||
}
|
||||
|
||||
tr.memlist {
|
||||
background-color: #f0f0f0;
|
||||
}
|
||||
|
||||
p.formulaDsp {
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
img.formulaDsp {
|
||||
|
||||
}
|
||||
|
||||
img.formulaInl {
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
/* @group Code Colorization */
|
||||
|
||||
span.keyword {
|
||||
color: #008000
|
||||
}
|
||||
|
||||
span.keywordtype {
|
||||
color: #604020
|
||||
}
|
||||
|
||||
span.keywordflow {
|
||||
color: #e08000
|
||||
}
|
||||
|
||||
span.comment {
|
||||
color: #800000
|
||||
}
|
||||
|
||||
span.preprocessor {
|
||||
color: #806020
|
||||
}
|
||||
|
||||
span.stringliteral {
|
||||
color: #002080
|
||||
}
|
||||
|
||||
span.charliteral {
|
||||
color: #008080
|
||||
}
|
||||
|
||||
span.vhdldigit {
|
||||
color: #ff00ff
|
||||
}
|
||||
|
||||
span.vhdlchar {
|
||||
color: #000000
|
||||
}
|
||||
|
||||
span.vhdlkeyword {
|
||||
color: #700070
|
||||
}
|
||||
|
||||
span.vhdllogic {
|
||||
color: #ff0000
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
.search {
|
||||
color: #003399;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
form.search {
|
||||
margin-bottom: 0px;
|
||||
margin-top: 0px;
|
||||
}
|
||||
|
||||
input.search {
|
||||
font-size: 75%;
|
||||
color: #000080;
|
||||
font-weight: normal;
|
||||
background-color: #e8eef2;
|
||||
}
|
||||
|
||||
td.tiny {
|
||||
font-size: 75%;
|
||||
}
|
||||
|
||||
.dirtab {
|
||||
padding: 4px;
|
||||
border-collapse: collapse;
|
||||
border: 1px solid #84b0c7;
|
||||
}
|
||||
|
||||
th.dirtab {
|
||||
background: #e8eef2;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
hr {
|
||||
height: 0;
|
||||
border: none;
|
||||
border-top: 1px solid #666;
|
||||
}
|
||||
|
||||
/* @group Member Descriptions */
|
||||
|
||||
.mdescLeft, .mdescRight,
|
||||
.memItemLeft, .memItemRight,
|
||||
.memTemplItemLeft, .memTemplItemRight, .memTemplParams {
|
||||
background-color: #FAFAFA;
|
||||
border: none;
|
||||
margin: 4px;
|
||||
padding: 1px 0 0 8px;
|
||||
}
|
||||
|
||||
.mdescLeft, .mdescRight {
|
||||
padding: 0px 8px 4px 8px;
|
||||
color: #555;
|
||||
}
|
||||
|
||||
.memItemLeft, .memItemRight, .memTemplParams {
|
||||
border-top: 1px solid #ccc;
|
||||
}
|
||||
|
||||
.memTemplParams {
|
||||
color: #606060;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Member Details */
|
||||
|
||||
/* Styles for detailed member documentation */
|
||||
|
||||
.memtemplate {
|
||||
font-size: 80%;
|
||||
color: #606060;
|
||||
font-weight: normal;
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.memnav {
|
||||
background-color: #e8eef2;
|
||||
border: 1px solid #84b0c7;
|
||||
text-align: center;
|
||||
margin: 2px;
|
||||
margin-right: 15px;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.memitem {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.memname {
|
||||
white-space: nowrap;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.memproto, .memdoc {
|
||||
border: 1px solid #84b0c7;
|
||||
}
|
||||
|
||||
.memproto {
|
||||
padding: 0;
|
||||
background-color: #d5e1e8;
|
||||
font-weight: bold;
|
||||
-webkit-border-top-left-radius: 8px;
|
||||
-webkit-border-top-right-radius: 8px;
|
||||
-moz-border-radius-topleft: 8px;
|
||||
-moz-border-radius-topright: 8px;
|
||||
}
|
||||
|
||||
.memdoc {
|
||||
padding: 2px 5px;
|
||||
background-color: #eef3f5;
|
||||
border-top-width: 0;
|
||||
-webkit-border-bottom-left-radius: 8px;
|
||||
-webkit-border-bottom-right-radius: 8px;
|
||||
-moz-border-radius-bottomleft: 8px;
|
||||
-moz-border-radius-bottomright: 8px;
|
||||
}
|
||||
|
||||
.paramkey {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.paramtype {
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.paramname {
|
||||
color: #602020;
|
||||
white-space: nowrap;
|
||||
}
|
||||
.paramname em {
|
||||
font-style: normal;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
/* @group Directory (tree) */
|
||||
|
||||
/* for the tree view */
|
||||
|
||||
.ftvtree {
|
||||
font-family: sans-serif;
|
||||
margin: 0.5em;
|
||||
}
|
||||
|
||||
/* these are for tree view when used as main index */
|
||||
|
||||
.directory {
|
||||
font-size: 9pt;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.directory h3 {
|
||||
margin: 0px;
|
||||
margin-top: 1em;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
/*
|
||||
The following two styles can be used to replace the root node title
|
||||
with an image of your choice. Simply uncomment the next two styles,
|
||||
specify the name of your image and be sure to set 'height' to the
|
||||
proper pixel height of your image.
|
||||
*/
|
||||
|
||||
/*
|
||||
.directory h3.swap {
|
||||
height: 61px;
|
||||
background-repeat: no-repeat;
|
||||
background-image: url("yourimage.gif");
|
||||
}
|
||||
.directory h3.swap span {
|
||||
display: none;
|
||||
}
|
||||
*/
|
||||
|
||||
.directory > h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.directory p {
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.directory div {
|
||||
display: none;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.directory img {
|
||||
vertical-align: -30%;
|
||||
}
|
||||
|
||||
/* these are for tree view when not used as main index */
|
||||
|
||||
.directory-alt {
|
||||
font-size: 100%;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.directory-alt h3 {
|
||||
margin: 0px;
|
||||
margin-top: 1em;
|
||||
font-size: 11pt;
|
||||
}
|
||||
|
||||
.directory-alt > h3 {
|
||||
margin-top: 0;
|
||||
}
|
||||
|
||||
.directory-alt p {
|
||||
margin: 0px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.directory-alt div {
|
||||
display: none;
|
||||
margin: 0px;
|
||||
}
|
||||
|
||||
.directory-alt img {
|
||||
vertical-align: -30%;
|
||||
}
|
||||
|
||||
/* @end */
|
||||
|
||||
address {
|
||||
font-style: normal;
|
||||
color: #333;
|
||||
}
|
Binary file not shown.
After Width: | Height: | Size: 1.3 KiB |
|
@ -0,0 +1,37 @@
|
|||
<!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: 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 -->
|
||||
<div class="navigation" id="top">
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="index.html"><span>Main Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li class="current"><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>File List</h1>Here is a list of all files with brief descriptions:<table>
|
||||
<tr><td class="indexkey"><a class="el" href="linebreak_8c.html">linebreak.c</a></td><td class="indexvalue">Implementation of the line breaking algorithm as described in Unicode Standard Annex 14 </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="linebreak_8h.html">linebreak.h</a> <a href="linebreak_8h_source.html">[code]</a></td><td class="indexvalue">Header file for the line breaking algorithm </td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="linebreakdata_8c.html">linebreakdata.c</a></td><td class="indexvalue"></td></tr>
|
||||
<tr><td class="indexkey"><a class="el" href="linebreakdef_8c.html">linebreakdef.c</a></td><td class="indexvalue">Definition of language-specific data </td></tr>
|
||||
<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
|
||||
<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>
|
|
@ -0,0 +1,55 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Data 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 Structures</span></a></li>
|
||||
<li><a href="classes.html"><span>Data Structure Index</span></a></li>
|
||||
<li class="current"><a href="functions.html"><span>Data 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
|
||||
<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>
|
|
@ -0,0 +1,55 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Data 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 Structures</span></a></li>
|
||||
<li><a href="classes.html"><span>Data Structure Index</span></a></li>
|
||||
<li class="current"><a href="functions.html"><span>Data 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">
|
||||
|
||||
<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
|
||||
<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>
|
|
@ -0,0 +1,249 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File 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
|
||||
<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>
|
|
@ -0,0 +1,59 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File 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">
|
||||
|
||||
<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
|
||||
<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>
|
|
@ -0,0 +1,49 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File 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 class="current"><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">
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>BreakAction
|
||||
: <a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d">linebreak.c</a>
|
||||
<li>LineBreakClass
|
||||
: <a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">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
|
||||
<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>
|
|
@ -0,0 +1,146 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File 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">
|
||||
|
||||
<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
|
||||
<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>
|
|
@ -0,0 +1,82 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File 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">
|
||||
|
||||
<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
|
||||
<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>
|
|
@ -0,0 +1,53 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File 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 class="current"><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">
|
||||
|
||||
<p>
|
||||
<ul>
|
||||
<li>get_next_char_t
|
||||
: <a class="el" href="linebreakdef_8h.html#d76de249e1f8334f318f9ee97ccc77c3">linebreakdef.h</a>
|
||||
<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
|
||||
<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>
|
|
@ -0,0 +1,67 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File 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">
|
||||
|
||||
<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
|
||||
<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>
|
|
@ -0,0 +1,26 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data 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
|
||||
<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>
|
|
@ -0,0 +1,800 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="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 <assert.h></code><br>
|
||||
<code>#include <stddef.h></code><br>
|
||||
<code>#include <string.h></code><br>
|
||||
<code>#include "<a class="el" href="linebreak_8h_source.html">linebreak.h</a>"</code><br>
|
||||
<code>#include "<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>"</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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesIndex.html">LineBreakPropertiesIndex</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#0ba826ea7bf9cd9038b146bb3572dbf0">LINEBREAK_INDEX_SIZE</a> 40</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8d">BreakAction</a> { <br>
|
||||
<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>
|
||||
<a class="el" href="linebreak_8c.html#440c1a7abb9df5e3fc1d27b9a39e3a8dc31d10dc16c2e583ceb6c7e198fc9799">PROHIBITED_BRK</a>
|
||||
<br>
|
||||
}</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8c.html#57c2b88b7e1277cbba23cfffbc782c4f">init_linebreak</a> (void)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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> * </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"> </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> </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"> </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> </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"> </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> </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"> </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> </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"> </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> </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"> </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> </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"> </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> </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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> </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"> </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> </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"> </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 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> </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> </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> </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> </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> </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> </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> * </td>
|
||||
<td class="paramname"> <em>lbp</em></td><td> </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> </td><td>character to check </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>lbp</em> </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> </td>
|
||||
<td class="paramname"> <em>ch</em> </td>
|
||||
<td> ) </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> </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> </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> * </td>
|
||||
<td class="paramname"> <em>lbpLang</em></td><td> </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> </td><td>character to check </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>lbpLang</em> </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 * </td>
|
||||
<td class="paramname"> <em>lang</em> </td>
|
||||
<td> ) </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> </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> * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t * </td>
|
||||
<td class="paramname"> <em>ip</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input UTF-16 string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the string in words </td></tr>
|
||||
<tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>ip</em> </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> * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t * </td>
|
||||
<td class="paramname"> <em>ip</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input UTF-32 string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the string in dwords </td></tr>
|
||||
<tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>ip</em> </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> * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t * </td>
|
||||
<td class="paramname"> <em>ip</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input UTF-8 string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the string in bytes </td></tr>
|
||||
<tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>ip</em> </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 </td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </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> </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> </td>
|
||||
<td class="paramname"> <em>char2</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>lang</em></td><td> </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> </td><td>the first Unicode character </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>char2</em> </td><td>the second Unicode character </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>lang</em> </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—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> </td>
|
||||
<td class="paramname"> <em>lbc</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>lang</em></td><td> </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> </td><td>line breaking class to resolve </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>lang</em> </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 * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>lang</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </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> </td>
|
||||
<td class="paramname"> <em>get_next_char</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>lang</em> </td><td>language of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>brks</em> </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> </td><td valign="top"><em>get_next_char</em> </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> * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>lang</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"> <em>brks</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input UTF-16 string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>lang</em> </td><td>language of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>brks</em> </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> * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>lang</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"> <em>brks</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input UTF-32 string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>lang</em> </td><td>language of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>brks</em> </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> * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>lang</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"> <em>brks</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input UTF-8 string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>lang</em> </td><td>language of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>brks</em> </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
|
||||
<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>
|
|
@ -0,0 +1,457 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>linebreak.h File Reference</h1>Header file for the line breaking algorithm.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include <stddef.h></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 </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#367d64258fd90864a467687cd1736b77">LINEBREAK_MUSTBREAK</a> 0</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Break is mandatory. <a href="#367d64258fd90864a467687cd1736b77"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#229f34b0b72ccb2e53d0936a1e61a363">LINEBREAK_ALLOWBREAK</a> 1</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Break is allowed. <a href="#229f34b0b72ccb2e53d0936a1e61a363"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#dd176a107633817050bedf6eb4f491cc">LINEBREAK_NOBREAK</a> 2</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#5adf3d4831b89cb3e40e9bd31a73a39d">LINEBREAK_INSIDEACHAR</a> 3</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#9d54c1b18d4fc526a66ef64d9de9c63a">is_line_breakable</a> is_breakable</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#6103b2105588f239c593e779e605038a">utf8_t</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#4dce96cad338d9281612277b2d80950c">utf16_t</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#4f775bae0642c213be2c526018283c25">utf32_t</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreak_8h.html#57c2b88b7e1277cbba23cfffbc782c4f">init_linebreak</a> (void)</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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 </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"> </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 </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"> </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 </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"> </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 </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"> </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 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> </td><td>the first Unicode character </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>char2</em> </td><td>the second Unicode character </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>lang</em> </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 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 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 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 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 </td>
|
||||
<td class="paramname"> </td>
|
||||
<td> ) </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> </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> </td>
|
||||
<td class="paramname"> <em>char2</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>lang</em></td><td> </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> </td><td>the first Unicode character </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>char2</em> </td><td>the second Unicode character </td></tr>
|
||||
<tr><td valign="top"></td><td valign="top"><em>lang</em> </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—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> * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>lang</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"> <em>brks</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input UTF-16 string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>lang</em> </td><td>language of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>brks</em> </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> * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>lang</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"> <em>brks</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input UTF-32 string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>lang</em> </td><td>language of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>brks</em> </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> * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>lang</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </td>
|
||||
<td class="paramname"> <em>brks</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input UTF-8 string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>lang</em> </td><td>language of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>brks</em> </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
|
||||
<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>
|
|
@ -0,0 +1,108 @@
|
|||
<!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 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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File 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 <wuyongwei at gmail dot com></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"> * <URL:http://www.unicode.org/reports/tr14/></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"> * <URL:http://www.unicode.org/reports/tr14/tr14-19.html></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"> * <URL:http://www.unicode.org/reports/tr14/tr14-22.html></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"> * <URL:http://www.unicode.org/copyright.html></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 <stddef.h></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">"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>
|
||||
</pre></div></div>
|
||||
<hr size="1"><address style="text-align: right;"><small>Generated on Sun May 3 13:20:57 2009 for liblinebreak by
|
||||
<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>
|
|
@ -0,0 +1,57 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>linebreakdata.c File Reference</h1><code>#include "<a class="el" href="linebreak_8h_source.html">linebreak.h</a>"</code><br>
|
||||
<code>#include "<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>"</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> </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdata_8c.html#bbd8c6b6e4e1c8ad2da83f23f81ac29a">lb_prop_default</a> []</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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
|
||||
<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>
|
|
@ -0,0 +1,242 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="contents">
|
||||
<h1>linebreakdef.c File Reference</h1>Definition of language-specific data.
|
||||
<a href="#_details">More...</a>
|
||||
<p>
|
||||
<code>#include "<a class="el" href="linebreak_8h_source.html">linebreak.h</a>"</code><br>
|
||||
<code>#include "<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>"</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> </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#cb15b3309e7e1c7a48da9535c4e2855f">lb_prop_English</a> []</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#c39e3f65a289864edb8a38a201481627">lb_prop_German</a> []</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#41ee5277b95d453efdfb0e0242e1cb5f">lb_prop_Spanish</a> []</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#f75c60d3b0f882032e6932da25b9c9fa">lb_prop_French</a> []</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#980ede377c1ded0d24a58fb429f237f4">lb_prop_Russian</a> []</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8c.html#945fbc26db32e1f4fbce4f6e9ae70189">lb_prop_Chinese</a> []</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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> </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"> </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
|
||||
<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>
|
|
@ -0,0 +1,497 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File List</span></a></li>
|
||||
<li><a href="globals.html"><span>Globals</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
<div class="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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakProperties.html">LineBreakProperties</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesLang.html">LineBreakPropertiesLang</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#adbbc7b02d94a4c18646813ac8d7dec1">EOS</a> 0xFFFF</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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>(* </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"> </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 </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd04070">LineBreakClass</a> { <br>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<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>
|
||||
<a class="el" href="linebreakdef_8h.html#884b6565d87a81bbf549980bbdd0407049450c35ed2a20d252e707322964bdf0">LBP_XX</a>
|
||||
<br>
|
||||
}</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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 </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"> </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> </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"> </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> </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"> </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> </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"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="linebreakdef_8h.html#bbd8c6b6e4e1c8ad2da83f23f81ac29a">lb_prop_default</a> []</td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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> </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"> </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 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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> </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> * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t * </td>
|
||||
<td class="paramname"> <em>ip</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input UTF-16 string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the string in words </td></tr>
|
||||
<tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>ip</em> </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> * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t * </td>
|
||||
<td class="paramname"> <em>ip</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input UTF-32 string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the string in dwords </td></tr>
|
||||
<tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>ip</em> </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> * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t * </td>
|
||||
<td class="paramname"> <em>ip</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input UTF-8 string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the string in bytes </td></tr>
|
||||
<tr><td valign="top"><tt>[in,out]</tt> </td><td valign="top"><em>ip</em> </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 * </td>
|
||||
<td class="paramname"> <em>s</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">size_t </td>
|
||||
<td class="paramname"> <em>len</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">const char * </td>
|
||||
<td class="paramname"> <em>lang</em>, </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="paramkey"></td>
|
||||
<td></td>
|
||||
<td class="paramtype">char * </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> </td>
|
||||
<td class="paramname"> <em>get_next_char</em></td><td> </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> </td><td valign="top"><em>s</em> </td><td>input string </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>len</em> </td><td>length of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[in]</tt> </td><td valign="top"><em>lang</em> </td><td>language of the input </td></tr>
|
||||
<tr><td valign="top"><tt>[out]</tt> </td><td valign="top"><em>brks</em> </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> </td><td valign="top"><em>get_next_char</em> </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
|
||||
<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>
|
|
@ -0,0 +1,146 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data Structures</span></a></li>
|
||||
<li class="current"><a href="files.html"><span>Files</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="tabs">
|
||||
<ul>
|
||||
<li><a href="files.html"><span>File 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 <wuyongwei at gmail dot com></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"> * <URL:http://www.unicode.org/reports/tr14/></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"> * <URL:http://www.unicode.org/reports/tr14/tr14-19.html></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"> * <URL:http://www.unicode.org/reports/tr14/tr14-22.html></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"> * <URL:http://www.unicode.org/copyright.html></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
|
||||
<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>
|
|
@ -0,0 +1,28 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li class="current"><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li><a href="annotated.html"><span>Data 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
|
||||
<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>
|
|
@ -0,0 +1,106 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Data 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 Structures</span></a></li>
|
||||
<li><a href="classes.html"><span>Data Structure Index</span></a></li>
|
||||
<li><a href="functions.html"><span>Data 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 <<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>></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> </td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakProperties.html#1fe368ff9b53f52305c8dca687395372">start</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakProperties.html#f6ff463e88f6c694661aa10222404a14">end</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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> </td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakProperties.html#46d34ea3f514f8f082d92a441a6665ba">prop</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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
|
||||
<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>
|
|
@ -0,0 +1,82 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Data 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 Structures</span></a></li>
|
||||
<li><a href="classes.html"><span>Data Structure Index</span></a></li>
|
||||
<li><a href="functions.html"><span>Data 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> </td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesIndex.html#7a5207276632f772309f8cf2877c9eae">end</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesIndex.html#de56f82faa0703e4eafddb0fc4ba6528">lbp</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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
|
||||
<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>
|
|
@ -0,0 +1,104 @@
|
|||
<!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 Page</span></a></li>
|
||||
<li><a href="pages.html"><span>Related Pages</span></a></li>
|
||||
<li class="current"><a href="annotated.html"><span>Data 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 Structures</span></a></li>
|
||||
<li><a href="classes.html"><span>Data Structure Index</span></a></li>
|
||||
<li><a href="functions.html"><span>Data 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 <<a class="el" href="linebreakdef_8h_source.html">linebreakdef.h</a>></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 * </td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesLang.html#e961b49d11e272adc590cf06e9f6100d">lang</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </td><td class="mdescRight">Language name. <a href="#e961b49d11e272adc590cf06e9f6100d"></a><br></td></tr>
|
||||
<tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesLang.html#b5132ed92c5964a5cfecbb21de206488">namelen</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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> * </td><td class="memItemRight" valign="bottom"><a class="el" href="structLineBreakPropertiesLang.html#e4b7339a372a0ccbf97e380aa440ff9d">lbp</a></td></tr>
|
||||
|
||||
<tr><td class="mdescLeft"> </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
|
||||
<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>
|
BIN
native/sources/liblinebreak/liblinebreak-1.2/doc/html/tab_b.gif
Normal file
BIN
native/sources/liblinebreak/liblinebreak-1.2/doc/html/tab_b.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 35 B |
BIN
native/sources/liblinebreak/liblinebreak-1.2/doc/html/tab_l.gif
Normal file
BIN
native/sources/liblinebreak/liblinebreak-1.2/doc/html/tab_l.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 706 B |
BIN
native/sources/liblinebreak/liblinebreak-1.2/doc/html/tab_r.gif
Normal file
BIN
native/sources/liblinebreak/liblinebreak-1.2/doc/html/tab_r.gif
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.5 KiB |
105
native/sources/liblinebreak/liblinebreak-1.2/doc/html/tabs.css
Normal file
105
native/sources/liblinebreak/liblinebreak-1.2/doc/html/tabs.css
Normal file
|
@ -0,0 +1,105 @@
|
|||
/* tabs styles, based on http://www.alistapart.com/articles/slidingdoors */
|
||||
|
||||
DIV.tabs
|
||||
{
|
||||
float : left;
|
||||
width : 100%;
|
||||
background : url("tab_b.gif") repeat-x bottom;
|
||||
margin-bottom : 4px;
|
||||
}
|
||||
|
||||
DIV.tabs UL
|
||||
{
|
||||
margin : 0px;
|
||||
padding-left : 10px;
|
||||
list-style : none;
|
||||
}
|
||||
|
||||
DIV.tabs LI, DIV.tabs FORM
|
||||
{
|
||||
display : inline;
|
||||
margin : 0px;
|
||||
padding : 0px;
|
||||
}
|
||||
|
||||
DIV.tabs FORM
|
||||
{
|
||||
float : right;
|
||||
}
|
||||
|
||||
DIV.tabs A
|
||||
{
|
||||
float : left;
|
||||
background : url("tab_r.gif") no-repeat right top;
|
||||
border-bottom : 1px solid #84B0C7;
|
||||
font-size : 80%;
|
||||
font-weight : bold;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
DIV.tabs A:hover
|
||||
{
|
||||
background-position: 100% -150px;
|
||||
}
|
||||
|
||||
DIV.tabs A:link, DIV.tabs A:visited,
|
||||
DIV.tabs A:active, DIV.tabs A:hover
|
||||
{
|
||||
color: #1A419D;
|
||||
}
|
||||
|
||||
DIV.tabs SPAN
|
||||
{
|
||||
float : left;
|
||||
display : block;
|
||||
background : url("tab_l.gif") no-repeat left top;
|
||||
padding : 5px 9px;
|
||||
white-space : nowrap;
|
||||
}
|
||||
|
||||
DIV.tabs INPUT
|
||||
{
|
||||
float : right;
|
||||
display : inline;
|
||||
font-size : 1em;
|
||||
}
|
||||
|
||||
DIV.tabs TD
|
||||
{
|
||||
font-size : 80%;
|
||||
font-weight : bold;
|
||||
text-decoration : none;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* Commented Backslash Hack hides rule from IE5-Mac \*/
|
||||
DIV.tabs SPAN {float : none;}
|
||||
/* End IE5-Mac hack */
|
||||
|
||||
DIV.tabs A:hover SPAN
|
||||
{
|
||||
background-position: 0% -150px;
|
||||
}
|
||||
|
||||
DIV.tabs LI.current A
|
||||
{
|
||||
background-position: 100% -150px;
|
||||
border-width : 0px;
|
||||
}
|
||||
|
||||
DIV.tabs LI.current SPAN
|
||||
{
|
||||
background-position: 0% -150px;
|
||||
padding-bottom : 6px;
|
||||
}
|
||||
|
||||
DIV.navpath
|
||||
{
|
||||
background : none;
|
||||
border : none;
|
||||
border-bottom : 1px solid #84B0C7;
|
||||
text-align : center;
|
||||
margin : 2px;
|
||||
padding : 2px;
|
||||
}
|
507
native/sources/liblinebreak/liblinebreak-1.2/install-sh
Executable file
507
native/sources/liblinebreak/liblinebreak-1.2/install-sh
Executable file
|
@ -0,0 +1,507 @@
|
|||
#!/bin/sh
|
||||
# install - install a program, script, or datafile
|
||||
|
||||
scriptversion=2006-10-14.15
|
||||
|
||||
# This originates from X11R5 (mit/util/scripts/install.sh), which was
|
||||
# later released in X11R6 (xc/config/util/install.sh) with the
|
||||
# following copyright and license.
|
||||
#
|
||||
# Copyright (C) 1994 X Consortium
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
# of this software and associated documentation files (the "Software"), to
|
||||
# deal in the Software without restriction, including without limitation the
|
||||
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||
# sell copies of the Software, and to permit persons to whom the Software is
|
||||
# furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
|
||||
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
|
||||
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
#
|
||||
# Except as contained in this notice, the name of the X Consortium shall not
|
||||
# be used in advertising or otherwise to promote the sale, use or other deal-
|
||||
# ings in this Software without prior written authorization from the X Consor-
|
||||
# tium.
|
||||
#
|
||||
#
|
||||
# FSF changes to this file are in the public domain.
|
||||
#
|
||||
# Calling this script install-sh is preferred over install.sh, to prevent
|
||||
# `make' implicit rules from creating a file called install from it
|
||||
# when there is no Makefile.
|
||||
#
|
||||
# This script is compatible with the BSD install script, but was written
|
||||
# from scratch.
|
||||
|
||||
nl='
|
||||
'
|
||||
IFS=" "" $nl"
|
||||
|
||||
# set DOITPROG to echo to test this script
|
||||
|
||||
# Don't use :- since 4.3BSD and earlier shells don't like it.
|
||||
doit="${DOITPROG-}"
|
||||
if test -z "$doit"; then
|
||||
doit_exec=exec
|
||||
else
|
||||
doit_exec=$doit
|
||||
fi
|
||||
|
||||
# Put in absolute file names if you don't have them in your path;
|
||||
# or use environment vars.
|
||||
|
||||
mvprog="${MVPROG-mv}"
|
||||
cpprog="${CPPROG-cp}"
|
||||
chmodprog="${CHMODPROG-chmod}"
|
||||
chownprog="${CHOWNPROG-chown}"
|
||||
chgrpprog="${CHGRPPROG-chgrp}"
|
||||
stripprog="${STRIPPROG-strip}"
|
||||
rmprog="${RMPROG-rm}"
|
||||
mkdirprog="${MKDIRPROG-mkdir}"
|
||||
|
||||
posix_glob=
|
||||
posix_mkdir=
|
||||
|
||||
# Desired mode of installed file.
|
||||
mode=0755
|
||||
|
||||
chmodcmd=$chmodprog
|
||||
chowncmd=
|
||||
chgrpcmd=
|
||||
stripcmd=
|
||||
rmcmd="$rmprog -f"
|
||||
mvcmd="$mvprog"
|
||||
src=
|
||||
dst=
|
||||
dir_arg=
|
||||
dstarg=
|
||||
no_target_directory=
|
||||
|
||||
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
|
||||
or: $0 [OPTION]... SRCFILES... DIRECTORY
|
||||
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
|
||||
or: $0 [OPTION]... -d DIRECTORIES...
|
||||
|
||||
In the 1st form, copy SRCFILE to DSTFILE.
|
||||
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
|
||||
In the 4th, create DIRECTORIES.
|
||||
|
||||
Options:
|
||||
-c (ignored)
|
||||
-d create directories instead of installing files.
|
||||
-g GROUP $chgrpprog installed files to GROUP.
|
||||
-m MODE $chmodprog installed files to MODE.
|
||||
-o USER $chownprog installed files to USER.
|
||||
-s $stripprog installed files.
|
||||
-t DIRECTORY install into DIRECTORY.
|
||||
-T report an error if DSTFILE is a directory.
|
||||
--help display this help and exit.
|
||||
--version display version info and exit.
|
||||
|
||||
Environment variables override the default commands:
|
||||
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
|
||||
"
|
||||
|
||||
while test $# -ne 0; do
|
||||
case $1 in
|
||||
-c) shift
|
||||
continue;;
|
||||
|
||||
-d) dir_arg=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-g) chgrpcmd="$chgrpprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
--help) echo "$usage"; exit $?;;
|
||||
|
||||
-m) mode=$2
|
||||
shift
|
||||
shift
|
||||
case $mode in
|
||||
*' '* | *' '* | *'
|
||||
'* | *'*'* | *'?'* | *'['*)
|
||||
echo "$0: invalid mode: $mode" >&2
|
||||
exit 1;;
|
||||
esac
|
||||
continue;;
|
||||
|
||||
-o) chowncmd="$chownprog $2"
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-s) stripcmd=$stripprog
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-t) dstarg=$2
|
||||
shift
|
||||
shift
|
||||
continue;;
|
||||
|
||||
-T) no_target_directory=true
|
||||
shift
|
||||
continue;;
|
||||
|
||||
--version) echo "$0 $scriptversion"; exit $?;;
|
||||
|
||||
--) shift
|
||||
break;;
|
||||
|
||||
-*) echo "$0: invalid option: $1" >&2
|
||||
exit 1;;
|
||||
|
||||
*) break;;
|
||||
esac
|
||||
done
|
||||
|
||||
if test $# -ne 0 && test -z "$dir_arg$dstarg"; then
|
||||
# When -d is used, all remaining arguments are directories to create.
|
||||
# When -t is used, the destination is already specified.
|
||||
# Otherwise, the last argument is the destination. Remove it from $@.
|
||||
for arg
|
||||
do
|
||||
if test -n "$dstarg"; then
|
||||
# $@ is not empty: it contains at least $arg.
|
||||
set fnord "$@" "$dstarg"
|
||||
shift # fnord
|
||||
fi
|
||||
shift # arg
|
||||
dstarg=$arg
|
||||
done
|
||||
fi
|
||||
|
||||
if test $# -eq 0; then
|
||||
if test -z "$dir_arg"; then
|
||||
echo "$0: no input file specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
# It's OK to call `install-sh -d' without argument.
|
||||
# This can happen when creating conditional directories.
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if test -z "$dir_arg"; then
|
||||
trap '(exit $?); exit' 1 2 13 15
|
||||
|
||||
# Set umask so as not to create temps with too-generous modes.
|
||||
# However, 'strip' requires both read and write access to temps.
|
||||
case $mode in
|
||||
# Optimize common cases.
|
||||
*644) cp_umask=133;;
|
||||
*755) cp_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw='% 200'
|
||||
fi
|
||||
cp_umask=`expr '(' 777 - $mode % 1000 ')' $u_plus_rw`;;
|
||||
*)
|
||||
if test -z "$stripcmd"; then
|
||||
u_plus_rw=
|
||||
else
|
||||
u_plus_rw=,u+rw
|
||||
fi
|
||||
cp_umask=$mode$u_plus_rw;;
|
||||
esac
|
||||
fi
|
||||
|
||||
for src
|
||||
do
|
||||
# Protect names starting with `-'.
|
||||
case $src in
|
||||
-*) src=./$src ;;
|
||||
esac
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
dst=$src
|
||||
dstdir=$dst
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
else
|
||||
|
||||
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
|
||||
# might cause directories to be created, which would be especially bad
|
||||
# if $src (and thus $dsttmp) contains '*'.
|
||||
if test ! -f "$src" && test ! -d "$src"; then
|
||||
echo "$0: $src does not exist." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test -z "$dstarg"; then
|
||||
echo "$0: no destination specified." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dst=$dstarg
|
||||
# Protect names starting with `-'.
|
||||
case $dst in
|
||||
-*) dst=./$dst ;;
|
||||
esac
|
||||
|
||||
# If destination is a directory, append the input filename; won't work
|
||||
# if double slashes aren't ignored.
|
||||
if test -d "$dst"; then
|
||||
if test -n "$no_target_directory"; then
|
||||
echo "$0: $dstarg: Is a directory" >&2
|
||||
exit 1
|
||||
fi
|
||||
dstdir=$dst
|
||||
dst=$dstdir/`basename "$src"`
|
||||
dstdir_status=0
|
||||
else
|
||||
# Prefer dirname, but fall back on a substitute if dirname fails.
|
||||
dstdir=`
|
||||
(dirname "$dst") 2>/dev/null ||
|
||||
expr X"$dst" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
|
||||
X"$dst" : 'X\(//\)[^/]' \| \
|
||||
X"$dst" : 'X\(//\)$' \| \
|
||||
X"$dst" : 'X\(/\)' \| . 2>/dev/null ||
|
||||
echo X"$dst" |
|
||||
sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)[^/].*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\/\)$/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
/^X\(\/\).*/{
|
||||
s//\1/
|
||||
q
|
||||
}
|
||||
s/.*/./; q'
|
||||
`
|
||||
|
||||
test -d "$dstdir"
|
||||
dstdir_status=$?
|
||||
fi
|
||||
fi
|
||||
|
||||
obsolete_mkdir_used=false
|
||||
|
||||
if test $dstdir_status != 0; then
|
||||
case $posix_mkdir in
|
||||
'')
|
||||
# Create intermediate dirs using mode 755 as modified by the umask.
|
||||
# This is like FreeBSD 'install' as of 1997-10-28.
|
||||
umask=`umask`
|
||||
case $stripcmd.$umask in
|
||||
# Optimize common cases.
|
||||
*[2367][2367]) mkdir_umask=$umask;;
|
||||
.*0[02][02] | .[02][02] | .[02]) mkdir_umask=22;;
|
||||
|
||||
*[0-7])
|
||||
mkdir_umask=`expr $umask + 22 \
|
||||
- $umask % 100 % 40 + $umask % 20 \
|
||||
- $umask % 10 % 4 + $umask % 2
|
||||
`;;
|
||||
*) mkdir_umask=$umask,go-w;;
|
||||
esac
|
||||
|
||||
# With -d, create the new directory with the user-specified mode.
|
||||
# Otherwise, rely on $mkdir_umask.
|
||||
if test -n "$dir_arg"; then
|
||||
mkdir_mode=-m$mode
|
||||
else
|
||||
mkdir_mode=
|
||||
fi
|
||||
|
||||
posix_mkdir=false
|
||||
case $umask in
|
||||
*[123567][0-7][0-7])
|
||||
# POSIX mkdir -p sets u+wx bits regardless of umask, which
|
||||
# is incompatible with FreeBSD 'install' when (umask & 300) != 0.
|
||||
;;
|
||||
*)
|
||||
tmpdir=${TMPDIR-/tmp}/ins$RANDOM-$$
|
||||
trap 'ret=$?; rmdir "$tmpdir/d" "$tmpdir" 2>/dev/null; exit $ret' 0
|
||||
|
||||
if (umask $mkdir_umask &&
|
||||
exec $mkdirprog $mkdir_mode -p -- "$tmpdir/d") >/dev/null 2>&1
|
||||
then
|
||||
if test -z "$dir_arg" || {
|
||||
# Check for POSIX incompatibilities with -m.
|
||||
# HP-UX 11.23 and IRIX 6.5 mkdir -m -p sets group- or
|
||||
# other-writeable bit of parent directory when it shouldn't.
|
||||
# FreeBSD 6.1 mkdir -m -p sets mode of existing directory.
|
||||
ls_ld_tmpdir=`ls -ld "$tmpdir"`
|
||||
case $ls_ld_tmpdir in
|
||||
d????-?r-*) different_mode=700;;
|
||||
d????-?--*) different_mode=755;;
|
||||
*) false;;
|
||||
esac &&
|
||||
$mkdirprog -m$different_mode -p -- "$tmpdir" && {
|
||||
ls_ld_tmpdir_1=`ls -ld "$tmpdir"`
|
||||
test "$ls_ld_tmpdir" = "$ls_ld_tmpdir_1"
|
||||
}
|
||||
}
|
||||
then posix_mkdir=:
|
||||
fi
|
||||
rmdir "$tmpdir/d" "$tmpdir"
|
||||
else
|
||||
# Remove any dirs left behind by ancient mkdir implementations.
|
||||
rmdir ./$mkdir_mode ./-p ./-- 2>/dev/null
|
||||
fi
|
||||
trap '' 0;;
|
||||
esac;;
|
||||
esac
|
||||
|
||||
if
|
||||
$posix_mkdir && (
|
||||
umask $mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir"
|
||||
)
|
||||
then :
|
||||
else
|
||||
|
||||
# The umask is ridiculous, or mkdir does not conform to POSIX,
|
||||
# or it failed possibly due to a race condition. Create the
|
||||
# directory the slow way, step by step, checking for races as we go.
|
||||
|
||||
case $dstdir in
|
||||
/*) prefix=/ ;;
|
||||
-*) prefix=./ ;;
|
||||
*) prefix= ;;
|
||||
esac
|
||||
|
||||
case $posix_glob in
|
||||
'')
|
||||
if (set -f) 2>/dev/null; then
|
||||
posix_glob=true
|
||||
else
|
||||
posix_glob=false
|
||||
fi ;;
|
||||
esac
|
||||
|
||||
oIFS=$IFS
|
||||
IFS=/
|
||||
$posix_glob && set -f
|
||||
set fnord $dstdir
|
||||
shift
|
||||
$posix_glob && set +f
|
||||
IFS=$oIFS
|
||||
|
||||
prefixes=
|
||||
|
||||
for d
|
||||
do
|
||||
test -z "$d" && continue
|
||||
|
||||
prefix=$prefix$d
|
||||
if test -d "$prefix"; then
|
||||
prefixes=
|
||||
else
|
||||
if $posix_mkdir; then
|
||||
(umask=$mkdir_umask &&
|
||||
$doit_exec $mkdirprog $mkdir_mode -p -- "$dstdir") && break
|
||||
# Don't fail if two instances are running concurrently.
|
||||
test -d "$prefix" || exit 1
|
||||
else
|
||||
case $prefix in
|
||||
*\'*) qprefix=`echo "$prefix" | sed "s/'/'\\\\\\\\''/g"`;;
|
||||
*) qprefix=$prefix;;
|
||||
esac
|
||||
prefixes="$prefixes '$qprefix'"
|
||||
fi
|
||||
fi
|
||||
prefix=$prefix/
|
||||
done
|
||||
|
||||
if test -n "$prefixes"; then
|
||||
# Don't fail if two instances are running concurrently.
|
||||
(umask $mkdir_umask &&
|
||||
eval "\$doit_exec \$mkdirprog $prefixes") ||
|
||||
test -d "$dstdir" || exit 1
|
||||
obsolete_mkdir_used=true
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if test -n "$dir_arg"; then
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dst"; } &&
|
||||
{ test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } &&
|
||||
{ test "$obsolete_mkdir_used$chowncmd$chgrpcmd" = false ||
|
||||
test -z "$chmodcmd" || $doit $chmodcmd $mode "$dst"; } || exit 1
|
||||
else
|
||||
|
||||
# Make a couple of temp file names in the proper directory.
|
||||
dsttmp=$dstdir/_inst.$$_
|
||||
rmtmp=$dstdir/_rm.$$_
|
||||
|
||||
# Trap to clean up those temp files at exit.
|
||||
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
|
||||
|
||||
# Copy the file name to the temp name.
|
||||
(umask $cp_umask && $doit_exec $cpprog "$src" "$dsttmp") &&
|
||||
|
||||
# and set any options; do chmod last to preserve setuid bits.
|
||||
#
|
||||
# If any of these fail, we abort the whole thing. If we want to
|
||||
# ignore errors from any of these, just make sure not to ignore
|
||||
# errors from the above "$doit $cpprog $src $dsttmp" command.
|
||||
#
|
||||
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
|
||||
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
|
||||
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
|
||||
&& { test -z "$chmodcmd" || $doit $chmodcmd $mode "$dsttmp"; } &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
{ $doit $mvcmd -f "$dsttmp" "$dst" 2>/dev/null \
|
||||
|| {
|
||||
# The rename failed, perhaps because mv can't rename something else
|
||||
# to itself, or perhaps because mv is so ancient that it does not
|
||||
# support -f.
|
||||
|
||||
# Now remove or move aside any old file at destination location.
|
||||
# We try this two ways since rm can't unlink itself on some
|
||||
# systems and the destination file might be busy for other
|
||||
# reasons. In this case, the final cleanup might fail but the new
|
||||
# file should still install successfully.
|
||||
{
|
||||
if test -f "$dst"; then
|
||||
$doit $rmcmd -f "$dst" 2>/dev/null \
|
||||
|| { $doit $mvcmd -f "$dst" "$rmtmp" 2>/dev/null \
|
||||
&& { $doit $rmcmd -f "$rmtmp" 2>/dev/null; :; }; }\
|
||||
|| {
|
||||
echo "$0: cannot unlink or rename $dst" >&2
|
||||
(exit 1); exit 1
|
||||
}
|
||||
else
|
||||
:
|
||||
fi
|
||||
} &&
|
||||
|
||||
# Now rename the file to the real destination.
|
||||
$doit $mvcmd "$dsttmp" "$dst"
|
||||
}
|
||||
} || exit 1
|
||||
|
||||
trap '' 0
|
||||
fi
|
||||
done
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
810
native/sources/liblinebreak/liblinebreak-1.2/linebreak.c
Normal file
810
native/sources/liblinebreak/liblinebreak-1.2/linebreak.c
Normal file
|
@ -0,0 +1,810 @@
|
|||
/* vim: set tabstop=4 shiftwidth=4: */
|
||||
|
||||
/*
|
||||
* Line breaking in a Unicode sequence. Designed to be used in a
|
||||
* generic text renderer.
|
||||
*
|
||||
* Copyright (C) 2008-2009 Wu Yongwei <wuyongwei at gmail dot com>
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the author be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute
|
||||
* it freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must
|
||||
* not claim that you wrote the original software. If you use this
|
||||
* software in a product, an acknowledgement in the product
|
||||
* documentation would be appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must
|
||||
* not be misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source
|
||||
* distribution.
|
||||
*
|
||||
* The main reference is Unicode Standard Annex 14 (UAX #14):
|
||||
* <URL:http://www.unicode.org/reports/tr14/>
|
||||
*
|
||||
* When this library was designed, this annex was at Revision 19, for
|
||||
* 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>
|
||||
*
|
||||
* The Unicode Terms of Use are available at
|
||||
* <URL:http://www.unicode.org/copyright.html>
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file linebreak.c
|
||||
*
|
||||
* Implementation of the line breaking algorithm as described in Unicode
|
||||
* Standard Annex 14.
|
||||
*
|
||||
* @version 1.2, 2009/04/29
|
||||
* @author Wu Yongwei
|
||||
*/
|
||||
|
||||
#include <assert.h>
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
#include "linebreak.h"
|
||||
#include "linebreakdef.h"
|
||||
|
||||
/**
|
||||
* Size of the second-level index to the line breaking properties.
|
||||
*/
|
||||
#define LINEBREAK_INDEX_SIZE 40
|
||||
|
||||
/**
|
||||
* Enumeration of break actions. They are used in the break action
|
||||
* pair table below.
|
||||
*/
|
||||
enum BreakAction
|
||||
{
|
||||
DIRECT_BRK, /**< Direct break opportunity */
|
||||
INDIRECT_BRK, /**< Indirect break opportunity */
|
||||
CM_INDIRECT_BRK, /**< Indirect break opportunity for combining marks */
|
||||
CM_PROHIBITED_BRK, /**< Prohibited break for combining marks */
|
||||
PROHIBITED_BRK /**< Prohibited break */
|
||||
};
|
||||
|
||||
/**
|
||||
* Break action pair table. This is a direct mapping of Table 2 of
|
||||
* Unicode Standard Annex 14, Revision 22.
|
||||
|
||||
*/
|
||||
static enum BreakAction baTable[LBP_JT][LBP_JT] = {
|
||||
{ /* OP */
|
||||
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, 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 },
|
||||
{ /* 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, 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,
|
||||
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,
|
||||
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,
|
||||
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 },
|
||||
{ /* 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 },
|
||||
{ /* 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 },
|
||||
{ /* 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 },
|
||||
{ /* 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,
|
||||
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,
|
||||
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, 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 },
|
||||
{ /* 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,
|
||||
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 },
|
||||
{ /* 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 },
|
||||
{ /* 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 },
|
||||
{ /* 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 },
|
||||
{ /* 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 }
|
||||
};
|
||||
|
||||
/**
|
||||
* Struct for the second-level index to the line breaking properties.
|
||||
*/
|
||||
struct LineBreakPropertiesIndex
|
||||
{
|
||||
utf32_t end; /**< End coding point */
|
||||
struct LineBreakProperties *lbp;/**< Pointer to line breaking properties */
|
||||
};
|
||||
|
||||
/**
|
||||
* Second-level index to the line breaking properties.
|
||||
*/
|
||||
static struct LineBreakPropertiesIndex lb_prop_index[LINEBREAK_INDEX_SIZE] =
|
||||
{
|
||||
{ 0xFFFFFFFF, lb_prop_default }
|
||||
};
|
||||
|
||||
/**
|
||||
* 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)
|
||||
{
|
||||
size_t i;
|
||||
size_t iPropDefault;
|
||||
size_t len;
|
||||
size_t step;
|
||||
|
||||
len = 0;
|
||||
while (lb_prop_default[len].prop != LBP_Undefined)
|
||||
++len;
|
||||
step = len / LINEBREAK_INDEX_SIZE;
|
||||
iPropDefault = 0;
|
||||
for (i = 0; i < LINEBREAK_INDEX_SIZE; ++i)
|
||||
{
|
||||
lb_prop_index[i].lbp = lb_prop_default + iPropDefault;
|
||||
iPropDefault += step;
|
||||
lb_prop_index[i].end = lb_prop_default[iPropDefault].start - 1;
|
||||
}
|
||||
lb_prop_index[--i].end = 0xFFFFFFFF;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the language-specific line breaking properties.
|
||||
*
|
||||
* @param lang language of the text
|
||||
* @return pointer to the language-specific line breaking
|
||||
* properties array if found; \c NULL otherwise
|
||||
*/
|
||||
static struct LineBreakProperties *get_lb_prop_lang(const char *lang)
|
||||
{
|
||||
struct LineBreakPropertiesLang *lbplIter;
|
||||
if (lang != NULL)
|
||||
{
|
||||
for (lbplIter = lb_prop_lang_map; lbplIter->lang != NULL; ++lbplIter)
|
||||
{
|
||||
if (strncmp(lang, lbplIter->lang, lbplIter->namelen) == 0)
|
||||
{
|
||||
return lbplIter->lbp;
|
||||
}
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the line breaking class of a character from a line breaking
|
||||
* properties array.
|
||||
*
|
||||
* @param ch character to check
|
||||
* @param lbp pointer to the line breaking properties array
|
||||
* @return the line breaking class if found; \c LBP_XX otherwise
|
||||
*/
|
||||
static enum LineBreakClass get_char_lb_class(
|
||||
utf32_t ch,
|
||||
struct LineBreakProperties *lbp)
|
||||
{
|
||||
while (lbp->prop != LBP_Undefined && ch >= lbp->start)
|
||||
{
|
||||
if (ch <= lbp->end)
|
||||
return lbp->prop;
|
||||
++lbp;
|
||||
}
|
||||
return LBP_XX;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the line breaking class of a character from the default line
|
||||
* breaking properties array.
|
||||
*
|
||||
* @param ch character to check
|
||||
* @return the line breaking class if found; \c LBP_XX otherwise
|
||||
*/
|
||||
static enum LineBreakClass get_char_lb_class_default(
|
||||
utf32_t ch)
|
||||
{
|
||||
size_t i = 0;
|
||||
while (ch > lb_prop_index[i].end)
|
||||
++i;
|
||||
assert(i < LINEBREAK_INDEX_SIZE);
|
||||
return get_char_lb_class(ch, lb_prop_index[i].lbp);
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the line breaking class of a character for a specific
|
||||
* language. 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.
|
||||
*
|
||||
* @param ch character to check
|
||||
* @param lbpLang pointer to the language-specific line breaking
|
||||
* properties array
|
||||
* @return the line breaking class if found; \c LBP_XX
|
||||
* otherwise
|
||||
*/
|
||||
static enum LineBreakClass get_char_lb_class_lang(
|
||||
utf32_t ch,
|
||||
struct LineBreakProperties *lbpLang)
|
||||
{
|
||||
enum LineBreakClass lbcResult;
|
||||
|
||||
/* Find the language-specific line breaking class for a character */
|
||||
if (lbpLang)
|
||||
{
|
||||
lbcResult = get_char_lb_class(ch, lbpLang);
|
||||
if (lbcResult != LBP_XX)
|
||||
return lbcResult;
|
||||
}
|
||||
|
||||
/* Find the generic language-specific line breaking class, if no
|
||||
* language context is provided, or language-specific data are not
|
||||
* available for the specific character in the specified language */
|
||||
return get_char_lb_class_default(ch);
|
||||
}
|
||||
|
||||
/**
|
||||
* Resolves the line breaking class for certain ambiguous or complicated
|
||||
* characters. They are treated in a simplistic way in this
|
||||
* implementation.
|
||||
*
|
||||
* @param lbc line breaking class to resolve
|
||||
* @param lang language of the text
|
||||
* @return the resolved line breaking class
|
||||
*/
|
||||
static enum LineBreakClass resolve_lb_class(
|
||||
enum LineBreakClass lbc,
|
||||
const char *lang)
|
||||
{
|
||||
switch (lbc)
|
||||
{
|
||||
case LBP_AI:
|
||||
if (lang != NULL &&
|
||||
(strncmp(lang, "zh", 2) == 0 || /* Chinese */
|
||||
strncmp(lang, "ja", 2) == 0 || /* Japanese */
|
||||
strncmp(lang, "ko", 2) == 0)) /* Korean */
|
||||
{
|
||||
return LBP_ID;
|
||||
}
|
||||
/* Fall through */
|
||||
case LBP_SA:
|
||||
case LBP_SG:
|
||||
case LBP_XX:
|
||||
return LBP_AL;
|
||||
default:
|
||||
return lbc;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the next Unicode character in a UTF-8 sequence. 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.
|
||||
*
|
||||
* @param[in] s input UTF-8 string
|
||||
* @param[in] len length of the string in bytes
|
||||
* @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(
|
||||
const utf8_t *s,
|
||||
size_t len,
|
||||
size_t *ip)
|
||||
{
|
||||
utf8_t ch;
|
||||
utf32_t res;
|
||||
|
||||
assert(*ip <= len);
|
||||
if (*ip == len)
|
||||
return EOS;
|
||||
ch = s[*ip];
|
||||
|
||||
if (ch < 0xC2 || ch > 0xF4)
|
||||
{ /* One-byte sequence, tail (should not occur), or invalid */
|
||||
*ip += 1;
|
||||
return ch;
|
||||
}
|
||||
else if (ch < 0xE0)
|
||||
{ /* Two-byte sequence */
|
||||
if (*ip + 2 > len)
|
||||
return EOS;
|
||||
res = ((ch & 0x1F) << 6) + (s[*ip + 1] & 0x3F);
|
||||
*ip += 2;
|
||||
return res;
|
||||
}
|
||||
else if (ch < 0xF0)
|
||||
{ /* Three-byte sequence */
|
||||
if (*ip + 3 > len)
|
||||
return EOS;
|
||||
res = ((ch & 0x0F) << 12) +
|
||||
((s[*ip + 1] & 0x3F) << 6) +
|
||||
((s[*ip + 2] & 0x3F));
|
||||
*ip += 3;
|
||||
return res;
|
||||
}
|
||||
else
|
||||
{ /* Four-byte sequence */
|
||||
if (*ip + 4 > len)
|
||||
return EOS;
|
||||
res = ((ch & 0x07) << 18) +
|
||||
((s[*ip + 1] & 0x3F) << 12) +
|
||||
((s[*ip + 2] & 0x3F) << 6) +
|
||||
((s[*ip + 3] & 0x3F));
|
||||
*ip += 4;
|
||||
return res;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the next Unicode character in a UTF-16 sequence. 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.
|
||||
*
|
||||
* @param[in] s input UTF-16 string
|
||||
* @param[in] len length of the string in words
|
||||
* @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(
|
||||
const utf16_t *s,
|
||||
size_t len,
|
||||
size_t *ip)
|
||||
{
|
||||
utf16_t ch;
|
||||
|
||||
assert(*ip <= len);
|
||||
if (*ip == len)
|
||||
return EOS;
|
||||
ch = s[(*ip)++];
|
||||
|
||||
if (ch < 0xD800 || ch > 0xDBFF)
|
||||
{ /* If the character is not a high surrogate */
|
||||
return ch;
|
||||
}
|
||||
if (*ip == len)
|
||||
{ /* If the input ends here (an error) */
|
||||
--(*ip);
|
||||
return EOS;
|
||||
}
|
||||
if (s[*ip] < 0xDC00 || s[*ip] > 0xDFFF)
|
||||
{ /* If the next character is not the low surrogate (an error) */
|
||||
return ch;
|
||||
}
|
||||
/* Return the constructed character and advance the index again */
|
||||
return (((utf32_t)ch & 0x3FF) << 10) + (s[(*ip)++] & 0x3FF) + 0x10000;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the next Unicode character in a UTF-32 sequence. The index will
|
||||
* be advanced to the next character.
|
||||
*
|
||||
* @param[in] s input UTF-32 string
|
||||
* @param[in] len length of the string in dwords
|
||||
* @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(
|
||||
const utf32_t *s,
|
||||
size_t len,
|
||||
size_t *ip)
|
||||
{
|
||||
assert(*ip <= len);
|
||||
if (*ip == len)
|
||||
return EOS;
|
||||
return s[(*ip)++];
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
*/
|
||||
void set_linebreaks(
|
||||
const void *s,
|
||||
size_t len,
|
||||
const char *lang,
|
||||
char *brks,
|
||||
get_next_char_t get_next_char)
|
||||
{
|
||||
utf32_t ch;
|
||||
enum LineBreakClass lbcCur;
|
||||
enum LineBreakClass lbcNew;
|
||||
enum LineBreakClass lbcLast;
|
||||
struct LineBreakProperties *lbpLang;
|
||||
size_t posCur = 0;
|
||||
size_t posLast = 0;
|
||||
|
||||
--posLast; /* To be ++'d later */
|
||||
ch = get_next_char(s, len, &posCur);
|
||||
if (ch == EOS)
|
||||
return;
|
||||
lbpLang = get_lb_prop_lang(lang);
|
||||
lbcCur = resolve_lb_class(get_char_lb_class_lang(ch, lbpLang), lang);
|
||||
lbcNew = LBP_Undefined;
|
||||
|
||||
nextline:
|
||||
|
||||
/* Special treatment for the first character */
|
||||
switch (lbcCur)
|
||||
{
|
||||
case LBP_LF:
|
||||
case LBP_NL:
|
||||
lbcCur = LBP_BK;
|
||||
break;
|
||||
case LBP_SP:
|
||||
lbcCur = LBP_WJ;
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
/* Process a line till an explicit break or end of string */
|
||||
for (;;)
|
||||
{
|
||||
for (++posLast; posLast < posCur - 1; ++posLast)
|
||||
{
|
||||
brks[posLast] = LINEBREAK_INSIDEACHAR;
|
||||
}
|
||||
assert(posLast == posCur - 1);
|
||||
lbcLast = lbcNew;
|
||||
ch = get_next_char(s, len, &posCur);
|
||||
if (ch == EOS)
|
||||
break;
|
||||
lbcNew = get_char_lb_class_lang(ch, lbpLang);
|
||||
if (lbcCur == LBP_BK || (lbcCur == LBP_CR && lbcNew != LBP_LF))
|
||||
{
|
||||
brks[posLast] = LINEBREAK_MUSTBREAK;
|
||||
lbcCur = resolve_lb_class(lbcNew, lang);
|
||||
goto nextline;
|
||||
}
|
||||
|
||||
switch (lbcNew)
|
||||
{
|
||||
case LBP_SP:
|
||||
brks[posLast] = LINEBREAK_NOBREAK;
|
||||
continue;
|
||||
case LBP_BK:
|
||||
case LBP_LF:
|
||||
case LBP_NL:
|
||||
brks[posLast] = LINEBREAK_NOBREAK;
|
||||
lbcCur = LBP_BK;
|
||||
continue;
|
||||
case LBP_CR:
|
||||
brks[posLast] = LINEBREAK_NOBREAK;
|
||||
lbcCur = LBP_CR;
|
||||
continue;
|
||||
case LBP_CB:
|
||||
brks[posLast] = LINEBREAK_ALLOWBREAK;
|
||||
lbcCur = LBP_BA;
|
||||
continue;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
lbcNew = resolve_lb_class(lbcNew, lang);
|
||||
|
||||
assert(lbcCur <= LBP_JT);
|
||||
assert(lbcNew <= LBP_JT);
|
||||
switch (baTable[lbcCur - 1][lbcNew - 1])
|
||||
{
|
||||
case DIRECT_BRK:
|
||||
brks[posLast] = LINEBREAK_ALLOWBREAK;
|
||||
break;
|
||||
case CM_INDIRECT_BRK:
|
||||
case INDIRECT_BRK:
|
||||
if (lbcLast == LBP_SP)
|
||||
{
|
||||
brks[posLast] = LINEBREAK_ALLOWBREAK;
|
||||
}
|
||||
else
|
||||
{
|
||||
brks[posLast] = LINEBREAK_NOBREAK;
|
||||
}
|
||||
break;
|
||||
case CM_PROHIBITED_BRK:
|
||||
brks[posLast] = LINEBREAK_NOBREAK;
|
||||
if (lbcLast != LBP_SP)
|
||||
continue;
|
||||
break;
|
||||
case PROHIBITED_BRK:
|
||||
brks[posLast] = LINEBREAK_NOBREAK;
|
||||
break;
|
||||
}
|
||||
|
||||
lbcCur = lbcNew;
|
||||
}
|
||||
|
||||
assert(posLast == posCur - 1 && posCur <= len);
|
||||
/* Break after the last character */
|
||||
brks[posLast] = LINEBREAK_MUSTBREAK;
|
||||
/* When the input contains incomplete sequences */
|
||||
while (posCur < len)
|
||||
{
|
||||
brks[posCur++] = LINEBREAK_INSIDEACHAR;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 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)
|
||||
{
|
||||
set_linebreaks(s, len, lang, brks, (get_next_char_t)get_next_char_utf8);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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)
|
||||
{
|
||||
set_linebreaks(s, len, lang, brks, (get_next_char_t)get_next_char_utf16);
|
||||
}
|
||||
|
||||
/**
|
||||
* 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)
|
||||
{
|
||||
set_linebreaks(s, len, lang, brks, (get_next_char_t)get_next_char_utf32);
|
||||
}
|
||||
|
||||
/**
|
||||
* Tells whether a line break can occur between two Unicode characters.
|
||||
* 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
|
||||
*
|
||||
* @deprecated This function will be renamed to #is_line_breakable in
|
||||
* the future. The name is already defined as a
|
||||
* macro—please use it.
|
||||
*/
|
||||
int is_breakable(
|
||||
utf32_t char1,
|
||||
utf32_t char2,
|
||||
const char* lang)
|
||||
{
|
||||
utf32_t s[2];
|
||||
char brks[2];
|
||||
s[0] = char1;
|
||||
s[1] = char2;
|
||||
set_linebreaks_utf32(s, 2, lang, brks);
|
||||
return brks[0];
|
||||
}
|
140
native/sources/liblinebreak/liblinebreak-1.2/linebreak.h
Normal file
140
native/sources/liblinebreak/liblinebreak-1.2/linebreak.h
Normal file
|
@ -0,0 +1,140 @@
|
|||
/* vim: set tabstop=4 shiftwidth=4: */
|
||||
|
||||
/*
|
||||
* Line breaking in a Unicode sequence. Designed to be used in a
|
||||
* generic text renderer.
|
||||
*
|
||||
* Copyright (C) 2008-2009 Wu Yongwei <wuyongwei at gmail dot com>
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the author be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute
|
||||
* it freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must
|
||||
* not claim that you wrote the original software. If you use this
|
||||
* software in a product, an acknowledgement in the product
|
||||
* documentation would be appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must
|
||||
* not be misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source
|
||||
* distribution.
|
||||
*
|
||||
* The main reference is Unicode Standard Annex 14 (UAX #14):
|
||||
* <URL:http://www.unicode.org/reports/tr14/>
|
||||
*
|
||||
* When this library was designed, this annex was at Revision 19, for
|
||||
* 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>
|
||||
*
|
||||
* The Unicode Terms of Use are available at
|
||||
* <URL:http://www.unicode.org/copyright.html>
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file linebreak.h
|
||||
*
|
||||
* Header file for the line breaking algorithm.
|
||||
*
|
||||
* @version 1.2, 2009/05/03
|
||||
* @author Wu Yongwei
|
||||
*/
|
||||
|
||||
#ifndef LINEBREAK_H
|
||||
#define LINEBREAK_H
|
||||
|
||||
#include <stddef.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef LINEBREAK_UTF_TYPES_DEFINED
|
||||
#define LINEBREAK_UTF_TYPES_DEFINED
|
||||
typedef unsigned char utf8_t; /**< Type for UTF-8 data points */
|
||||
typedef unsigned short utf16_t; /**< Type for UTF-16 data points */
|
||||
typedef unsigned int utf32_t; /**< Type for UTF-32 data points */
|
||||
#endif
|
||||
|
||||
#define LINEBREAK_MUSTBREAK 0 /**< Break is mandatory */
|
||||
#define LINEBREAK_ALLOWBREAK 1 /**< Break is allowed */
|
||||
#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
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* LINEBREAK_H */
|
1746
native/sources/liblinebreak/liblinebreak-1.2/linebreakdata.c
Normal file
1746
native/sources/liblinebreak/liblinebreak-1.2/linebreakdata.c
Normal file
File diff suppressed because it is too large
Load diff
|
@ -0,0 +1 @@
|
|||
/* The content of this file is generated from:
|
|
@ -0,0 +1,7 @@
|
|||
*/
|
||||
|
||||
#include "linebreak.h"
|
||||
#include "linebreakdef.h"
|
||||
|
||||
/** Default line breaking properties as from the Unicode Web site. */
|
||||
struct LineBreakProperties lb_prop_default[] = {
|
|
@ -0,0 +1,2 @@
|
|||
{ 0xFFFFFFFF, 0xFFFFFFFF, LBP_Undefined }
|
||||
};
|
139
native/sources/liblinebreak/liblinebreak-1.2/linebreakdef.c
Normal file
139
native/sources/liblinebreak/liblinebreak-1.2/linebreakdef.c
Normal file
|
@ -0,0 +1,139 @@
|
|||
/* vim: set tabstop=4 shiftwidth=4: */
|
||||
|
||||
/*
|
||||
* Line breaking in a Unicode sequence. Designed to be used in a
|
||||
* generic text renderer.
|
||||
*
|
||||
* Copyright (C) 2008-2009 Wu Yongwei <wuyongwei at gmail dot com>
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the author be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute
|
||||
* it freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must
|
||||
* not claim that you wrote the original software. If you use this
|
||||
* software in a product, an acknowledgement in the product
|
||||
* documentation would be appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must
|
||||
* not be misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source
|
||||
* distribution.
|
||||
*
|
||||
* The main reference is Unicode Standard Annex 14 (UAX #14):
|
||||
* <URL:http://www.unicode.org/reports/tr14/>
|
||||
*
|
||||
* When this library was designed, this annex was at Revision 19, for
|
||||
* 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>
|
||||
*
|
||||
* The Unicode Terms of Use are available at
|
||||
* <URL:http://www.unicode.org/copyright.html>
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file linebreakdef.c
|
||||
*
|
||||
* Definition of language-specific data.
|
||||
*
|
||||
* @version 1.2, 2009/04/29
|
||||
* @author Wu Yongwei
|
||||
*/
|
||||
|
||||
#include "linebreak.h"
|
||||
#include "linebreakdef.h"
|
||||
|
||||
/**
|
||||
* English-specifc data over the default Unicode rules.
|
||||
*/
|
||||
static struct LineBreakProperties lb_prop_English[] = {
|
||||
{ 0x2018, 0x2018, LBP_OP }, /* Left single quotation mark: opening */
|
||||
{ 0x201C, 0x201C, LBP_OP }, /* Left double quotation mark: opening */
|
||||
{ 0x201D, 0x201D, LBP_CL }, /* Right double quotation mark: closing */
|
||||
{ 0, 0, LBP_Undefined }
|
||||
};
|
||||
|
||||
/**
|
||||
* German-specifc data over the default Unicode rules.
|
||||
*/
|
||||
static struct LineBreakProperties lb_prop_German[] = {
|
||||
{ 0x00AB, 0x00AB, LBP_CL }, /* Left double angle quotation mark: closing */
|
||||
{ 0x00BB, 0x00BB, LBP_OP }, /* Right double angle quotation mark: opening */
|
||||
{ 0x2018, 0x2018, LBP_CL }, /* Left single quotation mark: closing */
|
||||
{ 0x201C, 0x201C, LBP_CL }, /* Left double quotation mark: closing */
|
||||
{ 0x2039, 0x2039, LBP_CL }, /* Left single angle quotation mark: closing */
|
||||
{ 0x203A, 0x203A, LBP_OP }, /* Right single angle quotation mark: opening */
|
||||
{ 0, 0, LBP_Undefined }
|
||||
};
|
||||
|
||||
/**
|
||||
* Spanish-specifc data over the default Unicode rules.
|
||||
*/
|
||||
static struct LineBreakProperties lb_prop_Spanish[] = {
|
||||
{ 0x00AB, 0x00AB, LBP_OP }, /* Left double angle quotation mark: opening */
|
||||
{ 0x00BB, 0x00BB, LBP_CL }, /* Right double angle quotation mark: closing */
|
||||
{ 0x2018, 0x2018, LBP_OP }, /* Left single quotation mark: opening */
|
||||
{ 0x201C, 0x201C, LBP_OP }, /* Left double quotation mark: opening */
|
||||
{ 0x201D, 0x201D, LBP_CL }, /* Right double quotation mark: closing */
|
||||
{ 0x2039, 0x2039, LBP_OP }, /* Left single angle quotation mark: opening */
|
||||
{ 0x203A, 0x203A, LBP_CL }, /* Right single angle quotation mark: closing */
|
||||
{ 0, 0, LBP_Undefined }
|
||||
};
|
||||
|
||||
/**
|
||||
* French-specifc data over the default Unicode rules.
|
||||
*/
|
||||
static struct LineBreakProperties lb_prop_French[] = {
|
||||
{ 0x00AB, 0x00AB, LBP_OP }, /* Left double angle quotation mark: opening */
|
||||
{ 0x00BB, 0x00BB, LBP_CL }, /* Right double angle quotation mark: closing */
|
||||
{ 0x2018, 0x2018, LBP_OP }, /* Left single quotation mark: opening */
|
||||
{ 0x201C, 0x201C, LBP_OP }, /* Left double quotation mark: opening */
|
||||
{ 0x201D, 0x201D, LBP_CL }, /* Right double quotation mark: closing */
|
||||
{ 0x2039, 0x2039, LBP_OP }, /* Left single angle quotation mark: opening */
|
||||
{ 0x203A, 0x203A, LBP_CL }, /* Right single angle quotation mark: closing */
|
||||
{ 0, 0, LBP_Undefined }
|
||||
};
|
||||
|
||||
/**
|
||||
* Russian-specifc data over the default Unicode rules.
|
||||
*/
|
||||
static struct LineBreakProperties lb_prop_Russian[] = {
|
||||
{ 0x00AB, 0x00AB, LBP_OP }, /* Left double angle quotation mark: opening */
|
||||
{ 0x00BB, 0x00BB, LBP_CL }, /* Right double angle quotation mark: closing */
|
||||
{ 0x201C, 0x201C, LBP_CL }, /* Left double quotation mark: closing */
|
||||
{ 0, 0, LBP_Undefined }
|
||||
};
|
||||
|
||||
/**
|
||||
* Chinese-specifc data over the default Unicode rules.
|
||||
*/
|
||||
static struct LineBreakProperties lb_prop_Chinese[] = {
|
||||
{ 0x2018, 0x2018, LBP_OP }, /* Left single quotation mark: opening */
|
||||
{ 0x2019, 0x2019, LBP_CL }, /* Right single quotation mark: closing */
|
||||
{ 0x201C, 0x201C, LBP_OP }, /* Left double quotation mark: opening */
|
||||
{ 0x201D, 0x201D, LBP_CL }, /* Right double quotation mark: closing */
|
||||
{ 0, 0, LBP_Undefined }
|
||||
};
|
||||
|
||||
/**
|
||||
* Association data of language-specific line breaking properties with
|
||||
* language names. 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 \e lb_prop_lang_map in your C source file.
|
||||
*/
|
||||
struct LineBreakPropertiesLang lb_prop_lang_map[] = {
|
||||
{ "en", 2, lb_prop_English },
|
||||
{ "de", 2, lb_prop_German },
|
||||
{ "es", 2, lb_prop_Spanish },
|
||||
{ "fr", 2, lb_prop_French },
|
||||
{ "ru", 2, lb_prop_Russian },
|
||||
{ "zh", 2, lb_prop_Chinese },
|
||||
{ NULL, 0, NULL }
|
||||
};
|
162
native/sources/liblinebreak/liblinebreak-1.2/linebreakdef.h
Normal file
162
native/sources/liblinebreak/liblinebreak-1.2/linebreakdef.h
Normal file
|
@ -0,0 +1,162 @@
|
|||
/* vim: set tabstop=4 shiftwidth=4: */
|
||||
|
||||
/*
|
||||
* Line breaking in a Unicode sequence. Designed to be used in a
|
||||
* generic text renderer.
|
||||
*
|
||||
* Copyright (C) 2008-2009 Wu Yongwei <wuyongwei at gmail dot com>
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the author be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute
|
||||
* it freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must
|
||||
* not claim that you wrote the original software. If you use this
|
||||
* software in a product, an acknowledgement in the product
|
||||
* documentation would be appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must
|
||||
* not be misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source
|
||||
* distribution.
|
||||
*
|
||||
* The main reference is Unicode Standard Annex 14 (UAX #14):
|
||||
* <URL:http://www.unicode.org/reports/tr14/>
|
||||
*
|
||||
* When this library was designed, this annex was at Revision 19, for
|
||||
* 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>
|
||||
*
|
||||
* The Unicode Terms of Use are available at
|
||||
* <URL:http://www.unicode.org/copyright.html>
|
||||
*/
|
||||
|
||||
/**
|
||||
* @file linebreakdef.h
|
||||
*
|
||||
* Definitions of internal data structures, declarations of global
|
||||
* variables, and function prototypes for the line breaking algorithm.
|
||||
*
|
||||
* @version 1.2, 2009/05/03
|
||||
* @author Wu Yongwei
|
||||
*/
|
||||
|
||||
/**
|
||||
* Constant value to mark the end of string. It is not a valid Unicode
|
||||
* character.
|
||||
*/
|
||||
#define EOS 0xFFFF
|
||||
|
||||
/**
|
||||
* Line break classes. This is a direct mapping of Table 1 of Unicode
|
||||
* Standard Annex 14, Revision 19.
|
||||
*/
|
||||
enum LineBreakClass
|
||||
{
|
||||
/* This is used to signal an error condition. */
|
||||
LBP_Undefined, /**< Undefined */
|
||||
|
||||
/* The following break classes are treated in the pair table. */
|
||||
LBP_OP, /**< Opening punctuation */
|
||||
LBP_CL, /**< Closing punctuation */
|
||||
LBP_QU, /**< Ambiguous quotation */
|
||||
LBP_GL, /**< Glue */
|
||||
LBP_NS, /**< Non-starters */
|
||||
LBP_EX, /**< Exclamation/Interrogation */
|
||||
LBP_SY, /**< Symbols allowing break after */
|
||||
LBP_IS, /**< Infix separator */
|
||||
LBP_PR, /**< Prefix */
|
||||
LBP_PO, /**< Postfix */
|
||||
LBP_NU, /**< Numeric */
|
||||
LBP_AL, /**< Alphabetic */
|
||||
LBP_ID, /**< Ideographic */
|
||||
LBP_IN, /**< Inseparable characters */
|
||||
LBP_HY, /**< Hyphen */
|
||||
LBP_BA, /**< Break after */
|
||||
LBP_BB, /**< Break before */
|
||||
LBP_B2, /**< Break on either side (but not pair) */
|
||||
LBP_ZW, /**< Zero-width space */
|
||||
LBP_CM, /**< Combining marks */
|
||||
LBP_WJ, /**< Word joiner */
|
||||
LBP_H2, /**< Hangul LV */
|
||||
LBP_H3, /**< Hangul LVT */
|
||||
LBP_JL, /**< Hangul L Jamo */
|
||||
LBP_JV, /**< Hangul V Jamo */
|
||||
LBP_JT, /**< Hangul T Jamo */
|
||||
|
||||
/* The following break classes are not treated in the pair table */
|
||||
LBP_AI, /**< Ambiguous (alphabetic or ideograph) */
|
||||
LBP_BK, /**< Break (mandatory) */
|
||||
LBP_CB, /**< Contingent break */
|
||||
LBP_CR, /**< Carriage return */
|
||||
LBP_LF, /**< Line feed */
|
||||
LBP_NL, /**< Next line */
|
||||
LBP_SA, /**< South-East Asian */
|
||||
LBP_SG, /**< Surrogates */
|
||||
LBP_SP, /**< Space */
|
||||
LBP_XX /**< Unknown */
|
||||
};
|
||||
|
||||
/**
|
||||
* Struct for entries of line break properties. The array of the
|
||||
* entries \e must be sorted.
|
||||
*/
|
||||
struct LineBreakProperties
|
||||
{
|
||||
utf32_t start; /**< Starting coding point */
|
||||
utf32_t end; /**< End coding point */
|
||||
enum LineBreakClass prop; /**< The line breaking property */
|
||||
};
|
||||
|
||||
/**
|
||||
* Struct for association of language-specific line breaking properties
|
||||
* with language names.
|
||||
*/
|
||||
struct LineBreakPropertiesLang
|
||||
{
|
||||
const char *lang; /**< Language name */
|
||||
size_t namelen; /**< Length of name to match */
|
||||
struct LineBreakProperties *lbp; /**< Pointer to associated data */
|
||||
};
|
||||
|
||||
/**
|
||||
* Abstract function interface for #get_next_char_utf8,
|
||||
* #get_next_char_utf16, and #get_next_char_utf32.
|
||||
*/
|
||||
typedef utf32_t (*get_next_char_t)(const void *, size_t, size_t *);
|
||||
|
||||
/* Declarations */
|
||||
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
|
||||
*/
|
||||
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);
|
6863
native/sources/liblinebreak/liblinebreak-1.2/ltmain.sh
Normal file
6863
native/sources/liblinebreak/liblinebreak-1.2/ltmain.sh
Normal file
File diff suppressed because it is too large
Load diff
367
native/sources/liblinebreak/liblinebreak-1.2/missing
Executable file
367
native/sources/liblinebreak/liblinebreak-1.2/missing
Executable file
|
@ -0,0 +1,367 @@
|
|||
#! /bin/sh
|
||||
# Common stub for a few missing GNU programs while installing.
|
||||
|
||||
scriptversion=2006-05-10.23
|
||||
|
||||
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006
|
||||
# Free Software Foundation, Inc.
|
||||
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
|
||||
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License as published by
|
||||
# the Free Software Foundation; either version 2, or (at your option)
|
||||
# any later version.
|
||||
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
|
||||
# You should have received a copy of the GNU General Public License
|
||||
# along with this program; if not, write to the Free Software
|
||||
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
|
||||
# 02110-1301, USA.
|
||||
|
||||
# As a special exception to the GNU General Public License, if you
|
||||
# distribute this file as part of a program that contains a
|
||||
# configuration script generated by Autoconf, you may include it under
|
||||
# the same distribution terms that you use for the rest of that program.
|
||||
|
||||
if test $# -eq 0; then
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
run=:
|
||||
sed_output='s/.* --output[ =]\([^ ]*\).*/\1/p'
|
||||
sed_minuso='s/.* -o \([^ ]*\).*/\1/p'
|
||||
|
||||
# In the cases where this matters, `missing' is being run in the
|
||||
# srcdir already.
|
||||
if test -f configure.ac; then
|
||||
configure_ac=configure.ac
|
||||
else
|
||||
configure_ac=configure.in
|
||||
fi
|
||||
|
||||
msg="missing on your system"
|
||||
|
||||
case $1 in
|
||||
--run)
|
||||
# Try to run requested program, and just exit if it succeeds.
|
||||
run=
|
||||
shift
|
||||
"$@" && exit 0
|
||||
# Exit code 63 means version mismatch. This often happens
|
||||
# when the user try to use an ancient version of a tool on
|
||||
# a file that requires a minimum version. In this case we
|
||||
# we should proceed has if the program had been absent, or
|
||||
# if --run hadn't been passed.
|
||||
if test $? = 63; then
|
||||
run=:
|
||||
msg="probably too old"
|
||||
fi
|
||||
;;
|
||||
|
||||
-h|--h|--he|--hel|--help)
|
||||
echo "\
|
||||
$0 [OPTION]... PROGRAM [ARGUMENT]...
|
||||
|
||||
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
|
||||
error status if there is no known handling for PROGRAM.
|
||||
|
||||
Options:
|
||||
-h, --help display this help and exit
|
||||
-v, --version output version information and exit
|
||||
--run try to run the given command, and emulate it if it fails
|
||||
|
||||
Supported PROGRAM values:
|
||||
aclocal touch file \`aclocal.m4'
|
||||
autoconf touch file \`configure'
|
||||
autoheader touch file \`config.h.in'
|
||||
autom4te touch the output file, or create a stub one
|
||||
automake touch all \`Makefile.in' files
|
||||
bison create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
flex create \`lex.yy.c', if possible, from existing .c
|
||||
help2man touch the output file
|
||||
lex create \`lex.yy.c', if possible, from existing .c
|
||||
makeinfo touch the output file
|
||||
tar try tar, gnutar, gtar, then tar without non-portable flags
|
||||
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
|
||||
|
||||
Send bug reports to <bug-automake@gnu.org>."
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
|
||||
echo "missing $scriptversion (GNU Automake)"
|
||||
exit $?
|
||||
;;
|
||||
|
||||
-*)
|
||||
echo 1>&2 "$0: Unknown \`$1' option"
|
||||
echo 1>&2 "Try \`$0 --help' for more information"
|
||||
exit 1
|
||||
;;
|
||||
|
||||
esac
|
||||
|
||||
# Now exit if we have it, but it failed. Also exit now if we
|
||||
# don't have it and --version was passed (most likely to detect
|
||||
# the program).
|
||||
case $1 in
|
||||
lex|yacc)
|
||||
# Not GNU programs, they don't have --version.
|
||||
;;
|
||||
|
||||
tar)
|
||||
if test -n "$run"; then
|
||||
echo 1>&2 "ERROR: \`tar' requires --run"
|
||||
exit 1
|
||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
*)
|
||||
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
|
||||
# We have it, but it failed.
|
||||
exit 1
|
||||
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
|
||||
# Could not run --version or --help. This is probably someone
|
||||
# running `$TOOL --version' or `$TOOL --help' to check whether
|
||||
# $TOOL exists and not knowing $TOOL uses missing.
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
|
||||
# If it does not exist, or fails to run (possibly an outdated version),
|
||||
# try to emulate it.
|
||||
case $1 in
|
||||
aclocal*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
|
||||
to install the \`Automake' and \`Perl' packages. Grab them from
|
||||
any GNU archive site."
|
||||
touch aclocal.m4
|
||||
;;
|
||||
|
||||
autoconf)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`${configure_ac}'. You might want to install the
|
||||
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
|
||||
archive site."
|
||||
touch configure
|
||||
;;
|
||||
|
||||
autoheader)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`acconfig.h' or \`${configure_ac}'. You might want
|
||||
to install the \`Autoconf' and \`GNU m4' packages. Grab them
|
||||
from any GNU archive site."
|
||||
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
|
||||
test -z "$files" && files="config.h"
|
||||
touch_files=
|
||||
for f in $files; do
|
||||
case $f in
|
||||
*:*) touch_files="$touch_files "`echo "$f" |
|
||||
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
|
||||
*) touch_files="$touch_files $f.in";;
|
||||
esac
|
||||
done
|
||||
touch $touch_files
|
||||
;;
|
||||
|
||||
automake*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
|
||||
You might want to install the \`Automake' and \`Perl' packages.
|
||||
Grab them from any GNU archive site."
|
||||
find . -type f -name Makefile.am -print |
|
||||
sed 's/\.am$/.in/' |
|
||||
while read f; do touch "$f"; done
|
||||
;;
|
||||
|
||||
autom4te)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, but is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them.
|
||||
You can get \`$1' as part of \`Autoconf' from any GNU
|
||||
archive site."
|
||||
|
||||
file=`echo "$*" | sed -n "$sed_output"`
|
||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||
if test -f "$file"; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo "#! /bin/sh"
|
||||
echo "# Created by GNU Automake missing as a replacement of"
|
||||
echo "# $ $@"
|
||||
echo "exit 0"
|
||||
chmod +x $file
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
bison|yacc)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' $msg. You should only need it if
|
||||
you modified a \`.y' file. You may need the \`Bison' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Bison' from any GNU archive site."
|
||||
rm -f y.tab.c y.tab.h
|
||||
if test $# -ne 1; then
|
||||
eval LASTARG="\${$#}"
|
||||
case $LASTARG in
|
||||
*.y)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
|
||||
if test -f "$SRCFILE"; then
|
||||
cp "$SRCFILE" y.tab.c
|
||||
fi
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
|
||||
if test -f "$SRCFILE"; then
|
||||
cp "$SRCFILE" y.tab.h
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test ! -f y.tab.h; then
|
||||
echo >y.tab.h
|
||||
fi
|
||||
if test ! -f y.tab.c; then
|
||||
echo 'main() { return 0; }' >y.tab.c
|
||||
fi
|
||||
;;
|
||||
|
||||
lex|flex)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a \`.l' file. You may need the \`Flex' package
|
||||
in order for those modifications to take effect. You can get
|
||||
\`Flex' from any GNU archive site."
|
||||
rm -f lex.yy.c
|
||||
if test $# -ne 1; then
|
||||
eval LASTARG="\${$#}"
|
||||
case $LASTARG in
|
||||
*.l)
|
||||
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
|
||||
if test -f "$SRCFILE"; then
|
||||
cp "$SRCFILE" lex.yy.c
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
if test ! -f lex.yy.c; then
|
||||
echo 'main() { return 0; }' >lex.yy.c
|
||||
fi
|
||||
;;
|
||||
|
||||
help2man)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a dependency of a manual page. You may need the
|
||||
\`Help2man' package in order for those modifications to take
|
||||
effect. You can get \`Help2man' from any GNU archive site."
|
||||
|
||||
file=`echo "$*" | sed -n "$sed_output"`
|
||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||
if test -f "$file"; then
|
||||
touch $file
|
||||
else
|
||||
test -z "$file" || exec >$file
|
||||
echo ".ab help2man is required to generate this page"
|
||||
exit 1
|
||||
fi
|
||||
;;
|
||||
|
||||
makeinfo)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is $msg. You should only need it if
|
||||
you modified a \`.texi' or \`.texinfo' file, or any other file
|
||||
indirectly affecting the aspect of the manual. The spurious
|
||||
call might also be the consequence of using a buggy \`make' (AIX,
|
||||
DU, IRIX). You might want to install the \`Texinfo' package or
|
||||
the \`GNU make' package. Grab either from any GNU archive site."
|
||||
# The file to touch is that specified with -o ...
|
||||
file=`echo "$*" | sed -n "$sed_output"`
|
||||
test -z "$file" && file=`echo "$*" | sed -n "$sed_minuso"`
|
||||
if test -z "$file"; then
|
||||
# ... or it is the one specified with @setfilename ...
|
||||
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
|
||||
file=`sed -n '
|
||||
/^@setfilename/{
|
||||
s/.* \([^ ]*\) *$/\1/
|
||||
p
|
||||
q
|
||||
}' $infile`
|
||||
# ... or it is derived from the source name (dir/f.texi becomes f.info)
|
||||
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
|
||||
fi
|
||||
# If the file does not exist, the user really needs makeinfo;
|
||||
# let's fail without touching anything.
|
||||
test -f $file || exit 1
|
||||
touch $file
|
||||
;;
|
||||
|
||||
tar)
|
||||
shift
|
||||
|
||||
# We have already tried tar in the generic part.
|
||||
# Look for gnutar/gtar before invocation to avoid ugly error
|
||||
# messages.
|
||||
if (gnutar --version > /dev/null 2>&1); then
|
||||
gnutar "$@" && exit 0
|
||||
fi
|
||||
if (gtar --version > /dev/null 2>&1); then
|
||||
gtar "$@" && exit 0
|
||||
fi
|
||||
firstarg="$1"
|
||||
if shift; then
|
||||
case $firstarg in
|
||||
*o*)
|
||||
firstarg=`echo "$firstarg" | sed s/o//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
case $firstarg in
|
||||
*h*)
|
||||
firstarg=`echo "$firstarg" | sed s/h//`
|
||||
tar "$firstarg" "$@" && exit 0
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
|
||||
echo 1>&2 "\
|
||||
WARNING: I can't seem to be able to run \`tar' with the given arguments.
|
||||
You may want to install GNU tar or Free paxutils, or check the
|
||||
command line arguments."
|
||||
exit 1
|
||||
;;
|
||||
|
||||
*)
|
||||
echo 1>&2 "\
|
||||
WARNING: \`$1' is needed, and is $msg.
|
||||
You might have modified some files without having the
|
||||
proper tools for further handling them. Check the \`README' file,
|
||||
it often tells you about the needed prerequisites for installing
|
||||
this package. You may also peek at any GNU archive site, in case
|
||||
some other package would contain this missing \`$1' program."
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
# Local variables:
|
||||
# eval: (add-hook 'write-file-hooks 'time-stamp)
|
||||
# time-stamp-start: "scriptversion="
|
||||
# time-stamp-format: "%:y-%02m-%02d.%02H"
|
||||
# time-stamp-end: "$"
|
||||
# End:
|
15
native/sources/liblinebreak/linebreak-jni.c
Normal file
15
native/sources/liblinebreak/linebreak-jni.c
Normal file
|
@ -0,0 +1,15 @@
|
|||
#include <jni.h>
|
||||
|
||||
#include "liblinebreak-1.2/linebreak.h"
|
||||
|
||||
void Java_org_vimgadgets_linebreak_LineBreak_init() {
|
||||
init_linebreak();
|
||||
}
|
||||
|
||||
void Java_org_vimgadgets_linebreak_LineBreak_setLineBreaksForCharArray(jcharArray data, jstring lang, jbyteArray breaks) {
|
||||
// TODO: implement
|
||||
}
|
||||
|
||||
void Java_org_vimgadgets_linebreak_LineBreak_setLineBreaksForString(jstring data, jstring lang, jbyteArray breaks) {
|
||||
// TODO: implement
|
||||
}
|
|
@ -21,9 +21,11 @@ package org.geometerplus.fbreader.formats.oeb;
|
|||
|
||||
import java.util.*;
|
||||
|
||||
import org.geometerplus.zlibrary.core.filesystem.ZLFile;
|
||||
import org.geometerplus.zlibrary.core.xml.*;
|
||||
|
||||
import org.geometerplus.fbreader.bookmodel.*;
|
||||
import org.geometerplus.fbreader.formats.util.MiscUtil;
|
||||
|
||||
class NCXReader extends ZLXMLReaderAdapter {
|
||||
static class NavPoint {
|
||||
|
@ -50,11 +52,18 @@ class NCXReader extends ZLXMLReaderAdapter {
|
|||
|
||||
int myReadState = READ_NONE;
|
||||
int myPlayIndex = -65535;
|
||||
private String myLocalPathPrefix;
|
||||
|
||||
NCXReader(BookReader modelReader) {
|
||||
myModelReader = modelReader;
|
||||
}
|
||||
|
||||
boolean readFile(String filePath) {
|
||||
final ZLFile file = ZLFile.createFileByPath(filePath);
|
||||
myLocalPathPrefix = MiscUtil.archiveEntryName(MiscUtil.htmlDirectoryPrefix(file));
|
||||
return read(file);
|
||||
}
|
||||
|
||||
Map<Integer,NavPoint> navigationMap() {
|
||||
return myNavigationMap;
|
||||
}
|
||||
|
@ -102,7 +111,7 @@ class NCXReader extends ZLXMLReaderAdapter {
|
|||
} else if (tag == TAG_CONTENT) {
|
||||
final int size = myPointStack.size();
|
||||
if (size > 0) {
|
||||
myPointStack.get(size - 1).ContentHRef = attributes.getValue("src");
|
||||
myPointStack.get(size - 1).ContentHRef = myLocalPathPrefix + attributes.getValue("src");
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
|
@ -75,7 +75,7 @@ class OEBBookReader extends ZLXMLReaderAdapter implements XMLNamespace {
|
|||
myModelReader.pushKind(FBTextKind.REGULAR);
|
||||
|
||||
for (String name : myHtmlFileNames) {
|
||||
new XHTMLReader(myModelReader).readFile(ZLFile.createFileByPath(myFilePrefix + name), name);
|
||||
new XHTMLReader(myModelReader).readFile(ZLFile.createFileByPath(myFilePrefix + name));
|
||||
myModelReader.insertEndOfSectionParagraph();
|
||||
}
|
||||
|
||||
|
@ -86,8 +86,8 @@ class OEBBookReader extends ZLXMLReaderAdapter implements XMLNamespace {
|
|||
|
||||
private void generateTOC() {
|
||||
if (myNCXTOCFileName != null) {
|
||||
NCXReader ncxReader = new NCXReader(myModelReader);
|
||||
if (ncxReader.read(ZLFile.createFileByPath(myFilePrefix + myNCXTOCFileName))) {
|
||||
final NCXReader ncxReader = new NCXReader(myModelReader);
|
||||
if (ncxReader.readFile(myFilePrefix + myNCXTOCFileName)) {
|
||||
final Map<Integer,NCXReader.NavPoint> navigationMap = ncxReader.navigationMap();
|
||||
if (!navigationMap.isEmpty()) {
|
||||
int level = 0;
|
||||
|
|
|
@ -32,4 +32,9 @@ public class MiscUtil {
|
|||
}
|
||||
return path.substring(0, path.length() - shortName.length() + index + 1);
|
||||
}
|
||||
|
||||
public static String archiveEntryName(String fullPath) {
|
||||
final int index = fullPath.lastIndexOf(':');
|
||||
return (index >= 2) ? fullPath.substring(index + 1) : fullPath;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -131,15 +131,15 @@ public class XHTMLReader extends ZLXMLReaderAdapter {
|
|||
return myModelReader;
|
||||
}
|
||||
|
||||
public boolean readFile(ZLFile file, String referenceName) {
|
||||
myModelReader.addHyperlinkLabel(referenceName);
|
||||
|
||||
public boolean readFile(ZLFile file) {
|
||||
fillTagTable();
|
||||
|
||||
myReferenceName = MiscUtil.archiveEntryName(file.getPath());
|
||||
|
||||
myModelReader.addHyperlinkLabel(myReferenceName);
|
||||
|
||||
myPathPrefix = MiscUtil.htmlDirectoryPrefix(file);
|
||||
final int index = myPathPrefix.lastIndexOf(':');
|
||||
myLocalPathPrefix = (index >= 2) ? myPathPrefix.substring(index + 1) : myPathPrefix;
|
||||
myReferenceName = referenceName;
|
||||
myLocalPathPrefix = MiscUtil.archiveEntryName(myPathPrefix);
|
||||
|
||||
myPreformatted = false;
|
||||
myInsideBody = false;
|
||||
|
@ -147,21 +147,6 @@ public class XHTMLReader extends ZLXMLReaderAdapter {
|
|||
return read(file);
|
||||
}
|
||||
|
||||
/*
|
||||
public boolean readFile(String pathPrefix, InputStream stream, String referenceName) {
|
||||
myModelReader.addHyperlinkLabel(referenceName);
|
||||
|
||||
fillTagTable();
|
||||
|
||||
myPathPrefix = pathPrefix;
|
||||
myReferenceName = referenceName;
|
||||
|
||||
myPreformatted = false;
|
||||
|
||||
return read(stream);
|
||||
}
|
||||
*/
|
||||
|
||||
public boolean startElementHandler(String tag, ZLStringMap attributes) {
|
||||
String id = attributes.getValue("id");
|
||||
if (id != null) {
|
||||
|
|
|
@ -43,13 +43,16 @@ class XHTMLTagHyperlinkAction extends XHTMLTagAction {
|
|||
myHyperlinkStack = ZLArrayUtils.createCopy(myHyperlinkStack, myHyperlinkStackSize, 2 * myHyperlinkStackSize);
|
||||
}
|
||||
if ((href != null) && (href.length() > 0)) {
|
||||
final String link = (href.charAt(0) == '#') ? (reader.myReferenceName + href) : href;
|
||||
final byte hyperlinkType =
|
||||
isReference(link) ?
|
||||
FBTextKind.EXTERNAL_HYPERLINK :
|
||||
FBTextKind.INTERNAL_HYPERLINK;
|
||||
String link = (href.charAt(0) == '#') ? (reader.myReferenceName + href) : href;
|
||||
final byte hyperlinkType;
|
||||
if (isReference(link)) {
|
||||
hyperlinkType = FBTextKind.EXTERNAL_HYPERLINK;
|
||||
} else {
|
||||
hyperlinkType = FBTextKind.INTERNAL_HYPERLINK;
|
||||
link = reader.myLocalPathPrefix + link;
|
||||
}
|
||||
myHyperlinkStack[myHyperlinkStackSize++] = hyperlinkType;
|
||||
modelReader.addHyperlinkControl(hyperlinkType, reader.myLocalPathPrefix + link);
|
||||
modelReader.addHyperlinkControl(hyperlinkType, link);
|
||||
} else {
|
||||
myHyperlinkStack[myHyperlinkStackSize++] = FBTextKind.REGULAR;
|
||||
}
|
||||
|
|
|
@ -20,7 +20,7 @@
|
|||
package org.geometerplus.zlibrary.text.view;
|
||||
|
||||
import java.util.*;
|
||||
import org.geometerplus.zlibrary.core.util.*;
|
||||
//import org.vimgadgets.linebreak.LineBreak;
|
||||
|
||||
import org.geometerplus.zlibrary.core.image.*;
|
||||
import org.geometerplus.zlibrary.text.model.*;
|
||||
|
@ -52,6 +52,7 @@ public final class ZLTextParagraphCursor {
|
|||
}
|
||||
|
||||
void fill() {
|
||||
//new LineBreak("en");
|
||||
final ArrayList<ZLTextElement> elements = myElements;
|
||||
for (ZLTextParagraph.EntryIterator it = myParagraph.iterator(); it.hasNext(); ) {
|
||||
it.next();
|
||||
|
|
26
src/org/vimgadgets/linebreak/LineBreak.java
Normal file
26
src/org/vimgadgets/linebreak/LineBreak.java
Normal file
|
@ -0,0 +1,26 @@
|
|||
package org.vimgadgets.linebreak;
|
||||
|
||||
public final class LineBreak {
|
||||
static {
|
||||
System.loadLibrary("linebreak");
|
||||
init();
|
||||
}
|
||||
|
||||
private static native void init();
|
||||
private static native void setLineBreaksForCharArray(char[] data, String lang, byte[] breaks);
|
||||
private static native void setLineBreaksForString(String data, String lang, byte[] breaks);
|
||||
|
||||
private final String myLanguage;
|
||||
|
||||
public LineBreak(String lang) {
|
||||
myLanguage = lang;
|
||||
}
|
||||
|
||||
public void setLineBreaks(char[] data, byte[] breaks) {
|
||||
setLineBreaksForCharArray(data, myLanguage, breaks);
|
||||
}
|
||||
|
||||
public void setLineBreaks(String data, byte[] breaks) {
|
||||
setLineBreaksForString(data, myLanguage, breaks);
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue