> On Jun 14, 2022, at 19:06, Thomas Munro <thomas.mu...@gmail.com> wrote:
> One difference would be the effect if ICU ever ships a minor library
> version update that changes the reported collversion.

If I’m reading it correctly, ICU would not change collation in major versions, 
as an explicit matter of policy around DUCET stability and versioning.

https://unicode.org/reports/tr10/#Stable_DUCET


> With some system of symlinks to make it all work with defaults for
> those who don't care, a libc could have
> /usr/share/locale/en...@cldr34.utf-8 etc so you could
> setlocale(LC_COLLATE, "en_US@CLDR34"), or something.  I suppose they
> don't want to promise to be able to interpret the old data in future
> releases, and, as you say, sometimes the changes are in C code, due to
> bugs or algorithm changes, not the data.

If I understand correctly, files in /usr/share/locale aren’t enough because 
those only have the tailoring rules, and core algorithm and data (before 
applying locale-specific tweaks) also change between versions. I’m pretty sure 
glibc works similar to UCA in this regard (albeit based on ISO 14651 and not 
CDLR), and the Unicode link above is a good illustration of default collation 
rules that underly the locale-specific tweaks.

-Jeremy

Sent from my TI-83

Reply via email to