(57)【要約】【課題】サーマルプリンタにおける高速で高品質な印刷を可能とする。【解決手段】サーマルプリンタは、複数の発熱素子をライン状に配置したサーマルヘッドと、ステッピングモータとを備える。ステッピングモータが４つのステップで感熱紙を１ドット分だけ送り、発熱素子が印加されることで、感熱紙に印字される。１行の文字列の印字において、一部のドットライン（１３〜２４ライン）を印刷する際の印加時間（ストローブ信号幅）が、他のドットライン（１〜１２ライン）を印刷する際の印加時間（ストローブ信号幅）（ｔ）より短い印加時間（ストローブ信号幅）（０．９ｔ）となるようにストローブ信号が制御される。【選択図】図５
2020019208.tif 000002
【特許請求の範囲】
【請求項１】
複数の発熱素子をライン状に配置したサーマルヘッドと、感熱紙を搬送するステッピングモータとを備え、ストローブ信号による制御によって前記サーマルヘッドが所定のタイミングで印加されて印字データを印刷するサーマルプリンタであって、
一部の前記タイミングの印加時間が、他の前記タイミングの印加時間より短くなるように前記ストローブ信号を制御する制御部を備える
ことを特徴とするサーマルプリンタ。
【請求項２】
前記印字データは、文字列に係る印字データであって、前記文字列は、前記ステッピングモータが前記感熱紙を搬送する方向に並ぶ所定数のドットを含み、
前記制御部は、
一部の前記ドットを印刷する際の印加時間が、他の前記ドットを印刷する際の印加時間より短くなるように前記ストローブ信号を制御する
ことを特徴とする請求項１のサーマルプリンタ。
【請求項３】
前記ステッピングモータは、所定複数回のステップ駆動により前記ドット１つ分の感熱紙を搬送し、
前記制御部は、
前記所定複数回のステップ駆動のうち、所定の一部のステップ駆動のタイミングに同期させて前記サーマルヘッドを印加するように前記ストローブ信号を制御する
ことを特徴とする請求項２のサーマルプリンタ。
【請求項４】
前記制御部は、
前記ステッピングモータが前記感熱紙を搬送する方向に並ぶドットのなかで後半に印刷されるドットにおける印加時間が、前半に印刷されるドットにおける印加時間より短くなるように前記ストローブ信号を制御する
ことを特徴とする請求項２〜３のいずれか１項に記載のサーマルプリンタ。
【請求項５】
前記制御部は、
前記前半に印刷されるドットにおける印加時間を、前記文字列の印字データに基づいて導出する、または、当該ドットを含み、前記ステッピングモータが前記感熱紙を搬送する方向と直行する方法に並ぶドットの印字データに基づいて導出する
ことを特徴とする請求項４に記載のサーマルプリンタ。
【請求項６】
前記ステッピングモータは、所定複数回のステップ駆動により前記ドット１つ分の感熱紙を搬送し、
前記制御部は、
前記所定複数回のステップ駆動のうち、所定の一部のステップ駆動のタイミングに同期させて前記サーマルヘッドを印加するように前記ストローブ信号を制御するとともに、前記所定複数回のステップ駆動のうち、一部のステップ駆動に同期させた印加時間が、他のステップ駆動に同期させた印加時間より短くなるように前記ストローブ信号を制御する
ことを特徴とする請求項２に記載のサーマルプリンタ。
【請求項７】
前記一部のステップ駆動は、前記所定複数回のステップ駆動のうち後半である
ことを特徴とする請求項６に記載のサーマルプリンタ。
【請求項８】
前記印字データは、１行が前記ステッピングモータが前記感熱紙を搬送する方向に並ぶ所定数のドットから構成される、所定行数の文字列に係る印字データであって、
前記制御部は、
前記ステッピングモータが前記感熱紙を搬送する方向に並ぶドットのなかで、後に印刷されるドットを印刷する際の印加時間が、当該ドットより前に印刷されるドットを印刷する際の印加時間と同じまたは短くなるように前記ストローブ信号を制御する
ことを特徴とする請求項１のサーマルプリンタ。
【請求項９】
請求項１〜８のいずれか１項に記載のサーマルプリンタを備える売上データ処理装置。
【請求項１０】
複数の発熱素子をライン状に配置したサーマルヘッドと、感熱紙を搬送するステッピングモータとを備えるコンピュータを、
請求項１〜８のいずれか１項に記載のサーマルプリンタとして機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、高速で高品質な印刷を可能とするサーマルプリンタ、売上データ処理装置およびプログラムに関する。
【背景技術】
【０００２】
電子レジスタやハンディターミナルを始めとする電子機器に備わるプリンタとして、サーマルプリンタが、広く普及している。これは、小型で構造が単純であり低コストであるためであり、また、印刷用紙である感熱紙の補給以外の保守が不要であり維持費が安価であるためである。
【０００３】
サーマルプリンタでは、印刷速度の向上とともに、印字濃度に斑がなく、滲みがない高品質の印刷が課題となっている。例えば、文字の上側のドットも下側のドットも同じ時間幅でサーマルプリンタの発熱素子を加熱して感熱紙に印字するとする。すると、発熱素子の蓄熱により下側のドットの印字時には発熱素子の温度が上がってしまうため、上側のドットよりも大きなドットとなって文字が滲んだようになり、印刷品質が落ちるという問題が生じる。
【０００４】
特許文献１には、「印字部（サーマルプリンタ装置）８は、印字対象となる１ライン分の印字データに基づいて算出した総印字時間Ｔｓｔｂ（ｎ）が、１ライン分の印刷データに想定される所定数ステップの各励磁時間を加算した総励磁時間Ｔｄｏｔｌｉｎｅ（ｎ）よりも長い場合に、その総印字時間Ｔｓｔｂ（ｎ）と総励磁時間Ｔｄｏｔｌｉｎｅ（ｎ）との差分時間ΔＴを減速時間として、所定数ステップの最終ステップを除く他のステップの励磁時間に加算することにより総励磁時間Ｔｄｏｔｌｉｎｅ（ｎ）を制御すると共に、その最終ステップの励磁時間に基づいて、次の１ライン分の印刷データに想定される総励磁時間Ｔｄｏｔｌｉｎｅ（ｎ）を算出するようにしたので、ある１ライン印字にかかる総印字時間が、ステッピングモータが１ライン分のフィードを行うのに必要な総励磁時間（必要加速時間）よりも長い場合でも、次の１ライン印字の加速につながる最適な減速制御を実現することができ、印字全体として印字速度の高速化が可能となる」（明細書の段落００３０）技術が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２１０７４９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１に記載の技術では、１ライン印字ごとに、総印字時間や総励磁時間を算出し、各ステップの励磁時間を制御している。このため、高性能な制御装置（ＣＰＵ（Central Processing Unit））が備わる場合には高速化が期待できる。しかしながら、安価な制御装置の場合には、プリンタの制御に制御装置の処理能力が奪われてしまい、印刷以外の処理が遅くなってしまう虞がある。また、特許文献１には、印刷品質を改善する技術については、記載が見当たらない。
【０００７】
このような背景を鑑みて本発明がなされたのであり、本発明は、高速で高品質な印刷を可能とするサーマルプリンタ、売上データ処理装置およびプログラムを提供することを課題とする。
【課題を解決するための手段】
【０００８】
前記した課題を解決するため、請求項１に記載の発明は、複数の発熱素子をライン状に配置したサーマルヘッドと、感熱紙を搬送するステッピングモータとを備え、ストローブ信号による制御によって前記サーマルヘッドが所定のタイミングで印加されて印字データを印刷するサーマルプリンタであって、一部の前記タイミングの印加時間が、他の前記タイミングの印加時間より短くなるように前記ストローブ信号を制御する制御部を備えることを特徴とするサーマルプリンタとした。
【発明の効果】
【０００９】
本発明によれば、高速で高品質な印刷を可能とするサーマルプリンタ、売上データ処理装置およびプログラムを提供することができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態に係るサーマルプリンタを備えた電子レジスタの内部構成図である。
【図２】第１の実施形態に係るサーマルプリンタを備えた電子レジスタの外観図である。
【図３】第１の実施形態に係るサーマルヘッドの構成を示す図である。
【図４】第１の実施形態に係るサーマルプリンタにより印刷されたレシートを示す図である。
【図５】第１の実施形態に係るサーマルプリンタにおけるストローブ信号を説明するためのタイミングチャートである。
【図６】第１の実施形態に係るサーマルプリンタにおける、ＣＰＵが実行するストローブ信号制御処理のフローチャートである。
【図７】第２の実施形態に係るサーマルプリンタにおけるストローブ信号を説明するためのタイミングチャートである。
【図８】第２の実施形態に係るサーマルプリンタにおける、ＣＰＵが実行するストローブ信号制御処理のフローチャートである。
【発明を実施するための形態】
【００１１】
≪第１の実施形態の全体構成≫
以下に、本発明を実施するための形態（実施形態）におけるサーマルプリンタを備える電子レジスタを説明する。
【００１２】
図１は、第１の実施形態に係るサーマルプリンタ１４０を備えた電子レジスタ１００の内部構成図である。図２は、第１の実施形態に係るサーマルプリンタ１４０を備えた電子レジスタ１００の外観図である。図１と図２とを参照しながら、サーマルプリンタ１４０の構成および電子レジスタ１００の構成を説明する。
【００１３】
電子レジスタ１００は、ＣＰＵ１１０、記憶部１２０、表示部１３１、操作部１３２、ドロア１３３およびサーマルプリンタ１４０を含んで構成される。ＣＰＵ１１０は、記憶部１２０に記憶されるプログラム（不図示）を実行して、サーマルプリンタ１４０を制御するとともに電子レジスタ１００を機能させる。
【００１４】
記憶部１２０は、ＲＡＭ（Random Access Memory)１２１、ＲＯＭ（Read Only Memory）およびフラッシュメモリ１２３などから構成され、プログラムや電子レジスタ１００の処理に必要なデータなどを記憶する。
表示部１３１は、店員が登録した商品の名称や金額、客から預かった現金の金額やお釣りの金額などを表示する。操作部１３２は、商品や金額を入力するためのキーである。ドロア１３４は、現金の格納庫である。
【００１５】
≪サーマルプリンタの構成≫
サーマルプリンタ１４０は、レシート１９０を印刷するプリンタであり、図２に記載のレシート１９０の下であって、電子レジスタ１００の筐体内部に備わっている。サーマルプリンタ１４０は、サーマルヘッド２００（後記する図３参照）、温度センサ１４１、紙なしセンサ１４２、用紙（感熱紙）を搬送するステッピングモータ１４３およびモータドライバ１４４を含んで構成される。
【００１６】
図３は、第１の実施形態に係るサーマルヘッド２００の構成を示す図である。サーマルヘッド２００は、印字ドットを形成する発熱抵抗体（発熱素子）２１０Ａ〜２１０Ｄと、ＮＡＮＤゲート２２０Ａ〜２２０Ｄと、ラッチレジスタ２３０と、シフトレジスタ２４０とを備える。図３では、発熱抵抗体２１０Ａ〜２１０Ｄと、ＮＡＮＤゲート２２０Ａ〜２２０Ｄとが、それぞれ４つ図示されているが、実際には、用紙の横方向（ステッピングモータ１４３が用紙を搬送する方向と直行する方向）にあるドットの数だけ存在する。以下、発熱抵抗体２１０Ａ〜２１０Ｄを総称して発熱抵抗体２１０、ＮＡＮＤゲート２２０Ａ〜２２０Ｄを総称してＮＡＮＤゲート２２０とも記す。
【００１７】
発熱抵抗体２１０は、一端は電圧印加端子Ｖに、他の一端は、発熱抵抗体２１０を制御するＮＡＮＤゲート２２０の出力端子に接続される。ＮＡＮＤゲート２２０の一方の入力端子は、ストローブ信号（図３ではＳＴＢ信号と記載、他の図でもＳＴＢ信号とも記載する）が接続され、他方の入力端子は、ラッチレジスタ２３０の出力が接続される。
【００１８】
ラッチレジスタ２３０は、シフトレジスタ２４０に接続され、シフトレジスタ２４０に入力された印字データの各ドットに対応するビットのデータをラッチ信号の入力タイミングで保持する。シフトレジスタ２４０には、ＣＰＵ１１０から印字データが入力される。
【００１９】
１ラインの全ドット分（１ドットライン分、ステッピングモータ１４３が用紙を搬送する方向と直行する方向に並ぶ全ドット分）の印字データが、シフトレジスタ２４０に入力された後、ラッチ信号がラッチレジスタ２３０に入力される。ラッチ信号の入力に続いて、正論理のストローブ信号が入力される。すると、ストローブ信号の入力に応じて（ストローブ信号が立ち上がっている間（ＯＮの間））ＮＡＮＤゲート２２０が開き、ラッチレジスタ２３０に保持される印字データのドットに応じて、発熱抵抗体２１０が電圧Ｖに印加されて発熱し、ドットが印字される。
【００２０】
なお、以下の説明では、ストローブ信号が立ち上がっている時間（ＯＮの時間）であり、発熱抵抗体２１０（サーマルヘッド２００）が印加されている時間を印加時間とも記す。また、ストローブ信号がＯＮの時間幅（印加時間）をストローブ信号幅とも記す。
ストローブ信号幅（印加時間）が長いと、発熱量が増加し、濃度の高いドットが印字される。ストローブ信号幅が長すぎると、発熱抵抗体２１０が過剰に発熱して、１つのドットが大きくなって他のドットの領域まではみ出してしまい、印刷の滲みとなってしまう。また、発熱抵抗体２１０の発熱状態が続いても、同様の問題が発生する。
【００２１】
図１に戻って、温度センサ１４１は、サーマルヘッド２００の温度を検出する。紙なしセンサ１４２は、用紙（感熱紙）がなくなり、補充が必要なことを検出する。ステッピングモータ１４３は、用紙を搬送するモータである。モータドライバ１４４は、ＣＰＵ１１０からのモータ用相信号を入力されてステッピングモータ１４３をステップ駆動するための回路である。
【００２２】
≪レシート≫
図４は、第１の実施形態に係るサーマルプリンタにより印刷されたレシート１９０を示す図である。レシート１９０の先頭部は、グラフィックデータが印字されるグラフィックデータ領域１９１であり、続いて、文字データ領域１９２が印刷される。以下では、文字データ領域に印字される１文字は、２４×２４のドットから構成されるとして説明する。
【００２３】
≪第１の実施形態：サーマルヘッド印加のタイミング≫
図５は、第１の実施形態に係るサーマルプリンタ１４０におけるストローブ信号を説明するためのタイミングチャートである。図５の上部に記載された第１ステップ〜第４ステップの４つのステップは、ステッピングモータ１４３が、１ドット分の用紙を搬送するステップであり、ステッピングモータ１４３が第１ステップから始まる４つのステップ駆動で、１ドット分の用紙を搬送することを示している。ＣＰＵ１１０は、第１ステップと第３ステップとに同期させて、サーマルヘッド２００（発熱抵抗体２１０）が印加されるように（ストローブ信号がＯＮとなるように）ストローブ信号を制御する。
【００２４】
文字データ領域１９２において、文字を構成するドットの最初の１２ドットライン（１ライン〜１２ライン）を印字する場合のストローブ信号幅をｔとすると、残りの１２ドットライン（１３ライン〜２４ライン）のストローブ信号幅は０．９ｔとする。ｔは、所定の時間幅としてもよいし、ＣＰＵ１１０が、温度センサ１４１が検出するサーマルヘッド２００の温度に基づいて決定する時間幅でもよいし、印字対象データから決定してもよい。サーマルヘッド２００の温度が高温になると、ＣＰＵ１１０は、ｔを短くするようにする。
【００２５】
温度とｔとの関係は、温度から所定の計算式によってｔを求めてよいし、温度とｔとの対応関係を記憶部１２０に記憶されるテーブルに格納しておき、本テーブルを参照して温度からｔを決めてもよい。
なお、グラフィックデータ領域１９１の印字においては、ストローブ信号幅は、各ドットラインで一定である。グラフィックデータ領域１９１におけるストローブ信号幅は、文字データ領域１９２のストローブ信号幅ｔと同一であってもよいし、別に決定してもよい。
【００２６】
上記の説明では、ＣＰＵ１１０が、サーマルヘッド２００にある全ての発熱抵抗体２１０を同時に印加するとして説明した。電源容量の制限から、発熱抵抗体２１０を複数のブロックに分割して順次印加するようにしてもよい。この場合においても、ＣＰＵ１１０は、第１ステップと第３ステップとに同期させて（第１ステップの開始から所定の時間後および第３ステップの開始から所定の時間後に）、それぞれのブロックの発熱抵抗体２１０が印加されるようにストローブ信号を制御する。
【００２７】
≪第１の実施形態：ストローブ信号の制御処理≫
図６は、第１の実施形態に係るサーマルプリンタにおける、ＣＰＵ１１０が実行するストローブ信号制御処理のフローチャートである。図６のステップＳ１０２〜Ｓ１１９は、ループを形成しており、この１ループは、ステッピングモータ１４３の１つのステップに対応する。第１ステップから第４ステップまで４回ループを回ることで、１ドットのライン（１ラインのドットライン）が印字される。また、シフトレジスタ２４０には、ＣＰＵ１１０から適宜印字データが入力されているとして、本処理では印字データのシフトレジスタ２４０への入力については触れない。
【００２８】
ステップＳ１０１において、ＣＰＵ１１０は、ステッピングモータ１４３の動作を開始する。
ステップＳ１０２において、ＣＰＵ１１０は、印字対象のドットラインが、グラフィックデータ領域１９１の先頭のドットライン（１ライン）または１行の文字列における先頭のドットライン（１ライン）であって、現在のステッピングモータ１４３のステップが第１ステップであれば（ステップＳ１０２→Ｙ）ステップＳ１０３に進み、そうでなければ（ステップＳ１０２→Ｎ）ステップＳ１０４に進む。
【００２９】
ステップＳ１０３において、ＣＰＵ１１０は、ストローブ信号幅を導出する。詳しくは、ＣＰＵ１１０は、印字対象のグラフィックデータや１行の文字列データに基づいて、当該データを印刷するときのストローブ信号幅を導出する。導出するときには、ＣＰＵ１１０は、図５で説明したとおりサーマルヘッド２００の温度や印刷対象データの総ドット数などに基づいて、信号幅ｔを導出する。信号幅は所定の値であってもよい。
【００３０】
ステップＳ１０４において、ＣＰＵ１１０は、印字データが文字データ領域１９２ならば（ステップＳ１０４→Ｙ）ステップＳ１０５に進み、文字データ領域１９２ではなくグラフィックデータ領域１９１ならば（ステップＳ１０４→Ｎ）ステップＳ１０６に進む。
ステップＳ１０５において、ＣＰＵ１１０は、印字対象のドットが文字データの１ライン〜１２ラインのドットであれば（ステップＳ１０５→Ｙ）ステップＳ１０６に進み、そうでなければ（ステップＳ１０５→Ｎ）ステップＳ１１２に進む。
【００３１】
ステップＳ１０６において、ＣＰＵ１１０は、現在のステッピングモータ１４３のステップが第１ステップであれば（ステップＳ１０６→Ｙ）ステップＳ１０７に進み、第１ステップでなければ（ステップＳ１０６→Ｎ）ステップＳ１１０に進む。
ステップＳ１０７において、ＣＰＵ１１０は、ラッチレジスタ２３０にラッチ信号を出力して、印字データをラッチする。
【００３２】
ステップＳ１０８において、ＣＰＵ１１０は、ステップＳ１０３で導出されたストローブ信号幅を取得する。
ステップＳ１０９において、ＣＰＵ１１０は、ステップＳ１０８で取得したストローブ信号幅でＯＮになるようにストローブ信号をＮＡＮＤゲート２２０に入力して、ステップＳ１０２に戻る。
【００３３】
ステップＳ１１０において、ＣＰＵ１１０は、現在のステッピングモータ１４３のステップが第３ステップであれば（ステップＳ１１０→Ｙ）ステップＳ１１１に進み、第３ステップでなければ（ステップＳ１１０→Ｎ）ステップＳ１１９に進む。
ステップＳ１１１において、ＣＰＵ１１０は、前回と同じストローブ信号幅でＯＮになるようにストローブ信号をＮＡＮＤゲート２２０に入力して、ステップＳ１０２に戻る。ステップＳ１１１は、１ライン〜１２ラインのドットの印字に含まれる処理であり（ステップＳ１０５参照）、ストローブ信号幅はステップＳ１０８で取得したストローブ信号幅である。
【００３４】
ステップＳ１１２において、ＣＰＵ１１０は、現在のステッピングモータ１４３のステップが第１ステップであれば（ステップＳ１１２→Ｙ）ステップＳ１１３に進み、第１ステップでなければ（ステップＳ１１２→Ｎ）ステップＳ１１７に進む。
【００３５】
ステップＳ１１３〜Ｓ１１４は、ステップＳ１０７〜Ｓ１０８と同様の処理である。
ステップＳ１１５において、ＣＰＵ１１０は、ステップＳ１１４で取得したストローブ信号幅を割り引く。例えば、ＣＰＵ１１０は、図５で示したように１割を引いたストローブ信号幅とする。
ステップＳ１１６において、ＣＰＵ１１０は、ステップＳ１１５で割り引かれたストローブ信号幅でＯＮになるようにストローブ信号をＮＡＮＤゲート２２０に入力して、ステップＳ１０２に戻る。
【００３６】
ステップＳ１１７において、ＣＰＵ１１０は、現在のステッピングモータ１４３のステップが第３ステップであれば（ステップＳ１１７→Ｙ）ステップＳ１１８に進み、第３ステップでなければ（ステップＳ１１７→Ｎ）ステップＳ１１９に進む。
【００３７】
ステップＳ１１８において、ＣＰＵ１１０は、前回と同じストローブ信号幅でＯＮになるようにストローブ信号をＮＡＮＤゲート２２０に入力して、ステップＳ１０２に戻る。ステップＳ１１８は、１３ライン〜２４ラインのドットの印字に含まれる処理であり（ステップＳ１０５参照）、ストローブ信号幅はステップＳ１１６と同じストローブ信号幅であり、割り引かれたストローブ信号幅である。
【００３８】
ステップＳ１１９において、ＣＰＵ１１０は、現在のステッピングモータ１４３のステップが第４ステップであって次の印字データが無ければ（ステップＳ１１９→Ｙ）処理を終え、第４ステップでない、または、次の印字データがあれば（ステップＳ１１９→Ｎ）ステップＳ１０２に戻る。
【００３９】
≪第１の実施形態の特徴≫
図５と図６とで説明したとおり、ＣＰＵ１１０は、１ライン〜１２ラインのドットについては、第１ステップと第３ステップとで先頭ラインにおいて導出したストローブ信号幅（印加時間）（ステップＳ１０２，Ｓ１０８参照）で印字し、１３ライン〜２４ラインのドットについては、割り引いた短いストローブ信号幅（ステップＳ１１５参照）で印字する。このように印字することで、ＣＰＵ１１０は、発熱素子の蓄熱による文字の上下でドットの大きさの不揃いを防ぎ、印刷品質を向上させることができる。
【００４０】
ステップＳ１１５におけるストローブ信号幅を求める処理は、ステップＳ１１４で取得したストローブ信号幅に所定の値を乗じるだけの処理である。また、ストローブ信号幅を割り引く処理は、１ドットライン印字にあたり、ステップＳ１１５の１回である。このために、ＣＰＵ１１０への負荷が軽く、安価なＣＰＵであっても、高品質で高速に印字することができる。
【００４１】
グラフィックデータ領域１９１では、ストローブ信号幅を割り引いていない。これは、領域の途中のドットラインからストローブ信号幅を割り引くと、そこで印字濃度の斑が目立ってしまうことを避けるためである。
【００４２】
≪第１の実施形態の変形例：ストローブ信号幅の導出≫
図６に記載したストローブ信号の制御処理では、ＣＰＵ１１０は、ストローブ信号幅を、グラフィックデータまたは１行の文字列データごとに導出している（ステップＳ１０２〜Ｓ１０３参照）。これに対して、１行の文字列を構成するドットライン（２４ドットライン）において、ＣＰＵ１１０は、ドットラインごとに導出してもよい。このように制御することで、印刷濃度に斑ない高品質の印刷が可能となる。
【００４３】
これとは逆に、文字データ領域１９２において、ＣＰＵ１１０は、１行の文字列ごとではなく、所定の行数ごとに（例えば奇数行で）ストローブ信号幅を導出してもよい。こうすることで、より高速な印刷が可能となる。
また、ＣＰＵ１１０は、前回のストローブ信号幅を導出した後で所定時間経過後における最初の先頭ライン（１行の文字列の先頭のドットライン）の第１ステップでストローブ信号幅の導出を行ってもよい。
【００４４】
≪第１の実施形態の変形例：ストローブ信号幅の割引率≫
第１の実施形態では、１３ライン〜２４ラインは、１ライン〜１２ラインと比較して１割短いストローブ信号幅で印字している。１割という数値は、例であり、サーマルヘッド２００に応じて別の値としてもよい。
【００４５】
≪第１の実施形態の変形例：ストローブ信号幅を変えるドットラインの領域≫
第１の実施形態では、１文字を２４×２４ドットとして、上半分のドットラインと下半分のドットラインとでストローブ信号幅を変えていた。例えば、３分割して、９ライン〜１６ラインと１７ライン〜２４ラインとのストローブ信号幅を、１ライン〜８ラインのストローブ信号幅のそれぞれ９５％と９０％としてもよい。また、ＣＰＵ１１０は、下のライン（印刷順序が後ろのライン）であるほど、ストローブ信号幅を短くなるようにしてもよい。なお、１文字が２４×２４ドットであるのは、例であって、異なるドット数であっても、適宜分割して、ドットラインによってストローブ信号幅を変えてもよい。
【００４６】
≪第２の実施形態≫
第１の実施形態では、１文字の上半分（前半）と下半分（後半）とで、ＣＰＵ１１０は、ストローブ信号幅を変えていた。第２の実施形態では、ＣＰＵ１１０は、１ドットラインの印字のなかでストローブ信号幅を変える。
【００４７】
≪第２の実施形態：サーマルヘッド印加のタイミング≫
図７は、第２の実施形態に係るサーマルプリンタ１４０におけるストローブ信号を説明するためのタイミングチャートである。ＣＰＵ１１０は、第１ステップと第３ステップとに同期させて、サーマルヘッド２００（発熱抵抗体２１０）が印加されるようにストローブ信号を制御する。詳しくは、１ドットラインを印字するときに、ＣＰＵ１１０は、ステッピングモータ１４３の第１ステップと第３ステップとでストローブ信号をＯＮにするが、第３ステップのストローブ信号幅は第１ステップより短くする。例えば、第１ステップのストローブ信号幅をｔとすると、第３ステップのストローブ信号幅は０．９ｔとする。
【００４８】
≪第２の実施形態：ストローブ信号の制御処理≫
図８は、第２の実施形態に係るサーマルプリンタにおける、ＣＰＵ１１０が実行するストローブ信号制御処理のフローチャートである。図８のステップＳ２０２〜Ｓ２１１は、ループを形成しており、この１ループは、ステッピングモータ１４３の１つのステップに対応する。第１ステップから第４ステップまで４回ループを回ることで、１ラインのドットラインが印字される。また、シフトレジスタ２４０には、ＣＰＵ１１０から適宜印字データが入力されているとして、本処理にでは印字データのシフトレジスタ２４０への入力については触れない。
【００４９】
ステップＳ２０１において、ＣＰＵ１１０は、ステッピングモータ１４３の動作を開始する。
ステップＳ２０２，Ｓ２０３は、図６のステップＳ１０２，Ｓ１０３と同様の処理である。
ステップＳ２０４において、ＣＰＵ１１０は、現在のステッピングモータ１４３のステップが第１ステップであれば（ステップＳ２０４→Ｙ）ステップＳ２０５に進み、第１ステップでなければ（ステップＳ２０４→Ｎ）ステップＳ２０８に進む。
【００５０】
ステップＳ２０５〜Ｓ２０７は、図６のステップＳ１０７〜Ｓ１０９と同様の処理である。ステップＳ２０６においては、ステップＳ２０３で導出されたストローブ信号幅を取得する。
ステップＳ２０８において、ＣＰＵ１１０は、現在のステッピングモータ１４３のステップが第３ステップであれば（ステップＳ２０８→Ｙ）ステップＳ２０９に進み、第３ステップでなければ（ステップＳ２０８→Ｎ）ステップＳ２１１に進む。
【００５１】
ステップＳ２０９において、ＣＰＵ１１０は、ステップＳ２０６で取得したストローブ信号幅を割り引く。例えば、ＣＰＵ１１０は、図７で示したように１割を引いたストローブ信号幅とする。
ステップＳ２１０において、ＣＰＵ１１０は、ステップＳ２０９で割り引かれたストローブ信号幅でＯＮになるようにストローブ信号をＮＡＮＤゲート２２０に入力して、ステップＳ２０２に戻る。
【００５２】
ステップＳ２１１において、ＣＰＵ１１０は、現在のステッピングモータ１４３のステップが第４ステップであって次の印字データが無ければ（ステップＳ２１１→Ｙ）処理を終え、第４ステップでない、または、次の印字データがあれば（ステップＳ２１１→Ｎ）ステップＳ２０２に戻る。
【００５３】
≪第２の実施形態の特徴≫
図７と図８とで説明したとおり、ＣＰＵ１１０は、１ドットラインの印字において、第３ステップでのストローブ信号幅を第１ステップのストローブ信号幅より割り引いて短くしている。このように印字することで、ＣＰＵ１１０は、発熱素子の蓄熱による文字の上下でドットの大きさの不揃いを防ぎ、印刷品質を向上することができる。
【００５４】
また、第３ステップにおけるストローブ信号幅を求める処理は、第１ステップにおけるストローブ信号幅に所定の値を乗ずるだけの処理である。このために、ＣＰＵ１１０への負荷が軽く、安価なＣＰＵであっても、高品質で高速に印字することができる。
【００５５】
≪第２の実施形態の変形例：ステッピングモータのステップ数≫
第２の実施形態では、第１ステップ〜第４ステップまでの４つのステップで、ステッピングモータ１４３が、１ドット分の用紙を搬送するとしている。４つのステップに限定されるものではない。例えば、ステッピングモータ１４３が、６つのステップで１ドット分の用紙を搬送するとして、第４ステップのストローブ信号幅を第１ステップのストローブ信号幅の９０％としてもよい。または、第３ステップと第５ステップとのストローブ信号幅を、第１ステップのストローブ信号幅のそれぞれ９５％と９０％としてもよい。ステップが進むにつれて、信号幅が短くなるようにしてもよい。
【００５６】
≪変形例≫
また、別の変形例として、グラフィックデータ領域１９１、文字データ領域１９２、または、所定数の文字列の領域においるストローブ信号幅について、一部のストローブ信号幅が他のストローブ信号幅より短くなるようにしてもよい。また、後のストローブ信号幅が、それ以前のストローブ信号幅より長くならないようにしてもよい。
【００５７】
以下に、この出願の願書に最初に添付した特許請求の範囲に記載した発明を付記する。付記に記載した請求項の項番は、この出願の願書に最初に添付した特許請求の範囲のとおりである。
【００５８】
≪付記≫
《請求項１》
複数の発熱素子をライン状に配置したサーマルヘッドと、感熱紙を搬送するステッピングモータとを備え、ストローブ信号による制御によって前記サーマルヘッドが所定のタイミングで印加されて印字データを印刷するサーマルプリンタであって、
一部の前記タイミングの印加時間が、他の前記タイミングの印加時間より短くなるように前記ストローブ信号を制御する制御部を備える
ことを特徴とするサーマルプリンタ。
《請求項２》
前記印字データは、文字列に係る印字データであって、前記文字列は、前記ステッピングモータが前記感熱紙を搬送する方向に並ぶ所定数のドットを含み、
前記制御部は、
一部の前記ドットを印刷する際の印加時間が、他の前記ドットを印刷する際の印加時間より短くなるように前記ストローブ信号を制御する
ことを特徴とする請求項１のサーマルプリンタ。
《請求項３》
前記ステッピングモータは、所定複数回のステップ駆動により前記ドット１つ分の感熱紙を搬送し、
前記制御部は、
前記所定複数回のステップ駆動のうち、所定の一部のステップ駆動のタイミングに同期させて前記サーマルヘッドを印加するように前記ストローブ信号を制御する
ことを特徴とする請求項２のサーマルプリンタ。
《請求項４》
前記制御部は、
前記ステッピングモータが前記感熱紙を搬送する方向に並ぶドットのなかで後半に印刷されるドットにおける印加時間が、前半に印刷されるドットにおける印加時間より短くなるように前記ストローブ信号を制御する
ことを特徴とする請求項２〜３のいずれか１項に記載のサーマルプリンタ。
《請求項５》
前記制御部は、
前記前半に印刷されるドットにおける印加時間を、前記文字列の印字データに基づいて導出する、または、当該ドットを含み、前記ステッピングモータが前記感熱紙を搬送する方向と直行する方法に並ぶドットの印字データに基づいて導出する
ことを特徴とする請求項４に記載のサーマルプリンタ。
《請求項６》
前記ステッピングモータは、所定複数回のステップ駆動により前記ドット１つ分の感熱紙を搬送し、
前記制御部は、
前記所定複数回のステップ駆動のうち、所定の一部のステップ駆動のタイミングに同期させて前記サーマルヘッドを印加するように前記ストローブ信号を制御するとともに、前記所定複数回のステップ駆動のうち、一部のステップ駆動に同期させた印加時間が、他のステップ駆動に同期させた印加時間より短くなるように前記ストローブ信号を制御する
ことを特徴とする請求項２に記載のサーマルプリンタ。
《請求項７》
前記一部のステップ駆動は、前記所定複数回のステップ駆動のうち後半である
ことを特徴とする請求項６に記載のサーマルプリンタ。
《請求項８》
前記印字データは、１行が前記ステッピングモータが前記感熱紙を搬送する方向に並ぶ所定数のドットから構成される、所定行数の文字列に係る印字データであって、
前記制御部は、
前記ステッピングモータが前記感熱紙を搬送する方向に並ぶドットのなかで、後に印刷されるドットを印刷する際の印加時間が、当該ドットより前に印刷されるドットを印刷する際の印加時間と同じまたは短くなるように前記ストローブ信号を制御する
ことを特徴とする請求項１のサーマルプリンタ。
《請求項９》
請求項１〜８のいずれか１項に記載のサーマルプリンタを備える売上データ処理装置。
《請求項１０》
複数の発熱素子をライン状に配置したサーマルヘッドと、感熱紙を搬送するステッピングモータとを備えるコンピュータを、
請求項１〜８のいずれか１項に記載のサーマルプリンタとして機能させることを特徴とするプログラム。
【符号の説明】
【００５９】
１００  電子レジスタ（売上データ処理装置）
１１０  ＣＰＵ
１２０  記憶部
１４０  サーマルプリンタ
１４１  温度センサ
１４２  紙なしセンサ
１４３  ステッピングモータ
１４４  モータドライバ
１９０  レシート
１９１  グラフィックデータ領域
１９２  文字データ領域
２００  サーマルヘッド
２１０，２１０Ａ〜２１０Ｄ  発熱抵抗体（発熱素子）
２２０，２２０Ａ〜２２０Ｄ  ＮＡＮＤゲート
２３０  ラッチレジスタ
２４０  シフトレジスタ
【図１】
2020019208.tif 000003
【図２】
2020019208.tif 000004
【図３】
2020019208.tif 000005
【図４】
2020019208.tif 000006
【図５】
2020019208.tif 000007
【図６】
2020019208.tif 000008
【図７】
2020019208.tif 000009
【図８】
2020019208.tif 000010