libunibreak
brew install libunibreak
v7.0
Zlib
C library implementing Unicode line-breaking and word/grapheme-breaking algorithms (UAX #14 and #29).
Why you might care
Required by text editors, terminal emulators, and rendering engines that need to correctly break text across lines or identify word boundaries in non-Latin scripts. Provides both incremental and bulk APIs for integrating proper Unicode text handling into applications that can't rely on OS-level or framework-provided implementations.
11.2k
30-day installs · #336
44.1k
90-day · #300
211.3k
365-day · #268
209
★ GitHub stars · updated 2mo ago
Links
- https://github.com/adah1972/libunibreak
- GitHub: adah1972/libunibreak
- Brew formula source: Formula/lib/libunibreak.rb
Blurb generated by claude-haiku-4-5 on today.
Raw metadata
{
"aliases": [],
"alternatives": [
"ICU",
"HarfBuzz"
],
"build_dependencies": [],
"categories": [
"library",
"text-processor"
],
"caveats": null,
"conflicts_with": [],
"dependencies": [],
"deprecated": 0,
"deprecation_reason": null,
"desc": "Implementation of the Unicode line- and word-breaking algorithms",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:40:49+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "libunibreak",
"github_default_branch": "master",
"github_last_commit_at": "2026-04-10T07:46:59Z",
"github_readme_excerpt": "LIBUNIBREAK\n===========\n\nOverview\n--------\n\nThis is the README file for libunibreak, an implementation of the line\nbreaking and word/grapheme breaking algorithms as described in [Unicode\nStandard Annex 14][1] (UAX #14) and [Unicode Standard Annex 29][2] (UAX\n#29). Check the project\u0027s [home page][3] for up-to-date information.\n\nUnicode 15.0 support for line breaking, as well as full Unicode 15.1\nsupport for word/grapheme breaking, is currently provided. Full Unicode\n15.1 support for line breaking has not been implemented, mostly because\nsome rules (like LB28a of UAX #14-51) are incompatible with the\nincremental line-breaking API (`lb_process_next_char`, introduced in\nlibunibreak 1.1). The current version uses deferred fixups to\naccommodate newer rules, with the incremental API falling back to\nconservative behaviour. This approach is complex, and the incremental\nAPI may be removed in a future release.\n\n [1]: http://www.unicode.org/reports/tr14/\n [2]: http://www.unicode.org/reports/tr29/\n [3]: https://github.com/adah1972/libunibreak\n\n\nLicence\n-------\n\nThis library is released under an open-source licence, the zlib/libpng\nlicence. Please check the file *LICENCE* for details.\n\nApart from using the algorithm, part of the code is derived from the\n[Unicode Public Data][4], and the [Unicode Terms of Use][5] may apply.\n\n [4]: http://www.unicode.org/Public/\n [5]: http://www.unicode.org/copyright.html\n\n\nInstallation\n------------\n\nThere are three ways to build the library:\n\n1. On \\*NIX systems supported by the autoconfiscation tools, do the\n normal\n\n ./configure\n make\n sudo make install\n\n to build and install both the dynamic and static libraries. In\n addition, one may\n - type `make doc` to generate the doxygen documentation; or\n - type `make check` to run the self-check tests.\n\n2. On systems where GCC and Binutils are supported, one can type\n\n cd src\n cp -p Makefile.gcc Makefile\n make\n\n to build the static library",
"github_repo": "adah1972/libunibreak",
"github_stars": 209,
"github_topics": [],
"homepage": "https://github.com/adah1972/libunibreak",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 11242,
"installs_365d": 211287,
"installs_90d": 44112,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "Zlib",
"llm_generated_at": "2026-06-20T23:44:15+00:00",
"llm_model": "claude-haiku-4-5",
"name": "libunibreak",
"oldnames": [],
"one_liner": "C library implementing Unicode line-breaking and word/grapheme-breaking algorithms (UAX #14 and #29).",
"optional_dependencies": [],
"rank_30d": 336,
"rank_365d": 268,
"rank_90d": 300,
"raw_hash": "bfb00811cf54d8b9",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/lib/libunibreak.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": null,
"version_stable": "7.0",
"versioned_formulae": [],
"why_use_this": "Required by text editors, terminal emulators, and rendering engines that need to correctly break text across lines or identify word boundaries in non-Latin scripts. Provides both incremental and bulk APIs for integrating proper Unicode text handling into applications that can\u0027t rely on OS-level or framework-provided implementations."
}