libgrapheme
===========

libgrapheme is an extremely simple freestanding C99 library providing
utilities for properly handling strings according to the latest Unicode
standard 15.0.0. It offers fully Unicode compliant

 - grapheme cluster (i.e. user-perceived character) segmentation
 - word segmentation
 - sentence segmentation
 - detection of permissible line break opportunities
 - case detection (lower-, upper- and title-case)
 - case conversion (to lower-, upper- and title-case)

on UTF-8 strings and codepoint arrays, which both can also be
null-terminated.

The necessary lookup-tables are automatically generated from the Unicode
standard data (contained in the tarball) and heavily compressed. Over
10,000 automatically generated conformance tests and over 150 unit tests
ensure conformance and correctness.

There is no complicated build-system involved and it's all done using one
POSIX-compliant Makefile. All you need is a C99 compiler, given the
lookup-table-generators and compressors are also written in C99. The
resulting library is freestanding and thus not even dependent on a
standard library to be present at runtime, making it a suitable choice
for bare metal applications.

It is also way smaller and much faster than the other established
Unicode string libraries (ICU, GNU's libunistring, libutf8proc).

Requirements
------------
A C99-compiler and POSIX make.

Installation
------------
Run ./configure, which automatically edits config.mk to match your local
setup. Edit config.mk by hand if necessary or desired for further
customization.

Afterwards enter the following command to build and install libgrapheme
(if necessary as root):

	make install

Conformance
-----------
The libgrapheme library is compliant with the Unicode 15.0.0
specification (September 2022). The tests can be run with

	make test

to check standard conformance and correctness.

Usage
-----
Include the header grapheme.h in your code and link against libgrapheme
with "-lgrapheme" either statically ("-static") or dynamically.

Author
------
Laslo Hunhold <dev@frign.de>
