From moriyama @ miraclelinux.com Fri Oct 27 03:43:43 2006 From: moriyama @ miraclelinux.com (MORIYAMA Masayuki) Date: Fri, 27 Oct 2006 19:43:43 +0900 Subject: [Tokyo-pm] =?iso-2022-jp?b?RW5jb2RlOjpJU08yMDIySlBNUyA=?= =?iso-2022-jp?b?GyRCJWIlOCVlITwlaxsoQg==?= Message-ID: <4541E2DF.6000302@miraclelinux.com> ミラクルリナックスの森山です。 IPA 2005年度下期オープンソースソフトウェア活用基盤整備事業のプロジェク トとして採択された、「オープンソースソフトウェアにおける統一したレガ シーエンコーディングの変換機能の開発」で、作成しました、Perl 5.8.X の Encode モジュール ISO-2022-JP-MS を使えるようにするためのモジュール Encode::ISO2022JPMS を公開しました。 モジュール: Encode-ISO2022JPMS-0.1.tar.gz テストフレームワーク: legacy-encoding-0.1.tar.gz ダウンロード: 以下の場所からダウンロードが可能です。 http://sourceforge.jp/projects/legacy-encoding 成瀬氏によって開発された Encode::EUCJPMS と一緒に使うことにより、次の 事が実現できるようになります。 1) Windows の機種依存文字をシフトJIS (CP932)、日本語EUC (CP51932、 eucJP-ms)、7ビットJIS (ISO-2022-JP-MS) で扱えるようになります。 2) Windows 上で作成された Unicode とシフトJIS (CP932)、日本語EUC (CP51932、eucJP-ms)、7ビットJIS (CP50220、CP50221、ISO-2022-JP-MS) との間で変換可能になります。 具体的には、次の文字の変換が可能になります。 文字 SJIS EUC JIS Unicode Unicode での コード値 コード値 コード値 コード値 文字の名前 ----- -------- -------- --------- -------- ---------------------- ― 0x815C 0xA1BD 0x213D U+2015 HORIZONTAL BAR 〜 0x8160 0xA1C1 0x2141 U+FF5E FULLWIDTH TILDE ‖ 0x8161 0xA1C2 0x2142 U+2225 PARALLELE TO − 0x817C 0xA1DD 0x215D U+FF0D FULLWIDTH HYPHEN-MINUS ¢ 0x8191 0xA1F1 0x2171 U+FFE0 FULLWIDTH CENT SIGN £ 0x8192 0xA1F2 0x2172 U+FFE1 FULLWIDTH POUND SIGN ¬ 0x81CA 0xA2CC 0x224C U+FFE2 FULLWIDTH NOT SIGN 上記の Unicode 値との変換を行なう為には、次のエンコーディングを用 いる必要があります。 SJIS -> CP932 (Encode 標準) EUC -> CP51932 (Encode::EUCJPMS) eucJP-ms (Encode::EUCJPMS) JIS -> CP5022[01] (Encode::EUCJPMS) ISO-2022-JP-MS (Encode::ISO2022JPMS) ISO-2022-JP-MS の概要は次の通りです。 ISO-2022-JP-MS -------------- o ISO-2022-JP に次の文字集合を追加 文字集合 エスケープシーケンス NEC特殊文字 (JIS X 0208 13区) ESC $ B NEC選定IBM拡張文字 (JIS X 0208 89区〜92区) ESC $ B JIS X 0201 片仮名 ESC ( I ユーザー定義文字 ESC $ ( ? o Windows Codepage 50221 (Windows の 7ビットJISコード) とは、ユーザー 定義文字を除いて互換性あり。 ※ Encode::EUCJPMS で CP50220 と CP50221 が利用できるため、ISO-2022-JP- MS ではなく、そちらの方を使用するのが望ましいと思われます。 -- 森山 将之 moriyama @ miraclelinux.com ミラクル・リナックス株式会社