(57)【特許請求の範囲】
【請求項１】
アプリケーションプログラムを実行する情報処理装置で実行され、前記情報処理装置と通信可能に接続されているデバイスを制御するデバイス制御プログラムであって、
当該デバイス制御プログラムは、設定項目毎に設定された設定値の組み合わせである設定条件に基づいて前記デバイスを制御するものであり、
前記アプリケーションプログラムは、少なくとも一つの前記設定項目について当該設定項目に設定可能な設定値の一覧を当該デバイス制御プログラムに問い合わせ、当該デバイス制御プログラムから取得した前記設定値の一覧に含まれている設定値の中からユーザによって指定された設定値を当該設定項目の設定値として前記設定条件に設定するものであり、
当該デバイス制御プログラムは、
前記アプリケーションプログラムからいずれかの前記設定項目について当該設定項目に設定可能な設定値の一覧の問い合わせを受け付ける受付処理と、
前記受付処理によって問い合わせを受け付けると、問い合わせられた前記設定項目に設定可能な値の集合と、予め前記設定項目毎に設定された設定値の組み合わせである一括設定情報を識別するための一括設定識別情報とを、前記設定値の一覧として前記アプリケーションプログラムに返す応答処理と、
前記設定条件に基づいて前記デバイスを制御する制御処理であって、前記設定条件のいずれかの前記設定項目に前記一括設定識別情報が設定されている場合は、少なくとも、当該一括設定識別情報が設定されている前記設定項目と前記アプリケーションプログラムからは前記設定値が設定されない前記設定項目とについては、当該一括設定識別情報によって識別される前記一括設定情報に設定されている前記設定値を用いて前記デバイスを制御する制御処理と、
を前記情報処理装置に実行させる、デバイス制御プログラム。
【請求項２】
請求項１に記載のデバイス制御プログラムであって、
当該デバイス制御プログラムは複数機種の前記デバイスを制御可能であり、前記情報処理装置と通信可能に接続されている前記デバイスの中からいずれかの前記デバイスをユーザに指定させる指定処理を前記情報処理装置に実行させ、
前記応答処理において、
前記指定処理によって指定された前記デバイスから前記設定項目毎に当該デバイスで設定可能な値の集合を取得し、
各前記一括設定情報の各前記設定項目について、当該設定項目に設定されている前記設定値が、前記デバイスから取得した前記値の集合に含まれているか否かを判定し、
少なくとも一つの前記設定値が前記値の集合に含まれていない前記一括設定情報については、その一括設定情報の前記一括設定識別情報を前記アプリケーションプログラムに返さない、デバイス制御プログラム。
【請求項３】
請求項１又は請求項２に記載のデバイス制御プログラムであって、
前記アプリケーションプログラムは少なくとも二つの前記設定項目についてそれぞれ前記設定値の一覧を当該デバイス制御プログラムに問い合わせるものであり、
当該デバイス制御プログラムは、
前記応答処理において、前記少なくとも二つの設定項目のうちいずれか一つの前記設定項目である第１の設定項目に対しては前記値の集合と前記一括設定識別情報とを前記設定値の一覧として返し、前記少なくとも二つの設定項目のうち前記第１の設定項目以外の設定項目である第２の設定項目に対しては前記値の集合を返す一方、前記一括設定識別情報を返さない、デバイス制御プログラム。
【請求項４】
請求項３に記載のデバイス制御プログラムであって、
前記応答処理において、前記受付処理によって前記第１の設定項目について問い合わせを受け付けると、前記第２の設定項目に設定されている前記設定値が互いに異なり、前記第１の設定項目を含むそれ以外の前記設定項目に設定されている前記設定値が互いに同じである２以上の前記一括設定情報があるか否かを判定し、当該２以上の前記一括設定情報がある場合は、それら２以上の前記一括設定情報についてはいずれか一つの前記一括設定情報の一括設定識別情報を前記アプリケーションプログラムに返す、デバイス制御プログラム。
【請求項５】
請求項３又は請求項４に記載のデバイス制御プログラムであって、
前記制御処理において、前記設定条件の前記第１の設定項目に前記一括設定識別情報が設定されている場合に、当該一括設定識別情報によって識別される前記一括設定情報の前記第２の設定項目に設定されている前記設定値と、前記設定条件の前記第２の設定項目に設定されている前記設定値とが異なる場合は、それら二つの前記設定値のうち、予め決められた方法によっていずれかを選択し、当該選択された前記設定値を用いる、デバイス制御プログラム。
【請求項６】
請求項１乃至請求項５のいずれか一項に記載のデバイス制御プログラムであって、
前記応答処理は、前記値の集合に含まれている値と前記一括設定識別情報とを所定の並び順で並べて返すものであり、前記一括設定識別情報を、当該一括設定識別情報によって識別される一括設定情報に設定されている設定値と同じ値と並べる、デバイス制御プログラム。
【請求項７】
デバイスと通信可能に接続されている情報処理装置で実行され、設定項目毎に設定された設定値の組み合わせである設定条件に基づいて前記デバイスを制御する印刷プログラムであって、
当該印刷プログラムはアプリケーションプログラムとデバイス制御プログラムとを備えて構成され、
前記アプリケーションプログラムは、
少なくとも一つの前記設定項目について当該設定項目に設定可能な設定値の一覧を当該デバイス制御プログラムに問い合わせる問い合わせ処理と、
当該デバイス制御プログラムから取得した前記設定値の一覧に含まれている設定値の中からいずれかユーザによって指定された設定値を当該設定項目の設定値として前記設定条件に設定する設定処理と、
を前記情報処理装置に実行させ、
当該デバイス制御プログラムは、
前記アプリケーションプログラムからいずれかの前記設定項目について当該設定項目に設定可能な設定値の一覧の問い合わせを受け付ける受付処理と、
前記受付処理によって問い合わせを受け付けると、問い合わせられた前記設定項目に設定可能な値の集合と、予め前記設定項目毎に設定された設定値の組み合わせである一括設定情報を識別するための一括設定識別情報とを、前記設定値の一覧として前記アプリケーションプログラムに返す応答処理と、
前記設定条件に基づいて前記デバイスを制御する制御処理であって、前記設定条件のいずれかの前記設定項目に前記一括設定識別情報が設定されている場合は、少なくとも、当該一括設定識別情報が設定されている前記設定項目と前記アプリケーションプログラムからは前記設定値が設定されない前記設定項目とについては、当該一括設定識別情報によって識別される前記一括設定情報に設定されている前記設定値を用いて前記デバイスを制御する制御処理と、
を前記情報処理装置に実行させる、印刷プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、予め設定項目毎に設定された設定値の組み合わせである一括設定情報の指定を受け付け、指定された一括設定情報に基づいてデバイスを制御する技術に関する。
【背景技術】
【０００２】
従来、予め設定されているデフォルト設定を用いてプリンタにドキュメントを印刷させるコンピュータ装置が知られている（例えば、特許文献１参照）。
【０００３】
このコンピュータ装置では、デフォルト設定を次のようにして変更することができる。
アプリケーションウィンドウのメニューバーに設けられた［ファイル］ボタンをクリックし、［印刷］をクリックするといった操作により、［印刷］のダイアログボックスを表示する。そして、そのダイアログボックスにある［プロパティ］ボタンをクリックすることで、プリンタのプロパティのダイアログボックスを表示させる。
【０００４】
この「プリンタのプロパティのダイアログボックス」はプリンタドライバによって表示されるものであり、ユーザが［プロパティ］ボタンをクリックするとアプリケーションプログラムからプリンタドライバが呼び出され、呼び出されたプリンタドライバによって表示される。
【０００５】
ユーザは、表示されたプリンタのプロパティのダイアログボックスで印刷の設定を変更した後、そのダイアログボックスに設けられている「デフォルトに登録」のボタンをクリックすることで、プリンタのプロパティのダイアログで変更した内容をデフォルト設定に反映させる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００３−３１６５３８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の技術によると、ユーザはデフォルト設定を変更しようとするたびに、プリンタドライバを呼び出してプリンタのプロパティのダイアログボックスを表示させなければならない。このため、使い勝手が悪いという問題がある。
本発明は上記のような事情に基づいて完成されたものであって、一括設定情報を指定する場合のユーザの利便性が向上する技術を開示する。
【課題を解決するための手段】
【０００８】
本明細書によって開示されるデバイス制御プログラムは、アプリケーションプログラムを実行する情報処理装置で実行され、前記情報処理装置と通信可能に接続されているデバイスを制御するデバイス制御プログラムであって、当該デバイス制御プログラムは、設定項目毎に設定された設定値の組み合わせである設定条件に基づいて前記デバイスを制御するものであり、前記アプリケーションプログラムは、少なくとも一つの前記設定項目について当該設定項目に設定可能な設定値の一覧を当該デバイス制御プログラムに問い合わせ、当該デバイス制御プログラムから取得した前記設定値の一覧に含まれている設定値の中からユーザによって指定された設定値を当該設定項目の設定値として前記設定条件に設定するものであり、当該デバイス制御プログラムは、前記アプリケーションプログラムからいずれかの前記設定項目について当該設定項目に設定可能な設定値の一覧の問い合わせを受け付ける受付処理と、前記受付処理によって問い合わせを受け付けると、問い合わせられた前記設定項目に設定可能な値の集合と、予め前記設定項目毎に設定された設定値の組み合わせである一括設定情報を識別するための一括設定識別情報とを、前記設定値の一覧として前記アプリケーションプログラムに返す応答処理と、前記設定条件に基づいて前記デバイスを制御する制御処理であって、前記設定条件のいずれかの前記設定項目に前記一括設定識別情報が設定されている場合は、少なくとも、当該一括設定識別情報が設定されている前記設定項目と前記アプリケーションプログラムからは前記設定値が設定されない前記設定項目とについては、当該一括設定識別情報によって識別される前記一括設定情報に設定されている前記設定値を用いて前記デバイスを制御する制御処理と、を前記情報処理装置に実行させる。
【０００９】
また、本明細書によって開示されるデバイス制御プログラムは、複数機種の前記デバイスを制御可能であり、前記情報処理装置と通信可能に接続されている前記デバイスの中からいずれかの前記デバイスをユーザに指定させる指定処理を前記情報処理装置に実行させ、前記応答処理において、前記指定処理によって指定された前記デバイスから前記設定項目毎に当該デバイスで設定可能な値の集合を取得し、各前記一括設定情報の各前記設定項目について、当該設定項目に設定されている前記設定値が、前記デバイスから取得した前記値の集合に含まれているか否かを判定し、少なくとも一つの前記設定値が前記値の集合に含まれていない前記一括設定情報については、その一括設定情報の前記一括設定識別情報を前記アプリケーションプログラムに返さない。
【００１０】
また、本明細書によって開示されるデバイス制御プログラムは、前記アプリケーションプログラムは少なくとも二つの前記設定項目についてそれぞれ前記設定値の一覧を当該デバイス制御プログラムに問い合わせるものであり、当該デバイス制御プログラムは、前記応答処理において、前記少なくとも二つの設定項目のうちいずれか一つの前記設定項目である第１の設定項目に対しては前記値の集合と前記一括設定識別情報とを前記設定値の一覧として返し、前記少なくとも二つの設定項目のうち前記第１の設定項目以外の設定項目である第２の設定項目に対しては前記値の集合を返す一方、前記一括設定識別情報を返さない。
【００１１】
また、本明細書によって開示されるデバイス制御プログラムは、前記応答処理において、前記受付処理によって前記第１の設定項目について問い合わせを受け付けると、前記第２の設定項目に設定されている前記設定値が互いに異なり、前記第１の設定項目を含むそれ以外の前記設定項目に設定されている前記設定値が互いに同じである２以上の前記一括設定情報があるか否かを判定し、当該２以上の前記一括設定情報がある場合は、それら２以上の前記一括設定情報についてはいずれか一つの前記一括設定情報の一括設定識別情報を前記アプリケーションプログラムに返す。
【００１２】
また、本明細書によって開示されるデバイス制御プログラムは、前記制御処理において、前記設定条件の前記第１の設定項目に前記一括設定識別情報が設定されている場合に、当該一括設定識別情報によって識別される前記一括設定情報の前記第２の設定項目に設定されている前記設定値と、前記設定条件の前記第２の設定項目に設定されている前記設定値とが異なる場合は、それら二つの前記設定値のうち、予め決められた方法によっていずれかを選択し、当該選択された前記設定値を用いる。
【００１３】
また、本明細書によって開示されるデバイス制御プログラムは、前記応答処理は、前記値の集合に含まれている値と前記一括設定識別情報とを所定の並び順で並べて返すものであり、前記一括設定識別情報を、当該一括設定識別情報によって識別される一括設定情報に設定されている設定値と同じ値と並べる。
【００１４】
また、本明細書によって開示されるデバイス制御プログラムは、デバイスと通信可能に接続されている情報処理装置で実行され、設定項目毎に設定された設定値の組み合わせである設定条件に基づいて前記デバイスを制御する印刷プログラムであって、当該印刷プログラムはアプリケーションプログラムとデバイス制御プログラムとを備えて構成され、前記アプリケーションプログラムは、少なくとも一つの前記設定項目について当該設定項目に設定可能な設定値の一覧を当該デバイス制御プログラムに問い合わせる問い合わせ処理と、当該デバイス制御プログラムから取得した前記設定値の一覧に含まれている設定値の中からいずれかユーザによって指定された設定値を当該設定項目の設定値として前記設定条件に設定する設定処理と、を前記情報処理装置に実行させ、当該デバイス制御プログラムは、前記アプリケーションプログラムからいずれかの前記設定項目について当該設定項目に設定可能な設定値の一覧の問い合わせを受け付ける受付処理と、前記受付処理によって問い合わせを受け付けると、問い合わせられた前記設定項目に設定可能な値の集合と、予め前記設定項目毎に設定された設定値の組み合わせである一括設定情報を識別するための一括設定識別情報とを、前記設定値の一覧として前記アプリケーションプログラムに返す応答処理と、前記設定条件に基づいて前記デバイスを制御する制御処理であって、前記設定条件のいずれかの前記設定項目に前記一括設定識別情報が設定されている場合は、少なくとも、当該一括設定識別情報が設定されている前記設定項目と前記アプリケーションプログラムからは前記設定値が設定されない前記設定項目とについては、当該一括設定識別情報によって識別される前記一括設定情報に設定されている前記設定値を用いて前記デバイスを制御する制御処理と、を前記情報処理装置に実行させる。
【００１５】
なお、この発明は、デバイス制御プログラム、印刷プログラム、デバイス制御方法、印刷方法、これらのプログラムを記録した記録媒体などの種々の態様で実現することができる。
【発明の効果】
【００１６】
本発明によれば、一括設定情報を指定する場合のユーザの利便性が向上する。
【図面の簡単な説明】
【００１７】
【図１】実施形態１に係るパーソナルコンピュータの構成を示す模式図。
【図２】お任せ印刷設定の一例を示す模式図。
【図３】ページ設定画面の一例を示す模式図。
【図４】プリンタドライバが返す設定値の一覧を示す模式図。
【図５】設定値の一覧を表示した状態のページ設定画面を示す模式図。
【図６】設定値の一覧の問い合わせの流れを示すシーケンスチャート。
【図７】プリンタドライバの処理の流れを示すフローチャート。
【図８】お任せ印刷設定のリストアップ処理の流れを示すフローチャート。
【図９】並べ替え処理の流れを示すフローチャート（前半）。
【図１０】並べ替え処理の流れを示すフローチャート（後半）。
【図１１】設定値の一覧を表示した状態のページ設定画面を示す模式図。
【図１２】印刷処理の流れを示すフローチャート。
【図１３】印刷設定の確認画面を示す模式図。
【発明を実施するための形態】
【００１８】
＜実施形態１＞
本発明の実施形態１を図１ないし図１３によって説明する。
（１）情報処理装置の構成
図１は、実施形態１に係るパーソナルコンピュータ１（情報処理装置の一例）の電気的構成を示す模式図である。パーソナルコンピュータ（ＰＣ）１は、ＣＰＵ１１、ＲＯＭ１２、ＲＡＭ１３、記憶部１４、ディスプレイ駆動回路（駆動回路）１８、ＵＳＢインタフェース（ＵＳＢ  Ｉ／Ｆ）１９、ネットワークインタフェース（ＮＷ  Ｉ／Ｆ）２０などを備えて構成されている。
【００１９】
ＣＰＵ１１は、ＲＯＭ１２や記憶部１４に記憶されている各種のプログラムを実行することによってＰＣ１の各部を制御する。ＲＯＭ１２にはＣＰＵ１１によって実行される各種のプログラムやデータなどが記憶されている。ＲＡＭ１３はＣＰＵ１１が各種の処理を実行するための主記憶装置として用いられる。
【００２０】
記憶部１４は、ハードディスクやフラッシュメモリなどの不揮発性のメモリを用いて各種のプログラムやデータを記憶する装置である。記憶部１４には、オペレーティングシステム（ＯＳ）１５、アプリケーションプログラム１６（ワードプロセッサ、表計算ソフト、画像編集ソフトなど）、プリンタドライバプログラム１７（デバイス制御プログラムの一例）などが記憶される。
【００２１】
本実施形態ではＯＳ１５としてＭｉｃｒｏｓｏｆｔ社のＷＩＮＤＯＷＳ（登録商標）を例に説明する。なお、ＯＳ１５はＷＩＮＤＯＷＳ（登録商標）に限られるものではない。
【００２２】
ディスプレイ駆動回路１８は、ＣＲＴや液晶ディスプレイなどの表示装置２１を駆動する回路であり、ケーブルを介して表示装置２１と接続されている。
ＵＳＢインタフェース１９はＵＳＢホストインタフェースとして構成されており、マウスやキーボードなどの入力装置２２が接続される。
ネットワークインタフェース２０は、ＬＡＮやインターネットなどの通信ネットワーク５を介して１以上のプリンタ２（デバイスの一例）と通信可能に接続されている。
【００２３】
１以上のプリンタ２の機種は同じであってもよいし、異なっていてもよい。以降の説明において単にプリンタ２という場合は、プリンタ２Ａ〜プリンタ２Ｄのうちいずれか一つのプリンタのことをいう。
【００２４】
（２）印刷条件
プリンタドライバプログラム１７を実行するＣＰＵ１１（以下、単に「プリンタドライバ１７」という）は、プリンタの設定項目毎に設定された設定値の組み合わせである印刷条件（設定条件の一例）に基づいてプリンタ２を制御する処理をＰＣ１に実行させる。
設定項目とは、プリンタ２の動作を決定する設定値を設定可能な項目であり、例えば用紙サイズ（Ａ４／Ｌｅｔｔｅｒ／Ａ５）、用紙トレイ（トレイ１／トレイ２）、色数（カラー／モノクロ）、画質（高解像度／低解像度）、両面印刷（する／しない）、片面印刷ページ数（１／２／４）などである。カッコ内はその設定項目に設定可能な値の一例を示している。
【００２５】
（３）お任せ印刷設定
図２は、お任せ印刷設定の一例を示す模式図である。ユーザは、予め設定項目毎に設定値を設定し、設定した設定値の組み合わせをお任せ印刷設定（一括設定情報の一例）として登録しておくことができる。そして、ユーザは登録しておいたお任せ印刷設定を指定することにより、お任せ印刷設定の設定値を印刷条件として一括して設定することができる。
お任せ印刷設定は複数登録することができ、各お任せ印刷設定にはそれぞれ固有の設定名（一括設定識別情報の一例）を付与することができる。また、お任せ印刷設定にはそれぞれ固有のＩＤが付与されている。
本実施形態では図２に示すお任せ印刷設定（節約印刷＿トレイ１、節約印刷＿トレイ２、両面印刷＿トレイ１、両面印刷＿トレイ２）が登録されているものとする。
【００２６】
お任せ印刷設定の登録は、例えばプリンタドライバ１７によって表示される図示しない印刷条件設定画面で行うことができる。登録されたお任せ印刷設定はプリンタドライバ１７によってＩＤ（一括設定識別情報の一例）が付与され、記憶部１４に記憶される。そして、ユーザは印刷条件設定画面で所定の操作を行うことにより、登録されているお任せ印刷設定の中から印刷に用いるお任せ印刷設定を指定することができる。
【００２７】
（４）アプリケーションプログラムでのお任せ印刷設定の表示
上述したようにユーザは印刷条件設定画面上でお任せ印刷設定を指定できるが、プリンタドライバ１７を用いると、それに加えて、アプリケーションプログラム１６を実行するＣＰＵ１１（以下、単に「アプリケーション１６」という）によって表示されるページ設定画面でもお任せ印刷設定を表示できるようになる。
【００２８】
図３は、一般のアプリケーション１６によって表示されるページ設定画面４１の一例を示す模式図である。ページ設定画面４１は用紙サイズや用紙トレイなどの一部の設定項目についてユーザがアプリケーション１６で設定値を設定するための画面である。なお、「ページ設定」という画面名はアプリケーション１６によっては「印刷設定」という画面名であったり、他の画面名であったりする。
【００２９】
ページ設定画面４１で設定値を設定する場合、ユーザは所定の操作を行ってアプリケーション１６にページ設定画面４１の表示を指示する。
アプリケーション１６は、ページ設定画面４１の表示を指示されると、先ず、アプリケーション１６とプリンタドライバ１７との間で印刷条件を受け渡すためのＤＥＶＭＯＤＥ構造体（設定条件の一例）と呼ばれる構造体の先頭アドレスをプリンタドライバ１７に問い合わせる。
【００３０】
なお、アプリケーション１６がＤＥＶＭＯＤＥ構造体の先頭アドレスを問い合わせるタイミングは、アプリケーション１６がプリンタドライバ１７に印刷命令を出力する前であればよい。
また、本実施形態ではこのＤＥＶＭＯＤＥ構造体とは別に印刷用のＤＥＶＭＯＤＥ構造体も用いるので、それと区別するために、印刷条件を受け渡すためのＤＥＶＭＯＤＥ構造体のことを受渡し用ＤＥＶＭＯＤＥ構造体という。
【００３１】
プリンタドライバ１７は、アプリケーション１６から受渡し用ＤＥＶＭＯＤＥ構造体の先頭アドレスを問い合わせられると、ＲＡＭ１３上に受渡し用ＤＥＶＭＯＤＥ構造体を確保し、確保した受渡し用ＤＥＶＭＯＤＥ構造体にデフォルトの設定値を設定する。そして、プリンタドライバ１７はその受渡し用ＤＥＶＭＯＤＥ構造体の先頭アドレスをアプリケーション１６に返す。
【００３２】
次に、アプリケーション１６は、上述した一部の設定項目について設定項目毎に当該設定項目に設定可能な設定値の一覧をプリンタドライバ１７に問い合わせ、問い合わせた設定値の一覧を選択肢としてページ設定画面４１に表示する。
【００３３】
図４は、用紙サイズを例に、プリンタドライバ１７がアプリケーション１６に返す設定値の一覧を示す模式図である。ここでは用紙サイズに設定可能な値の集合としてＡ４、Ｌｅｔｔｅｒ、Ａ５を例に説明する。
【００３４】
プリンタドライバ１７は、設定値の一覧として、設定可能な各値に関する情報と、お任せ印刷設定に関する情報とを返す。
設定可能な値に関する情報は、用紙ＩＤ、用紙名、用紙サイズの３つの情報項目で構成されている。用紙ＩＤは各サイズの用紙に一意に付与されているＩＤ（Ｉｄｅｎｔｉｆｉｃａｔｉｏｎ）である。用紙名は、用紙ＩＤに対応するサイズの用紙の名称である。用紙サイズは、用紙ＩＤに対応する用紙の縦横の長さ（ｍｍ）である。
【００３５】
「設定可能な各値に関する情報」をアプリケーション１６に返すことは従来のプリンタドライバ１７でも行われているが、プリンタドライバ１７はそれに加えて、登録されている各お任せ印刷設定に関する情報も設定値の一覧に含めて返す点で従来のプリンタドライバ１７と異なる。
【００３６】
お任せ印刷設定に関する情報とは、お任せ印刷設定のＩＤ（お任せ印刷設定のＩＤは用紙ＩＤと重複しないように付与されているものとする）、お任せ印刷設定の設定名、そのお任せ印刷設定に設定されている用紙サイズの縦横の長さである。お任せ印刷設定に関する情報の場合はこれらの値が上述した各情報項目（用紙ＩＤ、用紙名、用紙サイズ）の要素となる。
【００３７】
ただし、プリンタドライバ１７は登録されている全てのお任せ印刷設定についてお任せ印刷設定に関する情報をアプリケーション１６に返すのではなく、特定の条件でリストアップしたお任せ印刷設定に関する情報のみを返す。このリストアップについては後述する。
【００３８】
図５は、用紙サイズを例に、プリンタドライバ１７から返された設定値の一覧を選択肢として表示した状態のページ設定画面４１を示す模式図である。プリンタドライバ１７は各お任せ印刷設定に関する情報も設定値の一覧に含めて返すので、図５に示すように各値に関する情報（具体的には各値に関する情報のうち用紙名）に加えて、各お任せ印刷設定に関する情報（具体的には各お任せ印刷設定に関する情報のうち設定名）も選択肢として表示される。
【００３９】
プリンタドライバ１７を用いた場合にはお任せ印刷設定の設定名が選択肢として表示されるので、ユーザは設定値としてお任せ印刷設定の設定名を指定できる。これにより、ユーザはページ設定画面４１でお任せ印刷設定を指定できる。
ページ設定画面４１でユーザが設定項目に設定値を指定すると、アプリケーション１６は受渡し用ＤＥＶＭＯＤＥ構造体の当該設定項目に設定されている設定値を、ユーザが指定した設定値（用紙ＩＤ、又はお任せ印刷設定のＩＤ等）で上書きする。これにより、ユーザが指定した設定値が印刷条件に設定される（設定処理の一例）。
したがって、用紙サイズの設定値としてお任せ印刷設定の設定名を指定した場合には、そのお任せ印刷設定のＩＤが用紙サイズの設定値として印刷条件に設定される。
なお、アプリケーション１６がＤＥＶＭＯＤＥ構造体に設定値を設定するタイミングは、アプリケーション１６がプリンタドライバ１７に印刷命令を出力する前であればよい。
【００４０】
ところで、図３に示す例では用紙トレイについてもアプリケーション１６で設定値を設定できる。この場合、用紙トレイについて設定値の一覧を問い合わせられたときにもお任せ印刷設定に関する情報を返すと、用紙サイズに設定されたお任せ印刷設定のＩＤと用紙トレイに設定されたお任せ印刷設定のＩＤとが異なってしまう虞がある。
そこで、プリンタドライバ１７は、アプリケーション１６から複数の設定項目について設定値の問い合わせがあった場合、その複数の問い合わせのうち１つに対してのみお任せ印刷設定に関する情報を返す。
本実施形態では、用紙サイズ（第１の設定項目の一例）について設定値の一覧を問い合わせられた場合のみお任せ印刷設定に関する情報を返し、用紙トレイ（第２の設定項目の一例）について設定値の一覧を問い合わせられた場合は設定可能な各値に関する情報のみを返し、お任せ印刷設定に関する情報を返さない。これにより、用紙サイズと用紙トレイとに異なるお任せ印刷設定のＩＤが設定されてしまわないようにすることができる。
なお、用紙トレイについて問い合わせられたときにお任せ印刷設定に関する情報を返し、用紙サイズについて問い合わせられたときはお任せ印刷設定に関する情報を返さないようにしてもよい。
【００４１】
（５）専用プリンタドライバ、及びユニバーサルプリンタドライバ
プリンタドライバ１７の種類には、プリンタの１機種に対応して専用に開発されたプリンタドライバ（専用プリンタドライバ）と、複数機種のプリンタを制御可能な汎用のプリンタドライバ（ユニバーサルプリンタドライバ）とがある。プリンタドライバ１７は、専用プリンタドライバであってもよいし、ユニバーサルプリンタドライバであってもよい。
【００４２】
プリンタドライバ１７が専用プリンタドライバである場合には、「設定可能な各値に関する情報」はプリンタドライバ１７自身にハードコーディングされているものとする。
一方、プリンタドライバ１７がユニバーサルプリンタドライバである場合には、各設定項目に設定可能な値はプリンタ２の機種によって異なる。そのため、プリンタドライバ１７は、ユーザによって指定されたプリンタ２から各設定項目に設定可能な値の集合を取得し、取得した値の集合から「設定可能な各値に関する情報」を生成してアプリケーション１６に返す。
【００４３】
具体的には、アプリケーション１６によって表示されるメニューでユーザが印刷を選択すると、アプリケーション１６によって図示しない印刷画面が表示され、ユーザはこの印刷画面でプリンタを指定することができる。
ユニバーサルプリンタドライバは特定の１機種に対応するものではないので、ユニバーサルプリンタドライバを用いる場合は、ユーザは印刷画面でプリンタに替えてユニバーサルプリンタドライバを直接指定する。
印刷画面でユニバーサルプリンタドライバが指定されて所定のボタンがクリックされると、アプリケーション１６からユニバーサルプリンタドライバが呼び出される。呼び出されたユニバーサルプリンタドライバは、ユーザにプリンタを指定させるための画面を表示し、その画面で指定されたプリンタから各設定項目に設定可能な値の集合を取得する。そして、ユニバーサルプリンタドライバは、取得した値の集合に基づいて「設定可能な各値に関する情報」を生成する。
【００４４】
本実施形態ではユーザはページ設定画面４１の表示を指示する前にプリンタ２又はユニバーサルプリンタドライバを指定し、ユニバーサルプリンタドライバを指定した場合には既にユーザが指定したプリンタ２から各設定項目に設定可能な値の集合を取得済みであるものとする。
【００４５】
ここで、アプリケーション１６は、印刷画面でプリンタ２が指定されている場合はその指定されているプリンタ２に対応する専用プリンタドライバに設定値の一覧を問い合わせ、ユニバーサルプリンタドライバが直接指定されている場合はその指定されているユニバーサルプリンタドライバに設定値の一覧を問い合わせるものとする。
【００４６】
（６）設定可能な設定値の一覧の問い合わせ
次に、用紙サイズを例に、アプリケーション１６からプリンタドライバ１７への設定値の一覧の問い合わせについてより詳細に説明する。
【００４７】
図６は、用紙サイズに設定可能な設定値の一覧の問い合わせの流れを示すシーケンスチャートである。この問い合わせは、プリンタドライバ１７が提供するＤｒｖＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓと呼ばれるＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を呼び出すことによって行われる。
なお、ここではアプリケーション１６がＤｒｖＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓを呼び出すとするが、これは理解を容易にするためであり、実際にはアプリケーション１６はＯＳが提供するＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓというＡＰＩを呼び出す。ＯＳはＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓが呼び出されると、プリンタドライバ１７が提供するＤｒｖＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓを呼び出す。
【００４８】
設定値の一覧の問い合わせでは、上述した情報項目（用紙ＩＤ、用紙名、用紙サイズ）毎にアプリケーション１６からＤｒｖＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓが２回ずつ呼び出される。
ＤｒｖＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓには、少なくとも、情報項目を示す文字列（用紙ＩＤの場合はＤＣ＿ＰＡＰＥＲＳ、用紙名の場合はＤＣ＿ＰＡＰＥＲＮＡＭＥＳ、用紙サイズの場合はＤＣ＿ＰＡＰＥＲＳＩＺＥ）と、その文字列によって示される情報項目の要素（例えばＤＣ＿ＰＡＰＥＲＳの場合は９、１、１１、１００１、１００４）を格納するためにＲＡＭ１３上に確保した領域の先頭アドレスとを引数として指定することができる。
【００４９】
Ｓ１０１では、アプリケーション１６を実行するＣＰＵ１１は、情報項目を示す文字列として、用紙ＩＤを示す文字列「ＤＣ＿ＰＡＰＥＲＳ」を指定し、先頭アドレスは指定せずにＤｒｖＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓを呼び出す（問い合わせ処理、受付処理の一例）。
Ｓ１０２では、プリンタドライバ１７を実行するＣＰＵ１１（以下、単に「プリンタドライバ１７」という）はＤｒｖＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓの戻り値として、ＤＣ＿ＰＡＰＥＲＳによって示される情報項目（すなわち用紙ＩＤ）の要素数（図４に示す例では５）をアプリケーション１６に返す（応答処理の一例）。
【００５０】
Ｓ１０３では、アプリケーション１６はＳ１０２で返された要素数分の要素を格納するための領域をＲＡＭ１３上に確保し、「ＤＣ＿ＰＡＰＥＲＳ」と、ＲＡＭ１３上に確保した領域の先頭アドレスとを指定してＤｒｖＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓを呼び出す（問い合わせ処理、受付処理の一例）。
Ｓ１０４では、プリンタドライバ１７は引数として渡された先頭アドレスによって示されるＲＡＭ１３上の領域に、ＤＣ＿ＰＡＰＥＲＳによって示される情報項目（用紙ＩＤ）の要素（９、１、１１、１００１、１００４）を格納する（応答処理の一例）。
【００５１】
Ｓ１０５〜Ｓ１１２の処理は情報項目が異なることを除いて上述したＳ１０１〜Ｓ１０４の処理と実質的に同一であるので説明は省略する。
【００５２】
（５）プリンタドライバの処理
図７は、ＤｒｖＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓが呼び出されたときのプリンタドライバ１７の処理の流れを示すフローチャートである。
Ｓ２０１では、プリンタドライバ１７は先頭アドレスが引数として指定されているか否かを判定し、指定されていない場合（各情報項目についての１回目の呼び出しの場合）はＳ２０２に進み、指定されている場合（各情報項目についての２回目の呼び出しの場合）はＳ２０７に進む。
【００５３】
Ｓ２０２では、プリンタドライバ１７は引数として指定されている情報項目の要素（お任せ印刷設定は除く）の数を計算する。例えば、ＤＣ＿ＰＡＰＥＲＳの場合は（９、１、１１）であるので、数は３である。なお、ＤＣ＿ＰＡＰＥＲＮＡＭＥＳやＤＣ＿ＰＡＰＥＲＳＺＩＥの場合も３である。
【００５４】
Ｓ２０３では、プリンタドライバ１７はお任せ印刷設定があるか否か（登録されているか否か）を判定し、ある場合はＳ２０４に進み、ない場合はＳ２０６に進む。
Ｓ２０４では、プリンタドライバ１７は、プリンタ２に設定不能な設定値が設定されていないお任せ印刷設定をリストアップする処理である「お任せ印刷設定のリストアップ処理」を実行する。「お任せ印刷設定のリストアップ処理」の詳細については後述するが、ここでは「節約印刷_トレイ１」と「両面印刷_トレイ２」とがリストアップされたものとする。
【００５５】
Ｓ２０５では、プリンタドライバ１７はＳ２０２で計算した要素の数（３）に、Ｓ２０４でリストアップしたお任せ印刷設定の数（２）を加算することにより、アプリケーション１６に返す要素数（５）を決定する。
Ｓ２０６では、プリンタドライバ１７はＤｒｖＤｅｖｉｃｅＣａｐａｂｉｌｉｔｉｅｓの戻り値として、Ｓ２０５で決定した要素数をアプリケーション１６に返す。
【００５６】
Ｓ２０７では、プリンタドライバ１７はお任せ印刷設定が登録されているか否か（あるか否か）を判定し、登録されていない場合はＳ２０８に進み、登録されている場合はＳ２０９に進む。
Ｓ２０８では、プリンタドライバ１７は、「設定可能な各値に関する情報」から、引数として指定されている情報項目の要素（例えばＤＣ＿ＰＡＰＥＲＳの場合は９、１、１１）を取得する。
次に、プリンタドライバ１７は、取得した要素を、引数として渡された先頭アドレスで示されるＲＡＭ１３上の領域に格納する。
【００５７】
Ｓ２０９では、プリンタドライバ１７は上述した「お任せ印刷設定のリストアップ処理」を実行する。
Ｓ２１０では、プリンタドライバ１７はリストアップしたお任せ印刷設定について、引数として指定されている文字列によって示される情報項目に応じた情報を取得する。
例えば引数としてＤＣ＿ＰＡＰＥＲＳ（用紙ＩＤ）が指定されている場合には、プリンタドライバ１７は「情報項目に応じた情報」として、リストアップした各お任せ印刷設定のＩＤ（１００１や１００４など）を取得する。
ＤＣ＿ＰＡＰＥＲＮＡＭＥＳ（用紙名）の場合は各お任せ印刷設定の設定名の集合を「情報項目に応じた情報」として取得し、ＤＣ＿ＰＡＰＥＲＳＩＺＥ（用紙サイズ）の場合は各お任せ印刷設定に設定されている用紙サイズの縦横の長さの集合を「情報項目に応じた情報」として取得する。
【００５８】
Ｓ２１１では、プリンタドライバ１７は、先ず、「設定可能な各値に関する情報」から、引数として指定されている情報項目の要素（例えばＤＣ＿ＰＡＰＥＲＳの場合は９、１、１１）を取得する。
次に、プリンタドライバ１７は、取得した要素（例えば９、１、１１）と、Ｓ２１０で生成した「情報項目に応じた情報」（例えばＤＣ＿ＰＡＰＥＲＳの場合は１００１、１００４）とを並べ替える処理である「並べ替え処理」を実行する。「並べ替え処理」の詳細については後述する。
【００５９】
Ｓ２１２では、プリンタドライバ１７はＳ２１１で取得した要素（例えば９、１、１１）と、情報項目に応じた情報（例えば１００１、１００４）とを、Ｓ２１１で並べ替えられた順で、引数として渡された先頭アドレスで示されるＲＡＭ１３上の領域に格納する。
【００６０】
（５−１）お任せ印刷設定のリストアップ処理
図８は、お任せ印刷設定のリストアップ処理の流れを示すフローチャートである。
Ｓ３０１では、プリンタドライバ１７は登録されている全てのお任せ印刷設定をリストアップし、お任せ印刷設定のリストを生成する。
Ｓ３０２では、プリンタドライバ１７は自身がユニバーサルプリンタドライバであるか否かを判定し、ユニバーサルプリンタドライバである場合はＳ３０３に進み、ユニバーサルプリンタドライバではない場合はＳ３０５に進む。
【００６１】
Ｓ３０３では、プリンタドライバ１７は、リストアップした各お任せ印刷設定の各設定項目について、当該設定項目に設定されている設定値が、ユーザによって指定されたプリンタ２から取得した値の集合（当該設定項目に設定可能な値の集合）に含まれているか否かを判定する。すなわち、ユーザが指定したプリンタ２が対応している設定値であるか否かを判定する。
プリンタドライバ１７は、少なくとも一つの設定値が値の集合に含まれていないお任せ印刷設定（設定不能なお任せ印刷設定）がある場合はＳ３０４に進み、ない場合はＳ３０５に進む。
【００６２】
Ｓ３０４では、プリンタドライバ１７は設定不能なお任せ印刷設定を、Ｓ３０１で生成したお任せ印刷設定のリストから削除する。結果として、プリンタ２が対応していない設定値が設定されているお任せ印刷設定に関する情報はアプリケーション１６に返されないことになる。
【００６３】
Ｓ３０５では、プリンタドライバ１７はアプリケーション１６で設定値を設定できる全ての設定項目を特定する。例えば、図３に示す例では、用紙サイズ及び用紙トレイがアプリケーション１６で設定値を設定できる設定項目であるので、用紙サイズ及び用紙トレイを特定する。
この特定は、種々の方法で行うことができる。例えば、あるアプリケーションＡは用紙サイズ及び用紙トレイを設定可能であるとすると、アプリケーションＡは用紙サイズ及び用紙トレイを設定可能であるという情報を予めプリンタドライバ１７に登録しておく。そして、プリンタドライバ１７は、設定値の一覧を問い合わせてきたアプリケーション１６がアプリケーションＡであれば、アプリケーション１６で設定値を設定できる設定項目は用紙サイズ及び用紙トレイであると特定する。
【００６４】
あるいは、それまで問い合わせられたことのないアプリケーション１６から初めて設定値の一覧が問い合わせられたときに、そのアプリケーション１６から設定値の一覧を問い合わせられた全ての設定項目を記憶部１４に記憶しておき、次回以降は記憶部１４から設定項目を読み出すことによって特定してもよい。ただし、その場合は、アプリケーション１６から初めて問い合わせられたときには、設定できる設定項目を全て特定することはできないことになる。
【００６５】
Ｓ３０６では、プリンタドライバ１７は、今回問い合わせられている設定項目以外にアプリケーション１６で設定できる他の設定項目があるか否かを判定する。
例えば、図３に示す例の場合、今回問い合わせられている設定項目が用紙サイズであるとすると、用紙サイズ以外に用紙トレイを設定できるので、あると判定する。
プリンタドライバ１７は、ある場合はＳ３０７に進み、ない場合は本処理を終了して戻る。
【００６６】
Ｓ３０７では、プリンタドライバ１７は、今回問い合わせられている設定項目以外にアプリケーション１６で設定できる他の設定項目の中から一つ（上述した例では用紙トレイ）を選択する。
【００６７】
Ｓ３０８では、プリンタドライバ１７は、お任せ印刷設定のリストにあるお任せ印刷設定の中に、Ｓ３０７で選択した設定項目（用紙トレイ）の設定値が異なり、且つ問い合わせられている設定項目（用紙サイズ）を含むそれ以外の設定項目の設定値が同じである２以上のお任せ印刷設定（重複するお任せ印刷設定）があるか否かを判定する。
例えば、図２に示す例の場合、節約印刷＿トレイ１と節約印刷＿トレイ２とは、選択した設定項目（用紙トレイ）に設定されている設定値が異なり、且つ問い合わせられている設定項目（用紙サイズ）を含むそれ以外の設定項目の設定値が同じである。したがって、プリンタドライバ１７は「ある」と判定することになる。
【００６８】
なお、図２に示す例では、両面印刷＿トレイ１と両面印刷＿トレイ２とについても、用紙トレイ（選択した設定項目）の設定値が異なり、且つ用紙サイズ（問い合わせられている設定項目）を含むそれ以外の設定項目の設定値が同じであるので、その意味でもプリンタドライバ１７は「ある」と判定することになる。
プリンタドライバ１７は、あると判定した場合はＳ３０９に進み、ないと判定した場合はＳ３１０に進む。
【００６９】
Ｓ３０９では、プリンタドライバ１７は、重複するお任せ印刷設定について、いずれか一つを残して他をお任せ印刷設定のリストから削除する。
例えば、節約印刷＿トレイ１と両面印刷＿トレイ２とを残し、節約印刷＿トレイ２と両面印刷＿トレイ１とをリストから削除する。
【００７０】
Ｓ３１０では、プリンタドライバ１７は、今回問い合わせられている設定項目（用紙サイズ）以外にアプリケーション１６で設定できる他の設定項目のうちまだ選択していない設定項目があるか否かを判定し、ある場合は全て選択するまでＳ３０７に戻って処理を繰り返し、ない場合は本処理を終了して戻る。
以上により、アプリケーション１６に返すお任せ印刷設定がリストアップされる
【００７１】
（５−２）並べ替え処理
図９及び図１０は、並べ替え処理の流れを示すフローチャートである。
ここでは並び順として、「お任せ印刷設定を、そのお任せ印刷設定に設定されている設定値と同じ値と並べる」並び順と、「先に値の集合に含まれている値を並べ、その後にお任せ印刷設定に関する情報を並べる」順とがある場合を例に説明する。
【００７２】
「お任せ印刷設定を、そのお任せ印刷設定に設定されている設定値と同じ値と並べる」順は、前述した図５に示す並び順である。例えば「節約印刷＿トレイ１」には用紙サイズとしてＡ４が設定されているので、「Ａ４」と「節約印刷＿トレイ１」とが連続するように並べられる。
「先に値の集合に含まれている値を並べ、その後にお任せ印刷設定に関する情報を並べる」順は、図１１に示すように、先に設定可能な値に関する情報を並べ、その後にお任せ印刷設定に関する情報を並べる並び順である。
【００７３】
これら２つの並び順のうちいずれの並び順で並べるかは予め設定されているものとする。この設定はプリンタドライバ１７によって表示される印刷条件設定画面で行ってもよい。
以下、並べ替え処理について、引数としてＤＣ＿ＰＡＰＥＲＳ（用紙ＩＤ）が指定されている場合を例に説明する。
【００７４】
Ｓ４０１では、プリンタドライバ１７は空の順序リストを生成する。
Ｓ４０２では、プリンタドライバ１７は、「設定可能な各値に関する情報」から、引数として指定されている文字列（ここではＤＣ＿ＰＡＰＥＲＳ）によって示される情報項目の要素（９、１、１１）を取得する。
Ｓ４０３では、プリンタドライバ１７はＳ２０９の「お任せ印刷設定のリストアップ処理」でリストアップしたお任せ印刷設定のリストを取得する。
【００７５】
Ｓ４０４では、プリンタドライバ１７は「お任せ印刷設定を、そのお任せ印刷設定に設定されている設定値と同じ値と並べる」ように設定されているか否かを判定し、設定されている場合はＳ４０５に進み、設定されていない場合（すなわち「先に値の集合に含まれている値を並べ、その後にお任せ印刷設定に関する情報を並べる」が設定されている場合）はＳ４１３に進む。
【００７６】
Ｓ４０５では、プリンタドライバ１７はＳ４０２で取得した要素（９、１、１１）を上から順に一つ選択する。要素の選択は、いずれの情報項目でも対応する用紙サイズが同じ順で並ぶように行うものとする。
Ｓ４０６では、プリンタドライバ１７は選択した要素を順序リストに追加する。
【００７７】
Ｓ４０７では、プリンタドライバ１７はお任せ印刷設定のリストの中に、Ｓ４０５で選択した要素に対応する用紙サイズが設定されているお任せ印刷設定があるか否かを判定する。
例えば、Ｓ４０５で選択した要素が「１１」であるとすると、その要素に対応する用紙サイズはＡ５であり、お任せ印刷設定のリストの中にはＡ５が設定されているお任せ印刷設定はないので、ないと判定する。また、例えばＳ４０５で選択した要素が「９」であるとすると、その要素に対応する用紙サイズはＡ４であり、「節約印刷_トレイ１」には用紙サイズとしてＡ４が設定されているので、あると判定することになる。
プリンタドライバ１７は、ある場合はＳ４０８に進み、ない場合はＳ４１０に進む。
【００７８】
Ｓ４０８では、プリンタドライバ１７は、Ｓ２１０で取得した「情報項目に応じた情報」のうち、選択した要素に対応する設定値が設定されているお任せ印刷設定の情報を順序リストに追加する。
例えば用紙ＩＤの場合、「情報項目に応じた情報」は（１００１、１００４）であり、選択した要素が９であるとすると、選択した要素に対応する設定値はＡ４であり、Ａ４が設定されているお任せ印刷設定は「節約印刷＿トレイ１」であるので、選択した要素に対応する設定値が設定されているお任せ印刷設定の情報である「１００１」を順序リストに追加する。
【００７９】
Ｓ４０９では、プリンタドライバ１７はＳ４０８で情報が順序リストに追加されたお任せ印刷設定（上述した例では節約印刷＿トレイ１）をお任せ印刷設定のリストから削除する。
Ｓ４１０では、プリンタドライバ１７は未だ選択していない要素があるか否かを判定し、ある場合は全ての要素の選択が終了するまでＳ４０５に戻って処理を繰り返し、ない場合はＳ４１１に進む。
【００８０】
Ｓ４１１では、プリンタドライバ１７は、お任せ印刷設定のリストが空であるか否かを判定し、空でない場合はＳ４１２に進み、空である場合は本処理を終了して戻る。
ここで、設定可能な値（お任せ印刷設定を除く用紙ＩＤの要素）を全て選択したにもかかわらずお任せ印刷設定のリストが空でない場合とは、ユーザが用紙サイズをカスタム設定した場合である。ユーザが用紙サイズをカスタム設定し、その用紙サイズをお任せ印刷設定に設定した場合、選択した要素に対応する設定値が設定されていないことにより、お任せ印刷設定のリストに未だお任せ印刷設定が残っていることになる。
【００８１】
Ｓ４１２では、プリンタドライバ１７は、「情報項目に応じた情報」のうち、お任せ印刷設定のリストにあるお任せ印刷設定の情報を順序リストに追加する。
Ｓ４１３では、プリンタドライバ１７は、引数として指定されている文字列（ここではＤＣ＿ＰＡＰＥＲＳ）によって示される情報項目の要素（９、１、１１）、Ｓ２１０で生成した「情報項目に応じた情報」（１００１、１００４）の順で順序リストに追加する。
【００８２】
（６）印刷処理
図１２は、プリンタドライバ１７によって実行される印刷処理の流れを示すフローチャートである。アプリケーション１６によって表示されるメニューでユーザが印刷を指示すると、アプリケーション１６はＯＳを介してプリンタドライバ１７に印刷命令を出力し、プリンタドライバ１７は印刷命令が出力されると本処理を開始する。
【００８３】
Ｓ５０１では、プリンタドライバ１７は受渡し用ＤＥＶＭＯＤＥ構造体から各設定項目の設定値（用紙ＩＤやお任せ印刷設定のＩＤ等）を読み出す。
Ｓ５０２では、プリンタドライバ１７はＳ５０１で読み出したいずれかの設定値がお任せ印刷設定のＩＤであるか否かを判定し、お任せ印刷設定のＩＤでない場合はＳ５０３に進み、お任せ印刷設定のＩＤである場合はＳ５０４に進む。
【００８４】
Ｓ５０３では、プリンタドライバ１７は受渡し用ＤＥＶＭＯＤＥ構造体に設定されている設定値を印刷用ＤＥＶＭＯＤＥ構造体にコピーする。
Ｓ５０４では、プリンタドライバ１７はお任せ印刷設定のＩＤによって識別されるお任せ印刷設定の各設定項目に設定されている設定値を、それぞれ印刷用ＤＥＶＭＯＤＥ構造体の対応する設定項目に設定する。
【００８５】
Ｓ５０５では、プリンタドライバ１７は受渡し用ＤＥＶＭＯＤＥ構造体と印刷用ＤＥＶＭＯＤＥ構造体とで矛盾する設定値が設定されているか否かを判定する。
例えば、ユーザはページ設定画面４１で用紙サイズの設定値として「節約印刷_トレイ１」を設定する一方で、ページ設定画面４１の用紙トレイにトレイ２を設定する可能性もある。この場合、受渡し用ＤＥＶＭＯＤＥ構造体に設定されている設定値（トレイ２）と、印刷用ＤＥＶＭＯＤＥ構造体に設定されている設定値（トレイ１）とは矛盾することになる。
プリンタドライバ１７は、矛盾する設定値がある場合はＳ５０６に進み、ない場合はＳ５１０に進む。
【００８６】
Ｓ５０６では、プリンタドライバ１７は設定値が矛盾する設定項目（上述した例では用紙トレイ）を抽出する。
Ｓ５０７では、プリンタドライバ１７は図１３に示す印刷設定の確認画面４２を表示装置２１に表示し、抽出した設定項目（用紙トレイ）の設定値について、印刷用ＤＥＶＭＯＤＥ構造体に設定されている設定値を、ページ設定画面４１で設定した設定値で置き換えるか否かをユーザに問い合わせる。
【００８７】
Ｓ５０８では、プリンタドライバ１７はＳ５０７でユーザが「置き換える」を選択した場合はＳ５０９に進み、「置き換える」を選択しなかった場合はＳ５１０に進む。
Ｓ５０９では、プリンタドライバ１７は印刷用ＤＥＶＭＯＤＥ構造体のＳ５０６で抽出した設定項目（用紙トレイ）に設定されている設定値を、ユーザがページ設定画面４１で設定した設定値に置き換える。
【００８８】
ここで、置き換えるのは用紙トレイの設定値のみであるので、ユーザが「置き換える」を選択した場合も「置き換える」を選択しなかった場合も、少なくとも、お任せ印刷設定のＩＤが設定されている設定項目（用紙サイズ）と、アプリケーション１６からは設定値が設定されない設定項目（色数、画質、両面印刷、片面印刷ページ数など）とについては、そのＩＤによって識別されるお任せ印刷設定に設定されている設定値が印刷に用いられることになる。
【００８９】
Ｓ５１０では、プリンタドライバ１７は印刷用ＤＥＶＭＯＤＥ構造体に設定されている設定値に基づいてプリンタ２を制御することにより、印刷用ＤＥＶＭＯＤＥ構造体に設定されている設定値に応じた形態でプリンタ２に印刷を実行させる（制御処理の一例）。
【００９０】
（７）実施形態の効果
以上説明した実施形態１に係るプリンタドライバ１７によると、アプリケーション１６から設定項目に設定可能な設定値の一覧を問い合わせられると、当該設定項目に設定可能な値に関する情報（設定可能な値と対応する名称との集合を含む）と、お任せ印刷設定に関する情報（お任せ印刷設定のＩＤと対応する設定名とを含む）とを設定値の一覧としてアプリケーション１６に返すので、ユーザはアプリケーション１６からお任せ印刷設定を指定できる。
これにより、ユーザはお任せ印刷設定を指定しようとする度にプリンタドライバ１７を呼び出して印刷条件設定画面を表示させるといったことを行わなくてよく、お任せ印刷設定を指定する場合のユーザの利便性を向上できる。
【００９１】
更に、プリンタドライバ１７によると、指定されたプリンタ２から取得した値の集合に含まれていない設定値が設定されているお任せ印刷設定についてはそのお任せ印刷設定に関する情報をアプリケーション１６に返さない。
プリンタドライバ１７がユニバーサルプリンタドライバである場合、同じ設定項目であっても設定可能な設定値はプリンタ２によって異なり得る。このため、お任せ印刷設定に設定されている設定値に対応していないプリンタ２が存在する可能性もある。
プリンタドライバ１７がユニバーサルプリンタドライバである場合は、指定されたプリンタ２から取得した値の集合に含まれていない設定値が設定されているお任せ印刷設定についてはそのお任せ印刷設定に関する情報をアプリケーション１６に返さないようにすることにより、指定されたプリンタ２が対応していない設定値が設定されているお任せ印刷設定のＩＤが設定値として設定されてしまうことを低減できる。
【００９２】
更に、プリンタドライバ１７によると、アプリケーション１６から少なくとも二つの設定項目についてそれぞれ設定値の一覧をプリンタドライバ１７に問い合わせられた場合、少なくとも二つの設定項目のうちいずれか一つの設定項目である第１の設定項目（用紙サイズ）に対しては値の集合とお任せ印刷設定に関する情報とを設定値の一覧として返し、少なくとも二つの設定項目のうち第１の設定項目以外の設定項目である第２の設定項目（用紙トレイ）に対しては値の集合を返す一方、お任せ印刷設定に関する情報を返さない。
複数の設定項目に対してお任せ印刷設定に関する情報を返すと、それら複数の設定項目のうちある設定項目に設定されたお任せ印刷設定のＩＤと他の設定項目に設定されたお任せ印刷設定のＩＤとが異なってしまう虞がある。
プリンタドライバ１７によると、少なくとも二つの設定項目のうち第１の設定項目に対してはお任せ印刷設定に関する情報を返し、第２の設定項目に対してはお任せ印刷設定に関する情報を返さないので、複数の設定項目に異なるお任せ印刷設定のＩＤが設定されてしまうことを低減できる。
【００９３】
更に、プリンタドライバ１７によると、第２の設定項目に設定されている設定値が互いに異なり、第１の設定項目を含むそれ以外の設定項目に設定されている設定値が互いに同じである２以上のお任せ印刷設定があるか否かを判定し、当該２以上のお任せ印刷設定がある場合は、それら２以上のお任せ印刷設定についてはいずれか一つのお任せ印刷設定に関する情報をアプリケーション１６に返す。
第２の設定項目に設定されている設定値が互いに異なり、第１の設定項目を含むそれ以外の設定項目に設定されている設定値が互いに同じである２以上のお任せ印刷設定がある場合、それら２以上のお任せ印刷設定についてはいずれか一つのお任せ印刷設定に関する情報を返せばよい。
なぜなら、それら２以上のお任せ印刷設定のうちいずれか一つのお任せ印刷設定に関する情報が設定された場合には、第２の設定項目の設定値によって、結果的にそれら２以上のお任せ印刷設定のうちのいずれかを用いることになるからである。例えば節約印刷＿トレイ１が選択され、ページ設定画面４１の用紙トレイにトレイ１が設定されていれば節約印刷＿トレイ１を用いることになる、また、節約印刷＿トレイ１が選択され、ページ設定画面４１の用紙トレイにトレイ２が設定されていれば、ユーザがＳ５０７で「置き換える」を選択することにより、結果として節約印刷＿トレイ２を用いることになる。
この場合、アプリケーション１６に返すのはそれら２以上のお任せ印刷設定のうちいずれか一つのお任せ印刷設定に関する情報であるので、設定値の一覧に含まれるお任せ印刷設定に関する情報の数を減らすことができ、ユーザによる指定が容易になる。
【００９４】
更に、プリンタドライバ１７によると、印刷条件（受渡し用ＤＥＶＭＯＤＥ構造体）に設定されているＩＤによって識別されるお任せ印刷設定の第２の設定項目（用紙トレイ）に設定されている設定値と、印刷条件（受渡し用ＤＥＶＭＯＤＥ構造体）の第２の設定項目（用紙トレイ）に設定されている設定値とが異なる場合は、それら二つの設定値のうち、予め決められた方法（本実施形態ではユーザに選択させる）によっていずれかを選択し、ユーザによって選択された設定値を用いる。
このため、プリンタドライバ１７によると、受渡し用ＤＥＶＭＯＤＥ構造体に設定されているＩＤによって識別されるお任せ印刷設定の第２の設定項目に設定されている設定値と、受渡し用ＤＥＶＭＯＤＥ構造体の第２の設定項目に設定されている設定値とが異なる場合に、いずれの設定値を用いるかを決定できる。
【００９５】
更に、プリンタドライバ１７によると、設定可能な値の集合に含まれる値（例えばＡ４，Ｌｅｔｔｅｒ，Ａ５）と、お任せ印刷設定について生成した「情報項目に応じた情報」（例えば節約印刷＿トレイ１、両面印刷＿トレイ２）とを所定の並び順で並べて返すので、ユーザにとって設定値を指定し易い並び順を所定の並び順とすることにより、ユーザがより容易に設定値を指定できる。
【００９６】
更に、プリンタドライバ１７によると、上述した並び順をユーザが選択できる。
【００９７】
＜他の実施形態＞
本発明は上記記述及び図面によって説明した実施形態に限定されるものではなく、例えば次のような実施形態も本発明の技術的範囲に含まれる。
【００９８】
（１）上記実施形態１ではデバイスとしてプリンタ２を例に説明したが、デバイスはプリンタ２に限られるものではなく、例えばスキャナやファクシミリであってもよいし、プリント機能、スキャン機能などを備える所謂複合機であってもよい。
【００９９】
（２）上記実施形態１では、印刷条件（受渡し用ＤＥＶＭＯＤＥ構造体）に設定されているＩＤによって識別されるお任せ印刷設定の第２の設定項目に設定されている設定値と、印刷条件（受渡し用ＤＥＶＭＯＤＥ構造体）の第２の設定項目に設定されている設定値とが異なる場合は、それら二つの設定値のうち、いずれの設定値を用いるかをユーザに選択させているが、いずれの設定値を用いるかは予め固定で決められていてもよい。
【０１００】
（３）上記実施形態１では値の集合に含まれている値に関する情報と情報項目に応じた情報との並び順をユーザが選択できる場合を例に説明したが、この並び順は予め固定で決められていてもよい。
【０１０１】
（４）上記実施形態１では、ユーザは用紙サイズにお任せ印刷設定の設定名を設定した場合でも用紙トレイに設定値を設定できるが、用紙サイズにお任せ印刷設定の設定名を設定した場合は、用紙トレイを設定できないようにしてもよい。
【０１０２】
あるいは、用紙サイズに設定されているＩＤによって識別されるお任せ印刷設定の用紙トレイに設定されている設定値と、当該お任せ印刷設定と用紙トレイの設定値のみが異なるお任せ印刷設定の用紙トレイに設定されている設定値との中からしか用紙トレイの設定値を選択できないようにしてもよい。
【符号の説明】
【０１０３】
１・・・パーソナルコンピュータ
２（２Ａ〜２Ｄ）・・・プリンタ
５・・・通信ネットワーク
１１・・・ＣＰＵ
１２・・・ＲＯＭ
１３・・・ＲＡＭ
１４・・・記憶部
１６・・・アプリケーションプログラム
１７・・・プリンタドライバ
４１・・・ページ設定画面
４２・・・印刷設定の確認画面 
【図１】
0005201188.tif 000002
【図２】
0005201188.tif 000003
【図３】
0005201188.tif 000004
【図４】
0005201188.tif 000005
【図５】
0005201188.tif 000006
【図６】
0005201188.tif 000007
【図７】
0005201188.tif 000008
【図８】
0005201188.tif 000009
【図９】
0005201188.tif 000010
【図１０】
0005201188.tif 000011
【図１１】
0005201188.tif 000012
【図１２】
0005201188.tif 000013
【図１３】
0005201188.tif 000014