(57)【要約】【課題】ライン印刷ヘッドに不良印刷素子が存在する場合に、正常にバーコードを印刷可能な一連の印刷素子群の位置を簡単かつ短時間に検索可能なバーコード印刷方法を提案すること。【解決手段】印刷装置１では、バーコード８の印刷位置のシフト可能範囲Ｌ５を決め（Ｂ１１）、シフト可能範囲Ｌ５の中心にバーコード８の印刷データＤ２の中心位置を合わせ、この状態からライン方向Ａの左右にそれぞれ１印刷素子分ずつ印刷データＤ２をシフトさせる操作を交互に行って、バーコード８を正常に印刷可能な一連の発熱体素子列の位置を見つける（Ｂ１２）。シフト可能範囲の端から検索する場合に比べて、短時間で、最少シフト量の正常印刷可能範囲を検索できるので、繰り返し行われるバーコード印刷動作の処理効率を全体として高めることができる。【選択図】図４
2011207076.tif 000002
【特許請求の範囲】
【請求項１】
ライン印刷ヘッドを用いて、記録媒体の搬送方向に直交する方向に所定パターンで所定幅のバーが配列された構成のバーコードを印刷するバーコード印刷方法において、
前記ライン印刷ヘッドにおける印刷素子が配列されているライン方向に沿って前記印刷素子のそれぞれの正常、不良を表す正常・不良データを求める正常・不良データ算出工程と、
前記正常・不良データと前記バーコードの印刷データを比較して、前記ライン方向における前記バーコードの印刷範囲に対応する前記ライン印刷ヘッドの印刷素子列に不良印刷素子が含まれているか否かを判別する判別工程と、
前記印刷素子列に前記不良印刷素子が含まれている場合に、前記バーコードを前記ライン方向にシフトさせて印刷することのできるシフト可能範囲を算出するシフト可能範囲算出工程と、
前記シフト可能範囲における前記ライン方向の中心に前記印刷データにおける前記ライン方向の中心を合わせ、前記印刷データを前記ライン方向の一方の側に１印刷素子分ずつ順次にシフトさせて前記正常・不良データと前記ライン印刷データを比較する動作と、前記印刷データを前記ライン方向の他方の側に１印刷素子分ずつ順次にシフトさせて前記正常・不良データと前記印刷データを比較する動作とを交互に行って、前記ライン印刷ヘッドの前記ライン方向において、前記バーコードの正常印刷可能範囲を見つけるシフト操作を行うシフト先算出工程と、
前記シフト可能範囲内において前記正常印刷可能範囲が見つかった場合に、当該正常印刷可能範囲に含まれる前記印刷素子を用いて前記バーコードを印刷させる印刷処理を行う印刷処理工程とを有していることを特徴とするライン印刷ヘッドを用いたバーコードの印刷方法。
【請求項２】
請求項１において、
前記正常・不良データには、駆動しても印刷動作を行わない第１不良印刷素子の位置を表す第１正常・不良データと、駆動していないのに印刷動作を行ってしまう第２不良印刷素子の位置を表す第２正常・不良データとが含まれており、
前記正常・不良データ算出工程においては、前記第１正常・不良データおよび前記第２正常・不良データの双方を算出し、
前記判別工程は、前記第１正常・不良データと前記印刷データを比較して、前記ライン方向における前記バーコードの印刷位置に対応する前記印刷素子列に前記第１不良印刷素子が含まれているか否かを判別する第１判別と、前記第２正常・不良データと前記印刷データを比較して、前記ライン方向における前記バーコードの印刷位置に対応する前記印刷素子列に前記第２不良印刷素子が含まれているか否か判別する第２判別とを行い、
前記シフト先算出工程においては、前記ライン方向にシフトさせた前記バーコードの各印刷ドット形成位置に前記第１不良印刷素子が位置しておらず、且つ、前記バーコードの各印刷ドット非形成位置には前記第２不良印刷素子が位置していない前記正常印刷可能範囲を見つけるシフト操作を行うことを特徴とするライン印刷ヘッドを用いたバーコードの印刷方法。
【請求項３】
請求項１または２において、
前記シフト可能範囲算出工程により算出された前記シフト可能範囲を前記ライン方向に複数に分割して複数の分割区画を求め、前記分割区画のそれぞれに存在する前記不良印刷素子の密度（＝不良印刷素子の数／各分割区画内の印刷素子の数）を算出する不良密度算出工程を実行し、
前記シフト先算出工程においては、前記密度の最も低い前記分割区画における前記ライン方向の中心に前記ライン印刷データにおける前記ライン方向の中心を合わせた状態から、前記バーコードの前記正常印刷可能範囲を見つけるシフト操作を行うことを特徴とするライン印刷ヘッドを用いたバーコード印刷方法。
【請求項４】
請求項１ないし３のうちのいずれかの項において、
前記ライン印刷ヘッドはラインサーマルヘッドあるいはラインインクジェットヘッドであることを特徴とするライン印刷ヘッドを用いたバーコード印刷方法。
【請求項５】
複数個の印刷素子が配列されたライン印刷ヘッドと、
前記ライン印刷ヘッドに対して、記録媒体を前記印刷素子が配列されているライン方向に交差する搬送方向に相対的に搬送する搬送機構と、
前記ライン印刷ヘッドおよび前記搬送機構を駆動制御して、前記搬送方向に直交する方向に配列された印刷領域および非印刷領域の組み合わせパターンからなるバーコードを前記記録媒体に印刷する印刷動作を実行させる制御回路とを有し、
前記制御回路は、
前記ライン方向に沿って前記印刷素子のそれぞれの正常、不良を表す正常・不良データを求める正常・不良データ算出処理部と、
前記正常・不良データと前記バーコードの印刷データを比較して、前記ライン方向における前記バーコードの印刷範囲に対応する前記ライン印刷ヘッドの印刷素子列に不良印刷素子が含まれているか否かを判別する判別処理部と、
前記印刷素子列に前記不良印刷素子が含まれている場合に、前記バーコードを前記ライン方向にシフトさせて印刷することのできるシフト可能範囲を算出するシフト可能範囲算出処理部と、
前記シフト可能範囲における前記ライン方向の中心に前記印刷データにおける前記ライン方向の中心を合わせ、前記印刷データを前記ライン方向の一方の側に１印刷素子分ずつ順次にシフトさせて前記正常・不良データと前記ライン印刷データを比較する動作と、前記印刷データを前記ライン方向の他方の側に１印刷素子分ずつ順次にシフトさせて前記正常・不良データと前記印刷データを比較する動作とを交互に行って、前記ライン印刷ヘッドの前記ライン方向において、前記バーコードの正常印刷可能範囲を見つけるシフト操作を行うシフト先算出処理部と、
前記シフト可能範囲内において前記正常印刷可能範囲が見つかった場合に、当該正常印刷可能範囲に含まれる前記印刷素子を用いて前記バーコードを印刷させる印刷処理を行う印刷処理部とを有していることを特徴とする印刷装置。
【請求項６】
請求項５において、
前記正常・不良データには、駆動しても印刷動作を行わない第１不良印刷素子の位置を表す第１正常・不良データと、駆動していないのに印刷動作を行ってしまう第２不良印刷素子の位置を表す第２正常・不良データとが含まれており、
前記正常・不良データ算出処理部は、前記第１正常・不良データおよび前記第２正常・不良データの双方を算出し、
前記判別処理部は、前記第１正常・不良データと前記印刷データを比較して、前記ライン方向における前記バーコードの印刷位置に対応する前記印刷素子列に前記第１不良印刷素子が含まれているか否かを判別する第１判別と、前記第２正常・不良データと前記印刷データを比較して、前記ライン方向における前記バーコードの印刷位置に対応する前記印刷素子列に前記第２不良印刷素子が含まれているか否か判別する第２判別とを行い、
前記シフト先算出処理部は、前記ライン方向にシフトさせた前記バーコードの各印刷ドット形成位置に前記第１不良印刷素子が位置しておらず、且つ、前記バーコードの各印刷ドット非形成位置には前記第２不良印刷素子が位置していない前記正常印刷可能範囲を見つけるシフト操作を行うことを特徴とする印刷装置。
【請求項７】
請求項５または６において、
前記制御回路は、
前記シフト可能範囲算出処理部により算出された前記シフト可能範囲を前記ライン方向に複数に分割して複数の分割区画を求め、前記分割区画のそれぞれに存在する前記不良印刷素子の密度（＝不良印刷素子の数／各分割区画内の印刷素子の数）を算出する不良密度算出処理部を備えており、
前記シフト先算出処理部は、前記密度の最も低い前記分割区画における前記ライン方向の中心に前記ライン印刷データにおける前記ライン方向の中心を合わせた状態から、前記バーコードの前記正常印刷可能範囲を見つけるシフト操作を行うことを特徴とする印刷装置。
【請求項８】
請求項５ないし７のうちのいずれかの項において、
前記ライン印刷ヘッドはラインサーマルヘッドあるいはラインインクジェットヘッドであることを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ライン状に印刷素子が配列されているライン印刷ヘッドを用いてバーコードを印刷するバーコード印刷方法および印刷装置に関する。
【背景技術】
【０００２】
ライン印刷ヘッドを用いて、記録媒体の搬送方向に直交する方向に所定パターンで所定幅のバーが配列された構成の一次元バーコード（以下、フェンスバーコードと呼ぶ場合もある。）では、それを構成している各バーの幅、各バーの間隔の組み合わせパターンによって各種の情報が表示される。従って、ライン印刷ヘッドの印刷素子に損傷があり、部分的に印刷ドットを形成できない場合には、バーが欠落し、あるいは、バーの幅、間隔が変動してしまい、所期の情報を表示できないおそれがある。従来においては、ライン印刷ヘッドの印刷素子の一部が印刷不能な不良印刷素子の場合に、バーコードの印刷位置を幅方向（ライン印刷ヘッドのライン方向）にシフトさせて、不良印刷素子が含まれない一連の印刷素子群を用いてバーコードを印刷する方法が提案されている。
【０００３】
特許文献１には、印刷されたバーコードをスキャナーによって読み取ることによる不良ドット印字素子の位置を検出し、これに基づき、用紙をその幅方向にシフトさせることにより不良ドット印字素子が含まれないドット印字素子を用いてバーコードを印刷するインクジェット式の画像記録装置が提案されている。特許文献２には、スキャナーによって不良ノズル位置を検出し、不良ノズルを含まないノズル群を用いてバーコードを記録媒体における当初の印刷位置から幅方向にシフトさせた位置に印刷するインクジェット式のバーコード記録装置が提案されている。特許文献３には、異常発熱エレメントが複数箇所に存在する場合においても短時間で異常ドットが含まれていない発熱エレメント群を検出し、当該発熱エレメント群を用いて記録媒体の幅方向にシフトした位置にバーコード印刷を行うサーマル式の印刷装置が提案されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開平０９−２４６２７号公報
【特許文献２】特開２００３−１４５７３４号公報
【特許文献３】特開２００６−４４０２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
このように、印刷位置をシフトさせる方法では、ライン印刷ヘッドにおいて、印刷対象のバーコードを印刷可能な正常な一連の印刷素子群が位置している部分を見つける必要がある。複数箇所に不良印刷素子が存在する場合には、このような一連の印刷素子群を検索する操作に時間を要する。
【０００６】
例えば、特許文献３に開示の印刷装置においては、検索時間を短縮するために、印刷素子列のうち使用頻度の高い範囲を予め設定しておき、この範囲内においてバーコード印刷可能な正常な一連の印刷素子群を検索するようにしている。かかる検索操作では、限られた範囲内においてバーコード印刷可能な印刷素子群を検索しているので、バーコード印刷が不能であると判断されてバーコード印刷が行われない可能性が高く、実用性に欠けるという問題点がある。
【０００７】
また、当該特許文献３では、予め定めた範囲内において、そのライン方向に向けてバーコード印刷データを１ドットずつ右シフトおよび左シフトさせて正常に印刷可能な一連の印刷素子群の位置を見つけ、見つかったシフト位置の中において最もシフト量の少ない位置の印刷素子群をバーコード印刷に使用するようにしている。このようにしてパターンマッチングを行う操作は時間を要し、効率的ではない。
【０００８】
さらに、サーマルヘッドなどにおいては、不良発熱素子として、通電しても発熱しない発熱素子の他に、通電していないのに発熱してしまう発熱素子が存在する。不良印刷素子として印刷ドットを形成できない素子のみを対象としている従来の方法では、本来ならば、バーが印刷されずに隙間が形成されるべき所に不要な印刷ドットによる印刷が施されてしまい、バーの幅が広くなる、隙間が無くなる等の不良バーコード印刷を回避できない可能性がある。
【０００９】
本発明の課題は、このような点に鑑みて、不良印刷素子が存在する場合に、正常にバーコードを印刷可能な一連の印刷素子群を簡単かつ短時間に検索することのできるバーコード印刷方法および印刷装置を提案することにある。また、本発明の課題は、駆動していないにも拘わらず駆動して不要な印刷ドッドを形成してしまう不良印刷素子に起因して発生する不良バーコード印刷を回避可能なバーコード印刷方法および印刷装置を提案することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明は、ライン印刷ヘッドを用いて、記録媒体の搬送方向に直交する方向に所定パターンで所定幅のバーが配列された構成のバーコードを印刷するバーコード印刷方法において、
前記ライン印刷ヘッドにおける印刷素子が配列されているライン方向に沿って前記印刷素子のそれぞれの正常、不良を表す正常・不良データを求める正常・不良データ算出工程と、
前記正常・不良データと前記バーコードの印刷データを比較して、前記ライン方向における前記バーコードの印刷範囲に対応する前記ライン印刷ヘッドの印刷素子列に不良印刷素子が含まれているか否かを判別する判別工程と、
前記印刷素子列に前記不良印刷素子が含まれている場合に、前記バーコードを前記ライン方向にシフトさせて印刷することのできるシフト可能範囲を算出するシフト可能範囲算出工程と、
前記シフト可能範囲における前記ライン方向の中心に前記印刷データにおける前記ライン方向の中心を合わせ、前記印刷データを前記ライン方向の一方の側に１印刷素子分ずつ順次にシフトさせて前記正常・不良データと前記ライン印刷データを比較する動作と、前記印刷データを前記ライン方向の他方の側に１印刷素子分ずつ順次にシフトさせて前記正常・不良データと前記印刷データを比較する動作とを交互に行って、前記ライン印刷ヘッドの前記ライン方向において、前記バーコードの正常印刷可能範囲を見つけるシフト操作を行うシフト先算出工程と、
前記シフト可能範囲内において前記正常印刷可能範囲が見つかった場合に、当該正常印刷可能範囲に含まれる前記印刷素子を用いて前記バーコードを印刷させる印刷処理を行う印刷処理工程とを有していることを特徴としている。
【００１１】
本発明では、バーコードのシフト可能範囲を算出した後には、当該シフト可能範囲におけるライン方向の中心位置に、バーコードの印刷データの中心位置を合わせ、この状態からライン方向の左右にそれぞれ１印刷素子分ずつ印刷データをシフトさせる操作を交互に行って、バーコードの正常印刷可能範囲を見つけるようにしている。このように、シフト可能範囲内の中心位置から正常印刷可能範囲を検索すると、最初に検索された正常印刷可能範囲が最少シフト量の範囲であり、それ以上の検索が不要である。よって、シフト可能範囲の右端あるいは左端から検索する場合に比べて、短時間で、最少シフト量の正常印刷可能範囲を検索できる。よって、繰り返し行われるバーコード印刷動作の処理効率を高めることができる。
【００１２】
本発明において、前記正常・不良データには、駆動しても印刷動作を行わない第１不良印刷素子の位置を表す第１正常・不良データと、駆動していないにも拘わらず印刷動作を行ってしまう第２不良印刷素子の位置を表す第２正常・不良データとが含まれていることが望ましい。
【００１３】
この場合、前記正常・不良データ算出工程においては、前記第１正常・不良データおよび前記第２正常・不良データの双方を算出する。また、前記判別工程においては、前記第１正常・不良データと前記印刷データを比較して、前記ライン方向における前記バーコードの印刷位置に対応する前記印刷素子列に前記第１不良印刷素子が含まれているか否かを判別する第１判別と、前記第２正常・不良データと前記印刷データを比較して、前記ライン方向における前記バーコードの印刷位置に対応する前記印刷素子列に前記第２不良印刷素子が含まれているか否か判別する第２判別とを行う。さらに、前記シフト先算出工程においては、前記ライン方向にシフトさせた前記バーコードの各印刷ドット形成位置に前記第１不良印刷素子が位置しておらず、且つ、前記バーコードの各印刷ドット非形成位置に前記第２不良印刷素子が位置していない前記正常印刷可能範囲を見つけるシフト操作を行う。
【００１４】
正常・不良データに、駆動していないにも拘わらず印刷動作を行ってしまう第２不良印刷素子のデータを含めておくことにより、このような第２不良印刷素子によって不良バーコード印刷が行われてしまうという従来の問題点を解消することができる。
【００１５】
本発明において、前記シフト可能範囲算出工程により算出された前記シフト可能範囲を前記ライン方向に複数に分割して複数の分割区画を求め、前記分割区画のそれぞれに存在する前記不良印刷素子の密度（＝不良印刷素子の数／各分割区画内の印刷素子の数）を算出する不良密度算出工程を実行し、前記シフト先算出工程においては、前記密度の最も低い前記分割区画における前記ライン方向の中心に前記ライン印刷データにおける前記ライン方向の中心を合わせた状態から、前記バーコードの前記正常印刷可能範囲を見つけるシフト操作を行うことが望ましい。
【００１６】
不良印刷素子の密度（発生頻度）の低い区画から正常印刷可能範囲を見つける操作を行うことにより、より短時間で、正常印刷可能範囲を見つけることが可能になる。よって、バーコード印刷動作の処理効率を一層改善することができる。
【００１７】
なお、前記ライン印刷ヘッドとして、ラインサーマルヘッドあるいはラインインクジェットヘッドを用いることができる。
【００１８】
次に、本発明の印刷装置は、
複数個の印刷素子が配列されたライン印刷ヘッドと、
前記ライン印刷ヘッドに対して、記録媒体を前記印刷素子が配列されているライン方向に交差する搬送方向に相対的に搬送する搬送機構と、
前記ライン印刷ヘッドおよび前記搬送機構を駆動制御して、前記搬送方向に直交する方向に配列された印刷領域および非印刷領域の組み合わせパターンからなるバーコードを前記記録媒体に印刷する印刷動作を実行させる制御回路とを有し、
前記制御回路は、
前記ライン方向に沿って前記印刷素子のそれぞれの正常、不良を表す正常・不良データを求める正常・不良データ算出処理部と、
前記正常・不良データと前記バーコードの印刷データを比較して、前記ライン方向における前記バーコードの印刷範囲に対応する前記ライン印刷ヘッドの印刷素子列に不良印刷素子が含まれているか否かを判別する判別処理部と、
前記印刷素子列に前記不良印刷素子が含まれている場合に、前記バーコードを前記ライン方向にシフトさせて印刷することのできるシフト可能範囲を算出するシフト可能範囲算出処理部と、
前記シフト可能範囲における前記ライン方向の中心に前記印刷データにおける前記ライン方向の中心を合わせ、前記印刷データを前記ライン方向の一方の側に１印刷素子分ずつ順次にシフトさせて前記正常・不良データと前記ライン印刷データを比較する動作と、前記印刷データを前記ライン方向の他方の側に１印刷素子分ずつ順次にシフトさせて前記正常・不良データと前記印刷データを比較する動作とを交互に行って、前記ライン印刷ヘッドの前記ライン方向において、前記バーコードの正常印刷可能範囲を見つけるシフト操作を行うシフト先算出処理部と、
前記シフト可能範囲内において前記正常印刷可能範囲が見つかった場合に、当該正常印刷可能範囲に含まれる前記印刷素子を用いて前記バーコードを印刷させる印刷処理を行う印刷処理部とを有していることを特徴としている。
【００１９】
ここで、前記正常・不良データには、駆動しても印刷動作を行わない第１不良印刷素子の位置を表す第１正常・不良データと、駆動していないにも拘わらず印刷動作を行ってしまう第２不良印刷素子の位置を表す第２正常・不良データとが含まれていることが望ましい。
【００２０】
この場合、前記正常・不良データ算出処理部は、前記第１正常・不良データおよび前記第２正常・不良データの双方を算出する。前記判別処理部は、前記第１正常・不良データと前記印刷データを比較して、前記ライン方向における前記バーコードの印刷位置に対応する前記印刷素子列に前記第１不良印刷素子が含まれているか否かを判別する第１判別と、前記第２正常・不良データと前記印刷データを比較して、前記ライン方向における前記バーコードの印刷位置に対応する前記印刷素子列に前記第２不良印刷素子が含まれているか否か判別する第２判別とを行う。前記シフト先算出処理部は、前記ライン方向にシフトさせた前記バーコードの各印刷ドット形成位置に前記第１不良印刷素子が位置しておらず、且つ、前記バーコードの各印刷ドット非形成位置には前記第２不良印刷素子が位置していない前記正常印刷可能範囲を見つけるシフト操作を行う。
【００２１】
次に、前記制御回路は、前記シフト可能範囲算出処理部により算出された前記シフト可能範囲を前記ライン方向に複数に分割して複数の分割区画を求め、前記分割区画のそれぞれに存在する前記不良印刷素子の密度（＝不良印刷素子の数／各分割区画内の印刷素子の数）を算出する不良密度算出処理部を備えていることが望ましい。
【００２２】
この場合には、前記シフト先算出処理部は、前記密度の最も低い前記分割区画における前記ライン方向の中心に前記ライン印刷データにおける前記ライン方向の中心を合わせた状態から、前記バーコードの前記正常印刷可能範囲を見つけるシフト操作を行う。
【発明の効果】
【００２３】
本発明においては、バーコードを印刷可能なライン方向におけるシフト可能範囲を算出した後に、当該シフト可能範囲におけるライン方向の中心位置に、バーコードの印刷データの中心位置を合わせ、この状態からライン方向の左右にそれぞれ１印刷素子分ずつ印刷データをシフトさせる操作を交互に行って、バーコードを正常に印刷可能な正常印刷可能範囲を見つけるようにしている。シフト可能範囲内の中心位置から正常印刷可能範囲を検索することにより、当該シフト可能範囲の右端あるいは左端から検索する場合に比べて、短時間で、最少シフト量の正常印刷可能範囲を検索できるので、繰り返し行われるバーコード印刷動作の処理効率を全体として高めることができる。
【図面の簡単な説明】
【００２４】
【図１】本発明を適用したバーコード印刷用の印刷装置を示す概略構成図である。
【図２】図１の印刷装置のバーコード印刷処理動作を示す説明図である。
【図３】印刷位置補正が不要な場合のバーコード印刷処理の概略フローチャートである。
【図４】印刷位置補正が必要な場合のバーコード印刷処理の概略フローチャートである。
【図５】印刷位置補正のためのシフト先算出処理を示す説明図である。
【図６】印刷位置補正のためのシフト先算出処理の別の例を示す説明図である。
【発明を実施するための形態】
【００２５】
以下に、図面を参照して本発明を適用したバーコード印刷用のラインサーマルヘッドを備えた印刷装置の実施の形態を説明する。
【００２６】
（印刷装置の全体構成）
図１は本実施の形態に係る印刷装置を示す概略構成図であり、図２はバーコード印刷処理動作を示す説明図である。これらの図を参照して説明すると、印刷装置１はラインサーマルヘッド２を備えており、ラインサーマルヘッド２には、そのライン方向Ａ（幅方向）に多数個の発熱体素子３（１）〜３（ｎ）（以下、これらを纏めて、発熱体素子３と呼ぶ場合もある。）が例えば一列に配列されている。ラインサーマルヘッド２には、印刷対象の記録媒体、例えばラベル用紙４を挟み、プラテンローラー５が押し付けられる。ラベル用紙４は例えばロール紙収納部６に収納されているロール紙７から繰り出される。プラテンローラー５によって、ラベル用紙４は例えばラインサーマルヘッド２のライン方向Ａ（発熱体素子の配列方向）に直交する搬送方向Ｂに搬送される。サーマルヘッド２によってラベル用紙４のラベル４ａには、搬送方向Ｂに直交するラベル幅方向（ライン方向Ａ）に、所定幅のバー（印刷領域）と所定幅の隙間（非印刷領域）との組み合わせパターンからなるバーコード８（以下、フェンスバーコードと呼ぶ場合もある。）等が印刷される。印刷後のラベル用紙４の部分は印刷装置１の装置ケース（図示せず）に形成されている排出口９から排出される。
【００２７】
ラインサーマルヘッド２はヘッドドライバー１１によって駆動され、プラテンローラー４は紙送りモーター１２によって回転駆動され、紙送りモーター１２はモータードライバー１３によって駆動される。ヘッドドライバー１１およびモータードライバー１３は、印刷装置１の駆動制御を司る制御回路１４によって制御される。制御回路１４は、ＣＰＵ、ＲＯＭ、ＲＡＭなどを中心に構成され、通信用インターフェース１５を介して上位のコンピューター１６に接続されている。また、制御回路１４には、印刷装置１の入力部１７および表示部１８が接続されている。さらに、制御回路１４にはラインサーマルヘッド２における不良発熱体素子を検出するための不良検出回路１９が接続されている。
【００２８】
制御回路１４は、コンピューター１６から供給される印刷指令に基づき起動して、プラテンローラー４によるラベル用紙３の搬送を開始すると共に、ラインサーマルヘッド２を駆動して、印刷指令に続いて供給されるバーコードなどの印刷データを、搬送されるラベル用紙４のラベル４ａ上に印刷する。図２（ａ）に示すように、ラインサーマルヘッド２のライン長、すなわち、発熱体素子のライン長Ｌ１は、印刷可能な最大用紙幅Ｌ２よりも長い。また、印刷動作に先立って、搬送されるラベル用紙４の用紙幅Ｌ３、その最大印刷幅Ｌ４などの印刷条件設定も行われて、制御回路１４に記憶保持される。
【００２９】
（バーコード印刷に関する処理機能）
制御回路１４は、フェンスバーコード８の印刷動作においては、そのＲＯＭに格納されている制御プログラムを実行することにより、以下の各処理部として機能する。
【００３０】
まず、制御回路１４の正常・不良データ算出処理部２１は、ライン方向Ａに沿って発熱体素子３（１）〜３（ｎ）のそれぞれの正常、不良を表す正常・不良データＤ１を求める処理部である。正常・不良データ算出処理部２１は、不良検出回路１９を用いてラインサーマルヘッド２の発熱体素子３（１）〜３（ｎ）が不良発熱体素子であるか否かを検査し、検査結果の正常、不良を示すデータをライン方向Ａに沿って配列した正常・不良データパターンを作成し、これを不良データメモリー２２に記憶保持する。不良検出回路１９は、例えば、印刷待機状態などにおいて、ヘッドドライバー１１を介して各発熱体素子３（１）〜３（ｎ）に通電を行った場合における各発熱体素子３（１）〜３（ｎ）の電圧降下、抵抗変化などを検出し、これに基づき正常に発熱しているか否かを検出する。
【００３１】
制御回路１４の印刷画像データ生成処理部２３およびライン印刷データ展開処理部２４は、通信インターフェース１５を介して受信した印刷データに基づき印刷画像データを生成し、生成した印刷画像データをラインサーマルヘッド２による１ライン毎のライン印刷データに展開する処理を行う。印刷画像データにフェンスバーコードデータＤ２が含まれている場合には、バーコード８の印刷データを１ライン毎のライン印刷データに展開することにより、フェンスバーコード印刷用のライン印刷データＤ３が生成される。
【００３２】
制御回路１４の判別処理部２５は、不良データメモリー２２に記憶保持されている正常・不良データＤ１としての第１、第２正常・不良データパターンＤ１（１）、Ｄ１（２）とバーコード８の印刷データＤ２とを比較して、ライン方向Ａにおけるバーコード８の印刷範囲内における各印刷位置に、不良発熱体素子３Ｂ、３Ｃが存在するか否かを判別する。すなわち、図２に示すように、ラベル用紙４上おいて、ライン方向Ａにおけるバーコード８の印刷範囲をＬ６とすると、当該印刷範囲Ｌ６に対応する発熱体素子列３（Ｌ６）に不良発熱体素子３Ｂ、３Ｃが存在しているか否かを判別する。
【００３３】
シフト可能範囲算出処理部２６は、バーコード８をライン方向Ａ（ラベル用紙幅方向）にシフトさせて印刷することのできる印刷領域シフト可能範囲を算出する。図２に示すように、印刷範囲Ｌ６をライン方向Ａにおける左右にシフト可能なシフト可能範囲Ｌ５を算出する。
【００３４】
シフト先算出処理部２７は、シフト可能範囲Ｌ５内において、バーコード８の印刷範囲Ｌ６を左右にシフトさせて、バーコード８を正常に印刷可能な正常印刷可能範囲を見つけるパターンマッチング処理を行う処理部である。換言すると、シフト可能範囲Ｌ５に対応する発熱体素子列３（Ｌ５）内において、バーコード８を印刷する印刷範囲Ｌ６に対応する長さの発熱体素子列３（Ｌ６）をシフトさせ、不良発熱体素子３Ｂ、３Ｃを含まない発熱体素子列３（Ｌ６）のシフト位置を見つける。このシフト先算出処理の詳細は後述する。
【００３５】
ライン印刷データ再生成処理部２８は、バーコード８を印刷する印刷位置をシフトさせた場合に、シフト先の印刷位置にバーコード８を印刷するために、ライン印刷データを生成し直す（展開し直す）処理を行う。
【００３６】
印刷処理部２９は、生成されたライン印刷データあるいは再生されたライン印刷データに基づき、ヘッドドライバー１１、モータードライバー１３を駆動制御して、バーコード８を含む印刷データの印刷処理を行わせる。
【００３７】
（不良発熱体素子の検出範囲、検出動作）
次に、制御回路１４の正常・不良データ算出処理部２１は、予め設定されている時期に、不良検出回路１９を用いてライン方向Ａに沿って発熱体素子３の正常、不良を検査している。不良検出回路１９による検出動作は、全ての発熱体素子３を対象に行うことも可能であるが、本例では検出範囲を限定して、検出時間の短縮化および後述のシフト先算出処理時間の短縮化を図っている。
【００３８】
図２に示すように、ラインサーマルヘッド２の全ライン長、換言すると、発熱体素子３のライン長Ｌ１は印刷可能な最大用紙幅Ｌ２よりも長く、最大用紙幅Ｌ２の両側の発熱体素子の部分は基本的に使用されない。また、印刷設定条件に基づき、搬送されるラベル用紙４の用紙幅Ｌ３、その最大印刷幅Ｌ４が定まっている。したがって、ラベル用紙４の印刷時に使用される発熱体素子３は、最大印刷幅Ｌ４に対応する発熱体素子列３（Ｌ４）に含まれる発熱体素子３のみである。
【００３９】
正常・不良データ算出処理部２１では、使用される発熱体素子列３（Ｌ４）を検査対象としており、当該発熱体素子列３（Ｌ４）を、予め設定されている時点で算出している。例えば、印刷装置１の電源投入後においてラベル用紙４がセットされていることを最初に確認した時点、ラベル用紙４が再セットされたことが確認された時点、新たなラベル用紙４がセットされたことが確認された時点において検査対象範囲を設定している。ラベル用紙４がセットされたか否かは、例えば、ロール紙収納部６の開閉蓋の開閉に基づき判断される。また、正常、異常の検査は、例えば、印刷待機時において定期的に行われる。あるいは、印刷装置１の入力部１７からの入力指令、上位のコンピューター１６からの指令に基づき行うことも可能である。正常・不良データ算出処理部２１は、検査対象の発熱体素子列３（Ｌ４）に含まれる発熱体素子３の正常、不良を検査した後は、それに基づき算出した正常・不良データパターンを不良データメモリー２２に記憶保持する処理、あるいは、既に記憶されている場合にはそれらの更新処理を行う。
【００４０】
（正常・不良データパターン）
発熱体素子３が、正常発熱体素子３Ａでは無い不良な場合としては、通電した場合に印刷ドットを形成不能な不良発熱体素子３Ｂの場合と、通電しないにも拘わらず通電状態に陥り不要な印刷ドットを形成してしまう不良発熱体素子３Ｃとがある。図２（ｂ）に一例を示すように、正常・不良データパターンには、例えば、不良発熱体素子３Ｂを「１」、正常発熱体素子３Ａと不良発熱体素子３Ｃを「０」で表した第１正常・不良データパターンＤ１（１）と、同じく、不良発熱体素子３Ｃを「１」、正常発熱体素子３Ａと不良発熱体素子３Ｂを「０」で表した第２正常・不良データパターンＤ１（２）が含まれている。
【００４１】
（バーコード印刷位置補正の要否判断）
先に述べたように、制御回路１４の判別処理部２５は、不良データメモリー２２に記憶保持されている第１、第２正常・不良データパターンＤ１（１）、Ｄ１（２）とバーコード８の印刷データＤ２とを比較して、ライン方向Ａにおけるバーコード８の印刷位置Ｌ（６）に、不良発熱体素子３Ｂ、３Ｃが存在するか否かを判別する。
【００４２】
例えば、図２（ｂ）に示すように、バーコード８の印刷データＤ２を、印刷ドット形成位置を「１」、印刷ドット非形成位置を「０」で表すものとする。この場合、判別処理部２５では、印刷データＤ２に基づき、不良発熱体素子３Ｂの影響を回避するためのデータパターンＤ２（１）を生成する。「１」で表される位置に不良発熱体素子３Ｂが位置すると、バーコードに印刷が正常に行われず、印刷されたバーコードに不要な白スジが現れる等の弊害が表れることを意味している。同様に、不良発熱体素子３Ｃの影響を回避するためのデータパターンＤ２（２）を生成する。この場合も、「１」で表される位置に不良発熱体素子３Ｃが位置すると、不要な印刷ドットが形成され、バーコード印刷が正常に行われず、印刷されたバーコードのバー間に隙間が無い状態になる等の弊害が表れることを意味している。
【００４３】
判別処理部２５では、生成したデータパターンＤ２（１）と正常・不良データパターンＤ１（１）との間で、各ビットの論理積を取る演算を行う。同様に、データパターンＤ２（２）と正常・不良データパターンＤ１（２）との間で、各ビットの論理積を取る。演算結果として、全てのビットにおいて論理積「０」が得られる場合には、印刷位置補正が不要であると判断する。すなわち、ライン印刷データによって指定されている位置には不良発熱体素子３Ｂ、３Ｃが存在せず、正常にバーコード８を印刷できると判断する。これに対して、演算結果として、論理積「１」のビットが１つでも存在する場合には、印刷位置補正が必要であると判断する。この場合には、バーコード印刷位置には不良発熱体素子３Ｂ、３Ｃが存在するので、バーコード８を正常に印刷できない。
【００４４】
（印刷位置補正が不要な場合のバーコード印刷処理動作）
図３は印刷位置補正が不要であると判断された場合におけるバーコード８の印刷処理動作を示す概略フローチャートである。図３に従って説明すると、この場合の印刷処理動作は一般的に行われる印刷処理動作と同様であり、制御回路１４の印刷画像データ生成処理部２３において、通信インターフェース１５を介して印刷データを受信すると印刷動作が起動し（ブロックＢ１）、受信した印刷データに基づき印刷画像データを生成する（ブロックＢ２）。すなわち、印刷データに基づき、文字の印刷画像データの生成（ブロックＢ２−１）、線画、ロゴなどのグラフィック系の印刷画像データの生成（ブロックＢ２−２）、フェンスバーコード８の印刷データの生成（ブロックＢ２−３）、フェンスバーコード８以外のバーコードの印刷データの生成（ブロックＢ２−４）などの印刷画像データの生成処理を行う。
【００４５】
フェンスバーコード８の印刷データに基づき、判別処理部２５では印刷位置補正の要否判定が行われる（ブロックＢ３）。図３は印刷位置補正が不要な場合の例であるので、印刷位置補正が不要であると判断され、生成された印刷画像データが、ライン印刷データ展開処理部２４において展開処理されてライン毎のライン印刷データが生成される（ブロックＢ４）。印刷処理部２９では、ライン印刷データに基づき、ヘッドドライバー１１、モータードライバー１３などを介してラインサーマルヘッド２、プラテンローラー５の駆動を制御して、ラベル用紙４の搬送に同期させて印刷を行わせる（ブロックＢ５）。
【００４６】
（印刷位置補正が必要な場合のバーコード印刷処理動作）
図４は、印刷位置補正が必要な場合におけるバーコード８の印刷処理動作を示す概略フローチャートである。この場合においても、制御回路１４の印刷画像データ生成処理部２３において、通信インターフェース１５を介して印刷データを受信すると印刷動作が起動され（ブロックＢ１）、受信した印刷データに基づき印刷画像データを生成する（ブロックＢ２）。すなわち、印刷データに基づき、文字の印刷画像データの生成（図示せず）、線画、ロゴなどのグラフィック系の印刷画像データの生成（図示せず）、フェンスバーコード８の印刷データの生成（ブロックＢ２−３）、フェンスバーコード８以外のバーコードの印刷データの生成（図示せず）などの印刷画像データの生成処理を行う。フェンスバーコード８の印刷データに基づき、判別処理部２５では印刷位置補正の要否判定が行われる（ブロックＢ３）。
【００４７】
例えば、図２（ｂ）に示すように、検査対象の発熱素子列３（Ｌ４）内の発熱素子３に、不良発熱素子３Ｂ、３Ｃが存在しているものとする。この場合には、判別処理部２５では印刷位置補正が必要である旨の判定を行う。フェンスバーコード８の印刷位置補正が必要であると判断された場合には、シフト可能範囲算出処理部２６は、フェンスバーコード８をライン方向Ａ（ラベル用紙幅方向）にシフトさせて印刷することのできるシフト可能範囲を算出する（ブロックＢ１１）。シフト可能範囲Ｌ５は、フェンスバーコード８に対してライン方向Ａに隣接あるいは近接した位置に印刷される文字、グラフィックスなどの他の印刷画像の印刷位置を予め定められた位置に固定した場合に、これらの印刷に干渉しない最大限のライン方向Ａの印刷範囲である。例えば、図２（ｂ）に示すように、フェンスバーコード８の印刷範囲Ｌ６を左右にシフトすることのできるシフト可能範囲Ｌ５が算出される。
【００４８】
次に、シフト先算出処理部２７は、シフト可能範囲Ｌ５内において、フェンスバーコード８の印刷範囲Ｌ６をライン方向Ａに沿って左右にシフトさせて、フェンスバーコード８を正常に印刷可能な正常印刷可能範囲Ｌ７を見つけるパターンマッチング処理を行う（ブロックＢ１２）。この処理においては、シフト可能範囲Ｌ５に対応する発熱体素子列３（Ｌ５）内において、フェンスバーコード８を印刷する印刷範囲Ｌ６に対応する長さの発熱体素子列３（Ｌ６）を左右にシフトさせて、フェンスバーコード８を正常に印刷可能な長さの発熱体素子列３（Ｌ６）が得られるシフト位置（補正後のフェンスバーコード８の印刷位置）を見つける。
【００４９】
図５はシフト先算出処理を示す概念図である。この図に示すように、シフト先算出処理においては、第１正常・不良データパターンＤ１（１）におけるシフト可能範囲Ｌ５に対応するデータパターン部分におけるライン方向Ａの中心に、フェンスバーコード８のライン印刷データＤ２から作成した第１データパターンＤ２（１）のライン方向Ａの中心を合わせる（ステップＳＴ１）。次に、第１データパターンＤ２（１）をライン方向Ａの一方の側に１ドット分（発熱体素子１個分）だけシフトさせ、この状態で第１正常・不良データパターンＤ１（１）と第１データパターンＤ２（１）を比較する（ステップＳＴ２）。すなわち、双方のパターンにおける対応するビットの論理積を演算して、全てのビットにおいて論理積が「０」であるか否かを判断する。次に、第１データパターンＤ２（１）を逆方向に１ドット分だけシフトさせて、対応ビットの論理積を演算し、全てのビットにおいて論理積が「０」であるか否かを判断する（ステップＳＴ３）。かかる操作を左右に交互に１ビットずつシフトさせながら繰り返す。
【００５０】
第２正常・不良データパターンＤ１（２）についても、同様にして、シフト可能範囲Ｌ５内において、第２データパターンＤ２（２）を左右にシフトさせながら比較を行う。
【００５１】
再び、図４を参照して説明すると、第１、第２正常・不良データパターンＤ１（１）、Ｄ１（２）のいずれにおいても、各ビットの論理積が全て「０」になる最少シフト量の位置が見つかった場合には、当該シフト位置をフェンスバーコード８の印刷位置に設定する。この後は、シフト位置にフェンスバーコード８が印刷されるように、印刷画像データを補正し、補正後の印刷画像データを展開してライン印刷データを生成し（ブロックＢ１３）、生成されたライン印刷データに基づき、印刷処理部２９は各部を駆動制御してフェンスバーコード８の印刷位置が補正された状態でラベル用紙４のラベル４ａ上に印刷を行う（ブロックＢ５）。
【００５２】
シフト先が見つからなかった場合、すなわち、不良発熱体素子３Ｂ、３Ｃが存在しない発熱体素子３（Ｌ６）の位置が存在しなかった場合には、例えば、その旨を表示部１８に表示し、あるいは、上位のコンピューター１６に通報して、印刷処理を強制終了する（ブロックＢ１４）。
【００５３】
（シフト先算出処理の変形例）
ここで、印刷可能範囲Ｌ５が広い場合などにおいてシフト先算出処理を効率良く行うためには、当該印刷可能範囲Ｌ５内において、不良発熱体素子が最も少ない密度で存在している部分からシフト先算出処理を行えば、より短時間でシフト先を検出できる可能性が高くなる。
【００５４】
この処理を行うためには、制御回路１４のシフト先算出処理部２７に、不良発熱体素子３Ｂ、３Ｃの存在密度を算出する不良密度算出処理機能を付与しておけばよい。例えば、図６に示すように、シフト可能範囲Ｌ５を、ライン方向Ａに複数の区画に分割する。例えば、左側区画部分Ｌ５（１）、中央区画部分Ｌ５（２）および右側区画部分Ｌ５（３）に分割する。そして、各区画部分のそれぞれに存在する不良発熱体素子３Ｂ、３Ｃが存在する密度ｄ１、ｄ２、ｄ３（＝不良印刷素子の数／各区画部分内の発熱体素子の数）を算出する。
【００５５】
この後は、密度の最も低い区画部分、例えば密度ｄ１が最も低い値である場合には、図６に示すように左側区画部分Ｌ５（１）におけるライン方向Ａの中心に、第１データパターンＤ２（１）のライン方向Ａの中心を合わせる。この状態から、図５を参照して説明したように、左右に１ビットずつシフトさせながらパターンマッチングを行って、シフト先を検索する。第２データパターンＤ２（２）についても同様に行う。この処理操作によってシフト先が見つからなかった場合には、例えば、印刷処理を強制終了するか、あるいは、次に密度の低い区画部分、図６においては中央区画部分Ｌ５（２）の範囲内でシフト先を見つける処理を行うようにすればよい。
【００５６】
（その他の実施の形態）
上記の実施の形態はラインサーマルヘッドを備えた印刷装置に関するものであるが、本発明はラインインクジェットヘッドなどのライン印刷ヘッドを用いてドットマトリックス印刷によりフェンスバーコードを印刷する場合においても同様に適用可能である。また、記録媒体もラベル用紙に限定されるものではない。
【００５７】
上記の実施の形態では、不良印刷素子として２種類の不良印刷素子の位置を表す正常・不良データパターンを作成し、これに基づきフェンスバーコードの印刷位置補正を行っている。例えば、印刷不能な不良印刷素子のみを排除すればよい場合などにおいては、１種類の正常・不良データパターンを用いて、フェンスバーコードの印刷位置補正を行うことも可能である。
【符号の説明】
【００５８】
１  印刷装置、２  ラインサーマルヘッド、３，３（１）〜３（ｎ）  発熱体素子、３Ａ  正常発熱体素子、３Ｂ，３Ｃ  不良発熱体素子、３（Ｌ６）  発熱体素子列、４  ラベル用紙、４ａ  ラベル、５  プラテンローラー、６  ロール紙収納部、７  ロール紙、８  バーコード、９  排出口、１１  ヘッドドライバー、１２  紙送りモーター、１３  モータードライバー、１４  制御回路、１５  通信インターフェース、１６  コンピューター、１７  入力部、１８  表示部、１９  不良検出回路、２１  正常・不良データ算出処理部、２２  不良データメモリー、２３  印刷画像データ生成処理部、２４  ライン印刷データ展開処理部、２５  判別処理部、２６  シフト可能範囲算出処理部、２７  シフト先算出処理部、２８  ライン印刷データ再生成処理部、２９  印刷処理部、Ｄ１  正常・不良データ、Ｄ１（１），Ｄ１（２）  正常・不良データパターン、Ｄ２  フェンスバーコード用の印刷データ、Ｄ２（１），Ｄ２（２）  データパターン、Ｌ１  ライン長、Ｌ２  最大用紙幅、Ｌ３  用紙幅、Ｌ４  最大印刷幅、Ｌ５  シフト可能範囲、Ｌ６  印刷範囲、Ａ  ライン方向、Ｂ  搬送方向
【図１】
2011207076.tif 000003
【図２】
2011207076.tif 000004
【図３】
2011207076.tif 000005
【図４】
2011207076.tif 000006
【図５】
2011207076.tif 000007
【図６】
2011207076.tif 000008