以下、本発明の実施形態について、図面を参照して説明する。なお、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものであり、図示されている装置の構成、各種処理のフローチャートなどは、それのみに限定する趣旨ではなく、単なる説明例である。以下の説明において、図1の右下側、左上側、右上側、左下側、上側、下側を、夫々、印刷装置1の右側、左側、後側、前側、上側、下側と定義する。また、図2以降の説明においても、図1における方向の定義を準用する。
図1、図2を参照し、印刷装置1の概要について説明する。印刷装置1は、USB(Universal Serial Bus)ケーブルを介して外部端末(図示略)に接続可能である。外部端末は、例えば、汎用のパーソナルコンピュータ(PC)、携帯端末、タブレット端末等である。印刷装置1は、外部端末から受信した印刷データに基づいて、印刷媒体に文字や図形等を印刷できる。印刷媒体は、例えば、感熱ラベルを台紙に貼り付けた長尺なシート3Aである。印刷装置1は、シート3Aをロール状に巻回したロールシート3を筐体2内に収容し、シート3Aを引き出して印刷する。
印刷装置1は、上部が開放する箱形態の筐体2を備える。筐体2は、正面視及び平面視略矩形状であり、前後方向に長い。筐体2上部の開放部分は、カバー5に覆われる。筐体2は、左右両側の側部が後側部分において開放され、上部同様、開放部分がカバー5に覆われる。カバー5は、筐体2の後端部に回動可能に支持される。カバー5は、左右方向に延びる回転軸を支点に前端側を上下に揺動し、筐体2を開閉する。カバー5を閉じた筐体2は、上部後側の部分が側面視略円形状に形成され、上部前側が前方へ向けて傾斜する。
筐体2は、前面に、左右方向に移動可能なカットレバー9を備える。カットレバー9はカッターユニット8(図2参照)に連結する。カットレバー9が左右方向に移動すると、カッターユニット8が左右に移動し、印刷後のシート3Aが切断される。筐体2の前端部の上面には、電源スイッチを含む入力キー7が設けられている。入力キー7の後側には、透明樹脂製で板状のトレー6が立設されている。トレー6の後側には、カバー5の前端部と筐体2とによって形成された左右方向に長い排出口21(図2参照)が設けられる。トレー6は、排出口21から排出される印刷後のシート3Aを受ける。筐体2の背面下部には、電源コード10(図2参照)を接続するコネクタ(図示略)が設けられる。また、背面下部には、外部端末等と接続するUSBケーブル(図示略)を接続するコネクタ(図示略)が設けられる。
図2に示すように、筐体2内の後部には、シート収納部4が設けられている。シート収納部4は、側面視、下方へ向けて凹む円弧状に形成される。シート収納部4は、上部及び左右両側の側部を開放する。シート収納部4には、シート3Aを巻回したロールシート3が収納される。ロールシート3は、印刷が行われる面を内側にして巻回され、テープスプール42に保持される。テープスプール42は、シート収納部4の左右に立設された支持部41(図1参照)に係合し、シート収納部4内でロールシート3を回転可能に支持する。カバー5が開いた場合、テープスプール42は、支持部41に着脱可能である。シート収納部4の下方には、制御基板12が配置される。制御基板12は、印刷装置1の全体を制御するCPU51等を実装する。
シート収納部4の左前方には、レバー11(図1参照)が設けられている。レバー11の右側には、左右方向に延びるローラホルダ25が設けられる。ローラホルダ25は、プラテンローラ26、接続ローラ27及び搬送ローラ28を回転可能に保持する。レバー11は、図示しない巻きバネによって、常に上方に付勢されている。カバー5が閉じられると、レバー11は、カバー5によって下方に押圧される。レバー11は、ローラホルダ25に接続する。ローラホルダ25は、レバー11の上下方向への回動に連動し、後端の支点を中心に上下方向に移動する。レバー11が下方に回動すると、ローラホルダ25は下方に移動する。プラテンローラ26と搬送ローラ28は、ロールシート3から引き出されたシート3Aを、サーマルヘッド31に向けて押圧する。この場合、印刷装置1は印刷可能な状態になる。カバー5が開かれると、レバー11は上方に回動し、ローラホルダ25を上方に移動させる。ローラホルダ25に保持されたプラテンローラ26及び搬送ローラ28は、サーマルヘッド31及びシート3Aから離間する。この場合、印刷装置1は、印刷不能な状態になる。
筐体2は、シート収納部4の前側から前方斜め下方向へ向けて、ロールシート3から引き出されたシート3Aを搬送する搬送路22を有する。搬送路22は、搬送ローラ28及びプラテンローラ26とサーマルヘッド31との間を通り、排出口21に接続する。本実施形態の印刷装置1は、シート3Aをシート収納部4から排出口21に搬送しながらシート3Aに印刷を行う。以下の説明において、シート3Aが搬送路22内で流通する方向を搬送方向という。
プラテンローラ26、搬送ローラ28、接続ローラ27及びサーマルヘッド31は、搬送路22の略中央に配置される。サーマルヘッド31は、感熱ラベルを加熱することによって感熱ラベルに含まれる色素を発色させ、ドットを形成することができる印刷ヘッドである。サーマルヘッド31は板形状であり、上側の表面に、シート3Aの搬送方向に直交する主走査方向(左右方向)に一列に並ぶ複数の発熱素子32を備える。本実施形態のサーマルヘッド31は、例えば360個の発熱素子32を一列に配列する。なお、サーマルヘッド31が設けられた位置において、発熱素子32が配列された主走査方向に直交する方向を、副走査方向という。副走査方向は、発熱素子32付近において、搬送方向と一致する。
プラテンローラ26は、ローラホルダ25に回転可能に軸支され、サーマルヘッド31の上方に配置される。プラテンローラ26は、発熱素子32の列と平行な主走査方向に軸方向を揃えて配置され、発熱素子32と対向する。プラテンローラ26は、ローラホルダ25によってサーマルヘッド31へ向けて付勢される。プラテンローラ26は、ギア(図示略)を介して搬送モータ60(図3参照)に接続され、搬送モータ60に回転駆動される。プラテンローラ26は、サーマルヘッド31との間にシート3Aを挟み、回転駆動することによってシート3Aを搬送する。
印刷装置1のCPU51(図3参照)は、発熱素子32に対するエネルギーの印加を制御することで、シート3Aに、発熱素子32の配列に対応して1列に並ぶドット列を形成する。ドット列を、ラインと呼ぶ。また、CPU51は、発熱素子32に対するエネルギー印加の制御を、プラテンローラ26の駆動制御と同期して行うことで、シート3Aに、1ラインにおけるドットの並びの方向と直交する方向に、複数のラインを並列させて形成する。複数のラインは、個々のドットの形成の有無によってシート3A上で濃淡を構成し、文字、画像等を形成する。以下の説明において、シート3Aに形成される1ラインにおけるドットの並びの方向を、便宜上、主走査方向とする。また、シート3Aに形成される複数のラインが並列する方向を、便宜上、副走査方向とする。
接続ローラ27は、プラテンローラ26の後側に設けられ、ローラホルダ25に回転可能に軸支される。接続ローラ27の外径は、プラテンローラ26の外径より小さく、且つ搬送ローラ28の外径よりも小さい。接続ローラ27の表面は、プラテンローラ26の表面と搬送ローラ28の表面に夫々接触する。接続ローラ27は、プラテンローラ26に従動して回転し、回転の駆動力を搬送ローラ28に伝達する。
搬送ローラ28は、プラテンローラ26の後側、且つ接続ローラ27の下側に設けられ、ローラホルダ25に回転可能に軸支される。搬送ローラ28は、サーマルヘッド31の発熱素子32よりも後側の上面に対向して配置される。搬送ローラ28の外径は、プラテンローラ26の外径より小さく、接続ローラ27の外径より大きい。搬送ローラ28は、接続ローラ27に従動し、接続ローラ27を介して伝達されるプラテンローラ26の駆動力によって回転する。搬送ローラ28は、プラテンローラ26と同じ向きに回転する。搬送ローラ28は、サーマルヘッド31との間にシート3Aを挟み、プラテンローラ26と協働してシート3Aを搬送する。
図3を参照し、印刷装置1の電気的構成について説明する。印刷装置1は、印刷装置1の制御を司るCPU51を備える。CPU51には、ROM52、RAM53、フラッシュメモリ54、及びCGROM55が接続される。ROM52には、CPU51が実行する各種プログラムが記憶される。後述する印刷プログラムも、ROM52に記憶される。RAM53には、種々の一時データが記憶される。フラッシュメモリ54には、種々のデータが記憶される。後述する印刷プログラムの実行において使用されるファクトリー設定値等もフラッシュメモリ54に記憶される。CGROM55には、種々のキャラクタをシート3Aに印刷するための印刷用のドットパターンデータが記憶される。
CPU51には、入出力インタフェイス56を介し、入力キー7、駆動回路57,58、及び通信インタフェイス59が接続される。印刷装置1の上面に設けられた入力キー7(図1参照)は、ユーザによる操作の入力を受け付ける。駆動回路57は、サーマルヘッド31に設けられた複数の発熱素子32の夫々にエネルギーを印加する。CPU51は、駆動回路57を介して個々の発熱素子32の発熱を制御する。駆動回路58は、搬送モータ60を駆動する。搬送モータ60はパルスモータである。CPU51は、駆動回路58を介して搬送モータ60を制御し、プラテンローラ26を回転させて、シート3Aを所定の速度でドット列の1ライン分ずつ搬送する。通信インタフェイス59は、USBケーブル(図示略)を介して外部端末と通信するインタフェイスである。印刷装置1はUSBケーブルを介してPC等から印刷データを受信する。なお、通信インタフェイス59は、Bluetooth(登録商標)、無線LAN等によって外部端末と通信するインタフェイスであってもよい。
前述したように、印刷装置1のCPU51は、外部端末から受信する印刷データに基づいて、シート3Aを1ライン分ずつ搬送しながら個々の発熱素子32に対する印刷エネルギーの印加の有無を制御することによって、シート3Aにドットを形成する。印刷データは、シート3Aにドットを形成する部分が1、非形成の部分が0で示されるデータである。例えば、図4に示すように、シート3Aに「ABCDE」の英文字を印刷する場合、複数(360個)の発熱素子32が一列に配列される主走査方向がX軸に設定され、ドット列によって形成されるラインが複数並ぶ副走査方向がY軸に設定される。なお、図4のシート3Aには、後述する印刷プログラムの説明の便宜上、左上角部に極めて小さいサイズの二次元バーコードが印刷されるものとする。
印刷データは、座標(X,Y)と、その値(1又は0)によって示される二次元データ群である。X軸の値によって、主走査方向に並ぶ個々の発熱素子32に対応して形成される各ドットが指定される。X軸の値は、主走査方向に並ぶ360個のドットに対応し、0〜359で示される。印刷時、CPU51は、シート3Aに1ラインずつ印刷する。Y軸の値によって、副走査方向に並ぶ各ラインが指定される。上記の「ABCDE」の英文字は、例えば、360×1080ドットで構成されるものとする。即ち、印刷装置1は、シート3Aに1080ラインの印刷を行って、「ABCDE」の英文字を形成する。Y軸の値は、副走査方向に並ぶ1080個のラインに対応し、0〜1079で示される。図4において、黒ベタ塗りの四角で示されるドット(例えば座標(0,0))は、発色するドットであり、印刷データにおいて1で表される。白色の四角で示されるドット(例えば座標(8,0))は、非発色ドットであり、印刷データにおいて0で表される。CPU51は、印刷データにおいて、Y軸の値で指定したラインの印刷時に、X軸の値で指定したデータが1であれば、X軸の値に対応する発熱素子32に印刷エネルギーを印加して、シート3Aに座標(X,Y)=1に対応するドットを形成する。また、CPU51は、X軸の値で指定したデータが0の場合は、X軸の値に対応する発熱素子32に印刷エネルギーを印加せず、ドットを形成しない。なお、発色とは、感熱による印刷に限定するものではなく、熱転写による印刷も含まれる。
印刷装置1のCPU51は、発熱素子32に対するエネルギーの印加を周期的な処理で行う。CPU51は、通常、1回の印刷周期において1回の印刷エネルギーの印加を行い、1つのラインを印刷する。図5に示すように、1回の印刷周期G(N)は、主印加時間MH、副印加時間SH、オフ時間OFFに区分される。CPU51は、1つのドットを形成する場合に、対象の発熱素子32に対し、1回の印刷周期G(N)において、印刷エネルギーとして、主エネルギーMEと副エネルギーSEを印加する。主エネルギーMEは、発熱素子32を常温H0から発色温度H1を越えて昇温させることができる量のエネルギーである。発色温度H1は、感熱ラベルに含まれる色素を発色させることができる温度である。CPU51は、主エネルギーMEを、主印加時間MHに印加する。主エネルギーMEのみが印加された場合、発熱素子32は、常温H0から昇温してT1時間、発色温度H1を越えた状態を維持できる。
副エネルギーSEは、主エネルギーMEに追加して対象の発熱素子32に印加されるエネルギーである。副エネルギーSEは、補助エネルギーAEと予熱エネルギーPE(後述)とを含む。補助エネルギーAEは、主エネルギーMEと同じ印刷周期G(N)において、主エネルギーMEに追加して発熱素子32に印加されるエネルギーである。CPU51は、補助エネルギーAEを、主印加時間MH終了直後からの副印加時間SHに印加する。補助エネルギーAEの印加によって、発熱素子32は、常温H0から昇温してT1時間より長いT2時間、発色温度H1を越えた状態を維持できる。感熱ラベルは発色温度H1を越える温度でT1時間加熱されることによって発色するが、T2時間加熱されることによって発色濃度を高めることができる。故に、印刷装置1は、印刷掠れ等を防止することができる。
近年、印刷速度の向上を図り、印刷周期G(N)は従来よりも短く設定される傾向にある。主印加時間MH及び副印加時間SHは、従来よりも短く設定される。故に、図6に示すように、印刷装置1のCPU51は、印刷周期G(N)の1つ前の印刷周期G(N−1)において主エネルギーMEの印加が行われない場合、印刷周期G(N−1)の副印加時間SHに、対象の発熱素子32に予熱エネルギーPEを印加する。予熱エネルギーPEは、主エネルギーMEが印加される印刷周期G(N)より1つ前の印刷周期G(N−1)において、予め、発熱素子32に印加されるエネルギーである。補助エネルギーAEと予熱エネルギーPEは、印刷周期が異なるだけの同じ副エネルギーSEであり、本実施形態では便宜上、異なる名称で区別する。予熱エネルギーPEの印加によって、対象の発熱素子32は予熱され、印刷周期G(N−1)終了時の温度が常温H0より高く、発色温度H1よりは低い温度H2になる。この状態で、印刷周期G(N)に主エネルギーMEと副エネルギーSEが印加されることによって、対象の発熱素子32は、温度H2から昇温してT2時間(図5参照)と略同等でT1時間(図5参照)より長いT3時間、発色温度H1を越えた状態を維持できる。なお、図6において、従来よりも短い印刷周期G(N)において、主エネルギーME及び副エネルギーSEが印加され、発熱素子32の温度が常温H0から上昇した場合に示す温度上昇カーブを点線で示す。この場合に、発熱素子32が発色温度H1を越えた状態を維持できるT4時間は、T3時間よりも短い。故に、予熱エネルギーPEを印加することによって、印刷装置1は、感熱ラベルの発色濃度を高め、印刷掠れ等を防止することができる。
ところで、複数の発熱素子32に対し、印刷エネルギーを同時に印加することが可能な発熱素子32の数を、オンドット数という。オンドット数の最大値である最大オンドット数は、印刷装置1の電源部(図示略)が供給可能な電力に応じて予め設定されている。本実施形態の印刷装置1における最大オンドット数は、例えば180である。最大オンドット数は、電源部の仕様に応じて変更可能であり、ファクトリー設定値として工場出荷時にフラッシュメモリ54に記憶される。また、前述したように、サーマルヘッド31が搭載する発熱素子32の数、即ちヘッドドット数は360である。ヘッドドット数は、サーマルヘッド31の設計に応じて変更可能であり、ファクトリー設定値として工場出荷時にフラッシュメモリ54に記憶される。
上記の予熱エネルギーPEは、印刷周期G(N−1)に印刷するラインのドット形成のために印加される補助エネルギーAEに加えて印加される。故に、印刷周期G(N−1)において補助エネルギーAEを印加する発熱素子32の数と、予熱エネルギーPEを印加する発熱素子32の数とを合計したオンドット数が、最大オンドット数を超える可能性がある。オンドット数が最大オンドット数を超えた場合、印刷装置1は、分割印刷を行う。分割印刷は、主走査方向に配列された発熱素子32を複数の組に分割し、1回の印刷周期G(N)ごとに1組の発熱素子32に印刷エネルギーを印加することで、1ラインを完成する印刷処理である。1つのラインに対して分割印刷を行う場合、印刷装置1は、分割の組数分の印刷周期G(N)をかけて、そのラインの印刷を行う。故に、分割印刷を行う場合、印刷装置1は、シート3Aの搬送速度を通常時よりも遅く設定する。本実施形態では、印刷装置1は、通常時の搬送速度の目標値を25mm/sに設定し、分割印刷時の搬送速度の目標値を9mm/sに設定する。
本実施形態の印刷装置1は、オンドット数が最大オンドット数以下となるように、予熱エネルギーPEを印加する対象の発熱素子32に対して優先度を設定し、優先度に基づいて、予熱エネルギーPEの印加の有無を決定することができる。図7に示すように、1の発熱素子32に印刷エネルギーが印加される場合において、その発熱素子32に隣接する発熱素子32にも印刷エネルギーが印加される場合、1の発熱素子32は、隣接する発熱素子32の温度影響を受けて、昇温速度が速くなる。従って、印刷周期G(N)において、1の発熱素子32と、1の発熱素子32に隣接する発熱素子32に印刷エネルギーが印加される場合に、1の発熱素子32は、常温H0から昇温し、T2時間と略同等でT1時間より長いT5時間、発色温度H1を越えた状態を維持できる。なお、図7において、隣接する発熱素子32に印刷エネルギーが印加されない場合に、1の発熱素子32の温度が常温H0から上昇した場合に示す温度上昇カーブを点線で示す。この場合に、1の発熱素子32が発色温度H1を越えた状態を維持できるT4時間は、T5時間よりも短い。故に、隣接する発熱素子32に印刷エネルギーが印加される場合、1の発熱素子32に対し予熱エネルギーPEを印加しなくても、印刷装置1は、感熱ラベルの発色濃度を高め、印刷掠れ等を防止することができる。
もちろん、隣接する発熱素子32に印刷エネルギーが印加される場合であっても、予熱エネルギーPEを印加すれば、1の発熱素子32は、発色温度H1を越えた状態を維持できる時間を更に延ばし、感熱ラベルの発色濃度を高めることができる。本実施形態の印刷装置1は、印刷プログラムの実行において、1の発熱素子32に対して隣接する発熱素子32に対する印刷エネルギーの印加状態に応じて優先度を設定する。印刷装置1は、優先度に基づいて予熱エネルギーPEの印加の有無を決定することで、オンドット数を最大オンドット数以下にして分割印刷を行わないことで、印刷速度の低下を防止することができる。また、印刷装置1は、オンドット数を最大オンドット数以下となる状態において1の発熱素子32に対して予熱エネルギーPEを印加することで、印刷品質を確保することができる。
図8〜図14を参照し、印刷装置1が印刷プログラムを実行して行う印刷処理について説明する。まず、印刷プログラムの実行において使用される変数等について説明する。M_DATA(X,Y)は、印刷装置1が外部端末から受信する印刷データを格納する配列変数である。M_DATA(X,Y)には、主エネルギーMEの印加対象の発熱素子32に対応する配列変数に1が記憶され、非印加対象の発熱素子32に対応する配列変数に0が記憶される。
変数X,変数Yは、各種データを格納する配列変数の指定に使用される変数である。変数Xの値は0〜360の整数値をとるが、そのうちの0〜359は、主走査方向に配列された複数の発熱素子32の夫々に対応する。変数Yは、ドット列からなり副走査方向に沿って並列する複数のラインの夫々に対応する。変数Yの値は、0〜全ライン数の整数値をとる。全ライン数は印刷データによって異なる。本実施形態では、全ライン数は、例えば1080とする。なお、印刷順に1番目のラインをY=0で表すため、最終ラインはY=全ライン数(1080)−1=1079で表される。
S_DATA(X,Y)は、補助エネルギーAEの印加の有無を記憶する配列変数である。S_DATA(X,Y)には、補助エネルギーAEの印加対象の発熱素子32に対応する配列変数に1が記憶され、非印加対象の発熱素子32に対応する配列変数には0が記憶される。P_DATA(X,Y)は、予熱エネルギーPEの印加の有無と、印加する場合の優先度を表す、0,1,2又は4が記憶される配列変数である。SUB_DATA(X,Y)は、副印加時間SHにおける補助エネルギーAE又は予熱エネルギーPEの印加の有無を記憶する配列変数である。SUB_DATA(X,Y)には、補助エネルギーAE又は予熱エネルギーPEの印加対象の発熱素子32に対応する配列変数に1が記憶され、非印加対象の発熱素子32に対応する配列変数に0が記憶される。
P_Number(Y,0〜4)は、各ラインのオンドット数を計数する変数である。P_Number(Y,0)には、補助エネルギーAEが印加される発熱素子32の数がカウントされる。P_Number(Y,1)には、予熱エネルギーPEの印加対象で優先度が4の発熱素子32の数がカウントされる。P_Number(Y,2)には、予熱エネルギーPEの印加対象で優先度が2の発熱素子32の数がカウントされる。P_Number(Y,3)には、予熱エネルギーPEの印加対象で優先度が1の発熱素子32の数がカウントされる。P_Number(Y,4)には、補助エネルギーAE又は予熱エネルギーPEが印加される発熱素子32の総数がカウントされる。
変数Aは、最大オンドット数が記憶される変数である。前述したように、最大オンドット数は、ファクトリー設定値としてフラッシュメモリ54に記憶されている。変数Bは、優先度のボーダーを示す値が記憶される変数である。変数Bには、1,2,4又は8が記憶される。変数Cは、ボーダーごとのオンドット数の合計値をカウントする変数である。変数Dは、分割印刷を行う場合の分割数を記憶する変数である。変数Dには整数値が記憶される。変数Uは、ユーザ設定が記憶される変数である。ユーザ設定は、印刷データに基づく印刷の品質を優先する品質設定、エネルギーの消費低減を優先する省力設定、又は、印刷速度を落とさずに印刷品質を高める自動設定である。変数Uには、品質設定の場合は1が記憶され、省力設定の場合は4が記憶され、自動設定の場合には0が記憶される。ユーザ設定は外部端末において設定され、印刷データに付加される。
次に、印刷プログラムの実行に伴いCPU51が行う各処理について説明する。なお、以下の説明における具体例として、図4を参照する。印刷装置1のCPU51は、USBケーブルを介して外部端末から印刷データを受信すると、印刷プログラムを実行する。図8に示すように、CPU51は、初期化処理を行う(S1)。初期化処理において、CPU51は、RAM53に各変数の記憶領域を確保する。CPU51は、フラッシュメモリ54から最大オンドット数を読み込み、変数Aに記憶する。CPU51は、フラッシュメモリ54からヘッドドット数を読み込み、変数Xの最大値に設定する。CPU51は、印刷データから、全ライン数を算出し、変数Yの最大値に設定する。CPU51は、印刷データを、M_DATA(X,Y)に格納する。CPU51は、印刷データに付加されたユーザ設定を、変数Uに記憶する。
CPU51は、印刷補助データ作成処理を実行する(S2)。図9に示すように、CPU51は、RAM53に確保した各変数の記憶領域を初期化し、初期値として0を設定する(S11)。なお、X値のENDは、X値の最大値(ヘッドドット数)−1であり、本実施形態では359である。Y値のENDは、最大値(全ライン数)−1であり、本実施形態では1079である。
CPU51は、M_DATA(X,Y)が1であるか否か判断する(S12)。S13の初回判断時、X=0,Y=0であり、CPU51は、印刷データの座標(0,0)に注目する。印刷データにおいて、座標(0,0)にはドットが形成される(図4参照)。よって座標(0,0)に対応するM_DATA(X,Y)が1であり(S12:YES)、CPU51は、Y値がEND未満か否か判断する(S13)。注目する座標を含むラインが最終ラインでなく、Y値がEND(1079)未満の場合(S13:YES)、CPU51は、M_DATA(X,Y+1)が1であるか否か判断する(S14)。
印刷データの座標(X,Y+1)は、現在注目する座標(X,Y)にドットを形成可能な発熱素子32が、次のラインの印刷時にドットを形成可能な座標である。CPU51は、座標(X,Y+1)に対応する発熱素子32を、判断処理の対象である選択素子に設定する。故に、座標(0,0)に注目する場合、CPU51は、座標(0,1)に対応する発熱素子32を選択素子に設定する。印刷データにおいて、座標(0,1)にはドットが形成される(図4参照)。座標(0,1)に対応するM_DATA(X,Y+1)が1である場合(S14:NO)、CPU51は、処理をS21に進める。この処理では、S16の処理が行われない。故にCPU51は、座標(0,0)の印刷時に、選択素子に対して主エネルギーMEを印加するが、補助エネルギーAEは印加しない。副走査方向に連続してドットを形成する場合、それらのドットを形成する選択素子は、先に形成するドットの形成時に印加された主エネルギーMEによって昇温する。このため、選択素子は、後に形成するドットの形成時に常温H0よりも高い温度となっている。故に印刷装置1は、補助エネルギーAEを印加しなくても、感熱ラベルの発色濃度を高め、印刷掠れ等を防止することができる。
CPU51は、変数Xに1を加算し(S21)、変数Xの値が最大値(360)でなければ(S22:NO)、処理をS12に戻す。CPU51は、印刷データの主走査方向における次の座標(1,0)に注目し、座標(1,1)に対応する発熱素子32を、判断処理の対象である選択素子に設定する。印刷データにおいて、座標(1,0)にはドットが形成されるが、座標(1,1)にはドットが形成されない(図4参照)。即ち、CPU51は、選択素子に対して座標(1,1)に対応する印刷エネルギーを印加しないので、座標(1,0)の印刷時に、選択素子に対する予熱が不要である。座標(1,0)に対応するM_DATA(X,Y)は1であり(S12:YES)、Y値はEND未満であり(S13:YES)、座標(1,1)に対応するM_DATA(X,Y+1)は0である(S14:YES)。よってCPU51は、処理をS16に進める。
CPU51は、座標(1,0)に対応するS_DATA(X,Y)に1を記憶する(S16)。この処理により、CPU51は、印刷時に、座標(1,0)に対応する発熱素子32に、主エネルギーMEと補助エネルギーAEを印加する。即ち、CPU51は、Y=0に対応するラインの印刷時に、副印加時間SHにX=1に対応する発熱素子32に補助エネルギーAEを印加する。よってCPU51は、Y=0に対応するP_Number(Y,0)に1を加算し(S17)、補助エネルギーAE印加対象の発熱素子32の数を計数する。CPU51は、処理をS21へ進める。CPU51は、上記同様、変数Xを1ずつ加算しながら、主走査方向に順に、同じラインの印刷データの座標(X,Y)を注目し、S12〜S22の処理を繰り返す。
CPU51は、印刷データの主走査方向における座標(8,0)に注目する。印刷データにおいて、座標(8,0)にはドットが形成されない(図4参照)。CPU51は、座標(8,0)に対応するM_DATA(X,Y)が0であるので(S12:NO)、処理をS18に進め、Y値がEND未満か否か判断する(S18)。Y=0なのでY値はEND未満であり(S18:YES)、CPU51は、予熱データ作成処理を行う(S19)。
図12に示すように、CPU51は、M_DATA(X,Y+1)が1であるか否か判断する(S71)。CPU51は、座標(8,1)に対応する発熱素子32を、判断処理の対象である選択素子に設定する。印刷データの座標(8,1)は、現在注目する座標(8,0)にドットを形成可能な発熱素子32が、次のラインの印刷時にドットを形成可能な座標である。印刷データにおいて、座標(8,1)にはドットが形成されない(図4参照)。即ち、CPU51は、選択素子に対して座標(8,1)に対応する印刷エネルギーを印加しないので、座標(8,0)の印刷時に、選択素子に対する予熱が不要である。よって、座標(8,1)に対応するM_DATA(X,Y+1)が0である場合(S71:NO)、CPU51は、処理を印刷補助データ作成処理のS21(図9参照)に進め、上記同様、S12〜S22の処理を繰り返す。
CPU51は、印刷データの主走査方向における座標(9,0)に注目する。印刷データにおいて、座標(9,0)にはドットが形成されない(図4参照)。CPU51は、座標(9,0)に対応するM_DATA(X,Y)が0であり(S12:NO)、Y値がEND未満であるので(S18:YES)、予熱データ作成処理を行う(S19)。
CPU51は、座標(9,1)に対応する発熱素子32を、判断処理の対象である選択素子に設定する。印刷データにおいて、座標(9,1)にはドットが形成される(図4参照)。CPU51は、座標(9,0)にドットを形成せず、温度が低下した状態の選択素子が、座標(9,1)にドットを形成する際の品質を確保するため、選択素子に対する予熱を行う。よってCPU51は、図12に示すように、座標(9,1)に対応するM_DATA(X,Y+1)が1であるので(S71:YES)、処理をS72に進める。
CPU51は、選択素子がドットを形成する座標(9,1)に、主走査方向において隣接する2つの座標(8,1)、座標(10,1)に対応する発熱素子32を、S72〜S76における判断対象である隣接素子に設定する。CPU51は、M_DATA(X+1,Y+1)が1か否か判断する(S72)。印刷データにおいて、座標(10,1)にはドットが形成されない(図4参照)。即ち、CPU51は、座標(10,1)に対応する隣接素子に対して印刷エネルギーを印加しない。よって、座標(10,1)に対応するM_DATA(X+1,Y+1)が0であるので(S72:NO)、CPU51は、座標(9,0)に対応するP_DATA(X,Y)に、2を加算する(S73)。即ち、選択素子に対し座標(9,0)において予熱エネルギーPEが印加される優先度は2以上に設定される。
CPU51は、M_DATA(X−1,Y+1)が1か否か判断する(S74)。印刷データにおいて、座標(8,1)にもドットが形成されない(図4参照)。即ち、CPU51は、座標(8,1)に対応する隣接素子に対して印刷エネルギーを印加しない。よって、座標(8,1)に対応するM_DATA(X−1,Y+1)が0であるので(S74:NO)、CPU51は、座標(9,0)に対応するP_DATA(X,Y)に、更に2を加算する(S76)。即ち、2つの隣接素子の両方ともに印刷エネルギーが印加されない場合、選択素子に対し予熱エネルギーPEが印加される優先度は4に設定される。
CPU51は、座標(9,0)に対応するP_DATA(X,Y)が1より大きいか否か判断する(S77)。上記のように、座標(9,0)に対する優先度は4であるので1より大きいので(S77:YES)、CPU51は、座標(9,0)に対応するP_DATA(X,Y)が3より大きいか否か判断する(S81)。座標(9,0)に対する優先度は4であり3より大きいので(S81:YES)、CPU51は、Y=0に対応するP_Number(Y,1)に1を加算し(S83)、優先度4の予熱エネルギーPEの印加対象となる発熱素子32の数を計数する。CPU51は、処理を印刷補助データ作成処理のS21(図9参照)に進め、上記同様、S12〜S22の処理を繰り返す。
CPU51は、印刷データの主走査方向における座標(11,0)に注目する。印刷データにおいて、座標(11,0)にはドットが形成されない(図4参照)。CPU51は、座標(11,0)に対応するM_DATA(X,Y)が0であり(S12:NO)、Y値がEND未満であるので(S18:YES)、予熱データ作成処理を行う(S19)。
CPU51は、座標(11,1)に対応する発熱素子32を、判断処理の対象である選択素子に設定する。印刷データにおいて、座標(11,1)にはドットが形成される(図4参照)。図12に示すように、CPU51は、座標(11,1)に対応するM_DATA(X,Y+1)が1であるので(S71:YES)、処理をS72に進める。
CPU51は、選択素子がドットを形成する座標(11,1)に隣接する2つの座標(10,1)、座標(12,1)に対応する発熱素子32を隣接素子に設定する。印刷データにおいて、座標(12,1)にはドットが形成される。(図4参照)。CPU51は、座標(12,1)に対応するM_DATA(X+1,Y+1)が1であるので(S72:YES)、処理をS74に進める。印刷データにおいて、座標(10,1)にはドットが形成されない。(図4参照)。CPU51は、座標(10,1)に対応するM_DATA(X−1,Y+1)が0であるので(S74:NO)、座標(11,0)に対応するP_DATA(X,Y)に、2を加算する(S76)。即ち、2つの隣接素子のうちの一方に印刷エネルギーが印加され、他方に印加されない場合、選択素子に対し予熱エネルギーPEが印加される優先度は2に設定される。
CPU51は、座標(11,0)に対応するP_DATA(X,Y)が1より大きく(S77:YES)、3より小さいので(S81:NO)、Y=0に対応するP_Number(Y,2)に1を加算する(S82)。優先度2の予熱エネルギーPEの印加対象となる発熱素子32の数が計数される。CPU51は、処理を印刷補助データ作成処理のS21(図9参照)に進め、上記同様、S12〜S22の処理を繰り返す。
なお、CPU51が座標(13,0)に注目した場合、座標(13,1)に隣接する座標(12,1)にはドットが形成され、座標(14,1)にはドットが形成されない(図4参照)。CPU51は、座標(14,1)に対応するM_DATA(X+1,Y+1)が0であるので(S72:NO)、座標(13,0)に対応するP_DATA(X,Y)に、2を加算する(S73)。座標(12,1)に対応するM_DATA(X−1,Y+1)が1であるので(S74:YES)、CPU51は、処理をS77に進める。この場合も、上記同様、2つの隣接素子のうちの一方には印刷エネルギーが印加され、他方には印加されないので、選択素子に対し予熱エネルギーPEが印加される優先度は2に設定される。
CPU51は、印刷データの主走査方向における座標(12,0)に注目する。印刷データにおいて、座標(12,0)にはドットが形成されない(図4参照)。CPU51は、座標(12,0)に対応するM_DATA(X,Y)が0であり(S12:NO)、Y値がEND未満であるので(S18:YES)、予熱データ作成処理を行う(S19)。
CPU51は、座標(12,1)に対応する発熱素子32を、判断処理の対象である選択素子に設定する。印刷データにおいて、座標(12,1)にはドットが形成される(図4参照)。図12に示すように、CPU51は、座標(12,1)に対応するM_DATA(X,Y+1)が1であるので(S71:YES)、処理をS72に進める。
CPU51は、選択素子がドットを形成する座標(12,1)に隣接する2つの座標(11,1)、座標(13,1)に対応する発熱素子32を隣接素子に設定する。印刷データにおいて、座標(13,1)にはドットが形成される。(図4参照)。CPU51は、座標(13,1)に対応するM_DATA(X+1,Y+1)が1であるので(S72:YES)、処理をS74に進める。印刷データにおいて、座標(11,1)にもドットが形成される。(図4参照)。CPU51は、座標(11,1)に対応するM_DATA(X−1,Y+1)が1であるので(S74:YES)、処理をS77に進める。
座標(12,0)に対応するP_DATA(X,Y)は初期値0である。P_DATA(X,Y)が1より小さい場合(S77:NO)、CPU51は、座標(12,0)に対応するP_DATA(X,Y)に1を設定する(S78)。即ち、2つの隣接素子の両方ともに印刷エネルギーが印加される場合、選択素子に対し予熱エネルギーPEが印加される優先度は1に設定される。CPU51は、Y=0に対応するP_Number(Y,3)に1を加算して(S79)、優先度1の予熱エネルギーPE印加対象の発熱素子32の数を計数する。CPU51は、処理を印刷補助データ作成処理のS21(図9参照)に進め、上記同様、S12〜S22の処理を繰り返す。
CPU51が座標(359,0)に注目してS12〜S19の処理を行った後、変数Xに1が加算されて(S21)、変数Xの値が最大値(360)になった場合(S22:YES)、CPU51は、処理をS26に進める。図10に示すように、CPU51は、変数Cに、Y値に対応するP_Number(Y,0)の値、即ちY値に対応するラインにおいて補助エネルギーAEを印加する発熱素子32の数を設定する(S26)。CPU51は、変数Uの値が1か否か判断する(S27)。ユーザ設定が品質設定であり、変数Uの値が1である場合(S27:YES)、CPU51は、変数Bに1を設定する(S28)。後述するが、変数Bの値が1の場合、CPU51は、Y値に対応するラインの印刷時に、副印加時間SHに、ドット形成対象の発熱素子32に補助エネルギーAEを印加し、優先度1以上の発熱素子32に予熱エネルギーPEを印加する。CPU51は、変数Cに、Y値に対応するP_Number(Y,1)の値と、P_Number(Y,2)の値と、P_Number(Y,3)の値とを加算する(S29)。即ち、変数Cに、優先度1以上の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32の合計数が設定される。CPU51は、Y値に対応するP_Number(Y,4)に、変数Cの値を記憶する(図11、S51)。
ユーザ設定が省力設定であり、変数Uの値が4である場合(S27:NO,S31:YES)、CPU51は、変数CにP_Number(Y,1)を加算した値が変数A(最大オンドット数)の値より大きいか否か判断する(S32)。優先度4の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32の合計数が最大オンドット数を超え、C+P_Number(Y,1)が変数Aの値より大きい場合(S32:YES)、CPU51は、変数Bに8を設定する(S33)。後述するが、変数Bの値が8の場合、CPU51は、Y値に対応するラインの印刷時に、副印加時間SHに、ドット形成対象の発熱素子32に補助エネルギーAEを印加し、予熱エネルギーPEの印加は行わない。なお、変数Bの値は5以上であればよく、変数Bに8を設定したのは一例に過ぎない。変数Cには、P_Number(Y,0)の値、即ち、補助エネルギーAE印加対象の発熱素子32の数が設定されている。CPU51は、P_Number(Y,4)に、変数Cの値を記憶する(図11、S51)。
優先度4の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32の合計数が最大オンドット数を超えず、C+P_Number(Y,1)が変数Aの値以下の場合(S32:NO)、CPU51は、変数Bに4を設定する(S34)。後述するが、変数Bの値が4の場合、CPU51は、Y値に対応するラインの印刷時に、副印加時間SHに、ドット形成対象の発熱素子32に補助エネルギーAEを印加し、優先度4の発熱素子32に予熱エネルギーPEを印加する。CPU51は、変数Cに、P_Number(Y,1)の値を加算する(S36)。即ち、変数Cに、優先度4以上の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32の合計数が設定される。CPU51は、P_Number(Y,4)に、変数Cの値を記憶する(図11、S51)。
ユーザ設定が自動設定であり、変数Uの値が0である場合(S27:NO,S31:NO)、CPU51は、変数Bに8を設定する(S37)。優先度4の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32の合計数が最大オンドット数を超え、C+P_Number(Y,1)が変数Aの値より大きい場合(S38:YES)、CPU51は、処理をS51(図11参照)に進める。変数Bには8が設定された状態である。変数Cには、P_Number(Y,0)の値が設定されており、CPU51は、P_Number(Y,4)に、変数Cの値を記憶する(図11、S51)。
S38において、優先度4の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32の合計数が最大オンドット数を超えず、C+P_Number(Y,1)が変数Aの値以下の場合(S38:NO)、CPU51は、変数Bに4を設定する(S39)。CPU51は、変数Cに、P_Number(Y,1)の値を加算する(S41)。変数Cには、優先度4以上の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32の合計数が設定される。
CPU51は、変数CにP_Number(Y,2)を加算した値が変数Aの値より大きいか否か判断する(S42)。優先度2以上の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32の合計数が最大オンドット数を超え、C+P_Number(Y,2)が変数Aの値より大きい場合(S42:YES)、CPU51は、処理をS51(図11参照)に進める。変数Bには4が設定された状態である。変数Cには、P_Number(Y,0)と、P_Number(Y,1)との合計値が設定されており、CPU51は、P_Number(Y,4)に、変数Cの値を記憶する(図11、S51)。
S42において、優先度2以上の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32の合計数が最大オンドット数を超えず、C+P_Number(Y,2)が変数Aの値以下の場合(S42:NO)、CPU51は、変数Bに2を設定する(S43)。後述するが、変数Bの値が2の場合、CPU51は、Y値に対応するラインの印刷時に、副印加時間SHに、ドット形成対象の発熱素子32に補助エネルギーAEを印加し、優先度2以上の発熱素子32に予熱エネルギーPEを印加する。CPU51は、変数Cに、P_Number(Y,2)の値を加算する(S44)。変数Cには、優先度2以上の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32の合計数が設定される。
CPU51は、変数CにP_Number(Y,3)を加算した値が変数Aの値より大きいか否か判断する(S46)。優先度1以上の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32の合計数が最大オンドット数を超え、C+P_Number(Y,3)が変数Aの値より大きい場合(S46:YES)、CPU51は、処理をS51(図11参照)に進める。変数Bには2が設定された状態である。変数Cには、P_Number(Y,0)と、P_Number(Y,1)と、P_Number(Y,2)との合計値が設定されており、CPU51は、P_Number(Y,4)に、変数Cの値を記憶する(図11、S51)。
S46において、優先度1以上の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32の合計数が最大オンドット数を超えず、C+P_Number(Y,3)が変数Aの値以下の場合(S46:NO)、CPU51は、変数Bに1を設定する(S47)。後述するが、変数Bの値が1の場合、CPU51は、Y値に対応するラインの印刷時に、副印加時間SHに、ドット形成対象の発熱素子32に補助エネルギーAEを印加し、優先度1以上の発熱素子32に予熱エネルギーPEを印加する。CPU51は、変数Cに、P_Number(Y,3)の値を加算する(S48)。変数Cには、P_Number(Y,0)と、P_Number(Y,1)と、P_Number(Y,2)と、P_Number(Y,3)との合計値が設定される。即ち、変数Cには、優先度1以上の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32の合計数が設定される。CPU51は、P_Number(Y,4)に、変数Cの値を記憶する(図11、S51)。
図11に示すように、CPU51は、変数Xに0を設定する(S52)。CPU51は、S_DATA(X,Y)が1か否か判断し、1であれば(S53:YES)、SUB_DATA(X,Y)に1を記憶して(S57)、処理をS58に進める。CPU51は、S_DATA(X,Y)が0であっても(S53:NO)、P_DATA(X,Y)が変数Bの値以上であれば(S54:YES)、SUB_DATA(X,Y)に1を記憶して(S57)、処理をS58に進める。CPU51は、S_DATA(X,Y)が0であり(S53:NO)、P_DATA(X,Y)が変数Bの値未満であれば(S54:NO)、SUB_DATA(X,Y)に0を記憶して(S56)、処理をS58に進める。CPU51は、変数Xに1を加算し(S58)、変数Xの値が最大値(360)でなければ(S59:NO)、処理をS53に戻す。即ち、CPU51は、S53〜S59の処理において、Y=0のラインの印刷に対応し、優先度が変数Bの値以上の予熱エネルギーPEと補助エネルギーAEとの印加対象の発熱素子32に対し、副印加時間SHに副エネルギーSEを印加する印刷補助データを作成する。
変数Xの値が最大値(360)になった場合(S59:YES)、CPU51は、変数Xに再度0を設定し(S61)、Yの値に1を加算する(S62)。CPU51は、Y値がEND+1、即ち最大値(1080)でなければ(S63:NO)、次のラインの印刷補助データを作成するため、処理をS12に戻す。
CPU51は、変数Yを1ずつ加算しながらS12〜S63の処理を繰り返すことによって、ラインごとに印刷補助データを作成する。Y値がEND(1079)になり、最終ラインの印刷補助データを作成する場合のS12の処理において、CPU51は、例えば、印刷データの主走査方向における座標(0,1079)に注目する。印刷データにおいて、座標(0,1079)にはドットが形成される(図4参照)。CPU51は、座標(0,1079)に対応するM_DATA(X,Y)が1であり(S12:YES)、Y値がENDと同値であるので(S13:NO)、処理をS16に進める。CPU51は、印刷時に、座標(0,1079)に対応する発熱素子32に、主エネルギーMEと補助エネルギーAEが印加されるように、座標(0,1079)に対応するS_DATA(X,Y)に1を記憶する(S16)。
また、CPU51は、例えば、印刷データの主走査方向における座標(9,1079)に注目する。印刷データにおいて、座標(9,1079)にはドットが形成されない(図4参照)。CPU51は、座標(9,1079)に対応するM_DATA(X,Y)が0であり(S12:NO)、Y値がENDと同値の場合(S18:NO)、予熱データ作成処理を実行せずに、処理をS21に進める。故に、最終ライン(Y=1079)において、全てのP_DATA(X,Y)の値は0である。従って、S53〜S59の処理において、Y=1079の場合のSUB_DATA(X,Y)の値は、S_DATA(X,Y)の値と同じ値に設定される。CPU51は、S62で変数Yに1を加算し(S62)、変数Yの値を最大値(1080)とする。CPU51は、Y値がEND+1であるので(S63:YES)、処理をメイン処理のS3(図8参照)に進める。
図8に示すように、CPU51は、変数Yを0に設定し(S3)、分割判断処理を実行する(S4)。図13に示すように、CPU51は、P_Number(Y,4)が、変数A(最大オンドット数)の値より大きいか否か判断する(S86)。P_Number(Y,4)が変数Aの値以下の場合(S86:NO)、分割印刷は行わず、CPU51は、変数Dに0を記憶する(S89)。CPU51は、シート3Aの搬送速度を25mm/sに設定し(S91)、処理をメイン処理のS6(図8参照)に進める。
図8に示すように、CPU51は、1ライン印刷処理を実行する(S6)。図14に示すように、CPU51は、駆動回路58を介して搬送モータ60の駆動を制御し、搬送速度25mm/sに相当する駆動パルスを搬送モータ60に入力する(S96)。シート3Aは、搬送速度25mm/sで1ライン分の搬送が開始される。CPU51は、変数Dの値が0より大きいか否か判断する(S97)。変数Dの値が0の場合(S97:NO)、CPU51は、変数Yの値に応じた1ライン分のM_DATA(X,Y)を、サーマルヘッド31の駆動回路57に転送する(S98)。駆動回路57は、転送されたM_DATA(X,Y)に基づいて、印加対象の発熱素子32に主エネルギーMEを印加する(S99)。CPU51は、変数Yの値に応じた1ライン分のSUB_DATA(X,Y)を、サーマルヘッド31の駆動回路57に転送する(S101)。駆動回路57は、転送されたSUB_DATA(X,Y)に基づいて、印加対象の発熱素子32に副エネルギーSEを印加する(S102)。シート3Aには、変数Yの値に応じた1ラインが印刷される。CPU51は、処理をメイン処理のS7(図8参照)に進める。
CPU51は、変数Yを1加算し(S7)、Y値がEND+1、即ち最大値(1080)でなければ(S9:NO)、次のラインの印刷を行うため、処理をS4に戻す。
図13に示すように、分割判断処理のS86において、P_Number(Y,4)が変数Aの値より大きい場合(S86:YES)、CPU51は、P_Number(Y,4)の値を変数Aの値で割った値を小数点以下で繰り上げた整数値を変数Dに記憶する(S87)。本実施形態では最大オンドット数が180であり、ヘッドドット数が360であるので、変数Dの値は2となる。CPU51は、シート3Aの搬送速度を9mm/sに設定し(S88)、処理をメイン処理の1ライン印刷処理(S6)に進める。
図14に示すように、1ライン印刷処理において、CPU51は、搬送速度9mm/sに相当する駆動パルスを搬送モータ60に入力する(S96)。シート3Aは、搬送速度9mm/sで1ライン分の搬送が開始される。CPU51は、変数Dの値が0より大きい場合(S97:YES)、CPU51は、変数Yの値に応じた1ライン分のM_DATA(X,Y)を、変数Dの値に応じた数(本実施形態では2)に分割する。CPU51は、分割されたM_DATA(X,Y)の1つを、サーマルヘッド31の駆動回路57に転送する(S103)。駆動回路57は、転送されたM_DATA(X,Y)に基づいて、印加対象の発熱素子32に主エネルギーMEを印加する(S104)。CPU51は、変数Yの値に応じた1ライン分のSUB_DATA(X,Y)を、変数Dの値に応じた数に分割する。CPU51は、分割されたSUB_DATA(X,Y)の1つを、サーマルヘッド31の駆動回路57に転送する(S106)。駆動回路57は、転送されたSUB_DATA(X,Y)に基づいて、印加対象の発熱素子32に副エネルギーSEを印加する(S107)。シート3Aには、変数Yの値に応じた1ラインの分割対応部分が印刷される。
CPU51は、変数Dの値を1減算し(S108)、減算後の変数Dの値が0より大きければ(S109:YES)、処理をS103に戻す。CPU51は、分割されたM_DATA(X,Y)の未転送分を駆動回路57に転送し(S103)、上記同様、発熱素子32に主エネルギーMEを印加する(S104)。CPU51は、分割されたSUB_DATA(X,Y)の未転送分を駆動回路57に転送し(S106)、上記同様、発熱素子32に副エネルギーSEを印加する(S107)。シート3Aには、変数Yの値に応じた1ラインの分割対応部分が印刷される。CPU51は、変数Dの値を1減算し(S108)、減算後の変数Dの値が0であれば(S109:NO)、処理をメイン処理のS7(図8参照)に進める。1ラインの分割印刷が完了し、シート3Aには、変数Yの値に応じた1ラインが印刷される。
CPU51は、変数Yを1ずつ加算しながらS4〜S8の処理を繰り返すことによって、シート3Aに1ラインずつ印刷を行う。Y値が1079となり、最終ラインが印刷された後、変数Yが1加算されて(S7)、最大値(1080)になると(S8:YES)、CPU51は、搬送モータ60の駆動を停止する処理を行う(S9)。CPU51は、シート3Aを所定の切断位置に搬送するため、予め設定された長さ分、シート3Aを搬送してから、搬送モータ60の駆動を停止する。CPU51は、印刷プログラムのメイン処理の実行を終了する。ユーザによってカットレバー9が移動され、印刷後のシート3Aが切断される。
以上説明したように、印刷装置1は、予熱エネルギーPEを印加する発熱素子32の数を、優先度に応じて調整することで、補助エネルギーAEを印加する発熱素子32の数との合計数を、最大オンドット数以下にすることができる。故に、印刷装置1は、副エネルギーSEの印加を複数回に分割して行わなくとも一度に行うことができるので、印刷速度の低下を防止することができる。また、印刷装置1は、隣接素子への補助エネルギーAEの印加によって選択素子が受ける影響を考慮して、予熱エネルギーPE印加対象の発熱素子32に対して優先度を決定することができる。優先度が設定されることによって、印刷装置1は、印刷品質に影響を及ぼす可能性のある発熱素子32に対して優先的に予熱エネルギーPEを印加することができる。故に、印刷装置1は、印刷品質を維持することができる。
印刷装置1は、省力設定において、副エネルギーSEの印加対象の発熱素子32の数が、最大オンドット数より少なく、最大オンドット数に対してたとえ余裕があっても、優先度が他に比べて高い4の発熱素子32に対してのみ予熱エネルギーPEを印加することで、印刷品質の低下を抑制しつつエネルギー消費量を低減させて、印刷することができる。
座標(X+1,Y+1)及び座標(X−1,Y+1)に対応する発熱素子32(隣接素子)に対して補助エネルギーAEが投入される場合、座標(X,Y+1)に対応する発熱素子32(選択素子)は、隣接素子に投入された補助エネルギーAEの影響によって、印刷品質を高めることができる。換言すると、補助エネルギーAEの投入対象となる隣接素子が少ないほど、選択素子は、隣接素子に投入される補助エネルギーAEの影響を受けにくい。故に、補助エネルギーAEの投入対象となる隣接素子が少ない選択素子ほど、その選択素子に対応する非印刷素子の優先度を高く設定することで、印刷装置1は、印刷品質を確保することができる。
なお本発明は上記実施形態に限定されず、種々の変更が可能である。本実施形態では、P_DATA(X,Y)に、発熱素子32に対する予熱エネルギーPE印加の優先度を設定したが、優先度4を1位、優先度2を2位、優先度1を3位とする優先順位を設定し、優先順位に基づいて予熱データを作成してもよい。また、CPU51は、優先度の値として0,1,2又は4を設定したが、一例に過ぎず、任意の値(例えば0,1,2又は3等)を設定してもよい。
また、本実施形態では、座標(X,Y)に対応する発熱素子32への予熱エネルギーPEの印加の有無を、座標(X,Y+1)に対応する発熱素子32(選択素子)に隣接する座標(X+1,Y+1)及び座標(X−1,Y+1)に対応する発熱素子32(隣接素子)への印刷エネルギーの印加の有無に基づく優先度に基づいて決定した。これに限らず、例えば、座標(X,Y)に対応する発熱素子32に隣接する座標(X+1,Y)及び座標(X−1,Y)に対応する発熱素子32(第2の隣接素子)への印刷エネルギーの印加の有無に基づく優先度に基づいて決定してもよい。
具体的には、例えば、予熱データ作成処理(図12参照)のS71とS72の間に、S72〜S76と同様のS120〜S123の処理を追加すればよい。S120は、S71がYESの場合に処理され、「M_DATA(X+1,Y)=1?(YES/NO)」を判断する処理である。CPU51は、S120がYESの場合に処理をS122に進め、S120がNOの場合には処理をS121に進める。S121は、「P_DATA(X,Y)=P_DATA(X,Y)+2」を実行する処理である。CPU51は、S121の処理後、S122に処理を進める。S122は、「M_DATA(X−1,Y)=1?(YES/NO)」を判断する処理である。CPU51は、S122がYESの場合に処理をS72に処理を進め、S120がNOの場合には処理をS123に進める。S123は、「P_DATA(X,Y)=P_DATA(X,Y)+2」を実行する処理である。CPU51は、S123の処理後、S72に処理を進める。また、S73とS76は、夫々、「P_DATA(X,Y)=P_DATA(X,Y)+6」に変更する。これにより、P_TADA(X,Y)のとり得る値は、1/2/4/6/8/10/12/14/16となる。これに合わせて、S43は、「B=4」とし、S34,S39は、夫々、「B=12」とし、S33,S37は、夫々、「B=32(17以上の値であればよい。)」とすればよい。
座標(X+1,Y)及び座標(X−1,Y)に対応する発熱素子32(第2の隣接素子)に印刷エネルギーが印加されると、座標(X,Y)に対応する発熱素子32は、第2の隣接素子の温度影響を受けて昇温する。座標(X,Y)に対応する発熱素子32は、次のラインの印刷時に、座標(X,Y+1)に対応するため、座標(X,Y+1)に対する印刷に常温H0よりも高い温度から昇温することができ、品質を高めることができる。故に、本実施形態の隣接素子(座標(X+1,Y+1)及び座標(X−1,Y+1)に対応する発熱素子32)に加え、上記の第2の隣接素子に対する印刷エネルギーの印加の有無に基づく優先度を設定することで、印刷装置1は、優先度を精度よく設定し、より確実に印刷品質を高めることができる。なお、上記変形例において、S120及びS122で、M_DATA(X+1,Y)及びM_DATA(X−1,Y)に対応する2つの発熱素子32を第2の隣接素子として設定し、第2の隣接素子が、印刷エネルギーの印加対象であるか否か判断するCPU51が、「第三判断手段」に相当する。
本発明においては、シート3Aが、「印刷媒体」に相当する。搬送モータ60及びプラテンローラ26が、「搬送装置」に相当する。CPU51が、「制御装置」に相当する。Y+1の値に応じたラインが、「第一ライン」に相当する。S14及びS71で、M_DATA(X,Y+1)に対応する発熱素子32を判断処理の対象である選択素子に設定するCPU51が、「選択手段」に相当する。S72及びS74で、M_DATA(X+1,Y+1)及びM_DATA(X−1,Y+1)に対応する2つの発熱素子32を隣接素子として設定し、隣接素子が、印刷エネルギーの印加対象であるか否か判断するCPU51が、「第一判断手段」に相当する。Yの値に応じたラインが、「第二ライン」に相当する。S12で、M_DATA(X,Y)に対応する発熱素子32が、印刷エネルギーの印加対象であるか否か判断するCPU51が、「第二判断手段」に相当する。S73,S76,S78の処理を実行し、P_DATA(X,Y)の値を設定するCPU51が、「設定手段」に相当する。S17で、P_Number(Y,0)を計数するCPU51が、「算出手段」に相当する。変数Cが、「加算数」に相当する。最大オンドット数(変数A)が、「最大印加数」に相当する。S38,S42,S46で、変数Cの値が変数Aの値以下となる場合に設定する変数Bの値以上となるS54(YES)で、P_DATA(X,Y)の値が変数Bの値以上となる場合のP_DATA(X,Y)に対応する発熱素子32を、S57で、予熱エネルギーPEの印加対象として決定するCPU51が、「決定手段」に相当する。S102で、駆動回路57に、SUB_DATA(X,Y)に基づく印加対象の発熱素子32に予熱エネルギーPEを印加させるCPU51が、「印加制御手段」に相当する。