(57)【特許請求の範囲】
【請求項１】
画像形成処理で使用されるハードウェア資源を有し、画像形成処理にかかるユーザサービスを行うアプリケーションを備え、前記アプリケーションの１つである端末表示アプリケーションを搭載可能にする画像形成装置上で動作する画像形成装置用端末エミュレータにおける拡張制御コード処理方法であって、
前記端末表示アプリケーションから出力された拡張制御コードを含む受信データを受信する受信ステップと、
受信した拡張制御コードが指定する表示を行うための関数を呼び出す関数呼出ステップと、
呼び出した関数に基づいて表示部に表示を行う表示ステップと、
を含んだことを特徴とする画像形成装置用端末エミュレータにおける拡張制御コード処理方法。
【請求項２】
画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションのプロセスと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスのプロセスと、操作入力および描画情報出力を行うオペレーションパネルとを備え、前記アプリケーションの１つである端末表示アプリケーションを搭載可能にする画像形成装置上で動作する画像形成装置用端末エミュレータにおける拡張制御コード処理方法であって、
前記端末表示アプリケーションから出力された拡張制御コードを含む受信データを受信する受信ステップと、
受信した拡張制御コードが指定する表示を行うための関数を呼び出す関数呼出ステップと、
呼び出した関数に基づいて表示部に表示する表示ステップと、
を含んだことを特徴とする画像形成装置用端末エミュレータにおける拡張制御コード処理方法。
【請求項３】
前記関数呼出ステップは、前記拡張制御コードが指定する表示として少なくともソフトキーボード表示とイメージ貼り付け表示があることを特徴とする請求項１または２に記載の画像形成装置用端末エミュレータにおける拡張制御コード処理方法。
【請求項４】
前記関数呼出ステップは、前記拡張制御コードが指定する表示を行うための関数を集めたオペレーションパネルコントロールサービス関数ライブラリに対して関数呼び出しを行うことを特徴とする請求項１〜３のいずれか一つに記載の画像形成装置用端末エミュレータにおける拡張制御コード処理方法。
【請求項５】
前記表示ステップは、ソフトキーボード表示を行う際に、前記関数呼出ステップで関数を呼び出してソフトキーボード要求関数に変換することにより表示を行っていることを特徴とする請求項３または４に記載の画像形成装置用端末エミュレータにおける拡張制御コード処理方法。
【請求項６】
前記表示ステップは、イメージ貼り付け表示を行う際に、予め指定されたイメージ表示位置とイメージファイルとに基づいて表示を行っていることを特徴とする請求項３または４に記載の画像形成装置用端末エミュレータにおける拡張制御コード処理方法。
【請求項７】
前記受信ステップは、その前段に前記端末表示アプリケーションから出力された受信データを構文解析し、端末制御コードを含むデータと拡張制御コードを含むデータとに分ける構文解析ステップを備え、拡張制御コードを含むデータを受信するようにしたことを特徴とする請求項１〜６のいずれか一つに記載の画像形成装置用端末エミュレータにおける拡張制御コード処理方法。
【請求項８】
請求項１〜７のいずれか一つに記載された方法をコンピュータに実行させるプログラム。
【請求項９】
画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスを行うアプリケーションと、アプリケーションレベルでオペレーションパネルに対する入出力をエミュレーションする端末エミュレータと、を備え、前記端末エミュレータを介して端末表示を行う前記アプリケーションの１つである端末表示アプリケーションを搭載可能にする画像形成装置であって、
前記端末エミュレータは、前記端末表示アプリケーションから出力された受信データに拡張制御コードが含まれていると、その拡張制御コードの指定する表示を行うための関数呼び出しを行う関数呼出手段
を備え、前記関数呼出手段が呼び出した関数に基づいて表示部に表示することを特徴とする画像形成装置。
【請求項１０】
画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスと、操作入力および描画情報出力を行うオペレーションパネルと、アプリケーションレベルでオペレーションパネルに対する入出力をエミュレーションする端末エミュレータと、を備え、前記端末エミュレータを介して端末表示を行う前記アプリケーションの１つである端末表示アプリケーションを搭載可能にする画像形成装置であって、
前記端末エミュレータは、前記端末表示アプリケーションから出力された受信データに拡張制御コードが含まれていると、その拡張制御コードの指定する表示を行うための関数呼び出しを行う関数呼出手段
を備え、前記関数呼出手段が呼び出した関数に基づいて表示部に表示することを特徴とする画像形成装置。
【請求項１１】
前記関数呼出手段は、前記拡張制御コードが指定する表示として少なくともソフトキーボード表示とイメージ貼り付け表示を行うことを特徴とする請求項９または１０に記載の画像形成装置。
【請求項１２】
前記関数呼出手段から前記拡張制御コードの指定する表示を行うための関数呼び出しを行うオペレーションパネルコントロールサービス関数ライブラリを
さらに備えていることを特徴とする請求項９〜１１のいずれか一つに記載の画像形成装置。
【請求項１３】
前記関数呼出手段は、ソフトキーボード表示を行うための関数を呼び出してソフトキーボード要求関数に変換することにより表示を行っていることを特徴とする請求項１１または１２に記載の画像形成装置。
【請求項１４】
前記関数呼出手段は、イメージ貼り付け表示を行う際に、予め指定されたイメージ表示位置とイメージファイルとに基づいて表示を行っていることを特徴とする請求項１１または１２に記載の画像形成装置。
【請求項１５】
前記関数呼出手段は、その前段に前記端末表示アプリケーションから出力された受信データを構文解析して端末制御コードを含むデータと拡張制御コードを含むデータとに分け、それぞれのデータを使って適切な端末表示処理を呼び出す構文解析手段をさらに備え、
前記構文解析手段から前記関数呼出手段に拡張制御コードを含むデータを送って端末表示処理を行うことを特徴とする請求項９〜１４のいずれか一つに記載の画像形成装置。
【請求項１６】
前記端末表示を行う表示部上で入力操作が行えるタッチパネルを採用し、
前記拡張制御コードの指定する表示画面に対して直接入力することを特徴とする請求項９〜１５のいずれか一つに記載の画像形成装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、コピー、プリンタ、スキャナあるいはファクシミリなどの画像形成処理にかかるユーザサービスを提供する画像形成装置のオペレーションパネルに描画処理やイベント処理機能を持たせる端末表示アプリを移植する画像形成装置用端末エミュレータにおける拡張制御コード処理方法、その方法をコンピュータに実行させるプログラムおよびこれらを実行することができる画像形成装置に関するものである。
【０００２】
【従来の技術】
従来、プリンタ、コピー、ファクシミリ、あるいは、スキャナなどいずれかの機能を備えた画像形成装置が一般的に知られている。さらに、近年では、プリンタ、コピー、ファクシミリ、スキャナなどの各装置の機能を１つの筐体内に収納した画像形成装置（以下、「複合機」という。）が知られている。この複合機は、１つの筐体内に表示部、印刷部および撮像部などを設けるとともに、プリンタ、コピーおよびファクシミリ装置にそれぞれ対応した３種類のソフトウェアを設け、これらのソフトウェアを切り替えることによって、当該装置をプリンタ、コピー、スキャナまたはファクシミリ装置として動作させるものである。
【０００３】
このような従来の画像形成装置におけるオペレーションパネルとしては、操作を行うための操作キーと、操作表示やエラー表示を行うための小さなディスプレイが設けられたもの、あるいは、画面上に操作表示やエラー表示を行うとともに、操作キーを表示パネル上に表示し、これに直接触れて操作することができるタッチパネルタイプのものなどがあった。
【０００４】
【発明が解決しようとする課題】
しかしながら、このような従来の画像形成装置にあっては、ワークステーションやパーソナルコンピュータのようなキーボードやディスプレイに対応する端末を具備していなかったため、例えば、画像形成装置のオペレーションパネルの表示部を使ってブラウジング画面などのデータを描画表示させようとして、Ｗｅｂブラウザなど汎用の端末表示アプリケーションを移植しても標準入出力の対応がとれず、そのままではオペレーションパネルの表示部に画面表示することができなかった。もちろん、端末表示アプリケーションを移植先の画像形成装置に合うように、アプリケーション内部に大幅な変更を加えれば描画表示も可能となるが、アプリケーション内部を変更するには、時間、手間およびコストがかかるという問題があった。
【０００５】
また、従来の複合機では、プリンタ、コピー、スキャナおよびファクシミリ装置に対応するソフトウェアをそれぞれ別個に設けているため、各ソフトウェアの開発に多大の時間を要していた。このため、出願人は、表示部、印刷部および撮像部などの画像形成処理で使用されるハードウェア資源を有し、プリンタ、コピーまたはファクシミリなどの各ユーザサービスにそれぞれ固有の処理を行うアプリケーションを複数搭載し、これらのアプリケーションとハードウェア資源との間に介在して、ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行う各種コントロールサービスからなるプラットホームを備えた画像形成装置（複合機）を発明した。この複合機によれば、アプリケーションの少なくとも２つが共通的に必要とするハードウェア資源の管理、実行制御並びに画像形成処理を行うプラットホームを備えた構成とすることによって、ソフトウェア開発の効率化を図るとともに、装置全体としての生産性を向上させることが可能となる。
【０００６】
このように、出願人が発明をした新規な複合機では、アプリケーションとコントロールサービスとを別個に設けているため、複合機の出荷後にユーザもしくは第三者であるサードベンダーが新規なアプリケーションを開発して複合機に搭載可能な構成となっている。しかし、この複合機に新規なアプリケーションを搭載する場合も上記と同様であり、複合機側にアプリケーションの標準入出力に対応する端末が無い場合は、そのまま搭載することができず、アプリケーション内部に変更を加える必要があった。特に、複合機の場合、少なくともプリンタ、コピー、スキャナおよびファクシミリ装置に対応するアプリケーションはそれぞれ別個に開発しなければならないため、各ソフトウェアの開発に多大の時間を要する上、汎用の端末表示アプリケーションを追加移植しようとすると、アプリケーション内部に変更を加えなければならず、開発期間がさらに延びてソフトウェアの開発効率が低下するという問題があった。
【０００７】
また、これまで画像形成装置や複合機などのオペレーションパネルには、スペース上の制約があるため、入力部としては簡単な操作キーしかなく、多数のキーが配列されたキーボードを使って効率の良い入力操作を行うことができないという問題があった。さらに、画像形成装置や複合機などのオペレーションパネルの表示部には、イメージを表示するためのイメージウィンドウが存在していなかったため、イメージ表示を行うことができず、表示内容に一定の制約があるという問題があった。
【０００８】
この発明は上記に鑑みてなされたもので、画像形成装置のオペレーションパネルの表示部を用いて入力可能なキーボードを表示したり、所望のイメージを所望の位置に貼り付けるといったイメージ表示が可能であって、これらの端末表示を行うために搭載する端末表示アプリケーションの内部を大幅に変更することなく、容易に移植が可能な画像形成装置用端末エミュレータにおける拡張制御コード処理方法、その方法をコンピュータに実行させるプログラムおよび画像形成装置を得ることを目的とする。
【０００９】
【課題を解決するための手段】
上記目的を達成するため、請求項１にかかる発明は、画像形成処理で使用されるハードウェア資源を有し、画像形成処理にかかるユーザサービスを行うアプリケーションを備え、前記アプリケーションの１つである端末表示アプリケーションを搭載可能にする画像形成装置上で動作する画像形成装置用端末エミュレータにおける拡張制御コード処理方法であって、前記端末表示アプリケーションから出力された拡張制御コードを含む受信データを受信する受信ステップと、受信した拡張制御コードが指定する表示を行うための関数を呼び出す関数呼出ステップと、呼び出した関数に基づいて表示部に表示を行う表示ステップと、を含んだことを特徴とする。
【００１０】
この請求項１にかかる発明によれば、アプリケーションの１つである端末表示アプリケーションを搭載可能にする画像形成装置上で動作する画像形成装置用端末エミュレータにおける拡張制御コード処理方法として、端末表示アプリケーションから出力された拡張制御コードを含む受信データを受信する受信ステップと、受信した拡張制御コードが指定する表示を行うための関数を呼び出す関数呼出ステップと、呼び出した関数に基づいて表示部に表示を行う表示ステップとを含んでいるため、受信データに含まれる拡張制御コードが指定する種々の表示を表示部に表示することができる。
【００１１】
また、請求項２にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションのプロセスと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスのプロセスと、操作入力および描画情報出力を行うオペレーションパネルとを備え、前記アプリケーションの１つである端末表示アプリケーションを搭載可能にする画像形成装置上で動作する画像形成装置用端末エミュレータにおける拡張制御コード処理方法であって、前記端末表示アプリケーションから出力された拡張制御コードを含む受信データを受信する受信ステップと、受信した拡張制御コードが指定する表示を行うための関数を呼び出す関数呼出ステップと、呼び出した関数に基づいて表示部に表示する表示ステップと、を含んだことを特徴とする。
【００１２】
この請求項２にかかる発明によれば、アプリケーションの１つである端末表示アプリケーションを搭載可能にする複合機上で動作する画像形成装置用端末エミュレータにおける拡張制御コード処理方法として、端末表示アプリケーションから出力された拡張制御コードを含む受信データを受信する受信ステップと、受信した拡張制御コードが指定する表示を行うための関数を呼び出す関数呼出ステップと、呼び出した関数に基づいて表示部に表示する表示ステップとを含んでいるため、複合機の場合でも受信データに含まれる拡張制御コードが指定する種々の表示を表示部に表示することができる。
【００１３】
また、請求項３にかかる発明は、請求項１または２に記載の画像形成装置用端末エミュレータにおける拡張制御コード処理方法において、前記関数呼出ステップは、前記拡張制御コードが指定する表示として少なくともソフトキーボード表示とイメージ貼り付け表示があることを特徴とする。
【００１４】
この請求項３にかかる発明によれば、関数呼出ステップにおいて拡張制御コードが指定する表示に少なくともソフトキーボード表示とイメージ貼り付け表示があるため、ソフトキーボード表示によりキーボード入力を可能にしたり、イメージ貼り付け表示を行うといった種々の表示が可能となる。
【００１５】
また、請求項４にかかる発明は、請求項１〜３のいずれか一つに記載の画像形成装置用端末エミュレータにおける拡張制御コード処理方法において、前記関数呼出ステップは、前記拡張制御コードが指定する表示を行うための関数を集めたオペレーションパネルコントロールサービス関数ライブラリに対して関数呼び出しを行うことを特徴とする。
【００１６】
この請求項４にかかる発明によれば、関数呼出ステップにおいて拡張制御コードが指定する表示を行うための関数を集めたオペレーションパネルコントロールサービス関数ライブラリに対して関数呼び出しを行うようにしたため、ライブラリの関数を変更するだけで、種々の表示に対応することができる。
【００１７】
また、請求項５にかかる発明は、請求項３または４に記載の画像形成装置用端末エミュレータにおける拡張制御コード処理方法において、前記表示ステップは、ソフトキーボード表示を行う際に、前記関数呼出ステップで関数を呼び出してソフトキーボード要求関数に変換することにより表示を行っていることを特徴とする。
【００１８】
この請求項５にかかる発明によれば、表示ステップにおいてソフトキーボード表示をする場合は、関数呼出ステップで関数を呼び出してソフトキーボード要求関数に変換するだけで表示することができる。これは、ソフトキーボードの制御コードがソフトキーボード要求関数を実行するための制御コードだからである。
【００１９】
また、請求項６にかかる発明は、請求項３または４に記載の画像形成装置用端末エミュレータにおける拡張制御コード処理方法において、前記表示ステップは、イメージ貼り付け表示を行う際に、予め指定されたイメージ表示位置とイメージファイルとに基づいて表示を行っていることを特徴とする。
【００２０】
この請求項６にかかる発明によれば、表示ステップにおいてイメージ貼り付け表示を行う場合は、予め指定されたイメージ表示位置とイメージファイルとに基づいて表示を行うようにしたため、所望のイメージを表示部上の所望の位置に表示することができる。
【００２１】
また、請求項７にかかる発明は、請求項１〜６のいずれか一つに記載の画像形成装置用端末エミュレータにおける拡張制御コード処理方法において、前記受信ステップは、その前段に前記端末表示アプリケーションから出力された受信データを構文解析し、端末制御コードを含むデータと拡張制御コードを含むデータとに分ける構文解析ステップを備え、拡張制御コードを含むデータを受信するようにしたことを特徴とする。
【００２２】
この請求項７にかかる発明によれば、受信ステップの前段には、端末表示アプリケーションから出力された受信データを構文解析して端末制御コードを含むデータと拡張制御コードを含むデータとに分ける構文解析ステップが設けられ、その拡張制御コードを含むデータを受信するようにしたため、受信データが端末制御コードと拡張制御コードがそれぞれ含まれたデータであっても、構文解析ステップで選り分けることができ、本発明の受信ステップでは拡張制御コードを含むデータの処理だけを行うことができる。また、選り分けられたもう一方の端末制御コードを含む受信データは、そのデータに応じた描画処理を別に行うことにより、さらに異なった種類の画像を表示することができる。
【００２３】
また、請求項８にかかる発明は、請求項１〜７のいずれか一つに記載された方法をコンピュータに実行させるプログラムとしたため、いずれか一つの動作をコンピュータに実行させることができる。
【００２４】
また、この請求項９にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスを行うアプリケーションと、アプリケーションレベルでオペレーションパネルに対する入出力をエミュレーションする端末エミュレータと、を備え、前記端末エミュレータを介して端末表示を行う前記アプリケーションの１つである端末表示アプリケーションを搭載可能にする画像形成装置であって、前記端末エミュレータは、前記端末表示アプリケーションから出力された受信データに拡張制御コードが含まれていると、その拡張制御コードの指定する表示を行うための関数呼び出しを行う関数呼出手段を備え、前記関数呼出手段が呼び出した関数に基づいて表示部に表示することを特徴とする。
【００２５】
この請求項９にかかる発明によれば、端末エミュレータを介して端末表示を行うアプリケーションの１つである端末表示アプリケーションを搭載可能にする画像形成装置であって、端末エミュレータの関数呼出手段により、端末表示アプリケーションから出力された拡張制御コードが含まれた受信データを受信すると、その拡張制御コードの指定する表示を行うための関数呼び出しを行い、関数呼出手段が呼び出した関数に基づいて表示部に表示するようにしたため、受信データに含まれる拡張制御コードが指定する種々の表示を表示部に表示することができる。
【００２６】
また、請求項１０にかかる発明は、画像形成処理で使用されるハードウェア資源と、画像形成処理にかかるユーザサービスにそれぞれ固有の処理を行うアプリケーションと、前記アプリケーションと前記ハードウェア資源との間に介在し、前記ユーザサービスを提供する際に、アプリケーションの少なくとも２つが共通的に必要とする前記ハードウェア資源の獲得要求、管理、実行制御並びに画像形成処理を行うコントロールサービスと、操作入力および描画情報出力を行うオペレーションパネルと、アプリケーションレベルでオペレーションパネルに対する入出力をエミュレーションする端末エミュレータと、を備え、前記端末エミュレータを介して端末表示を行う前記アプリケーションの１つである端末表示アプリケーションを搭載可能にする画像形成装置であって、前記端末エミュレータは、前記端末表示アプリケーションから出力された受信データに拡張制御コードが含まれていると、その拡張制御コードの指定する表示を行うための関数呼び出しを行う関数呼出手段を備え、前記関数呼出手段が呼び出した関数に基づいて表示部に表示することを特徴とする。
【００２７】
この請求項１０にかかる発明によれば、端末エミュレータを介して端末表示を行うアプリケーションの１つである端末表示アプリケーションを搭載可能にする複合機の画像形成装置であって、端末エミュレータの関数呼出手段により、端末表示アプリケーションから出力された拡張制御コードが含まれた受信データを受信すると、その拡張制御コードの指定する表示を行うための関数呼び出しを行い、関数呼出手段が呼び出した関数に基づいて表示部に表示するようにしたため、受信データに含まれる拡張制御コードが指定する種々の表示を表示部に表示することができる。
【００２８】
また、請求項１１にかかる発明は、請求項９または１０に記載の画像形成装置において、前記関数呼出手段は、前記拡張制御コードが指定する表示として少なくともソフトキーボード表示とイメージ貼り付け表示を行うことを特徴とする。
【００２９】
この請求項１１にかかる発明によれば、関数呼出手段により拡張制御コードが指定する表示として少なくともソフトキーボード表示とイメージ貼り付け表示を行うようにしたため、ソフトキーボード表示によりキーボード入力を可能にしたり、イメージ貼り付け表示を行うといった種々の表示が可能となる。
【００３０】
また、請求項１２にかかる発明は、請求項９〜１１のいずれか一つに記載の画像形成装置において、前記関数呼出手段から前記拡張制御コードの指定する表示を行うための関数呼び出しを行うオペレーションパネルコントロールサービス関数ライブラリをさらに備えていることを特徴とする。
【００３１】
この請求項１２にかかる発明によれば、関数呼出手段から拡張制御コードの指定する表示を行うための関数呼び出しを行うオペレーションパネルコントロールサービス関数ライブラリをさらに備えているため、ライブラリの関数を変更するだけで、種々の表示に対応することができる。
【００３２】
また、請求項１３にかかる発明は、請求項１１または１２に記載の画像形成装置において、前記関数呼出手段は、ソフトキーボード表示を行うための関数を呼び出してソフトキーボード要求関数に変換することにより表示を行っていることを特徴とする。
【００３３】
この請求項１３にかかる発明によれば、関数呼出手段によりソフトキーボード表示を行うための関数を呼び出してソフトキーボード要求関数に変換することで表示を行うため、関数呼び出しを行うだけでソフトキーボード要求関数が実行されて表示も行うことができる。
【００３４】
また、請求項１４にかかる発明は、請求項１１または１２に記載の画像形成装置において、前記関数呼出手段は、イメージ貼り付け表示を行う際に、予め指定されたイメージ表示位置とイメージファイルとに基づいて表示を行っていることを特徴とする。
【００３５】
この請求項１４にかかる発明によれば、関数呼出手段によりイメージ貼り付け表示を行う場合は、予め指定されたイメージ表示位置とイメージファイルとに基づいて表示が行われるため、所望のイメージを表示部上の所望の位置に表示することができる。
【００３６】
また、請求項１５にかかる発明は、請求項９〜１４のいずれか一つに記載の画像形成装置において、前記関数呼出手段は、その前段に前記端末表示アプリケーションから出力された受信データを構文解析して端末制御コードを含むデータと拡張制御コードを含むデータとに分け、それぞれのデータを使って適切な端末表示処理を呼び出す構文解析手段をさらに備え、前記構文解析手段から前記関数呼出手段に拡張制御コードを含むデータを送って端末表示処理を行うことを特徴とする。
【００３７】
この請求項１５にかかる発明によれば、関数呼出手段の前段には、端末表示アプリケーションから出力された受信データを構文解析して端末制御コードを含むデータと拡張制御コードを含むデータとに分け、それぞれのデータを使って適切な端末表示処理を呼び出す構文解析手段をさらに備えていて、その構文解析手段から関数呼出手段に拡張制御コードを含むデータを送って端末表示処理を行うようにしたため、受信データに端末制御コードと拡張制御コードが含まれたデータが混在していても、構文解析手段で選り分けて拡張制御コードを含むデータの処理だけを関数呼出手段で行うことができる。また、選り分けられたもう一方の端末制御コードを含む受信データは、そのデータに応じた描画処理を別に行うことにより、さらに異なった種類の画像を表示することができる。
【００３８】
また、請求項１６にかかる発明は、請求項９〜１５のいずれか一つに記載の画像形成装置において、前記端末表示を行う表示部上で入力操作が行えるタッチパネルを採用し、前記拡張制御コードの指定する表示画面に対して直接入力することを特徴とする。
【００３９】
この請求項１６にかかる発明によれば、端末表示を行う表示部上で入力操作が行えるタッチパネルを採用し、拡張制御コードの指定する表示画面に対して直接入力するようにしたため、表示部に表示したキーボードやイメージ貼り付けに対して直接タッチすることにより、容易に入力操作を行うことができる。
【００４０】
【発明の実施の形態】
以下に添付図面を参照して、この発明にかかる画像形成装置用端末エミュレータにおける拡張制御コード処理方法、その方法をコンピュータに実行させるプログラムおよび画像形成装置の好適な実施の形態を詳細に説明する。
【００４１】
（実施の形態１）
（画像形成装置の構成）
図１は、この発明の実施の形態である画像形成装置（以下、「複合機」という）の機能的構成を示すブロック図である。図１に示すように、複合機１００は、白黒ラインプリンタ（B&W LP）１０１と、カラーラインプリンタ（Color LP）１０２と、スキャナ、ファクシミリ、ハードディスク、メモリ、ネットワークインタフェースなどのハードウェアリソース１０３を有するとともに、プラットホーム１２０とアプリケーション１３０とから構成されるソフトウェア群１１０とを備えている。
【００４２】
プラットホーム１２０は、アプリケーション１３０からの処理要求を解釈してハードウェア資源の獲得要求を発生させるコントロールサービスと、一または複数のハードウェア資源の管理を行い、コントロールサービスからの獲得要求を調停するシステムリソースマネージャ（ＳＲＭ）１２３と、汎用ＯＳ１２１とを有する。
【００４３】
コントロールサービスは、複数のサービスモジュールにより形成され、ＳＣＳ（システムコントロールサービス）１２２、ＥＣＳ（エンジンコントロールサービス）１２４、ＭＣＳ（メモリコントロールサービス）１２５、ＯＣＳ（オペレーションパネルコントロールサービス）１２６、ＦＣＳ（ファックスコントロールサービス）１２７、およびＮＣＳ（ネットワークコントロールサービス）１２８などで構成されている。なお、このプラットホーム１２０は、あらかじめ定義された関数によって前記アプリケーション１３０からの処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有している。
【００４４】
汎用ＯＳ１２１は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、プラットホーム１２０並びにアプリケーション１３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００４５】
ＳＲＭ１２３のプロセスは、ＳＣＳ１２２とともにシステムの制御およびリソースの管理を行うものである。ＳＲＭ１２３のプロセスは、スキャナ部やプリンタ部などのエンジン、メモリ、ＨＤＤファイル、ホストＩ／Ｏ（セントロＩ／Ｆ、ネットワークＩ／Ｆ、ＩＥＥＥ１３９４  Ｉ／Ｆ、ＲＳ２３２Ｃ  Ｉ／Ｆなど）のハードウェア資源を利用する上位層からの要求にしたがって調停を行い、実行制御する。
【００４６】
具体的には、このＳＲＭ１２３は、要求されたハードウェア資源が利用可能であるか（他の要求により利用されていないかどうか）を判断し、利用可能であれば要求されたハードウェア資源が利用可能である旨を上位層に伝える。また、ＳＲＭ１２３は、上位層からの要求に対してハードウェア資源の利用スケジューリングを行い、要求内容（例えば、プリンタエンジンにより紙搬送と作像動作、メモリ確保、ファイル生成など）を直接実施している。
【００４７】
ＳＣＳ１２２のプロセスは、アプリ管理、操作部制御、システム画面表示、ＬＥＤ表示、リソース管理、割り込みアプリ制御などを行う。
【００４８】
ＥＣＳ１２４のプロセスは、白黒ラインプリンタ（B&W LP）１０１、カラーラインプリンタ（Color LP）１０２、スキャナ、ファクシミリなどからなるハードウェアリソース１０３のエンジンの制御を行う。
【００４９】
ＭＣＳ１２５のプロセスは、画像メモリの取得および解放、ハードディスク装置（ＨＤＤ）の利用、画像データの圧縮および伸張などを行う。
【００５０】
ＦＣＳ１２７のプロセスは、システムコントローラの各アプリ層からＰＳＴＮ／ＩＳＤＮ網を利用したファクシミリ送受信、ＢＫＭ（バックアップＳＲＡＭ）で管理されている各種ファクシミリデータの登録／引用、ファクシミリ読みとり、ファクシミリ受信印刷、融合送受信を行うためのＡＰＩを提供する。
【００５１】
ＮＣＳ１２８のプロセスは、ネットワークＩ／Ｏを必要とするアプリケーションに対して共通に利用できるサービスを提供するためのプロセスであり、ネットワーク側から各プロトコルによって受信したデータを各アプリケーションに振り分けたり、アプリケーションからデータをネットワーク側に送信する際の仲介を行う。
【００５２】
ＯＣＳ１２６のプロセスは、オペレータ（ユーザ）と本体制御間の情報伝達手段となる後述のオペレーションパネル（操作パネル）を制御するプロセスであり、不図示のオペレーションパネルの表示部からのキー押下をキーイベントとして取得し、取得したキーに対応するキーイベント関数をＳＣＳ１２２へ送信するものである。また、上記アプリケーション１３０の端末表示アプリ１１３からＯＣＳ１２６に対して要求を行う場合は、オペレーションパネルの表示部に各種画像を描画出力する描画関数やその他オペレーションパネルに対する制御を行う関数などがあらかじめ登録された後述のＯＣＳ関数ライブラリを具備している。このＯＣＳ関数ライブラリは、アプリケーション１３０およびコントロールサービスの各モジュールにリンクされて実装されている。なお、ＯＣＳ１２６のすべてをプロセスとして動作させるように構成しても良く、あるいはＯＣＳ１２６のすべてをＯＣＳ関数ライブラリとして構成しても良い。
【００５３】
アプリケーション１３０は、ページ記述言語（ＰＤＬ）、ＰＣＬおよびポストスクリプト（ＰＳ）を有するプリンタ用のアプリケーションであるプリンタアプリ１１１と、コピー用アプリケーションであるコピーアプリ１１２と、端末表示用のアプリケーションである端末表示アプリ（例えば、汎用のＷｅｂブラウザなど）１１３と、ファクシミリ用アプリケーションであるファックスアプリ１１５と、スキャナ用アプリケーションであるスキャナアプリ１１６と、ネットワークファイル用アプリケーションであるネットファイルアプリ１１７と、工程検査用アプリケーションである工程検査アプリ１１８とを有している。
【００５４】
端末表示アプリ１１３は、本実施の形態１の複合機１００に移植するための汎用アプリ、あるいは、開発されたアプリの一例であって、ＡＰＩ上のアプリケーションレベルに設けられた本発明の端末エミュレータ１１４を介して実装されている。この端末表示アプリ１１３は、本発明の必須要件ではないが、後述する端末エミュレータ１１４がエミュレーションすることによって、アプリ内部に変更を加えなくても搭載が可能となる。すなわち、コピー機、プリンタ、ファクシミリ装置、あるいは、それらの機能を併せ持つ複合機１００は、キーボードやディスプレイに相当する端末を具備していないため、それらの端末を前提とする（標準入出力）汎用の端末表示アプリをそのまま移植しても動作しないが、端末エミュレータ１１４のエミュレーション機能により、端末表示アプリ１１３の標準入出力を端末エミュレータ１１４が移植先の複合機などのオペレーションパネルで扱えるデータに変換処理（リダイレクション）するからである。
【００５５】
（端末エミュレータの構成）
図２は、図１の画像形成装置用端末エミュレータの機能的構成とデータの流れを示すブロック図である。図２に示す端末エミュレータ１１４は、端末表示アプリ（汎用のＷｅｂブラウザなど）１１３からの標準出力の受信データを処理する受信ＦＩＦＯキュー１４０、本発明の特徴的な構成要素である構文解析部１４１、端末機能処理部１４２、テキストメモリ１４３、描画処理部１４４、ＯＣＳ関数ライブラリ１４５および関数呼出部１４６などを備えている。また、この端末エミュレータ１１４は、オペレーションパネル１６０の入力部に表示されたボタンやキーボードに対して入力操作が行われるとイベントメッセージを発し、これをマウスイベントやキーイベントの標準入力に変換して、端末表示アプリ（汎用のＷｅｂブラウザなど）１１３に通知するイベント解析部１４７、マウス入力変換部１４８、キー操作入力変換部１４９、および送信ＦＩＦＯキュー１５０などを備えている。
【００５６】
まず、本実施の形態１では、画像形成装置に搭載された端末表示アプリ１１３のテキスト情報にかかる標準出力を端末エミュレータ１１４によりエミュレーションされて、オペレーションパネル１６０の表示部に描画表示されるまでの流れと各構成部について説明する。
【００５７】
（受信ＦＩＦＯキュー）
受信ＦＩＦＯキュー１４０は、端末表示アプリ１１３からの標準出力の受信データを受け取って蓄積するとともに、受け取った順序にしたがって受信データを出力するＦＩＦＯ（先入れ先出し）メモリである。また、この受信ＦＩＦＯキュー１４０は、受信データに含まれる不定長の制御コードに対して不定長ブロックの比較を行い、該当する制御コードと認識した場合に、ストリーム位置を更新する機能を備えている。これは、端末表示アプリ１１３からの受信ストリームを次段の本発明の構文解析部１４１に直接解析させようとすると、その受信データには不定長の制御コードが含まれているため、そのままでは容易に解析することができないからである。このように、受信ＦＩＦＯキュー１４０は、端末表示アプリ１１３からの標準出力の受信データ（制御コードを含むデータ）をバッファリングするとともに、制御コードの不定長ブロックを比較してストリーム位置を更新することにより、次段の構文解析部１４１で制御コードの長さに応じた構文解析を容易に行うことができる。なお、受信ＦＩＦＯキュー１４０の受信ストリームオブジェクトの関数群の一例としては、文字列比較（IsCmpString）、文字比較（IsCmpChar）、文字評価取得（IsGetChar）、文字取得（GetChar）、数値取得（GetNum）、およびストリーム位置変更(SetOffset)などを用いている。
【００５８】
また、受信ＦＩＦＯキュー１４０は、後述する描画処理部１４４に対して、オペレーションパネル１６０の表示部へ描画タイミングを指示する機能を有している。すなわち、図２に示すように、受信ＦＩＦＯキュー１４０が描画処理部１４４に対して描画指示信号１５４（破線矢印）を送信すると、描画処理部１４４は、そのタイミングに合わせて、端末表示アプリケーション用に加工した描画情報をまとめてオペレーションパネル１６０の表示部上に描画することにより、画面がチラツクなど不自然な表示画面になるのを防いでいる。
【００５９】
（構文解析部）
次の構文解析部１４１は、上記した受信ＦＩＦＯキュー１４０の後段に配置され、端末表示アプリ１１３の標準出力からの受信データの解析を行い、その制御コードに応じて適切な表示処理を呼び出す構文解析手段であって、パーサー（parser）とも称される。この構文解析部１４１では、標準出力の受信データが入ってくると構文解析処理が行われ、その受信データに含まれる制御コードが端末制御コードか否かを判断し、端末制御コードであれば後述する端末機能処理部１４２で行われる処理が呼び出される。また、拡張制御コード（ＥＳＣコード）の場合は、次に述べる関数呼出部１４６の処理が呼び出される。
【００６０】
このように、構文解析部１４１では、標準出力の受信データの構文解析を行い、受信データに含まれる制御コードに応じて２種類の表示処理に分けて処理が行われるため、オペレーションパネル１６０の表示部上において種々の画像を表示することができる。例えば、制御コードが端末制御コードであって、端末機能処理部１４２を呼び出す場合は、テキスト情報に基づく描画処理を行うことができる。また、制御コードが拡張制御コード（ＥＳＣコード）であって、関数呼出部１４６を呼び出す場合は、端末機能処理部１４２だけでは処理できないソフトキーボード処理やイメージ貼り付け処理などを行うことができるため、オペレーションパネル１６０の描画表示機能を一層多機能化することができる。
【００６１】
（関数呼出部）
上記した構文解析部１４１によって標準出力の受信データに含まれる制御コードが拡張制御コードの場合は、本発明の特徴的な構成要素である関数呼出部１４６における処理が呼び出される。
【００６２】
関数呼出部１４６は、受信データの中に拡張制御コード（ＥＳＣコード）があった場合、オペレーションパネル１６０の表示部上にソフトキーボード表示したり、イメージ貼り付け等を行うことができる。ここで、ソフトキーボードとは、オペレーションパネル１６０のＬＣＤ画面上にキーボードを表示し、タッチパネルなどを使ってハードウェアのキーボードと同様のキー入力操作が行えるものである。
【００６３】
関数呼出部１４６によるソフトキーボード制御は、端末制御コードを用いることにより、ソフトキーボードをオペレーションパネルの表示部上に容易に表示することができ、また、表示されたソフトキーボードからの入力を標準入力として端末表示アプリ１１３に通知することができる。以下、ソフトキーボードの表示動作と、その表示されたソフトキーボードからのキー入力動作について、図２および図３〜図６を用いて説明する。
【００６４】
図３は、ソフトキーボードを表示するために端末表示アプリから標準出力として出力される制御コード書式の一例を示す図であり、図４は、図３の具体的な制御コード書式の一部を示す図であり、図５は、オペレーションパネルの表示部上に表示されたソフトキーボードの表示例を示す図であり、図６は、ソフトキーボードを表示するための標準出力動作を説明するフローチャートであり、図７は、ソフトキーボードからの入力を標準入力に変換する動作を説明するフローチャートである。
【００６５】
（ソフトキーボード処理）
まず、ソフトキーボードを表示するためには、図３に示すように、制御コードが図２の端末表示アプリ１１３から標準出力として出力される（図６のステップＳ１４０）。この制御コードは、図３の（ａ）〜（ｇ）に示されるように、関数呼出を行う関数呼出部１４６の指定コードから始まり、入力エリア終端文字コードまでの７つの部分で構成されている。また、図４の具体的な制御コード書式に示すように、キーボード表示に必要な「キーボードの種類（日本語用、英語用）」、あるいは「カタカナ、アルファベット、ひらがな」等に関する各種表示設定がなされ、所望のソフトキーボードをオペレーションパネル１６０の表示部上に表示させることができる。
【００６６】
このソフトキーボードの制御コードを用いて、関数呼出部１４６からＯＣＳ関数ライブラリ１４５に対して関数呼び出しを行うことにより、ソフトキーボード要求関数に変換され（図６のステップＳ１４２）、オペレーションパネル１６０のＬＣＤ画面にソフトキーボードが表示される（図６のステップＳ１４４）。これは、ソフトキーボードの制御コードがソフトキーボード要求関数（SysSoftOpen）を実行するための制御コードだからである。
【００６７】
また、オペレーションパネル１６０には、図５に示すようにソフトキーボードが表示され、パネル表面にはタッチパネルが採用されている。このため、オペレータは、オペレーションパネル１６０の表示部上のソフトキーボードを見て、入力したいキー位置のパネル部分にタッチするだけでキー入力を行うことができる（図７のステップＳ１５０）。
【００６８】
キー入力があると、ステップＳ１５２でキー入力判定を行い、取り消しボタンやＯＫボタン以外のボタンが押下されたと判定されると、ステップＳ１５０に戻る。また、ステップＳ１５２で図５のソフトキーボードのＯＫボタン１６０ａが押下されたと判定されると、入力文字列が図２のキー操作入力変換部１４９にてキー入力に変換され（ステップＳ１５４）、ソフトキーボードから入力されたデータの末尾には、リターンコード0x0aが付加される。
【００６９】
また、ステップＳ１５２で図５のソフトキーボードの取り消しボタン１６０ｂが押下されたと判定されると、入力が無効となり、Control-C コードに対応した0x03が通知される（ステップＳ１５８）。
【００７０】
上記ステップＳ１５４で変換されたキー入力と、ステップＳ１５８でのControl-C（0x03）の通知は、図２の送信ＦＩＦＯキュー１５０を介して端末表示アプリ１１３の標準入力となる（ステップＳ１５６）。すなわち、ソフトキーボードから入力されたデータは、端末表示アプリ１１３の標準入力としてリダイレクトされたことになる。
【００７１】
（イメージ貼り付け処理）
次に、これまでのコピー機、プリンタ、ファクシミリ装置、あるいは、複合機などの画像形成装置には、イメージ表示可能なイメージウィンドウ（オペレーションパネルの表示部など）が存在しなかった。このため、本実施の形態１では、上記した拡張制御コード処理の一つとして、イメージ画像を表示するためのイメージ貼り付け処理を行うことができる。
【００７２】
図８は、イメージ表示を行う場合のＥＳＣコード書式の一例を示す図であり、図９は、イメージ表示するＧＩＦファイルの一例を示す図であり、図１０は、図９のＧＩＦファイルを画面に表示するためのプログラム例を説明する図であり、図１１は、図１０のプログラムを実行してオペレーションパネルの表示部上に表示したイメージ表示例を示す図である。
【００７３】
まず、オペレーションパネルの表示画面の所定位置に所望のイメージ表示を行うため、図８に示すＥＳＣコードが図２の端末表示アプリ１１３から標準出力として出力される。このＥＳＣコードは、図８の（ａ）〜（ｅ）に示されるように、関数呼出を行う関数呼出部１４６の指定コードから始まり、終端文字コードまでの５つの部分で構成されている。
【００７４】
次に、ＧＩＦファイルとして、図９のabc.gif を表示するためのプログラム（図１０）は、イメージ表示を指示する図８のＥＳＣコードを用いて、図９のabc.gif イメージをオペレーションパネルの表示部の座標（ｘ，ｙ）＝（５０，５０）位置に表示されるよう、イメージ表示位置およびイメージファイルを図１０中の▲１▼のように指定している。また、図１０中▲２▼のプログラムは、標準入力からＱ文字を受信した場合にプログラムが終了することを意味し、図１０中の▲３▼は、イメージ表示がアイコン登録機能を使用して擬似的にイメージウィンドウを実現していることから、イメージ表示を終了する場合は、イメージウィンドウおよびイメージ登録を破棄する必要があることを示している。
【００７５】
このように、図１０に示すプログラムを実行することにより、図１１に示すようなオペレーションパネル１６０の表示部上の所定位置に、図９に示したようなＧＩＦファイルのイメージを貼り付けて表示させることができる。
【００７６】
なお、上記のようにして、オペレーションパネル１６０の表示部に表示された種々の画像に対してタッチパネルなどから入力が行われると、そのイベントが端末エミュレータ１１４を介して標準入力に変換され、端末表示アプリ１１３に入力される。これを図２を用いて簡単に説明すると、例えば、オペレーションパネル１６０の表示部には、パネル面に触れるとその座標値が入力される入力部を兼ねたタッチパネルを採用していて、オペレーションパネル１６０の所定位置に下線やボタン、あるいは、後述するようなソフトキーボードを表示させ、それらのボタン位置やキー位置に対応する座標値が入力された場合に、当該ボタンやキーが押下されたとするイベントメッセージを発生させることができる。すなわち、図２に示すＯＣＳ１２６は、オペレーションパネル１６０の入力部からキーイベントメッセージを取得すると、取得したキーに対応したイベント関数をＳＣＳ１２２のプロセスに送信する。そして、ＳＣＳ１２２のプロセスでは、ＯＣＳ１２６から受信したイベント関数が端末エミュレータ１１４のイベント解析部１４７に送信される。マウスイベントの場合もほぼこれと同様である。
【００７７】
イベント解析部１４７では、入力されたイベント関数がキー入力かマウス入力かを受信イベントによって解析し、キー入力の場合はそのイベントをキー操作入力変換部１４９へ、マウス入力の場合はそのイベントをマウス入力変換部１４８に送られる。
【００７８】
マウス入力変換部１４８は、イベント解析部１４７により振り分けられたマウスイベントを端末表示アプリ１１３の標準入力に変換処理され、また、キー操作入力変換部１４９は、イベント解析部１４７により振り分けられたキーイベントを端末表示アプリ１１３の標準入力に変換処理されて、送信ＦＩＦＯキュー１５０を介して端末表示アプリ１１３に送られる。
【００７９】
このように、本実施の形態１によれば、複合機のような画像形成装置であっても、端末表示アプリ１１３からの標準出力の受信データが受信ＦＩＦＯキュー１４０を介して、構文解析部１４１により制御コードの構文解析が行われ、拡張制御コードに応じた適切な描画処理を呼び出して処理するため、次の実施の形態２で説明する端末機能処理部１４２では処理できないソフトキーボード処理やイメージ貼り付け処理などをオペレーションパネルの表示部に表示することができる。また、ソフトキーボード表示やイメージ表示に対してタッチパネルを使って入力すると、これを標準入力に変換して端末表示アプリ１１３に通知するため、キーボードが搭載されている機器と同様に効率的な入力操作を実現することができる。
【００８０】
（実施の形態２）
次に、本実施の形態２では、図２の構文解析部１４１で解析された端末制御コードを含む受信データを、端末機能処理部１４２、テキストメモリ１４３、および描画処理部１４４を経て、オペレーションパネル１６０の表示部に描画表示されるまでの流れと各構成部について説明する。
【００８１】
（端末機能処理部）
次に、図２の端末機能処理部１４２は、タームキャップ（termcap ）処理部とも称され、端末表示アプリ１１３からの標準出力の受信データに含まれる制御コードとテキスト情報（文字コード）とを用いて、制御コードに基づく描画に関する属性（描画属性）をテキスト情報に付加する機能を有している。この属性としては、キー入力かマウス入力かの区別、座標位置、下線情報、文字属性情報（色指定情報に相当）、あるいは、シングルクリックをダブルクリックに読み替えるなどの入力形態情報等があり、文字コードに属性が付加された状態で次段のテキストメモリ１４３に格納される。また、この端末機能処理部１４２は、端末の仕様に合わせて画面制御情報を設定する機能を有している。画面制御情報としては、行数、コラム数、バックスペースの使用の可否など端末仕様に合わせるための情報、あるいは、画面消去、カーソル移動、アンダーライン等の画面の制御を行う情報が含まれていて、次段のテキストメモリ１４３に格納する画面表示用のテキスト情報を制御することができる。
【００８２】
（テキストメモリ）
テキストメモリ１４３は、テキストＲＡＭなどで構成されており、画面表示を行う描画属性が付加された状態のテキスト情報を格納するとともに、基本的な画面制御を行うことができる。
【００８３】
図１２は、描画属性が付加された文字コードがテキストメモリに格納されている状態を示す図である。図１２に示すように、オペレーショパネル１６０の表示領域が１６列×７９行で構成されており、１文字毎に文字コード（char ch ）と属性（int attr）が付加され、これを書き込むテキストメモリ（テキストＲＡＭ）１４３には、文字コード、文字の表示位置を示す行（line）と列（row ）、および行単位で表示内容の変更の有無をチェックするためのチェックビット（*check）などが格納されている。このため、表示内容に変更があった場合は、チェックビットの有無を確認するだけで容易に変更行を識別することができるので、変更された行のデータだけを効率的に書き換えることができる。
【００８４】
（描画処理部）
次に、図２の描画処理部１４４は、テキストメモリ１４３に格納されたテキスト情報を端末表示アプリ１１３用に加工して、オペレーションパネル１６０の表示部に描画処理を行うものである。描画処理を行う際は、描画処理部１４４からボタンや文字列などの画像を描画する描画関数が登録されたＯＣＳ関数ライブラリ１４５に対して描画関数を呼び出すことにより描画情報が生成され、ＯＣＳ関数ライブラリ１４５内に一時的に保持される。そして、上記したように、描画処理部１４４は、受信ＦＩＦＯキュー１４０から描画指示信号１５４を受信する度にＯＣＳ関数ライブラリ１４５内に加工して保持されている描画情報をまとめてオペレーションパネル１６０の表示部に描画される。ここでは、端末表示アプリ１１３としてＷｅｂブラウザのアプリケーションを用いているため、ブラウジング画面中に表示されるハイパーリンクやＦＯＲＭ入力などの画面に対する操作が必要になってくる。本実施の形態２では、複合機１００のオペレーションパネル１６０の表示部にタッチパネル入力が可能なＬＣＤ画面を採用しているが、ＬＣＤ画面にはタッチパネル入力の座標を取得する機構がないため、タッチパネル入力が必要な部分（ハイパーリンクやＦＯＲＭ入力部分）をボタン形式などで予め表示しておく必要がある。
【００８５】
図１３は、端末エミュレータ上で端末表示アプリを実行した場合のブラウジング画面の一例を示す図である。描画処理部１４４では、図１３に示すように、ハイパーリンク画像１５１の場合、文字に青色（図には色表示しない）の下線を付加したボタンを生成し、ＦＯＲＭ入力画像１５２の場合、赤色（色表示しない）の反転文字ボタンを生成し、インライン画像１５３の場合、緑色（色表示しない）の反転文字ボタンを生成することができる。しかし、このようなボタンを生成し、ボタンから画面操作を行っても、そのままでは端末表示アプリ１１３側に操作内容を通知することができない。そこで、後述するように特定の文字列に対してボタン表示を行うようにし、このボタンが操作された場合は、その入力をマウスのダブルクリックに変換して端末表示アプリ１１３へ通知する機構を採用している。
【００８６】
次に、図１４は、端末表示アプリからの端末表示要求によってオペレーションパネルの表示部に表示されるまでの動作を説明するフローチャートである。図１４に示すように、端末表示アプリ１１３から行表示要求（wd_putline）があると（ステップＳ１００）、これから表示する行を削除し（ステップＳ１０２）、文字属性を含む文字列を１文字目から順に調査を行い（ステップＳ１０４）、文字属性を含む文字列が一つ前の文字と比較して変化した場合は（ステップＳ１０６）、ステップＳ１０８で文字属性の調査（attr）が行われる。
【００８７】
文字属性調査は、ここでは文字色（色指定情報）に応じて次のような仕様に変更して表示するように設定（文字属性情報）されている。つまり、ハイパーリンクは、青色文字に下線を付加したボタンとして表示し、インライン画像は、緑色の反転文字ボタンとして表示し、通常の文字は黒色の文字として表示するようにする。
【００８８】
ステップＳ１０８において文字属性を調査した結果、黒の場合は、ステップＳ１１０に示すように、所定の（ｘ，ｙ）座標位置（ｘは列位置、ｙは行位置）に文字列をメッセージ形式で表示する。
【００８９】
また、ステップＳ１０８における文字属性調査の結果、青の場合は、ステップＳ１１２に示すように、所定の（ｘ，ｙ）座標位置に文字列をボタン形式で表示し、表示位置情報を格納するとともに、そのボタンが押下された時に通知するタッチコードとして登録する。
【００９０】
次に、ステップＳ１０８における文字属性調査の結果、緑の場合は、ステップＳ１１４に示すように、所定の（ｘ，ｙ）座標位置に文字列を反転文字ボタン形式で表示し、表示位置情報を格納するとともに、そのボタンが押下された時に通知を行うタッチコードとして登録する。
【００９１】
そして、これらの文字属性の調査結果に基づいて、ＯＣＳ関数ライブラリに関数を呼び出して、オペレーションパネルのＬＣＤ画面上に表示する（ステップＳ１１６）。その後、ステップＳ１１８で文字属性を含む文字列の終端まで調査したか否かが判断され、最後まで調査していなければステップＳ１０４に戻って上記処理が繰り返される。また、ステップＳ１０６で文字属性が１文字前の文字と比べて変化していない場合も上記と同様にステップＳ１１８で判断される。ステップＳ１１８で文字列の終端まで調査した場合は、処理が終了する。このように、端末エミュレータ１１４の描画処理部１４４によって、端末表示アプリ１１３が想定している画面をオペレーションパネル１６０の表示部上に描画表示し、その表示の少なくとも一部をボタン形式にて表示することにより、ブラウジング画面と同様にハイパーリンクなどが使える表示画面を得ることができる。
【００９２】
以上説明したように、本実施の形態２によれば、複合機などの画像形成装置であっても、端末機能に対応した汎用の端末表示アプリを端末エミュレータを介して搭載することにより、アプリ内部を殆ど変更することなく容易に移植することができる。また、本実施の形態２では、その端末エミュレータ１１４内に構文解析部１４１を配置したことにより、受信ＦＩＦＯキュー１４０を介して入力される端末表示アプリ１１３の標準出力からの受信データを解析し、制御コードが端末制御コードか拡張制御コード（ＥＳＣコード）かに応じて、最も適切な端末表示処理を呼び出すことができる。このように、制御コードに応じて適切な端末表示処理を呼び出すため、オペレーションパネル１６０の表示部を使って種々の画像を表示することができる。
【００９３】
（実施の形態３）
次に、本実施の形態３では、複合機などの画像形成装置に汎用の端末表示アプリを移植して、オペレーションパネルの表示部にブラウジング画面等を描画表示する場合、端末表示アプリには殆ど変更を加えずに移植できるようにするため、以下に示すような方法を用いている。
【００９４】
（端末表示アプリの移植形態）
図１５は、端末機能対応のアプリを端末デバイスのない機器に移植した場合の図であり、（ａ）はアプリ内容を変更した場合の図、（ｂ）は端末エミュレータを介在させた場合の図である。端末機能対応のアプリを端末デバイス（キーボードやディスプレイ）が接続された機器に移植する場合、アプリケーションを変更することなく移植することができる。しかし、本実施の形態のように端末機能対応のアプリを端末デバイスが存在しない機器（コピー機、プリンタ、ファクシミリ装置あるいは複合機など）に移植しようとすると、データの入出力先としてはオペレーションパネルの表示部や入力部程度しかなく、そのまま端末機能対応のアプリを移植しても動作しない。このため、図１５（ａ）に示すように、端末機能対応アプリ１７３の内部に端末デバイスにアクセスする個所をＡＰＩ１７６を使って端末デバイスに代替するようにアプリ自身に変更を加える必要がある（アプリ変更部分１７３ａ）。
【００９５】
しかし、本実施の形態３では、アプリケーションを移植する際にアプリ内部に変更を加える手間を省くため、図１５（ｂ）に示すように、端末エミュレータ１７５を端末機能対応アプリ１７３とＡＰＩ１７６との間に介在させて、端末機能対応アプリ１７３の標準入出力をキーボードやディスプレイを持たない複合機に移植したとしても適合するように、標準入出力の変換処理（エミュレーション）を行うようにしている。これにより、端末機能対応アプリ１７３であっても殆どアプリ内部に変更を加えることなく画像形成装置などに移植することが可能となる。
【００９６】
（ＧＵＩ機能の追加方法）
また、図１６は、端末機能対応のアプリを端末デバイスのない機器に移植し、さらにＧＵＩ機能を追加する場合の図であり、（ａ）はアプリ内にＧＵＩ機能を追加した図、（ｂ）は端末エミュレータ内にＧＵＩ機能を追加した図である。端末機能対応のアプリは、テキスト操作を行うインターフェース（ＣＵＩ：キャラクタ・ユーザ・インターフェース）であるが、テキスト表示以外にも拡張された機能として、ボタン操作やイメージ表示、タッチパネルなど多くの機能が搭載されている。そこで、このような様々な機能を使ってＧＵＩ（グラフィック・ユーザ・インターフェース）に対応したアプリに変更する場合、アプリに対してＡＰＩを直接操作し、グラフィック用のユーザ・インターフェース（ＧＵＩ）を追加する必要がある。そこでこの追加形態としては、例えば図１６（ａ）に示すように、▲１▼端末機能対応アプリ１７３内にＡＰＩ１７６を直接操作する部分を付加することによりＧＵＩ１７３ｂを追加する方法と、図１６（ｂ）に示すように、▲２▼端末エミュレータ１７５内に端末機能に対応したアプリに応じたＧＵＩ１７５ａを追加する方法の２通りが考えられる。図１６（ａ）の追加方法は、端末機能に対応したアプリケーション内部の動作を把握して変更を加える必要がある上、ＡＰＩ１７６の操作も把握しなければならないため、移植が大変困難となる。これに対して、図１６（ｂ）の追加方法は、端末機能対応アプリ１７３を変更する必要がないため、移植が容易に行えるという利点がある。
【００９７】
そこで、本実施の形態３では、端末機能に対応した汎用アプリを移植する場合、ＧＵＩにも対応可能なアプリケーションに変更するようにする。この場合の具体的なＧＵＩ機能の追加方法を図２を用いて説明する。
【００９８】
図２において、ＧＵＩ機能を追加する場合の特徴的な構成としては、個別のアプリに対応したＣＵＩをＧＵＩに変更するための動的なグラフィック変換ライブラリ１８０を備えている点にある。このグラフィック変換ライブラリ１８０は、端末表示アプリ１１３とＡＰＩ（図示省略）との間に介在していて、ＣＵＩをＧＵＩに変更する機能を有している。
【００９９】
また、図２に示すグラフィック変換ライブラリ１８０内には、端末表示アプリ１１３に特化したＯＣＳ関数ライブラリ１４５への表示画面を管理する表示画面管理部１８１を備えている。この表示画面管理部１８１は、端末表示アプリ１１３の操作コマンドをボタンに変更することにより、端末表示アプリ１１３に対する標準入力をストリームデータに変換して通知するものであり、さらに、端末表示アプリ１１３が表示するブラウザ画面などの子ウィンドウのハンドルの管理も行っている。
【０１００】
図２のグラフィック変換ライブラリ１８０内の描画処理部１４４は、テキストメモリ１４３が管理するテキスト情報を端末表示アプリ用に加工してオペレーションパネル１６０のＬＣＤ画面に描画する。描画処理部１４４の機能は、上記実施の形態２で説明しているため、ここでは説明を省略する。
【０１０１】
また、図２のグラフィック変換ライブラリ１８０内のキー操作入力変換部１４９は、オペレーションパネル１６０のＬＣＤ画面の表示レイアウトを管理するオブジェクトを生成するものであり、上記実施の形態１で説明しているため、ここでは説明を省略する。
【０１０２】
また、図２のグラフィック変換ライブラリ１８０内のマウス入力変換部１４８は、オペレーションパネル１６０のＬＣＤ画面上のタッチ入力をマウス入力に変換処理するものであり、上記実施の形態１で説明しているため、ここでは説明を省略する。
【０１０３】
以上説明したように、本実施の形態３によれば、アプリケーションを移植する際に、端末エミュレータ１７５を端末機能対応アプリ１７３とＡＰＩ１７６との間に介在させることにより、端末機能対応アプリの標準入出力を変換処理（エミュレーション）することができるため、アプリ内部に変更を加えることなく容易に移植することができる。
【０１０４】
また、本実施の形態３によれば、端末機能対応のアプリはテキスト操作を行うインターフェース（ＣＵＩ）であるが、テキスト表示以外にも拡張された機能としてボタン操作、イメージ表示、タッチパネルといった多くの機能が搭載されているので、端末機能対応アプリ内にＧＵＩを追加する方法を用いれば（図１６（ｂ）参照）、アプリ内部を変更することなく容易に移植することができ、さらにＧＵＩ機能も追加することができる。
【０１０５】
なお、上記した実施の形態１〜３では、端末表示アプリケーションを搭載する機器として複合機を用いた例で説明したが、本発明は必ずしも複合機に限定されるものではなく、コピー機、プリンタ、ファクシミリ装置、あるいはスキャナ装置などオペレーションパネルを備えた単体の画像形成装置についても適用することが可能であり、上記と同様に好適な効果を得ることができる。
【０１０６】
【発明の効果】
以上説明したように、請求項１にかかる発明によれば、受信データに含まれる拡張制御コードが指定する種々の表示を表示部に表示することができる。
【０１０７】
また、請求項２にかかる発明によれば、複合機の場合でも受信データに含まれる拡張制御コードが指定する種々の表示を表示部に表示することができる。
【０１０８】
また、請求項３にかかる発明によれば、ソフトキーボード表示によりキーボード入力を可能にしたり、イメージ貼り付け表示を行うといった種々の表示が可能となる。
【０１０９】
また、請求項４にかかる発明によれば、ライブラリの関数を変更するだけで、種々の表示に対応することができる。
【０１１０】
また、請求項５にかかる発明によれば、ソフトキーボード表示をする際に、関数呼出ステップで関数を呼び出してソフトキーボード要求関数に変換するだけで表示することができる。
【０１１１】
また、請求項６にかかる発明によれば、所望のイメージを表示部上の所望の位置に表示することができる。
【０１１２】
また、請求項７にかかる発明によれば、受信データが端末制御コードと拡張制御コードがそれぞれ含まれたデータであっても、構文解析ステップで選り分けることができ、本発明の受信ステップでは拡張制御コードを含むデータの処理だけを行うことができる。また、端末制御コードを含むデータに応じた描画処理を別に行えば、さらに異なった種類の画像が表示できる。
【０１１３】
また、請求項８にかかる発明は、請求項１〜７のいずれか一つに記載された動作をコンピュータに実行させることができる。
【０１１４】
また、請求項９にかかる発明によれば、受信データに含まれる拡張制御コードが指定する種々の表示を表示部に表示することができる。
【０１１５】
また、請求項１０にかかる発明によれば、複合機の場合でも受信データに含まれる拡張制御コードが指定する種々の表示を表示部に表示することができる。
【０１１６】
また、請求項１１にかかる発明によれば、ソフトキーボード表示によりキーボード入力を可能にしたり、イメージ貼り付け表示を行うといった種々の表示が可能となる。
【０１１７】
また、請求項１２にかかる発明によれば、ライブラリの関数を変更するだけで、種々の表示に対応することができる。
【０１１８】
また、請求項１３にかかる発明によれば、関数呼び出しを行うだけでソフトキーボード要求関数が実行されて表示も行うことができる。
【０１１９】
また、請求項１４にかかる発明によれば、イメージ貼り付け表示を行う場合は、所望のイメージを表示部上の所望の位置に表示することができる。
【０１２０】
また、請求項１５にかかる発明によれば、受信データに端末制御コードと拡張制御コードが含まれたデータが混在していても、構文解析手段で選り分けて拡張制御コードを含むデータの処理だけを関数呼出手段で行うことができる。また、選り分けられた他方の端末制御コードを含む受信データは、そのデータに応じた描画処理を別に行うことで、異なる種類の画像を表示することができる。
【０１２１】
また、請求項１６にかかる発明によれば、表示部に表示したキーボードやイメージ貼り付けに対して直接タッチすることにより、容易に入力操作を行うことができる。
【図面の簡単な説明】
【図１】この発明の実施の形態である画像形成装置の機能的構成を示すブロック図である。
【図２】図１の画像形成装置用端末エミュレータの機能的構成とデータの流れを示すブロック図である。
【図３】ソフトキーボードを表示するために端末表示アプリから標準出力として出力される制御コード書式の一例を示す図である。
【図４】図３の具体的な制御コード書式の一部を示す図である。
【図５】オペレーションパネル上に表示されたソフトキーボードの表示例を示す図である。
【図６】ソフトキーボードを表示するための標準出力動作を説明するフローチャートである。
【図７】ソフトキーボードからの入力を標準入力に変換する動作を説明するフローチャートである。
【図８】イメージ表示を行う場合のＥＳＣコード書式の一例を示す図である。
【図９】イメージ表示するＧＩＦファイルの一例を示す図である。
【図１０】図９のＧＩＦファイルを画面に表示するためのプログラム例を説明する図である。
【図１１】図１０のプログラムを実行してオペレーションパネル上に表示したイメージ表示例を示す図である。
【図１２】属性が付加された文字コードがテキストメモリに格納されている状態を示す図である。
【図１３】端末エミュレータ上で端末表示アプリを実行した場合のブラウジング画面の一例を示す図である。
【図１４】端末表示アプリからの端末表示要求によってオペレーションパネルに表示されるまでの動作を説明するフローチャートである。
【図１５】端末機能対応のアプリを端末デバイスのない機器に移植した場合の図であり、（ａ）はアプリ内容を変更した場合の図、（ｂ）は端末エミュレータを介在させた場合の図である。
【図１６】端末機能対応のアプリを端末デバイスのない機器に移植するとともにＧＵＩ機能を追加した場合の図であり、（ａ）はアプリ内にＧＵＩ機能を追加した図、（ｂ）は端末エミュレータ内にＧＵＩ機能を追加した図である。
【符号の説明】
１００  複合機
１０１  白黒ラインプリンタ（B&W LP）
１０２  カラーラインプリンタ（Color LP）
１０３  その他ハードウェアリソース
１１０  ソフトウェア群
１１１  プリンタアプリ
１１２  コピーアプリ
１１３  端末表示アプリ
１１４  端末エミュレータ
１１５  ファックスアプリ
１１６  スキャナアプリ
１１７  ネットファイルアプリ
１１８  工程検査アプリ
１２０  プラットホーム
１２１  汎用ＯＳ
１２２  ＳＣＳ
１２３  ＳＲＭ
１２４  ＥＣＳ
１２５  ＭＣＳ
１２６  ＯＣＳ
１２７  ＦＣＳ
１２８  ＮＣＳ
１３０  アプリケーション
１４０  受信ＦＩＦＯキュー
１４１  構文解析部
１４２  端末機能処理部
１４３  テキストメモリ
１４４  描画処理部
１４５  ＯＣＳ関数ライブラリ
１４６  関数呼出部
１４７  イベント解析部
１４８  マウス入力変換部
１４９  キー操作入力変換部
１５０  送信ＦＩＦＯキュー
１５４  描画指示信号
１６０  オペレーションパネル
１８０  グラフィック変換ライブラリ
１８１  表示画面管理部
【図１】
0003699412.tif 000002
【図２】
0003699412.tif 000003
【図３】
0003699412.tif 000004
【図４】
0003699412.tif 000005
【図５】
0003699412.tif 000006
【図６】
0003699412.tif 000007
【図７】
0003699412.tif 000008
【図８】
0003699412.tif 000009
【図９】
0003699412.tif 000010
【図１０】
0003699412.tif 000011
【図１１】
0003699412.tif 000012
【図１２】
0003699412.tif 000013
【図１３】
0003699412.tif 000014
【図１４】
0003699412.tif 000015
【図１５】
0003699412.tif 000016
【図１６】
0003699412.tif 000017