

この文章は KDEの KWriteで書いてるんですが、使ってみると KDEもいいもんですね。
↑自分は Linuxではどっちかというと Emacs派。
KDEも Windowsの悪い所を取り入れて、Ctrl+? のキーバインドになってるんですが、これが猛烈に使いにくい。
コピーが Ctrl+c なんてバインドになってるんだから、Linuxでは押せませんよ、そんな組み合わせ!(笑)
苦肉の策として、無変換キーに Ctrlを割り当てました。
すると、KDEのアプリケーションが、Macとほぼ同じ感覚で使えるようになって、こらもう快適。
まあ、当初から予想はしていたのですが。
Ctrl+c とか Ctrl+z の組み合わせを押している事に本質的に変わりはないので、ちょいと心配なのは確か。
しかし、ターミナルで Meta=alt と間違えて 無変換+c という組み合わせを押すことはまずない、ので大丈夫のよう。
<><><><><><><>
結論から言うと、Lynxが unicodeの ターミナル上で文字化けする原因は端末制御ライブラリ cursesにあった。
Linux(この場合、KNOPPIX)で Lynxをコンパイルすると、デフォルトは cursesを使ってコンパイルされる。
だが、cursesは往々にしてブロークンなので、基本的に ncurses以上を使うことが推奨されるのだ。
(と、ソース中に展開される INSTALLATIONファイルをよく読めば書いてある)
実際には KNOPPIXでは、cursesの代わりに ncursesが入ってて、それが自動的に使われる。
それでも ncursesでは unicodeか日本語か(あるいは両方)に不都合があるので、明示的に ncursesw か slang を用いてコンパイルしなければならない。
他にも日本語を用いるなら留意すべき点があれこれある。
ポイントは、ソースを展開した時に含まれる "INSTALLATION" と、同じく doc/README.jp を熟読して configure時のオプションや Makefileでの指定を適切に行うこと。
読めば書いてあるので解説はしませんが、configure時のオプションを一例として書いておきます。
!! セキュリティ的には「ゆるい」設定になっています。 !!
./configure --with-screen=ncursesw --enable-widec --enable-cjk --enable-japanese-utf8 --with-ssl --enable-cgi-links --enable-change-exec --enable-charset-choice --enable-default-colors --enable-exec-links --enable-exec-scripts --enable-externs --enable-gzip-help --enable-htmlized-cfg --enable-internal-links --enable-local-docs --enable-progressbar --enable-scrollbar --enable-underlines --enable-vertrace --with-bzlib --with-zlib
最初の4つが utf-8や日本語を使う場合に必要なオプション。
これで utf-8でも日本語が文字化けしない Lynxができた。
ただし、完全ではない。
utf-8では、ワードラップや文字送りに問題があり、スクリーンショットのとおり、折り返した行末の方の文字が表示されない「文字切れ」(個人的には「字余り」と呼んでいる)が起こる。
字余ってしまった文字が左の方に表示されたりもする。
設定をいじってみたが、完全には解消しない。
当初コンパイルしたバージョンはリリース最新版の 2.8.7rel.1 だったが、開発版の 2.8.8.dev.1 の方が、こころもち字余り現象がましのような「気がした」ので、とりあえず 2.8.8 を使っている。
<><><><><><><>
同時に、slang を使った版もコンパイルしてみたが、こちらは utf-8では「文字ずれ」=リンクとなる文字列がカーソルの移動に伴って前後にズレたり重なったりして表示される、が頻発し、残念ながら日々の使用には耐えないと判断した。
だが。
ncursesw では問題のあるワードラップがほぼ完璧であること。
slangの特色であるカラフルな色使いが捨てがたい。
なにより、Shift-JISの環境なら「文字ずれ」が発生しない。
(多分、EUCや JISの環境でも発生しない)
以上の点により、
「Shift-JISの環境で Mozillaのふりをするテキストブラウザ」
という特化した設定をした上で使うことにした。
つづく。
| Trackback ( 0 )
|
|