[LE-talk-ja 27] Re: ISO-2022-JP-MS について

Back to archive index

MORIYAMA Masayuki moriy****@mirac*****
2006年 4月 7日 (金) 12:30:16 JST


森山です。

"NARUSE, Yui" <narus****@airem*****> wrote:
> はじめまして、成瀬と申します。
> 
> わたしは Legacy Encoding Project でターゲットに挙げられている、
> nkf、Ruby/NKF、Encode::EUCJPMS をメンテナンスしています。

Encode モジュール用の eucJP-ms, CP51932 に関しては、作らねばと思ってい
たのですが、なかなか重い腰が上がらず、成瀬さんに作っていただき助かりま
した。

> 一方で今回提案された ISO-2022-JP-MS は、
> * CSS が ISO-2022-JP (RFC1468) と異なる
> * そのような「ISO-2022-JP-MS で扱える符号化文字列」の
>   資産は相当数存在する
> ため、その類のものに対する必要性は一定あるでしょう。
> (例えばMLのアーカイブの Unicode 化に用いる)
> しかし、それならば CP502xx で十分でしょう。
> 
> ユーザ定義文字が ISO 2022 から逸脱するのは、
> 確かに問題だとも思いますが、
> すでに逸脱した形でエンコードされたデータが
> 相当数存在するシステムで用いられるのですし、
> ユーザ定義文字を出力しない CP50221 でいい気もします。

ユーザ定義文字を出力しない CP50221 にしてみました。
どうでしょう?

■ ISO-2022-JP-MS(改1)

  ユーザ定義文字を出力しない CP50221

  使用するエスケープシーケンス

  文字セット            esc seq.  1バイト目           2バイト目
  --------------------- --------- ------------------- --------- ------
  US-ASCII              ESC ( B   0x00-0x7F               --    in/out
  JIS X 0201 ラテン文字 ESC ( J   0x00-0x7F               --    in
  JIS X 0201 片仮名     ESC ( I   0x21-0x5F               --    in/out
                        SO/SI     0x21-0x5F               --    in
                        ESC ( B   0xA1-0xDF               --    in
                        ESC ( J   0xA1-0xDF               --    in
  JIS X 0208:1978       ESC @ B   0x21-0x28,0x30-0x74 0x21-0x7E in
  JIS X 0208:1997       ESC $ B   0x21-0x28,0x30-0x74 0x21-0x7E in/out
  NEC特殊文字           ESC $ B   0x2D                0x21-0x7E in/out
  NEC選定IBM拡張文字    ESC $ B   0x79-0x7C           0x21-0x7E in/out
  ユーザ定義文字        ESC $ B   0x7F-0x92           0x21-0x7E in

      ※in = ISO-2022-JP-MS(改1) から Unicode への変換
        out= Unicode から ISO-2022-JP-MS(改1) への変換

  実は、Windows の CP5022X での SO/SI の扱いに関しては、やや特殊な事が
  行われているようで、SO から SI の間のバイト列それぞれに 0x80 を OR 
  して 0xA1〜0xDF の範囲であれば、JIS X 0201 片仮名として変換されます
  が、0x81〜0x9F, 0xE0〜0xFC のコードが出てくると、CP932 の 2バイトコー
  ドとみなして Unicode に変換するという事が行われているようなのです。

  このような処理をしてやると、Becky! Internet Mail で送信したユーザ定
  義文字を受信しても Unicode に変換できるようになります。

  そこまでやる必要はないでしょうけれども…

--
森山 将之 moriy****@mirac*****
ミラクル・リナックス株式会社




Legacy-Encoding-talk-ja メーリングリストの案内
Back to archive index