tDiary で半角カナ使えるように
tDiary で「ギガワロス」とか書くと全角に変換されてうっとうしかったので、半角カナ→全角カナの変換している部分を探して見直してみた。 tDiaryって NKF::nkf
を使って日本語の encoding 変換を行っていて、 nkf はデフォルトで半角カナ→全角カナへの変換をおこなっていた。 nkf のオプションの -x
を追加すると変換をおこなわなくなるのでこいつを追加してやった。
-x Try to preseve X0208 kana. Assume X0201 kana in
MS-Kanji. And do not convert X0201 kana to X0208.
In JIS output, ESC-(-I is used. In EUC output, SSO
is used.
tDiary-2.0 で調整するファイルは下の一覧になります。 これらのファイルの中の nkf のオプションで '-e -m0'
とかになっている部分を '-e -x -m0'
とかにすればオッケーっすよ
$ find . -type f -name *.rb -exec grep NKF::nkf -lH '{}' ;
./misc/plugin/a.rb
./misc/plugin/kw.rb
./misc/plugin/weather.rb
./plugin/ja/00default.rb
./tdiary/pstoreio.rb
./tdiary/lang/ja.rb
tDiary使いな方、おためしくだされ。
って書いたのですが、そもそも CGI の引数を nkf とかで encoding 判定させて変換させる必要あるのか? っていう疑問にぶち当たったり。 「表示しているページの encoding と違う encoding で form の内容を送ってくるようなブラウザっていつの時代のブラウザだよ、そんなブラウザへのサポートなんか捨てちゃえ」って思うわけで。 あと tDiary だけで言えば、日本語の時には euc-jp のページになっているわけだし。 せいぜい必要なのって mobile user agent のときには HTTP Request/Response を shift-jis に変換しているっていうところで encoding 変換が必要そうだが、PC用ではすでに不要って思うのだが。
コメント
コメントを投稿