JP2007299325A - ユーザインターフェイス制御方法、ユーザインターフェイス制御装置及びプログラム - Google Patents
ユーザインターフェイス制御方法、ユーザインターフェイス制御装置及びプログラム Download PDFInfo
- Publication number
- JP2007299325A JP2007299325A JP2006128569A JP2006128569A JP2007299325A JP 2007299325 A JP2007299325 A JP 2007299325A JP 2006128569 A JP2006128569 A JP 2006128569A JP 2006128569 A JP2006128569 A JP 2006128569A JP 2007299325 A JP2007299325 A JP 2007299325A
- Authority
- JP
- Japan
- Prior art keywords
- logical
- setting
- input
- logical expression
- user interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- User Interface Of Digital Computer (AREA)
Abstract
【課題】設定項目の追加・削除等の変更をした場合にプリセットデータを抽出するプログラムの変更の必要がないユーザインターフェイス制御方法、ユーザインターフェイス制御装置及びプログラムを提供する。
【解決手段】設定項目「カラーモード」「メディア」「印刷品質」を選択した際に、自動設定されるべき設定項目1,2,…の組合せを特定する条件を論理式で表現する。論理式で用いられている論理変数は、選択時に真、非選択時に偽になる論理変数X1,…,Xn(nは2以上の整数)と、非選択時に真、選択時に偽になる論理変数X1 ̄,…,Xn ̄である。論理変数のうち設定モードに係る論理変数をXpとすると、論理式は((第1論理式)∧Xp)∨((第2論理式)∧Xp ̄)として表される。CPUは禁則条件の論理式Eを計算し、プリセットデータを抽出する。
【選択図】図4
【解決手段】設定項目「カラーモード」「メディア」「印刷品質」を選択した際に、自動設定されるべき設定項目1,2,…の組合せを特定する条件を論理式で表現する。論理式で用いられている論理変数は、選択時に真、非選択時に偽になる論理変数X1,…,Xn(nは2以上の整数)と、非選択時に真、選択時に偽になる論理変数X1 ̄,…,Xn ̄である。論理変数のうち設定モードに係る論理変数をXpとすると、論理式は((第1論理式)∧Xp)∨((第2論理式)∧Xp ̄)として表される。CPUは禁則条件の論理式Eを計算し、プリセットデータを抽出する。
【選択図】図4
Description
本発明は、例えば印刷条件を設定する際に複数の設定項目の選択肢が選択可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に従って制御するユーザインターフェイス制御方法、ユーザインターフェイス制御装置及びプログラムに関する。
例えばプリンタによる印刷は、印刷サイズや用紙種などの印刷設定情報を設定して行われる。例えば特許文献1には、スタンドアロン型のプリンタにおいて、プリンタの表示画面に表示された入力画面上で入力装置を用いて印刷設定情報を選択できるプリンタが開示されている。また、特許文献2及び特許文献3には、ホストコンピュータの表示装置の画面に、ユーザが入力装置を用いて印刷設定情報を設定可能な設定画面を表示するプリンタドライバが開示されている。特許文献2の技術では、用紙が不足した用紙トレイが設定画面上で選択できないような禁則処理が行われる構成となっていた。
また、特許文献1〜3に開示のとおり、設定画面(ユーザインターフェイス)では、用紙サイズ、用紙種、印刷速度など複数の設定項目毎にそれぞれ複数の選択肢が用意され、ユーザは設定項目毎に所望の選択肢を選択することにより印刷設定情報を設定できるようになっていた。
ところで、この種のユーザインターフェイスで選択可能な設定項目には、前述の用紙サイズ、用紙の種類などの他、カラー/モノクロ、高速印刷(低解像度印刷)/写真印刷(高解像度印刷)、縁なし印刷/縁あり印刷など、多岐に渡って種々の設定項目を選択できる。
また、近年、プリンタドライバが画面に表示するユーザインターフェイスにおいて、ユーザが多数の設定項目の選択肢をいちいち設定しなくても、適切な印刷条件がプリセットされ、ユーザが簡単な選択操作をするだけで適切な印刷条件が自動設定される機能が備えられるようになってきている。例えばカラーモード(カラー/モノクロ)、メディア(普通紙/マット紙/光沢紙/…)、印刷品質(テキスト/ドラフト)などユーザが希望する主要な印刷条件が決まれば、その主要な印刷条件の下で印刷画質等が極力よくなるように予め用意されたその他の詳細設定項目の選択肢が自動で設定される。この種のプリセットデータは複数用意されており、ユーザは簡単な操作をするだけで適切な印刷条件が自動で設定される。その選択方法には例えば2つの方法があった。1つは、ユーザインターフェイス上でプリセット番号を選択すると、そのプリセット番号に対応するプリセットデータが引き当てられ、適切な印刷条件が自動設定されるものである。他の1つは、ユーザインターフェイスに通常設定モードとプリセット設定モードが用意され、プリセット設定モードで、前述のカラーモード、メディア、印刷品質など主要な設定項目についての選択肢を選択する。すると、その選択肢が設定された場合に適切と判断される詳細設定項目の選択肢の組合せを示すプリセットデータが引き当てられ、これが自動設定されるものである。
従来は、プリセット番号毎、あるいは主要な設定項目の選択肢の組合せ毎に、プリセットデータを対応付けたテーブルを備え、該テーブルを参照することで適切な印刷条件を引き当てるように構成されていた。
また、ユーザが設定項目の選択肢を選択して印刷条件を設定する場合においても、ある設定項目の選択肢A1と他の設定項目の選択肢B1との組合せが、適切な印刷画質を得るうえで適さない場合には、選択肢A1が選択されたときに他の設定項目の選択肢B1が無効化(非表示またはグレーアウト)されるようになっている。例えば印刷品質の設定項目で、印刷品質より印刷速度を優先する「ドラフト」が選択されているときは、「双方向印刷」の設定項目では、キャリッジの往復走査のうち一方向のみで印刷が行われ印刷速度の遅い「単方向印刷」が選択できないように、双方向印刷「オフ」の選択肢が無効化される。このように不適切な選択肢の組合せを回避できるように、禁則条件から、各設定項目を有効化すべきか無効化すべきかを判断して、設定不可能な組み合わせになる選択肢については無効化するようにユーザインターフェイスを制御するように構成されている。
特開2001−312491号公報
特開2004−5455号公報
特開2005−165713号公報
しかしながら、上記2つの従来方法には、設定項目を後から追加・削除等のため、テーブルのフォーマット規則を後から変更した場合、ドライバ側のプログラムの変更が必要になり、フォーマット変更に弱いという問題があった。また、プリセットデータを読み込んで設定するドライバ側のロジックを、禁則データを処理するロジック等の他のロジックと共用することができなかった。
本発明は上記問題点に鑑みてなされたものであって、その目的は、設定項目の追加・削除等の変更をした場合にプリセットデータを抽出するプログラムの変更の必要がないユーザインターフェイス制御方法、ユーザインターフェイス制御装置及びプログラムを提供することにある。
本発明は、複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御方法であって、前記複数の設定項目に設定すべき選択肢の組合せを示すプリセットデータを特定するために必要な条件を前記設定項目の各選択肢を論理変数として表現した論理式を記憶手段に記憶しておき、前記入力手段から前記プリセットデータに対応する選択情報の入力があると、該選択情報から定まる特定の選択肢が選択されている情報を前記論理式における該選択肢と対応する前記論理変数に適用するとともに当該適用後の論理式の演算を行って設定情報を取得する演算ステップと、前記演算ステップで取得した前記設定情報から定まる選択肢の組合せで前記設定項目を設定する処理ステップとを備えたことを要旨とする。
これによれば、入力手段から選択情報の入力があると、演算ステップにおいて、該選択情報から定まる特定の選択肢が選択されている情報を論理式における該選択肢と対応する論理変数に適用するとともに当該適用後の論理式の演算を行って設定情報を取得する。そして、処理ステップでは、演算ステップで取得した設定情報から定まる選択肢の組合せで設定項目を設定する。
換言すると、選択情報を入力することで、プリセットデータのうち特定の設定項目に係る特定の選択肢が定まり、この特定の選択肢が選択されている情報が論理式に適用(代入)される。そして、この適用後の論理式の演算結果として得られる設定情報から、選択情報に対応するプリセットデータのうち前記特定の選択肢が属する設定項目以外の残りの設定項目における選択肢の組合せが定まる。特定の選択肢の設定と併せ、残りの設定項目に係る選択肢の組合せが設定項目に設定されることで、プリセットデータが設定される。よって、この方法によれば、プリセットデータを抽出するための条件を表現した論理式のデータがあればよく、従来のように、プリセットデータを抽出するテーブルを持つ必要がない。よって、設定項目の追加・削除等の変更をした場合に、従来のテーブルを持つ構成で発生するフォーマット変更がないので、プリセットデータを抽出するプログラムの変更の必要がない。なお、選択情報は、特定の選択肢が選ばれていることが分かる情報であればよく、特定の設定項目で特定の選択肢をユーザが入力手段により選んだ情報であってもよい。また、特定の選択肢と対応付けられたプリセット番号などの情報であってもよい。
また、本発明のユーザインターフェイス制御方法では、前記論理式は、前記選択肢が選ばれている場合に真になり選ばれていない場合に偽になる論理変数をX1,…,Xn(nは2以上の整数)を全設定項目の全選択肢に対して定義するとともに、前記論理変数X1,…,Xnの否定であって、選択肢が選ばれていない場合に真になり選ばれている場合に偽になる論理変数X1 ̄,…,Xn ̄を定義し、前記論理変数を論理和・論理積により組み合せることによって、前記プリセットデータを特定する条件を表現した論理式であることが好ましい。
これによれば、選択情報から定まる選択肢に対応する論理変数(例えばXa,Xb,Xc)によって、(Xa∧Xb∧Xc)というサブ論理式を組み込めば、選択情報からこの選択肢の組合せが選ばれている場合は(Xa∧Xb∧Xc)=真(例えば「1」)なり、選ばれていない選択肢の組合せの場合は、(Xa∧Xb∧Xc)=偽(例えば「−1」)になる。また、選択情報に対応するプリセットデータ本体部分のサブ論理式を(Xd ̄∨Xe ̄∨Xf ̄∨g ̄∨…)とすれば、これの禁則条件上の意味で選択肢d,e,f,g,…が選択される必要があるとなり、プリセットデータの選択肢の組合せを表現したものになる。そして、((Xa∧Xb∧Xc)∨(Xd ̄∨Xe ̄∨Xf ̄∨Xg ̄∨…))を1つの論理式単位とし、選択情報の種類ごとの論理式単位を論理和で結合することで、例えば禁則条件の論理式を構築することが可能になる。もちろん、禁則条件でなく、設定を許可する条件とすることも可能である。その場合は、論理式単位を(Xa∧Xb∧Xc)∨(Xd∧Xe∧Xf∧Xg∨…)の形式とし、選択情報の種類ごとの論理式単位を論理和で結合することで、例えば許可の条件の論理式を構築することが可能になる。このように、論理変数X1,X2,…,Xn及び論理変数X1 ̄,X2 ̄,…,Xn ̄を定義することで、プリセットデータを特定可能な論理式を構築可能になる。
また、本発明のユーザインターフェイス制御方法では、前記複数の設定項目は、前記選択情報として選択肢が選ばれるプリセット選択用の設定項目と、前記選択情報として選ばれた選択肢に対応する論理変数の真・偽が前記論理式中の対応する論理変数に適用された当該論理式の演算結果から選択肢が特定されるプリセットデータ本体部分となる設定項目とに分かれ、プリセット選択用の設定項目の各選択肢に対応する論理変数が論理積で結合されて第1サブ論理式(Xa1∧…∧Xan)(nは自然数)を構成し、前記プリセットデータ本体部分となる設定項目の各選択肢に対応する論理変数の否定の論理和で結合されて第2サブ論理式(Xb1 ̄∨Xb2 ̄∨…∨Xbn ̄)(nは自然数)を構成し、1つのプリセットデータを表現する(Xa1∧…∧Xan)∨(Xb1 ̄∨Xb2 ̄∨…∨Xbn ̄)を一つの論理式単位として、各プリセットデータを表現する複数の論理式単位が論理和で結合されることで前記論理式は構成されていることが好ましい。
これによれば、選択情報として、特定の設定項目の選択肢がそれぞれ選択されると、論理式のうち、選択情報となる第1サブ論理式の部分は、(Xa1∧…∧Xan)=1(真)、これ以外で選択肢が1つでも選ばれていない第1サブ論理式の部分は、(Xa1∧…∧Xan)=−1(偽)となる。よって、論理式中にある複数の論理式単位は、選択情報となる第1サブ論理式の部分は、(Xa1∧…∧Xan)=1(真)を含むものは残り、それ以外の(Xa1∧…∧Xan)=−1を含むものは消える。つまり、(Xa1∧…∧Xan)の部分がスイッチとして機能する。そして、スイッチとして機能する第1サブ論理式を含む論理式単位における、(Xb1 ̄∨Xb2 ̄∨…∨Xbn ̄)が演算結果となる。(Xb1 ̄∨Xb2 ̄∨…∨Xbn ̄)は、これらの論理変数に対応する選択肢以外が選ばれることを禁止することを意味し、換言すれば、これらの選択肢が必ず選ばれる必要があることを意味する。これにより1つの選択肢の組合せが特定され、プリセットデータ本体部分の選択肢の組合せが特定されることになる。なお、論理式単位(Xa1∧…∧Xan)∨(Xb1 ̄∨Xb2 ̄∨…∨Xbn ̄)は、論理式構造を示すもので、Xa1,Xanや、Xb1 ̄,Xb2 ̄,…Xbn ̄の論理変数は、論理式単位毎に適宜なものが配置される。
また、本発明のユーザインターフェイス制御方法では、前記ユーザインターフェイスは、前記選択情報を入力して前記設定項目の選択肢を自動設定するプリセット設定モードと、前記設定項目の選択肢を前記入力手段の入力に基づき選択して設定を行う通常設定モードとに切り換え可能に制御され、前記通常設定モードで前記設定項目の選択肢が選択されたときに該選択肢との組合せが禁止されるべき他の前記設定項目の選択肢を選択不能に無効化するために該無効化させるべき選択肢を特定する条件を表現した第2論理式と、プリセット用の前記論理式である第1論理式とを論理和で結合した論理式が前記記憶手段に記憶されていることが好ましい。
これによれば、プリセットデータを表現する第1論理式と、選択を禁止すべき選択肢を特定する条件を表現した第2論理式とを論理和で組み合わせることで一体化された論理式が用いられる。よって、通常設定モードでの処理とプリセット設定モードでの処理で、データの読出し・演算・設定を行うロジックを共通化でき、プログラムが共用可能となる。
本発明は、複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御方法であって、前記ユーザインターフェイスは複数の設定モードに切り換え可能に制御され、前記各設定モードに応じた第1論理式及び第2論理式を含むとともに、該各設定モードのうち一の前記設定モードが選ばれている旨のモード情報が適用されると、該第1論理式及び第2論理式のうち該選択中の設定モードに応じた一の論理式が有効になり非選択中の他の設定モードに応じた他の論理式が無効になる論理演算がなされる論理式のデータを記憶手段に記憶しておき、前記入力手段から設定に係る入力情報を入力すると、前記入力情報と前記モード情報とを前記論理式に適用して該論理式の演算を行うことで設定情報を取得する演算ステップと、前記演算ステップで取得した前記設定情報に基づいて選択中の設定モードに応じた所定の処理を行う処理ステップとを備えたことを要旨とする。
これによれば、複数のうち一の設定モードで入力手段から設定に係る入力情報を入力すると、演算ステップにおいて、設定モードが選ばれている旨のモード情報と入力情報とを論理式に適用して該論理式の演算を行うことで設定情報が取得される。この論理式の演算においては、設定モードが選ばれている旨のモード情報が適用されると、選択中の設定モードに応じたサブ論理式が有効になり非選択中のサブ論理式が無効になる論理演算がなされ、非選択中のサブ論理式が無効となることで、そのときの設定モードに対応するサブ論理式だけに基づき演算した場合と同じ演算結果(設定情報)が得られる。処理ステップでは、演算ステップで取得した設定情報に基づいて選択中の設定モードに応じた所定の処理が行われる。よって、複数の設定モードがあっても、設定モード毎の演算を共通の論理式を用いて行うことができるので、例えば設定モード間で共通の演算プログラムを使用することが可能になり、必要なソフトウェア資源を少なくできる。なお、設定情報とは、設定項目に所定の選択肢を設定する狭義の設定情報と、設定項目に設定可能な又は設定不可能な選択肢を特定する禁則情報を含む。
本発明は、複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御方法であって、前記ユーザインターフェイスは複数の設定モードに切り換え可能であり、前記ユーザインターフェイスが第1設定モードにあるときに入力される第1入力情報に基づき設定項目毎に設定すべき選択肢の組合せを定めるプリセット情報を取得可能な第1論理式と、前記ユーザインターフェイスが第2設定モードにあるときに入力される第2入力情報に基づき設定項目毎の選択肢の有効又は無効を判定可能な禁則情報を取得可能な第2論理式とを含むとともに、前記第1設定モード及び第2設定モードのうち一の設定モードが選ばれている旨を示すモード情報が適用されることにより該第1論理式及び第2論理式のうち選択中の設定モードに対応する一方が有効になり非選択中の設定モードに対応する他方が無効になる論理演算がなされる論理式のデータを記憶手段に記憶しておき、前記第1入力情報を入力した場合は、該第1設定モードが選ばれている旨のモード情報と前記第1入力情報とを前記論理式に適用して該論理式の演算を行うことでプリセット情報を取得し、前記第2入力情報を入力した場合は、該第2設定モードが選ばれている旨のモード情報と前記第2入力情報とを前記論理式に適用して該論理式の演算を行うことで禁則情報を取得する演算ステップと、前記演算ステップで取得した前記設定情報又は前記禁則情報に基づいて選択中の設定モードに応じた所定の処理を行う処理ステップとを備えたことを要旨とする。
これによれば、第1設定モードで第1入力情報を入力した場合は、演算ステップにおいて、第1設定モードが選ばれている旨のモード情報と第1入力情報とを論理式に適用して該論理式の演算を行うことでプリセット情報を取得する。そして、処理ステップにおいて、その取得したプリセット情報に基づいて第1設定モードに応じた所定の処理を行う。この場合、所定の処理として、例えばプリセット情報から決まる選択肢の組合せを設定項目に設定する設定処理が行われる。また、第2設定モードで第2入力情報を入力した場合は、演算ステップにおいて、第2設定モードが選ばれている旨のモード情報と第2入力情報とを論理式に適用して該論理式の演算を行うことで禁則情報を取得する。そして、処理ステップにおいて、その取得した禁則情報に基づいて第2設定モードに応じた所定の処理を行う。この場合、所定の処理として、例えば禁則情報から決まる選択肢を選択不能状態に無効化する無効化処理や、第2入力情報に含まれる選択肢の設定が不可能である旨を報知する処理などが行われる。
また、本発明のユーザインターフェイス制御方法では、前記論理式は、前記選択肢及び前記モード情報のそれぞれに対応する論理変数を論理演算子で結合して表現されていることが好ましい。
これによれば、論理式は選択肢及びモード情報のそれぞれに対応する論理変数を用いているので、モード情報の選択状態を表す状態値に応じた選択肢の組合せを特定することが可能である。
また、本発明のユーザインターフェイス制御方法では、前記論理式は、選ばれている場合に真になり選ばれていない場合に偽になる論理変数X1,…,Xn(nは2以上の整数)と、前記論理変数X1,…,Xnの否定であって、選ばれていない場合に真になり選ばれている場合に偽になる論理変数X1 ̄,…,Xn ̄とを定義し、当該論理変数を論理和・論理積により組み合せた論理式であることが好ましい。
これによれば、論理変数X1,…,Xnと、これらの否定である論理変数X1 ̄,…,Xn ̄とを用いているので、論理式が表現できる条件の幅が広がる。例えば、選択を禁止する禁則条件でも、選択を許可する条件でも対応でき、無効化すべき選択肢が同一設定項目内に複数存在する場合にも対応可能である。
また、本発明のユーザインターフェイス制御方法では、前記論理式は、前記設定モードに係る論理変数をXpとし、((第1論理式)∧Xp)∨((第2論理式)∧Xp ̄)として表され、前記Xpは前記設定モードが選ばれている場合に真になり選ばれていない場合に偽となる論理変数であり、前記Xp ̄は前記設定モードが選ばれていない場合に真になり選ばれている場合に偽になる論理変数であることが好ましい。
これによれば、設定モードが選ばれている場合に論理変数Xpが真(例えば「1」)、論理変数Xp ̄が偽(例えば「−1」)になるので、((第1論理式)∧Xp)∨((第2論理式)∧Xp ̄)=(第1論理式)になる。また、設定モードが選ばれていない場合に論理変数Xpが偽(例えば「−1」)、論理変数Xp ̄が真(例えば「1」)になるので、((第1論理式)∧Xp)∨((第2論理式)∧Xp ̄)=(第2論理式)になる。論理変数Xpが一種のスイッチの機能を果たすので、第1論理式及び第2論理式のうち設定モードに応じた一方を選択可能となる。このようにモード情報が、選択された設定モードに応じた論理式を選択するスイッチ機能を有するので、複数の設定モードがあっても、それぞれの論理式及びその演算等に用いられる演算プログラムを共通化でき、ソフトウェア資源の節約に寄与する。
また、本発明のユーザインターフェイス制御方法では、前記論理式は、前記論理変数及び論理演算子が数値に変換された数値列からなることを特徴とするユーザインターフェイス制御方法。
これによれば、演算ステップにおける演算の対象が、情報(状態値)適用後の数値列であるので、論理式の解析処理などが不要になり、例えばコンピュータによる演算処理を簡単に済ませられる。
また、本発明のユーザインターフェイス制御方法では、前記演算ステップにおける前記論理式への情報の適用は、該情報に対応する論理変数の状態値が前記数値列中の対応する数値に置き換えられることが好ましい。
これによれば、演算ステップにおける情報の論理式への適用が、状態値の数値列中の対応する数値への置き換えによるので、状態値適用後も数値列に保持される。よって演算時に論理式の解析処理などが不要になり、例えばコンピュータによる演算処理を簡単に済ませられる。
また、本発明のユーザインターフェイス制御方法では、前記数値列は、前記論理式が逆ポーランド記法に並び替えられた順番で数値が配列された数値列であることが好ましい。
これによれば、数値列の数値は演算に順番に並んでいるので、数値を順番に参照していけば数値列の演算を行うことができる。よって、例えばコンピュータによる数値列の演算処理が簡単になる。
これによれば、数値列の数値は演算に順番に並んでいるので、数値を順番に参照していけば数値列の演算を行うことができる。よって、例えばコンピュータによる数値列の演算処理が簡単になる。
また、本発明のユーザインターフェイス制御方法では、前記演算ステップでは、前記数値列の演算をスタック計算で行うことが好ましい。
これによれば、演算ステップでは、数値列の演算をスタック計算で行う。数値列の並び順に従って数値を参照して演算を進めればよいので、コンピュータによる演算処理を簡単に済ませられる。
これによれば、演算ステップでは、数値列の演算をスタック計算で行う。数値列の並び順に従って数値を参照して演算を進めればよいので、コンピュータによる演算処理を簡単に済ませられる。
また、本発明のユーザインターフェイス制御方法では、前記演算ステップでは、前記数値列を演算の際に格納する作業用メモリ上で該数値列の数値を順次参照するとともに、数値の参照が終わったメモリ領域をスタック領域として用い、参照数値が論理変数に対応するものである場合は該参照数値を前記スタック領域にプッシュし、参照数値が論理演算子に対応するものである場合は前記スタック領域から複数の数値をポップして当該複数の数値に該論理演算子で規定される演算を施してその演算結果を前記スタック領域にプッシュするスタック操作を行うことで、前記数値列の演算を行うことが好ましい。
これによれば、作業用メモリに格納した数値列の数値を順次参照するとともに、数値の参照が終わったメモリ領域をスタック領域として活用する。参照数値が論理変数に割り当てられた数値である場合は、該参照数値をスタック領域にプッシュし、参照数値が論理演算子に割り当て得られた数値である場合はスタック領域から複数(2つ)の数値をポップして当該複数の数値に該論理演算子で規定される演算を施してその演算結果をスタック領域にプッシュする。このようなスタック操作を繰り返すことで数値列の演算は進められる。作業用メモリ上の数値参照の終わったメモリ領域をスタック領域に活用するので、スタック計算する場合に別途メモリ領域を用意する必要がない。
本発明は、複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御装置であって、前記複数の設定項目に設定すべき選択肢の組合せを示すプリセットデータを特定するために必要な条件を前記設定項目の各選択肢を論理変数として表現した論理式を記憶する記憶手段と、前記入力手段から前記プリセットデータに対応する選択情報の入力があると、該選択情報から定まる特定の選択肢が選択されている情報を前記論理式における該選択肢と対応する前記論理変数に適用するとともに当該適用後の論理式の演算を行って設定情報を取得する演算手段と、前記演算手段が取得した前記設定情報から定まる選択肢の組合せで前記設定項目を設定する処理手段とを備えたことを要旨とする。
本発明は、複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御装置であって、前記入力手段からの入力も基づき前記ユーザインターフェイスの設定モードを切り換えるモード切換手段と、前記各設定モードに応じた第1論理式及び第2論理式を含むとともに、該各設定モードのうち一の前記設定モードが選ばれている旨のモード情報が適用されると、該第1論理式及び第2論理式のうち該選択中の設定モードに応じた一の論理式が有効になり非選択中の他の設定モードに応じた他の論理式が無効になる論理演算がなされる論理式のデータを記憶する記憶手段と、前記入力手段から設定に係る入力情報を入力すると、前記入力情報と前記モード情報とを前記論理式に適用して該論理式の演算を行うことで設定情報を取得する演算手段と、前記演算ステップで取得した前記設定情報に基づいて選択中の設定モードに応じた所定の処理を行う処理手段とを備えたことを要旨とする。
これによれば、ユーザインターフェイスの設定モードは入力手段からの入力に基づき、モード切換手段により切り換えられる。入力手段から設定に係る入力情報を入力すると、演算手段は、記憶手段から論理式のデータを読み出すとともに、設定モードが選ばれている旨のモード情報と入力情報とを論理式に適用して該論理式の演算を行って設定情報を取得する。そして、処理手段により、演算手段が取得した設定情報に基づいて選択中の設定モードに応じた所定の処理が行われる。演算手段による演算時には、設定モードが選ばれている旨のモード情報が論理式に適用されることで、論理式の論理演算において該選択中の設定モードに応じた論理式が有効になり非選択中の設定モードに応じた論理式が無効になる。つまり、論理式の論理演算の過程で、非選択中の設定モードに応じた論理式が論理式中が消去され、選択中の設定モードに応じた論理式が残り、入力情報に基づき選択中の設定モードに応じた論理式の演算が行われる。よって、設定モード毎の各演算に、共通の論理式が使用されることから、その演算ロジックを共通化できる。よって、設定モード毎に個別に演算ロジックを備える必要がなく、例えばユーザインターフェイス制御処理に必要なソフトウェア資源を少なく済ませられる。
また、本発明をコンピュータが実行するプログラムとして実現することも可能である。そして、本発明は、複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御する処理をコンピュータが実行するためのユーザインターフェイス制御用プログラムであって、前記複数の設定項目に設定すべき選択肢の組合せを示すプリセットデータを特定するために必要な条件を前記設定項目の各選択肢を論理変数として表現した論理式を記憶手段に記憶しておき、コンピュータが、前記入力手段から前記プリセットデータに対応する選択情報の入力があると、該選択情報から定まる特定の選択肢が選択されている情報を前記論理式における該選択肢と対応する前記論理変数に適用するとともに当該適用後の論理式の演算を行って設定情報を取得する演算ステップと、前記演算ステップで取得した前記設定情報から定まる選択肢の組合せで前記設定項目を設定する処理ステップとを実行するためのプログラムであることを要旨とする。このプログラムをコンピュータに実行させることにより、本発明の方法及び装置を実現可能であり、上記方法及び装置の発明と同様の効果を得ることができる。
本発明は、複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御する処理をコンピュータが実行するユーザインターフェイス制御用プログラムであって、前記ユーザインターフェイスは複数の設定モードに切り換え可能に制御され、前記各設定モードに応じた第1論理式及び第2論理式を含むとともに、該各設定モードのうち一の前記設定モードが選ばれている旨のモード情報が適用されると、該第1論理式及び第2論理式のうち該選択中の設定モードに応じた一の論理式が有効になり非選択中の他の設定モードに応じた他の論理式が無効になる論理演算がなされる論理式のデータが記憶手段に記憶されており、コンピュータが、前記入力手段から設定に係る入力情報を入力すると、前記入力情報と前記モード情報とを前記論理式に適用して該論理式の演算を行うことで設定情報を取得する演算ステップと、前記演算ステップで取得した前記設定情報に基づいて選択中の設定モードに応じた所定の処理を行う処理ステップとを実行するためのプログラムであることを要旨とする。このプログラムをコンピュータに実行させることにより、本発明の方法及び装置を実現可能であり、上記方法及び装置の発明と同様の効果を得ることができる。
以下、本発明を具体化した一実施形態を、図1〜図12に基づいて説明する。
図1は、印刷システムのハードウェア構成を示すブロック図である。印刷システムは、パーソナルコンピュータ等からなるコンピュータ11と、コンピュータ11のインターフェイス(以下「I/F17」)に接続されたプリンタ21とから構成される。プリンタ21は例えばインクジェット式プリンタである。
図1は、印刷システムのハードウェア構成を示すブロック図である。印刷システムは、パーソナルコンピュータ等からなるコンピュータ11と、コンピュータ11のインターフェイス(以下「I/F17」)に接続されたプリンタ21とから構成される。プリンタ21は例えばインクジェット式プリンタである。
図1に示すように、コンピュータ11は、CPU12、ROM13、RAM14、HDD(Hard Disk Drive)15、ビデオ回路16、I/F17、バス18、表示装置19および入力装置20によって構成されている。
ここで、CPU12は、ROM13やHDD15に格納されているプログラムに従って各種演算処理を実行するとともに、装置の各部を制御する制御部である。
ROM13は、CPU12が実行する基本的なプログラムやデータを格納しているメモリである。RAM14は、CPU12が実行途中のプログラムや、演算途中のデータ等を一時的に格納するメモリである。
ROM13は、CPU12が実行する基本的なプログラムやデータを格納しているメモリである。RAM14は、CPU12が実行途中のプログラムや、演算途中のデータ等を一時的に格納するメモリである。
HDD15は、CPU12からの要求に応じて、ハードディスクに記憶されているデータやプログラムを読み出すとともに、CPU12の演算処理の結果として発生したデータを前述したハードディスクに記憶する記憶装置である。
ビデオ回路16は、CPU12から供給された描画命令に応じて描画処理を実行し、得られた画像データを映像信号に変換して表示装置19に出力する回路である。
I/F17は、入力装置20から出力された信号の表現形式を適宜変換するとともに、プリンタ21に対して印刷データを出力する回路である。
I/F17は、入力装置20から出力された信号の表現形式を適宜変換するとともに、プリンタ21に対して印刷データを出力する回路である。
バス18は、CPU12、ROM13、RAM14、HDD15、ビデオ回路16およびI/F17を相互に接続し、これらの間でデータの授受を可能とする信号線である。
表示装置19は、例えば、LCD(Liquid Crystal Display)モニタやCRT(Cathode Ray Tube)モニタによって構成され、ビデオ回路16から出力された映像信号に応じた画像を表示する装置である。
表示装置19は、例えば、LCD(Liquid Crystal Display)モニタやCRT(Cathode Ray Tube)モニタによって構成され、ビデオ回路16から出力された映像信号に応じた画像を表示する装置である。
入力装置20は、例えば、キーボードおよびマウスによって構成されており、ユーザの操作に応じた信号を生成して、I/F17に供給する装置である。
以下、図2に示す各機能部分について個々に説明する。
以下、図2に示す各機能部分について個々に説明する。
図2に示すように、コンピュータ11には、アプリケーションプログラム、ビデオドライバプログラムおよびプリンタドライバプログラム等が実装されており、これらが所定のオペレーティングシステム(OS)の下で動作している。コンピュータ11に内蔵されたCPU12がHDD15等に格納されている前述の各種プログラムを実行することにより、アプリケーション部23、ビデオドライバ24およびプリンタドライバ25が構築されている。
プリンタドライバ25は、UI制御装置30および印刷部38を備えている。UI制御装置30は、記憶部31、データロード部32、テーブル作成部33、演算部34、UI制御部35、印刷部38を備えている。なお、これらの機能部分は、コンピュータ11のハードウェアと、HDD15に記憶されているソフトウエアとが協働することにより実現される。
アプリケーション部23は、例えば画像編集などを行う機能を有し、ディジタルカメラ等から取り込まれた画像あるいはユーザによって描画された画像の加工処理が可能である。アプリケーション部23で扱う画像は、ビデオドライバ24に出力されることで表示装置19の画面に表示される。アプリケーション部23は、入力装置20が操作されて印刷実行の指令を受け付けると、その印刷対象の画像データをプリンタドライバ25に出力する。
ビデオドライバ24は、ビデオ回路16を駆動するためのプログラムであり、例えばアプリケーション部23から供給された画像データに対してガンマ処理やホワイトバランスの調整等を行った後、映像信号を生成して表示装置19に供給して画像を表示させる。また、プリンタドライバ25はUI26の画像データをビデオドライバ24を介して表示装置19の画面に表示させる。
プリンタドライバ25は、表示装置19の画面に、ユーザが印刷条件を入力設定するためのユーザインターフェイス(以下、「UI26」という)の表示制御を行うユーザインターフェイス制御装置(以下、「UI制御装置30」という)を備えている。UI制御装置30は、ユーザが入力装置20を操作してアプリケーション部23に対して例えば印刷実行指令または印刷設定表示指令などの印刷に係る指令を入力すると、その指令を受け付けたプリンタドライバ25により起動される。
UI制御装置30は、用紙サイズ、メディア、カラーモードなどの設定項目が選択可能に配置された設定画面を有するUI26を表示させる。UI26には印刷条件を構成する各種設定項目毎に、例えばコンボボックス、ラジオボタン、チェックボックス等の選択機能部のうちの一つが対応付けて配置されており、ユーザは、UI26上に各設定項目毎の選択機能部を必要に応じて選択操作して選択肢を変更することで所望の印刷条件を設定する。本実施形態では、UI26には、図12(a)に示す通常設定モードの設定画面(以下、「通常設定画面26A」という)と、図11(a)に示すプリセット設定モードの設定画面(以下、「プリセット設定画面26B」という)とが用意されている。
図11は、プリセットに係る各種設定画面を示すもので、同図(a)がプリセット設定画面、同図(b)が詳細設定画面を示す。また、図12は通常設定画面を示す。図11に示すプリセット設定画面26Bには、主要な設定項目「カラーモード」、「メディア」、「印刷品質」の3つが用意されている。各設定項目の選択肢として、カラーモードにはカラー/モノクロが用意され、メディアには普通紙/OHP紙/マット紙/光沢紙、…等が用意され、さらに印刷品質にはドラフト/テキストが用意されている。これら3種類の設定項目の選択肢が選択された状態でOKボタン29を操作すると、詳細設定画面26Cに用意された各設定項目の選択肢の中から、前記3種類の設定項目の選択肢の組合せに応じた適切な選択肢が自動選択されるように構成されている。なお、詳細設定画面26Cは、図12に示す通常設定画面26Aにおいて詳細設定ボタン(図示省略)を操作すると、表示される設定画面であり、プリセット設定画面26Bで設定を行うときは自動設定されるため表示されることはない。
図11(b)に示す詳細設定画面26Cには、設定項目として、例えば「設定項目1」「設定項目2」「設定項目3」「設定項目4」の4つが用意されている。本例では、「設定項目1」が「双方向印刷」のオン/オフを選択する項目であり、「設定項目2」が「マイクロウィーブ」のオン/オフを選択する項目となっている。印刷実行指令時または印刷設定表示指令時に起動されたUI制御装置30は、通常設定画面26Aをまず表示し、この通常設定画面26Aでプリセットボタン(図示せず)が操作された入力があると、図11(a)に示すプリセット設定画面26Bを表示するようになっている。なお、プリセット設定画面26Bで設定可能な設定項目の数や設定内容は適宜変更可能であり、また詳細設定画面26Cで設定可能な設定項目の数や設定内容も適宜変更可能である。また、設定項目が多い場合は詳細設定画面が複数あったり、詳細設定画面の設定項目の一つの選択肢の下位にさらに詳細な詳細設定画面が用意された階層構造になっていてもよい。
図12に示す通常設定画面26Aは、例えば設定項目として、「用紙サイズ」、「カラーモード」、「メディア」が用意されており、前記詳細設定ボタンを操作すると表示される図11(b)に示す詳細設定画面26Cで他の設定項目の選択肢が選択可能となっている。この場合、設定項目間で、一緒に設定できない選択肢の組合せがある。例えば設定項目「メディア」において写真印刷時に設定される「光沢紙」と、設定項目「印刷品質」における写真印刷に適さない「ドラフト」との組合せが、それに該当する。選択肢の組合せとして不適切な組合せについては予め設定できないように禁止しておくことで、ユーザが不適切な印刷条件で印刷してしまうことを防止するようにしている。選択が禁止された選択肢の組合せで印刷条件が設定されることを防止する方法として、選択禁止の選択肢をグレーアウト状態してユーザによる選択を不能にする方法がとられる。また、通常設定画面26Aには、設定を確定するときに操作されるOKボタン27が用意されている。なお、選択が禁止された選択肢を選択不能状態に無効化する方法は、選択肢の非表示であってもよい。
印刷条件を設定するためにUI26上で選択できる設定項目は、詳細設定画面等の下位の設定画面で設定されるものも含めると、プリンタ21の機種によって異なるものの、例えば10〜20程度ある。各設定項目毎に2〜10程度用意されている選択肢を設定項目毎に1つずつ選択して印刷条件を設定する。
図2に示すUI制御装置30は、通常設定画面26Aおよび詳細設定画面26Cにおいて選択肢が変更された入力を得ると、その他の設定項目の選択肢のうち組合せが禁止された選択肢を判定して、禁止された選択肢が存在する場合はその選択肢を選択不能な状態に無効化する処理を行う。
UI制御装置30は、プリセット設定画面26BでOKボタン29が操作された入力を得たときにプリセットされるべき選択肢を判定する判定処理、および通常設定画面26Aで選択肢が変更された入力を得たときに、選択が禁止されるべき選択肢を判定する判定処理を行う。これらの判定処理は、共通の論理式を数値化した禁則データ(数値列)に基づき行う構成となっている。UI制御装置30は、通常設定画面26Aまたはプリセット設定画面26Bで前記判定処理開始のトリガとなるUI制御開始の入力を得ると、そのときのモードで選択されている各選択肢の状態値を数値列に代入し、その代入後の数値列を演算して得られた演算結果からプリセットデータまたは禁則情報を取得する。そして、取得した禁則情報に基づいてプリセット設定モードではプリセットされるべき選択肢を特定し、一方、通常設定モードでは選択不能にされるべき選択肢を特定する。
本実施形態では、図2に示すプリンタメーカー側のコンピュータ50で作成された論理式52を数値に変換した数値列55が、プリンタドライバプログラムと共にCD−ROM41に記憶され、このCD−ROM41がプリンタ21に同梱されてユーザに提供される。そして、CD−ROM41からユーザのコンピュータ11にプリンタドライバプログラム及び各種データがインストールされることにより、UI制御装置30を有するプリンタドライバ25がコンピュータ11に実装される。
ここで、コンピュータ50で行われる処理について説明する。コンピュータ50には、開発者がプリンタ用のUI制御装置30を開発するためのツールが実装されており、このツールの一部の機能として数値列作成部51が備えられている。開発用のツールはソフトウェアにより構成され、コンピュータ50がそのソフトウェアを実行することで、数値列作成部51はその一部の機能として構築されている。数値列作成部51は、開発者が入力手段(図示せず)を操作することで与えられた禁則情報に基づいて論理式52を作成するとともに該論理式52を所定の規則に従って数値列55に変換する。論理式52は、複数の設定項目間で選択が禁止されるべき組合せを定める禁則条件を、選択肢を論理変数として表現された論理式であり、前述のように、プリセットされるべき選択肢の特定と、選択が禁止されるべき選択肢の特定とに共用される。この論理式52の詳細については後述する。
次に、UI制御装置30の構成部分について説明する。
図2に示す記憶部31は、HDD15の所定記憶領域またはメモリにより構成されたもので、UI制御処理に必要なデータが格納されている。記憶部31には、前述のとおり、CD−ROM41から読み込まれた数値列55のデータが記憶されている。また、記憶部31には、UI26上の選択肢毎に選択/非選択のどちらの状態にあるかその選択状態の状態値をフラグで管理する所定記憶領域が用意されている。初期状態では各状態値(フラグ)はデフォルトの値が設定されており、入力装置20の操作によって選択肢の選択状態が変更される度に、フラグの値が変更されるように構成されている。
図2に示す記憶部31は、HDD15の所定記憶領域またはメモリにより構成されたもので、UI制御処理に必要なデータが格納されている。記憶部31には、前述のとおり、CD−ROM41から読み込まれた数値列55のデータが記憶されている。また、記憶部31には、UI26上の選択肢毎に選択/非選択のどちらの状態にあるかその選択状態の状態値をフラグで管理する所定記憶領域が用意されている。初期状態では各状態値(フラグ)はデフォルトの値が設定されており、入力装置20の操作によって選択肢の選択状態が変更される度に、フラグの値が変更されるように構成されている。
データロード部32は、入力装置20からUI制御処理開始のトリガとなる前記入力があると、そのときのモードに応じた設定画面における各選択肢の選択状態を示す状態値(フラグ)データと、数値列55のデータとを、記憶部31からロードする。本実施形態では、選択肢の選択状態が変更された操作の入力が、UI制御処理開始のトリガとなる。
テーブル作成部33は、データロード部32がロードした数値列55のデータと、選択肢毎の状態値とに基づきテーブル44(図3に示す)を作成する。
演算部34は、テーブル作成部33が作成したテーブル44を参照して、数値列55を構成する多数の数値のうち各選択肢の論理変数に割り当てられた数値を、対応する選択肢の状態値に置き換える処理を行う。つまり、数値列55で表現された論理式の論理変数に状態値を代入する処理を行う。そして、状態値適用後の数値列を計算する所定の演算処理を行う。
演算部34は、テーブル作成部33が作成したテーブル44を参照して、数値列55を構成する多数の数値のうち各選択肢の論理変数に割り当てられた数値を、対応する選択肢の状態値に置き換える処理を行う。つまり、数値列55で表現された論理式の論理変数に状態値を代入する処理を行う。そして、状態値適用後の数値列を計算する所定の演算処理を行う。
UI制御部35は、プリセット設定モードの場合は、演算部34の演算結果から特定されるプリセットされるべき選択肢を設定する。つまり、記憶部31の所定記憶領域に管理されている各選択肢の状態値を、プリセットされるべき選択肢が選択されている状態に強制的に切り換える。また、通常設定モードの際は、演算部34の演算結果から、設定不可能な選択肢を判定し、設定不可能な選択肢が存在した場合は、通常設定画面26Aおよび詳細設定画面26Cにおいてその設定不可能な選択肢を選択不能なグレーアウト状態に切り換える。
印刷部38は、UI26上のOKボタン27,29が操作された入力が与えられると、記憶部31から状態値のデータを読み出して印刷設定情報を取得するとともに、印刷対象の画像データに解像度変換処理、色変換処理、ハーフトーン処理およびラスタライズ処理を施して生成した印刷データをプリンタ21に出力する。印刷データは、プリンタ21が解釈できる形式のデータであって、前記画素データと、各種のコマンドデータとを有するデータである。
解像度変換処理は、印刷対象となる例えばRGB画像の解像度を、設定項目「印刷品質」の選択肢から決まる印刷解像度に変換する処理である。また、この処理を行う際は、設定項目「用紙サイズ」の選択肢から決まる用紙サイズに応じた画像サイズに変倍する変倍処理やトリミング処理等が必要に応じて行われる。色変換処理は、RGB表色系で表現されたRGB画像データを、色変換テーブル(図示せず)を参照して、CMYK表色系の画像データに変換する処理である。ハーフトーン処理は、多段階の階調値を有するCMYK画素データを、プリンタ21が表現可能な、少段階の階調値を有するCMYK画素データに変換する処理である。ラスタライズ処理は、前記ハーフトーン処理がなされたCMYK画像データを、プリンタ21に転送すべきデータ順に変更する処理である。ラスタライズ処理されたデータは、コマンドが付された印刷データとしてプリンタ21に出力される。
次に、数値列55について説明する。数値列55は、プリンタメーカー側のコンピュータ50で作成されるもので、その作成手順を以下に説明する。図3は、プリセットデータを論理変数に変換する処理の流れを説明するためのテーブル図を示す。同図(a)はプリセットテーブル、同図(b)は論理変数変換テーブル、同図(c)は論理変数変換後のプリセットテーブルである。
同図(a)に示すプリセットテーブル61は、主要な設定項目「カラーモード」「メディア」「印刷品質」の組合せ毎にプリセット番号が付され、それぞれにプリセットデータが設定されている。プリセットデータは、主要な設定項目以外の複数の設定項目に設定されるべき選択肢の組合せが設定されたデータ列である。ここで、本実施形態では、設定項目1は、双方向印刷のオン/オフ設定であり、設定項目2はマイクロウィーブのオン/オフ設定であるので、これら設定項目1および設定項目2についてはオンまたはオフが設定されている。また、設定項目3および設定項目4など3つ以上の選択肢を有する設定項目については、各設定項目中のいずれか1つの選択肢が設定されている。なお、プリセット番号は説明の便宜上付したもので無くてもよい。
図3(b)に示す論理変数変換テーブル62は、設定項目毎の選択肢を論理変数に変換するためのテーブルであり、選択肢の各々に対応する論理変数が設定されている。例えば設定項目「カラーモード」では、選択肢「カラー」に論理変数「X1」、選択肢「モノクロ」に論理変数「X2」が設定されている。以下、他の設定項目の選択肢の各々に、普通紙「X3」、OHPシート「X4」、ドラフト「X5」、テキスト「X6」、双方向印刷オン「X7」、双方向印刷オフ「X8」、マイクロウィーブオン「X9」、マイクロウィーブオフ「X10」、…が設定されている。なお、メディアには普通紙とOHPシート以外にも複数の選択肢があり、実際にはすべての選択肢に論理変数が設定されているが、図3(b)では、説明の便宜上、普通紙とOHPシートだけに論理変数を設定した例で示している。
ここで、設定項目について説明する。設定項目「カラーモード」はカラー印刷かモノクロ印刷かを選択するものである。設定項目「メディア」は印刷媒体を選択するもので、選択肢として例えば「普通紙、OHPシート、マット紙、光沢紙、半光沢紙、…」がある。設定項目「印刷品質」には選択肢として「ドラフト」と「テキスト」がある。「ドラフト」は印刷品質よりも印刷速度を優先する印刷(下書き印刷)を指し、選択肢「テキスト」は印刷速度よりも印刷品質を優先する印刷を指す。
設定項目「双方向印刷」には「オン」と「オフ」がある。「オン」のときは、キャリッジの往復走査の両方向で印刷が行われる双方向印刷(Bi−d)が設定され、「オフ」のときはキャリッジの往復走査の一方向のみで印刷が行われる単方向印刷(Uni−d)が設定される。印刷品質は双方向印刷より単方向印刷の方がよく、印刷速度は単方向印刷より双方向印刷の方がよい。このため、印刷速度を優先するドラフトモードでは双方向印刷が設定され、印刷品質を優先するテキストモードでは単方向印刷が設定される。
また、設定項目「マイクロウィーブ」には「オン」と「オフ」がある。「オン」のときは、印刷品質を優先するマイクロウィーブと呼ばれる記録方式が設定され、「オフ」のときは印刷速度を優先するバンド印刷と呼ばれる記録方式が設定される。バンド印刷は、記録ヘッドのノズル数を最大限に活用するので印刷速度は速いものの、ノズル毎の個体差に起因するドット着弾位置のズレ(ヘッド飛行曲がり)や紙送り量誤差が視覚的に目立ちやすい記録方式である。また、マイクロウィーブ印刷は、副走査方向(紙送り方向)の隣接ドットを異なるノズルで印刷するため紙送り量が小さいものの、ヘッド飛行曲がりや紙送り量誤差が分散されて視覚的に目立ちにくく、良好な画質が得られる記録方式である。このため、印刷速度を優先するドラフトモードではバンド印刷が設定され、印刷品質を優先するテキストモードではマイクロウィーブ印刷が設定される。なお、プリセットの対象となるその他の設定項目の例として、フチ無し印刷や、APF(画質自動調整)を挙げることができる。これらの設定項目はいずれもオン/オフで設定される。
図3(c)に示すプリセットテーブル63は、図3(a)に示すプリセットテーブル61を論理変数で表したものである。このプリセットテーブル63は、プリセットテーブル61中の各選択肢を、図3(b)の論理変数変換テーブル62を参照して、論理変数に変換することにより作成される。
図4は、論理式を作成する処理の流れを説明するためのテーブル図を示す。同図(a)はプリセット論理式テーブル、同図(b)はプリセット論理式、同図(c)はマニュアル禁則論理式、同図(d)は論理変数変換後のプリセットテーブル、同図(e)は論理式をそれぞれ示す。
図4(a)に示すプリセット論理式テーブル64は、図3(c)に示すプリセットテーブル63において、プリセット番号毎のプリセット条件を、禁則条件の論理式で表現したものである。例えばプリセット番号「1」では、主要な設定項目の各選択肢に割り当てられた論理変数が論理積で結合された(X1∧X3∧X5)と、その他の設定項目1,2,3…の選択肢に割り当てられた論理変数の否定が論理和で結合された(X7 ̄∨X9 ̄∨X11 ̄∨X14 ̄∨…)とが論理積で結合された論理式が設定されている。
論理式で用いられている論理変数には、「X1,X2,X3,X4,X5,…」と、「X1 ̄,X2 ̄,X3 ̄,X4 ̄,X5 ̄,…」がある。論理変数Xn(但しn=1,2,…)は、論理変数Xnで表された選択肢Nが選択されているときに真(TRUE)となり、この選択肢Nが選択されていないときに偽(FALSE)となる論理変数である。一方、論理変数Xn ̄(但しn=1,2,…)は、論理変数Xnで表された選択肢Nが選択されていないときに真(TRUE)となり、この選択肢Nが選択されているときに偽(FALSE)となる論理変数である。論理変数Xn,Xn ̄は、それぞれ真(TRUE)である場合に値「1」をとり、偽(FALSE)である場合に値「−1」をとる。
ここで、プリセット番号1の例では、その論理式のうち(X1∧X3∧X5)は、論理変数X1,X3,X5のすべてが選択されているときに真(TRUE)となり、そのうち1つでも非選択のものがあれば偽(FALSE)となる。また、この論理式のうち(X7 ̄∨X9 ̄∨X11 ̄∨X14 ̄∨…)は、論理変数X7 ̄,X9 ̄,X11 ̄,X14 ̄のうち1つでも真(TRUE)であれば真(TRUE)となる論理式であり、この論理式は後述の禁則条件においては、論理変数X7,X9,X11,X14のすべてが選択されなければならないことを意味する。
図4(b)は、プリセット論理式を示す。プリセット論理式Epは、図4(a)に示すプリセット論理式テーブル64中の各プリセット番号に対応する各論理式を論理和で結合した論理式である。このプリセット論理式Epは、プリセットされるべき選択肢の組合せを特定する禁則条件を論理式で表現したものになっている。図4(b)のプリセット論理式Epの右辺における各行において、前段の論理式(X1∧X3∧X5)、(X1∧X3∧X6)、(X1∧X4∧X5)、…は、主要な設定項目のうち対応する選択肢がすべて選択されているときに真(TRUE)=1になり、対応する選択肢のうち1つでも非選択のものがあれば偽(FALSE)=−1となる。このため、前段の論理式が偽(FALSE)=−1になった行(プリセット番号)の論理式はその値が「−1」になる(∵−1∧A=−1)。よって、前段の論理式が真(TRUE)=1になった行(プリセット番号)の論理式は、その行の後段の論理式に等しく、この後段の論理式が、プリセット論理式Epに等しくなる。
例えば1行目の(X1∧X3∧X5)=1であれば、他の行の前段(X1∧X3∧X6)、(X1∧X4∧X5)、…はそれぞれ「−1」になって、他の行の論理式はすべて値が「−1」になるので、この場合、プリセット論理式Ep=(X7 ̄∨X9 ̄∨X11 ̄∨X14 ̄∨…)になる。つまり、前段の論理式(X1∧X3∧X5)、(X1∧X3∧X6)、(X1∧X4∧X5)、…が、一種のスイッチとして機能する。
このプリセット論理式Epが禁則条件を表すものであるので、上記の例の場合は、禁則条件上においては、前述のように、論理変数X7,X9,X11,X14のすべてが選択されなければならないことを意味する。このようにプリセット論理式Epは、プリセット設定画面26Bにおいて、主要な設定項目「カラーモード」「メディア」「印刷品質」の選択肢の組合せが1つ決まると、その組合せに対応するプリセットされるべき他の設定項目「設定項目1」「設定項目2」…の選択肢の組合せを特定可能となっている。
図4(c)は、マニュアル禁則論理式を示す。マニュアル禁則論理式Emは、通常設定モードにおいて、設定不可能な選択肢の組合せを特定する禁則条件を論理式で表現したものである。このマニュアル禁則論理式Emは、ある設定項目中の選択肢が変更された場合、その変更された選択肢と組み合わせて設定することが不可能な選択肢を特定することができる。
禁止されるべき選択肢の組合せについては、それぞれを表す論理変数が論理積(∧)で繋がれ、例えば「Xn∧Xm」、「Xn ̄∧Xm」、「Xn∧Xm ̄」、「Xn ̄∧Xm ̄」「(Xn∧Xm)∧Xl」、…のように論理式中に組み込まれる。そして、これらの禁止の組合せを論理積で繋いだそれぞれが、論理和(∨)で繋がれて小集団の式が形成され、さらにその論理和で繋がれた小集団の式が他の小集団の式と論理和で繋がれることにより、例えば論理式52は構築されている。よって、ある禁止の組合せを追加したい場合は、論理式中にその禁止の組合せに対応する各論理変数を論理積(∧)で繋いだ、例えば「Xn∧Xm」または前記小集団の式を、既存の論理式52中に論理和で繋ぐかたちで追加すればよい。また、ある禁止の組合せを削除したい場合は、その禁止の組合せに対応する各論理変数を論理積(∧)で繋いだ、例えば「Xn∧Xm」または前記小集団の式を、既存の論理式52から削除すればよい。このように論理式52を用いれば、禁止の組合せの追加・削除は比較的簡単に行える。
例えば複数の設定項目の選択肢が設定された状態で、その他に未設定の設定項目が存在する場合、例えばEm=X1∨X4 ̄が計算結果として得られた場合、禁則条件上においては、その未設定の設定項目について、論理変数X1の選択肢が選択されることを禁止し、かつ、論理変数X4の選択肢が選択されないことを禁止することを意味する。つまり、論理変数X1の選択肢は選択禁止(設定禁止)で、論理変数X4の選択肢が必ず選択される必要があることを意味する。本実施形態では、設定禁止の論理変数に対応する選択肢は選択できないように無効化(グレーアウト)するようにしている。
図4(d)は、設定モードテーブルを示す。設定モードテーブル65は、プリセット設定モードのオン/オフと論理変数との対応関係を示すものである。通常設定画面26Aに用意されている図12に示すプリセットボタン28が操作されてプリセット設定画面26Bが表示されているときに、プリセット設定モードはオンになり、プリセットボタン28が操作されず通常設定画面26Aが表示されているときに、プリセット設定モードはオフになる。論理変数Xpは、プリセット設定モードがオンのときに真(TRUE)になり、オフのときに偽(FALSE)となる。また、論理変数Xp ̄は、プリセット設定モードがオフのときに真(TRUE)になり、オンのときに偽(FALSE)となる。論理変数Xp,Xp ̄は共に、真(TRUE)のときに「−1」、偽(FALSE)のときに「1」の値をとる。
図4(e)は、禁則論理式を示す。この禁則論理式Eは、図4(b)に示すプリセット論理式Epと、図4(c)に示すマニュアル禁則論理式Emとを含む1つの論理式に組み立てたものである。この禁則論理式Eは、プリセット設定モードのオン/オフの論理変数Xpを使って、E=(Ep∧Xp)∨(Em∧Xp ̄)で表される。プリセット設定モードがオンの場合、(Ep∧Xp)=Ep、(Em∧Xp ̄)=−1となるので、E=Epとなる。一方、プリセット設定モードがオフの場合、(Ep∧Xp)=−1、(Em∧Xp ̄)=Emとなるので、E=Emとなる。このように禁則論理式Eにおいて、プリセット設定モードのオン/オフを表す論理変数Xpが一種のスイッチとして機能する。本実施形態では、この禁則論理式Eを用いることにより、プリセット設定と通常設定において共通の論理式を用いることを可能としている。
次にプリンタメーカー側のコンピュータ50で行われる論理式52(禁則論理式E)から数値列を生成する処理について説明する。図5は、コンピュータ50で行われる処理を説明する流れ図である。数値列を作成する一連の処理は、数値列作成部51が行う。数値列作成部51が行う処理は、図5(a)〜(d)に示すように、(a)論理式52の作成、(b)逆ポーランド記法への並び替え、(c)論理変数・論理記号の数値変換処理、の主に3つの処理からなる。
図5(a)に示す論理式52は、上述の手法に基づきコンピュータ50の数値列作成部51が作成する。開発者が入力装置(図示せず)を操作して選択肢の論理変数を必要に応じて定義して、数値列作成部51からの要求に応じてプリセット情報および禁止される組合せ情報を入力すると、数値列作成部51は、上述の規則に従って論理式52を作成する。
すなわち、数値列作成部51は、設定項目中の特定の選択肢が選ばれた場合に真(TRUE)、 選ばれていない場合に偽(FALSE)になる論理変数X1,X2,X3,…を全設定項目の全選択肢分定義する。次に、X1,X2,X3,…の否定、すなわち選択肢が選ばれない場合に真(TRUE)、選ばれた場合に偽(FALSE)となる論理変数X1 ̄,X2 ̄,X3 ̄,…と定義する。そして、入力装置から与えられたプリセット情報を基に、これらの論理変数を論理和・論理積による組み合せることによって、プリセット論理式Epを作成する。入力装置から与えられた禁止される組合せ情報を基に、これらの論理変数を論理和・論理積で組み合せることによって、マニュアル禁則論理式Emを作成する。そして、論理変数Xp,Xp ̄を使って、プリセット論理式Epとマニュアル禁則論理式Emとを1つに結合して禁則論理式Eで表される論理式52を作成する。
こうして論理式52が作成されると、数値列作成部51は、次に図5(b)に示すように、論理式52を逆ポーランド記法へ並び替える処理を行う。この処理の結果、同図(b)に示すように、論理式52中の括弧「()」が外されて論理変数・論理記号が計算順序の順番に並び替えられた、逆ポーランド記法の論理式53が得られる。
次に、数値列作成部51は、この逆ポーランド記法の論理式53を、図5(c)に示す変換テーブル54を参照して、図5(d)に示す数値列55に変換する。この変換テーブル54は予めメモリの所定記憶領域に記憶されているものを読み出して使用する。あるいは、その都度、設定項目の選択肢の数に応じて数値列作成部51が作成してもよい。
図5(c)に示す変換テーブル54は、論理変数・論理記号とそれらの変換先の数値との対応関係を示したテーブルである。変換テーブル54では、「TRUE(真)」が「1」、「FALSE(偽)」が「−1」に変換されるように設定され、また論理積(∧)が「2」、論理和(∨)が「−2」に変換されるように設定されている。また、論理変数については、論理変数「X1,X2,X3,X4,…」がそれぞれ「3、4,5,6,…」に変換され、論理変数「X1 ̄,X2 ̄,X3 ̄,X4 ̄,…」がそれぞれ「−3、−4,−5,−6,…」に変換されるように設定されている。また、「0」は終端用(NULL)に使用される。なお、「TRUE」および「FALSE」の変換は、論理式53から数値列55への変換には使用されないので、数値列55は「1」および「−1」を含まない。
こうして数値列作成部51は、変換テーブル54を参照して、図3(b)に示す逆ポーランド記法の論理式53を図3(d)に示す数値列55に変換する。数値列55には、その最終端位置に、数値列55の終端位置であることを示す「0」が配置される。コンピュータ11がこの数値列55の演算を行うときには、数値列55における同図の左端位置が演算開始位置になり、この演算開始位置から順次右側へ1つずつ参照する数値をシフトしながら演算を進めることになる。そして、終端用の「0」を参照すると、すべての数値の演算が終了したことになる。この演算終了位置を認識できるように終端用の「0」は数値列55の最後に配置される。
この数値列55のデータは、前述のように、プリンタドライバプログラムと共にCD−ROM41に書き込まれ、CD−ROM41からプリンタドライバプログラムと共にユーザのコンピュータ11にインストールされることにより、HDD15内の所定記憶領域からなる図2に示す記憶部31に格納される。コンピュータ11は数値列55をソフトウェアの設定データとして持ち、UI制御装置30がUI26を制御するときに使用する。ユーザがアプリケーション部23から印刷実行を指示し、プリンタドライバ25が印刷指令を受け付けると、UI制御装置30が表示装置19の画面にUI26を表示させるとともに、入力装置20の操作によってユーザがそのUI26上で選択肢を選択した場合に禁止されるべき組合せの選択を禁止する禁則制御を行う。
図6は、UI26上でUI制御処理開始のトリガとなる入力装置20から入力を得たときに、CPU12が実行するUI制御処理用プログラム(禁則制御処理用プログラム)を示すフローチャートである。UI制御処理開始のトリガとなる入力は、本実施形態では、通常設定モードとプリセット設定モードで異なる。通常設定モードにおいては、設定項目の選択肢が変更されたり、未設定の設定項目で選択肢が選択されたりした際の入力装置20からの入力が、UI制御処理開始のトリガとなる。また、プリセット設定モードにおいては、プリセット設定画面26Bで主要な設定項目「カラーモード」「メディア」「印刷品質」の選択肢が選択された状態でOKボタン29が操作された際の入力装置20からの入力が、UI制御処理開始のトリガとなる。
記憶部31には、プリセット設定モードのオン/オフを管理する所定記憶領域が設けられている。通常設定画面26Aでプリセットボタン28が操作されてプリセット設定画面26Bが表示されている状態にあるときは、プリセット設定モードがオンになる。また、プリセットボタン28が操作されず通常設定画面26Aの表示状態にあるときや、プリセット設定画面26Bでキャンセルボタン(図示省略)が操作されて通常設定画面26Aに復帰した状態にあるときは、プリセット設定モードがオフになる。プリセット設定モードがオンのときは前記所定記憶領域のフラグに「1」がセットされ、オフのときはフラグが「0」にリセットされるようになっている。論理変数Xpは、プリセット設定モード管理用のフラグが「1」のときに状態値「1」をとり、このフラグが「0」のときに状態値「−1」をとる。なお、UI制御処理は、このUI制御処理用プログラムを実行するCPU12により構成されるUI制御装置30が行う。
以下、UI制御処理について、図6のフローチャートに従って、図7〜図10を適宜参照しつつ説明する。図7は作業用メモリ43における演算開始前の前処理を示す説明図であり、図8は作業用メモリ43における演算手順を説明する説明図である。また、図9は論理変数を含む数値式の演算方法を説明する説明図であり、図10は計算完了時の作業用メモリ43を示す説明図である。なお、以下の説明においては、通常設定画面26Aでプリセットボタン28が操作されて表示装置19の画面に表示されたプリセット設定画面26Bで、主要な設定項目「カラーモード」「メディア」「印刷品質」の選択肢が選択された状態でOKボタン29が操作された場合を想定する。このOKボタン29が操作された際の入力は入力装置20から図2に示すUI制御装置30のデータロード部32に与えられる。この入力を契機にUI制御処理は開始される。
まずステップS10では、作業用のメモリ領域の準備をする。本実施形態では、RAM14に作業用メモリ領域を確保し、そのメモリ領域を作業用メモリ43(図7及び図8に示す)として使用する。なお、選択肢が125個以下の場合は、1つの数値につき1バイト分確保し、選択肢が125個を超える場合は、1つの数値につき2バイト分確保する。この選択肢の個数には、プリセット設定モードのオン/オフの選択肢も含む。
ステップS20では、数値列55を作業用メモリ43にコピーする。すなわち、記憶部31から数値列55を読み出して、図7(a)に示すように、作業用メモリ43に格納する。なお、選択肢が125個以下の場合は、1つの数値を先に確保した1バイト分に格納し、選択肢が125個を超える場合は、1つの数値を先に確保した2バイト分に格納する。
ステップS30では、設定状態(選択状態)を示すテーブルを生成する。すべての選択肢に対して論理変数X1,X2,X3,…が割り当てられており、UI26上で選択されている選択肢の設定状態(選択状態)から、各論理変数X1,X2,X3,…のうち選択肢が選択済みの設定項目中の選択肢については、選択・非選択が分かる。選択されている選択肢の論理変数に対応する数値(Index)には「1」(TRUE)、選択されていない(非選択)の選択肢の論理変数に対応する数値(Index)には「−1」(FALSE)をそれぞれ設定して、図7(b)に示すテーブル44を作成する。同図の例では、主要な設定項目「カラーモード」「メディア」「印刷品質」の各選択肢およびプリセット設定モードのオン/オフの選択肢に対応する論理変数に割り当てられた数値には、そのときの選択状態に応じた状態値が設定される。図7(b)のテーブル44は、プリセット設定画面26Bにおける3つの設定項目で「カラー」「普通紙」「テキスト」がそれぞれ選択された場合(図3における「プリセット番号2」の場合)の例である。この例の場合、選択されている選択肢の論理変数X3,X8,…,Xpに対応する数値(Index)「5」「8」…,「127」に対しては「1」が状態値として設定され、選択されていない(非選択の)選択肢の論理変数X2,X4,X5,…に対応する数値(Index)「4」「6」「7」…に対しては「−1」が状態値として設定されている。このとき、今からプリセットを行なおうとしている設定項目の選択肢に対応する数値に関しては、置き換えを行なわない。よって、今からプリセットされるべき設定項目の選択肢に対応する論理変数X7,X8に割り当てられた数値「9」「10」に対してはそのまま「9」「10」が設定されている。なお、論理変数X1 ̄,X2 ̄,X3 ̄,…,Xp ̄の状態値は、X1,X2,X3,…,Xpの状態値に「−1」を乗ずることによって取得可能である。また、テーブル44において、数値(Index)「0」「1」「2」は選択肢を表す数値ではないので、未使用となる。
ここで、通常設定モードである場合は、設定項目の選択肢が選択される度にUI制御処理を開始するので、状態値が「1」(TRUE)又は「−1」(FALSE)に決まっていない未定の論理変数が存在する。選択されている選択肢の論理変数に対応する数値(Index)には「1」(TRUE)、選択されていない(非選択)の選択肢の論理変数に対応する数値(Index)には「−1」(FALSE)をそれぞれ状態値として設定する。このとき、今から禁則判定を行なおうとしている設定項目の選択肢に対応する数値に関しては、置き換えを行なわない。このようにテーブル44の作成手順はプリセット設定モードの場合と基本的に同じである。
ステップS40では、論理変数に割り当てられている数値を、テーブル44から取得した論理変数の状態値に置き換える。すなわち、図7(a)に示す数値列55のうち論理変数が割り当てられた数値(Index)「3,4,5,…」を、テーブル44中の対応する状態値(「1」または「−1」)に置き換えて、図7(c)に示すような数値列56に変換する。
ステップS50では、置き換え後の数値列56をスタック操作で計算する。図8は、スタック操作で行われる計算手順を示すものである。このスタック操作で数値列56を計算することで、禁則情報を抽出する。以下、スタック操作による計算方法を説明する。
置き換えられた数値列56を、作業用メモリ43における同図における左端位置から右方向に1つずつ数値を参照していき、作業用メモリ43自体をスタックとして活用する、スタック操作を行うことで数値列56の計算を実施する。
図8(a)は、数値置き換え直後から最初の数値を参照して計算を行うまでの過程を示す。ここで、作業用メモリ43をスタックとして活用してスタック操作による計算を行うためには、数値の参照位置を管理するとともに、スタック終端位置を管理する必要がある。CPU12はメモリ上に所定記憶領域を確保して、スタック終端位置を管理している。また、メモリ上に別の所定記憶領域を確保して、ここで作業用メモリ43上の数値列56中の数値を1つずつ順番に参照する参照位置45(アドレス)を管理している。
参照位置45は作業用メモリ43における図8の左端位置を参照開始位置とし、数値を参照する度に1つずつ右方向へ移動していく。一方、スタック終端46は、作業用メモリ43上において図6の左端位置を初期位置とする。スタック操作は次の規則に従って行われる。参照位置45の数値(参照数値)が論理変数の状態値である「1」(TRUE)又は「−1」(FALSE)の場合は、その参照数値を作業用メモリ43のスタック終端46の位置にプッシュする。数値をプッシュした場合は、スタック終端46を1つ右へ移動する。また、参照位置45の数値(参照数値)が論理記号を表す数値である「2」(論理積)又は「−2」(論理和)の場合は、作業用メモリ43中のスタック領域から2つ数値をポップして、そのポップした数値の個数分(2つ分)スタック終端46を左へ戻す。このような規則に従って行われるスタック操作と、参照位置45およびスタック終端46の位置管理は、UI制御用プログラムに基づいてCPU12が行う。なお、図8における作業用メモリ43における1つの数値が格納される格納エリア(同図における1升分)のアドレスを、便宜上、左端位置から順に第1アドレス、第2アドレス、第3アドレス、…と呼ぶことにする。
まず図8(a)に示すように、最初の参照位置45である1番目の数値を参照する。参照数値が「1」(TRUE)であるので、その参照数値を作業用メモリ43上のスタック終端46の位置である第1アドレスにプッシュする。プッシュしたことによってスタック終端46は1つ右へ移動する。こうして1個目の数値の参照およびプッシュが終わると、図8(b)に示すように、参照位置45およびスタック終端46が共に2個目の数値が位置する第2アドレスを示す状態になる。
次に図8(b)に示すように、参照位置45にある2個目の数値を参照すると、その参照数値が「1」であるので、その参照数値を作業用メモリ43上のスタック終端46の位置である第2アドレスにプッシュする。プッシュしたことによってスタック終端46は1つ右へ移動する。こうして2個目の数値の参照およびプッシュが終わると、図示はしないが、参照位置45およびスタック終端46が共に3個目の数値が位置する第3アドレスを示す状態になる。
次に図8(c)に示すように、参照位置45にある3個目の数値を参照すると、その参照数値が「2」(論理積)であるので、作業用メモリ43のスタック領域から2つ数値をポップして、スタック終端46をポップした個数分(2つ分)だけ左へ戻す。ここで、参照数値「2」が論理積(∧)を意味するので、ポップした2つの数値の論理積を計算する。すなわち、1(TRUE)2(∧)1(TRUE)を計算する。そして、この計算結果である「1」をスタック終端46の位置にプッシュする。このプッシュによってスタック終端46は1つ右へシフトし、図8(d)に示すように第2アドレスを示す状態になる。そして、参照位置45は4個目の数値の位置である第4アドレスを示す状態になる。なお、スタック終端46は、数値を次にプッシュすべき位置を指すので、数値をポップするときの位置は、スタック終端46より1つ左側の位置となる。
次に図8(d)に示すように、参照位置45にある4個目の数値を参照すると、その参照数値が「−1」(FALSE)であるので、その参照数値を作業用メモリ43上のスタック終端46の位置である第2アドレスにプッシュする。この場合、プッシュした数値が上書きされる。このプッシュによってスタック終端46は1つ右へ移動する。こうして4個目の数値の参照およびプッシュが終わると、図示はしないが、参照位置45が5個目の数値の位置である第5アドレスを示す状態になるとともに、スタック終端46が3個目の数値の位置である第3アドレスを示す状態になる。以下、スタック操作を同様の手順で、終端数値「0」を参照するまで繰り返す。
但し、論理変数の数値を含むので、論理積または論理和の計算をする際にその計算対象の1組の数値のうち少なくとも一方に論理変数の数値が含まれる場合がある。このような論理変数の数値を少なくとも一方に含む式の計算は、図9に示す演算ルールに従って効率かつ正確に行えるようにしている。
以下、論理変数の数値を含む場合の演算ルールについて、図9を用いて説明する。同図(a)〜(f)に示す6つの演算ルールが予めプログラムに組み込まれている。これらの演算ルールはいずれも論理積または論理和の演算則から論理的に導かれるものである。
同図では、演算の対象となる論理変数の数値をA,Bで表し、これらの数値A,Bの論理変数をそれぞれXn,Xmとしている。同図(a)〜(f)に示した各演算式では、数値の後の括弧内に、その数値に対応する論理変数、論理記号、状態値を示している。
図9(a)に示す数値列「A21」で表される演算式は、論理変数Xnと状態値「1」との論理積(∧)、すなわち「Xn∧1」を意味する。Xn∧1の場合、Xnが「1」の場合にその演算結果が「1」、Xnが「−1」の場合にその演算結果が「−1」となるので、Xn∧1=Xnになる。よって、「A21」の場合は、スタック終端位置に「A」をプッシュする。
図9(b)に示す数値列「A2−1」で表される演算式は、論理変数Xnと状態値「−1」との論理積(∧)、すなわち「Xn∧−1」を意味する。Xn∧−1の場合、Xnが「1」と「−1」のどちらの値をとっても、その演算結果は「−1」となるので、Xn∧−1=−1になる。よって、「A2−1」の場合は、スタック終端位置に「−1」をプッシュする。
図9(c)に示す数値列「A−21」で表される演算式は、論理変数Xnと状態値「1」との論理和(∨)、すなわち「Xn∨1」を意味する。Xn∨1の場合、Xnが「1」と「−1」のどちらの値をとっても、その演算結果は「1」となるので、Xn∨1=1になる。よって、「A−21」の場合は、スタック終端位置に「1」をプッシュする。
図9(d)に示す数値列「A−2−1」で表される演算式は、論理変数Xnと状態値「−1」との論理和(∨)、すなわち「Xn∨−1」を意味する。Xn∨−1の場合、Xnが「1」の場合にその演算結果が「1」、Xnが「−1」の場合にその演算結果が「−1」となるので、Xn∨−1=Xnになる。よって、「A−2−1」の場合は、スタック終端位置に「A」をプッシュする。
図9(e)に示す数値列「A2B」で表される演算式は、論理変数Xnと論理変数Xmとの論理積(∧)、すなわち「Xn∧Xm」を意味する。Xn∧Xmの場合、Xn,Xmの両方の状態値が未定なので「1」又は「−1」のどちらの値をとるかは分からない。しかし、同一設定項目内の2つの選択肢を同時に選択することはあり得ない。よって、同一設定項目内の2つの選択肢を同時に選択するような、あり得ない組合せの論理積であった場合は、Xn∧XmをFALSE(「−1」)として除外する。よって、「A2B」の場合は、A,Bが同一設定項目内の2つの選択肢を表す数値であれば、スタック終端位置に「−1」をプッシュする。
図9(f)に示す数値列「A−2B」で表される演算式は、論理変数Xnと論理変数Xmとの論理和(∨)、すなわち「Xn∨Xm」を意味する。Xn∨Xmの場合、Xn,Xmの両方の状態値が未定なので「1」又は「−1」のどちらの値をとるかは分からない。よって、「A2B」の場合、A,Bが異なる設定項目内の2つの選択肢を表す数値であれば、スタック終端位置に「A」と「B」をプッシュする。2つの数値をプッシュした場合は、スタック終端46の位置は右へ2つ移動することになる。なお、Xn ̄,Xm ̄のような否定の場合も、同様の規則が適用される。また、数値列の計算結果において、矛盾する論理式が出ないように、CPU12がUI制御処理上で参照する数値がメモリには記憶されている。例えば、論理式に同一設定項目内の選択肢は、同時に設定不可である条件を入れて演算を行う構成にしており、負の数値(否定の論理変数)が複数個発生することが回避されるようになっている。
このように論理変数に割り当てられた数値を少なくとも一方に含む組合せによる演算の場合は、上記の規則に従って計算を行う。そして、終端数値「0」を参照すると、数値列56の計算を完了する。終端数値「0」を参照した段階ではスタック終端46は、その前回の数値参照時に行われた最後の計算結果がプッシュされた位置より1つ右へ移動した状態にある。例えば計算完了時には、作業用メモリ43の先頭位置から演算結果を読み出す際の最終読出し位置をスタック終端46の位置で特定できると都合がよいので、終端数値「0」を参照したときにはスタック終端46を左へ1つ戻すようにする。よって、作業用メモリ43の先頭位置からスタック終端位置までのメモリ領域に格納された数値列(数値1つも含む)が、禁則論理式Eの演算結果として取得される。
図10は、計算完了時の作業用メモリ43を示す。終端数値「0」を参照した段階で、作業用メモリ43において先頭位置からスタック終端位置までのメモリ領域に格納された数値列が、計算結果となっている。CPU12は、作業用メモリ43の先頭位置からスタック終端位置までの数値を読み出して計算結果を取得する。同図に示す例では、「−10−11−13−16…−25」が計算結果として得られる。この数値列を論理式に直すと、禁則論理式Eは、E=X8 ̄∨X9 ̄∨X11 ̄X14 ̄∨…∨X23 ̄となる。これは、論理変数X8,X9,X11,X14,…X23のうち少なくとも1つが非選択となることを禁止することを意味する。つまり、論理変数X8,X9,X11,X14,…X23のすべてが選択される必要があることを意味する。よって、論理変数X8,X9,X11,X14,…X23のそれぞれに対応する選択肢のすべてが選択される必要があるというプリセット情報が得られる。
こうして図6に示すステップS50における数値列のスタック操作による計算は行われ、その計算結果が得られると、次にステップS60に進む。
図6に示すステップS60では、プリセット設定モードであるか否かを判断する。これは、プリセット設定モードのオン/オフ管理用のフラグをみて判断する。フラグが「1」であればプリセット設定モードであり、フラグが「0」であればプリセット設定モードではない、つまり通常設定モードである。プリセット設定モードであれば、ステップS70に進み、プリセット設定モードでなければステップS80に進む。
図6に示すステップS60では、プリセット設定モードであるか否かを判断する。これは、プリセット設定モードのオン/オフ管理用のフラグをみて判断する。フラグが「1」であればプリセット設定モードであり、フラグが「0」であればプリセット設定モードではない、つまり通常設定モードである。プリセット設定モードであれば、ステップS70に進み、プリセット設定モードでなければステップS80に進む。
ステップS70では、計算結果に従ってプリセット設定する。すなわち、図10の例では、得られた計算結果「−10−11−13−16…−25」から、禁則論理式E=X8 ̄∨X9 ̄∨X11 ̄X14 ̄∨…∨X23 ̄が得られる。よって、論理変数X8,X9,X11,X14,…X23のそれぞれに対応する選択肢のすべてが選択される必要があるというプリセット情報が得られる。そして、これらの選択肢のすべてが選択された状態に詳細設定画面26Cにおける設定項目を設定する。この場合、他の選択肢が選択されていても、プリセット情報に基づく選択肢が強制的に設定される。
一方、ステップS80では、計算結果に従って選択肢を無効化する。例えば禁則論理式E=AB(但しA,Bはそれぞれ数値)が得られたとする。この場合、数値Aが正の数値の場合は、数値Aに対応する選択肢を選択不能な状態に無効化(グレーアウト)する。また、数値Aが負の数値の場合は、該当する設定項目において数値Aに対応する選択肢以外の選択肢をすべて選択不能な状態に無効化(グレーアウト)する。この場合、数値Aに対応する選択肢しか設定できないことになる。他方の数値Bについても同様で、その値の正負に応じて定まる所定の選択肢を無効化(グレーアウト)する。
このように通常設定モードとプリセット設定モードにおいて、共通の禁則論理式Eを用いてUI制御処理を行うことができる。なお、ステップS10〜S50が演算ステップに相当し、ステップS60〜S80が処理ステップに相当する。
例えば図11(a)に示すプリセット設定画面26Bにおいて、3つの設定項目「カラーモード」「メディア」「印刷品質」でそれぞれ選択肢として「カラー」「普通紙」「テキスト」を選択して、OKボタン29を操作したとする。すると、CPU12は、OKボタン29の操作の入力をトリガとして、図6のフローチャートで示されるUI制御処理を実行し、ステップS50で計算結果が得られると、その計算結果から取得されるプリセット情報に従って、図11(b)に示すように詳細設定画面26Cの設定項目1〜4の選択肢が自動で設定される。
また、図12に示す通常設定画面26Aにおいて、設定項目「カラーモード」「メディア」が未設定の状態で、ユーザが設定項目「用紙サイズ」で「A4」を選択したとする。すると、この「A4」を選択した際の入力を入力装置20から得たCPU12は、その入力をトリガとしてUI制御処理を開始する。そして、ステップS50で計算結果が得られると、その計算結果から取得される禁則情報に従って、図12(b)に示すように通常設定画面26Aで選択肢が未設定であった設定項目「カラーモード」で例えば「モノクロ」が無効化され、設定項目「メディア」で例えば「OHPシート」が無効化される。
ここで、設定項目には優先順位があり、優先順位が高いか同じ設定項目については状態値を設定するが、優先順位が低い設定項目には状態値を設定せず論理変数の数値をそのまま設定して、テーブル44を作成する。図12の例は、例えば設定項目「カラーモード」が設定項目「用紙サイズ」よりも優先順位が低い例であり、設定項目「カラーモード」の選択肢を表す論理変数に割り当てられた数値は状態値には置き換えられない。よって、数値列の演算結果として得られる数値列の中に設定項目「カラーモード」中の選択肢に対応する数値が含まれることになって、既に「カラー」が選択状態にあった設定項目「カラーモード」において「モノクロ」が無効化される。なお、図11および図12では、無効化された選択肢には括弧を付している。
以上詳述したように本実施形態によれば、以下の効果を得ることができる。
(1)主要な設定項目の各選択肢に割り当てられた論理変数が論理積で結合された第1サブ論理式(Xa1∧…∧Xan)(本例ではn=3)と、その他の設定項目1,2,3…の選択肢に割り当てられた論理変数の否定が論理和で結合された第2サブ論理式(Xb1 ̄∨Xb2 ̄∨…∨Xbn ̄)(本例ではnは4以上)とを論理積で結合した。そして、この1つのプリセットデータを特定する論理式(Xa1∧…∧Xan)∧(Xb1 ̄∨Xb2 ̄∨…∨Xbn ̄)を1つの論理式単位とし、各プリセットデータを特定する論理式単位を論理和で結合してプリセット論理式を構築した。よって、プリセット設定画面26Bで、選択情報として1つの主要な設定項目の組合せが選択されてOKボタン29が操作されると、その選択された主要な設定項目の選択肢の組合せに対応する第1サブ論理式が(Xa1∧…∧Xan)=1になり、これ以外の選択肢の組合せに対応する第1サブ論理式が(Xa1∧…∧Xan)=−1になる。このように第1サブ論理式がスイッチとして機能して、詳細設定画面26C上の設定項目に設定すべき選択肢の組合せを示す第2論理式が演算結果として、E=(Xb1 ̄∨Xb2 ̄∨…∨Xbn ̄)のように得られる。従って、設定項目の追加・削除等の変更をした場合にプリセットデータを抽出するプログラムの変更の必要がない。
(1)主要な設定項目の各選択肢に割り当てられた論理変数が論理積で結合された第1サブ論理式(Xa1∧…∧Xan)(本例ではn=3)と、その他の設定項目1,2,3…の選択肢に割り当てられた論理変数の否定が論理和で結合された第2サブ論理式(Xb1 ̄∨Xb2 ̄∨…∨Xbn ̄)(本例ではnは4以上)とを論理積で結合した。そして、この1つのプリセットデータを特定する論理式(Xa1∧…∧Xan)∧(Xb1 ̄∨Xb2 ̄∨…∨Xbn ̄)を1つの論理式単位とし、各プリセットデータを特定する論理式単位を論理和で結合してプリセット論理式を構築した。よって、プリセット設定画面26Bで、選択情報として1つの主要な設定項目の組合せが選択されてOKボタン29が操作されると、その選択された主要な設定項目の選択肢の組合せに対応する第1サブ論理式が(Xa1∧…∧Xan)=1になり、これ以外の選択肢の組合せに対応する第1サブ論理式が(Xa1∧…∧Xan)=−1になる。このように第1サブ論理式がスイッチとして機能して、詳細設定画面26C上の設定項目に設定すべき選択肢の組合せを示す第2論理式が演算結果として、E=(Xb1 ̄∨Xb2 ̄∨…∨Xbn ̄)のように得られる。従って、設定項目の追加・削除等の変更をした場合にプリセットデータを抽出するプログラムの変更の必要がない。
(2)プリセット設定モードのオン/オフの選択肢を表す論理変数Xpを用い、プリセット論理式Ep(第1論理式)とマニュアル禁則論理式Em(第2論理式)とを、E=(Ep∧Xp)∨(Em∧Xp ̄)のように1つの論理式に組み合わせた形式とした。よって、プリセット設定モードと通常設定モードで、共通の論理式を用いて演算を行うので、プリセット設定モード時と通常設定モード時で使用される演算プログラムを共通化することができる。このため、UI制御処理に用いられるソフトウェアを簡単にすることができる。
(3)論理式を数値に変換した数値列55を記憶部31に記憶しておき、数値列55を演算して、プリセット情報または禁則情報を取得する構成を採用した。よって、論理式の解析処理など複雑な処理をCPU12が行わなくて済み、CPU12が行うUI制御処理(UI制御用プログラム)を簡単なものとすることができる。例えばUI26へ処理結果を反映させる応答速度の遅延を極力回避することができる。従って、禁則条件の論理式を演算するのに必要なデータ量も数値列とすることで比較的少なく、しかも比較的簡単な処理でUI制御を行うことができる。
(4)作業用メモリ43をスタックとして活用して、スタック操作を行うことによって数値列56の演算を行うので、演算に必要なメモリ容量を少なく済ませられる。
(5)数値列55は、論理式を逆ポーランド記法に並び替えたものを数値に変換されたものなので、先頭から順番に数値を参照することにより数値列56の演算をスタック計算で行うことができる。このため、数値列56の計算を比較的簡単な演算処理で済ませることができる。
(5)数値列55は、論理式を逆ポーランド記法に並び替えたものを数値に変換されたものなので、先頭から順番に数値を参照することにより数値列56の演算をスタック計算で行うことができる。このため、数値列56の計算を比較的簡単な演算処理で済ませることができる。
(6)論理変数を少なくとも一方に含む2つの数値の計算に際して、図9で説明した所定のルールを設けたので、論理変数を含む計算であるものの、比較的スムーズにしかも正確な演算結果を得ることができる。
前記実施形態に限定されず、以下の構成で実施することもできる。
(変形例1)前記実施形態では、主要な設定項目で選択された選択肢の組合せ(選択情報)に応じてプリセットデータを引き当てる構成としたが、これに限定されない。例えば、図3に示すようなプリセット番号と主要な設定項目を対応付けておく。例えばプリセット番号を選択すると、該プリセット番号に対応付けられた主要な設定項目の特定の選択肢の組合せ(例えば「カラー」「普通紙」「テキスト」)が定まり、この特定の選択肢が選ばれている情報(状態値)が論理式に適用される構成とする。そして、論理式の計算結果から、選択されたプリセット番号に対応するプリセットデータが引き当てられる。また、プリセットモードのプリセット設定画面でプリセット番号を選択する構成としてもよい。この場合、論理式には各プリセット番号に応じた論理変数も組み込んでおき、プリセット番号と全設定項目の選択肢の組合せとを対応付けた条件式を含めておく。プリセット番号が選択されると、論理式中におけるそのプリセット番号に対応する論理変数の数値を状態値「1」に置き換え、この状態値適用後の数値列を計算することで、プリセット番号に対応するプリセットデータを取得する。例えばプリセット番号の論理変数をXp1,…,Xpn(nは自然数)とすると、例えばプリセット番号「2」を例にして、Xp2∧(X1 ̄∨X3 ̄∨X6 ̄∨X8 ̄∨X9 ̄∨X12 ̄∨X14 ̄∨…)を1つの論理式単位とし、これと同形式で表現されたプリセット番号毎の論理式単位を論理和で組み合わせて論理式を構築する。
(変形例1)前記実施形態では、主要な設定項目で選択された選択肢の組合せ(選択情報)に応じてプリセットデータを引き当てる構成としたが、これに限定されない。例えば、図3に示すようなプリセット番号と主要な設定項目を対応付けておく。例えばプリセット番号を選択すると、該プリセット番号に対応付けられた主要な設定項目の特定の選択肢の組合せ(例えば「カラー」「普通紙」「テキスト」)が定まり、この特定の選択肢が選ばれている情報(状態値)が論理式に適用される構成とする。そして、論理式の計算結果から、選択されたプリセット番号に対応するプリセットデータが引き当てられる。また、プリセットモードのプリセット設定画面でプリセット番号を選択する構成としてもよい。この場合、論理式には各プリセット番号に応じた論理変数も組み込んでおき、プリセット番号と全設定項目の選択肢の組合せとを対応付けた条件式を含めておく。プリセット番号が選択されると、論理式中におけるそのプリセット番号に対応する論理変数の数値を状態値「1」に置き換え、この状態値適用後の数値列を計算することで、プリセット番号に対応するプリセットデータを取得する。例えばプリセット番号の論理変数をXp1,…,Xpn(nは自然数)とすると、例えばプリセット番号「2」を例にして、Xp2∧(X1 ̄∨X3 ̄∨X6 ̄∨X8 ̄∨X9 ̄∨X12 ̄∨X14 ̄∨…)を1つの論理式単位とし、これと同形式で表現されたプリセット番号毎の論理式単位を論理和で組み合わせて論理式を構築する。
(変形例2)前記実施形態では、禁則条件の論理式としたが、これに限定されない。例えば設定を許可する条件を表現した論理式としてもよい。論理式単位を(Xa∧Xb∧Xc)∨(Xd∧Xe∧Xf∧Xg∨…)の形式とし、選択情報の種類ごとの論理式単位を論理和で結合することで、例えば許可の条件の論理式を構築してもよい。この場合、計算結果がE=(Xd∧Xe∧Xf∧Xg∨…)となれば、選択肢d,e,f,g,…を設定する。なお、Xd,Xe,Xf,Xg,…は、選択肢d,e,f,g,…に対応する論理変数である。
(変形例3)前記実施形態では、プリセットデータを特定する禁則条件を表現した第1論理式と禁則データを特定する禁則条件を表現した第2論理式とを一体化した論理式を使用したが、これに限定されない。例えば第1論理式と第2論理式を別々記憶手段に記憶しておき、そのときの設定モードに応じてプリセット設定モードのときは第1論理式を読み出し、通常設定モードのときは第2論理式を読み出す構成を採用することもできる。
(変形例4)前記実施形態では、プリセットデータを引き当てる際の手掛かりにする選択情報を、主要な3つの設定項目を選択した情報としたが、選択情報とするために選択する設定項目の数は3つに限定されず、1つ、2つあるいは4つ以上としてもよい。また、選択情報から特定されて選択肢が自動設定される設定項目の数も、任意に設定できる。例えば1つであってもよい。
(変形例5)前記実施形態では、通常設定モードにおいて、選択肢を選択する度にUI制御処理を開始して選択禁止の選択肢をグレーアウト状態に無効化する方法を採用したが、これに限定されない。例えば全設定項目の選択肢が選択された状態(デフォルト選択状態を含む)でOKボタン27を操作すると、その操作をトリガとしてUI制御処理を開始し、数値列56の計算結果がE=−1の場合は、その設定を確定して印刷部38にその旨を通知し、一方、計算結果がE=1の場合は、設定不可能な旨のメッセージを表示装置19に表示する。
(変形例6)前記実施形態におけるテーブル44のフォーマットに限定されない。例えば状態値置き換え処理の高速化のために、正の数値用と負の数値用に2つテーブルを用意する方法や、2の補数でIndex参照する方法等を採用することもできる。
(変形例7)前記実施形態では、禁則条件を表す論理式を使用したが、禁則の反対で許可される条件を表す論理式を採用してもよい。この場合、数値列の計算結果に基づき選択可能状態に有効化されるべき選択肢を求めることにより、それ以外の選択肢を無効化する構成とする。禁則条件か許可条件かどちらを選択するかは、論理式が簡単で済む方を選択するのが好ましく、選択禁止の条件より選択許可の条件の方が少ない場合は、許可条件の論理式を採用することが好ましい。
(変形例8)前記実施形態では、数値列のスタック計算を、作業用メモリ上でスタック操作を行うことで作業用メモリ上の数値の参照が終わったメモリ領域をスタック領域として活用する構成としたが、これに限定されない。スタック専用のメモリ領域を別途確保し、作業用メモリから読み出した数値をスタック専用のメモリ領域にプッシュしたり、スタック専用メモリ領域から数値をポップしたりする構成を採用できる。この構成によれば、スタック専用メモリ領域を別途確保する必要があり、しかも数値データの読出し・書込み回数が増える処理にはなるものの、数値列の演算で済むので、論理式の解析処理など複雑な演算が伴うことは同様に回避できる。
(変形例9)前記実施形態では、UI26上に用意されたすべての選択肢を論理変数にして論理式を作成したが、一部の選択肢のみを論理変数に表現した論理式を採用し数値列計算を行う構成とすることもできる。例えば選択情報のどれを選んでも、同一選択肢が設定される設定項目については、敢えて計算して特定するまでもなく既知であるので、選択肢が予め既知の設定項目については論理式から外してもよい。
(変形例10)前記実施形態では、論理式を表現した数値列の演算を含むUI制御処理をCPUにプログラムを実行させるソフトウェアにより実現したが、UI制御処理の少なくとも一部の処理をハードウェアにより実現することもできる。例えばASIC等のカスタマICに禁則条件を示す論理式及びその演算プログラム用の回路を形成してUI制御処理をハードウェア上の演算で行ってもよい。UI制御処理がパーソナルコンピュータ以外の例えばプリンタや複合機等の電子機器で行われる構成であれば、電子回路として論理式(数値列)を含む数値列演算回路を持つことも可能である。
(変形例11)ユーザインターフェイス制御方法及び制御装置をパーソナルコンピュータ等のコンピュータにおいて実現したが、前述のようにプリンタや複合機等の電子機器において適用することもできる。この場合、電子機器に内蔵されたCPUにUI制御用プログラムを実行させる構成を採用してもよい。また、プリンタや複合機以外の電子機器に適用することもでき、例えばプロジェクタ、デジタルカメラ、デジタルビデオカメラ、携帯電話機などに適用することもできる。
前記実施形態及び変形例から把握される技術的思想を以下に記載する。
(1)請求項13に記載のユーザインターフェイス制御方法において、前記演算ステップでは、スタック終端位置を管理しており、スタック終端位置に基づいてスタック領域へのプッシュ位置及びポップ位置を特定することを特徴とするユーザインターフェイス制御方法。
(1)請求項13に記載のユーザインターフェイス制御方法において、前記演算ステップでは、スタック終端位置を管理しており、スタック終端位置に基づいてスタック領域へのプッシュ位置及びポップ位置を特定することを特徴とするユーザインターフェイス制御方法。
10…印刷システム、11…コンピュータ、12…モード切換手段及び処理手段を構成するCPU、13…ROM、14…RAM、15…HDD、16…ビデオ回路、19…表示手段としての表示装置、20…入力手段としての入力装置、21…プリンタ、23…アプリケーション部、24…ビデオドライバ、25…プリンタドライバ、30…UI制御装置、31…記憶手段としての記憶部、32…データロード部、33…テーブル作成部、34…演算手段としての演算部、35…処理手段としてのUI制御部、38…印刷部、43…作業用メモリ、44…テーブル、45…参照位置、46…スタック終端、52…論理式、55…数値列、56…数値列。
Claims (18)
- 複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御方法であって、
前記複数の設定項目に設定すべき選択肢の組合せを示すプリセットデータを特定するために必要な条件を前記設定項目の各選択肢を論理変数として表現した論理式を記憶手段に記憶しておき、
前記入力手段から前記プリセットデータに対応する選択情報の入力があると、該選択情報から定まる特定の選択肢が選択されている情報を前記論理式における該選択肢と対応する前記論理変数に適用するとともに当該適用後の論理式の演算を行って設定情報を取得する演算ステップと、
前記演算ステップで取得した前記設定情報から定まる選択肢の組合せで前記設定項目を設定する処理ステップと
を備えたことを特徴とするユーザインターフェイス制御方法。 - 請求項1に記載のユーザインターフェイス制御方法において、
前記論理式は、前記選択肢が選ばれている場合に真になり選ばれていない場合に偽になる論理変数をX1,…,Xn(nは2以上の整数)を全設定項目の全選択肢に対して定義するとともに、前記論理変数X1,…,Xnの否定であって、選択肢が選ばれていない場合に真になり選ばれている場合に偽になる論理変数X1 ̄,…,Xn ̄を定義し、前記論理変数を論理和・論理積により組み合せることによって、前記プリセットデータを特定する条件を表現した論理式であることを特徴とするユーザインターフェイス制御方法。 - 請求項2に記載のユーザインターフェイス制御方法において、
前記複数の設定項目は、前記選択情報として選択肢が選ばれるプリセット選択用の設定項目と、前記選択情報として選ばれた選択肢に対応する論理変数の真・偽が前記論理式中の対応する論理変数に適用された当該論理式の演算結果から選択肢が特定されるプリセットデータ本体部分となる設定項目とに分かれ、プリセット選択用の設定項目の各選択肢に対応する論理変数が論理積で結合されて第1サブ論理式(Xa1∧…∧Xan)(nは自然数)を構成し、前記プリセットデータ本体部分となる設定項目の各選択肢に対応する論理変数の否定の論理和で結合されて第2サブ論理式(Xb1 ̄∨Xb2 ̄∨…∨Xbn ̄)(nは自然数)を構成し、1つのプリセットデータを表現する(Xa1∧…∧Xan)∨(Xb1 ̄∨Xb2 ̄∨…∨Xbn ̄)を一つの論理式単位として、各プリセットデータを表現する複数の論理式単位が論理和で結合されることで前記論理式は構成されていることを特徴とするユーザインターフェイス制御方法。 - 請求項1乃至請求項3のいずれか一項に記載のユーザインターフェイス制御方法において、
前記ユーザインターフェイスは、前記選択情報を入力して前記設定項目の選択肢を自動設定するプリセット設定モードと、前記設定項目の選択肢を前記入力手段の入力に基づき選択して設定を行う通常設定モードとに切り換え可能に制御され、
前記通常設定モードで前記設定項目の選択肢が選択されたときに該選択肢との組合せが禁止されるべき他の前記設定項目の選択肢を選択不能に無効化するために該無効化させるべき選択肢を特定する条件を表現した第2論理式と、プリセット用の前記論理式である第1論理式とを論理和で結合した論理式が前記記憶手段に記憶されていることを特徴とするユーザインターフェイス制御方法。 - 複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御方法であって、
前記ユーザインターフェイスは複数の設定モードに切り換え可能に制御され、
前記各設定モードに応じた第1論理式及び第2論理式を含むとともに、該各設定モードのうち一の前記設定モードが選ばれている旨のモード情報が適用されると、該第1論理式及び第2論理式のうち該選択中の設定モードに応じた一の論理式が有効になり非選択中の他の設定モードに応じた他の論理式が無効になる論理演算がなされる論理式のデータを記憶手段に記憶しておき、
前記入力手段から設定に係る入力情報を入力すると、前記入力情報と前記モード情報とを前記論理式に適用して該論理式の演算を行うことで設定情報を取得する演算ステップと、
前記演算ステップで取得した前記設定情報に基づいて選択中の設定モードに応じた所定の処理を行う処理ステップと
を備えたことを特徴とするユーザインターフェイス制御方法。 - 複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御方法であって、
前記ユーザインターフェイスは複数の設定モードに切り換え可能であり、
前記ユーザインターフェイスが第1設定モードにあるときに入力される第1入力情報に基づき設定項目毎に設定すべき選択肢の組合せを定めるプリセット情報を取得可能な第1論理式と、前記ユーザインターフェイスが第2設定モードにあるときに入力される第2入力情報に基づき設定項目毎の選択肢の有効又は無効を判定可能な禁則情報を取得可能な第2論理式とを含むとともに、前記第1設定モード及び第2設定モードのうち一の設定モードが選ばれている旨を示すモード情報が適用されることにより該第1論理式及び第2論理式のうち選択中の設定モードに対応する一方が有効になり非選択中の設定モードに対応する他方が無効になる論理演算がなされる論理式のデータを記憶手段に記憶しておき、
前記第1入力情報を入力した場合は、該第1設定モードが選ばれている旨のモード情報と前記第1入力情報とを前記論理式に適用して該論理式の演算を行うことでプリセット情報を取得し、前記第2入力情報を入力した場合は、該第2設定モードが選ばれている旨のモード情報と前記第2入力情報とを前記論理式に適用して該論理式の演算を行うことで禁則情報を取得する演算ステップと、
前記演算ステップで取得した前記設定情報又は前記禁則情報に基づいて選択中の設定モードに応じた所定の処理を行う処理ステップと
を備えたことを特徴とするユーザインターフェイス制御方法。 - 請求項5又は請求項6に記載のユーザインターフェイス制御方法において、
前記論理式は、前記選択肢及び前記モード情報のそれぞれに対応する論理変数を論理演算子で結合して表現されていることを特徴とするユーザインターフェイス制御方法。 - 請求項7に記載のユーザインターフェイス制御方法において、
前記論理式は、選ばれている場合に真になり選ばれていない場合に偽になる論理変数X1,…,Xn(nは2以上の整数)と、前記論理変数X1,…,Xnの否定であって、選ばれていない場合に真になり選ばれている場合に偽になる論理変数X1 ̄,…,Xn ̄とを定義し、当該論理変数を論理和・論理積により組み合せた論理式であることを特徴とするユーザインターフェイス制御方法。 - 請求項5乃至請求項8のいずれか一項に記載のユーザインターフェイス制御方法において、
前記論理式は、前記設定モードに係る論理変数をXpとし、((第1論理式)∧Xp)∨((第2論理式)∧Xp ̄)として表され、前記Xpは前記設定モードが選ばれている場合に真になり選ばれていない場合に偽となる論理変数であり、前記Xp ̄は前記設定モードが選ばれていない場合に真になり選ばれている場合に偽になる論理変数であることを特徴とするユーザインターフェイス制御方法。 - 請求項1乃至選択肢9のいずれか一項に記載のユーザインターフェイス制御方法において、
前記論理式は、前記論理変数及び論理演算子が数値に変換された数値列からなることを特徴とするユーザインターフェイス制御方法。 - 請求項10に記載のユーザインターフェイス制御方法において、
前記演算ステップにおける前記論理式への情報の適用は、該情報に対応する論理変数の状態値が前記数値列中の対応する数値に置き換えられることを特徴とするユーザインターフェイス制御方法。 - 請求項10又は請求項11のいずれか一項に記載のユーザインターフェイス制御方法において、
前記数値列は、前記論理式が逆ポーランド記法に並び替えられた順番で数値が配列された数値列であることを特徴とするユーザインターフェイス制御方法。 - 請求項10乃至請求項12のいずれか一項に記載のユーザインターフェイス制御方法において、
前記演算ステップでは、前記数値列の演算をスタック計算で行うことを特徴とするユーザインターフェイス制御方法。 - 請求項13に記載のユーザインターフェイス制御方法において、
前記演算ステップでは、前記数値列を演算の際に格納する作業用メモリ上で該数値列の数値を順次参照するとともに、数値の参照が終わったメモリ領域をスタック領域として用い、参照数値が論理変数に対応するものである場合は該参照数値を前記スタック領域にプッシュし、参照数値が論理演算子に対応するものである場合は前記スタック領域から複数の数値をポップして当該複数の数値に該論理演算子で規定される演算を施してその演算結果を前記スタック領域にプッシュするスタック操作を行うことで、前記数値列の演算を行うことを特徴とするユーザインターフェイス制御方法。 - 複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御装置であって、
前記複数の設定項目に設定すべき選択肢の組合せを示すプリセットデータを特定するために必要な条件を前記設定項目の各選択肢を論理変数として表現した論理式を記憶する記憶手段と、
前記入力手段から前記プリセットデータに対応する選択情報の入力があると、該選択情報から定まる特定の選択肢が選択されている情報を前記論理式における該選択肢と対応する前記論理変数に適用するとともに当該適用後の論理式の演算を行って設定情報を取得する演算手段と、
前記演算手段が取得した前記設定情報から定まる選択肢の組合せで前記設定項目を設定する処理手段と
を備えたことを特徴とするユーザインターフェイス制御装置。 - 複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御するユーザインターフェイス制御装置であって、
前記入力手段からの入力も基づき前記ユーザインターフェイスの設定モードを切り換えるモード切換手段と、
前記各設定モードに応じた第1論理式及び第2論理式を含むとともに、該各設定モードのうち一の前記設定モードが選ばれている旨のモード情報が適用されると、該第1論理式及び第2論理式のうち該選択中の設定モードに応じた一の論理式が有効になり非選択中の他の設定モードに応じた他の論理式が無効になる論理演算がなされる論理式のデータを記憶する記憶手段と、
前記入力手段から設定に係る入力情報を入力すると、前記入力情報と前記モード情報とを前記論理式に適用して該論理式の演算を行うことで設定情報を取得する演算手段と、
前記演算ステップで取得した前記設定情報に基づいて選択中の設定モードに応じた所定の処理を行う処理手段と
を備えたことを特徴とするユーザインターフェイス制御装置。 - 複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御する処理をコンピュータが実行するためのユーザインターフェイス制御用プログラムであって、
前記複数の設定項目に設定すべき選択肢の組合せを示すプリセットデータを特定するために必要な条件を前記設定項目の各選択肢を論理変数として表現した論理式を記憶手段に記憶しておき、
コンピュータが、前記入力手段から前記プリセットデータに対応する選択情報の入力があると、該選択情報から定まる特定の選択肢が選択されている情報を前記論理式における該選択肢と対応する前記論理変数に適用するとともに当該適用後の論理式の演算を行って設定情報を取得する演算ステップと、
前記演算ステップで取得した前記設定情報から定まる選択肢の組合せで前記設定項目を設定する処理ステップと
を実行するためのプログラム。 - 複数の設定項目毎に選択肢を入力可能に表示手段に表示されるユーザインターフェイスを入力手段からの入力に基づき制御する処理をコンピュータが実行するユーザインターフェイス制御用プログラムであって、
前記ユーザインターフェイスは複数の設定モードに切り換え可能に制御され、
前記各設定モードに応じた第1論理式及び第2論理式を含むとともに、該各設定モードのうち一の前記設定モードが選ばれている旨のモード情報が適用されると、該第1論理式及び第2論理式のうち該選択中の設定モードに応じた一の論理式が有効になり非選択中の他の設定モードに応じた他の論理式が無効になる論理演算がなされる論理式のデータが記憶手段に記憶されており、
コンピュータが、前記入力手段から設定に係る入力情報を入力すると、前記入力情報と前記モード情報とを前記論理式に適用して該論理式の演算を行うことで設定情報を取得する演算ステップと、
前記演算ステップで取得した前記設定情報に基づいて選択中の設定モードに応じた所定の処理を行う処理ステップと
を実行するためのプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006128569A JP2007299325A (ja) | 2006-05-02 | 2006-05-02 | ユーザインターフェイス制御方法、ユーザインターフェイス制御装置及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006128569A JP2007299325A (ja) | 2006-05-02 | 2006-05-02 | ユーザインターフェイス制御方法、ユーザインターフェイス制御装置及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007299325A true JP2007299325A (ja) | 2007-11-15 |
Family
ID=38768747
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006128569A Pending JP2007299325A (ja) | 2006-05-02 | 2006-05-02 | ユーザインターフェイス制御方法、ユーザインターフェイス制御装置及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007299325A (ja) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010009420A (ja) * | 2008-06-27 | 2010-01-14 | Canon Inc | 画像処理装置及び画像処理方法 |
US9140571B2 (en) | 2011-08-11 | 2015-09-22 | Denso Corporation | Display control apparatus |
US9285233B2 (en) | 2011-08-11 | 2016-03-15 | Denso Corporation | Display control apparatus |
US9415686B2 (en) | 2011-12-28 | 2016-08-16 | Denso Corporation | Display control apparatus |
US9452677B2 (en) | 2011-10-24 | 2016-09-27 | Denso Corporation | Display control apparatus |
US10140956B2 (en) | 2011-10-24 | 2018-11-27 | Denso Corporation | Display control apparatus |
-
2006
- 2006-05-02 JP JP2006128569A patent/JP2007299325A/ja active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010009420A (ja) * | 2008-06-27 | 2010-01-14 | Canon Inc | 画像処理装置及び画像処理方法 |
US9140571B2 (en) | 2011-08-11 | 2015-09-22 | Denso Corporation | Display control apparatus |
US9285233B2 (en) | 2011-08-11 | 2016-03-15 | Denso Corporation | Display control apparatus |
US9452677B2 (en) | 2011-10-24 | 2016-09-27 | Denso Corporation | Display control apparatus |
US10140956B2 (en) | 2011-10-24 | 2018-11-27 | Denso Corporation | Display control apparatus |
US9415686B2 (en) | 2011-12-28 | 2016-08-16 | Denso Corporation | Display control apparatus |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3900700B2 (ja) | 印刷制御装置およびその方法並びに記録媒体 | |
JP4645246B2 (ja) | アイコン制御プログラム、コンピュータ、方法 | |
US9578193B2 (en) | Quick operation user interface for a multifunction printing device | |
JP5127817B2 (ja) | 画像形成装置、表示制御方法およびプログラム | |
JP2001195393A (ja) | 複数ページの印刷におけるページ特有の特徴を要約する方法 | |
US9377984B2 (en) | Preview screen for processing and manipulating document data for which print processing has already been performed and document data for which print processing is to be newly performed | |
JP2008186262A (ja) | 印刷制御システム、プリンタ及び印刷制御プログラム | |
JP2007299325A (ja) | ユーザインターフェイス制御方法、ユーザインターフェイス制御装置及びプログラム | |
US20150278660A1 (en) | Print control apparatus, method for controlling print apparatus, and storage medium | |
US20120099138A1 (en) | Data processing device, image forming device and program | |
US10298786B2 (en) | Method for performing job by using widget, and image forming apparatus for performing the same | |
JP2007299324A (ja) | ユーザインターフェイス制御方法、ユーザインターフェイス制御装置及びプログラム | |
JP3509549B2 (ja) | プリンタ制御装置およびその方法並びに記録媒体 | |
US20190260891A1 (en) | Electrical apparatus for which various settings are performed by user operating operation panel | |
KR100619033B1 (ko) | 히스토리 기능을 지원하는 프린터 드라이버, 출력장치, 및히스토리 기능을 사용하여 메뉴의 항목값을 복원하는 방법 | |
JP2004282225A (ja) | 写真印刷装置およびその表示制御方法 | |
JP2000071547A (ja) | 印刷情報設定装置およびその方法 | |
JP2007114990A (ja) | 印刷制御プログラム | |
JP2010211812A (ja) | 印刷制御システム、プリンタ及びプリンタ制御用プログラム | |
JP2019004252A (ja) | 画像処理装置及びプログラム | |
JP2004104161A (ja) | 画像処理方法、画像処理装置、記憶媒体、及びプログラム | |
JP6610897B2 (ja) | 画像形成装置及びプログラム | |
JPH10181161A (ja) | プリンタ制御装置およびその方法並びに記録媒体 | |
JP5234163B2 (ja) | プリンタ制御装置およびその方法並びに記録媒体 | |
JP2000231462A (ja) | 印刷制御方法及び装置及び記録媒体 |