高度な検索
Developer Connection
Member Login ログイン | ご入会 ADC連絡先

Technote 1166

LaserWriter 8.6.5 Job Log Format


目次

作業ログの構文

作業ログリーダ

要約

LaserWriter 8.6.5 には、作業に使用されたフォントの概要などの、作業の設定の記述を含む作業ログ (作業記録) を作成するオプションが用意されています。このテクニカルノートでは、作業ログを使ってさまざまなプリプレスプリンティングの問題を解決しようとしているユーザ向けに、作業ログのフォーマットについて説明します。


作業ログの構文

最上位レベルで、作業ログは配列の辞書を定義します。辞書に含まれるそれぞれの項目はキー文字列によってインデックスが付けられます。項目のデータは値の配列であり、それぞれの値は辞書、文字列、数値、論理値、またはヌル値のいずれかです。

作業ログの辞書を定義するため、作業ログはファイルの先頭から末尾に向かって順に読み込まれる一連の整然としたステートメントを使用します。それぞれの行は割り当て、現在の辞書への値の追加、またはコマンドのいずれかです。辞書の範囲をマークするために LaserWriter 8 によって使用される現在のコマンドは Begin と End です。LaserWriter 8 の将来のバージョンでは、新しいコマンドが追加される可能性もあります。

作業ログは一連の行から構成され、その中の各行はキャリッジリターン、ラインフィード、またはその両方によって終端させることができます。現在、LaserWriter 8.6.5 は各行をキャリッジリターンで終端させていますが、この仕様は LaserWriter の将来のリリースで変更される可能性もあります。作業ログリーダは、キャリッジリターン、ラインフィード、またはその両方を正しく解釈するように準備されていなければなりません。

スペースまたはタブ文字として定義されているホワイトスペースと「:」の文字はデリミットトークン (区切り文字) です。注釈は、「//」を使って行に挿入することができます。「//」から行末までのすべての文字は注釈であると見なされます。注釈は作業ログの読み手に情報を提供します。


作業ログの構文:

lines ->

lines line

lines ->

line

line ->

command

line ->

assignment

command ->

WORD WORD

assignment ->

WORD : value

value ->

STRING | NUMBER | boolean | NULL

boolean ->

TRUE | FALSE


ターミナル:

WORD:


STRING:


NUMBER:


NULL


TRUE ->

“true”

FALSE ->

“false”

8.6.5LaserWriter 8.6.5 で現在定義されている辞書とキー


最上位レベルの辞書:


LogCreated String

ログが作成された日付と時刻。

GeneralInfo Dictionary

作業を作成したユーザ、アプリケーション、およびドライバに関する情報。

PrinterConfiguration Dictionary

Dictionary 作業の対象となったプリンタに関する情報。

JobInfo Dictionary

印刷作業のパラメータに関する情報。

FontLog Dictionary

書類の中で使用されているフォントに関する情報。


一般情報に関する辞書:

DocumentTitle String

印刷された書類のタイトル。

User String

書類を印刷したユーザ。

Application String

LMGetCurApName() を使用して下位メモリから取得したアプリケーション名。

PostScriptApplication

論理値の「false」は、アプリケーションが QuickDraw のみを生成したことを意味する。「true」は、アプリケーションがいくつかの PostScript を直接生成したことを意味する。

BadApp Number

印刷アプリケーションに対するドライバの特殊な処理を記述するビットマップ。

DriverName String

DriverVersion String

Back to top

作業ログリーダ

プリプレスハウスには、業務に関連する情報を解析する作業ログリーダの作成が必要になるかもしれません。

作業ログリーダは辞書のスタックを保守しなければなりません。辞書のスタックの最上位にある辞書は現在の辞書であり、割り当てステートメントは現在の辞書に値を追加します。作業ログリーダは空白の辞書を定義して、作業ログの先頭行を読み込む前に空白の辞書を辞書のスタックの上に置く必要があります。Begin コマンドは、新しい空白の辞書の作成を作業ログに命令します。この新しい辞書は、Begin コマンドの一部であるキーを使って現在の辞書に追加されます。新しい辞書が現在の辞書に追加されると、その新しい辞書は辞書のスタックの最上位にプッシュされて現在の辞書になります。これに続く割り当てステートメントは、この新しい辞書に値を追加します。End コマンドは辞書の末尾をマークします。End コマンドを読み込んだ時点で、作業ログリーダはその辞書を辞書のスタックから取り出します。

割り当て行が読み込まれるとき、その中にはキーと値が含まれています。作業ログリーダは、現在の辞書の中でキーを検索する必要があります。辞書内にキーが存在する場合、リーダはそのキーに関連付けられている配列を取得しなければなりません。この後、リーダは割り当てログの値を配列の末尾に追加して、配列の拡張を行います。辞書内でキーが見つからない場合は、割り当て値を含む単一要素の配列を作成し、キーによってインデックスが付けられた新しい配列を辞書に追加する必要があります。

Back to top

要約

以上のように、作業ログは LaserWriter 8.6.5 ドライバに追加された役に立つ新機能の 1 つです。


参考文献


Back to top

 


更新日: 1999 年 5 月 10 日