tech-userlevel archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Xlocale for NetBSD
I've made a fair start at porting FreeBSD's (port of Darwin's) xlocale
to NetBSD. This started out as a frustration at ${WORK}, but continued
at home after we gave up at ${WORK} and switched OSs instead to get
working LC_COLLATE support.
The benefits of adopting xlocale would be:
* Per-thread locale settings
* Working LC_COLLATE settings
* Use localedef(1) instead of mklocale(1), which allows...
* Take locale definitions directly from CLDR
but, at least at the moment, has these drawbacks:
* No ISO2022 codemap
that is, no ja_JP.ISO2022* locales; iconv, which is still based on
Citrus, continues to work properly so far as I know.
The lack of working ISO2022 really surprised me; the problem seems to be
that the CLDR tools can't generate a working codemap for ISO2022. I
don't really know why that would be.
I have it building release and passing the few existing tests, except
that it accepts previously forbidden sequences in Big5 encoding and
chokes when you ask for ja_JP.ISO2022*. (Another possible issue is that
the Citrus tests allow and test for 6-byte UTF-8 sequences, which are,
strictly speaking, forbidden but not otherwise incompatible. I solved
this problem by changing the code to pass the test, but it's easy to
switch back if we want to go with the straight UTF-8 spec.)
I haven't applied the FreeBSD tests yet, and it needs new tests.
(Actually, I haven't yet run a *complete* atf test run and compared
results, so I may have missed some existing tests. Easy enough to do.)
The current diffs are available at
http://www.hhhh.org/perseant/xlocale-20170425.diff
There are some additional issues I'm aware of with this particular set
of diffs but am intending to fix, to wit,
* No compatibility support; e.g. existing test binaries crash
* Missing locale(5) man page taken from Illumos; licensing issues?
* Make sure the man pages match the code
* Haven't tried the installer
If there's sufficient interest in having this in-tree, I'll commit it on
a branch and continue development there.
Thoughts?
Konrad Schroder
perseant%hhhh.org@localhost
Home |
Main Index |
Thread Index |
Old Index