ドキュメント構造化規約(DSC )は、コメントの使用に基づいたPostScriptの標準規格であり、PostScriptファイルの構造化方法と、その構造を機械可読な形式で公開する方法を規定しています。DSCに準拠したPostScriptファイルは、準拠ドキュメントと呼ばれます。
PostScriptはチューリング完全なプログラミング言語であるため、構造化規約が必要となります。そのため、実際に文書を印刷する以外に、特定の文書のページ数やページサイズ、特定のページへの移動方法などを確実に判断する方法はありません。DSCコメントによって構造を公開することで、例えば、インテリジェントな印刷スプーラーが印刷用にページを再配置したり、ページレイアウトプログラムがグラフィック画像として使用されるPostScriptファイルの境界ボックスを検出したりすることが可能になります。PostScriptファイルを入力データとして受け取るこのようなプログラムは、総称してドキュメントマネージャと呼ばれます。
Adobeツールを使用してPostScript印刷ファイルを適切にPDFに変換するには、基本的なDSC規格に準拠している必要があります。
DSCコメントの中には、2つ目の機能を持つものがあります。それは、ドキュメントマネージャに特定の処理(フォントやその他のPostScriptコード(総称してリソースと呼ばれる)をファイルに挿入するなど)を実行するように指示する方法を指定するものです。この2つ目の機能を持つDSCコメントは、純粋なコメントというよりは、プリプロセス指示に近いものです。このようなDSCコメントを使用するドキュメントは、意図したとおりに出力するために、正常に動作するドキュメントマネージャが必要です。直接プリンタに送信しても正しく出力されません。
DSCはEncapsulated PostScript(EPS)の基盤となる規格です。EPSファイルは、DSC規格に準拠しつつ、さらに制約を加えた文書です。
DSCコメントのセットは、オープン構造化規約と呼ばれるメカニズムによって拡張することができ、これはEPS仕様とともに、Adobe Illustratorアートワークファイル形式の初期バージョンの基礎を形成しています。
DSCの基本的な前提は、プロローグ(静的定義)とスクリプト(ジョブ固有の印刷出力に影響を与えるコード)を分離すること、そしてページ記述には不適切とみなされる特定のPostScript演算子の使用を禁止することです。これにより、PostScriptコードにおける基本的な予測可能性が確保され、文書管理の基盤が形成されます。
スクリプトをドキュメント設定セクション、機能的に独立したゼロページ以上のページ、およびオプションのトレーラー(クリーンアップコード)に分割することで、ドキュメント管理のオプションの追加レイヤーが提供されます。(DSC における「ゼロページ」は通常、「PostScript の 'showpage' 演算子を使用しない 1 ページ」を意味します。)ページ間の機能的な独立性と、ページセクションでの PostScript 演算子の追加使用の禁止が、ページ独立性の基礎を形成し、ページの並べ替えや、独立したランダムアクセスを可能にします。
この強制された構造は、PostScript ファイルをDSC コメントで区切ることで公開されます。DSC コメントは通常、2 つのパーセント記号の後にキーワードが続きます。一部のキーワードの後には、コロン、オプションのスペース文字、そして一連の引数が続く必要があります。
最後に、文書の冒頭に「%!PS-Adobe-」で始まるコメントとそれに続くDSCバージョン番号を記述することで、文書が準拠していることを示します。
再利用可能なPostScriptコードのセクションは、プロシージャセット(他のプログラミング言語における関数ライブラリに相当するもの)にモジュール化することで、PostScriptコードの生成を容易にすることができます。プロシージャセットやその他のPostScriptリソース(フォントなど)は、PostScriptファイル自体から省略し、ディレクティブのようなDSCコメントで外部から参照することができます。ただし、このような外部参照は、DSCコメントを理解できるドキュメントマネージャでのみ機能します。
DSCバージョン3.0は1992年9月25日にリリースされました。仕様書には、「DSCコメントはPostScript言語を超えたコミュニケーション層であり、最終出力には影響しませんが、その使用は優れたPostScript言語プログラミングスタイルであると考えられています」と記載されています。そのため、ほとんどのPostScript出力プログラムはコードとともにDSC準拠のコメントを出力しますが、中には実際には準拠したドキュメントを出力しないプログラムもあります。
DSC準拠の文書(これはdvipsによって生成されたもの)は、次のように始まる可能性があります。
%!PS-Adobe-2.0%%作成者: dvips(k) 5.95a Copyright 2005 Radical Eye Software%%タイトル: texput.dvi%%ページ数: 1%%PageOrder: 昇順%%バウンディングボックス: 0 0 612 792%%DocumentPaperSizes: レター%%EndCommentsこれは次のような意味を持ちます。