JP4405132B2 - 画像情報処理装置用端末エミュレータおよび画像情報処理装置用端末アプリ - Google Patents
画像情報処理装置用端末エミュレータおよび画像情報処理装置用端末アプリ Download PDFInfo
- Publication number
- JP4405132B2 JP4405132B2 JP2002082240A JP2002082240A JP4405132B2 JP 4405132 B2 JP4405132 B2 JP 4405132B2 JP 2002082240 A JP2002082240 A JP 2002082240A JP 2002082240 A JP2002082240 A JP 2002082240A JP 4405132 B2 JP4405132 B2 JP 4405132B2
- Authority
- JP
- Japan
- Prior art keywords
- function
- operation panel
- terminal
- display unit
- event
- 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.)
- Expired - Lifetime
Links
Images
Landscapes
- Facsimiles In General (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
Description
【発明の属する技術分野】
この発明は、画像情報処理装置用端末エミュレータおよび画像情報処理装置用端末アプリに関するものである。
【0002】
【従来の技術】
近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を1つの筐体内に収納した画像形成装置(以下、「複合機」という。)が知られている。この複合機は、1つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した3種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【0003】
このような従来の画像形成装置におけるオペレーションパネルとしては、操作部としての操作キーと、操作表示やエラー表示を行うための表示部としてのLCD画面(ディスプレイ)が設けられたもの、あるいはLCD画面上に操作表示やエラー表示を行うと共に、操作キーを表示パネル上に表示し、これに直接触れて操作することができるタッチパネルタイプのものなどがある。これらのオペレーションパネルのLCD画面は、いずれも操作表示や操作キーあるいはエラー表示を行うためのものであり、PC(パーソナルコンピュータ)やワークステーションのようにキーボードやディスプレイなどの端末としての機能を有するものではない。
【0004】
このため、例えば、WebブラウザのようなWebページの閲覧およびデータ入力、ハイパーリンクなどの機能をオペレーションパネルのLCD画面で実現したものではなかった。
【0005】
【発明が解決しようとする課題】
ところで、このような従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要する。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置(複合機)を発明した。
【0006】
この複合機によれば、アプリケーションの少なくとも2つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行うプラットホームを備えた構成とすることによって、ソフトウェア開発の効率化を図るとともに、装置全体としての生産性を向上させることが可能となる。
【0007】
このような新規な複合機では、アプリケーションとコントロールサービスとを別個に設け、コントロールサービスがアプリケーションに対してアプリケーションプログラミングインタフェース(API)によって各種サービスを提供する構成となっているため、複合機の出荷後にユーザもしくは第三者であるサードベンダーが新規なアプリケーションを開発して複合機に搭載することが可能となる。
【0008】
このため、サードベンダーなどがWebブラウジング機能を実現する新規アプリケーションを開発する場合も多くなる。特にこのようなWebブラウザは、UNIX(登録商標)などの汎用OS上で動作する既存のアプリケーションが多数存在するため、このような既存のWebブラウザのアプリケーションを複合機上に移植した新規アプリケーションを開発する場合が考えられる。
【0009】
また、この際に、オペレーションパネルのLCD画面を仮想端末として動作させる端末エミュレータを開発したり、あるいはこのような端末エミュレータ機能を下位層に組み込んだ新規アプリケーションを開発する必要がある。
【0010】
このようなWebブラウザは、ハイパーリンク、FORM入力フィールドなどWebページごとに任意な位置に表示される表示項目をユーザにマウスなどによりクリック操作を行わせ、クリック位置の位置座標を取得して次の処理を行うような機能を備えている。
【0011】
しかしながら、複合機のオペレーションパネルでは、LCD画面にタッチパネル形式を採用しているため、LCD画面上でユーザが任意の位置をマウスのように指定(クリック)することができず、また、任意の位置座標をタッチパネルのLCD画面から取得することができない。このため、ハイパーリンク、FORM入力フィールドなどWebページごとに任意な位置に表示される表示項目をオペレーションパネルのLCD画面から指定しても、その位置座標を取得することができない。このため、端末エミュレータには、LCD画面からの入力位置の位置座標を取得する機能が必要となってくる。
【0012】
また、既存のWebブラウザを複合機に移植する場合、既存のWebブラウザにはキャラクタデータしか扱えないものがある。一方、オペレーションパネルのLCD画面はグラフィックデータの描画が可能であるため、端末エミュレータの機能として、Webブラウザから送出されるキャラクタデータをグラフィック形式で表示する処理が必要となる。
【0013】
このように端末エミュレータを複合機上で開発する場合には、LCD画面からの任意の入力位置座標を取得する機能や、キャラクタデータのグラフィック表示の機能を端末エミュレータに実装しなければならず、オペレーションパネルのLCD画面をWebブラウザなどの端末として使用する場合には、通常のコンピュータ上で動作させる端末エミュレータには存在しなかった複合機特有の新規な課題が生じてくる。また、このため、既存のWebブラウザを複合機に移植することが困難にあるという問題がある。
【0014】
この発明は上記に鑑みてなされたもので、画像情報処理装置のオペレーションパネルの表示部を仮想端末として動作させる端末エミュレータを、グラフィック関数ライブラリを利用して生成することにより、端末エミュレータを容易に開発することができるとともに、端末アプリを画像情報処理装置に容易に移植することができる画像情報処理装置用端末エミュレータおよび画像情報処理装置用端末アプリを得ることを目的とする。
【0015】
【課題を解決するための手段】
上記目的を達成するため、請求項1にかかる発明は、画像情報処理装置に搭載される端末エミュレータであって、前記画像情報処理装置は、印刷部または撮像部を有するハードウェア資源を利用した画像情報処理にかかるアプリケーションを複数搭載可能であり、オペレーティングシステム、制御プログラム及び端末アプリを搭載し、オペレーションパネルを備えるものであり、前記制御プログラムは、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うものであり、前記オペレーションパネルは、描画表示および入力操作を行うものであり、前記端末アプリは、前記オペレーションパネルのオペパネ表示部を仮想端末として使用し、WEBブラウザ機能を有するものであり、前記端末エミュレータは、解析部を含み、かつ、前記端末アプリと前記制御プログラムとの間で前記オペパネ表示部を仮想端末として動作させるものであって、グラフィック関数ライブラリと前記端末エミュレータのオブジェクトファイルとから、実行形式プログラムとして生成されたものであり、前記解析部は、前記端末アプリから送出された表示データに含まれるテキスト情報を解析して、前記テキスト情報の属性がハイパーリンクを示す文字属性か否かを判断するものであり、前記グラフィック関数ライブラリは、描画処理関数群が登録されたものであり、前記描画処理関数群は、表示要求関数を含むものであり、前記表示要求関数は、前記テキスト情報の属性がハイパーリンクを示す文字属性である場合に、前記テキスト情報をハイパーリンクとして押下可能な形式に変換し、変換された結果を前記表示データに含まれる位置情報に基づいて前記オペパネ表示部に描画するものであり、前記ハイパーリンクとして押下可能な形式は、前記オペパネ表示部からの入力位置座標を取得可能な形式であることを特徴とする。
【0016】
この請求項1にかかる発明によれば、グラフィック関数ライブラリで提供される表示要求関数を呼び出すことによって、テキスト情報を、オペパネ表示部からの入力位置座標を取得可能な形式でオペパネ表示部に描画することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0017】
本発明における「オペパネ表示部からの入力位置座標を取得可能な形式」とは、オペパネから入力の位置座標を取得できるような形式であればいずれの形式でもよく、例えば座標を予め特定したボタン表示、キーイベントを予め特定したキーなどが該当する。
【0018】
また、請求項2にかかる発明は、請求項1に記載の画像情報処理装置用端末エミュレータにおいて、前記表示要求関数は、前記テキスト情報をボタン形式で前記オペパネ表示部に描画することを特徴とする。
【0019】
この請求項2にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、予め位置座標が特定されたボタン表示でオペパネ表示部に描画することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0020】
また、請求項3にかかる発明は、請求項2に記載の画像情報処理装置用端末エミュレータにおいて、表示要求関数は、前記表示データにハイパーリンクを示す文字属性が含まれる場合に、前記テキスト情報を、前記文字属性とともにボタン形式で前記オペパネ表示部に描画することを特徴とする。
【0021】
この請求項3にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、ハイパーリンクとして、予め位置座標が特定されたボタン表示、かつ例えば色や下線などの文字属性でオペパネ表示部に描画することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0022】
また、請求項4にかかる発明は、請求項2に記載の画像情報処理装置用端末エミュレータにおいて、前記表示要求関数は、前記テキスト情報を、前記テキスト情報に含まれる文字属性に基づいて、ボタン形式かつ反転形式で前記オペパネ表示部に描画することを特徴とする。
【0023】
この請求項4にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、予め位置座標が特定されたボタン表示かつ反転文字でオペパネ表示部に描画することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0024】
また、請求項5にかかる発明は、請求項4に記載の画像情報処理装置用端末エミュレータにおいて、前記表示要求関数は、さらに、前記表示データに入力フィールドを示す文字属性が含まれる場合に、前記テキスト情報を、前記文字属性とともに反転形式で前記オペパネ表示部に描画することを特徴とする。
【0025】
この請求項5にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、入力フィールドとして、予め位置座標が特定された反転文字のボタン表示、かつ例えば色や下線などの文字属性でオペパネ表示部に描画することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0026】
また、請求項6にかかる発明は、請求項4または5に記載の画像情報処理装置用端末エミュレータにおいて、表示要求関数は、さらに、前記表示データにインライン画像を示す文字属性が含まれる場合に、前記テキスト情報を、前記文字属性とともに反転形式で前記オペパネ表示部に描画することを特徴とする。
【0027】
この請求項6にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、インライン画像として、予め位置座標が特定された反転文字のボタン表示、かつ例えば色や下線などの文字属性でオペパネ表示部に描画することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0028】
また、請求項7にかかる発明は、請求項1〜6のいずれか一つに記載の画像情報処理装置用端末エミュレータにおいて、前記グラフィック関数ライブラリは、前記オペパネ表示部の画面レイアウトを管理するレイアウト関数を含む画面管理関数群がさらに登録されたことを特徴とする。
【0029】
この請求項7にかかる発明によれば、レイアウト関数を呼び出すことによって、オペパネ表示部の画面レイアウトを管理することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0030】
また、請求項8にかかる発明は、請求項1〜7のいずれか一つに記載の画像情報処理装置用端末エミュレータにおいて、前記表示要求関数または前記レイアウト関数は、前記オペパネ表示部に描画表示を行うオペパネ描画関数の呼び出しを行うものであり、前記端末エミュレータの実行形式プログラムは、前記オペパネ描画関数が登録されたOCS関数ライブラリと、前記グラフィック関数ライブラリと、前記各関数の呼び出しを行う前記端末エミュレータのオブジェクトファイルとから、生成されたことを特徴とする。
【0031】
この請求項8にかかる発明によれば、グラフィック関数ライブラリの関数呼び出しをすれば、OCS関数ライブラリのオペパネ描画関数を介してオペパネ表示部への描画が実現できるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0032】
また、請求項9にかかる発明は、請求項2〜8のいずれか一つに記載の画像情報処理装置用端末エミュレータにおいて、前記グラフィック関数ライブラリは、さらにイベント変換関数群が登録されたものであり、前記イベント変換関数群は、イベント通知関数を含むものであり、前記イベント通知関数は、前記オペパネ表示部から送出されるタッチキーコードを、前記タッチキーコードに含まれるイベント種別に基づいて、前記オペパネ表示部に描画されたボタンを押下することにより送出されたボタンイベントか、前記オペパネ表示部に描画されたソフトウェアキーボードのキーを押下することにより送出されたキーイベントかを判断し、前記タッチキーコードが前記ボタンイベントである場合には、前記タッチキーコードを、前記タッチキーコードに含まれる位置情報とともにマウスによるクリック動作を示すマウスイベントとして前記端末アプリに通知するものであることを特徴とする。
【0033】
この請求項9にかかる発明によれば、イベント通知関数呼び出しによって、オペパネ表示部に描画されたボタン表示のタッチ入力を入力位置座標におけるマウス入力イベントとして端末アプリに通知することができ、マウスによる任意位置による入力ができないオペパネ表示部でも、擬似的なマウス入力が可能となり、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0034】
また、請求項10にかかる発明は、請求項9に記載の画像情報処理装置用端末エミュレータにおいて、前記イベント通知関数は、前記オペパネ表示部から送出されるタッチキーコードが、前記キーイベントである場合には、前記タッチキーコードに含まれるキー識別情報に対応する制御コードを前記端末アプリに通知することを特徴とする。
【0035】
この請求項10にかかる発明によれば、イベント通知関数呼び出しによって、オペパネ表示部に描画されたソフトウェアキーのタッチ入力をキー入力イベントとして端末アプリに通知することができ、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0036】
請求項11にかかる発明は、請求項1〜10のいずれか一つに記載の画像情報処理装置用端末エミュレータにおいて、前記端末エミュレータの実行形式プログラムは、前記端末エミュレータのオブジェクトファイルと、前記グラフィック関数ライブラリの呼び出し処理モジュールとを結合して生成されたことを特徴とする。
【0037】
この請求項11にかかる発明によれば、端末エミュレータの実行時にグラフィック関数ライブラリがリンクされるので、端末エミュレータのようなグラフィック関数ライブラリを使用するアプリを複数実行する場合でも、各アプリ内にグラフィック関数ライブラリを実装する必要がなく、またグラフィック関数ライブラリを一つ複合機に実装しておけば良いので、端末エミュレータやアプリのサイズを減少させることができる。
【0038】
また、請求項12にかかる発明は、画像情報処理装置に搭載される端末アプリであって、前記画像情報処理装置は、印刷部または撮像部を有するハードウェア資源を利用した画像情報処理にかかるアプリケーションを複数搭載可能であり、オペレーティングシステム、制御プログラム及び前記端末アプリを搭載し、オペレーションパネルを備えるものであり、前記制御プログラムは、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うものであり、前記オペレーションパネルは、描画表示および入力操作を行うものであり、前記端末アプリは、解析部を含み、かつ、前記オペレーションパネルのオペパネ表示部を仮想端末として使用し、WEBブラウザ機能を有するものであって、グラフィック関数ライブラリと、前記端末アプリのオブジェクトファイルとから、実行形式プログラムとして生成されたものであり、前記解析部は、前記オペパネ表示部に描画する表示データに含まれるテキスト情報を解析して、前記テキスト情報の属性がハイパーリンクを示す文字属性か否かを判断するものであり、前記グラフィック関数ライブラリは、描画処理関数群が登録されたものであり、前記描画処理関数群は、表示要求関数を含むものであり、前記表示要求関数は、前記テキスト情報の属性がハイパーリンクを示す文字属性である場合に、前記テキスト情報をハイパーリンクとして押下可能な形式に変換し、変換された結果を前記表示データに含まれる位置情報に基づいて前記オペパネ表示部に描画するものであり、前記ハイパーリンクとして押下可能な形式は、前記オペパネ表示部からの入力位置座標を取得可能な形式であることを特徴とする。
【0039】
この請求項12にかかる発明によれば、グラフィック関数ライブラリで提供される表示要求関数を呼び出すことによって、テキスト情報を、オペパネ表示部からの入力位置座標を取得可能な形式でオペパネ表示部に描画することができるので、端末アプリを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0040】
また、請求項13にかかる発明は、請求項12に記載の画像情報処理装置用端末アプリにおいて、前記表示要求関数は、前記テキスト情報をボタン形式で前記オペパネ表示部に描画することを特徴とする。
【0041】
この請求項13にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、予め位置座標が特定されたボタン表示でオペパネ表示部に描画することができるので、端末アプリを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0042】
また、請求項14にかかる発明は、請求項13に記載の画像情報処理装置用端末アプリにおいて、前記表示要求関数は、前記テキスト情報を、前記テキスト情報に含まれる文字属性に基づいて、ボタン形式かつ反転形式で前記オペパネ表示部に描画することを特徴とする。
【0043】
この請求項14にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、予め位置座標が特定されたボタン表示かつ反転文字でオペパネ表示部に描画することができるので、端末アプリを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0044】
また、請求項15にかかる発明は、請求項12〜14のいずれか一つに記載の画像情報処理装置用端末アプリにおいて、前記グラフィック関数ライブラリは、前記オペパネ表示部の画面レイアウトを管理するレイアウト関数を含む画面管理関数群がさらに登録されたことを特徴とする。
【0045】
この請求項15にかかる発明によれば、レイアウト関数を呼び出すことによって、オペパネ表示部の画面レイアウトを管理することができるので、端末アプリを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0046】
また、請求項16にかかる発明は、請求項13〜15のいずれか一つに記載の画像情報処理装置用端末アプリにおいて、前記グラフィック関数ライブラリは、さらにイベント変換関数群が登録されたものであり、前記イベント変換関数群は、イベント通知関数を含むものであり、前記イベント通知関数は、前記オペパネ表示部から送出されるタッチキーコードを、前記タッチキーコードに含まれるイベント種別に基づいて、前記オペパネ表示部に描画されたボタンを押下することにより送出されたボタンイベントか、前記オペパネ表示部に描画されたソフトウェアキーボードのキーを押下することにより送出されたキーイベントかを判断し、前記タッチキーコードが前記ボタンイベントである場合には、前記タッチキーコードを、前記タッチキーコードに含まれる位置情報とともにマウスによるクリック動作を示すマウスイベントとして前記端末アプリに通知するものであることを特徴とする。
【0047】
この請求項16にかかる発明によれば、イベント通知関数呼び出しによって、オペパネ表示部に描画されたボタン表示のタッチ入力を入力位置座標におけるマウス入力イベントとして端末アプリに通知することができ、マウスによる任意位置による入力ができないオペパネ表示部でも、擬似的なマウス入力が可能となり、端末アプリを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0069】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像情報処理装置用端末エミュレータおよび画像情報処理装置用端末アプリの好適な実施の形態を詳細に説明する。
【0070】
(実施の形態1)
まず、この発明の実施の形態であるグラフィック関数ライブラリおよびこのグラフィック関数ライブラリを利用した画像形成装置用端末エミュレータ生成方法により生成される端末エミュレータの画像形成装置(以下、「複合機」という。)上での位置付けおよびその構成について説明する。図1は、実施の形態1のグラフィック関数ライブラリを使用して生成された端末エミュレータの機能的構成および処理概要を示すブロック図である。
【0071】
実施の形態1にかかる端末アプリ140は、例えば、Webブラウザなどであり、オペレーションパネルのLCD画面121(オペパネ表示部)を端末として使用するアプリケーションである。この端末アプリ140は、文字データのみを扱うことができるCUI(Character User Interface)を有しており、GUI(Graphical User Interface)に対応したものとはなっていないことを前提とする。
【0072】
オペレーションパネル120は、ユーザのキー入力、ボタン押下などのキー操作を入力する操作部(図示せず)と、ボタン、ウィンドウ、各種画面などの描画データを表示するLCD画面121とから構成され、LCD画面121は本発明におけるオペパネ表示部を構成する。また、オペレーションパネル120は、操作部の他に、LCD画面121に表示されるボタンによってタッチパネル形式でユーザのキー入力、ボタン押下ができるようになっている。
【0073】
実施の形態1の端末エミュレータ生成方法で生成される端末エミュレータ130は、この端末アプリ140などのアプリケーションとOCS226、SCS222などのコントロールサービスとの間にあり、LCD画面121を仮想端末として動作させ、端末アプリ140で受信したWebページの文字データからなる表示データを、文字を表示したボタン形式に加工してLCD画面121に描画する。また、端末エミュレータ130は、このようにLCD画面121に表示されたボタンをユーザが押下(タッチ)したときに、そのタッチキーコードを受信して、端末アプリ140の標準入力に通知するようになっている。
【0074】
端末エミュレータ130には、グラフィック関数ライブラリ100とOCS関数ライブラリ110が動的にリンクされている。グラフィック関数ライブラリ100は、種々の関数が関数群に分類されて登録されている。このような関数群としては、画面管理関数群101と描画処理関数群102とイベント変換関数群103がある。
【0075】
画面管理関数群101には、レイアウト表示要求関数、レイアウト表示抹消関数などが含まれている。レイアウト表示要求関数は、端末エミュレータ130を起動する際に呼び出され、LCD画面121に表示する端末ウィンドウやボタンなどのアイテムの生成および管理を行う関数である。レイアウト抹消要求関数は、端末エミュレータ130を終了するときに呼び出され、端末ウィンドウやボタンなどを破棄し、LCD画面121の表示を抹消する関数である。OCS関数ライブラリ110で提供される関数を呼び出して各処理を実現するようになっている。
【0076】
描画処理関数群102には、行表示要求関数、端末表示要求関数、端末抹消要求関数などが含まれている。行表示要求関数は、端末エミュレータ130が表示を行うと判断した場合に要求され、一行単位で表示データの文字列をLCD画面121にボタン形式で描画する関数である。端末表示要求関数は、レイアウト表示要求関数によってLCD画面121上に生成された端末表示ウィンドウを仮想端末として表示するため、LCD画面121に端末表示ウィンドウを生成し管理する関数である。端末抹消関数は、端末エミュレータ130を終了する際に呼び出され、端末表示関数によって生成された端末表示ウィンドウを破棄する関数である。これらの関数は、OCS関数ライブラリ110で提供される関数を呼び出して各処理を実現するようになっている。
【0077】
イベント変換関数群103には、イベント通知関数が含まれている。このイベント通知関数は、オペレーションパネル120のLCD画面121からOCS226およびSCS222の各プロセスを介して通知されるイベントを受信し、イベントの種別を判断して、その判断結果によってマウス入力あるいはキー入力として端末アプリ140に通知する関数である。
【0078】
このようなグラフィック関数ライブラリ100を、端末エミュレータ130を生成する際に動的にリンクすることで、端末エミュレータ130における、オペレーションパネル120のLCD画面121に対する処理、およびLCD画面121からのイベントに対する処理は、すべてグラフィック関数ライブラリ100で提供される各関数を呼び出すようにすれば良い。
【0079】
次に、実施の形態1の端末エミュレータ生成方法によって生成された端末エミュレータ130、および端末アプリ140を搭載した複合機の全体構成について説明する。図2は、複合機200の機能的構成を示すブロック図である。
【0080】
図2に示すとおり、複合機200は、白黒ラインプリンタ(B&W LP)201と、カラーラインプリンタ(Color LP)202と、スキャナ、ファクシミリ、ハードディスク(HD)、メモリ、ネットワークインタフェースなどのハードウェアリソース203を有するとともに、プラットホーム220とアプリケーション230とから構成されるソフトウェア群210とを備えている。
【0081】
プラットホーム220は、アプリケーション230からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ(SRM)223と、汎用OS221とを備えている。
【0082】
コントロールサービスは、複数のサービスモジュールから形成され、SCS(システムコントロールサービス)222と、ECS(エンジンコントロールサービス)224と、MCS(メモリコントロールサービス)225と、OCS(オペレーションパネルコントロールサービス)226と、FCS(ファックスコントロールサービス)227と、NCS(ネットワークコントロールサービス)228とから構成される。なお、このプラットホーム220は、あらかじめ定義された関数により前記アプリケーション230から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有する。
【0083】
汎用OS221は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットホーム220並びにアプリケーション230の各ソフトウェアをそれぞれプロセスとして並列実行する。
【0084】
SRM223のプロセスは、SCS222とともにシステムの制御およびリソースの管理を行うものである。SRM223のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、HDDファイル、ホストI/O(セントロI/F、ネットワークI/F、IEEE1394 I/F、RS232C I/Fなど)のハードウェア資源を利用する上位層からの要求に従って調停を行い、実行制御する。
【0085】
具体的には、このSRM223は、要求されたハードウェア資源が利用可能であるか(他の要求により利用されていないかどうか)を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、SRM223は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容(例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など)を直接実施している。
【0086】
SCS222のプロセスは、アプリ管理、操作部制御、システム画面表示、LED表示、リソース管理、割り込みアプリ制御などを行う。
【0087】
ECS224のプロセスは、白黒ラインプリンタ(B&W LP)201、カラーラインプリンタ(Color LP)202、スキャナ、ファクシミリなどからなるハードウェアリソース203のエンジンの制御を行う。
【0088】
MCS225のプロセスは、画像メモリの取得および解放、ハードディスク装置(HDD)の利用、画像データの圧縮および伸張などを行う。
【0089】
FCS227のプロセスは、システムコントローラの各アプリ層からPSTN/ISDN網を利用したファクシミリ送受信、BKM(バックアップSRAM)で管理されている各種ファクシミリデータの登録/引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのAPIを提供する。
【0090】
NCS228のプロセスは、ネットワークI/Oを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。具体的には、ftpd、httpd、lpd、snmpd、telnetd、smtpdなどのサーバデーモンや、同プロトコルのクライアント機能などを有している。
【0091】
OCS226は、オペレータ(ユーザ)と本体制御間の情報伝達手段となるオペレーションパネル(操作パネル)の制御を行う。OCS226は、オペレーションパネル610からキー押下をキーイベントとして取得し、取得したキーに対応したキーイベント関数をSCS222に送信するOCSプロセスの部分と、アプリケーション230またはコントロールサービスからの要求によりオペレーションパネル610に各種画面を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録されたOCSライブラリの部分とから構成される。このOCSライブラリは、アプリケーション230およびコントロールサービスの各モジュールにリンクされて実装されている。なお、OCS226のすべてをプロセスとして動作させるように構成しても良く、あるいはOCS226のすべてをOCSライブラリとして構成しても良い。
【0092】
アプリケーション230は、ページ記述言語(PDL)、PCLおよびポストスクリプト(PS)を有するプリンタ用のアプリケーションであるプリンタアプリ211と、コピー用アプリケーションであるコピーアプリ212と、ファクシミリ用アプリケーションであるファックスアプリ213と、スキャナ用アプリケーションであるスキャナアプリ214と、ネットワークファイル用アプリケーションであるネットファイルアプリ215と、工程検査用アプリケーションである工程検査アプリ216とを有している。これらのアプリケーション230はいずれも複合機200の起動時に後述する複合機初期化部によってプロセスとして生成され、動作する。
【0093】
アプリケーション230の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。
【0094】
このように、実施の形態1にかかる複合機200には、複数のアプリケーション230および複数のコントロールサービスが存在し、いずれもプロセスとして動作している。そして、これらの各プロセス内部には、一または複数のスレッドが生成されて、スレッド単位の並列実行が行われる。そして、コントロールサービスがアプリケーション230に対し共通サービスを提供しており、このため、これらの多数のプロセスが並列動作、およびスレッドの並列動作を行って互いにプロセス間通信を行って協調動作をしながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを提供するようになっている。そして、複合機200には、サードベンダーなどの第三者がコントロールサービス層の上のアプリケーション層に新規なアプリケーションを開発して搭載することが可能となっており、実施の形態1では、端末アプリ140および端末エミュレータ130を新規アプリケーションとして搭載している。
【0095】
次に、端末エミュレータ130の処理を、図1に示す例をあげて具体的に説明する。図1に示す端末エミュレータ130が端末アプリ140の標準出力から表示データを受信すると、受信したデータは一旦受信FIFOキュー131に格納される。そして、端末機能処理部132がこの受信FIFOキュー131から受信した表示データを先入れ先出し順に読み出して、例えばハイパーリンクの旨、FORM入力の旨、インライン画像の旨などの表示データの制御コードを判断して、制御コードに対応した文字属性と位置座標(x,y)を表示データの一文字ごとに付加する。図1の例では、ハイパーリンクを示す文字属性は青色、FORM入力を示す文字属性は赤色、インライン画像を示す文字属性が緑色、通常表示を示す文字属性が黒色としている。また、制御コードがESCコードから始まる場合には、そのままESCコードを文字属性として使用する。
【0096】
そして、端末機能処理部132は、文字属性および位置座標が付加された表示データをRAM(図示せず)に順次格納する。構文解析部133は、RAMから一行分の表示データを読み出し、文字属性がESCコードか否かを判断し、ESCコードでない場合には、表示データを描画処理部135に受け渡す。
【0097】
図3は、描画処理部135に受け渡された表示データのデータ構造図である。図3に示すとおり、表示データでは、一文字ごとに文字コードに文字属性と位置座標(x,y)が付加された構造となっている。
【0098】
描画処理部135では、図1に示す処理概要の通り、グラフィック関数ライブラリ100の画面管理関数群101および描画処理関数群102の関数を適宜呼び出す。ここで行表示要求関数は、表示する行分繰り返して呼び出すものとする。これによって、表示データは、ボタン表示122に示すように、ボタン形式でオペレーションパネル120のLCD画面121に表示されることになる。
【0099】
このようにボタン形式で表示するのは、LCD画面121のタッチパネル入力の場合、画面上で任意に指定された位置の座標を取得する機構がないため、入力が必要な部分(ハイパーリンクやFORM入力部分など)をボタン形式などで予め表示している。
【0100】
ここで、描画処理部135によって呼び出される描画処理関数群102の行表示要求関数の処理について説明する。図5は、行表示要求関数で行われる処理の手順を示すフローチャートである。
【0101】
行表示要求関数では、まずこれから表示する行を削除し(ステップS501)、表示データの中の文字属性を有する文字からなる文字列を先頭文字から走査する(ステップS502)。そして、文字属性が一つ前の文字の文字属性と比較して変化したかどうかをチェックする(ステップS503)。そして、文字属性が変化していない場合には、文字属性を含む文字列の終端まで走査したか否かを判断し(ステップS511)、まだ終端まで走査していない場合には、ステップS502の表示データの文字走査を繰り返す。
【0102】
一方、ステップS503において、文字属性が一つ前の文字の文字属性から変化した場合は、前回の文字属性変化位置の文字から現在の一つ前の文字までの文字列を、文字列変数msgに格納する(ステップS504)。そして、かかる文字列に共通する文字属性を調査する(ステップS505)。
【0103】
文字属性が「黒」である場合には、ユーザからの押下の対象ではない通常表示の文字であることを示しているので、msgの文字列の先頭文字の位置座標(x,y)にmsgの文字列を黒色で表示し(ステップS506)、OCS関数ライブラリ110に登録されているOCS描画関数呼び出しを行う(ステップS510)。これによってオペレーションパネル120のLCD画面121に、文字列が黒色で通常表示されることになる。
【0104】
ステップS505の調査において、文字属性が「青」である場合には、ハイパーリンクが指定された文字であることを示しているので、msgの文字列の先頭文字の位置座標(x,y)にmsgの文字列を青色で、かつボタン形式で表示する(ステップS507)。そして、ユーザがLCD画面121から入力した場合の位置座標を取得するためのタッチキーコードを生成し(ステップS509)、OCS関数ライブラリ110に登録されているOCS描画関数呼び出しを行う(ステップS510)。これによってオペレーションパネル120のLCD画面121に、文字列が青色(ハイパーリンク)のボタン形式で表示されることになる。
【0105】
ここで、タッチキーコードについて説明する。タッチキーコードとはオペレーションパネルのLCD画面121からユーザがボタンまたはキーを押下(タッチ)したときに通知されるボタンおよびキーに固有の入力イベントである。
【0106】
図4は、タッチキーコードのデータ構造図である。図4に示すように、タッチキーコードは、イベント種別とイベント種別ごとの固有情報とから構成される。イベント種別は、「0」のときキーイベントを示し、「1」のときボタンイベントを示している。
【0107】
イベント種別がキーイベントのタッチキーコードは、LCD画面121に表示されたソフトウェアキーボードのキーが押下された場合に通知され、この場合の固有情報は、キーごとに固有の値のキーIDとなる。一方、イベント種別がボタンイベントのタッチキーコードは、LCD画面121に表示されたボタンが押下された場合に通知され、この場合の固有情報は、ボタンの位置座標(x’,y’)となる。
【0108】
図5に戻り、ステップS505の調査において、文字属性が「赤」または「緑」である場合には、FORM入力またはインライン画像の文字であることを示しているので、msgの文字列の先頭文字の位置座標(x,y)にmsgの文字列を文字属性で指定された色(「赤」または「緑」)の反転文字で表示する(ステップS508)。そして、タッチキーコードを生成して(ステップS509)、OCS関数ライブラリ110に登録されているOCS描画関数呼び出しを行う(ステップS510)。これによってオペレーションパネル120のLCD画面121に、文字列が赤色または緑色の反転文字で表示されることになる。このようなステップS502からS510までの処理は、表示データ中、文字属性を含む文字列の終端までの走査が完了するまで繰り返される(ステップS511)。
【0109】
一方、ユーザがオペレーションパネル120のLCD画面121に表示されたボタン122を押下(タッチ)すると、タッチキーコードのイベントがOCS226およびSCS222を介して端末エミュレータ130に通知される。端末エミュレータ130では、このタッチキーコードのイベントを受信して、イベント変換関数群103のイベント通知関数を呼び出して、タッチキーコードをマウス入力またはキー入力として端末アプリ140に標準入力として通知する。
【0110】
図6は、このイベント通知関数による処理の手順を示すフローチャートである。イベント通知関数では、まず受信したタッチキーコードのイベント種別を判断する(ステップS601)。そして、イベント種別が「1」、すなわち、ボタンイベントである場合には、LCD画面121に描画されたボタンが押下されたものとして、タッチキーコードの固有情報に設定された位置座標(x’,y’)を取得し、この位置座標(x’,y’)でマウスのダブルクリックがされた旨を示す制御コードを端末アプリ140の標準入力として通知する(ステップS602)。このようにイベント通知関数によって、LCD画面121からのボタン押下がマウス入力に変換されて端末アプリ140に通知される。
【0111】
一方、ステップS601で、イベント種別が「0」、すなわち、キーイベントである場合には、LCD画面121に描画されたソフトウェアキーボードのキーが押下されたものとして、タッチキーコードの固有情報に設定されたキーIDを取得し、このキーIDに対応した制御コードを端末アプリ140の標準入力として通知する(ステップS603)。このようにイベント通知関数によって、LCD画面121からのキー押下がキー入力として端末アプリ140に通知される。
【0112】
次に、このように構成される端末エミュレータ130の生成方法について説明する。図7は、実施の形態1の端末エミュレータ生成方法を利用して端末エミュレータ130を開発するための開発用PC700のソフトウェア構成を示すブロック図である。この図7では、CD−ROMなどの記録媒体で提供されるソフトウェア開発キット704を開発用PC700のハードディスク(HD)703にインストールした状態を示している。実施の形態1で使用する開発用PC700は、複合機で動作させるための端末エミュレータ130の端末エミュレータソースファイル706をコンパイルおよびリンクして、端末エミュレータ実行形式ファイル708を生成するものである。開発用PC700は、図7に示すように、コンパイラ701と、リンカ702とから構成される。
【0113】
コンパイラ701は、ハードディスク(HD)703に格納されたソースコードが記述された端末エミュレータソースファイル706を、コマンドの指定に従って、オブジェクトコードからなる端末エミュレータオブジェクトファイル707を生成するものである。このコンパイラ701は、通常のコンパイラと同様に、コマンド解析、構文解析、コード生成の各処理を行う。また、コンパイラ起動コマンドでデバッグオプションが指定された場合には、デバッグ用のオブジェクトファイルを生成する。
【0114】
リンカ702は、コンパイラ701によって生成された端末エミュレータオブジェクトファイル707と、ソフトウェア開発キット705の中のグラフィック関数ライブラリ、コントロールサービス関数ライブラリ(OCS関数ライブラリを含む)、標準関数ライブラリなどとをリンク(結合)して、複合機200のOS221上で実行可能なアプリケーションの端末エミュレータ実行形式ファイル708を生成するものである。
【0115】
HD(ハードディスク)703には、端末エミュレータ130や新規アプリケーションの開発に必要なデータ、プログラムをキットとして構成した、ソフトウェア開発キット705がインストールされている。また、HD703に端末エミュレータ130のC言語ソースコードが記述された端末エミュレータソースファイル706が格納される。この端末エミュレータソースファイル706は、開発用PC700などでエディタによって作成される。また、HD703には、コンパイラ701によって、端末エミュレータオブジェクトファイル707が生成され、さらにリンカ702によって端末エミュレータ実行形式ファイル708が生成される。
【0116】
ソフトウェア開発キット704は、CD−ROMまたはフレキシブルディスク(FD)などの記録媒体にインストール可能な形式で提供される。そして、開発用PC700のHD703にインストールされる。この記録媒体のソフトウェア開発キット704,705の中には、図7に示すように、上述した関数群からなるグラフィック関数ライブラリと、ECS224、MCS225などの各コントロールサービスの実行形式ファイルと、各コントロールサービスごとに、提供するサービス関数を登録したコントロールサービス関数ライブラリ(たとえば、ECS関数ライブラリ、MCS関数ライブラリなど)と、strcpy,memcpyなどのC言語標準関数を登録した標準関数ライブラリと、アプリケーションとコントロールサービスに共通で使用される関数宣言やメッセージ宣言が記述されているヘッダファイルと、コンパイラ701およびリンカ702の各プログラムと、汎用OSプログラムと、デバッガなどのデバッグ用ユーティリティとが含まれている。上記コンパイラ701およびリンカ702は、このソフトウェア開発キット704をインストールして実行したときに、RAM上に生成されて実行される。
【0117】
なお、実施の形態1では、ソフトウェア開発キットを記録媒体で提供することとしているが、このような実行可能な形式またはインストール可能な形式のファイルを、ネットワーク経由でダウンロードすることにより提供するように構成しても良い。
【0118】
次に、このような開発用PC700にインストールされたソフトウェア開発キット705を利用した端末エミュレータ実行形式ファイル708の生成処理について説明する。図8は、開発用PC700による端末エミュレータ生成処理の手順を示すフローチャートである。コンパイラ起動コマンドが入力されると、コンパイラ701が起動し、入力されたコマンドの解析を行う(ステップS801)。具体的にはパラメータや構文の解析を行って、入力されたコマンドが文法的に正確か否かを判断する。
【0119】
次に、コンパイラ701によって、端末エミュレータソースファイル706とイントール済みのソフトウェア開発キット705の中のヘッダファイルを読み込み(ステップS802)、ソースファイル706に記述されたC言語ソースコードの構文解析を行う(ステップS803)。具体的には、コンパイラ701はC言語ソースコードをC言語文法に従って解析し、導出木や構文木などを生成する。
【0120】
そして、入力された起動コマンドにデバッグオプションが指定されているか否かを調べる(ステップS804)。デバッグオプションが指定されている場合には、コンパイラ701はコード生成処理によりソースコードにタグ付けなどを行ってデバッグ用端末エミュレータオブジェクトファイルを生成する(ステップS805)。一方、デバッグオプションの指定がない場合には、コンパイラ701はコード生成処理により通常の端末エミュレータオブジェクトファイル707を生成する(ステップS806)。そして、コンパイラ701は、生成した端末エミュレータオブジェクトファイル707をHD703に格納する。
【0121】
次に、リンカ702を起動して、生成された端末エミュレータオブジェクトファイル707と、ソフトウェア開発キット705の中のグラフィック関数ライブラリとコントロールサービス関数ライブラリ(OCS関数ライブラリを含む)とを動的リンクにより結合する。具体的には、グラフィック関数ライブラリとコントロールサービス関数ライブラリ(OCS関数ライブラリを含む)の呼び出しモジュールを生成して、端末エミュレータオブジェクトファイル707と当該呼び出しモジュールとをリンクすることにより、動的リンクが行われる(ステップS807)。これによって複合機200上における端末エミュレータ130の実行時に、グラフィック関数ライブラリとコントロールサービス関数ライブラリ(OCS関数ライブラリを含む)が結合可能となる。
【0122】
ついで、端末エミュレータオブジェクトファイル707と、標準関数ライブラリとを静的リンクにより結合して、端末エミュレータ実行形式ファイル708を生成する(ステップS808)。なお、生成された端末エミュレータ実行形式ファイル708を、ソフトウェア開発キット705の中のすべてのコントロールサービス実行形式ファイル、グラフィック関数ライブラリおよびコントロールサービス関数ライブラリとともにフラッシュカードに書き込み、フラッシュカードから複合機200にインストールすることによって、複合機200上で端末エミュレータ130が実行可能となる。
【0123】
このように、実施の形態1にかかるグラフィック関数ライブラリおよびグラフィック関数ライブラリを利用した端末エミュレータ生成方法では、端末アプリ140から送出された表示データに含まれる文字データを、LCD画面121からの入力位置座標を取得可能なボタン表示で、LCD画面121に描画する行表示要求関数を含む描画処理関数群が登録されたグラフィック関数ライブラリ100と、行表示要求関数の呼び出しを行う端末エミュレータ130のオブジェクトファイルとから、端末エミュレータ130の実行形式プログラムを生成しているので、グラフィック関数ライブラリ100で提供される行表示要求関数を呼び出すことによって、文字データを、LCD画面121からの入力位置座標を取得可能な形式でLCD画面121に描画することができ、端末エミュレータ130を容易に開発することができ、また既存の端末アプリ140の移植性を向上させることができる。
【0124】
(実施の形態2)
実施の形態1では、グラフィック関数ライブラリ100を用いて端末エミュレータ130を生成していたが、この実施の形態2は、端末エミュレータ機能を有する端末アプリをグラフィック関数ライブラリ100を用いて生成するものである。
【0125】
図9は、実施の形態2のグラフィック関数ライブラリを使用して生成された端末アプリの機能的構成および処理概要を示すブロック図である。実施の形態2にかかる端末アプリ900もWebブラウザなどであり、オペレーションパネル120のLCD画面121(オペパネ表示部)を端末として使用するアプリケーションである。この端末アプリ900は、文字データのみを扱うことができるCUI(Character User Interface)を有しており、GUI(Graphical User Interface)に対応したものとはなっていないことを前提とする。
【0126】
実施の形態2の端末アプリ900は、端末エミュレータ機能を自身で有しており、このため端末エミュレータを別途要しない点が実施の形態1の端末アプリ140と異なっている。
【0127】
実施の形態2の端末アプリ900は、インターネット上のWebページから各種データを送受信してオペレーションパネル120を端末として使用するWebデータ入出力部940と、オペレーションパネル120のLCD画面121を仮想端末として動作させる実施の形態1の端末エミュレータとして機能するエミュレータ部930とを備えている。
【0128】
エミュレータ部930は、受信FIFOキュー131と、端末機能処理部132と、構文解析部133と、描画処理部135と、OCS関数呼び出し部134と、送信FIFOキュー136と、イベント変換部137とを備えており、これら各部の機能は実施の形態1で説明した端末エミュレータ130と同様である。
【0129】
また、端末アプリ900には、グラフィック関数ライブラリ100とOCS関数ライブラリ110とが動的リンクによって結合されている。グラフィック関数ライブラリ100とOCS関数ライブラリ110についても実施の形態1の各ライブラリと同様である。
【0130】
次に、グラフィック関数ライブラリ100を利用した端末アプリ900の生成方法について説明する。図10は、端末アプリ900の生成処理の手順を示すフローチャートである。コンパイラ起動コマンドが入力されると、コンパイラ701が起動し、入力されたコマンドの解析を行う(ステップS1001)。
【0131】
次に、コンパイラ701によって、端末アプリソースファイルとソフトウェア開発キット705の中のヘッダファイルを読み込み(ステップS1002)、ソースファイルの構文解析を行う(ステップS1003)。そして、入力された起動コマンドにデバッグオプションが指定されているか否かを調べ(ステップS1004)、デバッグオプションが指定されている場合には、コンパイラ701はデバッグ用端末アプリオブジェクトファイルを生成する(ステップS1005)。一方、デバッグオプションの指定がない場合には、コンパイラ701は通常の端末アプリオブジェクトファイルを生成し(ステップS1006)、HD703に格納する。
【0132】
次に、リンカ702を起動して、生成された端末アプリオブジェクトファイルと、ソフトウェア開発キット705の中のグラフィック関数ライブラリとコントロールサービス関数ライブラリ(OCS関数ライブラリを含む)とを動的リンクにより結合する。動的リンクの方法については、実施の形態1における端末エミュレータ生成方法におけるリンクと同様である。
【0133】
ついで、端末アプリオブジェクトファイルと、標準関数ライブラリとを静的リンクにより結合して、端末アプリ実行形式ファイルを生成する(ステップS1008)。生成された端末アプリ実行形式ファイルは、実施の形態1と同様の方法で複合機200にインストールすることによって、複合機200上で端末アプリ900が実行可能となる。
【0134】
このように、実施の形態2にかかるグラフィック関数ライブラリおよびグラフィック関数ライブラリを利用した端末アプリ生成方法では、Webデータ入出力部940から送出された表示データに含まれる文字データを、LCD画面121からの入力位置座標を取得可能なボタン表示で、LCD画面121に描画する行表示要求関数を含む描画処理関数群が登録されたグラフィック関数ライブラリ100と、行表示要求関数の呼び出しを行う端末アプリ900のオブジェクトファイルとから、端末アプリ900の実行形式プログラムを生成しているので、グラフィック関数ライブラリ100で提供される行表示要求関数を呼び出すことによって、文字データを、LCD画面121からの入力位置座標を取得可能な形式でLCD画面121に描画することができ、端末アプリ900を容易に開発することができ、また既存の端末アプリ900の移植性を向上させることができる。
【0135】
【発明の効果】
以上説明したように、請求項1にかかる発明によれば、グラフィック関数ライブラリで提供される表示要求関数を呼び出すことによって、テキスト情報を、オペパネ表示部からの入力位置座標を取得可能な形式でオペパネ表示部に描画することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【0136】
また、請求項2にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、予め位置座標が特定されたボタン表示でオペパネ表示部に描画することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【0137】
また、請求項3にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、ハイパーリンクとして、予め位置座標が特定されたボタン表示、かつ例えば色や下線などの文字属性でオペパネ表示部に描画することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【0138】
また、請求項4にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、予め位置座標が特定されたボタン表示かつ反転文字でオペパネ表示部に描画することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【0139】
また、請求項5にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、入力フィールドとして、予め位置座標が特定された反転文字のボタン表示、かつ例えば色や下線などの文字属性でオペパネ表示部に描画することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【0140】
また、請求項6にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、インライン画像として、予め位置座標が特定された反転文字のボタン表示、かつ例えば色や下線などの文字属性でオペパネ表示部に描画することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができる。
【0141】
また、請求項7にかかる発明によれば、レイアウト関数を呼び出すことによって、オペパネ表示部の画面レイアウトを管理することができるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【0142】
また、請求項8にかかる発明によれば、グラフィック関数ライブラリの関数呼び出しをすれば、OCS関数ライブラリのオペパネ描画関数を介してオペパネ表示部への描画が実現できるので、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【0143】
また、請求項9にかかる発明によれば、イベント通知関数呼び出しによって、オペパネ表示部に描画されたボタン表示のタッチ入力を入力位置座標におけるマウス入力イベントとして端末アプリに通知することができ、マウスによる任意位置による入力ができないオペパネ表示部でも、擬似的なマウス入力が可能となり、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【0144】
また、請求項10にかかる発明によれば、イベント通知関数呼び出しによって、オペパネ表示部に描画されたソフトウェアキーのタッチ入力をキー入力イベントとして端末アプリに通知することができ、端末エミュレータを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【0145】
請求項11にかかる発明によれば、端末エミュレータの実行時にグラフィック関数ライブラリがリンクされるので、端末エミュレータのようなグラフィック関数ライブラリを使用するアプリを複数実行する場合でも、各アプリ内にグラフィック関数ライブラリを実装する必要がなく、またグラフィック関数ライブラリを一つ複合機に実装しておけば良いので、端末エミュレータやアプリのサイズを減少させることができるという効果を奏する。
【0146】
また、請求項12にかかる発明によれば、グラフィック関数ライブラリで提供される表示要求関数を呼び出すことによって、テキスト情報を、オペパネ表示部からの入力位置座標を取得可能な形式でオペパネ表示部に描画することができるので、端末アプリを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【0147】
また、請求項13にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、予め位置座標が特定されたボタン表示でオペパネ表示部に描画することができるので、端末アプリを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【0148】
また、請求項14にかかる発明によれば、表示要求関数を呼び出すことによって、テキスト情報を、予め位置座標が特定されたボタン表示かつ反転文字でオペパネ表示部に描画することができるので、端末アプリを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【0149】
また、請求項15にかかる発明によれば、レイアウト関数を呼び出すことによって、オペパネ表示部の画面レイアウトを管理することができるので、端末アプリを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【0150】
また、請求項16にかかる発明によれば、イベント通知関数呼び出しによって、オペパネ表示部に描画されたボタン表示のタッチ入力を入力位置座標におけるマウス入力イベントとして端末アプリに通知することができ、マウスによる任意位置による入力ができないオペパネ表示部でも、擬似的なマウス入力が可能となり、端末アプリを容易に開発することができ、また既存の端末アプリの移植性を向上させることができるという効果を奏する。
【図面の簡単な説明】
【図1】実施の形態1のグラフィック関数ライブラリ100を使用して生成された端末エミュレータの機能的構成および処理概要を示すブロック図である。
【図2】実施の形態1における複合機200の機能的構成を示すブロック図である。
【図3】実施の形態1の端末エミュレータ130における描画処理部135に受け渡された表示データのデータ構造図である。
【図4】実施の形態1におけるタッチキーコードのデータ構造図である。
【図5】実施の形態1のグラフィック関数ライブラリ100の行表示要求関数で行われる処理の手順を示すフローチャートである。
【図6】実施の形態1のグラフィック関数ライブラリ100のイベント通知関数による処理の手順を示すフローチャートである。
【図7】実施の形態1の端末エミュレータ生成方法を利用して端末エミュレータ130を開発するための開発用PC700のソフトウェア構成を示すブロック図である。
【図8】実施の形態1における開発用PC700による端末エミュレータ生成処理の手順を示すフローチャートである。
【図9】実施の形態2のグラフィック関数ライブラリ100を使用して生成された端末アプリの機能的構成および処理概要を示すブロック図である。
【図10】実施の形態2における端末アプリ900の生成処理の手順を示すフローチャートである。
【符号の説明】
100 グラフィック関数ライブラリ
101 画面管理関数群
102 描画処理関数群
103 イベント変換関数群
110 OCS関数ライブラリ
120 オペレーションパネル
121 LCD画面
122 ボタン表示
130 端末エミュレータ
131 受信FIFOキュー
132 端末機能処理部
133 構文解析部
134 OCS関数呼び出し部
135 描画処理部
136 送信FIFOキュー
137 イベント変換部
140 端末アプリ
200 複合機
201 白黒ラインプリンタ
202 カラーラインプリンタ
203 ハードウェアリソース
210 ソフトウェア群
211 プリンタアプリ
212 コピーアプリ
213 ファックスアプリ
214 スキャナアプリ
215 ネットファイルアプリ
216 工程検査アプリ
220 プラットホーム
221 汎用OS
222 SCS
223 SRM
224 ECS
225 MCS
226 OCS
227 FCS
228 NCS
230 アプリケーション
610 オペレーションパネル
700 開発用PC
701 コンパイラ
702 リンカ
704,705 ソフトウェア開発キット
706 端末エミュレータソースファイル
707 端末エミュレータオブジェクトファイル
708 端末エミュレータ実行形式ファイル
900 端末アプリ
930 エミュレータ部
940 Webデータ入出力部
Claims (16)
- 画像情報処理装置に搭載される端末エミュレータであって、
前記画像情報処理装置は、印刷部または撮像部を有するハードウェア資源を利用した画像情報処理にかかるアプリケーションを複数搭載可能であり、オペレーティングシステム、制御プログラム及び端末アプリを搭載し、オペレーションパネルを備えるものであり、
前記制御プログラムは、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うものであり、
前記オペレーションパネルは、描画表示および入力操作を行うものであり、
前記端末アプリは、前記オペレーションパネルのオペパネ表示部を仮想端末として使用し、WEBブラウザ機能を有するものであり、
前記端末エミュレータは、解析部を含み、かつ、前記端末アプリと前記制御プログラムとの間で前記オペパネ表示部を仮想端末として動作させるものであって、グラフィック関数ライブラリと前記端末エミュレータのオブジェクトファイルとから、実行形式プログラムとして生成されたものであり、
前記解析部は、前記端末アプリから送出された表示データに含まれるテキスト情報を解析して、前記テキスト情報の属性がハイパーリンクを示す文字属性か否かを判断するものであり、
前記グラフィック関数ライブラリは、描画処理関数群が登録されたものであり、
前記描画処理関数群は、表示要求関数を含むものであり、
前記表示要求関数は、前記テキスト情報の属性がハイパーリンクを示す文字属性である場合に、前記テキスト情報をハイパーリンクとして押下可能な形式に変換し、変換された結果を前記表示データに含まれる位置情報に基づいて前記オペパネ表示部に描画するものであり、
前記ハイパーリンクとして押下可能な形式は、前記オペパネ表示部からの入力位置座標を取得可能な形式である
ことを特徴とする画像情報処理装置用端末エミュレータ。 - 前記表示要求関数は、前記テキスト情報をボタン形式で前記オペパネ表示部に描画することを特徴とする請求項1に記載の画像情報処理装置用端末エミュレータ。
- 前記表示要求関数は、前記表示データにハイパーリンクを示す文字属性が含まれる場合に、前記テキスト情報を、前記文字属性とともにボタン形式で前記オペパネ表示部に描画することを特徴とする請求項2に記載の画像情報処理装置用端末エミュレータ。
- 前記表示要求関数は、前記テキスト情報を、前記テキスト情報に含まれる文字属性に基づいて、ボタン形式かつ反転形式で前記オペパネ表示部に描画することを特徴とする請求項2に記載の画像情報処理装置用端末エミュレータ。
- 前記表示要求関数は、さらに、前記表示データに入力フィールドを示す文字属性が含まれる場合に、前記テキスト情報を、前記文字属性とともに反転形式で前記オペパネ表示部に描画することを特徴とする請求項4に記載の画像情報処理装置用端末エミュレータ。
- 前記表示要求関数は、さらに、前記表示データにインライン画像を示す文字属性が含まれる場合に、前記テキスト情報を、前記文字属性とともに反転形式で前記オペパネ表示部に描画することを特徴とする請求項4または5に記載の画像情報処理装置用端末エミュレータ。
- 前記グラフィック関数ライブラリは、前記オペパネ表示部の画面レイアウトを管理するレイアウト関数を含む画面管理関数群がさらに登録されたことを特徴とする請求項1〜6のいずれか一つに記載の画像情報処理装置用端末エミュレータ。
- 前記表示要求関数または前記レイアウト関数は、前記オペパネ表示部に描画表示を行うオペパネ描画関数の呼び出しを行うものであり、
前記端末エミュレータの実行形式プログラムは、前記オペパネ描画関数が登録されたOCS関数ライブラリと、前記グラフィック関数ライブラリと、前記各関数の呼び出しを行う前記端末エミュレータのオブジェクトファイルとから、生成されたことを特徴とする請求項1〜7のいずれか一つに記載の画像情報処理装置用端末エミュレータ。 - 前記グラフィック関数ライブラリは、さらにイベント変換関数群が登録されたものであり、
前記イベント変換関数群は、イベント通知関数を含むものであり、
前記イベント通知関数は、前記オペパネ表示部から送出されるタッチキーコードを、前記タッチキーコードに含まれるイベント種別に基づいて、前記オペパネ表示部に描画されたボタンを押下することにより送出されたボタンイベントか、前記オペパネ表示部に描画されたソフトウェアキーボードのキーを押下することにより送出されたキーイベントかを判断し、前記タッチキーコードが前記ボタンイベントである場合には、前記タッチキーコードを、前記タッチキーコードに含まれる位置情報とともにマウスによるクリック動作を示すマウスイベントとして前記端末アプリに通知するものであることを特徴とする請求項2〜8のいずれか一つに記載の画像情報処理装置用端末エミュレータ。 - 前記イベント通知関数は、前記オペパネ表示部から送出されるタッチキーコードが、前記キーイベントである場合には、前記タッチキーコードに含まれるキー識別情報に対応する制御コードを前記端末アプリに通知することを特徴とする請求項9に記載の画像情報処理装置用端末エミュレータ。
- 前記端末エミュレータの実行形式プログラムは、前記端末エミュレータのオブジェクトファイルと、前記グラフィック関数ライブラリの呼び出し処理モジュールとを結合して生成されたことを特徴とする請求項1〜10のいずれか一つに記載の画像情報処理装置用端末エミュレータ。
- 画像情報処理装置に搭載される端末アプリであって、
前記画像情報処理装置は、印刷部または撮像部を有するハードウェア資源を利用した画像情報処理にかかるアプリケーションを複数搭載可能であり、オペレーティングシステム、制御プログラム及び前記端末アプリを搭載し、オペレーションパネルを備えるものであり、
前記制御プログラムは、前記オペレーティングシステム上で動作し、複数の前記アプリケーションからアクセスされて前記ハードウェア資源の制御を行うものであり、
前記オペレーションパネルは、描画表示および入力操作を行うものであり、
前記端末アプリは、解析部を含み、かつ、前記オペレーションパネルのオペパネ表示部を仮想端末として使用し、WEBブラウザ機能を有するものであって、グラフィック関数ライブラリと、前記端末アプリのオブジェクトファイルとから、実行形式プログラムとして生成されたものであり、
前記解析部は、前記オペパネ表示部に描画する表示データに含まれるテキスト情報を解析して、前記テキスト情報の属性がハイパーリンクを示す文字属性か否かを判断するものであり、
前記グラフィック関数ライブラリは、描画処理関数群が登録されたものであり、
前記描画処理関数群は、表示要求関数を含むものであり、
前記表示要求関数は、前記テキスト情報の属性がハイパーリンクを示す文字属性である場合に、前記テキスト情報をハイパーリンクとして押下可能な形式に変換し、変換された結果を前記表示データに含まれる位置情報に基づいて前記オペパネ表示部に描画するものであり、
前記ハイパーリンクとして押下可能な形式は、前記オペパネ表示部からの入力位置座標を取得可能な形式である
ことを特徴とする画像情報処理装置用端末アプリ。 - 前記表示要求関数は、前記テキスト情報をボタン形式で前記オペパネ表示部に描画することを特徴とする請求項12に記載の画像情報処理装置用端末アプリ。
- 前記表示要求関数は、前記テキスト情報を、前記テキスト情報に含まれる文字属性に基づいて、ボタン形式かつ反転形式で前記オペパネ表示部に描画することを特徴とする請求項13に記載の画像情報処理装置用端末アプリ。
- 前記グラフィック関数ライブラリは、前記オペパネ表示部の画面レイアウトを管理するレイアウト関数を含む画面管理関数群がさらに登録されたことを特徴とする請求項12〜14のいずれか一つに記載の画像情報処理装置用端末アプリ。
- 前記グラフィック関数ライブラリは、さらにイベント変換関数群が登録されたものであり、
前記イベント変換関数群は、イベント通知関数を含むものであり、
前記イベント通知関数は、前記オペパネ表示部から送出されるタッチキーコードを、前記タッチキーコードに含まれるイベント種別に基づいて、前記オペパネ表示部に描画されたボタンを押下することにより送出されたボタンイベントか、前記オペパネ表示部に描画されたソフトウェアキーボードのキーを押下することにより送出されたキーイベントかを判断し、前記タッチキーコードが前記ボタンイベントである場合には、前記タッチキーコードを、前記タッチキーコードに含まれる位置情報とともにマウスによるクリック動作を示すマウスイベントとして前記端末アプリに通知するものであることを特徴とする請求項13〜15のいずれか一つに記載の画像情報処理装置用端末アプリ。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002082240A JP4405132B2 (ja) | 2002-03-25 | 2002-03-25 | 画像情報処理装置用端末エミュレータおよび画像情報処理装置用端末アプリ |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002082240A JP4405132B2 (ja) | 2002-03-25 | 2002-03-25 | 画像情報処理装置用端末エミュレータおよび画像情報処理装置用端末アプリ |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003280844A JP2003280844A (ja) | 2003-10-02 |
JP4405132B2 true JP4405132B2 (ja) | 2010-01-27 |
Family
ID=29230500
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002082240A Expired - Lifetime JP4405132B2 (ja) | 2002-03-25 | 2002-03-25 | 画像情報処理装置用端末エミュレータおよび画像情報処理装置用端末アプリ |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4405132B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8432562B2 (en) * | 2004-02-17 | 2013-04-30 | Ricoh Company, Ltd. | Image processing apparatus, method, program, and computer readable recording medium for controlling operation switching and displaying at occurrence of error conditions |
JP4879468B2 (ja) * | 2004-07-23 | 2012-02-22 | 株式会社リコー | 画像データ取得システム、デジタル複合機及びシステム管理サーバ |
JP7095972B2 (ja) * | 2017-10-19 | 2022-07-05 | 株式会社日立産機システム | インクジェットプリンタ |
-
2002
- 2002-03-25 JP JP2002082240A patent/JP4405132B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2003280844A (ja) | 2003-10-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7209249B2 (en) | Method of and apparatus for image formation, and computer product | |
US7554685B2 (en) | Image forming apparatus, information processing apparatus, program execution method and program producing method | |
JP2004185595A (ja) | 情報処理装置およびそのプログラム | |
US9110962B2 (en) | Data providing apparatus for implementing script, electronic apparatus for implementing script, data processing system for implementing script, and method of data processing for implementing script | |
JP2011238299A (ja) | 装置、要求処理方法、プログラム、及び記録媒体 | |
JP3677478B2 (ja) | 画像形成装置、アプリケーション利用制限方法およびその方法をコンピュータに実行させるプログラム | |
JP4090806B2 (ja) | 画像情報処理装置およびアプリケーションインストール方法 | |
JP5156083B2 (ja) | 画像形成装置 | |
JP4198551B2 (ja) | 画像形成装置およびプログラム実行方法 | |
US20030133136A1 (en) | Method for generating and launching application for information processing apparatus and image forming apparatus | |
JP2004185593A (ja) | 画像形成装置およびアプリケーション実行方法 | |
JP4405132B2 (ja) | 画像情報処理装置用端末エミュレータおよび画像情報処理装置用端末アプリ | |
JP4133085B2 (ja) | 画像形成装置およびカスタマイズプログラム試験方法 | |
JP3699412B2 (ja) | 画像形成装置用端末エミュレータにおける拡張制御コード処理方法、その方法をコンピュータに実行させるプログラムおよび画像形成装置 | |
JP3689380B2 (ja) | 画像形成装置用端末エミュレータにおける描画処理方法、その方法をコンピュータに実行させるプログラムおよび画像形成装置 | |
JP3920893B2 (ja) | 情報処理装置、プロセス間通信履歴表示方法およびその方法をコンピュータに実行させるプログラム | |
JP3683863B2 (ja) | 画像形成装置用端末エミュレータにおける描画処理方法および入力イベント処理方法、その方法をコンピュータに実行させるプログラム、並びに画像形成装置 | |
JP4500333B2 (ja) | 画像情報処理装置、インストール方法、プログラムおよび記録媒体 | |
JP2009223577A (ja) | ユーザインタフェースエミュレート装置及びユーザインタフェースエミュレートプログラム | |
JP4542180B2 (ja) | 画像形成装置、プログラム、及び記録媒体 | |
JP3686620B2 (ja) | 画像形成装置用端末エミュレータにおける制御コード判別処理方法、その方法をコンピュータに実行させるプログラムおよび画像形成装置 | |
JP4340704B2 (ja) | 画像情報処理装置およびアプリケーションインストール方法 | |
JP3977039B2 (ja) | 画像情報処理装置用通信プログラム生成方法および画像情報処理装置用通信プログラム生成装置 | |
JP2009043078A (ja) | シミュレータプログラム及び記録媒体 | |
JP2010218469A (ja) | 情報処理装置、情報処理方法、プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20051207 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20051213 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060213 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20060425 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060626 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20060807 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20060825 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20091005 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20091104 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121113 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4405132 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131113 Year of fee payment: 4 |
|
EXPY | Cancellation because of completion of term |