printable characters in LC_CTYPE

Lena at lena.kiev.ua Lena at lena.kiev.ua
Thu Mar 15 23:23:13 UTC 2018


In FreeBSD 10 or less (like 8.4) the file
/usr/src/share/mklocale/ru_RU.KOI8-R.src
contains a list of printable characters:

PRINT           0x20 - 0x7e 0x80 - 0xff

mklocale(1) converted that source file to binary file
/usr/share/locale/ru_RU.KOI8-R/LC_CTYPE
Apparently, this file is used by iswprint(3)

In FreeBSD 11.1 `man mklocale` says
"mklocale has been replaced by localedef(1) in FreeBSD 11.0",
and list of printable characters for LC_CTYPE=ru_RU.KOI8-R is different,
excludes characters in 0x80-0xBF range including 0x9A (non-breaking space).
As a consequence, ports mail/mutt14 and editors/aee
which use iswprint(3)
show garbage (escape sequences) instead of non-breaking space
and some other characters.
I need to change the binary file /usr/share/locale/ru_RU.KOI8-R/LC_CTYPE
but how?
I installed FreeBSD 11.1 i386 from memstick.img, downloaded sources.
What to feed to localedef(1), where are the source files?
Are they /usr/src/tools/tools/locale/etc/common.UTF-8.src
and /usr/src/tools/tools/locale/etc/final-maps/map.KOI8-R ?
But they seem to not specify which characters are printable.



More information about the freebsd-questions mailing list