(57)【特許請求の範囲】
【請求項１】
印刷装置で出力される印刷データの設定項目に設定値を設定するためのプリンタドライバが複数インストールされている情報処理装置の制御方法であって、
前記複数のプリンタドライバを用いて設定される設定値を、当該複数のプリンタドライバ間で共有する機能を有するオペレーティングシステムの制御下において、
前記複数のプリンタドライバに対応する複数の印刷装置の間における出力対象となる印刷装置の切り替えに伴い、切り替え前の印刷装置に応じた設定項目と、切り替え後の印刷装置に応じた設定項目とにおいて、共通の設定項目が存在するか判定する設定項目判定工程と、
前記設定項目判定工程にて判定された共通の設定項目に関して、前記切り替え前の印刷装置におけるデフォルト設定値と、前記印刷装置の切り替えの際に設定されていた設定値とが一致するか判定する設定値判定工程と、
前記設定値判定工程にて設定値が一致しないと判定された設定項目に関して、前記印刷装置の切り替えの際に設定されていた設定値を引き継がせる引継ぎ工程と、
前記設定値判定工程にて設定値が一致すると判定された設定項目に関して、前記切り替え後の印刷装置におけるデフォルト設定値を設定する設定工程と、
予め前記印刷データに設定したい印刷設定項目と設定値を定義したプリセットを記憶する記憶工程と、
前記印刷装置の切り替えに伴い、切り替え後の印刷装置に応じた設定項目と、記憶されている前記プリセットが有する設定項目とにおいて、共通の設定項目が存在するか判定するプリセット設定項目判定工程と、
前記プリセット設定項目判定工程にて判定された共通の設定項目に関して、前記プリセットの設定値で上書きする上書き工程と
を有することを特徴とする制御方法。
【請求項２】
前記設定項目判定工程、前記設定値判定工程、前記引継ぎ工程、及び前記設定工程による前記印刷装置の切り替えに伴う設定値の変更を行う旨の指示をユーザから受け付ける第１の受付工程を更に有し、
前記第１の受付工程にて前記指示を受け付けた際に、前記設定項目判定工程、前記設定値判定工程、前記引継ぎ工程、及び前記設定工程による前記印刷装置の切り替えに伴う設定値の変更を行うことを特徴とする請求項１に記載の制御方法。
【請求項３】
前記プリセット設定項目判定工程、及び前記上書き工程による前記印刷装置の切り替えに伴う設定値の変更を行う旨の指示をユーザから受け付ける第２の受付工程を有し、
前記プリセット設定項目判定工程、及び上書き工程による前記印刷装置の切り替えに伴う設定値の変更を行うことを特徴とする請求項１または２に記載の制御方法。
【請求項４】
前記印刷装置の切り替えに伴い、前記印刷装置の切り替えの際に設定されていた設定値に変更があったことに応じて、その旨の通知を行う通知工程を有することを特徴とする請求項１乃至３のいずれか１項に記載の制御方法。
【請求項５】
印刷装置で出力される印刷データの設定項目に設定値を設定するためのプリンタドライバが複数インストールされている情報処理装置であって、
前記複数のプリンタドライバを用いて設定される設定値を、当該複数のプリンタドライバ間で共有する機能を有するオペレーティングシステムの制御下において、
前記複数のプリンタドライバに対応する複数の印刷装置の間における出力対象となる印刷装置の切り替えに伴い、切り替え前の印刷装置に応じた設定項目と、切り替え後の印刷装置に応じた設定項目とにおいて、共通の設定項目が存在するか判定する設定項目判定手段と、
前記設定項目判定手段にて判定された共通の設定項目に関して、前記切り替え前の印刷装置におけるデフォルト設定値と、前記印刷装置の切り替えの際に設定されていた設定値とが一致するか判定する設定値判定手段と、
前記設定値判定手段にて設定値が一致しないと判定された設定項目に関して、前記印刷装置の切り替えの際に設定されていた設定値を引き継がせる引継ぎ手段と、
前記設定値判定手段にて設定値が一致すると判定された設定項目に関して、前記切り替え後の印刷装置におけるデフォルト設定値を設定する設定手段と、
予め前記印刷データに設定したい印刷設定項目と設定値を定義したプリセットを記憶する記憶手段と、
前記印刷装置の切り替えに伴い、切り替え後の印刷装置に応じた設定項目と、記憶されている前記プリセットが有する設定項目とにおいて、共通の設定項目が存在するか判定するプリセット設定項目判定手段と、
前記プリセット設定項目判定手段にて判定された共通の設定項目に関して、前記プリセットの設定値で上書きする上書き手段と
を有することを特徴とする情報処理装置。
【請求項６】
コンピュータを、
複数のプリンタドライバを用いて設定される設定値を、当該複数のプリンタドライバ間で共有する機能を有するオペレーティングシステムの制御下において、
前記複数のプリンタドライバに対応する複数の印刷装置の間における出力対象となる印刷装置の切り替えに伴い、切り替え前の印刷装置に応じた設定項目と、切り替え後の印刷装置に応じた設定項目とにおいて、共通の設定項目が存在するか判定する設定項目判定手段、
前記設定項目判定手段にて判定された共通の設定項目に関して、前記切り替え前の印刷装置におけるデフォルト設定値と、前記印刷装置の切り替えの際に設定されていた設定値とが一致するか判定する設定値判定手段、
前記設定値判定手段にて設定値が一致しないと判定された設定項目に関して、前記印刷装置の切り替えの際に設定されていた設定値を引き継がせる引継ぎ手段、
前記設定値判定手段にて設定値が一致すると判定された設定項目に関して、前記切り替え後の印刷装置におけるデフォルト設定値を設定する設定手段、
予め前記印刷データに設定したい印刷設定項目と設定値を定義したプリセットを記憶する記憶手段、
前記印刷装置の切り替えに伴い、切り替え後の印刷装置に応じた設定項目と、記憶されている前記プリセットが有する設定項目とにおいて、共通の設定項目が存在するか判定するプリセット設定項目判定手段、
前記プリセット設定項目判定手段にて判定された共通の設定項目に関して、前記プリセットの設定値で上書きする上書き手段
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、プリンタドライバの設定値の引き継ぎの技術に関する。
【背景技術】
【０００２】
従来、情報処理装置に複数のプリンタドライバがインストールされている環境において、ユーザがプリンタドライバを切り替えた際の印刷設定の扱いに関して、いくつかの方法、あるいは発明が提案されている。また、複数のプリンタドライバがインストールされている情報処理装置上でプリンタドライバを切り替えた場合、オペレーティングシステム（ＯＳ）によって印刷設定に関する動作は異なっている。その動作にはいくつかの方法が存在する。
【０００３】
あるＯＳにおいては、プリンタドライバはそれぞれ独立した存在として動作する。その場合、ユーザがプリンタドライバを切り替えた場合、切り替え前のプリンタドライバの印刷設定値と切り替え後の印刷設定値は独立している。そのため、切り替え前のプリンタドライバで印刷設定値を変更したとしても、プリンタドライバの切り替え後ではその変更された印刷設定値に関しては特に考慮されることはない。このような動作を行う該ＯＳを前提とした、プリンタドライバ切り替えの際に印刷設定を引き継ぐ方法が特許文献１で提案されている。この発明では、まずプリンタドライバを切り替えた際に、切り替え前のプリンタドライバと切り替え後のプリンタドライバとが同種かどうか判定する。そして、同種と判定された場合に、切り替え前のプリンタドライバの印刷設定値を切り替え後の印刷設定値にそのまま引き渡すというものである。
【０００４】
上記とは異なる他のＯＳにおいては、一度プリンタドライバが選択されると、その後印刷が完了またはキャンセルされるまで、切り替え可能な複数のプリンタドライバに対して横断的な印刷設定をＯＳ自身が保持する。そして、ユーザがプリンタドライバを切り替える際に、該ＯＳが介在して切り替え前後のプリンタドライバの印刷設定を引き継がせて、同じ設定を共有している。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００３−１３１８３２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明が解決しようとする課題は、背景技術で説明した、プリンタドライバに対して横断的な印刷設定値をＯＳ（以下、特定のＯＳとも呼ぶ）が保持するプリントシステムを前提としている。
【０００７】
ユーザがあるプリンタドライバで印刷設定を行った後、出力対象とするプリンタがユーザの所望するものでなく、プリンタドライバを切り替える場面で、本システムのメリットが存在する。すなわち、プリンタドライバに対して横断的な印刷設定をＯＳが保持しない（それぞれのプリンタドライバで印刷設定が独立である）プリントシステムの場合、このような状況では、ユーザは切り替え後のプリンタドライバにおいて、同じ印刷設定を実現するための操作をユーザが再度行う必要がある。これに対し、本システムでは、あるプリンタドライバで行った印刷設定は、切り替え後のプリンタドライバに引き継がれるため、改めてユーザが印刷設定を実現するための操作を行う必要がない、というメリットが存在する。
【０００８】
しかし、本システムにおいて、切り替え前後のプリンタドライバで共通の印刷設定項目に関して、そのデフォルトの設定値が異なる場合、この仕組みが問題となるケースがある。例えば、モノクロ／カラー設定が可能な２つのプリンタドライバＡ、Ｂに関して、それぞれのデフォルトの設定値としてＡがモノクロ、Ｂがカラーである場合を考える。このとき、プリンタドライバ切り替え前でこのモノクロ／カラー設定に関するユーザの設定変更が行われていない。この前提において、ユーザがプリンタドライバをＡからＢに切り替えた際、プリンタドライバＢのデフォルトの設定値はカラーであるため、モノクロ／カラー設定はカラーになることが期待される。しかしながら、プリンタドライバＡの印刷設定が引き継がれてしまうため、プリンタドライバＢに切り替えた後のモノクロ／カラー設定はモノクロのままとなってしまう。
【０００９】
また、ユーザが予め印刷設定の設定項目とその設定値の組み合わせに名称をつけて保存しておくことが可能になっており、これをプリセットと呼称する。プリセットを設定している場合、ユーザは容易に予め定義した印刷設定で出力することが可能になる。しかし、プリセットを設定した後、プリンタドライバを切り替えた場合に、プリセットの設定の一部が無効となってしまうケースが発生する。例えば、カラー／モノクロ設定において、あるプリセットのモノクロ／カラー設定がカラーであり、プリンタドライバＡはモノクロ／カラーが選択可能であり、プリンタドライバＢはモノクロ専用である場合を考える。この場合、ユーザがはじめにプリンタドライバＡにおいて、そのプリセットを適用した際、モノクロ／カラー設定はカラーであり、これはユーザの意図に沿ったものになっている。この状況で、プリンタドライバをＢに切り替え、さらにその後でＡに戻す場合を考える。プリンタドライバをＢに切り替えた際、モノクロ／カラー設定は強制的にモノクロに設定されてしまい、その後でプリンタドライバＡに戻しても、そのモノクロの設定が引き継がれてしまう。そのため、プリセットはカラーを意図したものであるにもかかわらず、その状態で印刷を行うとモノクロで出力されてしまう。
【００１０】
つまり、ユーザの設定変更なしに、プリンタドライバを何度か切り替えを行ううちに、想定外の印刷設定が行われてしまう可能性があった。
【００１１】
このように、特定のＯＳの仕様により、異なるプリンタドライバ間で印刷設定が引き継がれてしまうことは、ユーザの意図に反した設定で印刷が行われたり、各設定項目の設定値を注意深く確認して設定しなおす必要が出たりといった不利益な状況が発生しうる。そのため、使い勝手や効率性が損なわれるという課題があった。
【００１２】
本発明は、プリンタドライバに対して横断的な印刷設定を特定のＯＳが保持する環境下において、上記の課題を解決することを目的とする。
【課題を解決するための手段】
【００１３】
上記課題を解決するために本発明は以下の構成を有する。印刷装置で出力される印刷データの設定項目に設定値を設定するためのプリンタドライバが複数インストールされている情報処理装置の制御方法であって、前記複数のプリンタドライバを用いて設定される設定値を、当該複数のプリンタドライバ間で共有する機能を有するオペレーティングシステムの制御下において、前記複数のプリンタドライバに対応する複数の印刷装置の間における出力対象となる印刷装置の切り替えに伴い、切り替え前の印刷装置に応じた設定項目と、切り替え後の印刷装置に応じた設定項目とにおいて、共通の設定項目が存在するか判定する設定項目判定工程と、前記設定項目判定工程にて判定された共通の設定項目に関して、前記切り替え前の印刷装置におけるデフォルト設定値と、前記印刷装置の切り替えの際に設定されていた設定値とが一致するか判定する設定値判定工程と、前記設定値判定工程にて設定値が一致しないと判定された設定項目に関して、前記印刷装置の切り替えの際に設定されていた設定値を引き継がせる引継ぎ工程と、前記設定値判定工程にて設定値が一致すると判定された設定項目に関して、前記切り替え後の印刷装置におけるデフォルト設定値を設定する設定工程と、予め前記印刷データに設定したい印刷設定項目と設定値を定義したプリセットを記憶する記憶工程と、前記印刷装置の切り替えに伴い、切り替え後の印刷装置に応じた設定項目と、記憶されている前記プリセットが有する設定項目とにおいて、共通の設定項目が存在するか判定するプリセット設定項目判定工程と、前記プリセット設定項目判定工程にて判定された共通の設定項目に関して、前記プリセットの設定値で上書きする上書き工程とを有する。
【発明の効果】
【００１４】
本発明により、特定のＯＳを用いる環境下であっても、出力対象のプリンタの切り替えに際して、印刷設定に関するユーザの意図を反映した柔軟な印刷設定の引き継ぎが可能となる。
【図面の簡単な説明】
【００１５】
【図１】本実施形態に係る印刷システムの構成の例図。
【図２】本実施形態に係るクライアントコンピュータのブロック図。
【図３】本実施形態に係るプリンタドライバのモジュール構成図。
【図４】本実施形態に係るプリンタドライバのインストール方法のフロー図。
【図５】本実施形態に係るプリントキュー登録方法のフロー図。
【図６】本実施形態に係るプリントキュー登録ＵＩの例図。
【図７】本実施形態に係るプリンタドライバシステム構成図。
【図８】本実施形態に係る定義ファイルの例図。
【図９】本実施形態に係る登録されたプリンタ仕様記述ファイルの例図。
【図１０】本実施形態に係る印刷設定ダイアログの例図。
【図１１】本実施形態に係る定義ファイルの例図。
【図１２】本実施形態に係る印刷処理のフロー図。
【図１３】本実施形態に係る印刷設定の引き継ぎ処理のフロー図。
【図１４】本実施形態に係る引き継ぎ例における前提条件を示した図。
【図１５】本実施形態に係るダイアログの図である。
【図１６】第二の実施形態に係る印刷設定の引き継ぎ処理のフロー図。
【図１７】第三の実施形態に係る印刷設定の引き継ぎ処理のフロー図。
【発明を実施するための形態】
【００１６】
＜第一の実施形態＞
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１７】
［システム構成］
図１は本発明のプリンタドライバの設定値引き継ぎ方法を実現するための印刷システムの一例である。コンピュータネットワーク１０４は、情報処理装置であるクライアントコンピュータ１０１とネットワークプリンタ１０２及び１０３が接続される。クライアントコンピュータ１０１にはオペレーティングシステム（以下、ＯＳと省略）、アプリケーション及びプリンタドライバが複数インストールされている。このプリントシステムにより、ユーザはクライアントコンピュータ１０１からユーザデータをネットワークプリンタ１０２あるいは１０３に送信し印刷することができる。
【００１８】
図２はクライアントコンピュータ１０１の内部ブロック図である。図中のクライアントコンピュータ２０１はクライアントコンピュータ１０１と同一である。クライアントコンピュータ内部は、中央演算装置（ＣＰＵ）２０３、揮発性メモリであるＲＡＭ２０４、不揮発性メモリであるＲＯＭ２０５、キーボードコントローラ２０６、マウスコントローラ２０７、ビデオコントローラ２０８、外部記憶装置コントローラ２０９、外部メディア装置コントローラ２１０、ネットワークＩ／Ｆコントローラ２１１から構成される。また、ユーザがクライアントコンピュータ２０１を操作するためのキーボード２１２及びマウス２１３は、それぞれクライアントコンピュータ２０１のキーボードコントローラ２０６及びマウスコントローラ２０７に接続される。表示装置２１４はクライアントコンピュータ２０１のビデオコントローラ２０８に接続される。また大容量のデータを保存するための不揮発性の外部記憶装置２１５は外部記憶装置コントローラ２０９に接続され、アプリケーションやデータの読み書きが行われる。また、外部メディア装置コントローラ２１０は、アプリケーションやドライバソフトウエアなどが外部メディア（ＣＤ−ＲＯＭやＤＶＤ−ＲＯＭなど）などで提供されているとき、ユーザから外部メディア読み取り装置２１６に外部メディアをセットされ、プログラムを読み込むことができる。尚、図１で説明したコンピュータネットワーク１０４は、ネットワークＩ／Ｆコントローラ２１１に接続され、他の機器と通信が行われる。
【００１９】
通常、クライアントコンピュータ２０１を起動するための初期プログラムやクライアントコンピュータ２０１の各モジュールを制御するための基本的なプログラムはＲＯＭ２０５に保存されている。またＯＳやアプリケーション、プリンタドライバは外部記憶装置２１５に保存されている。クライアントコンピュータ２０１の電源が投入されると、まずＲＯＭ２０５に保存されているコンピュータを起動するためのプログラム（ブートローダ）が実行される。そして、そのプログラムが外部記憶装置２１５に保存されているＯＳをＲＡＭ２０４にロードし、その後、制御権をＯＳに渡す。ＯＳは必要なモジュールやドライバをさらに外部記憶装置２１５からＲＡＭ２０４に読み込む。さらにユーザの指示により、必要なアプリケーションを外部記憶装置２１５からＲＡＭ２０４に読み込み、実行する。本実施形態で説明する、プリンタドライバ及びプリンタドライバのインストーラはＣＤ−ＲＯＭなどの外部メディアで供給されるものとし、外部メディア読み取り装置２１６に外部メディアをセットされる。そして、ＣＰＵ２０３が必要に応じてＲＡＭ２０４に読み込んだり、外部記憶装置２１５に保存したりする。尚、本願発明においては前提として用いるＯＳとしては、例えばＡｐｐｌｅ社製の“Ｍａｃ  ＯＳ  Ｘ”（登録商標）などが挙げられる。
【００２０】
［プリンタドライバインストール及びプリントキュー登録］
次に図３を用いて、プリンタドライバについて説明する。プリンタドライバは図３に示すようなモジュール群で構成されている。プリンタドライバ３０１は、グラフィックレンダリングモジュール３０２、ＵＩ制御モジュール３０３、プリンタ仕様記述ファイル３０４、色処理モジュール３０５、入出力制御モジュール３０６から構成される。尚、この構成に限定されるわけではなく、プリンタドライバの機能によってはこの他のモジュールから構成されることもある。
【００２１】
プリンタドライバはいくつかの作成の方法がある。例えば、ひとつのプリンタドライバで複数のプリンタを対応するために、グラフィックレンダリングモジュール３０２、及びＵＩ制御モジュール３０３を複数のプリンタに対応できるように作成しておく。また、プリンタ仕様記述ファイル３０４に関しては、対応するプリンタに応じて、プリンタドライバに同梱しておく、という方法である。このような方法では、ＵＩ制御モジュール３０３はプリンタ仕様記述ファイル３０４に合わせてＵＩを表示、もしくは制御する。またグラフィックレンダリングモジュール３０２は各プリンタに合わせたページ記述言語及びプリンタ制御コマンドを発行するような構成となる。
【００２２】
次に図４を用いて、上記構成のプリンタドライバをクライアントコンピュータ２０１へインストールする手順を説明する。ユーザはプリンタドライバが格納されたＣＤ−ＲＯＭなどの記憶媒体を準備するか、ネットワーク経由でプリンタドライバインストーラを入手しているものとする。Ｓ４０１において、ユーザは入手したプリンタドライバインストーラを起動する。この動作を起因としてＳ４０２において、インストーラはプリンタドライバモジュールを外部記憶装置の所定の場所に格納する。格納場所は印刷システムによって異なるが、一例として、ＣＵＰＳ（Ｃｏｍｍｏｎ  Ｕｎｉｘ  Ｐｒｉｎｔｉｎｇ  Ｓｙｓｔｅｍ）では、以下のディレクトリ配下にベンダーごとのプリンタドライバモジュールを格納する設定となっている。
／Ｌｉｂｒａｒｙ／Ｐｒｉｎｔｅｒｓ／
【００２３】
さらにベンダー毎のディレクトリの配下に、さらにプリンタドライバの種類に分けて格納することも可能である。例えば、ＡＢＣというベンダーのＰＤＬ１とＰＤＬ２という異なるプリンタドライバがあるとき、それぞれ、以下のようなディレクトリを作成して、そのディレクトリ配下にプリンタドライバを格納することが可能である。
／Ｌｉｂｒａｒｙ／Ｐｒｉｎｔｅｒｓ／ＡＢＣ／ＰＤＬ１／
／Ｌｉｂｒａｒｙ／Ｐｒｉｎｔｅｒｓ／ＡＢＣ／ＰＤＬ２／
【００２４】
次に、Ｓ４０２ではプリンタドライバモジュールを外部記憶装置２１５の上記ディレクトリに格納する。これでプリンタドライバのインストールは完了するが、実際に所望のプリンタにおいて出力するには、ユーザは例えばＯＳの提供するプリントキューを登録のためのプログラムを使用して所望のプリンタに対応するプリントキューを登録する必要がある。
【００２５】
図５はプリントキューを登録する手順を示したものである。この手順に沿って、必要な図を用いながら処理の流れを説明する。
【００２６】
Ｓ５０１において、ユーザはプリントキューを登録するためのプリンタ登録ダイアログ６０１を開く。このステップにおいて、ＯＳはプリンタ登録のためのプログラムコードを外部記憶装置２１５からＲＡＭ２０４に読み出して実行する。図６（ａ）はＯＳが表示するプリンタ登録ダイアログにおけるユーザインターフェース（以下、ＵＩ）の一例を示したものである。このダイアログには、現在プリントキューが登録されているプリンタ一覧を表示するための登録プリントリスト６０２、登録プリントリスト６０２で選択されているプリンタの詳細情報を表示するプリントキュー詳細表示領域６０３を有する。また、プリントキューを新たに追加するためのプリントキュー追加ボタン６０４、現在登録プリントリスト６０２で選択されているプリントキューを削除するためのボタン６０５、本ダイアログを閉じるためのボタン６０６を有する。
【００２７】
次にＳ５０２において、ユーザはプリンタ登録ダイアログ６０１のプリントキュー追加ボタン６０４をクリックする。このユーザ操作により、Ｓ５０３において、ＯＳはプリンタ追加ダイアログ７０１を表示する。ここで表示されたプリンタ追加ダイアログ７０１に対して、ユーザはＳ５０４おいて、必要な情報を入力、プリンタの追加を行う。図６（ｂ）はＯＳが表示するプリンタ追加ダイアログを示したものである。プリンタ追加ダイアログ７０１において、接続されているプリンタのネットワークアドレス（この例ではＩＰアドレス）を指定する設定欄７０２、プリントキューを識別するための名前を入力する設定欄７０３、プリンタが設置されている場所を入力する設定欄７０４を有する。名前７０３及びプリンタの場所７０４は、プリンタ登録ダイアログの登録プリントリスト６０２及びプリントキュー詳細表示領域６０３に表示する際に使用される文字列となる。また、プリンタ追加ダイアログ７０１は、プリントキューを登録する際に使用するプリンタドライバを指定する設定欄７０５を有する。尚、ここで示したプリンタ追加ダイアログ７０１の構成は一例であり、必要に応じて追加の情報（例えば、ライセンスキーの情報など）を入力してもよい。登録されたプリントキューは、図６（ａ）にて示した登録プリントリストにて表示される。設定欄７０５では、先に説明したＯＳのプリンタドライバ格納ディレクトリ（／Ｌｉｂｒａｒｙ／Ｐｒｉｎｔｅｒｓ／）配下に格納されているプリンタドライバがＯＳによりリストされる。
【００２８】
図６（ｂ）の例では、ＩＰアドレスが“１９２．１６８．１．１０”、プリンタの名前が“ＰｒｉｎｔｅｒＣ”、プリンタの場所が“２Ｆ”、またプリンタドライバとして“ＡＢＣ  ＰＤＬ１”を選択している状態である。この状態で追加ボタン７０６をクリックすると、ＯＳはプリントキューの追加を行う。これにより利用できるプリンタとして、追加登録されることになる。尚、追加を行わないでこのダイアログを閉じる場合はボタン７０７をクリックする。
【００２９】
次にＳ５０５において、ＯＳはユーザが指定したプリントキューとプリンタ仕様記述ファイルをシステムに登録する。このステップについて、図７〜図１６を使用して詳細な説明を行う。
【００３０】
図７はすでにプリントキューが登録された状態を示すシステムブロック図である。図７において、グラフィックレンダリングモジュール８０３は前述した手順によりＯＳの所定のディレクトリ（／Ｌｉｂｒａｒｙ／Ｐｒｉｎｔｅｒｓ／）配下に格納されたプリンタドライバのグラフィックレンダリングモジュール３０２である。同様に、ＵＩ制御モジュール８０５は、インストールされたプリンタドライバのＵＩ制御モジュール３０３である。色処理モジュール８０４は、インストールされたプリンタドライバの色処理モジュール３０５である。入出力制御モジュール８０８は、インストールされたプリンタドライバの入出力制御モジュール３０６である。また、プリンタ仕様記述ファイル８０６は、インストールされたプリンタドライバのプリンタ仕様記述ファイル３０４である。尚バックエンドモジュール８０７は、ＯＳが提供するものであり、グラフィックレンダリングモジュール８０３が生成した印刷データを、プリンタへ送信するための入出力制御モジュール８０８へ受け渡しするためのモジュールである。また、登録プリントキュー情報８０９、プリンタ仕様記述ファイル８１０、プリントキュー設定ファイル８１１は、図５のプリンタ登録の過程でＯＳが生成するものであり、以下その詳細を説明する。
【００３１】
Ｓ５０５において、ＯＳ８０２はプリンタ追加ダイアログ７０１の情報を取得し、プリントキューの登録処理を行う。この登録は以下のように実行される。図８（ａ）は登録するプリントキューの情報が記述されたファイルであり、マークアップ言語で記述している。行９０１はプリントキューの識別子を示し、プリンタ名とプリンタのアドレスをアンダースコアでつなげて記述している。行９０２、９０３にはそれぞれ、プリンタの名前、場所が記述されている。更に行９０４には、プリントキューのアドレスの記述であり、この例ではｌｐｄプロトコルにより１９２．１６８．１．１０のアドレスに送信することとなる。また、行９０５は、このプリンタが使用するプリンタドライバ名（ここではＡＢＣ  ＰＤＬ１）が記述されている。行９０６は、行９０１に対応し、記述が終了することを示している。ＯＳはＳ５０５においてこの記述ファイルを作成し、このプリンタの登録情報を外部記憶装置２１５の所定のファイルに追記する。ここでの所定のファイルとは、例えばＣＵＰＳ（Ｃｏｍｍｏｎ  Ｕｎｉｘ  Ｐｒｉｎｔｉｎｇ  Ｓｙｓｔｅｍ）では、／ｅｔｃ／ｃｕｐｓ／ディレクトリに格納されているｐｒｉｎｔｅｒｓ．ｃｏｎｆファイルに記述することとなる。これが登録プリントキュー情報８０９となる。尚、複数のプリントキューが登録されている場合、ｐｒｉｎｔｅｒｓ．ｃｏｎｆにはそのプリントキューごとに、それぞれのプリンタに対応する図８（ａ）の記述が繰り返されることになる。
【００３２】
続いてＳ５０５においてＯＳはプリンタ仕様記述ファイルをシステムに登録する。図７においてＯＳ８０２はプリンタドライバのＵＩ制御モジュールから、登録するプリンタのプリンタ仕様記述ファイル８０６を取得し、その後生成したプリンタ仕様記述ファイル８１０をシステムの所定の箇所に登録する。
【００３３】
プリンタ仕様記述ファイル８１０の登録の方法を説明する前に、プリンタ仕様記述ファイルの説明を行う。図８（ｂ）はプリンタ仕様記述ファイルの一例を示したものである。このファイルはプリンタの仕様記述フォーマットに沿って記述される。以下、フォーマットも踏まえながら説明する。
【００３４】
行１００１は、コメントを記述している。コメントは行頭が“＊％”となっている。行１００２はベンダー名を記述している。行１００３はこのプリンタ仕様記述ファイルが対応するプリンタ名を記述している。行１００４はこのプリンタ仕様記述ファイルが対応しているページ記述言語を記述している。行１００５はプリンタドライバのバージョンを記述している。行１００６以降に、このプリンタの機能仕様が記述されている。機能仕様は、行１００６から行１０１０までがひとつの機能となっている。
【００３５】
行１００６において、“＊ＯｐｅｎＵＩ”の後ろには“＊”を先頭に付加した機能名、機能名の後には“：”で区切り、その機能の選択する際の印刷設定値の種類を示す。この印刷設定値の種類には、“ＰｉｃｋＯｎｅ”と“Ｂｏｏｌｅａｎ”があり、“ＰｉｃｋＯｎｅ”は選択肢の中からひとつを選択する機能であることを表している。また、“Ｂｏｏｌｅａｎ”はこの機能がＯｎ／Ｏｆｆで制御されることを表している。
【００３６】
行１００６では、“＊ＰａｇｅＳｉｚｅ”という機能があり、この機能は選択肢の中からひとつを選択するものであることを表している。行１００７にはこの機能のデフォルト設定値（以下、デフォルト値）を記述する。この行は“＊Ｄｅｆａｕｌｔ”で始まり、この後に続けて前の行１００６で定義した機能名を付加する。この行では、“ＰａｇｅＳｉｚｅ”という機能のデフォルト値が“Ａ４”であることを示している。行１００７から行１０１０の“＊ＣｌｏｓｅＵＩ”まではこの機能の選択肢を１行に１選択肢記述する。例えば、行１００８では、“ＰａｇｅＳｉｚｅ”の選択肢のひとつとして“Ａ３”があることを表している。尚、これはページサイズを選択する機能を記述しており、ページサイズは選択肢が多いため途中を省略している。この機能の最後の記述は行１０１０であり、“＊ＣｌｏｓｅＵＩ”の後に“＊ＯｐｅｎＵＩ”で記述した機能名を記述する。これでひとつの機能が表現されている。
【００３７】
続いて、行１０１１から行１０１６までは別の機能の記述である。重複する説明は省略するが、このブロックでは、“Ｄｕｐｌｅｘ”という機能があり、どれかひとつの選択肢を選択するもの（ＰｉｃｋＯｎｅ）であり、選択肢はＮｏｎｅ、Ｓｉｍｐｌｅｘ、Ｄｕｐｌｅｘから選択することを表している。実際にはこれは両面印刷指定の機能を表現したものであり、Ｎｏｎｅは指定しないためプリンタのデフォルト設定に従い、Ｓｉｍｐｌｅｘは片面、Ｄｕｐｌｅｘは両面印刷を意味する。
【００３８】
次に、ＯＳがこのプリンタ仕様記述ファイルを登録する方法について説明する。ＯＳはプリンタに対応するこのプリンタ仕様記述ファイル８０６をＵＩ制御モジュール８０５から取得し、システムの所定の場所に格納する。図９は格納場所とそのファイルを示したものである。格納場所は外部記憶装置２１５の／ｅｔｃ／ｃｕｐｓ／ｐｐｄ／ディレクトリ配下であり、格納するファイルはファイル名としてプリンタの名前とその後、アンダースコア（＿）に続いてプリンタのアドレスを付加したファイル名としている。例えば、ここで追加したプリンタ仕様記述ファイルは、行１１０４の“ＰｒｉｎｔｅｒＣ＿１９２．１６８．１．１０＿．ｐｐｄ”となっている。図７において、ＯＳ８０２はプリンタ仕様記述ファイルをプリンタ仕様記述ファイル８１０に格納していることを示している。以上のステップにより、プリントキューの登録が完了する。
【００３９】
［プリントキュー及びプリセット設定］
続いて、プリントキュー及びプリセットの設定について説明する。図１０は登録したプリントキューの印刷設定に関する画面を示している。この画面は、例えば、アプリケーションのファイルメニューなどに「プリント」というメニューがあり、その「プリント」を選択したときに表示されるダイアログである。
【００４０】
プリント設定ダイアログ１２０１において、設定欄１２０２〜１２０５は、システムが共通で提供する。ここでは出力対象のプリンタ（プリントキュー）の選択、後述するプリセットの選択、基本的な機能である部数の設定や用紙サイズの指定が可能となっている。各種プリンタに固有の機能は、さらに追加で設定が可能となっている。このプリンタの機能が数多くある場合、すべての機能を一度に表示せずに、例えば、設定欄１２０６で機能のグループを切り替える方法がある。ここでは一例として「仕上げ」に関連する機能を表示している状態を示したものである。仕上げ関連の機能としては、設定欄１２０７の片面／両面指定、設定欄１２０８のステイプル指定、設定欄１２０９の製本印刷指定がある。尚、ここで挙げた機能に限定するわけではなく、他にもさまざまな機能があり、それは他のグループを設定欄１２０６で指定することにより表示切り替えが可能となっている。また、ダイアログの構成もここで示したものに限定するものではなく、必要に応じて追加、削除してもかまわない。
【００４１】
プリント設定ダイアログ１２０１において、ユーザが出力先のプリンタを切り替えたい場合、プリント選択設定欄１２０２により切り替えを行う。プリント設定ダイアログ１２０１では現在プリントキュー“ＰｒｉｎｔｅｒＡ”が選択されているが、この設定欄１２０２において、例えばＰｒｉｎｔｅｒＢを選択すると、プリントキュー“ＰｒｉｎｔｅｒＢ”が選択された状態となる。その状態でプリントボタン１２１０をクリックすると、ＰｒｉｎｔｅｒＢに印刷出力されることになる。
【００４２】
次に、ＯＳが保存するデフォルトの設定及びプリセットに関して説明する。図１１（ａ）はデフォルト選択されているプリントキュー（プリンタ）を保存するファイルである。行１３０１及び行１３０３は、デフォルトのプリントキューを示すための記述である。デフォルト選択されているプリントキューはこのタグ内に“ＤｅｆａｕｌｔＰｒｉｎｔＱｕｅｕｅ”のキーで記述し、行１３０２では“ＰｒｉｎｔｅｒＡ”が選択されていることを示す。尚、このファイルはユーザ毎に保存されるため、以下のディレクトリに“ｄｅｆａｕｌｔｐｒｉｎｔｅｒ．ｐｌｉｓｔ”というファイル名で保存されている（ユーザ名がＵＳＥＲ＿Ａの場合）。
／Ｕｓｅｒｓ／ＵＳＥＲ＿Ａ／Ｌｉｂｒａｒｙ／Ｐｒｅｆｅｒｅｎｃｅｓ／
【００４３】
図１１（ｂ）はプリセットの設定内容を保存するファイルである。プリセットとは、ユーザが頻繁に使用する印刷設定に特定の名称をつけて保存しておくものである。例えば、あるプリントキューのデフォルト設定は、片面、及び１−ｕｐ印刷である。ここでユーザが、両面、及び２−ｕｐ印刷をよく使用する場合、プリント設定ダイアログ１２０１を開き、両面、及び２−ｕｐに設定した後にプリセットとして適当な名称をつけて保存しておく。ユーザはこの設定を使用したい場合に、プリセット選択設定欄１２０３で保存したプリセットを選択することで、保存した設定が再現される。以下にこのプリセットの設定保存に関して説明する。
【００４４】
図１１（ｂ）において、行１４０１及び行１４１０に対応して記述された“ＣｕｓｔｏｍＰｒｅｓｅｔＬｉｓｔ”タグの間に複数のプリセットの設定内容を記述する。ひとつのプリセットは、行１４０２及び行１４０３に記述されているように“ＰｒｅｓｅｔＳｅｔｔｉｎｇｓ”というタグ内に記述する。尚、“ＰｒｅｓｅｔＳｅｔｔｉｎｇｓ”のパラメータとして、そのプリセット名を記述することとする。行１４０２及び行１４０３で示されるプリセットは、プリセット名が“Ｓｔａｎｄａｒｄ”、このプリセットの設定内容は“ＮＵＬＬ”であることを記述している。図１１（ｂ）のプリセット記述ファイルにはもう一組のプリセットが記述されており、行１４０４〜行１４０９に記述されている“Ｐｒｅｓｅｔ１”という名称のプリセットである。このプリセットの設定内容は行１４０５から行１４０７に記述されている。行１４０５はＣｏｌｏｒＭｏｄｅが“Ｃｏｌｏｒ”、行１４０６はＤｕｐｌｅｘが“Ｓｉｍｐｌｅｘ”、行１４０７はＲｅｓｏｌｕｔｉｏｎが“６００”、行１４０８はＬａｓｔＱｕｅｕｅが“ＮＵＬＬ”であることを示している。尚、各項目の前に“ＡＢＣ．”という識別子が付いている。これは、プリセットをＯＳが管理しており、ベンダー共通で使用されるため、設定項目をベンダー毎に区別するためにつけていることによる。以上説明したようにこのプリセット記述ファイルにより、プリセットの種類及び各プリセットの設定内容が分かる。
【００４５】
図１１（ｃ）はデフォルトのプリセットを示すファイルである。このファイルは図１１（ｂ）のファイルと同じ／Ｕｓｅｒｓ／ＵＳＥＲ＿Ａ／Ｌｉｂｒａｒｙ／Ｐｒｅｆｅｒｅｎｃｅｓ／ディレクトリ配下に“ｄｅｆａｕｌｔｐｒｅｓｅｔ．ｐｌｉｓｔ”として保存されているものとする。デフォルトのプリセットは、行１５０１及び行１５０３の“ＰｒｅｓｅｔＩｎｆｏ”というタグの間に記述される。図１１（ｃ）では、行１５０２に記述されているように“Ｐｒｅｓｅｔ１”という名前のプリセットがデフォルトとして選択されていることを示す。
【００４６】
次に図１１（ｄ）は、ＯＳが保持している印刷設定である。この設定はアプリケーションのプロセス毎にＲＡＭ２０４に保存され、ＯＳのＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）経由でプリントキューとやり取りされる。図１１（ｄ）において、行１６０１及び行１６１３内に印刷設定内容を記述する。行１６０２及び１６０４の“ＣｕｒｒｅｎｔＰｒｉｎｔＱｕｅｕｅＩｎｆｏ”タグ内には、現在選択されているプリントキューが記述される。行１６０３ではプリントキューとして“ＰｒｉｎｔｅｒＣ”が記述され、このプリントキューが選択されていることが分かる。行１６０５及び行１６０７の“ＣｕｒｒｅｎｔＰｒｅｓｅｔＩｎｆｏ”タグ内には、現在選択されているプリセットが記述される。行１６０６ではプリセットとして“Ｓｔａｎｄａｒｄ”が記述され、このプリセットが選択されていることが分かる。また、行１６０８及び行１６１３の間には現在設定されている印刷設定が記述される。記述方法は図１１（ｂ）の各プリセットの印刷設定と同様であるため説明は省略する。ＯＳはアプリケーションプロセス毎に、図１１（ｄ）の印刷設定を構築する。以上により、印刷項目及び設定値の入出力機能を有するＯＳの制御下において、プリンタドライバ間での情報の共有が行われる。
【００４７】
［印刷時の手順］
続いて、ユーザが印刷を行う際のフローを説明する。図１２は印刷処理を示したフローチャートである。
【００４８】
印刷処理を開始すると、システム（ＯＳ）は、図１１（ａ）のデフォルト選択されているプリントキューを保存するファイルと、図１１（ｃ）のデフォルトのプリセットを示すファイルを参照し、デフォルトのプリントキューとデフォルトのプリセットを取得する（Ｓ１７０１）。そして、取得したプリントキュー及びプリセットを図１１（ｄ）で示した印刷設定に記述する（Ｓ１７０２）。そして、システムはデフォルトのプリセットが「Ｓｔａｎｄａｒｄ」であるか否かを判定する（Ｓ１７０３）。尚、ここでいう「Ｓｔａｎｄａｒｄ」とは、特定のプリセットを指すのではなく、プリセットを何も指定しないことを意味する。デフォルトのプリセットがＳｔａｎｄａｒｄである場合（Ｓ１７０３にてＹｅｓ）、システムは図８（ｂ）で示したプリンタ仕様記述ファイルを参照し、デフォルトのプリントキューにおけるデフォルト値を取得する（Ｓ１７０４）。そして、取得した値を、現在の設定として、図１１（ｄ）で示した印刷設定に記述する（Ｓ１７０５）。
【００４９】
一方、デフォルトのプリセットがＳｔａｎｄａｒｄでない場合（Ｓ１７０３にてＮｏ）、システムは図１１（ｂ）で示したプリセットの設定内容を保存するファイルを参照し、デフォルトのプリセットの値を取得する（Ｓ１７０６）。そして、取得した値を、現在の設定として、図１１（ｄ）の印刷設定に記述する（Ｓ１７０７）。
【００５０】
このように最初に表示すべき印刷設定が構築された後、システムはこの印刷設定に基づき図１０で示したプリント設定ダイアログ１２０１を表示する（Ｓ１７０８）。プリント設定ダイアログ１２０１が表示された後、ユーザからの任意の印刷設定の変更を受け付ける（Ｓ１７０９）。これにより第１の受付工程を実現する。Ｓ１７０９では、印刷設定の設定値の変更以外にも、プリントキューの再選択といった指示も受け付け、切り替え後の設定項目及び設定値の設定画面を表示する。このプリントキューの切り替えにおける、切り替え前後における設定値の引継ぎ処理に関しては、図１３を用いて詳細に後述する。
【００５１】
その後、ユーザからの指示に基づいて、印刷を実行するか否かを判定する（Ｓ１７１０）。印刷を実行すると判定した場合（Ｓ１７１０にてＹｅｓ）は、システムは印刷設定に基づき印刷処理を行う（Ｓ１７１１）。そして、図１１（ｃ）のデフォルトのプリセットを示すファイルをその時のプリセットで更新する（Ｓ１７１２）。そして、印刷設定を破棄して、印刷ダイアログを終了する（Ｓ１７１３）。一方、印刷を実行せずキャンセルする場合（Ｓ１７１０にてＮｏ）は、印刷設定を破棄して、印刷ダイアログを終了する（Ｓ１７１４）。
【００５２】
［印刷設定の引き継ぎ方法］
ここでは、本願発明において特に特徴的な技術である、図１２のＳ１７０９において、ユーザがプリント設定ダイアログ１２０１で、プリントキューを切り替えた際に、印刷設定をどのように引き継ぐかについて説明する。
【００５３】
図１３は印刷設定の引き継ぎ処理を示したフローチャートである。ここでは、プリンタドライバプログラムがＣＰＵにより実行されることにより実現されるモジュールを、プリンタドライバと呼んでいる。
【００５４】
まず、プリントキューに関する処理を説明する。
【００５５】
Ｓ１８０１において、ユーザから図１０のプリントキュー選択設定欄１２０２を介してプリントキューの切り替えを受け付ける。そしてＳ１８０２において、それまで選択されていたプリントキューのプリンタドライバは、切り替え前のプリントキューの情報を図１１（ｄ）にて示した印刷設定に対応するの行１６１２に記述する。
【００５６】
その後、Ｓ１８０３において、システムにより切り替え後のプリントキューのプリンタドライバが起動される。このとき図１１（ｄ）におけるプリントキューを示す行１６０３の情報を更新する。また、それ以外の印刷設定は、プリントキューの切り替え前の設定値がそのまま引き継がれる。
【００５７】
Ｓ１８０４において、プリンタドライバは切り替え後のプリントキューのプリンタ仕様記述ファイル（図８（ｂ））を参照し、切り替え後のプリントキューの設定項目を取得する。そして、Ｓ１８０５において、切り替え前のプリントキューの設定項目と、切り替え後のプリントキューの設定項目を比較し、共通の設定項目が存在するか判定する。これにより、設定項目判定の処理を実現する。
【００５８】
ここで共通の設定項目が存在すると判定すると（Ｓ１８０５でＹｅｓ）、Ｓ１８０６において、プリンタドライバは切り替え前のプリントキューのプリンタ仕様記述ファイル（図８（ｂ））を参照し、切り替え前のプリントキューのデフォルト値を取得する。尚、切り替え前のプリントキューの情報は、図１１（ｄ）にて示した印刷設定の行１６１２を参照することで得られる。そしてＳ１８０７において、共通項目に関して、切り替え前のプリントキューのデフォルト値と現在の設定値とを比較する。
【００５９】
ここでの「現在の設定値」とは切り替え前のプリントキューにおいて、切り替える際に設定されていた各設定項目の設定値を意味する。これにより設定値判定の処理を実現する。
【００６０】
ここでの設定値の比較の結果、設定値が一致しない設定項目が存在する場合（Ｓ１８０７でＮｏ）、Ｓ１８０８において、設定値が一致しない設定項目に関してはそのまま現在の設定値を引き継ぐ。そして、設定値が一致しない設定項目以外は、切り替え後のプリントキューのプリンタ仕様記述ファイル（図８（ｂ））を参照し、切り替え後のプリントキューのデフォルト値で図１１（ｄ）の印刷設定の当該部分を更新する。尚、切り替え後のプリントキューの情報は、印刷設定の対応する部分である行１６０３を参照することで得られる。そして、Ｓ１８１０へ進む。
【００６１】
Ｓ１８０５でＮｏ、またはＳ１８０７でＹｅｓと判定された場合は、Ｓ１８０９において、プリンタドライバは切り替え後のプリントキューのデフォルト値で印刷設定を更新する。その後、Ｓ１８１０へ進む。
【００６２】
続いて、プリセットに関する処理を説明する。Ｓ１８１０において、プリンタドライバは図１１（ｄ）にて示した印刷設定の行１６０６を参照することで、現在のプリセットを取得する。ここでの「現在のプリセット」とは、ＯＳにて保持している当該プリンタドライバにて適用するように設定されているプリセットを意味する。そしてＳ１８１１において、現在のプリセットがＳｔａｎｄａｒｄであるか否かを判定する。これにより、プリセット判定工程を実現する。
【００６３】
ここで、プリセットがＳｔａｎｄａｒｄでないと判定すると（Ｓ１８１１でＮｏ）、Ｓ１８１２において、プリンタドライバは現在のプリセットの印刷設定を図１１（ｃ）のプリセット記述ファイルを参照し取得する。そしてＳ１８１３において、切り替え後のプリントキューの設定項目と、現在のプリセットの設定項目を比較し、共通の設定項目が存在するか判定する。これによりプリセット設定項目判定の処理を実現する。
【００６４】
ここで、共通の設定項目が存在する場合（Ｓ１８１３でＹｅｓ）、Ｓ１８１４において、プリンタドライバは共通の印刷設定項目に関して、Ｓ１８１２で取得した現在のプリセットの設定値で図１１（ｄ）の印刷設定の当該部分を上書きして更新する。尚、Ｓ１８１１でＹｅｓ、またはＳ１８１３でＮｏと判定された場合、プリセットに関する処理は行わず、Ｓ１８１５へ進む。
【００６５】
Ｓ１８１５において、プリンタドライバは、図１１（ｄ）にて示した印刷設定から切り替え前のプリントキューの情報に対応する行１６１２を“ＮＵＬＬ”で更新する。
【００６６】
［設定値の引き継ぎに関する具体例］
ここでは、具体的なプリントキューとプリセットの例を用いて、上記引き継ぎ方法を説明する。その際プリントキューとプリセットに関する前提条件を、それぞれ図１４（ａ）、（ｂ）に示す。
【００６７】
図１４（ａ）において、プリントキューはプリントキュー１９０１の“ＰｒｉｎｔｅｒＡ”、プリントキュー１９０２の“ＰｒｉｎｔｅｒＢ”、プリントキュー１９０３の“ＰｒｉｎｔｅｒＣ”が登録されていることとする。この図では、各プリントキューの印刷設定と設定可能な設定値をそれぞれの項目に記す。尚、図中において、下線で印をつけている項目はそれがデフォルト値であることを意味する。すなわち、ＰｒｉｎｔｅｒＡは、ＣｏｌｏｒＭｏｄｅがＭｏｎｏかＣｏｌｏｒか選択可能で、そのデフォルト値は“Ｃｏｌｏｒ”である。またＤｕｐｌｅｘはＳｉｍｐｌｅｘかＤｕｐｌｅｘか選択可能で、そのデフォルト値は“Ｓｉｍｐｌｅｘ”である。Ｒｅｓｏｌｕｔｉｏｎ（解像度）は６００か１２００か選択可能で、そのデフォルト値は“１２００”である。ＬａｓｔＱｕｅｕｅに関しては、印刷ダイアログ（図１０）上に表示されない設定値であり、その初期値は“ＮＵＬＬ”である。以下、ＰｒｉｎｔｅｒＢ、ＰｒｉｎｔｅｒＣについても表に記載の通りである。
【００６８】
尚、図１４（ａ）に記載する機能はプリンタの機能の一部であり、引き継ぎはこれらの機能に限定されるものではない。
【００６９】
一方、プリセットに関する設定は図１４（ｂ）に示すように、“Ｓｔａｎｄａｒｄ”及び“Ｐｒｅｓｅｔ１“が登録されている。プリセット２００１の“Ｓｔａｎｄａｒｄ”は、標準的なプリセットであり、全ての印刷設定に対して、設定値が“ＮＵＬＬ”となっている。
【００７０】
また、プリセット２００２の“Ｐｒｅｓｔｅ１”はＣｏｌｏｒＭｏｄｅが“Ｃｏｌｏｒ”、Ｄｕｐｌｅｘが“Ｓｉｍｐｌｅｘ”、Ｒｅｓｏｌｕｔｉｏｎが“６００”、ＬａｓｔＱｕｅｕｅが“ＮＵＬＬ”である。
【００７１】
この前提において、ユーザはアプリケーションのメニューからプリントを選択してプリント設定ダイアログ１２０１を開き、以下の事例の処理を目的として、印刷設定を変更する場合を考える。尚、以下で説明する事例は一例であり、設定項目、設定値、及び記述形式を限定するものでは無い。
【００７２】
［事例１］
・デフォルトの設定値から、プリントキューを“ＰｒｉｎｔｅｒＢ”に切り替える。（ＰｒｉｎｔｅｒＡ  ⇒  ＰｒｉｎｔｅｒＢ）
この事例１の設定値が引き継がれる様を図１３に沿って説明する。
【００７３】
まずＳ１８０１において、ユーザからプリントキューのデフォルト設定である“ＰｒｉｎｔｅｒＡ”から“ＰｒｉｎｔｅｒＢ”への切り替えを受け付ける。そしてＳ１８０２において、プリンタドライバは切り替え前のプリントキュー“ＰｒｉｎｔｅｒＡ”を図１１（ｄ）にて示した印刷設定に対応する行１６１２に記述する。その後、Ｓ１８０３において、システムは切り替え後のプリントキュー“ＰｒｉｎｔｅｒＢ”のプリンタドライバを起動する。このとき図１１（ｄ）の印刷設定のプリントキューに関する行１６０３を“ＰｒｉｎｔｅｒＢ”に更新する。また、それ以外の印刷設定は、切り替え前の設定値がそのまま引き継がれることになるので、ＣｏｌｏｒＭｏｄｅが“Ｃｏｌｏｒ”、Ｄｕｐｌｅｘが“Ｓｉｍｐｌｅｘ”、Ｒｅｓｏｌｕｔｉｏｎが“１２００”、ＬａｓｔＱｕｅｕｅが“ＰｒｉｎｔｅｒＡ”となる。
【００７４】
Ｓ１８０４において、プリンタドライバは切り替え前のプリントキュー“ＰｔｉｎｔｅｒＡ”のプリンタ仕様記述ファイル（図８（ｂ））を参照し、切り替え後のプリントキューの設定項目を取得する。
【００７５】
そして、Ｓ１８０５において、切り替え前のプリントキュー“ＰｒｉｎｔｅｒＡ”の設定項目と、切り替え後のプリントキュー“ＰｒｉｎｔｅｒＢ”の設定項目を比較し、共通の設定項目が存在するか判定する。この場合、共通の設定項目が存在するので、Ｓ１８０５でＹｅｓとなり、Ｓ１８０６において、プリンタドライバは切り替え前のプリントキュー“ＰｒｉｎｔｅｒＡ”のプリンタ記述ファイル（図８（ｂ））を参照する。そして、切り替え前のプリントキュー“ＰｒｉｎｔｅｒＡ”のデフォルト値（図１４（ａ）にて示した１９０１の各設定値）を取得する。
【００７６】
そして、Ｓ１８０７において、共通項目に関して、切り替え前のプリントキュー“ＰｒｉｎｔｅｒＡ”のデフォルト値と現在の設定値を比較する。この場合、設定値が一致しない設定項目が存在しないので、Ｓ１８０９において、プリンタドライバは切り替え後のプリントキュー“ＰｒｉｎｔｅｒＢ”のデフォルト値（図１４（ａ）にて示した１９０２の各設定値）で印刷設定を更新する。
【００７７】
続いて、Ｓ１８１０において、プリンタドライバは図１１（ｄ）にて示した印刷設定に対応する行１６０６を参照することで、現在のプリセットを取得する。そしてＳ１８１１において、現在のプリセットがＳｔａｎｄａｒｄであるか判定する。この場合、現在のプリセットは“Ｓｔａｎｄａｒｄ”であるので、プリセットに関する処理は行わない。最後に、Ｓ１８１５において、プリンタドライバは図１１（ｄ）にて示した印刷設定から切り替え前のプリントキュー“ＰｒｉｎｔｅｒＡ”の情報に対応する行１６１２を“ＮＵＬＬ”で更新する。上記の処理の結果、印刷設定はＣｏｌｏｒＭｏｄｅが“Ｃｏｌｏｒ”、Ｄｕｐｌｅｘが“Ｄｕｐｌｅｘ”、Ｒｅｓｏｌｕｔｉｏｎが“６００”、ＬａｓｔＱｕｅｕｅが“ＮＵＬＬ”となる。このように、プリントキューを切り替えした場合に、切り替え後のプリントキューのデフォルト値を反映して設定値を引き継ぐことが可能となる。
【００７８】
また、同じ前提（図１４）において、ユーザはアプリケーションのメニューからプリントを選択してプリント設定ダイアログ１２０１を開き、以下の処理を目的として、印刷設定を変更する場合を考える。
【００７９】
［事例２］
・デフォルトの設定から、ＣｏｌｏｒＭｏｄｅを“Ｍｏｎｏ”に変更する。（Ｃｏｌｏｒ  ⇒  Ｍｏｎｏ）
・プリントキューを“ＰｒｉｎｔｅｒＢ”に切り替える。（ＰｒｉｎｔｅｒＡ  ⇒  ＰｒｉｎｔｅｒＢ）
この事例２の設定値が引き継がれる様を図１３に沿って説明する。
【００８０】
プリントキューが切り替えられる前の印刷設定はＣｏｌｏｒＭｏｄｅが“Ｍｏｎｏ”、Ｄｕｐｌｅｘが“Ｓｉｍｐｌｅｘ”、Ｒｅｓｏｌｕｔｉｏｎが“１２００”、ＬａｓｔＱｕｅｕｅが“ＮＵＬＬ”である。
【００８１】
この状態で、Ｓ１８０１において、ユーザからプリントキューのデフォルト設定である“ＰｒｉｎｔｅｒＡ”から“ＰｒｉｎｔｅｒＢ”への切り替えの指示を受け付ける。そしてＳ１８０２において、プリンタドライバは切り替え前のプリントキュー“ＰｒｉｎｔｅｒＡ”の情報を図１１（ｄ）にて示した印刷設定に対応する行１６１２に記述する。その後、Ｓ１８０３において、システムは切り替え後のプリントキュー“ＰｒｉｎｔｅｒＢ”のプリンタドライバを起動する。このとき図１１（ｄ）の印刷設定のプリントキューに関する行１６０３を更新する。また、それ以外の印刷設定は、切り替え前の設定値がそのまま引き継がれるので、ＣｏｌｏｒＭｏｄｅが“Ｍｏｎｏ”、Ｄｕｐｌｅｘが“Ｓｉｍｐｌｅｘ”、Ｒｅｓｏｌｕｔｉｏｎが“１２００”、ＬａｓｔＱｕｅｕｅが“ＰｒｉｎｔｅｒＡ”となる。
【００８２】
Ｓ１８０４において、プリンタドライバは切り替え後のプリントキュー“ＰｒｉｎｔｅｒＢ”のプリンタ仕様記述ファイル（図８（ｂ））を参照し、切り替え後のプリントキュー“ＰｒｉｎｔｅｒＢ”の設定項目を取得する。
【００８３】
そしてＳ１８０５において、切り替え前のプリントキュー“ＰｒｉｎｔｅｒＡ”の設定項目と、切り替え後のプリントキュー“ＰｒｉｎｔｅｒＢ”の設定項目を比較し、共通の設定項目が存在するか判定する。この場合、共通の設定項目が存在するので、Ｓ１８０５でＹｅｓとなり、Ｓ１８０６において、プリンタドライバは切り替え前のプリントキュー“ＰｒｉｎｔｅｒＡ”のプリンタ記述ファイル（図８（ｂ））を参照する。そして、切り替え前のプリントキュー“ＰｒｉｎｔｅｒＡ”のデフォルト値（図１４（ａ）にて示した１９０１の各設定値）を取得する。
【００８４】
そして、Ｓ１８０７において、共通項目に関して、切り替え前のプリントキュー“ＰｒｉｎｔｅｒＡ”のデフォルト値と現在の設定値を比較する。この場合、設定値が一致しない設定項目ＣｏｌｏｒＭｏｄｅが存在するので、Ｓ１８０８において、ＣｏｌｏｒＭｏｄｅの項目に関してはそのまま設定値（Ｍｏｎｏ）を引き継ぐ。そして、それ以外の設定項目は、切り替え後のプリントキュー“ＰｒｉｎｔｅｒＢ”のプリンタ仕様記述ファイル（図８（ｂ））を参照し、切り替え後のプリントキュー“ＰｒｉｎｔｅｒＢ”のデフォルト値で印刷設定を更新する。
【００８５】
続いて、Ｓ１８１０において、プリンタドライバは図１１（ｄ）にて示した印刷設定に対応する行１６０６を参照することで、現在のプリセットを取得する。そしてＳ１８１１において、現在のプリセットがＳｔａｎｄａｒｄであるか判定する。この場合、現在のプリセットは“Ｓｔａｎｄａｒｄ”であるので、プリセットに関する処理は行わない。Ｓ１８１５において、プリンタドライバは印刷設定から切り替え前のプリントキュー“ＰｒｉｎｔｅｒＡ”の情報に該当する行１６１２を“ＮＵＬＬ”で更新する。
【００８６】
上記の処理の結果、印刷設定はＣｏｌｏｒＭｏｄｅが“Ｍｏｎｏ”、Ｄｕｐｌｅｘが“Ｄｕｐｌｅｘ”、Ｒｅｓｏｌｕｔｉｏｎが“６００”、ＬａｓｔＱｕｅｕｅが“ＮＵＬＬ”となる。
【００８７】
このように、プリントキューを切り替えた場合に、ユーザが変更した印刷設定についてはその設定値を引き継ぎ、それ以外は切り替え後のプリントキューのデフォルト値を反映して値を引き継ぐことが可能となる。
【００８８】
さらに、同じ前提（図１４）において、ユーザはアプリケーションのメニューからプリントを選択してプリント設定ダイアログ１２０１を開き、以下の処理を目的として、印刷設定を変更する場合を考える。
【００８９】
［事例３］
・デフォルトの設定から、プリセットを“Ｐｒｅｓｅｔ１”に変更する。（Ｓｔａｎｄａｒｄ  ⇒  Ｐｒｅｓｅｔ１）
・プリントキューを“ＰｒｉｎｔｅｒＣ”に切り替える。（ＰｒｉｎｔｅｒＡ  ⇒  ＰｒｉｎｔｅｒＣ）
・プリントキューを“ＰｒｉｎｔｅｒＡ”に切り替える。（ＰｒｉｎｔｅｒＣ  ⇒  ＰｒｉｎｔｅｒＡ）
この事例３の設定値が引き継がれる様を図１３に沿って説明する。
【００９０】
プリントキューが“ＰｒｉｎｔｅｒＡ”から“ＰｒｉｎｔｅｒＣ”に切り替えられた際の印刷設定はＣｏｌｏｒＭｏｄｅが“Ｍｏｎｏ”、Ｄｕｐｌｅｘが“Ｓｉｍｐｌｅｘ”、Ｒｅｓｏｌｕｔｉｏｎが“６００”、ＬａｓｔＱｕｅｕｅが“ＮＵＬＬ”である。ここで、ＣｏｌｏｒＭｏｄｅが“Ｍｏｎｏ”であるのは、プリントキュー“ＰｒｉｎｔｅｒＣ”がＣｏｌｏｒＭｏｄｅとして“Ｍｏｎｏ”のみ選択可能であるプリントキューのためである。このような場合には、設定値が強制的に設定可能な“Ｍｏｎｏ”に設定されてしまう。
【００９１】
この状態で、Ｓ１８０１において、ユーザから、プリントキューを“ＰｒｉｎｔｅｒＣ”から“ＰｒｉｎｔｅｒＡ”への切り替えを受け付ける。この場合、事例１と同様に、Ｓ１８０２、Ｓ１８０３、Ｓ１８０４、Ｓ１８０５、Ｓ１８０９の処理が順次行われる。その結果、その時点での印刷設定はＣｏｌｏｒＭｏｄｅが“Ｍｏｎｏ”、Ｄｕｐｌｅｘが“Ｓｉｍｐｌｅｘ”、Ｒｅｓｏｌｕｔｉｏｎが“６００”、ＬａｓｔＱｕｅｕｅが“ＰｒｉｎｔｅｒＡ”となる。
【００９２】
続いて、Ｓ１８１０において、プリンタドライバは図１１（ｄ）にて示した印刷設定に対応する行１６０６を参照することで、現在のプリセットを取得する。そしてＳ１８１１において、現在のプリセットがＳｔａｎｄａｒｄであるか判定する。この場合、現在のプリセットは“Ｐｒｅｓｅｔ１”でないので、Ｓ１８１２において、プリンタドライバは現在のプリセット“Ｐｒｅｓｅｔ１”の印刷設定を図１１（ｃ）にて示したプリセット記述ファイルを参照し取得する。
【００９３】
そしてＳ１８１３において、切り替え後のプリントキュー“ＰｒｉｎｔｅｒＡ”の設定項目と、現在のプリセット“Ｐｒｅｓｅｔ１”の設定項目を比較し、共通の設定項目が存在するか判定する。この場合、共通の設定項目が存在する。よってＳ１８１４において、プリンタドライバは共通の印刷設定項目に関して、Ｓ１８１２で取得した現在のプリセット“Ｐｒｅｓｅｔ１”の設定値（ＣｏｌｏｒＭｏｄｅが“Ｃｏｌｏｒ”）で更新する。そして、Ｓ１８１５において、プリンタドライバは印刷設定から切り替え前のプリントキュー“ＰｒｉｎｔｅｒＡ”の情報に該当する行１６１２を“ＮＵＬＬ”で更新する。
【００９４】
上記の処理の結果、印刷設定はＣｏｌｏｒＭｏｄｅが“Ｃｏｌｏｒ”、Ｄｕｐｌｅｘが“Ｓｉｍｐｌｅｘ”、Ｒｅｓｏｌｕｔｉｏｎが“６００”、ＬａｓｔＱｕｅｕｅが“ＮＵＬＬ”となる。
【００９５】
このように、プリントキューを切り替えた際、プリセットがＳｔａｎｄａｒｄ以外である場合は、そのプリセットの設定値を反映して値を引き継ぐことが可能となる。
【００９６】
以上、具体的な事例を用いて、印刷設定を引き継ぐ流れを説明したが、本実施形態によりユーザが意図する印刷設定の設定値の引継ぎを各設定項目の設定値の状況に合わせて実現することが可能となる。
【００９７】
＜第二の実施形態＞
以下に、上述した第一の実施形態と同手法を用いた第二の実施形態について説明する。上記第一の実施形態の手法を制御する機能のグループが図１０にて示した設定欄１２０６で「その他」を選択した場合の印刷ダイアログを図１５（ａ）に示す。
【００９８】
プリント設定ダイアログ２１０１における設定欄２１０２〜２１０６、及びボタン２１１０、ボタン２１１１は、図１０にて示したプリント設定ダイアログ１２０１における設定欄１２０２〜１２０６、及びボタン１２１０、ボタン１２１１と同様なので、説明は省略する。
【００９９】
ここでは設定欄２１０６において、「その他」に関連する機能を表示している状態を示したものである。「その他」関連の機能としては、設定値の引き継ぎの適用を行うか否かを設定可能な設定欄２１０７、設定値の引き継ぎにプリントキューのデフォルト値を適用するか否かを設定可能な設定欄２１０８、プリセットの設定を優先するか否かを設定可能な設定欄２１０９がある。尚、設定欄２１０７の設定値は“使用する”と“使用しない”から選択可能であり、後者を選択した場合、設定欄２１０８及び２１０９はグレーアウトするなどして選択不可能になるものとする。これら設定欄２１０７〜２１０９に対するユーザの指示を受け付け、本実施形態にかかる処理が行われる。
【０１００】
図１６は本実施形態における印刷設定の引き継ぎ処理を示したフローチャートである。尚、Ｓ２２０４のデフォルト値関連処理は、図１３のＳ１８０２〜Ｓ１８０８並びにＳ１８０９までに対応し、Ｓ２２０６のプリセット関連処理は、図１３のＳ１８１０〜Ｓ１８１５までに対応する。
【０１０１】
Ｓ２２０１において、ユーザから図１５（ａ）の設定欄２１０２を介してプリントキューの切り替えを受け付ける。これにより第２の受付工程を実現する。そして、Ｓ２２０２において、設定値の引き継ぎの適用に関する有無について設定欄２１０７を介したユーザから指定された設定を参照し、本引き継ぎ手法を用いるか判定する。本引き継ぎ手法を用いないと判定すると（Ｓ２２０２でＮｏ）、本フローを終了する。つまり、特別な処理は行わず、従来どおりのプリントキューの切り替え処理を行うのみである。
【０１０２】
本引き継ぎ手法を用いると判定すると（Ｓ２２０２でＹｅｓ）、Ｓ２２０３において、設定値の引き継ぎにプリントキューのデフォルト値を用いるか否かを判定する。ここでは、ユーザから設定欄２１０８を介して指定された設定を参照し、デフォルト値を用いるか判定する。デフォルト値を用いると判定すると（Ｓ２２０３でＹｅｓ）、Ｓ２２０４において、デフォルト値関連の処理を行う。また、そうでない場合（Ｓ２２０３でＮｏ）、Ｓ２２０４の処理は行わず、Ｓ２２０５へ進む。
【０１０３】
Ｓ２２０５において、プリセットの設定を優先するか否かを判定する。ここでは、ユーザから設定欄２１０９を介して指定された設定を参照し、プリセットを優先するか判定する。プリセットを優先すると判定すると（Ｓ２２０５でＹｅｓ）、Ｓ２２０６において、プリセット関連の処理を行う。また、そうでない場合（Ｓ２２０５でＮｏ）、Ｓ２２０６の処理は行わず、本フローを終了する。
【０１０４】
以上により、印刷設定における設定の引き継ぎをユーザの意図に沿って設定でき、印刷におけるユーザビリティの向上が可能となる。
【０１０５】
＜第三の実施形態＞
以下に、前記第一の実施形態と同手法を用いた第三の実施形態について説明する。
【０１０６】
図１７は本実施形態における印刷設定の引き継ぎ処理を示したフローチャートである。尚、Ｓ２３０１からＳ２３０６までは、図１６のＳ２２０１から２２０６と同様であるので、説明は省略する。
【０１０７】
Ｓ２３０７において、プリントキューの切り替え前後で各印刷設定項目に変更が生じたかを判定する。印刷設定に変更が生じたと判定すると（Ｓ２３０７でＹｅｓ）、Ｓ２３０８において、プリンタドライバは図１５（ｂ）の変更通知ダイアログを表示することで、印刷設定に変更が生じたことをユーザに通知する。印刷設定に変更が生じていない場合（Ｓ２３０７にてＮＯ）には、本フローを終了する。
【０１０８】
これにより、プリントキューの切り替えに伴って、ユーザが意図しない設定の変更が発生したとしても、その旨をユーザに通知することで、認識が可能となる。これにより、印刷におけるユーザビリティを向上させることが可能となる。
【０１０９】
以上、３つの実施形態について説明したが、本発明は、上記実施形態に限定されるものではなく、種々の態様を採ることができる。例えば、第一の実施形態では、切り替え前のプリントキューの情報を印刷設定の隠しパラメータの一つとして表現したが、等価な情報を外部ファイルに設けてもよい。また、第二の実施形態及び第三の実施形態においては、印刷設定の変更をユーザに通知する手段としてダイアログを用いたが、等価な情報を図１０にて示した設定欄１２０６の一つとして表示してもよい。
【０１１０】
＜その他の実施形態＞
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【図１】
0005419603.tif 000002
【図２】
0005419603.tif 000003
【図３】
0005419603.tif 000004
【図４】
0005419603.tif 000005
【図５】
0005419603.tif 000006
【図６】
0005419603.tif 000007
【図７】
0005419603.tif 000008
【図８】
0005419603.tif 000009
【図９】
0005419603.tif 000010
【図１０】
0005419603.tif 000011
【図１１】
0005419603.tif 000012
【図１２】
0005419603.tif 000013
【図１３】
0005419603.tif 000014
【図１４】
0005419603.tif 000015
【図１５】
0005419603.tif 000016
【図１６】
0005419603.tif 000017
【図１７】
0005419603.tif 000018