This is commercial only. Free and small is my safeclib, which does about half of it. ICU is not usable on small devices, and also pretty slow. It's much faster to use precomputed tables per algorithm, such as here or in safeclib. libunistring is also extremely slow. This was tried for grep and failed.
You can use Unicorn for non-commercial use [1], but yes, for commercial use you need to buy a license.
> It's much faster to use precomputed tables per algorithm
You're absolutely right about using precomputed tables per algorithm. That is the secret to the library's speed.
> Free and small is my safeclib, which does about half of it.
I like safeclib! It's nice to hear from the author. It's worth distinguishing that safeclib is a safer string library whereas Unicorn is a Unicode algorithms library, not a string library.
Well, a string is unicode nowadays. And for sure not just a zero-terminated blob. That would be a buffer. Only the Linux kernel still holds this invalid view.
So every string library needs at least a compare function to find strings, with all the variants of same graphemes. Which leads us to NFC normalization for a start. Upcase tables and wordlength tables are also needed.
> This is commercial only. Free and small is my safeclib
Is it me or does this feel a bit weird? It seems like you're using the comments section here to self-advertise for exposure.
I read it like — "businesses can't use this without paying the OP, however, if you're a business you can get 50% of the way there by using _my_ library, and you don't even have to pay me!". It comes off incredibly rude to try to undercut the OP like this.
See this is where I and the FSF/OSI diverge, because
> the right to use, copy, modify, merge, publish and distribute the Software [as long as you're not selling it or derivatives of the Software]
seems to line up with exactly what the folks involved in Free Software originally wanted — the ability to fix, patch, debug software that runs on their systems. I also think it's incredibly important to have non-commercial clauses given that the vast majority of technical infrastructure in the modern world is built on FOSS, all while the companies give nothing back and developers of FOSS starve.
If Valve can dump hundreds of developers into FOSS and within, what, 7 years? bring Linux almost to parity with and performance of Windows for gaming, imagine what would happen if FOSS developers were actually given funding!