Bug 6988 - unable to work in locale with utf8 charmap
: unable to work in locale with utf8 charmap
Status: CLOSED FIXED
: Sisyphus
(All bugs in Sisyphus/groff)
: unstable
: all Linux
: P2 major
Assigned To:
:
:
:
:
: 10446
  Show dependency tree
 
Reported: 2005-06-02 13:05 by
Modified: 2008-08-23 03:28 (History)


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description From 2005-06-02 13:05:42
groff в Сизифе совершенно не работоспособен в локали utf8. Все другие вендоры
используют хак от Debian. Может быть и нам его приложить?

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

Рабочее решение может получиться, если кто-нибудь пропатчит man, чтобы он
добавлял на выходе из groff перекодирующие фильтры.
------- Comment #4 From 2005-06-02 20:47:27 -------
Боюсь, что на выходе из groff перекодировать уже нечего.
------- Comment #5 From 2005-06-02 20:55:11 -------
Voins, посмотри на вывод от
bzcat /usr/share/man/ru/man1/gpg.ru.1.bz2 |groff -mtty-char -Tutf8 -t -mandoc
Если ты придумаешь, как это преобразовать во что-то читабельное...
------- Comment #6 From 2005-06-02 21:07:09 -------
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 From 2005-06-02 22:10:05 -------
Voins, времена прохачивания -Tlatin1 я ещё помню, а "-t utf8" лишний :)
Ты думаешь, что вывернуть man наизнанку будет проще, чем зафиксить groff?
------- Comment #8 From 2005-06-02 22:16:25 -------
Однозначно. Я уже несколько дней наблюдаю, как Вартан именно этим занимается.
(прикручивает utf к groffу по-нормальному). groff внутри сломан от рождения.

(А -t utf-8 появилось, потому что я сперва пробовал это в koi8r :) )
------- Comment #9 From 2005-06-02 22:37:27 -------
Да, man перевернуть вверх тормашками немного проще будет.
------- Comment #10 From 2005-06-03 00:14:14 -------
Ёлки-палки, я и забыл, что man уже давно не мой пакет. :)
------- Comment #11 From 2005-06-03 00:35:46 -------
Ладно, это изменение я сделаю, а последствия будем расхлёбывать потом.
------- Comment #12 From 2005-06-03 00:36:36 -------
Fixed in 1.5m2-alt3
------- Comment #13 From 2005-06-03 02:06:13 -------
Я верю, что изменение, которое я сделал в man-1.5m2-alt3 для того, чтобы решить
эту проблему, что-нибудь обязательно испортит.  Просьба тем, кто сможет,
сегодня
в пятницу проверить пакет
/raid/ALT/current/Sisyphus/files/i586/RPMS/man-1.5m2-alt3.i586.rpm
до того, как он будет выложен - вдруг вреда больше чем пользы?
------- Comment #14 From 2005-06-03 08:43:59 -------
Может я что-то не так делаю, но вот
$ 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 From 2005-06-03 13:58:28 -------
Я проверял в uxterm'е.
------- Comment #16 From 2005-06-03 14:23:50 -------
А перекодировщик, ссылку на который я постил, не поможет?
------- Comment #17 From 2005-06-03 14:25:34 -------
Стас, ты у кого спрашиваешь?
------- Comment #18 From 2005-06-03 14:27:05 -------
У вас обоих. Как я понимаю твоё изменение не прокатывает, судя по сообщению
voins.
И не надо закрывать багу, пока она не исправлена.
------- Comment #19 From 2005-06-03 14:27:55 -------
я бы всё-таки эту багу оставил на Лёше.
------- Comment #20 From 2005-06-03 14:31:59 -------
Насколько я понимаю, мантейнер пакета groff у нас Voins, и он против этого
хака.
Мой хак на man у меня работает.
Проверь сам и напиши, работает ли man-1.5m2-alt3 у тебя.
------- Comment #21 From 2005-06-03 14:34:51 -------
Ага, подтверждаю, хак работает.
Только багу с groff снимать не надо до тех пор пока он не будет исправлен.
------- Comment #22 From 2005-06-03 14:42:02 -------
Договорились.
------- Comment #23 From 2005-06-03 14:45:10 -------
ok ;) - я и не заметил как ты багу на man успел перевесить ;)))
от groff много кто ещё зависит, и все они ждут исправления на уровне именно
groff.
------- Comment #24 From 2007-03-31 23:49:46 -------
Кто у нас нынче мантейнер пакета groff?
------- Comment #25 From 2007-04-01 00:06:51 -------
Судя по пакету - legion
------- Comment #26 From 2008-08-23 03:28:46 -------
В сизиф ушла сборка: groff-1.19.3-alt1.20080822.
Она умеет определять и перекодировать man-страницы... в т.ч. из/в utf8.