| No.077 | 投稿日時: | 2003/07/18(金) 00:04 <親記事> |
| 投稿者: | 森山 将之 |
吉山あきらさんが Glibc の Ulrich さんに働きかけをしてくれた事により、
Glibc に MS互換の cp932 と eucJP-ms が採用になりました。
吉山さんに感謝!
| No.078 | 投稿日時: | 2003/07/19(土) 12:30 <↑親記事:No.077> |
| 投稿者: | 森山 将之 |
最初に作成した Glibc の cp932/eucJP-ms パッチには make tests 時に
チェックを行うようにはしていませんでしたが、テストできるようにし
て確認したところ、いつくかの不具合が発見されてしまいました。
修正版のパッチを作成して以下の場所に置きましたのでお知らせしいたします。
http://www2d.biglobe.ne.jp/~msyk/software/glibc/glibc-2.2.5-cp932-20030719.diff.gz
※Glibc 2.2.5 からの直接のパッチです。
パッチのあて方
==============
$ cd glibc-2.2.5
$ zcat ../glibc-2.2.5-cp932-20030719.diff.gz | patch -p1
概要
====
主に、文字が定義されていないコードポイントや、エンコーディング
として成立しないバイトシーケンスに関するエラー処理が不完全になっ
ている事がテストにより判明し修正を行いました。
CVS に取り込まれたときに、eucjp-ms.c → euc-jp-ms.c の変更がさ
れていたので、この変更に伴う修正を行いました。
エイリアス定義
==============
CP932 : WINDOWS-31J, MS932, SJIS-OPEN, SJIS-WIN
EUC-JP-MS : EUCJP-MS, EUCJP-OPEN, EUCJP-WIN
変更内容
========
iconvdata/cp932.c
・変換ルーチンで一部、境界値チェックの範囲が不適切、もしくは
抜けている所があったので修正。
・JIS X 0201 片仮名の cp932→Unicode 変換テーブルを使用せず
に演算により値を求めるように変更。
iconvdata/euc-jp-ms.c (旧 eucjp-ms.c)
・変換テーブルの一部抜けの修正、変換ルーチンの見直しを行いま
した。
・CHARSET_NAME の定義を "EUCJP-MS//" から "EUC-JP-MS//" に変更。
iconvdata/gconv-modules
・CVS の内容に合わせてモジュール名の EUCJP-MS を EUC-JP-MS
の変更
iconvdata/tst-tables.sh
・make tests 時に、CP932, EUC-JP-MS のテストを行うように修正
iconvdata/{CP932,EUC-JP-MS}.irreversible
・逆変換で元に戻らない文字の対応表
(make tests で必要)
localedata/charmaps/WINDOWS-31J
・CP932 用の charmap ファイル
(make tests で必要)
localedata/charmaps/EUC-JP-MS
・EUC-JP-MS 用の charmap ファイル
(make tests で必要)