summaryrefslogtreecommitdiff
path: root/README
blob: ef2e1c04006d812f6080066e0a87f3cb2cc83857 (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
           GNU LIBUNISTRING - Unicode string library

This library provides functions for manipulating Unicode strings and
for manipulating C strings according to the Unicode standard.

It consists of the following parts:

  unistr.h     elementary string functions
  uniconv.h    conversion from/to legacy encodings
  unistdio.h   formatted output to strings
  uniname.h    character names
  unictype.h   character classification and properties
  uniwidth.h   string width when using nonproportional fonts
  unigbrk.h    grapheme cluster breaks
  uniwbrk.h    word breaks
  unilbrk.h    line breaking algorithm
  uninorm.h    normalization (composition and decomposition)
  unicase.h    case folding
  uniregex.h   regular expressions (not yet implemented)

libunistring is for you if your application involves non-trivial text
processing, such as upper/lower case conversions, line breaking, operations
on words, or more advanced analysis of text. Text provided by the user can,
in general, contain characters of all kinds of scripts. The text processing
functions provided by this library handle all scripts and all languages.

libunistring is for you if your application already uses the ISO C / POSIX
<ctype.h>, <wctype.h> functions and the text it operates on is provided by
the user and can be in any language.

libunistring is also for you if your application uses Unicode strings as
internal in-memory representation.


Installation
------------

As usual for GNU packages:

    $ ./configure --prefix=[[PREFIX]]     where [[PREFIX]] is e.g. $HOME/local
    $ make
    $ make install


Copyright
---------

The libunistring library and its header files are dual-licensed under
"the GNU LGPLv3+ or the GNU GPLv2+". This means, you can use it under either
  - the terms of the GNU Lesser General Public License (LGPL) version 3 or
    (at your option) any later version, or
  - the terms of the GNU General Public License (GPL) version 2 or
    (at your option) any later version, or
  - the same dual license "the GNU LGPLv3+ or the GNU GPLv2+".

You find the GNU LGPL version 3 in the file COPYING.LIB.  This license is
based on the GNU GPL version 3, see file COPYING.

You can find the GNU GPL version 2 at
<https://www.gnu.org/licenses/old-licenses/gpl-2.0.html>.

Note: This dual license makes it possible for the libunistring library
to be used by packages under GPLv2 or GPLv2+ licenses, in particular. See
the table in <https://www.gnu.org/licenses/gpl-faq.html#AllCompatibility>.

The documentation is under another license; see in the documentation.


Download
--------

    https://ftp.gnu.org/gnu/libunistring/libunistring-1.2.tar.gz

Homepage
--------

    https://www.gnu.org/software/libunistring/

Bug reports
-----------

Report bugs
  - in the bug tracker at <https://savannah.gnu.org/projects/libunistring>
  - or by email to <bug-libunistring@gnu.org>.

Join the GNU project
--------------------

See file JOIN-GNU.


Bruno Haible <bruno@clisp.org>