FreeBSD - статьи

       

Unicode и Иксы


По простому называемые Иксы давно готовы к принятию юникода. Собственно, с ними и будем работать. Конечно, различие кодировок в консоли и Иксах может вызывать противоречивые чувства у многих (типа локаль должна быть едина), но, как говорится, и здесь можно найти свои преимущества. Cама локаль UTF8 идёт во FreeBSD начиная с версии 5.2, но если вдруг не окажется у вас по каким либо причинам, то её можно установить из портов - /usr/ports/misc/utf8locale.

Оговорюсь сразу, что у меня оболочка bash, и всё ниженаписанное по настройкам применительно к ней, но и с другими шеллами затруднений не должно возникнуть, главное - понять суть вопроса.

Собственно, раз мы будем работать с unicode в Иксах, то задаём переменные для реализации юникодной локали в домашнем каталоге, в файле ~/.xinitrc, в самых первых его строках. Нужно задать соответствующие переменные, для чего привожу простой пример состава файла ~/.xinitrc:

export LANG='ru_RU.UTF-8' export LC_ALL='ru_RU.UTF-8' exec startfluxbox

Конечно, fluxbox может быть заменён на любой другой менеджер. Мои корреспонденты писали, что что переменную LC_ALL следует делать LC_ALL="", то есть оставить пустой. Но на поверку оказалось, что в этом случае получаем большие проблемы с вводом русских букв в иксовых терминалах, а вот при указании проблема исчезает. Ещё совет - нужно побольше установить шрифтов TTF в каталог /usr/X11R6/lib/X11/fonts/TTF. Это нужно для нормального отображения и вообще для работы в некоторых приложений (подойдут из всем ивестной сиситемы Windows). Рекомендую - после того как скопированны шрифты, сделать следущее под рутом:

cd /usr/X11R6/lib/X11/fonts/TTF mkfontscale mkfontdir fc-cache

И проверьте, что в /etc/X11/xorg.conf (или /etc/X11/XF86Config, в зависимости от используемой реализации) указан путь к каталогу /usr/X11R6/lib/X11/fonts/TTF.



Содержание раздела