2011年6月18日土曜日

kterm JIS X 0213/UTF-8 パッチ、使い方(1)

ということで前置きが随分と長くなりましたが、ユニコードの表示文字幅として
  1. normal: ユニコードの標準文字幅
  2. cjk: ユニコードのCJK文字幅
  3. ja: 日本語の過去互換文字幅
の三種類が使えると良さそうという判断のもとに、1) と 2)については xterm や mlterm などの各種端末エミュレータが使用できるので 3)を実現することを考えました。

実現したい点を整理すると
  1. 最低限日本語(JIS)の文字 と ISO-8859 がUTF8で表現できればOK、別にユニコード完全対応したいわけではない。
  2. JIS X 0213 をサポートするためにユニコードの拡張漢字面の対応も必要。
  3. 文字符号は EUC-JIS-2004, Shift_JIS-2004, ISO-2022-7bit, UTF-8 を使いたい。
  4. 日本語(JIS X 0208, 0212, 0213)の文字は全て全角幅として扱う、フォントも今のまま使いたい、文字コードごとにフォントが変るのはいや。
  5. ユニコードの文字合成とか右書きとかの機能は不要。というかプレーンテキストに変な機能はあっちゃ駄目。
  6. でも JIS X 0203 のアイヌ用のカナなどを表現するための最低限の文字合成の対応が必要。(←この辺がかなりワガママ)
であっさり kterm で SJIS を扱っているような感じで UTF-8 文字符号に簡易対応させれば実現できることに気付きました。内部表現をユニコードに変更したりせず今のま ISO-2022形式で持つことにより、文字幅やフォントをそのまま使えます。

パッチを作成して個人的にバグを取りながら使用していました。作成してから大分たちますが、他にも使いたい人がいるかもと思いたち公開することにしました。

利用文字コードを EUC/SJIS/UTF8 の間で変更しても文字幅が変化しないので、それらを併用している人には便利だと思いますので使ってみてください。

0 件のコメント:

コメントを投稿