(57)【特許請求の範囲】
【請求項１】
情報処理装置から印刷データまたはコマンドを受信する受信手段と、
前記受信手段によって受信された印刷データまたはコマンドを記憶するバッファ手段と、
前記バッファ手段によって記憶された印刷データまたはコマンドにしたがって、印刷処理を行う印刷手段と、
前記バッファ手段によって記憶されたコマンドにしたがって、再開処理の複数の種類をあらかじめ設定する設定手段と、
前記印刷手段の印刷処理が中断された後に、これを再開すべき旨を指示する指示手段と、
前記指示手段によって印刷処理を再開すべき旨が指示された場合に、前記あらかじめ設定された複数の種類の内の一つの種類の再開処理を前記印刷手段に実行させる再開手段とを備えることを特徴とする印刷装置。
【請求項２】
前記再開処理は、前記バッファ手段に記憶され、前記印刷手段による印刷処理が未だに行われていない印刷データまたはコマンドから印刷を行う処理を含むことを特徴とする請求項１に記載の印刷装置。
【請求項３】
前記再開処理は、前記バッファ手段に記憶された印刷データまたはコマンドをクリアする処理を含むことを特徴とする請求項１に記載の印刷装置。
【請求項４】
さらに、前記バッファ手段に記憶されたコマンドにしたがって、前記バッファ手段に記憶された印刷データまたはコマンドを特定する情報を記憶する特定手段を備え、
前記再開処理は、前記バッファ手段に記憶され、前記特定手段に記憶された情報によって特定される印刷データまたはコマンドから印刷を行う処理を含むことを特徴とする請求項１に記載の印刷装置。
【請求項５】
前記特定手段は、さらに印刷装置の設定情報を記憶し、
前記再開処理は、さらに、前記特定手段によって記憶された設定情報によって印刷装置を設定する処理を含むことを特徴とする請求項４に記載の印刷装置。
【請求項６】
さらに、前記再開処理を前記印刷手段に実行させることが不可能な場合に、その旨を前記情報処理装置へ通知する通知手段を備えたことを特徴とする請求項１に記載の印刷装置。
【請求項７】
情報処理装置から印刷データまたはコマンドを受信する手順と、
前記受信された印刷データまたはコマンドを記憶する手順と、
前記記憶された印刷データまたはコマンドにしたがって、印刷処理を行う手順と、
前記記憶されたコマンドにしたがって、再開処理の複数の種類をあらかじめ設定する手順と、
前記印刷処理が中断された後に、これを再開すべき旨を指示する手順と、
前記印刷処理を再開すべき旨が指示された場合に、前記あらかじめ設定された複数の種類の内の一つの種類の再開処理を実行する手順とを備えることを特徴とする印刷方法。
【請求項８】
前記再開処理は、前記記憶され、前記印刷処理が未だに行われていない印刷データまたはコマンドから印刷を行う処理を含むことを特徴とする請求項７に記載の印刷方法。
【請求項９】
前記再開処理は、前記記憶された印刷データまたはコマンドをクリアする処
理を含むことを特徴とする請求項７に記載の印刷方法。
【請求項１０】
さらに、前記記憶されたコマンドにしたがって、前記記憶された印刷データまたはコマンドを特定する情報を記憶する特定手順を備え、
前記再開処理は、前記記憶された印刷データまたはコマンドであって、前記特定手順において記憶された情報によって特定される印刷データまたはコマンドから印刷を行う処理を含むことを特徴とする請求項７に記載の印刷方法。
【請求項１１】
前記特定手順は、さらに印刷装置の設定情報を記憶し、
前記再開処理は、さらに、前記特定手順において記憶された設定情報によって印刷装置を設定する処理を含むことを特徴とする請求項１０に記載の印刷方法。
【請求項１２】
さらに、前記再開処理の実行が不可能な場合に、その旨を前記情報処理装置へ通知する手順を備えたことを特徴とする請求項７に記載の印刷方法。
【請求項１３】
情報処理装置から印刷データまたはコマンドを受信する手順と、
前記受信された印刷データまたはコマンドを記憶する手順と、
前記記憶された印刷データまたはコマンドにしたがって、印刷処理を行う手順と、
前記記憶されたコマンドにしたがって、再開処理の複数の種類をあらかじめ設定する手順と、
前記印刷処理が中断された後に、これを再開すべき旨を指示する手順と、
前記印刷処理を再開すべき旨が指示された場合に、前記あらかじめ設定された複数の種類の内の一つの種類の再開処理を実行する手順とを備えたことを特徴とする処理を実現するプログラムを記録した情報記録媒体。
【請求項１４】
前記再開処理は、前記記憶され、前記印刷処理が未だに行われていない印刷データまたはコマンドから印刷を行う処理を含むことを特徴とする処理を実現するプログラムを記録した請求項１３に記載の情報記録媒体。
【請求項１５】
前記再開処理は、前記記憶された印刷データまたはコマンドをクリアする処理を含むことを特徴とする処理を実現するプログラムを記録した請求項１３に記載の情報記録媒体。
【請求項１６】
さらに、前記記憶されたコマンドにしたがって、前記記憶された印刷データまたはコマンドを特定する情報を記憶する特定手順を備え、
前記再開処理は、前記記憶された印刷データまたはコマンドであって、前記特定手順において記憶された情報によって特定される印刷データまたはコマンドから印刷を行う処理を含むことを特徴とする処理を実現するプログラムを記録した請求項１３に記載の情報記録媒体。
【請求項１７】
前記特定手順は、さらに印刷装置の設定情報を記憶し、
前記再開処理は、さらに、前記特定手順において記憶された設定情報によって印刷装置を設定する処理を含むことを特徴とする処理を実現するプログラムを記録した請求項１６に記載の情報記録媒体。
【請求項１８】
さらに、前記再開処理の実行が不可能な場合に、その旨を前記情報処理装置へ通知する手順を備えたことを特徴とする処理を実現するプログラムを記録した請求項１３に記載の情報記録媒体。
【請求項１９】
印刷装置へ、印刷データまたは前記印刷装置が印刷を中断した後に再開し
たときに前記印刷装置が実行すべき再開処理の複数の種類をあらかじめ設定するコマンドを送信する送信手段と、前記印刷装置から、前記印刷装置が印刷を中断した後に再開したときに前記印刷装置が再開処理の実行が不可能である旨の通知を受信する受信手段と、
前記受信手段により前記再開処理の実行が不可能である旨の通知を受信した場合に、印刷装置へ印刷データを再送信する再送信手段とを備えたことを特徴とする情報処理装置。
【請求項２０】
印刷装置へ、印刷データまたは前記印刷装置が印刷を中断した後に再開したときに前記印刷装置が実行すべき再開処理の複数の種類をあらかじめ設定するコマンドを送信する送信手順と、
前記印刷装置から、前記印刷装置が印刷を中断した後に再開したときに前記印刷装置が再開処理の実行が不可能である旨の通知を受信する受信手順と、  前記再開処理の実行が不可能である旨の通知を受信した場合に、印刷装置へ印刷データを再送信する再送信手順とを備えたことを特徴とする印刷装置の制御方法。
【請求項２１】
印刷装置へ、印刷データまたは前記印刷装置が印刷を中断した後に再開したときに前記印刷装置が実行すべき再開処理の複数の種類をあらかじめ設定するコマンドを送信する送信手順と、
前記印刷装置から、前記印刷装置が印刷を中断した後に再開したときに前記印刷装置が再開処理の実行が不可能である旨の通知を受信する受信手順と、
前記再開処理の実行に不可能である旨の通知を受信した場合に、印刷装置へ印刷データを再送信する再送信手順とを備えたことを特徴とする処理を実現するためのプログラムを記録した情報記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、印刷装置、印刷方法、および情報記録媒体に関し、特に、オフライン状態からの復帰時の処理の種類を選択できる印刷装置、印刷方法、および、これらを実現する情報記録媒体に関する。
【０００２】
【従来の技術】
一般的な店舗で使用されるレジスタや電子卓上計算機では、レシートなどが印刷できる印刷装置、すなわちプリンタを有するものが多くなってきている。このような印刷装置では、レシート、領収証、納品書、貸与品の控え、その他一定のまとまりをもつ情報を１枚または複数枚の紙片に印刷する。
【０００３】
用紙にあらかじめミシン目が入っており、このミシン目で区切られた単位に一つの情報のまとまりを印刷する場合もあれば、用紙がロール紙でできており、一つの情報のまとまりが印刷されるまで用紙が繰り出されて印刷され、そのまとまりの印刷が終了してから手動もしくは自動で用紙を切断する場合もある。以下、このような一つの情報のまとまりが印刷される用紙の単位を「レシート」と呼ぶこととする。このように、レシートの長さはすべて同一の場合もあれば、異なる場合もある。
【０００４】
図１は、このようなプリンタ１０１の構成の概要である。コンピュータなどの情報処理装置であるホスト１０２から印刷すべき情報（印刷データ）が送られ、インターフェース１０３が印刷データを受信する。受信した印刷データは一時的に受信バッファ１０４に格納される。受信バッファ１０４はリングバッファとして実現される場合が多い。
【０００５】
ホスト１０２は、レジスタ内や電子卓上計算機内に備えられ、プリンタと一体となっている場合もあるし、プリンタとは独立して構成された汎用コンピュータや専用コンピュータの場合もある。すなわち、印刷データを送信できる装置であれば、どのような機器であってもホスト１０２たりうる。
【０００６】
ホスト１０２がコンピュータで実現されている場合には、ホスト１０２側でプリンタ１０１を制御するプログラムが動作している。このホスト側制御プログラムをフロッピーディスク、ハードディスク、ＣＤ−ＲＯＭなどの情報記録媒体に記録しておくと、プログラムの更新や配布の上で便利である。
【０００７】
一方、プリンタ１０１が備えるＣＰＵ１０５は、受信バッファから順次印刷データをとりだす。印刷データが印刷すべき文字を指定している場合には、フォントＲＯＭ１０６からその文字のフォント情報を取り出して、プリントバッファ１０７にフォント情報を展開する。
【０００８】
一方、印刷データが各種のコマンドを指定している場合には、そのコマンドにしたがって、プリンタ内の記憶装置１０８に記憶される各種定義情報を更新する。プリントバッファ１０７への展開の際に、この定義情報も参照される。定義情報の例を以下に示す。
【０００９】
拡大印刷、縮小印刷の設定。
【００１０】
強調印刷、反転印刷の設定。
【００１１】
下線印刷の設定。
【００１２】
改行量の設定。
【００１３】
外字フォント定義の設定。
【００１４】
プリントバッファ１０７が一杯になるか、印刷改行などのコマンドが指定された場合に、ＣＰＵ１０５は、プリントバッファ１０７の内容に応じて印刷ヘッド１０９および紙送り機構１１０に指示を出し、用紙にプリントバッファ１０７の内容を印刷して、１行の印刷が終了したら紙送りを行い、プリントバッファ１０７をクリアする。
【００１５】
このようなプリンタの動作は、ＣＰＵ１０５の制御によって行われるが、この制御を実現するプリンタ側制御プログラムはプログラムＲＯＭ１１１などの記憶媒体に記録されており、プリンタ１０１の電源を投入するとＣＰＵ１０５はプログラムＲＯＭ１１１からプログラムをロードして動作を開始する。
【００１６】
なお、プリンタ側制御プログラム自体が更新されることもあるため、プログラムＲＯＭ１１１のかわりにＳＲＡＭや消去書込可能ＲＯＭなどの不揮発性の記憶媒体を使用することもできる。また、プリンタ側制御プログラムは、ホスト側制御プログラム同様に、プリンタ１０１とは独立してフロッピーディスク、ハードディスク、ＣＤ−ＲＯＭなどの情報記録媒体に記録しておくことができる。
【００１７】
さて、印刷装置では、特に、今日普及している高速印刷が可能でコストが低いプリンタ装置では、さまざまな事情が原因で、印刷の途中で処理が中断されることがある。この中断を「オフラインが発生した」といい、中断の後に印刷を再開することを「オフラインから復帰した」という。
【００１８】
オフラインが発生する要因には、例えば以下のようなものがある。
【００１９】
（ａ）用紙がなくなった場合である。ミシン目入りの用紙やロール紙を使えば、多数のレシートの印刷ができるが、これにも限界があるため、紙切れになれば用紙を補給する必要がある。この場合は、用紙を補給すれば、オフラインから復帰することができる。
【００２０】
（ｂ）印刷される用紙などが途中で紙詰まりを起こすことがある。用紙が正常に繰り出せなかったり、ヘッドが紙詰まりによって折れ曲がった用紙に妨害されて移動できないことなどから検出できる。この場合は、紙詰まりを除去すればオフラインから復帰することができる。
【００２１】
（ｃ）印刷を長時間継続すると、プリンタのヘッドが高温になりすぎる。ヘッドが高温になると、ヘッドの劣化を招き、印刷品質が下がる。そこで、このような場合には、ヘッドの温度が下がるまでオフライン状態として印刷を中断する。
【００２２】
（ｄ）印刷処理を行っているオペレータが直接プリンタを操作してオフライン状態とすることがある。例えば、プリンタの前面パネルなどに設けられたオフラインスイッチを押下した場合や、プリンタのカバーを開けた場合などである。
【００２３】
このようなオフラインの発生は、必ずしもレシートとレシートの区切で発生するものではない。したがって、ある情報のまとまりを印刷している途中でプリンタがオフライン状態になることがありうる。
【００２４】
【発明が解決しようとする課題】
従来は、プリンタがオフライン状態から復帰したときには、受信バッファやプリントバッファに残っているデータを継続して処理していた。このため、特に紙詰まりや紙切れが発生した場合などには、レシートの前半部分は折れ曲がってすでに使用できなくなった用紙や、前のロールの用紙に印刷されている一方、新たに補給された用紙にレシートの後半部分が途中から印刷されることになる。
【００２５】
結局、オフラインから復帰したときに、無駄な情報が印刷されるためにもはや利用できないレシートの断片ができてしまう。これでは、用紙の無駄が生じるほか、印刷処理の能率も低下してしまう。
【００２６】
オフラインから復帰したときにプリンタの電源の再投入、もしくは、これに対応するリセット処理を行えば、受信バッファおよびプリントバッファのいずれも初期化され、クリアされるので、無意味なレシートの断片が印刷されることはなくなる。しかし、プリンタ内の記憶装置に記憶された各種の定義情報も初期化されてしまうという問題が発生してしまう。
【００２７】
本発明は、以上のような問題を解決するためになされたもので、オフライン状態から復帰したときに、印刷装置内に記憶された各種定義情報を維持したまま、無駄なレシートを印刷しないですむような印刷装置、印刷方法、および、これらを実現する情報記録媒体を提供することを目的とする。
【００２８】
【課題を解決するための手段】
以上の目的を達成するための発明は下記の発明である。
【００２９】
第１の発明は、情報処理装置から印刷データまたはコマンドを受信する受信手段と、
前記受信手段によって受信された印刷データまたはコマンドを記憶するバッファ手段と、前記バッファ手段によって記憶された印刷データまたはコマンドにしたがって、印刷処理を行う印刷手段と、前記バッファ手段によって記憶されたコマンドにしたがって、再開処理の複数の種類をあらかじめ設定する設定手段と、前記印刷手段の印刷処理が中断された後に、これを再開すべき旨を指示する指示手段と、前記指示手段によって印刷処理を再開すべき旨が指示された場合に、前記あらかじめ設定された複数の種類の内の一つの種類の再開処理を前記印刷手段に実行させる再開手段とを備えることを特徴とする印刷装置である。
【００３０】
本発明により、オフラインからの復帰時の処理の種類をあらかじめ設定しておくことができる。
【００３１】
第２の発明は、再開処理は、バッファ手段に記憶され、印刷手段による印刷処理が未だに行われていない印刷データまたはコマンドから印刷を行う処理を含むことを特徴とする印刷装置である。
【００３２】
本発明により、オフラインからの復帰時にまだ印刷されていない印刷データを印刷すべき旨をあらかじめ設定しておくことができる。
【００３３】
第３の発明は、再開処理は、バッファ手段に記憶された印刷データまたはコマンドをクリアする処理を含むことを特徴とする印刷装置である。
【００３４】
本発明により、オフラインからの復帰時にまだ印刷されていない印刷データを無視すべき旨をあらかじめ設定しておくことができる。
【００３５】
第４の発明は、さらに、バッファ手段に記憶されたコマンドにしたがって、バッファ手段に記憶された印刷データまたはコマンドを特定する情報を記憶する特定手段を備え、再開処理は、バッファ手段に記憶され、特定手段に記憶された情報によって特定される印刷データまたはコマンドから印刷を行う処理を含むことを特徴とする印刷装置である。
【００３６】
本発明により、オフラインからの復帰時に印刷データ列のあらかじめ定めた場所にもどって印刷を再開すべき旨をあらかじめ設定しておくことができる。
【００３７】
第５の発明は、特定手段は、さらに印刷装置の設定情報を記憶し、再開処理は、さらに、特定手段によって記憶された設定情報によって印刷装置を設定する処理を含むことを特徴とする印刷装置である。
【００３８】
本発明により、印刷を再開する際に、その時点での印刷装置の設定を復旧すべき旨をあらかじめ設定しておくことができる。
【００３９】
第６の発明は、さらに、再開処理を印刷手段に実行させることが不可能な場合に、その旨を情報処理装置へ通知する通知手段を備えたことを特徴とする印刷装置である。
【００４０】
本発明により、再開処理に失敗した場合に印刷データの再送信を促すことができる。
【００４１】
第７の発明は、情報処理装置から印刷データまたはコマンドを受信する手順と、前記受信された印刷データまたはコマンドを記憶する手順と、前記記憶された印刷データまたはコマンドにしたがって、印刷処理を行う手順と、前記記憶されたコマンドにしたがって、再開処理の複数の種類をあらかじめ設定する手順と、前記印刷処理が中断された後に、これを再開すべき旨を指示する手順と、前記印刷処理を再開すべき旨が指示された場合に、前記あらかじめ設定された複数の種類の内の一つの種類の再開処理を実行する手順とを備えることを特徴とする印刷方法である。
【００４２】
第８の発明は、再開処理は、記憶され、印刷処理が未だに行われていない印刷データまたはコマンドから印刷を行う処理を含むことを特徴とする印刷方法である。
【００４３】
第９の発明は、再開処理は、記憶された印刷データまたはコマンドをクリアする処理を含むことを特徴とする印刷方法である。
【００４４】
第１０の発明は、さらに、記憶されたコマンドにしたがって、記憶された印刷データまたはコマンドを特定する情報を記憶する特定手順を備え、再開処理は、記憶された印刷データまたはコマンドであって、特定手順において記憶された情報によって特定される印刷データまたはコマンドから印刷を行う処理を含むことを特徴とする印刷方法である。
【００４５】
第１１の発明は、特定手順は、さらに印刷装置の設定情報を記憶し、再開処理は、さらに、特定手順において記憶された設定情報によって印刷装置を設定する処理を含むことを特徴とする印刷方法である。
【００４６】
第１２の発明は、さらに、再開処理の実行が不可能な場合に、その旨を情報処理装置へ通知する手順を備えたことを特徴とする印刷方法である。
【００４７】
第１３の発明は、情報処理装置から印刷データまたはコマンドを受信する手順と、前記受信された印刷データまたはコマンドを記憶する手順と、前記記憶された印刷データまたはコマンドにしたがって、印刷処理を行う手順と、前記記憶されたコマンドにしたがって、再開処理の複数の種類をあらかじめ設定する手順と、前記印刷処理が中断された後に、これを再開すべき旨を指示する手順と、前記印刷処理を再開すべき旨が指示された場合に、前記あらかじめ設定された複数の種類の内の一つの種類の再開処理を実行する手順とを備えたことを特徴とする処理を実現するプログラムを記録した情報記録媒体である。
【００４８】
第１４の発明は、再開処理は、記憶され、印刷処理が未だに行われていない印刷データまたはコマンドから印刷を行う処理を含むことを特徴とする処理を実現するプログラムを記録した情報記録媒体である。
【００４９】
第１５の発明は、再開処理は、記憶された印刷データまたはコマンドをクリアする処理を含むことを特徴とする処理を実現するプログラムを記録した情報記録媒体である。
【００５０】
第１６の発明は、さらに、記憶されたコマンドにしたがって、記憶された印刷データまたはコマンドを特定する情報を記憶する特定手順を備え、再開処理は、記憶された印刷データまたはコマンドであって、特定手順において記憶された情報によって特定される印刷データまたはコマンドから印刷を行う処理を含むことを特徴とする処理を実現するプログラムを記録した情報記録媒体である。
【００５１】
第１７の発明は、特定手順は、さらに印刷装置の設定情報を記憶し、再開処理は、さらに、特定手順において記憶された設定情報によって印刷装置を設定する処理を含むことを特徴とする処理を実現するプログラムを記録した情報記録媒体である。
【００５２】
第１８の発明は、さらに、再開処理の実行が不可能な場合に、その旨を情報処理装置へ通知する手順を備えたことを特徴とする処理を実現するプログラムを記録した情報記録媒体である。
【００５３】
第１９の発明は、印刷装置へ、印刷データまたは前記印刷装置が印刷を中断した後に再開したときに前記印刷装置が実行すべき再開処理の複数の種類をあらかじめ設定するコマンドを送信する送信手段と、前記印刷装置から、前記印刷装置が印刷を中断した後に再開したときに前記印刷装置が再開処理の実行が不可能である旨の通知を受信する受信手段と、前記受信手段により前記再開処理の実行が不可能である旨の通知を受信した場合に、印刷装置へ印刷データを再送信する再送信手段とを備えたことを特徴とする情報処理装置である。
【００５４】
本発明により、印刷装置がオフラインからの復帰時の再開処理に失敗した場合には、ホ
ストコンピュータなどの情報処理装置から印刷データを再送信することにより、所望の印
刷結果を得ることができる。
【００５５】
第２０の発明は、印刷装置へ、印刷データまたは前記印刷装置が印刷を中断した後に再開したときに前記印刷装置が実行すべき再開処理の複数の種類をあらかじめ設定するコマンドを送信する送信手順と、前記印刷装置から、前記印刷装置が印刷を中断した後に再開したときに前記印刷装置が再開処理の実行が不可能である旨の通知を受信する受信手順と、前記再開処理の実行が不可能である旨の通知を受信した場合に、印刷装置へ印刷データを再送信する再送信手順とを備えたことを特徴とする印刷装置の制御方法である。
【００５６】
第２１の発明は、印刷装置へ、印刷データまたは前記印刷装置が印刷を中断した後に再開したときに前記印刷装置が実行すべき再開処理の複数の種類をあらかじめ設定するコマンドを送信する送信手順と、前記印刷装置から、前記印刷装置が印刷を中断した後に再開したときに前記印刷装置が再開処理の実行が不可能である旨の通知を受信する受信手順と、前記再開処理の実行に不可能である旨の通知を受信した場合に、印刷装置へ印刷データを再送信する再送信手順とを備えたことを特徴とする処理を実現するためのプログラムを記録した情報記録媒体である。
【００５７】
【発明の実施の形態】
以下に本発明の一実施形態を説明する。なお、以下の実施形態は、説明および例示のために掲げるものであり、本発明の範囲を制限するものではない。したがって、当業者であれば、これらの各要素または全要素を均等なものに置換することができ、これらも本発明の範囲に含まれる。
【００５８】
本発明に係る印刷装置の実施形態例の基本構成は、図１に示す従来の印刷装置の基本構成と同様であるが、ホスト１０２から送られる印刷データとして新たなコマンドを提供しており、このコマンドに対応するＣＰＵ１０５の動作が追加され、記憶装置１０８に記憶される情報が従来よりも多くなっている点で異なる。
【００５９】
ホスト１０２から送信される新たなコマンドの例の機能について以下に説明する。
【００６０】
このコマンドとして、以下の３つのコマンドを開示する。
【００６１】
（ａ）オフライン状態からの復帰時の処理の種類を設定するコマンド。
【００６２】
（ｂ）マーカを設定するコマンド。
【００６３】
（ｃ）プリンタを初期化するコマンド。
【００６４】
ただし、マーカ設定コマンドおよびプリンタ初期化コマンドは付加的な機能であり、これらを備えない実施形態も考えられる。これらのコマンドは、順にそれぞれ以下のような構成を有する。
【００６５】
（ａ）ＥＳＣＡｎｍ
（ｂ）ＥＳＣＢ
（ｃ）ＥＳＣＣ
ただしｎは１から３までの整数、ｍは１から４までの整数である。これを１６進数で表現すれば、それぞれ、以下のようになる。
【００６６】
（ａ）１Ｂｈ４１ｈｎｍ
（ｂ）１Ｂｈ４２ｈ
（ｃ）１Ｂｈ４３ｈ
これらのコマンドの構成は、適宜変更することが可能である。
【００６７】
これらのコマンドの詳細について以下に説明する。
【００６８】
コマンドＥＳＣＡは、オフライン状態からの復帰時の処理の種類をあらかじめ設定するものである。パラメータｎは、オフラインの原因を指定する。
【００６９】
ｎ＝１は、何らかのエラーによるオフライン。
【００７０】
ｎ＝２は、用紙切れによるオフライン。
【００７１】
ｎ＝３は、オペレータの操作によるオフライン。
【００７２】
一方、パラメータｍは、オフラインから復帰した時に行う処理の種類について指定する。
【００７３】
ｍ＝１は、継続印刷を指定する。受信バッファおよびプリントバッファに残っている、まだ印刷していない印刷データの先頭から印刷を開始する。
【００７４】
ｍ＝２は、抹消を指定する。受信バッファおよびプリントバッファに記憶された印刷データをすべてクリアする。ただし、プリンタ内に記憶された定義情報はそのまま維持する。
【００７５】
ｍ＝３は、マーカ印刷を指定する。これについては後述する。
【００７６】
ｍ＝４は、初期化コマンド印刷を指定する。これについては後述する。
【００７７】
例えば、「ＥＳＣＡ２１」がホスト１０２からプリンタ１０１に送信されると、これ以降に、紙切れによるオフライン状態が発生し、これから復帰したときには、継続印刷が行われるように設定されるのである。
【００７８】
なお、マーカ印刷および初期化コマンド印刷は付加的な機能であり、これらを備えない実施形態も考えられる。
【００７９】
したがって、これらの設定を記憶するための領域をプリンタ１０１の記憶装置１０８に設ける必要がある。ここでは、オフラインの原因ｎを３通りに分類しているので、各原因に対して１つの記憶領域が必要である。それぞれの記憶領域は、ｍで表現される動作を記憶する。ここでは、４通りに動作を分類しているので、少なくとも２ビットが必要である。したがって、上記の分類の場合は少なくとも６ビットが必要ということになる。
【００８０】
ただし、オフライン原因の分類の種類や復帰時の処理の種類の数は適宜変更することができる。また、ＣＰＵ１０５からのアクセスの利便性を考えれば、それぞれの記憶領域に対して１バイトや１ワードを割り当てる実施形態も考えられる。また、当該処理を行うプログラム断片（プロシージャ）のアドレスを記憶しておく手法、種類の番号ｍと対応をとることができる何らかの情報を記憶しておく手法などが考えられる。
【００８１】
次に、プリンタ１０１の基本的な動作について説明する。以下の処理がプリンタでは実行される。
【００８２】
（ａ）ホスト１０２から受信した印刷データの受信バッファ１０４への格納。
【００８３】
（ｂ）受信バッファ１０４内の印刷データの解釈およびプリントバッファ１０７へのデータの展開、および、印刷。
【００８４】
（ｃ）オフラインが発生し、これから復帰した場合の処理。
【００８５】
これらのそれぞれについて以下に説明する。まず、ホスト１０２から受信した印刷データを受信バッファ１０４へ格納する処理について、図２を参照して説明する。
【００８６】
（１）ホスト１０２からの印刷データが送られるのを待つ（Ｓ２０１）。
【００８７】
（２）送られた印刷データを受信バッファ１０４に記憶された印刷データの末尾に追加する（Ｓ２０２）。
【００８８】
（３）受信バッファ１０４が一杯か調べ（Ｓ２０３）、一杯でなければ手順（１）へ戻る。
【００８９】
（４）一杯の場合には、受信バッファ１０４に空きができるまで待機する（Ｓ２０４）。空きができたら手順（１）へ戻る。
【００９０】
受信バッファに空きができるまで手順（４）から手順（３）へ戻るようなループの構成にすることも可能である。しかし、手順（４）で待機して、ほかの処理に制御を渡すことにより、ＣＰＵ１０５の処理能力の有効活用を図ることができる。以下「待機」という場合には、ほかの処理に制御をうつすことも含まれるものとする。
【００９１】
次に、図３のフローチャートを参照して、受信バッファ１０４内の印刷データの解釈およびプリントバッファ１０７へのデータの展開および印刷について説明する。
【００９２】
（１）受信バッファ１０４に印刷データがあるか調べ（Ｓ３０１）、ない場合には待機する（Ｓ３０２）。ある場合には次へ進む。
【００９３】
（２）印刷データが文字コードであるか調べる（Ｓ３１２）。
【００９４】
（３）文字コードの場合には、その文字のフォント定義をフォントＲＯＭ１０６から取得し（Ｓ３０３）、プリントバッファ１０７へ展開して（Ｓ３０４）、手順（８）へ進む。
【００９５】
（４）そうでない場合には、印刷データのコマンドの種類を調べる（Ｓ３０５）。
【００９６】
（５）オフライン状態から復帰した時の処理の種類を設定するＥＳＣＡコマンドの場合には、手順（７）へ進む。
【００９７】
（６）それ以外のコマンドの場合には、それに対応するコマンドの処理をして（Ｓ３０６）手順（８）へ進む。
【００９８】
（７）パラメータｎを取得し、これに対応する記憶場所にパラメータｍを記憶することにより、オフライン原因とその場合の復帰時の処理の種類を定義する（Ｓ３０７）。
【００９９】
（８）受信バッファ１０４の状態を更新する（Ｓ３０８）。これによって受信バッファ１０４の空きが、処理した印刷データの分だけ増えることになる。
【０１００】
（９）プリントバッファ１０７が一杯か調べ（Ｓ３０９）、一杯の場合には印刷ヘッドを駆動して印刷処理を行い（Ｓ３１０）、プリントバッファ１０７をクリアして（Ｓ３１１）、手順（１）へ戻る。この手順の処理の途中で、オフラインが発生することがあり、このときには、オフライン処理に制御を渡すことになる。
【０１０１】
さらに、図４のフローチャートを参照して、オフラインが発生し、これから復帰した場合の処理について説明する。
【０１０２】
（１）現在オフライン状態にあるか調べる（Ｓ４０１）。オフライン状態であれば、この手順に戻る。オフライン状態から復帰したら、すなわち、オフライン状態でなくなったら、次へ進む。
【０１０３】
（２）さきほどのオフライン状態の原因を取得する（Ｓ４０２）。この実施形態では、これはパラメータｎで表現され、３種類に分類される。
【０１０４】
（３）記憶装置１０８の中からｎに対応する記憶領域を選択し、定義された処理の種類を取得する（Ｓ４０３）。この実施形態では、これは、パラメータｍで表現され、４種類に分類される。
【０１０５】
（４）取得した処理の種類ｍを調べる（Ｓ４０４）。
【０１０６】
（５）ｍ＝１に対応する処理が指定されていた場合には、現在の受信バッファ１０４およびプリントバッファ１０７に記憶されたデータに基づいて、印刷を継続する（Ｓ４０５）。
【０１０７】
（６）ｍ＝２に対応する処理が指定されていた場合には、受信バッファ１０４およびプリントバッファ１０７の内容を消去する（Ｓ４０６）。
【０１０８】
（７）ｍ＝３に対応する処理が指定されていた場合には、マーカ印刷処理を行う（Ｓ４０７）。これについては後述する。
【０１０９】
（８）ｍ＝４に対応する処理が指定されていた場合には、初期化コマンド印刷を行う（Ｓ４０８）。これについては後述する。
【０１１０】
（９）本処理を終了し、ほかの処理へ制御をうつす（Ｓ４０９）。
【０１１１】
このような構成によって、オフライン状態が発生した後、オフライン状態から復帰したときに、そのオフラインの原因に応じて、行うべき処理の種類をあらかじめ設定しておくことができる。
【０１１２】
次に、付加的な処理であるマーカ登録およびマーカ印刷処理について説明する。マーカを登録することにより、オフラインからの復帰時にマーカまで戻って印刷を再開するというマーカ印刷処理が設定できる。
【０１１３】
例えば、複数枚のレシートを印刷する場合には、各レシートの印刷データを送信する直前にＥＳＣＢコマンドを送信する。すると、これから印刷しようとするレシートの先頭にマーカが設定される。このレシートを印刷している途中でオフラインが発生した場合には、オフラインから復帰したときに、印刷処理をマーカが設定された場所までさかのぼって、印刷処理を再開する。
【０１１４】
したがって、印刷が中断したレシートの残余部分は印刷されない。また印刷が中断したレシートを先頭から再度を印刷することになるので、印刷結果として完全なレシートを得ることができる。
【０１１５】
このマーカの設定および、マーカ印刷処理について説明する。
【０１１６】
ホスト１０２からマーカ設定コマンドＥＳＣＢが送信され、これが受信バッファ１０４に格納され、さらに、これが上記の各種コマンドの処理手順において発見された場合には、以下の処理を行う。
【０１１７】
（１）記憶装置１０８内に確保されたマーカ用の記憶領域（以下「マーカポインタ」という）に、受信バッファ１０４内でマーカ登録コマンドＥＳＣＢが記憶されている領域のアドレスを記憶させる。
【０１１８】
（２）このマーカが発見された時点でプリンタ内に記憶されている各種定義情報を、記憶装置１０８内に確保されたマーカ用定義情報記憶領域にコピーする。
【０１１９】
一方、オフラインから復帰した後に実行されるマーカ印刷処理は、以下の手順に従う。
図５を参照して説明する。
【０１２０】
（１）マーカポインタが指す受信バッファ１０４内のアドレスに記憶された印刷データを調べる（Ｓ５０１）。
【０１２１】
（２）記憶されたデータがＥＳＣＢである場合には、手順（４）に進む。
【０１２２】
（３）そうでない場合には、マーカがその後受信した印刷データで上書きされたことを意味する。これは、受信バッファ１０４がリングバッファとして構成されている場合に発生する事象である。このほか、受信バッファ１０４に何らかの異常事態が発生したことも考えられる。この場合は、ホスト１０２に「マーカ異常」を知らせて（Ｓ５０２）、この処理を終了する。
【０１２３】
（４）マーカポインタで示されるアドレスから印刷データの処理を再開するように、受信バッファ１０４の状態を設定する（Ｓ５０３）。
【０１２４】
（５）マーカ用定義情報記憶領域に記憶された定義情報を、プリンタ内の定義情報記憶領域にコピーする（Ｓ５０４）。これにより、各種印刷モードなどのプリンタ設定が、マーカを登録したときの設定に復旧する。
【０１２５】
（６）この処理を終了後に印刷処理に制御をうつすことにより、マーカが登録された場所から印刷が再開される。
【０１２６】
ここでは、マーカが１つの場合を実施例として挙げているが、複数のマーカを設定できるようにしてもよい。この場合は、マーカポインタやマーカ用定義情報記憶領域の数を、マーカの数に応じて増やす必要がある。また、ＥＳＣＡで指定できるコマンドとして「最新のマーカから印刷」「２番目に新しいマーカから印刷」などを適宜増やすことが可能である。また、マーカ自体に番号や名前を付け、「５番のマーカから印刷」などのような処理を登録できるようにしてもよい。このようにマーカの数を増やす場合には、公知の技法が利用できる。
【０１２７】
一般に、レシート１枚分の印刷データの量と、受信バッファ１０４の大きさを比較すると、受信バッファ１０４の方がはるかに大きい場合が多い。例えば、ある実施形態では、レシート１枚が４００バイトであるのに対し、受信バッファ１０４の大きさは４キロバイトである。このような場合、マーカ自体が上書きされる事態はほとんど発生しない。
【０１２８】
なお、上記実施例では、マーカポインタが指すアドレスにマーカ登録コマンドが記憶されていることをもって、マーカが有効である、と判断したが、これ以外の判断手法もありうる。すなわち、ホストから受信した印刷データを受信バッファ１０４に記憶するたびに、印刷データを記憶するアドレスとマーカポインタが示すアドレスとを比較するのである。前者が後者を追いこした場合に、そのマーカは有効でなくなるので、マーカポインタにＮＵＬＬを設定する。
【０１２９】
この場合、マーカ印刷処理では、マーカポインタの値をチェックし、これがＮＵＬＬの場合にはホスト１０２にマーカ異常を通知すればよい。
【０１３０】
さらに、付加的な処理であるプリンタ初期化コマンドおよび初期化コマンド印刷について説明する。
【０１３１】
これは、マーカの場合と動作は類似するが、以下の相異点がある。すなわち、マーカ登録コマンドＥＳＣＢではそのときのプリンタの定義情報が保存され、オフラインからの復帰時にマーカポインタに記憶された情報に基づいてプリンタが復旧される。
【０１３２】
一方、プリンタ初期化コマンドＥＳＣＣでは、そのときのプリンタの定義情報を初期状態に戻し、プリントバッファ１０７をクリアする。また、マーカポインタに相当する記憶領域は必要としない。オフラインからの復帰時の初期化コマンド印刷が実行された場合には、受信バッファ１０４の末尾から先頭へ向かってＥＳＣＣが記憶されている場所を検索していき、見つかれば、その場所から解釈・展開・印刷処理を再開する。
【０１３３】
この場所から解釈を開始すると、まずＥＳＣＣが解釈されるため、プリンタの定義情報は初期状態に戻され、プリントバッファ１０７がクリアされる。これ以降は、順次印刷データを通常通り処理することになる。
【０１３４】
なお、このＥＳＣＣが記憶されている場所を検索する手法であるが、受信バッファ１０４の末尾から先頭へ向かって検索した場合に、最初に見つかった場所を結果とする、ということである。
【０１３５】
したがって、すでに処理された印刷データを格納した部分も含めて、受信バッファ１０４の先頭から末尾へＥＳＣＣを検索していき、最後に見つかったＥＳＣＣの場所をこの検索の結果の場所とする手法をとってもよい。バイナリ画像データを含む印刷データを印刷する場合には、ＥＳＣＣに偶然一致するようなデータが受信バッファ１０４内に格納される場合がある。受信バッファ１０４がリングバッファではなく、先頭からデータが格納され、バッファの最後に達したらデータが処理されるのを待ち、データが処理されたらまたバッファの先頭からデータを格納するようなラインバッファとして実現されている場合には、受信バッファ１０４を先頭から調べるこの手法が有効である。
【０１３６】
一方、リングバッファとして実現されている場合には、いずれの手法であっても偶然ＥＳＣＣに一致することがありうる。このような場合には、受信バッファ１０４の中でＥＳＣＣが見つかるたびに、そのマークポインタに相当する記憶領域に上書きしながら記憶しておけば、受信バッファ自体の検索を行わなくとも、直ちにＥＳＣＣの場所がわかる。この場合には、マークポインタと同様の処理が必要となる。
【０１３７】
もちろん、バイナリ画像データや、そのほかのバイナリコードを含まない印刷データのみを印刷する場合には、受信バッファ１０４がリングバッファで実現されていても、ラインバッファで実現されていても、偶然ＥＳＣＣに一致するデータが受信バッファ１０４に格納されることはないため、この問題は発生しない。
【０１３８】
受信バッファ１０４については、ＥＳＣＣコマンドがあるアドレスから印刷コマンドの解釈・展開・印刷処理が行われる。すなわち、受信バッファ１０４の内容はクリアされない。この点で、電源の再投入とは異なる。
【０１３９】
受信バッファ１０４内のＥＳＣＣが上書きされていた場合、すなわち、ＥＳＣＣが見つからなかった場合に、「初期化コマンド異常」をホスト１０２に通知する点は、マーカの場合と同様である。
【０１４０】
この付加機能を利用した場合のレシートの印刷は以下のような手順をとる。すなわち、まず、ＥＳＣＣによるプリンタ初期化コマンドを出力し、次にそのレシート用の各種定義を出力し、続いて印刷データを出力する。これを繰り返して複数のレシートの印刷を指定する。
【０１４１】
一方、初期化コマンド印刷が指定されている場合には、オフラインからの復帰時には、それまでに処理されたレシートのうち、一番最後に処理されたレシートの先頭から処理が再開される。つまり、ＥＳＣＣによって、オフラインからの復帰時に処理を再開する場合に、区切りとして適切な部分を指定することができるのである。
【０１４２】
マーカは複数設定できるようにすることもできるが、１つだけ設定できるようにしてもよい。
【０１４３】
マーカが１つだけ使用できる場合には、複数のレシートを印刷する場合でも、プリンタの各種定義は最初の１回だけ出力すればよい。マーカでは、これらの各種定義を記憶するための記憶領域が設けられており、最初に設定された各種定義がこの領域に記憶されるからである。
【０１４４】
一方、初期化コマンド印刷指定の場合には、まず初期化コマンド印刷指定ＥＳＣＣを出力してから、そのレシート用のプリンタの各種定義を行うコマンドを出力し、最後にレシートの内容の印刷データを出力する。したがって、印刷するレシートの数と同じ回数だけプリンタの各種定義を行うコマンドを出力しなければならない。これは、多少繁雑ではあるが、マーカの場合には必要な、特別な記憶領域が必要ない。したがって、プリンタの構造を簡略化し、コストを低下させる効果を有する。
【０１４５】
【発明の効果】
以上説明したように、本発明によれば、オフライン状態からの復帰時の処理の種類を選択できるので、オフライン状態から復帰したときに、印刷装置内に記憶された各種定義情報を維持したまま、無駄なレシートを印刷しないですむ。復帰時の処理の種類は自由に選択可能であり、またこれらの処理が不可能な場合にもホストにこれが通知されるので、印刷を再開する際の使い勝手が向上する。
【図面の簡単な説明】
【図１】  従来および本発明の印刷装置の実施形態例の基本構成を示す説明図である。
【図２】  本発明の印刷データ受信処理の基本動作を示すフローチャートである。
【図３】  本発明の印刷データ解釈・展開・印刷処理の基本動作を示すフローチャートである。
【図４】  本発明のオフライン発生・復帰時処理の基本動作を示すフローチャートである。
【図５】  本発明のマーカ印刷処理の基本動作を示すフローチャートである。
【符号の説明】
１０１      プリンタ
１０２      ホスト
１０３      インターフェース
１０４      受信バッファ
１０５      ＣＰＵ
１０６      フォントＲＯＭ
１０７      プリントバッファ
１０８      記憶装置
１０９      印刷ヘッド
１１０      紙送り機構
１１１      プログラムＲＯＭ
【図１】
0003861958.tif 000002
【図２】
0003861958.tif 000003
【図３】
0003861958.tif 000004
【図４】
0003861958.tif 000005
【図５】
0003861958.tif 000006