Grapheme is a LICENSE licensed [[Unicode Standard]] string library written in [[3. Reference/Software/Programming Languages/C|C]]99.
- [Website](https://libs.suckless.org/libgrapheme/)
- [Source](https://git.suckless.org/libgrapheme/)
- [Documentation](https://libs.suckless.org/libgrapheme/man/)
> libgrapheme is an extremely simple freestanding C99 library providing utilities for properly handling strings according to the latest Unicode standard 15.0.0.
# Notability
# Philosophy
## Political
Developed by [[Suckless]], primarily by [[FRIGN]], who is also a member of [[Bitreich]], and [[2f30]].
## Technology
In the desperate effort to avoid using an external resource, FRIGN saw fit to include "over a million" standardized conformance tests, adding massive blobs directly into the repo.
The test data files take up more than 99% of the repo and the tarball for the repo is nearly a megabyte as a result.
# Platform Support
# Features
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.
# Tips
# References