(57)【特許請求の範囲】
【請求項１】
ユーザによってサイズが指定されるユーザ定義サイズの設定を受け付け、ジョブに対応付けるべき印刷設定に設定する設定手段と、
前記印刷設定に含まれる用紙サイズがユーザ定義サイズであるか否かを判定する判定手段と、
前記判定手段により前記用紙サイズが前記ユーザ定義サイズであると判定された場合、前記ユーザ定義サイズの幅と高さに基づいて、複数の異なる定形サイズの候補の中から、代替となる定形サイズを決定する決定手段と、
前記決定手段によって決定した定形サイズと、ジョブに対応付けるべき印刷設定と、互いに競合する印刷設定の組み合わせを示すコンフリクトルールとに基づき、印刷設定間にコンフリクトが発生しているか否かを判断する判断手段と、
前記判断手段によってコンフリクトが発生していると判断された場合に、前記ジョブに対応付けるべき印刷設定のうち少なくとも１つを変更することで前記印刷設定のコンフリクトを解消させる制御手段と、
を有する
ことを特徴とする情報処理装置。
【請求項２】
前記決定手段は、用紙サイズテーブルを参照し、複数の異なる定形サイズの候補の中から代替となる前記定形サイズを決定する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記決定手段は、表示部を介すことなく前記ユーザ定義サイズが取得された場合、予め設定された前記用紙サイズの幅と高さの最大サイズと最小サイズに基づいて前記定形サイズを決定する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記判定手段は、前記印刷設定に含まれる用紙タイプが予め登録されている用紙タイプか否かを更に判定し、
前記決定手段は、前記予め登録されている用紙タイプでない場合、ユーザ定義の用紙タイプから、複数の異なる定形の用紙タイプの候補の中から、代替となる定形の用紙タイプを更に決定し、
前記判断手段は、前記決定手段によって決定した前記定形サイズ及び前記定形の用紙タイプと、前記印刷設定と、前記コンフリクトルールとに基づき、印刷設定間にコンフリクトが発生しているか否かを判断する
ことを特徴とする請求項１乃至３のいずれか１項に記載の情報処理装置。
【請求項５】
前記決定手段は、前記ユーザ定義の用紙タイプの重量、表面性、形状、および色に基づいて前記代替となる定形の用紙タイプを決定する
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記判断手段は、前記印刷設定の用紙サイズに設定された前記ユーザ定義サイズを保存し、前記印刷設定の用紙サイズを前記ユーザ定義サイズから、前記決定手段により決定された前記定形サイズに変更し、前記変更された印刷設定間にコンフリクトが発生しているか否かを判断し、
前記制御手段は、前記判断手段によってコンフリクトが発生していると判断されたことに従って、前記ジョブに対応付けるべき印刷設定のうち少なくとも１つを変更することで前記印刷設定のコンフリクトを解消させた後に、前記ジョブに対応付けるべき印刷設定の用紙サイズを前記保存されたユーザ定義サイズに戻す
ことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記判断手段は、コンフリクトが発生していないと判断した場合、前記ジョブに対応付けるべき印刷設定の用紙サイズを、前記保存されたユーザ定義サイズに戻す
ことを特徴とする請求項６に記載の情報処理装置。
【請求項８】
情報処理装置の制御方法であって、
ユーザによってサイズが指定されるユーザ定義サイズの設定を受け付け、ジョブに対応付けるべき印刷設定に設定する設定工程と、
印刷設定に含まれる用紙サイズがユーザ定義サイズであるか否かを判定する判定工程と、
前記判定工程で前記用紙サイズが前記ユーザ定義サイズであると判定された場合、前記ユーザ定義サイズの幅と高さに基づいて、複数の異なる定形サイズの候補の中から、代替となる定形サイズを決定する決定工程と、
前記決定工程で決定した定形サイズと、ジョブに対応付けるべき印刷設定と、互いに競合する印刷設定の組み合わせを示すコンフリクトルールとに基づき、印刷設定間にコンフリクトが発生しているかどうかを判断する判断工程と、
前記判断工程でコンフリクトが発生していると判断された場合に、前記ジョブに対応付けるべき印刷設定のうち少なくとも１つを変更することで前記印刷設定のコンフリクトを解消させる制御工程と、
を有する
ことを特徴とする制御方法。
【請求項９】
前記決定工程では、用紙サイズテーブルを参照し、複数の異なる定形サイズの候補の中から代替となる前記定形サイズを決定する
ことを特徴とする請求項８に記載の制御方法。
【請求項１０】
前記決定工程では、表示部を介すことなく前記ユーザ定義サイズが取得された場合、予め設定された前記用紙サイズの幅と高さの最大サイズと最小サイズに基づいて前記定形サイズを決定する
ことを特徴とする請求項８または９に記載の制御方法。
【請求項１１】
前記判定工程では、前記印刷設定に含まれる用紙タイプが予め登録されている用紙タイプか否かを更に判定し、
前記決定工程では、前記予め登録されている用紙タイプでない場合、ユーザ定義の用紙タイプから、複数の異なる定形の用紙タイプの候補の中から、代替となる定形の用紙タイプを更に決定し、
前記判断工程では、前記決定工程で決定した前記定形サイズ及び前記定形の用紙タイプと、前記印刷設定と、前記コンフリクトルールとに基づき、印刷設定間にコンフリクトが発生しているか否かを判断する
ことを特徴とする請求項８乃至１０のいずれか１項に記載の制御方法。
【請求項１２】
前記決定工程では、前記ユーザ定義の用紙タイプの重量、表面性、形状、および色に基づいて前記代替となる定形の一意の用紙タイプを決定する
ことを特徴とする請求項１１に記載の制御方法。
【請求項１３】
前記判断工程では、前記印刷設定の用紙サイズに設定された前記ユーザ定義サイズを保存し、前記印刷設定の用紙サイズを前記ユーザ定義サイズから、前記決定工程で決定された前記定形サイズに変更し、前記変更された印刷設定間にコンフリクトが発生しているか否かを判断し、
前記制御工程では、前記判断工程でコンフリクトが発生していると判断されたことに従って、前記ジョブに対応付けるべき印刷設定のうち少なくとも１つを変更することで前記印刷設定のコンフリクトを解消させた後に、前記ジョブに対応付けるべき印刷設定の用紙サイズを前記保存されたユーザ定義サイズに戻す
ことを特徴とする請求項８乃至１２のいずれか１項に記載の制御方法。
【請求項１４】
前記判断工程では、コンフリクトが発生していないと判断した場合、前記ジョブに対応付けるべき印刷設定の用紙サイズを、前記保存されたユーザ定義サイズに戻す
ことを特徴とする請求項１３に記載の制御方法。
【請求項１５】
請求項１〜７のいずれか１項に記載の情報処理装置の各手段としてコンピュータにより実行させることを特徴とするプログラム。
【請求項１６】
印刷に用いる用紙の情報として設定された情報に基づいて当該用紙のタイプが予め登録されている用紙のタイプであるかを判定する第１判定手段と、
前記第１判定手段により前記用紙のタイプが、複数の予め登録されている用紙のタイプの何れでもないと判定された場合、前記用紙の情報に基づいて、前記複数の予め登録されている用紙のタイプの中から１つの用紙のタイプを決定する決定手段と、
前記決定手段によって決定した１つの用紙のタイプと、印刷設定との間にコンフリクトが発生しているか判定する第２判定手段と、
前記第２判定手段によってコンフリクトが発生していると判定された場合に、前記印刷設定のうちの少なくとも１つの設定を変更することで前記コンフリクトを解消させる制御手段と、
を有し、
前記印刷に用いる用紙の情報として設定された情報と、前記少なくとも１つの設定が変更された後の印刷設定とに基づいた印刷が行われる
ことを特徴とする情報処理装置。
【請求項１７】
プリンタと通信するように構成された情報処理装置であって、
印刷設定及び用紙設定を取得する取得手段と、
前記用紙設定がユーザ定義シートを指定する設定か、定形シートのうちのひとつを指定する設定かを判断する判断手段と、
前記用紙設定が前記ユーザ定義シートを指定する設定であると判断された場合、前記用紙設定に基づいて、前記定形シートのうちのひとつを指定する用紙情報を選択する選択手段と、
前記印刷設定と前記選択された用紙情報との間にコンフリクトが発生しているかを判断する判断手段と、
前記コンフリクトが発生している場合、前記印刷設定を変更する変更手段と、
を有し、
前記用紙設定及び前記変更された印刷設定は印刷に用いられる
ことを特徴とする情報処理装置。
【請求項１８】
前記用紙設定は、用紙のサイズの設定を含む
ことを特徴とする請求項１７に記載の情報処理装置。
【請求項１９】
前記用紙設定は、用紙の重量の設定、表面性の設定、形状の設定、又は色の設定を含む
ことを特徴とする請求項１７に記載の情報処理装置。
【請求項２０】
前記選択された用紙情報は、印刷に用いられない
ことを特徴とする請求項１７に記載の情報処理装置。
【請求項２１】
情報処理装置の制御方法であって、
印刷に用いる用紙の情報として設定された情報に基づいて当該用紙のタイプが予め登録されている用紙のタイプであるかを判定する第１判定工程と、
前記第１判定工程により前記用紙のタイプが、複数の予め登録されている用紙のタイプの何れでもないと判定された場合、前記用紙の情報に基づいて、前記複数の予め登録されている用紙のタイプの中から１つの用紙のタイプを決定する決定工程と、
前記決定工程によって決定した１つの用紙のタイプと、印刷設定との間にコンフリクトが発生しているか判定する第２判定工程と、
前記第２判定工程によってコンフリクトが発生していると判定された場合に、前記印刷設定のうちの少なくとも１つの設定を変更することで前記コンフリクトを解消させる制御工程と、
を有し、
前記印刷に用いる用紙の情報として設定された情報と、前記少なくとも１つの設定が変更された後の印刷設定とに基づいた印刷が行われる
ことを特徴とする制御方法。
【請求項２２】
プリンタと通信するように構成された情報処理装置の制御方法であって、
印刷設定及び用紙設定を取得する取得工程と、
前記用紙設定がユーザ定義シートを指定する設定か、定形シートのうちのひとつを指定する設定かを判断する判断工程と、
前記用紙設定が前記ユーザ定義シートを指定する設定であると判断された場合、前記用紙設定に基づいて、前記定形シートのうちのひとつを指定する用紙情報を選択する選択工程と、
前記印刷設定と前記選択された用紙情報との間にコンフリクトが発生しているかを判断する判断工程と、
前記コンフリクトが発生している場合、前記印刷設定を変更する変更工程と、
を有し、
前記用紙設定及び前記変更された印刷設定は印刷に用いられる
ことを特徴とする制御方法。
【請求項２３】
請求項１６〜２０のいずれか１項に記載の情報処理装置の各手段としてコンピュータにより実行させることを特徴とする請求項１５に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷システム、印刷システムの制御方法、及びプログラムに関し、特に、プリンタドライバにおいて、ユーザが設定する任意の印刷設定を制御する印刷システムに関する。
【背景技術】
【０００２】
Ｍｉｃｒｏｓｏｆｔ（登録商標）のＷｉｎｄｏｗｓ（登録商標）８.１等では、Ｖ４プリンタドライバと呼ばれる新しいアーキテクチャで動作するプリンタドライバが導入された。Ｖ４プリンタドライバは、Ｖ３プリンタドライバのアーキテクチャとして提供されていたＸＰＳ（ＸＭＬ  Ｐａｐｅｒ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ）プリンタドライバの後継となるアーキテクチャである。またＸＰＳ文書を利用した印刷パスを利用している。
【０００３】
このＸＰＳ印刷パスにおいて、印刷物の体裁を決定するために利用されるものがＰｒｉｎｔ  Ｃａｐａｂｉｌｉｔｉｅｓと呼ばれるＸＭＬ形式で記述された印刷機能情報と、Ｐｒｉｎｔ  Ｔｉｃｋｅｔと呼ばれるＸＭＬ形式で記述された印刷設定情報である。Ｖ４プリンタドライバは、ＧＰＤ（Ｇｅｎｅｒｉｃ  Ｐｒｉｎｔｅｒ  Ｄｅｓｃｒｉｐｔｉｏｎ）と呼ばれる印刷設定定義ファイルを同梱している。このＧＰＤを含んだプリンタドライバをＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）にインストールすることで、ユーザに対してＰｒｉｎｔ  ＣａｐａｂｉｌｉｔｉｅｓやＰｒｉｎｔ  Ｔｉｃｋｅｔを利用した印刷設定変更機能を提供することができる。
【０００４】
この印刷設定変更機能には、デバイスが同時に実行できない印刷設定を制御する「禁則」と呼ばれる機能が備わっている。例えば、「はがき」の用紙サイズに対して「両面印刷」ができないデバイスに対応したプリンタドライバの場合、プリンタドライバは、ユーザに対してこれらの設定を同時に設定させない制御を行う必要がある。ＯＳが提供する標準の印刷設定ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）は、この「禁則」の定義をＧＰＤファイルに記述することで、禁則処理を実行することができる。
【０００５】
近年、デバイス側の機能が複雑化することにより、プリンタドライバの禁則処理も複雑化してきている。以前からユーザが用紙サイズの幅と高さを任意で設定する「ユーザ定義サイズ」で印刷することは可能だった（例えば、特許文献１参照）。
【０００６】
Ｖ４プリンタドライバは、ＯＳが提供する標準の印刷設定ＵＩに加え、従来の各ベンダーが用意する独自のデスクトップ用の印刷設定ＵＩも表示することが可能である。さらに、Ｗｉｎｄｏｗｓ（登録商標）８以降のＯＳに搭載されている「スタート画面」と呼ばれるタッチで操作し易いタッチパネル環境専用の印刷設定ＵＩもベンダー独自のＵＩを表示することも可能となった。上述したデスクトップ用の印刷設定ＵＩも、タッチパネル環境専用の印刷設定ＵＩも同じ印刷設定なので、それぞれの禁則処理においてはできるだけ共通化することが望ましい。元々、Ｖ４プリンタドライバはＧＰＤファイルにて、禁則情報を定義しているので、どちらのＵＩもこの禁則情報して禁則処理を行うことで、それぞれのＵＩで禁則処理の統一化が図れる。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００４−３２６０４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、特許文献１において、その「ユーザ定義サイズ」において、特定の幅と高さでは「両面印刷」が可能だが、それ以外のサイズでは不可能となる場合がある。その印刷をユーザが確実に行えるようにするには、プリンタドライバの印刷設定ＵＩで、ユーザが設定した用紙サイズの幅と高さに応じて「両面印刷」の禁則処理を行う必要がある。
【０００９】
また、ＯＳが提供するＧＰＤファイルに記述する禁則の標準フォーマットでは、昨今の禁則処理の複雑化に追従できていない。上述したように、同じ「ユーザ定義サイズ」でも用紙サイズの幅と高さによって、ある機能が使用できないという禁則情報は定義できない。その結果、例えば、ユーザが設定したユーザ定義サイズの幅と高さによっては印刷設定ＵＩで両面印刷が設定できても、印刷した結果、両面印刷できなかったという状況が発生する。
【００１０】
本発明は、上記課題を鑑みて、ユーザ任意に設定した用紙サイズ等の印刷設定に対し、禁則処理を行うことで、適切な印刷が可能な印刷システムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、本発明の情報処理装置は、ユーザによってサイズが指定されるユーザ定義サイズの設定を受け付け、ジョブに対応付けるべき印刷設定に設定する設定手段と、前記印刷設定に含まれる用紙サイズがユーザ定義サイズであるか否かを判定する判定手段と、前記判定手段により前記用紙サイズが前記ユーザ定義サイズであると判定された場合、前記ユーザ定義サイズの幅と高さに基づいて、複数の異なる定形サイズの候補の中から、代替となる定形サイズを決定する決定手段と、前記決定手段によって決定した定形サイズと、ジョブに対応付けるべき印刷設定と、互いに競合する印刷設定の組み合わせを示すコンフリクトルールとに基づき、印刷設定間にコンフリクトが発生しているかどうかを判断する判断手段と、前記判断手段によってコンフリクトが発生していると判断された場合に、前記ジョブに対応付けるべき印刷設定のうち少なくとも１つを変更することで前記印刷設定のコンフリクトを解消させる制御手段と、を有することを特徴とする。
【発明の効果】
【００１２】
本発明によれば、ユーザ任意に設定した用紙サイズ等の印刷設定に対し、禁則処理を行うことで、適切な印刷が可能な印刷システムを提供することができる。これにより、Ｖ４プリンタドライバにおいて、ユーザ定義サイズの幅、高さのサイズごとに適切な禁則処理が行われ、ユーザがユーザ定義サイズの任意の幅、高さに応じて、各機能のできる/できないが把握できるようになる。
【図面の簡単な説明】
【００１３】
【図１】一般的なコンピュータを用いた印刷システムのブロック図である。
【図２】ドライバー印刷システムのブロック図である。
【図３】プリンタエクステンションが制御する設定画面の一例を示す図である。
【図４】禁則処理を示すフローチャートである。
【図５】ユーザ定義サイズのカテゴリ分けのマトリックス図である。
【図６】ユーザ定義サイズのカテゴリ分けの一例を示す表である。
【図７】ユーザ定義サイズのカテゴリを取得する処理のフローチャートである。
【図８】ＧＰＤファイルの記載例を示す図である。
【図９】ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇの記載例を示す図である。
【図１０】第２実施形態に係るＧＰＤファイルの記載例を示す図である。
【図１１】ユーザ定義サイズのカテゴリ分けの一例を示す図である。
【図１２】第３実施形態に係る禁則処理を示すフローチャートである。
【図１３】ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇの記載例を示す。
【図１４】第４実施形態に係るＧＰＤファイルの記載例を示す図である。
【図１５】第５実施形態に係る禁則処理を示すフローチャートである。
【図１６】第５実施形態に係るＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇの記載例を示す。
【図１７】ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇの記載例を示す。
【発明を実施するための形態】
【００１４】
以下、本発明を実施するための最良の形態について図面などを参照して説明する。
【００１５】
（第１実施形態）
図１は、本実施形態に係る一般的なコンピュータを用いた印刷システムシステムのブロック構成図を示す。ＣＰＵ１０１は、主記憶装置１０２のＲＯＭ１０２１またはＲＡＭ１０２２あるいは補助記憶装置１０５に格納されたプログラムに従って装置全体の制御を行う。ＲＡＭ１０２２は、ＣＰＵ１０１が各種処理を行う際のワークエリアとしても使用される。本実施形態における各コンポーネントの処理は、全てＲＡＭ１０２２に読み込んで動作する。
【００１６】
補助記憶装置１０５は、アプリケーション１０５１やプリンタドライバ１０５２、オペレーティングシステム（ＯＳ）１０５３等を記録する。プリンタドライバ１０５２は、印刷機能を持つデバイスに対して、印刷指示を行う。キーボード１０３１やマウス・タッチパネルなどに代表されるポインティングデバイス１０３２などの入力機器は、入力Ｉ／Ｆ１０３を通じて、ユーザがコンピュータに対して各種指示を与えるためのデバイスである。出力Ｉ／Ｆ１０４は、データを外部に出力するためのインターフェースであり、モニタ１０４１やプリンタ１０４２などの出力機器に対してデータを出力する。プリンタ１０４２とは直接接続されるローカルＩ／Ｏのみならず、通信Ｉ／Ｆ１０６を通じて接続されるネットワーク１０６１を通して接続されていてもよい。また、共通データシステムバス１０７は、各Ｉ／Ｆやモジュール間でデータのやりとりを行う。
【００１７】
図２は、本実施形態に係るドライバー印刷システムのブロック構成を示す図である。本実施形態に係るドライバー印刷システムは、ＸＰＳファイルフォーマットをスプールデータとして使用し、印刷を行うシステムである。ドライバー印刷システムは、オペレーティングシステム１０５３上で動作している。オペレーティングシステム１０５３は、プリントマネージャ（スプーラ）２１８、ＧＤＩｔｏＸＰＳ変換モジュール２０７、フィルタパイプラインマネージャ２１２、ポートモニタ２１９を含む。ここで、ＧＤＩとは、プリンタの印刷イメージの生成を行うグラフィックスコンポーネントであり、ＧＤＩｔｏＸＰＳ変換モジュール２０７は、ＧＤＩで描画されたデータをＸＰＳデータへ変換する機能を有する。フィルタパイプラインマネージャ２１２は、ＸＰＳ印刷パスの特徴であるフィルタ印刷処理の管理を行うモジュールである。
【００１８】
ポートモニタ２１９は、デバイスにアクセスするプリントマネージャ２１８とプリンタドライバ間で通信を制御することができ、プリンタドライバは、ポートモニタ２１９を経由して印刷処理を行う。プリンタドライバ１０５２は、ＧＤＩｔｏＸＰＳ変換モジュール２０７、コンフィギュレーションモジュール２０８、フィルタパイプラインマネージャ２１２は、を含む。本実施形態では、プリンタドライバ１０５２は、オペレーティングシステム１０５３から提供されているモジュールという位置づけである。コンフィギュレーションモジュール２０８は、プリンタドライバが提供する印刷設定編集モジュール２０８１を使用して印刷設定情報を編集することができる。印刷設定編集モジュール２０８１は、Ｃｏｎｓｔｒａｉｎｔ  Ｓｃｒｉｐｔと呼ばれるスクリプト言語で記載される。また、プリンタドライバが提供するＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２やＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３を利用して印刷設定情報を編集する。ここで、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２とは、プリンタの機種依存情報として利用するためのデータ群であり、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３とは、プリントキューに紐づいたデータ群が保持された領域を指す。
【００１９】
ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２は、ドライバーパッケージ内に存在するプリンタの機種依存データであり、プリンタドライバインストール後にＯＳ１０５３内の特定の領域に読み取り専用としてデータ群が保持される。ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３は、Ｋｅｙ−Ｖａｌｕｅペアのｘｍｌ定義ファイルをＯＳ１０５３に登録することで利用することが可能であり、Ｖａｌｕｅに関して一定の権限上で編集が可能である。また、印刷設定定義ファイルであるＧＰＤにもＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３の定義を記載することができる。プリンタドライバ１０５２とフィルタパイプラインマネージャ２１２の各フィルタは、図１に示す補助記憶装置１０５にプリンタドライバ１０５２として格納されている。ＧＤＩ印刷アプリケーション２０１とＸＰＳ印刷アプリケーション２０２は、図１に示す補助記憶装置１０５にアプリケーション１０５１として格納されている。ユーザは、キーボード１０３１やタッチパネル／マウスなどに代表されるポインティングデバイス１０３２などといった入力装置を使用して、出力装置のモニタ１０４１に映し出されたアプリケーション１０５１から印刷する。このアプリケーションとは、ＧＤＩ印刷アプリケーション２０１（以下、ＧＤＩアプリと略す）、またはＸＰＳ印刷アプリケーション２０２（以下、ＸＰＳアプリと略す）を指す。プリンタの選択、印刷設定の作成、描画データの変換と３つの処理を順番に行うことで印刷処理が実行される。
【００２０】
まず、印刷したいプリンタ１０４２の選択をする。ユーザから見るとプリンタ１０４２の選択は、印刷を実行するプリンタ１０４２に対応したプリンタドライバ１０５２を選択することと同義である。プリンタドライバ１０５２の選択には、不図示のプリントキューを利用する。次に、印刷設定を作成する。印刷設定は、まず、アプリケーション１０５１が印刷設定用のメモリ領域をＲＡＭ１０２２に確保する。そして、アプリケーション１０５１は、プリンタドライバ１０５２のコンフィギュレーションモジュール２０８を呼び出して、印刷設定データを作成して格納する。なお、アプリケーション１０５１は、印刷設定データとしてユーザ定義サイズを指定することも可能である。ＧＤＩアプリ２０１では、印刷設定データとしてバイナリのＤＥＶＭＯＤＥ構造体２０３を用い、ＸＰＳアプリ２０２では、マークアップ言語のＸＭＬで記載されたＰｒｉｎｔ  Ｔｉｃｋｅｔ２０４を用いる。ＤＥＶＭＯＤＥ構造体２０３は、オペレーティングシステム１０５３が定義する標準領域とプリンタドライバ１０５２が独自で定義する拡張領域を有する。Ｐｒｉｎｔ  Ｔｉｃｋｅｔ２０４は、ＸＭＬ形式で記述された印刷設定情報で、標準領域と拡張領域は、名前空間によって記載が分かれている。
【００２１】
また、印刷設定データには、機種固有の情報も含まれているので、コンフィギュレーションモジュール２０８は、機種依存ファイル２０９を利用して、印刷設定データを作成する。このＤＥＶＭＯＤＥ構造体２０３またはＰｒｉｎｔ  Ｔｉｃｋｅｔ２０４が印刷設定を保持しており、アプリケーション１０５１が直接、値を書き換えることで印刷設定を変更する。機種依存ファイル２０９は、ＧＰＤと呼ばれる印刷設定定義ファイルを指し、後述の図８に示すようにテキストベースで記載されている。さらに、機種依存ファイル２０９には、「禁則」の定義を記載することができる。ユーザが印刷設定を変更することによって、ＧＰＤに記載された無効な組み合わせになった場合、プリンタドライバ１０５２は、定義された禁則に従い、優先順位が最も低い機能を使用しないように強制的に設定を変更する。このように印刷設定の無効な組み合わせが指定された際に行われる無効な組み合わせを解消するような設定の変更処理を禁則処理と呼ぶ。例えば、Ｍｉｃｒｏｓｏｆｔ（商標登録）が定義した記述法に基づき、ＩｎｖａｌｉｄＣｏｍｂｉｎａｔｉｏｎの項目に、同時に設定できない印刷設定の情報を記載することで、ユーザに対して禁則機能を提供する。ここで、ユーザに同時に設定できない印刷設定とは、デバイス１０３２の機能として提供できないものの他に、意図的にユーザに使用してほしくない項目も含まれる。プリンタドライバ１０５２は、上記手段を利用して「禁則」を実現する手段と、印刷設定編集モジュール２０８１を利用して「禁則」を実現する手段の２通り存在する。本実施形態では、ＧＰＤのＩｎｖａｌｉｄＣｏｍｂｉｎａｔｉｏｎを利用して実現する禁則について記述することとする。プリンタエクステンション２１０は、後述の図３に示す印刷設定画面を介して、印刷設定の変更をする機能を有する。また、プリンタドライバ１０５２と紐づく印刷設定用のアプリケーションとしてＣＰＵ１０１により実行される。
【００２２】
図３は、本実施形態に係るプリンタエクステンション２１０が制御する設定画面（表示部）の一例を示す図である。本実施形態では、まず、ユーザがユーザ定義サイズを設定する方法として、原稿サイズに「原稿／出力用紙サイズ指定」を選択する。その次に表示された「原稿／出力用紙サイズ指定」の詳細ダイアログボックス３０１において、サイズの幅と高さ３０２に所望するサイズを入力することで、ユーザ定義サイズを設定することが可能となる。プリンタエクステンション２１０は、ユーザからユーザ定義サイズが設定されると、その用紙サイズの幅と高さを取得して使用できない機能を判定し禁則する。例えば、設定されたユーザ定義サイズの幅と高さに応じて、使用できない両面印刷機能を禁則し、印刷設定画面の「両面印刷」３０３をチェックオフでグレイアウトし、設定ができないようにしてもよい。
【００２３】
図４は、本実施形態に係る禁則処理を示すフローチャートである。特に明示しない限り、本実施形態は、プリンタエクステンション２１０が行う処理である。プリンタエクステンション２１０は、ＲＡＭ１０２２にロードされ、ＣＰＵ１０１によって実行される。
【００２４】
まず、印刷設定を取得する（ステップＳ３０１）。禁則処理に係る印刷設定を取得する方法としては、主にコンフィギュレーションモジュール２０８から呼び出される際にパラメータとして渡されてよい。次に、取得した印刷設定から用紙サイズの情報を取得する（ステップＳ３０２）。取得した用紙サイズの情報から、その用紙サイズがドライバーの定義している固定サイズの定形サイズか、ユーザが用紙サイズの幅、高さを設定するユーザ定義サイズかを判定する（ステップＳ３０３）。判定する方法として、例えば、用紙サイズの設定値が「ユーザ定義サイズ」専用の値か否かで判定する。また、ドライバーの定義している固定の定形サイズ以外の値か否かで判定してもよい。なお、ユーザ定義サイズは前述のとおり、アプリケーション１０５１が指定するか、又はプリンタエクステンション２１０が制御する設定画面により指定され、ステップＳ３０１の印刷設定の一部としてプリンタエクステンション２１０に渡される。判定した結果、用紙サイズが「ユーザ定義サイズ」である場合（Ｙｅｓ）、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２からユーザ定義サイズテーブルを取得する（ステップＳ３０４）。ここで、ユーザ定義サイズテーブルとは、そのデバイス１０３２がサポートする用紙サイズ内の幅、高さのサイズに応じてカテゴリ分けを行っている変換テーブルである。詳細については後述する。ユーザ定義サイズテーブルを取得し、印刷設定から取得したユーザ定義サイズの幅と高さから、該当するユーザ定義サイズのカテゴリを決定する（ステップＳ３０５）。次に、決定したユーザ定義サイズのカテゴリを印刷設定に設定し直し（ステップＳ３０６）、その印刷設定を用いてＧＰＤの禁則処理を行う（ステップＳ３０７）。
【００２５】
次に、ユーザ定義サイズテーブル（用紙サイズテーブル）について説明する。図５は、本実施形態に係るユーザ定義サイズのカテゴリ分けのマトリックスの一例を示す図である。本実施形態では、用紙サイズの幅方向、送り方向でサイズに応じて不定形０−１から不定形８までのカテゴリ分けをして、そのカテゴリ別に印刷の機能のサポート状況を示している。例えば、用紙サイズの幅が１００．０〜３３０．２（単位：ｍｍ）の間で、かつ高さが４８７．８〜７６２．０（単位：ｍｍ）の間であれば不定形サイズのカテゴリが「不定形８」となり、「不定形８」では、両面印刷を非サポートとしている。そのマトリックス図を一覧の表にしたのが図６に示すユーザ定義サイズテーブルである。図６に示す表から、例えば、「不定形３−３」は、パンチは非サポートだが、ステイプルはサポートということがわかる。
【００２６】
図７は、本実施形態に係るユーザ定義サイズのカテゴリを決定する処理のフローチャートである。この処理は、図６に示した、ユーザ定義サイズテーブルを取得し、印刷設定から取得したユーザ定義サイズの幅と高さから、該当するユーザ定義サイズのカテゴリを決定する処理（ステップＳ３０５）を詳細に説明するものである。
【００２７】
まず、図４のステップＳ３０２で取得した用紙サイズの情報からユーザ定義サイズの幅と高さの情報を取得する（ステップＳ５０１）。なお、該ユーザ定義サイズを便宜上「不定形Ａ」とする。また、図４のステップＳ３０４で取得したユーザ定義サイズテーブルから、最初のユーザ定義サイズのカテゴリ情報を取得する（ステップＳ５０２）。なお、現在取得したカテゴリのユーザ定義サイズを便宜上「不定形Ｂ」とする。これより、不定形Ａの用紙サイズがどのカテゴリに入るのかを調べる処理である。
【００２８】
次に、不定形Ａの幅が不定形Ｂの幅の最小サイズ以上であるか否かを判定する（ステップＳ５０３）。不定形Ａの幅が不定形Ｂの幅の最小サイズ以上である場合（Ｙｅｓ）、ステップＳ５０４に進み、不定形Ａの幅が不定形Ｂの幅の最小サイズ未満である場合（Ｎｏ）、ステップＳ５０８に進む。
【００２９】
次に、不定形Ａの幅が不定形Ｂの幅の最大きいサイズより小さいか否かを判定する（ステップＳ５０４）。不定形Ａの幅が不定形Ｂの幅の最大きいサイズより小さい場合（Ｙｅｓ）、ステップＳ５０５に進み、不定形Ａの幅が不定形Ｂの幅の最大きいサイズ以上である場合（Ｎｏ）、ステップＳ５０８に進む。
【００３０】
次に、不定形Ａの高さが不定形Ｂの高さの最小サイズ以上であるか否かを判定する（ステップＳ５０５）。不定形Ａの高さが不定形Ｂの高さの最小サイズ以上である場合（Ｙｅｓ）、ステップＳ５０６に進み、不定形Ａの高さが不定形Ｂの高さの最小サイズ未満である場合（Ｎｏ）、ステップＳ５０８に進む。
【００３１】
そして、不定形Ａの高さが不定形Ｂの高さの最大きいサイズより小さいか否かを判定する（ステップＳ５０６）。不定形Ａの高さが不定形Ｂの高さの最大きいサイズより小さい場合（Ｙｅｓ）、ステップＳ５０７に進み、ユーザ定義サイズのカテゴリを採用する（ステップＳ５０７）。一方、不定形Ａの高さが不定形Ｂの高さの最大きいサイズ以上である場合（Ｎｏ）、ステップＳ５０８に進む。
【００３２】
そして、ユーザ定義サイズテーブルの次のカテゴリのユーザ定義サイズの情報を参照する（ステップＳ５０８）。次に、全てのカテゴリを参照したか否かを判定する（ステップＳ５０９）。すなわち、ユーザ定義サイズテーブルの次のカテゴリがあるか否かを判定する。ユーザ定義サイズテーブルの次のカテゴリが無く、全てのカテゴリを参照した場合（Ｙｅｓ）、ユーザ定義サイズのデフォルトのカテゴリを採用する（ステップＳ５１０）。一方、ユーザ定義サイズテーブルの次のカテゴリがある場合（Ｎｏ）、ステップＳ５０３に戻って再度処理を実行する。
【００３３】
図８は、本実施形態に係るＧＰＤファイルの記載例を示す図である。まず、「Ｆｅａｔｕｒｅ」に「ＣｏｓｔｏｍＰａｐｅｒＳｉｚｅ」５０１を定義する。そして、図６に記載したカテゴリの分だけＯｐｔｉｏｎを定義する。本実施形態では、例えば、図６のカテゴリに示した「不定形８」は、ＧＰＤファイルでは、「Ｏｐｔｉｏｎ：８」５０２となる。また、禁則処理を定義する情報は、「ＩｎｖａｌｉｄＣｏｍｂｉｎａｔｉｏｎ」５０３に示すように「不定形８」と「両面印刷（長辺とじ、短辺とじ）」が同時に設定できないことを意味している。
【００３４】
図９は、本実施形態に係るＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２の記載例を示す図である。ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２には、用紙サイズの幅と高さのそれぞれ最大値と最小値およびデフォルト値を記述する。たとえば、ユーザ定義サイズの用紙サイズが以下の条件を満たす場合、不定形サイズのカテゴリが「“ｎａｍｅ”：“ｎｓ００００：８”」６０１となる。すなわち、「ｎａｍｅ」が「ｎｓ００００：８」である不定形８となる。
・幅の最小値（ＭｉｎＢａｓｉｓＷｉｄｔｈ６０２）が１００．０から最大値（ＭａｘＢａｓｉｓＷｉｄｔｈ６０３）３３０．２（単位：ｍｍ）の間にある。
・高さの最小値（ＭｉｎＢａｓｉｓＬｅｎｇｔｈ６０４）は、４８７．８から最大値（ＭａｘＢａｓｉｓＬｅｎｇｔｈ６０５）７６２．０（単位：ｍｍ）の間にある。
【００３５】
このように、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２で任意の設定から一意に決定したカテゴリをＯｐｔｉｏｎに変換し、ＧＰＤファイルの禁則処理を参照することによって、任意の数値でもＯＳの標準フォーマットを使用した禁則が行われるようになる。その結果、ユーザは、ユーザ定義サイズの各サイズに応じたサポート機能をプリンタドライバで事前に知ることができる。
【００３６】
（第２実施形態）
第１実施形態では、「ユーザ定義サイズ」のサイズに応じてカテゴリ分けをし、それぞれのカテゴリのＯｐｔｉｏｎに応じた禁則処理を行うことができた。しかしながら、全てのカテゴリの禁則処理を記述すると膨大の量になってしまう。これは、ＯＳ１０５３が保障する禁則処理の最大行数が約１００００行であるため、すぐに上限に達してしまい、その結果、全てを記述することができないからである。
【００３７】
そこで、本実施形態では、禁則情報を減らすことなく、ＯＳ１０５３が正しく動作し、禁則処理の全てを記述することができるようにする。図１０は、本実施形態に係るＧＰＤファイルの一例を示す図である。図１０に示すように、「Ｃｏｓｔｏｍ  Ｐａｐｅｒ  Ｓｉｚｅ」の「Ｆｅａｔｕｒｅ」を「♯Ｉｆｄｅｆ：」７０１と「＃Ｅｎｄｉｆ：」７０２で挟む。
【００３８】
このような記述とすることで、プリンタエクステンション２１０のみ参照できるようになり、ＯＳ１０５３からは参照できなくなる。その結果、ＯＳ１０５３による禁則処理が膨大になることを抑止することができる。
【００３９】
（第３実施形態）
第１実施形態では、「ユーザ定義サイズ」のサイズに応じてカテゴリ分けをし、それぞれのカテゴリのＯｐｔｉｏｎに応じた禁則処理を行うことができた。しかしながら、全てのカテゴリの禁則処理を記述すると膨大の量になってしまう。これは、ＯＳ１０５３が保障する禁則処理の最大行数が約１００００行であるため、すぐに上限に達してしまい、その結果、全てを記述することができないからである。
【００４０】
そこで、本実施形態では、カテゴリのＯｐｔｉｏｎを減らすことにより、禁則処理の行数を減らすことで禁則処理の全てを記述することができるようにする。具体的には、図１１に示すように、各カテゴリのサポート機能について類似する定形用紙サイズがある場合、その定形用紙サイズで禁則する。図１１では、カテゴリが「不定形  ０−２」の場合、「両面印刷」が可能で、「パンチ」/「ステイプル」が不可能なので、置き換えるＯｐｔｉｏｎは、定形用紙サイズである「ＪＡＰＡＮＥＳＥ＿ＰＯＳＴＣＡＲＤ」となる。同様に、「不定形  ３−１」は、「Ｂ５」に、「不定形  ７−１」は、「１３ｘ１９」に、それぞれ定形用紙サイズに置き換えられる。
【００４１】
図１２は、本実施形態に係る禁則処理を示すフローチャートである。特に明示しない限り、本処理は、プリンタエクステンション２１０が行う処理である。プリンタエクステンション２１０は、ＲＡＭ１０２２にロードされ、ＣＰＵ１０１によって実行される。なお、ステップＳ９０１〜ステップＳ９０３は、図３に示すステップＳ３０１〜ステップＳ３０３と同様の処理であるため、その詳細な説明を省略する。
【００４２】
ステップＳ９０３の結果、用紙サイズが「ユーザ定義サイズ」である場合（Ｙｅｓ）、ＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２から定形サイズ変換テーブルを取得する（ステップＳ９０４）。ここで、定形サイズ変換テーブルとは、図１１で示すような、ユーザ定義サイズの幅と高さをデバイス１０３２がサポートする定形サイズ（Ａ４、Ｌｅｔｔｅｒ、Ｂ５、ＪＡＰＡＮＥＳＥ＿ＰＯＳＴＣＡＲＤなど）に変換するためのテーブルである。
【００４３】
次に、プリンタエクステンション２１０は、ステップＳ９０１で取得した印刷設定で設定されているユーザ定義サイズの幅と高さから、定形サイズ変換テーブル上で該当する定形サイズ（Ｏｐｔｉｏｎ）を決定する（ステップＳ９０５）。これによって、ユーザ定義サイズの幅と高さに基づいて、禁則処理に用いる用紙サイズとして定形サイズが決定される。次に、印刷設定で設定されているユーザ定義サイズの情報（Ｏｐｔｉｏｎ）をメモリ領域に保存する（ステップＳ９０６）。ここで、保存されるユーザ定義サイズの情報には、用紙ＩＤ、幅及び高さの情報が含まれる。そして、印刷設定で設定されている用紙サイズの情報をユーザ定義サイズの情報からステップＳ９０５で決定した定形サイズの情報に置換することで印刷設定を変更する（ステップＳ９０７）。これによって、ユーザ定義サイズの用紙ＩＤ、幅及び高さが設定されていた印刷設定が、定形サイズの用紙ＩＤ、幅及び高さが設定された印刷設定に変更される。
【００４４】
次に、ステップＳ９０７で設定し直した印刷設定を用いてＧＰＤの禁則処理を行う（ステップＳ９０８）。ＧＰＤの禁則処理が終了した後、ステップＳ９０７の印刷設定の変更を元に戻さなければ指定されたユーザ定義サイズが無視されて定形サイズで印刷されてしまう。よって、次に説明するステップＳ９０９では、ステップＳ９０７と逆の処理を行うことで用紙サイズを元に戻す。具体的には、ステップＳ９０７で設定された印刷設定の用紙サイズの情報（定形サイズの情報）をステップＳ９０６でメモリ領域に保存しておいたユーザ定義サイズの情報に置換することで印刷設定を設定しなおして（ステップＳ９０９）、処理を終了する。これによって、定形サイズの用紙ＩＤ、幅及び高さが設定されていた印刷設定が、ユーザ定義サイズの用紙ＩＤ、幅及び高さが設定された元の印刷設定に戻る。次に、ステップＳ９０３で用紙サイズがユーザ定義サイズでない場合（Ｎｏ）、設定されている印刷設定を用いてＧＰＤの禁則処理を行う（ステップＳ９１０）。そして、処理を終了する。
【００４５】
図１３は、本実施形態に係るＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２の記載例を示す図である。図９との違いは、上述した通り定形サイズと同じ禁則処理になるカテゴリについて、該当する定形サイズになるようにしている箇所である。このように、本実施形態によれば、ユーザ定義サイズのカテゴリのＯｐｔｉｏｎを減らすことができ、結果的に禁則処理が膨大になることを抑止することができる。
【００４６】
（第４実施形態）
第１実施形態では、印刷設定画面を起動した場合のみ「ユーザ定義サイズ」の用紙サイズの幅／高さに応じて禁則処理を行った。しかしながら、印刷設定画面を起動しないで印刷を実行した場合、禁則処理が行われないで、印刷データがデバイス１０３２側に送信されてしまう。
【００４７】
そこで、本実施形態では、ＯＳ１０５３が「ユーザ定義サイズ」の用紙サイズの幅／高さに応じて、Ｏｐｔｉｏｎを設定できるようにＧＰＤファイルの記述方法を拡張する。図１４は、本実施形態に係るＧＰＤファイルの記載例を示す図である。本実施形態では、各Ｏｐｔｉｏｎに用紙サイズの最小サイズ、最大サイズを追記する。ＯＳ１０５３は、用紙サイズが「ユーザ定義サイズ」である場合、「ＭｉｎＳｉｚｅ」と「ＭａｘＳｉｚｅ」から不定形のカテゴリのＯｐｔｉｏｎを決定する。さらに、ＢａｓｅＰａｐｅｒＳｉｚｅに類似した定形サイズがそのカテゴリに定義されている場合、その定形サイズで禁則処理を行うようにする。
【００４８】
このように、本実施形態によれば、ＧＰＤファイルに用紙サイズの最小サイズ最大サイズ、さらにＢａｓｅとなる定形サイズを定義できるようにすることにより、ＧＰＤファイルを参照するだけで任意の数値の設定でも禁則処理が行うことができる。
【００４９】
（第５実施形態）
第１実施形態では、「ユーザ定義サイズ」のサイズに応じてカテゴリ分けをし、それぞれのカテゴリのＯｐｔｉｏｎに応じた禁則処理を行うことができた。しかしながら、「ユーザ定義サイズ」以外にユーザが任意に設定できる印刷設定として「用紙タイプ（もしくは用紙種類）」がある。この場合、用紙タイプは、ユーザ定義サイズとは異なり、デバイス１０３２側で登録した用紙タイプの情報をドライバーがデバイス１０３２と通信して取得する。従って、デバイス１０３２で登録することで、ユーザが任意で設定できてしまうため、ＧＰＤファイルには禁則情報を記述できない。この結果、これらの用紙タイプに対して禁則処理を行うことができない。
【００５０】
そこで、本実施形態では、ユーザが任意に設定する用紙タイプについても正しく禁則処理を行うことができるようにする。図１５は、本実施形態に係る禁則処理を示すフローチャートである。特に明示しない限り、本処理は、プリンタエクステンション２１０が行う処理である。プリンタエクステンション２１０は、ＲＡＭ１０２２にロードされ、ＣＰＵ１０１によって実行される。
【００５１】
まず、印刷設定を取得する（ステップＳ１２０１）。取得した印刷設定から用紙タイプの情報を取得する（ステップＳ１２０２）。その用紙タイプがデバイス１０３２に登録されている用紙タイプか否かを判定する（ステップＳ１２０３）。用紙タイプがユーザ登録した用紙タイプである場合（Ｙｅｓ）、ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８２から該当するユーザ登録の用紙タイプ情報を取得する（ステップＳ１２０４）。次に、取得した用紙タイプの重量／表面性/形状／色が一致するベースの用紙タイプをＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２のテーブルを使用して取得する（ステップＳ１２０５）。次に、取得したベースの用紙タイプを印刷設定の用紙タイプのパラメータに設定し（ステップＳ１２０６）、ＧＰＤファイルを参照して禁則処理を行う（ステップＳ１２０７）。そして、禁則処理が完了したら、用紙タイプをもとのユーザ登録の用紙タイプに設定しなおす（ステップＳ１２０８）。一方、ステップＳ１２０３で用紙タイプがユーザ登録した用紙タイプでない場合（Ｎｏ）、そのままの印刷設定でＧＰＤファイルを参照して禁則処理を行う（ステップＳ１２０９）。
【００５２】
図１６は、本実施形態に係るＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３の一例を示す図である。ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３に保存される用紙タイプの情報は、デバイス１０３２に登録されるユーザ登録された用紙タイプの情報をドライバーが取得して保存する。本実施形態では、各用紙タイプの名称と、重量（Ｗｅｉｇｈｔ）／表面性（Ｓｕｒｆａｃｅ）／形状（Ｓｈａｐｅ）／色（Ｃｏｌｏｒ）の情報を保存している。
【００５３】
図１７は、本実施形態に係るＤｒｉｖｅｒＰｒｏｐｅｒｔｙＢａｇ２０８２の一例を示す図である。ＱｕｅｕｅＰｒｏｐｅｒｔｙＢａｇ２０８３に保存される用紙タイプの情報と同様に、ベースの用紙タイプの情報も用紙タイプの名称と重量（ｗｅｉｇｈｔ）／表面性（ｓｕｒｆａｃｅ）／形状（ｓｈａｐｅ）／色（ｃｏｌｏｒ）の情報を記載する。
【００５４】
このように、用紙タイプの各情報からベースの用紙タイプに変換して、禁則処理を行うことによって、デバイスに登録したユーザ定義の用紙タイプに対しても正しい禁則処理を行えるようになる。
【００５５】
（その他の実施例）
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００５６】
また、本発明の好ましい実施形態について説明したが、本発明は、これらの実施形態に限定されず、その要旨の範囲内で種々の変形および変更が可能である。
【図１】
0006587515.tif 000002
【図２】
0006587515.tif 000003
【図３】
0006587515.tif 000004
【図４】
0006587515.tif 000005
【図５】
0006587515.tif 000006
【図６】
0006587515.tif 000007
【図７】
0006587515.tif 000008
【図８】
0006587515.tif 000009
【図９】
0006587515.tif 000010
【図１０】
0006587515.tif 000011
【図１１】
0006587515.tif 000012
【図１２】
0006587515.tif 000013
【図１３】
0006587515.tif 000014
【図１４】
0006587515.tif 000015
【図１５】
0006587515.tif 000016
【図１６】
0006587515.tif 000017
【図１７】
0006587515.tif 000018