文書フォーマットの国際化とオープン化Xeroxの文字コードと文書フォーマットまずXeroxの話から始めたいと思います。最近、富士フィルムが買うというニュースが流れましたね。私も以前、富士ゼロックスにおりました。XeroxのワークステーションStarについてお話します。これは1980年代のものです。いまから35年ぐらい前になります。いまのWindowsやMacは、Xeroxの技術に影響を受けています。これがStarの外観です。今日のデスクトップPCと見た目は変わりません。ネットワークにつながっていました。文書や図形の作成が出来ました。電子メールもありましたしレーザープリンターもありました。Starは日本語にも対応していました。私も最近まで知らなかったのですが、アラビア語・ヘブライ語にまで対応していたようです。一行の右から左に文字を並べていくことが、80年代ですでに出来ていたわけです。商業的には失敗しましたが、技術としてはきわめて優れていました。いうXerox独自の文字コートを使っていました。文字を表現することが出来ました。StandardがUnicodeの原型です。Standardをまとめました。consortiumを立ち上げました。Unicodeという名前も、彼がつけたものです。残念ながらStarは市場から消えました。消えるずっと前から、Starの文書エディタは、だれも中身が分からないという状態でした。拡張などもちろん出来ません。Starの文書エディタは巨大なソフトウェアですから、ちゃんと理解するのは大変です。それだけが理由なのではないのです。そこには体系上の空白ともいうべき欠陥がありました。Starを支えた体系は三つあります。System)というネットワークプロトコルであり、PilotというOSであり、Mesaというプログラミング言語です。XINSは洗練されているという意味で、初期のインターネットを上回ります。PilotやMesaについても、当時ではとても優れたOSでありプログラミング言語でした。いう技術体系がStarを支えていたのです。XINSには文書フォーマットの規定がありませんでした。Starが作り出す電子文書がどのような構造をもち、どのように表現されているかがよく分からないのです。した文書フォーマットを作ろうという話はありました。Xeroxの研究所では、Interscriptという文書フォーマットを開発していました。Interscriptは完成しませんでした。Starの文書を表現するところまではぜんぜん行きつきませんでした。Starはどんな形式で文書を保存していたのでしょう?私も確実なことは分かりませんが、メモリダンプのようなものだと伝え聞いています。Starの文書エディタの内部データ構造を、そのままファイルに書き出したようなものだったのでしょう。実際、Starの文書から、プログラムでテキストを取り出すことも簡単には出来ませんでした。単なるダンプではなく可能な限りの圧縮を施してファイル容量を小さくしていたということを確認した。Starの文書フォーマットを知るには、文書エディタのソースプログラムを読むしかなかったとことはさらに確実となった。]どうしてこんなことになったのでしょう?だいたいの想像はつきます。メモリダンプのような文書形式は、少しでもStarを速くするためには必要だったのでしょう。Starの文書フォーマットをきちんと規定しようとすると、それだけで数十億円はかかったと思います。結局、Starの文書フォーマットを知るには、文書エディタのソースプログラムを読むしかなかったのでしょう。担当プログラマが辞めれば、何が何だか分からなくなったことでしょう。Starについての話が長くなったので、まとめておきます。Standardを採用していました。文書フォーマットの規定はなくメモリダンプに近いものでした。結局のところ、電子化文書が大量にあっても、プログラムからは触れませんでした。ワープロStarとほぼ同時期に、日本ではワープロ専用機が作られました。この写真は、東芝のJW-10というワープロ専用機です。ワープロ専用機のかな漢字変換については、長尾先生の研究室のご出身の方が大きく貢献されたと聞いております。ワープロ専用機は、一時は広く使われていました。ワープロ専用機がなくなったあとも、パソコン用にワープロソフトが作られました。日本で作られたものとして、一太郎と松があります。マイクロソフトのWordがあります。当時の資料とかは見つかりません。そもそも当時からほとんど情報は公開されていなかったと記憶しています。多少の間違いはあるかも知れませんが、私の理解しているところを説明します。0208をもとにしていましたが、各社がいろいろ独自に拡張していました。文書フォーマットは各社独自に作っていて、情報は公開されませんでした。結局のところ、電子化文書が大量にあっても、プログラムからは触れませんでした90年代に、ワープロのための文書フォーマットを標準化しようという話がありました。標準化すれば、あるワープロで作った文書を、ほかのワープロで読み込めるようになります。ユーザにとってはもちろんメリットがありますから、標準化はもっともな話です。標準化の試みはすべてみじめなばかりの失敗でした。ISOではODAという文書フォーマットが失敗しました。私もこれに深く関わっていました。日本国内でもいくつかの試みはありましたが、やはり失敗しています。失敗したのはなぜでしょう。90年代になるとパソコンの性能は上ってましたから性能が問題なのではありません。私も当事者の一人なのですが、いまだによく整理できていません。きょうは、大失敗だったと白状するだけで勘弁してください。ODAの標準化が失敗したころ、ワープロソフトの市場も変わってきました。Wordが世界中で圧倒的な地位を確立しました。なると、中立的な文書フォーマットを決める必要性はなくなってしまいました。みんながWordを使えばいいわけです。ほかのエディタも、Wordの文書を読み書きできるようにしていますから、やはり中立的な文書フォーマットはいらないということになります。それで、もうワープロ文書のフォーマットの標準化は出来ないだろうと思っていました。90年代後半のことでした。文書マークアップ言語つぎに文書マークアップ言語の話をいたします。このリストは、代表的なマークアップ言語をならべたものです。5.0HTMLは、文書マークアップ言語のひとつです。ワープロ文書のためのものではなく、Web文書のためのものです。HTMLでは段落を表すためにと書きます。見出しであることを表すためにはとかと書きます。これらのマークアップ言語では、最初から文書フォーマットは公開されています。ある会社のワープロソフトからしか使えないなんてことはありません。ブラウザも、検索エンジンも、HTMLエディタも、HTML文書を扱えます。いういろんなプログラムが、いまのWebを支えているわけです。その意味では、ワープロ文書より大きく進歩しています。SGMLのときは、実態としては昔のワープロ程度だったと思います。Starと違って、いくつかの自然言語の文字を混在させることも出来ませんでした。Nicolという人の提案によって、文字の扱いに大きな変化がありました。いま、世界中でWebが使えるようになったのは、彼の功績が大きいと思います。彼の提案は次の通りです。内部コード、つまりプログラムで扱うときのコードと、ファイルに書き出すときの外部コードは分けて考えよう内部コードとしてUnicodeを採用しよう。外部コードは、Unicodeでもよいが、それ以外のものでも構わない。Unicodeに変換できるものなら何でもよい。どの外部コードが使われているかを示すための仕掛けを作ろう。この提案に基づいて、HTML国際化が制定されました。HTMLの本流に取り入れられるまでには時間がかかりました。8859-1という欧米の文字コードに限定されていました。同時期に、XMLも同じ考え方が取り入れられました。プログラムング言語のJavaも、やはり同じ考え方です。いまではUnicodeで書かれたHTML文書が多くなったようですが、昔はシフトJISやEUCのほうが圧倒的に多かったと思います。Nicolの提案は、シフトJISやEUCを認めつつ、徐々にUnicodeに移行することを可能にしたのです。ここでマークアップ言語についてまとめておきます。HTMLのバージョン4以降、それとXML。内部コードとして採用しました。してシフトJISやEUCを認めました。マークアップ言語の文書はただのテキストですから、いろんなプログラムから触ることができました。HTMLはWebには使われていますが、ワープロ文書やDTPと比べると簡単なレイアウトしか出来ません。ODFとOOXMLもうワープロ文書のフォーマットの標準化は出来ないだろうと私はずっと思っていました。ところが、風向きが急に変わり始めたんですね。21世紀になってからODFとOOXMLという二つのフォーマットが現れ、大騒ぎになりました。いまはどちらもISO/IECの国際規格になっています。急に風向きが変わったのでしょう?アンチマイクロソフトという面も確かにありました。重要なのはユーザの意識でしょう。オフィス文書には、ユーザの知的財産が盛り込まれています。ユーザの知的財産が、特定のベンダーの文書フォーマットにロックインされているのは好ましくない。政府や地方自治体が考えたんですね。これはしごく真っ当なことです。ユーザの知的財産をユーザが自由に活用できるようにしたい。そのためにはどうすべきでしょう。文書フォーマットは国際規格として管理されるべきだ。それが欧米の政府や地方自治体の要請でした。ところで、OOXML文書とODF文書の実体は何でしょう?これらは、ZIPによっていくかかのXML文書をまとめたものです。肝心なところはXMLなんですね。したがって、OOXMLとODFはXMLの特徴を引き継いでいます。マークアップ言語の良いところを引き継ぎました。Unicodeを内部コードとしても外部コードとしても採用しました。XML文書はただのテキストなので、zipを解凍すれば、いろんなプログラムから触ることができます。OOXMLやODFは、広い範囲のオフィス文書を表現することが出来ます。Officeのすべての文書を表現することができます。Wordだけではなくて、ExcelもPowerPointもです。さきほどStarの文書エディタが、だれも中身が分からないという状態だった言いました。その大きな原因は、文書フォーマットがちゃんとしていなかったことだとも言いました。Officeの開発のリーダから話を聞いたことがあります。なんでも、新人の教育方法が変わったんだそうです。今までは、ソースコードを読め!というのが教育でした。そのほうが良く分かるから、そう変えたんでしょう。Officeの寿命は延びたんだろうと思います。OOXMLは、いまでもISO/IECのある委員会で保守されています。私はこの委員会の委員長をずっと務めています。EPUB最後に、電子書籍の話をいたします。いま、国内外のほとんどの電子書籍はEPUBというフォーマットで作られています。EPUBの制定についても、いろいろ騒ぎがありました。いらっしゃった長尾先生にご支援をお願いしました。いただいたご支援が、EPUB国際化の立ち上げに大いに役立ちました。いま、日本の電子書籍はほとんどEPUBになっています。EPUBも、いくつかのHTML文書、XML文書をZIPファイルにまとめた形になっています。その意味で、EPUBもOOXMLやODFと似ているんですね。XMLはマークアップ言語ですから、EPUBについてはつぎのようにまとめられます。マークアップ言語の良いところを引き継ぎました。Unicodeを内部コードとしても外部コードとしても採用しました。HTML文書、XML文書はただのテキストなので、zipを解凍すれば、いろんなプログラムから触ることができます。ここまで、電子文書の文字コードの話と、文書フォーマットの話をいたしました。編集可能な電子文書についてはだいたいカバーしたのではないかと思っています。PostscriptやPDFの話は出来ませんでしたが、これらは基本的に編集出来ないものなので、きょうはお話ししませんでした。まとめ最後に全体のまとめです。英語と日本語だけの文書から、Unicodeによって国際化された文書になりました。世界中で使えるものになりました。特定の文書エディタにしか扱えないメモリダンプから、多くのプログラムに読める文書フォーマットになりました。自然言語テキストを電子化文書から抜き出すことも、埋め込むことも今なら簡単になりましたWebもオフィス文書も電子書籍もすべてカバーすることができました。