(57)【特許請求の範囲】
【請求項１】
ホスト・コンピュータから情報を受信する受信部と、
前記受信部によって受信した前記情報を取り出して、解析し、ビットイメージ情報として印字バッファに格納するデータ解析部と、
前記データ解析部によって格納された前記ビットイメージ情報に基づいて印刷ヘッドへ出力される印字データを取り出して、印刷用紙に印刷したインクのにじみ補正値に基づいて該印字データの処理単位を決定し、決定された前記処理単位に基づいて、前記印字データを前記印字バッファから１ヘッド単位バッファに格納するように更新する印字データ更新部と、
前記印刷ヘッドを利用した前記印字用紙への印刷を制御する印刷制御回路部と、
を備え、
前記データ解析部は、前記受信部によって受信した情報が、前記インクのにじみ補正値である場合、当該インクのにじみ補正値に基づいて、バーコードの基準となる黒バーを印字するためのバー幅印字ドット数を決定し、
前記情報がバーコード情報である場合は、当該バーコード情報に基づいて、印字解像度を決定し、前記ビットイメージ情報を生成し、
前記印刷制御回路部は、前記印刷ヘッドの解像度、前記バー幅印字ドット数および前記処理単位に基づいて、前記印刷ヘッドの連続駆動回数を決定することを特徴とするプリンタ。
【請求項２】
前記印刷制御回路部が、前記印刷ヘッドを駆動するためモータの駆動を、予め設定しているモータ駆動周期に基づいて制御するモータ制御部と、
前記印刷ヘッドの前記連続駆動回数に基づいて、前記印刷ヘッドを駆動させるための駆動波形を生成する駆動波形生成部と、
前記駆動波形生成部によって生成された前記駆動波形に基づいて、前記印刷ヘッドの駆動を制御する印刷ヘッド制御部と、
を備えた請求項１に記載のプリンタ。
【請求項３】
下記の工程を備えた印刷制御方法。
（ａ）ホスト・コンピュータから情報を受信する受信工程と、
（ｂ）前記受信部によって受信した前記情報を取り出して、解析し、印字バッファに格納するデータ解析工程と、
（ｃ）前記データ解析部によって格納されたビットイメージ情報に基づいて印刷ヘッドへ出力される印字データを取り出して、印刷用紙に印刷したインクのにじみ補正値に基づいて該印字データの処理単位を決定し、決定された前記処理単位に基づいて、前記印字データを前記印字バッファから１ヘッド単位バッファに格納するように更新する印字データ更新工程と、
（ｄ）前記印刷ヘッドを利用した前記印字用紙への印刷を制御する印刷制御工程と、
を備え、
前記データ解析工程は、前記受信部によって受信した情報が、前記インクのにじみ補正値である場合、バーコードの基準となる黒バーを印字するためのバー幅印字ドット数を決定し、
前記情報がバーコード情報である場合は、当該バーコード情報に基づいて、印字解像度を決定し、前記ビットイメージ情報を生成し、
前記印刷制御回路部は、前記印刷ヘッドの解像度、前記バー幅印字ドット数および前記処理単位に基づいて、前記印刷ヘッドの連続駆動回数を決定することを特徴とする。
【請求項４】
前記印刷制御工程が、下記の工程を備えた請求項３に記載の印刷制御方法。
（ａ）前記印刷ヘッドを駆動するためモータの駆動を、予め設定しているモータ駆動周期に基づいて制御するモータ制御工程と、
（ｂ）前記印刷ヘッドの前記連続駆動回数に基づいて、前記印刷ヘッドを駆動させるための駆動波形を生成する駆動波形生成工程と、
（ｃ）前記駆動波形生成工程によって生成された前記駆動波形に基づいて、前記印刷ヘッドの駆動を制御する印刷ヘッド制御工程。
【請求項５】
請求項３または４に記載の印刷制御方法のプログラムを記録した情報記録媒体。
【請求項６】
前記情報記録媒体は、コンパクト・ディスク、フロッピー（登録商標）・ディスク、ハード・ディスク、光磁気ディスク、ディジタル・バーサタイル・ディスク、磁気テープ、もしくは、メモリ・カードであることを特徴とする、請求項５に記載のプログラムを記録した情報記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プリンタ、印刷制御方法および情報記録媒体に関する。特に、印刷用紙に印刷したインクのにじみ補正値に基づいて、印刷ヘッドへ出力する印字データの処理単位及び、バーコードの基準となる黒バーを印字するためのバー幅印字ドット数を決定し、前記印刷ヘッドの解像度、前記バー幅印字ドット数および前記処理単位に基づいて、前記印刷ヘッドの前記連続駆動回数を決定することを特徴とするプリンタ、印刷制御方法および情報記録媒体に関する。
【０００２】
【従来の技術】
インクジェットプリンタ等のシリアルプリンタにおいて、バーコード等の印刷を実行する場合、バーコード読み取り機の読み取り特性、印刷用紙のインクのにじみ特性等に合わせて、バーコードのバー幅の増減を行うにじみ補正処理が必要であった。即ち、印刷ヘッドのヘッド解像度が３６０ｄｐｉ（ｄｏｔ  ｐａｒ  ｉｎｃｈ）であるプリンタを利用したバーコード印刷において、標準のバー幅として「黒バー」を４ドット分印字するとき、標準の印刷用紙に印刷した場合、インクのにじみ易い印刷用紙に印刷した場合、または、インクのにじみ難い印刷用紙に印刷した場合において、印刷された４ドット分のバー幅は異なる。従って、インクのにじみ易い印刷用紙、または、インクのにじみ難い印刷用紙に印刷されたバー幅を、標準の印刷用紙のバー幅となるように補正して印刷する必要があった。
【０００３】
図９は、印刷用紙に印字したインクのにじみ補正処理を示す図である。図９（ａ）は、印刷用紙別の印刷結果を示す図であり、図９（ｂ）は、にじみ補正した印刷結果を示す図である。ここで、プリンタの印刷ヘッドのヘッド解像度が３６０ｄｐｉであるとき、バーコードにおける「黒バー」の標準のバー幅を４ドット分であると設定して、印刷用紙に印字したバーコードの「黒バー」からインクのにじみの度合いを補正する。
【０００４】
図９（ａ）に示すように、インクのにじみの度合いが標準の「標準にじみ用紙」、インクのにじみの度合いが小さい「にじみ難い用紙」、および、インクのにじみの度合いが大きい「にじみ易い用紙」に分ける。それぞれの印刷用紙を使用した場合の４ドット分の印刷結果幅は、Ｌ１、Ｌ２、および、Ｌ３となる。バーコード印字においては、バー幅を標準値となるようにしなければならないことから、「にじみ難い用紙」のＬ２を「標準にじみ用紙」のＬ１に補正するように印刷する必要がある。また、「にじみ易い用紙」のＬ３を「標準にじみ用紙」のＬ１に補正するように印刷する必要がある。従って、図９（ｂ）に示すように、にじみ補正は、「にじみ難い用紙」の場合は、標準の印字よりも１ドット増やすこと（以下、「＋１補正」という）によって、即ち、５ドットを印刷することによって、印刷結果幅Ｌ２’を「標準にじみ用紙」のＬ１にする。また、「にじみ易い用紙」の場合は、標準の印字よりも１ドット減らすこと（以下、「−１補正」という）によって、即ち、３ドットを印刷することによって、印刷結果幅Ｌ３’を「標準にじみ用紙」のＬ１にする。また、以下、標準の印字を「０補正」という。また、「０補正」、「＋１補正」、または、「−１補正」は、予め、プリンタにより印刷されたバーコードの印刷結果に基づいて、バーコード検証器またはホスト・コンピュータによって検証され、決定される。
【０００５】
上述したにじみ補正処理を実行するために、バーコードの印刷においては、印字解像度を印刷ヘッドのヘッド解像度に合わせたビットイメージ情報を生成して、印刷処理を実行していた。例えば、９０ｄｐｉのバーコード情報を印刷ヘッドのヘッド解像度である３６０ｄｐｉに合わせて、印字解像度が３６０ｄｐｉであるビットイメージ情報を生成し、印刷処理を実行していた。即ち、９０ｄｐｉの「黒バー」を印刷において、９０ｄｐｉの１ビットの印字データを印刷ヘッドの移動方向へ３６０ｄｐｉの４ビットの印字データに拡張し、印刷ヘッドの移動方向と垂直な方向へ３６０ｄｐｉの４ビットの印字データに拡張することによって、９０ｄｐｉの１ビットの印字データを３６０ｄｐｉの１６ビットの印字データに拡張していた。従って、標準の印刷用紙の場合は、９０ｄｐｉの１ビットの「黒バー」を３６０ｄｐｉの印刷ヘッドの移動方向の４ビットの「黒バー」としてビットイメージ情報の生成し、インクのにじみ易い印刷用紙の場合は、９０ｄｐｉの１ビットの「黒バー」を３６０ｄｐｉの印刷ヘッドの移動方向の３ビットの「黒バー」としてビットイメージ情報の生成し、または、インクのにじみ難い印刷用紙の場合は、９０ｄｐｉの１ビットの「黒バー」を３６０ｄｐｉの印刷ヘッドの移動方向の５ビットの「黒バー」としてビットイメージ情報の生成した。
【０００６】
図１０は、にじみ補正処理した従来の印刷制御を示す図である。
【０００７】
図１０に示すように、１ビット分の印字データを印刷ヘッドの移動方向へ４ビットの印字データに拡張し、印刷ヘッドの移動方向と垂直な方向への４ビットの印字データに拡張することによって、９０ｄｐｉの１ビットの印字データを３６０ｄｐｉの１６ビットの印字データに拡張していた。即ち、９０ｄｐｉのヘッド解像度である印刷ヘッドの１ノズルあたりのドット１個分を、３６０ｄｐｉのヘッド解像度である印刷ヘッドの１ノズルあたりのドット１６個分により印刷していた。従って、ホスト・コンピュータから受信した印刷文書情報である印字データは９０ｄｐｉであるが、プリンタにおいては、３６０ｄｐｉの印字データとして印刷制御を実行していた。
【０００８】
【発明が解決しようとする課題】
しかしながら、受信した９０ｄｐｉのバーコード情報を３６０ｄｐｉの情報に拡張する場合、多くのメモリを、即ち、１６倍のメモリを使用しなければならない。従って、ホスト・コンピュータからプリンタへ送信されるバーコード情報は、低解像度による縮小化されたデータ量の情報であるにもかかわらず、プリンタのメモリに記憶されるデータ量は、高解像度による拡張化されることから、データ量の削減、印刷制御処理の簡素化および印字速度の高速化を図ることができないという問題点があった。
【０００９】
従って、本発明は、以上のような問題点を解決するためになされたもので、印刷用紙に印刷したインクのにじみ補正値に基づいて、印刷ヘッドへ出力する印字データの処理単位及び、バーコードの基準となる黒バーを印字するためのバー幅印字ドット数を決定し、前記印刷ヘッドの解像度、前記バー幅印字ドット数および前記処理単位に基づいて、前記印刷ヘッドの前記連続駆動回数を決定するプリンタ、印刷制御方法および情報記録媒体を提供することを目的とする。
【００１０】
【課題を解決するための手段】
本発明者は、上述した従来の問題点を解決すべく研究を重ねた。その結果、バーコード情報の印字データの処理単位に基づいて、印刷ヘッドの連続駆動回数を決定し、印刷ヘッドに出力される印字データの印字データ更新周期の間に、印刷ヘッドを決定した連続駆動回数分駆動させることにより、プリンタの内部における印字データのデータ量を拡張することなく、バーコード印字におけるインクのにじみ補正処理を実行できることが判明した。
【００１１】
また、印刷ヘッドを駆動するモータのモータ駆動周期は、印字解像度に依らず一定にすることができるため、印字速度の高速化を図ることができることが判明した。
【００１２】
上記研究結果に基づき、以下の発明を提供する。
【００１４】
本発明の、プリンタの第１の態様は、ホスト・コンピュータから情報を受信する受信部と、前記受信部によって受信した前記情報を取り出して、解析し、印字バッファに格納するデータ解析部と、前記データ解析部によって格納されたビットイメージ情報に基づいて印刷ヘッドへ出力される印字データを取り出して、印刷用紙に印刷したインクのにじみ補正値に基づいて該印字データの処理単位を決定し、決定された前記処理単位に基づいて、前記印字データを前記印字バッファから１ヘッド単位バッファに格納するように更新する印字データ更新部と、前記印刷ヘッドを利用した前記印字用紙への印刷を制御する印刷制御回路部と、を備え、前記データ解析部は、前記受信部によって受信した情報が、前記インクのにじみ補正値である場合、バーコードの基準となる黒バーを印字するためのバー幅印字ドット数を決定し、前記情報がバーコード情報である場合は、当該バーコード情報に基づいて、印字解像度を決定し、前記ビットイメージ情報を生成し、前記印刷制御回路部は、前記印刷ヘッドの解像度、前記バー幅印字ドット数および前記処理単位に基づいて、前記印刷ヘッドの連続駆動回数を決定することを特徴とするプリンタである。
【００１９】
本発明の、プリンタの第３の態様は、上述の印刷制御回路部が、印刷ヘッドを駆動するためモータの駆動を、予め設定しているモータ駆動周期に基づいて制御するモータ制御部と、印刷ヘッドの連続駆動回数に基づいて、印刷ヘッドを駆動させるための駆動波形を生成する駆動波形生成部と、駆動波形生成部によって生成された駆動波形に基づいて、印刷ヘッドの駆動を制御する印刷ヘッド制御部とを備えたプリンタである。
【００２２】
本発明の、印刷制御方法の第１の態様は、（ａ）ホスト・コンピュータから情報を受信する受信工程と、（ｂ）前記受信部によって受信した前記情報を取り出して、解析し、印字バッファに格納するデータ解析工程と、（ｃ）前記データ解析部によって格納されたビットイメージ情報に基づいて印刷ヘッドへ出力される印字データを取り出して、印刷用紙に印刷したインクのにじみ補正値に基づいて該印字データの処理単位を決定し、決定された前記処理単位に基づいて、前記印字データを前記印字バッファから１ヘッド単位バッファに格納するように更新する印字データ更新工程と、（ｄ）前記印刷ヘッドを利用した前記印字用紙への印刷を制御する印刷制御工程と、を備え、
前記データ解析工程は、前記受信部によって受信した情報が、前記インクのにじみ補正値である場合、バーコードの基準となる黒バーを印字するためのバー幅印字ドット数を決定し、前記情報がバーコード情報である場合は、当該バーコード情報に基づいて、印字解像度を決定し、前記ビットイメージ情報を生成し、前記印刷制御回路部は、前記印刷ヘッドの解像度、前記バー幅印字ドット数および前記処理単位に基づいて、前記印刷ヘッドの前記連続駆動回数を決定することを特徴とする印刷制御方法である。
【００２７】
本発明の、印刷制御方法の第３の態様は、上述の印刷制御工程が、（ａ）印刷ヘッドを駆動するためモータの駆動を、予め設定しているモータ駆動周期に基づいて制御するモータ制御工程と、（ｂ）印刷ヘッドの連続駆動回数に基づいて、印刷ヘッドを駆動させるための駆動波形を生成する駆動波形生成工程と、（ｃ）駆動波形生成工程によって生成された駆動波形に基づいて、印刷ヘッドの駆動を制御する印刷ヘッド制御工程とを備えた印刷制御方法である。
【００２９】
本発明の、情報記録媒体の第１の態様は、上述の印刷制御方法のプログラムを記録した情報記録媒体である。
【００３０】
本発明の、情報記録媒体の第２の態様は、コンパクト・ディスク、フロッピー（登録商標）・ディスク、ハード・ディスク、光磁気ディスク、ディジタル・バーサタイル・ディスク、磁気テープ、もしくは、メモリ・カードであることを特徴とするプログラムを記録した情報記録媒体である。
【００３１】
【発明の実施の形態】
この発明の一実施態様を、図面を参照しながら説明する。なお、以下に説明する実施態様は説明のためのものであり、本発明の範囲を制限するものではない。従って、当業者であればこれらの各要素もしくは全要素をこれと均等なものによって置換した実施態様を採用することが可能であるが、これらの実施態様も本発明の範囲に含まれる。
【００３２】
本発明のプリンタのは、印刷用紙に印刷したインクのにじみ補正値に基づいて、印刷ヘッドへ出力する印字データの処理単位を決定し、印刷ヘッドへ出力した印字データを更新するまで間に、印字データの処理単位、ヘッド解像度および印字解像度に基づいて決定した印刷ヘッドの連続駆動回数分、印刷ヘッドを連続して駆動することによって、バーコードの黒バーの印字結果が適切なバー幅となるように印刷制御することを特徴とする。
【００３３】
図１は、バーコード印字におけるインクのにじみ補正に基づいた印字データの処理単位を説明する図である。図１（ａ）は、にじみ補正が「０補正」の場合を示す図であり、図１（ｂ）は、にじみ補正が「−１補正」の場合を示す図であり、図１（ｃ）は、にじみ補正が「＋１補正」の場合を示す図である。ここで、バーコード印字の制約条件より、印刷ヘッドのヘッド解像度が３６０ｄｐｉであるプリンタにおいて、バー幅は最低４ドット必要であることから、印字解像度として９０ｄｐｉの「黒」または「白」となるビットイメージ情報を考える。
【００３４】
図１（ａ）に示すように、バーコード印字におけるインクのにじみ補正が「０補正」である場合、即ち、バー幅印字ドット数が４ドットである場合、印字データの処理単位を９０ｄｐｉとする。即ち、ビットイメージ情報の１個のデータを処理単位として、印刷ヘッドへ出力することによって、印刷を実行する。印刷ヘッドのヘッド解像度が７２０ｄｐｉであるとき、ビットイメージ情報の１個の「黒」を、９０ｄｐｉの印字データを更新する間に印刷ヘッドを８回連続駆動することにより、印字データを印刷する。
【００３５】
また、図１（ｂ）に示すように、バーコード印字におけるインクのにじみ補正が「−１補正」である場合、即ち、バー幅印字ドット数が３ドットである場合、印字データの処理単位を９０ｄｐｉとする。即ち、ビットイメージ情報の１個のデータを処理単位として、印刷ヘッドへ出力することによって、印刷を実行する。印刷ヘッドのヘッド解像度が７２０ｄｐｉであるとき、ビットイメージ情報の１個の「黒」を、９０ｄｐｉの印字データを更新する間に印刷ヘッドを６回連続駆動することにより、印字データを印刷する。
【００３６】
また、図１（ｃ）に示すように、バーコード印字におけるインクのにじみ補正が「＋１補正」である場合、即ち、バー幅印字ドット数が５ドットである場合、ビットイメージ情報の連続する２個のデータを取り出し、「黒白」となる場合は、印字データの処理単位を４５ｄｐｉとし、「黒白」以外のときは、印字データの処理単位を９０ｄｐｉとする。即ち、「黒白」となる場合は、ビットイメージ情報の連続する２個のデータを１個の印字データとして処理し、「黒白」以外のときは、ビットイメージ情報の１個のデータを処理単位として、印刷ヘッドへ出力することによって、印刷を実行する。印刷ヘッドのヘッド解像度が７２０ｄｐｉであるとき、「黒白」となる場合は、４５ｄｐｉの印字データを更新する間に印刷ヘッドを１０回連続駆動することにより、印字データを印刷する。また、「黒白」以外のときは、ビットイメージ情報の１個の「黒」を、９０ｄｐｉの印字データを更新する間に印刷ヘッドを８回連続駆動することにより、印字データを印刷する。
【００３７】
図２は、プリンタの概略構成を示す図である。
【００３８】
プリンタ２００は、ホスト・コンピュータ２２０から通信インタフェース２０６を介して、バーコード情報等の印刷文書情報および各種のコマンド情報を受信する。また、プリンタ２００は、ＣＰＵ（中央処理装置）２０１、ＲＯＭ２０２、ＲＡＭ２０３、印刷機構２０４および各種センサ類２０５等を備えている。
【００３９】
ＣＰＵ２０１は、プリンタ２００の各種機能を実現するためのソフトウェア（ファームウェアを含む）およびデータを記憶しているＲＯＭ２０２から、必要な情報を読み出し、実行することにより、各種機能を実現する。また、ＲＡＭ２０３は、プリンタ２００の各種機能を実現するために必要なデータの記憶装置として機能する。更に、ＣＰＵ２０１には、エラーセンサ、カバーオープンセンサ、ニアエンドセンサ等の各種センサ類２０５が接続されており、各種センサ類２０５から検出した結果を、ＣＰＵ２０１は入力する。
【００４０】
また、印字用紙の搬送、印刷、切断等の物理的動作を伴う印刷機構２０４は、印刷ヘッド２１１、モータ２１２およびこれらを駆動する印刷制御回路部２１０を備えている。
【００４１】
また、バーコード印字においては、インクのにじみ補正処理が必要である。そのため、予めプリンタ２００を使用して印刷用紙に印刷したバーコードのインクのにじみを、バーコード検証器２２１を使用して読み取り、インクのにじみの度合いを示すにじみ補正値を決定し、決定したにじみ補正値をホスト・コンピュータ２２０に送信する。また、バーコード検証器２２１を使用して読み取ったにじみ情報をホスト・コンピュータ２２０に送信し、ホスト・コンピュータ２２０においてにじみ補正値を決定しても良い。ホスト・コンピュータ２２０は、にじみ補正値をプリンタ２００にコマンド送信する。プリンタ２００は、受信したにじみ補正値に基づいて、印刷制御におけるインクのにじみ補正処理を実行する。
【００４２】
また、本発明のプリンタは、ホスト・コンピュータから情報を受信する受信部と、受信部によって受信したバーコード情報に基づいて、印字解像度を決定し、ビットイメージ情報を生成するデータ解析部と、データ解析部によって生成されたビットイメージ情報に基づいた印刷ヘッドへ出力される印字データを、所定の印字データ更新周期により更新する印字データ更新部と、バーコード情報に基づいて、印刷ヘッドを利用した印字用紙への印刷を制御する印刷制御回路部とを備えている。また、印刷制御回路部が、印刷ヘッドを駆動するためモータの駆動を、予め設定しているモータ駆動周期に基づいて制御するモータ制御部と、印刷ヘッドの連続駆動回数に基づいて、印刷ヘッドを駆動させるための駆動波形を生成する駆動波形生成部と、駆動波形生成部によって生成された駆動波形に基づいて、印刷ヘッドの駆動を制御する印刷ヘッド制御部とを備えている。
【００４３】
図３は、プリンタの機能ブロックの構成を示す図である。
【００４４】
プリンタ２００は、制御部３０１、受信部３０２、データ解析部３０３、データ更新部３０４および印刷制御回路部２１０を備えている。
【００４５】
受信部３０２は、ホスト・コンピュータ２２０から通信インタフェース２０６を介して印刷文書情報および各種のコマンド情報を受信し、受信バッファ３２１へ格納する。
【００４６】
データ解析部３０３は、ホスト・コンピュータ２２０から受信した受信バッファ３２１に格納された情報を取り出し、解析する。ホスト・コンピュータ２２０から受信した情報がバーコード情報である場合は、バーコード情報および印字フォーマット格納部３２５に基づいて印字解像度を決定し、決定した印字解像度を印字解像度格納部３２４に格納する。また、ビットイメージ情報を生成し、印字バッファ３２３に格納する。ここで、受信したバーコード情報には、バーコード種類、バーコードデータおよびバーコードサイズが含まれている。例えば、バーコード情報から印字解像度が９０ｄｐｉである場合は、９０ｄｐｉのビットイメージ情報を生成する。また、ホスト・コンピュータ２２０から受信した情報がにじみ補正値コマンドである場合は、受信したにじみ補正値に基づいて、バー幅印字ドット数を決定し、バー幅印字ドット数格納部３２６に格納する。例えば、にじみ補正値が「−１補正」である場合は、バー幅印字ドット数を「３ドット」に設定し、にじみ補正値が「＋１補正」である場合は、バー幅印字ドット数を「５ドット」に設定し、にじみ補正値が「０補正」である場合は、バー幅印字ドット数を「４ドット」に設定する。
【００４７】
データ更新部３０４は、印字バッファ３２２に格納されているビットイメージ情報から、印刷ヘッド２１１へ出力する印字データを取り出し、取り出した印字データおよびバー幅印字ドット数格納部３２６のバー幅印字ドット数に基づいて、印字データの処理単位を決定し、決定した印字データの処理単位を処理単位格納部３２７へ格納する。更に、処理単位に基づいたデータを１ヘッド単位バッファ３２３に格納する。
【００４８】
印刷制御回路部２１０は、駆動波形生成部３１１、印刷ヘッド制御部３１２およびモータ制御部３１３を備えており、印刷ヘッド２１１、モータ２１２等を同期させて駆動することによって、印字用紙の搬送、印刷、切断等の物理的動作を制御する。
【００４９】
駆動波形生成部３１１は、印字モードによる印字解像度、プリンタ２００のヘッド解像度、バー幅印字ドット数格納部３２６のバー幅印字ドット数および処理単位格納部３２７の処理単位に基づいて、印刷ヘッド２１１の連続駆動回数を決定し、印刷ヘッド２１１の駆動波形を生成する。例えば、プリンタ２００のヘッド解像度が７２０ｄｐｉであり、印字解像度が９０ｄｐｉであるバーコード情報であり、バー幅印字ドット数が３ドットであり、印字データの処理単位が９０ｄｐｉである場合は、印刷ヘッド２１１の連続駆動回数は６回（６ｓｈｏｔ）となり、印刷ヘッド２１１を６回連続して駆動する波形が生成される。
【００５０】
印刷ヘッド制御部３１２は、駆動波形生成部３１１によって生成された波形に基づいて印刷ヘッド２１１の駆動を制御する。また、モータ制御部３１３は予め設定されている駆動波形に基づいて印刷ヘッド２１１を駆動するためのモータ２１２の駆動を制御する。ここで、モータ２１２のモータ駆動周期と印刷ヘッド２１１の印刷ヘッド駆動周期とを同一にする必要がないことから、モータ２１２のモータ駆動周期は印字解像度に関わらず一定とする。
【００５１】
制御部３０１は、受信部３０２、データ解析部３０３、データ更新部３０４および印刷制御回路部２１０のそれぞれの機能を関連付けて制御する。
【００５２】
図４は、印刷ヘッドの駆動タイミングを示す図である。図４（ａ）は、にじみ補正が「０補正」の場合を示す図であり、図４（ｂ）は、にじみ補正が「−１補正」の場合を示す図であり、図４（ｃ）は、にじみ補正が「＋１補正」の場合を示す図である。
【００５３】
印字データ更新のタイミングは、データ更新部２０４によって、印字データを印字バッファ３２２から１ヘッド単位バッファ３２３に格納するタイミングであり、一定の周期により実行される。
【００５４】
モータ駆動タイミングは、モータ制御部３１３によって一定のモータ駆動周期でモータ２１２を駆動する。印刷ヘッド駆動タイミングは、バー幅印字ドット数および印字データの処理単位によって異なる。即ち、駆動波形生成部３１１によって生成された駆動波形に従って印刷ヘッド２１１を駆動する。
【００５５】
図４（ａ）に示すように、にじみ補正が「−１補正」の場合は、即ち、ヘッド解像度が７２０ｄｐｉのとき、バー幅印字ドット数が４ドットであり、印字データの処理単位が９０ｄｐｉである場合は、印刷ヘッド２１１の移動毎に、同一の印字データを使用して、８回連続して印刷ヘッド２１１を駆動する。  図４（ｂ）に示すように、にじみ補正が「−１補正」の場合は、即ち、バー幅印字ドット数が３ドットであり、印字データの処理単位が９０ｄｐｉである場合は、印刷ヘッド２１１の移動毎に、同一の印字データを使用して、８回連続して印刷ヘッド２１１を駆動できるタイミングを利用して６回連続して印刷ヘッド２１１を駆動する。  図４（ｃ）に示すように、にじみ補正が「＋１補正」の場合は、即ち、バー幅印字ドット数が５ドットであり、印字データの処理単位が４５ｄｐｉである場合は、印刷ヘッド２１１の移動毎に、同一の印字データを使用して、１６回連続して印刷ヘッド２１１を駆動できるタイミングを利用して１０回連続して印刷ヘッド２１１を駆動する。
【００５６】
本発明の印刷制御方法は、（ａ）ホスト・コンピュータから情報を受信する受信工程と、（ｂ）受信工程によって受信したバーコード情報に基づいて、印字解像度を決定し、ビットイメージ情報を生成するデータ解析工程と、（ｃ）データ解析工程によって生成されたビットイメージ情報に基づいた印刷ヘッドへ出力される印字データを、所定の印字データ更新周期により更新する印字データ更新工程と、（ｄ）バーコード情報に基づいて、印刷ヘッドを利用した印字用紙への印刷を制御する印刷制御工程とを備えている。
【００５７】
図５は、プリンタの印刷制御処理のフローチャートを示す図である。
【００５８】
ホスト・コンピュータ２２０から通信インタフェース２０６を介して、バーコード情報等の印刷文書情報および各種のコマンド情報を受信し、受信バッファ３２１に格納する（Ｓ５０１）。
【００５９】
次に、受信した情報を受信バッファ３２１から取り出し、印刷文書情報からビットイメージ情報を生成し、生成したビットイメージ情報を印字バッファ３２２に格納する。また、印字モードコマンド情報から印字モードを取り出し、更に印字モードから印字解像度を決定し、決定した印字解像度を印字解像度格納部３２４に格納する。また、にじみ補正値コマンド情報からにじみ補正値を取り出し、更ににじみ補正値からバー幅印字ドット数を決定し、決定したバー幅印字ドット数をバー幅印字ドット数格納部３２６に格納する（Ｓ５０２）。
【００６０】
次に、受信した情報が印刷文書情報であるか否かを判定し（Ｓ５０３）、受信した情報が印刷文書情報である場合（Ｓ５０３；Ｙｅｓ）は、印字バッファ３２２から印刷ヘッド２１１へ出力するための１ヘッド分の印字データの処理単位を決定し、処理単位格納部３２７に格納し、処理単位分のデータを取り出し、１ヘッド単位バッファ３２３に格納し、印字データの印刷が完了するまで、印字データを更新し（Ｓ５０４）、処理を終了する。一方、受信した情報が印刷文書情報ではない場合（Ｓ５０３；Ｎｏ）は、処理を終了する。
【００６１】
図６は、印刷制御処理のデータ解析処理のフローチャートを示す図である。
【００６２】
まず、受信した情報を受信バッファ３２１から取り出し（Ｓ６０１）、受信した情報の種類を判定する（Ｓ６０２）。
【００６３】
受信した情報がにじみ補正値コマンドである場合（Ｓ６０２；「にじみ補正値コマンド」）は、にじみ補正値コマンドからにじみ補正値を取り出し、取り出したにじみ補正値からバー幅印字ドット数を決定し、バー幅印字ドット数格納部３２６に格納する（Ｓ６０３）。にじみ補正値が「−１補正」である場合は、バー幅印字ドット数を「３ドット」に設定し、にじみ補正値が「＋１補正」である場合は、バー幅印字ドット数を「５ドット」に設定し、にじみ補正値が「０補正」である場合は、バー幅印字ドット数を「４ドット」に設定する。
【００６４】
受信した情報が印字モードコマンドである場合（Ｓ６０２；「印字モードコマンド」）は、印字モードコマンドから印字モードを取り出し、取り出した印字モードから印字解像度を決定し、印字解像度格納部３２４に格納する（Ｓ６０４）。例えば、印字モードが「Ｆｉｎｅ」である場合は印字解像度を３６０ｄｐｉに設定し、「Ｎｏｒｍａｌ」である場合は印字解像度を１８０ｄｐｉに設定する。
【００６５】
受信した情報が印刷文書情報である場合Ｓ６０２；「印刷文書情報」）は、印刷文書情報の種類を判定する（Ｓ６０５）。印刷文書情報がバーコード情報である場合（Ｓ６０５；「バーコード」）は、バーコード種類、バーコードデータおよびバーコードサイズを有するバーコード情報と印字フォーマット格納部３２５のバーコードフォーマット情報とに基づいて、「１」および「０」のビットパターンにバーコード情報をデコードし（Ｓ６０６）、更に、バーコード情報から印字解像度を決定し、決定した印字解像度を印字解像度格納部３２４に格納する（Ｓ６０７）。次に、デコードされたバーコード情報からバーコードのビットイメージ情報を生成し（Ｓ６０８）、生成したビットイメージ情報を印字バッファ３２２に格納する（Ｓ６０９）。
【００６６】
図８は、バーコード情報からビットイメージ情報に変換するバーコード展開を説明する図である。ホスト・コンピュータから受信するバーコード情報には、バーコード種類、バーコードデータおよびバーコードサイズが含まれている。
【００６７】
まず、バーコード展開は、バーコード情報のバーコード種類およびバーコードデータと、印字フォーマット格納部３２５のバーコードフォーマット情報とに基づいて、ビットパターンに変換するためのバーコードデコードを実行する。例えば、図８に示すように、バーコード情報から「１」または「０」から構成される「１０１１０１１０」のようなビットパターンを生成する。
【００６８】
次に、ビットパターンとバーコードサイズからビットイメージ情報を生成する。例えば、図８に示すように、ビットパターンの「１」を「細い黒バー」、「０」を「太い黒バー」として、ビットパターンをバーに変換し、バーコードサイズからバーコードの印字サイズを算出して、ビットイメージ情報を生成する。また、バーコードを印字する場合は、バーの最小幅として４ｄｏｔ／３６０ｄｐｉが必要であるという制約条件が予め設定されていることから、印字データの印字解像度を最低９０ｄｐｉとすることができる。従って、メモリを最低にするため、印字解像度を９０ｄｐｉとするバーコードのビットイメージ情報を生成する。また、印字解像度を９０ｄｐｉとする。
【００６９】
印刷文書情報が上述した以外の印刷文書情報である場合（Ｓ６０５；「その他の文書」）は、受信した印刷文書情報と印字フォーマット格納部３２５の対応するフォーマット情報に基づいて、ビットイメージ情報を生成するための対応するビットイメージ生成処理を実行し（Ｓ６１０）、対応する印字解像度を決定し、決定した印字解像度格納部３２４に格納する（Ｓ６１１）、生成したビットイメージ情報を印字バッファ３２２に格納する（Ｓ６１２）。
【００７０】
受信した情報が上述した以外の情報である場合（Ｓ６０２；「その他」）は、対応するその他の処理を実行する（Ｓ６１３）。
【００７１】
図７は、印刷制御処理のデータ更新処理のフローチャートを示す図である。
【００７２】
まず、印刷文書情報の種類を判定する（Ｓ７０１）。印刷文書情報がバーコード情報である場合（Ｓ７０１；「バーコード」）は、バー幅印字ドット数格納部３２６のバー幅印字ドット数の種類を判定する（Ｓ７０２）。
【００７３】
バー幅印字ドット数が「５ドット」である場合（Ｓ７０２；「５ドット」）は、印字バッファ３２２から９０ｄｐｉ毎の印字データを２個分取り出す（Ｓ７０３）。取り出した２個の印字データが「黒白」となるか否かを判定する（Ｓ７０４）。２個の印字データが「黒白」である場合は（Ｓ７０４；Ｙｅｓ）は、印字データの処理単位を４５ｄｐｉとして、処理単位格納部３２７に格納し（Ｓ７０５）、印刷ヘッド２１１のヘッド解像度、バー幅印字ドット数および処理単位に基づいて印刷ヘッド２１１の連続駆動回数を決定する（Ｓ７０６）。即ち、連続駆動回数を１０回に設定する。次に、２個の印字データを１個の「黒」の印字データとして１ヘッド単位バッファ３２３へ格納する（Ｓ７０７）。一方、２個の印字データが「黒白」ではない場合は（Ｓ７０４；Ｎｏ）は、印字データの処理単位を９０ｄｐｉとして、処理単位格納部３２７に格納し（Ｓ７０８）、印刷ヘッド２１１のヘッド解像度、バー幅印字ドット数および処理単位に基づいて印刷ヘッド２１１の連続駆動回数を決定する（Ｓ７０９）。即ち、連続駆動回数を８回に設定する。更に、次に印字すべき１個の印字データを１ヘッド単位バッファ３２３へ格納する（Ｓ７１０）。次に、印字バッファ３２２に格納されている全て印字データを印刷したか否かを判定し（Ｓ７１１）、印字バッファ３２２に格納されている全て印字データを印刷した場合（Ｓ７１１；Ｙｅｓ）は、データ更新処理を終了する。印字バッファ３２２に格納されている全て印字データを印刷していない場合（Ｓ７１１；Ｎｏ）は、ステップＳ７０３に戻り、全てを印刷するまで、ステップＳ７０３からＳ７１０までを繰り返す。
【００７４】
バー幅印字ドット数が「４ドット」である場合（Ｓ７０２；「４ドット」）は、印字バッファ３２２から９０ｄｐｉ毎の印字データを１個分取り出す（Ｓ７１２）。次に、印字データの処理単位を９０ｄｐｉとして、処理単位格納部３２７に格納し（Ｓ７１３）、印刷ヘッド２１１のヘッド解像度、バー幅印字ドット数および処理単位に基づいて印刷ヘッド２１１の連続駆動回数を決定する（Ｓ７１４）。即ち、連続駆動回数を８回に設定する。更に、取り出した印字データを１ヘッド単位バッファ３２３へ格納する（Ｓ７１５）。次に、印字バッファ３２２に格納されている全て印字データを印刷したか否かを判定し（Ｓ７１６）、印字バッファ３２２に格納されている全て印字データを印刷した場合（Ｓ７１６；Ｙｅｓ）は、データ更新処理を終了する。印字バッファ３２２に格納されている全て印字データを印刷していない場合（Ｓ７１６；Ｎｏ）は、ステップＳ７１２に戻り、全てを印刷するまで、ステップＳ７１２からＳ７１５までを繰り返す。
【００７５】
バー幅印字ドット数が「３ドット」である場合（Ｓ７０２；「３ドット」）は、印字バッファ３２２から９０ｄｐｉ毎の印字データを１個分取り出す（Ｓ７１７）。次に、印字データの処理単位を９０ｄｐｉとして、処理単位格納部３２７４に格納し（Ｓ７１８）、印刷ヘッド２１１のヘッド解像度、バー幅印字ドット数および処理単位に基づいて印刷ヘッド２１１の連続駆動回数を決定する（Ｓ７１９）。即ち、連続駆動回数を６回に設定する。更に、取り出した印字データを１ヘッド単位バッファ３２３へ格納する（Ｓ７２０）。次に、印字バッファ３２２に格納されている全て印字データを印刷したか否かを判定し（Ｓ７２１）、印字バッファ３２２に格納されている全て印字データを印刷した場合（Ｓ７２１；Ｙｅｓ）は、データ更新処理を終了する。印字バッファ３２２に格納されている全て印字データを印刷していない場合（Ｓ７２１；Ｎｏ）は、ステップＳ７１７に戻り、全てを印刷するまで、ステップＳ７１７からＳ７２０までを繰り返す。
【００７６】
印刷文書情報がその他の情報である場合（Ｓ７０１；「その他」）は、対応する処理を実行する（Ｓ７２２）。
【００７７】
また、本発明の情報記録媒体は、上述の印刷制御方法のステップを有するプログラムを記録することもできる。また、本発明の情報記録媒体は、コンパクト・ディスク、フロッピー（登録商標）・ディスク、ハード・ディスク、光磁気ディスク、ディジタル・バーサタイル・ディスク、磁気テープ、もしくはメモリ・カードであっても良い。
【００７８】
【発明の効果】
以上説明したように、本発明によれば、以下の効果を奏する。本発明は、
バーコード情報の印字データの処理単位に基づいて、印刷ヘッドの連続駆動回数を決定し、印刷ヘッドに出力される印字データの印字データ更新周期の間に、印刷ヘッドを決定した連続駆動回数分駆動させることにより、プリンタの内部における印字データのデータ量を拡張することなく、バーコード印字におけるインクのにじみ補正処理を実行できる。即ち、印字データをプリンタの内部において、印刷ヘッドのヘッド解像度に合わせた印字データに変換する必要がないことから、プリンタのメモリ容量を削減することができる。従って、プリンタのコストを削減することができる。
【００７９】
また、印刷ヘッドを駆動するモータのモータ駆動周期は、印字解像度に依らず一定にすることができるため、印字速度の高速化を図ることができる。
【図面の簡単な説明】
【図１】（ａ）は、にじみ補正が「０補正」の場合の印字データの処理単位を説明する図であり、
（ｂ）は、にじみ補正が「−１補正」の場合の印字データの処理単位を説明する図であり、
（ｃ）は、にじみ補正が「＋１補正」の場合の印字データの処理単位を説明する図である。
【図２】プリンタの概略構成を示す図である。
【図３】プリンタの機能ブロックの構成を示す図である。
【図４】（ａ）は、にじみ補正が「０補正」の場合の印刷ヘッドの駆動タイミングを示す図であり、
（ｂ）は、にじみ補正が「−１補正」の場合の印刷ヘッドの駆動タイミングを示す図であり、
（ｃ）は、にじみ補正が「＋１補正」の場合の印刷ヘッドの駆動タイミングを示す図である。
【図５】プリンタの印刷制御処理のフローチャートを示す図である。
【図６】印刷制御処理のデータ解析処理のフローチャートを示す図である。
【図７】印刷制御処理のデータ更新処理のフローチャートを示す図である。
【図８】バーコード情報からビットイメージ情報に変換するバーコード展開を説明する図である。
【図９】（ａ）は、印刷用紙別のインクのにじみによる印刷結果を示す図であり、
（ｂ）は、にじみ補正した印刷結果を示す図である。
【図１０】にじみ補正処理した従来の印刷制御を示す図である。
【符号の説明】
２００    プリンタ
２０１    ＣＰＵ
２０２    ＲＯＭ
２０３    ＲＡＭ
２０４    印刷機構
２０５    各種センサ類
２０６    通信インタフェース
２２０    ホスト・コンピュータ
２２１    バーコード検証器
【図１】
0004770085.tif 000002
【図２】
0004770085.tif 000003
【図３】
0004770085.tif 000004
【図４】
0004770085.tif 000005
【図５】
0004770085.tif 000006
【図６】
0004770085.tif 000007
【図７】
0004770085.tif 000008
【図８】
0004770085.tif 000009
【図９】
0004770085.tif 000010
【図１０】
0004770085.tif 000011