LynxのUTF-8入力

LynxのUTF-8入力

WebブラウザのLynxで設定すると、ASCII以外の文字を正しく表示できました。

CHARACTER_SET:UNICODE (UTF-8)

存在する/etc/lynx-cur/lynx.cfg。私もそうしてみましたが、ASSUME_CHARSETあまり差がありませんでした。ただし、入力フィールドにASCII以外の文字を入力すると、正しく機能しません。たとえば、フォームフィールドにコピーすると正しく表示されます。ただし、スペースバーを押すと挿入ポイントが行の先頭に移動します。を使用してこれを行うと、貼りÄpfel付けても正しく表示されます。書き込んだ場合は ä が正しく表示されますが、残りの文字を入力すると挿入ポイントが最初に左端に移動し、次に文字が表示されません。

どの設定が必要ですか?私のロケールはすべてUTF-8です。私はDebian 8.7でLynx 2.8.9dev.1を使用しています。他のすべてのアプリケーション(Emacsを含む)は非ASCII文字を完全に処理します。

答え1

Manjaro 18にはlynxバージョン2.8.9rel.1(2018年7月8日)があります。 Lynxをインストールした後、ページをテストしました。https://zh.wikipedia.org/wiki/Lynxそして、漢字が正しく表示されないことを確認しました。その後、この行を追加しました。

 CHARACTER_SET:utf-8

ファイルとして/etc/lynx.cfg

この値は「オプションメニュー」列の文字列utf-8ではなく、cfgファイルのMIME名列にリストされている値です。UNICODE (UTF-8)その後、上記のページの漢字が正しく表示されることがあります。提案に従い、「äpfel」または「fox」を検索してください。チャットルームまた、非常にうまく動作します。

Thomas Dickeyが言及したエラーが関連しているかどうかはわかりません。 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

Debian #841155去年の秋に報告されたが、問題は元のバージョンにcell2char追加された内容でした。2.8.7dev.10ここで言及された内容:

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

簡単に言えば、Lynxは呪いを使用して文字を表示し、画面のマルチバイト文字の幅を知っていることを確認し、隠されたウィンドウにテキストを描画してセル数を数えます。

関連情報