12.9. Почему во FreeBSD русификация стандартно сделана через scrnmap из koi8-r в cp866, а не непосредственно koi8-r?

На самом деле существует два способа русификации консоли FreeBSD. Первый способ заключается в установке шрифтов koi8-r и изменении параметра ядра SC_MOUSE_CHAR. Второй сводится к использованию шрифтов cp866 и scrnmap из koi8-r в cp866.

Стандартным для FreeBSD является использование второго способа. Дело в том, что некоторые видеоадаптеры аппаратно и неотключаемо расширяют символы (то есть копируют девятый бит изображения символа из его восьмого бита), соответствующие псевдографике в оригинальной таблице символов. При использовании шрифтов koi8-r псевдографика получается "рваной", а русские буквы сливаются. Кроме того, при использовании мыши на консоли в случае использования шрифтов koi8-r происходит порча символов на экране и необходимо переопределять SC_MOUSE_CHAR в конфигурационном файле ядра следующим образом:

       options SC_MOUSE_CHAR=0x03



Для других адаптеров можно выбрать использование шрифтов koi8-r без использования scrnmap, однако способ с использованием scrnmap более универсален. В частности, для просмотра информации в других кодировках достаточно сменить scrnmap, например, cp1251-cp866.

Более подробную информацию о русификации консоли можно найти по адресу http://www.tsu.ru/~pascal/unix/syscons/russian.html