summaryrefslogtreecommitdiff
path: root/src/static_libs/libunibreak/README.md
blob: 4e65059586acddfb14c89a1e0064f170cb7d4990 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
LIBUNIBREAK
===========

Overview
--------

This is the README file for libunibreak, an implementation of the line
breaking and word breaking algorithms as described in [Unicode Standard
Annex 14][1] and [Unicode Standard Annex 29][2].  Check the project's
[home page][3] for up-to-date information.

  [1]: http://www.unicode.org/reports/tr14/
  [2]: http://www.unicode.org/reports/tr29/
  [3]: https://github.com/adah1972/libunibreak


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 Public Data][4], and the [Unicode Terms of Use][5] may apply.

  [4]: http://www.unicode.org/Public/
  [5]: 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*.
   - type `make wordbreakdata` to regenerate *wordbreakdata.c* from
     *WordBreakProperty.txt*.
   - type `make graphemebreakdata` to regenerate *graphemebreakdata.c*
     from *GraphemeBreakProperty.txt*.
   - type `make emojidata` to regenerate *emojidata.c* from
     *emoji-data.txt*.

2. On systems where GCC and Binutils are supported, one can type

        cd src
        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*.
   - type `make wordbreakdata` to regenerate *wordbreakdata.c* from
     *WordBreakProperty.txt*.
   - type `make graphemebreakdata` to regenerate *graphemebreakdata.c*
     from *GraphemeBreakProperty.txt*.
   - type `make emojidata` to regenerate *emojidata.c* from
     *emoji-data.txt*.

3. On Windows, apart from using method 1 (Cygwin/MSYS) and method 2
   (MinGW), MSVC can also be used.  Type

        cd src
        nmake -f Makefile.msvc

   to build the static library.  By default the debug version 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*,
*doc/html/wordbreak\_8h.html*, and *doc/html/graphemebreak\_8h.html* in
the downloaded file for the public interfaces exposed to applications.


<!--
vim:autoindent:expandtab:formatoptions=tcqlmn:textwidth=72:
-->