This library provides functions for manipulating Unicode strings and for manipulating C strings according to the Unicode standard.
| ||elementary string functions|
| ||conversion from/to legacy encodings|
| ||formatted output to strings|
| ||character names|
| ||character classification and properties|
| ||string width when using nonproportional fonts|
| ||word breaks|
| ||line breaking algorithm|
| ||normalization (composition and decomposition)|
| ||case folding|
| ||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
<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.
libunistring can be downloaded from https://ftp.gnu.org/gnu/libunistring/libunistring-1.1.tar.gz. For other ways to obtain libunistring, please read How to get GNU Software.
The latest development sources can be obtained through the savannah project.
Please send general FSF & GNU inquiries to
There are also other ways to contact the FSF.
Please send broken links and other corrections or suggestions to
Copyright (C) 1998, 2022 Free Software Foundation, Inc.
Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.
Last updated: $Date: 2022/10/16 23:15:28 $ $Author: haible $