[Tokyo-pm] Encode::ISO2022JPMS モジュール
MORIYAMA Masayuki
moriyama @ miraclelinux.com
2006年 10月 27日 (金) 03:43:43 PDT
ミラクルリナックスの森山です。
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
ミラクル・リナックス株式会社
Tokyo-pm メーリングリストの案内