(57)【要約】【課題】印刷を行う際に実現される機能の追加、更新、及び削除を適切に行えるようにする。【解決手段】ホストコンピュータ１００で動作する検索対象情報リストＵＩ制御モジュール５０４２内の検索対象情報リスト７５０に記述されている検索対象範囲に存在している機能情報を取得して機能情報リスト７６０に書き込み、この書き込んだ機能情報（の一部）をプリンタ機能設定画面８００内の表示欄８１０、８２０に表示して、表示した機能情報に対応する機能の追加、更新、及び削除の指示を受け付け、受け付けた指示に従って、機能の追加、更新、及び削除を実行することにより、ドライバ本体モジュール１２０３に接続されているプラグインモジュール１２０１、１２０２を用いて機能の追加、更新、及び削除を行えるようにする。【選択図】      図１
2004326601.tif 000002
【特許請求の範囲】
【請求項１】
ユーザーにより指定された機能を、印刷装置と連動して実現する印刷制御装置であって、
上記印刷装置と連動して実現される機能のうち、既に組み込まれている機能に関する機能情報を取得する組込機能情報取得手段と、
上記印刷装置と連動して実現される機能のうち、組み込まれていない機能に関する機能情報を取得する未組込機能情報取得手段と、
上記組込機能情報取得手段にて取得された機能情報と、上記未組込機能情報取得手段にて取得された機能情報とを表示して、機能の追加、更新、及び削除の指示を受け付ける表示受付手段と、
上記表示受付手段にて表示された機能情報に基づいてユーザーにより指定された機能を追加して有効にする処理と、上記指定された機能を削除して無効にする処理と、上記指定された機能を、別に指定された機能に更新して上記別に指定された機能を有効にする処理との何れかを、上記表示受付手段にて受け付けた指示に従って行う機能管理手段とを有することを特徴とする印刷制御装置。
【請求項２】
上記組込情報取得手段は、上記既に組み込まれている機能に関する機能情報を検索して取得し、
上記未組込機能情報取得手段は、上記組み込まれていない機能に関する機能情報を検索して取得することを特徴とする請求項１に記載の印刷制御装置。
【請求項３】
上記表示受付手段は、本印刷制御装置のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）から指示されて起動することを特徴とする請求項１または２に記載の印刷制御装置。
【請求項４】
上記組込機能情報取得手段及び上記未組込機能情報取得手段による機能の検索は、本印刷制御装置のメインＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の起動時に行われることを特徴とする請求項２または３に記載の印刷制御装置。
【請求項５】
上記組込機能情報取得手段及び上記未組込機能情報取得手段による機能の検索は、本印刷制御装置のＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）からの指示により行われることを特徴とする請求項２〜４の何れか１項に記載の印刷制御装置。
【請求項６】
上記表示受付手段は、上記組込機能情報取得手段及び上記未組込機能情報取得手段の何れで取得されたかに関わらず、既に有効になっている機能に関する機能情報と、無効になっている機能に関する機能情報とを分けて表示することを特徴とする請求項１〜５の何れか１項に記載の印刷制御装置。
【請求項７】
上記組込機能情報取得手段及び上記未組込機能情報取得手段は、ネットワークを介して接続された他の情報機器を対象として上記機能を検索することを特徴とする請求項２〜６の何れか１項に記載の印刷制御装置。
【請求項８】
上記組込機能情報取得手段及び上記未組込機能情報取得手段は、本印刷制御装置が動作する情報機器に接続されたリムーバブルメディアを対象として上記機能を検索することを特徴とする請求項２〜７の何れか１項に記載の印刷制御装置。
【請求項９】
上記表示受付手段は、上記既に組み込まれている機能のリストと、上記組み込まれていない機能のリストとを表示し、更に機能の追加、機能の更新、機能の削除動作を指示する指示部を表示し、
上記指示部は、上記既に組み込まれている機能のリスト、または上記組み込まれていない機能のリストから、特定の１つ又は複数の機能を選択させ、削除、更新、追加のうちいずれか一つの動作指示を指示可能であることを特徴とする請求項１〜８の何れか１項に記載の印刷制御装置。
【請求項１０】
上記表示受付手段は、上記既に組み込まれている機能のリストに表示されている機能に対して一括して削除指示を行える指示部と、上記組み込まれていない機能のリストに表示されている機能に対して一括して追加又は更新指示を行える指示部との双方または何れか一方を持つことを特徴とする請求項９に記載の印刷制御装置。
【請求項１１】
上記表示受付手段は、上記既に組み込まれている機能のリスト、または上記組み込まれていない機能のリストに表示されている機能の概要情報を、ユーザーに提供することを要求するための指示部を持つことを特徴とする請求項９又は１０に記載の印刷制御装置。
【請求項１２】
上記表示受付手段は、上記組込機能情報取得手段にて取得された機能に関する機能情報を表示するための有効機能表示欄と、
上記未組込機能情報取得手段にて取得された機能に関する機能情報を表示するための無効機能表示欄とをプリンタ機能設定画面に表示し、
上記有効機能表示欄に表示した機能情報に対応する機能が、上記機能管理手段により更新又は削除されて無効となった場合には、該当する機能情報を上記無効機能表示欄に移して表示し、上記無効機能表示欄に表示した機能情報に対応する機能が、上記機能管理手段により追加又は更新されて有効となった場合には、該当する機能情報を上記有効機能表示欄に移して表示することを特徴とする請求項１〜１１の何れか１項に記載の印刷制御装置。
【請求項１３】
印刷装置で印刷を行う際に実現される機能の追加、更新、及び削除の指示を、ユーザーに行わせるようにするためのプリンタ機能設定画面を表示装置に表示するユーザーインターフェイスであって、
上記印刷装置で印刷を行う際に実現される機能のうち、有効になっている機能に関する機能情報を表示するための有効機能表示欄と、
上記印刷装置で印刷を行う際に実現される機能のうち、無効になっている機能に関する機能情報を表示するための無効機能表示欄と、
上記有効機能表示欄及び無効機能表示欄に表示された機能情報に基づいて選択された機能の追加、更新、及び削除の指示が行われる際に、ユーザーにより操作される指示部とを上記プリンタ機能設定画面に表示し、
上記有効機能表示欄に表示した機能情報に対応する機能が、上記指示部の操作に基づいて更新又は削除されて無効になった場合には、該当する機能情報を上記無効機能表示欄に移して表示し、上記無効機能表示欄に表示した機能情報に対応する機能が、上記指示部の操作に基づいて追加又は更新されて有効になった場合には、該当する機能情報を上記有効機能表示欄に移して表示することを特徴とするユーザーインターフェイス。
【請求項１４】
ユーザーにより指定された機能を、印刷装置と連動して実現する印刷制御方法であって、
上記印刷装置と連動して実現される機能のうち、既に組み込まれている機能に関する機能情報を取得する組込機能情報取得処理と、
上記印刷装置と連動して実現される機能のうち、組み込まれていない機能に関する機能情報を取得する未組込機能情報取得処理と、
上記組込機能情報取得処理にて取得された機能情報と、上記未組込機能情報取得処理にて取得された機能情報とを表示して、機能の追加、更新、及び削除の指示を受け付ける表示受付処理と、
上記表示受付処理にて表示された機能情報に基づいてユーザーにより指定された機能を追加して有効にする処理と、上記指定された機能を削除して無効にする処理と、上記指定された機能を、別に指定された機能に更新して上記別に指定された機能を有効にする処理との何れかを、上記表示受付処理にて受け付けた指示に従って行う機能管理処理とを行うことを特徴とする印刷制御方法。
【請求項１５】
上記組込情報取得処理は、上記既に組み込まれている機能に関する機能情報を検索して取得し、
上記未組込機能情報取得処理は、上記組み込まれていない機能に関する機能情報を検索して取得することを特徴とする請求項１４に記載の印刷制御方法。
【請求項１６】
上記表示受付処理は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）から指示されて起動することを特徴とする請求項１４または１５に記載の印刷制御方法。
【請求項１７】
上記組込機能情報取得処理及び上記未組込機能情報取得処理による機能の検索は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）の起動時に行われることを特徴とする請求項１５または１６に記載の印刷制御方法。
【請求項１８】
上記組込機能情報取得処理及び上記未組込機能情報取得処理による機能の検索は、ＧＵＩ（Ｇｒａｐｈｉｃａｌ  Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）からの指示により行われることを特徴とする請求項１５〜１７の何れか１項に記載の印刷制御方法。
【請求項１９】
上記表示受付処理は、上記組込機能情報取得処理及び上記未組込機能情報取得処理の何れで取得されたかに関わらず、既に有効になっている機能に関する機能情報と、無効になっている機能に関する機能情報とを分けて表示することを特徴とする請求項１４〜１８の何れか１項に記載の印刷制御方法。
【請求項２０】
上記組込機能情報取得処理及び上記未組込機能情報取得処理は、ネットワークを介して接続された他の情報機器を対象として上記機能を検索することを特徴とする請求項１５〜１９の何れか１項に記載の印刷制御方法。
【請求項２１】
上記組込機能情報取得処理及び上記未組込機能情報取得処理は、リムーバブルメディアを対象として上記機能を検索することを特徴とする請求項１５〜２０の何れか１項に記載の印刷制御方法。
【請求項２２】
上記表示受付処理は、上記既に組み込まれている機能のリストと、上記組み込まれていない機能のリストとを表示し、更に機能の追加、機能の更新、機能の削除動作を指示する指示部を表示し、
上記指示部は、上記既に組み込まれている機能のリスト、または上記組み込まれていない機能のリストから、特定の１つ又は複数の機能を選択させ、削除、更新、追加のうちいずれか一つの動作指示を指示可能であることを特徴とする請求項１４〜２１の何れか１項に記載の印刷制御方法。
【請求項２３】
上記表示受付処理は、上記既に組み込まれている機能のリストに表示されている機能に対して一括して削除指示を行える指示部と、上記組み込まれていない機能のリストに表示されている機能に対して一括して追加又は更新指示を行える指示部との双方または何れか一方を表示することを特徴とする請求項２２に記載の印刷制御方法。
【請求項２４】
上記表示受付処理は、上記既に組み込まれている機能のリスト、または上記組み込まれていない機能のリストに表示されている機能の概要情報を、ユーザーに提供することを要求するための指示部を表示することを特徴とする請求項２２又は２３に記載の印刷制御方法。
【請求項２５】
上記表示受付処理は、上記組込機能情報取得処理にて取得された機能に関する機能情報を表示するための有効機能表示欄と、
上記未組込機能情報取得処理にて取得された機能に関する機能情報を表示するための無効機能表示欄とをプリンタ機能設定画面に表示し、
上記有効機能表示欄に表示した機能情報に対応する機能が、上記機能管理処理により更新又は削除されて無効となった場合には、該当する機能情報を上記無効機能表示欄に移して表示し、上記無効機能表示欄に表示した機能情報に対応する機能が、上記機能管理処理により追加又は更新されて有効となった場合には、該当する機能情報を上記有効機能表示欄に移して表示することを特徴とする請求項１４〜２４の何れか１項に記載の印刷制御方法。
【請求項２６】
ユーザーにより指定された機能を、印刷装置と連動して実現することをコンピュータに実行させるためのコンピュータプログラムであって、
上記印刷装置と連動して実現される機能のうち、既に組み込まれている機能に関する機能情報を取得する組込機能情報取得処理と、
上記印刷装置と連動して実現される機能のうち、組み込まれていない機能に関する機能情報を取得する未組込機能情報取得処理と、
上記組込機能情報取得処理にて取得された機能情報と、上記未組込機能情報取得処理にて取得された機能情報とを表示して、機能の追加、更新、及び削除の指示を受け付ける表示受付処理と、
上記表示受付処理にて表示された機能情報に基づいてユーザーにより指定された機能を追加して有効にする処理と、上記指定された機能を削除して無効にする処理と、上記指定された機能を、別に指定された機能に更新して上記別に指定された機能を有効にする処理との何れかを、上記表示受付手段にて受け付けた指示に従って行う機能管理処理とをコンピュータに実行させることを特徴とするコンピュータプログラム。
【請求項２７】
上記請求項２６に記載のコンピュータプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷制御装置、ユーザーインターフェイス、印刷制御方法、コンピュータプログラム及びコンピュータ読み取り可能な記録媒体に関し、特に、印刷装置で印刷を行う際に実現される機能の追加、更新、及び削除を行うために用いて好適なものである。
【０００２】
【従来の技術】
従来、プリンタドライバの機能の追加、更新に対する手法としては、一般的にバージョンアップという方法が幅広く用いられている。
また、これ以外にも、専用のインストーラを用いて追加モジュールを追加インストールすることにより、既存のプリンタドライバに機能を追加したり、既存のプリンタドライバの機能を更新したりすることも行われている。
【０００３】
このように、従来から、ドライバをモジュール化してインストールすることにより、プリンタドライバに機能を追加したり、プリンタドライバの機能を更新したりすることが行われていた。しかしながら、インストールするモジュールは、あくまでも、独立性の高い「モジュール」であった。
【０００４】
更に、プリンタドライバに既に存在する機能を削除することについては、これといって有効な手立てはなかった。例外的に、機能を使うためのＧＵＩをマスクしたドライバセットが存在する場合に限って、この機能がマスクされたドライバを使うことができた。また、追加インストールすることによって追加された機能を先の専用のインストーラを起動することでアンインストールする場合もあった。
【０００５】
【発明が解決しようとする課題】
しかしながら、上記のバージョンアップの手段では、新しいモジュールをプリンタドライバモジュールに追加して、プリンタドライバの機能を拡張するためには、上記新しいモジュールを再コンパイルしたり、再インストールして再起動したりする必要があった。
【０００６】
このように、上記のバージョンアップの手段を用いると、プリンタドライバの機能を拡張させるたびに再コンパイルや再起動を行わなければならず、使い勝手が非常に悪かった。
【０００７】
さらに、機能の追加及び更新をする場合に、上記のバージョンアップの手段を用いると、既に問題なく動作している既存のプリンタドライバを新バージョンのプリンタドライバで置き換えることなる。
【０００８】
つまり、新バージョンのプリンタドライバで、幾つかの機能の追加と、障害の修正とを手に入れるのと引き換えに、ユーザーは、新バージョンのプリンタドライバの動作仕様を全て受け入れなければならないこととなる。
【０００９】
したがって、場合によっては、既存のプリンタドライバと新バージョンのプリンタドライバとの印刷結果に微妙な違いが生じ、この違いがユーザーによっては非常に大きな不利益となることも考えられる。
更には、導入した新バージョンのプリンタドライバが既存の他のファミリードライバへ影響を与えることも考えられる。
【００１０】
また、特定の機能を削除することについては、「従来の技術」で述べた一部の例外について実現することが可能であったが、これらは有効な策ではなかった。
【００１１】
本発明はこれらの問題点に鑑みてなされたものであり、印刷を行う際に実現される機能の追加、更新、及び削除を適切に行えるようにすることを目的とする。
【００１２】
【課題を解決するための手段】
本発明の印刷制御装置は、ユーザーにより指定された機能を、印刷装置と連動して実現する印刷制御装置であって、上記印刷装置と連動して実現される機能のうち、既に組み込まれている機能に関する機能情報を取得する組込機能情報取得手段と、上記印刷装置と連動して実現される機能のうち、組み込まれていない機能に関する機能情報を取得する未組込機能情報取得手段と、上記組込機能情報取得手段にて取得された機能情報と、上記未組込機能情報取得手段にて取得された機能情報とを表示して、機能の追加、更新、及び削除の指示を受け付ける表示受付手段と、上記表示受付手段にて表示された機能情報に基づいてユーザーにより指定された機能を追加して有効にする処理と、上記指定された機能を削除して無効にする処理と、上記指定された機能を、別に指定された機能に更新して上記別に指定された機能を有効にする処理との何れかを、上記表示受付手段にて受け付けた指示に従って行う機能管理手段とを有することを特徴としている。
【００１３】
本発明のユーザーインターフェイスは、印刷装置で印刷を行う際に実現される機能の追加、更新、及び削除の指示を、ユーザーに行わせるようにするためのプリンタ機能設定画面を表示装置に表示するユーザーインターフェイスであって、上記印刷装置で印刷を行う際に実現される機能のうち、有効になっている機能に関する機能情報を表示するための有効機能表示欄と、上記印刷装置で印刷を行う際に実現される機能のうち、無効になっている機能に関する機能情報を表示するための無効機能表示欄と、上記有効機能表示欄及び無効機能表示欄に表示された機能情報に基づいて選択された機能の追加、更新、及び削除の指示が行われる際に、ユーザーにより操作される指示部とを上記プリンタ機能設定画面に表示し、上記有効機能表示欄に表示した機能情報に対応する機能が、上記指示部の操作に基づいて更新又は削除されて無効になった場合には、該当する機能情報を上記無効機能表示欄に移して表示し、上記無効機能表示欄に表示した機能情報に対応する機能が、上記指示部の操作に基づいて追加又は更新されて有効になった場合には、該当する機能情報を上記有効機能表示欄に移して表示することを特徴としている。
【００１４】
本発明の印刷制御方法は、ユーザーにより指定された機能を、印刷装置と連動して実現する印刷制御方法であって、上記印刷装置と連動して実現される機能のうち、既に組み込まれている機能に関する機能情報を取得する組込機能情報取得処理と、上記印刷装置と連動して実現される機能のうち、組み込まれていない機能に関する機能情報を取得する未組込機能情報取得処理と、上記組込機能情報取得処理にて取得された機能情報と、上記未組込機能情報取得処理にて取得された機能情報とを表示して、機能の追加、更新、及び削除の指示を受け付ける表示受付処理と、上記表示受付処理にて表示された機能情報に基づいてユーザーにより指定された機能を追加して有効にする処理と、上記指定された機能を削除して無効にする処理と、上記指定された機能を、別に指定された機能に更新して上記別に指定された機能を有効にする処理との何れかを、上記表示受付処理にて受け付けた指示に従って行う機能管理処理とを行うことを特徴としている。
【００１５】
本発明のコンピュータプログラムは、ユーザーにより指定された機能を、印刷装置と連動して実現することをコンピュータに実行させるためのコンピュータプログラムであって、上記印刷装置と連動して実現される機能のうち、既に組み込まれている機能に関する機能情報を取得する組込機能情報取得処理と、上記印刷装置と連動して実現される機能のうち、組み込まれていない機能に関する機能情報を取得する未組込機能情報取得処理と、上記組込機能情報取得処理にて取得された機能情報と、上記未組込機能情報取得処理にて取得された機能情報とを表示して、機能の追加、更新、及び削除の指示を受け付ける表示受付処理と、上記表示受付処理にて表示された機能情報に基づいてユーザーにより指定された機能を追加して有効にする処理と、上記指定された機能を削除して無効にする処理と、上記指定された機能を、別に指定された機能に更新して上記別に指定された機能を有効にする処理との何れかを、上記表示受付手段にて受け付けた指示に従って行う機能管理処理とをコンピュータに実行させることを特徴としている。
【００１６】
本発明のコンピュータ読み取り可能な記録媒体は、上記記載のコンピュータプログラムを記録したことを特徴としている。
【００１７】
【発明の実施の形態】
以下に、本発明の好適な実施の形態について、図面を用いて説明を行う。以下に説明するように、本実施の形態では、プリンタドライバにおける機能の追加、更新、及び削除を行うに際し、上記プリンタドライバに対する変更部分を最小限に留め、ユーザーが思わぬ不利益を被ってしまうことを可及的に防止すると共に、ユーザーがこれらの作業を容易に行えるようにしている。
図１は、本実施の形態の印刷制御装置を用いたプリンタ制御システムの構成の一例を示すブロック図であり、本実施の形態に関わるプリンタ制御システムは、ホストコンピュータ１００とプリンタ２００とを有して構成されている。
【００１８】
同図において、ホストコンピュータ１００は、ＣＰＵ１０１と、ＲＡＭ１０２と、ＲＯＭ１０３と、キーボードコントローラ（ＫＢＣ）１０５と、ビデオコントローラ（ＶＤＣ）１０６と、ディスクコントローラ（ＤＣ）１０７と、プリンタコントローラ（ＰＲＴＣ）１０８と、キーボード１０９と、ディスプレイ１１０と、外部メモリ１１１とを備えている。
【００１９】
また、プリンタ２００は、ＣＰＵ２０１と、ＲＡＭ２０２と、ＲＯＭ２０３と、入力部２０５と、印刷部インタフェース（Ｉ／Ｆ）２０６と、メモリコントローラ（ＭＣ）２０７と、プリンタエンジン（印刷エンジン）２２０と、操作部２３０と、外部メモリ２４０などを備えている。
【００２０】
先ず、ホストコンピュータ１００の各部の構成を詳述すると、ＣＰＵ１０１は、システムバス１０４に接続された各デバイスを総括的に制御する中央処理装置である。このＣＰＵ１０１は、ＲＯＭ１０３のプログラム用領域、或いは外部メモリ１１１に記憶された文書処理プログラム等に基づいて、図形、イメージ、文字、表（表計算等を含む）等が混在した文書処理を実行する。
【００２１】
また、ＣＰＵ１０１は、例えばＲＡＭ１０２上に設定された表示情報ＲＡＭへのアウトラインフォントの展開（ラスタライズ）処理を実行し、ディスプレイ１１０上でのＷＹＳＩＷＹＧ（Ｗｈａｔ  Ｙｏｕ  Ｓｅｅ  Ｉｓ  Ｗｈａｔ  Ｙｏｕ  Ｇｅｔ：ＣＲＴディスプレイ画面上に見えているそのままの大きさや形で印刷できる機能）を可能としている。
【００２２】
更に、ＣＰＵ１０１は、ディスプレイ１１０上のマウスカーソル（図示略）等で指示されたコマンドに基づいて登録された種々のウインドウを開き、種々のデータ処理を実行する。
【００２３】
例えば、ユーザーは、プリンタ２００を使用して印刷を実行する際に、印刷の設定に関するウインドウを開き、プリンタ２００の設定や印刷モードの選択を含むプリンタドライバに対する印刷処理方法の設定を行うことができるようになっている。
【００２４】
ＲＡＭ１０２は、ＣＰＵ１０１の主メモリやワークエリア等として機能する。
ＲＯＭ１０３は、フォント用領域と、プログラム用領域と、データ用領域とに分割される。
【００２５】
上記フォント用領域或いは外部メモリ１１１は、上記文書処理の際に使用するフォントデータ等を記憶する。
上記プログラム用領域或いは外部メモリ１１１（ディスクコントローラ（ＤＣ）１０７によりアクセス制御される）は、ハードディスク（ＨＤ）やフロッピー（登録商標）ディスク（ＦＤ）等であり、図示の如く、オペレーティングシステムプログラム（以下、「ＯＳ」という）５０５をはじめ各種アプリケーション（例えば、図形、イメージ、文字、表等が混在した文書処理を行う文書処理アプリケーションプログラム）５０１や、印刷処理関連プログラム５０４を記憶する他に、ユーザファイルや、編集ファイル等も記憶する。
【００２６】
印刷処理関連プログラム５０４は、印刷データを生成するプログラムであって、同系列の複数のプリンタに対して共通に利用されうる。また、印刷処理関連プログラム５０４は、プリンタ制御コマンド生成モジュール（以下「プリンタドライバ」という）５０４１、及びプリンタドライバＵＩ制御モジュール５０４２を含む。また、上記データ用領域或いは外部メモリ１１１は、上記文書処理等を行う際に使用する各種データを記憶する。
【００２７】
キーボードコントローラ（ＫＢＣ）１０５は、キーボード１０９やポインティングデバイス（図示略）からのキー入力を制御する。
ビデオコントローラ（ＶＤＣ）１０６は、ディスプレイ１１０の表示を制御する。
ディスクコントローラ（ＤＣ）１０７は、外部メモリ１１１とのアクセスを制御する。
【００２８】
プリンタコントローラ（ＰＲＴＣ）１０８は、双方向性インターフェイス１５０を介してプリンタ２００に接続されて、プリンタ２００との通信制御処理を実行する。
また、キーボード１０９は、各種キーを備えている。
ディスプレイ１１０は、図形、イメージ、文字、表等を表示する。
【００２９】
外部メモリ１１１は、ハードディスク（ＨＤ）、フロッピー（登録商標）ディスク（ＦＤ）等から構成されている。この外部メモリ１１１は、ブートプログラムやＯＳ５０５、各種のアプリケーション５０１、フォントデータ、ユーザファイル、編集ファイル、印刷処理関連プログラム５０４（プリンタドライバ５０４１、プリンタドライバＵＩ制御モジュール５０４２）等を記憶する領域として使用される。
【００３０】
上述したＣＰＵ１０１、ＲＡＭ１０２、ＲＯＭ１０３、キーボードコントローラ（ＫＢＣ）１０５、ビデオコントローラ（ＶＤＣ）１０６、ディスクコントローラ（ＤＣ）１０７、及びプリンタコントローラ（ＰＲＴＣ）１０８は、コンピュータ制御ユニット１２０上に配設されている。
【００３１】
次に、プリンタ２００各部の構成を詳述すると、ＣＰＵ２０１は、システムバス２０４に接続された各デバイスを総括的に制御する中央処理装置である。このＣＰＵ２０１は、ＲＯＭ２０３のプログラム用領域に記憶された制御プログラム等、或いは外部メモリ２４０に記憶された制御プログラム等に基づいて、印刷エンジン２２０に出力情報としての画像信号を出力する。
【００３２】
また、ＣＰＵ２０１は、入力部２０５を介してホストコンピュータ１００との通信処理が可能となっており、プリンタ２００内の情報等をホストコンピュータ１００に通知できる構成となっている。
【００３３】
ＲＡＭ２０２は、ＣＰＵ２０１の主メモリやワークエリア等として機能し、増設ポートに接続されるオプションＲＡＭ（図示略）によりメモリ容量を拡張することができるように構成されている。
尚、ＲＡＭ２０２は、出力情報展開領域、環境データ格納領域、ＮＶＲＡＭ（ｎｏｎｖｏｌａｔｉｌｅ  ｒａｎｄｏｍ−ａｃｃｅｓｓ  ｍｅｍｏｒｙ）等に用いられる。
【００３４】
ＲＯＭ２０３は、フォント用領域と、プログラム用領域と、データ用領域とに分割される。
上記フォント用領域は、上記出力情報を生成する際に使用するフォントデータ等を記憶する。
上記プログラム領域は、ＣＰＵ２０１の制御プログラム等を記憶する。
上記データ用領域は、プリンタ２００にハードディスク等の外部メモリ２４０が接続されていない場合には、ホストコンピュータ１００上で利用される情報等を記憶する。
【００３５】
入力部２０５は、双方向性インターフェイス１５０を介してプリンタ２００とホストコンピュータ１００との間におけるデータの送受を行うためのものである。
印刷部インタフェース（Ｉ／Ｆ）２０６は、ＣＰＵ２０１とプリンタエンジン（印刷エンジン）２２０との間におけるデータの送受信を行うためのものである。
【００３６】
メモリコントローラ（ＭＣ）２０７は、外部メモリ２４０のアクセスを制御する。
プリンタエンジン（印刷エンジン）２２０は、ＣＰＵ２０１の制御に基づき印刷動作を行う。具体的にプリンタエンジン２２０は、不図示の記録媒体の搬送機構、半導体レーザーユニット、感光ドラム、現像ユニット、定着ユニット、ドラムクローニングユニット、および分離ユニット等で構成され、公知の電子写真プロセスで印刷を行う。
【００３７】
操作部２３０は、各種操作のためのスイッチや表示手段（例えばＬＥＤ表示器）等を備えている。
外部メモリ２４０は、ハードディスク（ＨＤ）、ＩＣカード等から構成されており、プリンタ２００にオプションとして接続される。
【００３８】
外部メモリ２４０は、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶するものであり、メモリコントローラ（ＭＣ）２０７によりアクセスを制御される。
【００３９】
尚、外部メモリ２４０は、１個に限らず複数個備えることが可能となっている。
即ち、内蔵フォントに加えてオプションカード、言語系の異なるプリンタ制御言語を解釈するプログラムを格納した外部メモリを、プリンタ２００に複数接続できるように構成されていてもよい。
更に、ＮＶＲＡＭ（図示略）を有し、操作部２３０からのプリンタモード設定情報を記憶するようにしてもよい。
【００４０】
上述したＣＰＵ２０１、ＲＡＭ２０２、ＲＯＭ２０３、入力部２０５、印刷部インタフェース（Ｉ／Ｆ）２０６、メモリコントローラ（ＭＣ）２０７は、プリンタ制御ユニット２１０上に配設されている。
【００４１】
図１２は、本実施の形態の印刷制御装置を実現するに際して前提となるプラグインモジュールの構成の一例を示す図である。
【００４２】
上述したように、プリンタドライバに対し、機能の追加や更新を行う場合、従来から、ドライバをモジュール化して、インストールすることが行われていた。しかしながら、インストールするモジュールは、あくまでも、独立性の高い「モジュール」であった。
【００４３】
したがって、新しいモジュールをプリンタドライバモジュールに追加して、プリンタドライバの機能を拡張するためには、モジュールを再コンパイルしたり、再インストールして再起動したりする必要があった。
【００４４】
そこで、本実施の形態においては、プラグインモジュールを管理するプログラムであるプラグインモジュール管理部１２０４をＯＳ５０５の一部、又はドライバ管理アプリケーションの一部として設けるようにした。
【００４５】
図１２において、１２０３は、ドライバ本体モジュールである。このドライバ本体モジュール１２０３に、プラグインモジュール１２０１、１２０２を着脱可能としている。このような仕組みを前提として、本実施の形態の印刷制御装置が実現される。
【００４６】
例えば、プラグインモジュール管理部１２０４が、ドライバの起動時又は定期的にプラグインモジュール１２０１、１２０２の接続状況をモニタする。そして、どのプラグインモジュールが呼び出し可能なのかをテーブルとして管理する。例えば、以下の表１に示すようなドライバ管理テーブルで管理する。
【００４７】
【表１】
2004326601.tif 000003
【００４８】
プラグインモジュール管理部１２０４は、プラグインモジュール１２０１、１２０２の接続状況を随時モニタし、表１に示したドライバ管理テーブルを随時更新する。そして、新しいプラグインモジュールが接続されたことが認識された場合には、上記ドライバ管理テーブルのエントリを追加する。一方、プラグインモジュールが削除された場合には、上記プラグインモジュールのエントリを削除する。なお、プラグインモジュール管理部１２０４は、後述のプリンタドライバＵＩ制御モジュール５０４２の一部として実装されてもよい。
【００４９】
このように構成することにより、ドライバ本体モジュール１２０３は、どのプラグインモジュールが現在呼び出し可能で、利用できるのかをリアルタイムで把握することができる。また、リコンパイル（再コンパイル）や再起動することなしに、プラグインモジュール１２０１、１２０２を随時着脱することが可能となる。
【００５０】
以下では、プリンタドライバ５０４１が上記のような構成を有することを前提として説明を行う。
尚、図１２では、ドライバ本体モジュール１２０３に着脱可能なプラグインモジュールが２つの場合を例示しているが、ドライバ本体１２０３に着脱可能なプラグインモジュールは２つに限定されないということは言うまでもない。
【００５１】
図２は、所定のアプリケーション５０１と、プリンタ２００を制御対象とする印刷処理関連プログラム５０４とを起動して、ホストコンピュータ１００上のＲＡＭ１０２にロードされた状態のＲＡＭ１０２のメモリマップを示している。
【００５２】
ＲＡＭ１０２には、図示の如く、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）５０６、ＯＳ５０５をはじめ、アプリケーション５０１、印刷処理関連プログラム５０４、および関連データ５０３がロードされており、さらに空きメモリ領域５０２も確保されている。これにより、アプリケーション５０１および印刷処理関連プログラム５０４は、実行可能な状態になる。
【００５３】
印刷処理関連プログラム５０４におけるプリンタドライバＵＩ制御モジュール５０４２は、印刷設定画面６００、９００（図３、図８を参照）やプリンタ機能設定画面８００（図１０を参照）を、ユーザーによる印刷設定指令に応じてディスプレイ（例えばＣＲＴ）１１０に表示し、ユーザーからの設定を可能にする。
【００５４】
図３に、ユーザーインターフェイス（ＵＩ）としての印刷設定画面６００の表示例を示す。
同図において、「用紙サイズ」の欄（プルダウンリストボックス）６１０は、印刷を行う用紙サイズを決定するために使われる。ユーザーは、このプルダウンリストボックス６１０により、印刷する用紙のサイズを選択することができる。
【００５５】
「部数」の欄（部数スピンコントロールボックス）６２０は、印刷する部数を決定するために使われる。ユーザーは、この部数スピンコントロールボックス６２０により、希望する印刷部数を入力することができる。
【００５６】
「レイアウト」の欄（プルダウンリストボックス）６３０は、印刷の体裁を決定する為に使用される。このプルダウンリストボックス６３０に表示されている「１ページ／枚」とは、印刷１ページをそのまま１枚の紙面上に印刷を行うことを意味する。
【００５７】
プルダウンリストボックス６３０を選択すると、これ以外に「２ページ／枚」（２ページを１枚の紙面上に縮小し重ならない様に配置する）などが表示される。このようにして、ユーザーは、希望する印刷レイアウトを選択することが可能である。
【００５８】
以上のようにして、プルダウンリストボックス６１０、部数スピンコントロールボックス６２０、及びプルダウンリストボックス６３０を用いて設定した内容でよい場合、ユーザーは、ＯＫボタン６４０を押下する。一方、前記設定した内容をキャンセルする場合、ユーザーは、キャンセルボタン６５０を押下する。
【００５９】
なお、本明細書では、上述したようなユーザーにより設定することが可能な項目を「プリンタ機能」または単に「機能」と呼ぶ。実際には、この他にも多くのプリンタ機能を有するが、説明を簡単にするため省略する。
【００６０】
図４は、本実施の形態のプリンタ制御システムにおける具体的な構成の一例を示すブロック図である。
同図において、ホストコンピュータ１１００は、図１に示したホストコンピュータ１００に対応するものであり、プリンタドライバ５０４１の機能の追加、更新、及び削除を行う情報機器である。
【００６１】
このホストコンピュータ１１００は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）１４００を介して印刷対象であるプリンタ１２００と接続されている。尚、このプリンタ１２００は、図１に示したプリンタ２００に対応するものである。
【００６２】
また、図４では、印刷対象のプリンタ１２００が、ＬＡＮ１４００を介してホストコンピュータ１１００と接続されているが、接続形態に特にこだわる必要はない。例えば、ホストコンピュータ１１００のローカルポートやバスにプリンタ１２００が接続されていても構わない。
【００６３】
また、ＬＡＮ１４００上に存在する他のホストコンピュータのローカルポートやバスにプリンタ１２００が接続されていても構わない。更には、インターネット（Ｉｎｔｅｒｎｅｔ）１７００上に存在する特定のサーバーの属するネットワーク内にプリンタ１２００が存在していても構わない。
つまり、プリンタ１２００は、ホストコンピュータ１１００から出力が可能な場所なら何処に接続されていても構わない。
【００６４】
ホストコンピュータ１１００は、ＬＡＮ１４００を介して他のサーバー１３００と接続されている。ここで、サーバー１３００は、プリンタ機能を提供するサーバーとして動作するものとする。
【００６５】
尚、図４では、簡略化のため、プリンタ機能を提供するＬＡＮ１４００内のサーバー１３００を１つしか図示していないが、プリンタ機能を提供するサーバーが複数存在していても構わない。
【００６６】
また、ホストコンピュータ１１００は、ＬＡＮ１４００に接続されたプロキシサーバー１５００を介してインターネット（Ｉｎｔｅｒｎｅｔ）１７００に接続されている。このインターネット（Ｉｎｔｅｒｎｅｔ）１７００には、プリンタ機能を提供するＷｅｂサーバー１６００が存在するものとする。
【００６７】
尚、図４では、簡略化のため、プリンタ機能を提供するインターネット（Ｉｎｔｅｒｎｅｔ）１７００上のＷｅｂサーバー１６００を１つしか図示していないが、プリンタ機能を提供するＷｅｂサーバーが複数存在していても構わない。
【００６８】
図５は、本実施の形態に関連するプリンタドライバＵＩ制御モジュール５０４２の概念図である。
同図において、ＵＩ制御部７１０は、印刷設定画面６００、９００（図３、図８を参照）や、プリンタ機能設定画面８００（図１０を参照）などのユーザーインターフェイス（ＵＩ）の制御を司る。
【００６９】
具体的にＵＩ制御部７１０は、上記ユーザーインターフェイス（ＵＩ）の表示や、上記ユーザーインターフェイス（ＵＩ）に表示される各設定項目間の調整や、印刷設定データの構築等を行う部分である。
【００７０】
そして、本実施の形態では、検索対象情報リスト７５０に格納される検索対象情報と、機能情報リスト７６０に格納される機能情報なるものを管理するようにする。
検索対象情報リスト７５０に格納される検索対象情報は、機能検索部７２０が検索を行う範囲を特定するものである。具体的に、上記検索対象情報は、プリンタ機能が格納されている場所に関する情報などである。
【００７１】
また、機能情報リスト７６０に格納される機能情報は、個別のプリンタ機能に対する情報である。具体的に説明すると、機能情報は、図６に示されるように、機能の名称、機能ＩＤ、リビジョン、所在、関連ファイル名、状態、及び対応モデル名などである。そして、機能情報リスト７６０では、このような機能情報をプリンタ機能毎にまとめて格納している。
【００７２】
この機能情報リスト７６０に格納されている機能情報は、機能検索部７２０や、機能管理部７３０によって更新され、機能表示部７４０における表示動作のために使用される。
【００７３】
これら検索対象情報及び機能情報は、ホストコンピュータ１００（ホストコンピュータ１１００）のＲＡＭ１０２又は外部メモリ（ＨＤ）１１１などの記憶領域に、一時的或いは恒久的に記憶される情報である。
【００７４】
機能検索部７２０は、ＵＩ制御部７１０の指示に従い、検索対象情報に記述された場所に格納されているプリンタ機能を検索する。プリンタ機能が新たに検出されると、機能情報リスト７６０に必要な情報を書き加える。
【００７５】
機能表示部７４０は、ＵＩ制御部７１０の指示に従い、機能情報をユーザーに提示すると共に、ユーザーが指定するプリンタ機能の追加、更新、及び削除などのアクションをＵＩ制御部７１０に伝達する。
【００７６】
機能管理部７３０は、機能表示部７４０の指示に従い、対象となるプリンタ機能の追加、更新、及び削除を実行する役割を果たす。また、機能管理部７３０は、必要に応じて、機能提供関連ファイルのダウンロードや置き換え、或いは削除を行う。
【００７７】
機能管理部７３０は、これ以外に、上記機能提供関連ファイルの状態変化が、プリンタ設定情報に反映されるように、各種の設定情報を更新し、印刷を実行する際に具体的に表示するユーザーインターフェイス（ＵＩ）をこの更新結果に合わせて変更することなどを行う。
また、これらとは別に、検索対象情報をユーザーが独自に更新したり、変更したりするための別の手段を設けても良い。
【００７８】
次に、機能検索部７２０の動作の詳細について説明を行う。
機能検索部７２０を起動させるタイミングとしては、プリンタドライバ５０４１のユーザーインターフェイス（ＵＩ）上に設けられたボタンの押下により起動されたり、プリンタ機能の追加、更新、及び削除の指示を行うためのプリンタ機能設定画面８００（図１０を参照）を表示する直前に、バックグランドで起動されたりする。この他、ユーザーが、プリンタドライバ５０４１のユーザーインターフェイス（ＵＩ）を起動する毎に、機能検索部７２０を起動するなどしてもよい。
【００７９】
図７は、機能検索部７２０における処理の一例を表すフローチャートである。以下、機能検索部７２０における処理を、このフローチャートを参照しながら説明を行う。
【００８０】
機能検索部７２０は、起動されると適切に初期化された後、検索対象情報リスト７５０に格納されている検索対象情報を読み込む（ステップＳ１０１）。
そして、読み込んだ検索対象情報に１つでも検索対象（プリンタ機能が格納されている場所に関する情報）が記述されていれば、次のステップに進む。一方、検索対象が何も記載されていないのであれば、処理を終了する（ステップＳ１０２）。
【００８１】
ステップＳ１０２における判定の結果、検索対象が１つでも記述されている場合には、処理すべき検索対象のアクセスを試みる。そして、アクセスすることができるのであれば、次のステップへ進み、アクセスすることができないのであれば後述するステップＳ１１１へ進む（ステップＳ１０３）。
【００８２】
ステップＳ１０３における判定の結果、処理すべき検索対象にアクセスできた場合には、現在の検索対象内にプリンタ機能が存在しているか否かを判定する。そして、プリンタ機能が１つでも存在するのであれば、次のステップへ進み、プリンタ機能が全く存在しないのであれば、後述するステップＳ１０９へ進む（ステップＳ１０４）。
【００８３】
ステップＳ１０４における判定の結果、プリンタ機能が１つでも存在する場合には、検索対象内に存在するプリンタ機能から機能情報リスト７６０に記載するべき機能情報を収集する（ステップＳ１０５）。
【００８４】
そして、収集した機能情報が、機能情報リスト７６０に記載されていないのであれば、次のステップへ進み、既に同じ内容の機能情報が機能情報リスト７６０に記載されているのであれば、後述するＳ１０８へ進む（ステップＳ１０６）。
【００８５】
ステップＳ１０６における判定の結果、ステップＳ１０５にて収集した機能情報が機能情報リスト７６０に記載されていない場合には、先にステップＳ１０５にて収集した機能情報を機能情報リスト７６０に追加する（ステップＳ１０７）。
【００８６】
そして、現在検索対象になっている場所に存在する全てのプリンタ機能に対する機能情報を収集したのであれば、次にステップへ進む。一方、収集すべき機能情報が未だ残っているのであれば、上記ステップＳ１０５に戻り、未だ収集されていない情報を収集する（ステップＳ１０８）。
【００８７】
その後、リンク先の情報（リンク先情報）が存在するか否かを判定する。この判定の結果、リンク先情報が存在するのであれば、次のステップへ進み、リンク先情報が存在しないのであれば、後述するステップＳ１１１へ進む（ステップＳ１０９）。なお、上記リンク先情報の具体的な内容については後述する。
【００８８】
ステップＳ１０９における判定の結果、リンク先情報が存在する場合、そのリンク先情報を読みとる。そして、読みとったリンク先情報に対応する検索対象情報が、検索対象情報リスト７５０に存在しているか否かを判定し、存在しないのであれば、これを検索対象情報リスト７５０に追加する（ステップＳ１１０）。
【００８９】
その後、検索対象情報リスト７５０に載っている検索対象内に存在する全てのプリンタ機能を検索したか否かを判定し、検索していないのであれば、上記ステップＳ１０３に戻り、残りの検索対象内からプリンタ機能の検索を行う。一方、検索対象情報リスト７５０に載っている検索対象内に存在する全てのプリンタ機能に対する検索が完了したのであれば、処理を終了する（ステップＳ１１１）。
【００９０】
ここで、上記リンク先情報について説明する。
上記リンク先情報とは、現在参照している検索対象とは別の、プリンタ機能を提供する場所に関する情報を意味する。具体的に上記リンク先情報は、検索対象情報と同様に、プリンタ機能が格納されている場所を指している。
【００９１】
この様にリンクを介してプリンタ機能を検索することにより、より広範囲に渡ってプリンタ機能を検索することが可能になる。但し、この仕組みは、ＬＡＮ１４００やインターネット（Ｉｎｔｅｒｎｅｔ）１７００を介した検索を大量に発生させる可能をはらんでいる。したがって、このような構成にする場合には、リンクを介したプリンタ機能の検索を有効にしたり無効にしたりすることを、ユーザーに対して許すようにする構成とするのが好ましい。
【００９２】
例えば、図４に示したホストコンピュータ１１００の検索対象情報リスト７５０に、ＬＡＮ１４００上のサーバー１３００の場所のみが記載されている場合であっても、ＬＡＮ１４００上のサーバー１３００に、Ｗｅｂサーバー１６００の場所を示すリンク先情報が記載されていれば、Ｗｅｂサーバー１６００で提供されるプリンタ機能についても知ることが可能となる。
【００９３】
当然、この機能検索部７２０における検索対象範囲は上記の範囲に限らず、ホストコンピュータ１１００内であっても、検索対象とすることが可能である。
例えば、ホストコンピュータ１１００に装着されるＣＤなどの電子記憶媒体でプリンタ機能が提供される場合にも、検索対象情報リスト７５０を適切に編集することで、上述したのと同様にしてプリンタ機能を検索することが可能になる。
【００９４】
更には、ＬＡＮ１４００上のサーバー１３００やインターネット（Ｉｎｔｅｒｎｅｔ）１７００上にあるＷｅｂサーバー１６００から、ホストコンピュータ１１００内の適当な記憶領域（例えば外部メモリ（ＨＤ）１１１内の記憶領域）に、目的とするプリンタ機能をダウンロードした状態で、図７を用いて説明したプリンタ機能の検索処理を走らせることで、プリンタ機能をより高速に検索することが可能となる。さらに、このようにすれば、ネットワークが不通となる場合であっても、プリンタ機能の検索を実行することが可能になる。
【００９５】
以上の様にして、機能検索部７２０は、検索対象情報７５０で指定された場所に存在するプリンタ機能の所在を検索し、検索した結果を機能情報リスト７６０に反映させると同時に、場合によっては自ら検索対象情報リスト７５０を更新する役目を果たす。
【００９６】
次に、機能表示部７４０の動作の詳細について説明する。
機能表示部７４０は、既に組み込まれているプリンタ機能、及び機能検索部７２０によって検索された有効になっていないプリンタ機能を、ユーザーに対して表示し、各々のプリンタ機能に対して追加、更新、及び削除などの指示を受け付ける役割を果たす。
【００９７】
ユーザーから受け付けた各アクションは、その場で表示画面（プリンタ機能設定画面８００）に反映させるようにし、ユーザーが、ホストコンピュータ１１００とインターラクティブ（対話的）にプリンタ機能の状態を確認することできるようになっている。
【００９８】
図８は、機能表示部７４０を起動するスイッチ（ボタン）を有する印刷設定画面の表示例を示す。
同図において、印刷設定画面９００は、図３に示した印刷設定画面６００に、「機能追加・更新・削除」ボタン６６０が追加されたものであり、このボタン６６０を選択することで、機能表示部７４０は起動される。
【００９９】
尚、先にも述べたように、このボタン６６０の選択と連動して機能検索部７２０が起動され、その後に機能表示部７４０が起動されている様にしても良い。
【０１００】
図９は、機能表示部７４０における処理の一例を示すフローチャートである。以下、機能表示部７４０における処理を、このフローチャートを参照しながら説明する。
【０１０１】
機能表示部７４０は、起動されると適切に初期化され、まず機能情報リスト７６０内の機能情報を読み込む（ステップＳ２０１）。
そして、読み込んだ機能情報の「状態」の項目に注目し、現在有効なものと、現在無効なものとに各プリンタ機能を分類しする。そして、分類した結果をプリンタ機能設定画面８００（図１０を参照）に表示する（ステップＳ２０２）。
【０１０２】
図１０は、このステップＳ２０２により表示されるプリンタ機能設定画面８００の表示例である。上述したように、このプリンタ機能設定画面８００は、プリンタ機能の追加、更新、及び削除の設定を行うための画面である。
【０１０３】
具体的に、図１０に示すプリンタ機能設定画面８００内の「組み込まれている機能」の表示欄８１０に表示されている機能情報は、機能情報リスト７６０にて状態が「有効」となっているプリンタ機能に関する機能情報である。
【０１０４】
また、「組み込める機能」の表示欄８２０に表示されている機能情報は、機能情報リスト７６０にて状態が「無効」となっているプリンタ機能に関する機能情報である。
【０１０５】
この図１０の表示例では、各プリンタ機能がどのような状態であるのかをユーザーに解りやすくさせるために、機能情報のうち、「機能の名称」及び「機能のリビジョン」を各表示欄８１０、８２０に表示して、各プリンタ機能がどのような状態にあるのかを表示している。
【０１０６】
プリンタ機能に関する更に詳しい情報を得たい場合、ユーザーは、「組み込まれている機能」の表示欄８１０、又は「組み込める機能」の表示欄８２０にリストされた機能情報の中から１つを選択し、「概要」ボタン８７０を選択する。
【０１０７】
これにより、選択された機能情報に対応するプリンタ機能に関する詳細な情報（機能詳細情報）を表示し、プリンタ機能の概要や所在、更にはプリンタ機能を構成するファイルや、プリンタ機能のリリース日時などの細かな情報をユーザーが得られる様にする。更に、「組み込まれている機能」の表示欄８１０または「組み込める機能」の表示欄８２０の中から特定の機能を選択した状態で「概要」ボタン８７０を押下すると、先に述べた機能情報リスト７６０から該当機能の概要情報をユーザーに知らせることも可能である。
【０１０８】
また、これらの機能詳細情報は、ツールチップ（該当するプリンタ機能にマウスカーソルを移動するか、該当するプリンタ機能を選択した後にマウスの左ボタンをクリックする）などを用いて表示すると、更に便利であり好ましい。
【０１０９】
図９に説明を戻し、ユーザーに対してプリンタ機能設定画面８００の表示を行った後、各ユーザーアクションを待つ（ステップＳ２０３）。
ここで想定されるユーザーアクションは、プリンタ機能の追加、更新、削除、及び処理の終了である。
【０１１０】
ユーザーが起こしたアクションが、プリンタ設定画面８００内のキャンセルボタン８９０の押下である場合には（ステップＳ２０４）、機能表示部７４０は、処理を終了する。
【０１１１】
それ以外、つまり、プリンタ機能の追加、更新、又は削除を行うためのアクションがあった場合、これらのアクション（リクエスト）を適切に処理するステップ（ステップＳ２０５）、及びプリンタ機能設定画面（ＧＵＩ）８００の表示にこのステップＳ２０５における処理結果を反映させるステップ（ステップＳ２０６）を経て、再度ユーザーからのアクション（リクエスト）を待つ（ステップＳ２０３）。
【０１１２】
上記アクション（リクエスト）を適切に処理するステップＳ２０５は、機能管理部７３０を呼び出すことで実現される。ここで、このステップＳ２０５で呼び出された機能管理部７３０の処理について説明する。
図１１は、機能管理部７３０における処理の一例を表すフローチャートである。以下、機能管理部７３０における処理を、このフローチャートを参照しながら説明する。
【０１１３】
先ず、上記のようにしてユーザーにより要求されたアクションがプリンタ機能の「追加」かどうかの判定を行う（ステップＳ３０１）。これは、ユーザーにより要求されたアクションが、プリンタ機能の「更新」の場合、プリンタ機能の「削除」処理を先に行ってから、プリンタ機能の「追加」処理を行う必要があるためである。
【０１１４】
そして、ユーザーから要求されたアクションがプリンタ機能の「追加」の場合、プリンタ機能を追加する際に必要な各種情報を機能情報リスト７６０などから取得する（ステップＳ３０２）。
【０１１５】
ここで取得する情報としては、追加するプリンタ機能を実現するためのモジュールや、この取得の際の規約に関する情報（呼び出し規約に関する情報）や、追加するプリンタ機能を印刷設定情報にどのように反映させるかを表す情報などである。
【０１１６】
また、他のプリンタ機能との関連に関する情報や、新たに追加されたプリンタ機能に対する表示をプリンタ設定画面（ＧＵＩ画面）８００上でどのような配置で行うかを示す情報や、新たに追加されたプリンタ機能の属性などを決定するための情報や、対応するプリンタ（機種）１２００に依存して設定され実行されるべき事項に関する情報などもこのステップＳ３０２で取得する情報に含まれる。
【０１１７】
その後、プリンタ機能の具体的な追加処理を行う（ステップＳ３０３）。
この処理は、既存のプリンタドライバＵＩ制御モジュール５０４２、及びプリンタドライバ５０４１に、該当するプリンタ機能を追加する処理であり、以下のような処理が行われる。
【０１１８】
（追加するプリンタ機能を実現するモジュールの取り込み）
プリンタ機能によっては、印刷処理を実行するホストコンピュータ１１００で必ず実行する必要のあるものがある。これに対し、他のサーバー１３００、１６００上に実体をおいたまま処理することが可能なプリンタ機能もある。
【０１１９】
このように、プリンタ機能の属性により、プラグインモジュール１２０１、１２０２（実行モジュール）の居所は様々であることを考え、ホストコンピュータ１１００からこれらのプリンタ機能を容易に参照することが可能となるように、リンクの設定を行う。そして、このリンクの設定の結果を受けて、プラグインモジュール１２０１、１２０２（実行モジュール）を取り込む。この際、必要に応じてプラグインモジュール１２０１、１２０２（実行モジュール）をホストコンピュータ１１００内のローカルハードディスクなどにダウンロードしてプラグインモジュール１２０１、１２０２（実行モジュール）を取り込むようにする場合もある。
【０１２０】
（呼び出し規約の取り込み）
新たに追加されたプリンタ機能を呼び出すタイミングや、プリンタ機能を呼び出す際に必要とする情報などを、既存のプリンタドライバ５０４１及びプリンタドライバＵＩ制御モジュール５０４２に組み込む処理を行う。
【０１２１】
この呼び出し規約の取り込み処理が行われると、プリンタドライバ５０４１やプリンタドライバＵＩ制御モジュール５０４２は、上記組み込まれたタイミングで、上記プリンタ機能を呼び出す際に必要となる情報を、プラグインモジュール管理部１２０４（追加機能処理モジュール）側に提供することが可能になる。
【０１２２】
また、場合によっては、プラグインモジュール管理部１２０４（追加機能処理モジュール）側からプリンタドライバ５０４１及びプリンタドライバＵＩ制御モジュール５０４２側の既存のインターフェイスを介してこれらの情報の収集を行うことも可能となる。
【０１２３】
なお、上記において、プラグインモジュール１２０１、１２０２と、プラグインモジュール管理部１２０４とを同一視して、上記プリンタ機能を呼び出す際に必要となる情報の提供や収集を行うようにしてもよい。
【０１２４】
（印刷設定情報へのプリンタ機能の反映）
プリンタドライバＵＩ制御モジュール５０４２は、印刷設定情報を作成し、これをプリンタドライバ５０４１へ渡すことで、追加されたプリンタ機能をプリンタドライバ５０４１で実現することが可能となる。
【０１２５】
プリンタドライバ５０４１に新たなプリンタ機能を追加した場合には、このプリンタ機能の状態やそのオプションなどを、この印刷設定情報に必ず記載する必要がある。そして、ここでは、これらの設定項目をプリンタドライバＵＩ制御モジュール５０４２及びプリンタドライバ５０４１が読解可能になるための処理を施す。
【０１２６】
（他のプリンタ機能との関連処理の組み込み）
プリンタドライバＵＩ制御モジュール５０４２では、様々な機能が実現されるため、複数のプリンタ機能間における設定上の矛盾などを回避するために、ある１つの決まった規則に基づいて、設定項目の見直しを順次行う必要がある。
【０１２７】
この個々の設定項目の見直しを「ルール」と名付けると、新たに追加されたプリンタ機能に対する「ルール」を、割り当てられた優先順位で実行することが重要である。ここでは、新たに追加されたプリンタ機能に対する「ルール」を、指定される階層に組み込む処理を行う。
【０１２８】
（ＧＵＩへの追加処理）
新たに追加されたプリンタ機能が、ユーザーインターフェイス（ＵＩ）を必要とする場合、上記新たに追加されたプリンタ機能に対する表示情報をＧＵＩ上にどのように配置するのかを設定する必要がある。また、どのようなコントロールや選択肢をＧＵＩ上に提示するべきかを設定する必要もある。これを達成するために、既存のＧＵＩと、新たに追加されたプリンタ機能のＧＵＩとをマージする作業を行う。
【０１２９】
（機種依存情報の取り込み）
新たに追加されたプリンタ機能が適応する対象機種（プリンタ１２００）によっては、制限事項が発生する場合も考えられる。そこで、新たに追加されたプリンタ機能に対する機種依存情報を、プリンタドライバ５０４１及びプリンタドライバＵＩ制御モジュール５０４２に通知する必要がある場合には、この機種依存情報の追加や置き換え処理を行う。
【０１３０】
以上が、プリンタ機能の追加に関わる主な処理である。これ以外にもプリンタドライバ５０４１及びプリンタドライバＵＩ制御モジュール５０４２が、この新たに追加されたプリンタ機能を滞りなく処理できる様に必要な処理は全てこのステップＳ３０３で行う必要がある。
【０１３１】
図１１に説明を戻し、以上のようなプリンタ機能の追加処理（ステップＳ３０３の処理）が正常に終了すると、機能管理部７３０は機能情報リスト７６０を参照し、今追加処理を行ったプリンタ機能の「状態」の項目を「有効」に変更し（ステップＳ３０４）、処理を終了する。
以上が、プリンタ機能の「追加」に対する機能管理部７３０の動作である。
【０１３２】
次に、プリンタ機能の「更新」又は「削除」に対する機能管理部７３０の処理を述べる。
先のステップＳ３０１にて、ユーザーにより要求されたアクションが、プリンタ機能の「更新」又は「削除」だと判定されると、プリンタ機能を削除するために必要な各種情報を、機能情報リスト７６０や、（プリンタ機能が既に追加されている）プリンタドライバ５０４１やプリンタドライバＵＩ制御モジュール５０４２から取得する（ステップＳ３０５）。
ここで取得する情報は、先に説明したプリンタ機能の追加処理（ステップＳ３０３で行った処理）を元に戻すために使用される情報である。
【０１３３】
その後、プリンタ機能の具体的な削除処理を行う（ステップＳ３０６）。
このステップでの処理は、先に説明したプリンタ機能の追加処理（ステップＳ３０３で行った処理）を元の状態に戻す処理を意味する。
【０１３４】
つまり、ここでは、上述した機能実現モジュールや、ルール、更には機種依存情報などとのリンクを破棄し、呼び出し手続きや設定情報、更にはＧＵＩなどをこのプリンタ機能が追加される以前の状態に復帰させる処理を行う。
【０１３５】
これらの処理を行った後、機能管理部７３０は機能情報リスト７６０を参照し、今削除処理を行ったプリンタ機能の「状態」の項目を「無効」に変更する（ステップＳ３０７）。
【０１３６】
その後、ユーザーが要求したアクションが、プリンタ機能の「更新」なのかどうかを判定し（ステップＳ３０８）、プリンタ機能の「更新」処理であれば、ステップＳ３０２に進み、上述したプリンタ機能の追加処理を走らせる。一方、ユーザーが要求したアクションが、プリンタ機能の「更新」以外（プリンタ機能の「削除」）であれば、処理を終了する。
以上が、機能管理部７３０における処理である。
【０１３７】
図９に説明を戻し、ステップＳ２０５で、上述した機能管理部７３０を使ったプリンタ機能に対する処理が完了すると、その処理結果をプリンタ機能設定画面（ＧＵＩ）８００に反映するステップＳ２０６へ移る。
【０１３８】
この時点でプリンタ機能の「追加」、「更新」、及び「削除」の各処理は、プリンタドライバ５０４１及びプリンタドライバＵＩ制御モジュール５０４２の全てに反映されており、処理結果は、機能情報リスト７６０の「状態」の項目に書き込まれている。
【０１３９】
そして、機能表示部７４０は、機能情報リスト７６０を再度読み込んで、「状態」の項目に注目し、現在有効なものと、現在無効なものとにプリンタ機能を分類し、分類した結果をプリンタ機能設定画面８００に表示する（ステップＳ２０６）。
その後、図１０に示したプリンタ機能設定画面８００にてユーザーからの要求を再度待つ。
【０１４０】
最後に、機能表示部７４０におけるプリンタ機能設定画面（ＧＵＩ）８００の動作を説明する。
図１０に示したプリンタ機能設定画面（ＧＵＩ）８００にてプリンタ機能の追加を行うためには、ユーザーは、「組み込める機能」の表示欄８２０から、所望のプリンタ機能を選択した状態で「追加・更新」ボタン８３０を押下する。
【０１４１】
この操作に基づいて、該当するプリンタ機能の追加処理が、機能管理部７３０で適切に行われ、その後、このプリンタ機能が有効となる。そして、この結果を反映するために、「組み込める機能」の表示欄８２０から「組み込まれている機能」の表示欄８１０に、有効としたプリンタ機能に対する表示情報（機能情報）を移動する。
【０１４２】
プリンタ機能の削除を行う場合も同様に、ユーザーは、「組み込まれている機能」の表示欄８１０から、所望のプリンタ機能を選択した状態で、「削除」ボタン８４０を押下する。
【０１４３】
この操作に基づいて、該当するプリンタ機能の削除処理が、機能管理部７３０で適切に行われ、その後、このプリンタ機能が無効となる。そして、この結果を反映するために「組み込まれている機能」の表示欄８１０から「組み込める機能」８２０の表示欄に、無効としたプリンタ機能に対する表示情報（機能情報）を移動する。
【０１４４】
プリンタ機能の更新を行う場合は、上述したプリンタ機能の「追加」及び「削除」の動作を行う。図１０に示した「機能Ｂ」をリビジョン「Ｖ１００」から「Ｖ１０１」に更新する例で説明すると、ユーザーは、「組み込まれている機能」の表示欄８１０、または「組み込める機能」８２０の表示欄のいずれか、又は両方に表示されている該当するプリンタ機能を選択した状態で「追加・更新」ボタン８３０を押下すると、リビジョンが「Ｖ１００」のプリンタ機能Ｂ（「機能ＢＶ１００」）は無効にされる。
【０１４５】
そして、このプリンタ機能に対する表示情報（「機能Ｂ  Ｖ１００」）を「組み込まれている機能」の表示欄８１０から「組み込める機能」８２０の表示欄に移動する。そして、リビジョンが「Ｖ１０１」のプリンタ機能Ｂ（「機能Ｂ  Ｖ１０１」）が有効となり、このプリンタ機能に対する表示情報（「機能Ｂ  Ｖ１０１」）を「組み込める機能」の表示欄８２０から「組み込まれている機能」の表示欄８１０に移動する。
【０１４６】
また、図１０に示したプリンタ機能設定画面８００内の「全て追加・更新」ボタン８５０が押下されると、「組み込める機能」８２０の表示欄に表示（リスト）されている各機能情報に対して、それぞれ上記「追加」処理、又は上記「更新」処理が順次走るように制御される。また、「全て削除」ボタン８６０が押下されると、「組み込まれている機能」の欄８１０に表示（リスト）されている各機能情報に対して、それぞれ上記「削除」処理が順次走るように制御される。
【０１４７】
以上のように本実施の形態では、ホストコンピュータ１００で動作する検索対象情報リストＵＩ制御モジュール５０４２内の検索対象情報リスト７５０に記述されている検索対象範囲に存在している機能情報を取得して機能情報リスト７６０に書き込み、機能情報リスト７６０に書き込まれている機能情報（の一部）をプリンタ機能設定画面８００の表示欄８１、８２０に表示して、表示した機能情報に対応する機能の追加、更新、及び削除の指示を受け付け、受け付けた指示に従って、機能の追加、更新、及び削除を実行する。
【０１４８】
これにより、ドライバ本体モジュール１２０３に接続されているプラグインモジュール１２０１、１２０２を用いて、機能の追加、更新、及び削除を行えるようにすることができる。
【０１４９】
したがって、オリジナルプリンタドライバ自体（ドライバ本体モジュール１２０３）は何ら変えることなく、プリンタ機能を新規に追加したり、既存のプリンタ機能をこれに替わる新たなプリンタ機能で置き換えて更新したり、削除可能なプリンタ機能を削除したりすることが可能となる。
【０１５０】
このことは、プリンタドライバに対する変更部分を最小限に留めながら、プリンタ機能の追加、更新、及び削除を実現することが可能になり、既存のプリンタドライバと、プリンタ機能の追加、更新、又は削除を行った後のプリンタドライバ、及び、これらが搭載された印刷制御装置との差異を最小限にすることが可能になることを意味する。したがって、従来のように、プリンタ機能の追加、更新、及び削除により、ユーザーが思わぬ不利益を被ってしまうことを可及的に防止することができる。
【０１５１】
更に、プリンタ機能設定画面８００を用いてプリンタ機能の追加、更新、及び削除の指示を行えるようにしたので、プリンタ機能の追加、更新、及び削除の指示を、印刷制御装置の一例であるホストコンピュータ１００の表示部の一例であるディスプレイ１１０に表示を制御する表示制御プログラムであるプリンタドライバのユーザーインターフェイスプログラムから呼び出すことが可能となり、これらプリンタ機能の追加、更新、及び削除を行うための作業を、ユーザーが容易に行えるようにすることが可能となる。
【０１５２】
（本発明の他の実施の形態）
上述した実施の形態の機能を実現するべく各種のデバイスを動作させるように、該各種デバイスと接続された装置あるいはシステム内のコンピュータに対し、前記実施形態の機能を実現するためのソフトウェアのプログラムコードを供給し、そのシステムあるいは装置のコンピュータ（ＣＰＵあるいはＭＰＵ）に格納されたプログラムに従って前記各種デバイスを動作させることによって実施したものも、本発明の範疇に含まれる。
【０１５３】
また、この場合、前記ソフトウェアのプログラムコード自体が上述した実施形態の機能を実現することになり、そのプログラムコード自体、およびそのプログラムコードをコンピュータに供給するための手段、例えば、かかるプログラムコードを格納した記録媒体は本発明を構成する。かかるプログラムコードを記憶する記録媒体としては、例えばフレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード、ＲＯＭ等を用いることができる。
【０１５４】
また、コンピュータが供給されたプログラムコードを実行することにより、上述の実施形態の機能が実現されるだけでなく、そのプログラムコードがコンピュータにおいて稼働しているＯＳ（オペレーティングシステム）あるいは他のアプリケーションソフト等と共同して上述の実施形態の機能が実現される場合にもかかるプログラムコードは本発明の実施形態に含まれることは言うまでもない。
【０１５５】
さらに、供給されたプログラムコードがコンピュータの機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに格納された後、そのプログラムコードの指示に基づいてその機能拡張ボードや機能拡張ユニットに備わるＣＰＵ等が実際の処理の一部または全部を行い、その処理によって上述した実施形態の機能が実現される場合にも本発明に含まれることは言うまでもない。
【０１５６】
【発明の効果】
以上説明したように本発明によれば、ユーザーにより指定された機能を、印刷装置と連動して実現するに際し、既に組み込まれている機能に関する機能情報と、組み込まれていない機能に関する機能情報とを表示して、機能の追加、更新、及び削除の指示を受け付け、受け付けた指示に従って、上記機能の追加、更新、及び削除を行うようにしたので、機能の追加、更新、及び削除を適切に行うことができるようになる。
【図面の簡単な説明】
【図１】本発明の実施の形態を示し、プリンタ制御システムの構成の一例を示すブロック図である。
【図２】本発明の実施の形態を示し、印刷処理関連プログラムを起動して、ホストコンピュータ上にロードされたＲＡＭのメモリマップの一例を示す図である。
【図３】本発明の実施の形態を示し、印刷設定画面の表示例を示す図である。
【図４】本発明の実施の形態を示し、プリンタ制御システムにおける具体的な構成の一例を示すブロック図である。
【図５】本発明の実施の形態を示し、プリンタドライバＵＩ制御モジュールの概念図である。
【図６】本発明の実施の形態を示し、機能情報の具体的な内容の一例を示す図である。
【図７】本発明の実施の形態を示し、機能検索部の処理を示すフローチャートである。
【図８】本発明の実施の形態を示し、機能表示部を起動するスイッチを設けた印刷設定画面の表示例を示す図である。
【図９】本発明の実施の形態を示し、機能表示部の処理を示すフローチャートである。
【図１０】本発明の実施の形態を示し、プリンタ機能設定画面の表示例を示す図である。
【図１１】本発明の実施の形態を示し、機能管理部の処理を示すフローチャートである。
【図１２】本発明の実施の形態を示し、プラグインモジュールの構成の一例を示す図である。
【符号の説明】
１００  ホストコンピュータ
１０１  ＣＰＵ
１０２  ＲＡＭ
１０３  ＲＯＭ
１０４  システムバス
１０５  キーボードコントローラ（ＫＢＣ）
１０６  ビデオコントローラ（ＶＤＣ）
１０７  ディスクコントローラ（ＤＣ）
１０８  プリンタコントローラ（ＰＲＴＣ）
１０９  キーボード
１１０  ディスプレイ
１１１  外部メモリ（ＨＤ、ＦＤ）
１２０  コンピュータ制御ユニット
１５０  双方向性インターフェイス
２００  プリンタ
２０１  ＣＰＵ
２０２  ＲＡＭ
２０３  ＲＯＭ
２０４  システムバス
２０５  入力部
２０６  印刷部Ｉ／Ｆ
２０７  メモリコントローラ（ＭＣ）
２１０  プリンタ制御ユニット
２２０  印刷エンジン
２３０  操作部
２４０  外部メモリ
５０１  アプリケーション
５０２  空きメモリ
５０３  関連データ
５０４  印刷処理関連プログラム
５０４１  プリンタドライバ
５０４２  プリンタドライバＵＩ制御モジュール
５０５  ＯＳ
５０６  ＢＩＯＳ
６００  印刷設定画面
６１０  用紙サイズリストボックス
６２０  部数スピンコントロール
６３０  レイアウトリストボックス
６４０  ＯＫボタン
６５０  Ｃａｎｃｅｌボタン
６６０  機能追加・更新・削除ボタン
７１０  ＵＩ制御部
７２０  機能検索部
７３０  機能管理部
７４０  機能表示部
７５０  検索対象情報リスト
７６０  機能情報リスト
８００  プリンタ機能設定画面
８１０  組み込まれている機能の表示欄
８２０  組み込める機能の表示欄
８３０  追加更新ボタン
８４０  削除ボタン
８５０  全て追加・更新ボタン
８６０  全て削除ボタン
８７０  概要ボタン
８８０  ＯＫボタン
８９０  Ｃａｎｃｅｌボタン
９００  印刷設定画面
１１００  ホストコンピュータ
１２００  プリンタ
１２０１、１２０２  プラグインモジュール
１２０３  ドライバ本体モジュール
１２０４  プラグインモジュール管理部
１３００  サーバー
１４００  ＬＡＮ
１５００  プロキシサーバー
１６００  Ｗｅｂサーバー
１７００  インターネット
【図１】
2004326601.tif 000004
【図２】
2004326601.tif 000005
【図３】
2004326601.tif 000006
【図４】
2004326601.tif 000007
【図５】
2004326601.tif 000008
【図６】
2004326601.tif 000009
【図７】
2004326601.tif 000010
【図８】
2004326601.tif 000011
【図９】
2004326601.tif 000012
【図１０】
2004326601.tif 000013
【図１１】
2004326601.tif 000014
【図１２】
2004326601.tif 000015