Printer Command Language

一般的にはPCLと呼ばれるPrinter Command Languageは、ヒューレットパッカード社によってプリンタプロトコルとして開発されたページ記述言語（PDL）であり、事実上の業界標準となっている。 もともと1984年に初期のインクジェットプリンタ用に開発されたPCLは、サーマルプリンタ、ドットマトリクス、およびページプリンタ用にさまざまなレベルで発売されている。 HP-GL/2とPJLはそれ以降のバージョンのPCLでサポートされている。

PCLは時々そして誤ってPrinter Control Languageの略語であると言われているが、これは実際にはページ記述言語の別の用語である。

PCL 1から5の概要
PCLレベル1から5e/5cは、受信した順序で処理および解釈される制御シーケンスを使用するコマンドベースの言語である。 コンシューマーレベルでは、PCLデータストリームは印刷ドライバによって生成される。 PCL出力は、カスタムアプリケーションによっても簡単に生成できる。

PCL 1 はHP ThinkJet 2225で1984年に導入され、最大150 dpiの解像度で基本的なテキストおよびグラフィックス印刷を提供した。
PCL 1+ はHP QuietJet 2227でリリースされた。
PCL 2 では電子データ処理/取引機能が追加された。
PCL 3 は1984年にオリジナルのHP LaserJetとともに導入された。 これによりビットマップフォントのサポートが追加され最大解像度が300 dpiに向上した 。 PCL 3をサポートする他の製品は、HP DeskJetインクジェットプリンタ、HP 2932シリーズマトリックスプリンタ、およびHP RuggedWriter 2235マトリックスプリンタである。 PCL 3は、時代遅れのHPモデルに代わりいくつかのimpact printerで現在も使用されている。
PCL 3+（白黒）およびPCL 3c+（カラー）は、それ以降のHP DeskJetおよびHP PhotoSmart製品で使用されている。
PCL 3GUI は、HP DesignJetおよび一部のDeskJetシリーズのプリンタで使用されている。標準のPCL 3と互換性のない圧縮されたラスタ画像を使う。
PCL 4 は1985年にHP LaserJet Plus に導入され、マクロ、より大きなビットマップフォントとグラフィックが追加された。 PCL 4はまだ多くのアプリケーションで使用されている。
PCL 5 は1990年3月にHP LaserJet III でリリースされ、インテリフォントスケーリング（Compugraphicによって開発された、現在はAgfaの子会社）、アウトラインフォントとHP-GL/2（ベクタ）グラフィックが追加された。
PCL 5e （PCL 5拡張）が1992年10月にHP LaserJet 4でリリースされ、プリンターとPC間の双方向通信とWindowsフォントが追加された。
PCL 5c は1992年にHP PaintJet 300XLおよびHP Color LaserJet でカラーサポートを導入した。

PCL 6の概要
HPは、1995年頃にHP LaserJet 4000シリーズプリンタで「PCL 6」を発表した。
それは下記の構成である：

 PCL 6 "Enhanced" ：WindowsのようなGUIインタフェースでの印刷に最適化されたオブジェクト指向ページ記述言語である、そして、スループットを最適化するために圧縮されている。 以前では PCL XLまたは PXLとして知られていた。
 PCL 6 Standard ：PCL 5eまたはPCL 5cと同等の、下位互換性を保たせたものである。
 Font synthesis ：スケーラブルフォント、フォント管理、およびフォームとフォントの保存を提供する。

PCL 6「Enhanced」アーキテクチャは、モジュール式になり、将来のHPプリンタ用に簡単に修正ができるように変更され、複雑なグラフィックをより速く印刷し、ネットワークトラフィックを減らし、そして、高品質になった。初期の実装では、HPはPCL 6をうまく販売しておらず、そのため用語の混乱を招いた。 PCL XLはPCL 6 Enhancedに名前が変更されたが、多くのサードパーティー製品は依然として古い用語を使用している。

PCL 6に準拠していると主張する製品もあるが、PCL 5の下位互換性が含まれていない場合がある。 PCL 6 Enhancedは、主にWindowsおよびCUPSの配下のプリンタードライバによって生成されている。その構造と圧縮方法論のために、カスタムアプリケーションはそれを直接使用することは稀である。

PCL 6 Enhancedは、PostScriptと似た、スタックベースのオブジェクト指向プロトコルである。ただし、PostScriptはバイナリコードまたはプレーンテキストとして送信できるのではなく、バイナリエンコードに制限されている。 PCLプログラミングドキュメントに示されているプレーンテキストのコマンドとコード例は、プリンタに送信される前にHPのJetASMなどのユーティリティでコンパイルされることを意図している。

PCL 6 Enhancedは、Windows GDIの描画モデルと一致するように設計されている。このように、Windowsプリンタドライバは、ほとんど変更を加えずにGDIコマンドを単純に通過させるだけなので、アプリケーションに戻るまでの時間が短縮されます。マイクロソフトはこの概念を次世代のXPSフォーマットで拡張し、XPSのプリンタ実装を開発している。これは新しい考えではない。Display PostscriptおよびAppleのQuartzと同等であり、圧縮ビットマップがプリンタに送信される「GDI Printers」とは対照的である。

参照

参考文献

外部リンク 
 
 
 
 
 

ヒューレット・パッカードの製品
ページ記述言語