GDI の問題点
XP と Server 2003 までの Windows では、Microsoft Windows Graphics Device Interface (GDI、正確には GDI+) と呼ばれるグラフィカル インターフェイスを、スクリーン表示と印刷スプールファイル形式 (スプールファイルは、EMF スプール ファイルと呼ばれる)に使用しておりました。GDI は印刷デバイス内部で用いられるページ記述言語 (PDL) としては多少使われました(1990 年代初頭から、GDI Direct という名称で使用されたこともありましたが、あまり普及しませんでした)が、電子ドキュメントとして使用されることはありませんでした。
初期の GDI は 20 年以上前に設計された言語であり、昨今の印刷デバイスの性能向上からの要件に対して、十分対応できないことが年を重ねるにつれ大きな問題となっておりました。そして Windows Vista で導入された、XAML / XML Paper Specification (XPS) がよりリッチなドローイング コマンドに対する高いレベルのサポートを提供し、グラフィカリにリッチなアプリケーションのデザインと印刷品質の向上を実現しました。
GDI は XPS やその他の最新 PDL 形式、例えば PDF や PostScript に比較して、グラフィックスの能力が限られておりました。例えば、GDI では、スムーズなグラデーションを直接サポートすることが出来ず(通常、同一の効果が発揮されるようにイメージで補ったり、非常に多くのオブジェクトを繋ぎ合わせ、色を少しづつ変えて同様の効果を演出したりしておりました。)、更に透過オブジェクトやイメージのマスクがサポートされておりませんでした。
したがって、アプリケーション内部で、グラデーションや透過の表現を、限られた GDI の機能を駆使して表現しなければならず、場合によっては正しく表現されていなかったり、大変遅い履行もありました。
更に、GDI は RGB スペースに制限されているということがあげられます。GDI は多くのカラー 印刷デバイスで使用されている CMYK カラースペースに対応しておらず、またモノクロ印刷デバイスで使用されるブラック カラー ナットにさえ対応しておりません。またスポット カラーや Hi-fi カラーそして Photo-ink ディバイス カラースペース(多くのインクジェットデバイス用)にも対応しておりません。
PostScript 言語対応プリンタを含むデバイスへの印刷時に、もしアプリケーション ソフトウエアが、プリンタ ドライバに頼ることなく、各ページを表現するために PostScript 言語ファイル等の印刷デバイス用のページ記述言語 (PDL)ファイルを生成できれば、これらの多くの制限は回避できました。この場合、アプリケーション側で生成された PostScript ファイルは、PostScript プリントシステムを通してプリンタに直接送られます。この方式は、パススルーと呼ばれプロフェッショナルな商業印刷用のアプリケーションにより広く実装されましたが、オフィス向けアプリケーションではあまりメジャーにはなりませんでした。
この様に、GDI は昨今の印刷デバイスの性能に対し、大変貧弱な仕様であり、昨今の印刷デバイスの品質と性能をフルに発揮できません。今後、Windows Presentation Foundation (WPF) 対応アプリケーションが普及するにつれ、リッチなグラフィックスの恩恵を最大化でき、印刷デバイスの性能を使いこなすアプリケーションが Windows Vista 用に現れると思われます。
コメント