擬似ベクトル グラフィックス サポート
重要
Windows でプリンターとの通信手段として推奨されるのは、最新の印刷プラットフォームです。 プリンターデバイス開発におけるWindows 10および11での印刷体験をカスタマイズするために、MicrosoftのIPPインボックスクラスドライバーとPrint Support Apps (PSA)の使用を推奨します。
詳細については、最新の印刷プラットフォームに関する記事および「印刷サポート アプリの設計ガイド」を参照してください。
真のベクター グラフィックスをサポートしていないデバイスは、Unidrv が擬似ベクトル グラフィックスに提供するサポートを利用できます。 この機能を使用すると、Unidrv は、黒単色の四角形と水平線および垂直線を非ベクター グラフィックス デバイスに直接ダウンロードし、ラスター サーフェスでこれらの図形をレンダリングするオーバーヘッドを軽減します。 これにより、出力データのサイズも小さくなります。これにより、ラスター データを効率的に処理しないデバイスのプリンターのスループットを向上させることができます。
この機能を利用するには、非ベクター グラフィックス デバイスのミニドライバーで CmdRectBlackFill コマンドをサポートする必要があります。 この機能は、プリンターのプロパティ ページの [詳細設定] タブの [Print Optimization] (印刷の最適化) 機能がオフになっている場合に無効になります。
擬似ベクトル グラフィックス機能は、DrvBitBlt、DrvStrokePath、および DrvLineTo の呼び出しをインターセプトして、黒単色の四角形を描画するか、垂直線または水平線を描画するかを決定します。 Unidrv が、描画される図形を有効な四角形として認識すると (黒単色で、複雑なクリッピングがなく、現在の宛先ビットを使用する ROP を使用しない)、この図形はサーフェスに描画されるのではなく、四角形の配列に格納されます。
擬似ベクトル グラフィックス機能の最も困難な側面は、前に描画したオブジェクトの上に描画する必要があるオブジェクトによって発生する z オーダーの問題を回避することです。 上のオブジェクトが、黒い四角形の一部を消去または上書きする必要がある場合があります。 黒い四角形が既にデバイスにダウンロードされている場合は、後でシステム サーフェスに描画されたオブジェクトが正しく描画されない可能性があります。
この問題の解決策は、有効な四角形をサーフェスにすぐに描画するのではなく、一時的に格納することです。 新しいオブジェクトをサーフェスに描画するときに、Unidrv はオブジェクトをチェックして、オブジェクトが黒い四角形と重なっているかどうかを確認します。 重なっている場合、新しいオブジェクトが描画される前に、黒い四角形の重なり合った部分が最初にサーフェスに描画され、これにより正しい z オーダーが維持されます。 最初に四角形を描画すると、描画する新しいオブジェクトに、宛先を操作するものを含む ROP が関連付けられている可能性も考慮されます。
さらに、描画する新しいオブジェクトに複雑なクリッピングが含まれている可能性があるため、結果の図形は四角形ではなくなります。 バンド レンダリングまたはページ レンダリングが完了すると、残りの黒い四角形をデバイスに直接ダウンロードでき、z オーダーの問題が発生することはありません。 Unidrv はバンドあたり最大 256 個の四角形のリストを保持し、可能な場合は BitBlt 四角形を連結します。
擬似ベクトルのグラフィックスに関する問題
擬似ベクトル グラフィックス機能は、特に、テキストがデバイスに直接ダウンロードされ、クリッピングが複雑な後続のオブジェクトがそのテキストと相互作用する必要がある場合など、特定の状況で z オーダーを変更する可能性があります。