(57)【特許請求の範囲】
【請求項１】
システムからのカラープロファイルの問い合わせに対して、カラープロファイルを応答しないか、カラープロファイルを応答する応答手段と、
プレビュ時に前記応答手段によりカラープロファイルが応答されない場合、カラープロファイルを検索し、カラープロファイルが検索されない場合、システムのデフォルトのカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づきプレビュさせるプレビュ手段と、
印刷時に前記応答手段によりカラープロファイルが応答された場合、印刷用のカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力する出力手段と
を有することを特徴とする印刷制御装置。
【請求項２】
システムからのカラープロファイルの問い合わせに対して、カラープロファイルを応答しないか、カラープロファイルを応答する応答手段と、
プレビュ時に前記応答手段によりカラープロファイルが応答されない場合、システムのデフォルトのカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づきプレビュさせるプレビュ手段と、
印刷時に前記応答手段によりプロファイルが応答された場合、応答されたカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力する出力手段と
を有することを特徴とする印刷制御装置。
【請求項３】
カラープロファイルの問い合わせに対して、エラーを応答する応答手段と、
前記応答手段によりエラーが応答された場合、カラープロファイルを検索し、カラープロファイルが検索されない場合、システムのデフォルトのカラープロファイルを用いてカラーマッチングされたデータに基づきプレビュさせるプレビュ手段と
を有することを特徴とする情報処理装置。
【請求項４】
前記応答手段によりカラープロファイルが応答された場合、応答されたカラープロファイルを用いてカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力し、前記応答手段によりエラーが応答された場合、カラープロファイルを検索し、検索されたカラープロファイルを用いてカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力する出力手段をさらに有することを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記プレビュ手段は、前記応答手段によりエラーが応答された場合、対応する解像度のカラープロファイルを検索し、対応する解像度のカラープロファイルが検索されない場合、システムのデフォルトのカラープロファイルを用いてカラーマッチングされたデータに基づきプレビュさせることを特徴とする請求項３又は４に記載の情報処理装置。
【請求項６】
応答手段とプレビュ手段と出力手段とを有する印刷制御装置により行われる印刷制御方法であって、
前記応答手段が、システムからのカラープロファイルの問い合わせに対して、カラープロファイルを応答しないか、カラープロファイルを応答する応答工程と、
前記プレビュ手段が、プレビュ時に前記応答工程によりカラープロファイルが応答されない場合、カラープロファイルを検索し、カラープロファイルが検索されない場合、システムのデフォルトのカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づきプレビュさせるプレビュ工程と、
前記出力手段が、印刷時に前記応答工程によりカラープロファイルが応答された場合、印刷用のカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力する出力工程と
を有することを特徴とする印刷制御方法。
【請求項７】
応答手段とプレビュ手段と出力手段とを有する印刷制御装置により行われる印刷制御方法であって、
前記応答手段が、システムからのカラープロファイルの問い合わせに対して、カラープロファイルを応答しないか、カラープロファイルを応答する応答工程と、
前記プレビュ手段が、プレビュ時に前記応答工程によりカラープロファイルが応答されない場合、システムのデフォルトのカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づきプレビュさせるプレビュ工程と、
前記出力手段が、印刷時に前記応答工程によりプロファイルが応答された場合、応答されたカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力する出力工程と
を有することを特徴とする印刷制御方法。
【請求項８】
応答手段とプレビュ手段とを有する情報処理装置により行われる情報処理方法であって、
前記応答手段が、カラープロファイルの問い合わせに対して、エラーを応答する応答工程と、
前記プレビュ手段が、前記応答工程によりエラーが応答された場合、カラープロファイルを検索し、カラープロファイルが検索されない場合、システムのデフォルトのカラープロファイルを用いてカラーマッチングされたデータに基づきプレビュさせるプレビュ工程と
を有することを特徴とする情報処理方法。
【請求項９】
前記情報処理装置は出力手段を更に有しており、
前記出力手段が、前記応答工程によりカラープロファイルが応答された場合、応答されたカラープロファイルを用いてカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力し、前記応答工程によりエラーが応答された場合、カラープロファイルを検索し、検索されたカラープロファイルを用いてカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力する出力工程をさらに有することを特徴とする請求項８に記載の情報処理方法。
【請求項１０】
前記プレビュ工程では、前記応答工程によりエラーが応答された場合、対応する解像度のカラープロファイルを検索し、対応する解像度のカラープロファイルが検索されない場合、システムのデフォルトのカラープロファイルを用いてカラーマッチングされたデータに基づきプレビュさせることを特徴とする請求項８又は９に記載の情報処理方法。
【請求項１１】
システムからのカラープロファイルの問い合わせに対して、カラープロファイルを応答しないか、カラープロファイルを応答する応答工程と、
プレビュ時に前記応答工程によりカラープロファイルが応答されない場合、カラープロファイルを検索し、カラープロファイルが検索されない場合、システムのデフォルトのカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づきプレビュさせるプレビュ工程と、
印刷時に前記応答工程によりカラープロファイルが応答された場合、印刷用のカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力する出力工程と
をコンピュータに実行させるためのプログラム。
【請求項１２】
システムからのカラープロファイルの問い合わせに対して、カラープロファイルを応答しないか、カラープロファイルを応答する応答工程と、
プレビュ時に前記応答工程によりカラープロファイルが応答されない場合、システムのデフォルトのカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づきプレビュさせるプレビュ工程と、
印刷時に前記応答工程によりプロファイルが応答された場合、応答されたカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力する出力工程と
をコンピュータに実行させるためのプログラム。
【請求項１３】
カラープロファイルの問い合わせに対して、エラーを応答する応答工程と、
前記応答工程によりエラーが応答された場合、カラープロファイルを検索し、カラープロファイルが検索されない場合、システムのデフォルトのカラープロファイルを用いてカラーマッチングされたデータに基づきプレビュさせるプレビュ工程と
をコンピュータに実行させるためのプログラム。
【請求項１４】
前記応答工程によりカラープロファイルが応答された場合、応答されたカラープロファイルを用いてカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力し、前記応答工程によりエラーが応答された場合、カラープロファイルを検索し、検索されたカラープロファイルを用いてカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力する出力工程をコンピュータにさらに実行させるための請求項１３に記載のプログラム。
【請求項１５】
前記プレビュ工程では、前記応答工程によりエラーが応答された場合、対応する解像度のカラープロファイルを検索し、対応する解像度のカラープロファイルが検索されない場合、システムのデフォルトのカラープロファイルを用いてカラーマッチングされたデータに基づきプレビュさせることを特徴とする請求項１３又は１４に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、たとえば、アプリケーションソフトウェアにより作成された印刷データに基づき用紙上に印刷される画像に対するプレビュ画像の表示および用紙種類等の変更機能等を有する印刷制御用プログラムおよび印刷制御装置及び印刷制御方法に関する。
【背景技術】
【０００２】
アプリケーションソフトウェア等で作成した文字、図形などのアプリケーションデータを印刷する際、実際に用紙上に印刷する前に、印刷される画像を一旦ホストコンピュータ上のディスプレイに表示して利用者に提示する印刷プレビュ機能が知られている。利用者は、この印刷プレビュ機能を利用して印刷される画像をチェックすることで、用紙上に形成される画像のレイアウト等の確認を印刷前に行うことができる。印刷プレビュ機能は、一般的にはアプリケーションプログラムによって提供されている。なお、以下、プレビュ機能により表示される画像をプレビュ画像と呼び、プレビュ画像を表示することをプレビュするという。
【０００３】
レイアウト変更等は、プリンタドライバの高機能化に伴い、プリンタドライバでも行うことが可能になっている。アプリケーションプログラムにより提供されるプレビュ機能では、プリンタドライバの機能により変更されたレイアウトをプレビュ画像として表示できないため、プリンタドライバによるレイアウト変更が反映された画像をプレビュする機能が求められている。
【０００４】
一方、画像の表示や印刷の際には、デバイスに依存せずに、ある色値で示される色は、異なるデバイスであっても同じ色で出力する必要がある。とくにプレビュでは、印刷される画像の色とプレビュされる画像の色とを一致させることが求められる。このような要求に応じて、元画像の色と、ディスプレイに表示される色やカラープリンタで印刷される色とを合わせるカラーマネジメント機能が最新のオペレーティングシステム（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ：以下「ＯＳ」）には搭載されている。この機能はカラーマッチング機能とも呼ばれる。カラーマッチング機能を実現する方法のひとつに、カラープロファイルと呼ばれる各デバイスのカラー属性を定義したファイルを用いた方法がある。またカラープロファイルを利用したカラーマッチング技術として、プリンタドライバおよびプリンタが、ディスプレイ用とプリンタ用のカラープロファイルそれぞれを切り替えて使用し、ディスプレイとプリンタの印刷色を合わせる技術が提案されている（特許文献１参照）。
【特許文献１】特開２００３−２４４４６８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
プリンタドライバで行われるレイアウト処理をプレビュに反映させるためには、プリンタドライバでプレビュ表示を行う必要がある。ところが、このようにするとプレビュ画像が、印刷される色と異なる色で表示されてしまう。
【０００６】
これは、プリンタドライバがプレビュ表示のために利用するデータが、ＯＳによるプリンタデバイスのためのカラーマッチング処理が施されたデータであるためである。つまり、アプリケーションプログラムはデータを印刷するために、ＯＳの提供する描画関数を呼び出す。それによってプリンタ用にカラーマッチングされた描画コマンドがＯＳから出力され、プリンタドライバに入力される。プリンタドライバがその描画コマンドを用いてそのままプレビュ表示すると、正常な色でプレビュ表示されないという問題が発生する。
【０００７】
図２は、プリンタ用にマッチングされたカラーでプレビュされてしまうことを説明した図である。ここでは、一般的に普及しているパーソナルコンピュータにおいてマイクロソフト社のＷｉｎｄｏｗｓ（登録商標）をＯＳとして使用し、アプリケーション１０１から（Ｒ＝０、Ｇ＝０、Ｂ＝２５５）の色の「ＢＬＵＥ」という文字画像の描画を行った場合の例である。図２（ａ）はユーザがデータを作成時する際に、アプリケーション１０１がディスプレイ１１２に表示している様子をしめした図である。図２（ｂ）は、プリンタ１０７への印刷およびディスプレイ１１２へのプレビュの様子を説明した図である。なお、アプリケーション１０１がディスプレイ１１２に描画する場合や、プリンタグラフィックスドライバ（プリンタドライバ描画機能）１０６がプレビュする際にも、ＯＳ内のグラフィックデバイスインタフェース（Ｇｒａｐｈｉｃｓ  Ｄｅｖｉｃｅ  Ｉｎｔｅｒｆａｃｅ：以下、「ＧＤＩ」）１０２を経由する。しかしここでは省略して説明する。また、アプリケーション１０１がディスプレイ１１２に表示する際にカラーマッチング処理を行う場合もあるが、ここではマッチング行わない。ＧＤＩ１０２は、一般的にはグラフィックエンジンなどと呼ばれる。
【０００８】
ユーザがアプリケーション１０１でデータを見るときには、アプリケーション１０１は「ＢＬＵＥ」という文字画像の描画命令を、色情報（Ｒ＝０、Ｇ＝０、Ｂ＝２５５）に対応する色でディスプレイ１１２に描画する。表示結果は画像１１３となる。一方、プリンタ１０７に印刷する場合には、アプリケーション１０１はＧＤＩ１０２経由でプリンタ１０７に描画命令を送る。ＧＤＩ１０２の中のカラーマネジメント機能は、描画命令に含まれる色情報（Ｒ＝０、Ｇ＝０、Ｂ＝２５５）に対して、プリンタ１０７の色特性が保存されたカラープロファイル１１４を用いてカラーマッチングを施す。その結果、色情報は、（Ｒ＝９０、Ｇ＝７０、Ｂ＝２５５）という値に変換される。そして、色情報（Ｒ＝９０、Ｇ＝７０、Ｂ＝２５５）を持つ描画命令がプリンタグラフィックスドライバ１０６経由でプリンタ１０７に出力され、プリンタ１０７ではその命令に従って印刷を実行する。プリンタによる印刷結果１１０の出力色は、その色特性をうけて、表示結果１１３の表示色と同じ色として見える。
【０００９】
ここで、プリンタドライバでプレビュを行うためには、プリンタグラフィックスドライバ１０６でプレビュ処理を行う必要がある。プリンタドライバの入力データには、ＧＤＩ１０２の中のカラーマネジメント機能により、プリンタ１０７用のカラープロファイル１１４を用いたカラーマッチングが施されている。そのため、色情報は、（Ｒ＝９０、Ｇ＝７０、Ｂ＝２５５）という値に変換されてしまっている。それがプレビュ表示のために用いられることから、プレビュ画像１１１がディスプレイ１１２に表示されたときには、その色は、アプリケーション１０１による表示結果１１３とは異なり、本来の色とは異なる色で表示されてしまう。
【００１０】
これを防止するためには、ＧＤＩを用いずにプリンタドライバやプリンタ内でカラーマッチングを行うことが考えられる。しかしながら、プリンタドライバやプリンタ内でカラーマッチングを行う方式では、テキスト等の展開を行うＯＳのレンダリング機能が使えなくなるという問題がある。これは、ＯＳのレンダリング機能がＯＳのカラーマネジメント機能と連携して動作するためである。すなわち、ＯＳが持つ色情報をＯＳの外部から変換する手段はないため、プリンタドライバ等が提供するカラーマッチング機能により色の変換を行ったとしても、変換後の色情報をＯＳに渡すことはできない。そのためＯＳのレンダリング機能を用いると、カラーマッチング機能による変換前の色でレンダリングされてしまうので、ＯＳのレンダリング機能を用いることはできない。
【００１１】
そこでプレビュ表示のためには、ＯＳのレンダリング機能を用いず、独自のレンダリング機能を用いてレンダリングを行うこともできる。こうすることで、レンダリング結果に、表示用の色変換を施してプレビュ用のカラーマッチングを行える。しかしこの場合、複雑な描画を行うと、ＯＳのレンダリング機能との仕様の相違から、ディスプレイの表示結果とプリンタの印刷結果が異なるという問題が発生するおそれがある。また、ＯＳのバージョンアップ時に追加された新規機能に対応できず、正常に印刷できないという問題も発生するおそれもある。さらに、レンダリングエンジンの開発にコストがかかるという問題もある。
【００１２】
また、ＯＳのカラーマネジメント機能を利用せず、カラーマネジメント機能を独自に開発すると、カラーマッチングの結果出力される色のばらつきという問題も発生する。たとえば、独自開発したカラーマネジメント機能が用いる変換手法や演算精度により、カラーマッチングの結果が満足のいくものとはならない場合がある。また、デバイスによってＯＳのカラーマネジメント機能と、独自のカラーマネジメント機能を使い分けると、本来同じ色として出力されるべき色が、異なる色で出力されるおそれもある。さらに、カラープロファイルの仕様は非常に種類が多い上、変更される場合もある。そのため、使用され得るカラープロファイルの仕様との互換性を保つことは、コストおよび技術の両面で困難である。
【００１３】
また、プリンタグラフィックスドライバ１０６内で、一旦プリンタ用にマッチングされた色信号を再度ディスプレイ１１２用に変換することも可能であるが、処理が二度かかるため、プレビュまでに時間がかかってしまう。また、異なる色再現範囲のデバイス間でカラーマッチング処理を行うと、変換後のデバイスで再現できない色は別の色に置き換える（ガマットマッピング）必要があるため、本来異なる色が同じ色でプレビュされてしまうという問題もある。
【００１４】
本発明は上記従来例に鑑みてなされたもので、プリンタドライバにより印刷データに対して施された処理を反映した迅速なプレビュ表示を実現すると共に、表示色と印刷色とを一致させた高品質なプレビュを行える印刷制御用プログラムおよび印刷制御装置及び印刷制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するために本発明は以下の構成を備える。すなわち、システムからのカラープロファイルの問い合わせに対して、カラープロファイルを応答しないか、カラープロファイルを応答する応答手段と、プレビュ時に前記応答手段によりカラープロファイルが応答されない場合、カラープロファイルを検索し、カラープロファイルが検索されない場合、システムのデフォルトのカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づきプレビュさせるプレビュ手段と、印刷時に前記応答手段によりカラープロファイルが応答された場合、印刷用のカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力する出力手段とを有することを特徴とする。
あるいは、システムからのカラープロファイルの問い合わせに対して、カラープロファイルを応答しないか、カラープロファイルを応答する応答手段と、プレビュ時に前記応答手段によりカラープロファイルが応答されない場合、システムのデフォルトのカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づきプレビュさせるプレビュ手段と、印刷時に前記応答手段によりプロファイルが応答された場合、応答されたカラープロファイルを用いてシステムによりカラーマッチングされたデータに基づくプリンタコマンドをプリンタに出力する出力手段とを有することを特徴とする。
【００１６】
あるいは、カラープロファイルの問い合わせに対して、エラーを応答する応答手段と、前記応答手段によりエラーが応答された場合、カラープロファイルを検索し、カラープロファイルが検索されない場合、システムのデフォルトのカラープロファイルを用いてカラーマッチングされたデータに基づきプレビュさせるプレビュ手段とを有することを特徴とする。
【発明の効果】
【００１７】
本発明によれば、印刷およびプレビュともにオペレーティングシステムの提供するレンダリング機能およびカラーマネジメント機能を使うことで、正確なカラーマッチングと高速な処理を両立させることができる。
【発明を実施するための最良の形態】
【００１８】
＜概略＞
図１に本発明のソフトウエアブロック図を示す。本実施形態では、コンピュータ１００はＭｉｃｒｏｓｏｆｔ社のＷｉｎｄｏｗｓ（登録商標）がオペレーティングシステムとしてインストールされている。また、印刷機能を持つアプリケーションプログラム（以下、アプリケーションという）がインストールされている。コンピュータ１００にはディスプレイ１１２とプリンタ１０７とが接続されて印刷システムを構成している。印刷装置１０７はコンピュータ１００とローカルに接続されていても良いし、ネットワーク等を介して共有されていても良い。
【００１９】
アプリケーション１０１は、文書処理プログラム等、印刷や表示の対象となるデータを生成し、生成したデータの印刷機能を有する。ＧＤＩ１０２は、マイクロソフト社のウインドウズ（登録商標）オペレーティングシステムにおいて入出力機能を提供するソフトウエアモジュールである。ＧＤＩ１０２は、呼び出された関数およびパラメータに応じた描画命令を生成してＥＭＦスプールファイル１０４に格納する。ＧＤＩ１０２はまた、指示に応じてカラープロファイル１１４を用いてカラーマッチング処理を実行することもできる。ウインドウズ（登録商標）が提供するカラーマネジメント機能はＩＣＭと呼ばれるものである。なおカラープロファイル１１４には、ソースカラープロファイル（不図示））とデバイスカラープロファイルとが含まれる。デバイスカラープロファイルは、デバイスに応じて複数のプロファイルが用意されている。本実施形態ではディスプレイ用のカラープロファイル１１４ａとプリンタ用のカラープロファイル１１４ｂとが用意されている。プリントプロセッサ１０５は、スプールファイル１０４からスプールされた描画命令を取り出してプリンタグラフィックドライバ１０６やプレビュア１０８に渡す。本実施形態では、プリントプロセッサ１０５はＯＳに含まれるものではなく、プリンタグラフィックドライバ１０６とともにプリンタ１０７のベンダにより提供される。プリンタグラフィックドライバ１０６は、プリンタ１０７のために特有な処理を行うプログラムモジュールである。プリンタグラフィックドライバ１０６は、描画命令を入力されると、それをプリンタ１０７が解釈実行可能な形式に変換するなどの処理を行う。またプリンタグラフィックドライバ１０６は、プレビュア１０８によりプレビュ表示を行うために使用するプレビュアファイル１０９を生成する。プレビュア１０８は、プリンタプロセッサ１０５からの指示に従って、プレビュアファイル１０９に基づいてプレビュ表示を行う。
【００２０】
なおコンピュータ１００は通常の汎用コンピュータであり、ＣＰＵ、メモリ、ディスク装置などの資源を有しており、ＣＰＵによりプログラムを実行することで、オペレーティングシステムやアプリケーション、プリンタグラフィックドライバ等による機能を実現する。図５以下に示すフローチャートの手順も、ＣＰＵによりプログラムを実行することで実現される。
【００２１】
［第１の実施の形態］
本実施形態では、アプリケーション１０１で作成したデータを印刷あるいはプリンタドライバによりプレビュする際に、カラーマッチング処理はＧＤＩ１０２で行われる。カラーマッチングを行いながら、印刷結果１１０、プレビュ結果１１１共に正常な色で出力するためには、ディスプレイ１１２へのプレビュ、プリンタ１０７への印刷それぞれのデータについてカラーマッチング処理を行う必要がある。そこで、プレビュ時および印刷時に、カラーマネジメント機能を持つＧＤＩ１０２経由の２度処理を行い、それぞれに適したカラープロファイル１１４ａ、１１４ｂを用いてカラーマッチング処理を行う。以下、本発明の第１の実施の形態について図面を参照しながら説明する。
【００２２】
図１の印刷システムにおいて、アプリケーション１０１は、印刷するデータをＧＤＩ１０２に送る。ＧＤＩ１０２は、通常、アプリケーション１０１から受けたデータを一旦ＥＭＦ（Ｅｎｈａｎｃｅｄ  ＭｅｔａＦｉｌｅ）データとしてＥＭＦスプールファイル１０４にスプールし、スプールが終了するとプリントプロセッサ１０５に対して印刷要求する。
【００２３】
プリントプロセッサ１０５は、ＧＤＩ１０２から印刷要求の通知を受けると、プレビュを行うプログラムであるプレビュア１０８を起動する。プリントプロセッサ１０５は、ＧＤＩ１０２経由でプリンタグラフィックドライバ（プリンタドライバ描画機能）１０６にプレビュファイル１０９の作成を依頼する。この際、カラーマッチング指定されていると、ＧＤＩ１０２はユーザインタフェースドライバ（プリンタドライバのＵＩ機能）１０３にカラープロファイルの問い合わせを行う。そして、応答されたＩＤ（名ともいう）に応じたカラープロファイルを用いてカラーマッチングする。そのため、カラープロファイルをユーザインタフェースドライバ１０３で切り替えることでディスプレイ１１２用のカラープロファイル１１４ａでカラーマッチングを行える。
【００２４】
ＧＤＩ１０２はＥＭＦスプールファイル１０４から描画命令を読み込み、ディスプレイ１１２用にカラーマッチング処理をした後にプリンタグラフィックドライバ１０６に出力要求する。プリンタグラフィックドライバ１０６は、ＧＤＩ１０２から出力要求されたデータをプレビュ用ビットマップへ展開（レンダリング）し、プレビュファイル１０９に保存して処理を終了する。従来であれば、プレビュ後に印刷開始する場合、プリンタグラフィックドライバ１０６は、描画命令をプリンタ１０７用のコマンドに変換してプリンタ１０７に出力すればよい。しかし本実施形態では、再度ＧＤＩ１０２経由で出力することで、ＧＤＩ１０２によりプリンタ１０７用のカラーマッチング処理を行うために、一旦プリントプロセッサ１０５に処理を戻す。
【００２５】
プリントプロセッサ１０５は、プリンタグラフィックドライバ１０６からの描画終了を受けて、プレビュア１０８にプレビュ開始を要求する。プレビュア１０８は、プレビュファイル１０９を読み込み、これをプレビュ結果１１１としてディスプレイ１１２に表示する。
【００２６】
その後、プレビュア１０８経由でユーザからの印刷命令を受けたプリントプロセッサ１０５は、ＥＭＦスプールファイル１０４の印刷処理を、ＧＤＩ１０２経由でプリンタグラフィックドライバ１０６に命令する。この際、カラーマッチング指定がされていると、ＧＤＩ１０２はユーザインタフェースドライバ１０３に対してカラープロファイルの問い合わせを行う。ユーザインタフェースドライバ１０３は、プリンタ１０７用のカラープロファイル１１４名を返すので、ＧＤＩ１０２は、応答されたＩＤのカラープロファイルを用いてカラーマッチングする。
【００２７】
ＧＤＩ１０２はＥＭＦスプールファイルから各描画命令を読み込み、プリンタ１０７用にカラーマッチング後にプリンタグラフィックドライバ１０６に出力要求する。プリンタグラフィックドライバ１０６はプリンタ１０７が解釈可能なコマンドに変換してプリンタ１０７に出力する。プリンタ１０７は、コマンドに基づき印刷結果１１０として印刷する。
【００２８】
なお、アプリケーション１０１は、ワープロ等のアプリケーションプログラムである。ＧＤＩ１０２がＥＭＦスプールファイル１０４にスプールする機能、カラーマネジメント機能、レンダリング機能、およびシステムのデフォルトカラープロファイルはＯＳにより提供される。ユーザインタフェースドライバ１０３、プリントプロセッサ１０５、プリンタグラフィックドライバ１０６、プレビュア１０８、および、印刷用カラープロファイル１１４ｂはプリンタメーカがプリンタドライバプログラムとして提供する。ディスプレイ１１２用のカラープロファイル１１４ａはディスプレイ１１２メーカが提供する。
【００２９】
次に、本実施の形態における処理について図５ないし図８のフローチャートを参照しながら説明する。図５はアプリケーションが印刷を要求する際のスプールの手順を示すフローチャート、図６はスプールされたデータをプレビュする手順を示すフローチャート、図７はスプールされたデータを印刷する手順を示すフローチャート、図８はカラープロファイル１１４を選択するフローチャートである。
【００３０】
＜アプリケーションデータのスプール＞
まず、アプリケーション１０１が印刷を要求する際のスプール処理について図５を参照して説明する。なお図５の処理はコンピュータ１００により行われるが、実行主体となるブロックは各ステップごとに異なる。まず、アプリケーション１０１は、データを印刷する際、プリンタ１０７の設定を行うために、ＧＤＩ１０２経由でユーザインタフェースドライバ１０３に対し、ユーザ設定画面の表示とその設定結果の要求を行う（ステップＳ１０１）。
【００３１】
ユーザインタフェースドライバ１０３はユーザ設定画面を表示する。図３はユーザ設定画面の例である。この例では、用紙のサイズの他、普通紙や写真用紙などを選択する用紙の種類、印刷品位に影響する印刷解像度、擬似諧調の方式であるハーフトーンの方式が設定可能である。また、その他にカラーマッチング機能であるＩＣＭを行うことを指定するためのチェックボックス３０１、カラーマッチングを行う場合元データのカラープロファイルの選択ボックス３０２も含まれる。その他にプレビュを行うかどうかを設定するためのチェックボックス３０３も含まれる。利用者は図３のユーザインターフェース画面から、所望の設定を入力することができる。
【００３２】
ユーザインタフェースドライバ１０３は、ユーザが設定したこれらの設定結果をＷｉｎｄｏｗｓ（登録商標）でデータ構造が規定されているＤＥＶＭＯＤＥに保存する。このＤＥＶＭＯＤＥはコンピュータのメモリまたはハードディスク装置などに保存される。ＤＥＶＭＯＤＥはアプリケーション１０１から渡されるので、ユーザインタフェースドライバ１０３が設定結果を保存してＧＤＩ１０２経由でアプリケーション１０１に返す（ステップＳ１０２）。
【００３３】
図４はＤＥＶＭＯＤＥのデータ構造を示した図である。図示したように、各種の印刷設定パラメータが、ＤＥＶＭＯＤＥに保存される。たとえば、用紙のサイズはｄｍＰａｐｅｒＳｉｚｅ４０１に、用紙の種類はｄｍＭｅｄｉａＴｙｐｅ４０２に、ハーフトーンの方式はｄｍＤｉｔｈｅｒＴｙｐｅに値で保存する。これらの値は一般的な種類はＷｉｎｄｏｗｓ（登録商標）で定義されているのでその値を使用し、それ以外の特殊なものは特定の領域に各プリンタドライバが割り振った値を使用することが可能である。印刷解像度はｄｍＰｒｉｎｔＱｕａｌｉｔｙ４０４にＤＰＩ（Ｄｏｔ Ｐｅｒ Ｉｎｃｈ）単位で保存する。ＩＣＭを行うかどうかのパラメータとしては、ｄｍＩＣＭＭｅｔｈｏｄ４０５に以下の（１）〜（４）のように定義された値のいずれかが、カラーマネジメント情報として保存される。
（１）ＤＭＩＣＭＭＥＴＨＯＤ＿ＮＯＮＥ：ＩＣＭ処理を行わない、
（２）ＤＭＩＣＭＭＥＴＨＯＤ＿ＳＹＳＴＥＭ：ＯＳでＩＣＭ処理を行う、
（３）ＤＭＩＣＭＭＥＴＨＯＤ＿ＤＲＩＶＥＲ：プリンタドライバでＩＣＭ処理を行う、
（４）ＤＭＩＣＭＭＥＴＨＯＤ＿ＤＥＶＩＣＥ：プリンタでＩＣＭ処理を行う。
【００３４】
本実施形態では、ＯＳのカラーマネジメント機能を使ってカラーマネジメントを実現するため、図３のユーザインターフェース３００におけるチェックボックス３０１の値に従い（１）または（２）のいずれかが設定される。すなわちチェックボックス３０１がチェックされれば「ＤＭＩＣＭＭＥＴＨＯＤ＿ＳＹＳＴＥＭ」が、されなければ「ＤＭＩＣＭＭＥＴＨＯＤ＿ＮＯＮＥ」が、ｄｍＩＣＭＭｅｔｈｏｄ４０５に設定されて保存される。
【００３５】
本実施形態では、カラーマネジメント方式として（２）「ＯＳでＩＣＭ処理を行う」が選ばれた場合に、図５以下の手順で処理を行うことで、プレビュ時にも正常に表示できるようになる。なお、使用するプロファイルとプレビュを行うかどうかの設定はＯＳで定義されていない。そこで、ＤＥＶＭＯＤＥのｄｍＤｒｉｖｅｒＤａｔａ以降のデバイス固有の領域に、プリンタドライバが独自にデータを追加してその設定を保存しておく。図４の例では、ｄｍｘｘｘｘｘ４０６にはカラープロファイル情報としてカラープロファイルのＩＤが、ｄｍｙｙｙｙｙ４０７にはプレビュを行うか否かを示すプレビュ情報が保存される。このようにして、ユーザインターフェースから入力された設定値がＤＥＶＭＯＤＥに保存される。
【００３６】
アプリケーション１０１は、印刷データと、ステップＳ１０２で返されたＤＥＶＭＯＤＥに保存された印刷設定とをＧＤＩ１０２に渡して印刷の要求を行う（ステップＳ１０３）。これらのデータの引渡はたとえばアドレスを介して行うことができる。
【００３７】
ＧＤＩ１０２は、アプリケーション１０１から印刷要求とともに渡された印刷データを、Ｗｉｎｄｏｗｓ（登録商標）の標準スプールファイルフォーマットであるＥＭＦスプールファイル１０４としてスプールする（ステップＳ１０４）。
【００３８】
そして、スプールが終了すると、ＧＤＩ１０２は、プリントプロセッサ１０５に印刷の開始を要求する（ステップＳ１０５）。
【００３９】
＜プレビュ処理＞
次に、スプールされたデータをプレビュする処理について図６を用いて説明する。図６において、ステップＳ２０３，Ｓ２０４，Ｓ２０６，Ｓ２０７はＧＤＩというウインドウズ（登録商標）オペレーティングシステムによる処理であり、二重枠で示した。
【００４０】
プリントプロセッサ１０５は、ステップＳ１０５での印刷開始が要求されると、ＧＤＩ１０２から通知を受けた印刷データのプレビュを行うか否かを判定する。印刷データをプレビュするか否かは、ステップＳ１０２にて受け取ったＤＥＶＭＯＤＥデータに基づき判定される（ステップＳ２０１）。ここでは、ユーザ設定画面３００のチェックボックス３０３により設定されたプレビュ情報４０７を参照して、プレビュする旨の値が格納されていればステップＳ２０２に分岐する。ユーザ設定画面でプレビュが選ばれておらず、プレビュが不要と判定された場合には、図６の処理を終了して次の印刷処理を行う。なおプレビュ情報４０７はプリンタドライバが独自に保存する領域にあるが、プリントプロセッサ１０５は、プリンタドライバと共に作成され提供されているので、独自領域を参照することができる。
【００４１】
ステップＳ２０１でプレビュが必要と判定された場合は、まずプリントプロセッサ１０５は、ＤＥＶＭＯＤＥにプレビュ用の描画に対応する設定（プレビュ指定）を書き込む。プレビュ指定はＤＥＶＭＯＤＥ内に新たなデータ領域を作成してそこに格納しても構わないが、ここでは解像度の領域に書き込む。通常、プリンタ１０７の解像度と比較するとディスプレイ１１２の解像度は低いため、プレビュ用のレンダリングは低解像度で高速に処理することができる。そこで、プレビュ時にはプレビュ用の低い解像度を設定する。それ以外にも、解像度は負の値でレベルが設定可能なので、プレビュ時には異なるレベルに設定することでも可能である。なお後述するように、本実施形態では、解像度の欄は、ＧＤＩ１０２が、プリントプロセッサ１０５からの出力命令が、プレビュ用なのかそれとも印刷用なのかを識別する出力情報として用いられている。
【００４２】
次に、プリントプロセッサ１０５は、プレビュ設定を保存したＤＥＶＭＯＤＥを元に、ＧＤＩ１０２に出力を要求する（ステップＳ２０２）。
【００４３】
出力要求されたＧＤＩ１０２は、ＯＳ内でカラーマッチングを行う必要があるかどうか判断する。この判断は、ＤＥＶＭＯＤＥのｄｍＩＣＭＭｅｔｈｏｄ４０５の値がＤＭＩＣＭＭＥＴＨＯＤ＿ＳＹＳＴＥＭかどうかで行い、カラーマッチングを行う必要がないと判断した場合にはステップＳ２０７に分岐する（ステップＳ２０３）。
【００４４】
一方、ステップＳ２０３で、ＯＳ内でカラーマッチングを行うと判断した場合には、ＧＤＩ１０２は、ユーザインタフェースドライバ１０３にカラープロファイルのＩＤの問い合わせを行う。問い合わせには、関数ＤｒｖＱｕｅｒｙＣｏｌｏｒＰｒｏｆｉｌｅ（）が用いられる。ＧＤＩ１０２は、元データを作成した時のカラー属性（色空間）を表すソースカラープロファイルのファイル名をフルパス（どこにインストールされているかというフォルダ情報付き）で指定し、出力先の機器のカラー属性（色空間）を表すデバイスカラープロファイルのファイル名をフルパス（どこにインストールされているかというフォルダ情報付き）で指定する（ステップＳ２０４）。
【００４５】
カラープロファイルＩＤの問合せを受けたユーザインタフェースドライバ１０３は、ソースカラープロファイルについては、ステップＳ１０２でＤＥＶＭＯＤＥに保存した元データ用カラープロファイルの選択結果を設定する。一方、デバイスカラープロファイルの問い合わせに対しては、カラープロファイルの問い合わせがプレビュ用の問い合わせか、プリント用の問合せかに応じて、プレビュ用のカラープロファイル１１４ａまたは印刷用のカラープロファイル１１４ｂのＩＤを返す。ここではプレビュ用のカラープロファイル１１４ｂのＩＤを返す（ステップＳ２０５）。なお、問い合わせるカラープロファイルがソースプロファイルかデバイスプロファイルかの別や、プレビュ用か印刷用かの指定は、たとえばＤＥＶＭＯＤＥで渡すことができる。具体的には、ソースプロファイルかデバイスプロファイルかは、ＤｒｖＱｕｅｒｙＣｏｌｏｒＰｒｏｆｉｌｅの引数（ＩＤ）で指定される。
【００４６】
図８に問合せを受けたユーザインターフェースドライバ１０３の処理手順を示す。具体的には、カラープロファイル１１４名の問い合わせに対し、ユーザインタフェースドライバ１０３は、ＤＥＶＭＯＤＥの解像度に応じて、プレビュ用の問い合わせであるか否かを判定する（ステップＳ４０１）。デバイスの解像度はデバイス毎に決まっており、また、ディスプレイの解像度はプリンタの解像度よりも低く、両者が同じということはない。そこで、ＤＥＶＭＯＤＥに設定された解像度がプリンタの解像度と一致していればプレビュ用ではないと判定できる。また解像度を基準値と比較して判定しても良い。また解像度は負の値でレベルで設定可能なので、プレビュ時には異なるレベルに設定すること可能である。もちろん、プレビュ用か否かを示す独立したパラメータを設けて、そのパラメータの受け渡しによりプレビュ用か否かを指定することもできる。
【００４７】
ここでは、ステップＳ２０２でプリントプロセッサ１０５がプレビュ用の解像度を設定しているので、ユーザインタフェースドライバ１０３はプレビュ用のカラープロファイルの名称（ＩＤ）を返す。プレビュ用のカラープロファイルとしては、使用しているディスプレイ１１２用のカラープロファイル１１４ａを用いるのが好ましい。このディスプレイ１１２用のカラープロファイル１１４ａはディスプレイ１１２の供給元がディスプレイ１１２と共に配布していることが多いが、ユーザが自分で作成したものを登録している場合もある。または、ディスプレイ１１２でもっとも汎用的に使われている色空間を表し、Ｗｉｎｄｏｗｓ（登録商標）ＯＳに同梱されているカラープロファイル「ｓＲＧＢ Ｃｏｌｏｒ Ｓｐａｃｅ Ｐｒｏｆｉｌｅ．ｉｃｍ」を使用することも可能である（ステップＳ４０３）。プレビュ用でないと判定されれば、カラープロファイル１１４ｂのＩＤをＧＤＩ１０２に返す。
【００４８】
さて図６に戻り、ＧＤＩ１０２は、ステップＳ２０５でユーザインタフェースドライバ１０３から返されたＩＤを持つカラープロファイルを用いてカラーマッチングを行う（ステップＳ２０６）。次いで、ＧＤＩ１０２はカラーマッチングした印刷データの出力をプリンタグラフィックドライバ１０６に対して要求する（ステップＳ２０７）。
【００４９】
プリンタグラフィックドライバ１０６は、出力要求を受けると、ＧＤＩ１０２から引き渡された印刷データをビットマップデータにレンダリングする。このときプリンタグラフィクスドライバ１０６は、プリンタドライバ固有の印刷設定を反映してレンダリングする。プリンタドライバ固有の印刷設定には、ユーザインターフェースドライバ１０３が提供するユーザインターフェースで入力されたレイアウトなどがある。プリンタドライバ固有の印刷設定はたとえばＤＥＶＭＯＤＥのデバイスに固有の領域に保存されている。プリンタドライバ独自の印刷設定の例には、いわゆるＮイン１という、Ｎページを１枚のシートに縮小して配置するレイアウト設定などがある。なお、Ｎイン１処理などは、プリンタグラフィックドライバ１０６ではなく、プリントプロセッサがＳ２０２等でＧＤＩに印刷を要求するときに指定してもよい。つまり、この時点ではＮイン１処理後の（Ｎページのデータが）１ページの描画データとしてＧＤＩからプリンタグラフィックドライバ１０６に出力要求される。
【００５０】
ここでのレンダリングにはＧＤＩ１０２により提供されるレンダリング機能が利用される。このためレンダリングは、ステップＳ２０６でＧＤＩ１０２により表示用にカラーマッチング処理が施された色情報が利用されて行われる。この際に、プリンタグラフィックドライバ１０６は、レンダリングはプレビュ用であると判断し、レンダリングしたイメージをプレビュファイル１０９に保存する。ステップＳ２０２でプリントプロセッサ１０５がＤＥＶＭＯＤＥにプレビュ用の解像度を設定しているので、ステップＳ２０８ではその解像度を基に、ステップＳ４０１と同じ要領で、プレビュ用であることを判定できる。プレビュファイル１０９のデータ形式は、プレビュア１０８が処理可能であればどのようなフォーマットでもよい。たとえば、ハーフトーン処理する前の多値データでも、ハーフトーン処理後の二値データであってもよい。このプレビュファイル１０９にはディスプレイ１１２用のカラープロファイル１１４ａを用いてカラーマッチングした印刷データがイメージに変換されて保存されているので、本来の色でプレビュ表示される。
【００５１】
しかし、ステップＳ２０７で出力要求された印刷データ（描画命令およびパラメータにより構成されている）はディスプレイ１１２用にカラーマッチングされているため、この印刷データをレンダリングしてプリンタ１０７に出力すると、表示用に変換された色で画像が印刷される。そのため色調が不自然になり、プレビュ画像とも一致しない。そこで、１ページ分のプレビュ用印刷データのレンダリングが終了したなら、プリンタグラフィックドライバ１０６は一旦処理を終了し、プリントプロセッサ１０５に処理を戻す（ステップＳ２０８）。
【００５２】
プレビュファイル１０９が作成されてプリンタグラフィックドライバ１０６から処理が戻ると、プリントプロセッサ１０５は、プレビュア１０８にプレビュファイル１０９の作成が終了したことを通知し、プレビュを要求する（ステップＳ２０９）。それに対してプレビュア１０８は、ステップＳ２０８で作成されたプレビュファイル１０９をディスプレイ１１２に表示する（ステップＳ２１０）。
【００５３】
その後、たとえばプレビュ画面にプレビュ画像と共に表示される印刷開始ボタンの押下等、ユーザからの指示を待つ。ユーザから印刷開始の指示があると、その印刷開始要求に応じて、プレビュア１０８はプレビュを終了し、プリントプロセッサ１０５に印刷開始を要求する（ステップＳ２１１）。
【００５４】
＜印刷処理＞
次に、スプールされたデータを印刷する処理について説明する。スプールされたデータを印刷する際には、図７に示すように、まずプリントプロセッサ１０５がプリンタグラフィックドライバ１０６に対して、印刷データのプリンタ１０７への出力を要求する。この際、プリントプロセッサ１０５は、ＤＥＶＭＯＤＥに印刷用の描画であることを示す印刷指定を設定する。印刷指定は、ステップＳ２０２のプレビュ指定と同様にＤＥＶＭＯＤＥの解像度の領域に印刷用の解像度を設定することで行う。印刷用の解像度は、プリンタの機種により決まっているので用いるプリンタに応じた値が設定される。次に、プリントプロセッサ１０５は印刷指定したＤＥＶＭＯＤＥを基にＧＤＩ１０２に印刷要求を出す（ステップＳ３０１）。
【００５５】
出力要求されたＧＤＩ１０２は、ステップＳ２０３同様、ＤＥＶＭＯＤＥのｄｍＩＣＭＭｅｔｈｏｄの値が「ＤＭＩＣＭＭＥＴＨＯＤ＿ＳＹＳＴＥＭ」かどうかでカラーマッチングを行う必要があるか判断する。カラーマッチングを行う必要がないと判断した場合にはステップＳ３０６以降の処理を行う（ステップＳ３０２）。
【００５６】
一方、ステップＳ３０２で、ＯＳ内でカラーマッチングを行うと判断した場合には、ＧＤＩ１０２は、ユーザインタフェースドライバ１０３にカラープロファイルＩＤの問い合わせを行う（ステップＳ３０３）。
【００５７】
ユーザインタフェースドライバ１０３は、ソースカラープロファイルの問い合わせに対しては、ステップＳ２０５同様、ＤＥＶＭＯＤＥに保存した元データ用カラープロファイルのＩＤを返す。
【００５８】
一方、デバイスカラープロファイルの問い合わせに対しては、印刷用またはプレビュ用のカラープロファイルを返すが、ここではＤＥＶＭＯＤＥに印刷用の解像度が設定されているので、印刷用のカラープロファイル１１４ｂのＩＤを返す（ステップＳ３０４）。
【００５９】
図８に問合せを受けたユーザインターフェースドライバ１０３の処理手順を示す。具体的には、カラープロファイルＩＤの問い合わせに対し、ユーザインタフェースドライバ１０３は、ＤＥＶＭＯＤＥの解像度に応じて、プレビュ用の問い合わせであるか否かを判定する（ステップＳ４０１）。ここでは、ステップＳ３０１でプリントプロセッサ１０５が印刷用の解像度を設定しているので、ユーザインタフェースドライバ１０３は印刷用のカラープロファイル１１４ｂの名称（ＩＤ）を返す。
【００６０】
さて図７に戻り、ＧＤＩ１０２は、ステップＳ３０４でユーザインタフェースドライバ１０３から返されたＩＤを持つカラープロファイルを用いてカラーマッチングを行う（ステップＳ３０５）。次いで、ＧＤＩ１０２はカラーマッチングした印刷データの出力をプリンタグラフィックドライバ１０６に対して要求する（ステップＳ３０６）。
【００６１】
プリンタグラフィックドライバ１０６は、出力要求を受けると、ＧＤＩ１０２から引き渡されたＥＭＦスプールファイルの印刷データをビットマップデータにレンダリングする（ステップＳ３０７）。このときプリンタグラフィクスドライバ１０６は、プリンタドライバ固有の印刷設定を反映してレンダリングする。ここでのレンダリングにはＧＤＩ１０２により提供されるレンダリング機能が利用される。このためレンダリングは、ステップＳ３０５でＧＤＩ１０２によりプリンタ用にカラーマッチング処理が施された色情報が利用されて行われる。
【００６２】
そしてプリンタグラフィックドライバ１０６は、レンダリングしたビットマップデータをプリンタコマンドに変換してプリンタ１０７に出力する（ステップＳ３０８）。
【００６３】
プリンタ１０７に出力され印刷される印刷結果１１０は、プリンタ１０７用のカラープロファイル１１４でマッチング後の画像データを出力しているので、プリンタデバイスの色特性に応じて正しくカラーマッチングされた正常な色で印刷される。以上で本処理を終了する。
【００６４】
以上のように、本実施の形態では、プリントプロセッサ１０５は、プレビュ用と印刷用とに分けてＧＤＩ１０２に対して印刷データの出力を要求する。それぞれの要求において、その要求がプレビュ用であるか、それとも印刷用であるかを、ＤＥＶＭＯＤＥにセットする印刷設定の値を切り替えて、ＧＤＩに渡す。これにより、ユーザインターフェースドライバ１０３は、プレビュ用または印刷用のカラープロファイルの内、指定された方をＧＤＩ１０２に渡すため、ＧＤＩ１０２は出力先のデバイスに適したカラーマッングを行うことができる。
【００６５】
こうしてＯＳ上のレンダリング機能およびカラーマネジメント機能を使いながら、ディスプレイ上に正常かつ高速にプレビュすることができる。このため、プレビュ画像と印刷画像とが、プリンタドライバ独自の印刷設定も含めて一致する。また表現される色も一致させることができる。
【００６６】
なお、本実施の形態では、プリントプロセッサ１０５がプレビュア１０８を起動し、プリントプロセッサ１０５がプレビュの開始を要求していたが、ユーザインタフェースドライバ１０３がプレビュア１０５を起動してもよいし、プリンタグラフィックドライバ１０６がプレビュア１０８の起動およびプレビュの開始を要求してもよい。
【００６７】
［第２の実施の形態］
第１の実施形態では、ユーザインタフェースドライバ１０３がカラープロファイル１１４の名称を応答することによって実現したが、本実施形態ではカラープロファイル１１４を返さない方法について記載する。
【００６８】
図１１は、ＧＤＩ１０２が、カラーマッチングに用いるカラープロファイル１１４を決定する手順を示したフローチャートである。ＧＤＩ１０２はソースカラープロファイル１１４とデバイスカラープロファイル１１４決定するが、それぞれについて以下の処理を行う。
【００６９】
ＧＤＩ１０２は最初にユーザインタフェースドライバ１０３にＤｒｖＱｕｅｒｙＣｏｌｏｒＰｒｏｆｉｌｅ命令でカラープロファイルＩＤの問い合わせを行う。ここで、ユーザインタフェースドライバ１０３がＤｒｖＱｕｅｒｙＣｏｌｏｒＰｒｏｆｉｌｅに対してエラーを返した場合や、ＤｒｖＱｕｅｒｙＣｏｌｏｒＰｒｏｆｉｌｅ関数自体を用意していない場合など、ユーザインタフェースドライバ１０３がカラープロファイルのＩＤを返さない場合がある。これは、カラープロファイルＩＤを返すためにはユーザインタフェースドライバ１０３の出荷前にカラープロファイルＩＤを決定しておく必要があり、ユーザが作成したカラープロファイルに換えたりするとＩＤを取得できないことがあるためである。
【００７０】
そのため、ＧＤＩ１０２は、ユーザインタフェースドライバ１０３が正常なカラープロファイルＩＤを取得できたかを判定する。なお、ＯＳのバージョンによってはＧＤＩがこのＤｒｖＱｕｅｒｙＣｏｌｏｒＰｒｏｆｉｌｅ をサポートしていない場合もあるので、この場合も取得できなかったと判定する（ステップＳ７０１）。
【００７１】
ステップＳ７０１で正常にカラープロファイル１１４を取得できれば、ＧＤＩ１０２は取得したカラープロファイル１１４を使用する（ステップＳ７０２）。
【００７２】
一方、ステップＳ７０１でカラープロファイルを取得できなかった場合、ＧＤＩ１０２は、対象であるプリンタ１０７に関連付けられたカラープロファイルの中から最も適するカラープロファイル１１４を検索する。関連付けとは、ＯＳにインストールされているカラープロファイルのうち、どれがどのデバイスで使用するかを決めることである。関連付けはユーザがＯＳの機能を使って行うことも可能であるが、多くの場合はプリンタドライバの一部として提供されたカラープロファイル１１４がプリンタドライバと共にインストールされる際に自動的に行われる。
【００７３】
通常、カラープロファイル１１４は、プリンタの解像度、用紙の種類、ハーフトーン方式によって異なる。そのため、カラープロファイル１１４には、解像度、用紙の種類、ハーフトーン方式それぞれの値を記載することが可能である。ＧＤＩ１０２は、ユーザ設定値が保存されたＤＥＶＭＯＤＥの各値とカラープロファイル１１４内の各値が一致するカラープロファイル１１４を選択して、そのＩＤをＧＤＩに返す。そこで、関連付けられたカラープロファイルの中から、上述した設定項目の値がＤＥＶＭＯＤＥの対応する項目の値と一致するカラープロファイルを検索する（ステップＳ７０３）。
【００７４】
一致したカラープロファイル１１４が見つかれば、このカラープロファイル１１４をデバイスカラープロファイル１１４として使用する。なお、ソースカラープロファイルについてこの方法では検索されない（ステップＳ７０４）。
【００７５】
一方、ステップＳ７０３で一致するカラープロファイル１１４が無い場合、および、ソースカラープロファイル１１４を検索している場合には、システムのデフォルトのカラープロファイルを使用する（ステップＳ７０５）。
【００７６】
本実施形態では、上述した図１１の手順によって、ＧＤＩ１０２が、関連付けられたカラープロファイル１１４から選択したものを使用する方法について述べる。第１の実施形態と同じ処理については省略し、異なる処理についてのみ説明する。なお、ソースカラープロファイル１１４の変更を行う場合には、ソースカラープロファイル１１４ついては第１実施形態と同じ方式で行う。
【００７７】
図９は本実施例でのスプールされたデータをプレビュする手順を示すフローチャート、図１０はスプールされたデータを印刷する手順を示すフローチャートである。
【００７８】
図９において、ステップＳ２０１〜Ｓ２０４までは図６と共通である。
【００７９】
ステップＳ２０４で、ＧＤＩ１０２からカラープロファイル１１４名の問い合わせを受けると、本例におけるユーザインタフェースドライバ１０３はエラーを返す。あるいはこの問い合わせの関数自体を用意していないため、関数呼出しがエラーになる。ＧＤＩ１０２は関数に対する戻り値を参照して、カラープロファイル名が回答されたか判定する（ステップＳ５０１）。上記いずれかのエラーであれば、カラープロファイル名は返されていないと判定する。
【００８０】
ステップＳ５０１でユーザインタフェースドライバ１０３がカラープロファイル名を返さなければ、次にＧＤＩ１０２は、関連付けられたカラープロファイル１１４から使用するカラープロファイルを検索する。本実施形態では、関連付けられたカラープロファイルとしてプレビュ用のカラープロファイル１１４をもつ必要があるため、プレビュ用カラープロファイル１１４もプリンタメーカがプリンタドライバプログラムにより提供する必要がある。このプレビュ用のカラープロファイルには、解像度としてプレビュ用の解像度値が記載され、その他の用紙の種類、ハーフトーン方式については記載しない。そうすることによって、ステップＳ２０２でＤＥＶＭＯＤＥに設定されたプレビュ用の解像度とプレビュ用のカラープロファイルに記載された解像度とが一致することから、プレビュ用のカラープロファイルとして判定される。なお、用紙の種類、ハーフトーン方式はプレビュ用カラープロファイル１１４に記載されていないため、用紙の種類、ハーフトーン方式によらず使用されることになる（ステップＳ５０２）。
【００８１】
次に、ＧＤＩ１０２はステップＳ５０２で決定したカラープロファイル１１４を元にカラーマッチングを行う（ステップＳ５０３）。なお、ステップＳ５０１でカラープロファイル名が返されたと判定された場合には、返されたＩＤを持つカラープロファイルを使用してカラーマッチングを行う。
【００８２】
ステップＳ２０７以降は図６と共通である。その結果、プレビュファイル１０９には、プレビュ用のカラープロファイル１１４ａを用いてカラーマッチングした画像データが保存されるので、画像本来の正常な色でプレビュ表示される。
【００８３】
次に、スプールされたデータを印刷する処理について図１０を参照して説明する。ステップＳ３０１〜Ｓ３０３は図７と共通である。ステップＳ３０３でＧＤＩ１０２からカラープロファイル名の問い合わせを受けると、ステップＳ５０１と同様に、ユーザインタフェースドライバ１０３からエラーが返ったか、この問い合わせの関数自体が用意されていないか判定する（ステップＳ６０１）。
【００８４】
エラーが返ったか、この問い合わせの関数自体が用意されていないのであれば、次にＧＤＩ１０２は、関連付けられたカラープロファイル１１４から使用するカラープロファイルを検索する。本実施形態では、関連付けられたカラープロファイル１１４として、印刷解像度、用紙の種類、ハーフトーン方式毎にカラープロファイル１１４を用意する必要があり、それぞれのカラープロファイル１１４には、印刷解像度、用紙の種類、ハーフトーン方式が記載されている。ただし、例えば、異なる用紙ＡとＢとが同じ色特性をもち同じカラープロファイル１１４を用いる場合には、ＤＥＶＭＯＤＥの用紙の種類には用紙ＡもＢも同じ値を書いておくことでカラープロファイルの数を減らすことが可能である。また、例えば、色特性がハーフトーン方式によらない場合には、カラープロファイル１１４にハーフトーン方式を記載しない。こうすることで、ハーフトーン方式毎にカラープロファイル１１４を用意する必要がなくなりカラープロファイル１１４の数を減らすことも可能である。
【００８５】
ステップＳ３０１でＤＥＶＭＯＤＥに設定された印刷用の解像度と用紙の種類、ハーフトーン方式が指定されているため、ＧＤＩ１０２がＤＥＶＭＯＤＥの各値と一致するカラープロファイル１１４を検索して決定する（ステップＳ６０２）。
【００８６】
次に、ＧＤＩ１０２はステップＳ５０２で決定したカラープロファイル１１４を元にカラーマッチングを行う（ステップＳ６０３）。なお、ステップＳ６０１でカラープロファイル名が返されたと判定された場合には、返されたＩＤを持つカラープロファイルを使用してカラーマッチングを行う。ステップＳ３０６以降は図７と共通である。
【００８７】
以上の結果、プリンタ１０７に出力され印刷された印刷結果１１０は、プリンタ１０７用のカラープロファイル１１４でカラーマッチングした描画データが印刷されるので、画像本来の正常な色で印刷される。
【００８８】
以上のように、本実施の形態では、ＯＳ上のレンダリング機能およびカラーマネジメント機能を使いながら、ディスプレイ上に正常かつ高速にプレビュすることができる。このため、プレビュ画像と印刷画像とが、プリンタドライバ独自の印刷設定も含めて一致する。また表現される色も一致させることができる。また、ユーザインターフェースドライバ１０３が、カラープロファイル名の問い合わせに回答できない場合でも、適切なカラープロファイルを選択して使用することができる。
【００８９】
［第３の実施の形態］
上述の実施形態では、プレビュ時に特定のプレビュ用のカラープロファイル１１４でカラーマッチングを行う方式について述べたが、本実施形態ではシステムのデフォルトのカラープロファイルを用いてプレビュする方法について記載する。システムのデフォルトのカラープロファイルもカラープロファイル１１４に含まれている。
【００９０】
アプリケーション１０１がデータ作成中にそのデータをディスプレイ１１２に表示することは普通に行われる。このとき、アプリケーション１０１がカラーマネジメントに関する指定をしない場合、元データを作成した時のカラー属性（色空間）を表すソースカラープロファイルおよびディスプレイ１１２のデバイスのカラープロファイルとして、システムのデフォルトカラープロファイルが使われる。そのため、プレビュ画像や印刷結果と、アプリケーション１０１がディスプレイ１１２に表示している表示結果１１３とが異なる場合がある。これは、上述の通りアプリケーション１０１がカラーマネジメントに対応していないために発生する。しかし、ひとつのデータをひとつのディスプレイに表示しているにもかかわらず、利用者が知り得ないデータ処理の径路によって異なる色で表示されるのは好ましくない。
【００９１】
そこで、本実施形態ではこのようなカラーマネジメントに対応しないアプリケーション１０１の表示結果１１３とプレビュ結果１１１とが同じ色で表示されるように、プレビュを行う。そのためにプレビュ時には、システムのデフォルトカラープロファイル１１４を用いてカラーマッチングを行う。
【００９２】
以下では、第１実施形態の図６と同じステップについては説明を省略し、異なる処理についてのみ述べる。なお、ソースカラープロファイル１１４の変更を行う場合には、第１実施形態と同じ方式で行う。
【００９３】
図１２は本実施形態でのスプールされたデータをプレビュする手順を示すフローチャートである。ステップＳ２０１〜Ｓ２０４までは図６と共通である。ステップＳ２０４でＧＤＩ１０２からカラープロファイル名の問い合わせを受けると、ユーザインタフェースドライバ１０３は、システムのデフォルトカラープロファイル名を取得できるかを判断する。この方法はＯＳによって異なり、ＯＳにシステムのデフォルトカラープロファイル１１４を取得する機能がある場合には、そのデフォルトカラープロファイルを用いる。また、ＯＳのバージョンによってはシステムのデフォルトカラープロファイルは固定であるため、ＯＳのバージョンから、システムのデフォルトカラープロファイル名を取得することもできる（ステップＳ８０１）。
【００９４】
ユーザインタフェースドライバ１０３は、ステップＳ８０１でシステムのデフォルトカラープロファイル名を取得できれば、取得したシステムのデフォルトカラープロファイル名をＧＤＩ１０２に返す（ステップＳ８０２）。
【００９５】
一方、ステップＳ８０１でシステムのデフォルトカラープロファイル１１４を取得できなかった場合、ＧＤＩ１０２からカラープロファイル名の問い合わせに対し、ユーザインタフェースドライバ１０３はエラーを返す（ステップＳ８０３）。
【００９６】
ステップＳ８０３でユーザインタフェースドライバ１０３がカラープロファイル１１４名を返さない場合、ＧＤＩ１０２は関連付けられたカラープロファイルから使用するカラープロファイルを検索する。本実施形態では、関連付けられたカラープロファイルとしてプレビュ用のカラープロファイル１１４ａをもたない。つまり、関連付けられたカラープロファイル全てに、対応する解像度として印刷用の解像度が記載されており、ステップＳ２０２でプレビュ設定にされているＤＥＶＭＯＤＥに合致するカラープロファイルは存在しない。そのため、ＧＤＩ１０２は検索に失敗する。ステップＳ８０４では、この検索に成功したか否か、ユーザインターフェースドライバ１０３が判定する。該当するプレビュ用のカラープロファイルがあれば検索は成功し、そのカラープロファイル名（ＩＤ）をＧＤＩ１０２に返す（ステップＳ８０７）。
【００９７】
ステップＳ８０４で判定の結果、検索が失敗すれば、失敗したことを示す情報がＧＤＩ１０２に返される。その応答がユーザインターフェースドライバ１０３からあれば、ステップＳ７０５に説明したように、ＧＤＩ１０２はシステムのデフォルトカラープロファイル１１４を、使用するカラープロファイルと決定する（ステップＳ８０５）。
【００９８】
次に、ＧＤＩは使用するカラープロファイルと決定されたカラープロファイルを用いてカラーマッチングを行う（ステップＳ８０５）。このため、ユーザインターフェースドライバ１０３がシステムデフォルトのカラープロファイルを応答した場合、およびカラープロファイル名を検索できない場合に、ＧＤＩ１０２はシステムデフォルトのカラープロファイルを用いてカラーマッチング処理を行う。
【００９９】
その結果、ユーザインターフェースドライバ１０３がシステムのデフォルトカラープロファイル名を取得できる場合には、プレビュファイル１０９には、システムのデフォルトカラープロファイルでカラーマッチングしたイメージが保存される。そのため、カラーマネジメントに対応しないアプリケーション１０１の表示結果１１３の色とプレビュー画像の色とは一致する。
【０１００】
印刷時の処理については、第１実施形態または第２実施形態と同様に処理することで、プリンタ１０７に出力され印刷された印刷結果１１０はプリンタ１０７用のカラープロファイル１１４でカラーマッチングされたイメージが出力される。そのため、画像は本来の正常な色で印刷される。
【０１０１】
以上のように、本実施の形態では、ＯＳ上のレンダリング機能およびカラーマネジメント機能を使いながら、ディスプレイ上に正常かつ高速にプレビュすることができる。このため、プレビュ画像と印刷画像とが、プリンタドライバ独自の印刷設定も含めて一致する。また表現される色も一致させることができる。また、ユーザインターフェースドライバ１０３が、カラープロファイル名の問い合わせに回答できない場合でも、適切なカラープロファイルを選択して使用することができる。またシステムデフォルトのカラープロファイルを使用してプレビュを行うことで、アプリケーションプログラムによるデータの表示時と同じ色のプレビュ画像を表示できる。
【０１０２】
なお、上述の実施形態の機能（図５ないし図１２に示すフローチャートを含む）を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても達成される。この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【０１０３】
プログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【０１０４】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【０１０５】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。
【図面の簡単な説明】
【０１０６】
【図１】本発明の一実施の形態に係る印刷システムの構成を示すブロック図
【図２】プリンタ用にマッチングされたカラーでプレビュされてしまうことを説明した図
【図３】ユーザ設定画面の例
【図４】ＤＥＶＭＯＤＥのデータ構造を示した図
【図５】アプリケーションが印刷を要求する際のスプールの手順を示すフローチャート
【図６】第１実施形態でのスプールされたデータをプレビュする手順を示すフローチャート
【図７】第１実施形態でのスプールされたデータを印刷する手順を示すフローチャート
【図８】カラープロファイル１１４を選択するフローチャート
【図９】第２実施形態でのスプールされたデータをプレビュする手順を示すフローチャート
【図１０】第２実施形態でのスプールされたデータを印刷する手順を示すフローチャート
【図１１】ＧＤＩ１０２がカラープロファイルを決定する手順を示したフローチャート
【図１２】第３実施形態でのスプールされたデータをプレビュする手順を示すフローチャート
【符号の説明】
【０１０７】
１０１  アプリケーション
１０２  ＧＤＩ
１０３  ユーザインタフェースドライバ
１０４  ＥＭＦスプールファイル
１０５  プリントプロセッサ
１０６  プリンタグラフィックスドライバ
１０７  プリンタ
１０８  プレビュア
１０９  プレビュファイル
１１０  印刷結果
１１１  プレビュ結果
１１２  ディスプレイ
１１３  表示結果
１１４  カラープロファイル
【図１】
0004799206.tif 000002
【図２】
0004799206.tif 000003
【図３】
0004799206.tif 000004
【図４】
0004799206.tif 000005
【図５】
0004799206.tif 000006
【図６】
0004799206.tif 000007
【図７】
0004799206.tif 000008
【図８】
0004799206.tif 000009
【図９】
0004799206.tif 000010
【図１０】
0004799206.tif 000011
【図１１】
0004799206.tif 000012
【図１２】
0004799206.tif 000013