(57)【要約】【課題】印刷が行われた媒体を切断する場合であっても、ホワイトラインやブラックラインが発生することなく、高品質の印刷を行うことができるようにする。【解決手段】媒体切断機が媒体を切断する場合、媒体の切断時に印刷ヘッドが印刷データの印刷開始位置と印刷終了位置との間で印刷を中断するときには、制御装置が重複印刷領域を設定し、媒体搬送装置が重複印刷領域分だけ媒体を逆方向に搬送した後、印刷ヘッドが印刷データの印刷を再開するとともに媒体搬送装置が媒体の搬送を再開して重複印刷領域に重複印刷を実施し、制御装置は、印刷データのタイプ並びに重複印刷領域における印刷ドット及び印刷ドットの周囲の印刷ドットのドットパターンに基づいて、重複印刷領域における印刷ドットのサイズを補正する。【選択図】図１
2015136824.tif 000002
【特許請求の範囲】
【請求項１】
媒体を搬送する媒体搬送装置と、
前記媒体に印刷する印刷ヘッドと、
前記媒体を切断する媒体切断機と、
前記媒体搬送装置、印刷ヘッド及び媒体切断機の動作を制御する制御装置とを備える印刷装置であって、
前記媒体切断機が媒体を切断する場合、該媒体の切断時に前記印刷ヘッドが印刷データの印刷開始位置と印刷終了位置との間で印刷を中断するときには、
前記制御装置が重複印刷領域を設定し、前記媒体搬送装置が前記重複印刷領域分だけ前記媒体を逆方向に搬送した後、前記印刷ヘッドが印刷データの印刷を再開するとともに前記媒体搬送装置が前記媒体の搬送を再開して前記重複印刷領域に重複印刷を実施し、
前記制御装置は、前記印刷データのタイプ並びに前記重複印刷領域における印刷ドット及び該印刷ドットの周囲の印刷ドットのドットパターンに基づいて、前記重複印刷領域における印刷ドットのサイズを補正することを特徴とする印刷装置。
【請求項２】
前記制御装置は、前記媒体切断機が媒体を切断する位置から前記印刷ヘッドが媒体に印刷する位置までの距離、前記媒体切断機が前記媒体を切断する位置から前記印刷ヘッドが媒体に印刷する印刷データの印刷開始位置までの距離、前記印刷データの印刷開始位置から印刷終了位置までの距離、及び、前記媒体切断機が媒体を切断する際に発生する媒体の位置ズレの量に基づいて、前記重複印刷領域を設定する請求項１に記載の印刷装置。
【請求項３】
前記印刷データのタイプは、キャラクタデータ、バーコードデータ、及び、その他イメージデータを含む請求項１又は２に記載の印刷装置。
【請求項４】
前記印刷データのタイプがキャラクタデータである場合、前記制御装置は、前記重複印刷領域における印刷ドットに隣接する次の印刷ラインの１つの印刷ドットのドットパターンに基づいて、前記印刷ドットのサイズを補正する請求項３に記載の印刷装置。
【請求項５】
前記印刷データのタイプがバーコードデータである場合、前記制御装置は、バーコードのバーの延在する方向、及び、前記重複印刷領域における印刷ドットに隣接する次の印刷ラインの１つの印刷ドットのドットパターンに基づいて、前記印刷ドットのサイズを補正する請求項３に記載の印刷装置。
【請求項６】
前記印刷データのタイプがその他イメージデータである場合、前記制御装置は、前記重複印刷領域における印刷ドットに隣接する次の印刷ラインの３つの印刷ドットのドットパターンに基づいて、前記印刷ドットのサイズを補正する請求項３に記載の印刷装置。
【請求項７】
媒体を媒体切断機によって切断する場合、前記媒体の切断時に印刷ヘッドが印刷データの印刷開始位置と印刷終了位置との間で印刷を中断するときには、
重複印刷領域を設定し、該重複印刷領域分だけ前記媒体を逆方向に搬送した後、前記印刷ヘッドが印刷データの印刷を再開するとともに前記媒体の搬送を再開して前記重複印刷領域に重複印刷を実施し、
前記印刷データのタイプ並びに前記重複印刷領域における印刷ドット及び該印刷ドットの周囲の印刷ドットのドットパターンに基づいて、前記重複印刷領域における印刷ドットのサイズを補正することを特徴とする印刷方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置及び印刷方法に関するものである。
【背景技術】
【０００２】
従来、テープ、リボン等の長尺の媒体に文字の印刷を行った後に、印刷済みの媒体を切断機によって所定の長さで切断する機能を備える印刷装置では、媒体の切断予定箇所が切断刃の位置から所定ドット数分下流側に媒体を搬送した時に、印刷動作を中断させて更に数ドット分だけ媒体を搬送し、所定ドット数分と数ドット分とを併せた長さだけ媒体を戻してから切断し、次に、所定ドット数分から１ドット分を減じた長さだけ媒体を搬送した位置から印刷を再開させるようになっている（例えば、特許文献１参照。）。これにより、１ドット分の列だけ重複印刷を行うことができるので、媒体の切断後に文字を分断することなく印刷を再開することができる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平５−２９４０２１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、前記従来の印刷装置においては、キャラクタ（文字）、バーコード等を印刷する場合には、図２に示されるように、重複印刷が行われた部分の線が太くなったり、図３に示されるように、本来ならば空白の部分にドットが印刷されてしまったりする問題があった。
【０００５】
図２は従来の印刷装置による重複印刷の問題を説明する第１の図、図３は従来の印刷装置による重複印刷の問題を説明する第２の図である。
【０００６】
本発明は、前記従来の印刷装置における問題点を解決して、重複印刷領域における印刷ドットのサイズを印刷データのパターン並びに前記印刷ドット及びその周辺の印刷ドットのドットパターンに基づいて補正することによって、印刷が行われた媒体を切断する場合であっても、ホワイトラインやブラックラインが発生することなく、高品質の印刷を行うことができる印刷装置及び印刷方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
そのために、本発明の印刷装置においては、媒体を搬送する媒体搬送装置と、前記媒体に印刷する印刷ヘッドと、前記媒体を切断する媒体切断機と、前記媒体搬送装置、印刷ヘッド及び媒体切断機の動作を制御する制御装置とを備える印刷装置であって、前記媒体切断機が媒体を切断する場合、該媒体の切断時に前記印刷ヘッドが印刷データの印刷開始位置と印刷終了位置との間で印刷を中断するときには、前記制御装置が重複印刷領域を設定し、前記媒体搬送装置が前記重複印刷領域分だけ前記媒体を逆方向に搬送した後、前記印刷ヘッドが印刷データの印刷を再開するとともに前記媒体搬送装置が前記媒体の搬送を再開して前記重複印刷領域に重複印刷を実施し、前記制御装置は、前記印刷データのタイプ並びに前記重複印刷領域における印刷ドット及び該印刷ドットの周囲の印刷ドットのドットパターンに基づいて、前記重複印刷領域における印刷ドットのサイズを補正する。
【発明の効果】
【０００８】
本発明によれば、印刷装置は、重複印刷領域における印刷ドットのサイズを印刷データのパターン並びに前記印刷ドット及びその周辺の印刷ドットのドットパターンに基づいて補正する。これにより、印刷が行われた媒体を切断する場合であっても、ホワイトラインやブラックラインが発生することなく、高品質の印刷を行うことができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施の形態における印刷装置の概略構成図である。
【図２】従来の印刷装置による重複印刷の問題を説明する第１の図である。
【図３】従来の印刷装置による重複印刷の問題を説明する第２の図である。
【図４】本発明の実施の形態における印刷装置の機能構成を示すブロック図である。
【図５】本発明の実施の形態における印刷制御処理の前半の動作を説明するフローチャートである。
【図６】本発明の実施の形態における印刷制御処理の後半の動作を説明するフローチャートである。
【図７】本発明の実施の形態における受信データのデコード処理のサブルーチンを示すフローチャートである。
【図８】本発明の実施の形態におけるホワイトライン発生位置の算出方法を説明する図である。
【図９】本発明の実施の形態におけるホワイトライン発生領域を説明する図である。
【図１０】本発明の実施の形態における重複印刷領域を説明する図である。
【図１１】本発明の実施の形態における論理的な座標を説明する図である。
【図１２】本発明の実施の形態における重複印刷領域算出処理のサブルーチンを示すフローチャートである。
【図１３】本発明の実施の形態における重複印刷制御判定処理のサブルーチンを示すフローチャートである。
【図１４】本発明の実施の形態における重複印刷パターン生成処理のサブルーチンを示すフローチャートである。
【図１５】本発明の実施の形態における印刷ドットデータ中の当該ドットとそれに隣接する隣接ドットの位置関係を説明する図である。
【図１６】本発明の実施の形態におけるキャラクタデータの重複印刷パターンを説明する図である。
【図１７】本発明の実施の形態におけるキャラクタデータの重複印刷の結果を説明する図である。
【図１８】本発明の実施の形態におけるキャラクタ重複印刷パターン生成処理のサブルーチンを示すフローチャートである。
【図１９】本発明の実施の形態におけるその他イメージデータの重複印刷パターンを説明する図である。
【図２０】本発明の実施の形態におけるその他イメージデータの重複印刷の結果を説明する第１の図である。
【図２１】本発明の実施の形態におけるその他イメージデータの重複印刷の結果を説明する第２の図である。
【図２２】本発明の実施の形態におけるその他イメージ重複印刷パターン生成処理のサブルーチンを示すフローチャートである。
【図２３】本発明の実施の形態におけるバーコードデータの重複印刷パターンを説明する図である。
【図２４】本発明の実施の形態におけるバーコードデータの重複印刷の結果を説明する第１の図である。
【図２５】本発明の実施の形態におけるバーコードデータの重複印刷の結果を説明する第２の図である。
【図２６】本発明の実施の形態におけるバーコード重複印刷パターン生成処理のサブルーチンを示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本発明の実施の形態について図面を参照しながら詳細に説明する。
【００１１】
図１は本発明の実施の形態における印刷装置の概略構成図、図４は本発明の実施の形態における印刷装置の機能構成を示すブロック図である。
【００１２】
図１において、１０は印刷装置であり、インクジェット方式、インパクト・ドット方式、電子写真方式、熱転写方式等の各種の画像形成方式を利用して、テープ、リボン等の帯状の長尺の媒体２１に印刷を行うことが可能な装置であれば、いかなる種類の印刷装置であってもよく、さらに、モノクロ印刷装置であってもよいし、カラー印刷装置であってもよい。なお、本実施の形態においては、前記印刷装置１０が感熱方式のモノクロ印刷装置である場合について説明する。
【００１３】
前記媒体２１は、図１に示されるように、あらかじめ芯（しん）２１ｂの周囲に巻付けられたロール２１ａの状態で用意され、前記芯２１ｂを中心にして回転可能となるように、印刷装置１０に装着される。そして、媒体２１は、プラテンローラ２２によって搬送されることにより、ロール１２ａから繰り出される。本実施の形態においては、前記媒体２１が長尺の感熱紙であるものとして説明する。
【００１４】
また、前記印刷装置１０には、前記媒体２１の搬送路に沿って、媒体検出器としての媒体センサ１９、印刷部としての印刷ヘッド１１、媒体搬送装置としてのプラテンローラ２２、及び、媒体切断機としてのカッタ１２が配設されている。
【００１５】
前記媒体センサ１９は、媒体２１の有無を検出するとともに、ブラックマーク又は用紙間ギャップを検出するセンサである。そして、前記印刷ヘッド１１は、媒体２１に印刷を行うヘッドであり、例えば、媒体２１側の面には、電圧が印加されることによって発熱する発熱素子が媒体２１の搬送方向に対して直交する方向（媒体２１の幅方向）に複数個並べて配設され、各発熱素子が選択的に発熱することにより、感熱紙である媒体２１に所望の印刷パターンの印刷を行う。
【００１６】
また、前記プラテンローラ２２は、媒体２１の搬送路を挟んで印刷ヘッド１１に対向するように配設され、前記媒体２１を印刷ヘッド１１の媒体２１側の面に押し付ける。さらに、前記プラテンローラ２２は、駆動源としての媒体搬送モータ１３によって駆動されて正逆方向に回転し、前記媒体２１を前後方向（図１における左右方向）に所望の長さだけ搬送する。そして、前記カッタ１２は、図示されない駆動源によって駆動される可動刃であって媒体２１の幅方向に延在する可動刃を備え、該可動刃が作動することによって、前記媒体２１を所望の長さで切断する。
【００１７】
さらに、前記印刷装置１０は、ＣＰＵ、ＭＰＵ等の演算手段、磁気ディスク、半導体メモリ等の記憶手段、通信インターフェイス等を備え、各部の動作を制御するための図示されない制御装置を備える。
【００１８】
そして、該制御装置は、機能の観点から、図４に示されるように、データ受信部１５、主制御部１６、データ記録部１７、及び、機構制御部１４を有する。
【００１９】
前記データ受信部１５は、図示されないＩＥＥＥ１２８４回線、ＲＳ−２３２ｃ回線、ＵＳＢ回線等の通信回線を介して上位装置から送信された制御コマンド、印刷コマンド等を含むデータを受信するための通信制御を実施する。そして、前記データ受信部１５は、上位装置からデ−タを受信後、受信したデータを前記データ記録部１７が備える図示されない受信バッファに格納する。
【００２０】
また、前記主制御部１６は、前記データ受信部１５が受信した制御コマンド、印刷コマンド等を含むデータをデコードすることによって、印刷データか否かの区別、印刷データの種類、印刷データサイズ等の情報を取得する。そして、受信したデータが印刷データの場合、コマンド情報に基づいて印刷ヘッド１１に合わせたドットパターンに展開したビットマップデータ（以降、「印刷ドットデータ」と称する。）を生成し、印刷を実施するために、図示されない印刷バッファに格納し、印刷起動をかける。また、受信したデータが、印刷装置１０の設定変更を要する印刷速度設定、印刷濃度設定等のコマンドである場合、前記主制御部１６は、印刷装置１０の設定変更を行う。さらに、前記主制御部１６は、データ記録部１７にデータの記録及び読み込みを行い、前記機構制御部１４への指示等を実施する。なお、前記データ記録部１７に格納された印刷ドットデータがある場合、前記主制御部１６は、機構制御部１４へ印刷指示を行う。
【００２１】
また、前記主制御部１６は、重複印刷パターン生成部１６ａ、重複印刷領域算出部１６ｂ及び重複印刷制御判定部１６ｃを備える。該重複印刷制御判定部１６ｃは、カッタ１２によって媒体２１を切断するときに、次の印刷ドットデータのドットパターンが印刷ヘッド１１の位置を跨（また）いでいるか否かに基づいて、ホワイトラインの発生するドットパターンであるか否かを判定する。そして、前記重複印刷領域算出部１６ｂは、重複印刷制御判定部１６ｃがホワイトラインが発生するドットパターンであるか否かを判定するために必要なホワイトライン発生位置等の情報を算出する。また、前記重複印刷パターン生成部１６ａは、重複印刷制御判定部１６ｃが  重複印刷を実施すると判断した場合に、重複印刷を実施するドットパターンを生成する。そして、前記重複印刷領域算出部１６ｂは、ホワイトライン発生位置から所定距離分を重複印刷領域とし、重複印刷開始位置及び重複印刷終了位置（ホワイトライン発生位置) を算出する。また、前記重複印刷パターン生成部１６ａは、印刷データの種類並びに印刷ドット及び該印刷ドットの周囲の印刷ドットのドットパターンに基づいて、重複印刷の印刷ドットのサイズを縮小する補正をかけ、重複印刷するドットパターンを生成する。
【００２２】
さらに、前記データ記録部１７は、印刷装置１０の各種設定を保存するとともに、一時的な印刷データ等を格納する機能を発揮する。そして、前記データ記録部１７は、第１分割印刷ドットデータ記録部１７ａ、第２分割印刷ドットデータ記録部１７ｂ及び重複印刷補正領域記録部１７ｃを備える。前記重複印刷制御判定部１６ｃが重複印刷を実施すると判定した場合、前記主制御部１６が受信データをデコードして生成した印刷ドットデータのうち、媒体２１を切断する前に印刷される印刷ドットデータが第１分割印刷ドットデータ記録部１７ａに記録され、媒体２１を切断した後に印刷される印刷ドットデータが第２分割印刷ドットデータ記録部１７ｂに記録される。また、重複印刷開始位置、重複印刷終了位置等の重複印刷領域に関するデータは、重複印刷補正領域記録部１７ｃに記録される。
【００２３】
さらに、前記機構制御部１４は、印刷ヘッド駆動制御部１４ａ、カッタ駆動制御部１４ｂ及び媒体搬送モータ駆動制御部１４ｃを備える。前記印刷ヘッド駆動制御部１４ａは、印刷ヘッド１１の各発熱素子に印加される電圧を制御する。また、前記カッタ駆動制御部１４ｂは、カッタ１２の動作を制御し、可動刃を作動させる。さらに、前記媒体搬送モータ駆動制御部１４ｃは、前記媒体搬送モータ１３の動作を制御し、媒体２１の搬送を制御する。
【００２４】
なお、前記主制御部１６に接続された検出回路１８は、媒体２１のロール２１ａが装着されている否か、印刷装置１０の図示されないカバーがオープンであるか否か等を検出するとともに、媒体センサ１９の出力に基づいて、媒体２１の有無、及び、ブラックマーク又は用紙間ギャップを検出する。
【００２５】
そして、本実施の形態における印刷装置１０は、カッタ１２が媒体２１を切断する場合、媒体２１の切断時に印刷ヘッド１１が印刷データの印刷開始位置と印刷終了位置との間で印刷を中断するときには、主制御部１６が重複印刷領域を設定し、プラテンローラ２２が重複印刷領域分だけ媒体２１を逆方向に搬送した後、印刷ヘッド１１が印刷データの印刷を再開するとともにプラテンローラ２２が媒体２１の搬送を再開して重複印刷領域に重複印刷を実施し、主制御部１６は、印刷データのタイプ並びに重複印刷領域における印刷ドット及び当該印刷ドットの周囲の印刷ドットのドットパターンに基づいて、重複印刷領域における印刷ドットのサイズを補正する。したがって、印刷が行われた媒体２１を切断する場合であっても、ホワイトラインやブラックラインが発生することなく、高品質の印刷を行うことができる。
【００２６】
次に、前記構成の印刷装置１０の動作について説明する。まず、主制御部１６が実施する印刷制御処理について説明する。なお、該印刷制御処理は、前半と後半とに区別することができるので、最初に、印刷制御処理の前半について説明する。
【００２７】
図５は本発明の実施の形態における印刷制御処理の前半の動作を説明するフローチャートである。
【００２８】
印刷制御処理の前半が開始されると、まず、ステップＳ１で、主制御部１６は、受信データがあるか否かを判定する。具体的には、データ受信部１５が受信したデータがデータ記録部１７の受信バッファにあるか否かを判定する。
【００２９】
そして、受信データがある場合、該受信データが印刷装置１０の設定変更を要する印刷速度設定、印刷濃度設定等のコマンドであるか、バーコード、キャラクタ（文字）、その他イメージ等の印刷データであるか等を判定してデコードするために、ステップＳ２で、主制御部１６は、受信データのデコード処理を実施する。データ受信部１５が受信したデータが速度変更等の設定を変更するようなデータであった場合、主制御部１６は印刷装置１０の設定の変更を実施し、受信したデータがバーコード、キャラクタ、その他イメージ等の印刷データである場合、主制御部１６は、印刷データの種類や印刷方向など印刷ドットデータ作成のための情報を取得する。
【００３０】
なお、受信データがない場合、ステップＳ１で、主制御部１６は、受信データがあるか否かの判定を繰り返す。
【００３１】
続いて、ステップＳ３で、主制御部１６は、印刷データがあるか否かを判定する。具体的には、デコードしたデータが印刷データであるか否かを判定する。そして、印刷データがない場合、ステップＳ１で、主制御部１６は、受信データがあるか否かの判定を繰り返す。
【００３２】
また、印刷データがある場合、ステップＳ４で、主制御部１６は、重複印刷制御判定処理を実施する。具体的には、重複印刷制御判定部１６ｃが、前記印刷データが媒体２１を切断するときに印刷ヘッド１１の位置であるヘッド位置を跨ぐデータであって、ホワイトラインが発生する可能性があるデータであるか否かを判定し、重複印刷制御を実施するか否かを判定する。そして、重複印刷制御を実施する場合にはフラグをＯＮにし、重複印刷制御を実施しない場合にはフラグをＯＦＦにする。
【００３３】
続いて、ステップＳ５で、主制御部１６は、印刷データに基づいて印刷ドットデータを生成する。
【００３４】
続いて、ステップＳ６で、主制御部１６は、重複印刷制御がＯＮであるか否かを判定する。具体的には、重複印刷制御判定処理においてＯＮ又はＯＦＦにされたフラグに基づいて、重複印刷制御を実施するか否かを判定する。
【００３５】
そして、重複印刷制御がＯＮでない場合、すなわち、フラグがＯＦＦであって重複印刷制御を実施しないと判定された場合、ステップＳ７で、主制御部１６は、印刷ドットデータの分割を実施しない通常の印刷制御を実施するために、印刷ドットデータをデータ記録部１７の図示されない印刷バッファへ格納し、ステップＳ１１で、印刷起動をかけて、印刷制御処理の前半を終了する。
【００３６】
また、重複印刷制御がＯＮである場合、すなわち、フラグがＯＮであって重複印刷制御を実施すると判定された場合、ステップＳ８で、主制御部１６は、重複印刷パターン生成処理を実施する。印刷ドットデータが、媒体２１を切断するときに印刷ヘッド１１の位置であるヘッド位置を跨ぐデータである場合、印刷を一時中断して媒体２１を切断するために位置ズレが発生し、位置ズレが発生した状態で印刷を再開するとホワイトラインが発生してしまう。そこで、印刷データが媒体２１を切断するときに印刷ヘッド１１の位置であるヘッド位置を跨ぐデータであると判定された場合、重複印刷を実施するために、主制御部１６は、重複印刷パターン生成処理を実施する。重複印刷パターン生成処理を実施することによって、印刷ドットデータは、媒体２１の切断前に印刷する部分のデータと媒体２１の切断後に印刷する部分のデータとに分割され、媒体２１の切断後に印刷する部分のデータの重複印刷を行う領域に対しての印刷パターンが生成される。
【００３７】
続いて、ステップＳ９で、主制御部１６は、分割印刷データ（切断前）を印刷バッファに格納する。具体的には、分割された印刷ドットデータであって媒体２１の切断前に印刷する部分のデータをデータ記録部１７の第１分割印刷ドットデータ記録部１７ａに記録する。
【００３８】
また、ステップＳ１０で、主制御部１６は、分割印刷データ（切断後）を印刷バッファに格納する。具体的には、分割された印刷ドットデータであって媒体２１の切断後に印刷する部分のデータをデータ記録部１７の第２分割印刷ドットデータ記録部１７ｂに記録する。
【００３９】
そして、ステップＳ１１で、主制御部１６は、印刷起動をかけて、印刷制御処理の前半を終了する。
【００４０】
次に、フローチャートについて説明する。
ステップＳ１  受信データがあるか否かを判定する。受信データがある場合はステップ２に進み、受信データがない場合は判定を繰り返し行う。
ステップＳ２  受信データのデコード処理を実施する。
ステップＳ３  印刷データがあるか否かを判定する。印刷データがある場合はステップＳ４に進み、印刷データがない場合はステップＳ１に戻る。
ステップＳ４  重複印刷制御判定処理を実施する。
ステップＳ５  印刷ドットデータを生成する。
ステップＳ６  重複印刷制御がＯＮであるか否かを判定する。重複印刷制御がＯＮである場合はステップＳ８に進み、重複印刷制御がＯＮでない場合はステップＳ７に進む。
ステップＳ７  印刷ドットデータを印刷バッファへ格納する。
ステップＳ８  重複印刷パターン生成処理を実施する。
ステップＳ９  分割印刷データ（切断前）を印刷バッファに格納する。
ステップＳ１０  分割印刷データ（切断後）を印刷バッファに格納する。
ステップＳ１１  印刷起動をかけて、印刷制御処理の前半を終了する。
【００４１】
次に、印刷制御処理の後半について説明する。印刷制御処理の後半は、印刷ドットデータが印刷バッファに格納され、印刷起動がかけられた後に実施される制御であって、印刷バッファに格納された印刷ドットデータを１ラインずつ媒体２１に印刷し、該媒体２１を所定の位置で切断する動作を制御するための処理である。なお、前記ラインは、媒体２１の搬送方向に対して直交する方向（媒体２１の幅方向）に延在する印刷ドットのラインであって、印刷ヘッド１１に配設された発熱素子のラインに対応する。
【００４２】
図６は本発明の実施の形態における印刷制御処理の後半の動作を説明するフローチャートである。
【００４３】
印刷制御処理の後半が開始されると、まず、ステップＳ２１で、主制御部１６は、印刷バッファにデータがあるか否かを判定する。具体的には、印刷ドットデータがデータ記録部１７の印刷バッファにあるか否かを判定する。
【００４４】
そして、データがある場合、主制御部１６は、ステップＳ２２で、１ライン分のデータを取得し、ステップＳ２３で、１ライン分の印刷を実施させる。具体的には、印刷ヘッド１１の１ライン分に対応する印刷ドットデータを印刷バッファから取得し、印刷ヘッド駆動制御部１４ａに指令して印刷ヘッド１１を作動させ、１ライン分に対応する印刷ドットデータを媒体２１に印刷させる。
【００４５】
なお、印刷バッファにデータがない場合、ステップＳ２１で、主制御部１６は、印刷バッファにデータがあるか否かの判定を繰り返す。
【００４６】
続いて、ステップＳ２４で、主制御部１６は、最終ラインのデータであるか否かを判定する。具体的には、データを取得して印刷を実施させた１ラインが最終ラインであるか否かを判定する。そして、最終ラインのデータでない場合、ステップＳ２２で、主制御部１６は、再度、１ライン分のデータを取得し、以降の動作を繰り返す。
【００４７】
また、最終ラインのデータである場合、ステップＳ２５で、主制御部１６は、重複印刷制御がＯＮであるか否かを判定する。具体的には、重複印刷制御判定処理においてＯＮ又はＯＦＦにされたフラグに基づいて、重複印刷制御を実施するか否かを判定する。
【００４８】
そして、重複印刷制御がＯＮでない場合、すなわち、フラグがＯＦＦであって重複印刷制御を実施しないと判定された場合、主制御部１６は、ステップＳ２６で、カッタ位置まで媒体２１を搬送させ、ステップＳ２７で、該媒体２１を切断させる。具体的には、媒体搬送モータ駆動制御部１４ｃに指令して媒体搬送モータ１３を作動させ、媒体２１における切断予定位置がカッタ１２の可動刃に対応する位置としてのカッタ位置に到達するまで媒体２１を搬送させる。そして、カッタ駆動制御部１４ｂに指令してカッタ１２の可動刃を作動させ、前記媒体２１の切断予定位置を切断させる。
【００４９】
続いて、ステップＳ２８で、主制御部１６は、印刷開始位置まで媒体２１を搬送させる。具体的には、媒体搬送モータ駆動制御部１４ｃに指令して媒体搬送モータ１３を作動させ、媒体２１における印刷開始位置が印刷ヘッド１１が印刷を行う位置としてのヘッド位置に到達するまで媒体２１を搬送させる。
【００５０】
最後に、ステップＳ３２で、主制御部１６は、次の印刷ドットデータがあるか否かを判定する。すなわち、次の印刷ドットデータが印刷バッファにあるか否かを判定する。そして、主制御部１６は、次の印刷ドットデータがない場合には印刷制御処理の後半を終了し、次の印刷ドットデータがある場合には、ステップＳ２２で、再度、１ライン分のデータを取得し、以降の動作を繰り返す。
【００５１】
なお、重複印刷制御がＯＮであるか否かを判定してＯＮである場合、すなわち、フラグがＯＮであって重複印刷制御を実施すると判定された場合、ステップＳ２９で、主制御部１６は、分割印刷データ（切断前）を印刷させる。具体的には、媒体搬送モータ駆動制御部１４ｃに指令して媒体搬送モータ１３を作動させ、媒体２１における切断予定位置がカッタ１２の可動刃に対応する位置としてのカッタ位置に到達するまで媒体２１を搬送させる際に、分割された印刷ドットデータであって媒体２１の切断前に印刷する部分のデータをデータ記録部１７の第１分割印刷ドットデータ記録部１７ａから取得し、印刷ヘッド駆動制御部１４ａに指令して印刷ヘッド１１を作動させ、分割された印刷ドットデータを媒体２１に印刷させる。
【００５２】
続いて、ステップＳ３０で、主制御部１６は、媒体２１を切断させる。具体的には、カッタ駆動制御部１４ｂに指令してカッタ１２の可動刃を作動させ、前記媒体２１の切断予定位置を切断させる。
【００５３】
続いて、ステップＳ３１で、主制御部１６は、重複印刷領域分、媒体２１を逆方向に搬送させる。具体的には、媒体搬送モータ駆動制御部１４ｃに指令して媒体搬送モータ１３を作動させ、媒体２１において重複印刷領域に相当する距離だけ媒体２１を逆方向に搬送させる。
【００５４】
最後に、ステップＳ３２で、主制御部１６は、次の印刷ドットデータがあるか否かを判定する。すなわち、次の印刷ドットデータが印刷バッファにあるか否かを判定する。分割印刷データ（切断前）を印刷させた場合には、分割された印刷ドットデータであって媒体２１の切断後に印刷する部分のデータがデータ記録部１７の第２分割印刷ドットデータ記録部１７ｂに残っているので、主制御部１６は、次の印刷ドットデータがある、と判定する。そして、主制御部１６は、分割された印刷ドットデータであって媒体２１の切断後に印刷する部分のデータを取得して印刷させる。
【００５５】
次に、フローチャートについて説明する。
ステップＳ２１  印刷バッファにデータがあるか否かを判定する。印刷バッファにデータがある場合はステップＳ２２に進み、印刷バッファにデータがない場合は判定を繰り返し行う。
ステップＳ２２  １ライン分のデータを取得する。
ステップＳ２３  １ライン分の印刷を実施させる。
ステップＳ２４  最終ラインのデータであるか否かを判定する。最終ラインのデータである場合はステップＳ２５に進み、最終ラインのデータでない場合はステップＳ２２に戻る。
ステップＳ２５  重複印刷制御がＯＮであるか否かを判定する。重複印刷制御がＯＮである場合はステップ２９に進み、重複印刷制御がＯＮでない場合はステップＳ２６に進む。
ステップＳ２６  カッタ位置まで媒体２１を搬送させる。
ステップＳ２７  媒体２１を切断させる。
ステップＳ２８  印刷開始位置まで媒体２１を搬送させる。
ステップＳ２９  分割印刷データ（切断前）を印刷させる。
ステップＳ３０  媒体２１を切断させる。
ステップＳ３１  重複印刷領域分、媒体２１を逆方向に搬送させる。
ステップＳ３２  次の印刷ドットデータがあるか否かを判定する。次の印刷ドットデータがある場合はステップＳ２２に戻り、次の印刷ドットデータがない場合は印刷制御処理の後半を終了する。
【００５６】
次に、受信データのデコード処理のサブルーチンについて説明する。
【００５７】
図７は本発明の実施の形態における受信データのデコード処理のサブルーチンを示すフローチャートである。
【００５８】
受信データのデコード処理は、データ受信部１５が受信したデータが印刷速度、印刷濃度等の印刷装置１０の設定を変更するコマンドであるか、又は、バーコード、キャラクタ等の印刷データであるかを判定し、印刷データである場合に、コマンド情報に基づいて印刷ドットデータを生成するための情報（例えば、バーコードの場合、バーコードの種類、印刷方向、バー幅、バー比率な等の情報）を取得する処理である。当該処理において、主制御部１６は、データ受信部１５が受信したデータを解析する。そして、データ受信部１５が受信したデータが印刷データであれば、主制御部１６は、図５及び６に示されるような印刷制御処理を実施する。なお、データ受信部１５が受信したデータが印刷データでなければ、印刷動作は発生しないので、印刷制御処理は実施されない。
【００５９】
受信データのデコード処理が開始されると、ステップＳ２−１で、主制御部１６は、まず、印刷データであるか否かを判定する。具体的には、データ記録部１７の受信バッファにあるデータ受信部１５が受信したデータが印刷データであるか否かを判定する。
【００６０】
そして、印刷データでない場合、ステップＳ２−２で、主制御部１６は、余白設定であるか否かを判定する。具体的には、データ受信部１５が受信したデータが余白設定に関するデータであるか否かを判定する。なお、余白とは、カッタ１２によって媒体２１を切断する場合、切断された媒体２１の先端から次の印刷データの印刷開始位置までの媒体２１上の範囲である。
【００６１】
ここで、余白設定でない場合、ステップＳ２−５で、主制御部１６は、各種デコード処理を実施し、受信データのデコード処理を終了する。また、余白設定である場合、主制御部１６は、ステップＳ２−３で、余白位置を設定し、ステップＳ２−４で、重複印刷領域算出処理を実施して、受信データのデコード処理を終了する。重複印刷領域算出処理では、重複印刷の判定を実施する際に必要な情報であるホワイトライン発生位置（重複印刷終了位置）を算出する。また、ホワイトライン発生位置に基づいて算出することができるので、重複印刷開始位置も算出する。各種印刷データの印刷開始位置が相対位置で指定されている場合、印刷可能領域の先頭位置からヘッド位置までの距離の情報に基づいて判定するため、あらかじめ余白設定が変更されたときに算出する。
【００６２】
また、印刷データであるか否かを判定して印刷データである場合、ステップＳ２−６で、主制御部１６は、バーコードであるか否かを判定する。すなわち、印刷データがバーコードの印刷データであるか否かを判定する。
【００６３】
そして、バーコードの印刷データである場合、主制御部１６は、ステップＳ２−７で、ナローバー幅を取得し、ステップＳ２−８で、バーコードサイズを取得し、ステップＳ２−９で、印刷方向設定を取得し、ステップＳ２−１０で、印刷開始位置を取得し、ステップＳ２−１１で、通常のバーコードデータデコード処理を実施して、受信データのデコード処理を終了する。
【００６４】
また、バーコードであるか否かを判定してバーコードでない場合、ステップＳ２−１２で、主制御部１６は、その他イメージデータであるか否かを判定する。すなわち、印刷データがその他イメージデータであるか否かを判定する。
【００６５】
そして、その他イメージデータでない場合、キャラクタの印刷データであると考えられるので、主制御部１６は、ステップＳ２−１３で、キャラクタ印刷サイズを取得し、ステップＳ２−１４で、印刷開始位置を取得し、ステップＳ２−１５で、印刷方向設定を取得し、ステップＳ２−１６で、通常のキャラクタデータデコード処理を実施して、受信データのデコード処理を終了する。
【００６６】
また、その他イメージデータである場合、主制御部１６は、ステップＳ２−１７で、その他イメージサイズを取得し、ステップＳ２−１８で、印刷開始位置を取得し、ステップＳ２−１９で、通常のその他イメージデータデコード処理を実施して、受信データのデコード処理を終了する。
【００６７】
本実施の形態における受信データのデコード処理では、受信データの通常のコマンドデコード処理に加えて、重複印刷の実施判定に必要な情報を取得している。
【００６８】
次に、フローチャートについて説明する。
ステップＳ２−１  印刷データであるか否かを判定する。印刷データである場合はステップＳ２−６に進み、印刷データでない場合はステップＳ２−２に進む。
ステップＳ２−２  余白設定であるか否かを判定する。余白設定である場合はステップＳ２−３に進み、余白設定でない場合はステップＳ２−５に進む。
ステップＳ２−３  余白位置を設定する。
ステップＳ２−４  重複印刷領域算出処理を実施して、受信データのデコード処理を終了する。
ステップＳ２−５  各種デコード処理を実施し、受信データのデコード処理を終了する。
ステップＳ２−６  バーコードであるか否かを判定する。バーコードである場合はステップＳ２−７に進み、バーコードでない場合はステップＳ２−１２に進む。
ステップＳ２−７  ナローバー幅を取得する。
ステップＳ２−８  バーコードサイズを取得する。
ステップＳ２−９  印刷方向設定を取得する。
ステップＳ２−１０  印刷開始位置を取得する。
ステップＳ２−１１  バーコードデータデコード処理を実施して、受信データのデコード処理を終了する。
ステップＳ２−１２  その他イメージデータであるか否かを判定する。その他イメージデータである場合はステップＳ２−１７に進み、その他イメージデータでない場合はステップＳ２−１３に進む。
ステップＳ２−１３  キャラクタ印刷サイズを取得する。
ステップＳ２−１４  印刷開始位置を取得する。
ステップＳ２−１５  印刷方向設定を取得する。
ステップＳ２−１６  キャラクタデータデコード処理を実施して、受信データのデコード処理を終了する。
ステップＳ２−１７  その他イメージサイズを取得する。
ステップＳ２−１８  印刷開始位置を取得する。
ステップＳ２−１９  その他イメージデータデコード処理を実施して、受信データのデコード処理を終了する。
【００６９】
次に、重複印刷領域算出処理のサブルーチンについて説明する。
【００７０】
図８は本発明の実施の形態におけるホワイトライン発生位置の算出方法を説明する図、図９は本発明の実施の形態におけるホワイトライン発生領域を説明する図、図１０は本発明の実施の形態における重複印刷領域を説明する図、図１１は本発明の実施の形態における論理的な座標を説明する図、図１２は本発明の実施の形態における重複印刷領域算出処理のサブルーチンを示すフローチャートである。
【００７１】
本実施の形態においては、相対位置で指定される印刷データがホワイトラインの発生する可能性があるデータであるか否かを判定するために、ホワイトライン発生位置を算出する。また、ホワイトライン発生位置に基づいて、あらかじめ重複印刷を開始する位置、すなわち、重複印刷開始位置も算出する。
【００７２】
ホワイトラインは、媒体２１を切断するカッタ１２の動作である切断動作によって位置ズレが発生した箇所で発生する。したがって、ホワイトラインは、図８及び１０に示されるように、媒体２１を切断する時点での印刷ヘッド１１の位置であるヘッド位置において発生する。
【００７３】
なお、図８の上段部分は、図１における上方から観た場合の媒体２１、印刷ヘッド１１及びカッタ１２の位置関係を模式的に示した図であり、線Ａはヘッド位置を示し、線Ｂはカッタ１２可動刃の位置であるカッタ位置を示している。また、図８の下段部分は、図１における上方から観た場合の媒体２１、ヘッド位置、カッタ位置及び印刷データが印刷される範囲の位置関係を模式的に示した図である。さらに、図１０及び１１も、図８の下段部分と同様である。なお、図９は、ホワイトライン発生領域（図における左右方向は媒体２１の搬送方向）、印刷速度の変化、及び、印刷ヘッド１１の発熱素子の温度、すなわち、ヘッド温度の変化の関係を示した図である。
【００７４】
図８に示されるように、カッタ位置からホワイトライン発生位置までの距離は、カッタ位置からヘッド位置までの距離としてのカットマージンに等しい。なお、印刷データの先頭からヘッド位置までの距離は、カットマージンから余白設定量（カッタ位置から印刷データの先頭までの距離）を減算した距離に等しい。そして、図１１に示されるように、カッタ位置から余白設定量だけ印刷ヘッド１１寄りにシフトした位置が論理原点の位置となる。そのため、カットマージンから論理原点の位置までの距離、すなわち、余白設定量を減算することで、ホワイトライン発生位置を算出することができる。
【００７５】
また、図９に示されるように、ホワイトライン発生領域は、媒体２１の切断による位置ズレ量、印刷速度の減速時において最後に印刷ヘッド１１の発熱素子に電圧を印加してから停止するまでのパルス数分、及び、温度低下等により加速開始から発色するまでのパルス数分となる。なお、印刷ヘッド１１の機種等によって多少異なるが、印刷速度の減速時において最後に印刷ヘッド１１の発熱素子に電圧を印加してから停止するまでのパルス数、及び、発色するまでのパルス数は変動が少ないので、ホワイトライン発生領域を所定量としてもよい。また、印刷装置１０の使用環境の温度情報を取得することができる場合、前記温度情報を考慮に入れてホワイトライン発生領域を算出することもできる。ホワイトライン発生領域を重複印刷領域として適用することによって、確実にホワイトラインの発生を防ぐことができる。したがって、重複印刷開始位置は、ホワイトライン発生位置からホワイトライン発生領域の距離を減算した位置となる。
【００７６】
重複印刷領域算出処理が開始されると、主制御部１６の重複印刷領域算出部１６ｂは、まず、ステップＳ２−４−１で、余白設定量を取得し、ステップＳ２−４−２で、カットマージン量を取得する。
【００７７】
続いて、ステップＳ２−４−３で、重複印刷領域算出部１６ｂは、ホワイトライン発生位置（重複印刷終了位置）を算出する。具体的には、カットマージン量から余白設定量を減算した値をホワイトライン発生位置とする。そして、ステップＳ２−４−４で、重複印刷領域算出部１６ｂは、ホワイトライン発生位置を保存する。具体的には、算出したホワイトライン発生位置をデータ記録部１７に格納して保存する。
【００７８】
続いて、ステップＳ２−４−５で、重複印刷領域算出部１６ｂは、重複印刷開始位置を算出する。具体的には、ホワイトライン発生位置からホワイトライン発生領域（重複印刷領域）を減算した値を重複印刷開始位置とする。そして、ステップＳ２−４−６で、重複印刷領域算出部１６ｂは、重複印刷開始位置を保存して、重複印刷領域算出処理を終了する。具体的には、算出した重複印刷開始位置をデータ記録部１７に格納して保存する。
【００７９】
次に、フローチャートについて説明する。
ステップＳ２−４−１  余白設定量を取得する。
ステップＳ２−４−２  カットマージン量を取得する。
ステップＳ２−４−３  ホワイトライン発生位置（重複印刷終了位置）を算出する。カットマージン量から余白設定量を減算した値をホワイトライン発生位置とする。
ステップＳ２−４−４  ホワイトライン発生位置を保存する。
ステップＳ２−４−５  重複印刷開始位置を算出する。ホワイトライン発生位置からホワイトライン発生領域（重複印刷領域）を減算した値を重複印刷開始位置とする。
ステップＳ２−４−６  重複印刷開始位置を保存して、重複印刷領域算出処理を終了する。
【００８０】
次に、重複印刷制御判定処理のサブルーチンについて説明する。
【００８１】
図１３は本発明の実施の形態における重複印刷制御判定処理のサブルーチンを示すフローチャートである。
【００８２】
本実施の形態においては、受信データのデコード処理において取得した印刷データの印刷開始位置等の情報、及び、重複印刷領域算出処理において算出したホワイトライン発生位置に基づいて、重複印刷を実施するか否かを判定する。重複印刷を実施するか否かの判定は、印刷データがヘッド位置を跨ぐか否かに応じて行われるので、ホワイトライン発生位置（重複印刷終了位置）が印刷データの印刷開始位置と印刷終了位置との間にあるか否かを確認する必要がある。
【００８３】
重複印刷制御判定処理が開始されると、ステップＳ４−１で、主制御部１６の重複印刷制御判定部１６ｃは、まず、印刷データがバーコードであるか否かを判定する。すなわち、印刷データがバーコードの印刷データであるか否かを判定する。
【００８４】
そして、バーコードの印刷データである場合、縦印刷か否かで印刷データのサイズが異なるため、ステップＳ４−２で、重複印刷制御判定部１６ｃは、印刷方向が縦であるか否かを判定する。
【００８５】
印刷方向が縦でない場合、すなわち、横方向に印刷する場合、ステップＳ４−３で、重複印刷制御判定部１６ｃは、印刷データの印刷終了位置としてのバーコード印刷終了位置を算出する。横方向に印刷する場合には、媒体２１の搬送方向に関する印刷データのサイズがバーコードの高さとなるので、バーコード印刷終了位置は、印刷データの印刷開始位置としてのバーコード印刷開始位置にバーコードの高さを加算した位置となる。
【００８６】
また、印刷方向が縦であるか否かを判定して縦である場合、重複印刷制御判定部１６ｃは、ステップＳ４−４で、ナローバー幅及びバーコードのデータからバーコード幅を算出し、ステップＳ４−５で、バーコード印刷終了位置を算出する。縦方向に印刷する場合、媒体２１の搬送方向に関する印刷データのサイズは、バーコードの幅方向のサイズとなる。そのため、重複印刷制御判定部１６ｃは、ナローバー幅及びバーコードのデータからバーコード幅を算出した後、バーコード印刷開始位置にバーコードの幅を加算した値を、バーコード印刷終了位置として算出する。
【００８７】
続いて、ステップＳ４−１１で、重複印刷制御判定部１６ｃは、ホワイトライン発生位置が印刷データの印刷開始位置と印刷終了位置との間にあるか否かを判定する。具体的には、印刷データの印刷開始位置の値がホワイトライン発生位置の値より小さく、かつ、ホワイトライン発生位置の値が印刷データの印刷終了位置の値より小さい、という条件が満足されているか否かを判定する。
【００８８】
そして、重複印刷制御判定部１６ｃは、ステップＳ４−１３で、前記条件が満足されている場合には重複印刷制御を実施するフラグをＯＮにし、ステップＳ４−１２で、前記条件が満足されていない場合には重複印刷制御を実施するフラグをＯＦＦにして、重複印刷制御判定処理を終了する。
【００８９】
また、印刷データがバーコードであるか否かを判定してバーコードでない場合、ステップＳ４−６で、重複印刷制御判定部１６ｃは、その他イメージデータであるか否かを判定する。すなわち、印刷データがその他イメージデータの印刷データであるか否かを判定する。
【００９０】
そして、その他イメージデータである場合、ステップＳ４−７で、重複印刷制御判定部１６ｃは、印刷終了位置を算出する。具体的には、印刷データの印刷開始位置としてのその他イメージ印刷開始位置にその他イメージサイズを加算した値を、印刷データの印刷終了位置として算出する。
【００９１】
続いて、重複印刷制御判定部１６ｃは、ステップＳ４−１１で、ホワイトライン発生位置が印刷データの印刷開始位置と印刷終了位置との間にあるか否かを判定し、ステップＳ４−１２又はＳ４−１３で、重複印刷制御を実施するフラグをＯＮ又はＯＦＦにして、重複印刷制御判定処理を終了する。
【００９２】
また、その他イメージデータであるか否かを判定してその他イメージデータでない場合、すなわち、キャラクタデータである場合、縦印刷か否かで印刷データのサイズが異なるため、ステップＳ４−８で、重複印刷制御判定部１６ｃは、印刷方向が縦であるか否かを判定する。
【００９３】
印刷方向が縦でない場合、すなわち、横方向に印刷する場合、ステップＳ４−９で、重複印刷制御判定部１６ｃは、印刷データの印刷終了位置を算出する。具体的には、印刷終了位置は、印刷データの印刷開始位置としてのキャラクタ印刷開始位置にキャラクタの高さを加算した値となる。
【００９４】
また、印刷方向が縦である場合、ステップＳ４−１０で、重複印刷制御判定部１６ｃは、印刷データの印刷開始位置としてのキャラクタ印刷開始位置にキャラクタの幅を加算した値を印刷データの印刷終了位置として算出する。
【００９５】
続いて、重複印刷制御判定部１６ｃは、ステップＳ４−１１で、ホワイトライン発生位置が印刷データの印刷開始位置と印刷終了位置との間にあるか否かを判定し、ステップＳ４−１２又はＳ４−１３で、重複印刷制御を実施するフラグをＯＮ又はＯＦＦにして、重複印刷制御判定処理を終了する。
【００９６】
次に、フローチャートについて説明する。
ステップＳ４−１  印刷データがバーコードであるか否かを判定する。印刷データがバーコードである場合はステップＳ４−２に進み、印刷データがバーコードでない場合はステップＳ４−６に進む。
ステップＳ４−２  印刷方向が縦であるか否かを判定する。印刷方向が縦である場合はステップＳ４−４に進み、印刷方向が縦でない場合はステップＳ４−３に進む。
ステップＳ４−３  バーコード印刷終了位置を算出する。バーコード印刷終了位置は、バーコード印刷開始位置にバーコードの高さを加算した位置となる。
ステップＳ４−４  ナローバー幅及びバーコードのデータからバーコード幅を算出する。
ステップＳ４−５  バーコード印刷終了位置を算出する。バーコード印刷開始位置にバーコードの幅を加算した値を、バーコード印刷終了位置として算出する。
ステップＳ４−６  その他イメージデータであるか否かを判定する。その他イメージデータである場合はステップＳ４−７に進み、その他イメージデータでない場合はステップＳ４−８に進む。
ステップＳ４−７  印刷終了位置を算出する。その他イメージ印刷開始位置にその他イメージサイズを加算した値を、印刷データの印刷終了位置として算出する。
ステップＳ４−８  印刷方向が縦であるか否かを判定する。印刷方向が縦である場合はステップＳ４−１０に進み、印刷方向が縦でない場合はステップＳ４−９に進む。
ステップＳ４−９  印刷終了位置を算出する。印刷終了位置は、キャラクタ印刷開始位置にキャラクタの高さを加算した値となる。
ステップＳ４−１０  キャラクタ印刷開始位置にキャラクタの幅を加算した値を印刷終了位置として算出する。
ステップＳ４−１１  ホワイトライン発生位置が印刷開始位置と印刷終了位置との間にあるか否かを判定する。ホワイトライン発生位置が印刷開始位置と印刷終了位置との間にある場合はステップＳ４−１３に進み、ホワイトライン発生位置が印刷開始位置と印刷終了位置との間にない場合はステップＳ４−１２に進む。
ステップＳ４−１２  重複印刷制御を実施するフラグをＯＦＦにして、重複印刷制御判定処理を終了する。
ステップＳ４−１３  重複印刷制御を実施するフラグをＯＮにして、重複印刷制御判定処理を終了する。
【００９７】
次に、重複印刷パターン生成処理のサブルーチンについて説明する。
【００９８】
図１４は本発明の実施の形態における重複印刷パターン生成処理のサブルーチンを示すフローチャートである。
【００９９】
本実施の形態においては、媒体２１の切断前及び切断後に媒体２１に印刷ドットデータの分割及び重複印刷を実施する領域についての印刷パターンの生成を、印刷データのタイプに応じて行う。
【０１００】
重複印刷パターン生成処理が開始されると、ステップＳ８−１で、主制御部１６の重複印刷パターン生成部１６ａは、まず、イメージ先頭からホワイトライン発生位置までの印刷ドットデータを切断前の印刷ドットデータとして抽出する。具体的には、媒体２１の切断前に行われる印刷では印刷ドットデータを変更しないので、該印刷ドットデータの前端からホワイトライン発生位置までの印刷ドットデータを切断前の印刷ドットデータとして抽出する。そして、ステップＳ８−２で、重複印刷パターン生成部１６ａは、抽出した切断前の印刷ドットデータをデータ記録部１７に保存する。
【０１０１】
続いて、切断後の印刷ドットデータを生成するために、ステップＳ８−３で、重複印刷パターン生成部１６ａは、重複印刷領域と次の１ライン分の印刷ドットデータを抽出する。つまり、隣接したドットデータを用いて補正を実施するため、重複印刷領域の印刷ドットデータに加えて、次の１ライン分の印刷ドットデータを抽出する。
【０１０２】
続いて、ステップＳ８−４で、重複印刷パターン生成部１６ａは、重複印刷領域内の印刷データタイプを判定する。具体的には、重複印刷領域における印刷ドットデータが、キャラクタデータ、バーコードデータ、又は、その他イメージデータのいずれであるかを判定する。
【０１０３】
そして、重複印刷パターン生成部１６ａは、キャラクタデータの場合にはステップＳ８−５でキャラクタ重複印刷パターン生成処理を実施し、バーコードデータの場合にはステップＳ８−７でバーコード重複印刷パターン生成処理を実施し、その他イメージデータの場合にはステップＳ８−６でイメージ重複印刷パターン生成処理を実施する。
【０１０４】
続いて、ステップＳ８−８で、重複印刷パターン生成部１６ａは、生成した重複パターンに残りの印刷データを付加し、切断後、印刷ドットデータとして保存する。具体的には、キャラクタ重複印刷パターン生成処理、バーコード重複印刷パターン生成処理又はその他イメージ重複印刷パターン生成処理を実施して生成した重複パターンに、ホワイトライン発生位置から印刷ドットデータの後端までの印刷ドットデータを加えたデータを切断前の印刷ドットデータとしてデータ記録部１７に保存する。
【０１０５】
そして、媒体２１の切断後に逆方向に媒体２１が搬送されるので、ステップＳ８−９で、重複印刷パターン生成部１６ａは、重複印刷領域分を切断後の逆方向の媒体搬送量に設定して、すなわち、重複印刷する領域の量を媒体２１を逆方向に搬送する量として設定して、重複印刷パターン生成処理を終了する。
【０１０６】
次に、フローチャートについて説明する。
ステップＳ８−１  イメージ先頭からホワイトライン発生位置までの印刷ドットデータを切断前の印刷ドットデータとして抽出する。
ステップＳ８−２  切断前の印刷ドットデータをデータ記録部１７に保存する。
ステップＳ８−３  重複印刷領域と次の１ライン分の印刷ドットデータを抽出する。
ステップＳ８−４  重複印刷領域内の印刷データタイプを判定する。印刷ドットデータがキャラクタデータである場合はステップＳ８−５に進み、印刷ドットデータがバーコードデータである場合はステップＳ８−７に進み、印刷ドットデータがその他イメージデータである場合はステップＳ８−６に進む。
ステップＳ８−５  キャラクタ重複印刷パターン生成処理を実施する。
ステップＳ８−６  その他イメージ重複印刷パターン生成処理を実施する。
ステップＳ８−７  バーコード重複印刷パターン生成処理を実施する。
ステップＳ８−８  生成した重複パターンに残りの印刷データを付加し、切断後、印刷ドットデータとして保存する。
ステップＳ８−９  重複印刷領域分を切断後の逆方向の媒体搬送量に設定して、重複印刷パターン生成処理を終了する。
【０１０７】
次に、キャラクタ重複印刷パターン生成処理のサブルーチンについて説明する。
【０１０８】
図１５は本発明の実施の形態における印刷ドットデータ中の当該ドットとそれに隣接する隣接ドットの位置関係を説明する図、図１６は本発明の実施の形態におけるキャラクタデータの重複印刷パターンを説明する図、図１７は本発明の実施の形態におけるキャラクタデータの重複印刷の結果を説明する図、図１８は本発明の実施の形態におけるキャラクタ重複印刷パターン生成処理のサブルーチンを示すフローチャートである。
【０１０９】
キャラクタのデータの場合には、その他イメージデータのような階調データがないので、印刷ドットの有無のみで表現される。また、文字全体としての形が認識できれば可読することができるので、同じ印刷データを重ねても目立ちにくい。そのため、重複する印刷パターンが同じ形となるように、媒体搬送方向に同位置となる次のラインの隣接ドットのみを参照して補正を実施する。
【０１１０】
前述のように、印刷ドットデータは、ドットパターンに展開された印刷データであって、注目すべき１つの印刷ドットである当該ドットの周囲には、図１５に示されるように、８つの隣接ドットが存在する。また、前述のように、印刷ドットデータは、媒体２１の搬送に合わせて１ラインずつ媒体２１に印刷されるので、当該ドットよりも媒体２１の搬送方向前方に隣接して前の印刷ラインが形成され、当該ドットよりも媒体２１の搬送方向後方に隣接して次の印刷ラインが形成される。さらに、各印刷ドットは、印刷ヘッド１１に配設された対応する発熱素子の発熱によって形成されるので、各発熱素子に印加される電圧を減少させて各発熱素子の温度を低下させることによって、各印刷ドットの大きさ、すなわち、ドットサイズを減少させることができる。
【０１１１】
図１６には、キャラクタデータの重複印刷パターンを決定する例が示されている。当該ドットの次のラインにおける隣接ドット（番号が２番の隣接ドット）が印刷される場合には、媒体２１を切断するために位置ズレが発生しても、印刷ドットが繋がるだけなので、補正をせず、当該ドットのドットサイズを減少させることなく、印刷を行う。また、次のラインにおける隣接ドットが印刷されない場合には、補正をして、当該ドットのドットサイズを減少させて印刷を行うが、重複印刷の最終行にあるのか否かに応じて、当該ドットの縮小率を変更する。重複印刷の最終行でないときは、媒体２１の切断前に印刷した印刷データに位置ズレが発生せず、空白部分を単に埋めてしまうこととなるため、当該ドットの縮小率を大きくする（例えば、ドットサイズが５０〔％〕となるように縮小する。）。一方、重複印刷の最終行であるときは、位置ズレがホワイトラインとなってしまうため、印刷ドットが大きくなりすぎない程度に、当該ドットの縮小率を小さくする（例えば、ドットサイズが７５〔％〕となるように縮小する。）。
【０１１２】
キャラクタ重複印刷パターン生成処理が開始されると、ステップＳ８−５−１で、重複印刷パターン生成部１６ａは、まず、１ライン分のデータを取得する。具体的には、重複印刷領域における印刷ドットデータの１ラインに対応するデータを、重複印刷領域の最初のラインから順次、取得する。
【０１１３】
続いて、ステップＳ８−５−２で、重複印刷パターン生成部１６ａは、１ドット分のデータを取得する。具体的には、取得した１ラインの中の１ドットに対応するデータを、ラインの端のドットから順次、当該ドットのデータとして取得する。
【０１１４】
続いて、ステップＳ８−５−３で、重複印刷パターン生成部１６ａは、隣接する次のラインの１ドット分のデータを取得する。具体的には、当該ドットの次のラインにおける隣接ドットのデータを取得する。
【０１１５】
続いて、ステップＳ８−５−４で、重複印刷パターン生成部１６ａは、隣接ドットが空白ドットであるか否かを判定する。具体的には、当該ドットの次のラインにおける隣接ドットが印刷されない空白ドットであるか否かを判定する。
【０１１６】
そして、空白ドットでない場合、すなわち、次のラインにおける隣接ドットが印刷される場合、ステップＳ８−５−５で、重複印刷パターン生成部１６ａは、ドットサイズを変更しない。具体的には、当該ドットのドットサイズを減少させないようにする。
【０１１７】
また、空白ドットである場合、すなわち、次のラインにおける隣接ドットが印刷されない場合、ステップＳ８−５−６で、重複印刷パターン生成部１６ａは、当該ドットが重複印刷領域の最終ラインのドットであるか否かを判定する。すなわち、当該ドットが重複印刷の最終行に位置するものであるか否かを判定する。そして、最終ラインのドットでない場合、重複印刷パターン生成部１６ａは、ステップＳ８−５−７で、ドットサイズを５０〔％〕に変更する。すなわち、当該ドットのドットサイズが５０〔％〕となるように当該ドットの縮小率を決定する。一方、最終ラインのドットである場合、重複印刷パターン生成部１６ａは、ステップＳ８−５−８で、ドットサイズを７５〔％〕に変更する。すなわち、当該ドットのドットサイズが７５〔％〕となるように当該ドットの縮小率を決定する。
【０１１８】
続いて、ステップＳ８−５−９で、重複印刷パターン生成部１６ａは、ライン端のドットデータであるか否かを判定する。すなわち、当該ドットが、データを取得した１ラインの端に位置するドットであるか否かを判定する。
【０１１９】
そして、ライン端のドットデータでない場合、ステップＳ８−５−２で、重複印刷パターン生成部１６ａは、再度、１ドット分のデータを取得して以降の動作を繰り返す。
【０１２０】
また、ステップＳ８−５−１０で、ライン端のドットデータである場合、重複印刷パターン生成部１６ａは、重複印刷領域の最終ラインであるか否かを判定する。すなわち、データを取得したラインが重複印刷領域の最終のラインであるか否かを判定する。
【０１２１】
そして、最終ラインでない場合、ステップＳ８−５−１で、重複印刷パターン生成部１６ａは、再度、１ライン分のデータを取得して以降の動作を繰り返す。
【０１２２】
また、最終ラインである場合、重複印刷領域のすべてのドットについて、必要な場合には、補正を実施したことになるので、重複印刷パターン生成部１６ａは、キャラクタ重複印刷パターン生成処理を終了する。
【０１２３】
このように、キャラクタ重複印刷パターン生成処理を実施することによって、図１７に示されるような印刷結果を得ることができる。図１７に示されるのは、キャラクタとしてアルファベットのＡを印刷した例である。従来技術では、Ａという文字の空白部分が、ドットによって埋められて、狭くなっている。これに対し、本実施の形態においては、ドットサイズを縮小しているので、Ａという文字の空白部分が、あまり埋められておらず、狭くなっていないことが分かる。
【０１２４】
次に、フローチャートについて説明する。
ステップＳ８−５−１  １ライン分のデータを取得する。
ステップＳ８−５−２  １ドット分のデータを取得する。
ステップＳ８−５−３  隣接する次のラインの１ドット分のデータを取得する。
ステップＳ８−５−４  隣接ドットが空白ドットであるか否かを判定する。隣接ドットが空白ドットである場合はステップＳ８−５−６に進み、隣接ドットが空白ドットでない場合はステップＳ８−５−５に進む。
ステップＳ８−５−５  ドットサイズを変更しない。
ステップＳ８−５−６  当該ドットが重複印刷領域の最終ラインのドットであるか否かを判定する。当該ドットが重複印刷領域の最終ラインのドットである場合はステップＳ８−５−８に進み、当該ドットが重複印刷領域の最終ラインのドットでない場合はステップＳ８−５−７に進む。
ステップＳ８−５−７  ドットサイズを５０〔％〕に変更する。
ステップＳ８−５−８  ドットサイズを７５〔％〕に変更する。
ステップＳ８−５−９  ライン端のドットデータであるか否かを判定する。ライン端のドットデータである場合はステップＳ８−５−１０に進み、ライン端のドットデータでない場合はステップＳ８−５−２に戻る。
ステップＳ８−５−１０  重複印刷領域の最終ラインであるか否かを判定する。重複印刷領域の最終ラインである場合はキャラクタ重複印刷パターン生成処理を終了し、重複印刷領域の最終ラインでない場合はステップＳ８−５−１に戻る。
【０１２５】
次に、その他イメージ重複印刷パターン生成処理のサブルーチンについて説明する。
【０１２６】
図１９は本発明の実施の形態におけるその他イメージデータの重複印刷パターンを説明する図、図２０は本発明の実施の形態におけるその他イメージデータの重複印刷の結果を説明する第１の図、図２１は本発明の実施の形態におけるその他イメージデータの重複印刷の結果を説明する第２の図、図２２は本発明の実施の形態におけるその他イメージ重複印刷パターン生成処理のサブルーチンを示すフローチャートである。
【０１２７】
その他イメージデータの場合、階調が含まれているので、ドットサイズが変化したり、ドットが間引きされているようなドットパターンになったりすることがある。例えば、図３に示される従来技術の例のように、同じドットパターンの重複印刷を行うと、空白スペースが埋まって、階調が崩れてしまう可能性がある。そのため、図１９に示されるように、当該ドットの次のラインにおける３つのドット（番号が１〜３番の隣接ドット）を参照して補正を実施する。
【０１２８】
具体的には、２番の隣接ドットが印刷される場合、２番の隣接ドット及び当該ドットのドットサイズが等しいときには補正を実施しないが、２番の隣接ドット及び当該ドットのドットサイズが異なるときには、小さい方のドットサイズに合わせるように、補正を実施する。
【０１２９】
また、２番の隣接ドットが印刷されない場合、１番の隣接ドット及び３番の隣接ドットの印刷のうちで印刷されるドットの数に応じて、補正を切り替える。つまり、１番の隣接ドット及び３番の隣接ドットがいずれも印刷されないときには、キャラクタ重複印刷パターン生成処理と同様の補正を実施する。また、１番の隣接ドット及び３番の隣接ドットの一方が印刷され他方が印刷されないときには、結果が太くなり過ぎないように当該ドットを縮小する。さらに、１番の隣接ドット及び３番の隣接ドットがいずれも印刷されるときには、重複印刷の最終行にあるのか否かに応じて、当該ドットの縮小率を変更する。重複印刷の最終行にないときには、空白を埋めるようになってしまうので、重複印刷の最終行にあるときよりも、当該ドットのドットサイズを小さくする。
【０１３０】
その他イメージ重複印刷パターン生成処理が開始されると、ステップＳ８−６−１で、重複印刷パターン生成部１６ａは、まず、１ライン分のデータを取得する。具体的には、重複印刷領域における印刷ドットデータの１ラインに対応するデータを、重複印刷領域の最初のラインから順次、取得する。
【０１３１】
続いて、ステップＳ８−６−２で、重複印刷パターン生成部１６ａは、１ドット分のデータを取得する。具体的には、取得した１ラインの中の１ドットに対応するデータを、ラインの端のドットから順次、当該ドットのデータとして取得する。
【０１３２】
続いて、ステップＳ８−６−３で、重複印刷パターン生成部１６ａは、隣接する次のラインの３ドット分のデータを取得する。具体的には、当該ドットの次のラインにおける１〜３番の隣接ドットのデータを取得する。
【０１３３】
続いて、ステップＳ８−６−４で、重複印刷パターン生成部１６ａは、媒体搬送方向に隣接しているドットが空白ドットであるか否かを判定する。具体的には、当該ドットの次のラインにおける２番の隣接ドットが印刷されない空白ドットであるか否かを判定する。
【０１３４】
そして、空白ドットでない場合、すなわち、次のラインにおける２番の隣接ドットが印刷される場合、ステップＳ８−６−５で、重複印刷パターン生成部１６ａは、隣接ドットのサイズが当該ドットよりも小さいか否かを判定する。すなわち、次のラインにおける２番の隣接ドットのドットサイズが当該ドットのドットサイズより小さいか否かを判定する。
【０１３５】
ここで、隣接ドットのサイズが当該ドットよりも小さくない場合、ステップＳ８−６−６で、重複印刷パターン生成部１６ａは、ドットサイズを変更しない。具体的には、当該ドットのドットサイズを減少させないようにする。一方、隣接ドットのサイズが当該ドットよりも小さい場合、ステップＳ８−６−７で、重複印刷パターン生成部１６ａは、隣接ドットと同サイズに変更する。具体的には、当該ドットのドットサイズを減少させ、隣接ドットのドットサイズに等しくする。
【０１３６】
なお、媒体搬送方向に隣接しているドットが空白ドットであるか否かを判定して空白ドットである場合、ステップＳ８−６−８で、重複印刷パターン生成部１６ａは、残りの隣接ドットの印刷数を判定する。具体的には、次のラインにおける２番の隣接ドットが印刷されない場合、当該ドットの次のラインにおける１番及び３番の隣接ドットのうちで印刷されるドットの数を判定する。
【０１３７】
そして、印刷数が２である場合、ステップＳ８−６−９で、重複印刷パターン生成部１６ａは、重複印刷最終ラインであるか否かを判定する。すなわち、当該ドットが重複印刷の最終行に位置するものであるか否かを判定する。そして、重複印刷最終ラインでない場合、ステップＳ８−６−１０で、重複印刷パターン生成部１６ａは、ドットサイズを３０〔％〕に変更する。すなわち、当該ドットのドットサイズが３０〔％〕となるように当該ドットの縮小率を決定する。一方、重複印刷最終ラインである場合、ステップＳ８−６−１１で、重複印刷パターン生成部１６ａは、ドットサイズを５０〔％〕に変更する。すなわち、当該ドットのドットサイズが５０〔％〕となるように当該ドットの縮小率を決定する。
【０１３８】
また、残りの隣接ドットの印刷数を判定して印刷数が１である場合、ステップＳ８−６−１２で、重複印刷パターン生成部１６ａは、ドットサイズを５０〔％〕に変更する。すなわち、当該ドットのドットサイズが５０〔％〕となるように当該ドットの縮小率を決定する。
【０１３９】
さらに、残りの隣接ドットの印刷数を判定して印刷数が０である場合、ステップＳ８−６−１３で、重複印刷パターン生成部１６ａは、重複印刷最終ラインであるか否かを判定する。すなわち、当該ドットが重複印刷の最終行に位置するものであるか否かを判定する。そして、重複印刷最終ラインでない場合、ステップＳ８−６−１４で、重複印刷パターン生成部１６ａは、ドットサイズを５０〔％〕に変更する。すなわち、当該ドットのドットサイズが５０〔％〕となるように当該ドットの縮小率を決定する。一方、重複印刷最終ラインである場合、ステップＳ８−６−１５で、重複印刷パターン生成部１６ａは、ドットサイズを７５〔％〕に変更する。すなわち、当該ドットのドットサイズが７５〔％〕となるように当該ドットの縮小率を決定する。
【０１４０】
続いて、ステップＳ８−６−１６で、重複印刷パターン生成部１６ａは、ライン端のドットデータであるか否かを判定する。すなわち、当該ドットが、データを取得した１ラインの端に位置するドットであるか否かを判定する。
【０１４１】
そして、ライン端のドットデータでない場合、ステップＳ８−６−２で、重複印刷パターン生成部１６ａは、再度、１ドット分のデータを取得して以降の動作を繰り返す。
【０１４２】
また、ライン端のドットデータである場合、ステップＳ８−６−１７で、重複印刷パターン生成部１６ａは、重複印刷領域の最終ラインであるか否かを判定する。すなわち、データを取得したラインが重複印刷領域の最終のラインであるか否かを判定する。
【０１４３】
そして、最終ラインでない場合、ステップＳ８−６−１で、重複印刷パターン生成部１６ａは、再度、１ライン分のデータを取得して以降の動作を繰り返す。
【０１４４】
また、最終ラインである場合、重複印刷領域のすべてのドットについて、必要な場合には、補正を実施したことになるので、重複印刷パターン生成部１６ａは、その他イメージ重複印刷パターン生成処理を終了する。
【０１４５】
このように、その他イメージ重複印刷パターン生成処理を実施することによって、図２０及び２１に示されるような印刷結果を得ることができる。図２０に示される例では、多少印刷が太くなるものの、ドットサイズが縮小されているので、空白が目立ちすぎず、かつ、印刷が太くなりすぎず、全体として目立たなくなっている。また、図２１に示される例では、位置ズレが発生したときに、空白部分が埋まってしまって完全に１ラインとなってしまわないようにするためにドットサイズが縮小されているので、グラデーションのようにぼかすことができ、目立ちにくくなっている。
【０１４６】
次に、フローチャートについて説明する。
ステップＳ８−６−１  １ライン分のデータを取得する。
ステップＳ８−６−２  １ドット分のデータを取得する。
ステップＳ８−６−３  隣接する次のラインの３ドット分のデータを取得する。
ステップＳ８−６−４  媒体搬送方向に隣接しているドットが空白ドットであるか否かを判定する。媒体搬送方向に隣接しているドットが空白ドットである場合はステップＳ８−６−８に進み、媒体搬送方向に隣接しているドットが空白ドットでない場合はステップＳ８−６−５に進む。
ステップＳ８−６−５  隣接ドットのサイズが当該ドットよりも小さいか否かを判定する。隣接ドットのサイズが当該ドットよりも小さい場合はステップＳ８−６−７に進み、隣接ドットのサイズが当該ドットよりも小さくない場合はステップＳ８−６−６に進む。
ステップＳ８−６−６  ドットサイズを変更しない。
ステップＳ８−６−７  隣接ドットと同サイズに変更する。
ステップＳ８−６−８  残りの隣接ドットの印刷数を判定する。残りの隣接ドットの印刷数が２である場合はステップＳ８−６−９に進み、残りの隣接ドットの印刷数が１である場合はステップＳ８−６−１２に進み、残りの隣接ドットの印刷数が０である場合はステップＳ８−６−１３に進む。
ステップＳ８−６−９  重複印刷最終ラインであるか否かを判定する。重複印刷最終ラインである場合はステップＳ８−６−１１に進み、重複印刷最終ラインでない場合はステップＳ８−６−１０に進む。
ステップＳ８−６−１０  ドットサイズを３０〔％〕に変更する。
ステップＳ８−６−１１  ドットサイズを５０〔％〕に変更する。
ステップＳ８−６−１２  ドットサイズを５０〔％〕に変更する。
ステップＳ８−６−１３  重複印刷最終ラインであるか否かを判定する。重複印刷最終ラインである場合はステップＳ８−６−１５に進み、重複印刷最終ラインでない場合はステップＳ８−６−１４に進む。
ステップＳ８−６−１４  ドットサイズを５０〔％〕に変更する。
ステップＳ８−６−１５  ドットサイズを７５〔％〕に変更する。
ステップＳ８−６−１６  ライン端のドットデータであるか否かを判定する。ライン端のドットデータである場合はステップＳ８−６−１７に進み、ライン端のドットデータでない場合はステップＳ８−６−２に戻る。
ステップＳ８−６−１７  重複印刷領域の最終ラインであるか否かを判定する。重複印刷領域の最終ラインである場合はその他イメージ重複印刷パターン生成処理を終了し、重複印刷領域の最終ラインでない場合はステップＳ８−６−１に戻る。
【０１４７】
次に、バーコード重複印刷パターン生成処理のサブルーチンについて説明する。
【０１４８】
図２３は本発明の実施の形態におけるバーコードデータの重複印刷パターンを説明する図、図２４は本発明の実施の形態におけるバーコードデータの重複印刷の結果を説明する第１の図、図２５は本発明の実施の形態におけるバーコードデータの重複印刷の結果を説明する第２の図、図２６は本発明の実施の形態におけるバーコード重複印刷パターン生成処理のサブルーチンを示すフローチャートである。
【０１４９】
バーコードも、キャラクタと同様に、階調がないので、印刷ドットの有無のみで表現される。また、バーコードは、印刷方向によっては、連続するドットとなる。図２３に示されれるように、印刷方向が横の場合、媒体搬送方向にドットが続くので、補正の必要がない。一方、印刷方向が縦の場合、媒体搬送方向にバーが並ぶ形状となるので、空白ドットを埋めてしまうときや、空白ドットが広がってしまうときがある。
【０１５０】
バーコードの場合、ナローバーの幅とワイドバーの幅との比率が決まっており、この比率が大きくずれるとバーコードが読めなくなってしまう。ナローバーの幅とワイドバーの幅との比率は、バーサイズが２種類の場合、１：２〜３であり、バーサイズが４種類の場合、１：２：３：４である。そこで、本実施の形態においては、ナローバーのサイズによって補正量を決定する。
【０１５１】
図２３に示されるように、ナローバー幅のサイズが大きくなればなるほどマージンが大きくなるので、ナローバー幅のサイズに応じてドットの縮小率を決定する。例えば、ナローバー幅が１ドットである場合、ワイドバー幅は２〜３ドットとなるが、ナローバー幅が５ドットである場合、ワイドバー幅は１０〜１５ドットとなる。したがって、ナローバー幅が５ドットである場合には、位置ズレによって１ドット分太くなっても影響が少ないが、ナローバー幅が１ドットの場合には、位置ズレによって１ドット分太くなると、ナローバーがワイドバーとして認識されてしまう恐れがある。
【０１５２】
バーコード重複印刷パターン生成処理が開始されると、ステップＳ８−７−１で、重複印刷パターン生成部１６ａは、まず、１ライン分のデータを取得する。具体的には、重複印刷領域における印刷ドットデータの１ラインに対応するデータを、重複印刷領域の最初のラインから順次、取得する。
【０１５３】
続いて、ステップＳ８−７−２で、重複印刷パターン生成部１６ａは、１ドット分のデータを取得する。具体的には、取得した１ラインの中の１ドットに対応するデータを、ラインの端のドットから順次、当該ドットのデータとして取得する。
【０１５４】
続いて、ステップＳ８−７−３で、重複印刷パターン生成部１６ａは、隣接する次のラインの１ドット分のデータを取得する。具体的には、当該ドットの次のラインにおける隣接ドットのデータを取得する。
【０１５５】
続いて、ステップＳ８−７−４で、重複印刷パターン生成部１６ａは、縦印刷であるか否かを判定する。具体的には、バーコードの各バーが媒体２１の幅方向に延在するようにバーコードを印刷する縦印刷であるか、又は、バーコードの各バーが媒体２１の搬送方向に延在するようにバーコードを印刷する横印刷であるかを判定する。
【０１５６】
そして、縦印刷でない場合、すなわち、横印刷である場合、ステップＳ８−７−５で、重複印刷パターン生成部１６ａは、ドットサイズを変更しない。具体的には、当該ドットのドットサイズを減少させないようにする。
【０１５７】
また、縦印刷である場合、ステップＳ８−７−６で、重複印刷パターン生成部１６ａは、隣接ドットが空白ドットであるか否かを判定する。具体的には、当該ドットの次のラインにおける隣接ドットが印刷されない空白ドットであるか否かを判定する。そして、空白ドットでない場合、すなわち、次のラインにおける隣接ドットが印刷される場合、ステップＳ８−７−５で、重複印刷パターン生成部１６ａは、ドットサイズを変更しない。また、空白ドットである場合、すなわち、次のラインにおける隣接ドットが印刷されない場合、ステップＳ８−７−７で、重複印刷パターン生成部１６ａは、ナローバー幅が１ドットであるか否かを判定する。ここで、ナローバー幅が１ドットでない場合、ステップＳ８−７−８で、重複印刷パターン生成部１６ａは、ナローバー幅を判定する。具体的には、ナローバー幅が２ドット、３ドット又は４ドットのいずれであるかを判定する。
【０１５８】
そして、ナローバー幅が４ドットである場合、ステップＳ８−７−５で、重複印刷パターン生成部１６ａは、ドットサイズを変更しない。また、ナローバー幅が３ドットである場合、ステップＳ８−７−９で、重複印刷パターン生成部１６ａは、ドットサイズを９０〔％〕に変更する。すなわち、当該ドットのドットサイズが９０〔％〕となるように当該ドットの縮小率を決定する。さらに、ナローバー幅が２ドットである場合、ステップＳ８−７−１０で、重複印刷パターン生成部１６ａは、ドットサイズを７０〔％〕に変更する。すなわち、当該ドットのドットサイズが７０〔％〕となるように当該ドットの縮小率を決定する。
【０１５９】
なお、ナローバー幅が１ドットであるか否かを判定して１ドットである場合、ステップＳ８−７−１１で、重複印刷パターン生成部１６ａは、ドットサイズを５０〔％〕に変更する。すなわち、当該ドットのドットサイズが５０〔％〕となるように当該ドットの縮小率を決定する。
【０１６０】
続いて、重複印刷パターン生成部１６ａは、ステップＳ８−７−１２で、ライン端のドットデータであるか否かを判定する。すなわち、当該ドットが、データを取得した１ラインの端に位置するドットであるか否かを判定する。
【０１６１】
そして、ライン端のドットデータでない場合、ステップＳ８−７−２で、重複印刷パターン生成部１６ａは、再度、１ドット分のデータを取得して以降の動作を繰り返す。
【０１６２】
また、ライン端のドットデータである場合、ステップＳ８−７−１３で、重複印刷パターン生成部１６ａは、重複印刷領域の最終ラインであるか否かを判定する。すなわち、データを取得したラインが重複印刷領域の最終のラインであるか否かを判定する。
【０１６３】
そして、最終ラインでない場合、ステップＳ８−７−１で、重複印刷パターン生成部１６ａは、再度、１ライン分のデータを取得して以降の動作を繰り返す。
【０１６４】
また、最終ラインである場合、重複印刷領域のすべてのドットについて、必要な場合には、補正を実施したことになるので、重複印刷パターン生成部１６ａは、バーコード重複印刷パターン生成処理を終了する。
【０１６５】
このように、バーコード重複印刷パターン生成処理を実施することによって、図２４及び２５に示されるような印刷結果を得ることができる。図２４に示される例は、バーコードの各バーが媒体２１の搬送方向に延在するようにバーコードを印刷する横印刷の例であって、印刷ドットが媒体２１の搬送方向に連続するので、位置ズレによって印刷ドットが重複して印刷されても問題がない。また、図２５に示される例は、バーコードの各バーが媒体２１の幅方向に延在するようにバーコードを印刷する縦印刷の例である。この場合、位置ズレが発生することによって、空白バー及び黒バーが多少太くなるが、ドットサイズが小さくされているので、太くなる量が空白バー及び黒バーに分散されるので、極端に太くなったり極端に狭くなったりすることが防止される。
【０１６６】
次に、フローチャートについて説明する。
ステップＳ８−７−１  １ライン分のデータを取得する。
ステップＳ８−７−２  １ドット分のデータを取得する。
ステップＳ８−７−３  隣接する次のラインの１ドット分のデータを取得する。
ステップＳ８−７−４  縦印刷であるか否かを判定する。縦印刷である場合はステップＳ８−７−６に進み、縦印刷でない場合はステップＳ８−７−５に進む。
ステップＳ８−７−５  ドットサイズを変更しない。
ステップＳ８−７−６  隣接ドットが空白ドットであるか否かを判定する。隣接ドットが空白ドットである場合はステップＳ８−７−７に進み、隣接ドットが空白ドットでない場合はステップＳ８−７−５に戻る。
ステップＳ８−７−７  ナローバー幅が１ドットであるか否かを判定する。ナローバー幅が１ドットである場合はステップＳ８−７−１１に進み、ナローバー幅が１ドットでない場合はステップＳ８−７−８に進む。
ステップＳ８−７−８  重複印刷パターン生成部１６ａは、ナローバー幅を判定する。ナローバー幅が４ドットである場合はステップＳ８−７−５に戻り、ナローバー幅が３ドットである場合はステップＳ８−７−９に進み、ナローバー幅が２ドットである場合はステップＳ８−７−１０に進む。
ステップＳ８−７−９  ドットサイズを９０〔％〕に変更する。
ステップＳ８−７−１０  ドットサイズを７０〔％〕に変更する。
ステップＳ８−７−１１  ドットサイズを５０〔％〕に変更する。
ステップＳ８−７−１２  ライン端のドットデータであるか否かを判定する。ライン端のドットデータである場合はステップＳ８−７−１３に進み、ライン端のドットデータでない場合はステップＳ８−７−２に戻る。
ステップＳ８−７−１３  重複印刷領域の最終ラインであるか否かを判定する。重複印刷領域の最終ラインである場合はバーコード重複印刷パターン生成処理を終了し、重複印刷領域の最終ラインでない場合はステップＳ８−７−１に戻る。
【０１６７】
このように、本実施の形態においては、重複印刷を実施することによって、媒体２１の切断時の印刷の中断に起因するホワイトラインの発生を防止するとともに、重複印刷領域では、印刷データのタイプ並びに各ドット及びその隣接ドットのパターンに応じてドットサイズを補正することによって、特に、その他イメージデータの印刷のような階調印刷において重複印刷領域で空白が埋まることにより発生する黒ライン等を防止することにより、印刷品質を向上させることができる。
【０１６８】
なお、本実施の形態においては、ドットの縮小率を数値で設定した例について説明したが、ドットサイズの縮小率はこれに限定されるものではない。さらに、あらかじめロゴ等を登録する領域を設けている場合、ロゴ等の登録時点で重複印刷が必要かを判定し、重複印刷パターンを生成してもよい。
【０１６９】
また、本発明は前記実施の形態に限定されるものではなく、本発明の趣旨に基づいて種々変形させることが可能であり、それらを本発明の範囲から排除するものではない。
【産業上の利用可能性】
【０１７０】
本発明は、印刷装置及び印刷方法に利用することができる。
【符号の説明】
【０１７１】
１０    印刷装置
１１    印刷ヘッド
１２    カッタ
２１    媒体
２２    プラテンローラ
【図１】
2015136824.tif 000003
【図２】
2015136824.tif 000004
【図３】
2015136824.tif 000005
【図４】
2015136824.tif 000006
【図５】
2015136824.tif 000007
【図６】
2015136824.tif 000008
【図７】
2015136824.tif 000009
【図８】
2015136824.tif 000010
【図９】
2015136824.tif 000011
【図１０】
2015136824.tif 000012
【図１１】
2015136824.tif 000013
【図１２】
2015136824.tif 000014
【図１３】
2015136824.tif 000015
【図１４】
2015136824.tif 000016
【図１５】
2015136824.tif 000017
【図１６】
2015136824.tif 000018
【図１７】
2015136824.tif 000019
【図１８】
2015136824.tif 000020
【図１９】
2015136824.tif 000021
【図２０】
2015136824.tif 000022
【図２１】
2015136824.tif 000023
【図２２】
2015136824.tif 000024
【図２３】
2015136824.tif 000025
【図２４】
2015136824.tif 000026
【図２５】
2015136824.tif 000027
【図２６】
2015136824.tif 000028