Description
I've never directly used ICU (whether 4C, 4J, or 4X), but I understand that ICU4C is commonly available system-wide under Unix-like "desktop" operating systems such as Debian. By my reading of ICU4C's documentation, I understand that that system-wide installation of ICU4C should have all the data it needs to do its work:
ICU makes use of a wide variety of data tables to provide many of its services. Examples include converter mapping tables, collation rules, transliteration rules, break iterator rules and dictionaries, and other locale data. [...] For simple use of ICU’s predefined data, this section on data management can safely be skipped. The data is built into a library that is loaded along with the rest of ICU. No specific action or setup is required of either the application program or the execution environment. [...] ICU for C by default comes with pre-built data.
By my reading of ICU4X's documentation, it seems that ICU4X currently expects each program using it to keep its own copy of whatever data are needed by the ICU4X functions the program uses.
Are there plans to provide a DataProvider
that would allow a program using ICU4X to source its needed data from the operating system's installation of ICU4C, whether by calling into ICU4C or by reading ICU4C's files directly?
I looked over issue tickets labelled as A-data
and C-data-infra
and didn't see anything about sourcing the data from ICU4C at runtime.
I imagine other operating systems, such as Microsoft Windows, provide their own ways to access system-wide locale data, but I don't know enough about those operating systems.