[LE-talk-ja 57] Re: 基本仕様

アーカイブの一覧に戻る

MORIYAMA Masayuki moriy****@mirac*****
2006年 4月 12日 (水) 20:37:06 JST


森山です。

Kazuhiro Kazama <kazam****@mac*****> wrote:
> 
> On 2006/04/12, at 12:04, MORIYAMA Masayuki wrote:
> > ISO-2022-JP-MS に関しては、ユーザ定義文字の扱いに関して変更になるかも
> > しれませんが、現状では ESC $ ( ? としています。
> 
> なお,次のような別の角度から書かれた図を見つけました.
> 
> http://www2d.biglobe.ne.jp/~msyk/charcode/cp932/cp932mapping.png
> 
> これを見るに,私は検討対象としてはCodepage 50221の方がまだよいと思いま 
> す.

cp50221 互換とする場合、Windows では次のようにユーザ定義文字を 94x94 
集合に収まらない領域を使って表現しているので、ここの所の扱いをどうする
か明確にする必要があると考えています。

http://legacy-encoding.sourceforge.jp/wiki/index.php?plugin=attach&pcmd=open&file=cp5022x_cp932_map.png&refer=ISO-2022-JP-MS

提案2 では、7ビットJIS から Unicode へ変換する際には、cp5022x のユーザ
定義文字を受け付けるようにし、Unicode から 7ビットJISへの変換では、ユー
ザ定義文字は変換しないようになっています。

提案2
http://legacy-encoding.sourceforge.jp/wiki/index.php?%C4%F3%B0%C62

成瀬さんも cp50221 を推していますが、ISO 2022 から逸脱している形でエン
コードされているユーザ定義文字に関しては救うが、7ビットJIS へは変換し
ないと考えていると理解して、提案2 のようにしました。

"NARUSE, Yui" <narus****@airem*****> wrote:
> ユーザ定義文字が ISO 2022 から逸脱するのは、
> 確かに問題だとも思いますが、
> すでに逸脱した形でエンコードされたデータが
> 相当数存在するシステムで用いられるのですし、
> ユーザ定義文字を出力しない CP50221 でいい気もします。

Sylpheed は現在、提案2 に近い実装になっています。

当初、Sylpheed での機種依存文字対応は、7bit-eucJP-ms のような実装になっ
ていて、私が cp5022x の NEC選定IBM拡張文字対応のパッチを作成したとき、
cp5022x のユーザ定義文字を救うように実装しました。(送信はしません)

  7bit-eucJP-ms(?)
  http://legacy-encoding.sourceforge.jp/wiki/index.php?7bit-eucJP-ms%28%3F%29

提案2 のようにする事で、受信したメールに cp5022x のユーザ定義文字が含
まれていて、それに続く文字が 2バイトコード文字の場合に、それらの文字ま
で道連れで文字化けするという事を防げます。

cp50221 互換とする場合、このような動作が期待されるのか否かという所が気
になる所です。

ちなみに、libiconv に実装した ISO-2022-JP-MS は、cp5022x のユーザ定義
文字に関してノータッチです。

cp5022x のユーザ定義文字をケアしなかった場合、どのような文字化けになる
かは、Outlook Express でユーザ定義文字の直後に2バイトコードの文字を何
文字か書いてメール送信し、Mozilla Thunderbird で受信すると確認できます。

ユーザ定義文字は、次のファイル(kanjitbl.txt) の 95区〜114区の文字のど
れかをカットアンドペーストで Outlook Express に入力する事が出来ます。

  http://www2d.biglobe.ne.jp/~msyk/text/kanjitbl.html

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




Legacy-Encoding-talk-ja メーリングリストの案内
アーカイブの一覧に戻る