ミケネコ研究所 / 文字コードの部屋 / 機種依存文字の歴史

機種依存文字の歴史

大きな憂鬱です。なんでもかんでもベンダーの責任にしてしまいがちですが、Windows と Mac OS を眺めただけでは、よくわかりません。その前身である MS-DOS と 漢字 Talk までさかのぼることで、ようやく問題の本質が見えてきます。

目次

  1. 機種依存文字とは何か?
  2. IBM とその互換機にまつわる歴史 … IBM 拡張文字
  3. NEC とその互換機にまつわる歴史 … NEC 特殊文字、NEC 選定 IBM 拡張文字
  4. Microsoft にまつわる歴史
  5. Apple にまつわる歴史 … Apple 標準システム外字
  6. まとめ

1. 機種依存文字とは何か?

本来用意されていない、メーカやユーザが独自に作成した拡張文字を「外字」といい、古くからワープロなどで利用されてきました。近年、パソコン通信・インターネットなどのネットワークが普及することによって、OS を越えた文章のやりとりができるようになりましたが、メーカやユーザが勝手に作成した外字を別の OS で読もうとすると、文字化けなどのトラブルが発生して読めなくなってしまいます。とりわけ JIS 漢字について、メーカが独自に拡張した文字のことを「機種依存文字」と呼びます。

中でも群を抜いて多かった問題が、「Macintosh マシンで、丸付き数字が読めない」という問題です。「うちの Mac で見ると、Windows で書かれた丸付き数字の①が読めないよ~」という問題はあちこちで見かけられ、「だからM$ユーザは」などという OS 宗教戦争に発展することも珍しくありませんでした。

どうしてこんなことになってしまったのか、機種依存文字の歴史をひも解いていきます。

2. IBM とその互換機にまつわる歴史

メインフレーム期

企業などで使われる「メインフレーム」と呼ばれる汎用大型コンピュータ市場において、IBM 社は TOP シェアを誇っていました。1980年台にパソコンが登場する以前は、コンピュータといえば IBM 社のメインフレームでした。

このメインフレームで使われる日本語文字セットとして、JIS 漢字に足りない文字として追加した 388字の外字を「IBM 拡張文字」と呼びます。この外字のほとんどが難しい漢字で特殊用途に用いられるものです。IBM 拡張文字の中でも有名なのが「はしご高」で、人名によく使われています。このため、顧客の名前を扱う企業や役所に評判もよかったのです。

DOS/V

1981 年 IBM 社が「IBM PC」を発売するやいなや、あっとういう間に PC 市場を占拠し、IBM PC は世界標準パソコンとなりました。しかし、日本には既に「PC-9801」が圧倒的なシェアを誇っており、日本語がうまく扱えない IBM PC が日本に進出できる余地はありませんでした。

1990年に、日本市場において PC-9801 からシェアを挽回すべく、IBM PC やその互換機でも日本語が扱えるような OS 「IBM DOS J4.0/V」がはじめて登場しました。この日本語対応 OS のシリーズを「DOS/V」と呼びます。DOS/V は、IBM 社の PS/55 シリーズおよびその互換機上で動作します。世界標準のマシンで日本語 OS が動いてしまったので、これを機に NEC は徐々にシェアを奪われていきます。

IBM DOS J4.0/V の文字セットとしては、新 JIS 83 に加えて、IBM 社がメインフレームで使用していた IBM 拡張文字を採用しています。PC DOS 6.0 になると、ベースを JIS83 から JIS90 に変更しました。

3. NEC とその互換機にまつわる歴史

日本のパソコン環境を成熟させた NEC による外字の歴史です。

PC-88

1980年代前半、日本のパソコン(当時はマイコンと呼んでいましたが)といえば、NEC 社の 8 bit マシン PC-8001 とその後継 PC-8801 でした。文字セットに JIS X 0201 + 「NEC 特殊記号」を使っていました。

特殊記号の中にはカタカナが入っていて、罫線文字と組み合わせることで、日本語で書かれた住所録や、日本語で書かれた帳簿を作成することができます。パソコンの日本語環境の始まりです。

PC-98

1982年、NEC 社は PC-9801 を発売し、以後、標準で漢字を表示することのできる 16ビットパソコンとして広く普及し、日本を代表する国産パソコンとなりました。マシンに内蔵された漢字ROMにより、アルファベット、漢字、ひらがなかたかなが問題なく表示できるようになり、かな漢字変換ソフトも登場しました。

PC-9801 の文字セットとしては、旧 JIS と JIS X 0201(半角文字) に加え、外字領域には丸つき数字などの「NEC 特殊文字」に加えて、IBM のメインフレームで使われていた IBM 拡張文字のうち、NEC 特殊文字に含まれていないものとして、「NEC 選定 IBM 拡張文字」をも追加しました。

EPSON 互換機

1983 年に JIS X 0208-1983 (いわゆる 新 JIS)が発表された後も、NEC は互換性を重視して旧 JIS のみを搭載しました。

一方、EPSON の PC-98互換機では、文字セットとしていちはやく 新 JIS を採用しました。これにより、EPSON 機と NEC PC-98 機の間に、些細な問題が生じました。たとえば、♪という記号は新 JIS のみに収録され、PC-98 マシンでは表示できません。この問題は当時、パソコン通信を使った文書交換時に発覚し、しばしば機種依存文字問題と混同されることがあります。

4. Microsoft にまつわる歴史

Microsoft 社は、PC-98 および DOS/V 機上で動作する OS をリリースしており、機種依存文字を紐解く際に避けては通れません。

MS-DOS 期

MS-DOS の日本語版に使われる文字コードとして、Microsoft 社はシフト JIS を採用しました。シフト JIS は、PC88 の半角カナの領域を受け継ぎました。文字セットや外字については特に定めず、ベンダー(NEC や EPSON など)に任せていました。

Windows 3.1~95

1992年 Microsoft 社は、Windows 搭載パソコンにおいて機種間の文字の差異が発生しないように、文字セットとして「Windows キャラクターセット」を定めました。新 JIS に加えて、当時シェアの大きかった NEC 機と IBM 機の外字を統合する形で定められました。すなわち、

この両外字をすべて収録しました。これらの文字は、すべて シフト JIS においてマッピング可能です。これらの外字についての表を用意しました。IBM 拡張文字のうち、NEC 特殊文字に含まれない表③を、特に「NEC 選定 IBM 拡張文字」と呼びます。

表①:(69字)

表②: (14字)

表③: (374字)

Windows 98

1998年に登場した 「Windows 98」で、MSゴシックとMS明朝には JIS X 0212 補助漢字が収録される形で、はじめてシフト JIS の枠を超えた Unicode フォントが搭載されました。しかし追加された補助漢字はシフト JIS では表現できず、Unicode 対応アプリケーションのみで使用可能だったので、当時それほど大きなインパクトはありませんでした。

Windows 2000

Windows 2000 から、OS に依存しないフォント規格「OpenType」に対応しました。

5. Apple にまつわる歴史

Apple 社は、はじめ NEC 特殊文字を外字として採用し、後にそれを放棄し独自の Apple 外字を採用しましたが普及せず、再度 NEC 特殊文字をサポートするという二転三転の歴史をたどりました。

16bit Mac OS 期

1986年、Macintosh 機に搭載する OS の日本語版「漢字 Talk」の最初のバージョンが登場しました。その後バージョンアップを重ね、この OS は「漢字 Talk 6.0.7」でひとつの完成を迎えたといえます。

当時日本で広く普及していた日本語文字コードは PC-9801 や 富士通のマシンで採用されていた シフト JIS であり、日本市場においては後発の Apple もこれにならってシフト JIS を採用しました。日本語 Mac OS「漢字 Talk」は、収録文字は「旧 JIS」+「NEC 特殊文字」+αというふうに、PC-98 で書かれた文書がそっくり移行できるような形で取り決められました。これは後に「漢字Talk6.0.7互換システム外字」と呼ばれます。したがって丸付き数字などの NEC 特殊文字 はそのまま使えたので、文書交換にそれほど問題はありませんでした。

印刷用の PostScript フォントとして、「細明朝体」「中ゴシック体」が含まれていました。

32bit Mac OS 期

1992年、Macintosh OS は「漢字Talk7.1(7.0は欠番)」で 32bit OS に生まれ変わり、大きな転機を迎えました。ひとつひとつ上げればきりがありませんが、32bit化による広大なメモリ空間、擬似マルチタスク、日本語変換「ことえり」の搭載、マルチメディアアプリケーション QuickTime 標準装備、などなど、モダンな GUI OS として世にその名をしらしめます。同時代の Windows 3.1 に比べると、実に 3 年以上進んでいます。文字コードと関わりが深いのは、「TrueTypeフォントの搭載」があげられます。

「漢字Talk7.1」では、文字セットを「新 JIS」+「Apple システム外字」という組み合わせに変更しました。「Apple システム外字」というのは、当時の通産省の関連団体が推奨した外字を採用しています(*)。印刷用の PostScript フォントは、過去との互換性が無いことを強調するために、「細明朝」「中ゴシック」と名前が変わっています。このバージョンから、突如として NEC 特殊文字との互換性がなくなってしまいました。まっさきに打撃を受けたのは、DTP の分野です。当然のことながら、Macintosh マシンで DTP を行っていた印刷業界の人々は、同じ文書なのにマッピングが変わってしまい、印刷結果が異なってしまうという混乱に悩まされました。我々がインターネットで経験するより前に、DTP 業界は機種依存文字問題にぶつかってしまったのです。

この不満をうけて、Apple 社は「漢字Talk7.5」からは、PostScript フォントについてのみ、従来の「漢字Talk6.0.7互換システム外字」のマッピングに戻しました。それに伴ってフォント名も「細明朝体」「中ゴシック体」と戻りました。DTP 業界はこれでひとまず落ち着きましたが、TrueType フォントは Mac システム外字で、印刷する PostScrpit フォントは NEC 特殊文字という、おかしな状態になってしまいました。

その後、パソコン通信、インターネットによってネットワークが徐々に普及し、機種依存問題は徐々に表面化していきました。本来は MacOS のバージョン間によるフォントのマッピングの差異の問題であるのに、「Mac で①は(日)に化けるから使わないようにしよう」という、正確ではない表現が定着しました。

Unicode 方面の変化は、「漢字Talk7.x」→「MacOS 8」→「MacOS 9」と進化する中では見られません。この間、Apple 社は Unicode フォントを採用することはありませんでした。OS 内部の Unicode 化は進んだのですがフォントを搭載することはなく、Mac ユーザは JIS 漢字のみという状態が、この先数年にわたって続くようになります。

(*) このために、「Apple システム外字」は「通産省外字」と呼ばれることもあります。通産省が直接関わったためではないため、この呼び方は語弊があります。

Mac OS X 期

2001年、待望の「Mac OS X 10.0」が登場しました。眼を見張るような先進的な GUI が特徴的ですが、オペレーションシステムとして最も注目したいところは、NeXTSTEP の技術を取り入れ、Windows 95 と同様のプリエンティブなマルチタスク OS になったということです。

OS 標準で OpenType をサポートしたので、画面上でラスタライズできるようになり、もう高価な PostScript プリンターは必要なくなりました。OS には、単体で購入すればたいへん高価なはず(1書体 20000円以上)の字体の美しいヒラギノ OpenType(PostScript Type1形式) フォントが 6 書体も標準搭載されました。これは OS の値段からは想像できない価値があります。従来の Osaka フォントも残されています。

シフト JIS の外字として、ヒラギノフォントは Windows 標準システム外字をサポートしました。Osaka フォントは従来どおり Apple 標準システム外字、PostScript のフォントは NEC 拡張文字を採用しており、旧 OS との互換性を保っています。

しかしこの頃すでに、Internet Explorer や Netscape Navigator などの Web ブラウザー をはじめとする Mac アプリケーションは、Mac システム外字である (日) を強制的に ① と自動的に変換して表示するものが増えてきました。これは、統一性のない OS 側のマッピングの混乱を、アプリケーション側が尻拭いをするという、本末転倒な状態でした。

6. まとめ

このように、Windows と Mac OS はシステムの標準文字コードとして、同じシフト JIS を採用しながらも、外字が異なるために機種依存文字の問題が発生してきました。両 OS の歴史について、次の表にまとめてみました。デファクト同士の外字統合を目指した Windows と、自社マシン&自社 OS で 100%の囲い込みが成功しているのにも関わらず外字マッピングを二転三転と変更する Mac OS の歴史が伺えます。

しかし、これはあくまで シフト JIS の外字での問題であり、Unicode という国際標準の文字セットによって、Windows と Mac OS の外字がまるまる収録されたので、Unicode に移行してしまえば機種依存文字の問題は無くなるでしょう。そしてこのページも Unicode で書かれています。しかし、あなたはすべての文書を Unicode で保存したいと思いますか? OS・アプリケーション・フォント・Web 環境・メール環境が完全に Unicode に移行するにはまだまだ時間がかかりそうで、当分の間、機種依存文字の問題は続きそうです。


文字コードの部屋 http://mikeneko.creator.club.ne.jp/~lab/kcode/
お問い合わせ <lab@mikeneko.ne.jp>