ちくちく日記

DTP系備忘録。真面目にやってます。

猫でもわかるPostScriptとPDFの昔話

はじめに

この話はTwitterで大暴れの最強初心者、猫○嬢の発した

▲一応鍵アカなんでモザイクかけとく

と、なんていうかどこから突っ込んでいいやら分からないほど混乱した質問への答えとして書いた連続ツイートを元に多少解説などを加えたものです。
彼女の一連の疑問ツイートなどはご本人がTogetterでまとめてますのでそちらをご覧ください(「PDFとPSの関係がわからなくなってきた時のこと」

ここではPostScriptとPDFをDTPの視点から解説しています。簡単に説明するためあえて細かい説明などは省いた部分もあります。
同じように「なんかこの辺よくわかんない…」って思ってるDTP従事者の理解の一助になれば幸いです。

昔話

Adobeという神様が、テキストで図形を表現するためにPostScriptという言葉を作りました。この言葉は▲や■などの図形を言葉で表現できました。神様はこの言葉で書いた図形が紙に出力できるように、この言葉をビットマップに置き換えて紙に出力できるPostScriptプリンター(CPSI)を作りました。

次に神様は書いた言葉をモニタ上で図形の形で確認したくなりました。そこで神様はこの言葉をモニタ上で図形として表示してくれるソフトIllustratorを作りました。
Illustratorが作る子供(ファイル)は皆PostScriptで書かれていました。IllustratorはPostScriptでいろんな形を作れるソフトになりました。Illustratorが作った子供はPostScriptプリンター(CPSI)がどんどん紙に出力してくれました。

時がたって、神様はIllustratorがもっと違う形も作れるようにしようと思いました。いままでと違ってスケスケのオブジェクトなんてどうだろう
ところが、生まれてからずいぶんたったPostScriptは、神様の言う「透明」がどうしても理解できません。

そこで神様はIllustratorが産み落とす子供をPostScriptから少し進化させた形(PDF)にすることにしました。
若いPDFは透明も使えるし、いままでのPostScriptにはないページという考えやレイヤーという考え等も理解できました。
ですが、いままでPostScriptとともにがんばってきたPostScriptプリンター(CPSI)達は新しい考え方の若者を理解できず、紙に出力してやることができません。

神様は、プリンター達も少し進化させて、PDFを理解して紙に出力してやることができるAdobe PDF Print Engine(APPE)というエンジンを作りました。
APPEは「透明を出したい!」というPDFを理解し、紙に出力してやることができました。


つまりPostScriptが進化してできたPDFはPostScriptの子供のようなものなのです。PostScriptは言語として世に生まれましたがPDFは言語であるPostScriptが作り出したドキュメントの形式です。

猫よりもうちょっと上の人のための解説

Adobeという神様が、テキストで図形を表現するためにPostScriptという言葉を作りました。

(1)神様の中の人の名前はチャールズ・ゲシキーさんとジョン・ワーノックさんと言います。元々はゼロックスの研究所でPostScriptの元になる技術の研究をしてたんですが、独立し、PostScriptの技術で商売をする会社を立ち上げました。これがAdobeです。

神様はこの言葉で書いた図形が紙に出力できるように、この言葉をビットマップに置き換えて紙に出力できるPostScriptプリンター(CPSI)を作りました。

(2)CPSIというのはConfigurable PostScript Interpreterの略ですが、PostScriptで書かれたテキストをビットマップに変換してくれるソフトウエアの名前です。CPSI RIPではこのエンジンがRIP上で送られてきたPostScriptデータをビットマップに変換しせっせと出力してくれています。

次に神様は書いた言葉をモニタ上で図形の形で確認したくなりました。そこで神様はこの言葉をモニタ上で図形として表示してくれるソフトIllustratorを作りました。

(3)当初テキストとして書かれたPostScriptを図形で確認するためには、いちいちプリントする必要がありました。これを画面上で確認するために作られたツールがIllustratorの元になったソフトなのだそうです。

Illustratorが作る子供(ファイル)は皆PostScriptで書かれていました。

(4)Illustrator v8まで、Illustratorのネイティブファイル(aiファイル)はPostScriptで記述されていました。つまり、ネイティブファイルをテキストエディタで開いてみると、PostScriptの記述テキストがずらっと並んでいたわけです。

時がたって、神様はIllustratorがもっと違う形も作れるようにしようと思いました。ところが、生まれてからずいぶんたったPostScriptは、神様の言う「透明」がどうしても理解できません。そこで神様はIllustratorが産み落とす子供をPostScriptから少し進化させた形(PDF)にすることにしました。

(5)PostScriptは、様々な処理ができる柔軟な言語として開発されたのですが、そのため却って、表示が環境に左右されてしまったり出力エラーを起こすなど扱いづらい部分もありました。そこでAdobeはもっと安定してどんな環境でも一定の表示ができる文書ドキュメントとして、PostScriptの技術からデータを表示、印刷する部分に特化し発展させたPDFというフォーマットを作りました。PDFはPortable Document Formatの略、つまりどんな環境に持ち運んでもちゃんと表示印刷できるドキュメントの規格として作ったのです。

さて、Illustratorは v9から新しい機能「透明」を取り入れたわけですが、この新しい機能である「透明」が従来のaiファイルつまりPostScriptファイルのままではどうしても実装できませんでした。古い規格であるPostScriptにその新しい機能をのせるのは困難だったのです。でも、新しいフォーマットであるPDFなら、透明という機能を盛り込む事ができました。
そこで、Adobeは、Illustratorのネイティブファイル形式としてそれまでずっと使われてきたPostScriptをやめて、新しいフォーマットであるPDFを採用することにしました。

これはIllustratorの歴史すなわち、PostScriptという技術を中心に回ってきたDTPの歴史がPDFという規格に大きく舵を切った大転換の出来事でした。

ところが、いままでPostScriptとともにがんばってきたPostScriptプリンター(CPSI)達は新しい考え方の若者を理解できず、紙に出力してやることができません。

(6)IllustratorのネイティブファイルはPostScriptからPDFに変更されましたが、そうはいっても、IllustratorからCPSIのプリンターで出力する時や他のソフトウエアに渡す時などは従来のPostScriptやEPSというファイル形式を使わなければならず、そのとき「透明」のままのデータでは渡す事ができません。
そこでIllustratorからPSやEPSに書き出しするときに「透明」が使われている部分を「透明」の見た目のとおりにパスで切ったり、画像化したデータに変換して「PostScriptで透明と同じ見た目に合わせる処理」をやる事にしました。これがIllustrator上の「分割/統合処理」です。アプリケーションは、こうやって「透明」部分を分割/統合したデータにしてCPSIの出力に渡します。CPSIはこの分割統合された部分を出力することで透明の見た目を再現します。

神様は、プリンター達も少し進化させて、PDFを理解して紙に出力してやることができるAdobe PDF Print Engine(APPE)というエンジンを作りました。

(7)Adobe PDF Print Engine(APPE)はPDFを解析しビットマップデータに変換して出力するエンジンです。もちろんPDFに含まれる「透明」も処理する事ができます。他にも、PostScriptではできなかったデータ内のページ処理や、レイヤーごとの処理などPDFの機能を活かした処理が可能です。

Illustrator v9が発売されたのが2000年6月、APPEが発表されたのは2006年4月。実際にAPPEを搭載しPDFをネイティブに処理できるRIPが登場しはじめたのは2007年頃(APPEを搭載したTrueflowSEの発売は2007年8月頃)です。
こんなに長い時間をかけてもいまだにPostScriptがバリバリ現役で、PDFワークフローに主役交代していないという事実にちょっとくらくらしますが。

いずれにせよ、Adobeとしては「これからはPDFだよ」と、とっくの昔に切り替えているのです。


PostScript技術から始まったAdobeという会社は、その後多数の会社やソフトウェアの買収などを繰り返し、今では映像やWeb、画像など様々なソフトウェアを売る会社になっています。でもそんな中でも、PostScript技術はIllustratorやPDF、Acrobatなど形を変えながら、いまもなおAdobeの中心を支える技術です。いわばAdobeの屋台骨だといえるでしょう。

そして私たちが従事するDTPという仕事は、Adobeの作ったPostScript、PDFがすべての土台であり、その世界の中で仕事をしています。


だから「Adobeは神」っつっちゃってもいいんじゃね?かなり横暴だけどな!


謝辞
文中のすばらしいイラストはすべて@moriwaty画伯に描いて頂きました。
イラストによって、なんとなく話の方向性が違うところに向かっているような気もしますが(笑)ありがとうございした!