
ウェブブラウザ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/リンクス中国語の文字が正しく表示されないことに気づいたので、次の行を追加しました。
CHARACTER_SET:utf-8
ファイルに追加します/etc/lynx.cfg
。
utf-8
cfgファイルのMIME名欄に記載されている値はUNICODE (UTF-8)
「'O'ptions Menuの文字列」欄のものではないことに注意してください。その後、上記のページの中国語の文字が正しく表示されるようになりました。チャットルームも問題なく動作しました。
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
デビアン #841155昨年秋に報告されたが、問題はcell2char
2009年に追加された の初期バージョンにあった。2.8.7 開発版 10ここで言及されている:
* rewrite LYRefreshEdit(), to display multibyte/multicolumn characters properly
when using wide-character curses -TD
簡単に言うと、Lynx は curses を使用して文字を表示し、画面上のマルチバイト文字の幅を確実に把握するために、セルを数えながら隠しウィンドウにテキストを描画します。