|
||||
![]() |
||||
はじめに… 私がDTPという新天地へ辿り着き、まず最初に遭遇した苦境がPostScriptというスクリプトによるトラブルでした。 SAPCOLの場合は、出力前に組処理という出力機(RIP)側に理解できるように変換処理を行います。この処理は、スクリプト記述が正しくない場合でも、“エラー後のエラー処理”が『神業的』であったので、原因不明によるエラーによって発生する『処理の停止』などは、皆無(SAPCOLによる“ページ組指令”の場合の間違いは、稀に処理の停止は発生しましたが、これも“ページ組指令”の間違いであることは、停止したことにより分かりますので原因追求は楽でした)でした。たとえ、記述を間違えていたとしても、エラー処理後、1ページを100ページと認識してしまう場合もありますが、出力だけは行ってくれました。 出力を行ってくれることにより、何処で記述を誤ったかという確認作業を行えるのです。しかし、写研の出力機の場合は『普通であった神業的なエラー処理』は、鎖国された国の常識でした。 PostScriptの世界では、スクリプトを意識しないで、レイアウト作業を行えるという仕様が邪魔をし、DTPの最大の『ウリ』である部分が、同時に『厄介な悪魔』となっていたのです。しかし、これは当時のLevel1の仕様の未熟さによるものが大きな原因でした。 PostScript Level2(2バイト仕様)になり、さらにソフトウエア開発会社がPostScriptの仕様の理解を深め始めると、エラーが激減。現在では、PostScriptという『裏方』を意識する環境ではなくなったように思います。しかし、意識することがなくなった分、『樹海の奥に置きさられ、忘れ去られようとしているPostScript』とも言えるでしょう。 …そして、PostScriptについて語ることは少なくはなさそうです。 出力できない原因 まず始めに、出力ができない場合の原因と対処方法を、ここに紹介したいと思います。 1999年現在、PostScriptエラーで悩んでいる方が存在するとします。もしかすると、データ作成時に現在のLevel2又は、PostScript3の仕様に甘え、エラーが発生していることも考えられます。ですから、Level1時代に発生したPostScriptエラーの原因を知ることにより、対処方法を見つけることができるかもしれません。 エラー発生が減少したので、PostScriptエラーの原因を知るということは、あまり機会が無いことでしょう。 ●システムハング又は、システムエラー・その零まず、システムエラーが発生するMacintoshがウイルスに感染していないかをチェックする。次に、アプリケーションに割り当てているメモリ領域が少ないのかもしれないので、『情報を見る』→『メモリ』よりアプリケーションメモリの割り当てを増やしてみる。 ・その壱 ある程度、環境に恵まれているのであれば、3台以上のMacintoshで出力を試す。全てのMacintoshで同じ症状が出たら出力を行おうとしている『ファイル』に原因があるかもしれない。 ・その弐 Macintoshが1台しか存在しない環境であれば、以下の作業を行うことになる。
それでもシステムハング・システムエラーが発生する場合は、ファイルか貼り込まれている部品類が破損している可能性が非常に大きい。 ●エラーコードが表示される -8133というエラーコードはPostScriptエラーが発生した時に表示される。 %%[Error:××;OffendingCommand:△△]%% ××=PostScriptエラー名 エラー時には、このエラーコードは重要である。エラーが発生したら、よく見ていてほしい。 1.[limitcheck]『ドキュメントが複雑すぎる』ので出力不可能であるという意味である。パスが複雑であると発生しやすい。RIPの処理できる上限を超えた時に発生する。 Illustratorの場合は、グループ化は解除したほうがいい、グループ化はグループ全体を一つの複雑なパスとして認識するからである。又、パスのアンカーポイントを削除してみるのも効果がある。Level1のポイント数の上限は1500ポイントであるからである。 limitcheckはRIPの上限を超えてしまった場合に発生するエラーであるので、Level1の場合は、アンカーポイントの制限数に影響しやすい。複合パスなどアンカーポイントの数に影響しそうな作業は、気を使いながら行うべきである。 2.[VMerror]RIPに実装されているメモリを使い切った時に発生する。Level1RIPの場合は、メモリ管理が貧弱であるので、発生しやすい。 Photoshopにて、切り抜きを行い、そのパスに対してクリッピングパス指定を行うが、この時に『平滑度』を設定する。この数値があまり小さいとVMerrorが発生しやすくなる。 平滑度=プリンタの解像度/出力解像度 という式にて計算される。 例えば、平滑度を1と設定した場合、『プリンタの解像度=出力解像度』ということになる。プリンタの解像度が2400dpiであった場合、RIPは、1インチ2400分割されたメッシュが曲線を直線に変換する際の最小単位として計算する。RIPは、2400分割された点と点にパスのアンカーポイントを打ち込む作業を行う。結果、無意味な(高精度すぎる)分割作業により、膨大なパス数を作成しRIPに大きな負担をかけることになる。特にLevel1RIPの場合は、メモリー管理が不十分である仕様なので、エラーを出さずにはいられない結果となる。 平滑度を5とした場合、2400dpiのRIPにて出力を行ったとしよう。 出力解像度=2400/5 RIPは1インチ480メッシュで曲線を直線に変換する作業を行うということになる。平滑度1と比べると極端に少ないメッシュ数であることに注目してほしい。 3.[dictfull]Level2以降のRIPでは発生しない。 ・その壱%%[Error:××;OffendingCommand:definefont]%% このエラーの場合は、Level1RIPの特徴であるのだが、書体を扱う辞書(dict)が11書体程度しか扱えないことによって発生する。1ページ内に使用する書体数を減らすことによって回避できる。 ・その弐以前のフォントワークス書体では、書体インストール時に『Use/Start』というプリンタ内の書類に登録できるようになっている。この登録により、フォントのプリント速度が上がるので便利なのであるが、『Use/Start』へ登録を行うと、1ページ内にそのフォントが存在しなくても、存在しているとRIPが認識してしまう。よって、7書体しか使用されていないページであっても12書体使用しているとRIPが判断してしまうので、エラーが発生することになる。この設定は、エラーが発生する原因となるので、トラブルを第一に考えると、『Use/Start』登録は削除しておく方がいいということになる。 4.[stackoverflow] stackが溢れるという意味である。stackとは、PostScriptが使用する一時的な作業場である。何かの原因でこの作業場に許容以上データを入れようとすると、エラーとなる。 このエラーは通常は発生しないはずであるが、以下のような2つの原因により発生することがある。
1の場合アプリケーションがバージョンアップされるのを待つか。それが無理であれば、他のアプリケーションを使用してデータを作成する方法が考えられる。 2の場合 PostScript言語の書き出し方法を変更することによって、エラーを回避できることもある。 ●データ破損箇所を探す方法システムハングの場合は不可能かもしれないが、システムエラーでアプリケーションが終了してしまう症状が発生した場合は、以下の方法を試せば破損している箇所を探すことが可能である。しかし、システムエラーが発生したら、再起動を行って次の作業をくり返すという少々骨の折れる作業になるので覚悟してほしい。次に説明する作業は、“●システムハング又は、システムエラー『・その弐』”は全て完了していることが前提である。 1具体的な方法まず、ドキュメントを半分づつ削除する。例えば、10ページのQuarkXPressのドキュメントであれば、5ページ以上のページは削除する(もちろんバックアップを取っておき、コピーしたファイルを使用すること)、そして出力を試みる。この作業をくり返してみる。最終的には、1ページドキュメント内の半分を削除し出力、その半分を削除し出力…というくり返しになる。出力された場合、直前に削除したオブジェクト(…に貼り込まれている部品)或いはテキストボックスが壊れていたのが原因で出力されなかったということになる。 時間に余裕があるのであれば、このような方法は有用かもしれないが、普通は時間に余裕などないはずである。そのような場合は『出力を行う』という思考から一歩離れ、データ支給であれば、『同じデータのバックアップが存在するか?』という思考へ動くべきである。『プロフェショナルは、所定時間内で出力を完了するのが仕事』ということを忘れないでほしい。(デザイナーの方であれば、修正前のデータを流用し最低限の時間で同じデータを作るという思考へ動くということになる。) 2最後に… 最新のRIPの場合、スプーラ等の余計な機能が邪魔をし、原因を追求する場合に役に立たないことがある。 (990814) |
||||
|
||||
| Copyrignt (c) 1999 - 2000 NOBUO KONDOU, All rights reserved. |