(57)【特許請求の範囲】
【請求項１】
第１の方向に沿ったヘッド部の印刷幅より大きなピッチの行を用紙に印刷する印刷制御方法において、
該ヘッド部により第１の行の最初の一部を該第１の方向とは直交する第２の方向に沿って用紙に印刷する第１のステップと、
用紙と該ヘッド部との相対的位置を該ヘッド部の印刷幅の量だけ該第１の方向へ移動する第２のステップと、
該ヘッド部により該第１の行の残りの部分及び第２の行の少なくとも最初の一部を該第２の方向に沿って用紙に印刷する第３のステップと、
用紙と該ヘッド部との相対的位置を該ヘッド部の印刷幅以下の微小量だけ該第１の方向へ移動する第４のステップと、
該ヘッド部により該第２の行の該最初の一部を含む該第２の行の所定部分を該第２の方向に沿って用紙に印刷する第５のステップとを含む、印刷制御方法。
【請求項２】
前記ヘッド部の通常改行時には用紙と該ヘッド部との相対的位置が所定量Ｍ以上前記第１の方向へ移動し、前記第１の方向に沿った前記ヘッド部の印刷幅がＮ＝Ｍ−Ｃで表され、Ｍ＞Ｎ＞ＣでＣが該第１の方向に沿った補正幅を示す場合において、
１回目の印刷動作を行う際に、該ヘッド部の印刷位置は第１の行の先頭、印刷長はＮとするステップと、
メモリ内で未印刷の印刷パターンを該メモリの空領域に移動する際に、移動元は第１の行の未印刷の印刷パターンの先頭、移動長は第１の行の未印刷幅数とするステップと、
第２の行の先頭の印刷パターンを該メモリの空領域に複写する際に、複写元は第２の行の先頭、複写先は移動された第１の行の未印刷の印刷パターンの先頭＋第１の行の未印刷幅の位置、複写長はＣとするステップと、
２回目の印刷動作を行う際に、印刷位置は次行の先頭−第１の行の未印刷幅、該ヘッド部の改行率は未印刷幅とするステップとを更に含む、請求項１記載の印刷制御方法。
【請求項３】
前記ヘッド部の通常改行時には用紙と該ヘッド部との相対的位置が所定量Ｍ前記第１の方向へ移動し、前記第１の方向に沿った前記ヘッド部の印刷幅がＭで表され、Ｃが該第１の方向に沿った補正幅を示し、Ｌが各行の前記第２の方向に沿った印刷可能な最大幅数を示し、Ｍ＞Ｃである場合において、指定された１行目又は用紙の先頭から１行分の印刷パターンをメモリ内に展開する第６のステップと、
１回目の印刷で、指定された１行目の先頭からＭ分の印刷パターンを印刷し、前記ヘッド部を次行の先頭位置へ改行する第７のステップと、
１回目の印刷で印刷されなかった、該第１の方向上縦Ｃ×該第２の方向上横Ｌからなる印刷パターンを、該メモリ内の該第７のステップで印刷されなかった印刷パターンの先頭−Ｃの位置に複写する第８のステップと、
２行目の印刷パターンを該メモリに展開する第９のステップと、
２回目の印刷で、該第８及び第９のステップで作成された印刷パターンを印刷し、該ヘッド部を次行の先頭位置へ改行することにより、該第８のステップにおける該ヘッド部の改行によって生じる隙間の位置に対して埋め込みを行うように印刷を行う第１０のステップとを更に含む、請求項１記載の印刷制御方法。
【請求項４】
前記ヘッド部の通常改行時には用紙と該ヘッド部との相対的位置が所定量Ｍ前記第１の方向へ移動し、前記第１の方向に沿った前記ヘッド部の印刷幅がＮ＞Ｍであり、Ｌが各行の前記第２の方向に沿った印刷可能な最大幅数を示し、Ｍ＞ＣでＣが該第１の方向に沿った補正幅を示す場合において、
指定された１行目又は用紙の先頭から１行分の印刷パターンをメモリ内に展開する第６のステップと、
１回目の印刷で、指定された１行目の先頭からＭ分の印刷パターンを印刷し、該ヘッド部をＭ−Ｃ分改行する第７のステップと、
１回目の印刷で印刷されなかった、該第１の方向上縦Ｃ×該第２の方向上横Ｌからなる印刷パターンを、該メモリ内の（該第７のステップで印刷されなかった印刷パターンの先頭−Ｍ）の位置と（該第７のステップで印刷されなかった印刷パターンの先頭−Ｍ−１）の位置とに複写する第８のステップと、
２回目の印刷で、該第８のステップで作成された印刷パターンを印刷し、該ヘッド部をＣ分だけ微小改行することで、該第７のステップにおける該ヘッド部の改行によって生じる隙間の位置に対して埋め込みを行うように印刷が行われる第９のステップと、
２行目の先頭から１行分の印刷パターンを該メモリ内に展開する第１０のステップと、
２行目の印刷を該１行目の印刷と同様に継続する第１１のステップとを更に含む、請求項１記載の印刷制御方法。
【請求項５】
データを印刷に適合したフォーマットに変換する変換手段と、
該変換手段からのデータを各印刷動作により用紙に第１の方向とは直交する第２の方向に沿って印刷するヘッド部と、
該ヘッド部による１回の印刷動作が終了する毎に用紙と該ヘッド部との相対的位置を該第１の方向へ所定量移動する機構と、
該ヘッド部及び該機構を、変換手段からのデータに応じて制御する制御手段とを備え、
該制御手段は、該第１の方向に沿ったヘッド部の印刷幅より大きなピッチの行を用紙に印刷する際に、該ヘッド部により第１の行の最初の一部を該第１の方向に沿って用紙に印刷させ、該機構により用紙と該ヘッド部との相対的位置を該ヘッド部の印刷幅の量だけ該第１の方向へ移動し、該ヘッド部により該第１の行の残りの部分及び第２の行の少なくとも最初の一部を該第２の方向に沿って用紙に印刷させ、該機構により用紙と該ヘッド部との相対的位置を該ヘッド部の印刷幅以下の微小量だけ該第１の方向へ移動し、該ヘッド部により該第２の行の該最初の一部を含む該第２の行の所定部分を該第２の方向に沿って用紙に印刷するよう制御する、プリンタ。
【請求項６】
前記変換手段からのデータを一時的に格納する格納手段を更に有し、前記制御手段は、前記第１の行の残りの部分及び前記第２の行の少なくとも最初の一部を印刷する際に、該第２の行の最初の一部のうち重ね書きする部分のデータのみを該格納手段の退避領域に退避して他の部分のデータは削除する、請求項５記載のプリンタ。
【請求項７】
データを印刷に適合したフォーマットに変換する変換手段と、
該変換手段からのデータを格納する格納手段と、
該格納手段から読み出したデータを各印刷動作により用紙に第１の方向とは直交する第２の方向に沿って印刷するヘッド部と、
該ヘッド部による１回の印刷動作が終了する毎に用紙と該ヘッド部との相対的位置を該第１の方向へ所定量移動する機構と、
該格納手段に対するデータの書き込み及び読み出しを制御すると共に、該ヘッド部及び該機構を該格納手段から読み出したデータに応じて制御する制御手段とを備え、
該ヘッド部の通常改行時には用紙と該ヘッド部との相対的位置が所定量Ｍ以上前記第１の方向へ移動し、前記第１の方向に沿った前記ヘッド部の印刷幅がＮ＝Ｍ−Ｃで表され、Ｍ＞Ｎ＞ＣでＣが該第１の方向に沿った補正幅を示す場合において、
該制御手段は、１回目の印刷動作を行う際に、該ヘッド部の印刷位置は第１行の先頭、印刷長はＮとする手段と、
該格納手段内で未印刷の印刷パターンを該格納手段の空領域に移動する際に、移動元は第１行の未印刷の印刷パターンの先頭、移動長は第１行の未印刷幅とする手段と、
第２行の先頭の印刷パターンを該格納手段の空領域に複写する際に、複写元は第２の行の先頭、複写先は移動された第１行の未印刷の印刷パターンの先頭＋第１の行の未印刷幅の位置、複写長はＣとする手段と、
２回目の印刷動作を行う際に、印刷位置は次行の先頭−第１行の未印刷幅、該ヘッド部の改行率は未印刷幅とする手段とからなる、プリンタ。
【請求項８】
データを印刷に適合したフォーマットに変換する変換手段と、
該変換手段からのデータを格納する格納手段と、
該格納手段から読み出したデータを各印刷動作により用紙に第１の方向とは直交する第２の方向に沿って印刷するヘッド部と、
該ヘッド部による１回の印刷動作が終了する毎に用紙と該ヘッド部との相対的位置を該第１の方向へ所定量移動する機構と、
該格納手段に対するデータの書き込み及び読み出しを制御すると共に、該ヘッド部及び該機構を該格納手段から読み出したデータに応じて制御する制御手段とを備え、
前記ヘッド部の通常改行時には用紙と該ヘッド部との相対的位置が所定量Ｍ前記第１の方向へ移動し、前記第１の方向に沿った前記ヘッド部の印刷幅がＮ＞Ｍであり、Ｌが各行の前記第２の方向に沿った印刷可能な最大幅を示し、Ｍ＞ＣでＣが該第１の方向に沿った補正幅を示す場合において、
該制御手段は、指定された１行目又は用紙の先頭から１行分の印刷パターンを該格納手段内に展開する第１の手段と、
１回目の印刷で、指定された１行目の先頭からＭ分の印刷パターンを印刷し、該ヘッド部を次行の先頭位置へ改行する第２の手段と、
１回目の印刷で印刷されなかった、該第１の方向上縦Ｃ×該第２の方向上横Ｌからなる印刷パターンを、該格納手段内の（該第２の手段で印刷されなかった印刷パターンの先頭−Ｃ）の位置に複写する第３の手段と、
２行目の印刷パターンを該格納手段に展開する第４の手段と、
２回目の印刷で、該第３及び第４の手段で作成された印刷パターンを印刷し、該ヘッド部を次行の先頭位置へ改行することで、該第３の手段における該ヘッド部の改行によって生じる隙間の位置に対して埋め込みを行うように印刷が行われる第５の手段とからなる、プリンタ。
【請求項９】
データを印刷に適合したフォーマットに変換する変換手段と、
該変換手段からのデータを格納する格納手段と、
該格納手段から読み出したデータを各印刷動作により用紙に第１の方向とは直交する第２の方向に沿って印刷するヘッド部と、
該ヘッド部による１回の印刷動作が終了する毎に用紙と該ヘッド部との相対的位置を該第１の方向へ所定量移動する機構と、
該格納手段に対するデータの書き込み及び読み出しを制御すると共に、該ヘッド部及び該機構を該格納手段から読み出したデータに応じて制御する制御手段とを備え、
該ヘッド部の通常改行時には用紙と該ヘッド部との相対的位置が所定量Ｍ前記第１の方向へ移動し、前記第１の方向に沿った前記ヘッド部の印刷幅がＮ＞Ｍであり、Ｌが各行の前記第２の方向に沿った印刷可能な最大幅数を示し、Ｍ＞ＣでＣが該第１の方向に沿った補正幅を示す場合において、
該制御手段は、指定された１行目又は用紙の先頭から１行分の印刷パターンを該格納手段内に展開する第１の手段と、
１回目の印刷で、指定された１行目の先頭からＭ分の印刷パターンを印刷し、該ヘッド部をＭ−Ｃ分改行する第２の手段と、
１回目の印刷で印刷されなかった、該第１の方向上縦Ｃ×該第２の方向上横Ｌからなる印刷パターンを、該格納手段内の（該第２の手段で印刷されなかった印刷パターンの先頭−Ｍ）の位置と（該第２の手段で印刷されなかった印刷パターンの先頭−Ｍ−１）の位置とに複写する第３の手段と、
２回目の印刷で、該第３の手段で作成された印刷パターンを印刷し、該ヘッド部をＣ分だけ微小改行することで、該第２の手段における該ヘッド部の改行によって生じる隙間の位置に対して埋め込みを行うように印刷が行われる第４の手段と、
２行目の先頭から１行分の印刷パターンを該格納手段内に展開する第５の手段と、
２行目の印刷を該１行目の印刷と同様に継続する第６の手段とからなる、プリンタ。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は印刷制御方法及びプリンタに係り、特に改行の際の用紙の送り精度に左右されることなく高品質の印刷を行える印刷制御方法及びプリンタに関する。
【０００２】
【従来の技術】
インパクトプリンタ等のプリンタでは、理想的には、ヘッドの走査方向と直交する方向に沿ったヘッドの印刷幅が、用紙にプリントされる行のピッチと等しい。ここで、ヘッドの印刷幅とは、ヘッドが印刷できる最大幅を意味する。つまり、図１３において、ヘッドのＹ方向上の印刷幅Ｈが、各行のＹ方向上のピッチＬと等しい。この場合、通常、改行時に用紙を１行分送る機構は、充分高い精度で用紙を送ることができるので、例えば１行目及び２行目で印刷される文字等のＹ方向上の高さが行のピッチＬと等しい場合であっても、１行目と２行目との間に印刷されない隙間が生じることはなく、高品質の印刷が可能である。
【０００３】
ところが、ヘッドの印刷幅Ｈは、必ずしも行のピッチＬと等しいとは限らない。これは、プリンタには通常１種類のヘッドしか設けられておらず、ヘッドの印刷幅Ｈは各プリンタで固定であるのに対し、プリンタに印刷命令及び印刷データを供給する中央制御装置（ＣＰＵ）等からなるホスト制御装置側では、印刷フォーマット等をソフトウェアで自由に変更できるからである。つまり、ホスト制御装置側のソフトウェアは、プリンタのヘッドの印刷幅Ｈとは無関係に行のピッチＬや文字等の大きさを自由に設定して印刷データを印刷させることが可能である。これにより、通常の文字と比べて縦方向及び横方向に夫々例えば２倍に拡大された拡大文字の印刷、各種図形や各種イメージの印刷及び複数行に跨るバーコード等の印刷を行うこともできる。  しかし、行のピッチＬがヘッドの印刷幅Ｈより大きい場合、１行を印刷するのにヘッドを走査方向Ｘへ複数回走査させる必要がある。
【０００４】
図１４は、このような場合に考えられる印刷制御方法を説明する図であり、ハッチングで示す部分は用紙上の印刷された文字やバーコード等を示す。先ず、ヘッドは、１回目の走査で同図（ａ）中Ｈ１（＝Ｈ）で示す幅で１行目の一部を印刷する。次に、用紙が幅Ｈ１分送られ、ヘッドは２回目の走査で同図（ａ）中Ｈ２（＝Ｈ）で示す幅で１行目の残りの部分と２行目の一部を印刷する。そして、用紙が２行目の最初の部分から走査できるような微小量だけ送られ、ヘッドは３回目の走査で同図（ａ）中Ｈ３（＝Ｈ）で示す幅で２行目の一部を印刷する。この際、２行目の一部はヘッドの２回目の走査により既に印刷されているので、Ｈ３で示す幅の３回目の走査時には、Ｈ３の幅内で、且つ、前回のＨ２の幅の走査時に印刷されなかった残りの部分のみが印刷される。これにより、Ｈ１，Ｈ２，Ｈ３の幅の１〜３回目の走査により、同図（ｂ）に示す幅が走査される。同図（ｂ）中、Ｐ１，Ｐ２，Ｐ３は夫々ヘッドの１回目，２回目，３回目の走査により印刷される幅を示す。
【０００５】
一例として、幅Ｈは２４ドット分に相当し、１回目と２回目の走査の間の用紙の送り量は１８／１２０インチであり、２回目と３回目の走査の間の用紙の微小送り量は２／１２０インチである。
【０００６】
【発明が解決しようとする課題】
用紙の送りは、用紙送り機構により行われる。この場合、改行時に用紙を１行分送ったり、ヘッドの幅Ｈ分送ったりする動作は、用紙の送り量が比較的多いので、用紙送り機構により極めて高い精度で行うことができる。しかし、図１４（ａ）において３回目の走査を行う直前に送るべき用紙の量は、上記の如き改行時等の場合と比べると極めて微小な量であり、用紙送り機構によりこのような極めて微小な量を高精度で送ることは、機械的にも限界があり、実際には多少のズレが生じてしまう。
【０００７】
ところが、この様なズレが生じてしまい、用紙が本来送られるべき微小量より多少余計にＥだけ送られてしまうと、ヘッドは図１４（ａ）中破線で示すように２行目より多少下方向へ行きすぎた位置からＨ３で示す幅で走査を行う。この場合、２行目の上部は、ヘッドの２回目の走査時に既に印刷されているので問題はないが、同図（ｂ）中Ｐ３で示す幅の印刷は、上記ズレＥだけ下にずれた位置から行われるため、実際に印刷される文字やバーコード等に、印刷されない隙間Ｇが水平方向、即ち、ヘッドの走査方向Ｘに沿って発生してしまう。この様な隙間Ｇは、その後にＨ４，Ｈ５で示す幅で４，５回目の走査を行う場合にも同様の理由で発生してしまう。尚、ズレＥは、１又は複数のドットに対応する。
【０００８】
尚、上記隙間Ｇの発生は、用紙を微小量送る際の精度に起因するものなので、インパクトプリンタ特有の問題ではなく、基本的にはインクジェット型プリンタや熱転写型プリンタ等の各種プリンタでも生じる問題である。
この様な隙間Ｇが発生してしまうと、印刷品質が低下することは勿論であるが、特にバーコードを印刷した場合に大きな問題が生じてしまる。つまり、印刷されたバーコードに図１４（ａ）に示すような隙間Ｇが発生していると、このバーコードをバーコードリーダで読み取る際に、たまたま上記隙間Ｇの部分が水平方向に走査されると、バーコードリーダはバーコードの存在を認識できず、バーコードの正常な読取が行えないといった問題がある。
【０００９】
バーコードは、上記のように水平方向、即ち、バーコードリーダの走査方向に隙間等が発生していると正確に読み取ることができないので、高い印刷品質が要求される。しかし、コスト的に高い印刷技術に頼らず、比較的安価なプリンタでバーコードが印刷できれば非常に便利である。このため、上記の如き問題を解決してバーコードをも高い印刷品質で印刷できるプリンタの実現が望まれている。
【００１０】
又、上記水平方向に延在する隙間の問題は、バーコードに限った問題ではなく、拡大文字、各種図形及び各種イメージ等の印刷の際にも発生すると印刷品質が低下するという問題があった。
そこで、本発明は、用紙の送り精度によらず、ヘッドの走査方向に印刷されない隙間を発生することなく、高品質の印刷を行うことのできる印刷制御方法及びプリンタを提供することを目的とする。
【００１１】
【課題を解決するための手段】
上記の課題は、請求項１記載の、第１の方向に沿ったヘッド部の印刷幅より大きなピッチの行を用紙に印刷する印刷制御方法において、該ヘッド部により第１の行の最初の一部を該第１の方向とは直交する第２の方向に沿って用紙に印刷する第１のステップと、用紙と該ヘッド部との相対的位置を該ヘッド部の印刷幅の量だけ該第１の方向へ移動する第２のステップと、該ヘッド部により該第１の行の残りの部分及び第２の行の少なくとも最初の一部を該第２の方向に沿って用紙に印刷する第３のステップと、用紙と該ヘッド部との相対的位置を該ヘッド部の印刷幅以下の微小量だけ該第１の方向へ移動する第４のステップと、該ヘッド部により該第２の行の該最初の一部を含む該第２の行の所定部分を該第２の方向に沿って用紙に印刷する第５のステップとを含む印刷制御方法によって達成できる。
【００１２】
請求項２の発明では、請求項１の発明において、前記ヘッド部の通常改行時には用紙と該ヘッド部との相対的位置が所定量Ｍ以上前記第１の方向へ移動し、前記第１の方向に沿った前記ヘッド部の印刷幅がＮ＝Ｍ−Ｃで表され、Ｍ＞Ｎ＞ＣでＣが該第１の方向に沿った補正幅を示す場合において、１回目の印刷動作を行う際に、該ヘッド部の印刷位置は第１の行の先頭、印刷長はＮとするステップと、メモリ内で未印刷の印刷パターンを該メモリの空領域に移動する際に、移動元は第１の行の未印刷の印刷パターンの先頭、移動長は第１の行の未印刷幅数とするステップと、第２の行の先頭の印刷パターンを該メモリの空領域に複写する際に、複写元は第２の行の先頭、複写先は移動された第１の行の未印刷の印刷パターンの先頭＋第１の行の未印刷幅の位置、複写長はＣとするステップと、２回目の印刷動作を行う際に、印刷位置は次行の先頭−第１の行の未印刷幅、該ヘッド部の改行率は未印刷幅とするステップとを更に含む。
【００１３】
請求項３の発明では、請求項１の発明において、前記ヘッド部の通常改行時には用紙と該ヘッド部との相対的位置が所定量Ｍ前記第１の方向へ移動し、前記第１の方向に沿った前記ヘッド部の印刷幅がＭで表され、Ｃが該第１の方向に沿った補正幅を示し、Ｌが各行の前記第２の方向に沿った印刷可能な最大幅数を示し、Ｍ＞Ｃである場合において、指定された１行目又は用紙の先頭から１行分の印刷パターンをメモリ内に展開する第６のステップと、１回目の印刷で、指定された１行目の先頭からＭ分の印刷パターンを印刷し、前記ヘッド部を次行の先頭位置へ改行する第７のステップと、１回目の印刷で印刷されなかった、該第１の方向上縦Ｃ×該第２の方向上横Ｌからなる印刷パターンを、該メモリ内の該第７のステップで印刷されなかった印刷パターンの先頭−Ｃの位置に複写する第８のステップと、２行目の印刷パターンを該メモリに展開する第９のステップと、２回目の印刷で、該第８及び第９のステップで作成された印刷パターンを印刷し、該ヘッド部を次行の先頭位置へ改行することにより、該第８のステップにおける該ヘッド部の改行によって生じる隙間の位置に対して埋め込みを行うように印刷を行う第１０のステップとを更に含む。
【００１４】
請求項４の発明では、請求項１の発明において、前記ヘッド部の通常改行時には用紙と該ヘッド部との相対的位置が所定量Ｍ前記第１の方向へ移動し、前記第１の方向に沿った前記ヘッド部の印刷幅がＮ＞Ｍであり、Ｌが各行の前記第２の方向に沿った印刷可能な最大幅数を示し、Ｍ＞ＣでＣが該第１の方向に沿った補正幅を示す場合において、指定された１行目又は用紙の先頭から１行分の印刷パターンをメモリ内に展開する第６のステップと、１回目の印刷で、指定された１行目の先頭からＭ分の印刷パターンを印刷し、該ヘッド部をＭ−Ｃ分改行する第７のステップと、１回目の印刷で印刷されなかった、該第１の方向上縦Ｃ×該第２の方向上横Ｌからなる印刷パターンを、該メモリ内の（該第７のステップで印刷されなかった印刷パターンの先頭−Ｍ）の位置と（該第７のステップで印刷されなかった印刷パターンの先頭−Ｍ−１）の位置とに複写する第８のステップと、２回目の印刷で、該第８のステップで作成された印刷パターンを印刷し、該ヘッド部をＣ分だけ微小改行することで、該第７のステップにおける該ヘッド部の改行によって生じる隙間の位置に対して埋め込みを行うように印刷が行われる第９のステップと、２行目の先頭から１行分の印刷パターンを該メモリ内に展開する第１０のステップと、２行目の印刷を該１行目の印刷と同様に継続する第１１のステップとを更に含む。
【００１５】
上記の課題は、請求項５記載の、データを印刷に適合したフォーマットに変換する変換手段と、該変換手段からのデータを各印刷動作により用紙に第１の方向とは直交する第２の方向に沿って印刷するヘッド部と、該ヘッド部による１回の印刷動作が終了する毎に用紙と該ヘッド部との相対的位置を該第１の方向へ所定量移動する機構と、該ヘッド部及び該機構を、変換手段からのデータに応じて制御する制御手段とを備え、該制御手段は、該第１の方向に沿ったヘッド部の印刷幅より大きなピッチの行を用紙に印刷する際に、該ヘッド部により第１の行の最初の一部を該第１の方向に沿って用紙に印刷させ、該機構により用紙と該ヘッド部との相対的位置を該ヘッド部の印刷幅の量だけ該第１の方向へ移動し、該ヘッド部により該第１の行の残りの部分及び第２の行の少なくとも最初の一部を該第２の方向に沿って用紙に印刷させ、該機構により用紙と該ヘッド部との相対的位置を該ヘッド部の印刷幅以下の微小量だけ該第１の方向へ移動し、該ヘッド部により該第２の行の該最初の一部を含む該第２の行の所定部分を該第２の方向に沿って用紙に印刷するよう制御するプリンタによっても達成できる。
【００１６】
請求項６の発明では、請求項５記載の発明において、前記変換手段からのデータを一時的に格納する格納手段を更に有し、前記制御手段は、前記第１の行の残りの部分及び前記第２の行の少なくとも最初の一部を印刷する際に、該第２の行の最初の一部のうち重ね書きする部分のデータのみを該格納手段の退避領域に退避して他の部分のデータは削除する。
【００１７】
上記の課題は、請求項７記載の、データを印刷に適合したフォーマットに変換する変換手段と、該変換手段からのデータを格納する格納手段と、該格納手段から読み出したデータを各印刷動作により用紙に第１の方向とは直交する第２の方向に沿って印刷するヘッド部と、該ヘッド部による１回の印刷動作が終了する毎に用紙と該ヘッド部との相対的位置を該第１の方向へ所定量移動する機構と、該格納手段に対するデータの書き込み及び読み出しを制御すると共に、該ヘッド部及び該機構を該格納手段から読み出したデータに応じて制御する制御手段とを備え、該ヘッド部の通常改行時には用紙と該ヘッド部との相対的位置が所定量Ｍ以上前記第１の方向へ移動し、前記第１の方向に沿った前記ヘッド部の印刷幅がＮ＝Ｍ−Ｃで表され、Ｍ＞Ｎ＞ＣでＣが該第１の方向に沿った補正幅を示す場合において、該制御手段は、１回目の印刷動作を行う際に、該ヘッド部の印刷位置は第１行の先頭、印刷長はＮとする手段と、該格納手段内で未印刷の印刷パターンを該格納手段の空領域に移動する際に、移動元は第１行の未印刷の印刷パターンの先頭、移動長は第１行の未印刷幅とする手段と、第２行の先頭の印刷パターンを該格納手段の空領域に複写する際に、複写元は第２の行の先頭、複写先は移動された第１行の未印刷の印刷パターンの先頭＋第１の行の未印刷幅の位置、複写長はＣとする手段と、２回目の印刷動作を行う際に、印刷位置は次行の先頭−第１行の未印刷幅、該ヘッド部の改行率は未印刷幅とする手段とからなるプリンタによっても達成される。
【００１８】
上記の課題は、請求項８記載の、データを印刷に適合したフォーマットに変換する変換手段と、該変換手段からのデータを格納する格納手段と、該格納手段から読み出したデータを各印刷動作により用紙に第１の方向とは直交する第２の方向に沿って印刷するヘッド部と、該ヘッド部による１回の印刷動作が終了する毎に用紙と該ヘッド部との相対的位置を該第１の方向へ所定量移動する機構と、該格納手段に対するデータの書き込み及び読み出しを制御すると共に、該ヘッド部及び該機構を該格納手段から読み出したデータに応じて制御する制御手段とを備え、前記ヘッド部の通常改行時には用紙と該ヘッド部との相対的位置が所定量Ｍ前記第１の方向へ移動し、前記第１の方向に沿った前記ヘッド部の印刷幅がＮ＞Ｍであり、Ｌが各行の前記第２の方向に沿った印刷可能な最大幅を示し、Ｍ＞ＣでＣが該第１の方向に沿った補正幅を示す場合において、該制御手段は、指定された１行目又は用紙の先頭から１行分の印刷パターンを格納手段内に展開する第１の手段と、１回目の印刷で、指定された１行目の先頭からＭ分の印刷パターンを印刷し、該ヘッド部を次行の先頭位置へ改行する第２の手段と、１回目の印刷で印刷されなかった、該第１の方向上縦Ｃ×該第２の方向上横Ｌからなる印刷パターンを、該格納手段内の（該第２の手段で印刷されなかった印刷パターンの先頭−Ｃ）の位置に複写する第３の手段と、２行目の印刷パターンを該格納手段に展開する第４の手段と、２回目の印刷で、該第３及び第４の手段で作成された印刷パターンを印刷し、該ヘッド部を次行の先頭位置へ改行することで、該第３の手段における該ヘッド部の改行によって生じる隙間の位置に対して埋め込みを行うように印刷が行われる第５の手段とからなるプリンタによっても達成される。
【００１９】
上記の課題は、請求項９記載の、データを印刷に適合したフォーマットに変換する変換手段と、該変換手段からのデータを格納する格納手段と、該格納手段から読み出したデータを各印刷動作により用紙に第１の方向とは直交する第２の方向に沿って印刷するヘッド部と、該ヘッド部による１回の印刷動作が終了する毎に用紙と該ヘッド部との相対的位置を該第１の方向へ所定量移動する機構と、該格納手段に対するデータの書き込み及び読み出しを制御すると共に、該ヘッド部及び該機構を該格納手段から読み出したデータに応じて制御する制御手段とを備え、該ヘッド部の通常改行時には用紙と該ヘッド部との相対的位置が所定量Ｍ前記第１の方向へ移動し、前記第１の方向に沿った前記ヘッド部の印刷幅がＮ＞Ｍであり、Ｌが各行の前記第２の方向に沿った印刷可能な最大幅数を示し、Ｍ＞ＣでＣが該第１の方向に沿った補正幅を示す場合において、該制御手段は、指定された１行目又は用紙の先頭から１行分の印刷パターンを格納手段内に展開する第１の手段と、１回目の印刷で、指定された１行目の先頭からＭ分の印刷パターンを印刷し、該ヘッド部をＭ−Ｃ分改行する第２の手段と、１回目の印刷で印刷されなかった、該第１の方向上縦Ｃ×該第２の方向上横Ｌからなる印刷パターンを、該格納手段内の（該第２の手段で印刷されなかった印刷パターンの先頭−Ｍ）の位置と（該第２の手段で印刷されなかった印刷パターンの先頭−Ｍ−１）の位置とに複写する第３の手段と、２回目の印刷で、該第３の手段で作成された印刷パターンを印刷し、該ヘッド部をＣ分だけ微小改行することで、該第２の手段における該ヘッド部の改行によって生じる隙間の位置に対して埋め込みを行うように印刷が行われる第４の手段と、２行目の先頭から１行分の印刷パターンを該格納手段内に展開する第５の手段と、２行目の印刷を該１行目の印刷と同様に継続する第６の手段とからなるプリンタによっても達成される。
【００２０】
【作用】
請求項１記載の発明によると、第２の方向に沿って印刷されない隙間が発生することを確実に防止できる。このため、プリンタの用紙送り機構の改行又は用紙送り精度が何等かの原因で不安定になったり、長期間の使用により用紙送り機構の精度が低下しても、隙間の発生を防止して印刷品質を向上することができる。このため、長期間に渡りプリンタの高い印刷精度を維持可能である。又、バーコードは、バーコードリーダの走査方向に隙間等が発生していると正確に読み取ることができないので、高い印刷品質が要求されるが、本発明によれば、コスト的に高い印刷技術に頼らず、比較的安価なプリンタでバーコードが印刷できるので非常に便利である。
【００２１】
請求項２〜４記載の発明によると、印刷動作中にメモリに展開されたドットパターンを退避域に複写したり、メモリに展開されたドットパターンを削除したり、退避域に退避されたドットパターンを復帰（移動）させたりする処理を、最小限に抑えることができ、高速な印刷が可能となる。
【００２２】
請求項５記載の発明によると、第２の方向に沿って印刷されない隙間が発生することを確実に防止できる。このため、プリンタの用紙送り機構の改行又は用紙送り精度が何等かの原因で不安定になったり、長期間の使用により用紙送り機構の精度が低下しても、隙間の発生を防止して印刷品質を向上することができる。このため、長期間に渡りプリンタの高い印刷精度を維持可能である。又、バーコードは、バーコードリーダの走査方向に隙間等が発生していると正確に読み取ることができないので、高い印刷品質が要求されるが、本発明によれば、コスト的に高い印刷技術に頼らず、比較的安価なプリンタでバーコードが印刷できるので非常に便利である。
【００２３】
請求項６記載の発明によれば、簡単な構成により隙間の補正を行うことができる。
請求項７〜９記載の発明によると、印刷動作中に格納手段に展開されたドットパターンを退避域に複写したり、格納手段に展開されたドットパターンを削除したり、退避域に退避されたドットパターンを復帰（移動）させたりする処理を、最小限に抑えることができ、高速な印刷が可能となる。
【００２４】
従って、本発明によれば、用紙の送り精度によらず、ヘッドの走査方向に印刷されない隙間を発生することなく、高品質の印刷を行うことができる。
【００２５】
【実施例】
図１は、本発明になるプリンタの第１実施例を示すブロック図である。本実施例では、本発明になる印刷制御方法の第１実施例を用いる。同図中、プリンタ１はホスト制御装置２とシリアルインタフェース３を介して接続されている。
【００２６】
プリンタ１は、大略印刷データ受信部１１と、プログラムマネージャ１２と、図形処理部１３と、イメージ処理部１４と、パネル部１５と、装置制御部１６と、ヘッド部１７と、用紙送り機構１８と、文字制御部２１とからなる。文字制御部２１は、メイン制御部２２と、属性解析部２３と、ドットパターン展開部２４と、コンピュータグラフィックス（ＣＧ）パターン獲得部２５と、ドットパターン構築用大規模集積回路（ＬＳＩ）２６と、行制御部２７と、装置内メモリ２８とからなる。行制御部２７は、補正処理部２９を含む。
【００２７】
印刷データ受信部１１は、ホスト制御装置２からの印刷データをシリアルインタフェース３を介して受信し、プログラムマネージャ１２へ供給すると共に、プリンタ１の動作状態をシリアルインタフェース３を介してホスト制御装置２へ通知する。印刷データには、図形データ、イメージデータ、文字データ等が含まれる。
【００２８】
プログラムマネージャ１２は、プリンタ１の各種動作に関するプログラムを管理しており、受信したデータの種類に応じて対応する部分の選択及び制御を行う。具体的には、プログラムマネージャ１２は、印刷データが図形データの場合、図形処理プログラムに従って図形処理部１３を制御することにより、図形データをプリンタ１の印刷フォーマットに適合したデータに展開（変換）する。又、プログラムマネージャ１２は、印刷データがイメージデータの場合、イメージ処理プログラムに従ってイメージ処理部１４を制御することにより、イメージデータをプリンタ１の印刷フォーマットに適合したデータに展開する。更に、プログラムマネージャ１２は、印刷データが文字データの場合、文字制御部２１を制御することにより、文字データをプリンタ１の印刷フォーマットに適合したデータに展開する。
【００２９】
図形処理部１３、イメージ処理部１４又は文字制御部２１で展開されるデータは、夫々の内部にあるビットマップメモリに展開されても良いが、本実施例では、一例として、夫々ドットパターン構築用ＬＳＩ２６を介して装置内メモリ２８に展開される。装置内メモリ２８に展開されたデータは、装置制御部１６を介してヘッド部１７へ転送される。ヘッド部１７は、例えばインパクト型印刷ヘッドを有し、装置制御部１６から転送されてきたデータを周知の方法によって用紙に印刷する。用紙送り機構１８は、後述する改行時及び微小改行時に用紙を所定量送る。
【００３０】
パネル部１５は、プリンタ１の各種動作を選択するスイッチ等と、プリンタ１の動作状態等を表示する表示部とからなる。パネル部１５のスイッチを操作してプリンタ１の任意の動作を選択すると、選択された動作がプログラムマネージャ１２へ通知される。
【００３１】
印刷データ受信部１１と、プログラムマネージャ１２と、図形処理部１３と、イメージ処理部１４と、パネル部１５と、装置制御部１６と、ヘッド部１７と、用紙送り機構１８とからなるプリンタ１の部分自体は、周知の構成を用いることができるので、本明細書ではその詳細な説明は省略する。
【００３２】
他方、文字制御部２１内において、メイン制御部２２は、文字制御部２１内の各部の制御を行う。属性解析部２３は、メイン制御部２２の制御下で、プログラムマネージャ１２を介して得られる文字データを解析して、各文字の倍率等を制御する。ドットパターン展開部２４は、メイン制御部２２の制御下で、装置内メモリ２８（ビットマップメモリ）上に指定された文字コードのドットパターンを指定された矩形の大きさで描画する。ＣＧパターン獲得部２５は、メイン制御部２２の制御下で、文字データにより指定された文字コードのドットパターンを装置内メモリ２８より検索する。
【００３３】
ドットパターン構築用ＬＳＩ２６は、ＣＧパターン獲得部２５により獲得されたドットパターンを装置内メモリ２８（ビットマップメモリ）上に展開する。行制御部２７は、メイン制御部２２の制御下で、展開された文字データを指定された改行率で印刷するための制御を行う。この行制御部２７内の補正処理部２９は、改行率の計算において発生した誤差を補正する。
【００３４】
尚、文字制御部２１内のメイン制御部２２と、属性解析部２３と、ドットパターン展開部２４と、ＣＧパターン獲得部２５と、行制御部２７と、装置内メモリ２８とからなる部分自体は、周知の構成を用いることができるので、本明細書ではその詳細な説明は省略する。本実施例は、特にビットパターン構築用ＬＳＩ２６及び行制御部２７内の補正処理部２９の動作に特徴がある。
【００３５】
次に、本実施例の動作を図２と共に説明する。図２は、行のピッチＬがヘッド部１７のヘッドの印刷幅Ｈより大きく、１行を印刷するのにヘッドを走査方向Ｘへ複数回走査させる場合を示す。
図２中、ハッチングで示す部分は用紙上の印刷された文字やバーコード等を示す。先ず、ヘッド部１７は、１回目の走査で同図（ａ）中ｈ１（＝Ｈ）で示す幅で１行目の一部を印刷する。次に、用紙が幅ｈ１分送られ、ヘッド部１７は２回目の走査で同図（ａ）中ｈ２（＝Ｈ）で示す幅で１行目の残りの部分と２行目の一部を印刷する。そして、用紙が２行目の最初の部分から走査できるような微小量だけ送られ、ヘッド部１７は３回目の走査で同図（ａ）中ｈ３（＝Ｈ）で示す幅で２行目の一部を印刷する。この際、２行目の一部はヘッド部１７の２回目の走査により既に印刷されているが、ｈ３で示す幅の３回目の走査時には、ｈ３の幅内で、且つ、前回のｈ２の幅の走査時に印刷された部分も印刷されなかった残りの部分も共に印刷される。これにより、ｈ１，ｈ２，ｈ３の幅の１〜３回目の走査により、同図（ｂ）に示す幅が走査される。同図（ｂ）中、ｐ１，ｐ２，ｐ３は夫々ヘッド部１７の１回目，２回目，３回目の走査により印刷される幅を示し、ｏ１はヘッド部１７の２回目及び３回目の走査の両方により印刷される最大幅を示す。
一例として、幅Ｈは２４ドット分に相当し、１回目と２回目の走査の間の用紙の送り量は１８／１２０インチであり、２回目と３回目の走査の間の用紙の微小送り量は２／１２０インチである。
【００３６】
用紙の送りは、用紙送り機構１８により行われる。この場合、改行時に用紙を１行分送ったり、ヘッドの幅Ｈ分送ったりする動作は、用紙の送り量が比較的多いので、用紙送り機構１８により極めて高い精度で行うことができる。しかし、図２（ａ）において３回目の走査を行う直前に送るべき用紙の量は、上記の如き改行時等の場合と比べると約１／５以下の極めて微小な量であり、用紙送り機構１８によりこのような極めて微小な量を高精度で送ることは、機械的にも限界があり、実際には多少のズレが生じてしまう。
【００３７】
この様なズレが生じてしまい、用紙が本来送られるべき微小量より多少余計にＥだけ送られてしまうと、ヘッド部１７は図２（ａ）中破線で示すように２行目より多少下方向へ行きすぎた位置からｈ３で示す幅で走査を行う。この場合、２行目の上部は、ヘッド部１７の２回目の走査時に既に印刷されているので問題はない。又、同図（ｂ）中ｐ３で示す幅の印刷は、上記ズレＥだけ下にずれた位置から行われるが、ヘッド部１７の２回目の走査時に既に印刷された部分に重ねて行われるので、実際に印刷される文字やバーコード等に印刷されない隙間が水平方向、即ち、ヘッド部１７の走査方向Ｘに沿って発生することはない。その様な隙間は、その後にｈ４，ｈ５で示す幅で４，５回目の走査を行う場合にも同様の理由で発生することはない。
【００３８】
尚、上記ズレＥの発生は、用紙を微小量送る際の精度に起因するものなので、インパクトプリンタ特有の問題ではなく、基本的にはインクジェット型プリンタや熱転写型プリンタ等の各種プリンタでも生じる問題である。
本実施例では、上記の如きズレＥが発生しても図８（ａ）の場合の様な隙間Ｇが発生しないので、印刷品質が低下することはない。特にバーコードを印刷した場合には、印刷されたバーコードに図８（ａ）に示すような隙間Ｇが発生していると、このバーコードをバーコードリーダで読み取る際に、たまたま上記隙間Ｇの部分が水平方向に走査されると、バーコードリーダはバーコードの存在を認識できず、バーコードの正常な読取が行えないといった問題があるが、本実施例ではその様な問題が生じることもない。
【００３９】
バーコードは、上記のように水平方向、即ち、バーコードリーダの走査方向に隙間等が発生していると正確に読み取ることができないので、高い印刷品質が要求される。しかし、本実施例によれば、コスト的に高い印刷技術に頼らず、比較的安価なプリンタでバーコードが印刷できるので非常に便利である。
【００４０】
次に、本実施例の動作を具体的な数値例と共に説明する。ヘッド部１７の印刷幅Ｈは２４ドットであるものとする。
先ず、ビットパターン構築用ＬＳＩ２６は、用紙の１頁の先頭から１行目から３行目までの３行分のデータを、縦１９２０ドット×横２１７６ドットの装置内メモリ２８に展開する。その後、１行目を図２（ａ）中ｈ１で示す幅で印刷する。ここで、次行の先頭までの改行ドット数が２５ドット以上で、且つ、印刷するドットパターンの縦方向の長さが２５ドット以上の場合、１行目の印刷の後、図２（ａ）中ｈ２で示す幅で１行目の残り及び２行目の一部を印刷する。この場合、ｈ１で示す２４ドット分の幅を印刷した後でｈ２で示す幅の印刷を行う前に、行制御部２７内の補正処理部２９は、次行（２行目）の先頭から縦２４ドット×横２１７６ドット分のデータを、装置内メモリ２８内の退避領域に複写する。このデータの退避領域への複写後、補正処理部２９は次行（２行目）の先頭から２ドット目より縦２３ドット×横２１７６ドット分を装置内メモリ２８から消去（削除）する。又、プログラムマネージャ１２は、装置制御部１６を介して用紙送り機構１８を制御して用紙を１８／１２０インチだけ改行させる。
【００４１】
これにより、２行目の印刷時には、ヘッド部１７はｈ２の幅を走査する際に１行目の残りのドット部分と、２行目の先頭の１ドット目を同時に印刷する。その後、プログラムマネージャ１２は、装置制御部１６を介して用紙送り機構１８を制御して用紙を２／１２０インチだけ微小改行させる。この結果、ヘッド部１７は、図２（ａ）中ｈ３で示す幅で２行目の先頭から印刷可能な位置まで移動する。
【００４２】
次に、行制御部２７内の補正処理部２９は、退避領域に複写してあったデータを装置内メモリ２８内の元の位置へ戻す。その後、プログラムマネージャ１２は、装置制御部１６を介してヘッド部１７を制御することにより、ヘッド部１７がｈ３の幅を走査する際に２行目の縦２４ドット×横２１７６ドット分を印刷する。
【００４３】
従って、用紙送り機構１８が用紙を２／１２０インチだけ微小改行する際にズレが発生しないものとすると、上記の一連の動作により２行目の１ドット目は２回印刷されることになる。このため、図２（ｂ）中太線Ｑで示す２回印刷された部分は、他の部分と比べると多少濃くなるが、特にバーコード等を印刷する場合には、隙間が発生しない方が重要であるので好都合である。又、本実施例では、用紙送り機構１８が用紙を２／１２０インチだけ微小改行する際にズレが発生して１ドット分行き過ぎたとしても、隙間の発生が防止できるので、高品質の印刷が可能である。尚、用紙送り機構１８が用紙を２／１２０インチだけ微小改行する際にズレが発生して１ドット分送り足りないとしても、２回印刷される部分が他の部分と比べて多少濃くなるが、隙間が発生しないので、高品質の印刷が可能である。
【００４４】
図３は、本実施例の動作を説明するフローチャートである。同図中、ステップ４１は、１回の改行により用紙が送られるドット単位の量が２５ドット以上であるか否かを判定し、判定結果がＮＯであれば処理が終了する。他方、ステップ４１の判定結果がＹＥＳであれば、ステップ４２は印刷するデータの縦方向のドット単位の長さが２５ドット以上であるか否かを判定する。ステップ４２の判定結果がＮＯであると、ステップ４３が印刷するデータの縦方向のドット単位の長さが０であるか否かを判定し、判定結果がＹＥＳであれば処理が終了する。他方、ステップ４３の判定結果がＮＯであれば、ステップ４４で１回目の印刷動作を行い、処理は終了する。この場合、印刷位置は行の先頭、印刷長は２４ドット、ヘッド部１７の改行率は１８／１２０インチである。
【００４５】
他方、ステップ４２の判定結果がＹＥＳであると、ステップ４５は１回目の印刷動作を行う。この場合、印刷位置は行の先頭、印刷長は２４ドット、ヘッド部１７の改行率は１８／１２０インチである。又、ステップ４６は次行のドットパターンを複写する。この場合、退避元は次行の先頭、退避長は縦が２４ドットで横が２１７６ドット、退避先は装置メモリ２８内の退避領域である。更に、ステップ４７は、次行のドットパターンを削除する。この場合、削除元は次行の先頭プラス１ドット目、削除長は縦が２３ドットで横が２１７６ドットである。
【００４６】
ステップ４８は、２回目の印刷動作を行う。この場合、印刷位置は行の先頭プラス２４ドット目、印刷長は２４ドット、ヘッド部１７の改行率は２／１２０インチである。又、ステップ４９は、退避されていたドットパターンを復帰させる。この場合、復帰元は上記退避領域、復帰長は縦が２４ドットで横が２１７６ドット、復帰先が次行の先頭である。ステップ４９が行われると、処理は終了する。
【００４７】
尚、本実施例では、微小改行時のズレがない場合に１ドット分重ね書きするようにしているので、実際に１ドット分のズレが生じた場合でも隙間が発生しないように補正が行われる。しかし、微小改行時のズレがない場合に１ドット以上で図２（ｂ）中の最大幅ｏ１に対応するドット分以下のドット数分の重ね書きをすることにより、最大幅ｏ１に対応するドット分のズレを補正可能である。ただし、上記の如く、重ね書きされる部分は他の部分と比べて濃く印刷されるので、バーコード以外の文字等も印刷されるような場合には、重ね書きされるドット数は１ドット〜５ドット程度であることが望ましい。
【００４８】
次に、本発明になるプリンタの第２実施例を説明する。本実施例では、本発明になる印刷制御方法の第２実施例を用いる。本実施例では、プリンタの構成は図１と同じで良い。図４は、本実施例の動作を説明するフローチャートである。図４中、図３と同一ステップには同一符号を付す。
【００４９】
図４中、ステップ４１は、１回の改行により用紙が送られるドット単位の量が２５ドット以上であるか否かを判定し、判定結果がＮＯであれば処理が終了する。他方、ステップ４１の判定結果がＹＥＳであれば、ステップ４２Ａは印刷するデータの縦方向のドット単位の長さが２４ドットより大きいか否かを判定する。ステップ４２Ａの判定結果がＮＯであると、ステップ４３が印刷するデータの縦方向のドット単位の長さが０であるか否かを判定し、判定結果がＹＥＳであれば処理が終了する。他方、ステップ４３の判定結果がＮＯであれば、ステップ４４Ａで１回目の印刷動作を行い、処理は終了する。この場合、印刷位置は行の先頭、印刷長は２４ドット、ヘッド部１７の改行率は２４／１８０インチである。
【００５０】
他方、ステップ４２Ａの判定結果がＹＥＳであると、ステップ４５Ａは１回目の印刷動作を行う。この場合、印刷位置は行の先頭、印刷長は２４ドット、ヘッド部１７の改行率は２４／１８０インチである。又、ステップ５６は未印刷のドットパターンを装置内メモリ２８内で移動する。この場合、移動元は未印刷のドットパターンの先頭、移動先は次行の先頭位置マイナス２４ドット目、移動長は未印刷ドット数である。更に、ステップ５７は、次行の先頭のドットパターンを装置内メモリ２８に複写する。この場合、複写元は次行の先頭、複写先は次行の先頭マイナス２４ドットプラス未印刷ドット数目、複写長は１ドットである。
【００５１】
ステップ５８は、２回目の印刷動作を行う。この場合、印刷位置は次行の先頭マイナス２４ドット目、印刷長は２４ドット、ヘッド部１７の改行率は未印刷ドット数である。ステップ５８が行われると、処理は終了する。
つまり、本実施例では、次行への改行ドット数が２５ドット以上で、且つ、印刷するドットパターンが縦２４ドットを越える場合には、図５及び図６と共に説明するような以下の処理が行われる。図５及び図６は、夫々装置内メモリ２８内のデータの格納状態及び用紙上の印刷状態を、処理の各段階で示す図である。
【００５２】
図５（ａ）に示す状態１では、指定された行又は用紙の先頭から３行分の文字及びバーコードのドットパターンを装置内メモリ２８内に展開する。
図５（ｂ）に示す状態２では、１回目の印刷で、指定された１行目の先頭から２４ドット分のドットパターンを印刷し、ヘッド部１７を２４ドット分改行する。
【００５３】
図５（ｃ）に示す状態３では、１回目の印刷で印刷されなかったドットパターン、即ち、縦（次行への改行ドット数−２４）ドット×横２４４８ドットを、装置内メモリ２８内の（２行目の先頭−２４）ドットの位置に移動する。
図６（ａ）に示す状態４では、２行目の先頭から１ドット分のドットパターンである、縦１×横２４４８ドットを、装置内メモリ２８内において状態３で移動したドットパターンの真下に複写する。つまり、隙間補正を１ドット幅で行う場合、２行目の先頭から１ドット分のドットパターンを、装置内メモリ２８内において（２行目の先頭−２４＋現在未印刷ドット数）の位置へ複写する。
【００５４】
図６（ｂ）に示す状態５では、２回目の印刷で、上記状態３及び４で作成されたドットパターンを（２行目先頭−２４ドット）の位置から印刷し、ヘッド部１７を残りのドットパターン分だけ、即ち、未印刷ドット数分だけ微小改行する。この時、状態４で複写した２行目の先頭の１ドットが、隙間が生じる位置に対して埋め込みを行うように印刷が行われる。
【００５５】
図６（ｃ）に示す状態６では、２行目の残りのドットパターンの印刷を継続し、以下は上記状態２〜状態４と同様な処理を次行に対して行うことにより２行目が印刷される。
次に、本発明になるプリンタの第３実施例を説明する。本実施例では、本発明になる印刷制御方法の第３実施例を用いる。本実施例では、プリンタの構成は図１と同じで良い。図７は、本実施例の動作を説明するフローチャートである。図７中、図４と同一ステップには同一符号を付す。
【００５６】
図７中、ステップ４１Ａは、１回の改行により用紙が送られるドット単位の量が２４ドットより小さいか否かを判定し、判定結果がＮＯであれば処理が終了する。他方、ステップ４１Ａの判定結果がＹＥＳであれば、ステップ６１は１行目のドットパターンを装置内メモリ２８に展開する。ステップ４２Ａは、印刷するデータの縦方向のドット単位の長さが２４ドットより大きいか否かを判定する。ステップ４２Ａの判定結果がＮＯであると、ステップ４３が印刷するデータの縦方向のドット単位の長さが０であるか否かを判定し、判定結果がＹＥＳであれば処理が終了する。他方、ステップ４３の判定結果がＮＯであれば、ステップ４４Ｂで１回目の印刷動作を行い、処理は終了する。この場合、印刷位置は行の先頭、印刷長は２４ドット、ヘッド部１７の改行率は通常の改行ドット数である。
【００５７】
他方、ステップ４２Ａの判定結果がＹＥＳであると、ステップ６２は１回目の印刷動作を行う。この場合、印刷位置は行の先頭、印刷長は２４ドット、ヘッド部１７の改行率は通常の改行ドット数である。又、ステップ６３は未印刷のドットパターンを装置内メモリ２８内に移動する。この場合、移動元は未印刷のドットパターンの先頭、移動先は未印刷のドットパターンの先頭位置マイナス１ドット目、移動長は１ドットである。
【００５８】
つまり、本実施例では、次行への改行ドット数が２４ドット未満で、且つ、印刷するドットパターンが縦２４ドットを越える場合には、図８及び図９と共に説明するような以下の処理が行われる。図８及び図９は、夫々装置内メモリ２８内のデータの格納状態及び用紙上の印刷状態を、処理の各段階で示す図である。
【００５９】
図８（ａ）に示す状態１では、指定された１行目又は用紙の先頭から１行分の文字及びバーコードのドットパターンを装置内メモリ２８内に展開する。
図８（ｂ）に示す状態２では、１回目の印刷で、指定された１行目の先頭から２４ドット分のドットパターンを印刷し、ヘッド部１７を２行目の先頭位置へ改行する。
【００６０】
図８（ｃ）に示す状態３では、１回目の印刷で印刷されなかった残りのドットパターン、即ち、縦１ドット×横２４４８ドットを、装置内メモリ２８内の（状態２で印刷されなかったドットパターンの先頭−１）ドットの位置に複写する。図９（ａ）に示す状態４では、２行目の先頭から１行分のドットパターンを装置内メモリ２８内に展開する。
【００６１】
図９（ｂ）に示す状態５では、２回目の印刷で、状態３及び４で作成されたドットパターンを印刷し、ヘッド部１７を次行の先頭位置へ改行する。この時、状態３で作成された１ドットが、隙間が生じる位置に対して埋め込みを行うように印刷が行われる。
【００６２】
その後、２行目のドットパターンの印刷を継続し、以下は上記状態２〜状態４と同様な処理を次行に対して行うことにより２行目以降が印刷される。
次に、本発明になるプリンタの第４実施例を説明する。本実施例では、本発明になる印刷制御方法の第４実施例を用いる。本実施例では、プリンタの構成は図１と同じで良い。図１０は、本実施例の動作を説明するフローチャートである。図１０中、図４と同一ステップには同一符号を付す。
【００６３】
図１０中、ステップ４１Ｂは、１回の改行により用紙が送られるドット単位の量が２４ドットであるか否かを判定し、判定結果がＮＯであれば処理が終了する。他方、ステップ４１Ｂの判定結果がＹＥＳであれば、ステップ６１は１行目のドットパターンを装置内メモリ２８に展開する。ステップ４２Ａは、印刷するデータの縦方向のドット単位の長さが２４ドットより大きいか否かを判定する。ステップ４２Ａの判定結果がＮＯであると、ステップ４３が印刷するデータの縦方向のドット単位の長さが０であるか否かを判定し、判定結果がＹＥＳであれば処理が終了する。他方、ステップ４３の判定結果がＮＯであれば、ステップ４４Ａで１回目の印刷動作を行い、処理は終了する。この場合、印刷位置は行の先頭、印刷長は２４ドット、ヘッド部１７の改行率は２４ドットである。
【００６４】
他方、ステップ４２Ａの判定結果がＹＥＳであると、ステップ７２は１回目の印刷動作を行う。この場合、印刷位置は行の先頭、印刷長は２４ドット、ヘッド部１７の改行率は２４ドットである。又、ステップ７３は未印刷のドットパターンを装置内メモリ２８へ複写する。この場合、移動元は未印刷のドットパターンの先頭、移動先は次行の先頭位置−２４ドット目、移動長は１ドットである。更に、ステップ７４は、未印刷のドットパターンを装置内メモリ２８へ複写する。この場合、移動元は未印刷のドットパターンの先頭、移動先は次行の先頭位置−２３ドット目、移動長は１ドットである。
【００６５】
ステップ７５は、２回目の印刷動作を行う。この場合、印刷位置は次行の先頭マイナス２４ドット目、印刷長は２４ドット、ヘッド部１７の改行率は１ドットである。ステップ５８が行われると、処理は終了する。
つまり、本実施例では、次行への改行ドット数が２４ドットで、且つ、印刷するドットパターンが縦２４ドットを越える場合には、図１１及び図１２と共に説明するような以下の処理が行われる。図１１及び図１２は、夫々装置内メモリ２８内のデータの格納状態及び用紙上の印刷状態を、処理の各段階で示す図である。
【００６６】
図１１（ａ）に示す状態１では、指定された１行目又は用紙の先頭から１行分の文字及びバーコードのドットパターンを装置内メモリ２８内に展開する。
図１１（ｂ）に示す状態２では、１回目の印刷で、指定された１行目の先頭から２４ドット分のドットパターンを印刷し、ヘッド部１７を２３ドット分改行する。
【００６７】
図１１（ｃ）に示す状態３では、１回目の印刷で印刷されなかったドットパターン、即ち、縦１ドット×横２４４８ドットを、装置内メモリ２８内の（状態２で印刷されなかったドットパターンの先頭−２４）ドットの位置と（状態２で印刷されなかったドットパターンの先頭−２３）ドットの位置とに複写する。
【００６８】
図１２（ａ）に示す状態４では、２回目の印刷で、上記状態３で作成されたドットパターンを印刷し、ヘッド部１７を１ドット分だけ微小改行する。この時、状態２及び状態３におけるヘッド部１７の改行によって生じる隙間の位置に対して埋め込みを行うように印刷が行われる。
【００６９】
図１２（ｂ）に示す状態５では、２行目の先頭から１行分のドットパターンを装置内メモリ２８内に展開する。
図１２（ｃ）に示す状態６では、２行目の印刷を上記１行目の印刷の場合と同様に継続する。
【００７０】
以下は上記状態１〜状態６と同様な処理を次行に対して行うことにより３行目以降が印刷される。
上記第２〜第４実施例では、印刷動作中に装置内メモリ２８に展開されたドットパターンを退避域に複写したり、装置内メモリ２８に展開されたドットパターンを削除したり、退避域に退避されたドットパターンを復帰（移動）させたりする処理を、上記第１実施例に比べると最小限に抑えることができる。又、隙間を埋め込む際に印刷する縦のドット幅は１ドット分に限定されるものではなく、複数ドット分であっても良いことは言うまでもない。隙間を埋め込む際に印刷する縦のドット幅は、好ましくは１〜５ドット分に対応する。
【００７１】
尚、上記各実施例は、バーコードや文字の印刷に限定されず、拡大文字、各種図形及び各種イメージを印刷する際にも同様に適用可能であり、いずれの場合も改行精度の低さに起因する印刷品質の低下を確実に防止することができる。又、改行精度の低さによって生じる水平方向に延在する隙間の補正を高速に行うことができるので、高品質の印刷を高速に行うことが可能である。更に、プリンタの長期使用によって生じる改行精度の劣化に対しても、印刷品質の低下の防止を保証することができる。
【００７２】
更に、各実施例ではヘッド部に対して用紙を送る構成を取っているが、用紙とヘッド部との相対的位置が移動される構成であれば本発明を適用可能であることは言うまでもない。
又、本発明はインパクトプリンタに適用されて特に効果があるが、インパクトプリンタへの適用に限定されるものではなく、基本的にはインクジェット型プリンタや熱転写型プリンタ等の各種プリンタにも本発明を適用することができる。
【００７３】
以上、本発明を実施例により説明したが、本発明は上記実施例に限定されるものではなく、本発明の範囲内で種々の変形及び改良が可能であることは言うまでもない。
【００７４】
【発明の効果】
請求項１記載の発明によると、第２の方向に沿って印刷されない隙間が発生することを確実に防止できる。このため、プリンタの用紙送り機構の改行又は用紙送り精度が何等かの原因で不安定になったり、長期間の使用により用紙送り機構の精度が低下しても、隙間の発生を防止して印刷品質を向上することができる。このため、長期間に渡りプリンタの高い印刷精度を維持可能である。又、バーコードは、バーコードリーダの走査方向に隙間等が発生していると正確に読み取ることができないので、高い印刷品質が要求されるが、本発明によれば、コスト的に高い印刷技術に頼らず、比較的安価なプリンタでバーコードが印刷できるので非常に便利である。
【００７５】
請求項２〜４記載の発明によると、印刷動作中にメモリに展開されたドットパターンを退避域に複写したり、メモリに展開されたドットパターンを削除したり、退避域に退避されたドットパターンを復帰（移動）させたりする処理を、最小限に抑えることができ、高速な印刷が可能となる。
【００７６】
請求項５記載の発明によると、第２の方向に沿って印刷されない隙間が発生することを確実に防止できる。このため、プリンタの用紙送り機構の改行又は用紙送り精度が何等かの原因で不安定になったり、長期間の使用により用紙送り機構の精度が低下しても、隙間の発生を防止して印刷品質を向上することができる。このため、長期間に渡りプリンタの高い印刷精度を維持可能である。又、バーコードは、バーコードリーダの走査方向に隙間等が発生していると正確に読み取ることができないので、高い印刷品質が要求されるが、本発明によれば、コスト的に高い印刷技術に頼らず、比較的安価なプリンタでバーコードが印刷できるので非常に便利である。
【００７７】
請求項６記載の発明によれば、簡単な構成により隙間の補正を行うことができる。
請求項７〜９記載の発明によると、印刷動作中に格納手段に展開されたドットパターンを退避域に複写したり、格納手段に展開されたドットパターンを削除したり、退避域に退避されたドットパターンを復帰（移動）させたりする処理を、最小限に抑えることができ、高速な印刷が可能となる。
【００７８】
従って、本発明によれば、用紙の送り精度によらず、ヘッドの走査方向に印刷されない隙間を発生することなく、高品質の印刷を行うことができる。
【図面の簡単な説明】
【図１】本発明になるプリンタの第１実施例を示すブロック図である。
【図２】第１実施例の動作を説明する図である。
【図３】第１実施例の動作を説明するフローチャートである。
【図４】本発明になるプリンタの第２実施例の動作を説明するフローチャートである。
【図５】第２実施例の動作を説明する図である。
【図６】第２実施例の動作を説明する図である。
【図７】本発明になるプリンタの第３実施例の動作を説明するフローチャートである。
【図８】第３実施例の動作を説明する図である。
【図９】第３実施例の動作を説明する図である。
【図１０】本発明になるプリンタの第４実施例の動作を説明するフローチャートである。
【図１１】第４実施例の動作を説明する図である。
【図１２】第４実施例の動作を説明する図である。
【図１３】ヘッドの走査方向と直交する方向に沿ったヘッドの印刷幅が用紙にプリントされる行のピッチと等しい場合の印刷動作を説明する図である。
【図１４】考えられる印刷制御方法を説明する図である。
【符号の説明】
１      プリンタ
２      ホスト制御装置
１１      印刷データ受信部
１２      プログラムマネージャ
１３      図形処理部
１４      イメージ処理部
１５      パネル部
１６      装置制御部
１７      ヘッド部
１８      用紙送り機構
２１      文字制御部
２２      メイン制御部
２３      属性解析部
２４      ドットパターン展開部
２５      ＣＧパターン獲得部
２６      ビットパターン構築用ＬＳＩ
２７      行制御部
２８      装置内メモリ
２９      補正処理部
【図１】
0003603386.tif 000002
【図２】
0003603386.tif 000003
【図３】
0003603386.tif 000004
【図４】
0003603386.tif 000005
【図５】
0003603386.tif 000006
【図６】
0003603386.tif 000007
【図７】
0003603386.tif 000008
【図８】
0003603386.tif 000009
【図９】
0003603386.tif 000010
【図１０】
0003603386.tif 000011
【図１１】
0003603386.tif 000012
【図１２】
0003603386.tif 000013
【図１３】
0003603386.tif 000014
【図１４】
0003603386.tif 000015