ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

IRcatコミュの半角カナ問題

  • mixiチェック
  • このエントリーをはてなブックマークに追加
思ったよりも「Cocoa版だと半角カナがでないぞー」という意見が多いので
備忘録も兼ねてまとめて見る.

何かご意見あればコメントしてください.


とりあえず近いうちに, 入出力文字コードをISO-2022-JPとUTF-8から
選択できる機能を追加する予定.
(現在はServer Preferencesで設定してもISO-2022-JPだけ対応)

ついでに ISO-2022-JP with HalfWidthKatakana というのを作って
半角カナ変換機能でも付けるかと.


そもそもUTF-8だと, 半角カナ(HalfWidthKatakana) の問題ない.
IRCnetがUTF-8に変わるまでほっとくのもありかも :p

コメント(4)

現状の半角カナエンコード方式

1. ESC $ B でJIS X 0208 に切り替え、 ESC ( J でJIS X 0201 の8ビットコードに切り替える.

SJIS->JISの変換をしたときに半角カナが「そのまま」通ってしまうので,
たまたまうまくいく. Carbon版までのIRcatはこの為たまたまうまくいってた.
ほとんどのIRCクライアントがこれかな?


2. SI (0e) SO(0f) でG1/G0集合の切り替えをする

これでだしてるIRCクライアントあるのかいな?


3. ESC ( I で半角カナに切り替える

ある意味正統法.
Macでは半角カナの入力がそもそも難しいので,
サーバへの出力の方はあとまわしでもいいのかなと.

サーバからの入力だけ対応するなら上記3つとも実装することは可能.
Windowsの機種依存文字も気になるけどとりあえずほっとこう.

実装方法としては…自作のEncodingを作成できると楽なんだけど
そんなことできるのかな?
とりあえずJIS->unicodeを実装してみた.
2,3を実装するには自前でJIS->SJIS変換をしてから
NSStringに SJIS->JIS変換をさせたほうが楽そう.

ってことでやりなおし…

チェックしてて思ったけど…CHOCOAってどうやって半角カナ
出力するんだ?
とりあえず 1と3だけ実装

そういえば ISO-2022-JPって ESC ( J (JIS X 0201)と
ESC ( B (ASCII)があるので, yen mark と back slash
がちゃんと区別できるのね.

ISO-2022-JPなIRcatで両方が区別してでるんでなんでだ
と悩んでしまいました. いやぁよくできてる.

でもShift JISにしてしまうと全部 back slashになってしまうのは謎.

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

IRcat 更新情報

IRcatのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。