night garden > reboot
by Kenny Seed





 
 この文章は 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のふりをするテキストブラウザ」
 という特化した設定をした上で使うことにした。
 
 つづく。
 


コメント ( 1 ) | Trackback ( 0 )


« Lynxが化けま... 次の記事へ »
 
コメント
 
 
 
Unknown (Mr.Echo)
2010-01-19 12:52:50
Ctrlが押しにくいならEmacsなんてどうやって使うんですか?
 
コメントを投稿する
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。
数字4桁を入力し、投稿ボタンを押してください。