(57)【要約】【課題】新たなバーコードを迅速に設計することできるバーコードの設計装置を提供する。【解決手段】装置は、所定のドットプリンタで所定の媒体に印字されたバーコードのサンプル細バーの幅の測定値とドット数との関係及びサンプル細スペースの幅の測定値とドット数との関係を記憶する記憶部１２と、設計されるバーコードの設計印字幅及び桁数を入力する入力部１４と、記憶部に記憶された関係と、バーコードの細バーの数と、太バーの数と、細スペースの数と、太スペースの数と、太細バー比率の許容範囲と、太細スペース比率の許容範囲とに基づいて、入力された桁数を有するバーコードを、ドットプリンタで媒体に印字した印字幅が、設計印字幅内で最大の印字幅を有し、且つ、細バーの幅の測定値と細スペースの幅との差が所定の閾値よりも小さくなるように、細バーの幅及び細スペースの幅のドット数を求める処理部１１を備える。【選択図】図１
2018195163.tif 000002
【特許請求の範囲】
【請求項１】
（ａ）入力部、
（ｂ）所定のドットプリンタで所定の媒体に印字されたバーコードにおけるサンプル細バーの幅の測定値とドット数との関係及びサンプル細スペースの幅の測定値とドット数との関係を記憶する記憶部、及び、
（ｃ）記憶部に記憶されたサンプル細バーの幅の測定値とドット数との関係及びサンプル細スペースの幅の測定値とドット数との関係と、設計されるバーコードの細バーの数と、太バーの数と、細スペースの数と、太スペースの数と、細バーの幅に対する太バーの幅の比率である太細バー比率の許容範囲と、細スペースの幅に対する太スペースの幅の比率である太細スペース比率の許容範囲とに基づいて、入力部が入力した桁数を有するバーコードを、所定のドットプリンタで所定の媒体に印字した時の印字幅が、入力部が入力した設計印字幅内で最大の印字幅を有し、且つ、印字された細バーの幅の測定値と、印字された細スペースの幅との差が所定の閾値よりも小さくなるように、細バーの幅のドット数及び細スペースの幅のドット数を求める処理部と、
を備えるバーコードの設計装置。
【請求項２】
処理部は、太細バー比率が、太細バー比率の許容範囲内で最大になるように、細バーの幅のドット数及び細スペースの幅のドット数を求める請求項１に記載のバーコードの設計装置。
【請求項３】
処理部は、細バーの幅又は細スペースの幅が最大になるように、細バーの幅のドット数及び細スペースの幅のドット数を求める請求項１に記載のバーコードの設計装置。
【請求項４】
記憶部は、所定のドットプリンタで使用されるインクの種類毎に、所定の媒体に印字された細バーの幅の測定値とドット数との関係及び細スペースの幅の測定値とドット数との関係を記憶する請求項１〜３の何れか一項に記載のバーコードの設計装置。
【請求項５】
記憶部は、所定のドットプリンタでバーコードが印字される時の媒体搬送方向毎に、所定の媒体に印字されたバーコードにおけるサンプル細バーの幅の測定値とドット数との関係及びサンプル細スペースの幅の測定値とドット数との関係を記憶する請求項１〜４の何れか一項に記載のバーコードの設計装置。
【請求項６】
所定のドットプリンタで所定の媒体に印字されたバーコードにおけるサンプル細バーの幅の測定値とドット数との関係及びサンプル細スペースの幅の測定値とドット数との関係と、設計されるバーコードの細バーの数と、太バーの数と、細スペースの数と、太スペースの数と、細バーの幅に対する太バーの幅の比率である太細バー比率の許容範囲と、細スペースの幅に対する太スペースの幅の比率である太細スペース比率の許容範囲とに基づいて、設計される桁数を有するバーコードを、所定のドットプリンタで所定の媒体に印字した時の印字幅が、設計されるバーコードの設計印字幅内で最大の印字幅を有し、且つ、印字された細バーの幅の測定値と、印字された細スペースの幅との差が所定の閾値よりも小さくなるように、細バーの幅のドット数及び細スペースの幅のドット数を求めることを、プロセッサが実行するバーコードの設計方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、バーコードの設計装置及び設計方法に関する。
【背景技術】
【０００２】
従来、バーコードは、情報を有するコードとして用いられている。例えば、物品を識別する識別情報を有するバーコードが、物品に表示されて物品を管理するために使用される。
【０００３】
バーコードは、太バーと、細バーと、太スペースと、細スペースとが一又は複数組み合わされて形成される。これらのバー及びスペースの配置の仕方により、バーコードの有する情報が規定される。
【０００４】
バー又はスペースの配置に関するバーコードの仕様は、ＪＩＳ等の標準規格に基づいて定められている。
【０００５】
また、バーコードは、例えばドットプリンタを用いて、紙等の媒体に印字されて作成される。
【０００６】
同じ仕様のバーコードを印字する場合でも、異なるドットプリンタ又は異なる紙を用いてバーコードを印字すると、バー又はスペースの寸法が異なることが知られている。
【０００７】
新たなバーコードを設計する場合には、バーコードを印字するドットプリンタと、バーコードを印字する用紙を用いて、太バーと、細バーと、太スペースと、細スペース等の設計値を変更して実際に印字し、印字されたバーコードをリーダで読み取って、最適な設計値を決定する作業が行われていた。
【０００８】
そこで、特許文献１は、バーコード印刷装置を用いて、太バーの幅と細バーの幅との各種比率に基づいて印字された各種バーコードを、バーコード印刷装置と接続されたバーコード読み取り装置で読み取り、最適となるバーコードが印字される最適比率を決定することを提案している。特許文献１によると、過去に設計したバーコードと同じ仕様であれば、決定されている最適比率の設計値を利用して、バーコードを印字することができる。
【０００９】
また、特許文献２は、バーコードを印字するためのデータが入力され、バーコードの細バーに対する太バーの幅の比率及び細バーの基本ドット列数が設定されている状態で印字キーが操作されると、入力されたデータに基づいて、バーコードの印字ドットパターンデータを作成するバーコード印刷装置を提案している。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開平８−４４８０７号公報
【特許文献２】特開平５−３４２３８３号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかし、特許文献１では、新たなバーコードを設計する場合には、最適比率の設計値がないので、太バーの幅と細バーの幅との各種比率に基づいた各種バーコードを、バーコード印刷装置を用いて新たに印刷し、バーコード読み取り装置で読み取って、最適となるバーコードを決定しなくてはならない。
【００１２】
また、特許文献２は、新たなバーコードを設計する場合であって、バーコードの細バーに対する太バーの幅の比率が、既存のデータとして入力されていないバーコードを印字することに対しては対応していない。
【００１３】
本明細書では、新たなバーコードを迅速に設計できるバーコードの設計装置及び設計方法を提供することを課題とする。
【課題を解決するための手段】
【００１４】
本明細書に開示するバーコードの設計装置によれば、（ａ）入力部、（ｂ）所定のドットプリンタで所定の媒体に印字されたバーコードにおけるサンプル細バーの幅の測定値とドット数との関係及びサンプル細スペースの幅の測定値とドット数との関係を記憶する記憶部、及び、（ｃ）記憶部に記憶されたサンプル細バーの幅の測定値とドット数との関係及びサンプル細スペースの幅の測定値とドット数との関係と、設計されるバーコードの細バーの数と、太バーの数と、細スペースの数と、太スペースの数と、細バーの幅に対する太バーの幅の比率である太細バー比率の許容範囲と、細スペースの幅に対する太スペースの幅の比率である太細スペース比率の許容範囲とに基づいて、入力部が入力した桁数を有するバーコードを、所定のドットプリンタで所定の媒体に印字した時の印字幅が、入力部が入力した設計印字幅内で最大の印字幅を有し、且つ、印字された細バーの幅の測定値と、印字された細スペースの幅との差が所定の閾値よりも小さくなるように、細バーの幅のドット数及び細スペースの幅のドット数を求める処理部と、を備える。
【００１５】
また、本明細書に開示するバーコードの設計方法によれば、所定のドットプリンタで所定の媒体に印字されたバーコードにおけるサンプル細バーの幅の測定値とドット数との関係及びサンプル細スペースの幅の測定値とドット数との関係と、設計されるバーコードの細バーの数と、太バーの数と、細スペースの数と、太スペースの数と、細バーの幅に対する太バーの幅の比率である太細バー比率の許容範囲と、細スペースの幅に対する太スペースの幅の比率である太細スペース比率の許容範囲とに基づいて、設計される桁数を有するバーコードを、所定のドットプリンタで所定の媒体に印字した時の印字幅が、設計されるバーコードの設計印字幅内で最大の印字幅を有し、且つ、印字された細バーの幅の測定値と、印字された細スペースの幅との差が所定の閾値よりも小さくなるように、細バーの幅のドット数及び細スペースの幅のドット数を求めることを、プロセッサが実行する。
【発明の効果】
【００１６】
上述した本明細書に開示するバーコードの設計装置によれば、新たなバーコードを迅速に設計できる。
【００１７】
また、上述した本明細書に開示するバーコードの設計方法によれば、新たなバーコードを迅速に設計できる。
【図面の簡単な説明】
【００１８】
【図１】本明細書に開示するバーコードの設計装置を示す図である。
【図２】バーコードの例を示す図である。
【図３】（Ａ）は、垂直パターンのバーコードを示す図であり、（Ｂ）は、水平パターンのバーコードを示す図である。
【図４】バーコード測定値表を示す図である。
【図５】設計装置の動作を説明するフローチャート（その１）である。
【図６】設計装置の動作を説明するフローチャート（その２）である。
【図７】設計装置の動作を説明するフローチャート（その３）である。
【図８】バーコードの一桁あたりの幅と、各設計値との関係を示す図である。
【発明を実施するための形態】
【００１９】
以下、本明細書で開示するバーコードの設計装置の好ましい一実施形態を、図を参照して説明する。但し、本発明の技術範囲はそれらの実施形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
【００２０】
図１は、本明細書に開示するバーコードの設計装置を示す図である。
【００２１】
本実施形態のバーコードの設計装置１０（以下、単に装置１０ともいう）は、所定の仕様を有するバーコードを、所定の印字条件で印字するためのバーコードの設計値を決定する装置である。
【００２２】
これにより、装置１０により設計されるバーコードは、印字されたバーコードが読み取られる時に、より正確にバーコードが読み取られることを可能とする。
【００２３】
上述したように、同じ仕様のバーコードを印字する場合でも、ドットプリンタが異なると、バー又はスペースの寸法が異なる場合があるので、装置１０は、ドットプリンタ毎にバーコードを設計する。また、同じ仕様のバーコードを印字する場合でも、用紙等の媒体が異なると、バー又はスペースの寸法が異なる場合があるので、装置１０は、媒体毎にバーコードを設計するものである。本明細書では、ドットプリンタは、文字等の印字対象を印字する時に、一又は複数のドットを用いて印字対象を形成して印字するプリンタを意味する。例えば、ドットプリンタとして、インクジェットプリンタ、ドットインパクトプリンタ、熱転写プリンタ等が挙げられる。
【００２４】
また、装置１０は、所定のドットプリンタで使用されるインクの種類毎に、バーコードを設計可能である。これは、同じ仕様のバーコードを、同じドットプリンタを用いて同じ用紙に印字する場合でも、異なるインクを用いてバーコードを印字すると、バー又はスペースの寸法が異なる場合があるためである。
【００２５】
更に、装置１０は、所定のドットプリンタでバーコードが印字される時の用紙搬送方向毎に、バーコードを設計可能である。これは、同じ仕様のバーコードを、同じドットプリンタを用いて同じ用紙に印字する場合でも、バーコードが印字される時の用紙搬送方向が異なると、バー又はスペースの寸法が異なる場合があるためである。
【００２６】
図２は、バーコードの例として、ＪＩＳ  Ｘ０５０３：２０１２により規定されているＣＯＤＥ３９の仕様を示す。
【００２７】
ＣＯＤＥ３９のバーコード（バーコードシンボルともいう）は、始まり及び終わりに配置されるクワイエットゾーンと、クワイエットゾーン間に配置される複数のキャラクタを有する。
【００２８】
複数のキャラクタは、バーコードの始まりを示すスタートキャラクタと、終わりを示すストップキャラクタを有する。
【００２９】
スタートキャラクタ及びストップキャラクタの間には、バーコードに含ませる情報を示す１又は複数のキャラクタが配置される。スタートキャラクタ及びストップキャラクタ以外のキャラクタの数を、以下、桁数ともいう。
【００３０】
ＣＯＤＥ３９のバーコードのキャラクタは、２本の太バーと、３本の細バーと、１本の太スペースと、３本の細スペースとを有し、合計で９本のバー及びスペースを用いて形成される。細バーと細スペースの幅は等しい。なお、バー及びスペースの寸法には誤差が許容されており、この誤差についても、ＪＩＳの規格により定められている。
【００３１】
ここで、細バーの幅に対する太バーの幅の比率である太細バー比率は、２．０：１〜３．０：１の範囲に規定される。同様に、細スペースの幅に対する太スペースの幅の比率である太細スペース比率も、２．０：１〜３．０：１の範囲に規定される。
【００３２】
隣接する２つのキャラクタ間には、キャラクタ間ギャップがスペースとして配置される。キャラクタ間ギャップの幅は、細エレメント（細バーと細スペースの総称）の幅以上である。一のバーコードの幅を狭くする観点から、キャラクタ間ギャップの幅は、細エレメントの幅と同一にされる場合が多い。
【００３３】
本明細書において、バーの幅は、バーの長手方向と直交する方向又は寸法を意味しており、スペースの幅は、スペースの長手方向と直交する方向又は寸法を意味する。
【００３４】
装置１０は、ＣＯＤＥ３９を含む様々な仕様のバーコードを設計可能である。
【００３５】
図３（Ａ）は、垂直パターンのバーコードを示す図であり、図３（Ｂ）は、水平パターンのバーコードを示す図である。
【００３６】
垂直パターンのバーコードでは、バー及びスペースの長手方向が、用紙搬送方向と一致しており、バー及びスペースの幅は、用紙搬送方向と直交する方向になる。
【００３７】
水平パターンのバーコードでは、バー及びスペースの長手方向が、用紙搬送方向と直交しており、バー及びスペースの幅は、用紙搬送方向と一致する。
【００３８】
バーを形成するドットの間隔は、用紙搬送方向と、用紙搬送方向と直交する方向とでは異なる場合がある。そこで、装置１０は、バーコードが、垂直パターンとして印字されるのか、又は、水平パターンとして印字されるかという情報に基づいて、バーコードを設計する。
【００３９】
以下、装置１０について詳述する。
【００４０】
処理部１１は、一つまたは複数のプロセッサと、周辺回路とを有する。処理部１１は、記憶部１２に予め記憶されている所定のプログラムに従い、装置１０の各ハードウェア構成要素の制御及び各種処理を行い、処理中に生じるデータを一時的に保存するために記憶部１２を利用する。
【００４１】
記憶部１２は、ランダムアクセスメモリ（ＲＡＭ）又はリードオンリーメモリ（ＲＯＭ）等の半導体メモリ又は磁気ディスク又はフラッシュメモリ等を有していても良い。記憶部１２は、所定のプログラムを記憶する記憶媒体を読み出し可能なドライブを有していても良い。記憶部１２は、バーコードの設計処理に使用されるサンプルのバーコードのバーコード測定値表を記憶する。
【００４２】
図４は、バーコード測定値表を示す図である。
【００４３】
バーコード測定値表４００には、所定のドットプリンタで所定の媒体に印字されたサンプルのバーコードにおける細バーの幅の測定値とドット数との関係及び細スペースの幅の測定値とドット数との関係が登録される。記憶部１２は、ドットプリンタを識別するプリンタ識別情報と、媒体を識別する媒体識別情報と、ドットプリンタで使用されるインクを識別するインク識別情報と、バーコードが垂直パターン又は水平パターンで印字されているかを識別するパターン識別情報とが関連付けられたバーコード測定値表を記憶する。即ち、バーコード測定値表は、プリンタ識別情報と、媒体識別情報と、インク識別情報と、パターン識別情報との異なる組み合わせ毎に作成されて、記憶部１２に記憶される。なお、例えばインク識別情報を除いて、バーコード測定値表と関連付けられる識別情報の数を減らして、バーコード測定値表を作成してもよい。
【００４４】
サンプルのバーコードのバー又はスペースの幅の測定は、例えば、媒体に印字されたバーコードを撮影した画像を拡大して、画像中のバー又はスペースの幅を測定して求めてもよい。また、媒体に印字されたサンプルのバーコードを、印字したドットプリンタよりも高解像度のスキャナを用いて撮影し、撮影されたビットマップ画像におけるバー又はスペースの幅の画素数に基づいて、バー又はスペースの幅を求めてもよい。
【００４５】
図４に示すバーコード測定値表４００は、印字解像度が３００ｄｐｉのドットプリンタを用いて、所定の用紙に印字された垂直パターンのサンプルのバーコードにおける細バー及び細スペースの幅の測定値の例を示す。
【００４６】
バーコード測定値表４００は、ドット数を示すドット数欄４０１と、細バーの幅の測定値を示す細バー幅欄４０２と、細スペースの幅の測定値を示す細スペース幅欄４０３を有する。
【００４７】
また、バーコード測定値表４００は、印字解像度が３００ｄｐｉのドットプリンタを用いて細バーが印字された場合の理論値が登録される細バー幅（理論値）欄４０４を有する。なお、バーコード測定値表４００は、細バー幅（理論値）欄を有していなくてもよい。
【００４８】
細バー幅欄４０２には、細バーの幅方向の印字が、ドット数欄４０１に示されるドット数により行われたバーコードを測定して得られた細バーの幅の測定値が登録される。
【００４９】
本実施形態では、細スペース幅欄４０３には、図４中に示す式に基づいて得られた細スペースの幅が登録される。なお、細バーの幅方向の印字が、ドット数欄４０１に示されるドット数により行われたサンプルのバーコードを測定して得られた細スペースの幅を測定して、細スペース幅欄４０３に登録してもよい。本明細書では、細バーの幅（理論値）と、細バー幅の測定値から求めた細スペースの幅を含めて、細スペース幅の測定値という。
【００５０】
記憶部１２は、バーコードの識別情報と関連づけられたバーコードの仕様情報を記憶する。バーコードの仕様情報は、例えば、バーコードの細バーの数と、太バーの数と、細スペースの数と、太スペースの数と、太細バー比率の許容範囲と、太細スペース比率の許容範囲を含む。
【００５１】
表示部１３は、処理部１１に制御されて、各種の情報を表示可能である。表示部１３としては、例えば、液晶ディスプレイを用いることができる。
【００５２】
操作部１４は、装置１０の操作者により操作されて、バーコードの設計仕様に関する各種情報を入力可能である。操作部１４としては、例えば、キーボード、マウス又はタッチパネル等を用いることができる。
【００５３】
出力部１５は、決定されたバーコードの設計値を出力する。出力部１５として、例えば、ドットプリンタを用いることができる。
【００５４】
装置１０は、以下の４つの方針に従ってバーコードを設計する。なお、（３）と（４）とは、トレードオフの関係にある。
【００５５】
（１）装置１０は、所定のドットプリンタで所定の媒体に印字した時の印字幅が、設計印字幅内で最大の印字幅を有するように、バーコードを設計する。これにより、バーコードが正確に読み取り易くなる。
【００５６】
（２）装置１０は、印字された細バーの幅の測定値と、印字された細スペースの幅の測定値との差が出来るだけ小さくなるように、バーコードを設計する。具体的には、装置１０は、印字された細バーの幅の測定値と、印字された細スペースの幅との差が所定の閾値よりも小さくなるように、バーコードを設計する。これにより、細バー及び細スペースを精度良く読み取り易くなる。
【００５７】
（３）装置１０は、太細バー比率が、太細バー比率の許容範囲内で最大になるように、細バーの幅のドット数及び細スペースの幅のドット数を決定するように、バーコードを設計する。これにより、太バーと細バーとを識別して、読み取り易くなる。
【００５８】
（４）装置１０は、細バーの幅又は細スペースの幅が最大になるように、細バーの幅のドット数及び細スペースの幅のドット数を決定するように、バーコードを設計する。これにより、細バー及び細スペースを精度良く読み取り易くなる。
【００５９】
次に、上述した装置１０の動作を、図５〜図７に示すフローチャートを参照しながら、以下に説明する。
【００６０】
まず、ステップＳ５０１において、処理部１１は、バーコードの印刷条件を入力する。ユーザは、操作部１４を用いて、バーコードの印刷条件を入力する。装置１０では、バーコードの印刷条件として、プリンタ識別情報と、媒体識別情報と、インク識別情報と、パターン識別情報とが入力される。
【００６１】
本実施形態では、入力されたバーコードの印刷条件と関連付けられて、図４に示すバーコード測定値表４００が選択される。なお、バーコードの印刷条件に応じて、対応するバーコード測定値表が記憶１２から適宜選択される。
【００６２】
次に、ステップＳ５０３において、処理部１１は、バーコードの設計条件を入力する。ユーザは、操作部１４を用いて、バーコードの設計条件を入力する。処理部１１では、バーコードの設計条件として、バーコードの仕様を識別するバーコード識別情報と、バーコードの印字幅と、バーコードの桁数とが入力される。
【００６３】
本実施形態では、バーコード識別情報として、ＣＯＤＥ３９を示すバーコード識別情報が入力される。また、印字幅として、２インチが入力され、バーコードの桁数として、７桁が入力される。
【００６４】
処理部１１は、バーコード識別情報と関連づけられたバーコードの仕様情報を、記憶部１２から読み出す。
【００６５】
設計されるＣＯＤＥ３９のバーコードの仕様情報として、スタートキャラクタ及びストップキャラクタの２桁を有すること、各キャラクタは２本の太バーと、３本の細バーと、１本の太スペースと、３本の細スペースとを有すること、隣接する２つのキャラクタ間にはキャラクタ間ギャップを有すること、太細バー比率の許容範囲が、２．０：１〜３．０：１であること、太細スペース比率の許容範囲が、２．０：１〜３．０：１であることがある。なお、設計されるバーコードには、クワイエットゾーンは含めないことにする。
【００６６】
設計されるバーコードは、スタートキャラクタ及びストップキャラクタの２桁と、情報としての７桁とを合計した９桁を有することになる。
【００６７】
そして、処理部１１は、ドットプリンタの解像度３００ｄｐｉにおけるバーコードの一桁あたりの最大長Ｍを求める。ここで、一桁あたりの最大長Ｍは、バー及びスペースの幅方向の寸法を意味する。
【００６８】
２インチの印字幅に、９桁を有するバーコードが印字されるので、３００ドット×２インチ／９桁＝６００ドット／９桁＝６６．６６６ドット／桁が、一桁あたりの最大長Ｍとなる。
【００６９】
次に、ＣＯＤＥ３９のバーコードに対して、細バーの幅のドット数Ｂと、細スペースの幅のドット数Ｓと、太細バー比率Ｎと、太細スペース比率Ｎ’と、キャラクタ間ギャップの幅Ｃと、一桁あたりの最大長Ｍとの関係を、以下に説明する。
【００７０】
バーコードの一桁あたりの幅は、３×Ｂ＋３×Ｓ＋２×Ｎ×Ｂ＋Ｎ’×Ｃ（ドット）で表されるので、印字幅の６００（ドット）は、下記式（１）で表される。ここで、９桁のバーコードの場合、８個のキャラクタ間ギャップが配置される。
【００７１】
９×（３×Ｂ＋３×Ｓ＋２×Ｎ×Ｂ＋Ｎ’×Ｓ）＋８×Ｃ＝６００    （１）
【００７２】
両辺を９で割ることにより、一桁あたりの幅のドット数の最大値である、一桁あたりの最大長Ｍ（６６．６６６６ドット／桁）は、下記式（２）で表される。
【００７３】
３×Ｂ＋３×Ｓ＋２×Ｎ×Ｂ＋Ｎ’×Ｓ＋８／９×Ｃ＝６６．６６６６    （２）
【００７４】
ここで、キャラクタ間ギャップの幅Ｃは、細スペースの幅のドット数Ｓと等しいとすると、上記式（２）は、下記式（３）で表される。
【００７５】
３×Ｂ＋３×Ｓ＋２×Ｎ×Ｂ＋Ｎ’×Ｓ＋８／９×Ｓ＝６６．６６６６    （３）
【００７６】
更に、上記式（３）の左辺をまとめると、下記式（４）が得られる。後述する処理において、バーコードの設計条件を変化させる度に、下記式（４）の左辺の計算式を用いて、一桁あたりの幅が計算される。
【００７７】
３×（Ｂ＋Ｓ）＋２×Ｎ×Ｂ＋Ｎ’×Ｓ＋８／９×Ｓ＝６６．６６６６    （４）
【００７８】
ここで、細バーの幅のドット数Ｂ、及び、細スペースの幅のドット数Ｓは、１以上の整数である。
【００７９】
次に、ステップＳ５０５において、最適幅Ｌｐの初期値として、ゼロが設定される。最適幅Ｌｐは、バーコードの設計条件を変化させて最適値を求めている各時点において、最適なバーコードの設計条件におけるバーコードの一桁あたりの幅がドット数で表された値である。
【００８０】
次に、ステップＳ５０７において、処理部１１は、バーコード設計条件内で、最小の太細バー比率Ｎ及び最小の太細スペース比率Ｎ’を有するバーコードにおける最大の細バーの幅のドット数を求めて、細バーの幅のドット数Ｂとする。
【００８１】
ＣＯＤＥ３９のバーコードでは、最小の太細バー比率Ｎは、２．０であり、最小の太細スペース比率Ｎ’も２．０である。
【００８２】
処理部１１は、上記式（４）を不等式に変形した下記式（５）を解いて、細バーの幅のドット数Ｂを求める。
【００８３】
３×（Ｂ＋Ｓ）＋２×Ｎ×Ｂ＋Ｎ’×Ｓ＋８／９×Ｓ≦６６．６６６６    （５）
【００８４】
上記式（５）において、Ｎ＝Ｎ’＝２．０を代入し、且つ、Ｂ＝Ｓとして、下記式（６）を得る。Ｂ＝Ｓは、ＣＯＤＥ３９の仕様である。
【００８５】
Ｂ×（３＋２×２）＋Ｓ×（３．９＋２）≦６６．６６６６    （６）
Ｂ×１２．９≦６６．６６６６
Ｂ≒５．１７
【００８６】
上記式（６）を解くと、細バーの幅のドット数Ｂとして、約５．１７が得られる。処理１１は、この値を超えない最大の整数である５を、細バーの幅のドット数Ｂとする。
【００８７】
次に、ステップＳ５０９において、処理部１１は、太細バー比率Ｎを、許容範囲の最小値の２．０とし、太細スペース比率Ｎ’を、許容範囲の最小値の２．０とする。
【００８８】
次に、ステップＳ５１１において、処理部１１は、入力された印刷条件における細バーの幅のドット数Ｂの測定値を、記憶部１２に記憶されたバーコード測定値表４００を参照して読み出す。
【００８９】
処理部１１は、バーコード測定値表４００を参照して、細バーの幅のドット数Ｂである５ドットの測定値として、０．４２５ｍｍを読み出す。
【００９０】
次に、ステップＳ５１３において、処理部１１は、細バーの幅のドット数Ｂの測定値と、細スペースの幅の測定値との差が所定の閾値よりも小さい、細スペースの幅の測定値を有する細スペースの幅のドット数Ｓを、記憶部１２に記憶されたバーコード測定値表４００を参照して読み出す。所定の閾値として、例えば、０．０５ｍｍとすることができる。このようにして、処理部１１は、細バーの幅のドット数Ｂの測定値に最も近い細スペースの幅の測定値を有する細スペースの幅のドット数Ｓを求める。
【００９１】
具体的には、処理部１１は、バーコード測定値表４００を参照して、細バーの幅のドット数Ｂである５ドットの測定値として、０．４２５ｍｍとの差が所定の閾値よりも小さい細スペースの幅として、０．４２２ｍｍを有するドット数５を、細スペースの幅のドット数Ｓとして読み出す。
【００９２】
次に、ステップＳ５１５において、処理部１１は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と、上記式（４）の左辺の計算式に基づいて、バーコードの一桁あたりの幅Ｌを求める。
【００９３】
図８の番号１の行は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と共に、バーコードの一桁あたりの幅Ｌの値を示す。一桁あたりの幅Ｌは、６４．５ドットである。また、処理部１１は、一桁あたりの幅Ｌ（６４．５ドット）と、バーコードの桁数である９との積を求めて、バーコードの幅（６４．５ドット×９）を得る。図８は、バーコードの一桁あたりの幅と、各設計値との関係を示す。
【００９４】
次に、ステップＳ６０１において、処理部１１は、ステップＳ５１５で求められたバーコードの幅が、バーコードの設計条件である印字幅以下であるか否かを判断する。
【００９５】
ここでは、バーコードの幅（６４．５ドット×９）は、バーコードの設計条件である印字幅（３００ｄｐｉ×２インチ＝６００ドット）以下であるので（ステップＳ６０１−Ｙｅｓ）、ステップＳ６０３へ進む。
【００９６】
次に、ステップＳ６０３において、処理部１１は、バーコードの一桁あたりの幅Ｌが、最適幅Ｌｐよりも大きいか否かを判断する。なお、処理部１１は、バーコードの幅が、最適なバーコードの幅よりも大きいか否かを判断してもよい。
【００９７】
ここでは、バーコードの一桁あたりの幅Ｌ（６４．５ドット）は、最適幅Ｌｐ（初期値のゼロ）よりも大きいので（ステップＳ６０３−Ｙｅｓ）、ステップＳ６０５へ進む。
【００９８】
次に、ステップＳ６０５において、処理部１１は、細バーの幅の最適ドット数Ｂｐ、細スペースの幅の最適ドット数Ｓｐ、最適太細バー比率Ｎｐ、最適太細スペース比率Ｎｐ’を、バーコードの一桁あたりの幅Ｌ（６４．５ドット）を求めるのに使用した各値に更新する。また、処理部１１は、最適幅Ｌｐを、バーコードの一桁あたりの幅Ｌ（６４．５ドット）に更新する。なお、処理部１１は、最適なバーコードの幅を、バーコードの幅Ｌ（６４．５ドット×９）に更新してもよい。
【００９９】
具体的には、細バーの幅の最適ドット数Ｂｐを５とし、細スペースの幅の最適ドット数Ｓｐを５とし、最適太細バー比率Ｎｐを２．０とし、最適太細スペース比率Ｎｐ’を２．０とし、最適幅Ｌｐを６４．５とする。
【０１００】
次に、ステップＳ６０７において、処理部１１は、太細バー比率Ｎを、所定の値だけ増加する。本実施形態では、処理部１１は、太細バー比率Ｎを、０．１増加する。
【０１０１】
ここでは、太細バー比率Ｎは、２．０から２．１へ増加する。
【０１０２】
次に、ステップＳ６０９において、処理部１１は、太細バー比率Ｎは、許容範囲以内であるか否かを判断する。太細バー比率Ｎの許容範囲は、２．０≦Ｎ≦３．０であり、太細バー比率Ｎ（２．１）は、許容範囲以内であるので（ステップＳ６０９−Ｙｅｓ）、ステップＳ６１１へ進む。
【０１０３】
次に、ステップＳ６１１において、処理部１１は、太バーの幅のドット数Ｎ×Ｂは整数であるか否かを判断する。
【０１０４】
ここで、太バーの幅のドット数Ｎ×Ｂは、２．１×５であり、整数ではないので（ステップＳ６１１−Ｎｏ）、処理は、ステップＳ６０７の前へ戻り、ステップＳ６０７〜Ｓ６１１の処理が、ステップＳ６１１においてＹｅｓと判断されるまで繰り返される。ここで、ステップＳ６０７において、太細バー比率Ｎ（は２．２）となり、太バーの幅のドット数Ｎ×Ｂ（２．２×５）が整数となると（ステップＳ６１１−Ｙｅｓ）、処理は、ステップＳ５１５の前へ戻る。
【０１０５】
次に、ステップＳ５１５において、処理部１１は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と、上記式（４）の左辺の計算式に基づいて、バーコードの一桁あたりの幅Ｌを求める。
【０１０６】
図８の番号２の行は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と共に、バーコードの一桁あたりの幅Ｌの値を示す。一桁あたりの幅Ｌは、６６．５ドットである。また、処理部１１は、一桁あたりの幅Ｌ（６６．５ドット）と、バーコードの桁数である９との積を求めて、バーコードの幅（６６．５ドット×９）を得る。
【０１０７】
次に、ステップＳ６０１において、処理部１１は、ステップＳ５１５で求められたバーコードの幅が、バーコードの設計条件である印字幅以下であるか否かを判断する。
【０１０８】
ここでは、バーコードの幅（６６．５ドット×９）は、バーコードの設計条件である印字幅（６００ドット）以下であるので（ステップＳ６０１−Ｙｅｓ）、ステップＳ６０３へ進む。
【０１０９】
次に、ステップＳ６０３において、処理部１１は、バーコードの一桁あたりの幅Ｌが、最適幅Ｌｐよりも大きいか否かを判断する。
【０１１０】
ここでは、バーコードの一桁あたりの幅Ｌ（６６．５ドット）は、最適幅Ｌｐ（６４．５ドット）よりも大きいので（ステップＳ６０３−Ｙｅｓ）、ステップＳ６０５へ進む。
【０１１１】
次に、ステップＳ６０５において、処理部１１は、細バーの幅の最適ドット数Ｂｐ、細スペースの幅の最適ドット数Ｓｐ、最適太細バー比率Ｎｐ、最適太細スペース比率Ｎｐ’を、バーコードの一桁あたりの幅Ｌ（６６．５ドット）を求めるのに使用した各値に更新する。また、処理部１１は、最適幅Ｌｐを、バーコードの一桁あたりの幅Ｌ（６６．５ドット）に更新する。
【０１１２】
具体的には、細バーの幅の最適ドット数Ｂｐを５とし、細スペースの幅の最適ドット数Ｓｐを５とし、最適太細バー比率Ｎｐを２．２とし、最適太細スペース比率Ｎｐ’を２．０とし、最適幅Ｌｐを６６．５とする。
【０１１３】
次に、ステップＳ６０７において、処理部１１は、太細バー比率Ｎを、所定の値だけ増加する。本実施形態では、処理部１１は、太細バー比率Ｎを、０．１増加する。
【０１１４】
ここでは、太細バー比率Ｎは、２．２から２．３へ増加する。
【０１１５】
次に、ステップＳ６０９において、処理部１１は、太細バー比率Ｎは、許容範囲以内であるか否かを判断する。太細バー比率Ｎの許容範囲は、２．０≦Ｎ≦３．０であり、太細バー比率Ｎ（２．３）は、許容範囲以内であるので（ステップＳ６０９−Ｙｅｓ）、ステップＳ６１１へ進む。
【０１１６】
次に、ステップＳ６１１において、処理部１１は、太バーの幅のドット数Ｎ×Ｂは整数であるか否かを判断する。
【０１１７】
ここで、太バーの幅のドット数Ｎ×Ｂは、２．３×５であり、整数ではないので（ステップＳ６１１−Ｎｏ）、処理は、ステップＳ６０７の前へ戻り、ステップＳ６０７〜Ｓ６１１の処理が、ステップＳ６１１においてＹｅｓと判断されるまで繰り返される。ここで、ステップＳ６０７において、太細バー比率Ｎは（３．０）となり、太バーの幅のドット数Ｎ×Ｂ（３．０×５）が整数となると（ステップＳ６１１−Ｙｅｓ）、処理は、ステップＳ５１５の前へ戻る。
【０１１８】
次に、ステップＳ５１５において、処理部１１は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と、上記式（４）の左辺の計算式に基づいて、バーコードの一桁あたりの幅Ｌを求める。
【０１１９】
図８の番号３の行は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と共に、バーコードの一桁あたりの幅Ｌの値を示す。一桁あたりの幅Ｌは、７４．５ドットである。また、処理部１１は、一桁あたりの幅Ｌ（７４．５）と、バーコードの桁数である９との積を求めて、バーコードの幅（７４．５×９）を得る。
【０１２０】
次に、ステップＳ６０１において、処理部１１は、ステップＳ５１５で求められたバーコードの幅が、バーコードの設計条件である印字幅以下であるか否かを判断する。
【０１２１】
ここでは、バーコードの幅（７４．５ドット×９）は、バーコードの設計条件である印字幅（６００ドット）より大きいので（ステップＳ６０１−Ｎｏ）、処理は、ステップＳ７０１へ進む。
【０１２２】
次に、ステップＳ７０１において、処理部１１は、太細バー比率Ｎを、許容範囲の最小値である２．０とする。
【０１２３】
次に、ステップＳ７０３において、処理部１１は、太細スペース比率Ｎ’を、所定の値だけ増加する。本実施形態では、処理部１１は、太細スペース比率Ｎ’を、０．１増加する。
【０１２４】
ここでは、太細スペース比率Ｎ’は、２．０から２．１へ増加する。
【０１２５】
次に、ステップＳ７０５において、処理部１１は、太細スペース比率Ｎ’は、許容範囲以内であるか否かを判断する。太細スペース比率Ｎ’の許容範囲は、２．０≦Ｎ≦３．０であり、太細スペース比率Ｎ’（２．１）は、許容範囲以内であるので（ステップＳ７０５−Ｙｅｓ）、ステップＳ７０７へ進む。
【０１２６】
次に、ステップＳ７０７において、処理部１１は、太スペースの幅のドット数Ｎ’×Ｂ（Ｓ）は整数であるか否かを判断する。
【０１２７】
ここで、太スペースの幅のドット数Ｎ’×Ｂ（Ｓ）は、２．１×５であり、整数ではないので（ステップＳ７０７−Ｎｏ）、処理は、ステップＳ７０３の前へ戻り、ステップＳ７０３〜Ｓ７０７の処理が、ステップＳ７０７においてＹｅｓと判断されるまで繰り返される。ここで、ステップＳ７０７において、太細スペース比率Ｎ’は（２．２）となり、太スペースの幅のドット数Ｎ’×Ｂ（Ｓ）が整数となると（ステップＳ７０７−Ｙｅｓ）、処理は、ステップＳ５１５の前へ戻る。
【０１２８】
次に、ステップＳ５１５において、処理部１１は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と、上記式（４）の左辺の計算式に基づいて、バーコードの一桁あたりの幅Ｌを求める。
【０１２９】
図８の番号４の行は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と共に、バーコードの一桁あたりの幅Ｌの値を示す。一桁あたりの幅Ｌは、６５．５ドットである。また、処理部１１は、一桁あたりの幅Ｌ（６５．５ドット）と、バーコードの桁数である９との積を求めて、バーコードの幅（６５．５ドット×９）を得る。
【０１３０】
次に、ステップＳ６０１において、処理部１１は、ステップＳ５１５で求められたバーコードの幅が、バーコードの設計条件である印字幅以下であるか否かを判断する。
【０１３１】
ここでは、バーコードの幅（６５．５ドット×９）は、バーコードの設計条件である印字幅（６００ドット）以下であるので（ステップＳ６０１−Ｙｅｓ）、ステップＳ６０３へ進む。
【０１３２】
次に、ステップＳ６０３において、処理部１１は、バーコードの一桁あたりの幅Ｌが、最適幅Ｌｐよりも大きいか否かを判断する。
【０１３３】
ここでは、バーコードの一桁あたりの幅Ｌ（６５．５ドット）は、最適幅Ｌｐ（６６．５ドット）よりも小さいので（ステップＳ６０３−Ｎｏ）、ステップＳ６１３へ進む。
【０１３４】
次に、ステップＳ６１３において、処理部１１は、バーコードの一桁あたりの幅Ｌが、最適幅Ｌｐと等しいか否かを判断する。なお、処理部１１は、バーコードの幅が、最適な幅と等しいか否かを判断してもよい。
【０１３５】
ここでは、バーコードの一桁あたりの幅Ｌ（６５．５ドット）は、最適幅Ｌｐ（６６．５ドット）と等しくはないので（ステップＳ６１３−Ｎｏ）、処理は、ステップＳ６０７へ進む。
【０１３６】
次に、ステップＳ６０７において、処理部１１は、太細バー比率Ｎを、所定の値だけ増加する。本実施形態では、処理部１１は、太細バー比率Ｎを、０．１増加する。
【０１３７】
ここでは、太細バー比率Ｎは、２．０から２．１へ増加する。
【０１３８】
次に、ステップＳ６０９において、処理部１１は、太細バー比率Ｎは、許容範囲以内であるか否かを判断する。太細バー比率Ｎの許容範囲は、２．０≦Ｎ≦３．０であり、太細バー比率Ｎ（２．１）は、許容範囲以内であるので（ステップＳ６０９−Ｙｅｓ）、ステップＳ６１１へ進む。
【０１３９】
次に、ステップＳ６１１において、処理部１１は、太バーの幅のドット数Ｎ×Ｂは整数であるか否かを判断する。
【０１４０】
ここで、太バーの幅のドット数Ｎ×Ｂは、２．１×５であり、整数ではないので（ステップＳ６１１−Ｎｏ）、処理は、ステップＳ６０７の前へ戻り、ステップＳ６０７〜Ｓ６１１の処理が、ステップＳ６１１においてＹｅｓと判断されるまで繰り返される。ここで、ステップＳ６０７において、太細バー比率Ｎは（２．２）となり、太バーの幅のドット数Ｎ×Ｂ（２．２×５）が整数となると（ステップＳ６１１−Ｙｅｓ）、処理は、ステップＳ５１５の前へ戻る。
【０１４１】
次に、ステップＳ５１５において、処理部１１は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と、上記式（４）の左辺の計算式に基づいて、バーコードの一桁あたりの幅Ｌを求める。
【０１４２】
図８の番号５の行は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と共に、バーコードの一桁あたりの幅Ｌの値を示す。一桁あたりの幅Ｌは、６７．５ドットである。また、処理部１１は、一桁あたりの幅Ｌ（６７．５ドット）と、バーコードの桁数である９との積を求めて、バーコードの幅（６７．５ドット×９）を得る。
【０１４３】
次に、ステップＳ６０１において、処理部１１は、ステップＳ５１５で求められたバーコードの幅が、バーコードの設計条件である印字幅以下であるか否かを判断する。
【０１４４】
ここでは、バーコードの幅（６７．５ドット×９）は、バーコードの設計条件である印字幅（６００ドット）より大きいので（ステップＳ６０１−Ｎｏ）、処理は、ステップＳ７０１へ進む。
【０１４５】
次に、ステップＳ７０１において、処理部１１は、太細バー比率Ｎを、許容範囲の最小値である２．０とする。
【０１４６】
次に、ステップＳ７０３において、処理部１１は、太細スペース比率Ｎ’を、所定の値だけ増加する。本実施形態では、処理部１１は、太細スペース比率Ｎ’を、０．１増加する。
【０１４７】
ここでは、太細スペース比率Ｎ’は、２．２から２．３へ増加する。
【０１４８】
次に、ステップＳ７０５において、処理部１１は、太細スペース比率Ｎ’は、許容範囲以内であるか否かを判断する。太細スペース比率Ｎ’の許容範囲は、２．０≦Ｎ≦３．０であり、太細スペース比率Ｎ’（２．３）は、許容範囲以内であるので（ステップＳ７０５−Ｙｅｓ）、ステップＳ７０７へ進む。
【０１４９】
次に、ステップＳ７０７において、処理部１１は、太スペースの幅のドット数Ｎ’×Ｂ（Ｓ）は整数であるか否かを判断する。
【０１５０】
ここで、太スペースの幅のドット数Ｎ’×Ｂ（Ｓ）は、２．３×５であり、整数ではないので（ステップＳ７０７−Ｎｏ）、処理は、ステップＳ７０３の前へ戻り、ステップＳ７０３〜Ｓ７０７の処理が、ステップＳ７０７においてＹｅｓと判断されるまで繰り返される。ここで、ステップＳ７０７において、太細スペース比率Ｎ’は（３．０）となり、太スペースの幅のドット数Ｎ’×Ｂ（Ｓ）が整数となると（ステップＳ７０７−Ｙｅｓ）、処理は、ステップＳ５１５の前へ戻る。
【０１５１】
次に、ステップＳ５１５において、処理部１１は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と、上記式（４）の左辺の計算式に基づいて、バーコードの一桁あたりの幅Ｌを求める。
【０１５２】
図８の番号６の行は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と共に、バーコードの一桁あたりの幅Ｌの値を示す。一桁あたりの幅Ｌは、６９．５ドットである。また、処理部１１は、一桁あたりの幅Ｌ（６９．５ドット）と、バーコードの桁数である９との積を求めて、バーコードの幅（６９．５ドット×９）を得る。
【０１５３】
次に、ステップＳ６０１において、処理部１１は、ステップＳ５１５で求められたバーコードの幅が、バーコードの設計条件である印字幅以下であるか否かを判断する。
【０１５４】
ここでは、バーコードの幅（６９．５ドット×９）は、バーコードの設計条件である印字幅（６００ドット）よりも大きいので（ステップＳ６０１−Ｙｅｓ）、ステップＳ７０１へ進む。
【０１５５】
次に、ステップＳ７０１において、処理部１１は、太細バー比率Ｎを、許容範囲の最小値である２．０とする。
【０１５６】
次に、ステップＳ７０３において、処理部１１は、太細スペース比率Ｎ’を、所定の値だけ増加する。本実施形態では、処理部１１は、太細スペース比率Ｎ’を、０．１増加する。
【０１５７】
ここでは、太細スペース比率Ｎ’は、３．０から３．１へ増加する。
【０１５８】
次に、ステップＳ７０５において、処理部１１は、太細スペース比率Ｎ’は、許容範囲以内であるか否かを判断する。太細スペース比率Ｎ’の許容範囲は、２．０≦Ｎ≦３．０であり、太細スペース比率Ｎ’（３．１）は、許容範囲以内ではないので（ステップＳ７０５−Ｎｏ）、ステップＳ７０９へ進む。
【０１５９】
次に、ステップＳ７０９において、処理部１１は、細バーの幅のドット数Ｂを１ドット減少する。
【０１６０】
ここでは、細バーの幅のドット数Ｂは、５．０から４．０へ減少する。
【０１６１】
次に、ステップＳ７１１において、処理部１１は、細バーの幅のドット数Ｂが、ゼロよりも大きいか否かを判断する。
【０１６２】
ここでは、細バーの幅のドット数Ｂ（４．０）は、ゼロよりも大きいので（ステップＳ７１１−Ｙｅｓ）、処理は、ステップＳ５０９の前へ戻る。
【０１６３】
次に、ステップＳ５０９において、処理部１１は、太細バー比率Ｎを、許容範囲の最小値の２．０とし、太細スペース比率Ｎ’を、許容範囲の最小値の２．０とする。
【０１６４】
次に、ステップＳ５１１において、処理部１１は、入力された印刷条件における細バーの幅のドット数Ｂの測定値を、記憶部１２に記憶されたバーコード測定値表４００を参照して読み出す。
【０１６５】
処理部１１は、バーコード測定値表４００を参照して、細バーの幅のドット数Ｂである４ドットの測定値として、０．３８９ｍｍを読み出す。
【０１６６】
次に、ステップＳ５１３において、処理部１１は、細バーの幅のドット数Ｂの測定値と、細スペースの幅の測定値との差が所定の閾値よりも小さい、細スペースの幅の測定値を有する細スペースの幅のドット数Ｓを、記憶部１２に記憶されたバーコード測定値表４００を参照して読み出す。
【０１６７】
処理部１１は、バーコード測定値表４００を参照して、細バーの幅のドット数Ｂである４ドットの測定値として、０．３８９ｍｍとの差が所定の閾値（０．０５）よりも小さい細スペースの幅として、０．４２２ｍｍを有するドット数５を、細スペースの幅のドット数Ｓとして読み出す。
【０１６８】
次に、ステップＳ５１５において、処理部１１は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と、上記式（４）の左辺の計算式に基づいて、バーコードの一桁あたりの幅Ｌを求める。
【０１６９】
図８の番号７の行は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と共に、バーコードの一桁あたりの幅Ｌの値を示す。一桁あたりの幅Ｌは、５７．５ドットである。また、処理部１１は、一桁あたりの幅Ｌ（５７．５ドット）と、バーコードの桁数である９との積を求めて、バーコードの幅（５７．５５ドット×９）を得る。
【０１７０】
次に、ステップＳ６０１において、処理部１１は、ステップＳ５１５で求められたバーコードの幅が、バーコードの設計条件である印字幅以下であるか否かを判断する。
【０１７１】
ここでは、バーコードの幅（５７．５ドット×９）は、バーコードの設計条件である印字幅（６００ドット）以下であるので（ステップＳ６０１−Ｙｅｓ）、ステップＳ６０３へ進む。
【０１７２】
次に、ステップＳ６０３において、処理部１１は、バーコードの一桁あたりの幅Ｌが、最適幅Ｌｐよりも大きいか否かを判断する。
【０１７３】
ここでは、バーコードの一桁あたりの幅Ｌ（５７．５ドット）は、最適幅Ｌｐ（初期値のゼロ）よりも小さいので（ステップＳ６０３−Ｎｏ）、処理は、ステップＳ６１３へ進む。
【０１７４】
次に、ステップＳ６１３において、処理部１１は、バーコードの一桁あたりの幅Ｌが、最適幅Ｌｐと等しいか否かを判断する。
【０１７５】
ここでは、バーコードの一桁あたりの幅Ｌ（５７．５ドット）は、最適幅Ｌｐ（６６．５ドット）と等しくはないので（ステップＳ６１３−Ｎｏ）、ステップＳ６０７へ進む。
【０１７６】
次に、ステップＳ６０７において、処理部１１は、太細バー比率Ｎを、所定の値だけ増加する。本実施形態では、処理部１１は、太細バー比率Ｎを、０．１増加する。
【０１７７】
ここでは、太細バー比率Ｎは、２．０から２．１へ増加する。
【０１７８】
次に、ステップＳ６０９において、処理部１１は、太細バー比率Ｎは、許容範囲以内であるか否かを判断する。太細バー比率Ｎの許容範囲は、２．０≦Ｎ≦３．０であり、太細バー比率Ｎ（２．１）は、許容範囲以内であるので（ステップＳ６０９−Ｙｅｓ）、ステップＳ６１１へ進む。
【０１７９】
次に、ステップＳ６１１において、処理部１１は、太バーの幅のドット数Ｎ×Ｂは整数であるか否かを判断する。
【０１８０】
ここで、太バーの幅のドット数Ｎ×Ｂは、２．１×４であり、整数ではないので（ステップＳ６１１−Ｎｏ）、処理は、ステップＳ６０７の前へ戻り、ステップＳ６０７〜Ｓ６１１の処理が、ステップＳ６１１においてＹｅｓと判断されるまで繰り返される。ここで、ステップＳ６０７において、太細バー比率Ｎ（は２．５）となり、太バーの幅のドット数Ｎ×Ｂ（２．５×４）が整数となると（ステップＳ６１１−Ｙｅｓ）、処理は、ステップＳ５１５の前へ戻る。
【０１８１】
処理部１１は、ステップＳ５１５以降の処理を繰り返して、図８の番号８〜１１の計算を行う。
【０１８２】
次に、ステップＳ５１５において、図８の番号１２の計算を行う処理を、以下に説明する。
【０１８３】
まず、ステップＳ５１５において、処理部１１は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と、上記式（４）の左辺の計算式に基づいて、バーコードの一桁あたりの幅Ｌを求める。
【０１８４】
図８の番号１２の行は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と共に、バーコードの一桁あたりの幅Ｌの値を示す。一桁あたりの幅Ｌは、６６．５ドットである。また、処理部１１は、一桁あたりの幅Ｌ（６６．５ドット）と、バーコードの桁数である９との積を求めて、バーコードの幅（６６．５ドット×９）を得る。
【０１８５】
次に、ステップＳ６０１において、処理部１１は、ステップＳ５１５で求められたバーコードの幅が、バーコードの設計条件である印字幅以下であるか否かを判断する。
【０１８６】
ここでは、バーコードの幅（６６．５ドット×９）は、バーコードの設計条件である印字幅（６００ドット）よりも小さいので（ステップＳ６０１−Ｙｅｓ）、ステップＳ６０３へ進む。
【０１８７】
次に、ステップＳ６０３において、処理部１１は、バーコードの一桁あたりの幅Ｌが、最適幅Ｌｐよりも大きいか否かを判断する。
【０１８８】
ここでは、バーコードの一桁あたりの幅Ｌ（６６．５ドット）は、最適幅Ｌｐ（６６．５ドット）よりも小さくはないので（ステップＳ６０３−Ｎｏ）、ステップＳ６１３へ進む。
【０１８９】
次に、ステップＳ６１３において、処理部１１は、バーコードの一桁あたりの幅Ｌが、最適幅Ｌｐと等しいか否かを判断する。
【０１９０】
ここでは、バーコードの一桁あたりの幅Ｌ（６６．５ドット）は、最適幅Ｌｐ（６６．５ドット）と等しいので（ステップＳ６１３−Ｙｅｓ）、処理は、ステップＳ６１５へ進む。
【０１９１】
次に、ステップＳ６１５において、処理部１１は、現在の太細バー比率Ｎが、最適太細バー比率Ｎｐよりも大きく、且つ、現在の太細スペース比率Ｎ’が、最適太細スペース比率Ｎｐ’よりも大きく、且つ、現在の細バーの幅のドット数Ｂが、細バーの幅の最適ドット数Ｂｐと等しいか否かを判断する。
【０１９２】
ここで、現在の太細バー比率Ｎ（３．０）は、最適太細バー比率Ｎｐ（２．２）よりも大きく、現在の太細スペース比率Ｎ’（２．２）が、最適太細スペース比率Ｎｐ’（２．０）よりも大きいが、現在の細バーの幅のドット数Ｂ（４）は、細バーの幅の最適ドット数Ｂｐ（５）と等しくはないので（ステップＳ６１５−Ｎｏ）、処理は、ステップＳ６０７へ進む。
【０１９３】
処理部１１は、ステップＳ６０７以降の処理を繰り返して、ステップＳ５１５において、図８の番号１３の計算を行う。
【０１９４】
次に、ステップＳ５１５において、図８の番号１４の計算を行う処理を、以下に説明する。
【０１９５】
まず、ステップＳ５１５において、処理部１１は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と、上記式（４）の左辺の計算式に基づいて、バーコードの一桁あたりの幅Ｌを求める。
【０１９６】
図８の番号１４の行は、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ，太細スペース比率Ｎ’と共に、バーコードの一桁あたりの幅Ｌの値を示す。一桁あたりの幅Ｌは、６６．５ドットである。また、処理部１１は、一桁あたりの幅Ｌ（６６．５ドット）と、バーコードの桁数である９との積を求めて、バーコードの幅（６６．５ドット×９）を得る。
【０１９７】
次に、ステップＳ６０１において、処理部１１は、ステップＳ５１５で求められたバーコードの幅が、バーコードの設計条件である印字幅以下であるか否かを判断する。
【０１９８】
ここでは、バーコードの幅（６６．５ドット×９）は、バーコードの設計条件である印字幅（６００ドット）よりも小さいので（ステップＳ６０１−Ｙｅｓ）、ステップＳ６０３へ進む。
【０１９９】
次に、ステップＳ６０３において、処理部１１は、バーコードの一桁あたりの幅Ｌが、最適幅Ｌｐよりも大きいか否かを判断する。
【０２００】
ここでは、バーコードの一桁あたりの幅Ｌ（６６．５ドット）は、最適幅Ｌｐ（６６．５ドット）よりも小さくはないので（ステップＳ６０３−Ｎｏ）、ステップＳ６１３へ進む。
【０２０１】
次に、ステップＳ６１３において、処理部１１は、バーコードの一桁あたりの幅Ｌが、最適幅Ｌｐと等しいか否かを判断する。
【０２０２】
ここでは、バーコードの一桁あたりの幅Ｌ（６６．５ドット）は、最適幅Ｌｐ（６６．５ドット）と等しいので（ステップＳ６１３−Ｙｅｓ）、処理は、ステップＳ６１５へ進む。
【０２０３】
次に、ステップＳ６１５において、処理部１１は、現在の太細バー比率Ｎが、最適太細バー比率Ｎｐよりも大きく、且つ、現在の太細スペース比率Ｎ’が、最適太細スペース比率Ｎｐ’よりも大きく、且つ、現在の細バーの幅のドット数Ｂが、細バーの幅の最適ドット数Ｂｐと等しいか否かを判断する。
【０２０４】
ここで、現在の太細バー比率Ｎ（２．５）は、最適太細バー比率Ｎｐ（２．２）よりも大きく、現在の太細スペース比率Ｎ’（３．０）は、最適太細スペース比率Ｎｐ’（２．０）よりも大きいが、現在の細バーの幅のドット数Ｂ（４）は、細バーの幅の最適ドット数Ｂｐ（５）と等しくはないので（ステップＳ６１５−Ｎｏ）、処理は、ステップＳ６０７へ進む。
【０２０５】
処理部１１は、ステップＳ６０７以降の処理を繰り返して、ステップＳ５１５において、図８の番号１５以降の計算を行う。
【０２０６】
例えば、図８の番号１７の計算では、細バーの幅のドット数Ｂが３であり、細スペースの幅のドット数Ｓが４であり、太細バー比率Ｎが３．０であり、太細スペース比率Ｎ’が３．０の時に、バーコードの一桁あたりの幅Ｌが５４．６ドットであることが示されている。
【０２０７】
本実施形態では、これ以降の処理において、新たな最適なバーコードの設計条件は出現しない。
【０２０８】
処理部１１は、全てのバーコードの設計条件に対して、細バーの幅のドット数Ｂ、細スペースの幅のドット数Ｓ、太細バー比率Ｎ、太細スペース比率Ｎ’の全ての組み合わせに対して、バーコードの一桁あたりの幅Ｌ及びバーコードの幅を求めて、最適なバーコードの設計条件を求めるが、これ以上の計算結果の説明は省略する。
【０２０９】
上述した装置１０の動作例では、入力されたバーコードの印字条件及び設計条件に対する最適な設計条件として、図８の番号２の設計条件が求められる。
【０２１０】
その結果、ステップＳ７１３において、処理部１１は、細バーの幅の最適ドット数Ｂｐは５であり、細スペースの幅の最適ドット数Ｓｐは５であり、最適太細バー比率Ｎｐを２．２であり、最適太細スペース比率Ｎｐ’を２．０であり、最適幅Ｌｐを６６．５となることを決定する。
【０２１１】
処理部１１は、出力部１５を用いて、決定された最適なバーコードの設計値を出力する。
【０２１２】
上述した本実施形態の装置１０によれば、新たなバーコードを迅速に設計することできる。また、設計されたバーコードは、細バー及び細スペースを精度良く読み取り易く、太バーと細バーとを識別して読み取り易く、細バー及び細スペースを精度良く読み取り易く、総合してバーコードを正確に読み取り易い。
【０２１３】
本実施形態の装置１０を用いて、新たなバーコードを設計するのに要した時間を、従来の方法を用いた設計するのに要した時間と比較して、以下に説明する。
【０２１４】
まず、記憶部１２に記憶させるバーコード測定値表を作成するためのデータを作成するのに要した時間は、１６時間であった。その後、装置１０を用いて、新たなバーコードを設計するのに要した時間は１時間であった。今後、新たなバーコードを設計するのに要する時間も、同様に１時間程度であると考えられる。
【０２１５】
次に、従来の方法として、バーコードを印字するドットプリンタと、バーコードを印字する用紙を用いて、太バーと、細バーと、太スペースと、細スペース等の設計値を変更して実際に印字し、印字されたバーコードをリーダで読み取って、最適な設計値を決定する作業を行った。その結果、バーコードの設計に要する時間が５時間であり、設計されたバーコードを印字するのに要する時間が３時間であり、印字されたバーコードを測定するのに要する時間が８時間であり、合計１６時間を要した。そして、最適なバーコードの設計値を決定するために、上述した作業を３回繰り返したので、最終的には合計４８時間を要した。
【０２１６】
本発明では、上述した実施形態のバーコードの設計装置及び設計方法は、本発明の趣旨を逸脱しない限り適宜変更が可能である。また、一の実施形態が有する構成要件は、他の実施形態にも適宜適用することができる。
【符号の説明】
【０２１７】
１０    設計装置
１１    処理部
１２    記憶部
１３    表示部
１４    操作部（入力部）
１５    出力部
【図１】
2018195163.tif 000003
【図２】
2018195163.tif 000004
【図３】
2018195163.tif 000005
【図４】
2018195163.tif 000006
【図５】
2018195163.tif 000007
【図６】
2018195163.tif 000008
【図７】
2018195163.tif 000009
【図８】
2018195163.tif 000010