LIBUNIBREAK


Overview

Libunibreak is an implementation of the line breaking and word breaking algorithms as described in Unicode Standard Annex 14 and Unicode Standard Annex 29. It is designed to be used in a generic text renderer. FBReader is one real-world example, and the Enlightenment Foundation Libraries are another. You may also check some simple sample code, like showbreak and breaktext.

Download

The latest version (1.1) of libunibreak can be download here, and you may want to check What’s New if you are an existing user.

Git Access

Git access is provided on GitHub. The main repository was moved there after libunibreak 1.0 was released.

CVS Access

CVS access is provided temporarily (before moving to a more modern code repositorty; code paths are difficult to fix in CVS). Please check the information here. The module path is ‘common/tools/linebreak’.

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 Unicode Online Data, and the Unicode Terms of Use may apply.

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
     
  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
     
  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="libunibreak - Win32 Release"
    

Documentation

Check the generated document doc/html/linebreak_8h.html and doc/html/wordbreak_8h.html in the downloaded file for the public interfaces exposed to applications.