This should become another piece of std.uni functionality.
It is essential for applications such as databases and UI interfaces that try to produce natural (language and culture wise) sorting order, instead of some consistent but arbitrary.
Relevant technical report:
http://unicode.org/reports/tr10/
Comment #1 by philly.dilly — 2014-06-24T07:17:30Z
Although Unicode support is definitely needed, implementing this in D is quite ambitious. Perhaps we could instead simply make a wrapper around either OS API or C++ std locale. Shouldn't be that hard to port code from boost::locale and at least D users would have something until TR10 is implemented natively in D (if ever considering the complexity!).
Comment #2 by alphaglosined — 2022-12-17T20:33:31Z
I've had a look at TR10, it doesn't look too bad.
The algorithm is more or less just four steps, and two of them are already implemented.
It is in the same league of work as normalization and the full casing algorithm. The former is implemented (dependency), and the latter we haven't got yet, but we will get that eventually.
Comment #3 by robert.schadek — 2024-12-01T16:18:12Z