説明

バーコード生成システムおよびコンピュータプログラム

【課題】所望のバーコード全体長を得ることができるバーコードの構成情報を比較的短時間にかつ容易に決定する。
【解決手段】少なくとも1つのバーコード種類についてそのバーコードを構成する黒バーおよび白スペースの1ドット単位の幅ドット数と、その幅ドット数で印刷した場合の黒バーおよび白スペースの実幅値とを対応づけた関係テーブルを生成しておく。バーコード化する文字列およびバーコード全体長の入力を受け、バーコードの基準となるバー(例えば最も細い黒バー)の幅を構成するドット数が与えられたとき、前記文字列をバーコード化した場合の全体長を、関係テーブルを参照して算出する。バーコード全体長の算出値が入力値に納まる範囲で最大となるバーコード構成情報を求める。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インクジェット記録方式の記録ヘッドを用いて画像の記録を行うバーコード生成システムおよびコンピュータプログラムに関する。
【背景技術】
【0002】
一般にバーコードを生成するバーコード生成システムでは、バーコードの種類や、バーコードの線幅、およびバーコード化する文字列等の情報を設定することでバーコードが生成される(特許文献1)。
【0003】
またその際に、生成されたバーコードの読取率を向上させるために、補正値の異なるバーコードを幾つも作成して実際に印刷し、バーコード検証機で読取ることで個々の使用環境に合ったバーコード生成を可能にする方法が提案されている(特許文献2)。
【特許文献1】特開平07−93448号公報
【特許文献2】特開平08−44807号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、従来の技術では、ユーザが望んだバーコードサイズ(すなわちバーコード全体長)を作成するのは、バー幅を変更しつつ印刷出力してみる、という試行錯誤を繰り返す必要があり、ユーザにとって煩雑かつ時間を要する作業が必要であった。
【0005】
本発明はこのような背景においてなされたものであり、その目的は、所望のバーコード全体長を得ることができるバーコードの構成情報を比較的短時間にかつ容易に決定することが可能なバーコード生成システムを提供することにある。
【課題を解決するための手段】
【0006】
本発明によるバーコード生成システムは、バーコードを生成するバーコード生成システムであって、少なくとも1つのバーコード種類についてそのバーコードを構成する黒バーおよび白スペースの1ドット単位の幅ドット数と、その幅ドット数で印刷した場合の黒バーおよび白スペースの実幅値とを対応づけた関係テーブルを生成する手段と、バーコード化する文字列およびバーコード全体長の入力を受ける入力手段と、前記バーコードの基準となるバーの幅を構成するドット数が与えられたとき、前記文字列をバーコード化した場合の全体長を前記関係テーブルを参照して算出する手段と、バーコード全体長の算出値が入力値に納まる範囲で最大となるバーコード構成情報を求める手段とを備えたものである。
【0007】
あるバーコード種類のバーコードの生成に先立って、バーコードを構成する黒バーおよび白スペースの1ドット単位の幅ドット数と、その幅ドット数で印刷した場合の黒バーおよび白スペースの実幅値とを対応づけた関係テーブルを生成しておくことにより、当該バーコード化する文字列およびバーコード全体長の入力を受けて、前記バーコードの基準となる特定のバーの幅を構成するドット数が与えられたとき、前記文字列をバーコード化した場合の全体長を算出することができる。このバーコード全体長の算出値と入力値とを比較して、バーコード全体長の算出値が入力値に納まる範囲で最大となるバーコード構成情報を求めることができる。
【0008】
このように関係テーブルを用いることにより、与えられた条件におけるバーコード全体長の実際の値を迅速かつ容易に算出できるので、目標となるバーコード全体長の入力値を越えない範囲で最大の全体長のバーコードを構成する構成情報が容易に得られる。
【0009】
本発明によるコンピュータプログラムは、バーコードを生成するバーコード生成システムにおけるバーコード構成情報を求めるコンピュータプログラムであって、
(a)少なくとも1つのバーコード種類についてそのバーコードを構成する黒バーおよび白スペースの1ドット単位の幅ドット数と、その幅ドット数で印刷した場合の黒バーおよび白スペースの実幅値とを対応づけた関係テーブルを生成するステップと、
(b)バーコードの種類、バーコード化する文字列およびバーコード全体長の入力を受けるステップと、
(c)前記バーコードの基準となるバーの幅を構成する所定のドット数を初期値として、前記文字列をバーコード化した場合のバーコード全体長を前記関係テーブルを参照して算出するステップと、
(d)前記バーコード全体長の算出値が入力値に納まるか否かを判定するステップと、
(e)前記バーコード全体長の算出値と入力値の大小関係が逆転するまで、少なくとも前記バーコード全体長の算出値が入力値に接近した範囲で1ドットずつ前記基準となるバーの幅を変化させて、ステップ(c)に戻るステップと、
(f)ステップ(c)に戻った後、ステップ(d)で前記バーコード全体長の算出値と入力値の大小関係が逆転したと判定されたとき、前記基準となるバーの幅の現在値に基づいて前記基準となるバーの幅の値を確定するステップと、
(g)前記確定された前記基準となるバーの幅に対応するバーコード構成情報を目的のバーコード構成情報として決定するステップと
をコンピュータに実行させるものである。
【0010】
「前記基準となるバーの幅の現在値に基づいて前記基準となるバーの幅の値を確定する」とは、「前記基準となるバーの幅の現在値」をそのまま「前記基準となるバーの幅の値」の値にするだけでなく、「前記基準となるバーの幅の現在値」と所定の関係にある(例えば1小さい)値も含みうる。
【発明の効果】
【0011】
本発明によればバーコード化する文字列とバーコードの種類、およびバーコード全体長を設定すれば、短時間で設定したバーコード全体長内に納まるようなバーコードの構成情報を得ることが可能となる。
【発明を実施するための最良の形態】
【0012】
以下、本発明の好適な実施の形態について図面を参照しながら詳細に説明する。尚、以下に記載されている構成要素はあくまで例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【0013】
図1に、本実施の形態におけるバーコード生成システムの概略構成を示す。このシステムは情報処理装置(PC)100とイメージスキャナ107と印刷装置200とを備える。
【0014】
図1に、本実施の形態におけるバーコード生成システムの概略図を示す。このシステムは情報処理装置100とイメージスキャナ107と印刷装置200とを備える。
【0015】
本実施の形態における印刷装置200は、熱エネルギーを利用したインク吐出方式を採用したインクジェット印刷装置であり、記録媒体の一種としての用紙103を搬送する搬送ユニット104と、用紙103の搬送速度を検出するエンコーダ105と、画像データを記録するインクジェット記録方式の記録ユニット101で構成される。この記録ユニット101は、USBなどのインタフェースケーブル102を介して情報処理装置100と接続されている。情報処理装置100はパーソナルコンピュータ(PC)などの装置であり、この装置から印刷装置200に対して、画像データの転送やクリーニングなどの制御コマンドの転送が行われる。情報処理装置100には、その周辺装置の一つとして、後述するテストパターンを記録したテストチャートを光学的に読み取るためのイメージスキャナ107がインタフェースケーブル108を介して接続される。
【0016】
記録ユニット101による画像データの記録は、搬送ユニット104における用紙センサ(図示せず)からの用紙検出信号をトリガにして、エンコーダ105の用紙速度信号に同期しながら、搬送された用紙103に対してインク滴を吐出することにより行われる。図1の例では用紙103に1次元バーコード106を印刷した様子を示している。
【0017】
図2は、図1のシステムにおける情報処理装置100と印刷装置200の制御ハードウェアの構成例を示すブロック図である。
【0018】
情報処理装置100は、中央処理装置(CPU)等により構成される制御部111を備え、この制御部111により記憶部112に格納されている制御プログラムを実行し、各部を制御する。記憶部112は、ROM,RAM,HDD等を含みうる。表示部113はLCD,CRT等のディスプレイを含み、ユーザに対して表示画面上に情報を提示する。操作部114は、キーボード、マウス等を含み、ユーザからの操作や情報の入力を受け付ける。USBインタフェース115は、情報処理装置100を印刷装置200と接続するためのプリンタインタフェースの一例として示してある。但し、プリンタインタフェースはUSBに限るものではない。
【0019】
印刷装置200の制御部201は、中央処理装置(CPU)202を備え、このCPU202により不揮発性メモリ(ROM)203に格納されている制御プログラムを実行し、各部を制御する。また、制御部201は、CPU202により各種データ処理のワークエリアや受信バッファとして使用されるメモリ(RAM)204や、制御回路209を介して、画像展開部として使用されるイメージメモリ205を備える。更に、CPU202は、制御回路209を介して、記録ヘッド214〜217を駆動するヘッド駆動回路210や、各記録ヘッドを記録に適正な状態に保つためのクリーニング動作や記録動作を制御する各種モータ206を駆動するモータドライバ211、記録ヘッド下に給紙を行うための搬送制御I/F207の入出力インタフェース制御部(I/O)212を制御する構成となっている。本例では、図1内のエンコーダ105は搬送制御I/F207に含まれているものとする。
【0020】
また、印刷装置200は、基本的に、外部装置である情報処理装置100から送信された画像データやクリーニングコマンドなどをインタフェースケーブル102を介して受信するUSBコントローラ208を有し、この受信した各種コマンドに従って動作する。
【0021】
図3は、印刷された黒バーの太り細りの状態を確認するために、黒バーの幅を計測するためのテストチャートに記録されるテストパターンである。
【0022】
テストパターン300は、それぞれ1〜10ドットの各幅サイズで構成された、各黒バーが用紙搬送方向に垂直な黒バー群301と、各黒バーが用紙搬送方向に平行な黒バー群302とを含んでいる。本例では、10種類の異なる幅サイズを使用したが、このテストパターン300における黒バーの異なる幅の種類は、最低3種類あればよい。
【0023】
図4は、非記録部で構成される白スペース(白バーともいう)の太り細りの状態を確認するために、白スペースの幅を計測するためのテストチャートに記録されるテストパターンである。「白」とは用紙の地色を意味している。
【0024】
テストパターン400は、それぞれ1〜10ドットの各幅サイズで構成された、各白スペースが用紙搬送方向に垂直な白スペース群401と、各白スペースが用紙搬送方向に平行な白スペース群402とを含んでいる。本例では、10種類の異なる幅サイズを使用したが、このテストパターン400における白スペースの異なる幅の種類は、最低3種類あればよい。
【0025】
図3および図4で説明したテストパターンは、印刷された紙面上の各幅サイズを実測することにより、幅ドット数と紙面上の実幅サイズの関係を掌握することが出来る構成である。つまり、実際の使用条件(装置、環境、用紙等)で本実施の形態のテストパターンを印刷すれば、記録ヘッドの個体差に起因する吐出量の違いや、用紙の種類に起因する滲み率の違いを考慮した実幅サイズを知ることができ、その測定結果に応じて黒バー/白スペースの幅サイズを補正したバーコードを生成することが可能である。テストパターンの読み取り結果の解析手法に関しては後述する。
【0026】
なお、図3と図4に示したテストパターン300,400は1ページの用紙上に配置して、1ページのテストチャートとしてもよい。
【0027】
図5は、本実施の形態に係るバーコード生成システムの概略構成を示している。この構成は基本的には図1で説明したとおりである。ここでは、上述したテストパターン300,400を印刷したテストチャート500を用いた本実施の形態におけるバーコード生成システムの概略動作について説明する。
【0028】
情報処理装置100の記憶装置にはテストパターン300,400に対応するテストチャート画像データ506が格納されている。ユーザの指示に応じて、情報処理装置100はUSBケーブル102を介して印刷装置200に転送し、テストチャート500を印刷出力する。テストパターン300,400を別々のシートに印刷する場合には2ページを印刷出力する。このテストチャートをイメージスキャナ107にセットして読み取り、解析し、黒バーと白スペースの各ドット幅を測定する。情報処理装置100は、この測定結果を解析処理して、関係テーブル700を生成し、さらに当該バーコード種類に応じたバーコード補正値800を求める。これらは情報処理装置100内に記憶される。以後、当該バーコードの生成時にバーコード補正値800を用いて、補正したバー幅のバーコードを印刷装置200で印刷出力することができる。
【0029】
図6は、バーコードを測定し、補正データを検証するためのバーコード検証画面600を示している。
【0030】
バーコード検証画面600は、入力パラメータ領域610と出力パラメータ領域620を有する。
【0031】
入力パラメータ領域610には、黒バー群のテストパターン300の読み取り結果である画像データのファイル名611と、白スペース群のテストパターン400の読み取り結果である画像データのファイル名612と、画像取り込み方法613、印刷方向614、傾き補正有無615、二値化閾値616、解析開始ボタン619等が配置されている。
【0032】
画像取り込み方法613は、イメージスキャナ107による画像スキャンの他、取り込み済のファイルの選択による方法も用意されている。印刷方向614には、解析対象としてのバーコード方向を指定するためのものであり、「ストレート」と「コンベックス」がある。傾き補正有無615は、読み込んだバーコードの傾きを補正を行うかどうかを指定するチェックボックスである。二値化閾値616は、読み取ったバーコードのバー幅解析のための二値化用の閾値であり、ユーザが設定できるようになっている。解析開始ボタン619は、読み取ったテストパターンについてユーザが解析開始を指示するためのボタンである。
【0033】
所定の入力設定の後、解析開始ボタン619が押されると、テストパターンの読み込みが行われ、そのイメージが解析される。さらにこの解析の結果、上記のような関係テーブル700が生成される。
【0034】
出力パラメータ領域620には、バーコード種類621、太細比率622、ナローバードット数623、全体長624、入力コード625、補正値決定方法626、バーコード補正値領域627、検討開始ボタン629が配置されている。バーコード種類621にはバイナリレベル(2値)とマルチレベル(4値)とがある。バイナリレベルのバーコードとは、細黒バーと太黒バー、および細白スペースと太白スペースの種類で構成されたバーコードのことであり、代表的なバーコードとしてCode39、ITF等がある。一方、マルチレベル(4値)のバーコードとは、4種類の太さの黒バーと、4種類の太さの白スペースで構成されたバーコードのことを意味し、代表的なバーコードとしてJAN、EAN128、Code128等がある。太細比率622は、太バーと細バーの比率である。ナローバードット数623は細バー幅のドット数である。全体長624(ここではmm)はバーコード全体の長さである。入力コード625はバーコード化する文字列に相当するコードである。補正値決定方法626は、ナローバーを基準にした他のバーの幅の決定時の誤差への対処方法の選択肢である。例えば、求める幅に対応するドット数が存在しない場合、その求める幅に対する大小を問わずに近い幅のドット数を選択する、その求める幅より小さい側で近い幅に対応するドット数を選択する、その求める幅より大きい側で近い幅に対応するドット数を選択する、などの選択肢がありうる。バーコード補正値領域627は、求めようとするバーコードの補正後の各バーおよびスペースのドット数である。検討開始ボタン629は、所定の条件においてバーコード補正値領域627を求めることをユーザが指示するためのボタンである。
【0035】
その後、バーコード種類621の指定、バイナリレベル(2値)の場合の太細比率622、全体長624、入力コード625の入力、および補正値決定方法626の指定の後、検討開始ボタン629が押されると、各バー幅およびスペース幅のドット数がバーコード補正値領域627に表示される。バーコード補正値領域627に表示された補正値でバーコードを生成すれば、全体長624で設定した長さに納まるようなバーコードを生成することができる。
【0036】
図7は、図3および図4で示したテストパターンをイメージスキャナで読み込んだ黒バーおよび白スペースの各幅ドット数に対して、実際に紙面上に着弾し滲んだ黒バーおよび白スペースの実幅サイズ(単位マイクロメートル)を測定した結果得られた関係テーブル700の一例を示している。換言すれば、関係テーブル700は、少なくとも1つのバーコード種類についてそのバーコードを構成する黒バーおよび白スペースの1ドット単位の幅ドット数と、その幅ドット数で印刷した場合の黒バーおよび白スペースの実幅値(μm)とを対応づけたデータテーブルである。関係テーブル700は、バーコード方向(垂直および水平)毎に作成することができる。
【0037】
例えば、図示の例によれば、10ドットで構成した黒バー幅は、紙面上で513μmであり、10ドットで構成した白スペース幅は331μmになることが示されている。なお、図7の例ではドット数1〜30までのデータを用意している。図3,図4のテストパターンは1ドットから10ドットまでの幅についてのみのものであったが、その読み取り結果から推測して残りの幅ドット数のデータを得ることが可能である。
【0038】
図8は、このバーコード生成システムで得られるバーコード補正値800の例を示している。バーコード補正値801はバイナリレベルのバーコードにおけるバーコード補正値を表したものである。バイナリレベルのバーコードを補正する場合、バーコードの太細比率は1:2.5で構成されているため、図7で示した黒バーと白スペースの関係テーブル700から1:2.5となる黒太バーのドット数を選び、尚かつ黒バーと白スペースの実サイズ幅が同じとなるドット数を選ぶ。これにより、読取り品位の高い適正なバーコード補正値を得ることができる。
【0039】
また、例えば、細バー幅が4ドットの時、図7から実サイズは250μmである。細スペースは、細バー幅と同じ実サイズである250μmに最も近いドット数を関係テーブル700から探し出すことにより、8ドットと決定される。また太バーおよび太スペースは、太細比率1:2.5より250μm×2.5 = 625μmに最も近いドット数を図7の関係テーブル700から探し出し、太バーは13ドット、太スペースは16ドットと決定される。これによりバーコードの読取り率の重要要素である『細バー幅×2.5=太バー幅』、および『黒バー幅=白スペース幅』を紙面上の実サイズで保証することができる。また、基準となる細バーの幅を3ドットから、4ドット、5ドット・・・と増やしていくことで、各細バー幅に対応した他のバー幅およびスペース幅の適正な補正値が決定される。
【0040】
また、バーコード補正値802は、マルチレベルのバーコードにおけるバーコード補正値を表したものである。マルチレベルのバーコード補正値802については、黒バーの太さの比が1:2:3:4となる4値の各黒バーのドット数を選び、尚かつ黒バーと白スペースの実サイズ幅が同じとなるドット数を選ぶ。これにより読取り品位の高い適正なバーコード補正値を算出することができる。例えば細バー幅が4ドットの時、実サイズは250μmなので4値の黒バーの実サイズ幅が1:2:3:4となる4値の各黒バーの幅サイズは、250μm、500μm、750μm、1000μmとなる。図7の関係テーブル700から実サイズ幅に最も近い幅サイズとなるドット数は、それぞれ、4、10、16、21となる。同様に、各スペース幅のドット数は8、14、20、26となる。これにより、バーコード読取り率の重要ファクターの一つである『1:2:3:4の比率』、および『黒バー幅=白スペース幅』という幅の条件を紙面上の実サイズで保証することが出来る。また以上の方法で細バー幅を3ドットから、4ドット、5ドット・・・と増やしていくことで各細バー幅に対応する適正なバーコード補正値が決定される。
【0041】
このような補正値は、関係テーブル700からいつでも求めることができる。したがって、必要に応じて必要な補正値のみをその都度、関係テーブル700を参照して求めてもよいし、主要な補正値を予め求めて記憶しておいてもよい。
【0042】
図9は、本実施の形態のバーコード生成システムにおいて、バーコード全体長を算出する方法を説明するための図である。入力情報900として、ユーザが入力コードを“499374”と入力し、描画するバーコードの種類をCODE128、バーコード全体長を12mmにそれぞれ設定したとする。バーコード901はこの条件で描画されたバーコードの具体的な形態を表したものである。CODE128はマルチレベルのバーコードであり、入力コードの前後に所定のスタートコードおよびストップコードが必ず付加される。バーコード901の全体長を求めるためにまず4種類の(すなわち幅の異なる)黒バーおよび白スペースがそれぞれいくつあるかを数える。4種類の黒バーおよび白スペースを数えた結果は枠902内に示したとおりである。この結果と図7の関係テーブル700を用いて、まず一番細い黒バーが3ドットの補正値を用いた時のバーコード全体長を、次のように計算し求める。
(バーコード全体長) = (199×7 + 390×5 + 600×3 + 773×1) + (185×8 + 371×4 + 616×2 + 787×1)
【0043】
計算式903に示すように、最も細いバー幅のドット数が3ドットの場合のバーコード全体長は10.90mmとなり、ユーザが設定したバーコード全体長である12mmに納まる。計算したバーコード全体長が、ユーザが設定したバーコード全体長に納まる場合は、一番細い黒バーに1ドット加え、1ドット加えた一番細いバーを基準とした補正値とバーコード全体長を求める。最も細いバー幅のドット数が4ドットの場合のバーコード全体長は13.93mmとなり、ユーザが設定したバーコード全体長(入力バーコード全体長)である12mmを越える。このように計算したバーコード全体長が、ユーザが設定したバーコード全体長を超えるまで、最も細いバー幅のドット数を増加させていき、算出した全体長が越えたときドット数を1ドット減らした黒バーを基準とした補正値からバーコードを作成する。このようにすることにより、入力バーコード全体長に納まるという条件下で最大長のバーコードを得ることができる。
【0044】
図10は、本実施の形態のバーコード生成システムが画面600で設定された入力バーコード全体長に該当するバーコードを作成するためのバーコード構成情報を得るための処理の流れを表したフローチャートである。この処理の実行手順を表すプログラムは記憶部112内に格納され、制御部111がこれを解釈実行することにより、この処理が実現される。
【0045】
この処理は、印刷しようとするバーコードの種類や方向について、図7に示した関係テーブル700が生成されていることを前提とする。
【0046】
まず、図6の画面600においてユーザから、バーコード種類、太細比率、入力コード、バーコード全体長(入力値)の設定を受ける(S11)。但し、太細比率は、バーコード種類によってデフォルト値が決まっている場合、変更の必要がなければ入力する必要はない。
【0047】
次に、設定されたバーコードの種類と入力コード(文字列)に基づいて、1文字毎に黒バーと白スペースのキャラクタ構成(すなわちバーおよびスペースの種類および個数)を解析する(S12)。その後、異なる細バー幅ドット数毎に、各細バー幅を基準に対応するバーコード補正値を算出する(S13)。
【0048】
その後、出力するバーコード全体長の算出値が入力値に納まる範囲で最大となるバーコード構成情報を求めるための処理を行う。
【0049】
まず、細バー幅iをその初期値である3ドットに設定する(S14)。ここでは、印刷解像度が600dpiの場合を想定しており、その場合、通常3ドットが細バー幅の許容される最小値である。その後、ステップS15〜S17のループ処理を実行する。
【0050】
ループ処理では、前述した例と同様に、細バー幅iに対応するバーコード補正値に基づいて、当該バーコード全体長を算出する(S15)。具体的には、バーコードを構成するすべてのバーおよびスペースの幅を、関係テーブル700を参照して求め、当該すべてのバーおよびスペースの実際の幅の総和をバーコード全体長の算出値とする。このバーコード全体長の算出値が入力値に納まるか否かを判定する(S16)。バーコード全体長の算出値がバーコード全体長の入力値を越えない場合、細バー幅iを1ドット増加させ(S17)、ステップS15に戻って新たな細バー幅iについてバーコード全体長を改めて算出する。ステップS16で算出されたバーコード全体長の入力値がバーコード全体長の入力値を越えたとき、現在のi値より1ドット小さい細バー幅に対応するバーコード補正値を画面600のバーコード補正値領域627に表示する(S20)。ただし、1ドット減じる前のiが3ドットより小さい場合(すなわち4ドットに達していない場合)(S18)、1ドット減じると細バー幅の最小値より細くなってしまうので、エラーメッセージを出力する(S19)。ユーザはその場合、設定をやり直す。
【0051】
なお、ステップS16において、バーコード全体長の算出値と入力値との差分を求め、その差分が所定値以上である場合には、ステップS17での増加数単位を複数ドット(例えば2ドットまたはそれ以上)とするようにしてもよい。これは1ドットの増加では新たなバーコード全体長の算出値が入力値を越えないことが明らかな場合に一度に複数ドットの増分を行うことによりループ処理回数を低減させる効果がある。なお、このループ処理はバーコード全体長の算出値が入力値を越える直前の最大の細バー幅を求めることが目的なので、上記差分が0になる前に1ドット単位の増加に戻すことが必要である。
【0052】
図11は、図10のフローチャートの処理の変形例を示したフローチャートである。この処理は基本的には図10の処理と同様であり、主として相違点のみを説明する。すなわち、ステップS21〜S23,S25,S27〜S29は、それぞれ、図10のステップS11〜S13,S15,S17〜S19と同じである。相違点の趣旨は、図10の処理では細バー幅iを所定の小ドット数(例えば全ドット数のうちの最小のもの)から開始したが、図11の処理では所定の大ドット数(例えば全ドット数のうちの最大のもの)から開始する点である。そのために、ステップS24では、細バー幅iの初期値として所定の大ドット数(ここでは30ドット)を用い、ステップS26では、バーコード全体長の算出値が入力値以下となったかどうかをチェックする。また、ステップS27では、細バー幅iを1ドットだけ減少させる。ステップS30では細バー幅iの現在値に対応するバーコード補正値を表示する。
【0053】
図11の処理においても、ステップS26において、バーコード全体長の算出値と入力値との差分を求め、その差分が所定値以上である場合には、ステップS17での減少数単位を複数ドット(例えば2ドット)とするようにしてもよい。
【0054】
図10,図11に共通な特徴は、バーコード全体長の算出値と入力値の大小関係が逆転するまで、少なくとも前記バーコード全体長の算出値が入力値に接近した範囲で1ドットずつ前記基準となるバーの幅を変化させて、前記バーコード全体長の算出値と入力値の大小関係が逆転する境界点を見つけ出し、前記基準となるバーの幅の現在値に基づいて前記基準となるバーの幅の値を確定するものである。
【0055】
以上、本発明の好適な実施の形態について説明したが、上記で言及した以外にも種々の変形、変更を行うことが可能である。
【0056】
例えば、基準となるバーコード要素を最も細いバーとしたが、他のバーコード要素としてもよい。
【0057】
上記実施の形態で説明した機能をコンピュータで実現するための、コンピュータにインストールされるプログラムコード自体も本発明を構成するものである。つまり、本発明における特許請求の範囲に記載した要件を満たす機能を実現するコンピュータプログラム自体も本願発明に含まれる。なお、プログラムとしては、プロセッサが直接に解釈し実行可能なオブジェクトコードプログラム、および、インタプリタにより実行されるプログラム、OSまたはアプリケーション上で動作するスクリプトデータ形式のプログラム等、プログラムの形態は問わない。また、プログラムを供給するための「記録媒体」としては、例えば、磁気記憶媒体(フレキシブルディスク、ハードディスク、磁気テープ等)、光ディスク(MOやPD等の光磁気ディスク、CD−ROM、CD−R、CD−RW、DVD−ROM、DVD−RAM、DVD−R、DVD−RW、DVD+RW等)、半導体ストレージ、紙テープ、などを挙げることができる。
【図面の簡単な説明】
【0058】
【図1】本発明の実施の形態におけるバーコード生成システムの概略構成を示す図である。
【図2】図1のシステムにおける情報処理装置と印刷装置の制御ハードウェアの構成例を示すブロック図である。
【図3】本発明の実施の形態において用いる黒バーの幅を計測するためのテストチャートに記録されるテストパターンを示す図である。
【図4】本発明の実施の形態において用いる白スペースの幅を計測するためのテストチャートに記録されるテストパターンを示す図である。
【図5】本発明の実施の形態に係るバーコード生成システムの概略構成を示す図である。
【図6】本発明の実施の形態におけるバーコード検証画面の一例を示した図である。
【図7】本発明の実施の形態における関係テーブルの一例を示した図である。
【図8】本発明の実施の形態におけるバーコード生成システムで得られるバーコード補正値の例を示した図である。
【図9】本発明の実施の形態のバーコード生成システムにおいて、バーコード全体長を算出する方法を説明するための図である。
【図10】本発明の実施の形態においてバーコード構成情報を得るための処理の流れを表したフローチャートである。
【図11】図10のフローチャートの処理の変形例を示したフローチャートである。
【符号の説明】
【0059】
100…情報処理装置
101…記録ユニット
103…用紙
104…搬送ユニット
106…1次元バーコード
107…イメージスキャナ
111…制御部
112…記憶部
113…表示部
114…操作部
200…印刷装置
201…制御部
205…イメージメモリ
300…テストパターン
301,302…黒バー群
400…テストパターン
401,402…白スペース群
500…テストチャート
506…テストチャート画像データ
600…バーコード検証画面
610…入力パラメータ領域
611,612…ファイル名
613…画像取り込み方法
614…印刷方向
615…傾き補正有無
616…二値化閾値
619…解析開始ボタン
620…出力パラメータ領域
621…バーコード種類
622…太細比率
623…ナローバードット数
624…全体長
625…入力コード(入力文字列)
626…補正値決定方法
627…バーコード補正値領域
629…検討開始ボタン
700…関係テーブル
800,801,802…バーコード補正値
900…入力情報
901…バーコード

【特許請求の範囲】
【請求項1】
バーコードを生成するバーコード生成システムであって、
少なくとも1つのバーコード種類についてそのバーコードを構成する黒バーおよび白スペースの1ドット単位の幅ドット数と、その幅ドット数で印刷した場合の黒バーおよび白スペースの実幅値とを対応づけた関係テーブルを生成する手段と、
バーコード化する文字列およびバーコード全体長の入力を受ける入力手段と、
前記バーコードの基準となるバーの幅を構成するドット数が与えられたとき、前記文字列をバーコード化した場合の全体長を前記関係テーブルを参照して算出する手段と、
出力するバーコードの全体長の算出値が入力値に納まる範囲で最大となるバーコード構成情報を求める手段と
を備えたバーコード生成システム。
【請求項2】
前記算出手段は、バーコードの黒バーと白スペースのキャラクタ構成を基に前記バーコード全体長を算出することを特徴とする請求項1に記載のバーコード生成システム。
【請求項3】
バーコードを構成するすべてのバーおよびスペースの幅を前記関係テーブルを参照して求め、当該すべてのバーおよびスペースの実際の幅の総和をバーコード全体長の算出値とする請求項1または2に記載のバーコード生成システム。
【請求項4】
バーコードを生成するバーコード生成システムにおけるバーコード構成情報を求めるコンピュータプログラムであって、
(a)少なくとも1つのバーコード種類についてそのバーコードを構成する黒バーおよび白スペースの1ドット単位の幅ドット数と、その幅ドット数で印刷した場合の黒バーおよび白スペースの実幅値とを対応づけた関係テーブルを生成するステップと、
(b)バーコードの種類、バーコード化する文字列およびバーコード全体長の入力を受けるステップと、
(c)前記バーコードの基準となるバーの幅を構成する所定のドット数を初期値として、前記文字列をバーコード化した場合のバーコード全体長を前記関係テーブルを参照して算出するステップと、
(d)前記バーコード全体長の算出値が入力値に納まるか否かを判定するステップと、
(e)前記バーコード全体長の算出値と入力値の大小関係が逆転するまで、少なくとも前記バーコード全体長の算出値が入力値に接近した範囲で1ドットずつ前記基準となるバーの幅を変化させて、ステップ(c)に戻るステップと、
(f)ステップ(c)に戻った後、ステップ(d)で前記バーコード全体長の算出値と入力値の大小関係が逆転したと判定されたとき、前記基準となるバーの幅の現在値に基づいて前記基準となるバーの幅の値を確定するステップと、
(g)前記確定された前記基準となるバーの幅に対応するバーコード構成情報を目的のバーコード構成情報として決定するステップと
をコンピュータに実行させるコンピュータプログラム。
【請求項5】
ステップ(c)において前記バーコードの基準となるバーの幅を構成する所定のドット数を初期値として用い、ステップ(e)において前記バーコード全体長の算出値が入力値を越えるまで、少なくとも前記バーコード全体長の算出値が入力値に接近した範囲で1ドットずつ前記基準となるバーの幅を増加させ、ステップ(f)において前記基準となるバーの幅の現在値より1ドット小さい値を前記基準となるバーの幅として確定する請求項4に記載のコンピュータプログラム。
【請求項6】
ステップ(c)において前記バーコードの基準となるバーの幅を構成する所定の大ドット数を初期値として用い、ステップ(e)において前記バーコード全体長の算出値が入力値より小さくなるまで、少なくとも前記バーコード全体長の算出値が入力値に接近した範囲で1ドットずつ前記基準となるバーの幅を減少させ、ステップ(f)において前記基準となるバーの幅の現在値を前記基準となるバーの幅として確定する請求項4に記載のコンピュータプログラム。

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図1】
image rotate

【図5】
image rotate

【図6】
image rotate