(57)【特許請求の範囲】
【請求項１】
ＧＰＤファイルに他のファイルを読み込むための特定のコマンドが記述されているか否かを判定する第１判定手段と、
前記第１判定手段により前記特定のコマンドが記述されていると判定された場合、前記特定のコマンドが指定するパスにファイルが存在するか否かを判定する第２判定手段と、前記第２判定手段により前記特定のコマンドにおいて指定されたパスにファイルが存在すると判定された場合、前記ＧＰＤファイルと前記指定されたパスに存在するファイルとに基づいて印刷設定画面を表示し、前記第２判定手段により前記特定のコマンドにおいて指定されたパスにファイルが存在しないと判定された場合、前記ＧＰＤファイルに基づいて印刷設定画面を表示する表示制御手段と、
前記ＧＰＤファイルに基づく印刷設定画面を用いて設定された印刷設定情報から印刷設定情報用のＧＰＤファイルを生成する生成手段と、
前記生成手段により生成された前記印刷設定情報用のＧＰＤファイルを前記特定のコマンドにおいて指定されたパスに記憶する記憶手段を備えることを特徴とする情報処理装置。
【請求項２】
前記生成手段は、前記印刷設定画面を用いて設定された印刷設定情報を呼び出すための選択肢と、前記印刷設定画面を用いて設定されていない印刷設定情報とが、排他制御されるように記述された前記印刷設定情報用のＧＰＤファイルを生成することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記印刷設定情報用のＧＰＤファイルを生成する場合、ログインユーザ単位のフォルダを生成し、前記ログインユーザのフォルダに前記生成手段により生成された前記印刷設定情報用のＧＰＤファイルを保存する保存手段を更に備えることを特徴する請求項１または２に記載の情報処理装置。
【請求項４】
ＧＰＤファイルに他のファイルを読み込むための特定のコマンドが記述されているか否かを判定する第１判定工程と、
前記第１判定工程により前記特定のコマンドが記述されていると判定された場合、前記特定のコマンドが指定するパスにファイルが存在するか否かを判定する第２判定工程と、前記第２判定工程により前記特定のコマンドにおいて指定されたパスにファイルが存在すると判定された場合、前記ＧＰＤファイルと前記指定されたパスに存在するファイルとに基づいて印刷設定画面を表示し、前記第２判定工程により前記特定のコマンドにおいて指定されたパスにファイルが存在しないと判定された場合、前記ＧＰＤファイルに基づいて印刷設定画面を表示する表示制御工程と、
前記ＧＰＤファイルに基づく印刷設定画面を用いて設定された印刷設定情報から印刷設定情報用のＧＰＤファイルを生成する生成工程と、
前記生成工程により生成された前記印刷設定情報用のＧＰＤファイルを前記特定のコマンドにおいて指定されたパスに記憶する記憶工程を備えることを特徴とする情報処理装置において実行される制御方法。
【請求項５】
ＧＰＤファイルに他のファイルを読み込むための特定のコマンドが記述されているか否かを判定する第１判定工程と、
前記第１判定工程により前記特定のコマンドが記述されていると判定された場合、前記特定のコマンドが指定するパスにファイルが存在するか否かを判定する第２判定工程と、前記第２判定工程により前記特定のコマンドにおいて指定されたパスにファイルが存在すると判定された場合、前記ＧＰＤファイルと前記指定されたパスに存在するファイルとに基づいて印刷設定画面を表示し、前記第２判定工程により前記特定のコマンドにおいて指定されたパスにファイルが存在しないと判定された場合、前記ＧＰＤファイルに基づいて印刷設定画面を表示する表示制御工程と、
前記ＧＰＤファイルに基づく印刷設定画面を用いて設定された印刷設定情報から印刷設定情報用のＧＰＤファイルを生成する生成工程と、
前記生成工程により生成された前記印刷設定情報用のＧＰＤファイルを前記特定のコマンドにおいて指定されたパスに記憶する記憶工程をコンピュータに実行させるためのプログラム。
【請求項６】
前記生成工程は、前記印刷設定画面を用いて設定された印刷設定情報を呼び出すための選択肢と、前記印刷設定画面を用いて設定されていない印刷設定情報とが、排他制御されるように記述された前記印刷設定情報用のＧＰＤファイルを生成することを特徴とする請求項５に記載のプログラム。
【請求項７】
前記生成工程は、前記印刷設定情報用のＧＰＤファイルを生成する場合、ログインユーザ単位のフォルダを生成し、
前記記憶工程は、前記ログインユーザのフォルダに前記生成工程により生成された前記印刷設定情報用のＧＰＤファイルを記憶することを特徴する請求項５または６に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
プリンタードライバーのユーザーインタフェースに関する。
【背景技術】
【０００２】
プリンターはＰＣ上で動作するプリンタードライバーと呼ばれるソフトウェアによって制御される。プリンタードライバーは、ユーザーに対して印刷設定情報の設定操作を可能にするためにユーザーインタフェース（ＵＩ）を提供する。また、プリンタードライバーは、アプリケーションからの描画命令をプリンターの解釈できる印刷データ（ＰＤＬ）に変換してプリンターに印刷データを送信する。
【０００３】
また、Ｗｉｎｄｏｗｓ（商標登録）  ＯＳにおけるプリンタードライバーの中にはＧＰＤ  （Ｇｅｎｅｒｉｃ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）ベースのプリンタードライバーが存在する。ＧＰＤベースのプリンタードライバーでは、プリンターメーカーの作成したテキスト形式のＧＰＤファイルを元にＷｉｎｄｏｗｓ  ＯＳがプリンタードライバーのＵＩを生成する。
【０００４】
一方、ＧＰＤベースのプリンタードライバーはセキュリティの高さから、プリンターメーカーから配布されたＧＰＤファイルをインストールした後で、ドライバーのファイルをユーザーの権限等の観点から容易に改変できない。それに対し、プリンタードライバーの機能を後からカスタマイズ可能にするために、例えば特許文献１のような技術が公開されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１０−２１８３４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
インストールされたＧＰＤファイルは編集を受け付けないため、ＧＰＤベースのプリンタードライバーには、後から設定項目を追加することができない。その結果、ＧＰＤベースのプリンタードライバーは、例えば、ユーザーが任意の印刷設定情報をお気に入り設定として保持し、保持したお気に入り設定を再利用するといったお気に入り機能のような使い方を提供できない。これはＧＰＤファイルの現状の仕様によるもので、ＧＰＤファイルに記述された選択肢の中からのみ印刷設定情報の指定が可能なためである。なお、プリンタードライバーのインストール前であれば、特許文献１のように処理を行うことで、プリンターごとに選択肢を増やすことも可能である。しかし、この方法では、やはりインストール後に容易に選択肢を増やすことができない。その結果、ＧＰＤベースのプリンタードライバーにおいてユーザーの操作負荷が大きくなる可能性があった。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、本願発明は、
ＧＰＤファイルに他のファイルを読み込むための特定のコマンドが記述されているか否かを判定する第１判定手段と、
前記第１判定手段により前記特定のコマンドが記述されていると判定された場合、前記特定のコマンドが指定するパスにファイルが存在するか否かを判定する第２判定手段と、前記第２判定手段により前記特定のコマンドにおいて指定されたパスにファイルが存在すると判定された場合、前記ＧＰＤファイルと前記指定されたパスに存在するファイルとに基づいて印刷設定画面を表示し、前記第２判定手段により前記特定のコマンドにおいて指定されたパスにファイルが存在しないと判定された場合、前記ＧＰＤファイルに基づいて印刷設定画面を表示する表示制御手段と、
前記ＧＰＤファイルに基づく印刷設定画面を用いて設定された印刷設定情報から印刷設定情報用のＧＰＤファイルを生成する生成手段と、
前記生成手段により生成された前記印刷設定情報用のＧＰＤファイルを前記特定のコマンドにおいて指定されたパスに記憶する記憶手段を備えることを特徴とする。
【発明の効果】
【０００８】
本発明により、ＧＰＤベースのプリンタードライバーにおいても、ユーザーの操作負荷を軽減することができる。
【図面の簡単な説明】
【０００９】
【図１】本実施例のハードウェア構成の一例を示したブロック図である。
【図２】本実施例のソフトウェア構成の一例を示したブロック図である。
【図３】ドライバーストアの詳細を示した模式図である。
【図４】ＧＰＤベースのプリンタードライバーＵＩの一例を示している。
【図５】ＧＰＤファイルの一例を示している。
【図６】本発明を実施するＧＰＤの特徴の一例を示した図である。
【図７】本発明を実施するＧＰＤファイルの読み込み処理について示したフローチャート図である。
【図８】本発明を実施するフローを示すフローチャートの図である。
【図９】本実施例を実施する印刷設定ＵＩの一例を示す図である。
【図１０】本発明を実施した後の印刷設定詳細の一例を示すＵＩ図である。
【図１１】図１０で示したＵＩに対応するＧＰＤファイルの記述の抜粋を示した図である。
【図１２】図１１の記述を作成するフローを示したフローチャート図である。
【図１３】追加作成したＧＰＤファイルの一例の抜粋を示した図である。
【図１４】本発明を実施するフローの一例を示すフローチャート図である。
【図１５】図１４の実施により、実施される印刷設定ＵＩの一例を示した図である。
【図１６】アドイン対応のＧＰＤファイルの一例を示した図である。
【図１７】図１４により生成されるＧＰＤファイルの一例を示した図である。
【図１８】ファイル構造の一例を示した図である。
【発明を実施するための形態】
【００１０】
［実施例１］
以下、本発明を実施するための最良の形態について図面を用いて説明する。
【００１１】
図１は、本実施例におけるプリントシステムのハードウェア構成を示すブロック図である。コンピューター（情報処理装置、ＰＣ）１００とプリンター５００がネットワークやＵＳＢを介して接続されている。ＣＰＵ１０１は、システムバス１０４に接続されているデバイスやコントローラを統括的に制御する。ＲＡＭ１０２はＣＰＵ１０１の主メモリ、ワークメモリとして機能する。ＲＯＭ１０３はコンピューター１００のＢＩＯＳなどが記憶されている。入力コントローラ１０５はマウスやキーボードなどの入力デバイス１０９を制御する。ビデオコントローラ１０６はモニタ１１０への表示を制御する。メモリコントローラ１０７はＨＤＤなどの外部メモリ１１１への読み書きを制御する。通信Ｉ／Ｆコントローラ１０８は外部機器との通信インタフェースを制御する。
【００１２】
本発明を実現するための各種プログラムは、外部メモリ１１１に記憶されており、必要に応じてＲＡＭ１０２にロードされ、ＣＰＵ１０１によって実行される。
【００１３】
図２は、本実施例におけるコンピューター１００内のソフトウェア構成を示すブロック図である。オペレーティングシステム３００は各種ソフトウェアやハードウェアを制御する。なお、本実施例におけるオペレーティングシステム３００はＷｉｎｄｏｗｓ（登録商標）  ＯＳを一例に挙げて説明する。アプリケーション２００は例えば文書作成や表計算を行うためのソフトウェアであり、オペレーティングシステム３００の機能を用いて、プリンター５００へ印刷を指示できる。また、オペレーティングシステム３００は、プリンター５００を制御するためのプリンタードライバーを管理しており、各プリンター用に用意されたプリンタードライバーのファイル群をドライバーストア４００と呼ばれる記憶領域に格納している。なお、ドライバーストア４００は外部メモリ１１１の中に存在する。
【００１４】
図３はドライバーストア４００の詳細を示した模式図である。ドライバーストア４００には、コンピューター１００にインストールされたプリンタードライバーの数と同数のドライバーセット４１０が格納されている。ドライバーセットは例えばＧＰＤベースのプリンタードライバーであれば図３に示すファイルを含んでいる。ＧＰＤファイル４１１にはプリンター固有の印刷設定項目と各項目の選択肢がテキストベースで記述されている。コンフリクト制御ファイル４１２には印刷設定情報の組み合わせにおける禁則仕様がテキストベースで記述されている。リソースファイルはプリンタードライバーＵＩ上の文字列などのリソースを保持している。オペレーティングシステム３００は必要に応じてＧＰＤファイル４１１やリソースファイル４１３を元にプリンタードライバーＵＩ（印刷設定画面とも呼ばれる）を生成し、モニタ１１０に表示する。ユーザーは印刷前にプリンタードライバーＵＩを使用して印刷設定情報を編集することができる。
【００１５】
レンダリングモジュール４１４は、アプリケーション２００からの印刷時に、描画命令とプリンタードライバーＵＩを用いて設定された印刷設定情報とに基づいてプリンター５００の解釈可能な印刷データ（ＰＤＬ）に変換する。
【００１６】
図４はＧＰＤベースのプリンタードライバーＵＩの一例を示している。プリンタードライバーＵＩ１０００はオペレーティングシステム３００によってダイアログ形式で表示される。印刷設定情報は領域１０５０にツリー形式で表示される。図４は「ステープル：」１０１０の印刷設定項目をユーザーが選択したときのＵＩを示している。ここで「ステープル：」１０１０のコンボボックスには、「オフ」１０１１、「左上」１０１２、「中綴じ」１０１３の３つの選択肢が用意されており、ユーザーは任意の選択肢を選択することができる。プリンタードライバーＵＩ１０００には「ＯＫ」ボタン１０８０と「キャンセル」ボタン１０９０が用意されている。ユーザーによって「ＯＫ」ボタン１０８０が押されるとＵＩで示す印刷設定情報が保存され、「キャンセル」ボタン１０９０が押されるとＵＩで示す印刷設定情報が破棄される。保存された印刷設定情報はオペレーティングシステム３００によって印刷時に適用される。つまり、図４の複数の項目において選択されている各選択肢の値によって印刷設定情報が決まる。
【００１７】
図５は一般的なＧＰＤファイル４１１の一例を示している。ＧＰＤファイル２０００は図４のＵＩを表示するためのＧＰＤファイルからの抜粋である。ＧＰＤファイルにはＦｅａｔｕｒｅと呼ばれる印刷設定項目とＯｐｔｉｏｎと呼ばれる選択肢の組み合わせが記述されている。図５ではＦｅａｔｕｒｅ（印刷設定項目）としての「Ｓｔａｐｌｉｎｇ」２０１０に対して、「ＯＦＦ」２０１１、「ＴＯＰ＿ＬＥＦＴ」２０１２、「ＳＡＤＤＬＥＳＴＩＴＣＨ」２０１３の３つのＯｐｔｉｏｎ（選択肢）が記述されている。オペレーティングシステム３００はＧＰＤファイル２０００やリソースファイル４１３を使用して図４に示すプリンタードライバーＵＩ１０００を生成する。
【００１８】
図６は、本願を実施するために拡張したＧＰＤファイルの記述の一例を示す。ＧＰＤファイル２０００には、コマンド２１１１とパラメーター２１１２が拡張されている。
【００１９】
コマンド２１１１の「ＡｄｖａｎｃｅＩｎｃｌｕｄｅ」は、「Ｉｎｃｌｕｄｅ」を拡張した特定のコマンドであり、遅延リンクを可能とする特定のコマンドである。これまでの「Ｉｎｃｌｕｄｅ」のコマンドでは、ＧＰＤベースのプリンタードライバーが呼び出される際に、参照先に該当するファイルが存在しない場合は、プリンタードライバーがエラーであるとみなされていた。そのため、例えば、「Ｉｎｃｌｕｄｅ」の参照先にファイルがない場合、そのプリンタードライバーはインストールができなかった。
【００２０】
コマンド２１１１の「ＡｄｖａｎｃｅＩｎｃｌｕｄｅ」は、該当するファイルが存在しない場合でも、エラーとすることを回避する。
【００２１】
パラメーター２１１２の「％ＵＳＥＲ％」は、環境変数のように任意の時点の環境における変数を記載するパラメーターである。ここでは、あるＰＣにログインしているユーザー名を取得することが可能なパラメーターとなっている。なお、ＧＰＤベースのプリンタードライバーが呼びされる際とは、プリンタードライバーのインストール時やユーザーがインストール済みのプリンタードライバーを選択した時などが相当する。
【００２２】
図７は、本発明を実施するＧＰＤファイルの読み込み処理について示したフローチャート図である。なお、本願のフローチャートの各ステップは、ＣＰＵ１０１がメモリから関連するプログラムを読みだして実行することにより実現される。
【００２３】
ＯＳは、ＧＰＤベースのプリンタードライバーを呼び出し、ＧＰＤファイルを読み込む（ステップＳ７００１）。
【００２４】
そして、ＯＳはＧＰＤファイル中にコマンド２１１１の「ＡｄｖａｎｃｅＩｎｃｌｕｄｅ」があるか否かを判定する（ステップＳ７００２）。Ｓ７００２において「ＡｄｖａｎｃｅＩｎｃｌｕｄｅ」が無いと判定された場合、本フローをそのまま終了し、「ＡｄｖａｎｃｅＩｎｃｌｕｄｅ」があると判定された場合、本フローはステップＳ７００３へ進む。
【００２５】
そして、ステップＳ７００３にて、ＯＳはリンクのパス中にパラメーター２１１２の「％ＵＳＥＲ％」の記述の有無を判定する。記述がある場合は、ＰＣ内で設定されている環境変数を判別して（ステップＳ７００４）、パスを取得する（ステップＳ７００５）。具体的には、図６のＧＰＤファイルの％ＵＳＥＲ（Ｓ７００４で判別された環境変数）％Ｏｋｉｎｉｉｒｉ１．ｇｐｄがＳ７００５においてパスとして取得される。また、「％ＵＳＥＲ％」の記述がない場合、ＯＳはＳ７００５へ進み「ＡｄｖａｎｃｅＩｎｃｌｕｄｅ」に記載されたパスを取得する。
【００２６】
そして、ＯＳは取得したパスにファイルが存在するか否かを判定する（ステップＳ７００６）。パスの先に、ファイルが存在しない場合、ＯＳはコマンド２１１１の「ＡｄｖａｎｃｅＩｎｃｌｕｄｅ」を無視し、コマンド２１１１が無いものとして動作する。パスの先に、ファイルが存在する場合（例えば図１８の１８０１）、ＯＳはパス先のＧＰＤファイルに記述されている情報を読み込む（ステップＳ７００７）。そして、Ｓ７００７にて読み込まれたＧＰＤファイルの情報を、ＧＰＤベースのプリンタードライバーへ反映させて本フローチャートを終了する。
【００２７】
つまり、本願では、Ｓ７００６においてファイルが存在しないと判定された場合にＡｄｖａｎｃｅＩｎｃｌｕｄｅが無視されるため、プリンタードライバーがエラーであると判定されずに処理を継続できる。
【００２８】
一方、Ｓ７００６においてファイルが存在すると判定された場合、プリンタードライバーのＧＰＤファイルと「ＡｄｖａｎｃｅＩｎｃｌｕｄｅ」のパスに保存されたＧＰＤファイルとの両者に基づくプリンタードライバーのＵＩが表示される。
【００２９】
以上の処理により、Ｓ７００１において読み込まれたＧＰＤファイルに基づくプリンタードライバーのＵＩの表示制御処理が実行される。
【００３０】
図８は、ＧＰＤベースのプリンタードライバーを用いてお気に入り設定を実現するフローチャートの一例を示すものである。ＧＰＤベースのプリンタードライバーは、図４に示した印刷設定画面を介してユーザーから印刷設定情報を受け付ける（ステップＳ８００１）。ユーザーが図４の印刷設定画面を用いて印刷設定情報を設定し、ＯＫボタン１０８０を押下することにより図９が表示される。
【００３１】
そして、プリンタードライバーは、図９に示す設定追加ボタン１２５０が押下された否かを判定し（ステップＳ８００２）、設定追加ボタン１２５０が押下された場合はステップＳ８００３へ進む。設定追加ボタン１２５０ではなく、図９に示すＯＫボタン１２６０・適用ボタン１２７０・キャンセルボタン１２８０が押下された場合は、印刷設定情報の変更もしくはキャンセルが指示されたと判定し、お気に入り追加の処理から外れる。つまり、設定追加ボタン１２５０の押下により、印刷設定情報をお気に入り設定として登録するための登録指示がプリンタードライバーにより受信される。
【００３２】
そして、ユーザーからお気に入りの追加（設定追加ボタン１２５０）が選択された場合、プリンタードライバーは設定されている印刷設定情報をお気に入り設定として追加するためのＦｅａｔｕｒｅとＯｐｔｉｏｎを記述したＧＰＤファイルを生成する（ステップＳ８００３）。なお、Ｓ８００３の詳細な説明は、図１２に後述する。
【００３３】
そして、プリンタードライバーは、Ｓ８００３において生成したＧＰＤファイルを、前述したＡｄｖａｎｃｅＩｎｃｌｕｄｅで指定されている場所に配置する（ステップＳ８００４）。なお、指定されている場所とは、％ＵＳＥＲ（Ｓ７００４で判別された環境変数）％Ｏｋｉｎｉｉｒｉ１．ｇｐｄである。
【００３４】
そして、プリンタードライバーは、次に印刷設定画面が開かれるタイミングで、ステップＳ８００４で配置したＧＰＤファイルの内容を読み込む（ステップＳ８００５）。その結果、プリンタードライバーの印刷設定画面に新しい設定項目（お気に入り）が表示される。
【００３５】
図８の処理により指定されている場所にＳ８００３において生成された印刷設定情報用のＧＰＤファイルが保存される例を示す。
【００３６】
例えば図９の設定画面において「詳細設定」ボタンが押されることにより図４の印刷設定画面が表示され、ユーザーの指示により印刷設定情報が設定される。そして、図４のＯＫボタン１０８０が押されることにより図９の設定画面が表示される。ここで、設定追加ボタン１２５０が押されると図４において設定された印刷設定情報に基づく印刷設定情報用のＧＰＤファイルが生成される（Ｓ８００３）。
【００３７】
そして、Ｓ８００３において生成された印刷設定情報用のＧＰＤファイルが、ＡｄｖａｎｃｅＩｎｃｌｕｄｅにて指定された場所（パス）に保存される。図１８では、Ｓ８００３において生成された印刷設定用のＧＰＤファイル（Ｏｋｉｎｉｉｒｉ１．ｇｐｄ）１８０１がＡｄｖａｎｃｅＩｎｃｌｕｄｅにて指定されたログインユーザ（ユーザＡ）のフォルダに保存される。なお、図１８では、ユーザＡの１つのフォルダしか生成されていないが、このフォルダはログインユーザ単位に生成される。そのため、例えば本発明が動作する情報処理装置（ＰＣ）が複数のユーザーによって使用される場合、複数のフォルダが生成されることになる。しかし、使える印刷設定情報用のＧＰＤファイルは、現在ログインしているユーザーのフォルダに記憶された印刷設定情報用のＧＰＤファイルである。
【００３８】
本実施例における図８の処理を実行することにより表示される印刷設定画面の一例を図１０に示す。
【００３９】
図１０では、図４のＧＰＤベースのプリンタードライバーのＵＩに、「お気に入り設定：」１０２１の印刷設定項目が追加されている。また、お気に入りを設定するコンボボックス１０２２には、デフォルトの選択肢１０２３「オフ」とステップＳ８００４により追加された選択肢１０２４の「設定１」が表示されている。
【００４０】
図１０を表示するためのＧＰＤファイルから抜粋した部分を図１１に示す。
【００４１】
図１１に示したＧＰＤファイル２２００は、図６の２１１０で定義されているファイル名であり、ＧＰＤベースのプリンタードライバーの遅延リンクが可能なファイル名になっている。そして、ＧＰＤファイル２２００には、お気に入り設定を示すＦｅａｔｕｒｅ２２０１が新規に追加され、２２０２にお気に入り設定の既定値や優先度が設定されている。
【００４２】
また、Ｏｐｔｉｏｎ２２０３には、デフォルトの選択肢１０２３「オフ」の設定が割り当てられており、Ｏｐｔｉｏｎ２２０４には登録したお気に入りを設定するための選択肢１０２４「設定１」が割り当てられている。
【００４３】
なお、図６ではＡｄｖａｎｃｅＩｎｃｌｕｄｅが１つしか記述されていないためお気に入り設定として１つの印刷設定情報しか登録できない。しかし、図６のＧＰＤファイルに複数のＡｄｖａｎｃｅＩｎｃｌｕｄｅが記述されている場合、ユーザはその数に対応するお気に入り設定を登録できる。
【００４４】
前述の図８のステップＳ８００３における処理の詳細を、図１２のフローチャートを用いて説明する。
【００４５】
プリンタードライバーは、お気に入り追加（設定追加ボタン１２５０）の指定を受け付けた場合（ステップＳ１２００１）、プリンタードライバーの印刷設定画面１０００に設定されている印刷設定情報を取得する（ステップＳ１２００２）。
【００４６】
そして、ステップＳ１２００３にて、プリンタードライバーは、Ｓ１２００２において取得された印刷設定情報がデフォルトの印刷設定情報から変更されているかを判定する。具体的には、プリンタードライバーは、印刷設定情報の各項目に設定されている値が、ＧＰＤファイルに記述されているＦｅａｔｕｒｅのデフォルトの値（ＤｅｆａｕｌｔＯｐｔｉｏｎ）と違いがあるか否かを判定する。ここで、判定対象の項目のデフォルトの値と現状の値とが異なると判定された場合、プリンタードライバーの処理はステップＳ１２００４へ進み、同じである場合はステップＳ１２００６へ進む。
【００４７】
そして、判定対象の項目の値がデフォルトの値と異なる場合、プリンタードライバーは、判定対象の項目のＦｅａｔｕｒｅに対応するＯｐｔｉｏｎから、Ｓ１２００２において取得した印刷設定情報にて選択されているＯｐｔｉｏｎとは異なるＯｐｔｉｏｎ群を取得する（Ｓ１２００４）。
【００４８】
そして、プリンタードライバーは、Ｓ１２００４において取得したＯｐｔｉｏｎ群がお気に入りの設定とは排他となる命令をＧＰＤファイルに記述する（ステップＳ１２００５）。つまり、プリンタードライバーは、ＧＰＤファイルのプリンタードライバーのＵＩを用いて設定された印刷設定情報を呼び出す選択肢がそのＵＩを用いて設定されていない印刷設定情報と排他制御されるように記述された印刷設定情報用のＧＰＤファイルを生成する。
【００４９】
ステップＳ１２００６では、プリンタードライバーが、ステップＳ１２００３における判定対象の項目（Ｆｅａｔｕｒｅ）がＧＰＤファイルに記述されている最後のＦｅａｔｕｒｅか否かを判定する。ここで、最後のＦｅａｔｕｒｅではないと判定された場合は、次のＦｅａｔｕｒｅへの判定に移行する（ステップＳ１２００７）。判定したＦｅａｔｕｒｅがＧＰＤファイル中で最後であると判定した場合は、プリンタードライバーは本ＧＰＤファイルの生成処理を終了し（ステップＳ１２００８）、本フローチャートを終了する。
【００５０】
図１２の処理によって生成されるＧＰＤファイルの一例を抜粋したものを図１３に示す。
【００５１】
本例は、図４のＧＰＤベースのプリンタードライバーの印刷設定画面において設定された「製本印刷」を「ＯＮ」、「ステープル」を「中綴じ」の印刷設定情報をお気に入りとして設定した場合を示している。
【００５２】
本例の図４のプリンタードライバーに関するＧＰＤファイルのＦｅａｔｕｒｅの「製本印刷」には、「ＯＮ」とデフォルトの値「ＯＦＦ」のＯｐｔｉｏｎが対応づいている。お気に入り追加時（設定追加ボタン１２５０の選択時）において「ＯＮ」が設定されていた場合、プリンタードライバーは、ステップＳ１２００３にてデフォルトの値から変更されたと判定する。その結果、ＧＰＤファイル２２００には、Ｆｅａｔｕｒｅ「製本印刷」に対応付いているＯｐｔｉｏｎについて、「ＯＮ」とは異なるＯｐｔｉｏｎである「ＯＦＦ」がお気に入りのＯｐｔｉｏｎ２２０４と排他されるコンフリクトルール２３０１が記述されている。
【００５３】
さらに、「ステープル」２０１０のＦｅａｔｕｒｅには、「ＴＯＰ＿ＬＥＦＴ」２０１２、「ＳＡＤＤＬＥＳＴＩＴＣＨ」２０１３、デフォルトの値である「ＯＦＦ」２０１１の３つのＯｐｔｉｏｎが対応づいている。お気に入り追加時（設定追加ボタン１２５０の選択時）において「中綴じ」が設定されていた場合、プリンタードライバーはステップＳ１２００３にてデフォルトの値から変更されたと判定する。
【００５４】
そして、ＧＰＤファイル２２００には、Ｆｅａｔｕｒｅ「ステープル」に対応するＯｐｔｉｏｎについて、「ＳＡＤＤＬＥＳＴＩＴＣＨ」とは異なるＯｐｔｉｏｎである「ＯＦＦ」２０１１、「ＴＯＰ＿ＬＥＦＴ」２０１２が、お気に入りのＯｐｔｉｏｎ２２０４と排他されるコンフリクトルール２３０２、２３０３が記述されている。
【００５５】
図１３の例では、Ｆｅａｔｕｒｅ「お気に入設定」について、Ｏｐｔｉｏｎとして「ＯＦＦ」と「Ｓｅｔｔｉｎｇ１（設定１）」が対応づいているため、図１３のＧＰＤファイルが読み込まれると図１０の印刷設定画面が表示される
なお、図１３では、ＩｎｖａｌｉｄＣｏｍｂｉｎａｔｉｏｎとしてＳｅｔｔｉｎｇ１（設定）がＢｏｏｋｌｅｔ：ＯＦＦ、ステープル：ＯＦＦ、ステープル：左上と共存できないことが記述されている。
【００５６】
その結果、Ｓｅｔｔｉｎｇ１が選択された場合、Ｓｅｔｔｉｎｇ１と共存できるＢｏｏｋｌｅｔ：ＯＮ、ステープル：中綴じが印刷設定情報として設定されることになり、お気に入りの機能を実現できる。
【００５７】
以上の処理により、本実施例では、ＧＰＤベースのプリンタードライバーでありながら、インストール後においても選択肢を追加できる。そのため、ＧＰＤベースのプリンタードライバーの設定画面を用いて設定された印刷設定情報をお気に入り設定として登録でき、再利用できる。
【００５８】
［実施例２］
本発明の他の実施例として、インストール後のプリンタードライバーに後から機能を追加するアドイン機能について、図１４のフローチャートを用いて説明する。
【００５９】
本実施例では、スタンプの機能が追加される例であり、アドイン機能の追加にはインストーラーが存在するとする。
【００６０】
ユーザーの指示により、アドインのインストールが実行される（ステップＳ１４００１）。
【００６１】
そして、インストーラーは、インストール済みのＧＰＤベースのプリンタードライバーのＧＰＤファイルにアドイン機能を追加可能な「ＡｄｖａｎｃｅＩｎｃｌｕｄｅ」のコマンドが存在するか否かを判定する（ステップＳ１４００２）。アドイン機能追加可能な「ＡｄｖａｎｃｅＩｎｃｌｕｄｅ」の一例を図１６に示す。図１６では、「＊ＡｄｖａｎｃｅＩｎｃｌｕｄｅ：“ＡＤＤＩＮ￥ＡＤＤＩＮ１．ｇｐｄ”」２１２０から、インストーラはアドイン用のファイル名が記述されていると判定する。よって、インストーラは、アドイン機能の追加が予め定められていると判定する。そして、アドイン機能が追加可能であれば、ステップＳ１４００３へ進み、アドイン機能の追加が定められてない場合は、アドイン機能の追加不可として終了する。
【００６２】
そして、ステップＳ１４００３でインストーラーは、ＯＳに設定されているロケールに対応する文字のコードページを取得し、ステップＳ１４００４へ進む。コードページは、本例以外にも、ユーザーからの入力によってコードページを取得してもよい。
【００６３】
そして、ステップＳ１４００４では、インストーラーは取得したコードベージをＧＰＤファイルに追加し、さらに、ＧＰＤファイル内のＦｅａｔｕｅｒとＯｐｔｉｏｎに設定する文字列に、コードページに従った文字列を生成する。そして、該コードページに対応する文字列が表示可能なエンコードでＧＰＤファイルを生成して、ステップＳ１４００５へ進む。
【００６４】
そして、ステップＳ１４００５では、インストーラーは「ＡｄｖａｎｃｅＩｎｃｌｕｄｅ」に記述されているパスにＳ１４００４において生成したＧＰＤファイルを配置して本フローチャートを終了する。
【００６５】
アドイン機能追加によって、スタンプ機能が追加された後のＵＩの一例を、図１５に示す。
【００６６】
図１５では、図４のＧＰＤベースのプリンタードライバーのＵＩに「スタンプ」１０５１の印刷設定項目が追加されている。また、スタンプを設定するコンボボックス１０５２には、デフォルトの選択肢１０５３「オフ」と追加された選択肢１０５４「秘密」選択肢１０５５「コピー」が追加されている。
【００６７】
図１５において、１０５１〜１０５５は日本語で表示した例を示しているが、前述のステップＳ１４００３で取得したコードページに従う言語が異なれば、異なるＵＩを表示することも可能となる。例えば、英語の場合には、それぞれ「ＳＴＡＭＰ」「ＯＦＦ」「ＳＥＣＲＥＴ」「ＣＯＰＹ」というようにインストーラーが切り替えてＧＰＤファイルを生成することで、表示を切り替えることも可能となる。
【００６８】
また、図１４により生成されたＧＰＤファイルの一例について、図１７に示す。
【００６９】
図１５では、図４のＧＰＤベースのプリンタードライバーのＵＩに「スタンプ」１０５１の印刷設定項目が追加されている。また、スタンプを設定するコンボボックス１０５２には、デフォルトの選択肢１０５３「オフ」と追加された選択肢１０５４「秘密」、選択肢１０５５「コピー」が追加されている。
【００７０】
図１７に示したＧＰＤファイル２２００は、図１６の２１２０で定義されているファイル名であり、ＧＰＤベースのプリンタードライバーの遅延リンクが可能なファイル名となっている。また、このＧＰＤファイル２２００は、ステップＳ１４００３で取得したコードページが記述２４０１に記載され、“９３２”のコードページに従って、ｓｈｉｆｔ＿ｊｉｓのエンコードで保存されている。
【００７１】
そして、このＧＰＤファイルには、Ｆｅａｔｕｒｅとしての「Ｓｔａｍｐ」２４０２に対して、「ＯＦＦ」２４０４、「Ｓｅｃｒｅｔ」２４０６、「ＣＯＰＹ」２４０８の３つのＯｐｔｉｏｎが記述されている。そして、各Ｏｐｔｉｏｎには、ＵＩで表示するための文字列として、「オフ」２４０５、「秘密」２４０７、「コピー」２４０９が記述されている。これらの文字列は、図１４で説明するインストーラーが保持していた文字列であり、ステップＳ１４００４でＧＰＤファイルが生成される際に、インストーラーがコードページに従ってＧＰＤファイルに記載した文字列となる。
【００７２】
図１５の１０５１〜１０５５は日本語で表示した例を示しているが、前述のステップＳ１４００３で取得したコードページが異なれば、異なるＵＩを表示することも可能となる。例えば、英語の場合には、２４０２、２４０４、２４０６、２４０８のそれぞれに「ＳＴＡＭＰ」「ＯＦＦ」「ＳＥＣＲＥＴ」「ＣＯＰＹ」といった文字列が記載される。そして、英語に対応するエンコードでインストーラーがＧＰＤファイルを生成することで、表示を切り替えることも可能となる。
【００７３】
以上の処理により、本実施例では、ＧＰＤベースのプリンタードライバーでありながら、インストール後においても選択肢を追加できる。そのため、ＧＰＤベースのプリンタードライバーのインストール後においても、アドイン機能を使用することができる。
【００７４】
本願発明は、ＧＰＤベースのプリンタードライバーでありながら、インストール後においても選択肢を追加できるという効果を生み出すことができる。
【００７５】
［その他の実施例］
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア（プログラム）を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ（またはＣＰＵやＭＰＵ等）がプログラムを読み出して実行する処理である。
【符号の説明】
【００７６】
１００  コンピューター
４００  オペレーティングシステム
５００  プリンター
【図１】
0005882623.tif 000002
【図２】
0005882623.tif 000003
【図３】
0005882623.tif 000004
【図４】
0005882623.tif 000005
【図５】
0005882623.tif 000006
【図６】
0005882623.tif 000007
【図７】
0005882623.tif 000008
【図８】
0005882623.tif 000009
【図９】
0005882623.tif 000010
【図１０】
0005882623.tif 000011
【図１１】
0005882623.tif 000012
【図１２】
0005882623.tif 000013
【図１３】
0005882623.tif 000014
【図１４】
0005882623.tif 000015
【図１５】
0005882623.tif 000016
【図１６】
0005882623.tif 000017
【図１７】
0005882623.tif 000018
【図１８】
0005882623.tif 000019