Библиотека сайта rus-linux.net
3. Русификация
Значительная часть этого раздела написана Alexander Voropay.
3.1 У меня проблемы с русским в...
- русификацию консоли
- установку системной (libc) locale
- русификацию системы X Window - шрифты и клавиатура
- включение поддержки русского в конкретных программах
- печать
Существует Cyrillc-HOWTO http://www.ibiblio.org/pub/Linux/docs/HOWTO/unmaintained/Cyrillic-HOWTO, однако он довольно долго не обновлялся и больше не поддерживается, поэтому отнеситесь к нему критически (Last version : v4.0, 23 January 1998), перевод: http://www.inp.nsk.su/~baldin/Cyrillic-HOWTO-russian-old/Cyrillic-HOWTO.html.
Евгений Балдин создал новую версию Cyrillic-HOWTO на русском (версия не имеет английского перевода и не включена в официальную базу HOWTO). Доступна здесь : http://www.inp.nsk.su/~baldin
Лучше всего сперва искать решение проблемы здесь и лишь потом - в Cyrillic-HOWTO (англоязычном).
3.2 Русификация консоли.
В системе Linux существуют два конкурирующих пакета управления шрифтами и клавиатурой : kbd и consoletools.
ftp://ftp.win.tue.nl/pub/linux/utils/kbd/ или ftp://ftp.kernel.org/pub/linux/utils/kbd/
В разных дистрибутивах применяются или один, или другой. Например, в Red Hat 4.х и 5.x для русификации консоли применялся пакет kbd. Однако в Red Hat 6.x и выше применяется уже другой пакет - consoletools.
Существует Keyboard-and-Console-HOWTO, автор этого HOWTO является также автором пакета kbd, поэтому естественно, всех склоняет к использованию kbd. ;-) http://linuxdoc.org/HOWTO/Keyboard-and-Console-HOWTO.html
$ setfont Cyr_a8x16 $ mapscrn koi2alt $ echo -ne "\033(K" $ loadkeys ru1Если используется пакет console-tools:
$ consolechars -f UniCyr_8x16 -m koi8-r $ echo -ne "\033(K" $ loadkeys ru1См. man на соответствующие команды и 'man console_codes'. Описание, что есть что, у console-tools в /usr/doc/console-tools*, довольно внятное.
NB! К сожалению, в пакете console-tools некоторые русские фонты не содержат UNICODE screen-font map (SFM) и в таком виде попадают во многие дистрибутивы. Исправленные фонты живут в пакете console-tools-cyrillic: ftp://ftp.ice.ru/pub/fonts/linux/
Как правило, настройка шрифтов и клавиатуры скрыта среди стартовых скриптов, а ключевые управляющие параметры вынесены в отдельные файлики. Иногда существуют даже специальные программы настройки. "Идеологически правильно" не нарушать системную архитектуру дистрибутива, а всего лишь поменять настройки в этих файликах.
К сожалению, в Linux только один загружаемый фонт на все виртуальные консоли.
Если вы хотите видеть русские буквы и рамки (например в mc) на консоли одновременно, используйте только TERM=linux .
У вас будут проблемы при работе консоли в CP-866 из-за того, что некоторые русские буквы в этой кодировке совпадают со "старшими" управляющими кодами C1, например буква "Ы" 0x9B совпадает со старшим ESC (CSI). Работайте в KOI8-R.
3.3 Мне говорят "Настрой локаль!" Что это значит ?
$ locale LANG=ru_RU.KOI8-R LC_CTYPE="ru_RU.KOI8-R" LC_NUMERIC="ru_RU.KOI8-R" LC_TIME="ru_RU.KOI8-R" LC_COLLATE="ru_RU.KOI8-R" LC_MONETARY="ru_RU.KOI8-R" LC_MESSAGES="ru_RU.KOI8-R" LC_ALL= $Если результат именно такой, значит настроена русская locale (ru_RU) в кодировке KOI8-R. Проверить можно командами 'cal' или 'date' - даты должны быть на русском.
$ export LANG=ru_RU.KOI8-RВ Red Hat-based дистрибутивах это делается путем редактирования файла /etc/sysconfig/i18n где, кроме прочего, должна быть строчка
LANG=ru_RU.KOI8-R
3.4 Как настроить locale ? Я установил LANG, но русских дат нет.
Прежде всего - подробная дока о locale имеется на http://www.sensi.org/~alec/locale. Обращайтесь туда, если вам нужны нестандартные варианты (например, отключение русскоязычного интерфейса с сохранением правильной сортировки и т.д.)
Система X-Window и библиотеки Xlib и Xt имеют собственные механизмы локализации (XLC_LOCALE) которые являются "надстройкой" над системной locale. Подробности: {X11Root}/doc/i18n (в RedHat: /usr/share/Xfree86-doc/i18n). Документация в .PS http://www.tsu.ru/~pascal/x_locale/.
Хотя в принципе допустимо задавать короткое именование, вроде LANG=ru_RU или даже LANG=ru, лучше использовать _полное_ имя : LANG=ru_RU.KOI8-R . Совершенно недопустимо задавать LANG=ru_SU, такой страны больше нет :-)
$ localedef -c -i ru_RU -f KOI8-R ru_RU.KOI8-R Computing table size for character classes might take a while... done Computing table size for collation information might take a while... done $ $ cd /usr/lib/locale $ mv ru_RU.koi8r ru_RU.KOI8-R(в старых версиях - /usr/share/locale)
NB! Утилита localedef фомирует "сжатое" (mangled) имя кодировки, так что имя превращается в "ru_RU.koi8r". Это приводит в замешательство некоторые программы. Но к счастью, все же можно установить полное имя LANG="ru_RU.KOI8-R" и благодаря mangling-у все будет работать и программы будут счастливы. Еще один вариант -- переименовать каталог.
LANG=ru LC_ALL=ru_RU.KOI8-RЭто НЕПРАВИЛЬНО. Лучше не устанавливать переменную окружения LC_ALL вообще (достаточно полного LANG=, а все переменные LC_xxxx "унаследуются" от него). Подробнее смотрите на http://www.sensi.org/~alec/locale/ в главе "Как включить..."
3.5 Как отключить вывод сообщений на русском, сохранив при этом остальные свойства русской локали ?
LANGUAGE=en_US LC_MESSAGES=en_USВ RedHat эти строки можно вписать прямо в /etc/sysconfig/i18n .
3.6 Я настроил locale и русский в консоли, но bash все равно не вводит русские буквы, пищит.
Хотя для большинства программ вполне достаточно установки LANG=ru_RU.KOI8-R чтобы начать распознавать русские буквы, многие программы, основанные на библиотеке readline (например bash), все равно считают символы с кодами больше 128 особыми META-символами (пищит при вводе).
INPUTRC=/etc/inputrcКроме того, создать файл /etc/inputrc
set meta-flag on set convert-meta off set output-meta onПосле этого библиотека readline (и bash) начнет воспринимать русские буквы.
Еще один вариант : Не задавать INPUTRC=, а прописать те же значения в файл ~/.inputrc (в home-каталоге). Но тогда придется заводить такой файл в домашнем каталоге каждого пользователя.
См. man readline.
3.7 * Как выставить нужную локаль для jvm?
$ java -Duser.language=ru -Duser.region=RU -Dfile.encoding=koi8-r
3.8 Red Hat и русификация
SYSFONT=UniCyr_8x16 SYSFONTACM=koi8-r LANG=ru_RU.KOI8-RРаскладка клавиатуры выбирается утилитой kbdconfig и прописывается в файл /etc/sysconfig/keyboard, в виде:
KEYTABLE=ru1Эти файлы используются в скриптах /etc/rc.d/rc.sysinit, /sbin/setsysfont. Ознакомьтесь с ними, а также с /usr/doc/initscripts-x.xx/, если возникли вопросы или проблемы.
3.9 Debian и русификация
Debian 2.2: Насторойка фонтов запускается из /etc/init.d/console-screen.sh
# SCREEN_FONT=Cyr_a8x16 APP_CHARSET_MAP=koi8-r # APP_CHARSET_MAP_vc2=koi8-r APP_CHARSET_MAP_vc3=koi8-r APP_CHARSET_MAP_vc4=koi8-r APP_CHARSET_MAP_vc5=koi8-r APP_CHARSET_MAP_vc6=koi8-rФонты нужно заменить, взяв правильные из console-tools-cyrillic.
Клавиатура настраивается из /etc/init.d/keymaps-lct.sh и загружает раскладку /etc/console-tools/default.kmap.gz Именно под этим именем нужно разместить требуемую раскладку или создать symlink. Для интерактивного выбора клавиатуры есть полезная утилита: kbdconfig.
LANG=ru_RU.KOI8-R
3.10 Как установить русские фонты KOI8-R на XFree86 ?
$ xlsfonts -fn "*-koi8-r"Если список не пустой - примите наши поздравления :-)
Начиная с версии XFree86 3.3.2 русские фонты cronyx-* входят прямо в дистрибутив XFree. Если фонтов нет -- их нужно установить. Для Red Hat просто поставьте пакет XFree86-cyrillic-fonts-XXXX.rpm . Фонты установятся в /usr/X11R6/lib/X11/fonts/cyrillic .
Section "Files" ... FontPath "/usr/X11R6/lib/X11/fonts/cyrillic" FontPath "/usr/X11R6/lib/X11/fonts/75dpi" ... EndSectionПуть с cyrillic лучше всего поставить первым. Перезапустите X сервер и проверьте командой : xlsfonts -fn "*-koi8-r" .
Еще см. вопрос "Где найти хорошие русские шрифты для иксов?" Про подключение шрифтов TrueType также имеется отдельный ответ, в разделе про X Window.
Хорошим решением также будет использование фонт-сервера. Во-первых, он может быть один на всю организацию, а во-вторых в современные фонт-серверах можно использовать шрифты TrueType. Для Red Hat фонт-сервер xfsft входит в пакет XFree86-xfs.
http://www.dcs.ed.ac.uk/home/jec/programs/xfsft/
3.11 * Как сделать так, чтобы в X Window русские буквы вводились везде ?
- XKB, применяющийся в современном X11R6
- xmodmap, применявшийся в X11R5
Section "Keyboard" ... XkbRules "xfree86" XkbModel "pc101" XkbLayout "ru" XkbOptions "grp:shift_toggle" EndSectionДля X 4.0.x
Section "InputDevice" ... Driver "keyboard" Option "XkbRules" "xfree86" Option "XkbModel" "pc101" Option "XkbLayout" "ru" Option "XkbOptions" "grp:shift_toggle" EndSectionВ зависимости от клавиатуры опция Model может быть "pc101", "pc104" или "pc105", а комбинации переключения:
grp:toggle правый Alt (с "фиксацией") grp:caps_toggle Caps_Lock grp:shift_toggle два Shift grp:ctrl_shift_toggle Control+Shift grp:ctrl_alt_toggle Control+AltДля 4.0.x добавились новые :
grp:alt_shift_toggle Alt+Shift grp:menu_toggle Menu (модель должна быть pc104, pc105)В XFree 4.3 (и 4.2.99 также) изменились правила настройки Xkb. Каждая layout теперь содержит только один вариант клавиатуры. Поэтому выбор xkbLayout "ru" не позволяет вводить английские буквы. Зато повилась возможность комбинировать больше двух раскладок, просто через запятую. Правильная настройка xkb может выглядеть следующим образом:
Section "InputDevice" Identifier "Keyboard0" Driver "Keyboard" Option "AutoRepeat" "500 30" Option "XkbModel" "microsoft" Option "XkbLayout" "us,ru(winkeys)" Option "XkbOptions" "grp:ctrl_shift_toggle" EndSectionИ еще. поэкспериментировать с настройками xkb "на ходу" можно с помощью команды
$ setxkbmap -layout 'us,ru(winkeys)' -model microsoft -option grp:ctrl_shift_toggleВ этом случае изменения коснутся только порожденных окон.
Если есть проблемы с XKB, прочтите http://www.tsu.ru/~pascal/other/xkb/ Там же есть ссылки на "переключатели клавиатуры", например xxkb, описание, как использовать несколько раскладок одновременно, назначать клавиши переключения раскладок и много других интересных вещей.
Наиболее развитая программа для переключения клавиатуры через способ xmodmap : xruskb от Alexander V. Lukaynov
ftp://ftp.yars.free.net/pub/software/unix/X11/ (primary site)
ftp://ftp.relcom.ru/pub/x11/cyrillic/
Она может понадобиться для русификации X11R5 терминалов, например железных, или эмуляторов под MS Windows. Для ее применения с XFree86 лучше отключить модуль XKB в /etc/X11/XF86Config директивой XkbDisable. Правильная раскладка для xruskb: jcukeng-cyr.xmm
Проверить русификацию X можно программой xev: клавиатура должна генерировать правильные XkeySym для кириллицы (0x6xx), а xev должна показывать Cyrillic_IE и пр. при нажатии русских букв, а не OCyrcumflex e.t.c.
3.12 Как cмонтировать диск, чтобы русские имена файлов были видны ?
/dev/hda5 /mnt/d vfat noexec,rw,umask=002,codepage=866,iocharset=koi8-r,gid=100 0 0
Потом mount /mnt/d. Еще в ядро (>=2.0.36) должны быть включены соответствующие кодовые страницы (возможно, в виде модулей /lib/modules/`uname -r`/fs/nls_*) - CP866 и KOI8-R, так что возможно (хотя скорее всего нет) ядро придется перекомпилировать.
$ mount -t iso9660 -o iocharset=koi8-r /dev/cdrom /mnt/cdromПараметр codepage для isofs не нужен, в файловой системе JOLIET имена файлов хранятся в UNICODE.
Смысл этих опций можно узнать в 'man mount' или в документации исходников ядра /usr/src/linux/Documentation/filesystems/ или /usr/doc/kernel/filesystems/
3.13 Как увидеть русские буквы в именах файлов на диске Samba?
[global] character set = koi8-r client code page = 866 preserve case = yes short preserve case = yes default case = lower mangle case = noЧтобы правильно монтировались smb разделы надо при компиляции ядра указать (ядро должно быть >=2.2.20 )
CONFIG_NLS_DEFAULT="koi8-r" CONFIG_SMB_NLS_DEFAULT=y CONFIG_SMB_NLS_REMOTE="cp866" CONFIG_SMB_NLS=y CONFIG_NLS=y
3.14 Как перекодировать из DOS/Win кодировки в KOI8-R ?
$ iconv -f866 -tKOI8-R -o<outfile> infile $ recode CP1251..KOI8-R winfile.txtЕще один URL для recode - http://www.iro.umontreal.ca/~pinard/recode/.
Перекодировщик русского текста с автоматическим определением исходной кодировки: ftp://oskin.macomnet.ru/pub/linux/misc/xcode.c
$ lynx -assume_local_charset cp866 file.txt
3.15 Как с помощью Vim редактировать файлы в различных кодировках?
:e ++enc=cp1251 winfile.txtЗагрузить файл, считая, что он в указанной кодировке, и перекодировать его в кодировку, в которой работает редактор.
3.16 Как создавать и редактировать файлы в UTF-8 в редакторе VIM ?
configure --with-features=huge --enable-multibyteПредположим, консоль русифицирована в KOI8-R, тогда в VIM надо дать команды :
:set encoding=utf-8 :set fileencoding=utf-8 :set termencoding=koi8-rВ RedHat VIM разнесен на несколько пакетов.
vim-common-6.1-2 vim-minimal-6.1-2 vim-enhanced-6.1-2Редактор vi, входящий в vim-minimal собран без Multibyte, vim из vim-enhanced -- с поддержкой. Надо пользоваться редактором vim.
3.17 Можно ли научить Vim понимать хоткеи, когда включена русская раскладка клавиатуры?
В /.vimrc:
set langmap=йq,цw,уe,кr,еt,нy,гu,шi,щo и т.д.
3.18 Как прикрутить к Golded/LNX почтовую базу в 866 кодировке ?
Во-первых, нужно взять GoldEd+ c http://golded-plus.sourceforge.net.
AREAPATH /mnt/c/fido/fecho/ AREAFILE FastEcho XLATPATH /home/ak/.golded/chars XLATLOCALSET KOI8 XLATIMPORT IBMPC XLATEXPORT IBMPC XLATCHARSET KOI8 IBMPC koi_866.chs XLATCHARSET IBMPC KOI8 866_koi.chs IGNORECHARSET
3.19 Можно ли в mc увидеть pусские буквы?
Можно. F9 - options - display bits - Full 8 bit
$ ./configure --enable-charset ....
3.20 less
Yuriy.Kaminskiy@p21.f517.n5020.z2.fidonet.org пишет:
#env LESSCHARSET=чтобы он игнорировал установку LESSCHARSET= глупыми программами (к примеру, man :) [после этого надо запустить lesskey для получения бинарного файла ~/.less] В противном случае он не будет вызывать setlocale(LC_CTYPE,"") и, как следствие, не будет icase search для русских букв.
3.21 telnet
DEFAULT set outbinaryВы можете встретить проблемы при работе в кодировке Win-1251 -- не передается маленькая русская буква "я" 0xff. У протокола TELNET 0xff -- это первый символ управляющей последовательности. Дабы передать собственно "я", нужно его удваивать : 0xff, 0xff. В KOI8-R такой проблемы нет.
3.22 Что делать, если "слетела" консоль ?
Скорее всего на консоль был скопирован какой-то двоичный файл, где случайно встретилась переключающая ESC-последовательность. Тогда :
$ echo -ne "\033c"набрать вслепую, или с работающей консоли :
# echo -ne "\033c" >/dev/ttyXПереключение на downloaded font
$ echo -ne "\033(K"(возможно, еще придется перегрузить фонты, но это смотря как консоль сорвало...)
$ stty saneВ Red Hat все это делают reset; setsysfont <ctrl-j>
reset - из ncurses
См. 'man console_codes' и 'man stty'
3.23 Как русифицировать TeX под koi8-r?
Все вопросы по TeX рекомендуется задавать в ru.tex. FAQ из этой конференции и прочая информация по TeX в России находятся по адресу http://myke.webjump.com/tex/.
TeX и LaTeX во всех современных дистрибутивах говорят по-русски с раздачи. В этом случае имеется документ cyrguide.*, который и содержит развернутый ответ на вопрос о русификации TeX.
Переносы не всегда работают "из коробки", иногда надо поправить language.dat, и пересобрать форматы. Вот что пишет Alex Nikiforov:
$ texconfigвыбрать
hyphenation -> latexраскомментировать russian
\usepackage[T2A]{fontenc} \usepackage[koi8-r]{inputenc} \usepackage[english,russian]{babel}и в файле можно переключаться между русским и английским командами \Russian и \Engish
cyrtxinf tex language.dat cyrtxinf.iniдля русского texinfo. Аналогично для cyrblue и cyramstx.
initex '\input cyrtex.ini \dump'и бросить символическую ссылку с именем cyrtex на tex ( например в /usr/bin )
\language Nгде N - номер, под которым числится русский язык в получившейся раскладке.
В принципе можно заменить в конфигурации ruhypen на ruenhyp и оставить только совместные русско-английские правила переноса, но детально это не проверял и подробно описать не могу.
3.24 Где взять русские Type1 ps фонты в KOI8-R?
- http://partners.adobe.com/asn/developer/technotes.html (Fonts section)
- http://partners.adobe.com/asn/developer/PDFS/TN/5013.Cyrillic_Font_Spec.pdf
- Шарашкинские: ftp://ftp.ice.ru/pub/fonts/type1/
- PsCyr, автор коллекции Konstantin Chumachenko, мантейнер - Александр Лебедев: ftp://con155.phys.msu.su/pub/russian/psfonts/, зеркало ftp://ftp.vsu.ru/pub/tex/font-packs/pscyr/
- "TopTeams": http://www.topteam.bg/linux/fonts.html, копия ftp://ftp.ice.ru/pub/fonrs/type1/
К сожалению, некоторые приложения видят только первые 256 символов Type1 шрифта (Latin1 или ISO_8859-1). Именно для таких приложений нужны "отхаканные" шрифты, где вместо "circumflex" и "cedilla" расположены символы KOI8-R. Взять можно например с: ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/ Прочитайте README.
3.25 Где найти хорошие русские шрифты для X Window System?
Кроме распространенных шрифтов Cronyx существуют гораздо более эргономичные шрифты из проекта Cyr-RFX Дмитрия Болховитянова: http://www.inp.nsk.su/~bolkhov/files/fonts/cyr-rfx/
Фонт -cronyx-fixed-* с полным соответствием koi8-r , в том числе с рамками: ftp://ftp.ice.ru/pub/fonts/X11
Русские фонты из KSI-Linux: ftp://ftp.ksi-linux.com/pub/patches/
Русские фонты из Black Cat Linux: ftp://ftp.blackcatlinux.com/pub/blackcat-linux/6.2/SRPMS/SRPMS/urw-fonts-2.0-4bc.src.rpm
3.26 Emacs/XEmacs
Берем iso8859-5 шрифты с http://www.inp.nsk.su/~bolkhov/files/fonts/cyr_rfx/. Подключаем их к иксам, и выбираем в меню Mule нужную кодировку.
Очень благородные изовые шрифты можно взять на любом зеркале GNU в каталоге intlfonts. конкретно, например, ftp://ftp.chg.ru/pub/gnu/intlfonts/intlfonts-1.2-split/European.tar.gz (131Кб). В Debian они уже есть.
Подробная инструкция по русификации XEmacs имеется по адресу http://www.linux.zp.ua/xemacs/.
3.27 * Как русифицировать MySQL 3.x?
[mysqld] default-character-set=koi8_ruПроверить можно так :
mysql> show variables like 'character_sets' ; mysql> show variables like 'character_set' ;В этом случае все символьные поля в таблицах будут храниться в KOI8-R. Для того, чтобы работали клиенты ODBC из под Windows необходимо, чтобы первым SQL оператором в Windows приложении была команда :
SET CHARACTER SET cp1251_koi8 ;Тогда включится перекодировка "на лету". На сервере будет KOI8-R, а на клиенте Windows-1251 и все сортировки будут работать. Эту же команду можно прописать в MyODBC 3.x "SQL command on connect".
[mysqld] default-character-set=cp1251
3.28 Как pусифициpовать dosemu ?
Клавиатуpа - любым досовым pусификатоpом. Кроме того, есть патчик в http://www.ice.ru/~vitus/misc/, который позволяет обойтись без русификатора клавиатуры. В X-ах - рекомендуется, так как позволяет избежать двух клавиш переключения - одной в DOS другой - на остальном десктопе. При работе с удаленным dosemu (по telnet/ssh/rsh) - необходим.
Фонты - в консольном dosemu тем же pусификатоpом, в X-овом - поставить фонт с 866-ой кодиpовкой. Взять можно по адpесам http://www.ice.ru/~vitus/works/x11.html, ftp://ftp.dosemu.org/dosemu/Development/vga_cyr8x16.pcf.gz или http://www.inp.nsk.su/~bolkhov/files/fonts/vga4dosemu/.
3.29 * А как русифицировать OpenOffice/StarOffice (там же - а почему он у меня не ставится и т.п.
Установите последний OpenOffice. Для rpm-based дистрибутивов его надо брать с www.altlinux.ru, для Debian - с www.debian-linux.de или с того же altlinux: ftp://ftp.altlinux.ru/pub/distributions/ALTLinux/OpenOffice/debian-woody-openoffice/
3.30 Как русифицировать AbiWord?
Обратитесь по адресу http://www.hippo.ru/~hvv/abiword/
3.31 Как сделать русскоязычный интерфейс в Mozilla?
http://www.mozilla.ru/download/
Вот более общая и более удобная в плане установки из самой мозиллы ссылка: http://www.mozilla.org/projects/l10n/mlp_status.html
3.32 Как русифицировать Netscape {4|3}/научить его понимать win-кодировку ?
- Возьмите Netscape 4.06 и выше, собранный под glibc2, его русифицировать не надо. Брать его желательно у производителя вашего дистрибутива. (при настроенной локали, xkb и шрифтах, установленных согласно ответу на вопрос 0.13) Еще, netscape имеет мерзкую привычку запоминать шрифты в ~/.netscape/preferences.js (и, кажется, еще где-то). И если он вовремя не увидел какой-то шрифт, то он может его вообще никогда не увидеть. Иногда помогает только полное изничтожение директории ~/.netscape
- для тех, кто не испытывает любви к падучему тормозному монстру:
netscape 3.xx особой русификации тоже не требуют - достаточно просто
шрифтов в кодировке koi8-r, но с win-кодировкой будут, естественно,
проблемы. Единственная пакость - управляющие элементы форм
(кнопки/селекторы и т.д.) выводятся в latin1. Лечится
echo 'Netscape*documentFonts.charset*koi8-r: iso-8859-1' | xrdb -merge
после чего koi8-шрифты появляются в списке шрифтов для "Western". (отныне ваша кодировка по умолчанию именно она, а про koi забудьте.) Netscape 3.x берется с ftp://archive.netscape.comLogin:archive Password:oldies
dir там не работает, качайте /archive/index.html - Принципиально не русифицируемые вещи: у обоих нетскейпов (3 и 4) будут трудности со страницами в кодировке, не соответствующей 'meta content-type' в заголовке (традиционная проблема серверов с выбором кодировок и авторов, пользующихся тулзами от MS). Hе лечится ничем, кроме хака бинарников. Что еще хуже - если в документе явно указан шрифт, и такой шрифт, не дай бог, у вас имеется (естественно, не русифицированный), то им все и будет нарисовано. Решений два: или не иметь в системе не-русифицированных шрифтов вовсе, или отключить в нетскейпе автоматическую загрузку изображений. (при этом "заодно", как ни странно, отключится и показ шрифтов, указанных в документе. Hажав Alt-I, вы получите возможность посмотреть картинки. Hадеюсь, текст к этому моменту вы уже запомнили ;)
3.33 Как мне заставить приложение для иксов использовать шрифты с koi8-r, а не iso8859-1 ?
Netscape*fontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-koi8-rПосмотреть "ресурсы" приложения можно утилитой appres :
$ appres XTermВ man практически на любую X программу имеется секция RESOURCES.
Если программа написана с применением какого-либо "Toolkit"-а : GTK, Qt, Motif, e.t.c., чаще всего достаточно русифицировать Toolkit. Русификация GNOME/Gtk и Qt таким способом описана чуть ниже.
b) С помощью ключа -fn font или -font font. Этот ключ обрабатывается в XLIB и он скорее всего будет работать в любой X программе.
c) Метод грубого хака. Нужно взять русские шрифты с ftp://ftp.relcom.ru/pub/x11/cyrillic/fonts/, там есть шрифты adobe-*-koi8-1 (c fonts.alias, делающим из них -iso8859-1), но реально содержащие кириллицу в koi8-r в старшей половине.
При этом шрифты с теми же именами и "настоящими" символами iso8859-1 становятся недоступны. Стандартных шрифтов из XFree86-cyrillic-fonts недостаточно. Кроме того, пути к русским шрифтам в конфиге иксов или фонт-сервера должны быть впереди всех прочих.
Однако лучше не использовать этот метод, а написать автору программы (или прислать ему patch ;) для вынесения имени фонта в "ресурс".
3.34 Почему в Gnome или программах, использующих GTK+, кое-где русский текст выводится латиницей? Где прописываются используемые ими шрифты?
style "gtk-default-ru" { fontset = "-cronyx-helvetica-medium-r-normal--*-*-*-*-*-*-koi8-r,\ -cronyx-courier-medium-r-normal--*-*-*-*-*-*-koi8-r,\ -cronyx-fixed-medium-r-normal--*-*-*-*-*-*-koi8-r,\ -cronyx-times-medium-r-normal--*-*-*-*-*-*-koi8-r" } class "GtkWidget" style "gtk-default-ru"И скопировать этот файл в 'gtkrc.ru_RU.KOI8-R' или сделать symlink:
$ cd /etc/gtk/ $ ln -s gtkrc.ru gtkrc.ru_RU.KOI8-RПодробности см. http://www.gtk.org/tutorial/gtk_tut-21.html, а также http://www.linux.org.ru/gnome/
3.35 Qt и русскоязычные программы
http://kde.ru/docs.php?action=index
3.36 Как русифицировать KDE?
http://www.kde.org/international/russia/localization.html
3.37 Что сделать, чтобы было можно работать в юникодной локали (ru_RU.UTF-8) в консоли и в иксах?
К сожалению, "железо" консоли IBM-PC (VGA/SVGA) может отображать только 256 символов одновременно. Еще 32 символа отъедают рамки. Если пожертвовать атрибутами, количество символов можно довести до 512. Для UNICODE явно маловато. См. Console programming HOWTO http://devel.linvision.com/doc/fbh/current/index.html
Если устраивают эти ограничения, то переход (пакет console-tools) в/из однобайтового режима консоли в режим UTF-8 осуществляется командами unicode_start(1) и unicode_stop(1) . Узнать текущий режим можно командой vt-is-UTF8(1) . Документация - в console-tools/lct.txt
: xterm -u8с фонтами *-iso10646-1 .
Наиболее современные программы не используют "терминальный ввод-вывод" вообще, а написаны с использованием ToolKit-ов, поддерживающих UNICODE (Qt, GTK, Java .e.t.c.) или напрямую пользуются возможностями GUI X Window.
Для правильной работы приложений в UTF-8 необходимо, чтобы системная локаль также была UTF-8, например LANG="ru_RU.UTF-8" .
Дополнительная информация:
UTF-8 and UNICODE FAQ: http://www.cl.cam.ac.uk/~mgk25/unicode.html
The Unicode HOWTO: http://www.tldp.org/HOWTO/Unicode-HOWTO.html
How do Unix terminals work?: http://czyborra.com/unicode/terminals.html
Unicode Howto for KDE developers: http://developer.kde.org/documentation/library/kdeqt/kde3arch/KDE-Unicode-Howto.html
Есть микро-HOWTO вот здесь: http://lists.debian.org/debian-russian/2001/debian-russian-200111/msg00203.html
3.38 Кто занимается переводом документации и пользовательских интерфейсов на русский язык?
Russian Linux Documentation Project: http://rldp.linux.ru.net. Ведет Alexsandr Mikhailov, mailto:alexmikh@mail.ru Информация: http://www.tldp.org/vlist.html#te
Русская команда перевода GNU: http://www.gnu.org.ru, http://www-ru.gnu.org.ru/, http://www2.iro.umontreal.ca/~pinard/po/registry.cgi?team=ru
Проект Алексея Махоткина "Manpages-Ru" посвящен переводу пакета manpages на русский язык. http://www.alexm.here.ru/manpages-ru
KDE: http://www.kde.org/international/russia/
GNOME: http://www.linux.org.ru/gnome/
Next Previous Contents