(57)【特許請求の範囲】
【請求項１】
複数機種の画像処理装置に対応し、前記画像処理装置で処理可能な印刷データを生成する印刷制御プログラムであって、
前記印刷制御プログラムは、
コンピュータを、
前記印刷制御プログラムが印刷の要求を行う前記画像処理装置の機能情報に基づいて、前記画像処理装置が処理可能な機能の判定を行う機能管理手段と、
前記機能管理手段が行った判定に基づいて、印刷設定画面を生成する画面生成手段と、
前記画面生成手段で生成された画面によって受け付けられた複数の印刷設定に基づいた印刷データを生成する描画手段として機能させ、
前記描画手段は、前記複数の印刷設定の正当性の判定を前記機能管理手段に要求し、
前記機能管理手段は、前記描画手段より正当性の判定を要求された前記複数の印刷設定それぞれの正当性を前記機能情報に基づいて判定し、前記描画手段に判定結果を通知し、
前記描画手段は、通知された判定結果に基づいて前記印刷データを生成すること
を特徴とする印刷制御プログラム。
【請求項２】
前記機能管理手段は、
前記正当性の判定に基づいて、前記機能情報を前記複数の印刷設定に反映し、反映を行った複数の印刷設定を前記描画手段に通知し、
前記描画手段は、
前記機能管理手段によって通知された前記複数の印刷設定に基づいて印刷データを生成すること
を特徴とする請求項１に記載の印刷制御プログラム。
【請求項３】
前記機能情報は、複数の印刷設定それぞれの禁則条件を含むこと
を特徴とする請求項１または請求項２に記載の印刷制御プログラム。
【請求項４】
複数機種の画像処理装置に対応し、前記画像処理装置で処理可能な印刷データを生成して印刷制御を行う情報処理装置であって、
印刷の要求を行う前記画像処理装置の機能情報に基づいて、前記画像処理装置が処理可能な機能の判定を行う機能管理手段と、
前記機能管理手段が行った判定に基づいて、印刷設定画面を生成する画面生成手段と、
前記画面生成手段で生成された画面によって受け付けられた複数の印刷設定に基づいた印刷データを生成する描画手段とを有し、
前記描画手段は、前記複数の印刷設定の正当性の判定を前記機能管理手段に要求し、
前記機能管理手段は、前記描画手段より正当性の判定を要求された前記複数の印刷設定それぞれの正当性を前記機能情報に基づいて判定し、前記描画手段に判定結果を通知し、
前記描画手段は、通知された判定結果に基づいて、前記印刷データを生成すること
を特徴とする情報処理装置。
【請求項５】
前記機能管理手段は、
前記正当性の判定に基づいて、前記機能情報を前記複数の印刷設定に反映し、反映を行った複数の印刷設定を前記描画手段に通知し、
前記描画手段は、
前記機能管理手段によって通知された前記複数の印刷設定に基づいて印刷データを生成すること
を特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記機能情報は、複数の印刷設定それぞれの禁則条件を含むこと
を特徴とする請求項４または請求項５に記載の情報処理装置。
【請求項７】
請求項１から請求項３のうち、いずれか一項に記載の印刷制御プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御プログラム、情報処理装置、および印刷制御プログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
プリンタは機種によって機能が異なり、オプションの追加によって機能が拡張される場合がある。このような状況に対して、印刷装置の機能拡張に依らずに印刷装置が処理可能なデータを生成することができるようにした技術が提案されている。例えば、特許文献１に開示された技術では、まず、印刷設定を格納するためのデータ構造体（例えば、Ｄｅｖｍｏｄｅ構造体）に、印刷装置の機能に関する機能設定情報に基づき設定される印刷設定値を割り当てるための領域を確保して、この領域に印刷設定値を割り当てている。そして、上記機能設定情報を参照することによってデータ構造体に割り当てられた印刷設定値から印刷装置が処理可能なデータを生成している。特許文献１の技術では、このような構成をとることにより、印刷装置の機能拡張に依らずに印刷装置が処理可能なデータを生成することができるようにしている。
【０００３】
一方、１つのプリンタドライバで複数種類のプリンタに印刷データを出力することが可能な機種共通ドライバ（Ｕｎｉｖｅｒｓａｌ  Ｄｒｉｖｅｒ）という技術が知られている。
【０００４】
ところで、プリンタドライバがインストールされた情報処理装置上で、ユーザがアプリケーションを使って指定した印刷設定の内容は、印刷設定画面の表示制御等を行うプリンタドライバの印刷設定部から、プリンタドライバの描画部へ渡される。プリンタドライバの描画部では、プリンタドライバの印刷設定部から受け取った印刷設定をもとに、印刷データを生成する。描画部では、この印刷データを生成する前に、受け取った印刷設定が正当なものかどうかの判定（複数の設定間で、それらが同時に設定可能かどうかなどの判定）を行い、正当なものでない場合は、設定を修正する機能（本明細書では、正当性確認部と称す）がある。
【０００５】
従来の機種ごとのプリンタドライバでは（オプションの変更等がなければ）、その機能が増減することは無いため、プリンタドライバの描画部では、その機種の機能が使えるように、正当性確認部が組み込まれているだけでよかった。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、機種共通ドライバのようなプリンタドライバでは、使用されるプリンタが変わったり、接続されているプリンタの機能が拡張される場合があるので、サポートする全ての機種の全ての機能が使えるような形で、描画部に、印刷設定に対する正当性確認部が組み込まれている必要がある。すなわち、サポートする全ての機種の全ての機能に対する印刷設定の正当性を確認することのできる正当性確認部を持っている必要がある。また、機種ごとのプリンタドライバであっても、プリンタにオプションがあって使用可能な機能が変わるような場合がある構成では、同様の必要性が生じる。
【０００７】
従って、サポートしなければならないプリンタやその機能の増加に応じて正当性確認部も対応したモジュールを追加しなければならず（正当性確認部はハードコーディングされていることが多く、モジュールの追加には再コンパイルを伴う）、さらに、追加後のプリンタドライバを再配布しユーザに再インストールしてもらう必要があるという問題があった。
【０００８】
本発明は、上記に鑑みてなされたものであって、従来とは異なり、プリンタドライバの描画部において、その正当性確認部自体が、サポートする全ての機種の全ての機能に対応する必要がない構成とすることにより、ドライバを再コンパイルして再配布しユーザに再インストールしてもらう必要性をなくした、印刷制御プログラム、情報処理装置、および印刷制御プログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、複数機種の画像処理装置に対応し、画像処理装置で処理可能な印刷データを生成する印刷制御プログラムであって、印刷制御プログラムは、コンピュータを、印刷制御プログラムが印刷の要求を行う画像処理装置の機能情報に基づいて、画像処理装置が処理可能な機能の判定を行う機能管理手段と、機能管理手段が行った判定に基づいて、印刷設定画面を生成する画面生成手段と、画面生成手段で生成された画面によって受け付けられた複数の印刷設定に基づいた印刷データを生成する描画手段として機能させ、描画手段は、複数の印刷設定の正当性の判定を機能管理手段に要求し、機能管理手段は、描画手段より正当性の判定を要求された複数の印刷設定それぞれの正当性を機能情報に基づいて判定し、描画手段に判定結果を通知し、描画手段は、通知された判定結果に基づいて印刷データを生成することを特徴とする。
【００１０】
また、本発明は、上述した課題を解決し、目的を達成するために、複数機種の画像処理装置に対応し、画像処理装置で処理可能な印刷データを生成して印刷制御を行う情報処理装置であって、印刷の要求を行う画像処理装置の機能情報に基づいて、画像処理装置が処理可能な機能の判定を行う機能管理手段と、機能管理手段が行った判定に基づいて、印刷設定画面を生成する画面生成手段と、画面生成手段で生成された画面によって受け付けられた複数の印刷設定に基づいた印刷データを生成する描画手段とを有し、描画手段は、複数の印刷設定の正当性の判定を前記機能管理手段に要求し、機能管理手段は、描画手段より正当性の判定を要求された複数の印刷設定それぞれの正当性を機能情報に基づいて判定し、描画手段に判定結果を通知し、描画手段は、通知された判定結果に基づいて、印刷データを生成することを特徴とする。
【００１１】
また、本発明は、複数機種の画像処理装置に対応し、画像処理装置で処理可能な印刷データを生成する印刷制御プログラムであって、コンピュータを、印刷制御プログラムが印刷の要求を行う画像処理装置の機能情報に基づいて、画像処理装置が処理可能な機能の判定を行う機能管理手段と、機能管理手段が行った判定に基づいて、印刷設定画面を生成する画面生成手段と、画面生成手段で生成された画面によって受け付けられた複数の印刷設定に基づいた印刷データを生成する描画手段として機能させ、描画手段は、複数の印刷設定の正当性の判定を機能管理手段に要求し、機能管理手段は、描画手段より正当性の判定を要求された複数の印刷設定それぞれの正当性を機能情報に基づいて判定し、描画手段に判定結果を通知し、描画手段は、通知された判定結果に基づいて印刷データを生成することを特徴とする印刷制御プログラムを記憶した記憶媒体により、上述した課題を解決し、目的を達成する。
【発明の効果】
【００１２】
本発明によれば、使用可能な機能の判定や印刷設定の正当性の判定を機能管理手段が機能情報を基に統括的に行うので、サポートするプリンタやその機能の増減があったとしても、機能情報を変更するのみで、設定値の正当性の判定を含む機能管理を行うことができ、従来のようにプリンタドライバを再コーディングする必要がない。
【００１３】
また、機能情報は機種毎に用意されるので、機種単位でその内容の変更や追加等を行うだけで、サポートするプリンタやその機能の増減に容易に対応できる。
【図面の簡単な説明】
【００１４】
【図１】図１は、本発明の一実施の形態にかかるプリンタシステムの全体構成図を示した図である。
【図２】図２は、同実施形態におけるＰＣの構成を示すブロック図である。
【図３】図３は、機種毎の機能情報と、機能情報を読み出す機能管理部の関係を示す図である。
【図４】図４は、ＤＥＶＭＯＤＥ構造体を介して印刷設定部および描画部が情報を受けたり渡したりすることができることを示す図である。
【図５】図５は、レイアウト情報の一例を示した図である。
【図６】図６は、図５のレイアウト情報に基づいた印刷設定画面の例を示した図である。
【図７】図７は、機能情報の一例を示した図である。
【図８】図８は、描画部の動作を説明するフローチャートである。
【図９】図９は、アプリケーションからの印刷設定画面呼出しおよび印刷要求に対するプリンタドライバの動作を説明するシーケンス図である。
【発明を実施するための形態】
【００１５】
以下に添付図面を参照して、この発明にかかるプリンタシステムの一実施の形態を詳細に説明する。
【００１６】
（プリンタシステムの全体構成）
図１は、本発明の一実施の形態にかかるプリンタシステムの全体構成図を示した図である。図１に示すように、本実施の形態ではＰＣ１００とプリンタ１５０とがネットワーク１６０を介して接続されているものとする。そして、ＰＣ１００からの印刷要求に応じて、プリンタ１５０が印刷処理を行う。
【００１７】
（ＰＣ１００の構成）
図２は、ＰＣ１００の構成を示すブロック図である。図２に示すように、ＰＣ１００は、処理部１０１と、記憶部１０２と、通信部１０３とを備えている。処理部１０１は、図示しない制御手段としてのＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＯＭおよびメインメモリとなるＲＡＭを有するメモリ群とを含んで構成されている。ＰＣ１００の起動・実行時には、ＲＯＭおよび記憶部１０２からアプリケーション１０４と、ＯＳ１０５と、各種ドライバ（図２においては、プリンタドライバ１０６のみ記載）が、メインメモリ上にロードされ展開されて、これらがＣＰＵにより実行される。なお、ＰＣ１００は、キーボードやマウスなどの入力装置やディスプレイなどの出力装置等を備える通常のコンピュータを利用したハードウェア構成を有するが、図２においては説明の簡単のため省略している。
【００１８】
図２に示すプリンタドライバ１０６内の機能ブロックは、プリンタ１５０の制御を実現するための主要部となる機能又は手段である。
【００１９】
通信部１０３は、ネットワーク１６０を介して接続されたプリンタ１５０と情報の送受信を行う。
【００２０】
アプリケーション１０４は、ユーザが印刷指示をすることができるソフトウェアとする。ユーザはアプリケーション１０４で編集したデータを印刷したい場合、アプリケーション１０４が、ユーザによる印刷指示を受け付ける。この場合、アプリケーション１０４は、単体でプリンタ１５０に対する印刷データの生成を行わず、上記印刷指示に応じた印刷要求と共に、印刷対象の情報をＯＳ１０５に渡す。
【００２１】
ＯＳ１０５は、ＰＣ１００のハードウェアとソフトウェアとを管理するプログラムである。ＯＳ１０５は、プログラムの起動、情報の読み込みや保存の制御等を行う。ＯＳのうち代表的なものとしては、ＭＳ  Ｗｉｎｄｏｗｓ（登録商標）やＵＮＩＸ（登録商標）等が知られている。また、ＯＳ１０５は、アプリケーション１０４から渡された印刷要求と共に、印刷対象の情報（ドキュメントデータ、画像データ等）を、プリンタドライバ１０６に渡す。
【００２２】
記憶部１０２は、様々な情報を記憶する記憶手段である。具体的にはＨＤＤ等である。記憶される情報には、プリンタドライバ１０６が有する機能を実現するための処理に関する情報（処理に用いる設定値や、設定値の変更をするための表示情報など、処理に必要なあらゆる情報）を定義した設定情報がある。この設定情報の例としては、レイアウト情報、機能情報等が挙げられる。
【００２３】
レイアウト情報は、設定画面に表示されるＧＵＩコンポーネントのレイアウトが記述された情報である。機能情報は、各設定値の設定可能な範囲や各設定間の禁則が記述された情報である。これらの情報についての詳細は後述する。
【００２４】
プリンタドライバ１０６は、このドライバが有する機能を果たすためのモジュール群として、ＵＩの制御を行う印刷設定部１１１、印刷設定の正当性を判定するための処理を一括して統括的に行う機能管理部１１２、および描画の制御を行う描画部１１３を備える。
【００２５】
印刷設定部１１１は、画面表示部１２１と設定管理部１２２を有している。
【００２６】
画面表示部１２１は、ＵＩとしてモニタ画面に表示するＧＵＩ（印刷設定画面）の表示制御をする。本実施形態にかかる画面表示部１２１は、記憶部１０２に記憶されたレイアウト情報に基づいて印刷設定画面を表示する。
【００２７】
設定管理部１２２は、本設定管理部１２２で管理する各設定値を、ＯＳ１０５が提供するＤｅｖｍｏｄｅ構造体やレジストリ等のデータ保存領域に保存したり、下記の機能管理部１１２を呼び出してプリンタ１５０がもつ機能についての正当性の判定結果を受けることにより使用可能な機能についての確認を行う。なお、機能管理部１１２による判定結果は、画面表示部１２１による印刷設定画面に反映され、例えば、使用可能な機能についてのみ表示されるようにする。
【００２８】
機能管理部１１２は、記憶部１０２に機種毎に保存されている機能情報（プリンタの仕様に関する情報および正当性の評価を行うための情報）を参照し（図３参照）、現在接続されているプリンタ１５０の使用可能な機能の判定や印刷設定の正当性の判定を行う。
【００２９】
描画部１１３は、印刷設定正当性確認部１２３と印刷データ生成部１２４とを有している。
【００３０】
印刷設定正当性確認部１２３は、機能管理部１１２を呼び出して、印刷設定部１１１からＤｅｖｍｏｄｅ構造体を介して渡された印刷設定（現在値）についての正当性の評価結果を受けることにより印刷設定の正当性の確認を行う。なお、印刷設定部１１１と描画部１１３は、図４に示すように、Ｄｅｖｍｏｄｅ構造体を介して情報を受けたり渡したりすることができる。
【００３１】
印刷データ生成部１２４は、印刷設定に基づき、アプリケーション１０４から印刷を要求されたデータからプリンタ１５０が解釈可能な印刷データを生成する。そして生成された印刷データを、通信部１０３を介して、プリンタ１５０に送信する。なお、印刷データ生成部１２４は、印刷データを生成する際、印刷設定正当性確認部１２３での確認の結果を反映した印刷データを生成する。
【００３２】
次に、上記設定情報（レイアウト情報、機能情報）の具体例を挙げ説明する。
【００３３】
（レイアウト情報）
図５は、レイアウト情報の一例を示した図である。図５に示すレイアウト情報は、プリンタドライバ１０６のレイアウト情報であって、その一部分のみを例示している。なお、図５に示すレイアウト情報は、ＪＳＯＮ形式で記述しているが他の形式でも良い。
【００３４】
図５に示すように、レイアウト情報には、印刷設定画面に表示するＧＵＩコンポーネント毎のレイアウトデータが記述されている。このレイアウトデータは、属性としてｔｙｐｅ，ｎａｍｅ，ａｘｉｓを有している。
【００３５】
ｔｙｐｅは、ＧＵＩコンポーネントの種類を表している。ｔｙｐｅの値であるＣｏｍｂｏＢｏｘはコンボボックスコンポーネントで表示することを示している。図示しないが、その他にもＣｈｅｃｋＢｏｘやＳｐｉｎＢｏｘやＥｄｉｔＢｏｘなどを記述することにより、チェックボックスコンポーネントやスピンボックスコンポーネントやエディットボックスコンポーネント等でＧＵＩコンポーネントを表示することもできる。
【００３６】
ｎａｍｅは、設定の名前を表している。ｎａｍｅの値のうち、ｏｒｉｅｎｔａｔｉｏｎは、印刷の向き設定であることを示している。ｓｔａｐｌｅは、ステープル設定であることを示している。また、ｐｕｎｃｈは、パンチ設定であることをしている。図示しないが、ｐａｐｅｒｓｉｚｅやｃｏｐｉｅｓなどを記述することにより、用紙サイズ設定や部数設定等を指定することもできる。
【００３７】
ａｘｉｓは、ＧＵＩコンポーネントの表示位置の座標を表している。ａｘｉｓの属性である、ｘはダイアログボックスの左上原点からの水平方向座標を示し、ｙはダイアログボックスの左上原点からの垂直方向座標を示している。例えば、図３に示す印刷の向き設定（ｏｒｉｅｎｔａｔｉｏｎ）のａｘｉｓ５０１には、属性ｔｙｐｅで指定されたコンボボックスコンポーネントを水平位置２５、垂直位置３０に表示することが記述されている。
【００３８】
そして、画面表示部１２１は、記憶部１０２からレイアウト情報を読み込み、読み込んだレイアウト情報に従って設定画面を生成し、ＰＣ１００の表示装置（図示せず）に生成した印刷設定画面を表示する。なお、このとき、設定管理部１２２の管理下のもとで、レイアウト情報に記述されている各ＧＵＩコンポーネントのうち、後述の機能情報を基に機能管理部１１２で管理されている設定可能な項目のみを表示する。
【００３９】
図６は、図３のレイアウト情報を読み込んだ場合に、プリンタドライバ１０６の画面表示部１２１が表示する印刷設定画面の例を示した図である。図６に示すように、印刷の向き設定用に表示名“Ｏｒｉｅｎｔａｔｉｏｎ”と共にコンボボックスコンポーネントが配置され、ステープル設定用に表示名“Ｓｔａｐｌｅ”と共にコンボボックスコンポーネントが配置され、パンチ設定用に表示名“Ｐｕｎｃｈ”と共にコンボボックスコンポーネントが配置されている。なお、図６に示す、ＯＫボタンは、変更された印刷設定を保存するボタンであり、Ｃａｎｃｅｌボタンは、変更をキャンセルするボタンである。
【００４０】
（機能情報）
図７は、機能情報の一例を示した図である。図７では、説明の簡単のため、印刷の向き設定（ｏｒｉｅｎｔａｔｉｏｎ）とステープル設定（ｓｔａｐｌｅ）とパンチ設定（ｐｕｎｃｈ）のみ例示するが、機能情報は各設定値の設定可能な範囲や各設定間の禁則等が記述された情報であって、実際には、用紙サイズ設定や部数設定など印刷に係わる種々の設定について記述される。なお、図７に示す機能情報は、ＸＭＬ形式で記述するが他の形式（例えば、ＪＳＯＮ等）でも良い。
【００４１】
図７に示す機能情報の例では、各設定の情報を、ｆｅａｔｕｒｅタグ毎に定義している。このｆｅａｔｕｒｅタグは、ｎａｍｅとｄｅｆａｕｌｔとｔｙｐｅの属性を持っている。もちろん、図７に示す例は一例であって、その他の属性を定義し利用することができる。
【００４２】
属性ｎａｍｅは、設定の名前であり、レイアウト情報のｎａｍｅと対応している。図７の例では、属性ｎａｍｅの値であるｏｒｉｅｎｔａｔｉｏｎは印刷の向き設定であることを、ｓｔａｐｌｅはステープル設定であることを、ｐｕｎｃｈはパンチ設定であることを指定している。また、属性ｄｅｆａｕｌｔは、選択肢の初期値を表わしている。また、属性ｔｙｐｅは、入力される設定値の形式を表している。ｔｙｐｅの値である、ｐｉｃｋｏｎｅは、選択肢形式を指定している。このｐｉｃｋｏｎｅの他にも、文字列入力形式を指定するｓｔｒｉｎｇや、数値入力形式を指定するｎｕｍｂｅｒ等がある。
【００４３】
ｆｅａｔｕｒｅタグで囲まれる部分には、図７に示すステープル設定のようにｃｏｎｓｔｒａｉｎｔタグを記述することができる。このｃｏｎｓｔｒａｉｎｔタグを用いて記述された部分は、親タグであるｆｅａｔｕｒｅタグの設定についての禁則情報である。ｃｏｎｓｔｒａｉｎｔタグ内の属性であるｆｉｘｖａｌｕｅは、禁則条件が合致している場合に強制的に変更される設定値を表している。
【００４４】
また、ｃｏｎｓｔｒａｉｎｔタグで囲まれる部分には、図７のステープル設定（ｓｔａｐｌｅ）のようにｃｏｎｄｉｔｉｏｎタグを記述することができる。ｃｏｎｄｉｔｉｏｎタグは親タグであるｃｏｎｓｔｒａｉｎｔタグの禁則条件を表しており、属性であるｅｘｐｒｅｓｓｉｏｎで、その条件を指定している。
【００４５】
図７に例示するステープル設定においては、例えば、ｓｔａｐｌｅｕｎｉｔがｏｎ以外の場合に（すなわち、プリンタ１５０の仕様としてステープルユニットが使用可能でない場合）禁則条件に合致し、ｓｔａｐｌｅ（ステープル設定）の設定値がｏｆｆに強制的に変更される。
【００４６】
また、同図に例示するパンチ設定においては、ｐｕｎｃｈｕｎｉｔがｏｎ以外の場合に（すなわち、プリンタ１５０の仕様としてパンチユニットが使用可能でない場合）禁則条件に合致し、ｐｕｎｃｈ（パンチ設定）の設定値がｏｆｆに強制的に変更される。また、ｓｔａｐｌｅ（ステープル設定）がｏｆｆ以外の場合にも禁則条件に合致し、ｐｕｎｃｈ（パンチ設定）の設定値がｏｆｆに強制的に変更される。
【００４７】
ｐｉｃｋｏｎｅタグは、選択可能な設定値を表すものであり、ｐｉｃｋｏｎｅタグ内の属性ｎａｍｅで、設定値が設定されている。また、図５には示していないが、ｐｉｃｋｏｎｅタグに対しても、このタグで囲まれる部分にｃｏｎｓｔｒａｉｎｔタグを記述することができ、ｐｉｃｋｏｎｅタグ自体、すなわち選択肢自身も禁則情報を持つことができる。
【００４８】
ｐｉｃｋｏｎｅの属性であるｎａｍｅの値は、印刷の向き設定においては、ｐｏｒｔｒａｉｔが縦向き、ｌａｎｄｓｃａｐｅが横向きを表わしている。ステープル設定においては、ｏｆｆが機能オフ、ｌｅｆｔｔｏｐが左上、ｒｉｇｈｔｔｏｐが右上を表している。また、パンチ設定においては、ｏｆｆが機能オフ、２ｈｏｌｅｌｅｆｔが左２穴、３ｈｏｌｅｌｅｆｔが左３穴を表している。
【００４９】
以上のように、機能情報には、印刷に関する各設定に対するプリンタドライバ１０６の機能管理部１１２の行うべき管理のための情報が記述されている。この機能情報は、サポートするプリンタの機種毎に用意され、そのオプションを含めて各プリンタが備えるすべての機能についての記述がなされている。機能管理部１１２は、これらの機能情報を参照して、使用可能な機能の判定や、設定値（現在値）の正当性の評価を統括的に行う。
【００５０】
（描画部の動作）
次に、本実施形態のプリンタドライバ１０６の描画部１１３の動作を図８を用いて説明する。図８は、描画部１１３の動作を説明するフローチャートである。
【００５１】
はじめに、描画部１１３は、アプリケーション１０４からの印刷要求に応じて、印刷設定が保存されているＤｅｖｍｏｄｅ構造体から、印刷設定（現在値）を受け取る（ステップＳ８０１）。この印刷設定は、アプリケーション１０４から呼び出された印刷設定部１１１に対してユーザが行った印刷に係る設定の内容を含む情報である。
【００５２】
さらに、描画部１１３は、アプリケーション１０４から、印刷対象の描画データを受け取る（ステップＳ８０２）。
【００５３】
そして、描画部１１３が印刷設定および描画データを受け取ると、描画部１１３の印刷設定正当性確認部１２３が、機能管理部１１２を呼び出す（ステップＳ８０３）。ここで呼び出された機能管理部１１２は、印刷設定（現在値）の正当性の判定を行い、判定結果を印刷設定正当性確認部１２３に送る。
【００５４】
印刷設定正当性確認部１２３は、機能管理部１１２から受けた判定結果を基に、ステップＳ８０１で受け取った印刷設定（現在値）の正当性を確認する正当性評価を行う（ステップＳ８０４）。
【００５５】
そして、描画部１１３の印刷データ生成部１２４が、印刷設定正当性確認部１２３による正当性評価（すなわち、機能管理部１１２による判定結果）を反映させた印刷設定（修正値）に基づく印刷データを生成する（ステップＳ８０５）。
【００５６】
最後に、生成した印刷データをプリンタ１５０に送信する（ステップＳ８０６）。
【００５７】
以上、プリンタドライバ１０６の描画部１１３の動作を説明した。
【００５８】
次に、図９のシーケンス図を参照し、アプリケーション１０４からの印刷設定画面呼出しおよび印刷要求に対するプリンタドライバ１０６内部の動作を、アプリケーション１０４の動作と関連づけて説明する。
【００５９】
ユーザが、プリンタ１５０への印刷設定要求を行った場合、はじめに、プリンタ１５０の印刷設定をするための印刷設定画面を表示させるため、アプリケーション１０４から印刷設定部１１１へ印刷設定画面呼出しがなされる（ｔ１）。
【００６０】
印刷設定部１１１は、アプリケーション１０４から印刷設定画面呼出しを受けると、機能管理部１１２へ、プリンタ１５０の使用可能な機能を判定するよう機能判定情報要求を送る（ｔ２）。
【００６１】
機能管理部１１２は、印刷設定部１１１からの要求を受けると、記憶部１０２に保存されているプリンタ１５０の機能情報を読み出す（ｔ３）。
【００６２】
次に、機能管理部１１２は、読み出した機能情報を基に、プリンタ１５０で使用可能な機能を判定する（ｔ４）。そして、この判定結果を機能判定情報として印刷設定部１１１に送る（ｔ５）。
【００６３】
印刷設定部１１１は、機能管理部１１２からの機能判定情報を受けると、その画面表示部１２１が、この情報およびレイアウト情報に基づいて、プリンタ１５０の各種機能を設定する設定画面を生成し、ＰＣ１００の表示部（図示せず）に表示する（ｔ６）。
【００６４】
次いで、ユーザが印刷設定画面を介して入力した、プリンタ１５０に対する印刷設定値を受け付ける（ｔ７）。
【００６５】
印刷設定部１１１の設定管理部１２２は、ユーザが入力した設定値をプリンタ１５０に実行させる印刷設定として設定する（ｔ８）。この印刷設定の内容は、アプリケーション１０４へ送信される（ｔ９）。
【００６６】
アプリケーション１０４は、印刷設定部１１１から先のｔ９で送られた印刷設定を受けると、ＤＥＶＥＭＯＤＥ構造体に印刷設定を保存する（ｔ１０）。
【００６７】
次いで、ユーザが、アプリケーション１０４上でプリンタ１５０に対する印刷要求を行うとアプリケーション１０４はこれを受け付け（ｔ１１）、アプリケーション１０４から描画部１１３へ印刷要求が送られる（ｔ１２）。このとき印刷要求とともに描画データも送られる。
【００６８】
印刷要求を受けて、描画部１１３の印刷設定正当性確認部１２３は、ＤＥＶＥＭＯＤＥ構造体に保存された印刷設定を読み込む（ｔ１３）。
【００６９】
次に、印刷設定正当性確認部１２３は、読み込んだ印刷設定に含まれる設定値（現在値）に対する正当性の判定を機能管理部１１２に依頼するため、正当性判定要求を送る（ｔ１４）。なお、この正当性判定要求には、設定値（現在値）が含まれる。
【００７０】
機能管理部１１２は、正当性判定要求を受けると、記憶部１０２に保存されたプリンタ１５０の機能情報を参照して、設定値（現在値）の正当性を判定する（ｔ１５）。このとき、機能情報にて規定された禁則を設定値（現在値）に反映させる。
【００７１】
そして、機能管理部１１２は、描画部１１３の印刷設定正当性確認部１２３へ判定結果となる設定値（修正値）を送る（ｔ１６）。
【００７２】
次いで、描画部１１３の印刷設定正当性確認部１２３が、機能管理部１１２による印刷設定の正当性の判定結果を受けると、描画部１１３の印刷データ生成部１２４が、この判定結果の印刷設定と、描画データとからプリンタ１５０が解釈可能な印刷データを生成する（ｔ１７）。
【００７３】
生成された印刷データは、プリンタ１５０へ送信される（ｔ１８）。
【００７４】
印刷データの送信後、描画部１１３は、印刷データ送信の完了通知をアプリケーション１０４へ送信する（ｔ１９）。
【００７５】
アプリケーション１０４は、描画部１１３からの送信完了通知（ｔ２０）を受けて、印刷処理を完了する（ｔ２１）。
【００７６】
以上、説明したように、印刷設定部１１１が行う、接続されているプリンタに対する使用可能な機能の判定や、描画部１１３が行う、ユーザが設定した印刷設定（現在値）の正当性の判定を、機能管理部１１２がプリンタの機能情報に基づいて統括的に行うので、サポートするプリンタやその機能の増減があったとしても、機能情報を変更するのみで、設定値の正当性の判定を含む機能管理を行うことができ、従来のように描画部１１３を再コーディングする必要がない。また、機能情報は機種毎に用意されるので、機種単位でその内容の変更や追加等を行うだけで、サポートするプリンタやその機能の増減に容易に対応できる。また、機能管理部１１２が上記正当性の判定を統括的に行うので、印刷設定部１１１と描画部１１３が別個に正当性の判定を行う場合に比べて、判定に矛盾が生じない。
【００７７】
なお、上述した実施形態のプリンタドライバ１０６は、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
【００７８】
また、これらのプログラムは、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。
【符号の説明】
【００７９】
１００…ＰＣ
１０１…処理部
１０２…記憶部
１０３…通信部
１０４…アプリケーション
１０５…ＯＳ
１０６…プリンタドライバ
１１１…印刷設定部
１１２…機能管理部
１１３…描画部
１２１…画面表示部
１２２…設定管理部
１２３…印刷設定正当性確認部
１２４…印刷データ生成部
１５０…プリンタ
１６０…ネットワーク
【先行技術文献】
【特許文献】
【００８０】
【特許文献１】特開２００８−０９７５７４号公報
【図１】
0005532770.tif 000002
【図２】
0005532770.tif 000003
【図３】
0005532770.tif 000004
【図４】
0005532770.tif 000005
【図５】
0005532770.tif 000006
【図６】
0005532770.tif 000007
【図７】
0005532770.tif 000008
【図８】
0005532770.tif 000009
【図９】
0005532770.tif 000010