Ввод UTF-8 в Lynx

Ввод UTF-8 в Lynx

В веб-браузере Lynx мне удалось правильно отобразить не-ASCII символы с помощью настройки

CHARACTER_SET:UNICODE (UTF-8)

в /etc/lynx-cur/lynx.cfg. Я также пробовал ASSUME_CHARSET, это не имеет значения. Однако ввод не-ASCII символов в поля ввода работает неправильно. Например, когда я копирую в поле формы, он отображается правильно. Затем, когда я нажимаю пробел, точка вставки перемещается в начало строки. Если я делаю это с Äpfel, он также отображается правильно, когда я вставляю его. После написания Ä отображается правильно, но когда я ввожу остальные буквы, точка вставки сначала перемещается в крайнее левое положение, а затем символы не отображаются.

Какие настройки мне нужны? У меня локаль UTF-8. Я использую Lynx 2.8.9dev.1 на Debian 8.7. Все остальные приложения, включая Emacs, работают безупречно с не-ASCII символами.

решение1

У меня есть lynx версии 2.8.9rel.1 (08 июля 2018 г.) на Manjaro 18. После установки lynx я протестировал страницуhttps://zh.wikipedia.org/wiki/Рысьи заметил, что китайские иероглифы отображаются некорректно. Тогда я добавил строку

 CHARACTER_SET:utf-8

в файл /etc/lynx.cfg.

Обратите внимание, что значение равно utf-8, как указано в столбце имени MIME в файле cfg, а не UNICODE (UTF-8)из столбца "string for 'O'ptions Menu". После этого китайские иероглифы на вышеупомянутой странице отображались правильно. Поиск "Äpfel" или "狐", как предложено вчат-комнататоже работало нормально.

Я не знаю, имеют ли значение ошибки, упомянутые Томасом Дики; использование правильного значения в файле cfg решило проблему для меня.

решение2

Это совпадение, ошибка, которая была исправлена.недавно:

2017-04-29 (2.8.9dev.13)
* amend fix for Debian #841155, adding check for special case where the
  expected number of cells is zero (report by Larry Hynes) -TD

2017-04-28 (2.8.9dev.12)
* correct logic in cell2char(), which gave up too early in determining the
  number of cells needed for a multibyte string in the editable text-fields
  (Debian #841155) -TD

Дебиан #841155сообщалось прошлой осенью, но проблема была в первоначальной версии cell2char, добавленной в2.8.7dev.10упомянуто здесь:

* rewrite LYRefreshEdit(), to display multibyte/multicolumn characters properly
  when using wide-character curses -TD

Вкратце, Lynx использует curses для отображения символов, а чтобы убедиться, что он знает ширину многобайтового символа на экране, он рисует текст в скрытом окне, подсчитывая ячейки.

Связанный контент