Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 16 Mar 2018 01:23:01 +0200
From:      Lena@lena.kiev.ua
To:        freebsd-questions@FreeBSD.org
Subject:   printable characters in LC_CTYPE
Message-ID:  <20180315232301.GA804@lena.kiev>

Next in thread | Raw E-Mail | Index | Archive | Help
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.




Want to link to this message? Use this URL: <http://docs.FreeBSD.org/cgi/mid.cgi?20180315232301.GA804>