(57)【要約】【課題】サーマルヘッドの発熱体に断線が発生しても、印刷レイアウトを変更することなく、コードリーダによって正しく識別コードを読み取ることができるように印刷を継続して実行する。【解決手段】ポータブルプリンタ１０は、サーマルヘッド１に配設された発熱体の断線を検出する断線チェック回路２０が設けられている。ＣＰＵ１１は、断線チェック回路２０によって検出された断線位置と印刷データにおける所定の印刷エリアとを比較し、断線位置の発熱体による印刷位置と印刷エリアとが重なると判定された場合に、ＲＡＭ１３の印刷バッファに展開された印刷データに対して、例えば逆方向で（印刷レイアウトの下側から）印刷する。【選択図】      図２
2009160808.tif 000002
【特許請求の範囲】
【請求項１】
サーマルヘッドを搭載したプリンタ装置において、
サーマルヘッドに配設された発熱体の断線を検出する断線検出手段と、
前記断線検出手段によって検出された断線位置と印刷データにおける所定の印刷エリアとを比較する比較手段と、
前記印刷データに基づいて所定の印刷方向で印刷を実行する印刷手段とを備え、
前記比較手段は、前記断線位置の発熱体による印刷位置と前記所定の印刷方向での印刷における印刷エリアとが重なると判定した場合に、前記断線位置の発熱体による印刷位置と前記所定の印刷方向とは異なる方向の印刷における印刷エリアとが重なるか否かを比較し、
この比較結果が重ならない場合に、前記印刷手段は、前記所定の印刷と異なる方向で印刷を実行する印刷手段と
を具備したことを特徴とするプリンタ装置。
【請求項２】
前記所定の方向と異なる方向は、前記所定の方向と逆方向であることを特徴とする請求項１記載のプリンタ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーマルヘッドを搭載したプリンタ装置に関する。
【背景技術】
【０００２】
サーマルヘッドを搭載したプリンタ装置においては、サーマルヘッドに配列された発熱体の抵抗が断線すると、その箇所が印字不可となってしまう。従来のプリンタ装置では、確実な印刷を行うために、発熱体毎に断線の有無を判定する断線チェック機能が搭載されている（例えば、特許文献１）。
【０００３】
特許文献１に記載された印字装置では、サーマルヘッドを構成する各発熱体の断線の有無をチェックし、断線が検出されると、検出された断線位置をパーソナルコンピュータに通知する。パーソナルコンピュータは、印字データと断線位置とに基づいて、バーコードや二次元コード等の識別コードの印字位置と断線位置とが重なるとき、識別コードの読み取りが可能か否かを判断し、読み取りが可能であれば印字継続し、読み取りが不可能であればレイアウト変更を行い、レイアウト変更不可であれば、印字停止するか、他のプリンタによる振り替え印字を行う。
【特許文献１】特開２００３−３４１１２１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
このように特許文献１に記載された従来の技術においては、パーソナルコンピュータにおいて、印字データと断線位置とに基づいて、識別コードの印字位置と断線位置とが重なるかを判断している。従って、バッテリにより駆動される携帯型のプリンタ装置では、常時、パーソナルコンピュータと接続した状態で使用することができないので印刷を停止させなければならない。この場合、プリンタ装置の使用者は、プリンタ装置を管理するためのパーソナルコンピュータが設置された場所（事務所等）に戻って対処する必要がある。また、事務所等に戻らないようにするためには、サーマルヘッドに断線が生じた時のために、交換用の予備のサーマルヘッドを所持したり、別のプリンタ装置を用意しておかなければならなかった。
【０００５】
さらに、特許文献１の印字装置では、識別コードの印字位置と断線位置とが重なる場合、印字レイアウトを変更することによって断線位置に識別コードが重ならないようにしている。このため、用紙における識別コードの位置が断線位置に応じて変化することになる。この場合、識別コードと、用紙に印刷される識別コード以外の情報との位置関係が変化して印刷レイアウト自体が変化してしまう。しかも、断線が発生した箇所に応じて識別コードの印刷位置が変化するために、本来、規格化された印字レイアウトであったとしても、種々の印字レイアウトによる印刷物ができてしまう。
【０００６】
本発明は上記の事情を考慮したもので、その目的は、サーマルヘッドの発熱体に断線が発生しても、印刷レイアウトを変更することなく、コードリーダによって正しく識別コードを読み取ることができるように印刷を極力継続して実行することが可能なプリンタ装置を提供することにある。
【課題を解決するための手段】
【０００７】
本発明は、サーマルヘッドを搭載したプリンタ装置において、サーマルヘッドに配設された発熱体の断線を検出する断線検出手段と、前記断線検出手段によって検出された断線位置と印刷データにおける所定の印刷エリアとを比較する比較手段と、前記印刷データに基づいて所定の印刷方向で印刷を実行する印刷手段とを備え、前記比較手段は、前記断線位置の発熱体による印刷位置と前記所定の印刷方向での印刷における印刷エリアとが重なると判定した場合に、前記断線位置の発熱体による印刷位置と前記所定の印刷方向とは異なる方向の印刷における印刷エリアとが重なるか否かを比較し、この比較結果が重ならない場合に、前記印刷手段は、前記所定の印刷と異なる方向で印刷を実行する印刷手段と
を具備したことを特徴とする。
【発明の効果】
【０００８】
本発明によれば、サーマルヘッドの発熱体に断線が発生した際に、この発熱体による印刷位置と所定の印刷方向における識別コード等が印刷される印刷エリアとが重なると判定された場合には、印刷データを印刷する際の印刷方向を変更することで、断線が発生した発熱体と印刷エリアとの位置関係が変更されるので、サーマルヘッドの発熱体に断線が発生しても、印刷レイアウトを変更することなく、コードリーダによって正しく識別コードを読み取ることができるように印刷を極力継続して実行することが可能となる。
【発明を実施するための最良の形態】
【０００９】
以下、図面を参照して本発明の実施の形態について説明する。  
図１は、本実施形態におけるポータブルプリンタ１０（プリンタ装置）の概略構造を示す模式図である。ポータブルプリンタ１０は、サーマルヘッド１とプラテンローラ２とを有している。サーマルヘッド１とプラテンローラ２とは、巻回された連続紙Ｓ（レシート紙など）から供給される用紙３を間に挟むように配置されている。サーマルヘッド１は、一端が回転自在に支持されて他端がプラテンローラ２に圧接するように図示しない付勢部材により付勢されている。プラテンローラ２は、ステッピングモータ４とベルト５を介して連結されており、ステッピングモータ４の回転に伴って回転される。
【００１０】
用紙３は、サーマルヘッド１とプラテンローラ２との間に挟まれた状態でプラテンローラ２が回転することによって搬送される。サーマルヘッド１は、連続紙Ｓの幅方向に配列された複数の発熱体を有しており、これらの発熱体のうち適当なものを発熱させることによって感熱紙である用紙３に対して印刷（印字）することができる。
【００１１】
図２は、ポータブルプリンタ１０の構成を示すブロック図である。ポータブルプリンタ１０は、各種の演算処理を実行し各部を集中的に制御するＣＰＵ１１を有し、このＣＰＵ１１にはフラッシュメモリ１２、ＲＡＭ１３がシステムバス１４を介して接続されている。
【００１２】
フラッシュメモリ１２は、ポータブルプリンタ１０の動作プログラムを格納する。ＣＰＵ１１は、フラッシュメモリ１２に記憶された動作プログラムをＲＡＭ１３にコピーし実行することにより各部を制御する。動作プログラムには、例えば後述する印刷処理を行うためのプログラムが含まれる。また、ＲＡＭ１３は各種の可変情報を一時的に格納する。ほかにもＲＡＭ１３の一部の領域は、用紙３に印刷される印刷データ（画像データ）が展開される印刷バッファとして利用される。
【００１３】
また、ＣＰＵ１１には、モータ制御回路１８、ヘッド制御回路１９、断線チェック回路２０が接続される。  
モータ制御回路１８は、ＣＰＵ１１の制御のもとで、ステッピングモータ４を回転駆動させる。ヘッド制御回路１９は、ＣＰＵ１１の制御もとで、ＲＡＭ１３の印刷バッファに展開された印字データに応じて、サーマルヘッド１に配設された発熱体に対してストローブ信号を印加して用紙３に印刷を行う。
【００１４】
断線チェック回路２０は、サーマルヘッド１に配設された発熱体の断線をチェックする回路である。断線チェック回路２０は、例えばヘッド制御回路１９によってサーマルヘッド１に配設された各発熱対に対して印加されたストローブ信号の変化に基づいて、各発熱体について断線が発生しているか否かを判別する。
【００１５】
また、ＣＰＵ１１には、表示コントローラ２３、通信インタフェース２５が接続される。  
表示コントローラ２３は、ＣＰＵ１１の制御のもとで、表示器２４における表示を制御する。表示器２４には、印字状況などの各種情報が表示される。通信インタフェース（Ｉ／Ｆ）２５は、ホストコンピュータ３０（ホスト装置）などの外部の機器と接続するためのインタフェースである。ホストコンピュータ３０は、例えばパーソナルコンピュータ（ＰＣ）、携帯電話機、ハンディターミナル等、ユーザからの入力に応じてデータ処理を実行する機能が搭載された各種の情報機器が使用される。通信インタフェース２５は、ホストコンピュータ３０に設けられた通信インタフェース、例えばＩｒＤＡ等の赤外線通信、ＵＳＢ（Universal Serial Bus）、ＬＡＮ（Local Area Network）、ＲＳ−２３２Ｃ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等により通信が可能であるものとする。
【００１６】
次に、本実施形態におけるポータブルプリンタ１０の印刷処理について、図３に示すフローチャートを参照しながら説明する。  
ポータブルプリンタ１０は、通信インタフェース２５を通じて、ホストコンピュータ３０から印刷データを受信し、ＲＡＭ１３に設けられた印刷バッファエリアに展開する。また、ＣＰＵ１１は、印刷バッファに展開された印刷データをもとに印刷エリア情報を取得する。例えば、所定の印刷方向におけるバーコードや２次元コードなどの識別コードが印刷される印刷エリアを印刷データ中から検出し、この印刷エリアの位置を示す印刷エリア情報を取得する（ステップＡ２）。
【００１７】
なお、ポータブルプリンタ１０をバッテリ駆動される携帯型のプリンタ装置とする場合、フラッシュメモリやハードディスク装置などの不揮発性の記憶装置を設け、予めホストコンピュータ３０から受信した印刷データを記憶させておくようにしても良い。印刷実行時には、この記憶装置に記憶された印刷データを読み出して、ＲＡＭ１３の印刷バッファに展開するものとする。
【００１８】
ここで、ＣＰＵ１１は、断線チェックコマンドの実行がある場合には（ステップＡ３、Ｙｅｓ）、断線チェック回路２０により断線チェック処理を実行する（ステップＡ４）。ＣＰＵ１１は、ヘッド制御回路１９により、サーマルヘッド１に配設された各発熱体に対してストローブ信号を印加して、断線チェック回路２０によりストローブ信号の変化を検知する。断線チェック回路２０は、ストローブ信号の変化が断線を表す発熱体が存在した場合、その発熱体の位置をＣＰＵ１１に通知する。なお、断線チェックの方法は、その他の方法を使用することも可能である。
【００１９】
断線チェック回路２０からの通知により、断線が発生している発熱体があることを検知すると（ステップＡ５、Ｙｅｓ）、ＣＰＵ１１は、断線している発熱体によって印刷が行われる印刷位置と、ステップＡ２において検出された所定の印刷方向における識別コードが印刷される印刷エリアの位置を示す印刷エリア情報とを比較する（ステップＡ６）。
【００２０】
図４（ａ）は、サーマルヘッド１に配設された断線した発熱体による印刷位置（断線位置）と、識別コードが印刷される印刷エリア（コード印刷エリア）の位置関係を示す図である。図４（ａ）に示すように、サーマルヘッド１に断線が生じた発熱体があると、図４（ａ）中の破線に示す部分が印刷されないことになる。
【００２１】
図５には、サーマルヘッド１に断線が生じたままで所定の印刷方向で印刷を実行した場合のバーコードの一例を示している。図５に示す例では、数字の「７」と「０」が印刷されている位置の２箇所において断線が生じている例を示している。このように発熱体に断線が生じた状態でバーコードの印刷を行うと、バーコード中のラインが消去されたり、コードの要件を満たすライン幅が確保されない状況が発生する可能性がある。こうしたバーコードは、バーコードリーダによる読み取り時に誤読を発生させる可能性がある。
【００２２】
ＣＰＵ１１は、断線している発熱体による印刷位置とコード印刷エリアとの比較の結果、図４（ａ）に示すように、両者が重なっていると判定される場合には（ステップＡ７、Ｙｅｓ）、印刷バッファに展開された印刷データに対する印刷を実行する際に、印刷方向を逆方向にすると、断線位置とコード印刷エリアとが重ならないかを判別する。
【００２３】
図６は、ＲＡＭ１３の印刷バッファに展開された印刷データを概念的に示す図である。  
印刷バッファに展開された印刷データは、通常では、アドレスの先頭側から１ライン毎に読み出されて所定の印刷方向で印刷に供される。すなわち、印刷レイアウトの上側からサーマルヘッド１によって１ライン毎に順に印刷されていく。以下、印刷レイアウトの上側から印刷される印刷方向を正方向（所定の印刷方向）として説明する。これに対して、印刷バッファに展開された印刷イメージを、最後尾のアドレスから１ライン毎に読み出して印刷に供することにより、印刷レイアウトの下側からサーマルヘッド１によって１ライン毎に順に印刷することができる。以下、印刷レイアウトの下側から印刷される印刷方向を逆方向として説明する。
【００２４】
ＣＰＵ１１は、ステップＡ２において取得した印刷エリア情報をもとに、印刷方向を逆方向とした場合のコード印刷エリアの位置を求め、このコード印刷位置と断線位置とが重なるか否かを判別する。
【００２５】
ここで、印刷方向に逆方向とした場合には、断線位置とコード印刷エリアとが重ならないと判別された場合（ステップＡ８、Ｙｅｓ）、ＣＰＵ１１は、印刷バッファに展開された印刷データに対して、印刷方向を逆方向にして印刷を実行させる。すなわち、印刷バッファに展開された印刷データを最後尾のアドレスから順に１ライン毎に読み出し、ヘッド制御回路１９によって印刷データの黒情報が示す位置の発熱体にストローブ信号を印加させることで１ライン毎に印刷を実行させる。
【００２６】
従って、印刷データに対して正方向で印刷を実行した場合、図４（ａ）に示すように、断線した発熱体による印刷位置がコード印刷エリアと重なる場合であっても、印刷方向を逆方向にすることで、図４（ｂ）に示すように、コード印刷エリアが重ならないようにすることができる。
【００２７】
なお、ＣＰＵ１１は、断線チェック処理を実行しない場合（ステップＡ３、Ｎｏ）、または断線チェック処理において断線した発熱体を検知できなかった場合（ステップＡ５、Ｎｏ）には、印刷バッファに展開された印刷データに対して、印刷方向を正方向にして印刷を実行するものとする（ステップＡ９）。
【００２８】
このようにして、サーマルヘッド１の断線した発熱体による印刷位置（断線位置）とコード印刷エリアとが重なる場合には、印刷データに対する印刷方向を逆方向に変えることによって、図４（ａ）（ｂ）に示すような印刷レイアウトの場合に、コード印刷エリアが断線位置と重ならないようにすることができる。従って、サーマルヘッド１において発熱体の断線が生じたとしても、この断線の影響を受けることなく正しく識別コードを印刷することが可能となる。
【００２９】
しかも、このように印刷データに対する印刷方向を逆方向に変える場合には、印刷レイアウトの形状に左右されずに印刷できるという点で、後述する９０°回転させる場合に比べて利点がある。
【００３０】
また、ＲＡＭ１３の印刷バッファに展開された印刷データに対しては、１ライン毎に読み出す順番を変更するだけであるので、印刷データが表す印刷レイアウトに変更はない。すなわち、ポータブルプリンタ１０によって印刷された識別コード（バーコード）の用紙上における位置は、正方向で印刷された場合と同じとなっている。図４（ｂ）に示す例では、断線位置と文字が印刷される位置とが重なっているが、文字については断線した発熱体による部分が印刷されなくても視認が可能であるので問題は生じない。
【００３１】
なお、本実施形態におけるポータブルプリンタ１０によって印刷される印刷レイアウトは、図４（ａ）（ｂ）に示すように、印刷方向が正方向と逆方向の何れの場合も、コード印刷エリアが共通する発熱体によって印刷されないように配置するのが好ましい。なお、印刷レイアウトによっては、印刷方向が正逆いづれの方向であってもコード印刷エリアが断線した発熱体による印刷位置と重なる場合がある。この場合は終了処理となり印刷は行わない（ステップＡ８、Ｎｏ）。
【００３２】
前述した説明では、印刷データに対して正方向で印刷を実行すると、断線した発熱体による印刷位置とコード印刷エリアが重なる場合には、印刷方向を逆方向に変更して印刷を実行するとしている。つまり、印刷レイアウトを１８０°回転して印刷を実行している。本実施形態におけるポータブルプリンタ１０（プリンタ装置）では、印刷レイアウトを９０°回転させた状態で印刷を実行するようにしても良い。
【００３３】
図７（ａ）（ｂ）には、印刷レイアウトを右回り（時計回り）に９０°回転させて印刷する場合の例を示している。図７（ａ）（ｂ）に示す印刷レイアウト中のコード印刷エリアには、２次元コード（バーコード）が印刷されるものとする。図７（ａ）に示すように、正方向で印刷した場合に断線位置とコード印刷エリアとが重なる場合、図７（ｂ）に示すように、印刷レイアウトを右回りに９０°回転させる。
【００３４】
この場合、ＣＰＵ１１は、ＲＡＭ１３の印刷バッファに展開された印刷データを、９０°回転させた印刷データに書き換える必要がある。印刷方向を正方向から逆方向に変更する場合には印刷バッファの印刷データの書き換えが不要であるのに対して、余分な処理負担となるが、印刷レイアウトを変更するものではなく単純な印刷データに対する回転処理であるので、それほどの負担増大を招かない。
【００３５】
図７（ｂ）に示す例では、印刷レイアウトを９０°回転しても断線位置とコード印刷エリアとが重なっている。図８は、図７（ｂ）のように印刷レイアウトを回転させた状態で印刷を実行した場合のバーコードを示している。図８に示すように、断線した発熱体によって印刷がされないために、バーコード中の各ラインと９０°で交差するように印刷されないライン（白ライン）が形成されている。
【００３６】
バーコードの場合、図８に示すように、バーコード中にラインと交差する白ラインが形成されていたとしても、バーコードリーダは、白ラインの存在に関係なく、他の部分でコードを正しく読み取ることができる。従って、用紙３に印刷される識別コードがバーコードである場合には、図７（ａ）（ｂ）に示すように、印刷レイアウトを９０°回転させて印刷を実行することによって（左回りでも良い）、サーマルヘッド１に発熱体の断線が発生したとしても、バーコードリーダによって正しく読み取ることができるバーコードを印刷することができる。
【００３７】
このように、印刷レイアウトを９０°回転させる場合においても、識別コード（バーコード）と、その他の用紙に印刷される文字等の情報との相対的な位置関係（印刷レイアウト）を変更することなく印刷を実行することが可能となる。
【００３８】
また、図７に示す例では、正方向の印刷レイアウトを左回り（反時計回り）で９０°回転させた場合に、コード印刷エリアと断線位置とが重ならなくなる。すなわち、サーマルヘッド１の断線が発生した発熱体の位置と印刷レイアウトにおけるコード印刷エリアの位置に応じて、コード印刷エリアが断線位置と重ならないように、印刷レイアウトの回転方向（右／左回り）と回転量（９０°／１８０°）を決定するようにしても良い。何れの場合においても、印刷レイアウト（用紙上）におけるコード印刷エリアの位置を変更していないので、印刷後の用紙における識別コードと、その他の文字等の印刷情報との相対的位置関係については変更がない。
【図面の簡単な説明】
【００３９】
【図１】本実施形態におけるポータブルプリンタ１０（プリンタ装置）の概略構造を示す模式図。
【図２】ポータブルプリンタ１０の構成を示すブロック図。
【図３】本実施形態におけるポータブルプリンタ１０の印刷処理について示すフローチャート。
【図４】サーマルヘッド１に配設された断線した発熱体による印刷位置（断線位置）と、識別コードが印刷される印刷エリア（コード印刷エリア）の位置関係を示す図。
【図５】サーマルヘッド１に断線が生じたままで印刷を実行した場合のバーコードの一例を示す図。
【図６】ＲＡＭ１３の印刷バッファに展開された印刷データを概念的に示す図。
【図７】サーマルヘッド１に配設された断線した発熱体による印刷位置（断線位置）と、識別コードが印刷される印刷エリア（コード印刷エリア）の位置関係を示す図。
【図８】サーマルヘッド１に断線が生じたままで印刷を実行した場合のバーコードの一例を示す図。
【符号の説明】
【００４０】
１…サーマルヘッド、２…プラテンローラ、３…用紙、４…ステッピングモータ、５…ベルト、Ｓ…連続紙、１０…ポータブルプリンタ、１１…ＣＰＵ、１２…ＲＯＭ、１３…ＲＡＭ、１８…モータ制御回路、１９…ヘッド制御回路、２０…断線チェック回路、２３…表示コントローラ、２４…表示器、２５…通信インタフェース（Ｉ／Ｆ）、３０…ホストコンピュータ。
【図１】
2009160808.tif 000003
【図２】
2009160808.tif 000004
【図３】
2009160808.tif 000005
【図４】
2009160808.tif 000006
【図５】
2009160808.tif 000007
【図６】
2009160808.tif 000008
【図７】
2009160808.tif 000009
【図８】
2009160808.tif 000010