Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...

Русификация

Текущий рейтинг: 3.67 (проголосовало 3)
 Посетителей: 6401 | Просмотров: 8970 (сегодня 0)  Шрифт: - +

Значительная часть этого раздела написана 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/

http://lct.sourceforge.net

В разных дистрибутивах применяются или один, или другой. Например, в 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

На "низком уровне" для русификации консоли достаточно выполнить следующие команды (пакет kbd): pre> $ setfont Cyr_a8x16 $ mapscrn koi2alt $ echo -ne "\033(K" $ loadkeys ru1 Если используется пакет console-tools: pre> $ 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. Проверить установки можно, просто сказав locale: pre> $ 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` - даты должны быть на русском.

На самом деле, для настройки locale достаточно всего лишь установить переменную окружения LANG= из стартовых скриптов (например /etc/profile) или руками. pre> $ export LANG=ru_RU.KOI8-R В Red Hat-based дистрибутивах это делается путем редактирования файла /etc/sysconfig/i18n где, кроме прочего, должна быть строчка pre> 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, такой страны больше нет :-)

К сожалению, не все дистрибутивы "от рождения" позволяют использовать ru_RU.KOI8-R . Воспользуйтесь `locale -a` для получения списка допустимых значений. Если в списке нет значения ru_RU.KOI8-R, его нужно добавить, а то LANG= будет указывать "в пустоту" : pre> $ 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-у все будет работать и программы будут счастливы. Еще один вариант -- переименовать каталог.

Некоторые дистрибутивы неправильно включают pre> LANG=ru LC_ALL=ru_RU.KOI8-R Это НЕПРАВИЛЬНО. Лучше не устанавливать переменную окружения LC_ALL вообще (достаточно полного LANG=, а все переменные LC_xxxx "унаследуются" от него). Подробнее смотрите на http://www.sensi.org/~alec/locale/ в главе "Как включить..."

3.5 Как отключить вывод сообщений на русском, сохранив при этом остальные свойства русской локали ?

Нужно определить переменные окружения : pre> LANGUAGE=en_US LC_MESSAGES=en_US В RedHat эти строки можно вписать прямо в /etc/sysconfig/i18n .

3.6 Я настроил locale и русский в консоли, но bash все равно не вводит русские буквы, пищит.

Хотя для большинства программ вполне достаточно установки LANG=ru_RU.KOI8-R чтобы начать распознавать русские буквы, многие программы, основанные на библиотеке readline (например bash), все равно считают символы с кодами больше 128 особыми META-символами (пищит при вводе).

Чтобы отучить библиотеку readline от этого, необходимо определить переменную pre> INPUTRC=/etc/inputrc Кроме того, создать файл /etc/inputrc pre> set meta-flag on set convert-meta off set output-meta on После этого библиотека readline (и bash) начнет воспринимать русские буквы.

Еще один вариант : Не задавать INPUTRC=, а прописать те же значения в файл ~/.inputrc (в home-каталоге). Но тогда придется заводить такой файл в домашнем каталоге каждого пользователя.

См. man readline.

3.7 Red Hat и русификация

Cоздаем файлик /etc/sysconfig/i18n. Внутри должно быть что-то вроде: pre> SYSFONT=UniCyr_8x16 SYSFONTACM=koi8-r LANG=ru_RU.KOI8-R Раскладка клавиатуры выбирается утилитой kbdconfig и прописывается в файл /etc/sysconfig/keyboard, в виде: pre> KEYTABLE=ru1 Эти файлы используются в скриптах /etc/rc.d/rc.sysinit, /sbin/setsysfont. Ознакомьтесь с ними, а также с /usr/doc/initscripts-x.xx/, если возникли вопросы или проблемы.

3.8 Debian и русификация

Debian 2.2: Насторойка фонтов запускается из /etc/init.d/console-screen.sh

/etc/console-tools/config: pre> # 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.

/etc/environment: pre> LANG=ru_RU.KOI8-R

3.9 Как установить русские фонты KOI8-R на XFree86 ?

В современных дистрибутивах они скорее всего уже стоят. Первым делом (на работающем X сервере) запустите : pre> $ xlsfonts -fn "*-koi8-r" Если список не пустой - примите наши поздравления :-)

Начиная с версии XFree86 3.3.2 русские фонты cronyx-* входят прямо в дистрибутив XFree. Если фонтов нет -- их нужно установить. Для Red Hat просто поставьте пакет XFree86-cyrillic-fonts-XXXX.rpm . Фонты установятся в /usr/X11R6/lib/X11/fonts/cyrillic .

Далее нужно подключить шрифты к X Window. Убедитесь, что в файле /etc/X11/XF86Config прописан путь : pre> 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.10 Как сделать так, чтобы в X Window русские буквы вводились везде ?

Существует два основных способа русификации клавиатуры X :

  • XKB, применяющийся в современном X11R6
  • xmodmap, применявшийся в X11R5
При русификации X 3.3.x через XKB в /etc/X11/XF86Config должно быть прописано: pre> Section "Keyboard" ... XkbRules "xfree86" XkbModel "pc101" XkbLayout "ru" XkbOptions "grp:shift_toggle" EndSection Для X 4.0.x pre> Section "InputDevice" ... Driver "keyboard" Option "XkbRules" "xfree86" Option "XkbModel" "pc101" Option "XkbLayout" "ru" Option "XkbOptions" "grp:shift_toggle" EndSection В зависимости от клавиатуры опция Model может быть "pc101", "pc104" или "pc105", а комбинации переключения: pre> 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 добавились новые : pre> grp:alt_shift_toggle Alt+Shift grp:menu_toggle Menu (модель должна быть pc104, pc105) Если есть проблемы с 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.11 Как cмонтировать диск, чтобы русские имена файлов были видны ?

Для vfat примерно так (cтрочка из /etc/fstab/): pre> /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, так что возможно (хотя скорее всего нет) ядро придется перекомпилировать.

Для CD, содержащего файлы с русскими именами: pre> $ 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.12 * Как увидеть русские буквы в именах файлов на диске Samba?

Для сервера добавить в /etc/smb.conf pre> [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 ) pre> CONFIG_NLS_DEFAULT="koi8-r" CONFIG_SMB_NLS_DEFAULT=y CONFIG_SMB_NLS_REMOTE="cp866" CONFIG_SMB_NLS=y CONFIG_NLS=y

3.13 Как перекодировать из DOS/Win кодировки в KOI8-R ?

Перекодировщиков CP1251 и CP866 --> KOI8-R просто огромное количество. Не надо писать новых ;-) Наиболее широко распространены iconv (входит в поставку glibc) и GNU recode ( ftp://prep.ai.mit.edu/pub/gnu/recode/) pre> $ iconv -f866 -tKOI8-R -o 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 : pre> $ lynx -assume_local_charset cp866 file.txt

3.14 * Как с помощью Vim редактировать файлы в различных кодировках?

pre> :e ++enc=cp1251 winfile.txt Загрузить файл, считая, что он в указанной кодировке, и перекодировать его в кодировку, в которой работает редактор.

3.15 * Как создавать и редактировать файлы в UTF-8 в редакторе VIM ?

VIM должен быть версии 6.x и собран с поддержкой Multibyte: pre> configure --with-features=huge --enable-multibyte Предположим, консоль русифицирована в KOI8-R, тогда в VIM надо дать команды : pre> :set encoding=utf-8 :set fileencoding=utf-8 :set termencoding=koi8-r В RedHat VIM разнесен на несколько пакетов. pre> vim-common-6.1-2 vim-minimal-6.1-2 vim-enhanced-6.1-2 Редактор vi, входящий в vim-minimal собран без Multibyte, vim из vim-enhanced -- с поддержкой. Надо пользоваться редактором vim.

3.16 Можно ли научить Vim понимать хоткеи, когда включена русская раскладка клавиатуры?

В  /.vimrc:

set langmap=йq,цw,уe,кr,еt,нy,гu,шi,щo и т.д.

3.17 Как прикрутить к Golded/LNX почтовую базу в 866 кодировке ?

Во-первых, нужно взять GoldEd+ c http://golded-plus.sourceforge.net.

Кроме того, нужно взять таблицы перекодировки (например из пакета русификации, проходившего по файлэхе aftnged и лежащего на http://collage.etel.ru/fileechos/ftn/ и прописать их в golded.cfg, примерно так: pre> 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.18 Можно ли в mc увидеть pусские буквы?

Можно. F9 - options - display bits - Full 8 bit

В последних версиях `mc` появилась поддержка различных Charset-ов . Эта опция должна быть включена при компиляции `mc` . pre> $ ./configure --enable-charset ....

3.19 less

Yuriy.Kaminskiy@p21.f517.n5020.z2.fidonet.org пишет:

при настроенной локали указывать LESSCHARSET _HЕ HАДО_. Более того, в ~/.lesskey надо добавить pre> #env LESSCHARSET= чтобы он игнорировал установку LESSCHARSET= глупыми программами (к примеру, man :) [после этого надо запустить lesskey для получения бинарного файла ~/.less] В противном случае он не будет вызывать setlocale(LC_CTYPE,"") и, как следствие, не будет icase search для русских букв.

3.20 telnet

Если возникают проблемы с вводом русских символов, надо написать файлик ~/.telnetrc со следующей строкой: pre> DEFAULT set outbinary Вы можете встретить проблемы при работе в кодировке Win-1251 -- не передается маленькая русская буква "я" 0xff. У протокола TELNET 0xff -- это первый символ управляющей последовательности. Дабы передать собственно "я", нужно его удваивать : 0xff, 0xff. В KOI8-R такой проблемы нет.

3.21 Что делать, если "слетела" консоль ?

Скорее всего на консоль был скопирован какой-то двоичный файл, где случайно встретилась переключающая ESC-последовательность. Тогда :

Сброс терминала : pre> $ echo -ne "\033c" набрать вслепую, или с работающей консоли : pre> # echo -ne "\033c" >/dev/ttyX Переключение на downloaded font pre> $ echo -ne "\033(K" (возможно, еще придется перегрузить фонты, но это смотря как консоль сорвало...)

Если вывалилась какая-то программа, которая использует curses, то проще pre> $ stty sane В Red Hat все это делают reset; setsysfont

reset - из ncurses

См. `man console_codes` и `man stty`

3.22 Как русифицировать TeX под koi8-r?

Все вопросы по TeX рекомендуется задавать в ru.tex. FAQ из этой конференции и прочая информация по TeX в России находятся по адресу http://myke.webjump.com/tex/.

TeX и LaTeX во всех современных дистрибутивах говорят по-русски с раздачи. В этом случае имеется документ cyrguide.*, который и содержит развернутый ответ на вопрос о русификации TeX.

Переносы не всегда работают "из коробки", иногда надо поправить language.dat, и пересобрать форматы. Вот что пишет Alex Nikiforov:

Если уж о последних версиях, то в RH-6.0 с tetex 0.9 у меня получилось так: pre> $ texconfig выбрать pre> hyphenation -> latex раскомментировать russian

Добавить в LaTeX файлах pre> \usepackage[T2A]{fontenc} \usepackage[koi8-r]{inputenc} \usepackage[english,russian]{babel} и в файле можно переключаться между русским и английским командами \Russian и \Engish

Что бы добавить форматы из cyrplain набора в texconfig выбрать FORMATS и добавить pre> cyrtxinf tex language.dat cyrtxinf.ini для русского texinfo. Аналогично для cyrblue и cyramstx.

Что бы добавить формат cyrtex ( русский TeX ) проще в каталоге web2c выполнить: pre> initex `\input cyrtex.ini \dump` и бросить символическую ссылку с именем cyrtex на tex ( например в /usr/bin )

Что бы переключится на русский в этих plain форматах использовать команду pre> \language N где N - номер, под которым числится русский язык в получившейся раскладке.

В принципе можно заменить в конфигурации ruhypen на ruenhyp и оставить только совместные русско-английские правила переноса, но детально это не проверял и подробно описать не могу.

3.23 * Где взять русские Type1 ps фонты в KOI8-R?

Современные Type1 фонты в общем не обязаны иметь информацию о "кодировке", а должны просто содержать русские символы с именами глифов типа "afii10049" (Association for Font Information Interchange). О "векторе кодировки" должно заботиться приложение, порождающее ps. См. документы Adobe:

Free фонты Type1 c русскими символами: Также см. Cyrillic-HOWTO п."Кириллические шрифты" http://www.inp.nsk.su/~baldin/Cyrillic-HOWTO-russian/Cyrillic-HOWTO-russian.html

К сожалению, некоторые приложения видят только первые 256 символов Type1 шрифта (Latin1 или ISO_8859-1). Именно для таких приложений нужны "отхаканные" шрифты, где вместо "circumflex" и "cedilla" расположены символы KOI8-R. Взять можно например с: ftp://ftp.kapella.gpi.ru/pub/cyrillic/psfonts/ Прочитайте README.

3.24 Где найти хорошие русские шрифты для 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.25 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.26 Как 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.27 А как русифицировать StarOffice (там же - а почему он у меня не ставится и т.п.

Почитайте замечательную страничку Леона Кантера по адресу - http://www.blackcatlinux.com/StarOffice/

Составаитель FAQ был бы рад узнать, в какой мере сведения на этой странице применимы к Open Office и Star Office 6.

3.28 Как русифицировать AbiWord?

Обратитесь по адресу http://www.hippo.ru/~hvv/abiword/

3.29 Как сделать русскоязычный интерфейс в Mozilla?

http://www.mozilla.ru/download/

Вот более общая и более удобная в плане установки из самой мозиллы ссылка: http://www.mozilla.org/projects/l10n/mlp_status.html

3.30 Как русифицировать Netscape {4|3}/научить его понимать win-кодировку ?

  • Возьмите Netscape 4.06 и выше, собранный под glibc2, его русифицировать не надо. Брать его желательно у производителя вашего дистрибутива. (при настроенной локали, xkb и шрифтах, установленных согласно ответу на вопрос 0.13) Еще, netscape имеет мерзкую привычку запоминать шрифты в ~/.netscape/preferences.js (и, кажется, еще где-то). И если он вовремя не увидел какой-то шрифт, то он может его вообще никогда не увидеть. Иногда помогает только полное изничтожение директории ~/.netscape
  • для тех, кто не испытывает любви к падучему тормозному монстру: netscape 3.xx особой русификации тоже не требуют - достаточно просто шрифтов в кодировке koi8-r, но с win-кодировкой будут, естественно, проблемы. Единственная пакость - управляющие элементы форм (кнопки/селекторы и т.д.) выводятся в cp1251. Лечится pre> echo `Netscape*documentFonts.charset*koi8-r: iso-8859-1` | xrdb -merge после чего koi8-шрифты появляются в списке шрифтов для "Western". (отныне ваша кодировка по умолчанию именно она, а про koi забудьте.) Netscape 3.x берется с ftp://archive.netscape.com pre> Login:archive Password:oldies dir там не работает, качайте /archive/index.html
  • Принципиально не русифицируемые вещи: у обоих нетскейпов (3 и 4) будут трудности со страницами в кодировке, не соответствующей `meta content-type` в заголовке (традиционная проблема серверов с выбором кодировок и авторов, пользующихся тулзами от MS). Hе лечится ничем, кроме хака бинарников. Что еще хуже - если в документе явно указан шрифт, и такой шрифт, не дай бог, у вас имеется (естественно, не русифицированный), то им все и будет нарисовано. Решений два: или не иметь в системе не-русифицированных шрифтов вовсе, или отключить в нетскейпе автоматическую загрузку изображений. (при этом "заодно", как ни странно, отключится и показ шрифтов, указанных в документе. Hажав Alt-I, вы получите возможность посмотреть картинки. Hадеюсь, текст к этому моменту вы уже запомнили ;)

3.31 Как мне заставить приложение для иксов использовать шрифты с koi8-r, а не iso8859-1 ?

a) Постарайтесь выяснить, откуда приложение берет имя фонта. Чаще всего приложение хранит имена используемых фонтов в "базе ресурсов": в персональной  /.Xdefaults или системной /usr/X11R6/lib/X11/app-defaults/ базе. Имена используемых фонтов хранится в форме XLFD, т.е. там можно применять "*". Например: pre> Netscape*fontList: -*-helvetica-bold-r-*-*-*-120-*-*-*-*-koi8-r Посмотреть "ресурсы" приложения можно утилитой appres : pre> $ 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.32 Почему в Gnome или программах, использующих GTK+, кое-где русский текст выводится латиницей? Где прописываются используемые ими шрифты?

Если gtk не находит нужных шрифтов (в частности, нужного размера), он режет 8-й бит. Шрифты задаются в /etc/gtk/gtkrc.$LANG. Поэтому нужно создать файл gtkrc.ru или поправить существующий. Внутри должно быть примерно следующее (названия шрифтов, размеры и прочие атрибуты можно исправить по вкусу, но эти шрифты должны содержать кириллицу в koi8-r): pre> 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: pre> $ 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.33 Qt и русскоязычные программы

http://kde.ru/docs.php?action=index

3.34 Как русифицировать KDE?

http://www.kde.org/international/russia/localization.html

3.35 Что сделать, чтобы было можно работать в юникодной локали (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 в X Window не имеет аппаратных ограничений. Запуск pre> : 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.36 Кто занимается переводом документации и пользовательских интерфейсов на русский язык?

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/

Опубликована: 03.03.2005
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:  


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.