新JISの混乱 - 日本語は2種類ある
日本で日常的に使われている漢字について、代表的な漢字を選び番号を付けたJISが制定された話は以下の記事に書きました。
JIS漢字の制定 - 1978年
一般的にもそうなんですが、規格というものは一定期間を経ると見直されることになっていて、最初の規格が制定された5年後の1983年に、いくつかの変更を行いました。
JIS X 0208
建前としては当用漢字から常用漢字への変更に伴うもの、人名漢字表の変更、以前の規格においての漏れを反映するというものでしたが、コード化された漢字を示す表現であるフォントの方が、いくつか修正されました。同じ意味を持つ漢字であっても、異体字と呼ばれる種類があって、この時に対応する表現に変更がありました。
日本語JISコード
JIS漢字コードの変遷
新しい規格が出来たので、新しく作られた装置であるとかソフトウェアは、こちらに対応すれば良い程度の認識で改訂されたフシがあり、当時のお役所の立場としては、それ以上の心配をしていなかったようです。困るのが両者が混在することと、今までのコード体系で保存された既存のデータたちです。
旧JISで作られた文書を新JIS対応の装置で表示すると、別の漢字になってしまったり、同じ意味を持つ漢字であっても異なるフォント(異体字)に変わってしまうのです。清く正しいJISの扱いでは、旧JISと新JISは文字集合としては別なもので、文字セットを切り替えるエスケープシーケンスも旧JISの”1B 24 40”から新JISの”1B 24 42”と変更になっています。ですから困らないはずだということにはなっています。
文字コード入門
ところが実際には端末として使うとか通信路上であれば、いざ知らず、ディスクなどに格納された文字コードはもちろん、プログラムのコードとして日本語を処理する場合に、どのような文字セットであるかを区別するようなことはなく、KI/KOなどの制御コードを使って単に「漢字」というものへの切り替えを行っているに過ぎません。
そこで多くの場合、今のシステムがどちらで動いているかの設定があって、それを前提に動作するという作りになりました。プリンタなんかは電源投入時の設定を示すディップスイッチとかがあって、必要に応じて機種固有の制御コードを送れば切り替えることができるなんていう実装が多いですね。なんと今でも旧JISに切り替える機能が活きているものもあるようです。
なお新JISが制定されるより前に発売されたPC-9801シリーズではROMに持っているフォントは旧JISで、その後もテキスト画面に表示されるMS-DOSな時代までずっと旧JISを使い続けていました。IBM互換機などは新JISを最初から採用しているので、テキストファイルをフロッピーディスクなどで渡すと、文字が化けるという悲劇が頻発しました。これはWindows時代になって内蔵ROMのフォントを使ったテキスト表示が使われなくなるまで続きました。なお、新旧JISの話はシフトJISとは独立した話で、シフトJISであってもベースとしているJISは新旧どちらの文字セットがありえます。
文字コードが私たちに問いかけるもの
文字コードの話 - 文字化けではないが少し違う?新JISと旧JIS
テキスト画面でパソコン通信なんかをしている時代、これが原因で意図しない文字になってしまうなんていうことが実は起きていたのですが、使用頻度が高い文字というわけでもなかったのでスルーされることで済ませていたのですが、自分の名前が化けてしまう人にとってはなかなか深刻な話だったようです。
その後も、1990年、1997年、2000年、2004年とJISの改訂があったのですが、この反省を活かしてあまり影響が無いように配慮はされたものの、変更があったコードのフォントが意図した表示になっているか、未だに危ないところがあります。特にレトロPCをエミュレーターで動かしたりすると、どの文字セットが使われているか怪しいことになります。もう50年近く前の決め事がヒッソリと影響しているなんて、なんとも恐ろしいことです。
ヘッダ画像は、1991年版のJISハンドブック情報処理ハードウェア編の表紙(部分)、ハードウェア編の方には、装置で使うJISコードに対応するドット表現のフォントが載っています。