On Thu Oct 6, 2022 at 11:23 PM CEST, Laslo Hunhold wrote:
> Dear fellow hackers,
>
> I'm pleased to announce version 2.0.0 of libgrapheme[0][1], a library
> for Unicode string handling.
>
> This version adds
>
> - word segmentation
> - sentence segmentation
> - detection of permissible line break opportunities
> - case detection
> - case conversion
>
> and has been heavily refactored for correctness and conformance. The
> library now is freestanding (i.e. not dependant on a standard
> library), which allows you to link it into pretty much anything.
>
> There has been a small API-change: grapheme_next_character_break() has
> been renamed to grapheme_next_character_break_utf8() and GRAPHEME_STATE
> has been dropped in favor of an explicit uint_least16_t-state-variable
> for the single function it's being used with. Changing code should be
> quick and simple.
>
> I have made the decision to adopt the semantic versioning scheme[2].
> While it is not perfect, it gives the version number more semantic
> meaning, and in its spirit, I bumped the major version given there's
> been a breaking API change, but I don't expect many major version bumps
> in the future, if at all.
>
> Take a look at the README and libgrapheme(7) for an overview. Every
> function-manual comes with an example and the usage should be more or
> less obvious.
>
> With best regards
>
> Laslo Hunhold
>
> [0]: https://libs.suckless.org/libgrapheme
> [1]: https://dl.suckless.org/libgrapheme/libgrapheme-2.0.0.tar.gz
> [2]: https://semver.org/
Hurray, I'll probably try it soon, as I was waiting for case conversion to
happen.
Too bad I still need to roll my theoretically incorrect but de facto usable
wcwidth analog, but I understand the reasoning behind this choice.
Received on Thu Oct 06 2022 - 23:46:16 CEST