"電圧の供給を受けて発熱する複数の発熱素子が配置され、前記発熱素子の発熱により記録媒体に印字するサーマルヘッドと、前記発熱素子に供給される電圧を検出する検出部と、前記発熱素子に供給する電流の平均である平均電流値に対する余力と印字対象のライン以前の平均印字率とに応じて印字速度を可変制御する制御部と、を備えるサーマルプリンタ。前記サーマルヘッドの前記各発熱素子を分割した単位である複数のブロックを各々駆動する複数の駆動部を更に備え、前記制御部は、前記駆動部を前記平均印字率に応じて制御し、前記複数のブロックを一括駆動または分割駆動させる、請求項1記載のサーマルプリンタ。前記サーマルヘッドは、RLC回路を介して電圧の供給を受け、前記制御部は、前記RLC回路を構成するコンデンサが満充電された場合の値から直前に印字したラインの印字率に応じた値を加算または減算したカウンタ値に従って前記平均電流値に対する余力を決定して、決定した前記平均電流値に対する余力と前記平均印字率とに応じて印字速度を可変制御する、請求項1記載のサーマルプリンタ。電圧の供給を受けて発熱する複数の発熱素子が配置され、前記発熱素子の発熱により記録媒体に印字するサーマルヘッドと、前記発熱素子に供給される電圧を検出する検出部と、を備えたサーマルプリンタを制御するコンピュータを、前記発熱素子に供給する電流の平均である平均電流値に対する余力と印字対象のライン以前の平均印字率とに応じて印字速度を可変制御する制御手段として機能させるためのプログラム。前記制御手段は、前記サーマルヘッドの前記各発熱素子を分割した単位である複数のブロックを各々駆動する複数の駆動部を前記平均印字率に応じて制御し、前記複数のブロックを一括駆動または分割駆動させる、請求項4記載のプログラム。前記制御手段は、前記サーマルヘッドに対する電圧の供給を介在するRLC回路を構成するコンデンサが満充電された場合の値から直前に印字したラインの印字率に応じた値を加算または減算したカウンタ値に従って前記平均電流値に対する余力を決定して、決定した前記平均電流値に対する余力と前記平均印字率とに応じて印字速度を可変制御する、請求項4記載のプログラム。ところで、様々な場面で使用されるサーマルプリンタにおいては、小型軽量は勿論のこと、消費電力を少なくし、かつ所望の印字速度も損なわずに使用したいとの要望がある。実施形態のサーマルプリンタは、電圧の供給を受けて発熱する複数の発熱素子が配置され、前記発熱素子の発熱により記録媒体に印字するサーマルヘッドと、前記発熱素子に供給される電圧を検出する検出部と、前記発熱素子に供給する電流の平均である平均電流値に対する余力と印字対象のライン以前の平均印字率とに応じて印字速度を可変制御する制御部と、を備える。実施形態のプログラムは、電圧の供給を受けて発熱する複数の発熱素子が配置され、前記発熱素子の発熱により記録媒体に印字するサーマルヘッドと、前記発熱素子に供給される電圧を検出する検出部と、を備えたサーマルプリンタを制御するコンピュータを、前記発熱素子に供給する電流の平均である平均電流値に対する余力と印字対象のライン以前の平均印字率とに応じて印字速度を可変制御する制御手段として機能させる。第1の実施形態本実施形態では、台紙に複数のラベルが貼付されたラベル用紙を巻き取った用紙ロールを内部に収納し、サーマルヘッドによりバーコードなど印刷を行う感熱式のプリンタを例示する。本実施形態にかかるラベルプリンタの概略構造について図1、図2を参照して説明する。図1は、本実施形態にかかるラベルプリンタの外観を示す斜視図である。図2は、カバーが開いた状態のラベルプリンタの外観を示す斜視図である。ラベルプリンタ1は、直方体形状の外観形状を有しており、ラベルプリンタ1の印字機能、用紙送り機能をなす印字機構300図4参照および電源となる充電池270図4参照などは、ハウジング102内に収納されている。本実施形態においては、充電池270としてリチウムイオン電池バッテリ電池を使用している。ハウジング102は、台紙に複数の記録媒体であるラベルL図2参照が貼付されたラベル用紙PTを巻き取った用紙ロールPRを収納する内部構造を有しており、用紙ロールPRを内部に導入できるように上面に開口部106が形成されている。開口部106にはカバー107が回動自在に配置されている。開口部106は、カバー107を開閉することにより開状態又は閉状態にされる。なお、ハウジング102には、カバー107の開閉状態を検知するカバー開閉センサ57図4参照が設けられている。カバー開閉センサ57は、機械式センサであるマイクロスイッチで構成されており、カバー107がハウジング102から開放され、開口部106が開放された状態では電流が流れないオフ状態となる。一方、カバー107が開口部106を覆った状態では電流が流れるオン状態となる。なお、このカバー開閉センサ57は、上述したマイクロスイッチに限られるものではなく、光センサを備えた非接触式スイッチなども使用することができる。カバー107は、開口部106の一辺をなすハウジング102の奥側辺108に取り付けられている。カバー107を閉じた状態において、カバー107の先端である外側辺111と、開口部106の一辺である手前側辺109との間には、ラベルプリンタ1の幅方向に印字されたラベル用紙PTを取り出すための細長い隙間部が形成される。この隙間部は、用紙排出口110として機能する。また、ハウジング102の一側面には、各種のコネクタ例えばUSBUniversalSerialBusコネクタなどを有する接続コネクタ部103および充電池270の着脱を可能とするバッテリ収納部104が配置されている。用紙排出口110から排出されたラベル用紙PTをカットするため、用紙排出口110を構成するハウジング102の手前側辺109やカバー107の外側辺111は、鋭利な形状に形成されている。ハウジング102の内部には、用紙ロールPRを着脱自在に収納可能な用紙収納部105が形成されている。用紙ロールPRは、ロール軸をラベルプリンタ1の幅方向に向けた状態で用紙収納部105に収納され、プラテンローラ117によって引き出されて用紙排出口110図1参照に向けて搬送される。このプラテンローラ117に対向してラインサーマルヘッド12が配置されている。ラインサーマルヘッド12は、下方に配置されたヘッドブラケット115に着脱できるように配置されている。ヘッドブラケット115は、ハウジング102に固定され、ラインサーマルヘッド12をラベルプリンタ1の奥側上方に付勢する。また、ラインサーマルヘッド12のラベルプリンタ1の奥側には、ヘッドカバー116が隣接して配置される。ヘッドカバー116は、ハウジング102に必要に応じて装着され、ラインサーマルヘッド12を付勢してラインサーマルヘッド12の振動を防止する。ラインサーマルヘッド12は、本実施形態にかかるラベルプリンタ1がライン型の印刷方式を採用することから、複数の発熱素子24がライン状に配置されている。ラインサーマルヘッド12は、ヘッドコントローラ40図4参照の制御に基づいて発熱素子24が発熱することで、ラベル用紙PTのラベルLを加熱し印字を行う。ラインサーマルヘッド12はヘッドブラケット115に着脱自在に配置され、例えば203dpiのものと、300dpiのものとを選択して配置することができる。なお、本実施形態では、203dpiのラインサーマルヘッド12がヘッドブラケット115に配置されているものとする。また、ハウジング102の内部には、駆動ギア119が配置されている。駆動ギア119は、モータ制御部134図4参照に制御されて駆動するステッピングモータ131図4参照を駆動源として回動する。カバー107において、プラテンローラ117の近傍には、用紙抑えローラ118が配置されている。プラテンローラ117および用紙抑えローラ118は、いずれもラベルプリンタ1の幅方向に回転軸を向けて回動自在となっている。プラテンローラ117は、カバー107が閉じられた状態でラインサーマルヘッド12の発熱素子24と接する位置に位置決めされてカバー107に配置されている。ラベルプリンタ1の正面側からみてプラテンローラ117の左側には、プラテンローラ117と一体に回動する従動ギア119aが接続されている。従動ギア119aは、カバー107が閉じられた状態になると駆動ギア119と噛み合い、駆動ギア119に駆動される。用紙抑えローラ118は、カバー107が閉じられた状態でヘッドカバー116と接する位置に位置決めされるようにカバー107に接続されている。カバー107が閉じられると、カバー107に取り付けられている従動ギア119aは、駆動ギア119と噛合し、従動ギア119aに連結されたプラテンローラ117を回転駆動する。本実施形態において、駆動ギア119、従動ギア119aとは変速機132図4参照を構成する。本実施形態では、用紙ロールPRは、用紙収納部105内に配置され、レバー122で取り付け/取り外し可能に配置され、その間隔を用紙ロールPRの間隔にあわせて変更できる2枚のガイドフェンス121の間に配置されている。また、ハウジング102には、外部電源からの直流電力を入力する直流電力入力部210が配置されている。この直流電力入力部210にACアダプタ400のプラグ404が挿し込まれることで、ラベルプリンタ1には直流電力が供給される。ACアダプタ400は、ラベルプリンタ1と別体に形成され、外部の商用電力コンセントに挿し込まれて、直流電力をプラグ404から出力する。ACアダプタ400は、内部に直流変換回路を備えた本体401と、本体401に取り付けられたコンセントプラグ402と、直流電力出力用のケーブル403と、プラグ404とを備える。例えば、ACアダプタ400は、コンセントプラグ402から入力されたAC100Vの電力をケーブル403先端のプラグ404にDC24Vとして出力する。なお、直流電力入力部210から直流電力を供給する装置としては、汎用ACアダプタの他、カーアダプタ入出力12V、DC-DCコンバータ入力10~60V、出力20V等を使用してもよい。プラグ404を直流電力入力部210に接続することにより、ラベルプリンタ1に直流電力が供給され、ラベルプリンタ1の駆動や充電池270の充電が可能な状態になる。加えて、ハウジング102には、表示操作部150が設けられている。表示操作部150には、電源スイッチ151と、ユーザが紙送りなどを指示するための紙送りボタン152と、ユーザが紙送りの一時停止などを指示するための一時停止ボタン153と、充電池270の充電状態をユーザに報知するためのインジケータ154と、LCD155LiquidCrystalDisplayと、通信用窓156とが設けられている。概略的には、ラベルプリンタ1は、通信用窓156および通信インタフェース29図5参照を介した赤外線通信や、接続コネクタ部103および通信インタフェース29を介したデータ通信によって、外部機器とのデータ送受信を実行できる。例えば、このデータ送受信によって、バーコードなどの印字データを外部機器から受信し、RAM13やフラッシュメモリ14いずれも図5参照に蓄積して印字することができる。外部機器は、例えば、パーソナルコンピュータPC、携帯電話機、ハンディターミナル等であって、ユーザによる操作入力などに応じて各種演算処理を実行する情報機器であってよい。次に、用紙収納部105とラインサーマルヘッド12とを結ぶ用紙搬送経路について図3を参照して説明する。図3は、用紙搬送経路を示す模式図である。図3に示すように、用紙収納部105とラインサーマルヘッド12とを結ぶ用紙搬送経路中には、搬送される用紙の位置を検出するセンサであるラベルセンサ56が設けられている。具体的には、ラベルセンサ56は、ラベル用紙PTの台紙に添付されたラベルLの位置を光の明暗によって検出するフォトセンサである。ラベルセンサ56は、ラベル用紙PTの台紙に添付されたラベルL間のギャップを検出するための透過型センサでもよいし、ラベル用紙PTの台紙に貼付されたラベルLを検出するための反射型センサでもよい。ラベルセンサ56はプリンタ制御部135図4参照に接続されている。プリンタ制御部135は、ラベルセンサ56の出力値と予め設定された閾値設定値とを比較して明暗を区別することで、ラベルLを検出している。また、ラベルセンサ56は、搬送されるラベルLの位置を検出するだけでなく、用紙上の所定位置に印刷するために用紙上に予め設けられたブラックマークを検出してもよい。次に、ラベルプリンタ1の制御系について説明する。ここで、図4は、ラベルプリンタの制御系を示すブロック図である。図4に示すように、ラベルプリンタ1の印字機構300は、ラインサーマルヘッド12にストローブ信号STB、印字信号を含む印字制御信号DTAを出力するヘッドコントローラ40と、ステッピングモータ131に駆動パルス信号を出力するモータ制御部134とを備えている。そして、プリンタ制御部135は、カバー開閉センサ57、ラベルセンサ56、表示操作部150、印字機構300など、装置全体を制御する。また、ラベルプリンタ1の印字機構300は、ヘッドブラケット115に取り付けられたラインサーマルヘッド12の解像度が300dpiのものであるか、203dpiのものであるかを検出する印字密度検出部136を備えている。なお。本実施形態では、上述したように、ヘッドブラケット115に取り付けられたラインサーマルヘッド12の解像度が203dpiの場合について説明する。ここで、図5は、プリンタ制御部135の構成を示すブロック図である。図5に示すように、プリンタ制御部135は、各種の演算処理を実行して各部を中央制御するCPUCentralProcessingUnit17を有している。このCPU17には、RAMRandomAccessMemory13および電源を切っても記憶内容を保持することができる不揮発性メモリであるフラッシュメモリ14がシステムバス15を介して接続されている。フラッシュメモリ14は、ラベルプリンタ1の動作プログラムや各種設定情報を記憶する。CPU17は、フラッシュメモリ14に記憶された動作プログラムをRAM13の作業領域に展開して実行することにより各部を制御する。RAM13は、各種の可変情報を一時的に記憶する。例えば、RAM13の一部の領域は、ラベル用紙PTのラベルLに印刷される印刷データ画像データが展開される印刷バッファとして利用される。印刷データは、外部機器から受信した印刷対象となるデータである。なお、印刷データは、フラッシュメモリ14に記憶されたものであってもよい。また、CPU17には、通信インタフェース29、表示コントローラ141、キーコントローラ142、センサコントローラ143がシステムバス15を介して接続されている。表示コントローラ141は、CPU17の制御のもとで、表示操作部150のLCD155における表示バッテリ残量、電波受信状況、ラベルセンサ56による用紙の位置の検出結果などを制御する。キーコントローラ142は、CPU17の制御のもとで、表示操作部150の電源スイッチ151、紙送りボタン152、一時停止ボタン153などからのキー入力を制御する。センサコントローラ143は、CPU17の制御の下で、カバー開閉センサ57やラベルセンサ56などのセンサ類からの入力を制御する。通信インタフェース29は、接続コネクタ部103や通信用窓156などを介し、ホストコンピュータなどの外部の機器と通信を行うためのインタフェースである。通信インタフェース29は、例えばIrDA等の赤外線通信、USB、無線LANLocalAreaNetwork、RS-232C、Bluetooth登録商標等により構成され、ホストコンピュータに設けられた通信インタフェースとの通信が可能である。図4に戻り、ラベルプリンタ1は、ハウジング102の内部に電力制御回路200を備える。電力制御回路200は、表示操作部150の電源スイッチ151のON/OFFに従って、ACアダプタ400等を介した外部の商用電力コンセントからの電力または充電池270からの電力の供給/遮断をソフト的に制御する。ここでいうソフト的とは、ラベルプリンタ1の制御信号によって電力の供給/遮断を制御することを意味する。電力制御回路200は、直流電力入力部210と、電圧変更部220と、電力監視部230と、電力制御部240と、電力遮断部250と、電源切替部260と、システム電源供給回路280とを備える。直流電力入力部210は、発熱素子24のブロックに対して、24Vの電圧および当該24Vの電圧に応じて設定された電流値:1.2Aの電流を供給する。つまり、直流電力入力部210は、発熱素子24のブロックに対して28.8W以下、29Wとするの電力を供給する。なお、充電池270は、発熱素子24のブロックに対して、19Vの電圧および当該19Vの電圧に応じて設定された電流値:1.5Aの電流を供給する。つまり、充電池270は、発熱素子24のブロックに対して28.5W以下、29Wとするの電力を供給する。電圧変更部220は、直流電力入力部210から入力された直流電力の電圧24Vを充電池270の充電に適した電圧例えば8.4Vまたは16.8V:充電池の仕様により異なるに変更して、充電池270に供給する。本実施形態では、充電池270はリチウムイオン充電池であるので、CC/CV充電方式、すなわち、外部DC電圧を降圧して、電流電圧一定充電を行う。また、電圧変更部220は、充電に際して、充電電圧、電流を可変にすることや、再充電の閾値を調整することにより、電池の寿命を延ばすことができる長寿命モードに設定することができる。電力監視部230は、直流電力入力部210からの直流電力の電圧を監視する。電力遮断部250は、電力監視部230により直流電力の電圧例えば、24Vが検出されなくなった場合、直流電力入力部210からの直流電力を遮断状態にする。電源切替部260は、システム電源供給回路280に供給する電圧を直流電力入力部210からの電圧および充電池270からの電圧のうちの一方に切り替える。電力制御部240は、電力遮断部250および電源切替部260に対して以下の制御を行う。まず、電力制御部240は、電力監視部230の検出結果に基づいて、直流電力入力部210からの直流電力の電圧が24Vである場合、電源切替部260を動作させ、直流電力入力部210からの電圧をシステム電源供給回路280および電圧変更部220に導通させる。これにより、電力制御部240は、電圧変更部220から充電池270に充電用の電圧例えば8.4Vを供給する。さらに、電力制御部240は、プリンタ制御部135から印字信号を受けると、印字機構300の駆動電力をACアダプタ400の電力とする。また、電力制御部240は、電力監視部230の検出結果に基づいて、直流電力入力部210からの直流電力の電圧が検出されなかった場合または電力監視部230で検出された直流電力の電圧が充電池270の電圧より低い場合、電源切替部260を動作させ、充電池270からの電圧をシステム電源供給回路280に導通させる。これにより、電力制御部240は、プリンタ制御部135からの印字信号を受けると、印字機構300の駆動電力を充電池270の電力とする。システム電源供給回路280は、プリンタ制御部135を介して、印字機構300、カバー開閉センサ57、ラベルセンサ56および表示操作部150などの各部に電力を供給する。印字機構300のラインサーマルヘッド12には、直流電力入力部210からの直流電力の電圧または充電池270からの電力の電圧を印加する。また、システム電源供給回路280は、プリンタ制御部135、カバー開閉センサ57、ラベルセンサ56、および表示操作部150などを駆動する電力例えば電圧、5V、3.5V、3.3V、1.5V等を供給する。このように、システム電源供給回路280は、直流電力入力部210からの直流電力の電圧または充電池270からの電力の電圧の範囲で適正に動作できるように各部への動作入力電圧が設定されている。なお、ラベルセンサ56などに供給する電力は、後述するキャリブレーションで設定されたものであってよい。例えばキャリブレーションにより3.3Vから3.5Vに供給する電力が変更された場合は、変更後の電力である3.5Vがラベルセンサ56に供給される。システム電源供給回路280は、充電池270および直流電力入力部210からの直流電力で駆動する各電源系のオン、オフの制御を行う。すなわち、システム電源供給回路280は、直流電力入力部210に直流電力が供給されている状態では直流電力入力部210からの直流電力をプリンタ制御部135に供給し、直流電力入力部210に直流電力が供給されていない状態では充電池270からの直流電力をプリンタ制御部135に供給する。なお、プリンタ制御部135は、印字機構300の制御を行う他、電力供給に際しては、電力制御回路200およびシステム電源供給回路280からの情報を取得し、電圧変更部220およびシステム電源供給回路280が充電できる条件であるとき、電力制御部240に充電開始の指示を送る。また、プリンタ制御部135は、表示操作部150によるユーザの操作や、外部直流電力が供給されるか否かなどの状況に応じて、ラベルプリンタ1をさまざまな状態モードに設定する。モードとしては、ラインサーマルヘッド12による印刷が直ちに行われるインラインモード、表示操作部150によるユーザの操作を受け付けて各種設定を行うオンラインモード、電力消費を低減するためシステムを省エネルギー状態としたスリープモード、ラインサーマルヘッド12で印字を行う印字モード、充電池270を充電する充電モード、充電池270の寿命を縮めることがない低電圧で充電を行う長寿命充電モードが設定されている。このようなラベルプリンタ1では、用紙収納部105に用紙ロールPRを収納してラベル用紙PTを引き出して、カバー107を閉じると、引き出されたラベル用紙PTはラインサーマルヘッド12およびプラテンローラ117の間に挟まれ、かつ、ヘッドカバー116および用紙抑えローラ118の間に挟まれる。この状態でプリンタ制御部135の制御の下に印字モードとなった場合には、ステッピングモータ131がモータ制御部134の制御によって駆動されると、ラベル用紙PTは、用紙ロールPRからラインサーマルヘッド12を経由して用紙排出口110に向かう方向に搬送される。また、ラインサーマルヘッド12は、ヘッドコントローラ40の制御に基づいて発熱素子24を発熱させることによって、搬送されるラベル用紙PTのラベルLに対し所定の内容を印刷する。次に、ラインサーマルヘッド12およびヘッドコントローラ40について詳述する。ここで、図6は、ラインサーマルヘッドおよびヘッドコントローラを主体に示すブロック図、図7は、ドライバICの構成を示す回路図、図8は、ドライバIC毎の動作を示すタイミングチャートである。なお、図6においては、ラインサーマルヘッド12とヘッドコントローラ40との間に存在するヘッドブラケット115の図示を省略する。ラインサーマルヘッド12は、直流電力入力部210または充電池270からの電圧の供給を、RLC回路36を介して受けて発熱する多数個例えば、432個の発熱素子2424-1~24-n図7参照がライン状に配置されている。また、ラインサーマルヘッド12は、発熱素子24を分割した単位である複数のブロックを各々駆動させる駆動部である複数のドライバIC51~55図6参照を備えている。このようにラインサーマルヘッド12の各発熱素子24を分割した単位である複数のブロックを各々駆動する複数のドライバIC51~55を備えることにより、各発熱素子24-1~24-nの印字駆動のタイミングをずらすことが可能となっている。なお、RLC回路36を構成するコンデンサ37は、ラインサーマルヘッド12側の負荷が小さい場合にチャージアップする。なお、コンデンサ37の静電容量は、例えば、約1500Fとする。本実施形態のラベルプリンタ1は、このようにコンデンサ37をチャージアップすることによって、電源容量が小さくてすむので、充電池270による駆動に適するものとなっている。ヘッドコントローラ40は、ラインサーマルヘッド12の制御を行う印字制御部である。図6に示すように、ヘッドコントローラ40は、ブロックデータ分割回路41と、ONドット数カウンタ42~46と、第1加算回路47と、第2加算回路48と、総加算回路49と、ストローブコントローラ50と、を備えている。各ドライバIC51~55は、図7に示すように、電圧を発熱素子24に選択的に印加するためのスイッチ回路33として、各発熱素子24に対応させて、スイッチングトランジスタとして作用する複数個のトランジスタ3131-1~31-nを備える。そして、各トランジスタ31のオンオフを制御するためのベースには、それぞれANDゲート3232-1~32-nが接続され、これらのANDゲート32からの出力信号が入力されるようになっている。また、ラインサーマルヘッド12には、入力されるクロック信号CLKを基準クロックとして動作するDタイプのフリップフロップ回路FF回路からなるシフトレジスタ34が設けられている。このシフトレジスタ34は144ビットのものとして構成され、上記432個の発熱素子を5つに分けて各ドライバIC51~55に割り振られている。各ドライバIC51~55のシフトレジスタ34には並列的に印刷データが入力されるため、印刷データの入力が高速になる。図6に示すように、ヘッドコントローラ40のブロックデータ分割回路41は、CPU17から入力された印刷データを、ラインサーマルヘッド12のドライバIC51~55にかかる発熱素子24に対応するブロック毎の印刷データDAT1,DAT2,DAT3,DAT4,DAT5に分割して、各ドライバIC51~55のシフトレジスタ34に出力する。また、ヘッドコントローラ40のONドット数カウンタ42~46は、ブロックデータ分割回路41でブロック分割ブロック1,ブロック2,ブロック3,ブロック4,ブロック5された印刷データDAT1,DAT2,DAT3,DAT4,DAT5のそれぞれについて、図8に示すように、クロックに同期してデータラインにおける発熱素子24の数ONのドット数を計数する。第1加算回路47は、ONドット数カウンタ42~44における計数がそれぞれ入力されると、各計数を加算したONドット数の計数結果を算出する。また、第2加算回路48は、ONドット数カウンタ45,46における計数がそれぞれ入力されると、各計数を加算したONドット数の計数結果を算出する。さらに、総加算回路49は、ONドット数カウンタ42~46における計数がそれぞれ入力されると、5つの全ブロックのONドット数の計数を加算したONドット数の計数結果を算出する。第1加算回路47、第2加算回路48、総加算回路49の各加算回路で算出された計数結果は、ストローブコントローラ50に入力される。ストローブコントローラ50は、各加算回路の計数結果印字率に応じた分割数を定めた分割テーブルに従って、ラインサーマルヘッド12のドライバIC51~55によって発熱素子24のブロックを一括駆動または分割駆動させるものである。さらに、ストローブコントローラ50は、直流電力入力部210または充電池270から発熱素子24のブロックに供給される電圧を検出する検出部として機能する。そして、ストローブコントローラ50は、検出した電圧に応じて、各加算回路の計数結果に応じた分割数が異なる分割テーブルに変更するものである。なお、ストローブコントローラ50によって実行される分割テーブルの変更処理については、後述する。各ドライバIC51~55のシフトレジスタ34には、ヘッドコントローラ40で履歴処理説明は省略するがされた印刷データDAT1,DAT2,DAT3,DAT4,DAT5が、ラインサーマルヘッド12の1ライン分ずつシリアル入力されるように構成されている。そして、各ドライバIC51~55の各シフトレジスタ34にシリアル入力された1ラインを構成する印刷データはラッチ回路35にパラレル出力されるように構成されている。各ラッチ回路35は、データラッチ信号LATCHの入力によってパラレル印刷データをANDゲート32の一方の入力端子に入力するように構成されている図7参照。一方、ストローブ信号STBSTB1,STB2,STB3,STB4,STB5は、ヘッドコントローラ40によって生成されてCPU17からANDゲート32のもう一方の入力端子に入力される。これにより、ANDゲート32から出力信号が発生してトランジスタ31のベースに出力される。こうして、対応する発熱素子24に電圧が印加され、発熱素子24が発熱駆動される。次に、図9および図10を用いて、直流電力入力部210から24Vの電圧が発熱素子24のブロックに供給された場合、および充電池270から19Vの電圧が発熱素子24のブロックに供給された場合それぞれの印字条件について説明する。図9は、直流電力入力部から24Vの電圧が発熱素子のブロックに供給された場合の印字条件を示す図である。図10は、充電池から19Vの電圧が発熱素子のブロックに供給された場合それぞれの印字条件を示す図である。本実施形態のラベルプリンタ1は、図9に示すように、直流電力入力部210から24Vの電圧および当該24Vの電圧に応じて設定された電流値:1.2Aの電流が発熱素子24のブロックに供給された場合、解像度:203dpi8d/mm、印字幅:54mm、主走査方向への総ドット数:432d、発熱素子24の抵抗値:600Ω、発熱素子24に供給印加される印加電圧:24V、発熱素子24に供給印加される印加電力:0.96W/d、1d電流値:0.0400mAという印字条件の下で印字を行う。上述のように、直流電力入力部210は、発熱素子24のブロックに対して29Wの電力を供給する。そして、ストローブコントローラ50は、発熱素子24のブロックに対して直流電力入力部210から29Wの電力が供給された場合、ドライバIC51~55に出力するストローブ信号のストローブ長を制御して、最大印字速度:300mm/sec、印字周期:0.417msで印字を行わせることができる。また、ストローブコントローラ50は、発熱素子24のブロックに対して直流電力入力部210から29Wの電力が供給された場合、0.2mjのエネルギー量を発熱素子24のブロックに供給するために、発熱素子24のブロックに電圧を供給する通電時間を約0.625msとする。一方、本実施形態のラベルプリンタ1は、図10に示すように、充電池270から19Vの電圧および当該19Vの電圧に応じて設定された電流値:1.5Aの電流が発熱素子24のブロックに供給された場合、解像度:203dpi8d/mm、印字幅:54mm、主走査方向への総ドット数:432d、発熱素子24の抵抗値:600Ω、発熱素子24に供給される印加電圧19V、発熱素子24に供給される印加電力:0.60167W/d、1d電流値:0.0317mAという印字条件の下で印字を行う。上述のように、充電池270は、発熱素子24のブロックに対して29Wの電力を供給する。そして、ストローブコントローラ50は、発熱素子24のブロックに対して充電池270から29Wの電力が供給された場合、ドライバIC51~55に出力するストローブ信号のストローブ長を制御して、最大印字速度:300mm/sec、印字周期:0.417msで印字を行わせることができる。また、ストローブコントローラ50は、発熱素子24のブロックに対して充電池270から29Wの電力が供給された場合、0.2mjのエネルギー量を発熱素子24のブロックに供給するために、発熱素子24のブロックに電圧を供給する通電時間を約0.625msとする。次に、図11および図12を用いて、印字率に応じた発熱素子24のブロックの分割数を定めた分割テーブルについて説明する。図11は、発熱素子のブロックに24Vの電圧が供給された場合に発熱素子のブロックの駆動制御に用いる分割テーブルt1を示す図である。図12は、発熱素子のブロックに19Vの電圧が供給された場合に発熱素子のブロックの駆動制御に用いる分割テーブルt2を示す図である。図11および図12に示す分割テーブルt1,t2は、印字率と、ONドット数と、印字率毎に予め設定された電流値でありかつ発熱素子24のブロックへの供給が許容される最大定格電流の電流値以下、最大定格電流値とすると、印字率に応じた発熱素子24のブロックの分割数と、ラインサーマルヘッド12に供給する瞬時電流の電流値以下、瞬時電流値とすると、印字速度と、印字周期と、発熱素子24のブロックに供給する電流の平均以下、平均電流値平均印字率×印字速度=平均電流値とすると、を対応付けて記憶している。ここで、図11および図12に示した分割テーブルt1,t2に記憶される印字速度は、後述する印字速度テーブルt3,t4図17、図18参照により平均電流値に対する余力に応じて決定される速度の内、平均電流値に対する余力が多い場合における最も高速な速度を基準速度として記憶している。また、分割テーブルに記憶された印字周期は、分割テーブルに記憶された印字速度で印字を行った場合の印字周期である。図11に示す分割テーブルt1では、印字率が55を超えると、発熱素子24のブロックの分割数が1から2に増えている。より具体的には、図11に示す分割テーブルt1では、印字率が0~50の範囲では発熱素子24のブロックを一括駆動させ、印字率が51~100の範囲では発熱素子24のブロックを2分割駆動させることを示している。これに対して、図12に示す分割テーブルt2では、印字率が75を超えると、発熱素子24のブロックの分割数が1から2に増えている。より具体的には、図12に示す分割テーブルt2では、印字率が0~70の範囲では発熱素子24のブロックを一括駆動させ、印字率が71~100の範囲では発熱素子24のブロックを2分割駆動させる。つまり、図12に示す分割テーブルt2は、図11に示す分割テーブルt1と比較して、印字率に応じた発熱素子24のブロックの分割数が小さいといえる。次に、分割テーブルt1,t2に従った発熱素子24のブロックの駆動処理について詳述する。図13は、各ドライバICを一括駆動させる場合の動作を示すタイミングチャートである。図14は、各ドライバICを2分割駆動させる場合の動作を示すタイミングチャートである。ストローブコントローラ50は、図11に示す分割テーブルt1または図12に示す分割テーブルt2から、総加算回路49における計数結果または印字率と対応付けられた分割数を読み込む。そして、ストローブコントローラ50は、読み込んだ分割数に従って各ドライバIC51~55を一括駆動または分割駆動させるようなストローブ信号STBSTB1,STB2,STB3,STB4,STB5を各ドライバIC51~55に出力する。例えば、ストローブコントローラ50は、図11に示す分割テーブルt1または図12に示す分割テーブルt2から、分割数:1を読み込んだ場合、各ドライバIC51~55を分割駆動せずに同時に駆動一括駆動させるようなストローブ信号STBSTB1,STB2,STB3,STB4,STB5を各ドライバIC51~55に出力することで、印字スピードの高速化を図る。具体的には、ストローブコントローラ50は、図13に示すように、各ドライバIC51~55に対してストローブ信号STBSTB1,STB2,STB3,STB4,STB5を同時に出力する。また、ストローブコントローラ50は、図11に示す分割テーブルt1または図12に示す分割テーブルt2から、分割数:2を読み込んだ場合、各ドライバIC51~55を2分割駆動させるようなストローブ信号STBSTB1,STB2,STB3,STB4,STB5を各ドライバIC51~55に出力することで、各ドライバIC51~55で同時に電源を使用することを回避させる。具体的には、ストローブコントローラ50は、図14に示すように、ドライバIC51,52,53に対してストローブ信号STBSTB1,STB2,STB3を出力し、ドライバIC54,55に対するストローブ信号STBSTB4,STB5をドライバIC51,52,53に対するストローブ信号STBSTB1,STB2,STB3よりも遅延させて出力する。なお、ストローブコントローラ50は、詳細な説明は省略するが、図11に示す分割テーブルt1または図12に示す分割テーブルt2から、分割数:3~5を読み込んだ場合も、各ドライバIC51~55を3~5分割駆動させるようなストローブ信号STBSTB1,STB2,STB3,STB4,STB5を各ドライバIC51~55に出力することで、各ドライバIC51~55で同時に電源を使用することを回避させる。次に、発熱素子24のブロックに供給される電圧の検出結果に応じて分割テーブルを変更する処理、および分割テーブルに従った瞬時電流値の補正処理について説明する。ストローブコントローラ50は、発熱素子24のブロックに供給されるヘッド検出電圧が20~25.2Vである場合、直流電力入力部210からの電力供給とみなし、発熱素子24のブロックの駆動に用いる分割テーブルを、図11に示す分割テーブルt1に変更する。ここで、ストローブコントローラ50は、最大定格電流値を超えないように、発熱素子24のブロックに供給される瞬時電流値を補正大きくして、発熱素子24のブロックによる印字速度を速くするような制御を行うことが考えられる。例えば、ラインサーマルヘッド12に印加する電源が直流電力入力部210からの24V×1.2Aの場合には、図11に示すように、印字率25程度以内では300mm/secの印字が可能である。しかしながら、図15に示すように、毎ラインの平均消費電流を1.2A以下に抑える為に、最大定格電流値を超えないように、発熱素子24のブロックに供給される瞬時電流値を補正大きくして、発熱素子24のブロックによる印字速度を速くするような制御すると、印字率が50程度では印字速度が下がり、170mm/secに落とさなければならない。また、印字率100では、印字速度が85mm/secまで低下する。そこで、本実施形態においては、ストローブコントローラ50は、印字するライン以前の印字率主走査方向の印字率および副走査方向の印字率を加味して過去の平均印字率を算出し、その平均印字率に応じて印字速度を速く設定するとともに、平均電流値に対する余力に余裕が無ければ印字速度を遅くして、最終的に印字が終了する時に、予め決められた平均率と印字速度の関係になるように、印字速度と分割数とを可変制御する。具体的には、ストローブコントローラ50は、過去数十ライン以上のマクロ印字情報をフラッシュメモリ14に記憶しておき、[印字速度][ONドット数][分割数]の情報から過去数十ライン分の平均印字率を算出する。次いで、ストローブコントローラ50は、平均電流値に対する余力が多ければ、図11に示す分割テーブルt1における算出された平均印字率に応じた基準速度最も高速な速度で印字し、平均電流値に対する余力に余裕が無ければ、図11に示す分割テーブルt1における算出された平均印字率に応じた基準速度最も高速な速度よりも遅い印字速度で印字する。図11に示す分割テーブルt1に示すように、平均電流値に対する余力が多ければ、印字率50の場合では印字速度を213mm/secまで上げることができ、さらに100の印字率では印字速度を155mm/secまで大幅に上げることが可能になる。一方、ストローブコントローラ50は、発熱素子24のブロックに供給されるヘッド検出電圧が15~19.9Vである場合、充電池270からの電力供給とみなし、発熱素子24のブロックの駆動に用いる分割テーブルを、図12に示す分割テーブルt2に変更する。この場合も、ストローブコントローラ50は、最大定格電流値を超えないように、発熱素子24のブロックに供給される瞬時電流値を補正大きくして、発熱素子24のブロックによる印字速度を速くするような制御を行うことが考えられる。例えば、ラインサーマルヘッド12に印加する電源が充電池270からの19V×1.5Aの場合には、図12に示すように、印字率25程度以内では300mm/secの印字が可能である。しかしながら、図16に示すように、毎ラインの平均消費電流を1.5A以下に抑える為に、最大定格電流値を超えないように、発熱素子24のブロックに供給される瞬時電流値を補正大きくして、発熱素子24のブロックによる印字速度を速くするような制御すると、印字率が50程度では印字速度が下がり、167mm/secに落とさなければならない。また、印字率100では、印字速度が83mm/secまで低下する。そこで、本実施形態においては、ストローブコントローラ50は、過去数十ライン以上のマクロ印字情報をフラッシュメモリ14に記憶しておき、[印字速度][ONドット数][分割数]の情報から過去数十ライン分の平均印字率を算出する。次いで、ストローブコントローラ50は、平均電流値に対する余力が多ければ、図12に示す分割テーブルt2における算出された平均印字率に応じた基準速度最も高速な速度で印字し、平均電流値に対する余力に余裕が無ければ、図12に示す分割テーブルt2における算出された平均印字率に応じた基準速度最も高速な速度よりも遅い印字速度で印字する。図12に示す分割テーブルt2に示すように、印字率50の場合では印字速度を204mm/secまで上げることができ、さらに100印字率では印字速度を135mm/secまで大幅に上げることが可能になる。なお、図11および図12に示すように、印字率による一括印字するか、2分割印字にするかの印字率閾値は、24Vの場合と19Vの場合では変えられている。このようにしたのは、19Vの場合においては、印加電力が小さくなるので、通電時間が長くなり印字率による一括印字から2分割印字への切り替え閾値が24Vの場合と同じだと、2分割での通電時間が長くなり印字速度を速く出来なくなるからである。従って、19Vの場合においては、24Vの場合とは印字率閾値を変えて、印字率が例えば75程度の時に一括印字か2分割印字かの閾値にしておけば、印字速度が遅くなることは無い。ここで、図17および図18は、印字率と印字速度との関係を示すテーブル、図19および図20は、印字率と印字速度の関係の一例を示すグラフである。図19に示すグラフは、24V電圧で30印字率の平均消費電流が1.2Aの場合における印字率と印字速度の関係の一例を示したものである。図19に示すグラフに示されるように、印字率30程度までは全て同じ印字速度であるが、それ以上の印字率では印字するライン以前の主走査方向の印字率情報と副走査方向の印字率情報とを基に算出された平均印字率に基づくとともに、平均電流値に対する余力が多ければ図17に示す印字速度テーブルt3のうちの高速テーブルを選択して印字速度分割テーブルt1における基準速度を上げ、平均電流値に対する余力にやや余裕があれば図17に示す印字速度テーブルt3のうちの中速テーブルを選択して基準速度からやや遅くした中速の印字速度で印字し、平均電流値に対する余力に余裕が無ければ図17に示す印字速度テーブルt3のうちの低速テーブルを選択して中速の印字速度から更に遅くした低速で印字する。こうすることにより、印字速度を損なうことなく消費電流が少ない印字制御が可能となる。なお、過去の印字率情報は、例えば過去15ラインを参照して平均印字率を算出するようにすればよい。図20に示すグラフは、19V電圧で30印字率の平均消費電流が1.5Aの場合における印字率と印字速度の関係の一例を示したものである。図20に示すグラフに示されるように、印字率30程度までは全て同じ印字速度であるが、それ以上の印字率では印字するライン以前の主走査方向の印字率情報と副走査方向の印字率情報とを基に算出された平均印字率に基づくとともに、平均電流値に対する余力が多ければ図18に示す印字速度テーブルt4のうちの高速テーブルを選択して印字速度分割テーブルt2における基準速度を上げ、平均電流値に対する余力にやや余裕があれば図18に示す印字速度テーブルt4のうちの中速テーブルを選択して基準速度からやや遅くした中速の印字速度で印字し、平均電流値に対する余力に余裕が無ければ図18に示す印字速度テーブルt4のうちの低速テーブルを選択して中速の印字速度から更に遅くした低速で印字する。こうすることにより、印字速度を損なうことなく消費電流が少ない印字制御が可能となる。なお、過去の印字率情報は、例えば過去18ラインを参照して平均印字率を算出するようにすればよい。次に、図21を用いて、本実施形態にかかるラベルプリンタ1における印字処理の流れについて説明する。図21は、ラベルプリンタ1における印字処理の流れを示すフローチャートである。ラベルプリンタ1の電源がオンされてコンデンサ37が満充電されると、CPU17は、コンデンサ37が満充電された場合のカウンタ値を仮に100とするステップS1。より具体的には、使用する電源容量と電源電圧、コンデンサ37の容量などからチャージアップする容量を設計し、満充電時には仮にカウンタ値を100とする。次いで、CPU17は、ヘッドコントローラ40のストローブコントローラ50が検出したラインサーマルヘッド12の発熱素子24のブロックに供給される電圧を取得しステップS2、取得した電圧に応じて、図11に示す分割テーブルt1または図12に示す分割テーブルt2を選択するステップS3。次いで、CPU17は、ラインサーマルヘッド12の各発熱素子24の抵抗値に基づくヘッド抵抗値ランク補正を行った後ステップS4、チャージカウンタ値の残カウンタ値を確認するステップS5。ここで、チャージカウンタ値の残カウンタ値について説明する。本実施形態においては、予め印字率に対応するカウンタ値加減算値を決めておくものとする。図22は、カウンタ値テーブルT1である。図22に示すように、カウンタ値テーブルT1は、印字率に対応するカウンタ値加減算値を予め決めておくテーブルである。直前に印字したラインの印字率が0では40を加算し、直前に印字したラインの印字率が1~24では20を加算し、直前に印字したラインの印字率が25~49では-5を減算し、直前に印字したラインの印字率が50~74では-20を減算し、直前に印字したラインの印字率が50~74では-20を減算し、直前に印字したラインの印字率が75~100では-40を減算する。例えば、満充電時においてカウンタ値を100、直前に印字したラインの印字率が30の場合には、-5のカウントであり、チャージカウンタ値の残カウンタ値は95となる。次いで、ステップS5におけるチャージカウンタ値の残カウンタ値の確認後、CPU17は、ステップS3で選択した分割テーブルにおいて、残カウンタ値に従った印字速度テーブルを決定するステップS6。ここで、印字速度テーブルについて説明する。図23は、印字速度選択テーブルT2である。図23に示すように、印字速度選択テーブルT2は、チャージカウンタ値の残カウンタ値に対応する分割テーブルにおける印字速度テーブルを予め決めておくテーブルである。チャージカウンタ値の残カウンタ値が100~75では高速印字テーブルを選択し、チャージカウンタ値の残カウンタ値が74~40では中速印字テーブルを選択し、チャージカウンタ値の残カウンタ値が39~0では低速印字テーブルを選択する。例えば、チャージカウンタ値の残カウンタ値が75の場合に、直前に印字したラインの印字率が80の場合には、-40のカウントであり、チャージカウンタ値の残カウンタ値は35となり、低速印字テーブルが選択される。なお、これらの定数は設計値により異なるものである。なお、本実施形態においては、チャージカウンタ値の残カウンタ値に応じて印字速度を3種類に変化せるようにしたが、これに限るものではなく、速度変化が3種類以外でも良い。次いで、CPU17は、通信インタフェース29を介して、1ライン毎の印字データの取り込みリードを開始するステップS7。なお、CPU17により取り込まれた印字データは、ブロックデータ分割回路41にてブロック毎の印刷データに分割された後、各ドライバIC51~55のシフトレジスタ34に格納される。次いで、CPU17は、1ライン分の印字データの取り込みリードが終了すると、印字処理を実行するステップS8。より詳細には、CPU17の制御により、ストローブコントローラ50が、ステップS3において選択した分割テーブルから、総加算回路49により算出されたONドット数の計数結果すなわち印字率に応じた分割数を読み込むとともに、ステップS6において決定した印字速度テーブルによる印字速度を読み込み、読み込んだ分割数および印字速度に従って各ドライバIC51~55を一括駆動または分割駆動させるようなストローブ信号を各ドライバIC51~55に出力する。さらに、CPU17の制御により、ストローブコントローラ50は、図示しない測定部から入力されるラインサーマルヘッド12の周囲温度を把握し、把握したラインサーマルヘッド12の周囲温度に従って、発熱素子24による印字の際のエネルギー量を補正する。例えば、ファーストドットの印字の際にはラインサーマルヘッド12の周囲温度が低いので、ストローブコントローラ50は、各ドライバIC51~55に出力するストローブ信号のストローブ長を長くして、発熱素子24に供給する通常のエネルギー量よりもエネルギー量を大きくする。各ドライバIC51~55は、ストローブコントローラ50から入力されるストローブ信号に従って発熱素子24のブロックを一括駆動または分割駆動させて1ラインを印字する。ラベルプリンタ1のCPU17は、副走査方向の全てのラインの印字が終了していない場合にはステップS9のNo、直前に印字したラインの印字率に基づいてチャージカウンタ値の残カウンタ値を加減算してステップS10、ステップS5に戻る。一方、副走査方向の全てのラインの印字が終了した場合にはステップS9のYes、CPU17は、新たな印刷データの取り込みに備える。このように、本実施形態のラベルプリンタ1によれば、印字対象のライン以前の印字率主走査方向の印字率および副走査方向の印字率を加味して過去の平均印字率を算出し、その平均印字率に応じて印字速度を速く設定するとともに、平均電流値に対する余力に余裕が無ければ印字速度を遅くして、最終的に印字が終了する時に、平均電流値を満たすような予め決められた平均印字率と印字速度の関係になるように、印字速度と分割数とを可変制御することにより、印字速度を損なうことなく、消費電流が少ない印字制御を可能にすることができる。第2の実施形態本実施形態は、複数ライン毎に印字データの取り込みリードを実行する点で、第1の実施形態とは、異なるものとなっている。なお、第1の実施形態のラベルプリンタ1と同様の構成については説明を省略し、第1の実施形態のラベルプリンタ1と異なる構成についてのみ説明する。ここで、図24は、第2の実施形態のラベルプリンタ1における印字処理の流れを示すフローチャートである。ラベルプリンタ1の電源がオンされてコンデンサ37が満充電されると、CPU17は、コンデンサ37が満充電された場合のカウンタ値を仮に100とするステップS1。次いで、CPU17は、ヘッドコントローラ40のストローブコントローラ50が検出したラインサーマルヘッド12の発熱素子24のブロックに供給される電圧を取得しステップS2、取得した電圧に応じて、図11に示す分割テーブルt1または図12に示す分割テーブルt2を選択するステップS3。次いで、CPU17は、ラインサーマルヘッド12の各発熱素子24の抵抗値に基づくヘッド抵抗値ランク補正を行った後ステップS4、チャージカウンタ値の残カウンタ値を確認するステップS5。次いで、CPU17は、通信インタフェース29を介して、複数ライン分の印字データの取り込みリードを開始するステップS16。なお、CPU17により取り込まれた複数ライン分の印字データは、ブロックデータ分割回路41にてブロック毎の印刷データに分割された後、各ドライバIC51~55のシフトレジスタ34に格納される。次いで、CPU17は、複数ライン分の印字データの取り込みリードが終了すると、ステップS3で選択した分割テーブルにおいて、残カウンタ値に従った各ライン毎の印字速度テーブルを決定しステップS17、印字処理を実行するステップS18。より詳細には、CPU17の制御により、ストローブコントローラ50が、ステップS3において選択した分割テーブルから、総加算回路49により算出されたONドット数の計数結果すなわち印字率に応じた分割数を読み込むとともに、ステップS17において決定した各ライン毎の印字速度テーブルによる印字速度を読み込み、読み込んだ分割数および印字速度に従って各ドライバIC51~55を一括駆動または分割駆動させるようなストローブ信号を各ドライバIC51~55に出力する。さらに、CPU17の制御により、ストローブコントローラ50は、図示しない測定部から入力されるラインサーマルヘッド12の周囲温度を把握し、把握したラインサーマルヘッド12の周囲温度に従って、発熱素子24による印字の際のエネルギー量を補正する。例えば、ファーストドットの印字の際にはラインサーマルヘッド12の周囲温度が低いので、ストローブコントローラ50は、各ドライバIC51~55に出力するストローブ信号のストローブ長を長くして、発熱素子24に供給する通常のエネルギー量よりもエネルギー量を大きくする。各ドライバIC51~55は、ストローブコントローラ50から入力されるストローブ信号に従って発熱素子24のブロックを一括駆動または分割駆動させて1ラインを印字する。ラベルプリンタ1のCPU17は、副走査方向の全てのラインの印字が終了していない場合にはステップS19のNo、直前に印字した複数ライン分の印字率に基づいてチャージカウンタ値の残カウンタ値を加減算してステップS20、ステップS5に戻る。一方、副走査方向の全てのラインの印字が終了した場合にはステップS19のYes、CPU17は、新たな印刷データの取り込みに備える。このように、本実施形態のラベルプリンタ1によれば、印字するライン以前の印字率主走査方向の印字率および副走査方向の印字率を加味して過去の平均印字率を算出し、その平均印字率に応じて印字速度を速く設定するとともに、平均電流値に対する余力に余裕が無ければ印字速度を遅くして、最終的に印字が終了する時に、平均電流値を満たすような予め決められた平均印字率と印字速度の関係になるように、印字速度と分割数とを可変制御することにより、印字速度を損なうことなく、消費電流が少ない印字制御を可能にすることができる。なお、本実施形態のラベルプリンタ1で実行されるプログラムは、フラッシュメモリ14等に予め組み込まれて提供されるが、これに限定するものではなく、インストール可能な形式又は実行可能な形式のファイルでCD-ROM、フレキシブルディスクFD、CD-R、DVDDigitalVersatileDisk等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。さらに、本実施形態のラベルプリンタ1で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、本実施形態のラベルプリンタ1で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。本実施形態のラベルプリンタ1で実行されるプログラムは、上述したストローブコントローラ50を含むモジュール構成となっており、実際のハードウェアとしてはCPU17がフラッシュメモリ14からプログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、ストローブコントローラ50を主記憶装置上に生成することもできる。"