(57)【要約】【課題】ユーザーインターフェース上のコントロールの種類が変更されたとしても禁則処理構文を修正する必要のないプリンタードライバーを提供する。【解決手段】プリンタードライバー３００は、それぞれ印刷設定に関する選択肢を提供する複数種類のコントロール３３３Ａ〜３３３Ｃのうちの一のコントロールを表示し、複数種類のコントロール３３３Ａ〜３３３Ｃにより提供される選択肢の各項目を複数種類のコントロール３３３Ａ〜３３３Ｃの全てに共通する識別子に変換し、その識別子に基づき一のコントロールにより提供される選択肢の各項目が禁則条件に該当するかどうかを判定する。【選択図】図４
2013214213.tif 000002
【特許請求の範囲】
【請求項１】
それぞれ印刷設定に関する選択肢をユーザーに提供する複数種類のコントロールのうちの一のコントロールを表示する表示部と、
前記複数種類のコントロールのそれぞれにより提供される前記選択肢の各項目を、前記複数種類のコントロールのすべてに共通する識別子に変換する変換部と、
前記変換部による変換後の前記識別子に基づき、前記一のコントロールにより提供される前記選択肢の各項目が予め定められた禁則条件に該当するかどうかを判定する禁則処理部と、を有する印刷設定装置。
【請求項２】
前記変換部は、前記複数種類のコントロールのそれぞれについて予め定められた規則に従って、前記選択肢の各項目を前記識別子に変換することを特徴とする請求項１に記載の印刷設定装置。
【請求項３】
前記複数種類のコントロールのそれぞれは、少なくとも１つのコントロール部品により構成されていることを特徴とする請求項１または２に記載の印刷設定装置。
【請求項４】
前記少なくとも１つのコントロール部品には、チェックボックス、コンボボックス、ラジオボタン、またはスタティックテキストが含まれることを特徴とする請求項３に記載の印刷設定装置。
【請求項５】
前記複数種類のコントロールのそれぞれは、チェックボックス、コンボボックス、チェックボックスおよびコンボボックスの組み合わせ、スタティックテキストおよびコンボボックスの組み合わせ、または複数のラジオボタンの組み合わせにより構成されていることを特徴とする請求項３に記載の印刷設定装置。
【請求項６】
前記表示部は、前記一のコントロールにより提供される前記選択肢のいずれかの項目が前記禁則条件に該当すると前記禁則処理部により判定された場合、前記禁則条件に該当すると判定された項目が選択不可であることをユーザーに通知することを特徴とする請求項１〜５のいずれか１つに記載の印刷設定装置。
【請求項７】
前記表示部は、前記禁則条件に該当すると判定された項目をグレー表示にするか、前記禁則条件に該当すると判定された項目にツールチップを設定するか、または前記禁則条件に該当すると判定された項目が選択不可であることを示すアイコンを表示することにより、前記禁則条件に該当すると判定された項目が選択不可であることをユーザーに通知することを特徴とする請求項６に記載の印刷設定装置。
【請求項８】
印刷設定装置の制御プログラムであって、
それぞれ印刷設定に関する選択肢をユーザーに提供する複数種類のコントロールのうちの一のコントロールを表示する手順（Ａ）と、
前記複数種類のコントロールのそれぞれにより提供される前記選択肢の各項目を、前記複数種類のコントロールのすべてに共通する識別子に変換する手順（Ｂ）と、
前記手順（Ｂ）での変換後の前記識別子に基づき、前記手順（Ａ）で表示された前記一のコントロールにより提供される前記選択肢の各項目が予め定められた禁則条件に該当するかどうかを判定する手順（Ｃ）と、を印刷設定装置に実行させることを特徴とする制御プログラム。
【請求項９】
前記手順（Ｂ）では、前記複数種類のコントロールのそれぞれについて予め定められた規則に従って、前記選択肢の各項目を前記識別子に変換することを特徴とする請求項８に記載の制御プログラム。
【請求項１０】
前記複数種類のコントロールのそれぞれは、少なくとも１つのコントロール部品により構成されていることを特徴とする請求項８または９に記載の制御プログラム。
【請求項１１】
前記少なくとも１つのコントロール部品には、チェックボックス、コンボボックス、ラジオボタン、またはスタティックテキストが含まれることを特徴とする請求項１０に記載の制御プログラム。
【請求項１２】
前記複数種類のコントロールのそれぞれは、チェックボックス、コンボボックス、チェックボックスおよびコンボボックスの組み合わせ、スタティックテキストおよびコンボボックスの組み合わせ、または複数のラジオボタンの組み合わせにより構成されていることを特徴とする請求項１０に記載の制御プログラム。
【請求項１３】
前記一のコントロールにより提供される前記選択肢のいずれかの項目が前記禁則条件に該当すると前記手順（Ｃ）で判定された場合、前記禁則条件に該当すると判定された項目が選択不可であることをユーザーに通知する手順（Ｄ）をさらに印刷設定装置に実行させることを特徴とする請求項８〜１２のいずれか１つに記載の制御プログラム。
【請求項１４】
前記手順（Ｄ）では、前記禁則条件に該当すると判定された項目をグレー表示にするか、前記禁則条件に該当すると判定された項目にツールチップを設定するか、または前記禁則条件に該当すると判定された項目が選択不可であることを示すアイコンを表示することにより、前記禁則条件に該当すると判定された項目が選択不可であることをユーザーに通知することを特徴とする請求項１３に記載の制御プログラム。
【請求項１５】
請求項８〜１４のいずれか１つに記載の制御プログラムが記録されたコンピューター読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷設定用のコントロールを表示する印刷設定装置および印刷設定装置の制御プログラムに関する。
【背景技術】
【０００２】
従来から、プリンタードライバーの機能拡張や仕様変更等に伴い、ユーザーインターフェースに設けられたコントロールの種類が変更されることがあった。例えば、プリンタードライバーの機能拡張に伴い、両面印刷用のコントロールが、チェックの有無により片面／両面を切り替えるチェックボックスから、「片面」、「両面」、「小冊子」等の選択肢からなるコンボボックスに変更されることがあった。
【０００３】
ここで、多機能周辺機器（ＭＦＰ：Ｍｕｌｔｉ−Ｆｕｎｃｔｉｏｎ  Ｐｅｒｉｐｈｅｒａｌ）やオンデマンド印刷機等の印刷設定においては、ユーザーインターフェース上のコントロールにより提供される設定項目の一部がハードウェア上の制約により選択不可とされる場合がある。例えば、Ａ３用紙に対するステープルの設定においては、用紙左側の１箇所を留める「１点左」および用紙上側の２箇所を留める「２点上」のみが選択可能とされ、用紙左側の２箇所を留める「２点左」が選択不可とされる場合がある。このように個々の設定項目が選択不可とされるかどうかを規定する条件のことを一般に「禁則条件」といい、個々の設定項目が禁則条件に該当するかどうかを判定する処理のことを一般に「禁則処理」という。
【０００４】
通常、個々の設定項目に対する禁則条件は「禁則処理構文」と呼ばれるプログラムに記述されている。図２８は、コンボボックスからなるコントロールに対する従来の禁則処理構文の一例を示している。また、図２９は、チェックボックスおよびコンボボックスの組み合わせからなるコントロールに対する従来の禁則条件の一例を示している。図２８および図２９の禁則処理構文は、いずれもＡ３用紙に対するステープルの設定において「２点左」を選択不可とすべきことを定めているが、両者の記載内容は互いに異なっている。
【０００５】
このように従来の禁則処理構文はコントロールの種類ごとに記載内容が異なっているため、プリンタードライバーの機能拡張や仕様変更等によりコントロールの種類が変更される場合には、変更後のコントロールの種類に応じて禁則処理構文を修正しなければならなかった。
【０００６】
一方、近年の印刷装置の高機能化に伴い、プリンタードライバーのユーザーインターフェースには多数のコントロールが設けられるようになった。そして、禁則処理構文の個数はコントロールの個数に応じて増加するので、プリンタードライバーの機能拡張や仕様変更等によりコントロールの種類が変更される場合に、膨大な量の禁則処理構文を修正しなければならなくなった。さらに、従来の禁則処理構文の内容は機種ごとに異なっているため、禁則処理構文の修正作業は機種ごとに個別に行わなければならなかった。
【０００７】
これに関連して、以下の特許文献１には、記憶手段に記憶されている機能情報（禁則処理構文）に基づいて禁則処理を実行するコアドライバにプラグインを追加することができるプリンタードライバーが提案されている。このプリンタードライバーは、プラグイン内に存在する禁則処理構文をコアドライバの禁則処理構文に対して統合することができる。しかしながら、特許文献１の技術を採用したとしても、プリンタードライバーの機能拡張や仕様変更等に伴いユーザーインターフェース上のコントロールの種類が変更される場合に、膨大な量の禁則処理構文を修正しなければならないことに変わりはない。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２０１１−０５９８０６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
本願発明は、上記課題に基づいてなされたものであり、ユーザーインターフェース上のコントロールの種類が変更されたとしても禁則処理構文を修正する必要のない印刷設定装置、および当該印刷設定装置の制御プログラムを提供することである。
【課題を解決するための手段】
【００１０】
本発明の上記目的は、下記の手段によって達成される。
【００１１】
（１）それぞれ印刷設定に関する選択肢をユーザーに提供する複数種類のコントロールのうちの一のコントロールを表示する表示部と、前記複数種類のコントロールのそれぞれにより提供される前記選択肢の各項目を、前記複数種類のコントロールのすべてに共通する識別子に変換する変換部と、前記変換部による変換後の前記識別子に基づき、前記一のコントロールにより提供される前記選択肢の各項目が予め定められた禁則条件に該当するかどうかを判定する禁則処理部と、を有する印刷設定装置。
【００１２】
（２）前記変換部は、前記複数種類のコントロールのそれぞれについて予め定められた規則に従って、前記選択肢の各項目を前記識別子に変換することを特徴とする上記（１）に記載の印刷設定装置。
【００１３】
（３）前記複数種類のコントロールのそれぞれは、少なくとも１つのコントロール部品により構成されていることを特徴とする上記（１）または（２）に記載の印刷設定装置。
【００１４】
（４）前記少なくとも１つのコントロール部品には、チェックボックス、コンボボックス、ラジオボタン、またはスタティックテキストが含まれることを特徴とする上記（３）に記載の印刷設定装置。
【００１５】
（５）前記複数種類のコントロールのそれぞれは、チェックボックス、コンボボックス、チェックボックスおよびコンボボックスの組み合わせ、スタティックテキストおよびコンボボックスの組み合わせ、または複数のラジオボタンの組み合わせにより構成されていることを特徴とする上記（３）に記載の印刷設定装置。
【００１６】
（６）前記表示部は、前記一のコントロールにより提供される前記選択肢のいずれかの項目が前記禁則条件に該当すると前記禁則処理部により判定された場合、前記禁則条件に該当すると判定された項目が選択不可であることをユーザーに通知することを特徴とする上記（１）〜（５）のいずれか１つに記載の印刷設定装置。
【００１７】
（７）前記表示部は、前記禁則条件に該当すると判定された項目をグレー表示にするか、前記禁則条件に該当すると判定された項目にツールチップを設定するか、または前記禁則条件に該当すると判定された項目が選択不可であることを示すアイコンを表示することにより、前記禁則条件に該当すると判定された項目が選択不可であることをユーザーに通知することを特徴とする上記（６）に記載の印刷設定装置。
【００１８】
（８）印刷設定装置の制御プログラムであって、それぞれ印刷設定に関する選択肢をユーザーに提供する複数種類のコントロールのうちの一のコントロールを表示する手順（Ａ）と、前記複数種類のコントロールのそれぞれにより提供される前記選択肢の各項目を、前記複数種類のコントロールのすべてに共通する識別子に変換する手順（Ｂ）と、前記手順（Ｂ）での変換後の前記識別子に基づき、前記手順（Ａ）で表示された前記一のコントロールにより提供される前記選択肢の各項目が予め定められた禁則条件に該当するかどうかを判定する手順（Ｃ）と、を印刷設定装置に実行させることを特徴とする制御プログラム。
【００１９】
（９）前記手順（Ｂ）では、前記複数種類のコントロールのそれぞれについて予め定められた規則に従って、前記選択肢の各項目を前記識別子に変換することを特徴とする上記（８）に記載の制御プログラム。
【００２０】
（１０）前記複数種類のコントロールのそれぞれは、少なくとも１つのコントロール部品により構成されていることを特徴とする上記（８）または（９）に記載の制御プログラム。
【００２１】
（１１）前記少なくとも１つのコントロール部品には、チェックボックス、コンボボックス、ラジオボタン、またはスタティックテキストが含まれることを特徴とする上記（１０）に記載の制御プログラム。
【００２２】
（１２）前記複数種類のコントロールのそれぞれは、チェックボックス、コンボボックス、チェックボックスおよびコンボボックスの組み合わせ、スタティックテキストおよびコンボボックスの組み合わせ、または複数のラジオボタンの組み合わせにより構成されていることを特徴とする上記（１０）に記載の制御プログラム。
【００２３】
（１３）前記一のコントロールにより提供される前記選択肢のいずれかの項目が前記禁則条件に該当すると前記手順（Ｃ）で判定された場合、前記禁則条件に該当すると判定された項目が選択不可であることをユーザーに通知する手順（Ｄ）をさらに印刷設定装置に実行させることを特徴とする上記（８）〜（１２）のいずれか１つに記載の制御プログラム。
【００２４】
（１４）前記手順（Ｄ）では、前記禁則条件に該当すると判定された項目をグレー表示にするか、前記禁則条件に該当すると判定された項目にツールチップを設定するか、または前記禁則条件に該当すると判定された項目が選択不可であることを示すアイコンを表示することにより、前記禁則条件に該当すると判定された項目が選択不可であることをユーザーに通知することを特徴とする上記（１３）に記載の制御プログラム。
【００２５】
（１５）上記（８）〜（１４）のいずれか１つに記載の制御プログラムが記録されたコンピューター読み取り可能な記録媒体。
【発明の効果】
【００２６】
本発明に係る印刷設定装置は、それぞれ印刷設定に関する選択肢を提供する複数種類のコントロールのうちの一のコントロールを表示し、複数種類のコントロールにより提供される選択肢の各項目を複数種類のコントロールの全てに共通する識別子に変換し、その識別子に基づき一のコントロールにより提供される選択肢の各項目が禁則条件に該当するかどうかを判定する。
【００２７】
よって、本発明によると、印刷設定装置により表示される一のコントロールの種類が変更されたとしても禁則処理部に送信される識別子が変更されることはないので、コントロールの種類に依存しない禁則処理構文を採用することができる。その結果、本発明によると、印刷設定装置の機能拡張や仕様変更等に伴い、印刷装置により表示される一のコントロールの種類が変更されたとしても、禁則処理部により解析すべき禁則処理構文を修正する必要がなくなるので、ユーザーにとっての利便性が大幅に向上することになる。
【図面の簡単な説明】
【００２８】
【図１】本発明の一実施形態に係るＰＣの構成要素を示すブロック図である。
【図２】本発明の一実施形態に係る印刷システムの構成要素を表す概略図である。
【図３】本発明の一実施形態に係るプリンタードライバーの構成要素を示すブロック図である。
【図４】本発明の一実施形態に係るプリンタードライバーのＵＩコントロール制御部と、禁則処理部やＵＩコントロール表示部等との関係を示すブロック図である。
【図５】本発明の一実施形態に係るプリンタードライバーにより構築されたＵＩの一例を示す概略図である。
【図６】図５のＵＩに設けられた「ステープル」のＵＩコントロールを抽出して示す概略図である。
【図７】図６のＵＩコントロールの基となった印刷機能定義データを示す概略図である。
【図８】図５のＵＩに設けられた「両面印刷」のＵＩコントロールを抽出して示す概略図である。
【図９】図８のＵＩコントロールの基となった印刷機能定義データを示す概略図である。
【図１０】本発明の一実施形態に係るプリンタードライバーにより構築されたＵＩの他の例を示す概略図である。
【図１１】図１０のＵＩに設けられた「ステープル」のＵＩコントロールを抽出して示す概略図である。
【図１２】図１０のＵＩに設けられた「ステープル」のＵＩコントロールを抽出して示す概略図である。
【図１３】図１１および図１２のＵＩコントロールの基となった印刷機能定義データを示す概略図である。
【図１４】図１０のＵＩに設けられた「印刷種類」のＵＩコントロールを抽出して示す概略図である。
【図１５】図１４のＵＩコントロールの基となった印刷機能定義データを示す概略図である。
【図１６】本発明の一実施形態に係るプリンタードライバーにより印刷設定用のＵＩを構築する処理の手順を示すフローチャートである。
【図１７】本発明の一実施形態に係る「ステープル」についての禁則処理構文の一例を示す概略図である。
【図１８】図１７の禁則処理構文による禁則指示が適用された状態のＵＩコントロールを示す概略図であり、図６に対応している。
【図１９】本発明の一実施形態に係る禁則メッセージ情報に従って表示されたポップアップメッセージの一例を示す概略図である。
【図２０】本発明の一実施形態に係る「ステープル」についての禁則メッセージの一例を示す概略図である。
【図２１】本発明の一実施形態に係る「両面印刷」についての禁則処理構文の一例を示す概略図である。
【図２２】図２１の禁則処理構文による禁則指示が適用された状態のＵＩコントロールを示す概略図であり、図８に対応している。
【図２３】本発明の一実施形態に係る禁則メッセージ情報に従って表示されたツールチップの一例を示す概略図である。
【図２４】本発明の一実施形態に係る「両面印刷」についての禁則処理構文の一例を示す概略図である。
【図２５】図１７の禁則処理構文による禁則指示が適用された状態のＵＩコントロールを示す概略図であり、図１１に対応している。
【図２６】図２１の禁則処理構文による禁則指示が適用された状態のＵＩコントロールを示す概略図であり、図１４に対応している。
【図２７】本発明の一実施形態に係るプリンタードライバーによる禁則処理の手順を示すフローチャートである。
【図２８】従来の禁則処理構文の一例を示す概略図である。
【図２９】従来の禁則処理構文の一例を示す概略図である。
【発明を実施するための形態】
【００２９】
本実施形態に係るプリンタードライバーについて、添付した図面を随時参照しながら説明する。なお、以下の説明では、プリンタードライバーにより表示されるユーザーインターフェースのことを基本的に「ＵＩ」と称する。同様に、ユーザーインターフェースに設けられた各コントロールのことを基本的に「ＵＩコントロール」と称する。本実施形態に係るＵＩコントロールは１つないし複数のコントロール部品により構成されており、プリンタードライバーを操作するユーザーに対して印刷設定に関する種々の選択肢を提供する。ここでいうコントロール部品とは、チェックボックス、コンボボックス、ラジオボタン、スタティックテキスト等のことを指している。
【００３０】
図６は、本実施形態に係るＵＩコントロールの一例を示している。図６に示すＵＩコントロール７０１は、スタティックテキストおよびコンボボックスの組み合わせにより構成されており、ユーザーに対して「オフ」、「１点左」、「２点左」、「２点上」からなる選択肢を提供する。各ＵＩコントロールを構成するコントロール部品の種類（または、複数のコントロール部品の組み合わせ）のことを以下では「ＵＩコントロール種」と称する。また、図面の説明においては、同一の要素に同一の符号を付し、重複する説明を省略する。また、図面に図示した各部材の大きさや比率は、説明の都合上誇張されることにより、実際の大きさや比率とは異なる場合がある。
【００３１】
先ず、本実施形態に係るプリンタードライバー３００として動作するＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）１００の構成要素について、図１を参照しながら説明する。
【００３２】
図１は、ＰＣ１００の構成要素を示すブロック図である。図１に示すＰＣ１００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１、入力部１０２、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３、通信Ｉ／Ｆ部１０４、表示部１０５、およびＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１０６から構成されている。以下、ＰＣ１００の各構成要素について順に説明する。
【００３３】
ＰＣ１００のＣＰＵ１０１は、所定のプログラムに従って、入力部１０２、ＲＡＭ１０３、通信Ｉ／Ｆ部１０４、表示部１０５、およびＨＤＤ１０６の動作を制御するとともに各種演算処理を行う。また、ＰＣ１００の入力部１０２は、たとえば、キーボードおよびマウス（ポインティングデバイス）からなる。プリンタードライバー３００のユーザーは入力部１０２を操作することによりＵＩコントロールの選択肢からいずれかの項目を選択する。また、ＰＣ１００のＲＡＭ１０３は、ＣＰＵ１０１の作業領域として一時的にプログラムやデータを記憶する。なお、ＲＡＭ１０３に一時的に記憶されたデータは、必要に応じてＨＤＤ１０６に保存される。
【００３４】
また、ＰＣ１００の通信Ｉ／Ｆ部１０４は、外部機器と通信するためのインターフェースである。この通信Ｉ／Ｆ部１０４は、たとえば、イーサネット（登録商標）、トークンリング、ＦＤＤＩ等の規格によるネットワークインターフェース、ＵＳＢ、ＩＥＥＥ１３９４等のシリアルインターフェース、ＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、ＩＥＥＥ１２８４等のパラレルインターフェース、ＢＬＵＥＴＯＯＴＨ（登録商標）、ＩＥＥＥ８０２．１１、ＨｏｍｅＲＦ（Ｈｏｍｅ  Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ）、またはＩｒＤＡ（Ｉｎｆｒａｒｅｄ  Ｄａｔａ  Ａｓｓｏｃｉａｔｉｏｎ）等の無線通信インターフェースを用いる。通信Ｉ／Ｆ部１０４は、電話回線に接続するための電話回線インターフェース等を用いることもできる。
【００３５】
また、ＰＣ１００の表示部１０５は、例えば、液晶ディスプレイであり、印刷プレビュー画面や印刷設定画面等のＵＩを表示する。また、ＰＣ１００のＨＤＤ１０６は、オペレーティングシステム、および文書作成または図形作成用の各種アプリケーションソフトを格納している。また、ＨＤＤ１０６は、ユーザーにより作成された文書や図形等のファイルを格納している。
【００３６】
次に、本実施形態に係るプリンタードライバー３００として動作するＰＣ１００を含む印刷システムの構成要素について、図２を参照しながら説明する。
【００３７】
図２は、ＰＣ１００を含む印刷システムの構成要素を示す概略図である。図２に示すＰＣ１００は、ネットワーク２０１を介して、たとえば、複写機２０２、画像形成装置２０３、およびＭＦＰ２０４と接続されている。なお、ＰＣ１００は、ネットワーク２０１を介することなく、複写機２０２、画像形成装置２０３、またはＭＦＰ２０４にローカル接続されている場合もある。また、ＰＣ１００は、たとえば、不図示のファクシミリ装置に接続されている場合もある。ここで、ネットワーク２０１は、例えば、イーサネット（登録商標）、トークンリング、ＦＤＤＩ（Ｆｉｂｅｒ−Ｄｉｓｔｒｉｂｕｔｅｄ  Ｄａｔａ  Ｉｎｔｅｒｆａｃｅ）などの規格によりコンピューターやネットワーク機器同士を接続したＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）である。また、ネットワーク２０１は、ＬＡＮ同士を専用線で接続したＷＡＮ（Ｗｉｄｅ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）であってもよい。
【００３８】
次に、本実施形態に係るプリンタードライバー３００の構成要素について、図３を参照しながら説明する。
【００３９】
図３は、プリンタードライバー３００の構成要素を示すブロック図である。図３に示すアプリケーション４００は、ＰＣ１００のＨＤＤ１０６に格納された各種アプリケーションの総称である。また、印刷装置５００は、図２に示す複写機２０２、画像形成装置２０３、およびＭＦＰ２０４の総称である。本実施形態に係るプリンタードライバー３００は、印刷装置５００の印刷設定用のＵＩを生成する。
【００４０】
図５は、プリンタードライバー３００により生成されたＵＩの一例を示している。図５に示すＵＩ７００は、各印刷機能について予め定められたＵＩコントロール種のＵＩコントロールを備えている。ここでいう「印刷機能」とは、印刷装置５００の諸機能のうちプリンタードライバー３００により生成されるＵＩにおいて設定可能な機能のことを指している。たとえば、印刷装置の５００の印刷機能には、用紙のサイズを指定するための「用紙サイズ」、複数枚の用紙にステープルを取り付けるための「ステープル」、用紙の両面に画像を印刷するための「両面印刷」等が含まれる。
【００４１】
以下、プリンタードライバー３００の各構成要素について順に説明する。プリンタードライバー３００は、禁則情報３１０、禁則定義データＩ／Ｆ３２０、ＵＩ処理部３３０、印刷機能定義データ３４０、印刷機能定義データＩ／Ｆ３５０、およびレンダリング処理部３６０から構成されている。ここで、プリンタードライバー３００の禁則情報３１０は、印刷装置５００についての禁則条件を記述する禁則処理構文を含んでいる。すなわち、禁則情報３１０は、印刷装置５００について予め定められた禁則条件と同数の禁則処理構文により構成されている。また、プリンタードライバー３００の禁則定義データＩ／Ｆ３２０は、禁則情報３１０に含まれる禁則処理構文を１つずつＵＩ処理部３３０に読み込む。図１７および図２１は、それぞれ本実施形態に係る禁則処理構文の一例を示している。
【００４２】
また、プリンタードライバー３００のＵＩ処理部３３０は、禁則情報３１０や印刷機能定義データ３４０等に基づき、印刷装置５００の印刷設定用のＵＩの動作を制御する。このようなＵＩ処理部３３０は、禁則処理部３３１、ＵＩコントロール制御部３３２、およびＵＩ表示部３３３から構成されている。ここで、ＵＩ処理部３３０の禁則処理部３３１は、禁則情報３１０に基づき、印刷設定用のＵＩに設けられた各ＵＩコントロールに対する禁則処理を実行する。すなわち、禁則処理部３３１は、禁則情報３１０に含まれている禁則処理構文を解析することにより、ＵＩコントロールにより提供される選択肢の各項目が禁則条件に該当するかどうかの判定を行う。そして、禁則条件に該当する項目が存在する場合は、その項目が選択不可であることをユーザーに通知すべきとの指示を発行する。このような指示のことを以下では「禁則指示」と称する。そして、ＵＩコントロールにより提供される選択肢のうち禁則条件に該当する項目のことを以下では「禁止項目」と称する。
【００４３】
また、ＵＩ処理部３３０のＵＩコントロール制御部３３２は、印刷設定用のＵＩに設けられた各ＵＩコントロールの動作を制御する。より具体的に、ＵＩコントロール制御部３３２は、ＵＩコントロール種ごとに設けられたＵＩコントロール処理部３３２Ａ〜３３２Ｃからなり、それぞれのＵＩコントロール処理部３３２Ａ〜３３２Ｃにより印刷機能定義データを実行することにより各ＵＩコントロールを表すオブジェクトを生成する。この点についてはさらに後述する。
【００４４】
また、ＵＩ処理部３３０のＵＩ表示部３３３は、ＵＩコントロール制御部３３２により生成されたオブジェクトに基づき、印刷設定用のＵＩを構築する。ＵＩ表示部３３３により構築された印刷設定用のＵＩは表示部１０５により表示される。図５は、ＵＩ表示部３３３により構築されたＵＩの一例を示している。図５に示すＵＩ７００は、スタティックテキストおよびコンボボックスの組み合わせからなる「ステープル」のＵＩコントロール７０１、ならびにチェックボックスからなる「両面印刷」のＵＩコントロール７０２を備えている。
【００４５】
さらに、プリンタードライバー３００の印刷機能定義データ３４０は、印刷機能ごとのＵＩ構成情報や印刷制御コマンド等を定義している。図７は、印刷装置５００の「ステープル」についての印刷機能定義データを示している。図７に示す印刷機能定義データは、「Ｆｕｎｃｔｉｏｎ」タグ、「ＵＩＣｔｒｏｌ」タグ、および「Ｉｔｅｍ」タグから構成されている。特に、図７の３〜６行目のような「Ｉｔｅｍ」タグは、ＵＩコントロールにより提供される選択肢の各項目を表している。これらのタグについてはさらに後述する。
【００４６】
また、プリンタードライバー３００の印刷機能定義データＩ／Ｆ３５０は、印刷機能定義データ３４０をＵＩコントロール処理部３３０に読み込む。また、プリンタードライバー３００のレンダリング処理部３６０は、アプリケーションからの印刷命令を受けて、印刷制御コマンドを生成して、その印刷制御コマンドを印刷装置６００に送信する。
【００４７】
次に、本実施形態に係るＵＩコントロール制御部３３２にＵＩコントロール種ごとに設けられたＵＩコントロール処理部３３２Ａ〜３３２Ｃと、禁則処理部３３１やＵＩ表示部３３３等との関係について、図４を参照しながら説明する。
【００４８】
図４は、ＵＩコントロール処理部３３２Ａ〜３３２Ｃと、禁則処理部３３１やＵＩ表示部３３３等との関係を示すブロック図である。図４中のＵＩ表示部３３３には、ＵＩコントロール処理部３３２Ａ〜３３２Ｃにより生成されるＵＩコントロール３３３Ａ〜３３３Ｃが概念的に示されている。すなわち、図４におけるＵＩコントロール３３３Ａは、チェックボックスおよびコンボボックスの組み合わせからなるＵＩコントロール（ＵＩコントロール種：Ｃｈｋ＋Ｃｏｍｂｏ）の総称であり、ＵＩコントロール３３３Ｂは、スタティックテキストおよびコンボボックスの組み合わせからなるＵＩコントロール（ＵＩコントロール種：Ｓｔａｔｉｃ＋Ｃｏｍｂｏ）の総称であり、ＵＩコントロール３３３Ｃは、チェックボックスからなるＵＩコントロール（ＵＩコントロール種：ＣｈｅｃｋＢｏｘ）の総称である。ＵＩコントロール３３３Ａの具体例として、図１０および図１１における「ステープル」のＵＩコントロール７１１が挙げられる。また、ＵＩコントロール３３３Ｂの具体例として、図５および図６における「ステープル」のＵＩコントロール７０１が挙げられる。また、ＵＩコントロール３３３Ｃの具体例として、図５および図８における「両面印刷」のＵＩコントロール７０２が挙げられる。
【００４９】
ここで、ＵＩコントロール３３３Ａ（ＵＩコントロール種：Ｃｈｋ＋Ｃｏｍｂｏ）は、コンボボックスの選択状態を覚え続けることができるため、ユーザーはマウスカーソル等によりチェックボックスをクリックするだけで機能のＯｆｆ／Ｏｎを切り替えることができるという。なお、印刷機能ごとのＵＩコントロール種は、前述した印刷機能定義データの「ＵＩＣｔｒｌ」タグ中に定義されている。例えば、図７の２行目の「ＵＩＣｔｒｌ」タグには、「ステープル」のＵＩコントロール種がスタティックテキストおよびコンボボックスの組み合わせ（Ｓｔａｔｉｃ＋Ｃｏｍｂｏ）であることを示す属性情報（「ＣｔｒｌＴｙｐｅ＝‘ＳｔａｔｉｃＣｏｍｂｏ’」）が含まれている。
【００５０】
ＵＩコントロール処理部３３２Ａ〜３３２Ｃは、ＵＩコントロール種ごとに予め定められた動作仕様に従ってＵＩコントロール３３３Ａ〜３３３Ｃの動作を制御する。これらの動作仕様についてはさらに後述する。また、禁則処理部３３１は、禁則定義データＩ／Ｆ３２０を介して禁則情報３１０に含まれる禁則処理構文を取得するとともに、ＵＩコントロール処理部３３２Ａ〜３３２ＣからＵＩコントロール３３３Ａ〜３３３Ｃにより提供される選択肢に関する情報を取得する。
【００５１】
次に、ＵＩコントロール種ごとに予め定められた動作仕様について、表１〜表３を参照しながら説明する。
【００５２】
【表１】
2013214213.tif 000003
【００５３】
【表２】
2013214213.tif 000004
【００５４】
【表３】
2013214213.tif 000005
【００５５】
表１は、ＵＩコントロール３３３Ａ（ＵＩコントロール種：Ｓｔａｔｉｃ＋Ｃｏｍｂｏ）の動作仕様を示しており、表２は、ＵＩコントロール３３３Ｂ（ＵＩコントロール種：Ｃｈｋ＋Ｃｏｍｂｏ）の動作仕様を示しており、表３は、ＵＩコントロール３３３Ｃ（ＵＩコントロール種：ＣｈｅｃｋＢｏｘ）の動作仕様を示している。より具体的に、表１〜表３の「Ｉｔｅｍタグの扱い」欄は、印刷機能定義データ中の「Ｉｔｅｍ」タグをどのように扱うべきかを示している。例えば、表１の動作仕様によると、１番目の「Ｉｔｅｍ」タグに対応する項目が印刷機能Ｏｆｆを意味するものとして扱われる。そして、全ての「Ｉｔｅｍ」タグに対応する項目がＵＩコントロール３３３Ｂのコンボボックス内に列挙される（図６参照）。
【００５６】
また、表１〜表３の「動作」欄は、ＵＩコントロール３３３Ａ〜３３３Ｃにより提供される選択肢のどの項目を選択項目として扱うべきかを示している。ここでいう「選択項目」とは、ＵＩコントロール３３３Ａ〜３３３Ｃにより提供される選択肢のうち、禁則処理において禁則条件に該当するかどうかを判定すべき項目のことを指している。例えば、表１の動作仕様によると、コンボボックス内に列挙された全ての項目が選択項目として扱われる。すなわち、図６のＵＩコントロール７０１についての禁則処理においては、コンボボックス内に列挙された「オフ」、「１点左」、「２点左」、「２点上」が選択項目として扱われ、これらの選択項目のそれぞれが禁則条件に該当するかどうかが判定される。
【００５７】
また、表１〜表３の「禁則時の動作」欄は、禁則処理部３３１による禁則指示が発行された場合に、その禁止項目が選択不可であることをどのようにユーザーに通知すべきかを示している。例えば、表１の動作仕様によると、ＵＩコントロール３３３Ａの選択肢に含まれる禁止項目に「！」マークのアイコンが表示される（図１８参照）。そして、禁止項目がユーザーにより選択された場合は、さらに警告メッセージが表示される（図１９参照）。
【００５８】
再び図４を参照すると、ＵＩコントロール処理部３３２Ａ〜３３２Ｃは、ＵＩコントロール３３３Ａ〜３３３Ｃにより提供される選択肢を、ＵＩコントロール３３３Ａ〜３３３Ｃの全てに共通する択一的な識別子に変換し、その識別子を禁則処理部３３１に送信する。そのため、コントロール処理部３３２Ａ〜３３２Ｃのことを以下では変換部３３２Ａ〜３３２Ｃと称することがある。そして、禁則処理部３３１は、変換部３３２Ａ〜３３３Ｃから受信した識別子に基づき禁則処理を実行する。この点についてはさらに後述する。
【００５９】
ここで、変換部３３２Ａ〜３３２Ｃは、印刷機能ごとに予め定められた規則に従って、ＵＩコントロール３３３Ａ〜３３３Ｃにより提供される選択肢の各項目を前述の識別子に変換する。つまり、禁則処理部３３１とＵＩコントロール制御部３３２（ＵＩコントロール処理部３３２Ａ〜３３２Ｃ）との間のインターフースは、ＵＩコントロール種によらず共通であるので、プリンタードライバー３００の機能拡張や仕様変更等により印刷機能ごとのＵＩコントロール種が変更されたとしても、ＵＩコントロール制御部３３２（ＵＩコントロール処理部３３２Ａ〜３３２Ｃ）から禁則処理部３３１に送信される情報が変更されることはない。
【００６０】
以下の表４は、「ステープル（Ｓｔａｐｌｅ）」機能について、ＵＩコントロール３３３Ｂ（ＵＩコントロール種：Ｓｔａｔｉｃ＋Ｃｏｍｂｏ）およびＵＩコントロール３３３Ａ（ＵＩコントロール種：Ｃｈｋ＋Ｃｏｍｂｏ）のそれぞれにより提供される選択肢の各項目と、変換部３３２Ｂおよび変換部３３２Ａによる変換後の識別子との対応関係を示している。表４の右側の列に示すように、変換部３３２Ｂおよび変換部３３３Ａによる変換後の識別子（「Ｓｔａｐｌｅ＝Ｏｆｆ」、「Ｓｔａｐｌｅ＝Ｓｔａｐｌｅ１Ｌｅｆｔ」、・・・）は、ＵＩコントロール３３３Ｂ（ＵＩコントロール種：Ｓｔａｔｉｃ＋Ｃｏｍｂｏ）およびＵＩコントロール３３３Ａ（ＵＩコントロール種：Ｃｈｋ＋Ｃｏｍｂｏ）の双方に共通している。
【００６１】
同様に、以下の表４は、「両面印刷（Ｄｕｐｌｅｘ）」機能について、ＵＩコントロール３３３Ｃ（ＵＩコントロール種：ＣｈｅｃｋＢｏｘ）およびＵＩコントロール３３３Ｂ（ＵＩコントロール種：Ｓｔａｔｉｃ＋Ｃｏｍｂｏ）のそれぞれにより提供される選択肢と、変換部３３２Ｃおよび変換部３３２Ｂによる変換後の識別子との対応関係を示している。表４の右側の列に示すように、変換部３３２Ｃおよび変換部３３３Ｂによる変換後の識別子（「Ｄｕｐｌｅｘ＝Ｓｉｍｐｌｅｘ」、「Ｄｕｐｌｅｘ＝Ｄｕｐｌｅｘ」、・・・）は、ＵＩコントロール３３３Ｃ（ＵＩコントロール種：ＣｈｅｃｋＢｏｘ）およびＵＩコントロール３３３Ｂ（ＵＩコントロール種：Ｓｔａｔｉｃ＋Ｃｏｍｂｏ）の双方に共通している。
【００６２】
【表４】
2013214213.tif 000006
【００６３】
次に、本実施形態に係るプリンタードライバー３００により構築されたＵＩの一例について、図５〜図９を参照しながら説明する。
【００６４】
図５は、プリンタードライバー３００により構築されたＵＩの一例（ＵＩ７００）を示している。また、図６は、図５中の「ステープル」のＵＩコントロール７０１のみを抽出して示している。また、図７は、図６のＵＩコントロール７０１の基となった印刷機能定義データを示している。また、図８は、図５中の「両面印刷」機能のＵＩコントロール７０２のみを抽出して示している。また、図９は、図８のＵＩコントロール７０２の基となった印刷機能定義データを示している。
【００６５】
図５に示すＵＩ７００は、印刷装置５００の「ステープル」機能の設定に関する選択肢を提供するＵＩコントロール７０１を備えている。図６は、ＵＩコントロール７０１により提供される選択肢の一覧を示している。図６のように、「ステープル」の設定に関する選択肢は、「オフ」、「１点左」、「２点左」、および「２点上」の４項目からなる。ここで、ユーザーがＵＩコントロール７０１の選択肢から「オフ」を選択した場合、ステープルは取り付けられない。また、ユーザーがＵＩコントロール７０１の選択肢から「１点左」を選択した場合、ステープルは用紙の左上端部の１箇所に取り付けられる。同様に、ユーザーがＵＩコントロール７０１の選択肢から「２点左」を選択した場合、ステープルは用紙の左上端部の２箇所に取り付けられる。同様に、ユーザーがＵＩコントロール７０１の選択肢から「２点上」を選択した場合、ステープルは用紙の上端部の２箇所に取り付けられる。
【００６６】
図６に示すＵＩコントロール７０１は、図７のような「ステープル」についての印刷機能定義データに基づき生成されている。すなわち、図６のＵＩコントロール７０１は、ＵＩコントロール処理部３３２Ｂが図７のような印刷機能定義データを実行することにより生成されている。ここで、図７の２行目の「ＵＩＣｔｒｌ」タグに記載されているように、ＵＩコントロール７０１のＵＩコントロール種は「Ｓｔａｔｉｃ＋Ｃｏｍｂｏ」であり、ＵＩコントロール７０１の配置場所および位置／サイズはそれぞれ「Ｂａｓｉｃタブ」および「１０，２０，１００，４０」である。
【００６７】
また、図７の３行目の「Ｉｔｅｍ」タグに記載されているように、ＵＩコントロール７０１により提供される選択肢の１番目の項目は「オフ」であり、その識別子は「Ｏｆｆ」であり、その選択時に出力される印刷制御コマンドは「ＳＴＡＰＬＥ＝ＮＯＮＥ」である。同様に、図７の４行目の「Ｉｔｅｍ」タグに記載されているように、ＵＩコントロール７０１により提供される選択肢の２番目の項目は「１点左」であり、その識別子は「Ｓｔａｐｌｅ１Ｌｅｆｔ」であり、その選択時に出力される印刷制御コマンドは「ＳＴＡＰＬＥ＝１ＬＥＦＴ」である。同様に、図７の５行目の「Ｉｔｅｍ」タグに記載されているように、ＵＩコントロール７０１により提供される選択肢の３番目の項目は「２点左」であり、その識別子は「Ｓｔａｐｌｅ２Ｌｅｆｔ」であり、その選択時に出力される印刷制御コマンドは「ＳＴＡＰＬＥ＝２ＬＥＦＴ」である。同様に、図７の６行目の「Ｉｔｅｍ」タグに記載されているように、ＵＩコントロール７０１により提供される選択肢の４番目の項目は「２点上」であり、その識別子は「Ｓｔａｐｌｅ２Ｔｏｐ」であり、その選択時に出力される印刷制御コマンドは「ＳＴＡＰＬＥ＝２ＴＯＰ」である。
【００６８】
さらに、図５に示すＵＩ７００は、「両面印刷」機能の設定に関する選択肢を提供するＵＩコントロール７０２を備えている。図８は、ＵＩコントロール７０２により提供される選択肢の一覧を示している。図８のように、ＵＩコントロール７０２により提供される選択肢は「チェックなし」および「チェックあり」の２項目からなる。ここで、ユーザーがＵＩコントロール７０２の選択肢から「チェックなし」を選択した場合は片面印刷が実行され「チェックあり」を選択した場合は両面印刷が実行される。
【００６９】
図８に示すＵＩコントロール７０２は、図９のような「両面印刷」についての印刷機能定義データに基づき生成されている。すなわち、図５に示すＵＩ７００は、ＵＩコントロール処理部３３２Ｃが図９のような印刷機能定義データを実行することにより生成されている。ここで、図９の２行目の「ＵＩＣｔｒｌ」タグに記載されているように、ＵＩコントロール７０２のＵＩコントロール種は「ＣｈｅｃｋＢｏｘ」であり、ＵＩコントロール７０２の配置場所および位置／サイズはそれぞれ「Ｂａｓｉｃタブ」および「１０，６０，１００，２０」である。
【００７０】
また、図９の３行目の「Ｉｔｅｍ」タグに記載されているように、ＵＩコントロール７０２により提供される選択肢の１番目の項目は「片面」であり、その識別子は「Ｓｉｍｐｌｅｘ」であり、その選択時に出力される印刷制御コマンドは「ＤＵＰＬＥＸ＝ＯＦＦ」である。同様に、図９の４行目の「Ｉｔｅｍ」タグに記載されているように、ＵＩコントロール７０２により提供される選択肢の２番目の項目は「両面」であり、その識別子は「Ｄｕｐｌｅｘ」であり、その選択時に出力される印刷制御コマンドは「ＤＵＰＬＥＸ＝ＯＮ」である。
【００７１】
次に、本実施形態に係るプリンタードライバー３００により構築されたＵＩの他の例について、図１０〜図１５を参照しながら説明する。
【００７２】
図１０は、プリンタードライバー３００により構築されたＵＩの他の例（ＵＩ７１０）を示している。また、図１１および図１２は、図１０中の「ステープル」のＵＩコントロール７１１のみを抽出して示している。また、図１３は、図１１および図１２のＵＩコントロール７１１の基となった印刷機能定義データを示している。また、図１４は、図１０中の「印刷種類」のＵＩコントロール７１２のみを抽出して示している。また、図１５は、図１４のＵＩコントロール７１２の基となった印刷機能定義データを示している。
【００７３】
図１０に示すＵＩ７１０は、印刷装置５００の「ステープル」機能の設定に関する選択肢を提供するＵＩコントロール７１１を備えている。図１１は、チェックボックスが「チェックあり」である場合のＵＩコントロール７１１を示している。表２の「動作」欄に記載されているように、チェックボックスが「チェックあり」である場合はコンボボックスが有効状態にされる。図１１のように、ＵＩコントロール７１１のコンボボックスにより提供される選択肢は「１点左」、「２点左」、および「２点上」の３項目からなる。また、図１２は、チェックボックスが「チェックなし」である場合のＵＩコントロール７１１を示している。表２の「動作」欄に記載されているように、チェックボックスが「チェックなし」である場合はコンボボックスが無効状態（グレー表示）にされる。よって、図１１および図１２のＵＩコントロール７１１により提供される選択肢は、「チェックなし」、「１点左」、「２点左」、および「２点上」の４項目からなる。
【００７４】
図１１および図１２に示すＵＩコントロール７１１は、図１３のような印刷機能定義データに基づき生成されている。すなわち、図１１および図１２に示すＵＩ７１０は、ＵＩコントロール処理部３３２Ａが図１３のような印刷機能定義データを実行することにより生成されている。ここで、図１３に示す印刷機能定義データは、図７に示す印刷機能定義データと、「ＵＩＣｔｒｌ」タグを除いて同一である。より具体的に、図１３の２行目の「ＵＩＣｔｒｌ」タグ中の「ＣｔｒｌＴｙｐｅ」の属性値は「Ｃｈｋ＋Ｃｏｍｂｏ」であるのに対し、図７の２行目の「ＵＩＣｔｒｌ」タグ中の「ＣｔｒｌＴｙｐｅ」の属性値は「Ｓｔａｔｉｃ＋Ｃｏｍｂｏ」である。したがって、プリンタードライバー３００の機能拡張や仕様変更等により、図５に示すＵＩ７１０を図１０に示すＵＩ７１０に変更する必要が生じても、図７の「ＵＩＣｔｒｌ」タグ中の「ＣｔｒｌＴｙｐｅ」の属性値を「ＳｔａｔｉｃＣｏｍｂｏ」から「ＣｈｋＣｏｍｂｏ」に変更するだけで良いので、印刷機能定義データの書き換えを最小限に抑えることが可能となる。
【００７５】
さらに、図１０に示すＵＩ７１０は、「印刷種類」機能の設定に関する選択肢を提供するＵＩコントロール７１２を備えている。図１４は、ＵＩコントロール７１２により提供される選択肢の一覧を示している。図１４のように、ＵＩコントロール７１２により提供される選択肢は、「片面」、「両面」、および「小冊子」の３項目からなる。
【００７６】
図１４に示すＵＩコントロール７１２は、図１５のような印刷機能定義データに基づき生成されている。すなわち、図１４に示すＵＩコントロール７１２は、ＵＩコントロール処理部３３２Ｂが図１５のような印刷機能定義データを実行することにより生成されている。ここで、図１５に示す印刷機能定義データは、図９に示す印刷機能定義データと、「ＵＩＣｔｒｌ」タグおよび「Ｉｔｅｍ」タグの一部を除いて同一である。より具体的に、図１５の２行目の「ＵＩＣｔｒｌ」タグ中の「ＣｔｒｌＴｙｐｅ」の属性値は「Ｓｔａｔｉｃ＋Ｃｏｍｂｏ」であるのに対し、図９の２行目の「ＵＩＣｔｒｌ」タグ中の「ＣｔｒｌＴｙｐｅ」の属性値は「ＣｈｅｃｋＢｏｘ」である。
【００７７】
さらに、図１５に示す印刷機能定義データの「Ｉｔｅｍ」タグは、「片面」、「両面」、および「小冊子」の３項目からなるのに対し、図９に示す印刷機能定義データの「Ｉｔｅｍ」タグは、「片面」および「両面」の２項目からなる。したがって、プリンタードライバー３００の機能拡張や仕様変更等により、図５に示すＵＩ７１０を図１０に示すＵＩ７１０に変更する必要が生じても、図９の「ＵＩＣｔｒｌ」タグ中の「ＣｔｒｌＴｙｐｅ」の属性値を「ＣｈｅｃｋＢｏｘ」から「Ｃｈｋ＋Ｃｏｍｂｏ」に変更し、さらに、「小冊子」に対応する「Ｉｔｅｍ」タグを追加するだけで良いので、印刷機能定義データの書き換えを最小限に抑えることが可能となる。
【００７８】
次に、本実施形態に係るプリンタードライバー３００の動作の概要について、図１６を参照しながら説明する。
【００７９】
図１６は、プリンタードライバー３００のＵＩ処理部３３０により印刷設定用のＵＩを構築する処理の手順を示すフローチャートである。図１６のように、先ず、ＵＩ処理部３３０は、図３および図４に示す機能定義データＩ／Ｆ３５０を介して、図７のような印刷機能ごとの印刷機能定義データを読み込む（ステップＳ１）。続いて、ＵＩ処理部３３０は、図３および図４に示すＵＩコントロール制御部３３２により図７のような印刷機能定義データを実行し、印刷機能ごとのＵＩコントロール３３３Ａ〜３３３Ｃを表すオブジェクトを生成する（ステップＳ２）。
【００８０】
より具体的に、ステップＳ２では、印刷機能定義データの「ＵＩＣｔｒｌ」タグ中に定義されているＵＩコントロール種が「ＣｈｋＣｏｍｂｏ」である場合は、ＵＩコントロール処理部３３２ＡによりＵＩコントロール３３３Ａを表すオブジェクトを生成する。同様に、ＵＩコントロール種が「ＳｔａｔｉｃＣｏｍｂｏ」である場合は、ＵＩコントロール処理部３３２ＢによりＵＩコントロール３３３Ｂを表すオブジェクトを生成し、ＵＩコントロール種が「ＣｈｅｃｋＢｏｘ」である場合は、ＵＩコントロール処理部３３２ＣによりＵＩコントロール３３３Ｃを表すオブジェクトを生成する。
【００８１】
続いて、ＵＩ処理部３３０は、図９のような次の印刷機能定義データがあるかどうかを判定し（ステップＳ３）、その判定結果がＹＥＳの場合はステップＳ１に戻り、ＮＯの場合はステップＳ４に進む。ここで、ステップＳ３からステップＳ１に戻った場合、ＵＩ処理部３３０は、図９のような次の印刷機能定義データに対してステップＳ１〜Ｓ２の手順を繰り返す。一方、ステップＳ３からステップＳ４に進んだ場合、ＵＩ処理部３３０は、図３および図４に示すＵＩ表示部３３３により、ステップＳ２で生成したオブジェクトに基づき図５のようなＵＩ７００を構築する（ステップＳ４）。その後、プリンタードライバー３００は一連の処理を終了する（エンド）。なお、ステップＳ４で構築されたＵＩは図１に示す表示部１０５に表示される。
【００８２】
次に、本実施形態に係る禁則処理構文について、図１７および図２１等を参照しながら説明する。
【００８３】
図１７は、本実施形態に係る禁則情報３１０に含まれる「ステープル（Ｓｔａｐｌｅ）」についての禁則処理構文の一例を示している。図１７に示す禁則処理構文は、Ｃｏｎｄｉｔｉｏｎ構文およびＤｉｓａｂｌｅ構文から構成されており、Ｃｏｎｄｉｔｉｏｎ構文に関連する印刷機能の選択項目が所定の条件式（ＰａｐｅｒＳｉｚｅ＝Ａ３）を満たし、かつ、Ｄｉｓａｂｌｅ構文に関連する印刷機能の選択項目が所定の条件式（Ｓｔａｐｌｅ＝Ｓｔａｐｌｅ２Ｌｅｆｔ）を満たす場合に、Ｄｉｓａｂｌｅ構文の条件式を満たす選択項目に対する禁則指示を発行し、その禁則指示を所定の禁則メッセージ情報とともに送信すべきことを定めている。
【００８４】
より具体的に、図１７に示す禁則処理構文は、Ｃｏｎｄｉｔｉｏｎ構文に関連する「用紙サイズ（ＰａｐｅｒＳｉｚｅ）」の選択項目が「Ａ３」であり、かつ、Ｄｉｓａｂｌｅ構文に関連する「ステープル（Ｓｔａｐｌｅ）」の選択項目が「Ｓｔａｐｌｅ２Ｌｅｆｔ」である場合に、「Ｓｔａｐｌｅ２Ｌｅｆｔ」に対する禁則指示を発行し、その禁則指示を「ＥＲＭＳＧ＿１１１」とともに送信すべきことを定めている。ここで「ＥＭＳＧ＿１１１」は「Ｓｔａｌｅ２Ｌｅｆｔ」に対する禁則メッセージ情報の識別子である。「ＥＭＳＧ＿１１１」のような禁則メッセージ情報は禁則処理構文とともに禁則情報３１０に格納されている。図２０は、「Ｓｔａｐｌｅ２Ｌｅｆｔ」に対する禁則メッセージ情報の一例を示している。
【００８５】
図２１は、本実施形態に係る禁則情報３１０に含まれる「両面印刷（Ｄｕｐｌｅｘ）」についての禁則処理構文の一例を示している。図２１に示す禁則処理構文は、「用紙サイズ（ＰａｐｅｒＳｉｚｅ）」の選択項目が「Ｐｏｓｔｃａｒｄ」であり、かつ、「両面印刷（Ｄｕｐｌｅｘ）」の選択項目が「Ｄｕｐｌｅｘ」である場合に、「Ｄｕｐｌｅｘ」に対する禁則指示を発行し、その禁則指示を「ＥＲＭＳＧ＿２２２」とともに送信すべきことを定めている。「ＥＭＳＧ＿２２２」は「Ｄｕｐｌｅｘ」に対する禁則メッセージ情報の識別子である。「ＥＭＳＧ＿２２２」のような禁則メッセージ情報は禁則処理構文とともに禁則情報３１０に格納されている。図２４は、「Ｄｕｐｌｅｘ」に対する禁則メッセージ情報の一例を示している。
【００８６】
次に、本実施形態に係る禁則指示が適用されたＵＩコントロールの一の例について、図１７〜図２６を参照しながら説明する。
【００８７】
図１８は、図１７に示す禁則処理構文による禁則指示が適用された状態のＵＩコントロール７０１を示しており、図６に対応している。図１８のように、禁則指示が適用された状態のＵＩコントロール７０１には、「２点左（Ｓｔａｐｌｅ２Ｌｅｆｔ）」が禁止項目であることをユーザーに通知するための「！」マークのアイコンが表示されている。そして、図１８のＵＩコントロール７０１において「２点左」が選択された場合は、禁則指示とともに送信された禁則メッセージ情報の内容がポップアップメッセージとして表示される。図１９は、図２０の禁則メッセージ情報に従って表示されたポップアップメッセージ８０１の一例を示している。図１９および図２０のように、ポップアップメッセージ８０１には、禁則メッセージ情報（ＥＲＭＳＧ＿１１１）における「＝」以降の文字列が表示される。
【００８８】
また、図２２は、図２４に示す禁則処理構文による禁則指示が適用された状態のＵＩコントロール７０２を示しており、図８に対応している。図２２のように、禁則指示が適用された状態のＵＩコントロール７０２には、「両面印刷（Ｄｕｐｌｅｘ）」が禁止項目であることをユーザーに通知するための「！」マークのアイコンが表示されている。そして、図２２のＵＩコントロール７０２において「！」マークのアイコンにマウスカーソルが合わせられた場合は、禁則情報とともに送信された禁則メッセージ情報の内容がツールチップとして表示される。図２３は、図２４の禁則メッセージ情報に従って表示されたツールチップ８０２の一例を示している。図２３および図２４のように、ツールチップ８０２には、禁則メッセージ情報（ＥＲＭＳＧ＿２２２）における「＝」以降の文字列が表示される。
【００８９】
一方、図２５は、図１７の禁則処理構文による禁則指示が適用された状態のＵＩコントロール７１１を示しており、図１１に対応している。図２５のように、禁則指示が適用された状態のＵＩコントロール７１１には、「２点左（Ｓｔａｐｌｅ２Ｌｅｆｔ）」が禁止項目であることをユーザーに通知するための「！」マークのアイコンが表示されている。また、図２６は図２１の禁則処理構文による禁則情報が適用された状態のＵＩコントロール７１２を示しており、図１４に対応している。図２６のように、禁則指示が適用された状態のＵＩコントロール７１２には、「両面（Ｄｕｐｌｅｘ）」が禁止項目であることをユーザーに通知するための「！」マークのアイコンが表示されている。
【００９０】
次に、本実施形態に係るプリンタードライバー３００による禁則処理について、図２７を参照しながら説明する。
【００９１】
図２７は、本実施形態に係るプリンタードライバー３００による禁則処理の手順を示すフローチャートである。ここで、本実施形態に係る禁則処理は、ＵＩにおいてユーザーから何らかの設定変更を受け付けた時や、表示部１０５に初めてＵＩを表示した時等に実行される。図２７のように、図３および図４に示すＵＩ処理部３３０の禁則処理部３３１は、禁則定義データＩ／Ｆ３３０を介して禁則情報３１０に含まれている禁則処理構文を読み込む（ステップＳ１１）。図１７および図２１は、それぞれステップＳ１１で読み込まれる禁則処理構文の一例を示している。
【００９２】
続いて、禁則処理部３３１は、ステップＳ１１で読み込んだ禁則処理構文を解析する（ステップＳ１２）。より具体的に、ステップＳ１２では、ステップＳ１１で読み込んだ禁則処理構文に関連する印刷機能を特定する。例えば、ステップＳ１１で図１７に示す禁則処理構文が読み込まれた場合は、その禁則処理構文に関連する印刷機能として「用紙サイズ（ＰａｐｅｒＳｉｚｅ）」および「ステープル（Ｓｔａｐｌｅ）」が特定される。
【００９３】
続いて、禁則処理部３３１は、ステップＳ１２で特定した印刷機能の選択項目に関する情報をＵＩコントロール制御部３３２から取得する（ステップＳ１３）。ステップＳ１３で取得される情報は、表４の右側の列に示すようなＵＩコントロール３３３Ａ〜３３３Ｃに全てに共通する識別子である。
【００９４】
続いて、禁則処理部３３１は、ステップＳ１３で取得した識別子に基づき、ステップＳ１２で特定した印刷機能の選択項目に禁止項目が含まれているかどうかを判定する（ステップＳ１４）。より具体的に、ステップＳ１４では、ステップＳ１２で特定したＣｏｎｄｉｔｉｏｎ構文に関連する印刷機能の選択項目が所定の条件式を満たすかどうかを判定し、さらに、ステップＳ１２で取得したＤｉｓａｂｌｅ構文に関連する印刷機能の選択項目が所定の条件式を満たすかどうかを判定する。そして、ステップＳ１４での判定結果がＹＥＳの場合にはステップＳ１５に進み、ＮＯの場合にはステップＳ１６に進む。
【００９５】
ここで、ステップＳ１４からステップＳ１５に進んだ場合、禁則処理部３３１は、禁止項目に対する禁則指示を発行し、その禁則指示を禁則メッセージ情報とともにＵＩコントロール制御部３３２に送信する（ステップＳ１５）。一方、ステップＳ１４またはステップＳ１５からステップＳ１６に進んだ場合、禁則処理部３３１は、禁則情報３１０に図２１のような次の禁則処理構文が含まれているかどうかを判定し、その判定結果がＹＥＳの場合はステップＳ１１に戻り、ＮＯの場合は一連の処理を終了する（エンド）。ここで、ステップＳ１６からステップＳ１１に戻った場合、禁則処理部３３１は、図２１のような次の禁則処理構文に対してステップＳ１１〜Ｓ１５の手順を繰り返す。
【００９６】
前述した本実施形態に係るプリンタードライバー３００は、以下の作用効果を奏する。
【００９７】
本実施形態に係るプリンタードライバー３００は、それぞれ印刷設定に関する選択肢を提供するＵＩコントロール３３３Ａ〜３３３Ｃのうちの一のＵＩコントロールを表示し、ＵＩコントロール３３３Ａ〜３３３Ｃにより提供される選択肢の各項目をＵＩコントロール３３３Ａ〜３３３Ｃの全てに共通する識別子に変換し、その変換後の識別子に基づき一のＵＩコントロールにより提供される選択肢の各項目が所定の禁則条件に該当するかどうかを判定する。
【００９８】
例えば、本実施形態に係るプリンタードライバー３００は、それぞれ印刷装置５００の「ステープル」機能に関する選択肢を提供するＵＩコントロール７０１および７１１のうちのＵＩコントロール７０１を表示し、ＵＩコントロール７０１およびＵＩコントロール７１１により提供される選択肢の各項目をＵＩコントロール７０１および７１１の双方に共通する識別子に変換し（表４参照）、その変換後の識別子に基づきコントロール７０１により提供される選択肢の各項目が所定の禁則条件に該当するかどうかを判定する。
【００９９】
よって、本実施形態によると、「ステープル」機能のＵＩコントロール種が「Ｓｔａｔｉｃ＋Ｃｏｍｂｏ」から「Ｃｈｋ＋Ｃｏｍｂｏ」等に変更されたとしても、禁則処理の際にＵＩコントロール制御部３３２から禁則処理部３３１に送信される識別子が変更されることはないので、図１７および図２１のようなＵＩコントロール種に依存しない禁則処理構文を採用することができる。その結果、本実施形態によると、プリンタードライバー３００の機能拡張や仕様変更等に伴い、印刷機能ごとのＵＩコントロール種が変更されたとしても、禁則処理部３３１により解析すべき禁則処理構文を修正する必要がなくなるので、ユーザーにとっての利便性が大幅に向上することになる。
【０１００】
また、本実施形態に係るプリンタードライバー３００は、表１〜表３のようなＵＩコントロール種ごとに予め定められた動作仕様に従ってＵＩコントロール３３３Ａ〜３３３Ｃの動作を制御するので、複数の印刷機能について同一のＵＩコントロール種を使用する場合のＵＩコントロールどうしの動作のばらつきを解消することができる。例えば、「ステープル」および「両面印刷」の双方についてＵＩコントロール３３３Ｂ（ＵＩコントロール種：Ｓｔａｔｉｃ＋Ｃｏｍｂｏ）を使用する場合は、ＵＩコントロール７０１およびＵＩコントロール７１２のような同一形態のＵＩコントロールが生成されるので、ＵＩコントロールどうしの動作のばらつきを解消することができる。
【０１０１】
本発明は、上記実施形態のみに限定されることなく、特許請求の範囲に記載された範囲内で適宜改変される。例えば、上記実施形態では、印刷装置５００の印刷機能の例として、用紙サイズ、ステープル、両面印刷等を挙げたが、本発明に係る印刷設定を意味する事項はこれらに限定されない。また、上記実施形態では、ＵＩコントロールを構成するコントロール部品の例として、スタティックテキスト、コンボボックス、チェックボックス等を挙げたが、本発明に係るコントロール部品はこれらに限定されない。さらに、上記実施形態ではＵＩコントロール種の例として、スタティックテキストおよびコンボボックスの組み合わせ、チェックボックスおよびコンボボックスの組み合わせ、ならびにチェックボックス等を挙げたが、本発明に係るコントロールの種類はこれらに限定されない。
【符号の説明】
【０１０２】
１００    ＰＣ、
１０１    ＣＰＵ、
１０２    入力部、
１０３    ＲＡＭ、
１０４    通信Ｉ／Ｆ部、
１０５    表示部、
１０６    ＨＤＤ、
２０１    ネットワーク、
２０２    複写機、
２０３    画像形成装置、
２０４    多機能周辺機器、
３００    プリンタードライバー、
３１０    禁則情報、
３２０    禁則定義データＩ／Ｆ、
３３０    ＵＩ処理部、
３３１    禁則処理部、
３３２    ＵＩコントロール制御部、
３３２Ａ  ＵＩコントロール処理部（変換部）、
３３２Ｂ  ＵＩコントロール処理部（変換部）、
３３２Ｃ  ＵＩコントロール処理部（変換部）、
３３３    ＵＩ表示部、
３３３Ａ  ＵＩコントロール（ＵＩコントロール種：Ｃｈｋ＋Ｃｏｍｂｏ）、
３３３Ｂ  ＵＩコントロール（ＵＩコントロール種：Ｓｔａｔｉｃ＋Ｃｏｍｂｏ）、
３３３Ｃ  ＵＩコントロール（ＵＩコントロール種：ＣｈｅｃｋＢｏｘ）、
３４０    印刷機能定義データ、
３５０    印刷機能定義データＩ／Ｆ、
３６０    レンダリング処理部、
４００    アプリケーション、
５００    印刷装置、
７００    ＵＩ、
７０１    ＵＩコントロール、
７０２    ＵＩコントロール、
７１０    ＵＩ、
７１１    ＵＩコントロール、
７１２    ＵＩコントロール、
８０１    ポップアップメッセージ、
８０２    ツールチップ。
【図１】
2013214213.tif 000007
【図２】
2013214213.tif 000008
【図３】
2013214213.tif 000009
【図４】
2013214213.tif 000010
【図５】
2013214213.tif 000011
【図６】
2013214213.tif 000012
【図７】
2013214213.tif 000013
【図８】
2013214213.tif 000014
【図９】
2013214213.tif 000015
【図１０】
2013214213.tif 000016
【図１１】
2013214213.tif 000017
【図１２】
2013214213.tif 000018
【図１３】
2013214213.tif 000019
【図１４】
2013214213.tif 000020
【図１５】
2013214213.tif 000021
【図１６】
2013214213.tif 000022
【図１７】
2013214213.tif 000023
【図１８】
2013214213.tif 000024
【図１９】
2013214213.tif 000025
【図２０】
2013214213.tif 000026
【図２１】
2013214213.tif 000027
【図２２】
2013214213.tif 000028
【図２３】
2013214213.tif 000029
【図２４】
2013214213.tif 000030
【図２５】
2013214213.tif 000031
【図２６】
2013214213.tif 000032
【図２７】
2013214213.tif 000033
【図２８】
2013214213.tif 000034
【図２９】
2013214213.tif 000035