Bug 6988 - unable to work in locale with utf8 charmap
Summary: unable to work in locale with utf8 charmap
Status: CLOSED FIXED
Alias: None
Product: Sisyphus
Classification: Development
Component: groff (show other bugs)
Version: unstable
Hardware: all Linux
: P2 major
Assignee: Alexey Voinov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks: 10446
  Show dependency tree
 
Reported: 2005-06-02 13:05 MSD by inger@altlinux.org
Modified: 2008-08-23 03:28 MSD (History)
8 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description inger@altlinux.org 2005-06-02 13:05:42 MSD
groff в Сизифе совершенно не работоспособен в локали utf8. Все другие вендоры
используют хак от Debian. Может быть и нам его приложить?

Понятно что некрасиво, но что делать - иначе работать в консоли невозможно.
Comment 1 Anton Farygin 2005-06-02 13:07:11 MSD
Это исправление нужно для выпуска любого дистрибутива с юникодной локалью,
включая livecd
Comment 2 inger@altlinux.org 2005-06-02 13:20:48 MSD
http://www.mail-archive.com/groff@gnu.org/msg00051.html
Comment 3 Alexey Voinov 2005-06-02 20:18:51 MSD
На то, чтобы заниматься аккуратным прикладыванием этого патча у меня сейчас
времени нет. Прикладывать неглядя заведомо кривой патч я не буду.

Рабочее решение может получиться, если кто-нибудь пропатчит man, чтобы он
добавлял на выходе из groff перекодирующие фильтры.
Comment 4 Dmitry V. Levin 2005-06-02 20:47:27 MSD
Боюсь, что на выходе из groff перекодировать уже нечего.
Comment 5 Dmitry V. Levin 2005-06-02 20:55:11 MSD
Voins, посмотри на вывод от
bzcat /usr/share/man/ru/man1/gpg.ru.1.bz2 |groff -mtty-char -Tutf8 -t -mandoc
Если ты придумаешь, как это преобразовать во что-то читабельное...
Comment 6 Alexey Voinov 2005-06-02 21:07:09 MSD
bzcat /usr/share/man/ru/man1/gpg.ru.1.bz2 |groff -mtty-char -Tlatin1 -t -mandoc|
iconv -f koi8-r -t utf-8 -c

-Tlatin1 у нас прохачен в groff с незапамятных времён. iconv в конце преобразует
из кодировки, в которой лежит man, в кодировку локали. Так как groff не
переваривает utf на входе, то хранить manы в utf невозможно.
Comment 7 Dmitry V. Levin 2005-06-02 22:10:05 MSD
Voins, времена прохачивания -Tlatin1 я ещё помню, а "-t utf8" лишний :)
Ты думаешь, что вывернуть man наизнанку будет проще, чем зафиксить groff?
Comment 8 Alexey Voinov 2005-06-02 22:16:25 MSD
Однозначно. Я уже несколько дней наблюдаю, как Вартан именно этим занимается.
(прикручивает utf к groffу по-нормальному). groff внутри сломан от рождения.

(А -t utf-8 появилось, потому что я сперва пробовал это в koi8r :) )
Comment 9 Dmitry V. Levin 2005-06-02 22:37:27 MSD
Да, man перевернуть вверх тормашками немного проще будет.
Comment 10 Dmitry V. Levin 2005-06-03 00:14:14 MSD
Ёлки-палки, я и забыл, что man уже давно не мой пакет. :)
Comment 11 Dmitry V. Levin 2005-06-03 00:35:46 MSD
Ладно, это изменение я сделаю, а последствия будем расхлёбывать потом.
Comment 12 Dmitry V. Levin 2005-06-03 00:36:36 MSD
Fixed in 1.5m2-alt3
Comment 13 Dmitry V. Levin 2005-06-03 02:06:13 MSD
Я верю, что изменение, которое я сделал в man-1.5m2-alt3 для того, чтобы решить
эту проблему, что-нибудь обязательно испортит.  Просьба тем, кто сможет, сегодня
в пятницу проверить пакет
/raid/ALT/current/Sisyphus/files/i586/RPMS/man-1.5m2-alt3.i586.rpm
до того, как он будет выложен - вдруг вреда больше чем пользы?
Comment 14 Alexey Voinov 2005-06-03 08:43:59 MSD
Может я что-то не так делаю, но вот
$ locale
LANG=ru_RU.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="ru_RU.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"
LC_ALL=
$ man gpg.ru
gpg(1)                                                                  gpg(1)

NAME
       gpg -- ÉÎÓÔÒÕÍÅÎÔ ÄÌÑ ÛÉÆÒÏ×ÁÎÉÑ É ÃÉÆÒÏ×ÏÊ ÐÏÄÐÉÓÉ

SYNOPSIS
       gpg [--homedir name] [--options file] [options] command [args]

ïðéóáîéå
       gpg ÏÓÎÏ×ÎÁÑ ÐÒÏÇÒÁÍÍÁ ÓÉÓÔÅÍÙ GnuPG.

       äÁÎÎÏÅ  ÒÕËÏ×ÏÄÓÔ×Ï  Ñ×ÌÑÅÔÓÑ  ÞÁÓÔØÀ GnuPG.  GnuPG ÒÁÓÐÒÏÓÔÒÁÎÑÅÔÓÑ ÎÁ
       ÕÓÌÏ×ÉÑÈ GNU General Public License, ÏÐÕÂÌÉËÏ×ÁÎÎÏÊ Free Software Foun-
       dation;  ÌÉÂÏ  ×ÅÒÓÉÉ  2, ÌÉÂÏ (ÎÁ ÷ÁÛÅ ÕÓÍÏÔÒÅÎÉÅ) ÌÀÂÏÊ ÂÏÌÅÅ ÐÏÚÄÎÅÊ
       ×ÅÒÓÉÉ.
$ rpm -q man
man-1.5m2-alt3

Т.е. никакого перекодирования я не вижу
Comment 15 Dmitry V. Levin 2005-06-03 13:58:28 MSD
Я проверял в uxterm'е.
Comment 16 inger@altlinux.org 2005-06-03 14:23:50 MSD
А перекодировщик, ссылку на который я постил, не поможет?
Comment 17 Dmitry V. Levin 2005-06-03 14:25:34 MSD
Стас, ты у кого спрашиваешь?
Comment 18 inger@altlinux.org 2005-06-03 14:27:05 MSD
У вас обоих. Как я понимаю твоё изменение не прокатывает, судя по сообщению voins.
И не надо закрывать багу, пока она не исправлена.
Comment 19 inger@altlinux.org 2005-06-03 14:27:55 MSD
я бы всё-таки эту багу оставил на Лёше.
Comment 20 Dmitry V. Levin 2005-06-03 14:31:59 MSD
Насколько я понимаю, мантейнер пакета groff у нас Voins, и он против этого хака.
Мой хак на man у меня работает.
Проверь сам и напиши, работает ли man-1.5m2-alt3 у тебя.
Comment 21 inger@altlinux.org 2005-06-03 14:34:51 MSD
Ага, подтверждаю, хак работает.
Только багу с groff снимать не надо до тех пор пока он не будет исправлен.
Comment 22 Dmitry V. Levin 2005-06-03 14:42:02 MSD
Договорились.
Comment 23 inger@altlinux.org 2005-06-03 14:45:10 MSD
ok ;) - я и не заметил как ты багу на man успел перевесить ;)))
от groff много кто ещё зависит, и все они ждут исправления на уровне именно groff.

Comment 24 Dmitry V. Levin 2007-03-31 23:49:46 MSD
Кто у нас нынче мантейнер пакета groff?
Comment 25 Anton Farygin 2007-04-01 00:06:51 MSD
Судя по пакету - legion
Comment 26 Alexey Gladkov 2008-08-23 03:28:46 MSD
В сизиф ушла сборка: groff-1.19.3-alt1.20080822.
Она умеет определять и перекодировать man-страницы... в т.ч. из/в utf8.