(57)【要約】【課題】一般的なアプリケーションからインクジェット記録方式を採用する印刷装置を使用して印刷する際、バーコードフォントを用いることにより、補正機能を備えていない印刷装置においてもバーコードの印刷を可能とするとともに、バーコードの補正を行って印刷結果の品位低下を抑制し、ひいてはバーコードの読み取りを安定させる。【解決手段】情報処理装置は、印刷対象データにバーコードフォントが含まれるか否かを判別する（Ｓ１３）。バーコードフォントが含まれることが判別された場合、バーコードフォントを展開したビットマップ画像データに対して、画素単位でビットマップ画像データを書き替えることにより、予め定められた補正値に基づいてバー幅を補正する（Ｓ１５）。バーコードの補正されたビットマップ画像データを含む画像データを印刷装置へ出力する。【選択図】図４
2009193428.tif 000002
【特許請求の範囲】
【請求項１】
バーコードフォントが搭載された情報処理装置からバーコードを含む画像データを印刷装置へ出力してその印刷を行わせるバーコード印刷システムにおいて、
前記情報処理装置は、印刷対象データにバーコードフォントが含まれるか否かを判別するためのフォント情報取得手段と
取得した情報に基づいてバーコードフォントが含まれることが判明した場合、バーコードフォントをビットマップ画像データに展開する手段と、
展開されたビットマップ画像データに対して、画素単位でビットマップ画像データを書き替えることにより、予め定められた補正値に基づいてバー幅を補正する補正手段とを備え、
バーコードの補正されたビットマップ画像データを含む画像データを印刷装置へ出力する
ことを特徴としたバーコード印刷システム。
【請求項２】
使用する用紙の種別およびバーコードの種別に応じて前記補正値を設定するための補正値設定手段を備えた請求項１に記載のバーコード印刷システム。
【請求項３】
前記補正手段は、バーコードの各バーを構成する一部のドットを削除することによりバー幅を低減することを含む請求項１または２に記載のバーコード印刷システム。
【請求項４】
バーコードフォントが搭載された情報処理装置において実行される、バーコードフォントに基づいて印刷されるバーコードの補正を行う機能を備えた印刷プログラムであって、
印刷対象データにバーコードフォントが含まれるか否かを判別するステップと、
取得した情報に基づいてバーコードフォントが含まれることが判明した場合、バーコードフォントをビットマップ画像データに展開するステップと、
展開されたビットマップ画像データに対して、画素単位でビットマップ画像データを書き替えることにより、予め定められた補正値に基づいてバー幅を補正するステップと、
をコンピュータに実行させる印刷プログラム。
【請求項５】
前記画素単位でのビットマップ画像データの書き替えは、バーコードの各バーを構成する一部のドットを削除することによりバー幅を低減することを含む請求項４に記載の印刷プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置を制御するバーコード印刷システムおよび印刷プログラムに関する。
【背景技術】
【０００２】
従来、バーコードの印刷においては、バーコード生成機能をもった専用のアプリケーション（以下、専用アプリケーションと略す）を使用する方法が主流であった。この専用アプリケーションによれば、各種印刷装置での印刷において、各々に最適なバーコード構成を提供することが可能である。
【０００３】
しかし、現在では、バーコード印刷において、専用アプリケーションを使用する方法と同様に、アプリケーションを選ばず、バーコードを生成することを可能とするバーコードフォントを使用してバーコードを生成する方法が幅広く採用されてきている。
【０００４】
バーコードフォントは、その名の通りバーコードをフォントとして扱うものであり、英数字１文字に対するバーコードのパターンを持っており、入力した英数字（キャラクタ）に対してフォント変換と同じ操作を行って、パターンを組み合わせることにより、バーコードのイメージを生成することが可能である。
【０００５】
このバーコードフォントにより、以前は、ある程度限定されたアプリケーションからでなければ生成できなかったバーコードが、フォント変換機能を持ったどのアプリケーションからでも容易に生成することが可能となった。
【０００６】
特許文献１には、プリンタにバーコードフォントを内蔵しており、ホストコンピュータのアプリケーション上でバーコード化したい文字列を入力することで、入力された文字列を所定のバーコード規格に従ったバーコードフォントのキャラクタコードのセットに変換し、このキャラクタコードセットから、各バーコードフォントの印字間隔や印字サイズなどのフォーマット情報に従ってバーコードデータを作成し、作成した印刷データをプリンタへ転送して印刷を行う技術を開示している。
【０００７】
特許文献２には、プリンタ上で、バーコードデータＲＯＭから読み出したデータをフォントデータ化してフォントＲＡＭに格納する際に、トナーの種類、紙質、定着性能等による出力画像のばらつきに応じてホスト装置から指示された調整量に基づいてバーコードのバーのサイズを調整する技術を開示している。
【特許文献１】特開平１０−２１７５４８号公報
【特許文献２】特開平５−３２４８７７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、インクジェット記録方式を採用した印刷装置では、インクと用紙の組み合わせにより印刷結果に滲みが発生し印刷品位が低下することがある。特に、バーコード印刷においてはこのような滲みが発生すると、バーコードの読み取りが不安定になることや、バーコード自体を読み込めなくなることがある。
【０００９】
上述したバーコードフォントを使用した場合においても滲みが発生すると、バーコードの印刷に影響し、読み取りが不安定になる。最悪の場合、バーコードを読み取れないことが発生しうる。
【００１０】
インクジェット記録方式の印刷装置によるバーコード印刷において、本出願人は特願２００７−２３６７８５号等にて、インクの滲みを考慮した補正をバーコードに施すことで印刷後のバーコード品位を確保する技術を提案している。しかし、バーコードフォントを用いる場合、バーコードはフォントとして扱われるため、従来のバーコードと同様の補正処理を施すことができない。
【００１１】
上記特許文献２によるバーコードの補正は、バーコード補正機能を備えたプリンタでしか行えないという問題がある。また、一般的なアプリケーションからの印刷にはバーコードを補正する機能自体が備えられていない。
【００１２】
本発明は、このような背景においてなされたものであり、その目的は一般的なアプリケーションからインクジェット記録方式を採用する印刷装置を使用して印刷する際、バーコードフォントを用いることにより、補正機能を備えていない印刷装置においてもバーコードの印刷を可能とするとともに、バーコードの補正を行って印刷結果の品位低下を抑制し、ひいてはバーコードの読み取りを安定させることである。
【課題を解決するための手段】
【００１３】
本発明によるバーコード印刷システムは、バーコードフォントが搭載された情報処理装置からバーコードを含む画像データを印刷装置へ出力してその印刷を行わせるバーコード印刷システムにおいて、前記情報処理装置は、印刷対象データにバーコードフォントが含まれるか否かを判別するためのフォント情報取得手段と、取得した情報に基づいてバーコードフォントが含まれることが判明した場合、バーコードフォントをビットマップ画像データに展開する手段と、展開されたビットマップ画像データに対して、画素単位でビットマップ画像データを書き替えることにより、予め定められた補正値に基づいてバー幅を補正する補正手段とを備え、バーコードの補正されたビットマップ画像データを含む画像データを印刷装置へ出力することを特徴としている。
【００１４】
情報処理装置では、印刷対象データがバーコードフォントを利用している場合、そのバーコードフォントを一旦、ビットマップ画像データに展開し、バーコードを構成する各バーに対して画素単位でそのデータを書き替えることによりバー幅を補正する。これにより、バーコードフォントを用いてバーコードを生成する場合に、バー幅を低減して、インクの滲みによるバー幅とスペース幅の不均衡を是正することができる。
【００１５】
使用する用紙の種別およびバーコードの種別に応じて前記補正値を設定するための補正値設定手段を備えれば、用紙やバーコードの種別に応じた適正な補正値の設定が容易に行える。
【００１６】
本発明による印刷プログラムは、バーコードフォントが搭載された情報処理装置において実行される、バーコードフォントに基づいて印刷されるバーコードの補正を行う機能を備えた印刷プログラムであって、印刷対象データにバーコードフォントが含まれるか否かを判別するステップと、取得した情報に基づいてバーコードフォントが含まれることが判明した場合、バーコードフォントをビットマップ画像データに展開するステップと、展開されたビットマップ画像データに対して、画素単位でビットマップ画像データを書き替えることにより、予め定められた補正値に基づいてバー幅を補正するステップとをコンピュータに実行させるものである。
【００１７】
本発明のさらに他の構成および作用効果は以下の説明により明らかとなろう。
【発明の効果】
【００１８】
本発明によれば、情報処理装置側においてバーコードフォントを判別し、バーコード補正処理を行うことにより、印刷装置がバーコード補正機能を持たなくても、より品位が高く安定したバーコード印刷を行うことが可能となる。印刷装置側にバーコードフォントを持つ必要もない。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の好適な実施の形態について図面を参照しながら詳細に説明する。なお、以下に記載する実施形態はあくまでも例示であり、本発明の範囲をそれらのみに限定するものではない。
【００２０】
まず、図１にて本実施の形態に係る印刷システムの概略構成を説明する。
【００２１】
この印刷システムは、バーコードフォントが搭載された情報処理装置（ＰＣ）１００、およびプリンタケーブル１０２等のプリンタインタフェースを介して情報処理装置１００と接続される印刷装置２００とにより構成される。情報処理装置１００には、表示装置１０１および図示しない入力装置（キーボード、マウス等）が付属している。プリンタインタフェースはプリンタケーブル１０２のような有線に限らず、無線であってもよい。また、直接接続でなく、ネットワークを経由した接続であってもよい。情報処理装置１００には、オペレーティングシステムやアプリケーションプログラムの他、本発明に係る印刷プログラム１０４がインストールされ、実行される。
【００２２】
図２は、図１の印刷システムにおける情報処理装置１００と印刷装置２００の制御ハードウェアの構成例を示すブロック図である。
【００２３】
情報処理装置１００は、中央処理装置（ＣＰＵ）等により構成される制御部１１１を備え、この制御部１１１により記憶部１１２に格納されている各種プログラムを実行し、各部を制御する。記憶部１１２は、ＲＯＭ，ＲＡＭ，ＨＤＤ等を含みうる。本発明における印刷プログラム１０４やバーコードフォント１０５はこの記憶部１１２に格納されている。表示部１１３は、表示装置１０１に対応し、ＬＣＤ，ＣＲＴ等のディスプレイを含み、ユーザに対して表示画面上に情報を提示する。操作部１１４は、キーボード、マウス等を含み、ユーザからの操作や情報の入力を受け付ける。ＵＳＢインタフェース１１５は、情報処理装置１００を印刷装置２００と接続するためのプリンタインタフェースの一例として示してある。但し、プリンタインタフェースはＵＳＢに限るものではない。
【００２４】
印刷装置２００の制御部２０１は、中央処理装置（ＣＰＵ）２０２を備え、このＣＰＵ２０２により不揮発性メモリ（ＲＯＭ）２０３に格納されている各種プログラムを実行し、各部を制御する。また、制御部２０１は、ＣＰＵ２０２により各種データ処理のワークエリアや受信バッファとして使用されるメモリ（ＲＡＭ）２０４や、制御回路２０９を介して、画像展開部として使用されるイメージメモリ２０５を備える。更に、ＣＰＵ２０２は、制御回路２０９を介して、記録ヘッド２１４〜２１７を駆動するヘッド駆動回路２１０や、各記録ヘッドを記録に適正な状態に保つためのクリーニング動作や記録動作を制御する各種モータ２０６を駆動するモータドライバ２１１、記録ヘッド下に給紙を行うための搬送制御Ｉ／Ｆ２０７の入出力インターフェース制御部（Ｉ／Ｏ）２１２を制御する構成となっている。
【００２５】
また、印刷装置２００は、基本的に、情報処理装置１００から送信された画像データや各種コマンドなどをプリンタケーブル１０２を介して受信するＵＳＢコントローラ２０８を有し、この受信した各種コマンドに従って動作する。
【００２６】
上述したように、バーコードフォント１０５を情報処理装置１００の記憶部１１２内に保存しており、バーコードの印刷時には情報処理装置１００側で必要なバーコードフォントを参照してバーコードの画像データを生成する。その際、バーコードのバー幅の低減を行った後の画像データを印刷装置へ送信する。
【００２７】
バーコードは、太さの異なる黒い帯状のバーや白い帯状のスペース（白バーともいう）の組み合わせによりデータが構成され、それらの幅の比率や出現順によって、異なる値のバーコードを構成できるようになっている。バーコードの種類としてＪＡＮ、ＥＡＮ１２８、ＩＴＦ、ＵＰＣ、ＮＷ−７、ＣＯＤＥ３９等がある。バーコードのバー幅設定値は、バーおよびスペースの各々について、細いか太いか２値とする２値のバーコードの他、４値のバーコードも存在する。
【００２８】
図３は、本実施の形態に係る印刷システムの処理の流れを示している。この印刷システムは、印刷データを作成する任意のアプリケーション３００と、このアプリケーションから送信されたデータを処理する印刷プログラム１０４により構成される。印刷プログラム１０４は通常プリンタドライバと呼ばれるような、情報処理装置上で動作するプログラムである。
【００２９】
印刷プログラム１０４の内部では、描画処理３０１、フォント情報取得処理３０２、フォント及びバーコード種別判別処理３０３、バーコードフォント補正処理３０４を行い、この補正処理３０４を通ったデータ又は補正対象外のデータを出力処理３０６に渡して印刷装置へバーコードの印刷データ（画像データ）を出力する。
【００３０】
ここで使用するアプリケーション３００は、例えば、一般的に使用されている文書作成アプリケーションとする。アプリケーション３００においては、バーコードフォントを使用したデータを作成し、印刷プログラム１０４に対して与える。印刷プログラム１０４では与えられたデータを受け取り、画像に変換する描画処理３０１を行う。描画処理３０１による画像データの作成が終了したら、フォント情報取得処理３０２においてフォント情報及び画像情報を取得する。このフォント情報取得は、情報処理装置上で動作するオペレーションシステム、またはアプリケーションソフトウェアから行うことができる。
【００３１】
図４は、図３に記述した印刷プログラム１０４の具体的な処理ステップを示したフローチャートである。まず、描画処理ステップＳ１１では、図３のアプリケーション３００から与えられたデータを印刷するための画像データに変換する。この際、フォントデータについては文字やバーコードに限らず、内蔵されたフォントを参照してビットマップデータに展開する。続くステップＳ１２では、ステップＳ１１において変換したアプリケーション３００からの印刷対象データに基づいて、そのデータに使用されているフォント情報及びバーコード種別情報を取得する。
【００３２】
これらの情報の取得が終了したら、ステップＳ１３にて、そのバーコード種別が、予め登録してある使用可能なバーコードフォントと一致するかどうかをチェックする。バーコードフォントが使用されていなければ、ステップＳ１５を迂回して、印刷装置に対して、バーコードを含まない通常通りの印刷処理を行わせる。
【００３３】
バーコードフォントが使用されていれば、ステップＳ１４にて、そのバーコード種別が登録されている種別のいずれかと一致するかどうかをチェックする。登録済みのバーコード種別と一致しなければ、ステップＳ１６へ進む。一致するバーコード種別が存在すれば、ステップＳ１５にて、当該バーコードフォントの補正処理を行う。その後、補正後の印刷データを印刷装置へ送信する。前記補正処理は、アプリケーションから出力された印刷データを解析し、印刷装置に渡されるデータ中からバーコードを構成しているデータ部分を見つけ、そのデータからバーコードを構成するバー部分とスペース部分を検出する。検出したバーコードの構成を使用し、印刷データ中のバーコードに対してバーの幅を狭くすることで、本来アプリケーション上で作成したバーコードの構成よりバーの幅が狭く、また相対的にスペースの幅が広いバーコードの構成に変換する。具体的には、バーコードの各バーを構成する一部のドットを削除する。
【００３４】
図５は、図３に示した補正処理３０４（図４のステップＳ１５）の詳細を表すフローチャートである。この処理は、前記フォント判別処理Ｓ１３にてバーコードフォントが含まれると判明した場合のみに実行される処理であり、バーコードフォントを展開した画像（ビットマップデータ）に対して画素単位でビットマップ画像データを書き替える補正処理を行うものである。
【００３５】
まず、ステップＳ２１では図３の処理３０１の描画処理により得られた画像情報を取得する。ついで、ステップＳ２２ではこの描画情報からバーコードの描画位置を特定する。そこで、ステップＳ２３において、この描画位置を基準にして、バーコード領域内のビットマップ画像データを得る。この際、バーコードフォントを参照して新たにバーコードの描画を行ってもよいし、先に行った描画結果を利用してもよい。
【００３６】
ステップＳ２３までが補正前準備であり、ステップＳ２４からＳ３２までの処理が補正の実体処理である。この実体処理は、バーコード領域内のビットマップ画像データに対して想定したスキャンライン上の一端から１ドット毎に移動して終端に達するまで繰り返して実行される。図６（ａ）にバーコード領域内のバーコードを表すビットマップ画像データの例を示す。スキャンラインはバーコードを構成する各バーを横切る方向に設定される。例えば１ラスタに相当する画素列上に設定される。図の例では最上位のラスタに設定しているが、どのラスタ上であってもよい。
【００３７】
ステップＳ２５では、バーコードのビットマップ画像データのスキャンライン上の与えられた１ドット位置のデータを確認する。すなわち、そのデータが“１”か“０”か、換言すれば、「ドット有り」（インク滴吐出有り）かどうかをチェックする。通常、細バーでも複数のドット幅を有する。この例では、細バーは、１ドット目から５ドット目までの５ドット幅を有する。太バーは１１ドット目から２０ドット目までの１０ドット幅を有するものとする。
【００３８】
そのドット位置に「ドット有り」と判定されたら（Ｓ２６，Ｙｅｓ）、ステップＳ３１へ移行する。通常、最初のドット位置にはドットが存在するので、ステップＳ３１でスキャンライン上の次のドット位置へ制御を移動し、ステップＳ２４に戻る。新たなドット位置のデータが「ドット無し」と判定されたら、ステップＳ２７へ移行する。図６（ａ）の例では、５ドット目までは連続して「ドット有り」で、６ドット目に「ドット無し」となる。この「ドット有り」の状態から「ドット無し」の状態に変化したときは、バーからスペースへと変換する境界を検知したことに相当し、ステップＳ２７へ移る。ステップＳ２７では、現ドット位置（上記の例では６ドット目）から補正値分前のドット位置へ制御を移動する。ここに、「補正値」とは予め設定されたバー幅の調整値であり、ドット数で与えられる。適正な補正値は、後述するように、当該バーコードフォントの種別に対して、現在選択されている紙種によって異なりうる。紙種は、図示しない印刷設定等におけるユーザの選択情報（システムが紙種検出手段を備える場合にはその検出結果）に基づいて判断することができる。補正値が例えば２ドットであれば、制御は先頭から４ドット目に戻る。ついでステップＳ２８において、そのドット位置についてバーとスペースのデータを入れ替え補正する。すなわち、「ドット有り」を「ドット無し」に変更する。この補正は当該ドット位置のドット列（図の縦１列）全体に適用する。その状態を図６（ｂ）に示す。
【００３９】
次のステップＳ２９で、スキャンライン上の次のドット位置（上記例では５ドット目）へ移動する。そのドット位置のデータが「ドット有り」であれば、ステップＳ２８に戻り、そのデータも「ドット無し」に変更する（Ｓ２９）。補正値が２ドットの場合にはステップＳ２８を二度実行することになる。その状態を図６（ｃ）に示す。
【００４０】
ステップＳ３０で「ドット無し」と判定されれば、補正値分さかのぼる前の元のドット位置に戻ったことになり、ステップＳ３１にて次のドット位置へ移動する。データ終端に達するまで、ステップＳ２４に戻り、「ドット有り」から「ドット無し」となるバーの境界を見つけるたびに、補正値分のデータ変更を繰り返す。
【００４１】
このようにして、バーコードフォントによるバーコード出力データをビットマップ画像データの段階で補正することができる。図７は、補正前と補正後のバーコードフォントデータを出力した際の違いを表している。補正前のバーコード７０１は、その各バーについて幅が補正され、補正後のバーコード７０２となる。各バーの幅はドット数が減じられるので、細くなっていることが分かる。
【００４２】
なお、バーコード領域のビットマップ画像データを作業領域で補正した場合には、その補正後のビットマップ画像データを元の印刷用のビットマップ画像データ全体に対してその該当場所に上書きする。
【００４３】
図８に、ユーザがバーコードフォントの各種設定を行うための設定画面８００の例を示す。この設定画面８００に関する構成は、本発明における補正値設定手段を構成している。但し、このようなユーザの設定は本発明において必須のものではない。
【００４４】
この画面はユーザがメニュー選択等の所定の操作により開くことができる。この画面は、ユーザが使用するバーコードフォントの種類や、補正値等を予め登録しておくためのものである。
【００４５】
「用紙選択」欄８０１は、使用する用紙の種別を選択するための欄である。用紙選択は別の画面で行われる場合にはこの画面には必要ない。
【００４６】
「バーコードフォント」欄８０２は、情報処理装置内にインストール済みのフォントを表した「フォント」欄８０３から、ユーザが使用するバーコードフォントを登録するための欄である。「フォント」欄８０３から「バーコードフォント」欄８０２へのフォントの移動および「バーコードフォント」欄８０２からのフォントの削除は、それぞれ「追加」ボタン８０４ａおよび「削除」ボタン８０４ｂを含む操作ボタンにより行うことができるようになっている。
【００４７】
「補正値設定」欄はバーとスペースの差（通常は同幅）としてのドット数をユーザが指定するための欄である。この補正値は、「バーコードフォント」欄８０２で現在選択されているバーコードフォントについて、かつ、「用紙選択」欄で指定されている用紙種別についての補正値である。
【００４８】
「バーコードフォント補正あり」チェック欄８０６は、補正値が設定されている場合でもチェックの有無でバーコードフォントの補正の有無を選択できるようにするものである。
【００４９】
画面８００下部の「ＯＫ」ボタンおよび「適用」ボタンは、現在選択されている用紙種別およびバーコードフォントについて、「補正値設定」欄８０５に現れているドット数を補正値として登録するためにユーザが指示するためのボタンである。「ＯＫ」ボタンと「適用」ボタンの違いは、前者ではこの画面８００が閉じられるのに対して、後者では設定操作を継続できる点にある。
【００５０】
図９は、バーコードフォントの種別および紙種毎に設定された補正値を格納した補正値テーブル９００の構成例を示している。図５のステップＳ２７ではこの補正値テーブル９００を参照して、適正な補正値ｎを求めることができる。
【００５１】
以上、本発明の好適な実施の形態について説明したが、上記で言及した以外にも種々の変形、変更を行うことが可能である。例えば、バーコードの向きは１方向（各バーが用紙搬送方向に平行の向き）の場合についてのみ説明したが、その方向と直角の方向について、それぞれ異なる補正値を設定し、方向の指定により両補正値を切り替えて使用するようにしてもよい。
【図面の簡単な説明】
【００５２】
【図１】本発明の実施の形態に係る印刷システムの概略構成を示す図である。
【図２】図１の印刷システムにおける情報処理装置と印刷装置の制御ハードウェアの構成例を示すブロック図である。
【図３】本発明の実施の形態に係る印刷システムの処理の流れを示した図である。
【図４】図３に記述した印刷プログラムの具体的な処理ステップを示したフローチャートである。
【図５】図３に示した補正処理（図４のステップＳ１５）の詳細を表すフローチャートである。
【図６】バーコード領域内のバーコードを表すビットマップ画像データの補正の過程を示す図である。
【図７】補正前と補正後のバーコードフォントデータを出力した際の違いを表した図である。
【図８】ユーザがバーコードフォントの各種設定を行うための設定画面の例を示した図である。
【図９】本発明の実施の形態における補正値テーブルの構成例を示した図である。
【符号の説明】
【００５３】
１００…情報処理装置
１０１…表示装置
１０４…印刷プログラム
１１１…制御部
１１２…記憶部
１１３…表示部
１１４…操作部
２００…印刷装置
２０１…制御部
３００…アプリケーション
８００…バーコード設定画面
９００…補正値テーブル
【図２】
2009193428.tif 000003
【図３】
2009193428.tif 000004
【図４】
2009193428.tif 000005
【図５】
2009193428.tif 000006
【図６】
2009193428.tif 000007
【図９】
2009193428.tif 000008
【図１】
2009193428.tif 000009
【図７】
2009193428.tif 000010
【図８】
2009193428.tif 000011