以下、発明を実施するための形態(以下実施の形態とする)について、図面を用いて説明する。
[1.第1の実施の形態]
[1−1.画像印刷システムの全体構成]
図1に示すように、第1の実施の形態による画像印刷システム1は、ホストPC(Personal Computer)2及びプリンタ3により構成されている。ホストPC2及びプリンタ3の間は、例えばUSB(Universal Serial Bus)ケーブルにより接続されている。
ホストPC2は、図2にブロック構成を示すように、CPU(Central Processing Unit)11を中心に構成されている。CPU11は、バス10を介してRAM(Random Access Memory)12及び外部記憶装置インタフェース(I/F)13と接続されている。
外部記憶装置I/F13には、ハードディスクドライブ(HDD)14が接続されている。このHDD14には、OS(Operating System)や機種別PPDファイル作成処理プログラム等の各種プログラム並びに画像データ等の各種データが記憶されている。
CPU11は、外部記憶装置I/F13を介してHDD14から機種別PPDファイル作成処理プログラム等の各種プログラムを読み出し、これをRAM12に展開して実行することにより、機種別PPDファイル作成処理や印刷処理のような種々の処理を実行する。
またバス10には、入力装置インタフェース(I/F)15、表示装置インタフェース(I/F)16、プリンタインタフェース(I/F)17及び通信インタフェース(I/F)18が接続されている。
入力装置I/F15は、キーボード21及びマウス22が接続されており、ユーザの操作に応じてキーボード21及びマウス22から送信される入力信号を取得すると共に、これらをバス10経由でCPU11へ送出する。
表示装置I/F16は、モニタ23が接続されており、CPU11からバス10を介して送出される表示画面データを取得し、これをモニタ23へ送出することにより表示画面データに基づいた表示画面を表示させる。
プリンタI/F17は、例えばUSBインタフェースでなり、上述したUSBケーブルを介してプリンタ3に接続される。ホストPC2は、プリンタ3がプリンタI/F17に接続されると、そのプリンタ3に対応したプリンタドライバを設定する。プリンタI/F17は、CPU11からバス10を介して送出される印刷データをプリンタ3へ伝送する。
プリンタ3は、ホストPC2から印刷データを受信すると、当該印刷データに基づいた印刷処理を実行することにより、当該印刷データに基づいた画像を紙に印刷する。
通信インタフェース(I/F)18は、いわゆるUSBメモリのような記憶装置やデジタルカメラのような撮像装置(以下これらをまとめて外部機器と呼ぶ)、或いはインターネットのようなネットワークと接続されている。この通信I/F18は、外部機器或いはネットワークから送信される画像データを受信し、これをバス10経由でCPU11へ送出し、或いは外部記憶装置I/F13を介してHDD14へ送出し格納させる。
かかる構成により画像印刷システム1では、プリンタ3がホストPC2に接続されると、そのプリンタ3に対応したプリンタドライバを設定する。
また画像印刷システム1では、画像を印刷する処理を実行する際、まずホストPC2において画像データをHDD14から読み出し、或いは通信I/F18を介して画像データを取得し、これらの画像データを印刷に適した画像データに調整する。
続いて画像印刷システム1は、ホストPC2において画像データを印刷に適した印刷データに変換し、これをプリンタ3へ伝送することにより、当該プリンタ3において元の画像データに基づいた画像を紙に印刷する。
[1−2.画像印刷システムのソフトウェア構成]
図3に画像印刷システム1のソフトウェア構成を示すように、ホストPC2ではOS30が動作しており、当該OS30が、ホストPC2全体の各機能の統轄制御を行う。OS30の1機能である印刷システム32は、プリンタ3がホストPC2に接続されると、当該プリンタ3から機種名の取得を行い、当該プリンタ3に適したプリンタドライバ34の組み込みを行う。
プリンタドライバ34は、Autoconfigツール36、フル機能PPDファイル38及び機種別機能テーブルデータベース(DB)40により構成されている。
OS30は、プリンタ3が接続されると、当該プリンタ3の情報を印刷システム32に追加する際に、Autoconfigツール36を呼び出す。
Autoconfigツール36は、フル機能PPDファイル38を呼び出し、プリンタ3から取得した機種名を基に機種別機能テーブルDB40から機能テーブルを取得し、プリンタ3に適した機種別PPDファイル42を作成する。ここで、PPD(Postscript Printer Description)ファイルとは、プリンタ3の機能が記述されたプリンタ機能記述ファイルである。
UI(User Interface)制御部44は、作成された機種別PPDファイル42を基に、プリンタドライバ34のうちユーザが選択可能な印刷設定の表示を行う。
アプリケーション46は、OS30の印刷システム32から、使用可能なプリンタ3の情報を取得する一方、印刷時には画像データを送出する。OS30は、アプリケーション46から供給された画像データをプリンタ3の印刷部48に出力することにより、印刷結果50を出力させる。
ところで図4に機種別機能テーブルDB40の一部を示すように、当該機種別機能テーブルDB40は、機種名MN毎に必要な機能を表すタグTGが記述された機能テーブルTBを複数有している。
例えば、プリンタ3の機種名MNが「ColorC223」の場合の機能テーブルTBには、「Active=Fnc−1,Fnc−2,Fnc−3,Color−1,Color−2」と記述されている。
これは、機種名MN「ColorC223」の機能テーブルTBが、Fnc−1、Fnc−2、Fnc−3、Color−1及びColor−2の5個のタグTGを有していることを意味している。
ホストPC2は、プリンタ3の情報を印刷システム32に追加する際、機種別PPDファイル作成処理を行い、当該プリンタ3に合わせてフル機能PPDファイル38を加工することにより機種別PPDファイル42を作成する。
またホストPC2は、作成した機種別PPDファイル42をUI制御部44により読み込んで表示させることにより、接続されたプリンタ3に適した機能をユーザに提示する。
さらにホストPC2は、画像データを印刷する際、機種別PPDファイル42により示される機能を用いて画像データをプリンタ3に出力し印刷させる。
[1−3.PPDファイルの構成]
プリンタ3は、印刷可能なサイズや、モノクロ印刷、カラー印刷等、プリンタ毎に異なる機能を有している。PPDファイルは、このようにプリンタ毎に異なる機能に対応した記述がされている。
図5に、シングルファンクションのモノクロ機のPPDであるモノクロシングルファンクションPPD52の一部を示すように、モノクロシングルファンクションPPD52は、媒体種選択機能及び給紙トレイ機能等が記述されている。
また図6に、シングルファンクションのカラー機のPPDであるカラーシングルファンクションPPD54の一部を示すように、カラーシングルファンクションPPD54は、媒体種選択機能、給紙トレイ機能及びカラーモード機能等が記述されている。
また図7に、マルチファンクションのカラー機のPPDであるカラーマルチファンクションPPD56の一部を示すように、カラーマルチファンクションPPD56は、カラーシングルファンクションPPD54の記述に加え、コピー機能及びスキャン機能等が記述されている。
ここで、シングルファンクションのプリンタとは、所謂単機能プリンタであり、印刷機能のみを有するものであり、マルチファンクションのプリンタとは、所謂複合機であり、印刷機能に加え、スキャン機能やファックス機能等を有するものである。また、モノクロ機とは、モノクロ印刷のみが可能なプリンタであり、カラー機とは、カラー印刷が可能なプリンタである。
このように、上述したシングルファンクションのモノクロ機、シングルファンクションのカラー機及びマルチファンクションのカラー機の場合、マルチファンクションのカラー機が最も多くの機能を有し、シングルファンクションのモノクロ機が最も少ない機能を有し、シングルファンクションのカラー機が、マルチファンクションのカラー機とシングルファンクションのモノクロ機との中間程度の機能を有している。
また、カラーマルチファンクションPPD56には存在せず、モノクロシングルファンクションPPD52にのみ存在する機能としては、例えば白黒反転機能が挙げられる。
ところで図8に、GenericPPD58を示すように、当該GenericPPD58は、媒体種選択機能及び給紙トレイ機能等、全ての機種のプリンタにおいて最低限必要となる印刷機能のみが記述されている。
本実施の形態においては、GenericPPD58、モノクロシングルファンクションPPD52、カラーシングルファンクションPPD54、モノクロマルチファンクションPPD(図示せず)及びカラーマルチファンクションPPD56の全ての機能を網羅する記述がされた、図9に示すフル機能PPDファイル38をプリンタドライバ34が有している。
図10に、フル機能PPDファイル38の具体的な記述内容の一部を示すように、フル機能PPDファイル38は、Image Smoothing(イメージスムージング)、Page Rotate(ページ回転)等の機能毎に機能記述ブロックFDBが並んで構成されている。
機能記述ブロックFDBは、当該機能記述ブロックFDBの先頭を示すスタート行SLと、当該機能記述ブロックFDBの具体的な機能が記述された機能記述行FDLと、当該機能記述ブロックFDBの後端を示すエンド行ELとにより構成されている。
例えば、イメージスムージングの機能が記述された機能記述ブロックFDBの場合、スタート行SLとして「*%Fnc−1 start:Image Smoothing」が、機能記述行FDLとして「*%*%__Image Smoothing__」から「*%*CloseUI:*OKImageSmoothing」までが、エンド行ELとして「*%Fnc−1 end」が記述されている。
また例えば、ページ回転の機能が記述された機能記述ブロックFDBの場合、スタート行SLとして「*%Fnc−2 start:Page rotate」が、機能記述行FDLとして「*%*%__Page rotate__」から「*%*CloseUI[:*OKEnvRotate」までが、エンド行ELとして「*%Fnc−2 end」が記述されている。
これらの機能記述ブロックFDBは、イメージスムージングの場合はFnc−1、ページ回転の場合はFnc−2といった機能名FNが、それぞれ互いに独立して付されている。この機能名FNは、図11に示すように、機能毎に異なるものが付されている。
ここで、フル機能PPDファイル38においては、コメント記号CC「*%」から始まる行であるコメント行は、コメントアウト(無効化)されることにより注釈文となっており、有効ではない状態となっている。このため、このコメント記号CC「*%」が削除されると、その行が有効化される。
図12に示す従来のPPDファイル57は、例えばイメージスムージング(Image Smoothing)及びページ回転(Page rotate)の機能を生かす場合、イメージスムージング及びページ回転の機能が記述された機能記述行FDLがコメントアウトされておらず、有効になっている。
これに対し本実施の形態のフル機能PPDファイル38(図10)は、イメージスムージング(Image Smoothing)及びページ回転(Page rotate)の機能が記述された機能記述行FDLの各行の先頭にコメント記号CC「*%」が挿入されコメントアウトされている。
さらにフル機能PPDファイル38は、コメントアウトされた機能が何の機能かを示すために、従来のPPDファイル57(図12)と比べ、機能記述行FDLの上側及び下側にそれぞれスタート行SL及びエンド行ELが追加された構成となっている。
一方フル機能PPDファイル38は、GenericPPD58が有する機能が記述された機能記述行FDL(図示せず)の各行の先頭にはコメント記号CC「*%」が挿入されておらず、有効化されている。
このようにフル機能PPDファイル38は、ホストPC2に接続される複数のプリンタの全てに共通する基本的な機能(媒体種選択機能及び給紙トレイ機能等)のみが予め有効になっており、プリンタによって異なる機能は無効化されている。このためフル機能PPDファイル38は、GenericPPD58とほぼ同様の機能を提供する記述となっている。
[1−4.機種別PPDファイル作成処理]
次にホストPC2が行う機種別PPDファイル作成処理について説明する。CPU11は、HDD14に記憶された機種別PPDファイル作成処理プログラムをRAM12に読み出して実行することにより、機種別PPDファイル作成処理を実行する。
CPU11は、機種別PPDファイル作成処理を実行する際、図13に示すように、識別名取得部62、機能取得部64及び識別名別機能記述ファイル作成部66として機能する。
識別名取得部62は、画像形成装置としてのプリンタ3がホストPC2に接続されると、当該プリンタ3の種類を識別する識別名としての機種名を当該プリンタ3から取得する。
機能取得部64は、プリンタ3の機種名MNと、当該機種名MNが付されたプリンタ3に対応する機能の機能名FNとが関連付けられて記述された識別名別機能データベースとしての機種別機能テーブルDB40から、識別名取得部62において取得した機種名MNに対応した機能名FNを取得する。
識別名別機能記述ファイル作成部66は、複数種類のプリンタに対応した機能記述が予め記述された全体機能記述ファイルとしてのフル機能PPDファイル38に基づき、機能取得部64において取得した機能名FNに対応する機能記述を有効化させた識別名別機能記述ファイルとしての機種別PPDファイル42を作成する。
[1−5.機種別PPDファイル作成処理手順]
次に、ホストPC2による機種別PPDファイル作成処理の具体的な処理手順について、図14のフローチャートを用いて詳細に説明する。
CPU11は、HDD14から機種別PPDファイル作成処理プログラムを読み出して実行することにより機種別PPDファイル作成処理手順RT1を開始し、ステップSP1へ移る。以下では、機種名「Color223」のプリンタ3がホストPC2に接続された場合について説明する。
ステップSP1においてCPU11は、OS30によりプリンタ3から機種名「ColorC223」を取得してAutoconfigツール36へ供給し、ステップSP2へ移る。
ステップSP2においてCPU11は、Autoconfigツール36によりフル機能PPDファイル38を取得し、次のステップSP3へ移る。
ステップSP3においてCPU11は、Autoconfigツール36により、機種別機能テーブルDB40(図4)を参照し、プリンタ3から取得した機種名に対応した機能テーブルTBを取得し、ステップSP4へ移る。
ここで、ステップSP1において取得したプリンタ3の機種名が「ColorC223」であるため、Autoconfigツール36は、機種別機能テーブルDB40から、「Fnc−1,Fnc−2,Fnc−3,Color−1,Color−2」が記述された機能テーブルTBを取得する。
ステップSP4においてCPU11は、Autoconfigツール36により、プリンタ3から取得した機種名が機種別機能テーブルDB40内に存在したか否かを判定する。
ここで否定結果が得られると、このことは、接続されたプリンタ3の機能テーブルTBは機種別機能テーブルDB40に登録されていないため、このプリンタ3に対してはフル機能PPDファイル38の有効化を行わない(すなわちGenericPPD58と同じ内容を適用する)ことを表し、このときCPU11はステップSP11へ移り、機種別PPDファイル作成処理手順RT1を終了する。
一方ステップSP4において肯定結果が得られると、このことは接続されたプリンタ3の機能テーブルTBは機種別機能テーブルDB40に登録されているため、このプリンタ3に対してはフル機能PPDファイル38において当該プリンタ3に対応した機能記述行FDLの有効化を行うことを表し、このときCPU11はステップSP5へ移る。
続いてCPU11は、以下のステップSP5〜ステップSP10に示す処理により、フル機能PPDファイル38の中から、機能テーブルTBで示されたタグTGに対応する機能記述ブロックFDBの機能記述行FDLを有効化する。
ステップSP5においてCPU11は、Autoconfigツール36により、機能テーブルTB(図4)を参照し、当該機能テーブルTBにおいて参照対象として次のタグTGが存在するか否かを判定する。
ここで否定結果が得られると、このことは、機能テーブルTBにおいて参照対象としての次のタグTGが存在しない、すなわち機能テーブルTBにおいて全てのタグTGを参照した(最後のタグの「Color−2」まで参照した)ことを表し、このときCPU11はステップSP11へ移り、機種別PPDファイル作成処理手順RT1を終了する。
一方ステップSP5において肯定結果が得られると、このことは、機能テーブルTBにおいて参照対象としての次のタグTGが存在する、すなわち機能テーブルTBにおいて全てのタグTGを参照したわけではないことを表し、このときCPU11はステップSP6へ移り、Autoconfigツール36により、次のタグTG(現在のタグTGが「Fnc−1」の場合、「Fnc−2」)を取得し、ステップSP7へ移る。
ステップSP7においてCPU11は、Autoconfigツール36により、機種別機能テーブルDB40の機能テーブルTBにおいて現在参照しているタグTG(例えばFnc−1)を検索タグとし、当該検索タグが記述されたスタート行SLをフル機能PPDファイル38(図10)内で検索し、ステップSP8へ移る。
ステップSP8においてCPU11は、Autoconfigツール36により、フル機能PPDファイル38内で検索タグ(例えば「Fnc−1」)に対応したスタート行SLが存在したか否かを判定する。
ここで否定結果が得られると、このことは、フル機能PPDファイル38内で検索タグに対応したスタート行SLが存在しなかった(すなわち検索に失敗した)ことを表し、このときCPU11はステップSP11へ移り、機種別PPDファイル作成処理手順RT1を終了する。
一方ステップSP8において肯定結果が得られると、このことは、フル機能PPDファイル38内で検索タグに対応したスタート行SLが存在した(すなわち検索に成功した)ことを表し、このときCPU11は、ステップSP9へ移る。
実際上、Autoconfigツール36は、フル機能PPDファイル38(図10)において「*%Fnc−1 start:Image Smoothing」と示されたスタート行SLを発見して当該スタート行SLを処理対象行とし、ステップSP9へ移る。
ステップSP9においてCPU11は、Autoconfigツール36により、現在の処理対象行の次の行がエンド行ELであるか否かを判定する。ここで否定結果が得られると、このことは、処理対象行の次の行は機能記述行FDLであることを表し、このときCPU11はステップSP10へ移る。
ステップSP10においてCPU11は、Autoconfigツール36により、現在の処理対象行の次の行を処理対象行として設定し、新たな処理対象行のコメント記号CCを削除し、ステップSP9へ戻る。
CPU11は、ステップSP9及びステップSP10の処理を繰り返すことにより、スタート行SLからエンド行ELまでの間に存在する機能記述行FDLにおいて全ての行の行頭のコメント記号CCを1個ずつ削除する。
処理対象行を機能記述行FDLの最終行まで設定し、当該処理対象行の次の行がエンド行ELとなると、このことは、機種別機能テーブルDB40の機能テーブルTBにおいて現在参照しているタグTGに対応するフル機能PPDファイル38の機能記述行FDLの有効化が終了したことを表し、CPU11は、ステップSP9において肯定結果を得て、ステップSP5へ戻り、次のタグTGを参照する。
CPU11は、以上のような機能記述行FDLの有効化処理を、機種別機能テーブルDB40において参照している機能テーブルTBにおける全てのタグTGを参照するまで繰り返すと、ステップSP5において否定結果を得て、ステップSP11へ移り、機種別PPDファイル作成処理手順RT1を終了する。
これによりCPU11は、図15に示す機種別PPDファイル42を作成する。この機種別PPDファイル42においては、機種名「ColorC223」に対応し機種別機能テーブルDB40に記述されたタグTGである「Fnc−1,Fnc−2,Fnc−3,Color−1及びColor−2」の機能記述行FDLが、図10に示したフル機能PPDファイル38から有効化されている。なお図10においては、「Fnc−3,Color−1及びColor−2」の機能記述ブロックFDBについては図示せず省略している。
[1−6.動作及び効果]
以上の構成において、ホストPC2は、複数種類のプリンタ3の機能を網羅するよう記述されたフル機能PPDファイル38を予め用意する。ホストPC2は、プリンタ3が接続された場合、当該プリンタ3から取得した機種名を基に、フル機能PPDファイル38内のコメントアウトされている機能記述行FDLから、当該プリンタ3に必要な機能に対応する機能記述ブロックFDBの機能記述行FDLを有効化することにより、接続されたプリンタ3に対応した機種別PPDファイル42を作成する。
これによりホストPC2は、プリンタ毎のプリンタドライバをその都度探してインストールする必要をなくすことができる。
またホストPC2は、従来はプリンタの機種数分用意していたPPDファイルを統合することにより、ファイル数を削減し、サイズをコンパクトにできる。
従来は、プリンタの機種の数だけPPDファイルが必要であったため、仕様変更や不具合の改修を行う場合、機種数分のPPDファイルの修正が必要となり、対応工数の増大や、修正に伴うケアレスミスの混入のおそれがあった。
これに対し本実施の形態によるホストPC2においては、1つのフル機能PPDファイル38を基にプリンタ3に合わせた機種別PPDファイル42を作成するようにしたため、複数機種の仕様変更や不具合の改修を行う場合でも、フル機能PPDファイル38の変更を行うだけで済むため、対応工数を削減し、ケアレスミスの混入を防ぐことができる。
また、仕様変更や不具合の改修を行った際の評価も、1つのフル機能PPDファイル38に対し行うだけで済むため、対応工数を削減できる。
さらにホストPC2は、プリンタ3との接続の失敗や、プリンタ3が印刷している最中でビジーであるために、当該プリンタ3から機種名を取得できない可能性がある。また、ホストPC2がプリンタ3から機種名を取得できたとしても、当該機種名が機種別機能テーブルDB40に登録されていない可能性がある。
これに対し、フル機能PPDファイル38には、GenericPPD58に対応する機能記述ブロックFDBがコメントアウトされずに予め有効になっている。
このためホストPC2は、フル機能PPD59において予め有効になっている基本的な機能のみを取り出してプリンタドライバ34として用いれば、当該プリンタドライバ34を、GenericPPD58と同様の機能を発揮し最低限の印刷機能を持ったプリンタドライバとして機能させることができる。
このためホストPC2は、プリンタドライバ34が正常に動作しないことを防ぎ、少なくとも最低限の機能でプリンタ3を動作させることができる。
以上の構成によれば、コンピュータとしてのホストPC2は、プリンタ3がホストPC2に接続されると、当該プリンタ3の種類を識別する識別名としての機種名を識別名取得部62により当該プリンタ3から取得し、プリンタ3の機種名と、当該機種名が付されたプリンタ3に対応する機能の機能名FNとが関連付けられて記述された機種別機能テーブルDB40から、識別名取得部62において取得した機種名に対応した機能名FNを機能取得部64により取得し、複数種類のプリンタに対応した機能記述が予め記述されたフル機能PPDファイル38に基づき、機能取得部64において取得した機能名FNに対応する機能記述を有効化させた機種別PPDファイル42を識別名別機能記述ファイル作成部66により作成するようにした。
これによりホストPC2は、プリンタ毎のプリンタドライバをその都度探してインストールする必要をなくすことができる。
さらにホストPC2は、複数種類のプリンタ3のPPDファイルを統合することができ、プリンタ3の機種毎に機能記述ファイルとしてのPPDファイルを用意する必要をなくし、PPDファイルの個数を削減できる。
[2.第2の実施の形態]
[2−1.画像印刷システムのソフトウェア構成]
図16に示す第2の実施の形態による画像印刷システム101は、第1の実施の形態による画像印刷システム1(図3)と比べて、ホストPC102のプリンタドライバ134がホストPC2のプリンタドライバ34と異なっているものの、それ以外は同様に構成されている。プリンタドライバ134は、プリンタドライバ34と比べて、機種判別機能テーブルデータベース(DB)60が追加されている。
ホストPC2は、接続されたプリンタ3の機種名が機種別機能テーブルDB40に登録されていないものであった場合、フル機能PPDファイル38の有効化処理を行わずに機種別PPDファイル42を作成することにより、プリンタドライバ34を最低限の印刷機能を持つGenericPPD58と同等に機能させるようにした。
このためホストPC2は、機種別機能テーブルDB40に登録された機種の場合は、最適な機種別PPDファイル42の作成が可能であるが、機種別機能テーブルDB40に登録されていない機種の場合は、最適な機種別PPDファイル42に比べ機能が制限されたGenericPPD58をプリンタドライバ34として適用することとなる。
これに対し第2の実施の形態による画像印刷システム101は、機種別機能テーブルDB40に登録されていない機種であっても、可能な限り適切な機能を有する機種別PPDファイル42を適用する。
ところで、プリンタの機種名は、通常、製造業者毎に一定の規則を持って命名される。例えば、機種名がアルファベットと数字とにより構成され、機種名の左側にアルファベットが位置し、当該アルファベットの右側に数字が位置する機種名がある。
このような機種名において、アルファベットの1文字目(左端)が「M」である場合はマルチファンクション機、「S」である場合はシングルファンクション機であり、アルファベットの2文字目が「C」である場合はカラー機、「B」である場合はモノクロ機であり、数字の1文字目(左端の数字)が「3」である場合はA3サイズ対応機、「4」である場合はA4サイズ対応機を示している。
このため、例えば機種名が「MC3841」である場合はマルチファンクションのカラーA3機であり、「SB4840」である場合はシングルファンクションのモノクロA4機であると判別される。
このようにホストPC102は、一定の命名規則に基づき、機種名からプリンタ3の機能をある程度推測することができる。
図17に機種判別機能テーブルDB60の一部を示すように、当該機種判別機能テーブルDB60は、機種名の文字種CT毎に必要な機能を表すタグTGが記述された機能テーブルTBを複数有している。
例えば、機種名の文字が「M」の場合に対応した[Key−M]の機能テーブルTBには、「Active=Fnc−1,Fnc−2,Fnc−3,Fnc−4」と記述されている。
これは、機種名の文字の「M」の機能テーブルTBが、Fnc−1、Fnc−2、Fnc−3及びFnc−4の4個のタグTGを有していることを意味している。
すなわちこれは、機種名の文字に「M」が含まれるプリンタ3がホストPC102に接続された場合、フル機能PPDファイル38においてFnc−1、Fnc−2、Fnc−3及びFnc−4それぞれのタグTGがスタート行SLに付された機能記述ブロックFDBの機能記述行FDLのコメント記号CCを削除して有効化し、機種別PPDファイル42を作成すべきであることを意味している。
OS30は、プリンタ3が接続されると、当該プリンタ3の情報を印刷システム32に追加する際に、Autoconfigツール136を呼び出す。
Autoconfigツール136は、フル機能PPDファイル38を呼び出し、プリンタ3から取得した機種名を基に機種別機能テーブルDB40から機能テーブルTBを検索し、当該機種名が存在しなかった場合、機種判別機能テーブルDB60から機能テーブルTBを取得し、機種別PPDファイル42を作成する。
アプリケーション46は、OS30の印刷システム32から、使用可能なプリンタ3の情報を取得する一方、印刷時には画像データを送出する。OS30は、アプリケーション46から供給された画像データをプリンタ3の印刷部48に出力することにより、印刷結果50を出力させる。
[2−2.機種別PPDファイル作成処理手順]
次に、ホストPC102による機種別PPDファイル作成処理の具体的な処理手順について、図18及び図19のフローチャートを用いて詳細に説明する。機種別PPDファイル作成処理手順RT2(図18)は、機種別PPDファイル作成処理手順RT1(図14)と比べてステップSP20が追加されている点が異なっているため、以下ではステップSP20について主に説明する。
CPU111は、HDD14から機種別PPDファイル作成処理プログラムを読み出して実行することにより機種別PPDファイル作成処理手順RT2を開始してステップSP1へ移り、ステップSP1〜ステップSP4の処理を行う。
ステップSP4において、取得した機種名が機種別機能テーブルDB40内に存在しなかったとAutoconfigツール136により判定された場合、CPU111は、ステップSP20へ移り、図19に示す機能テーブル取得処理手順SRT1のステップSP21へ入る。
ステップSP21においてCPU111は、Autoconfigツール136により、機種名の1文字目の文字が機種判別機能テーブルDB60(図17)に存在するか否かを判別する。
機種名の1文字目の文字が「M」であった場合、[Key−M]は機種判別機能テーブルDB60に存在し、マルチファンクション機であることを表しているため、このときCPU111はステップSP22へ移る。
ステップSP22においてCPU111は、Autoconfigツール136により、機種判別機能テーブルDB60から、マルチファンクション機能に対応する機能テーブルTBを取得しステップSP24へ移る。具体的には、Autoconfigツール136は、マルチファンクション機能を示す[Key−M]の機能テーブルTBから、Fnc−1、Fnc−2、Fnc−3及びFnc−4のタグTGを取得する。
一方機種名の1文字目の文字が「S」であった場合、[Key−S]は機種判別機能テーブルDB60に存在し、シングルファンクション機であることを表しているため、このときCPU111はステップSP23へ移る。
ステップSP23においてCPU111は、Autoconfigツール136により、機種判別機能テーブルDB60から、シングルファンクション機能に対応する機能テーブルTBを取得しステップSP24へ移る。具体的には、Autoconfigツール136は、シングルファンクション機能を示す[Key−S]の機能テーブルTBから、Fnc−1及びFnc−2のタグTGを取得する。
続いてステップSP24においてCPU111は、Autoconfigツール136により、機種名の2文字目の文字が機種判別機能テーブルDB60に存在するか否かを判別する。
機種名の2文字目の文字が「C」であった場合、[Key−C]は機種判別機能テーブルDB60に存在し、カラー機であることを表しているため、このときCPU111はステップSP25へ移る。
ステップSP25においてCPU111は、Autoconfigツール136により、機種判別機能テーブルDB60から、カラー機能に対応する機能テーブルTBを取得しステップSP27へ移る。具体的には、Autoconfigツール136は、カラー機能を示す[Key−C]の機能テーブルTBから、Color−1及びColor−2のタグTGを取得する。
一方機種名の2文字目の文字が「B」であった場合、[Key−B]は機種判別機能テーブルDB60に存在し、モノクロ機であることを表しているため、このときCPU111はステップSP26へ移る。
ステップSP26においてCPU111は、Autoconfigツール136により、機種判別機能テーブルDB60から、モノクロ機能に対応する機能テーブルTBを取得しステップSP27へ移る。具体的には、Autoconfigツール136は、モノクロ機能を示す[Key−M]の機能テーブルTBから、Mono−1及びMono−2のタグTGを取得する。
続いてステップSP27においてCPU111は、Autoconfigツール136により、機種名の数字の1文字目が機種判別機能テーブルDB60に存在するか否かを判別する。
機種名の数字1文字目が「3」であった場合、[Num−3]は機種判別機能テーブルDB60に存在し、A3サイズ対応機であることを表しているため、このときCPU111はステップSP28へ移る。
ステップSP28においてCPU111は、Autoconfigツール136により、機種判別機能テーブルDB60から、A3機能に対応する機能テーブルTBを取得しステップSP30へ移る。具体的には、Autoconfigツール136は、A3機能を示す[Num−3]の機能テーブルTBから、Paper−3のタグTGを取得する。
一方機種名の数字の1文字目が「4」であった場合、[Num−4]は機種判別機能テーブルDB60に存在し、A4対応機であることを表しているため、このときCPU111はステップSP29へ移る。
ステップSP29においてCPU111は、Autoconfigツール136により、機種判別機能テーブルDB60から、A4機能に対応する機能テーブルTBを取得しステップSP30へ移る。具体的には、Autoconfigツール136は、A4サイズ機能を示す[Num−4]の機能テーブルTBから、Paper−4のタグTGを取得する。
ステップSP30においてCPU111は、Autoconfigツール136により、取得した機能テーブルTBのタグTGを、機種別機能テーブルDB40(図4)の機能テーブルTBの形式に整形し、取得機能テーブルOFTを作成する。
具体的にはAutoconfigツール136は、機種名が「MC3841」である場合、ステップSP22において取得したFnc−1、Fnc−2、Fnc−3及びFnc−4のタグと、ステップSP25において取得したColor−1及びColor−2のタグと、ステップSP28において取得したNum−3のタグとを合わせて整形し、取得機能テーブルOFTとして「Fnc−1,Fnc−2,Fnc−3,Fnc−4,Color−1,Color−2,Num−3」を作成する。
続いてCPU111は、ステップSP31へ移り機能テーブル取得処理手順SRT1を終了して機種別PPDファイル作成処理手順RT2のステップSP5へ戻る。
一方Autoconfigツール36は、機種名が「SB4840」である場合、ステップSP23において取得したFnc−1及びFnc−2のタグと、ステップSP26において取得したMono−1及びMono−2のタグと、ステップSP29において取得したNum−4のタグとを合わせて整形し、取得機能テーブルOFTとして「Fnc−1,Fnc−2,Mono−1,Mono−2,Num−4」を作成する。
また一方で、ステップSP21、ステップSP24及びステップSP27の何れにおいても、機種名の文字が機種判別機能テーブルDB60に存在しないと判定された場合、CPU111は、機種判別機能テーブルDB60から機能テーブルTBは取得せず、ステップSP30の処理を行わずにステップSP31へ移り機能テーブル取得処理手順SRT1を終了する。
このようにCPU111は、機種名から機能を判別して機能テーブルTBを取得して取得機能テーブルOFTを作成し、当該取得機能テーブルOFTに対し、機種別PPDファイル作成処理手順RT2のステップSP5以降の処理において機種別PPDファイル作成処理手順RT1と同様の処理を行う。
[2−3.動作及び効果]
以上の構成において、ホストPC102は、プリンタ3が接続された場合、当該プリンタ3から取得した機種名を基に、機種別機能テーブルDB40内を検索し、当該機種名が登録されていない場合、予め設定された機種名の命名規則に則り、機種判別機能テーブルDB60から機能テーブルTBを取得し取得機能テーブルOFTを作成する。
続いてホストPC102は、作成した取得機能テーブルOFTに基づき、フル機能PPDファイル38内のコメントアウトされている機能記述行FDLから、当該プリンタ3に必要な機能に対応する機能記述ブロックFDBの機能記述行FDLを有効化することにより、接続されたプリンタ3に対応した機種別PPDファイル42を作成する。
これによりホストPC102は、機種名機能テーブルDBに登録されていない機種名のプリンタ3に対しても、機種名の命名規則に沿った機種名である場合、GenericPPD58よりも多くの機能を提供することができる。
また機能テーブル取得処理手順SRT1において、文字が機種判別機能テーブルDB60に存在しないと判定された場合(すなわちプリンタ3の機能を判別できなかった場合)であっても、フル機能PPDファイル38には、GenericPPD58に対応する機能記述ブロックFDBがコメントアウトされずに予め有効になっている。
このためホストPC102は、フル機能PPD59において予め有効になっている基本的な機能のみを取り出してプリンタドライバ134として用いれば、プリンタ3の機能を判別できない場合であっても、当該プリンタドライバ134を、GenericPPD58と同様の機能を発揮し最低限の印刷機能を持ったプリンタドライバとして機能させることができる。
このためホストPC102は、プリンタドライバ134が正常に動作しないことを防ぎ、少なくとも最低限の機能でプリンタ3を動作させることができる。
その他第2の実施の形態による画像印刷システム101は、第1の実施の形態による画像印刷システム1とほぼ同様の作用効果を奏する。
[3.第3の実施の形態]
[3−1.画像印刷システムのソフトウェア構成]
図20に示す第3の実施の形態による画像印刷システム201は、第2の実施の形態による画像印刷システム1(図16)と比べて、ホストPC202がホストPC102と異なっているものの、それ以外は同様に構成されている。
ホストPC202は、プリンタドライバ234の機種判別機能テーブルDB160がホストPC102のプリンタドライバ134の機種判別機能テーブルDB60と異なっていると共に、機種別最大機能PPDファイル68が追加されている。
図21に機種判別機能テーブルDB160の一部を示すように、当該機種判別機能テーブルDB160は、機種判別機能テーブルDB60(図17)と比べて、カラー最大機能を示す[Key−C−Max]の機能テーブルTBと、モノクロ最大機能を示す[Key−B−Max]の機能テーブルTBとが追加されている。
カラー最大機能[Key−C−Max]の機能テーブルTBには、タグTGとして「Color−3,Color−4」が記述されている。ホストPC202は、標準的な機能であるカラー機能[Key−C]の機能テーブルTBに記述されたタグTGである「Color−1,Color−2」に加え、カラー最大機能[Key−C−Max]の機能テーブルTBに記述されたタグTGである「Color−3,Color−4」を取得することにより、機種別PPDファイル42よりもさらに多機能な機能が記述された機種別最大機能PPDファイル68を作成する。
また、モノクロ最大機能[Key−B−Max]の機能テーブルTBには、タグTGとして「Mono−3」が記述されている。ホストPC202は、標準的な機能であるモノクロ機能[Key−B]の機能テーブルTBに記述されたタグTGである「Mono−1,Mono−2」に加え、モノクロ最大機能[Key−B−Max]の機能テーブルTBに記述されたタグTGである「Mono−3」を取得することにより、機種別PPDファイル42よりもさらに多機能な機能が記述された機種別最大機能PPDファイル68を作成する。
OS30は、プリンタ3が接続されると、当該プリンタ3の情報を印刷システム32に追加する際に、Autoconfigツール236を呼び出す。
Autoconfigツール236は、フル機能PPDファイル38を呼び出し、プリンタ3から取得した機種名を基に機種別機能テーブルDB40から機能テーブルTBを検索し、当該機種名が存在しなかった場合、機種判別機能テーブルDB60から機能テーブルTBを取得し、機種別PPDファイル42を作成する。
このときAutoconfigツール236は、機種別PPDファイル42と共に、機種別最大機能PPDファイル68を作成する。
機種別PPDファイル42は、GenericPPD58よりも多くの機能が記述され、ホストPC202に接続されたプリンタ3に対し確実に動作する標準的な機能が記述されている。一方、機種別最大機能PPDファイル68は、確実に動作しない機能が含まれている可能性はあるものの、機種別PPDファイル42よりもさらに多くの機能が記述されている。
ホストPC202は、作成した機種別PPDファイル42又は機種別最大機能PPDファイル68のうち、どちらのPPDファイルを用いるかをユーザに選択させる。
またホストPC202は、作成した機種別PPDファイル42をUI制御部44により読み込んで表示させることにより、ユーザが選択した機種別PPDファイル42又は機種別最大機能PPDファイル68に記述された機能をユーザに提示する。
さらにホストPC202は、画像データを印刷する際、機種別PPDファイル42又は機種別最大機能PPDファイル68により示される機能を用いて画像データをプリンタ3に出力し印刷させる。
[3−2.機種別PPDファイル作成処理手順]
次に、ホストPC202による機種別PPDファイル作成処理の具体的な処理手順について、図19及び図22のフローチャートを用いて詳細に説明する。機種別PPDファイル作成処理手順RT3(図22)は、機種別PPDファイル作成処理手順RT2(図18)と比べてステップSP40が追加されている点が異なっているため、以下ではステップSP40について主に説明する。
CPU211は、HDD14から機種別PPDファイル作成処理プログラムを読み出して実行することにより機種別PPDファイル作成処理手順RT3を開始してステップSP1へ移り、ステップSP1〜ステップSP4の処理を行う。
ステップSP4において、取得した機種名が機種別機能テーブルDB40内に存在しなかったとAutoconfigツール236により判定された場合、CPU211は、ステップSP20へ移り、図19に示した機能テーブル取得処理手順SRT1を実行することにより機能テーブルTBを取得し、ステップSP40へ移る。
ステップSP40においてCPU211は、図23に示す最大機能テーブル取得処理手順SRT2のステップSP21へ入る。最大機能テーブル取得処理手順SRT2は、機能テーブル取得処理手順SRT1(図19)と比べて、ステップSP41及びステップSP42が追加されているため、以下ではステップSP41及びステップSP42について主に説明する。
CPU211は、ステップSP21〜ステップSP24の処理を行い、機種名の2文字目の文字が「C」であった場合、ステップSP25においてAutoconfigツール236により、機種判別機能テーブルDB160のカラー機能[Key−C]の機能テーブルTBから、Color−1及びColor−2のタグTGを取得しステップSP41へ移る。
ステップSP41においてCPU211は、Autoconfigツール236により、機種判別機能テーブルDB160のカラー最大機能[Key−C−Max]の機能テーブルTBから、Color−3及びColor−4のタグTGを取得しステップSP27へ移る。
一方機種名の2文字目の文字が「B」であった場合、CPU211は、ステップSP26においてAutoconfigツール236により、機種判別機能テーブルDB160のモノクロ機能[Key−B]の機能テーブルTBから、Mono−1及びMono−2のタグTGを取得しステップSP42へ移る。
ステップSP42においてCPU211は、Autoconfigツール236により、機種判別機能テーブルDB160のカラー最大機能[Key−B−Max]の機能テーブルTBから、Mono−3のタグTGを取得しステップSP27へ移る。
続いてCPU211は、ステップSP27〜ステップSP30の処理を行い、Autoconfigツール236により、取得した機能テーブルTBのタグTGを、機種別機能テーブルDB40(図4)の機能テーブルTBの形式に整形し、最大取得機能テーブルOFTMを作成する。
具体的にはAutoconfigツール236は、機種名が「MC3841」である場合、ステップSP22において取得したFnc−1、Fnc−2、Fnc−3及びFnc−4のタグと、ステップSP25において取得したColor−1及びColor−2のタグと、ステップSP41において取得したColor−3及びColor−4のタグと、ステップSP28において取得したNum−3のタグとを合わせて整形し、最大取得機能テーブルOFTMとして「Fnc−1,Fnc−2,Fnc−3,Fnc−4,Color−1,Color−2,Color−3,Color−4,Num−3」を作成する。
一方Autoconfigツール236は、機種名が「SB4840」である場合、ステップSP23において取得したFnc−1及びFnc−2のタグと、ステップSP26において取得したMono−1及びMono−2のタグと、ステップSP42において取得したMono−3のタグと、ステップSP29において取得したNum−4のタグとを合わせて整形し、最大取得機能テーブルOFTMとして「Fnc−1,Fnc−2,Mono−1,Mono−2,Mono−3,Num−4」を作成する。
続いてCPU211はステップSP31へ移り、最大機能テーブル取得処理手順SRT2を終了して機種別PPDファイル作成処理手順RT3(図22)のステップSP5へ戻り、ステップSP5〜ステップSP10の処理を行ってステップSP11へ移り機種別PPDファイル作成処理手順RT2を終了する。
このときCPU211は、ステップSP5からステップSP10までの処理を、機能テーブル取得処理手順SRT1において取得した取得機能テーブルOFTと、最大機能テーブル取得処理手順SRT2において取得した最大取得機能テーブルOFTMとに適用することにより、機種別PPDファイル42及び機種別最大機能PPDファイル68を作成する。
[3−3.動作及び効果]
このようにホストPC202は、プリンタ3が接続されると、当該プリンタ3から取得した機種名を基に機種別機能テーブルDB40から機能テーブルTBを検索し、当該機種名が存在しなかった場合、機種判別機能テーブルDB160から機能テーブルTBを取得することにより、機種別PPDファイル42と共に識別名別多機能記述ファイルとしての機種別最大機能PPDファイル68を作成する。
ホストPC202は、作成した機種別PPDファイル42又は機種別最大機能PPDファイル68のうち、どちらのPPDファイルを用いるかをユーザに選択させる。
またホストPC202は、ユーザが選択した機種別PPDファイル42又は機種別最大機能PPDファイル68をUI制御部44により読み込んで表示させることにより、ユーザが選択した機種別PPDファイル42又は機種別最大機能PPDファイル68に記述された機能をユーザに提示する。
さらにホストPC202は、画像データを印刷する際、ユーザが選択した機種別PPDファイル42又は機種別最大機能PPDファイル68により示される機能を用いて画像データをプリンタ3に出力し印刷させる。
上述したように、機種別最大機能PPDファイル68は機種別PPDファイル42よりもより多くの機能が記述されているため、UI制御部44により読み込まれ表示された際、より多くの機能をユーザに提示できる。
しかしながら機種別最大機能PPDファイル68には、確実に動作しない機能が含まれている可能性があるため、UI制御部44により読み込まれ表示された際に提示した機能が、実際には動作しない可能性がある。
これに対し機種別PPDファイル42は、提示する機能は最小限に抑えられているものの、確実に動作する機能をユーザに提示する。
これによりホストPC202は、確実に動作する機能のみを提示するか、動作しない可能性はあるもものより多くの機能を提示するかを、ユーザの意思に沿って選択させることができる。
[4.第4の実施の形態]
[4−1.画像印刷システムのソフトウェア構成]
図20に示す第4の実施の形態による画像印刷システム301は、第3の実施の形態による画像印刷システム201と比べて、ホストPC302がホストPC202と異なっているものの、それ以外は同様に構成されている。
第3の実施の形態によるホストPC202においては、プリンタ3が接続されると、ホストPC202がAutoconfigツール236を起動し上述した機種別PPDファイル作成処理手順RT2、機能テーブル取得処理手順SRT1及び最大機能テーブル取得処理手順SRT2を実行する。
これに対し第4の実施の形態によるホストPC302は、プリンタ3が接続されると、ホストPC202がAutoconfigツール336を起動し、図24に示すAutoconfig設定画面70を表示させる。
Autoconfig設定画面70には、ユーザが「Min」又は「Max」を選択し得る機能選択部72が表示されている。因みに図24においては「Min」が表示されている。
機能選択部72において「Min」が選択された場合、このことは、機種別PPDファイル42をプリンタ3に適用したいとユーザが望んでいることを表している。一方機能選択部72において「Max」が選択された場合、このことは、機種別最大機能PPDファイル68をプリンタ3に適用したいとユーザが望んでいることを表している。
[4−2.機種別PPDファイル作成処理手順]
次に、ホストPC302による機種別PPDファイル作成処理の具体的な処理手順について、図25、図19及び図23のフローチャートを用いて詳細に説明する。機種別PPDファイル作成処理手順RT4(図25)は、機種別PPDファイル作成処理手順RT3(図22)と比べてステップSP50が追加されている点が異なっているため、以下ではステップSP50について主に説明する。
CPU311は、HDD14から機種別PPDファイル作成処理プログラムを読み出して実行することにより機種別PPDファイル作成処理手順RT4を開始してステップSP1へ移り、ステップSP1〜ステップSP4の処理を行う。
ステップSP4において、取得した機種名が機種別機能テーブルDB40内に存在しなかったとAutoconfigツール336により判定された場合、CPU311は、ステップSP50へ移り、Autoconfig設定画面70の機能選択部72において「Min」又は「Max」のどちらが選択されたかを判定する。
「Min」が選択されていた場合、このことは、機種別PPDファイル42をプリンタ3に適用したいとユーザが望んでいることを表しており、このときCPU311はステップSP20へ移り、図19に示した機能テーブル取得処理手順SRT1を実行することにより機種別PPDファイル42を作成し、ステップSP5へ移る。
一方「Max」が選択されていた場合、このことは、機種別最大機能PPDファイル68をプリンタ3に適用したいとユーザが望んでいることを表しており、このときCPU311はステップSP40へ移り、図23に示した最大機能テーブル取得処理手順SRT2を実行することにより機種別最大機能PPDファイル68を作成し、ステップSP5へ移る。
続いてCPU311はステップSP5〜ステップSP10の処理を行い、ステップSP11へ移り機種別PPDファイル作成処理手順RT4を終了する。
このときCPU311は、ステップSP5からステップSP10までの処理を、機能テーブル取得処理手順SRT1において取得した取得機能テーブルOFTか、最大機能テーブル取得処理手順SRT2において取得した最大取得機能テーブルOFTMかの何れかに適用することにより、ユーザが選択した機種別PPDファイル42又は機種別最大機能PPDファイル68を作成する。
第3の実施の形態によるホストPC202においては、プリンタ3が接続されると、ホストPC202は機種別PPDファイル42と機種別最大機能PPDファイル68との両方を作成していた。
これに対しホストPC302は、プリンタ3が接続されると、まずAutoconfig設定画面70を表示させることにより、機種別PPDファイル42又は機種別最大機能PPDファイル68の何れかをユーザに選択させ、選択されたPPDファイルのみを作成するようにした。
これによりホストPC302は、ホストPC202と比べて、作成するファイル数を削減することができる。
[5.他の実施の形態]
なお上述した実施の形態においては、コメント記号CCとして「*%」を用いたが、本発明はこれに限らず、「//」や「#」等、プリンタドライバとして機能させるコードを記述する言語に対応した、記述内容を無効化させる種々の無効化記号を用いて良い。
また上述した実施の形態においては、コメント記号CCから文末までをコメントとして扱うコメント行のコメント記号CCを削除する場合について述べた。本発明はこれに限らず、「/*」及び「*/」や「<!−−」及び「−−>」等、2つのコメント記号で前後を括り、その内部をコメントとして扱うブロックコメントのコメント記号を削除しても良い。
さらに上述した実施の形態においては、GenericPPD58の機能以外の機能をコメント記号CCにより予め無効化した内容をフル機能PPDファイル38に記述しておく場合について述べた。本発明はこれに限らず、全ての機能を予め有効化した内容をフル機能PPDファイル38に記述しておき、ホストPCに接続されたプリンタ3に対し不要な機能のみを無効化するようにしても良い。
その場合、プリンタ3から機種名を取得できなかったときや、機種名が機種別機能テーブルDB40に登録されていないときは、フル機能PPDファイル38の記述内容におけるGenericPPD58の機能以外の機能を無効化すれば、プリンタドライバを最低限の印刷機能を持つGenericPPD58と同等に機能させることができる。
さらに上述した実施の形態においては、プリンタ3から機種名を取得し当該機種名を機種別機能テーブルDB40で検索する場合について述べた。本発明はこれに限らず、機種名以外にプリンタ3の種類を識別できる所定の文字列等の識別名を取得し、当該識別名に基づいて機能テーブルTBを取得しても良い。
さらに上述した第2乃至第4の実施の形態においては、上述した命名規則のみに限らず、他の種々の命名規則に従って判別しても良い。
さらに上述した第3及び第4の実施の形態においては、カラー機能に対しカラー最大機能を、モノクロ機能に対しモノクロ最大機能を追加する場合について述べた。本発明はこれに限らず、シングルファンクション機能及びマルチファンクション機能等、種々の機能に対して最大機能を追加しても良い。
さらに上述した第3の実施の形態においては、接続されたプリンタ3に対しまず機種別最大機能PPDファイル68を適用し、当該機種別最大機能PPDファイル68において動作できない機能があった場合、機種別PPDファイル42を適用しても良い。
さらに上述した第3及び第4の実施の形態においては、機種別最大機能PPDファイル68には、少なくとも機種別PPDファイル42よりも多機能となる記述がされていれば良い。
さらに上述した実施の形態においては、プリンタドライバ34、134、234又は334に対し本発明を適用する場合について述べたが、本発明はこれに限らず、プリンタドライバ以外に適用しても良い。
さらに上述した実施の形態においては、1つのファイルであるフル機能PPDファイル38のみに基づいて機種別PPDファイル42を作成する場合について述べた。本発明はこれに限らず、2つ以上のPPDファイルに基づいて機種別PPDファイル42を作成しても良い。
さらに上述した第1の実施の形態においては、ホストPC2及びプリンタ3の間をUSBケーブルで接続する場合について述べた。本発明は、これに限らず、例えばIEEE(Institute of Electrical and Electronics Engineers)802.3u/abやIEEE802.11a/b/g/n等の規格に準じた有線又は無線のLAN(Local Area Network)等、他の通信手段を介して接続しても良い。第2乃至第4の実施の形態においても同様である。
さらに上述した実施の形態においては、識別名取得部としての識別名取得部62と、機能取得部としての機能取得部64と、識別名別機能記述ファイル作成部としての識別名別機能記述ファイル作成部66とによって、機能記述作成システムとしての画像印刷システム1、101、201及び301を構成する場合について述べた。
しかしながら本発明はこれに限らず、その他種々の構成でなる識別名取得部と、機能取得部と、識別名別機能記述ファイル作成部とによって機能記述作成システムを構成するようにしても良い。