(57)【要約】【課題】印刷媒体の搬送速度の減速度合いをユーザが適切に調整できるようにすることで、印字品質をより高めることができるようにすること。【解決手段】サーマルプリンタは、サーマルヘッドによって印刷を行うサーマルプリンタであって、印刷データを取得する取得部と、前記印刷データを展開してドットラインデータを生成する展開処理部と、前記ドットラインデータに罫線データが含まれているか否かを判定する判定部と、前記判定部によってドットラインデータに罫線データが含まれていると判定された場合、当該罫線データのｎライン前のドットラインデータから、当該罫線データの印刷まで、印刷媒体の搬送速度を減速させる速度制御部とを備える。【選択図】図３
2019181802.tif 000002
【特許請求の範囲】
【請求項１】
サーマルヘッドによって印刷を行うサーマルプリンタであって、
印刷データを取得する取得部と、
前記印刷データを展開してドットラインデータを生成する展開処理部と、
前記ドットラインデータに罫線データが含まれているか否かを判定する判定部と、
前記判定部によってドットラインデータに罫線データが含まれていると判定された場合、当該罫線データのｎライン前のドットラインデータから、当該罫線データの印刷まで、印刷媒体の搬送速度を減速させる速度制御部と
を備えることを特徴とするサーマルプリンタ。
【請求項２】
前記速度制御部は、
減速前の前記搬送速度と減速後の前記搬送速度との差分と、前記ライン数ｎとに基づいて、前記印刷媒体の搬送速度を前記ドットラインデータ毎に段階的に減少させる
ことを特徴とする請求項１に記載のサーマルプリンタ。
【請求項３】
前記判定部は、
空白データを構成するドットラインデータがｍ回連続して行われるか否かを判定し、
前記速度制御部は、
前記判定部によって、前記空白データを構成するドットラインデータがｍ回連続して印刷されると判定され、且つ、前記判定部によって、前記ドットラインデータに罫線データが含まれていると判定された場合、前記印刷媒体の搬送速度を減速させる
ことを特徴とする請求項１または２に記載のサーマルプリンタ。
【請求項４】
プリンタ用の印刷制御装置であって、
印刷データを取得する取得部と、
前記印刷データを展開することによりドットラインデータを生成する展開処理部と、
前記ドットラインデータに罫線データが含まれているか否かを判定する判定部と、
前記判定部によってドットラインデータに罫線データが含まれていると判定された場合、当該罫線データよりもｎライン前のドットラインデータから当該罫線データの印刷までの間に、印刷媒体の搬送速度を徐々に減速させる速度制御部と
を備えることを特徴とする印刷制御装置。
【請求項５】
サーマルヘッドによって印刷を行うサーマルプリンタ用の印刷制御方法であって、
印刷データを取得し、
前記印刷データを展開して、ドットラインデータを生成し、
前記ドットラインデータに罫線データが含まれているか否かを判定し、
前記ドットラインデータに罫線データが含まれていると判定された場合、当該罫線データよりもｎライン前のドットラインデータの印刷から、当該罫線データの印刷まで、印刷媒体の搬送速度を徐々に減速させる
ことを特徴とする印刷制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、サーマルプリンタ、印刷制御装置、および印刷制御方法に関する。
【背景技術】
【０００２】
入力された印刷データに応じて、サーマルヘッドを発熱させて印刷を行うサーマルプリンタが知られている。
【０００３】
サーマルプリンタでは、白ドットの割合が高い空白データ等の印刷後、黒ドットの割合が高い罫線データ等のドットラインデータを印刷する際に、印字速度が急減速し印字品質が低下する虞があった。特に、黒ドットの割合が高い印刷の際にサーマルヘッドへのエネルギー印加を複数のステップに分割して行う場合に、印字速度の急減速が生じ易くなる。
【０００４】
特許文献１には、オンドット数が規定数を跨いで変化する１ラインの印字データを検出したときに、印字速度を段階的に変化させるサーマルプリンタが開示されている。また、特許文献２には、複数のラインデータの印字速度を算出し、現在の印字速度よりも低い印字速度のラインが存在する場合、現在の印字速度から低い印字速度に減速させる減速傾きを算出してモータを制御し、印字速度を低下させる技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００１−１８００２７号公報
【特許文献２】特開２００９−９０５４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１では対象となる印字データが存在する場合一律に印字速度を段階的に変化させており、オンドット数以外の条件を加味していない。また、特許文献２の技術は、現在の印字速度と、現在の印字速度よりも低い印字速度に基づいて直線的な減速となるように、または所定の減速曲線に応じて減速の傾きが決定されるものである。このため、特許文献２の技術は、印刷媒体の搬送速度の減速度合いをユーザが適切に調整することができず、よって、印字品質をより高めることができない。
【０００７】
本発明は、印刷媒体の搬送速度の減速度合いをユーザが適切に調整できるようにすることで、印字品質をより高めることができるようにすることを目的とする。
【課題を解決するための手段】
【０００８】
上述した課題を解決するために、本発明のサーマルプリンタは、サーマルヘッドによって印刷を行うサーマルプリンタであって、印刷データを取得する取得部と、前記印刷データを展開してドットラインデータを生成する展開処理部と、前記ドットラインデータに罫線データが含まれているか否かを判定する判定部と、前記判定部によってドットラインデータに罫線データが含まれていると判定された場合、当該罫線データのｎライン前のドットラインデータから、当該罫線データの印刷まで、印刷媒体の搬送速度を減速させる速度制御部とを備える。
【発明の効果】
【０００９】
本発明によれば、印刷媒体の搬送速度の減速度合いをユーザが適切に調整できるため、印字品質をより高めることができる。
【図面の簡単な説明】
【００１０】
【図１】実施形態に係るサーマルプリンタの概略構成を示す図である。
【図２】実施形態に係るサーマルヘッドの構成を示す図である。
【図３】実施形態に係るサーマルプリンタの機能構成を示す図である。
【図４】実施形態に係るコードバッファの構成を示す図である。
【図５】実施形態に係る印刷処理を示すフローチャートである。
【図６】実施形態に係る印刷速度制御処理を示すフローチャートである。
【図７】実施形態に係る印刷速度制御処理を示すフローチャートである。
【図８】一実施形態に係る減速処理を説明する図である。
【図９】一実施形態に係る減速処理を説明する図である。
【図１０】一実施形態に係る各種信号のタイミングを示す図である。
【発明を実施するための形態】
【００１１】
〔実施形態〕
以下、図面を参照して、実施形態について説明する。
【００１２】
（サーマルプリンタ１０の概略構成）
図１は、実施形態に係るサーマルプリンタ１０の概略構成を示す図である。図１に示すサーマルプリンタ１０は、入力した印刷データに応じてサーマルヘッド１２１の発熱体を発熱させて、感熱紙等の印刷媒体に印刷を行う装置である。図１に示すように、サーマルプリンタ１０は、制御回路ユニット１００、プリンタメカ部１２０、およびバッテリ１４０を備える。
【００１３】
制御回路ユニット１００は、ＭＣＵ１０１、メモリ１０２、ヘッド駆動回路１０３、モータ駆動回路１０４、およびＩ／Ｆ（Inter Face）回路１０５を備える。
【００１４】
ＭＣＵ１０１は、各種印刷制御処理を行う。ＭＣＵ１０１は、例えば、ＣＰＵ（Central Processing Unit）、メモリ（ＲＯＭ（Read Only Memory）、フラッシュメモリ等）等を備えて構成されている。なお、ＭＣＵ１０１は、「印刷制御装置」として機能する。
【００１５】
メモリ１０２は、ＭＣＵ１０１が各種処理を行う際に必要な各種データを記憶する。メモリ１０２としては、例えば、ＲＡＭ（Random Access Memory）が用いられる。
【００１６】
ヘッド駆動回路１０３は、ＭＣＵ１０１から出力された印刷制御データをサーマルヘッド１２１へ供給して、サーマルヘッド１２１の駆動を制御する。
【００１７】
モータ駆動回路１０４は、ＭＣＵ１０１から出力されたモータ制御データに基づいて、用紙送りを行うためのパルスモータ１２２を駆動する。
【００１８】
Ｉ／Ｆ回路１０５は、ＭＣＵ１０１とパーソナルコンピュータなどの外部機器との間の各種データの送受信を制御する。
【００１９】
プリンタメカ部１２０は、サーマルヘッド１２１およびパルスモータ１２２を備える。サーマルヘッド１２１は複数の発熱体を有しており、ヘッド駆動回路１０３から入力された印刷制御データに応じて発熱体を駆動する。パルスモータ１２２は、サーマルプリンタ１０の不図示の用紙送りローラを駆動するように構成され、モータ駆動回路１０４から入力したモータ制御データに応じて、用紙送りローラを駆動する。
【００２０】
バッテリ１４０は、サーマルプリンタ１０の動作用の所定の電圧（例えば、３．３Ｖ）の電力を供給する。バッテリ１４０としてはリチウムイオンバッテリ等が用いられる。
【００２１】
（サーマルヘッド１２１）
図２は、実施形態に係るサーマルヘッド１２１の構成を示す図である。図２に示すように、サーマルヘッド１２１は、発熱体Ｒ１〜Ｒ６４０、集積回路ＩＣ１〜ＩＣ６４０、シフトレジスタ２０１、およびラッチレジスタ２０２を備える。
【００２２】
発熱体Ｒ１〜Ｒ６４０は、主走査方向に一列に並べて設けられている。発熱体Ｒ１〜Ｒ６４０はエネルギーの印加によって発熱し、感熱紙等の印刷媒体を加熱して印刷媒体上に印刷する。サーマルプリンタ１０は、発熱体Ｒ１〜Ｒ６４０により１ドットラインにつき６４０ドットを印刷媒体に印刷できる。
【００２３】
発熱体Ｒ１〜Ｒ６４０は、印刷領域に応じて分割された印刷ブロックごとに制御される。本実施形態では、発熱体Ｒ１〜Ｒ６４０は、１６０個の発熱体ごとに第１の印刷ブロック（Ｒ１〜Ｒ１６０）、第２の印刷ブロック（Ｒ１６１〜Ｒ３２０）、第３の印刷ブロック（Ｒ３２１〜Ｒ４８０）、第４の印刷ブロック（Ｒ４８１〜Ｒ６４０）に分割されている。なお、サーマルプリンタ１０に設けられる発熱体の数、印刷ブロックの数等の構成は、本実施形態に例示される構成に限られるものではない。
【００２４】
集積回路ＩＣ１〜ＩＣ６４０は各発熱体Ｒ１〜Ｒ６４０に対応して設けられ、それぞれ発熱体Ｒ１〜Ｒ６４０に接続されている。ＩＣ１〜ＩＣ６４０は、ＭＣＵ１０１から入力するストローブ信号のオンオフによってそのオンオフが制御される。ＩＣ１〜ＩＣ６４０は、ラッチレジスタ２０２から入力する信号が「１」で、且つＭＣＵ１０１から入力するストローブ信号が「オン」の場合にオンになり、対応する発熱体Ｒ１〜Ｒ６４０に通電する。なお、各発熱体Ｒ１〜Ｒ６４０の通電時間は、ストローブ信号がオンとなっている時間により制御される。通電時間が長いほど、各発熱体Ｒ１〜Ｒ６４０に印加されるエネルギーが大きくなる。
【００２５】
シフトレジスタ２０１は、発熱体Ｒ１〜Ｒ６４０に対応する６４０ビット（１ドットライン分）の印刷制御データを記憶する。シフトレジスタ２０１に記憶される印刷制御データは発熱体Ｒ１〜Ｒ６４０を制御するデータであり、ビットが「１」である場合には対応する発熱体がオンとなり、ビットが「０」である場合には対応する発熱体がオフとなる。
【００２６】
ラッチレジスタ２０２は、シフトレジスタ２０１と同様に発熱体Ｒ１〜Ｒ６４０に対応する６４０ビットの印刷制御データを記憶する。ラッチレジスタ２０２は、ＭＣＵ１０１から／ＬＡＴ信号（データラッチ信号）を受信したタイミングで、シフトレジスタ２０１内に記憶されている１ドットライン分の印刷制御データをラッチする。ラッチレジスタ２０２にラッチされた印刷制御データは、ＩＣ１〜ＩＣ６４０に入力する。
【００２７】
ＭＣＵ１０１は、外部機器から入力した印刷データに基づいて、文字を印刷するための印刷制御データ（ＤＩ信号）を生成する。そして、ＭＣＵ１０１は、生成したＤＩ信号を１ドットライン単位でシフトレジスタ２０１へ送信する。また、ＭＣＵ１０１は、シフトレジスタ２０１への１ドットライン分の印刷制御データの送信が完了すると、／ＬＡＴ信号をラッチレジスタ２０２へ送信し、シフトレジスタ２０１に記憶されている１ドットライン分の印刷制御データをラッチレジスタ２０２にラッチさせる。
【００２８】
また、ＭＣＵ１０１は、発熱体Ｒ１〜Ｒ６４０の印刷ブロック毎に、発熱体に対するエネルギー印加を制御するストローブ信号を送信する。ＭＣＵ１０１は、第１の印刷ブロックを制御するＩＣ１〜ＩＣ１６０にストローブ信号ＳＴＢ１を送信する。同様に、ＭＣＵ１０１は、第２の印刷ブロックを制御するＩＣ１６１〜ＩＣ３２０にストローブ信号ＳＴＢ２を、第３の印刷ブロックを制御するＩＣ３２１〜ＩＣ４８０にストローブ信号ＳＴＢ３を、第４の印刷ブロックを制御するＩＣ４８１〜ＩＣ６４０にストローブ信号ＳＴＢ４をそれぞれ送信する。
【００２９】
バッテリ１４０は、発熱体Ｒ１〜Ｒ６４０に接続され、発熱体Ｒ１〜Ｒ６４０に電圧Ｖを印加する。
【００３０】
（サーマルプリンタ１０の機能構成）
図３は、サーマルプリンタ１０の機能構成を示す図である。図３に示すように、サーマルプリンタ１０は、取得部３０１、解析処理部３０２、設定部３０３、コードバッファ３０４、イメージバッファ３０５、展開処理部３０７、格納部３０８、判定部３１０、速度制御部３１１、および転送部３１２を備える。
【００３１】
取得部３０１は、外部機器から送信された印刷データをＩ／Ｆ回路１０５を介して取得する。印刷データには画像データおよび文字データの少なくとも一方が含まれる。
【００３２】
解析処理部３０２は、取得部３０１が取得した印刷データに対するコマンド解析処理を行い、印刷データが画像データであるか、文字データであるかを判断する。そして、解析処理部３０２は、印刷データが画像データである場合、画像データをイメージバッファ３０５に書き込む。一方、印刷データが文字データである場合、文字データを設定部３０３に供給する。
【００３３】
設定部３０３は、解析処理部３０２から供給された文字データに含まれている文字毎に文字の印刷設定情報であるコードバッファ文字情報（「文字設定情報」）を生成してコードバッファ３０４に書き込む。また、設定部３０３は、文字データに含まれている文字行毎に、文字行の印刷設定情報であるコードバッファ文字行情報（「文字行設定情報」）を生成してコードバッファ３０４に書き込む。
【００３４】
コードバッファ３０４は、設定部３０３によって書き込まれた文字行設定情報および文字設定情報を記憶する。イメージバッファ３０５は、解析処理部３０２によって書き込まれた画像データを記憶する。なお、コードバッファ３０４に記憶される文字設定情報および文字行設定情報については、図４を用いて後述する。
【００３５】
展開処理部３０７は、コードバッファ３０４に記憶された文字行設定情報および文字設定情報を展開して、文字印刷のためのドットラインデータを生成する。また、展開処理部３０７は、イメージバッファ３０５に記憶された画像データを展開し、画像印刷のためのドットラインデータを生成する。１ドットラインは６４０ドットからなるため、展開処理部３０７は１ドットラインにつき６４０ドット分の発熱体を制御するドットラインデータを生成する。図４で後述するように、コードバッファ３０４は第１コードバッファ３０４Ａおよび第２コードバッファ３０４Ｂを有し、冗長的構成となっている。これにより、展開処理部３０７が一方のコードバッファに対して展開処理を行っている際に、設定部３０３が他方のコードバッファに文字行設定情報および文字設定情報を書き込むことができ、展開処理部３０７と設定部３０３とが並列的に処理を行うため、処理速度を向上させることができる。
【００３６】
格納部３０８は、展開処理部３０７が生成したドットラインデータのうち所定本数のドットラインデータを格納する。格納部３０８に格納されたドットラインデータは、先頭のドットラインデータから順次サーマルヘッド１２１へ転送される。また、格納部３０８格納されたドットラインデータの末尾には新たな印刷データが順次追加される。
【００３７】
判定部３１０は、現在のドットラインデータからｎライン後のドットラインデータが罫線データであるか否かを判定する。判定部３１０は、１ドットラインデータを構成する黒ドットの占める割合が所定の閾値（例えば、７０％）以上のドットラインデータを罫線データと判定する。なお、ライン数ｎはユーザが任意に設定可能である。例えば、ライン数ｎは外部機器から設定され、メモリ１０２またはＭＣＵ１０１内蔵のメモリに読出し可能に記憶される。
【００３８】
また、判定部３１０は、空白データを構成するドットラインデータがｍライン連続しているか否かを判定する。判定部３１０は、格納部３０８の先頭に格納されたドットラインデータが空白データである場合、空白データの連続数を記録する空白連続カウンタ値に「１」を加算する。そして、判定部３１０は、空白連続カウンタ値がｍに達した場合、空白ラインがｍライン連続していると判定する。なお、回数ｍはユーザが任意に設定可能である。例えば、回数ｍは外部機器から設定され、メモリ１０２またはＭＣＵ１０１内蔵メモリに読出し可能に記憶される。
【００３９】
速度制御部３１１は、判定部３１０によって空白ラインがｍ回連続し、且つｎライン後のドットラインデータが罫線データであると判定された場合、罫線データの印刷前から印刷媒体の搬送速度を徐々に減速させる。具体的には、速度制御部３１１は、罫線データよりもｎライン前の現在のドットラインデータから印刷媒体の搬送速度の減速を開始する。このとき、速度制御部３１１は、減速前の搬送速度Ｖ１と減速後の搬送速度Ｖ２との差分と、ライン数ｎとに基づいて、印刷媒体の搬送速度を搬送速度Ｖ１から搬送速度Ｖ２までドットラインデータ毎に段階的に減少させる。速度制御部３１１は、空白ラインのときには印刷媒体の搬送速度を徐々に高めることで印刷速度の向上を図っている。空白ラインがｍ回連続し、搬送速度がある程度高まったときに減速制御を行うため、減速制御の効果を高めることができる。
【００４０】
特に、速度制御部３１１は、式（１）を用いてドットラインデータ毎の搬送速度を算出し、搬送速度Ｖ１から搬送速度Ｖ２まで一定の減速率でドットラインデータ毎に段階的に搬送速度を減少させる。もしくは、速度制御部３１１は、式（２）を用いてドットラインデータ毎の搬送速度を算出し、搬送速度Ｖ１から搬送速度Ｖ２まで減速率が徐々に小さくなるようにドットラインデータ毎に段階的に搬送速度を減少させる。
【００４１】
転送部３１２は、格納部３０８に格納されたドットラインデータをヘッド駆動回路１０３から順次サーマルヘッド１２１へ転送する。サーマルヘッド１２１は、転送部３１２から転送されたドットラインデータに基づいて発熱体Ｒ１〜Ｒ６４０を駆動して、ドットラインデータに対応するドットラインを印刷媒体に印刷する。
【００４２】
サーマルプリンタ１０の各機能は、サーマルプリンタ１０が備える各種ハードウェアおよびソフトウェアによって実現される。取得部３０１、解析処理部３０２、設定部３０３、展開処理部３０７、判定部３１０、速度制御部３１１、および転送部３１２は、メモリ１０２またはＭＣＵ１０１内蔵のメモリに記憶されたプログラムをＭＣＵ１０１が実行することにより実現される。また、コードバッファ３０４、イメージバッファ３０５、および格納部３０８は、メモリ１０２またはＭＣＵ１０１内蔵のメモリによって実現される。
【００４３】
ＭＣＵ１０１が実行するプログラムは、予めサーマルプリンタ１０に導入された状態で提供されてもよく、外部からサーマルプリンタ１０に導入してもよい。後者の場合、プログラムは、ＵＳＢメモリ、メモリカード、ＣＤ−ＲＯＭ等の外部記憶媒体から提供してもよく、ネットワーク上のサーバのダウンロードによって提供してもよい。
【００４４】
（コードバッファ３０４の構成）
図４は、コードバッファ３０４の構成を示す図である。図４に示すように、コードバッファ３０４は、第１コードバッファ３０４Ａおよび第２コードバッファ３０４Ｂを有している。第１コードバッファ３０４Ａおよび第２コードバッファ３０４Ｂは互いに同一の構成を有し、コードバッファ３０４は冗長的構成を有している。
【００４５】
図４に示すように、各コードバッファ３０４Ａ，３０４Ｂには、設定部３０３によってコードバッファ行情報（行設定情報）４０１およびコードバッファ文字情報（文字設定情報）４０２が設定される。コードバッファ行情報４０１は文字行毎に設定される設定情報である。コードバッファ文字情報４０２は文字毎に設定される設定情報である。
【００４６】
図４に示す例では、行設定情報４０１は、データ項目として、コード数（１行あたりの文字数）、印字ライン数（１行あたりのドットライン数）、用紙送りライン数（１行のドットライン数＋空白行のドットライン数）、左マージン、行内最大アンダーライン量（アンダーラインの幅のドット数）、および倒立文字［解除／指定］を含んでいる。
【００４７】
また、図４では、文字設定情報４０２はグラフィックデータの保存アドレスおよびグラフィック情報を含んでいる。保存アドレスは、印刷対象の文字のグラフィックデータが保存されているメモリのアドレスが設定される。グラフィック情報は、印刷対象の文字のグラフィックデータの印刷設定に関する情報であり、データ項目として、例えば、縦／横倍率、左右スペース量、アンダーライン高さ、右回転（０°／９０°／１８０°／２７０°）、白黒反転［解除／指定］、強調（二重）［解除／指定］、キャラクタサイズ、および識別子を含んでいる。
【００４８】
（印刷処理）
図５は、サーマルプリンタ１０による印刷処理の手順を示すフローチャートである。図５に示す処理は、サーマルプリンタ１０による印刷が行われている間、ＭＣＵ１０１によって繰り返し実行される。
【００４９】
まず、取得部３０１が、印刷データを、Ｉ／Ｆ回路１０５を介して外部機器から取得する（Ｓ５０１）。次に、解析処理部３０２が、Ｓ５０１で取得した印刷データが画像データであるか否かを判断する（Ｓ５０２）。
【００５０】
Ｓ５０１で取得した印刷データが画像データである場合（Ｓ５０２：Ｙｅｓ）、解析処理部３０２は印刷データをイメージバッファ３０５へ格納する（Ｓ５０３）。
【００５１】
一方、Ｓ５０１で取得した印刷データが文字データである場合（Ｓ５０２：Ｎｏ）、設定部３０３は印刷データから行設定情報および文字設定情報を生成し、コードバッファ３０４に書き込む（Ｓ５０４）。
【００５２】
続いて、展開処理部３０７がドットラインデータを生成する（Ｓ５０５）。展開処理部３０７は、コードバッファ３０４に格納された行設定情報および文字設定情報を展開して、文字印刷のためのドットラインデータを生成する。または、展開処理部３０７は、イメージバッファ３０５に格納された画像データを展開して、画像印刷のためのドットラインデータを生成する。
【００５３】
そして、格納部３０８にＳ５０５で生成したドットラインデータを格納する（Ｓ５０６）。
【００５４】
さらに、転送部３１２が、格納部３０８に格納されたドットラインデータを、１ドットラインデータ毎にヘッド駆動回路１０３を介してサーマルヘッド１２１へ順次転送する（Ｓ５０７）。
【００５５】
これに応じて、サーマルヘッド１２１が、転送部３１２から順次転送されたドットラインデータに基づいて、１ドットラインデータ毎に発熱体Ｒ１〜Ｒ６４０を駆動してドットラインを印刷する（Ｓ５０８）。そして、サーマルプリンタ１０は、図５に示す一連の処理を終了する。
【００５６】
なお、Ｓ５０２〜Ｓ５０８の処理は、Ｓ５０１で取得した印刷データの印刷が完了するまで、サーマルプリンタ１０によって繰り返し実行される。これにより、サーマルプリンタ１０は、印刷データに含まれる文字データおよび画像データを印刷する。
【００５７】
（印刷速度制御処理）
図６および図７は、実施形態に係る印刷速度制御処理の手順を示すフローチャートである。図６および図７に示す処理は、サーマルプリンタ１０による印刷が行われている間、ＭＣＵ１０１によって図５に示す印刷処理と並行して繰り返し実行され、格納部３０８に格納されている１ドットラインデータ毎に実行される。図６および図７は１ドットラインに対する処理を示し、複数ラインを印刷する際には図６および図７の処理が繰り返し実行される。
【００５８】
まず、判定部３１０が、罫線データ有無のチェックを行うか否かを示す罫線チェック要求フラグに「オン」が設定されているか否かを判断する（Ｓ６０１）。罫線チェック要求フラグが「オン」に設定されている場合（Ｓ６０１：Ｙｅｓ）、判定部３１０は図７のＡへ処理を進める。
【００５９】
一方、罫線チェック要求フラグに「オン」が設定されていない場合（Ｓ６０１：Ｎｏ）、判定部３１０はＳ６０２へ処理を進める。なお、罫線チェック要求フラグのデフォルト値は「オフ」である。
【００６０】
Ｓ６０２では、判定部３１０が、現在のドットラインデータが空白データであるか否かを判断する。現在のドットラインデータが空白データはない場合（Ｓ６０２：Ｎｏ）、判定部３１０は空白データの連続数を示す空白連続カウンタ値を「０」にクリアする（Ｓ６０３）。そして、サーマルプリンタ１０は、図６に示す一連の処理を終了する。
【００６１】
一方、現在のドットラインデータが空白データである場合（Ｓ６０２：Ｙｅｓ）、判定部３１０は空白連続カウンタ値に「１」を加算して（Ｓ６０４）、空白連続カウンタ値がｍ以上であるか否かを判断する（Ｓ６０５）。
【００６２】
空白連続カウンタ値がｍ以上ではない場合（Ｓ６０５：Ｎｏ）、サーマルプリンタ１０は、図６および図７に示す一連の処理を終了する。
【００６３】
一方、空白連続カウンタ値がｍ以上である場合（Ｓ６０５：Ｙｅｓ）、判定部３１０は罫線チェック要求フラグに「オン」を設定する（Ｓ６０６）。そして、サーマルプリンタ１０は、図６および図７に示す一連の処理を終了する。
【００６４】
続いて、図７のＡ以降の、Ｓ６０１で罫線チェック要求フラグが「オン」と判定した場合の処理を説明する。判定部３１０は、格納部３０８（中間バッファ）に格納されている複数のドットラインデータのうち、現在のドットラインデータからｎライン後のドットラインデータをチェックし（Ｓ７０１）ｎライン後のドットラインデータが罫線データであるか否かを判定する（Ｓ７０２）。
【００６５】
ｎライン後のドットラインデータが罫線データである場合（Ｓ７０２：Ｙｅｓ）、速度制御部３１１は減速処理を行い、罫線データの印刷が行われる前から印刷媒体の搬送速度を徐々に減速させる（Ｓ７０４）。そして、判定部３１０は罫線チェック要求フラグにｃ「オフ」を設定する（Ｓ７０５）。その後、サーマルプリンタ１０は、図６および図７に示す一連の処理を終了する。
【００６６】
一方、ｎライン後のドットラインデータが罫線データではない場合（Ｓ７０２：Ｎｏ）、判定部３１０は、ｎライン後のドットラインデータが空白データ以外のその他の印刷データであるか否かを判定する（Ｓ７０３）。
【００６７】
ｎライン後のドットラインデータがその他の印刷データである場合（Ｓ７０３：Ｙｅｓ）、判定部３１０は罫線チェック要求フラグに初期化のため「オフ」を設定する（Ｓ７０５）。その後、サーマルプリンタ１０は図６および図７に示す一連の処理を終了する。
【００６８】
一方、ｎライン後のドットラインデータがその他の印刷データではない、つまり空白データである場合（Ｓ７０３：Ｎｏ）、サーマルプリンタ１０は図６および図７に示す一連の処理を終了する。
【００６９】
（減速処理）
図８は、一実施形態に係る減速処理を説明する図である。
【００７０】
＜中間バッファ＞
図８に示すように、格納部３０８は所定ライン数のドットラインデータを格納可能である。図８では、格納部３０８は最大１６本のドットラインデータを格納する。格納部３０８に格納されたドットラインデータは、先頭の「ドットラインデータ（１）」から順次サーマルヘッド１２１へ転送される。この際、他のドットラインデータは順次先頭に向ってシフトする。これにより、格納部３０８にドットラインデータの空きが生じるため、ドットラインデータの末尾に新たな印刷データを追加することが可能となる。
【００７１】
＜判定部３１０による判定処理＞
判定部３１０は、格納部３０８に格納されているドットラインデータに基づいて、減速処理を行うか否かを判定する。判定部３１０は、現在のドットラインデータが連続してｍライン目の空白データであり、且つ、現在のドットラインデータからｎライン後のドットラインデータが罫線データであると判定した場合、減速処理を行うと判定する。判定部３１０は、各ドットラインデータについて順次空白データであるか否かを判定し、空白データであると判定した場合には空白連続カウンタ値（初期値＝「０」）に「１」を加算する。そして、判定部３１０は、空白連続カウンタ値が「ｍ」に達した場合、現在のドットラインデータからｎライン後のドットラインデータが罫線データであるか否かを判定する。ｎライン後のドットラインデータが罫線データであると判定した場合、判定部３１０は減速処理を行うと判定する。
【００７２】
＜速度制御部３１１による減速処理＞
速度制御部３１１は、判定部３１０が減速処理を行うと判定した場合、ｎライン後の罫線データの印刷開始前から印刷媒体の搬送速度を徐々に減速させる。具体的には、速度制御部３１１は、罫線データよりもｎライン前のドットラインデータが印刷されるタイミングから印刷媒体の搬送速度の減速を開始する。このとき、速度制御部３１１は減速前の現在の搬送速度Ｖ１と減速後の罫線データの搬送速度Ｖ２との差分と、ライン数ｎとに基づいて、印刷媒体の搬送速度を搬送速度Ｖ１から搬送速度Ｖ２までドットラインデータ毎に段階的に減少させる。
【００７３】
例えば、速度制御部３１１は、式（１）により、現在のドットラインデータよりもｉライン後のドットラインデータの搬送速度Ｖｉを算出する。
【００７４】
Ｖｉ＝Ｖ１＋（Ｖ２−Ｖ１）×（ｉ／ｎ）・・・（１）
【００７５】
速度制御部３１１は、現在の印刷データから罫線データまで、ドットラインデータ毎に式（１）から算出した算出された搬送速度となるように搬送速度を制御する。これにより、現在のドットラインデータから罫線データが印刷されるまでの間、一定の減速率で搬送速度が徐々に減速される。
【００７６】
なお、速度制御部３１１は、式（１）の代わりに、式（２）により現在のドットラインデータよりもｉ本後のドットラインデータの搬送速度Ｖｉを算出してもよい。但し、指数ｂは、１以上の任意の整数値である。
【００７７】
Ｖｉ＝Ｖ１＋（Ｖ２−Ｖ１）×（ｉ／ｎ）ｂ・・・（２）
【００７８】
速度制御部３１１は、現在の印刷データから罫線データまでドットラインデータ毎に式（２）より算出した搬送速度となるように搬送速度を制御する。これにより、現在のドットラインデータから罫線データが印刷されるまでの間、減速率が徐々に小さくなるように搬送速度が徐々に減速される。
【００７９】
なお、式（１）および式（２）のいずれを用いるかは、ユーザが任意に設定し、メモリ１０２またはＭＣＵ１０１内蔵のメモリに読出し可能に記憶して設定すればよい。
【００８０】
＜ライン数ｎおよび回数ｍ＞
ライン数ｎおよび回数ｍはユーザが任意の値を設定することが可能である。この設定は例えば外部機器から行われる。以下に、ライン数ｎおよび回数ｍの設定値の具体例を示すが、これらには限らない。なお、１文字は２６ドットラインで構成されるものとする。
【００８１】
＜ライン数ｎ＞
初期値：ｎ＝８ドットライン
設定単位：２ドットライン単位
設定範囲：２〜１６ドットライン
【００８２】
＜回数ｍ＞
初期値：ｍ＝１文字行（２６ドット）
設定単位：１文字行（２６ドット）単位
設定範囲：１〜１６文字行（２６〜４１６ドット）
【００８３】
ユーザは、必要に応じて外部機器からコマンドを送信することにより、ライン数ｎおよび回数ｍの値を調整することができる。
【００８４】
ライン数ｎの設定値を初期値（ｎ＝８）よりも大きくすることにより、減速処理に要するライン数が増えるため、印刷媒体の搬送速度の減速率を低下させることができる。反対に、ライン数ｎの設定値を初期値（ｎ＝８）よりも小さくすることにより、減速処理に要するライン数が減るため、搬送速度の減速率を高めることができる。
【００８５】
本実施形態のサーマルプリンタ１０は、ステッピングモータ駆動のステップ単位で加速制御が行われる。１ドットを４印刷ステップで印刷する場合は、印字速度は印字データの種類によらず停止状態（０印刷ステップ）から徐々に加速してゆき、１０４印刷ステップ（２６ドット×４印刷ステップ）で最高速度に達する。印刷開始から１０４印刷ステップに達するまでは印字速度が最高速度に達していないため、本実施形態による減速処理を実行してもその効果は低いと見込まれる。
【００８６】
本実施形態のサーマルプリンタ１０では、印刷中には印刷データに応じてモータが加減速され、その加速ステップは停止状態の０ステップから最高速度の１０４ステップの間で変動する。空白データ以外の印刷データを印刷している際には印字速度が最高速度から下がった状態になり、空白データが出現すると印字速度が下がった状態からまた加速していく。空白データが連続するとき、印字速度は最高速度の状態が継続している。
【００８７】
本実施形態のサーマルプリンタ１０は、回数ｍの設定値を初期値（ｍ＝１）よりも大きくすることで、減速処理を行わずに印字速度が加速する期間を長く取ることが可能となり、全体的な印字速度を向上させることができる。
【００８８】
但し、印字速度を向上させることによって罫線データ印字開始時の印字品質に影響を及ぼす可能性が高くなる。このため、回数ｍの設定値を調整する際には設定値を段階的に高め、印字品質に影響を及ぼさない程度の値を設定することが好ましい。例えば、回数ｍの設定値を増加させた際に設定値が「６」のときに印字品質の低下がみられた場合には、回数ｍの設定値を「５」またはそれ以下とする。
【００８９】
なお、回数ｍの最大値を１６文字行（４１６ドット）以上の値に設定しても、印字速度および印字品質に変化が生じないと見込まれるが、条件によって印字速度や印字品質に変化が生じなくなる回数ｍの最大値は変わる可能性がある。
【００９０】
図９は、一実施形態に係る減速処理を説明する図である。図９では、格納部３０８に格納される１６本のドットラインデータを例示する。図９において、１〜２番目のドットラインデータは空白データでも罫線データでもないその他の印刷データである。３〜１２番目，１５〜１６番目のドットラインデータは空白データである。１３〜１４番目のドットラインデータは罫線データである。ここでは、ライン数ｎに「４」が設定され、回数ｍに「１」が設定されている場合について説明する。
【００９１】
図９では、９番目のドットラインデータから４ライン後のドットラインデータが罫線データであり、９番目のドットラインデータは回数ｍが「１」且つライン数ｎが「４」の減速処理の判定条件を満たしている。以下、９番目のドットラインデータが「現在のドットラインデータ」となったときの処理を説明する。
【００９２】
図９では、速度制御部３１１は、９番目のドットラインデータが現在のドットラインデータとなったとき、減速処理を行うために、現在のドットラインデータの搬送速度をＶ１、１３番目の罫線データの搬送速度をＶ２とし、式（１）より１０〜１３番目のドットラインデータの各々の搬送速度を算出する。
【００９３】
・１０番目のドットラインデータ：Ｖ１＝Ｖ１＋（Ｖ２−Ｖ１）×（１／４）
・１１番目のドットラインデータ：Ｖ２＝Ｖ１＋（Ｖ２−Ｖ１）×（２／４）
・１２番目のドットラインデータ：Ｖ３＝Ｖ１＋（Ｖ２−Ｖ１）×（３／４）
・１３番目のドットラインデータ：Ｖ４＝Ｖ１＋（Ｖ２−Ｖ１）×（４／４）＝Ｖ２
【００９４】
なお、速度制御部３１１は、式（１）の代わりに式（２）を用いてもよく、この場合、式（２）により１０〜１３番目のドットラインデータの各々の搬送速度を算出する。
【００９５】
・１０番目のドットラインデータ：Ｖ１＝Ｖ１＋（Ｖ２−Ｖ１）×（１／４）ｂ
・１１番目のドットラインデータ：Ｖ２＝Ｖ１＋（Ｖ２−Ｖ１）×（２／４）ｂ
・１２番目のドットラインデータ：Ｖ３＝Ｖ１＋（Ｖ２−Ｖ１）×（３／４）ｂ
・１３番目のドットラインデータ：Ｖ４＝Ｖ１＋（Ｖ２−Ｖ１）×（４／４）ｂ＝Ｖ２
【００９６】
そして、速度制御部３１１は、９番目のドットラインデータから１３番目の罫線データまでの１ドットラインデータ毎に、ドットラインデータが印刷される際に算出された搬送速度となるように印刷媒体の搬送速度を制御する。
【００９７】
これにより、現在のドットラインデータから罫線データの印刷までの間に、印刷媒体の搬送速度が搬送速度Ｖ１から搬送速度Ｖ２まで徐々に減速される。
【００９８】
（各種信号のタイミング）
図１０は、一実施形態に係る各種信号のタイミングの一例を示す図である。ここでは、１ドットラインデータを４段階で印刷する際の各種信号のタイミングを説明する。１ドットラインデータを４段階で印刷することで、１ドットラインデータ毎に多階調印刷を行うことができる。
【００９９】
＜第１の印刷ステップ＞
まず、ＭＣＵ１０１が、第１の印刷ステップの開始タイミングｔ１までに１回目のドットラインデータｄ１をシフトレジスタ２０１へ送信する。その後、ＭＣＵ１０１は、データラッチ信号をラッチレジスタ２０２へ送信する。これにより、ラッチレジスタ２０２が、シフトレジスタ２０１内に記憶されているドットラインデータｄ１をラッチする。ｔ１が到来すると、ラッチレジスタ２０２にラッチされたドットラインデータｄ１がＩＣ１〜ＩＣ６４０に入力する。ＭＣＵ１０１がストローブ信号ｓ１をＩＣ１〜ＩＣ６４０に入力すると、ドットラインデータｄ１に「１」が設定されているビットに対応するＩＣがオンとなり、対応する発熱体にエネルギーが印加されることとなる。
【０１００】
＜第２の印刷ステップ＞
次に、ＭＣＵ１０１は、第２の印刷ステップの開始タイミングｔ２までにドットラインデータｄ２をシフトレジスタ２０１へ送信する。その後、ＭＣＵ１０１はデータラッチ信号をラッチレジスタ２０２へ送信する。これにより、ラッチレジスタ２０２がドットラインデータｄ２をラッチする。ｔ２が到来すると、ラッチレジスタ２０２にラッチされたドットラインデータｄ２がＩＣ１〜ＩＣ６４０に入力する。ＭＣＵ１０１がストローブ信号ｓ２をＩＣ１〜ＩＣ６４０に入力すると、ドットラインデータｄ２に「１」が設定されているビットに対応するＩＣがオンとなり、対応する発熱体にエネルギーが印加される。
【０１０１】
＜第３の印刷ステップ＞
次に、ＭＣＵ１０１は、第３の印刷ステップの開始タイミングｔ３までにドットラインデータｄ３をシフトレジスタ２０１へ送信し、データラッチ信号をラッチレジスタ２０２へ送信する。これにより、ラッチレジスタ２０２がドットラインデータｄ３をラッチする。ｔ３が到来すると、ラッチレジスタ２０２にラッチされたドットラインデータｄ３がＩＣ１〜ＩＣ６４０に入力する。ＭＣＵ１０１がストローブ信号ｓ３をＩＣ１〜ＩＣ６４０に入力すると、ドットラインデータｄ３に「１」に設定されているビットに対応するＩＣがオンとなり、対応する発熱体にエネルギーが印加される。
【０１０２】
＜第４の印刷ステップ＞
次に、ＭＣＵ１０１は、第４の印刷ステップの開始タイミングｔ４までにドットラインデータｄ４をシフトレジスタ２０１へ送信し、データラッチ信号をラッチレジスタ２０２へ送信する。これにより、ラッチレジスタ２０２がドットラインデータｄ４をラッチする。ｔ４が到来すると、ラッチレジスタ２０２にラッチされたドットラインデータｄ４がＩＣ１〜ＩＣ６４０に入力する。ＭＣＵ１０１がストローブ信号ｓ４をＩＣ１〜ＩＣ６４０に入力すると、ドットラインデータｄ４に「１」が設定されているビットに対応するＩＣがオンとなり、対応する発熱体にエネルギーが印加される。
【０１０３】
図１０において、１印刷ステップ毎のモータ信号の長さは印字速度に応じて変化する。１ドットラインが１／８ｍｍで、印字速度を１００ｍｍ／秒とした場合、１ドットライン毎のモータ信号の長さは１．２５ｍｓ（ミリ秒）となる。１ドットラインにつき４印刷ステップでモータが駆動される場合、１印刷ステップ毎のモータ信号の長さは１．２５ｍｓ／４＝０．３１２５ｍｓとなる。
【０１０４】
本実施形態の速度制御部３１１は、罫線データが印刷されるまでの１ステップ毎のモータ信号の長さが徐々に長くなるように制御することで、印字速度を徐々に減速させることができる。
【０１０５】
以上説明したように、本実施形態のサーマルプリンタ１０は、ドットラインデータに罫線データが含まれている場合、罫線データよりもｎライン前のドットラインデータから印刷媒体の搬送速度を徐々に減速させる。本実施形態では、ユーザが印字品質を確認しながらｎの値を調整することで、減速の開始タイミングを調整できる。したがって、本実施形態によれば、罫線データの印刷開始までの搬送速度を適切に減速させ、印字品質をより高めることができる。
【０１０６】
特に、本実施形態のサーマルプリンタ１０は、空白データがｍライン連続し、且つドットラインデータに罫線データが含まれている場合に、搬送速度を徐々に減速させる。本実施形態では、ユーザが印字品質を確認しながらｍの値を調整することで、減速処理実行条件としての空白データの連続数を調整できる。したがって、本実施形態によれば、罫線データの印刷開始までの搬送速度を適切に減速させ、印字品質をより高めることができる。
【０１０７】
以上、本発明の一実施形態について詳述したが、本発明はこれらの実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形又は変更が可能である。
【符号の説明】
【０１０８】
１０  サーマルプリンタ
１０１  ＭＣＵ（印刷制御装置）
１０２  メモリ
２０１  シフトレジスタ
２０２  ラッチレジスタ
３０１  取得部
３０２  解析処理部
３０３  設定部
３０４  コードバッファ
３０５  イメージバッファ
３０７  展開処理部
３０８  格納部
３１０  判定部
３１１  速度制御部
３１２  転送部
【図１】
2019181802.tif 000003
【図２】
2019181802.tif 000004
【図３】
2019181802.tif 000005
【図４】
2019181802.tif 000006
【図５】
2019181802.tif 000007
【図６】
2019181802.tif 000008
【図７】
2019181802.tif 000009
【図８】
2019181802.tif 000010
【図９】
2019181802.tif 000011
【図１０】
2019181802.tif 000012