On Sun, Sep 23, 2018 at 10:55 AM Stefan Seefeld via Boost < boost@lists.boost.org> wrote:
On 9/23/18 11:37 AM, Zach Laine via Boost wrote:
On Sun, Sep 23, 2018 at 4:57 AM Andrey Semashev via Boost < boost@lists.boost.org> wrote:
On 9/23/18 7:45 AM, Zach Laine via Boost wrote:
I think a Unicode library is very much needed in Boost.
Out of curiosity, it looks like you implemented Unicode algorithms yourself. Why not use a specialized library, like ICU? It's partly a question of the size of ICU, which is several megabytes, whereas Boost.Text is only 1.2-2MB depending on your compiler.
Ideally, a "Unicode library for Boost" would offer an API, and the question of what backend is used would be an implementation detail. While I'm very enthusiastic about proper Unicode support being added to C++, I have a hard time with the tendency in the Boost community to reinvent wheels, i.e. the NIH syndrome. A good API / library design should allow me to plug in existing implementations (for standard functionality that's already implemented many times before), as a matter of code reuse and maintainability.
I agree with this in the abstract. In this case, I don't know of any back end that would work except for ICU. As for having been implemented many times, I'm not aware of any other implementations of all the named Unicode algorithms besides ICU. My hope is that my implementation is more palatable to most users than the ICU one. It certainly is for me. Zach