PostScript と Interpress の比較(第I部、歴史篇)

Brian K. Reid, PostScript and Interpress: a comparison, fa.laser-lovers (March 1 1985)

http://groups.google.com/group/fa.laser-lovers/msg/5d0df32a0e91f1fa?rnum=2

Adobeの創業者であるJohn Warnockは、創業前、Xeroxのページ記述言語、Interpressの開発に関わっていました。本記事はBrian Reidによるその舞台裏の叙述です。後半の技術的な検討については未訳のため、追ってポストする、つもりです。史料批判をちゃんとやってから出したかったのですが、手がまわらず、抱えていてもしかたがないので蔵出し。読みやすく体裁を整えたいのですが。。。
This essay offers a comparison of two modern schemes for controlling what laser printers print. One scheme, called PostScript, is offered by Adobe Systems, Inc.; the other scheme, called Interpress, is offered by the Xerox Corporation. A discussion of these two schemes has provoked a considerable amount of interest in this forum recently. I have for some time been promising (threatening?) to provide my interpretation of the difference between the two systems. It is long enough and detailed enough that you will certainly never want to read another word on the topic after you read it, but given the nature of computer mail systems you almost certainly will be given the opportunity.

このエッセイではレーザープリンタの印刷内容を制御する方法二つについて比較する。ひとつは Adobe Systems, Inc の PostScript で、もうひとつは the Xerox Corporation の Interpress である。このフォーラムで最近この二つの制御法についての議論が話題になった。この件について書け書けと各方面から期待(ないし、脅迫)されているので両者の違いについて私が理解している内容を提示したい。 このエッセイはとても長くて詳細なので、これを読んだ人はこのテーマについてこれ以上書いてあるのを読みたくなくなると思うけれども、ネットニュースの記事ゆえ、不幸にして再び目にすることになったらすみません。

To a first order, PostScript and Interpress are indistinguishable. What I mean by that is that by comparison with all other current techniques for page image representation, the two can be considered to be nearly identical. I believe that it is worth looking at how they got to be that way; their similarities and differences can best be understood with a proper historical perspective.

一次近似としては、PostScript と Interpress は区別できない。どういう意味かというと、現存する他の全てのページ画像表現技法と比較すると、この両者はほとんど同じであると考えられる、ということだ。どうしてそうなったのかを知ることには意味があると私は思う。両者の類似点と相違点はその歴史的経緯に照らしてはじめてよく理解できる。

The Evans and Sutherland Computer Corporation has for quite a number of years sold very expensive, very powerful graphics devices for CAD/CAM and for real-time simulation. The CAD/CAM machine is called The Picture System; the simulation machines are custom-built for each application. Custom simulation graphics machines are used for such purposes as providing the windshield graphics for military flight simulation systems--emulating what a pilot would see if he were looking out the window of a real airplane. These graphics systems use a very clever graphics model, developed by Ivan Sutherland and others, which is based on coordinate system transformations and line drawing.

Evans and Sutherland Computer Corporation は長年にわたり超高価で超強力な CG 装置を CAD/CAM およびリアルタイムシミュレーション用途向けに販売している。CAD/CAM 用の機械は The Picture System という名前がついている。シミュレーション用の機械は案件別の特注であって、たとえば軍用のフライトシミュレータでコックピットから見える光景を表示するとかそういう用途に使われるものだ。これらの CG システムは Ivan Sutherland らによって開発された超高度なグラフィックモデルを用いるもので、そのモデルは座標系の変換と直線描画に基づいている。[訳中:現在、E&S は軍需部門を売却し、ホームシアタープラネタリウム部門で営業している]

Although the Evans and Sutherland company is primarily in Salt Lake City, they had a small research office in Mountain View (California) in the early 1970's. John Warnock was in charge of it, and John Gaffney worked for Warnock. One of the activities of the Mountain View office was to develop software for producing 3-dimensional graphical databases both for the Picture System and for the simulation machines. Working with Warnock, Gaffney had by 1975 programmed and documented and released the first version of a programming language that was called "The Evans and Sutherland Design System".

E&S の本社はユタ州ソルトレークシティにあったが、1970年代初期には同社はカリフォルニア州マウンテンビューに小規模な研究所を設置した。John Warnock はその所長で、John Gaffney は Warnock の部下だった。E&S のマウンテンビュー研究所の活動のひとつに The Picture System とシミュレーション用の各種システムで使用する 3D CG データベースを構築するためのソフトウェアの開発があった。Warnock とともに、Gaffney は 1975 年までに、「E&S デザインシステム」と呼ばれるプログラミング言語の最初のバージョンを書き上げ、文書化し、リリースしていた。

Gaffney came to E&S from graduate school at the University of Illinois, where he had used the Burroughs B5500 and B6500 computers. Their stack-oriented architectures made a big impression on him. He combined the execution semantics of the Burroughs machines with the evolving Evans and Sutherland imaging models, to produce the Design System. Like all successful software systems, the Design System slowly evolved as it was used, and many people contributed to that evolution.

E&S に入社する以前、Gaffney は、イリノイ大学の大学院で Burroughs B5500 および B6500 計算機を使っていた。Burroughs のスタック指向の命令セットから大きい影響を受けた Gaffney は、E&S デザインシステムを作るにあたって、E&S の進化するイメージングモデルを Burroughs 流のスタック指向の実行セマンティックスと結びつけた。多くの成功したソフトウェアシステム同様、E&S デザインシステムは多くのユーザーの貢献によってゆっくりと進化していった。

John Warnock joined Xerox PARC in 1978 to work for Chuck Geschke. There he teamed up with Martin Newell in producing an interpreted graphics system called JAM. "JAM" stands for "John And Martin". JAM had the same postfix execution semantics as Gaffney's Design System, and was based on the Evans and Sutherland imaging model, but augmented the E&S imaging model by providing a much more extensive set of graphics primitives. Like the later versions of the Design System, JAM was "token based" rather than "command line based", which means that the JAM interpreter reads a stream of input tokens and processes each token completely before moving to the next. Newell and Warnock implemented JAM on various Xerox workstations; by 1981 JAM was available at Stanford on the Xerox Alto computers, where I first saw it.

John Warnock は1978年に Xerox PARC の Chuck (Charles) Geschke の下に移った。そこで彼は Martin Newell とともにインタプリタ型グラフィックシステム「JAM」を作った。JAM の由来は John and Martin である。JAM は Gaffney のデザインシステムと同じ命令後置型の実行セマンティックスを有し、イメージングモデルも E&S のものを基礎としていたが、ただしこれははるかに拡張性の高いグラフィックプリミティブの追加により強化されていた。E&S デザインシステムの後期バージョン同様、JAM はコマンドライン指向というよりはトークン指向であって、つまり JAM インタプリタは命令トークンを読み取り、完全に現在のトークンの実行を終えた後に次のトークンへ進むのである。Newell と Warnock は JAM を様々な Xeroxワークステーションに移植し、1981年時点では スタンフォード大学にあった Alto で JAM が動いていた。筆者が初めて触れたのはこの Alto である。

In the meantime, various people at Xerox were building a series of experimental raster printers. The first of these was called XGP, the Xerox Graphics Printer, and had a resolution of 192 dots to the inch. Xerox made XGP's available to certain universities, and by 1972 they were in use at Carnegie-Mellon, Stanford, MIT, Caltech, and the University of Toronto. Each of those organizations produced its own hardware and software interfaces. The XGP is historically interesting only because it is the first raster printer to gain substantial use by computer scientists, and was the arena in which a lot of mistakes were made and a lot of lessons learned.

時を同じくして、Xerox では一連のラスタプリンタの試作機が作られていた。最初の試作機は XGP すなわち Xerox Graphics Printer と呼ばれ、解像度は 192dpi だった。XeroxXGP をいくつかの大学に貸し出し、1972年時点では CMUスタンフォード、MIT、カルテク、トロント大学XGP が使われていた。これらの組織はいずれも XGP とのインタフェースを独自に作って使っていた。ここで XGP の話をするのは単に XGP が計算機科学者の間で広く使われるようになった最初のラスタプリンタであって、多くの誤りがなされ、そこから多くの教訓を人々が学んだ、という歴史的な興味からである。

To replace the XGP, Xerox PARC developed a new printer called EARS, and then another newer printer called Dover. After the agony of converting software from XGP to EARS, various Xerox people realized that applications programs generating files for the XGP or for EARS should not be tied to the device properties of the printer itself. Bob Sproull and William Newman, of Xerox PARC, developed a relatively device-independent page image description scheme, called "Press format", which was used to instruct raster printers what to print.

XGP にかわるものとして、Xerox PARC は新たに EARS と呼ばれる新しいプリンタを開発し、次いで Dover というプリンタを開発した。XPG から EARS へのソフトウェアの移行に際しての苦行の末に、Xerox の各関係者は、「XPG や EARS に対して出力を行うアプリケーションは、プリンタ自体の詳細な仕様から切り離すべき」と考えるに至った。Xerox PARC の Bob Sproull と William Newman は、当時としては比較的デバイス独立なイメージ記述機構を開発し、これを「Press フォーマット」と呼んで、ラスタプリンタに対して何を印刷するかを指示するのに用いた。

As part of an extensive grant program to selected universities, Xerox donated Dover printers and made documentation of the Press format available under a nondisclosure agreement. As far as I know, that nondisclosure agreement has never been lifted, though information about Press format has been widely enough distributed that by 1982 researchers at the Swiss Federal Institute of Technology (EPFL) at Lausanne had given conference papers about their own independent implementation of Press format.

指定校に対する広範な助成プログラムの一部として、XeroxDover プリンタを寄付し、NDA(秘密保持契約)の下で Press フォーマットを文書化した。筆者の知る限り NDA が撤廃されたことはないが、Press フォーマットに関する情報は広く知れ渡り、1982年にはローザンヌ工科大学の研究者が Press の独自実装について学会発表を行った。

Press format was a smashing success; it revolutionized laser printing technology in the academic and research communities, and stimulated a large number of people to think about issues of device-independent print graphics. Nevertheless, Press format had its limitations, and various people felt the need to revise the basic design.

Press フォーマットは圧倒的大成功を収めた。学術研究業界におけるレーザープリンタ技術に革命を起こし、多くの研究者がデバイス独立なプリンタでのグラフィックスの問題を考える契機となった。とはいえ、Press フォーマットにはその固有の制約があり、基本的なデザインからやりなおすべきだと感じる人も多かった。

Sproull left Xerox in 1978 to become a professor of computer science at CMU. Newman returned home to England to become an independent consultant. Martin Newell left Xerox to join Cadlinc Corp. Warnock and Geschke remained at Xerox.

Press を開発した Sproull は1978年に Xerox を離れ、CMU の計算機科学科の教授となった。Newman は故郷の英国に戻り独立コンサルタントとなった。Martin Newell は Xerox を離れ、Cadlinc Corp. へ移った。Warnock と Geschke は Xerox に残っていた。

While at CMU, Sproull began making plans for a new version of Press that would combine the graphics model of JAM with the page image description properties of Press. Sproull returned to Xerox for a sabbatical leave in 1982, and enlisted the help of Butler Lampson in the creation of the new page image description language that Warnock dubbed "Interpress". The name caught on.

CMU 時代に、Sproull は、JAM のグラフィックモデルと Press のページ記述能力を結合した、Press の新バージョンを企画した。1982年にサバティカルXerox に戻った Sproull は、Butler Lampson に協力して、新たなページ画像記述言語の創造に与ることになった。Warnock はこれを「Interpress」と呼び、それが正式名称となった。

While it is difficult to separate the contributions made by Sproull and Lampson, it is not incorrect to say that Lampson and Warnock produced the execution model of Interpress while Sproull and Warnock produced the imaging model. It is also approximately correct to characterize this first version of Interpress as being derived from the graphics model and execution model of JAM with additional protection and security mechanisms derived from experience with programming languages like Euclid and Cedar, and a careful silence on the issue of fonts. The trio worked under Geschke's direction, and Geschke was responsible for refereeing disagreements and for making certain that the resulting design was acceptable to the rest of Xerox.

Interpress に対する Sproull と Lampson の貢献を分けて考えるのは難しいが、Lampson と Warnock が実行モデルを、Sproull と Warnock がイメージングモデルを作った、というのは不正確だ。Interpress の最初のバージョンを、グラフィックスモデルと実行モデルについては JAM のそれからの派生であり、それに Euclid や Cedar 等のプログラミング言語の経験から派生した保護とセキュリティメカニズムを加えたものである、とするのはそれほど外れてはいないだろう。ただしフォントの問題については筆者は推測を避けたい。Lampson、Sproull および Warnock の三人は Geschke のもとで働いていたのであり、Geschke が、Xerox 社内の他部署で受け入れられるかどうかについての一切の判断についての責任者であった。[訳注:フォントについて筆者は著作権侵害を示唆しているものと思われる。後述]

My own involvement with the Interpress effort is difficult to explain. Sproull was my thesis adviser at CMU; we had discussed many of the issues in page description languages at length. As a consultant to PARC during the Interpress design work, my primary activity was one of writing or rewriting the Interpress materials. I also represented a "consumer" point of view rather than a "designer" point of view, and often complained about aspects of the evolving language.

筆者自身の Interpress の作業への関わりを説明するのは難しい。Sproull は CMU で私の博士論文の指導教官だった。我々はページ記述言語の諸問題について長時間議論した。Interpress の設計作業期間における筆者の PARC でのコンサルタントとしての主要な仕事は、Interpress 関連の文書を書いたり書き直す際の助言であり、「設計者側」よりは「ユーザー側」の立場で、急速に変化する言語仕様に対してしばしば文句を言う側であった。

I feel uncomfortable discussing the issues involved in the transition of Interpress from an artifact of the research lab to a marketable product. I shall therefore not discuss them. During this transition phase Geschke and Warnock left PARC (December 1982) to start Adobe Systems, Sproull returned to CMU (June 1983), and Lampson left PARC to join DEC Research (November 1983).

Interpress を研究所の産物から売り物にしてゆく過程での諸問題について話すのは個人的に不愉快に感じる。筆者はむしろ一切それについては語らないほうがいいだろう。この間に、Geschke と Warnock は PARC を去り(1982年12月)、Adobe Systems を立ち上げた。Sproull は CMU に戻り(1983年6月)、Lampson も PARC から DEC Research へ去った(1983年11月)。

Warnock had various philosophical differences with the final Interpress design, and he voiced those differences to the rest of the Interpress group at every opportunity. At Adobe, Geschke and Warnock saw the opportunity to try again, with a design group composed of people who shared his ideology. They enlisted Doug Brotz, a Xerox PARC researcher who had had no involvement with any of the Press/JAM/Interpress world, to join them in developing a new page description language named PostScript, based on combining the execution model and imaging model of JAM with a protection structure more reminiscent of C or the Unix shell than of Euclid or Cedar.
While not at all a copy of JAM, PostScript resembles JAM more than it resembles Interpress. PostScript also embraced various Unix notions, such as the use of text streams to convey information.

Warnock は最終的な Interpress の設計に対して設計思想の面でいろいろ異存があり、他のグループメンバーに対してことあるごとにそれを公言していた。Adobe において、Geschke と Warnock は、同じ思想を共有するメンバーで構成された設計チームを得て、やり直す機会を見いだしたのである。彼らは Xerox PARC の研究者で、Press/JAM/Interpress ワールドのいずれにも関わっていなかった Doug Brotz を連れてきて、PostScript と名付けられた新たなページ記述言語の開発に加わらせた。PostScript は、実行およびイメージングモデルについては JAM からの派生だが、保護機構については Euclid や Ceder よりも C や Unix シェルをしのばせるものとなっている。JAM のパクり、というものでは全然ないけれども、PostScript は Interpress よりもはるかに JAM に似たものとなっている。また PostScript は、たとえば情報を伝えるのにテキストストリームを使うなどといった具合に、Unix 的概念を数々含んでいる。

On March 15, 1984, Adobe shipped its first PostScript manual to a potential customer. That PostScript manual was printed on a PostScript printer using a Times Roman font licensed from Allied corporation and digitized by Adobe. At that time all aspects of the Interpress project were still very proprietary, and it appeared to me that Xerox had no interest in releasing them. However, on April 25, 1984, I received a Xerox press release announcing the availability of Interpress documentation. I finally managed to get my hands on a copy of the Interpress documentation in February of 1985, and was quite surprised to discover that the Interpress documentation had not been printed on an Interpress printer, but was instead printed on a Press format printer, using the same Times-like and Helvetica-like fonts that I had become familiar with at CMU and Stanford on the Dover printers.

1984年3月15日、Adobe は PostScript の最初のマニュアルをある見込み客に対して送付した。この PostScript のマニュアルは Allied corporation [当時 Linotype の親会社だった]からライセンスを受けた Times Roman フォントを Adobe がデジタイズしたものを用いて、PostScript プリンタで印字されていた。
この時点においても Interpress プロジェクトは全体として相変わらず全くの企業秘密であり、Xerox は Interpress を公開する気がないのだろうと私は思っていた。だが、1984年4月25日、私は Interpress 文書の公開を知らせる Xerox のプレスリリースを受け取った。最終的に私の手元に Interpress 文書が届いたのは 1985年2月5で、驚いたことには Interpress 文書は Interpress プリンタで印字されているのではなく、Press フォーマットのプリンタで印字されており、フォントはといえば、CMUスタンフォードにあった Dover プリンタで見慣れた Times もどきと Helvetica もどきのフォントをそのまま使っていた。