JP3581432B2 - Printing apparatus and control method thereof - Google Patents

Printing apparatus and control method thereof Download PDF

Info

Publication number
JP3581432B2
JP3581432B2 JP13682195A JP13682195A JP3581432B2 JP 3581432 B2 JP3581432 B2 JP 3581432B2 JP 13682195 A JP13682195 A JP 13682195A JP 13682195 A JP13682195 A JP 13682195A JP 3581432 B2 JP3581432 B2 JP 3581432B2
Authority
JP
Japan
Prior art keywords
command
emulation
commands
program
emulation program
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 - Fee Related
Application number
JP13682195A
Other languages
Japanese (ja)
Other versions
JPH0863302A (en
Inventor
泰志 望月
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP13682195A priority Critical patent/JP3581432B2/en
Publication of JPH0863302A publication Critical patent/JPH0863302A/en
Priority to US08/888,293 priority patent/US6002843A/en
Application granted granted Critical
Publication of JP3581432B2 publication Critical patent/JP3581432B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Record Information Processing For Printing (AREA)

Description

【0001】
【産業上の利用分野】
本発明は、複数のエミュレーションプログラムを有し、入力されるデータに適合したエミュレーションプログラムを用いて出力を行う印刷装置及びその制御方法に関する。
【0002】
【従来の技術】
従来、複数のエミュレーションプログラムを有する印刷装置においては、エミュレーションプログラムを切り替える方法として次のような方法がある。
【0003】
1.印刷データに先だってエミュレーション識別コマンドを入力し、それにしたがって、エミュレーションプログラムを切り替える。
【0004】
2.受信した印刷データの内の所定量のデータを、各エミュレーションプログラムのコマンドコードと比較してその使用頻度等を計算し、その値に応じてエミュレーションプログラムを切り替える。
【0005】
【発明が解決しようとする課題】
しかしながら、上記従来例の第1の方法では、あらかじめどのエミュレーションプログラムを用いるかあらかじめ知らなければならないし、第2の方法ではエミュレーションプログラムの判別に多大の時間がかかってしまう。
【0006】
また、第2の方法では、受信データに含まれる各エミュレーションプログラムが解釈するコマンドを解析するが、解析に用いるコマンドを登録したコマンド解析テーブルを、印刷装置を制御する制御プログラム内に格納してしまうと、あらかじめサポートが決まっているエミュレーションプログラムのみの自動エミュレーション切替機能になってしまい、新たにサポートされるエミュレーションプログラムには対応できない、という欠点があった。
【0007】
また、エミュレーションによっては、同一な意味を持つコマンドが複数存在することがあり、それらを個々にコマンドテーブルに登録したり、個々に検索することは、エミュレーションプログラムの判別に多大な時間がかかってしまうという欠点があった。
【0008】
本発明は上記従来例に鑑みてなされたもので、エミュレーションプログラムを入力された印刷データから短時間で判別することができ、さらに、新たなエミュレーションプログラムの追加や、既存のエミュレーションプログラムへのコマンドの追加などに対応できる印刷装置及びその制御方法を提供することを目的とする。
【0009】
【課題を解決するための手段】
複数のエミュレーションプログラムを有する印刷装置であって、前記各エミュレーションプログラムの特徴的なコマンドを含む複数のコマンドを前記各エミュレーションプログラムと対応してテーブルとして登録する登録手段と、入力された印刷データと、前記登録手段により登録された特徴的なコマンドとを照合し、前記印刷データに含まれるコマンドと、前記登録手段が登録した特徴的なコマンドとにおいて少なくとも1組が一致すれば、前記登録手段が登録した前記特徴的なコマンドと対応するエミュレーションプログラムに適合すると判定する第1判定手段と、前記第1判定手段により適合するエミュレーションプログラムが判定されなかった場合に、前記印刷データに含まれるコマンドと最も多く一致した前記テーブルに含まれるコマンドに対応するエミュレーションプログラムを適合するエミュレーションプログラムであると判定する第2判定手段と、前記第1判定手段又は第2判定手段により判定されたエミュレーションプログラムを実行して印刷出力する印刷制御手段とを備え、前記テーブルは、同一の意味を持つコマンドが複数存在した時に、該コマンドを同一の意味を持つコマンドに置き換えるためのコマンド置き換えテーブルを含むものであることを特徴とする印刷装置、該印刷装置を制御する方法が開示される。
【0010】
さらに、入力された印刷データを解析して印刷を行う複数のエミュレーションプログラムを備えた印刷装置であって、複数の異なるコマンドを置き換える置き換え手段と、コマンドテーブルを用いて特定のコマンドをふくむ複数の所定のコマンドによって前記入力された印刷データ内の特定のコマンドを含む複数の異なるコマンドを置き換える置き換え手段と、コマンドテーブル内のコマンドを用いて前記置き換え手段によって置き換えられた所定の異なるコマンドを比較する比較手段と、前記比較手段の比較結果によって、前記コマンドテーブル内の前記コマンドに対応するエミュレーションプログラム複数のエミュレーションプログラムから一つのプログラムを実行する実行手段とを備え、前記テーブルは、同一の意味を持つコマンドが複数存在した時に、該コマンドを同一の意味を持つコマンドに置き換えるためのコマンド置き換えテーブルを含むことを特徴とすることを特徴とする印刷装置、及び該印刷装置を制御する方法が開示される。
【0011】
【作用】
上記構成により、印刷データを、エミュレーションプログラムと対応した特徴情報と照合し、エミュレーションプログラムを判定する。
【0012】
【実施例】
(第1実施例)
以下、本発明の実施例である印刷装置を、図面を参照して詳細に説明する。
【0013】
図1は実施例の印刷装置の構成を説明するブロック図である。図において、印刷装置本体1は、データ供給源となるホストコンピュータ2より印刷データを受信する。CPU3は印刷装置本体1内のすべてを制御する。入力インターフェース4は、ホストコンピュータ2より送られてくる印刷データを入力する。プログラムROM5は、後述する図3、図5のフローチャートに示す制御プログラムが格納されている。フォントROM6は、入力した印刷データ中の文字コードに対応するスケーラブルフォント(文字をドット信号ではなく、ストローク情報で表して記憶した文字)を格納したROMである。内蔵RAM7はCPU3のメモリ媒体となり、入力インタフェース4を介して入力した印刷データ(文字コードや制御コードからなる例えばページ記述言語)を一時的に格納する受信バッファやCPU3によって生成されたビットイメージデータを格納するビットマップメモリやワークエリアに割り当てられる。このワークエリアには複数のエミュレーションプログラムやテーブルが格納される。出力部8は印刷を行うプリンタエンジンである。
【0014】
<コマンド解析テーブルの構造>
図2は各エミュレーションプログラム毎に用意するコマンド解析テーブルの構造であり、当該テーブルはRAM7のワークエリアに格納されている。
【0015】
(a)はその構成を説明する図であり、「テーブル識別フラグ」はこのコマンド解析テーブル9が有効であるか否かを識別するフラグ、「テーブルサイズ」はコマンド解析テーブルの先頭からのコマンド解析テーブルサイズ、「テーブル情報」はそれに続くコマンドテーブル内のコマンドが制御コード型か文字列コード型か等のコマンド情報を備えるフラグ、「優先コマンドテーブルへの相対ポインタ」は優先コマンドテーブル13までのテーブル識別フラグからの相対ポインタ、「コマンドテーブルへの相対ポインタ」はコマンドテーブル10までのテーブル識別フラグからの相対ポインタ、「優先コマンドテーブル」はそのコマンドが印刷データ中に1つでも存在したらそのコマンドを含むエミュレーションプログラムに決定してしまうような優先コマンドを登録したコマンドテーブル、「コマンドテーブル」10はそのエミュレーションプログラム独自のコマンドを登録しているテーブルを示す。
【0016】
また、相対ポインタで場所を示しているので、優先コマンドテーブルとコマンドテーブルとは、コマンド解析テーブル本体と連続していなくてもよい。
【0017】
図2(b)はコマンドテーブル10及び優先コマンドテーブル13の構成を説明する図である。「コマンド形式」は登録されたコマンドの先頭コードが何バイトで構成されているかとか、制御コードで構成されているとか、文字列のみのコマンドであるかなどといった情報を示すフラグで、次の「コマンド形式」フィールドの前までが1つのコマンドのエントリとなる。「先頭コード」はそのエミュレーションプログラム独自のコマンドの先頭部分を登録する。「サイズ」はそのコマンドがテーブルにおいて占める大きさで、「コマンド形式」フィールドから次の「コマンド形式」フィールドまでのサイズである。「終端子の数」はそのコマンドの先頭コードに続く終端子の数、「終端子」はそのコマンドの先頭コードに続くコード列を示す。
【0018】
<エミュレーションプログラムの切替処理>
図3はエミュレーションプログラムを読み込むために必要なエミュレーション情報部11の構成図である。図3はコマンド解析テーブルを設けた時のエミュレーション情報部の構成を示す。「エミュレーション識別フラグ」はエミュレーション読み込み時に有効なエミュレーションプログラムかを識別するフラグ、「エミュレーションサイズ」はベースアドレスからエミュレーションプログラムの終了アドレスまでのサイズ、「コマンド解析テーブルへの相対ポインタ」はベースアドレスからコマンド解析テーブルまでの相対アドレスを示す。このエミュレーション情報部11の情報にしたがって、コマンド解析テーブル9を参照し、エミュレーションプログラムを決定してそれにしたがってプログラム本体12をCPU3が実行する。
【0019】
このようにコマンド解析テーブルを各エミュレーションプログラムごとにもたせ、エミュレーションを実現するためのエミュレーションプログラムと共にエミュレーション情報及びコマンド解析情報を印刷装置1内のRAM7のワークエリアに供給することにより、新たにサポートされるエミュレーションプログラムに対しても自動エミュレーション切り換えを行うことが可能となる。
【0020】
図4は自動エミュレーション切替の処理手順を説明するフローチャートである。以下、このフローチャートに従って説明していく。なお、このフローチャートに示す制御プログラムはプログラムROM5に格納されCPU3により実行される。
【0021】
先ずステップS1でRAM7内の受信バッファに印刷データがあるか否かをチェックする。受信データがない間は印刷データ待ち状態となる。受信バッファに印刷データがたまったなら、ステップS2でRAM7内の受信バッファより一定量の印刷データを獲得する。
【0022】
次にステップS3でコマンドの解析処理を行って、受信した印刷データに適合するエミュレーションプログラムを判別する。コマンド解析処理の説明は図4のフローチャートで行う。例えば受信したページ記述言語Aに適合するエミュレーションプログラムAを判別する。
【0023】
次にステップS4で判別結果を参照し、判別できていればステップS5でエミュレーションプログラムの動作モードを獲得し、ステップS6でそのエミュレーションプログラムを実行して印刷処理を行う。
【0024】
判別ができなかった場合は、ステップS7で予め決められているエミュレーションプログラムを実行して印刷処理を行う。
【0025】
印刷処理が終了した後に、ステップS8でコマンド解析処理準備状態へ移行した後、RAM7内の受信バッファへの印刷データ待ち状態になり、ステップS1から繰り返し処理される。
【0026】
図5は図4のステップS3のコマンド解析処理手順を具体的に説明するフローチャートである。以下、このフローチャートに従って説明していく。なお、このフローチャートに示す制御プログラムはプログラムROM5に格納され、CPU3により実行される。
【0027】
まずステップS9で印刷装置1において現在動作可能であるエミュレーションプログラムのコマンド解析テーブルをRAM7内のワークエリアから1つ取得する。次にステップS10で一定量受信バッファから獲得した受信データ(ステップS2で獲得)とコマンド解析テーブルの優先コマンドテーブル13内のコマンドとを比較する。ステップS11で、優先コマンドテーブル13に一致するコマンドが受信データ中に存在するか否かを判定し、1つでも存在すれば、その時点で比較処理を終了し、ステップS12でその一致したテーブルのエミュレーションプログラムのIDをエミュレーション識別フラグから取得して、判別できたものとしてリターンする。
【0028】
もし、優先コマンドテーブル13に1つも一致するコマンドが存在しなければ、ステップS13で他のエミュレーションプログラムのコマンド解析テーブルがあるか否かを判断し、あればステップS14でそのコマンド解析テーブルを獲得して、再び獲得した受信データと優先コマンドテーブル13内のコマンドとを前述した様に比較する。他のコマンド解析テーブルがなかった場合は、ステップS15で今度はコマンドテーブル10内のコマンドとの比較を行う。
【0029】
次にステップS16でいくつかのコマンドと一致したかを取得し、ステップS17で他のエミュレーションプログラムのコマンド解析テーブルがあるか否かを判断する。他のコマンド解析テーブルが存在している場合は、ステップS18で次のコマンド解析テーブルを獲得して再び獲得したデータとコマンドテーブル10内のコマンドとを前述した様に比較する。もし、他のコマンド解析テーブルが存在しなかった場合は、比較したコマンドテーブル10の中で一番多くのコマンドと一致したテーブルのエミュレーションプログラムのIDをステップS19で獲得し、リターンする。
【0030】
この場合、一致したコマンドの数が同じ場合や1つも一致しなかった場合は、予め決められたエミュレーションプログラムのIDを返すことになる。
【0031】
このようにして、各エミュレーションプログラムごとに、エミュレーションプログラムを判定するためのコマンド解析テーブルをエミュレーションを実現するためのエミュレーションプログラムと対応付けておくことで、例えば新たにエミュレーションプログラムを追加する場合に、エミュレーションプログラムとともにコマンド解析テーブルを印刷装置のRAM7に追加することで、制御プログラムを変更せずに、印刷データからエミュレーションプログラムを自動的に判別させることができる。
【0032】
また、各エミュレーションプログラムについて、固有のコマンドコードを優先コマンドとして優先コマンドテーブル13に登録しておくことでエミュレーションプログラムの判定を迅速に行うことができる。
【0033】
また、優先コマンドテーブル13やコマンドテーブル10は拡張可能な構成となっているため、あるエミュレーションプログラムに特徴的なコマンドコードが追加された場合には、そのコマンドをテーブルに追加登録することができ、よりエミュレーションの判定を迅速にし、また、判定が成功する率を向上させることができる。なお、前述した各エミュレーションプログラムや各テーブルをフラッシュメモリに格納しても良い。
【0034】
なお、印刷装置1の出力部8には、いろいろな印刷機構を採用することができるが、その例としてレーザービーム方式の機構とインクジェット方式の機構とを説明する。
【0035】
<LBPの構成>
図6は、レーザビームプリンタ(以下、LBPと略す)の内部構造を示す断面図で、このLBPは、文字コードや制御コードからなる例えばページ記述言語を入力して解析し記録紙に印刷することができる。
【0036】
図において、740はLBP本体であり、供給されるページ記述言語等を基に、記録媒体である記録紙上に像を形成する。700は操作のためのスイッチ及びLED表示器などが配されている操作パネル、701はLBP740全体の制御及びページ記述言語等を解析するプリンタ制御ユニットである。このプリンタ制御ユニット701は主にパターン情報をビデオ信号に変換してレーザドライバ702に出力する。
【0037】
レーザドライバ702は半導体レーザ703を駆動するための回路であり、入力されたビデオ信号に応じて半導体レーザ703から発射されるレーザ光704をオン・オフ切替えする。レーザ光704は回転多面鏡705で左右方向に振られて静電ドラム706上を走査する。これにより、静電ドラム706上には文字パターンの静電潜像が形成される。この潜像は静電ドラム706周囲の現像ユニット707により現像された後、記録紙に転写される。この記録紙にはカットシートを用い、カットシート記録紙はLBP740に装着した用紙カセット708に収納され、給紙ローラ709及び搬送ローラ710と711とにより装置内に取り込まれて、静電ドラム706に供給される。
【0038】
<インクジェットの構成>
図7は、インクジェット記録装置IJRAの概観図である。同図において、駆動モータ5013の正逆回転に連動して駆動力伝達ギア5011、5009を介して回転するリードスクリュー5005の螺旋溝5004に対して係合するキャリッジHCはピン(不図示)を有し、矢印a,b方向に往復移動される。このキャリッジHCには、インクジェットカートリッジIJCが搭載されている。5002は紙押え板であり、キャリッジの移動方向に亙って紙をプラテン5000に対して押圧する。5007,5008はフォトカプラで、キャリッジのレバー5006のこの域での存在を確認して、モータ5013の回転方向切り換え等を行うためのホームポジション検知手段である。5016は記録ヘッドの前面をキャップするキャップ部材5022を支持する部材で、5015はこのキャップ内を吸引する吸引手段で、キャップ内開口5023を介して記録ヘッドの吸引回復を行う。5017はクリーニングブレードで、5019はこのブレードを前後方向に移動可能にする部材であり、本体支持板5018にこれらが支持されている。ブレードは、この形態でなく周知のクリーニングブレードが本例に適用できることは言うまでもない。又、5021は、吸引回復の吸引を開始するためのレバーで、キャリッジと係合するカム5020の移動に伴って移動し、駆動モータからの駆動力がクラッチ切り換え等の公知の伝達手段で移動制御される。
【0039】
これらのキャッピング、クリーニング、吸引回復は、キャリッジがホームポジション側の領域に来た時にリードスクリュー5005の作用によってそれらの対応位置で所望の処理が行えるように構成されているが、周知のタイミングで所望の作動を行うようにすれば、本例にはいずれも適用できる。
【0040】
(第2実施例)
第1の実施例では優先コマンドテーブル13を使用しているが、優先コマンドテーブルテーブル13を備えていなくともエミュレーションプログラムの判定を行うことはできる。図8は、第2実施例のコマンド解析テーブルの構成を示す図である。
【0041】
図において、「テーブル識別フラグ」はこのコマンド解析テーブル9が有効であるか否かを識別するフラグ、「テーブルサイズ」はコマンド解析テーブルの先頭からのコマンド解析テーブルサイズ、「テーブル情報」はそれに続くコマンドテーブル内のコマンドが制御コード型か文字列コード型か等のコマンド情報を備えるフラグ、「コマンドテーブルへの相対ポインタ」はコマンドテーブル10までのテーブル識別フラグからの相対ポインタ、「コマンドテーブル」10はそのエミュレーション独自のコマンドを登録しているテーブルを示す。
【0042】
相対ポインタで場所を示しているので、コマンドテーブルとは、コマンド解析テーブル本体と連続していなくてもよい。
【0043】
図8のテーブルを用いて印刷を行う処理は図4に示した通りであるが、コマンド解析処理が若干異なる。図9は第2実施例におけるステップS3のコマンド解析処理手順を説明するフローチャートである。以下、このフローチャートに従って説明していく。なお、このフローチャートに示す制御プログラムはプログラムROM5に格納されており、CPU3により実行される。
【0044】
まずステップS91で印刷装置1において現在動作可能であるエミュレーションプログラムのコマンド解析テーブルをRAM7のワークエリアから1つ取得する。次にステップS92において、一定量受信バッファから獲得した印刷データ(ステップS2で獲得)とコマンド解析テーブルのコマンドテーブル10内のコマンドとを比較する。
【0045】
つぎに、ステップS93で、コマンドテーブル10に一致するコマンドが存在するか否かを判定し、1つでも存在すれば、その時点で比較処理を終了し、ステップS94でその一致したテーブルのエミュレーションプログラムのIDをエミュレーション識別フラグから取得して、判別できたものとしてリターンする。
【0046】
もし、コマンドテーブル10に1つも一致するコマンドが存在しなければ、ステップS95で他のエミュレーションプログラムのコマンド解析テーブルがあるか否かを判断し、あればステップS96でそのコマンド解析テーブルをRAM7のワークエリアから獲得して、再び獲得したデータとコマンドテーブル10内のコマンドとを比較する。他のコマンド解析テーブルがなかった場合は、判別不能としてリターンする。
【0047】
このように処理することで、判定結果をすばやく得ることができる。
【0048】
また、コマンドテーブルも、制御プログラムも第1実施例に比べて小さくできるため、メモリ容量の小さな印刷装置にたいしても適用できる。
【0049】
さらに、支援する複数のエミュレーションプログラムが互いに特徴的なコマンドコードを含む場合には、それをコマンドテーブル10に登録することで処理が速いのみならず判定の率を向上させることができる。
【0050】
(第3実施例)
第1実施例におけるコマンド解析テーブルは図2に示し、第2実施例におけるコマンド解析テーブルは図8に示したが、第3実施例のコマンド解析テーブルを図10に示す。
【0051】
<コマンド解析テーブルの構造>
図10は第3実施例における各エミュレーションプログラム毎に用意するコマンド解析テーブルの構造であり、当該テーブルはRAM7のワークエリアに格納されている。
【0052】
(a)はその構成を説明する図であり、「テーブル識別フラグ」はこのコマンド解析テーブル9が有効であるかを識別するフラグ、「テーブルサイズ」はコマンド解析テーブルの先頭からのコマンド解析テーブルサイズ、「テーブル情報」はそれに続くコマンドテーブル内のコマンドが制御コード型か文字列コード型かなどのコマンド情報を備えるフラグ、「優先コマンドテーブルへの相対ポインタ」は優先コマンドテーブル13までのテーブル識別フラグからの相対ポインタ、「コマンドテーブルへの相対ポインタ」はコマンドテーブル10までのテーブル識別フラグからの相対ポインタ、「コマンド置き換えテーブルへの相対ポインタ」はコマンド置き換えテーブル14までのテーブル識別フラグからの相対ポインタ、「優先コマンドテーブル」はそのコマンドが印刷データ中に1つでも存在したらそのコマンドを含むエミュレーションプログラムに決定してしまうような優先コマンドを登録したコマンドテーブル、「コマンドテーブル」はそのエミュレーションプログラム独自のコマンドを登録しているテーブル、「コマンド置き換えテーブル」は同一な意味を持つ複数のコマンドを有していた場合に、同一な意味を持つコマンドに置き換えるためのテーブルを示す。
【0053】
また、相対ポインタで場所を示しているので、優先コマンドテーブルとコマンドテーブルとコマンド置き換えテーブルとは、コマンド解析テーブル本体と連続していなくてもよい。
【0054】
図10(b)はコマンドテーブル10及び優先コマンドテーブル13の構成を説明する図である。「コマンド形式」は登録されたコマンドの先頭コードが何バイトで構成されているかとか、制御コードで構成されているとか、文字列のみのコマンドであるかとかを示すフラグで、次の「コマンド形式」フィールドの前までが1つのコマンドのエントリとなる。「先頭コード」はそのエミュレーション独自のコマンドの先頭部分を登録する。「サイズ」はそのコマンドがテーブルにおいて占める大きさで、「コマンド形式」フィールドから次の「コマンド形式」フィールドまでのサイズである。「終端子の数」はそのコマンドの先頭コードに続く終端子の数、「終端子」はそのコマンドの先頭コードに続くコード列を示す。
【0055】
図10(c)はコマンド置き換えテーブル14の構成を説明する図である。「サイズ」は1つ置き換えの組のサイズである。「置き換え前のコマンド数」は置き換えたいコマンドの数、「置き換え前のコマンド列」は置き換えたいコマンド列が記述される。「置き換え後のコマンド数」は置き換わった後のコマンドの数であり、「置き換え後のコマンド列」は置き換わった後のコマンド列が記述される。
【0056】
図11は、第3実施例におけるコマンド解析処理手順を説明するフローチャートである。以下、このフローチャートに従って説明していく。なお、このフローチャートに示す制御プログラムはプログラムROM5に格納され、CPU3により実行される。
【0057】
まずステップS30で印刷装置1において現在動作可能であるエミュレーションプログラムのコマンド解析テーブルをRAM7のワークエリアから1つ取得する。
【0058】
この時ステップS31でコマンド解析テーブル中にコマンド置き換えテーブル14が存在するか否かを判別する。コマンド置き換えが必要ない場合は、コマンド置き換えテーブル14への相対ポイントにはNULLが記述されている。
【0059】
もし、コマンド置き換えテーブル14が存在していた場合、ステップS32で置き換えテーブル14に従って、データの置き換えを行う。存在しない場合は、置き換え処理を行わない。
【0060】
次にステップS33で一定量獲得した受信データとコマンド解析テーブルの優先コマンドテーブル13内のコマンドと比較する。ステップS34で優先コマンドテーブル13に一致するコマンドが存在するか否かを判定し、一つでも一致するコマンドが存在すれば、その時点で比較処理を終了し、ステップS35でその一致したテーブルのエミュレーションプログラムのIDを取得して判別OKとしてリターンする。
【0061】
もし、優先コマンドテーブル13に一つも一致するコマンドが存在しなければ、ステップS36で他のエミュレーションプログラムのコマンド解析テーブルがあるか否かを判断し、あればステップS37でコマンド解析テーブルを獲得し、再び獲得したデータと優先コマンドテーブル13内のコマンドとを比較する。他のコマンド解析テーブルがなかった場合は、ステップS38で今度はコマンドテーブル10内のコマンドとの比較を行う。
【0062】
次にステップS39でいくつのコマンドと一致したかを取得し、ステップS40で他のエミュレーションプログラムのコマンド解析テーブルがあるかを判断する。他のコマンド解析テーブルが存在している場合は、ステップS41で次のコマンド解析テーブルを獲得し、ステップS42でコマンド置き換えテーブル14が存在するか否かを判断し、もし存在すればステップS43でデータを置き換える。コマンド置き換えテーブル14が存在しなければ、そのまま再び獲得したデータとコマンドテーブル10内のコマンドとを比較する。
【0063】
他のコマンド解析テーブルが存在しなかった場合は、比較コマンドテーブル10の中で一番多くコマンドと一致したテーブルのエミュレーションプログラムのIDをステップS44で獲得し、リターンする。
【0064】
この時一致したコマンドの数が同じ場合や一つも一致しなかった場合は予め決められているエミュレーションプログラムのIDを返すことになる。
【0065】
以上説明したように、各エミュレーションプログラムに対して、同一の意味を持つ複数のコマンドが存在した時に、コマンド置き換えテーブル14を付加し、コマンド検索前にコマンド置き換え処理を施すことにより、検索処理速度が向上する。
【0066】
尚、本発明は、複数の機器から構成されるシステムに適用しても1つの機器から成る装置に適用しても良い。また、本発明は、システム或は装置にプログラムを供給することによって達成される場合にも適用できることはいうまでもない。
また、各エミュレーションプログラムについて、固有のコマンドコードを優先コマンドとして優先コマンドテーブル13に登録しておくことで、エミュレーションプログラムの判定を迅速に行うことができる。
また、優先コマンドテーブル13やコマンドテーブル10は拡張可能な構成となっているため、あるエミュレーションプログラムに特徴的なコマンドコードが追加された場合には、そのコマンドをテーブルに追加登録することができ、よりエミュレーションプログラムの判定を迅速にし、また、判定が成功する率を向上させることができる。
また、コマンドテーブルも、制御プログラムも第1実施例に比べて小さくできるため、メモリ容量の小さな印刷装置にたいしても適用できるという効果を奏する。
【0067】
【発明の効果】
コマンド置き換えテーブルを用いて、コマンド置き換え処理を施すことにより、検索処理速度が向上し、エミュレーションプログラムを入力された印刷データから短時間で判別することができ、さらに、新たなエミュレーションプログラムの追加や、既存のエミュレーションプログラムへのコマンドの追加などに容易に対応できる。
【図面の簡単な説明】
【図1】本発明の一実施例を示す印刷装置の全体構成図である。
【図2】コマンド解析テーブルの構成図である。
【図3】各エミュレーションにコマンド解析テーブルを持たせた時のエミュレーション情報部の構成図である。
【図4】自動エミュレーション切り替え処理手順を説明するフローチャートである。
【図5】コマンド解析処理手順を説明するフローチャートである。
【図6】レーザービームプリンタの構造を示す図である。
【図7】インクジェットプリンタの構造を示す図である。
【図8】第2実施例のコマンド解析テーブルの構成図である。
【図9】第2実施例のコマンド解析処理手順を説明するフローチャートである。
【図10】第3実施例のコマンド解析テーブルの構成図である。
【図11】第3実施例のコマンド解析処理手順を説明するフローチャートである。
【符号の説明】
1 印刷装置本体
2 ホストコンピュータ
3 CPU
4 入力インターフェイス
5 プログラムROM
6 フォントROM
7 内蔵RAM
8 出力部
[0001]
[Industrial applications]
The present invention relates to a printing apparatus having a plurality of emulation programs and performing output using an emulation program suitable for input data, and a control method therefor.
[0002]
[Prior art]
2. Description of the Related Art Conventionally, in a printing apparatus having a plurality of emulation programs, there is the following method for switching emulation programs.
[0003]
1. An emulation identification command is input prior to print data, and the emulation program is switched accordingly.
[0004]
2. A predetermined amount of the received print data is compared with a command code of each emulation program, the frequency of use is calculated, and the emulation program is switched according to the value.
[0005]
[Problems to be solved by the invention]
However, in the first method of the prior art, we do not have to know in advance whether to use the advance which emulation program, in the second method it takes much time to determine the emulation program.
[0006]
In the second method, a command interpreted by each emulation program included in the received data is analyzed. However, a command analysis table in which commands used for the analysis are registered is stored in a control program for controlling the printing apparatus. Thus, there is a disadvantage that the automatic emulation switching function is performed only for emulation programs for which support is determined in advance, and cannot be used for newly supported emulation programs.
[0007]
Also, depending on the emulation, there may be a plurality of commands having the same meaning, and registering them individually in the command table or searching for them individually takes a lot of time to determine the emulation program. There was a disadvantage.
[0008]
The present invention has been made in view of the above-described conventional example, and can determine an emulation program from input print data in a short time. Further, a new emulation program can be added or a command can be added to an existing emulation program. An object of the present invention is to provide a printing apparatus capable of coping with addition and the like and a control method thereof.
[0009]
[Means for Solving the Problems]
A printing apparatus having a plurality of emulation programs, a registration unit for registering a plurality of commands including a characteristic command of each of the emulation programs as a table corresponding to each of the emulation programs, and input print data, The registration unit compares the characteristic command registered by the registration unit with at least one set of the command included in the print data and the characteristic command registered by the registration unit. A first determination unit that determines that the emulation program matches the emulation program corresponding to the characteristic command, and a command included in the print data when the emulation program that matches the first determination unit is not determined. Included in the matching table A second determination unit that determines that the emulation program corresponding to the command is a suitable emulation program, and a print control unit that executes and executes the emulation program determined by the first determination unit or the second determination unit. Wherein the table includes a command replacement table for replacing the command with a command having the same meaning when there are a plurality of commands having the same meaning. A method is disclosed.
[0010]
The printing apparatus further includes a plurality of emulation programs for analyzing the input print data and performing printing. The printing apparatus includes a replacement unit that replaces a plurality of different commands, and a plurality of predetermined units including a specific command using a command table. Replacement means for replacing a plurality of different commands including a specific command in the input print data by the command of the above, and comparison means for comparing predetermined different commands replaced by the replacement means using a command in a command table And an execution unit that executes one program from a plurality of emulation programs corresponding to the command in the command table according to a comparison result of the comparison unit, wherein the table includes commands having the same meaning. When the number was present, a method of controlling a printing apparatus which is characterized, and the printing apparatus that comprising a command replacement table to replace the command with the same meaning the command is disclosed.
[0011]
[Action]
With the above configuration, the print data is compared with the feature information corresponding to the emulation program, and the emulation program is determined.
[0012]
【Example】
(First embodiment)
Hereinafter, a printing apparatus according to an embodiment of the present invention will be described in detail with reference to the drawings.
[0013]
FIG. 1 is a block diagram illustrating the configuration of the printing apparatus according to the embodiment. In FIG. 1, a printing apparatus main body 1 receives print data from a host computer 2 serving as a data supply source. The CPU 3 controls everything inside the printing apparatus main body 1. The input interface 4 inputs print data sent from the host computer 2. The program ROM 5 stores control programs shown in the flowcharts of FIGS. The font ROM 6 is a ROM that stores a scalable font (characters represented by stroke information instead of dot signals and stored) corresponding to character codes in input print data. The built-in RAM 7 serves as a memory medium for the CPU 3, and stores a reception buffer for temporarily storing print data (for example, a page description language including character codes and control codes) input via the input interface 4 and bit image data generated by the CPU 3. It is assigned to the bitmap memory or work area to be stored. This work area stores a plurality of emulation programs and tables. The output unit 8 is a printer engine that performs printing.
[0014]
<Structure of command analysis table>
FIG. 2 shows the structure of a command analysis table prepared for each emulation program. The table is stored in the work area of the RAM 7.
[0015]
(A) is a diagram for explaining the configuration, where "table identification flag" is a flag for identifying whether or not this command analysis table 9 is valid, and "table size" is a command analysis from the top of the command analysis table. The table size, “table information” is a flag including command information such as whether the command in the subsequent command table is a control code type or a character string code type, and the “relative pointer to the priority command table” is a table up to the priority command table 13. The relative pointer from the identification flag, the "relative pointer to the command table" is the relative pointer from the table identification flag up to the command table 10, and the "priority command table" indicates the command if any command exists in the print data. Emulation program Una command table that registered the priority command, "Command table" 10 shows a table that have registered the emulation program own command.
[0016]
Further, since the location is indicated by the relative pointer, the priority command table and the command table need not be continuous with the command analysis table body.
[0017]
FIG. 2B is a diagram illustrating the configuration of the command table 10 and the priority command table 13. The “command format” is a flag that indicates information such as how many bytes the head code of the registered command is composed of, the control code is composed, or whether the command is a character string only command. Up to the "command format" field is an entry for one command. The “head code” registers the head of a command unique to the emulation program. “Size” is the size of the command in the table, and is the size from the “command format” field to the next “command format” field. The “number of terminators” indicates the number of terminators following the head code of the command, and the “terminator” indicates a code string following the head code of the command.
[0018]
<Emulation program switching process>
FIG. 3 is a configuration diagram of the emulation information section 11 necessary for reading the emulation program. FIG. 3 shows the configuration of the emulation information section when the command analysis table is provided. The "emulation identification flag" is a flag that identifies whether the emulation program is valid when reading the emulation, the "emulation size" is the size from the base address to the end address of the emulation program, and the "relative pointer to the command analysis table" is the command from the base address to the command. Indicates the relative address up to the analysis table. According to the information in the emulation information section 11, the command analysis table 9 is referred to to determine an emulation program, and the CPU 3 executes the program body 12 in accordance with the determined emulation program.
[0019]
As described above, the command analysis table is provided for each emulation program, and the emulation information and the command analysis information are supplied to the work area of the RAM 7 in the printing apparatus 1 together with the emulation program for realizing the emulation. Automatic emulation switching can be performed for an emulation program.
[0020]
FIG. 4 is a flowchart for explaining the procedure of automatic emulation switching. Hereinafter, description will be made according to this flowchart. The control program shown in this flowchart is stored in the program ROM 5 and executed by the CPU 3.
[0021]
First, in step S1, it is checked whether or not print data exists in the reception buffer in the RAM 7. While there is no received data, a print data wait state is set. When the print data is accumulated in the reception buffer, a certain amount of print data is obtained from the reception buffer in the RAM 7 in step S2.
[0022]
Next, in step S3, a command analysis process is performed to determine an emulation program suitable for the received print data. The command analysis process will be described with reference to the flowchart of FIG. For example, the emulation program A conforming to the received page description language A is determined.
[0023]
Next, the determination result is referred to in step S4. If the determination is successful, the operation mode of the emulation program is acquired in step S5, and the emulation program is executed in step S6 to perform the printing process.
[0024]
If it cannot be determined, a printing process is performed by executing a predetermined emulation program in step S7.
[0025]
After the printing process is completed, the process shifts to the command analysis process preparation state in step S8, and then the print data in the reception buffer in the RAM 7 is waited for, and the process is repeated from step S1.
[0026]
FIG. 5 is a flowchart specifically illustrating the command analysis processing procedure in step S3 in FIG. Hereinafter, description will be made according to this flowchart. The control program shown in this flowchart is stored in the program ROM 5 and executed by the CPU 3.
[0027]
First, in step S9, one command analysis table of the emulation program currently operable in the printing apparatus 1 is acquired from the work area in the RAM 7. Next, in step S10, the received data (obtained in step S2) acquired from the reception buffer by a certain amount is compared with the command in the priority command table 13 of the command analysis table. In step S11, it is determined whether or not a command that matches the priority command table 13 exists in the received data. If at least one command exists, the comparison process ends at that point. The ID of the emulation program is acquired from the emulation identification flag, and the process returns as determined.
[0028]
If no matching command exists in the priority command table 13, it is determined in step S13 whether there is a command analysis table of another emulation program. If so, the command analysis table is acquired in step S14. Then, the received data acquired again and the command in the priority command table 13 are compared as described above. If there is no other command analysis table, the command is compared with the command in the command table 10 at step S15.
[0029]
Next, in step S16, it is acquired whether some commands match, and in step S17, it is determined whether there is a command analysis table of another emulation program. If another command analysis table exists, the next command analysis table is acquired in step S18, and the acquired data is compared with the command in the command table 10 as described above. If there is no other command analysis table, the emulation program ID of the table that matches the most commands in the compared command tables 10 is acquired in step S19, and the process returns.
[0030]
In this case, if the number of matching commands is the same or if none of them match, a predetermined emulation program ID is returned.
[0031]
In this way, by associating the command analysis table for determining the emulation program with the emulation program for realizing the emulation for each emulation program, for example, when adding a new emulation program, the emulation By adding the command analysis table together with the program to the RAM 7 of the printing apparatus, the emulation program can be automatically determined from the print data without changing the control program.
[0032]
Also, for each emulation program, by registering a unique command code as a priority command in the priority command table 13, the emulation program can be determined quickly.
[0033]
Further, since the priority command table 13 and the command table 10 have an expandable configuration, when a characteristic command code is added to a certain emulation program, the command can be additionally registered in the table. Emulation determination can be performed more quickly, and the success rate of the determination can be improved. In addition, each emulation program and each table described above may be stored in the flash memory.
[0034]
In addition, various printing mechanisms can be employed for the output unit 8 of the printing apparatus 1. As an example, a laser beam type mechanism and an ink jet type mechanism will be described.
[0035]
<Configuration of LBP>
FIG. 6 is a sectional view showing the internal structure of a laser beam printer (hereinafter abbreviated as LBP). This LBP is input, for example, a page description language consisting of character codes and control codes, analyzed, and printed on a recording paper. Can be.
[0036]
In the figure, reference numeral 740 denotes an LBP main body, which forms an image on recording paper as a recording medium based on a supplied page description language or the like. Reference numeral 700 denotes an operation panel on which switches for operation and an LED display are arranged. Reference numeral 701 denotes a printer control unit that controls the entire LBP 740 and analyzes a page description language and the like. The printer control unit 701 mainly converts pattern information into a video signal and outputs the video signal to the laser driver 702.
[0037]
The laser driver 702 is a circuit for driving the semiconductor laser 703, and switches on / off a laser beam 704 emitted from the semiconductor laser 703 according to an input video signal. The laser light 704 is swung right and left by a rotary polygon mirror 705 to scan on an electrostatic drum 706. Thus, an electrostatic latent image of a character pattern is formed on the electrostatic drum 706. This latent image is developed by a developing unit 707 around the electrostatic drum 706 and then transferred to a recording sheet. A cut sheet is used as the recording paper, and the cut sheet recording paper is stored in a paper cassette 708 mounted on the LBP 740, is taken into the apparatus by a paper feed roller 709 and transport rollers 710 and 711, and is transferred to an electrostatic drum 706. Supplied.
[0038]
<Configuration of inkjet>
FIG. 7 is a schematic view of the inkjet recording apparatus IJRA. In the figure, the carriage HC that engages with the spiral groove 5004 of the lead screw 5005 that rotates via the driving force transmission gears 5011 and 5009 in conjunction with the forward and reverse rotation of the drive motor 5013 has a pin (not shown). Then, it is reciprocated in the directions of arrows a and b. An ink jet cartridge IJC is mounted on the carriage HC. Reference numeral 5002 denotes a paper pressing plate, which presses the paper against the platen 5000 in the moving direction of the carriage. Reference numerals 5007 and 5008 denote home position detecting means for confirming the presence of the lever 5006 of the carriage in this area and switching the rotation direction of the motor 5013. Reference numeral 5016 denotes a member that supports a cap member 5022 that caps the front surface of the recording head. Reference numeral 5015 denotes a suction unit that suctions the inside of the cap, and performs suction recovery of the recording head through an opening 5023 in the cap. Reference numeral 5017 denotes a cleaning blade. Reference numeral 5019 denotes a member that allows the blade to move in the front-rear direction. These members are supported by a main body support plate 5018. It goes without saying that the blade is not limited to this form and a known cleaning blade can be applied to the present embodiment. Reference numeral 5021 denotes a lever for starting suction for recovery of suction, which moves in accordance with the movement of the cam 5020 engaging with the carriage, and the driving force from the driving motor is controlled by a known transmission means such as clutch switching. Is done.
[0039]
These capping, cleaning, and suction recovery are configured so that desired operations can be performed at the corresponding positions by the action of the lead screw 5005 when the carriage comes to the area on the home position side. If this operation is performed, any of the present embodiments can be applied.
[0040]
(Second embodiment)
Although the priority command table 13 is used in the first embodiment, the emulation program can be determined without the priority command table 13. FIG. 8 is a diagram illustrating the configuration of the command analysis table according to the second embodiment.
[0041]
In the figure, a “table identification flag” is a flag for identifying whether the command analysis table 9 is valid, a “table size” is a command analysis table size from the beginning of the command analysis table, and a “table information” follows. A flag having command information such as whether a command in a command table is a control code type or a character string code type, a “relative pointer to a command table” is a relative pointer from a table identification flag up to the command table 10, and a “command table” 10 Indicates a table in which commands unique to the emulation are registered.
[0042]
Since the location is indicated by the relative pointer, the command table does not need to be continuous with the command analysis table body.
[0043]
The processing for printing using the table of FIG. 8 is as shown in FIG. 4, but the command analysis processing is slightly different. FIG. 9 is a flowchart illustrating the command analysis processing procedure of step S3 in the second embodiment. Hereinafter, description will be made according to this flowchart. The control program shown in this flowchart is stored in the program ROM 5 and executed by the CPU 3.
[0044]
First, in step S91, one command analysis table of an emulation program currently operable in the printing apparatus 1 is acquired from the work area of the RAM 7. Next, in step S92, the print data (obtained in step S2) acquired from the reception buffer by a certain amount is compared with the command in the command table 10 of the command analysis table.
[0045]
Next, in step S93, it is determined whether or not there is a matching command in the command table 10. If there is at least one, the comparison process is terminated at that time. In step S94, the emulation program of the matching table is determined. Is obtained from the emulation identification flag, and the process returns.
[0046]
If no matching command exists in the command table 10, it is determined in step S95 whether there is a command analysis table of another emulation program. If so, the command analysis table is stored in the RAM 7 in step S96. The data obtained from the area and obtained again are compared with the commands in the command table 10. If there is no other command analysis table, the process returns as determination is impossible.
[0047]
By performing such processing, a determination result can be obtained quickly.
[0048]
Further, since both the command table and the control program can be made smaller than those in the first embodiment, the present invention can be applied to a printing apparatus having a small memory capacity.
[0049]
Further, when a plurality of emulation programs to be supported include mutually characteristic command codes, by registering them in the command table 10, not only the processing speed is increased but also the judgment rate can be improved.
[0050]
(Third embodiment)
The command analysis table in the first embodiment is shown in FIG. 2, and the command analysis table in the second embodiment is shown in FIG. 8, but the command analysis table in the third embodiment is shown in FIG.
[0051]
<Structure of command analysis table>
FIG. 10 shows the structure of a command analysis table prepared for each emulation program in the third embodiment. This table is stored in the work area of the RAM 7.
[0052]
(A) is a diagram for explaining the configuration, where "table identification flag" is a flag for identifying whether the command analysis table 9 is valid, and "table size" is the size of the command analysis table from the beginning of the command analysis table. , “Table information” is a flag including command information such as whether a command in the subsequent command table is a control code type or a character string code type, and “relative pointer to the priority command table” is a table identification flag up to the priority command table 13 A relative pointer to the command table is a relative pointer from the table identification flag up to the command table 10, and a "relative pointer to the command replacement table" is a relative pointer from the table identification flag to the command replacement table 14. , "Priority command text "Bull" is a command table in which priority commands are registered so that if any command exists in the print data, the emulation program contains the command. "Command table" registers commands unique to the emulation program. The table “command replacement table” indicates a table for replacing a plurality of commands having the same meaning with a command having the same meaning.
[0053]
Further, since the location is indicated by the relative pointer, the priority command table, the command table, and the command replacement table need not be continuous with the command analysis table body.
[0054]
FIG. 10B is a diagram illustrating the configuration of the command table 10 and the priority command table 13. The “command format” is a flag that indicates how many bytes the head code of the registered command consists of, the control code, or whether it is a command consisting only of character strings. The field before the "" field is an entry of one command. The “head code” registers the head of the command unique to the emulation. "Size" is the size of the command in the table, and is the size from the "command format" field to the next "command format" field. The “number of terminators” indicates the number of terminators following the head code of the command, and the “terminator” indicates a code string following the head code of the command.
[0055]
FIG. 10C is a diagram illustrating the configuration of the command replacement table 14. “Size” is the size of a replacement set. The “number of commands before replacement” describes the number of commands to be replaced, and the “command string before replacement” describes a command string to be replaced. The “number of commands after replacement” is the number of commands after replacement, and the “command sequence after replacement” describes the command sequence after replacement.
[0056]
FIG. 11 is a flowchart illustrating a command analysis processing procedure according to the third embodiment. Hereinafter, description will be made according to this flowchart. The control program shown in this flowchart is stored in the program ROM 5 and executed by the CPU 3.
[0057]
First, in step S30, one command analysis table of the emulation program currently operable in the printing apparatus 1 is acquired from the work area of the RAM 7.
[0058]
At this time, in a step S31, it is determined whether or not the command replacement table 14 exists in the command analysis table. If no command replacement is required, NULL is described at the relative point to the command replacement table 14.
[0059]
If the command replacement table 14 exists, the data is replaced according to the replacement table 14 in step S32. If not, the replacement process is not performed.
[0060]
Next, in step S33, the received data acquired in a certain amount is compared with the command in the priority command table 13 of the command analysis table. In step S34, it is determined whether or not there is a matching command in the priority command table 13. If there is at least one matching command, the comparison process is terminated at that time, and emulation of the matching table is performed in step S35. The program ID is acquired, and the process returns as determination OK.
[0061]
If no matching command exists in the priority command table 13, it is determined in step S36 whether there is a command analysis table of another emulation program, and if so, the command analysis table is acquired in step S37. The acquired data is compared with the command in the priority command table 13 again. If there is no other command analysis table, the command is compared with the command in the command table 10 in step S38.
[0062]
Next, in step S39, the number of matched commands is acquired, and in step S40, it is determined whether there is a command analysis table of another emulation program. If another command analysis table exists, the next command analysis table is obtained in step S41, and it is determined whether or not the command replacement table 14 exists in step S42. Replace If the command replacement table 14 does not exist, the data obtained again and the command in the command table 10 are compared.
[0063]
If there is no other command analysis table, the emulation program ID of the table that matches the command most in the comparison command table 10 is acquired in step S44, and the process returns.
[0064]
At this time, if the number of matching commands is the same or if none of the commands match, a predetermined emulation program ID is returned.
[0065]
As described above, when a plurality of commands having the same meaning exist for each emulation program, the command replacement table 14 is added, and the command replacement processing is performed before the command search. improves.
[0066]
The present invention may be applied to a system including a plurality of devices or an apparatus including a single device. Needless to say, the present invention can be applied to a case where the present invention is achieved by supplying a program to a system or an apparatus.
In addition, by registering a unique command code as a priority command for each emulation program in the priority command table 13, the emulation program can be determined quickly.
Further, since the priority command table 13 and the command table 10 have an expandable configuration, when a characteristic command code is added to a certain emulation program, the command can be additionally registered in the table. The emulation program can be determined more quickly, and the success rate of the determination can be improved.
Further, since the command table and the control program can be made smaller than those in the first embodiment, there is an effect that the present invention can be applied to a printing apparatus having a small memory capacity.
[0067]
【The invention's effect】
By performing command replacement processing using the command replacement table, search processing speed is improved,The emulation program can be discriminated in a short time from the input print data, and furthermore, a new emulation program can be added or a command can be easily added to an existing emulation program.
[Brief description of the drawings]
FIG. 1 is an overall configuration diagram of a printing apparatus according to an embodiment of the present invention.
FIG. 2 is a configuration diagram of a command analysis table.
FIG. 3 is a configuration diagram of an emulation information section when each emulation has a command analysis table.
FIG. 4 is a flowchart illustrating an automatic emulation switching processing procedure.
FIG. 5 is a flowchart illustrating a command analysis processing procedure;
FIG. 6 is a diagram showing a structure of a laser beam printer.
FIG. 7 is a diagram illustrating the structure of an inkjet printer.
FIG. 8 is a configuration diagram of a command analysis table according to the second embodiment.
FIG. 9 is a flowchart illustrating a command analysis processing procedure according to the second embodiment;
FIG. 10 is a configuration diagram of a command analysis table according to the third embodiment.
FIG. 11 is a flowchart illustrating a command analysis processing procedure according to a third embodiment;
[Explanation of symbols]
1 Printer main body
2 Host computer
3 CPU
4 Input interface
5 Program ROM
6 Font ROM
7 Built-in RAM
8 Output section

Claims (6)

複数のエミュレーションプログラムを有する印刷装置であって、
前記各エミュレーションプログラムの特徴的なコマンドを含む複数のコマンドを前記各エミュレーションプログラムと対応してテーブルとして登録する登録手段と、
入力された印刷データと、前記登録手段により登録された特徴的なコマンドとを照合し、前記印刷データに含まれるコマンドと、前記登録手段が登録した特徴的なコマンドとにおいて少なくとも1組が一致すれば、前記登録手段が登録した前記特徴的なコマンドと対応するエミュレーションプログラムに適合すると判定する第1判定手段と、
前記第1判定手段により適合するエミュレーションプログラムが判定されなかった場合に、前記印刷データに含まれるコマンドと最も多く一致した前記テーブルに含まれるコマンドに対応するエミュレーションプログラムを適合するエミュレーションプログラムであると判定する第2判定手段と、
前記第1判定手段又は第2判定手段により判定されたエミュレーションプログラムを実行して印刷出力する印刷制御手段とを備え、
前記テーブルは、入力されたデータに同一の意味を持つコマンドが複数存在した時に、該入力されたデータに係るコマンドを所定の同一の意味を持つコマンドに置き換えるためのコマンド置き換えテーブルを含むことを特徴とすることを特徴とする印刷装置。
A printing device having a plurality of emulation programs,
Registration means for registering a plurality of commands including a characteristic command of each of the emulation programs as a table corresponding to each of the emulation programs;
The input print data is compared with the characteristic command registered by the registration unit, and at least one set of the command included in the print data and the characteristic command registered by the registration unit match. A first determination unit that determines that the emulation program is compatible with the characteristic command registered by the registration unit;
If no matching emulation program is determined by the first determination unit, the emulation program corresponding to the command included in the table that most frequently matches the command included in the print data is determined to be a suitable emulation program. Second determining means for performing
A print control unit that executes the emulation program determined by the first determination unit or the second determination unit and prints out the data.
The table includes a command replacement table for replacing a command related to the input data with a command having a predetermined same meaning when a plurality of commands having the same meaning exist in the input data. printing apparatus characterized that you and.
前記印刷制御手段は、前記第2判定手段における処理において、前記印刷データが含むコマンドと、テーブル内のコマンドと一致した数が各エミュレーションプログラムにおいて同じ場合又は一つも一致しなかった場合は、予め決められているエミュレーションプログラムを選択して実行することを特徴とする請求項1に記載の印刷装置。In the processing by the second determination unit, the print control unit determines a command included in the print data and a command in the table if the number of matches with the command in each emulation program is the same or does not match any of them. The printing apparatus according to claim 1, wherein the selected emulation program is selected and executed. 複数のエミュレーションプログラムを有する印刷制御方法であって、前記各エミュレーションプログラムの特徴的なコマンドを含む複数のコマンドを前記各エミュレーションプログラムと対応してテーブルとして登録する登録工程と、
入力された印刷データと、前記登録手段により登録された特徴的なコマンドとを照合し、前記印刷データに含まれるコマンドと、前記登録工程で登録された特徴的なコマンドにおいて少なくとも1組が一致すれば、前記登録工程で登録された前記特徴的なコマンドと対応するエミュレーションプログラムに適合すると判定する第1判定工程と、
前記第1判定工程により適合するエミュレーションプログラムが判定されなかった場合に、前記印刷データに含まれるコマンドと最も多く一致した前記テーブルに含まれるコマンドに対応するエミュレーションプログラムを適合するエミュレーションプログラムであると判定する第2判定工程と、
前記第1判定工程又は第2判定工程により判定されたエミュレーションプログラムを実行して印刷出力する印刷制御工程とを備え、
前記テーブルは、入力されたデータに同一の意味を持つコマンドが複数存在した時に、該入力されたデータに係るコマンドを所定の同一の意味を持つコマンドに置き換えるためのコマンド置き換えテーブルを含むことを特徴とす印刷制御方法。
A print control method having a plurality of emulation programs, a registration step of registering a plurality of commands including a characteristic command of each of the emulation programs as a table corresponding to each of the emulation programs,
The input print data is compared with the characteristic command registered by the registration unit, and at least one set of the command included in the print data and the characteristic command registered in the registration step match. For example, a first determination step of determining that the emulation program is compatible with the characteristic command registered in the registration step,
If no suitable emulation program is determined in the first determination step, the emulation program corresponding to the command included in the table that most frequently matches the command included in the print data is determined to be a suitable emulation program. A second determination step of
A print control step of executing the emulation program determined in the first determination step or the second determination step and performing print output.
The table includes a command replacement table for replacing a command related to the input data with a command having a predetermined same meaning when a plurality of commands having the same meaning exist in the input data. be that the print control method and.
前記印刷制御工程では、前記第2判定工程において、前記印刷データが含むコマンドと、テーブル内のコマンドと一致した数が各エミュレーションプログラムにおいて同じ場合又は一つも一致しなかった場合は、予め決められているエミュレーションプログラムを選択して実行することを特徴とする請求項3に記載の印刷制御方法。In the print control step, in the second determination step, if the number of commands included in the print data and the number of commands matching the command in the table are the same in each emulation program or if none of the commands match, it is determined in advance. 4. The printing control method according to claim 3, wherein the selected emulation program is selected and executed. 入力された印刷データを解析して印刷を行う複数のエミュレーションプログラムを備えた印刷装置であって、
複数の異なるコマンドを置き換える置き換え手段と、
コマンドテーブルを用いて特定のコマンドをふくむ複数の所定のコマンドによって前記入力された印刷データ内の特定のコマンドを含む複数の異なるコマンドを置き換える置き換え手段と、
コマンドテーブル内のコマンドを用いて前記置き換え手段によって置き換えられた所定の異なるコマンドを比較する比較手段と、
前記比較手段の比較結果によって、前記コマンドテーブル内の前記コマンドに対応するエミュレーションプログラム複数のエミュレーションプログラムから一つのプログラムを実行する実行手段とを備え、
前記テーブルは、入力されたデータに同一の意味を持つコマンドが複数存在した時に、該入力されたデータに係るコマンドを所定の同一の意味を持つコマンドに置き換えるためのコマンド置き換えテーブルを含むことを特徴とする印刷装置。
A printing apparatus having a plurality of emulation programs for analyzing input print data and performing printing,
A replacement means for replacing a plurality of different commands;
Replacement means for replacing a plurality of different commands including a specific command in the input print data by a plurality of predetermined commands including a specific command using a command table,
Comparing means for comparing predetermined different commands replaced by the replacing means using the commands in the command table;
Executing means for executing one program from a plurality of emulation programs corresponding to the command in the command table according to a comparison result of the comparing means;
The table includes a command replacement table for replacing a command related to the input data with a command having a predetermined same meaning when a plurality of commands having the same meaning exist in the input data. It shall be the printing device.
入力された印刷データを解析して印刷を行う複数のエミュレーションプログラムを備えた印刷制御方法であって、
複数の異なるコマンドを置き換える置き換え工程と、
コマンドテーブルを用いて特定のコマンドをふくむ複数の所定のコマンドによって前記入力された印刷データ内の特定のコマンドを含む複数の異なるコマンドを置き換える置き換え工程と、
コマンドテーブル内のコマンドを用いて前記置き換え工程によって置き換えられた所定の異なるコマンドを比較する比較工程と、
前記比較工程の比較結果によって、前記コマンドテーブル内の前記コマンドに対応するエミュレーションプログラム複数のエミュレーションプログラムから一つのプログラムを実行する実行工程とを備え、
前記テーブルは、同一の意味を持つコマンドが複数存在した時に、入力されたデータに係るコマンドを同一の意味を持つコマンドに置き換えるためのコマンド置き換えテーブルを含むことを特徴とする印刷制御方法。
A print control method including a plurality of emulation programs for analyzing input print data and performing printing,
A replacement process for replacing a plurality of different commands;
A replacement step of replacing a plurality of different commands including a specific command in the input print data by a plurality of predetermined commands including a specific command using a command table;
A comparing step of comparing predetermined different commands replaced by the replacing step using the commands in the command table;
An execution step of executing one program from a plurality of emulation programs corresponding to the command in the command table according to the comparison result of the comparison step,
The printing control method according to claim 1, wherein the table includes a command replacement table for replacing a command related to input data with a command having the same meaning when a plurality of commands having the same meaning exist .
JP13682195A 1994-06-15 1995-06-02 Printing apparatus and control method thereof Expired - Fee Related JP3581432B2 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP13682195A JP3581432B2 (en) 1994-06-15 1995-06-02 Printing apparatus and control method thereof
US08/888,293 US6002843A (en) 1994-06-15 1997-07-03 Printing apparatus and its control method

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP6-132893 1994-06-15
JP13289394 1994-06-15
JP13682195A JP3581432B2 (en) 1994-06-15 1995-06-02 Printing apparatus and control method thereof

Publications (2)

Publication Number Publication Date
JPH0863302A JPH0863302A (en) 1996-03-08
JP3581432B2 true JP3581432B2 (en) 2004-10-27

Family

ID=26467353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP13682195A Expired - Fee Related JP3581432B2 (en) 1994-06-15 1995-06-02 Printing apparatus and control method thereof

Country Status (1)

Country Link
JP (1) JP3581432B2 (en)

Also Published As

Publication number Publication date
JPH0863302A (en) 1996-03-08

Similar Documents

Publication Publication Date Title
US5721812A (en) Character data processing method and apparatus
JP3002056B2 (en) Printer device and print control method in the device
US5617525A (en) Image outputting adaptable to various fonts
JP3581432B2 (en) Printing apparatus and control method thereof
US6441917B1 (en) Buffer memory managing method and printing apparatus using the method
JP3049158B2 (en) Character processing device and character processing method of character processing device
EP0534723B1 (en) Printing apparatus and method for storing various printing parameters
US6927867B2 (en) Output control method and apparatus therefor
US6002843A (en) Printing apparatus and its control method
US5684930A (en) Output apparatus and method with font control in plural output modes
JPH0713722A (en) Print system
EP0634731B1 (en) Output apparatus and method using plural data processing units
JP3265097B2 (en) Font data management apparatus and method
JPH06210907A (en) Printer control method and apparatus
JP3103229B2 (en) Document processing apparatus and document processing method
JP3210118B2 (en) Print control device and print control method
JP2871981B2 (en) Printing apparatus and control method thereof
JPH06242895A (en) Device and method for printing
JP2869923B2 (en) Printing control device
JPH0615930A (en) Printing device
JPH0695814A (en) Printing data transfer system
JPH064233A (en) Printer control method and control system thereof
JPH07125327A (en) Printing apparatus and method
JPH06149217A (en) Method and device for character processing
JPH06198983A (en) Printing device and method thereof

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040106

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040308

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20040720

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040723

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees