(57)【要約】【課題】仕様変更を簡易に反映させることが可能なデバイスドライバ等を提供する。【解決手段】デバイスドライバ６は、プリンタ２０等の制御に必要な設定情報のうち、複数の型番（機種）に共通するもので構成された共通ファイル９（大分類ファイル９ｂ，小分類ファイル９ａ）と、機種毎に異なるもので構成された個別ファイル８（第１の個別ファイル８ａ，第２の個別ファイル８ｂ）とからなる設定情報ファイル５、及び、設定情報ファイル５に記述された設定情報を用いてプリンタ２０等を制御するドライバプログラム３から構成される。このため、ドライバ提供者側は、共通ファイル９以外の設定情報を個別ファイル８で管理すればよく、設定情報ファイル５に記述された設定情報の変更（仕様変更）が生じた際に、その仕様変更が複数機種に共通するものであれば、共通ファイル９の書き換えだけで対応することができる。【選択図】図２
2010061469.tif 000002
【特許請求の範囲】
【請求項１】
ホスト装置に接続されるデバイスの制御に必要な設定情報を含む設定情報ファイルと、
前記設定情報ファイルから取得した設定情報を用いて、前記デバイスを制御するドライバプログラムと、
を備え、前記デバイスの種別毎に用意され、前記ホスト装置において動作するデバイスドライバであって、
前記設定情報ファイルは、前記設定情報のうち、前記デバイスの複数種別に共通するもので構成された共通ファイルと、前記デバイスの種別毎に異なるもので構成された個別ファイルとからなることを特徴とするデバイスドライバ。
【請求項２】
前記設定情報は、少なくとも設定項目とその設定値とから構成され、
前記ドライバプログラムは、前記共通ファイル及び個別ファイルにおいて前記設定情報のうちの設定項目が重複している場合、前記個別ファイルに含まれる設定項目の設定値を優先して用いることを特徴とする請求項１に記載のデバイスドライバ。
【請求項３】
前記共通ファイルは、前記設定情報のうち、前記デバイスの多数種別に共通するもので構成された大分類ファイルと、前記デバイスの少数種別に共通するもので構成された一または複数の小分類ファイルとからなることを特徴とする請求項１または請求項２に記載のデバイスドライバ。
【請求項４】
前記ドライバプログラムは、前記大分類ファイル及び小分類ファイルにおいて前記設定情報のうちの設定項目が重複している場合、前記小分類ファイルに含まれる設定値を優先して用いることを特徴とする請求項３に記載のデバイスドライバ。
【請求項５】
前記ドライバプログラムは、前記設定情報ファイルに存在する複数のファイル間で前記設定情報のうちの設定項目が重複している場合に優先して用いる設定値を決定する設定探索処理を実行することを特徴とする請求項２または請求項４に記載のデバイスドライバ。
【請求項６】
前記ドライバプログラムは、前記設定探索処理の実行において、前記個別ファイル、前記共通ファイルにおける小分類ファイル、前記共通ファイルにおける大分類ファイルの順に、前記設定情報のうちの設定項目を参照し、最初に見つかった設定項目の設定値を用いることを特徴とする請求項５に記載のデバイスドライバ。
【請求項７】
前記ドライバプログラムは、前記設定探索処理の実行において、前記小分類ファイルが複数存在する場合、予め設定された優先順位に従って、前記設定情報のうちの設定項目を参照し、最初に見つかった設定項目の設定値を用いることを特徴とする請求項６に記載のデバイスドライバ。
【請求項８】
前記設定情報ファイルのうち、少なくとも前記個別ファイルには、次に参照すべきファイルを特定するためのファイルＩＤが予め記述され、
前記ドライバプログラムは、前記設定探索処理の実行において、前記個別ファイルから参照すると共に、その参照したファイルに記述されているファイルＩＤに基づいて、次に参照する共通ファイルを決定することを特徴とする請求項５ないし請求項７のいずれかに記載のデバイスドライバ。
【請求項９】
前記共通ファイルにおける大分類ファイル及び小分類ファイルには、前記ファイルＩＤが予め記述され、
前記ドライバプログラムは、前記設定探索処理の実行において、各ファイルに記述されているファイルＩＤに基づいて、前記共通ファイル内のファイルを順番に参照することを特徴とする請求項８に記載のデバイスドライバ。
【請求項１０】
前記ドライバプログラムは、少なくとも前記設定値を用いてデバイスを制御する前に、前記共通ファイル、及び前記個別ファイルに基づいて、前記設定探索処理において参照するファイル、及びその参照順を特定するためのファイルリストを予め作成することを特徴とする請求項５ないし請求項９のいずれかに記載のデバイスドライバ。
【請求項１１】
前記ファイルリストは、前記設定項目とその設定値の取得先とから構成されていることを特徴とする請求項１０に記載のデバイスドライバ。
【請求項１２】
前記ドライバプログラムは、少なくとも前記設定値を用いてデバイスを制御する前に、前記設定探索処理により、前記共通ファイル、及び前記個別ファイルに基づいて、前記設定項目とその設定値とから構成される設定値リストを予め作成することを特徴とする請求項５ないし請求項９のいずれかに記載のデバイスドライバ。
【請求項１３】
前記設定情報ファイルは、前記設定情報として前記ホスト装置で動作するユーザ・インターフェースの制御に必要な情報を含むことを特徴とする請求項１ないし請求項１２のいずれかに記載のデバイスドライバ。
【請求項１４】
ホスト装置に接続されるデバイスの制御に必要な設定情報のうち、該デバイスの複数種別に共通するもので構成される共通ファイルと、該デバイスの種別毎に異なるもので構成された複数の個別ファイルとからなる設定情報ファイル群と、
前記共通ファイル及び個別ファイルから取得した設定情報を用いて、前記デバイスを制御するドライバプログラムと、
前記設定情報ファイル群の中から、前記共通ファイル、及び前記デバイスの種別に応じた前記個別ファイルを、前記ドライバプログラムと共に、前記ホスト装置にインストールするインストールプログラムと、
を備えることを特徴とするインストーラ。
【請求項１５】
ホスト装置に接続されるデバイスの制御に必要な情報であり、且つ、少なくとも設定項目とその設定値とから構成される情報を設定情報として、該設定情報のうち、該デバイスの複数種別に共通するもので構成された共通ファイル、及び、該デバイスの種別毎に異なるもので構成された複数の個別ファイルから取得した設定値を用いて、該デバイスを制御するドライバプログラムであって、
前記共通ファイル及び個別ファイルにおいて前記設定情報のうちの設定項目が重複している場合、前記個別ファイルに含まれる設定項目の設定値を用いることを特徴とするドライバプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータ等のホスト装置でプリンタ等の周辺装置（デバイス）を制御するためのデバイスドライバ（以下、単にドライバともいう）、このドライバをホスト装置にインストールするためのインストーラ、及び、デバイスドライバのプログラムに関する。
【背景技術】
【０００２】
従来より、可般型ディスク（ＣＤ−ＲＯＭ等）やインターネットを介してユーザに配布されて、プリンタの機種毎に用意されたデバイスドライバと、このドライバをコンピュータにインストールするためのインストールプログラムとからなるインストーラが知られている。
【０００３】
なお、デバイスドライバには、一般的に各種のドライバプログラムと共に、プリンタの印刷動作や、利用者・コンピュータ間のユーザ・インターフェースに必要な設定を表すデバイス設定情報が含まれている（例えば、特許文献１参照）。
【０００４】
また、デバイス設定情報とは、印刷機能として実現可能な範囲（例えば、両面印刷の有無）を示すサポート情報や、ユーザによる指示（例えば、用紙サイズの指示）をプリンタに伝達するためのコマンド情報、印刷動作の初期設定（例えば、印刷領域の設定）を示すデフォルト情報等を総称する。
【特許文献１】特開２００３−２０２９８７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところで、複数機種のプリンタの製造元といったデバイスドライバの提供者側（以下、ドライバ提供者側という）では、インストーラを作製する際（利用者に配布する前）に、プリンタの機種（型番）毎に一つずつデバイス設定情報を通常用意すると共に、プリンタにおいて印刷機能の追加やコマンドの変更等の仕様変更が生じた際には、該当する機種のプリンタに用意されたデバイス設定情報の書き換えを行っていた。
【０００６】
このため、仕様変更が複数のプリンタの機種に共通する（跨る）場合、その機種毎のデバイス設定情報を全て見直さなければならないことによって、仕様変更に係る作業やデバイス設定情報を表すファイル（設定情報ファイル）の管理に手間がかかると共に、書き換えなければならない設定情報ファイルが多いため、仕様変更に伴うミスの発生が懸念されるという問題があった。
【０００７】
本発明は、上記問題点を解決するために、仕様変更を簡易に反映させることが可能なデバイスドライバ、インストーラ、及びドライバプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するためになされた第一発明である請求項１に記載のデバイスドライバは、プリンタ等のデバイスの種別（以下、デバイス種別という）毎に用意されてコンピュータ等のホスト装置において動作するものであり、そのホスト装置に接続されるデバイスの制御に必要な設定情報を含む設定情報ファイルと、その設定情報ファイルから取得した設定情報を用いてデバイスを制御するドライバプログラムとを備える。
【０００９】
このうち、設定情報ファイルが、設定情報のうち、複数のデバイス種別に共通するもので構成された共通ファイルと、デバイス種別毎に異なるもので構成された個別ファイルとから構成されることを要旨とする。
【００１０】
このように構成されたデバイスドライバによれば、ドライバ提供者側は、共通ファイル以外の設定情報を個別ファイルで管理すればよく、設定情報ファイルに記述された設定情報の変更（仕様変更）が生じた際に、その仕様変更が複数のデバイス種別に共通するものであれば、共通ファイルの書き換えだけで対応することができる。したがって、本発明のデバイスドライバによれば、仕様変更を簡易に反映させることができる。
【００１１】
また、本発明のデバイスドライバは、請求項２に記載のように、設定情報が、少なくとも設定項目とその設定値（設定データを含む）とから構成され、ドライバプログラムが、共通ファイル及び個別ファイルにおいて設定情報のうちの設定項目が重複している場合、個別ファイルに含まれる設定項目の設定値を優先して用いることが望ましい。
【００１２】
この場合、ドライバ提供者側は、共通ファイルに記述された設定情報の変更（仕様変更）が生じた際に、その仕様変更が一つの特定のデバイス種別に関するものであれば、個別ファイルに設定項目及びその設定値を追加することによって対応でき、したがって、特定種別に対する例外的な仕様変更も簡易に反映させることができる。
【００１３】
なお、本発明のデバイスドライバは、請求項３に記載のように、共通ファイルが、設定情報のうち、多数のデバイス種別に共通するもので構成された大分類ファイルと、少数のデバイス種別に共通するもので構成された一または複数の小分類ファイルとから構成されてもよい。
【００１４】
この場合、共通ファイルが複数のファイルに分類されているため、個別ファイルで管理する設定情報を必要最小限にでき、従って、新規の種別（新規種別）に対して設定情報ファイルを作製する際にその作業負担が軽減され、ひいては開発コストを抑制することができる。
【００１５】
また、ドライバプログラムは、請求項４に記載のように、大分類ファイル及び小分類ファイルにおいて設定情報のうちの設定項目が重複している場合、小分類ファイルに含まれる設定値を優先して用いることが望ましい。
【００１６】
この場合、ドライバ提供者側は、共通ファイルに記述された設定情報の変更（仕様変更）が生じた際に、その仕様変更が小分類ファイルに含まれる一部のデバイス種別の設定情報に関するものであれば、小分類ファイルに対して新たな設定項目及びその設定値を追加することによって対応できる。したがって、一部のデバイス種別についての仕様変更の場合に容易に対処することができる。
【００１７】
また、本発明のデバイスドライバは、請求項５に記載のように、設定探索処理を実行することにより、設定情報ファイルに存在する複数のファイル間で設定情報のうちの設定項目が重複している場合に優先して用いる設定値を決定することが望ましい。
【００１８】
この場合、設定情報ファイルに存在する複数のファイルにおいて重複する設定項目があれば、いずれの設定項目の設定値を用いるかが設定探索処理を実行することで決定される。
【００１９】
具体的には、ドライバプログラムが、請求項６に記載のように、設定探索処理の実行において、個別ファイル、共通ファイルにおける小分類ファイル、共通ファイルにおける大分類ファイルの順に、設定情報のうちの設定項目を参照する設定探索処理を実行し、最初に見つかった設定項目の設定値を用いるようにすればよい。
【００２０】
つまり、設定探索処理では、設定情報ファイルに含まれる各ファイルを上記の順に従って参照することにより、いずれかのファイルから設定項目の設定値を取得することができる。例えば、個別ファイルには、特定のデバイス種別に関する設定情報が記述されているため、個別ファイルから参照することにより、特定のデバイス種別に限って設定される設定項目の設定値を優先的に取得することができる。
【００２１】
そして、請求項７に記載のように、ドライバプログラムは、設定探索処理の実行において、小分類ファイルが複数存在する場合、予め設定された優先順位に従って、設定情報のうちの設定項目を参照し、最初に見つかった設定項目の設定値を用いるようにすればよい。
【００２２】
つまり、小分類ファイルが複数存在する場合でも、各ファイルに含まれる設定情報の内容に応じて、優先順位を設定しておくことで、対象となるデバイスに必要な設定項目の設定値を取得することができる。
【００２３】
ところで、本発明のデバイスドライバは、請求項８に記載のように、設定情報ファイルのうち、少なくとも個別ファイルには、次に参照すべきファイルを特定するためのファイルＩＤが予め記述され、ドライバプログラムは、設定探索処理の実行において、個別ファイルから参照すると共に、その参照したファイルに記述されているファイルＩＤに基づいて、次に参照する共通ファイルを決定することが望ましい。
【００２４】
この場合、ドライバプログラムでは、最初に個別ファイルを参照することを記憶していれば、次に参照すべきファイルは、ファイルＩＤに基づいて決定できる。したがって、どの設定情報がどのファイルに存在しているかをドライバプログラムが予め記憶している必要がなく、ドライバプログラムの作成時の負荷を軽減できる。
【００２５】
さらに、請求項９に記載のように、共通ファイルにおける大分類ファイル及び小分類ファイルには、次に参照すべきファイルを特定するためのファイルＩＤが予め記述され、ドライバプログラムは、設定探索処理の実行において、各ファイルに記述されているファイルＩＤに基づいて、共通ファイル内のファイルを順番に参照するように構成することが望ましい。
【００２６】
この場合、設定情報ファイルに含まれるファイル数の変更（増減）がドライバプログラムに影響を及ぼさないため、ドライバ提供者側は、設定情報ファイルに記述された設定情報の変更（仕様変更）が生じた際に、新たな共通ファイルを作成したり既存の共通ファイルを削除したりすることによって対応でき、従って、仕様変更に係る自由度を向上させることができる。
【００２７】
また、ドライバプログラムは、請求項１０に記載のように、少なくとも設定値を用いてデバイスを制御する前に、共通ファイル及び個別ファイルに基づいて、設定探索処理において参照するファイル、及びその参照順を特定するためのファイルリストを予め作成してもよい。
【００２８】
この場合、参照するファイル、及び参照順が予め特定されていることで、ドライバプログラムが設定探索処理において参照するファイルが限定され、効率よく設定値を取得することができる。
【００２９】
なお、ファイルリストは、請求項１１に記載のように、設定項目とその設定値の取得先とから構成されていればよい。この場合、ドライバプログラムが、設定情報ファイルを優先順位に従って一つずつ参照する（設定探索処理を行う）必要がないため、ひいてはデバイスの制御を短縮させることができる。
【００３０】
また、ドライバプログラムは、請求項１２に記載のように、少なくとも設定値を用いてデバイスを制御する前に、設定探索処理により、共通ファイル、及び個別ファイルに基づいて、設定項目とその設定値とから構成される設定値リストを予め作成してもよい。この場合、デバイスを制御する度に設定探索処理により設定情報ファイルを参照する必要がなく、ひいてはドライバプログラムを実行するホスト装置の負荷を軽減することができる。
【００３１】
なお、設定情報ファイルは、デバイスの制御に必要な情報に限らず、請求項１３に記載のように、ホスト装置で動作するユーザ・インターフェースの制御に必要な情報を設定情報として含むものであればよい。
【００３２】
また、第二発明であるインストーラは、請求項１４に記載のように、ホスト装置に接続されるデバイスの制御に必要な設定情報のうち、複数のデバイス種別に共通するもので構成される共通ファイルと、デバイス種別毎に異なるもので構成された複数の個別ファイルとからなる設定情報ファイル群と、共通ファイル及び個別ファイルから取得した設定情報を用いてデバイスを制御するドライバプログラムと、設定情報ファイル群の中から、共通ファイル、及びデバイス種別に応じた個別ファイルを、ドライバプログラムと共に、ホスト装置にインストールするインストールプログラムとを備えることを要旨とする。
【００３３】
このように構成されたインストーラによれば、請求項１に記載のデバイスドライバを好適にインストールすることができる。なお、ドライバ提供者側にとっては、デバイス種別毎にインストーラを用意する必要がないため、複数種別に対応したインストーラを大量生産することが可能となり、生産コストを削減することができる。
【００３４】
さらに、第三発明であるドライバプログラムは、請求項１５に記載のように、ホスト装置に接続されるデバイスの制御に必要な情報であり、且つ、少なくとも設定項目とその設定値とから構成される情報を設定情報として、その設定情報のうち、複数のデバイス種別に共通するもので構成された共通ファイル、及び、デバイス種別毎に異なるもので構成された複数の個別ファイルから取得した設定値を用いて、デバイスを制御するプログラムである。
【００３５】
ここで、共通ファイル及び個別ファイルにおいて設定情報のうちの設定項目が重複している場合、個別ファイルに含まれる設定項目の設定値を用いることを要旨とする。
このように構成されたドライバプログラムによれば、請求項２に記載のデバイスドライバのプログラムとして好適に用いることができる。
【発明を実施するための最良の形態】
【００３６】
以下に、本発明の実施形態を図面と共に説明する。
［第１実施形態］
図１は、本発明が適用された第１実施形態としてのデバイスドライバを備える印刷制御システムの概略構成を示すブロック図である。
【００３７】
＜全体構成＞
図１に示すように、印刷制御システム１は、ホスト装置としてのパーソナルコンピュータ（以下、ＰＣという）１０と、ＰＣ１０の周辺装置（デバイス）としてのプリンタ２０とからなり、ＰＣ１０とプリンタ２０とがＬＡＮ等のネットワークを介して接続されることにより構成されている。
【００３８】
このうち、プリンタ２０は、図示しない給紙トレイや手差トレイに積載される各種用紙等の印刷媒体を供給するフィーダ部２１、フィーダ部２１から供給される用紙を搬送する搬送部２２、搬送部２２により搬送されてくる印刷媒体に画像を印刷する画像形成部２３、及びこれらの各部２１〜２３を駆動制御する制御部２４等からなる周知のものである。
【００３９】
なお、制御部２４は、ＣＰＵ，ＲＯＭ，ＲＡＭ，ＨＤＤ及びこれらを接続するバスライン等からなり、各種設定や指令を入力するためのカーソルキーやスイッチ、及び各種メニュー項目が示されたメニュー画面や、利用者が入力した内容，エラー等の表示を行う操作パネル部２５、ネットワークを介してＰＣ１０等のホスト装置からの画像データを入力するためのネットワークＩ／Ｆ２６部等が接続されている。そして、制御部２４は、操作パネル部２５又はネットワークＩ／Ｆ部２６から入力されるコマンドに従って、フィーダ部２１，搬送部２２，画像形成部２３を駆動制御することによって、各種の印刷機能を実現するように構成されている。
【００４０】
一方、ＰＣ１０は、マウスやキーボード等を介して当該ＰＣ１０を動作させるために必要な情報を入力する操作部１１、ＣＤ−ＲＯＭ等の記憶媒体に記憶されたデータ等を入力する外部入力部１２、ネットワークを介してデータやコマンドを入出力するためのネットワークＩ／Ｆ部１３、各種の情報を表示するための表示部１４、各部１１〜１３からの入力情報に基づいてネットワークＩ／Ｆ部１３及び表示部１４を制御する制御部１５等からなる。
【００４１】
表示部１４は、液晶デバイス等の周知の表示デバイスからなり、パーソナルコンピュータが有する周知のグラフィカル・ユーザ・インターフェース（ＧＵＩ）機能により、各種情報が入力されるユーザ・インターフェース（ＵＩ）画面や、マウスポインタ等の画像が表示される。
【００４２】
制御部１５は、ＣＰＵ，ＲＯＭ，ＲＡＭ，ＨＤＤ及びこれらを接続するバスライン等からなる周知のマイクロコンピュータを中心に構成され、ＣＰＵが、ＲＯＭ又はＨＤＤに記憶された各種プログラムに基づいて、周知のオペレーティング・システム（ＯＳ）やアプリケーション機能、プリンタ２０の印刷機能等を実現するための処理を実行する。
【００４３】
なお、制御部１５では、マルチタスク機能を有したＯＳがＲＯＭにインストールされており、このＯＳの環境下において、文書データ作成，画像データ処理等を行うためのアプリケーションプログラムや、印刷処理を行うためのデバイスドライバ６（後述する）が作動する。
【００４４】
＜インストーラ、デバイスドライバ、及びドライバプログラム＞
次に、図２は、本発明が適用されたインストーラ、デバイスドライバ、及びドライバプログラムの構成を説明するための説明図である。
【００４５】
図２に示すように、インストーラ２は、ＰＣ１０のＯＳに対応するドライバプログラム３と、プリンタ２０等のデバイスの制御に必要な設定情報が複数の機種分記述された設定情報ファイル群４と、この設定情報ファイル群４のうちプリンタ２０に対応する設定情報を表す設定情報ファイル５、及びドライバプログラム３からなるデバイスドライバ６をＰＣ１０等のホスト装置にインストールするためのインストールプログラム７とを備える。
【００４６】
なお、ここでの設定情報は、本実施形態におけるプリンタ２０の印刷動作や、ＰＣ１０等のホスト装置において印刷処理を行う際のＵＩに必要な設定項目とその設定値（設定データを含む）を表すものであり、プリンタ２０等の製造元といったデバイスドライバ６の提供者側（以下、ドライバ提供者側という）によって管理される。
【００４７】
また、インストーラ２は、一つの可般型の記憶媒体（ＣＤ−ＲＯＭ等）又はインターネット上のサーバに格納された状態でドライバ提供者側から配布され、本実施形態では、外部入力部１２又はネットワークＩ／Ｆ部１３を介してＰＣ１０にロードされる。
【００４８】
ここで、設定情報ファイル群４は、プリンタ２０の型番に対応する設定情報が記述された複数のファイル（以下、個別ファイルという）８からなる個別ファイル群８０と、シリーズに対応する設定情報が記述された複数のファイル（以下、共通ファイルという）９からなる共通ファイル群９０とを備えている。なお、ここでのシリーズとは、複数の型番からなるグループであり、例えば一つのシリーズ内の製品と比較して実現可能な機能等が大きく飛躍したりデザインが大きく変更されたりした際に、製造元によって新たに用意されるものである。このため、プリンタ２０のシリーズには、比較的近い機能やデザインを有する他のプリンタが含まれることになる。
【００４９】
さらに、個別ファイル群８０は、プリンタ２０の国内用の型番に対応する個別ファイル８である第１の個別ファイル８ａ、及び、プリンタ２０の国外用の型番に対応する個別ファイル８である第２の個別ファイル８ｂに分類されている。また、共通ファイル群９０は、一つのシリーズに対応する共通ファイル９である小分類ファイル９ａ、及び、全てのシリーズに対応する共通ファイル９である大分類ファイル９ｂに分類されている。
【００５０】
このうち、大分類ファイル９ｂには、図３に示すように、全てのシリーズに対応する設定情報として、例えば、用紙サイズ（Ａ４，Ｌｅｔｔｅｒ，Ｌｅｇａｌ，Ａ５，Ｈａｇａｋｉ等）３１，用紙サイズ毎の印刷領域３２，用紙サイズ毎のコマンド３３，給紙元毎のコマンド３４等を規定するための設定項目、及びこれら設定項目毎の設定値がそれぞれ記述されている。
【００５１】
また、小分類ファイル９ａには、図４に示すように、一つのシリーズに対応する設定情報として、例えば、用紙サイズ毎の印刷速度３５，印刷可能な印刷領域３６，省電力モードの待機時間３７，ＵＩのデフォルト設定３８，給紙元（Ａｕｔｏ，Ｔｒａｙ１，Ｔｒａｙ２，Ｍａｎｕａｌ等）３９，印刷可能な用紙サイズ４０、ファイルＩＤ１６等を規定するための設定項目、及びこれら設定項目毎の設定値がそれぞれ記述されている。さらに、本実施形態では、給紙元毎のコマンド３４の一部がシリーズの仕様変更に伴って追加的に記述されている。なお、ファイルＩＤ１６は、次に参照すべきファイルを特定するためのものであり、ここでのファイルＩＤ１６の設定値には、大分類ファイル９ｂのファイル名（ＦｉｌｅＡ）が記述されている。
【００５２】
そして、第１の個別ファイル８ａには、図５（ａ）に示すように、プリンタ２０の国内用の型番に対応する設定情報として、例えば、型番４１，両面印刷の有無４２，印刷マクロの有無４３、ファイルＩＤ１６等を規定するための設定項目、及びこれら設定項目毎の設定値がそれぞれ記述されている。
【００５３】
一方、第２の個別ファイル８ｂには、図５（ｂ）に示すように、ＵＩのデフォルト設定３８，印刷可能な用紙サイズ４０，用紙サイズ毎の印刷方向４４の一部が国外向け用に追加的に記述されている。なお、ここでのファイルＩＤ１６の設定値には、小分類ファイル９ａのファイル名（ＦｉｌｅＢ）が記述されている。また、第２の個別ファイル８ｂでは、型番４１，両面印刷の有無４２が国外用に変更されている。
【００５４】
一方、インストールプログラム７は、本実施形態においてデバイスドライバ６がＰＣ１０にインストールされる時に制御部１５のＣＰＵによって起動されるプログラムである。そして、ＵＩを介してＰＣ１０のＯＳが管理するＨＤＤ内の特定の場所（例えば、システムフォルダ）に、大分類ファイル９ｂ，小分類ファイル９ａ，及び、国内用の型番であれば第１の個別ファイル８ａを設定情報ファイル５として格納し、また、ドライバプログラム３を格納させる。この設定情報ファイル５とドライバプログラム３とからデバイスドライバ６が構成される。
【００５５】
また、ドライバプログラム３は、プリンタ２０等のデバイスにデータやコマンドを出力すると共にＰＣ１０等のホスト装置においてＵＩを制御する（以下、印刷制御と総称する）ためのドライバ制御モジュール（以下、メインプログラムという）３ａと、印刷制御に必要な設定情報（設定値）をメインプログラム３ａに受け渡すための設定情報管理モジュール（以下、設定プログラムという）３ｂとからなる。
【００５６】
＜設定プログラム＞
本実施形態の設定プログラム３ｂは、図６に示すように、メインプログラム３ａから、印刷制御に必要な設定情報の要求（問い合わせ）を表すコマンドを受け取ると、そのコマンドが示す設定項目（以下、対象設定項目という）に対応する設定値を、以下の設定探索処理によって設定情報ファイル５から読み出し、その読み出した設定値をメインプログラム３ａに受け渡すように構成されている。
【００５７】
＜設定探索処理＞
ここで、図７は、制御部１５のＣＰＵが実行する設定探索処理の詳細を示すフローチャートである。なお、本処理は、デバイスドライバ６がＰＣ１０にインストールされている場合に、制御部１５のＣＰＵが、ＨＤＤに記憶された設定プログラム３ｂに基づいて実行する処理である。
【００５８】
図７に示すように、本処理が起動されると、まず、Ｓ２１０では、メインプログラム３ａから受け取ったコマンドに基づいて、第１の個別ファイル８ａを参照し、対象設定項目が第１の個別ファイル８ａ（ＦｉｌｅＣ＿１）に存在するか否かを判断する。なお、最初に、第１の個別ファイル８ａ（ＦｉｌｅＣ＿１）を参照することは、メインプログラム３ａにおいて予め規定されている。
【００５９】
ここで、第１の個別ファイル８ａに対象設定項目が存在した（肯定判断した）場合には、Ｓ２５０に進む。一方、第１の個別ファイル８ａに対象設定項目が存在しない場合には、Ｓ２２０に進み、そのＳ２２０では、第１の個別ファイル８ａに記述されているファイルＩＤ１６に基づいて、次に参照すべきファイルを特定する。図６の例では、第１の個別ファイル８ａに記述されているファイルＩＤ１６が小分類ファイル（ＦｉｌｅＢ）であるため、続くＳ２３０では、小分類ファイル９ａを参照し、対象設定項目が小分類ファイル９ａに存在するか否かを判断する。
【００６０】
ここで、小分類ファイル９ａに対象設定項目が存在した（肯定判断した）場合には、Ｓ２５０に進む。一方、小分類ファイル９ａに対象設定項目が存在しない場合には、Ｓ２４０に進み、そのＳ２４０では、小分類ファイル９ａに記述されているファイルＩＤ１６に基づいて、次に参照すべきファイルを特定する。図６の例では、小分類ファイル９ａに記述されているファイルＩＤ１６が大分類ファイル（ＦｉｌｅＡ）であるため、大分類ファイル９ｂを参照する。つまり、設計上、いずれかのファイルには対象設定項目が存在するはずなので、ＦｉｌｅＣ＿１、あるいはＦｉｌｅＢに存在していない場合には、ＦｉｌｅＡに対象設定項目が存在することになる。
【００６１】
そして、Ｓ２５０では、Ｓ２１０で肯定判断した場合には第１の個別ファイル８ａから、Ｓ２３０で肯定判断した場合には小分類ファイル９ａから、Ｓ２４０に続く場合にはＳ２４０で特定されたファイル（ＦｉｌｅＡ）である大分類ファイル９ｂから、対象設定項目に対応する設定値を読み出して、その読み出した設定値をメインプログラム３ａに受け渡し、本処理を終了する。
【００６２】
図６（ａ）の例では、メインプログラム３ａから要求された対象設定項目が「ＰａｐｅｒＳｉｚｅ＿Ｓｉｚｅ：Ａ４」であり、図５（ａ）に示されるＦｉｌｅＣ＿１から探索が行われる。ここで、ＦｉｌｅＣ＿１には、対象設定項目が存在していないため、次の参照先であるＦｉｌｅＢ（図４）を探索する。ＦｉｌｅＢにも対象設定項目が存在していないため、最終的に、ＦｉｌｅＡ（図３）を探索する。Ｆｉｌｅ＿Ａには、対象設定項目「ＰａｐｅｒＳｉｚｅ＿Ｓｉｚｅ：Ａ４」が、用紙サイズ（ＰａｐｅｒＳｉｚｅ＿Ｓｉｚｅ）３１の群に存在しているため、その設定値である「２１０．０００，２９７．０００」がメインプログラム３ａに出力される。
【００６３】
一方、図６（ｂ）の例では、ＨＤＤ内の特定の場所に、大分類ファイル９ｂ，小分類ファイル，及び、第２の個別ファイル８ｂが記憶されている場合であり、メインプログラム３ａから要求された対象設定項目が「ＰａｐｅｒＳｉｚｅ＿Ｓｉｚｅ：Ａ４」である場合を示している。この場合、メインプログラム３ａからの指示に基づき、図５（ｂ）に示される第２の個別ファイル８ｂ（ＦｉｌｅＣ＿２）から探索が行われる。ＦｉｌｅＣ＿２には、対象設定項目「ＰａｐｅｒＳｉｚｅ＿Ｓｉｚｅ：Ａ４」が存在しているため、その設定値である「２９７．０００，２１０．０００」がメインプログラム３ａに直ちに出力される。
【００６４】
このように、メインプログラム３ａから要求された対象設定項目に対する設定値を取得する際に、どのファイルを参照するか、またどの順番で参照するかにより、メインプログラム３ａに出力される設定値が異なることになる。
【００６５】
この点を利用し、本実施形態では、設定情報のうち共通ファイルに含まれるもの以外を個別ファイルで管理し、設定情報ファイルに記述された設定情報に変更が生じた際に、その変更が複数のデバイス種別に共通するものであれば、共通ファイルの書き換えだけで対応することができる。逆に、一部の機種に関連する設定情報は個別ファイルで管理することで、一部の機種に関連する仕様変更が生じた際には、関連する個別ファイルの書き換えで対応することができる。したがって、各種の仕様変更を簡易に反映させることができる。
【００６６】
＜効果＞
以上説明したように、本実施形態のデバイスドライバ６は、全てのシリーズに対応する大分類ファイル９ｂ，一つのシリーズに対応する小分類ファイル９ａ，及び型番（機種）に対応する個別ファイル８からなる設定情報ファイル５と、設定情報ファイル５に記述された設定情報を用いてプリンタ２０を制御するドライバプログラム３とから構成される。
【００６７】
このため、ドライバ提供者側は、共通ファイル９（大分類ファイル９ｂ，小分類ファイル９ａ）以外の設定情報を個別ファイル８（第１の個別ファイル８ａ，第２の個別ファイル８ｂ）で管理すればよく、設定情報ファイル５に記述された設定情報の変更（仕様変更）が生じた際に、その仕様変更が複数機種に共通するものであれば、共通ファイル９の書き換え（変更，追加，削除）だけで対応することができる。従って、本実施形態のデバイスドライバ６によれば、仕様変更を簡易に反映させることができる。
【００６８】
また、本実施形態のインストーラ２では、インストールプログラム７が、個別ファイル群８０（第１の個別ファイル８ａ，第２の個別ファイル８ｂ）の中から、型番（機種）に応じた個別ファイル８（第１の個別ファイル８ａ又は第２の個別ファイル８ｂ）を、共通ファイル９及びドライバプログラム３と共にインストールする。
【００６９】
したがって、本実施形態のインストーラ２によれば、ドライバ提供者側にとっては、機種毎にインストーラ２を用意する必要がないため、複数機種に対応したインストーラ２を大量生産することが可能となり、生産コストを削減することができる。
【００７０】
さらに、本実施形態のドライバプログラム３では、メインプログラム３ａによる印刷制御に必要な設定項目とその設定値の取得先（参照先）とからなるファイルリスト１７が、インストール後の最初の起動時に作成される。
【００７１】
したがって、本実施形態のドライバプログラム３では、メインプログラム３ａが印刷制御を実行する際には、ファイルリスト１７により一意に特定される取得先（設定情報ファイル５（第１の個別ファイル８ａ，小分類ファイル９ａ，大分類ファイル９ｂ）から設定プログラム３ｂを介して設定値を取得するだけでよいため、ひいては印刷制御を短縮させることができる。
【００７２】
なお、上記実施形態では、設定情報ファイル５を、第１の個別ファイル８ａ，小分類ファイル９ａ，大分類ファイル９ｂの３種類とし、その３種類をファイルＩＤ１６で規定される順に参照する場合を例として、図７の設定探索処理のフローチャートを説明したが、設定情報ファイル５の種別や数はこれに限定されるものではなく、各種の態様が想定される。例えば、個別ファイル群８０に存在する一つの個別ファイルと、共通ファイル群９０に存在する一つのファイルとの２つにより設定情報ファイル５が構成されてもよい。この場合には、２種類のファイルのいずれかから対象設定項目が探索され、その設定値が出力される。逆に、設定情報ファイル５が４種類以上のファイルから構成されてもよく、その場合には、各ファイルに記述されているファイルＩＤ１６に基づいて、順次参照すべきファイルが特定される。
【００７３】
［第２実施形態］
次に、本発明が適用された第２実施形態としてのデバイスドライバについて説明する。
なお、本実施形態のデバイスドライバ６は、第１実施形態と比較して、設定プログラム３ｂの構成が異なるだけであるため、この相違する部分を中心に説明する。
【００７４】
＜設定プログラム＞
設定プログラム３ｂは、メインプログラム３ａから、印刷制御に必要な設定情報の要求（問い合わせ）を表すコマンドを受け取ると、そのコマンドが示す設定項目に対応する設定値を、後述するファイルリスト１７を用いて設定情報ファイル５から読み出し、その読み出した設定値をメインプログラム３ａに受け渡すように構成されている。
【００７５】
＜ファイルリスト作成処理＞
次に、デバイスドライバ６がＰＣ１０にインストールされた後において、ドライバプログラム３の最初の起動時に、制御部１５のＣＰＵがＨＤＤに記憶された設定プログラム３ｂに基づいてファイルリスト１７の作成を実行する処理（以下、ファイルリスト作成処理という）を説明する。
【００７６】
なお、ここでのファイルリスト１７は、制御部１５のＣＰＵがＨＤＤに記憶されたメインプログラム３ａに基づいて印刷制御に係る処理を行う際に用いるものであって、ＰＣ１０及びプリンタ２０において印刷制御に必要な設定項目とその設定値の取得先（参照先）を示すファイル名とから構成され（図８（ａ）参照）、ＨＤＤ内の特定の場所（例えば、レジストリ）に登録される。
【００７７】
ここで、図９は、制御部１５のＣＰＵが実行するファイルリスト作成処理の詳細を示すフローチャートである。
図９に示すように、本処理が起動されると、まず、Ｓ１１０では、設定情報ファイル５のうちの第１の個別ファイル８ａのファイル名（ＦｉｌｅＣ＿２）を参照し、そのファイルに記述されている設定項目を全て読み出し、その読み出した設定項目、及びその設定値の取得先として第１の個別ファイル８ａのファイル名（ＦｉｌｅＣ＿２）をファイルリスト１７ａに書き込む。最初に、第１の個別ファイル８ａ（ＦｉｌｅＣ＿２）を参照することは、メインプログラム３ａにおいて予め規定されている。
【００７８】
例えば、図８（ａ）に示すように、型番４１，両面印刷の有無４２，印刷マクロの有無４３の設定項目、及びその設定値の取得先としてＦｉｌｅＣ＿２が書き込まれる。
続くＳ１２０では、第１の個別ファイル８ａに記述されているファイルＩＤ１６が小分類ファイル（ＦｉｌｅＢ）であるため、設定情報ファイル５のうちの小分類ファイル９ａを参照し、その小分類ファイル９ａに記述されている設定項目、及びその設定値の取得先として小分類ファイル９ａのファイル名（ＦｉｌｅＢ）をファイルリスト１７に書き込む。なお、ここでは、Ｓ１１０にて既に書き込まれているものと同じ設定項目がある場合、既に書き込まれているものを優先する。図８（ａ）に示すように、ＵＩのデフォルト設定３８の設定項目のうち、「ＰａｐｅｒＳｉｚｅ」については、既にＳ１１０にて、その設定値の取得先としてＦｉｌｅＣ＿２が書き込まれているため、ＦｉｌｅＢの情報は書き込まれない。一方、「ＩｎｐｕｔＳｌｏｔ」については、Ｓ１１０を終了した時点で、ファイルリスト１７に存在していないため、その設定の取得先がＦｉｌｅＢとして書き込まれる。
【００７９】
続くＳ１３０では、小分類ファイル９ａに記述されているファイルＩＤが大分類ファイル（ＦｉｌｅＡ）であるため、設定情報ファイル５のうちの大分類ファイル９ｂを参照し、そのファイルに記述されている設定項目、及びその設定値の取得先として大分類ファイル９ｂのファイル名（ＦｉｌｅＡ）をファイルリスト１７に書き込み、本処理を終了する。なお、この場合も、Ｓ１２０と同様に、既に書き込まれているものと同じ設定項目がある場合、既に書き込まれているものを優先し、書き込まれていない設定項目については、ファイルリスト１７に追加する。例えば、図８（ａ）に示すように、給紙元毎のコマンド３４の設定項目、及びその設定値の取得先のうち、「Ａｕｔｏ」については、ＦｉｌｅＢがＳ１２０の処理において書き込まれるため、ＦｉｌｅＢの設定値を優先する。他の、「Ｔｒａｙ１」、「Ｔｒａｙ２」、「Ｍａｎｕａｌ」については、ＦｉｌｅＡが書き込まれる。
【００８０】
つまり、本処理では、設定情報ファイル５の設定項目、及びその設定値の取得先となるファイル名を漏れなく書き込むと共に、設定情報ファイル５の中に設定項目が重複している場合には、その設定値の取得先を指定するための優先順位を、個別ファイル８ａ，小分類ファイル９ａ，大分類ファイル９ｂの順としてファイルリスト１７を作成する。
【００８１】
そして、このファイルリスト１７を用いることにより、例えば、メインプログラム３ａから要求された対象設定項目が「Ｄｅｆａｕｌｔ：ＰａｐｅｒＳｉｚｅ」の場合、図８（ａ）のファイルリスト１７を参照すると、ＵＩのデフォルト設定３８の設定項目のうち、「ＰａｐｅｒＳｉｚｅ」については、その設定値の取得先としてＦｉｌｅＣ＿２が書き込まれている。したがって、図５（ａ）のＦｉｌｅＣ＿２の内容に基づいて、「ＰａｐｅｒＳｉｚｅ＝Ａ４」がメインプログラム３ａに対して出力される。
【００８２】
＜効果＞
以上説明したように、本実施形態のドライバプログラム３では、メインプログラム３ａによる印刷制御に必要な設定項目とその設定値の取得先（参照先）とからなるファイルリスト１７が、インストール後の最初の起動時に作成される。
【００８３】
したがって、本実施形態のドライバプログラム３では、メインプログラム３ａが印刷制御を実行する際には、ファイルリスト１７により一意に特定される取得先（設定情報ファイル５（第１の個別ファイル８ａ，小分類ファイル９ａ，大分類ファイル９ｂ））から設定プログラム３ｂを介して設定値を取得するだけでよいため、ひいては印刷制御を短縮させることができる。
【００８４】
［他の実施形態］
以上、本発明の実施形態について説明したが、本発明は上記実施形態に限定されるものではなく、本発明の要旨を逸脱しない範囲において、様々な態様にて実施することが可能である。
【００８５】
例えば、上記実施形態のファイルリスト作成処理は、デバイスドライバ６がＰＣ１０にインストールされた後において、ドライバプログラム３の最初の起動時に実行されるが、これに限らず、少なくとも印刷制御の前に実行されればよく、デバイスドライバ６のインストール時や初回使用時などであってもよい。
【００８６】
なお、上記実施形態のファイルリスト１７は、メインプログラム３ａによる印刷制御に必要な設定項目とその設定値の取得先（参照先）とから構成されているが、これに限定されるものではない。例えば、図８（ｂ）に示されるように、設定情報ファイル５に存在する各ファイルに記述されているファイルＩＤに基づき、メインプログラム３ａが参照するファイル名とその参照順位とから構成されるファイルリストを作成してもよい。さらに、図８（ｃ）に示されるように、メインプログラム３ａによる印刷制御に必要な設定項目と設定値とを予め該当するファイルから取得しておき、設定値リストを作成してもよい。
【００８７】
この場合、設定プログラム３ｂが印刷制御毎に設定情報ファイル５を参照する必要がなく、ひいてはドライバプログラム３を実行するＰＣ１０の負荷を軽減することができる。
また、上記実施形態のインストーラ２は、個別ファイル群８０の中から型番（機種）に応じた個別ファイル８をインストールするように構成されているが、これに限定されるものではなく、共通ファイル群９０の中からシリーズに応じた小分類ファイル９ａをインストールするように構成されてもよい。なお、個別ファイル群８０及び共通ファイル群９０に含まれるファイル数は、上記実施形態の数に限定されるものではない。
【００８８】
さらに言えば、上記実施形態のデバイスドライバ６は、プリンタ２０を制御するためにＰＣ１０において動作するが、これに限定されるものではなく、プリンタ２０以外のデバイスを制御するためのものであってもよいし、ＰＣ１０以外のホスト装置において動作するものであってもよい。
【図面の簡単な説明】
【００８９】
【図１】本発明が適用されたデバイスドライバを備える印刷制御システムの概略構成を示すブロック図である。
【図２】本発明が適用されたインストーラ、デバイスドライバ、及びドライバプログラムの構成を説明するための説明図である。
【図３】共通ファイル９のうち大分類ファイル９ｂに記述されている設定情報を表すデータ構造図である。
【図４】共通ファイル９のうち小分類ファイル９ａに記述されている設定情報を表すデータ構造図である。
【図５】個別ファイル８に記述されている設定情報を表すデータ構造図である。
【図６】第１実施形態におけるデバイスドライバ６の動作を説明するための説明図である。
【図７】制御部１５のＣＰＵが設定プログラム３ｂに基づいて実行する設定探索処理の詳細を示すフローチャートである。
【図８】ファイルリスト１７に記述されている設定情報を表すデータ構造図である。
【図９】制御部１５のＣＰＵが設定プログラム３ｂに基づいて実行するファイルリスト作成処理の詳細を示すフローチャートである。
【符号の説明】
【００９０】
１…印刷制御システム、２…インストーラ、３…ドライバプログラム、３ａ…メインプログラム、３ｂ…設定プログラム、４…設定情報ファイル群、５…設定情報ファイル、６…デバイスドライバ、７…インストールプログラム、８…個別ファイル、８ａ…第１の個別ファイル、８ｂ…第２の個別ファイル、９…共通ファイル、９ａ…小分類ファイル、９ｂ…大分類ファイル、１０…ＰＣ、１５…制御部、１６…ファイルＩＤ、１７…ファイルリスト、２０…プリンタ、８０…個別ファイル群、９０…共通ファイル群。
【図２】
2010061469.tif 000003
【図３】
2010061469.tif 000004
【図４】
2010061469.tif 000005
【図５】
2010061469.tif 000006
【図６】
2010061469.tif 000007
【図７】
2010061469.tif 000008
【図８】
2010061469.tif 000009
【図９】
2010061469.tif 000010
【図１】
2010061469.tif 000011