株券等の電子化でも Unicode を採用し JIS X 0213 に対応
ほふり (証券保管振替機構) の株券電子化小委員会が「株券等の電子化に係る制度要綱」をとりまとめ、機構の先月 (2006年3月) の取締役会にて承認されたとのことである。それによると、文字コードについて、符号化方式は Unicode を採用し、文字集合は、経過措置として当初は JIS X 0208 (JIS第2水準まで) に人名用漢字を加えたものとし、そして、制度移行後の早い段階でJIS X 0213 (JIS第4水準まで) に完全対応することを目指すものとされている。
この新しい制度の策定について、文字コードはシフトJISの拡張で済ませる可能性があるとの観測を耳にしていた。JIS第3、第4水準に完全対応せず、一部の抜粋で済ませ、既存の外字と併用する、というような話だった。そんな怠惰にユーザ (株式会社や株主) が納得するとはとても思えなかっただけに、おおよそ妥当なほふりの結論を聞いてほっとしている。
ネット上で公開されている株式電子化小委員会における審議状況を見ると、文字コードについての方向付けが決まったのは、2005年8月の第3回委員会 (正確にはそれに先だって開かれた分科会) での議論だということである。委員会の配布資料には、(結論は Unicode とほとんど決まっているにしても) 今後他でも展開されそうな議論の論点が整理されており、とても参考になる。
この株式電子化小委員会においては、以下の三つの項目を文字コードに関する基本的な考え方として掲げていた。
- 漢字情報を含み、汎用性が高いものであること。
→ 規格化されたコード体系を採用する(独自コードの設定は行わない)。- 株主の氏名等が適切に表現可能なものであること。
→ 広範な文字集合をカバーしたコード体系を採用する。- 関係者の負担が、振替制度への移行に伴うコストの削減効果に見合うものであること。
→ 各社の社内システムにおける文字情報の取扱い実態を踏まえて判断する。第2回 株券電子化小委員会 (2005年7月5日) 資料3-3 「振替機関の指定する統一文字コードの決定に係る基本的な考え方」より編集
まっとうな考え方であり、文字コードの事情を多少なりとも知っていれば、時期はともかくも Unicode への移行を容易に想到するだろう。しかし、当初は必ずしもそうではなかったらしい。
アンケートでは望ましい文字コードとして、汎用性の高さを理由に22社中8社が「シフトJIS」を挙げ、5社が「Unicode」を挙げている。
第3回 株券電子化小委員会 (2005年8月30日) 資料3 「統一文字コード案について」
シフトJIS派の方が当初は多数であった。冒頭で紹介した、「文字コードはシフトJISの拡張で済ませる可能性がある」という観測の出所は、こうして公開資料からも確認することができる。本気で「望ましい」と思っていたのか、あるいは移行コストを避けたい願望の吐露なのか、その辺の真意はよく分からない。いずれにせよ、既存技術志向の反映であるのは間違いないところである。
しかし、その同じ第3回の資料において、
仮に過渡期の対応として、「JIS X 0208+α」案を統一文字集合として採用する場合であっても、将来の拡張性を念頭に置いた場合、文字コードについては、Unicode としておくことが適当と考えられるがどうか。
第3回 株券電子化小委員会 (2005年8月30日) 資料5 「統一文字集合及び統一文字コードについて(案)」
と、議論の方向性が言及されており、これ以降、文字コード (符号化方式) は Unicode ということになったようである。将来の拡張としては、JIS X 0213 にとどまらず、高島屋 (東証1部: 8233) の「髙」 (はしご高、U+9AD9) や、吉野家ディー・アンド・シー (東証1部: 9861) の「土」の下に「口」 (つちよし、U+20BB7) に対応するということも、Unicode の上で想定される。
ただし、Unicode 万歳とはいかない問題が、やはりここでも議論されている。
文字集合は「JIS X 0213」又は「JIS X 0213によって限定されたISO 10646中の日本語漢字」(※3)とすることでどうか。
(※3)「ISO 10646(UCS)」には2つの規格があり、実装済みのUCS-2では「JIS X 0213(JIS第一~第四水準)」のうち303文字が包含されない。一方のUCS-4では完全に包含される。
第3回 株券電子化小委員会 (2005年8月30日) 資料3 「統一文字コード案について」
UTF-16 で2バイト、UTF-8 でも3バイト以下に JIS X 0213 が収まってくれたならば、「JIS X 0213によって限定されたISO 10646中の日本語漢字」などという奇っ怪な選択肢を検討せずに済んだはずである。しかし現実には、303の漢字については1文字につき4バイトを使用する必要がある。(4月12日訂正: 4バイトの漢字数を302としていましたが、引用文の通り303が正しい数字でした。詳しくはコメント欄をご覧ください。安岡孝一さんご指摘どうもありがとうございました。)
結論としては JIS X 0213 完全対応を目指すこととなったものの、4バイトを忌避する議論は他所でもきっと展開されることだろう。あえてここで詳しく過去の議論を繰り返しはしない。しかし、JIS を中心とした文字コード規格行政の失敗がこうした事態を招いていることを、やはり指摘せざるを得ない。
JIS X 0213:2004の話ですよね? だとすると、1-47-52がU+20B9Fですから、303字で合ってるはずなんですが? それからJIS X 0213:2004で、BMPのCJK互換漢字にマッピングされるのは、82字あるはず…。
投稿 安岡孝一 | 2006年4月11日 17:31
こんにちは、はじめまして、小形と申します
無精なもので、せっかくトラックバックをいただきながら、ご返事せずにすみません。ところで、このエントリ、非常にありがたい情報です。
CES: Unicode+CCS: JIS X 0213という環境は、ポスト・シフトJIS時代における標準的な枠組みとなったように思いますが、ここで報告されているのはその好例と言えますね。今書いている原稿に使わせていただこうと思います。ありがとうございました。
投稿 小形克宏 | 2006年4月11日 23:27
(注) 安岡さんのコメントおよびこのコメントは、元の記事において『上記の引用では「303文字」となっているが、1文字だけ BMP の CJK互換漢字に追加され、残りの302文字が第2面の拡張Bに収録されている』と記していたのをうけてのものです。現在は削除しました。
安岡さんご指摘どうもありがとうございます。JIS X 0213:2000 当時の話をそのまま書いてしまいました。元々は unicmap というツールの解説において、BMP への追加提案が却下された303字のうち1字 (U+FA5D) だけ BMP のCJK互換漢字に追加されたとする情報を受けてのものです。JIS X 0213:2004 で追加された10字のうちの1字が、安岡さんのおっしゃるU+20B9F (「叱」の印刷標準字体) で、結局303字でしたね。まさに蛇足でした。あと、CJK互換漢字に収録されているのが1字だけではないことは、さすがに存じています (汗笑)。お手間を取らせてしまい、どうもすみませんでした。
投稿 小川創生 | 2006年4月12日 01:16
小形さん、こちらこそはじめまして。旧来のメインフレームが依然として現役で頑張っている金融系コンピュータシステムでも同じ事情であることを少しでも知らせたくて、この記事を書きました。小形さんの原稿のお役に立てれば幸甚です。
投稿 小川創生 | 2006年4月12日 01:30
> 旧来のメインフレームが依然として現役で頑張っている金融系
> コンピュータシステムでも同じ事情であることを少しでも知ら
> せたくて、この記事を書きました。
あ、なるほどポイントはここでしたね。
大変勉強になりました。
投稿 小形克宏 | 2006年4月12日 21:33
最初に「以下の303文字」と書いて「JIS X 0213:2004で追加された1文字」も別に示しているはずですが、わかりにくかったですか。すみません。
とりあえず誤解を招かないように記事を修正してみました。
投稿 charset.info管理人 | 2006年5月 3日 12:33
charset.info管理人さん、誤解したのは100%私の落ち度ですので(汗)、全然謝る必要はないです。修正後の記事を拝見いたしました。私のような者でも誤解しないように分かりやすく書いていただき、どうもありがとうございます。
投稿 小川創生 | 2006年5月 3日 18:23