"暗色パターンおよび明色パターンが複数配列されて構成されるメインバーコードとこのメインバーコードの近傍に付加されたアドオンバーコードとを1つの一次元コードとして光学的に読み取る光学的情報読取装置であって、一次元コードからの反射光を所定の読取ラインに沿い受光する受光手段と、前記受光手段から出力される受光信号に基づいて一次元コードのデコード処理を行うデコード手段と、前記受光信号に2つの一次元コードが含まれる場合に、読取方向1番目に位置する第1コードの配列方向と前記読取ラインとの角度と、読取方向2番目に位置する第2コードと前記第1コードとの前記配列方向に直交する方向における距離との少なくともいずれか1つを算出する算出手段と、前記第1コードと前記第2コードとの前記読取ラインに沿う方向における間隔が前記第2コードを前記アドオンバーコードとみなし得る閾値以上であって、前記算出手段による算出値が前記第2コードを前記アドオンバーコードとみなし得る閾値以下である場合に、前記第2コードが前記アドオンバーコードであると判定する判定手段と、を備え、前記デコード手段は、前記判定手段により前記第2コードが前記アドオンバーコードであると判定される場合に、前記第1コードが前記メインバーコードであり、前記第2コードを前記アドオンバーコードとしてデコード処理を行うことを特徴とする光学的情報読取装置。前記算出手段は、前記角度および前記距離の双方を算出し、前記判定手段は、前記算出手段により算出される前記角度および前記距離の少なくともいずれか一方の算出値が前記閾値以下である場合に、前記第2コードが前記アドオンバーコードであると判定することを特徴とする請求項1に記載の光学的情報読取装置。前記判定手段は、前記角度および前記距離の一方が第1の閾値以下である場合か、当該一方が前記第1の閾値より大きいときに前記角度および前記距離の他方が第2の閾値以下である場合に、前記第2コードが前記アドオンバーコードであると判定し、前記第1の閾値および前記第2の閾値は、前記一方が前記第1の閾値以下となる場合には常に前記他方が前記第2の閾値以下となるように設定されることを特徴とする請求項2に記載の光学的情報読取装置。前記算出手段は、前記角度を、前記受光手段から前記第1コードまでの離間距離と前記受光信号から求められる当該第1コードの幅値とから算出することを特徴とする請求項1~3のいずれか一項に記載の光学的情報読取装置。前記算出手段は、前記距離を、前記間隔および前記角度から算出することを特徴とする請求項1~4のいずれか一項に記載の光学的情報読取装置。ところで、一次元コードからの反射光は読取口を介して受光センサにて受光されるため、受光センサとして受光素子を一次元に配列したラインセンサが採用される場合に、読取口がバーコードの配列方向に対して傾いた状態で当該バーコードが読み取られると、受光センサによる読取ラインとバーコードの配列方向との角度が大きくなる場合がある。この場合、アドオンバーコードと異なるバーコードや模様等が、最初に読み取ったバーコードに対して本来アドオンバーコードが配置される位置からずれていても上記読取ライン上に表示されていると、この異なるバーコード等に基づいて、アドオンバーコードが存在すると誤判定してしまうという問題がある。本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、アドオンバーコードの存在有無に関する判定の正確性を向上させ得る光学的情報読取装置を提供することにある。上記目的を達成するため、特許請求の範囲に記載の請求項1の光学的情報読取装置では、暗色パターンおよび明色パターンが複数配列されて構成されるメインバーコードとこのメインバーコードの近傍に付加されたアドオンバーコードとを1つの一次元コードとして光学的に読み取る光学的情報読取装置であって、一次元コードからの反射光を所定の読取ラインに沿い受光する受光手段と、前記受光手段から出力される受光信号に基づいて一次元コードのデコード処理を行うデコード手段と、前記受光信号に2つの一次元コードが含まれる場合に、読取方向1番目に位置する第1コードの配列方向と前記読取ラインとの角度と、読取方向2番目に位置する第2コードと前記第1コードとの前記配列方向に直交する方向における距離との少なくともいずれか1つを算出する算出手段と、前記第1コードと前記第2コードとの前記読取ラインに沿う方向における間隔が前記第2コードを前記アドオンバーコードとみなし得る閾値以上であって、前記算出手段による算出値が前記第2コードを前記アドオンバーコードとみなし得る閾値以下である場合に、前記第2コードが前記アドオンバーコードであると判定する判定手段と、を備え、前記デコード手段は、前記判定手段により前記第2コードが前記アドオンバーコードであると判定される場合に、前記第1コードが前記メインバーコードであり、前記第2コードを前記アドオンバーコードとしてデコード処理を行うことを特徴とする。請求項2の発明は、請求項1に記載の光学的情報読取装置において、前記算出手段は、前記角度および前記距離の双方を算出し、前記判定手段は、前記算出手段により算出される前記角度および前記距離の少なくともいずれか一方の算出値が前記閾値以下である場合に、前記第2コードが前記アドオンバーコードであると判定することを特徴とする。請求項3の発明は、請求項2に光学的情報読取装置において、前記判定手段は、前記角度および前記距離の一方が第1の閾値以下である場合か、当該一方が前記第1の閾値より大きいときに前記角度および前記距離の他方が第2の閾値以下である場合に、前記第2コードが前記アドオンバーコードであると判定し、前記第1の閾値および前記第2の閾値は、前記一方が前記第1の閾値以下となる場合には常に前記他方が前記第2の閾値以下となるように設定されることを特徴とする。請求項4の発明は、請求項1~3のいずれか一項に記載の光学的情報読取装置において、前記算出手段は、前記角度を、前記受光手段から前記第1コードまでの離間距離と前記受光信号から求められる当該第1コードの幅値とから算出することを特徴とする。請求項5の発明は、請求項1~3のいずれか一項に記載の光学的情報読取装置において、前記算出手段は、前記距離を、前記間隔および前記角度から算出することを特徴とする。請求項1の発明では、受光信号に2つの一次元コードが含まれる場合に、算出手段により、第1コードの配列方向と読取ラインとの角度と、第2コードと第1コードとの配列方向に直交する方向における距離との少なくともいずれか1つが算出される。そして、第1コードと第2コードとの読取ラインに沿う方向における間隔が第2コードをアドオンバーコードとみなし得る閾値以上であって、算出手段による算出値が第2コードをアドオンバーコードとみなし得る閾値以下である場合に、判定手段により、第2コードがアドオンバーコードであると判定される。そして、判定手段により第2コードがアドオンバーコードであると判定される場合に、デコード手段により、第1コードがメインバーコードであり、第2コードをアドオンバーコードとしてデコード処理が行われる。第1コード等からの反射光が取り込まれる当該装置の読取口が第1コードの配列方向に対して傾いた状態で第1コード等が光学的に読み取られる場合には、第1コードの配列方向と読取ラインとの角度が比較的大きくなる。また、この場合、第1コードと第2コードとの配列方向に直交する方向の距離が比較的大きくなる。そこで、第1コードの配列方向と読取ラインとの角度と、第2コードと第1コードとの配列方向に直交する方向における距離とのいずれかに応じて、第2コードがアドオンバーコードであるか否かについて判定することで、当該装置の読取口が第1コードの配列方向に対して傾いた状態で第1コード等が読み取られる場合でも、アドオンバーコードがあると誤判断する確率を低くすることができる。したがって、読取口が第1コードの配列方向に対して傾いた状態で読み取る場合でも、アドオンバーコードの存在有無に関する判定の正確性を向上させることができる。請求項2の発明では、算出手段により、上述した角度および距離の双方が算出され、判定手段により、算出手段により算出される角度および距離の少なくともいずれか一方の算出値が上記閾値以下である場合に、第2コードがアドオンバーコードであると判定される。このように、算出手段により算出される角度および距離の双方を用いて第2コードがアドオンバーコードであるか否かについて判定するため、アドオンバーコードの存在有無に関する判定の正確性をさらに向上させることができる。請求項3の発明では、第1の閾値および第2の閾値は、一方が上記第1の閾値以下となる場合には常に他方が上記第2の閾値以下となるように設定される。このため、角度および距離の一方が上記第1の閾値以下となる第1コードと第2コードとの位置関係では、常に、角度および距離の他方が上記第2の閾値以下となるので、上記一方を用いて第2コードがアドオンバーコードであると判定される場合には、常に、上記他方Dを用いて第2コードがアドオンバーコードであると判定される。したがって、2つの観点である角度および距離を用いてアドオンバーコードの存在有無を判定する構成でも、一方が上記第1の閾値以下となれば他方の算出が不要となるので、常に角度および距離を算出する場合と比較して処理負荷や処理時間を軽減することができる。請求項4の発明では、算出手段により、上記角度が、受光手段から第1コードまでの離間距離と受光信号から求められる当該第1コードの幅値とから算出される。第1コードの実際の幅値は通常、規定値であることから、上記角度が0°の場合に第1コードからの反射光に応じた受光信号の波形に対し当該第1コードが占める幅値は、受光手段から第1コードまでの離間距離に応じて変化する。すなわち、上記角度は、上記離間距離と受光信号から求められる当該第1コードの幅値とから算出することができるため、新たな測定手段を別途用意することなく上記角度を容易に算出することができる。請求項5の発明では、算出手段により、上記距離が、上記間隔および上記角度から算出されるため、新たな測定手段を別途用意することなく上記距離を容易に算出することができる。以下、本発明の光学的情報読取装置を具現化した一実施形態について図を参照して説明する。図1は、本実施形態に係る光学的情報読取装置10の構成を示す断面図である。図1に示すように、光学的情報読取装置10は、黒バー暗色パターンおよび白バー明色パターンが複数配列されて構成されるバーコード等の一次元コードを光学的に読み取る読取装置であって、握り部を兼用する操作部12、例えば液晶からなる液晶表示器14などを備えている。操作部12には、例えば複数のキースイッチ16が設けられ、これらキースイッチ16により、動作内容を指示するようになっている。この操作部12には、キースイッチ16に加えて、読取り開始を指示するためのトリガースイッチ18が設けられている。光学的情報読取装置10の筐体60内には、プリント配線基板20が固定されており、そのプリント配線基板20の一方の面にキースイッチ16がマトリクス状に搭載されている。また、プリント配線基板20の他方の面には、受光素子であるCCDを直線的に配列して構成される受光手段としてラインセンサ32が立設して実装されている。筐体60の前端に形成された開口部以下、読取口62というには光学系ユニット30が配設されており、筐体60内において光学系ユニット30の光軸上となる位置に反射鏡34が配設されていると共に、反射鏡34により折曲げられた光軸上にラインセンサ32が位置している。検出対象物からの反射光は、読取口62を通して取り込まれ光学系ユニット30及び反射鏡34を介して、ラインセンサ32に結像されて受光されるようになっている。読取口62近傍のプリント配線基板22の中央には孔22aが形成されており、その孔22aの周囲に複数の照明用LED38が搭載されている。プリント配線基板22に形成された孔22aにはレンズユニット36が装着されている。このレンズユニット36は、検出対象物からの反射光を集光する結像レンズ36aと、照明用LED38からの光を正面に投光するための集光レンズ36bとを一体にして形成されている。次に、光学的情報読取装置10の回路構成を図2のブロック図を参照して説明する。図2に示すように、光学的情報読取装置10には、メモリ35、制御回路40、キースイッチ16、トリガースイッチ18、液晶表示器14等のマイクロコンピュータ以下マイコンという系が収容されている。マイコン系は、増幅回路31、A/D変換回路33、メモリ35、制御回路40、キースイッチ16、トリガースイッチ18、LED43、ブザー44、液晶表示器14、通信インタフェース48等から構成されている。このマイコン系は、その名の通り、マイコン情報処理装置として機能し得る制御回路40およびメモリ35を中心に構成されるもので、光学系からの受光信号画像信号をハードウェア的およびソフトウェア的に信号処理し得るものである。また制御回路40は、当該光学的情報読取装置10の全体システムに関する制御も行っている。光学系のラインセンサ32から出力される受光信号アナログ信号は、増幅回路31に入力されることで所定ゲインで増幅された後、A/D変換回路33に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された受光信号、つまり受光データは、制御回路40へ入力される。制御回路40は、光学的情報読取装置10全体を制御可能なマイコンで、CPU、システムバス、入出力インタフェース等からなるもので、メモリ35とともに情報処理装置を構成し得るもので情報処理機能を有する。この制御回路40には、内蔵された入出力インタフェースを介して種々の入出力装置周辺装置と接続可能に構成されており、本実施形態の場合、キースイッチ16、トリガースイッチ18、LED43、ブザー44、液晶表示器14、通信インタフェース48等が接続されている。制御回路40は、バーコードを読み取った結果を、通信インタフェース48を介して図示しない上位機器例えばコンピュータ側へ出力するよう構成されている。次に、本実施形態での読み取りの対象となるバーコードの構成について図3を用いて説明する。図3は、アドオンバーコード付きWPC系バーコードの一例を示す図である。図3において、読取方向1番目図3の左側に位置するバーコードをメインバーコードBmといい、読取方向2番目図3の右側に位置するようにメインバーコードBmの近傍図3にて右側に付加されるバーコードをアドオンバーコードBaという。メインバーコードBmは、その左右両側にガードバーパターンが存在するように構成され、アドオンバーコードBaは、その左側にだけガードバーパターンが存在するように構成される。図3の例では、ガードバーパターンは、メインバーコードBmについては左右両側に存在し、左右両側に下の方に長く突出した2本の黒バーと、これらに挟まれた1本の白バーの合計3本のバーによって構成されている。アドオンバーコードBaについては、ガードバーパターンは、左側にだけ存在し、左側2本の黒バーと、これらに挟まれた1本の白バーの合計3本のバーによって構成されている。なお、本実施形態では、黒バー間の空白部分スペースを白バーとし、1本のバーとして数える。そして、図3のメインバーコードBmにおいて、右側のガードバーパターンに対して右側から隣接する白バーを含めて当該白バーから左に向かって4本目の黒バーまでが最終キャラクタである。また、アドオンバーコードBaにおいて、左側のガードバーパターンに対して左側から隣接する白バーを含めて当該白バーから右に向かって4本目の黒バーまでが第1キャラクタである。本実施形態では、所定のバーコードをデコードした後、このバーコードを第1コードとしてその右端から左に向かって一定本数のバーの幅を求めて予め設定された式により基準値を演算すると共に、アドオン側のバーコード以下、第2コードというの左端から右に向かって一定本数のバーの幅を求めて予め設定された式により比較値を演算する。そして、比較値が基準値に対して所定の範囲内にあるとき、第1コードがメインバーコードBmでありこのメインバーコードBmに第2コードであるアドオンバーコードBaが付加されていると判断する。このため、偶然にアドオンバーコードの第1キャラクタが存在する位置に、第1コードの最終キャラクタに似た縞模様が存在していた場合、これをアドオンバーコードと判断する確率が低くなるので、アドオンバーコードが存在していない場合に、デコードデータを転送するまでに要する時間を短縮できる。更に本実施形態では、上記基準値を求めるために定められたバー本数と上記比較値を求めるために定められたバー本数とは、メインバーコードBmおよびアドオンバーコードBaの並び構成配列構成を基に、第1コードの一定本数のバーの幅を式に当てはめて求めた基準値と、第2コードの一定本数のバーの幅を式に当てはめて求めた比較値との差が、最小幅1モジュールのバーの幅以下となる本数に定められている。この基準値および比較値を求めるためのバーの一定本数について、以下に具体的に記載する。A.ガードバーパターンが黒、白、黒の3本のバーによって構成されるEAN-8、EAN-13、UPC-Aであり、アドオンバーコードBaが2桁である場合と5桁である場合について、以下に例示する。1アドオンバーコード2桁の場合メインバーコードBmとアドオンバーコードBaの双方共に3本目ガードバー部分と1キャラクタとの境目までメインバーコードBmとアドオンバーコードBaの双方共に7本目1キャラクタと2キャラクタとの境目まで2アドオンバーコード5桁の場合メインバーコードBmとアドオンバーコードBaの双方共に3本目ガードバー部分と1キャラクタとの境目までメインバーコードBmとアドオンバーコードBaの双方共に7本目1キャラクタと2キャラクタとの境目までメインバーコードBmが19本目までとアドオンバーコードBaが21本目までB.ガードバーパターンが黒、白、黒、白、黒、白の6本のバーによって構成されるUPC-Eであり、アドオンバーコードBaが2桁である場合と5桁である場合について、以下に例示する。1アドオンバーコード2桁の場合メインバーコードBmが3~5本目までとアドオンバーコードBaが3本目ガードバー部分と1キャラクタとの境目まで。特にメインバーコードBmが4本目までを採用すると、規格上の合計幅がアドオンバーコードBaと同幅になる。メインバーコードBmが9本目までとアドオンバーコードBaが7本目1キャラクタと2キャラクタとの境目まで2アドオンバーコード5桁の場合メインバーコードBmが3~5本目までとアドオンバーコードBaが3本目ガードバー部分と1キャラクタとの境目までメインバーコードBmが9本目までとアドオンバーコードBaが7本目1キャラクタと2キャラクタとの境目までメインバーコードBmとアドオンバーコードBaの双方共に13本目ガードバー部分と1キャラクタとの境目までメインバーコードBmが17本目までとアドオンバーコードBaが15本目、ただし、アドオンバーコードBaの15本目は減算する。このように基準値および比較値を求めるためのバーの本数を設定すれば、第1コードから求められる基準値と第2コードから求められる比較値とが、バーの最小幅1モジュール以下の差でほぼ一致し、高い精度で基準値および比較値を比較することができる。そして、本実施形態では、第2コードの左端から右に向かって一定本数未満の数のバーの幅を加算した値に応じて求められる比較値が、基準値に対して所定の範囲を越えたとき、アドオンバーコードは付加されていないと判断する。この構成によれば、アドオン側のバーコードに似たものの一部分しか光学的情報読取装置10の読取口62に入っていない場合、その一部分に異常に幅の広いバーに似た部分が存在するようなときには、アドオンバーコードではないと判断するので、アドオンバーコードでないものを、早くアドオンバーコードでないと判断することができる。図4は、光学的情報読取装置10の操作中に生じ得るアドオンバーコードBaの読み落しを例示する説明図であり、図4Aは、読取口62をバーコードに近づける操作中の状態を示し、図4Bは、読取口62をバーコードに沿って水平方向へ移動させる操作中の状態を示す。本実施形態では、アドオンバーコードが無いと判断した際も、更に、アドオンバーコードの読み落しが無いかの判断を行う。即ち、図4Aに示すように、離れた位置から光学的情報読取装置10の読取口62をバーコードに近づけていく操作を行っている最中において、バーコードのメインバーコードBmのみがデコードされ、この時点でアドオンバーコードBaがメインバーコードBmからの反射光の受光に応じた受光信号に含まれていない場合がある。この場合、上述した処理のみでは、アドオンバーコードBaの読み落しが発生する。また、図4Bに示すように、光学的情報読取装置10の操作に慣れない操作者が、読取口62をバーコードに沿って水平方向各バーの配列方向へ移動させながらバーコードの読み取りを試みた場合、読取口62にメインバーコードBmのみが入ってしまう場合がある。この場合、上述した処理のみでは、アドオンバーコードBaの読み落しが発生する。そこで、上述のようなアドオンバーコードの読み落しを防止するため、メインバーコードBmをデコードするための受光信号からアドオンバーコードBaが無いと判断した際も、更に、光学的情報読取装置10の近接方向、水平方向への操作によって、アドオンバーコードを読み落していないかの判断を行う。図5は、ラインセンサ32による読取ラインL1とバーコードの配列方向L2との傾斜角度θを例示する説明図であり、図5Aは、アドオンバーコードBaが付加される状態を示し、図5Bは、アドオンバーコードBaが付加されない状態を示す。図6Aは、図5Aの傾斜角度θに対応する受光波形を示す説明図であり、図6Bは、傾斜角度θが0°であるときの受光波形を示す説明図である。さらに、本実施形態では、アドオンバーコードがあると想定判断した際も、その想定が誤っているか否かについての判断をさらに行う。通常、作業者は、読取口62をバーコードに沿わせて読み取るため、図5Aに例示するように、ラインセンサ32により一次元的に受光されるラインである読取ラインL1とバーコードの配列方向L2との角度以下、傾斜角度θというは小さくなる。このとき、ラインセンサ32から、図6Aに例示するような受光波形の受光信号が出力される。ここで、傾斜角度θが0°となる場合には、ラインセンサ32から、図6Bに例示するような受光波形の受光信号が出力される。なお、図6Aおよび図6Bからわかるように、傾斜角度θが長くなるほど受光波形に占める第1コードおよび第2コードの幅が長くなる。しかしながら、読取口62がバーコードの配列方向L2に対して傾いた状態で当該バーコードが読み取られると、ラインセンサ32による読取ラインL1とバーコードの配列方向L2との傾斜角度θが大きくなる場合がある。この場合、図5Bに例示するように、アドオンバーコードと異なるバーコードや模様等が、最初に読み取ったバーコードに対して本来アドオンバーコードが配置される位置からずれていても上記読取ラインL1上に表示されていると、この異なるバーコード等に基づいて、アドオンバーコードが存在すると誤判定する可能性があるからである。そこで、上述のようなアドオンバーコードの誤判断を防止するため、メインバーコードBmをデコードするための受光信号からアドオンバーコードBaがあることが想定される場合でも、第1コードの配列方向に対する読取口62の傾きを考慮して、アドオンバーコードがあるか否かについての詳細に判断を行う。このように、アドオンバーコードがあると誤判断する確率を低くすることで、アドオンバーコードが存在していない場合に、デコードデータを転送するまでに要する時間を短縮できる。次に、バーコードを読み取る場合の制御回路40における読取処理について、図7~図12に示すフローチャートを参照しながら説明する。図7~図9は、図2の制御回路40にて実施される読取処理の流れを例示するフローチャートである。図10は、深度で操作中の判断処理1でのサブルーチン処理を示すフローチャートである。図11は、位置で操作中の判断処理2でのサブルーチン処理を示すフローチャートである。図12は、アドオンバーコード有無判断処理でのサブルーチン処理を示すフローチャートである。なお、以下の説明では、読取対象となるメイン側に位置するバーコードである第1コードは、WPC系バーコードで、EAN-13、EAN-8、UPC-A、UPC-Eの4種類のいずれかであるとする。読み取るべきバーコードに読取口62を当ててトリガースイッチ18により読取動作をスタートさせる。すると、照明用LED38が点灯してバーコードラベルに投光され、その反射光が結像レンズ36aによってラインセンサ32に結像される図7に示すS12。そして、制御回路40は、ラインセンサ32が受光したバーコードからの受光信号を2値化してメモリ35のRAMに記憶させS14、その後、2値化データに基づいてメイン側に位置するバーコードである第1コードをデコードしてメモリ35内のRAMに記憶するS16。なお、S16および後述するS68を実行する制御回路40は、特許請求の範囲に記載のデコード手段の一例に相当し得る。次に、制御回路40は、デコードした第1コードの種類を判別しS18、ガードバーの本数が3本であるもの、すなわちUPC-A、EAN-8、EAN-13のいずれかである場合には、右端から7本目までの各バーの幅B1~B7を求め、基準値Xを予め設定された次の1式によって求めるS20。また、ガードバーの本数が6本であるもの、すなわちUPC-Eである場合には、右端から10本目までの各バーの幅B1~B10を求め、基準値Xを予め定められた次の2式によって求めるS22。X=B7B6B5B4B3B2B2B1...1X=B10B9B8B7B6B5B4B3B2-B1...2なお、上記1式、2式において、Bに付した添字の数字は右端からの並び順を示すもので、1が右端のバー、以下、2、3、......が右端から2番目、3番目、......のバーを示す。これら1式および2式の意味は次の通りである。まず、この実施形態では、アドオンバーコードが付加されているか否かの判断を、第1コードの一定本数のバーの幅を求めてこれを予め設定された式に当てはめて基準値Xを演算すると共に、アドオン側のバーコードである第2コードの一定本数のバーの幅を求めてこれを予め設定された式に当てはめて比較値Zを演算する。そして、比較値Zが基準値Xに対して一定範囲、例えば基準値Xの80~120の範囲内にあるか否かによって、アドオンバーコードが付加されているか否かの判断がなされる。図13は、ガードバーパターンの一例を示す図である。図14は、ガードバーパターンの他の例を示す図である。バーコードにおいては、幅の異なる複数種のバーが使用されており、そのうちの最小の幅を1モジュールと呼ぶ。図13および図14に例示するように、アドオンバーコードBaでは、左端から右に向かって7本目までガードバー部分および第1キャラクタ部分のバーの幅の合計値は11モジュールに定められている。一方、メインバーコードBmのガードバーパターンが3本のバーから構成されているUPC-A、EAN-8およびEAN-13のいずれかでは、図13に示すように、ガードバーパターンおよび最終キャラクタは合計7本のバーで構成され、その7本のバーの合計幅は10モジュールに定められ、且つガードバーパターンの各バーの幅は1モジュールに定められている。このため、上記1式のように、7本のバーの幅を合計し、更に1モジュール幅である1本のガードバー例えば、右端から2番目のバーの幅を加算することによって、基準値Xとして11モジュールの幅を得ることができる。また、メインバーコードBmのガードバーパターンが6本のバーから構成されているUPC-Eでは、図14に示すように、ガードバーパターンおよび最終キャラクタは合計10本のバーで構成され、その10本のバーの合計幅は13モジュールに定められ、且つガードバーパターン各バーの幅は1モジュールに定められている。このため、上記2式のように、10本のバーの幅を合計し、1モジュール幅である1本のガードバー例えば、右端のバーの幅の2倍を減算することによって、基準値Xとして11モジュールの幅を得ることができる。以上のことから、第2コードの左端から7本目までのバーの幅の加算値である比較値Zを基準値Xと比較することによって、アドオンバーコードBaの付加の有無を判断できるものである。上述のようにXの値を演算した後、制御回路40は、第1コードと第2コードとの間に存在するギャップ幅Gを算出しS24、そのギャップ幅Gと基準値Xとを比較し、ギャップ幅Gが基準値Xに対してその120ほぼ13.2モジュール以内と定められた許容範囲に入っているか否かを判断するS26。なお、アドオンバーコードが付加されていない場合、ラインセンサ32は第1コードの右側を白として読み取るので、制御回路40は第1コードの右側の広い白部分読取口62の右端までをギャップと判断してその幅を演算する。ギャップ幅Gが許容範囲から外れている場合には、制御回路40は、S26:Noと判断してアドオンバーコードは付加されていないと判断する図9に示すS76。そして、後述するS78以降の光学的情報読取装置10を操作中かの判断を経て、操作中でないと判断される場合に、第1コードのデコードデータを上位機器に転送しS86、エンドとなる。ギャップ幅Gが許容範囲内にある場合には、制御回路40は、S26Yesと判断し、次にアドオン側に1本目のバーが存在するか否かを判断するS32。1本目のバーが存在しない場合には、制御回路40は、S32:Noとなって、上記S76以降を順に実行しエンドとなる。1本目のバーが存在する場合には、制御回路40は、S32Yesとなり、アドオン側のバー幅の加算値Yを0にセットしS34、Yに1本目のバーの幅b1を加算するS36。次いで、制御回路40は、アドオン側に2本目のバーが存在するか否かを判断し図8に示すS38、存在する場合には、バー幅の加算値Yに2本目のバーの幅b2を加算するS40。以下、3本目以降、7本目までのバーの存在を逐次判断しS42、46、52、56、60、いずれのバーも存在する場合、順次バーの幅を累計するS44、50、54、58、62。そして、7本目までのバーの幅の加算値Y比較値Zと基準値Xとを比較し、加算値Yが基準値Xの80~120と定められた許容範囲に入っているか否かを判断する図9に示すS64。7本のバーの幅の加算値Yが上記許容範囲から外れていた場合にはS64:No、制御回路40は、アドオンバーコードではないと判定するS76。そして、後述するS78以降での光学的情報読取装置10を操作中かの判断処理を経て、操作中でないと判断される場合に、第1コードのデコードデータを上位機器に転送しS86、エンドとなる。一方、2本目以降のバーが存在するか否かを判断するステップにおいて、存在していないと判断した場合S38、S42、S46、S52、S56、S60の各ステップ:No、図9のS72に移行する。続いて、制御回路40は、加算値Yが基準値Xの120以下であるか否かを判断し、Xの120を越えている場合S72:Noには、前述のS76に移行してアドオンバーコードではないと判定する。そして、後述するS78以降での光学的情報読取装置10を操作中かの判断処理を経て、操作中でないと判断される場合に、第1コードのデコードデータを転送しS86、エンドとなる。また、バーの幅の加算値Yが、基準値Xの120以内にある場合にはS72Yes、制御回路40は、S74に移行し、ここでブザー44を鳴動させて、エンドとなる。引き続き、S76でアドオンバーコード無しと判断した後、更に、図4Aを参照して上述したように読取口62をバーコードに近接させる最中にメインバーコードBmのみをデコードしたのでは無いかの判断を行う。この判断のため、先ず、ラインセンサ32の読取ライン1mmのバー幅値を算出するS78。ここでは、図15A中に示すW:第1コードを構成するバー幅の測定値、Wo:寸法1.0倍と想定したラベル幅とし、3式により算出する。読取ライン1mmのバー幅値=W/Wo...3ここで、寸法1.0倍とは、規格値を縮小拡大せずに使用している場合を意味し、0.8倍まで縮小している場合には、寸法0.8倍と呼ぶ。例えばEAN-13/UPC-Aで寸法1.0倍の場合には34.1mmで4式になる。なお、EAN-8では22.1mm、UPC-Eでは18.0mmになる。読取ライン1mmのバー幅値=W/34.1mm...4なお、本実施形態では、予め読み取り深度読取口62からバーコードまでの距離と、読取ライン1mmのバー幅値との例えば下記のような対応関係が深度データ深度とバー幅の関係表W100_としてメモリ35に保持されている。距離00mm:読取ライン1mmのバー幅値:511センサの出力波形を測定した値距離10mm:読取ライン1mmのバー幅値:456センサの出力波形を測定した値距離20mm:読取ライン1mmのバー幅値:421センサの出力波形を測定した値上述のように読取ライン1mmのバー幅値が算出されるとこの算出値に基づき、光学的情報読取装置10をバーコードに向けて近接させる操作を行っているかを判断するS100。このS100の深度で操作中の判断処理1での処理について、当該処理のサブルーチンを示す図10を参照して説明する。なお、読み取り深度は、ラインセンサ32から第1コードまでの離間距離として設定されてもよい。先ず、S78で算出した読取ライン1mmのバー幅値から、メモリ35に保持されている読取ライン1mmのバー幅値と取り深度との深度データ深度とバー幅の関係表W100_から深度Hを求めるS102。そして、操作を開始したところであるか第1コードのデコードの1回目を判断するS104。深度Hを1回しか求めていない場合にはS104:Yes、近接方向への操作中かの判断が不可能であるため、操作開始の登録を行いS114、上記S102で求めた距離Hをメモリに距離H_BとしてバックアップしS116、現在の時間、デコードを行った回数を初期化しS118、1回目のデコードは、操作中か否か不明であるため操作中であると仮に判断し、図9のS76でのアドオンバーコード無しの判定を無効にするS120。ここで、2回目以降のデコードの場合にはS104:No、前回の比較から一定時間或いはデコードの一定回数経過したかを判断するS106。即ち、デコードは短い周期で繰り返されているため、デコード毎に深度Hを比較すると正確な判断が行えないため、一定時間経過するまではS106:No、S120へ移行し、アドオンバーコード無しの判定を無効にする。他方、前回の比較から一定時間が経過或いは一定回数のデコードの繰り返ししたらS106:Yes、今回の深度Hから前回の深度H_Bを減算し、移動距離を求めるS108。そして、移動距離絶対値が所定閾値ZZよりも小さいかを判断するS110。ここで、移動距離として絶対値を用いるのは、光学的情報読取装置10をバーコードへ近づける場合と共に遠ざける場合も操作中と判断するためである。ここで、移動距離絶対値が所定閾値ZZよりも大きい場合はS110:No、光学的情報読取装置10をバーコードに向けて、或いは、離れる方向へ操作中であるため、S116へ移行し、S116、S118の処理を経て、アドオンバーコード無しの判定を無効にするS120。他方、移動距離絶対値が所定閾値ZZよりも小さい場合はS110:Yes、光学的情報読取装置10に対する上下方向の操作が終了または操作していないと判断するS112。ここで、深度で操作中の判断処理1での処理について、更に、図15Bを参照して具体的に説明する。図15Bに示す深度P1は、光学的情報読取装置10をバーコードに近づけて行き、メインバーコードのデコードが成功した位置深度を示している。深度P2は、上述したS106での一定時間経過後に、メインバーコードのデコードが成功した位置深度を示している。ここで、深度P1と深度P2との差が、所定閾値ZZよりも大きくなる場合には、アドオンバーコード無しの判定が無効となり、例えば、深度P3で、メインバーコードとアドオンバーコードとのデコードが成功するまで、デコード結果のコンピュータへの出力が待機されることになる。S100での深度近接、離れ方向で操作中の判断処理1後、図9のS80での操作中かの判断がなされる。ここで、深度方向への操作中と判断されるとS80:Yes、操作中であることをブザー44の鳴動、LED43の点灯により操作者に告知し、アドオンバーコードの読み取りができるまで待機していることを知らしめるS84。他方、深度方向への操作中でないと判断される場合はS80:No、図4Bを参照して上述した、水平方向に読取口62を移動させることでアドオンバーコードを読み落していないかの判断を行う位置で操作中の判定処理2:S200。S200の位置で操作中の判断処理2での処理について、当該処理のサブルーチンを示す図11を参照して説明する。先ず、S78で算出した読取ライン1mmのバー幅値から、上記S102で求めた深度Hに基づき、読み取り位置として、読み取り操作ラインの端からバーコードまでの距離Wを算出するS202。そして、操作を開始したところであるか第1コードのデコードの1回目を判断するS204。距離Wを1回しか求めていない場合にはS204:Yes、水平方向への操作中かの判断が不可能であるため、操作開始の登録を行いS214、上記S202で求めた距離Wをメモリに距離W_BとしてバックアップしS216、現在の時間、デコードを行った回数を初期化しS218、1回目のデコードは、操作中か否か不明であるため操作中であると仮に判断し、図9のS76でのアドオンバーコード無しの判定を無効にするS220。ここで、2回目以降のデコードの場合にはS204:No、前回の比較から一定時間或いはデコードの一定回数経過したかを判断するS206。即ち、デコードは短い周期で繰り返されているため、デコード毎に移動距離Wを比較すると正確な判断が行えないため、一定時間経過するまではS206:No、S220へ移行し、アドオンバーコード無しの判定を無効にする。他方、前回の比較から一定時間が経過或いは一定回数のデコードの繰り返ししたらS206:Yes、今回の距離Wから前回の距離W_Bを減算し、移動距離を求めるS208。そして、移動距離絶対値が所定閾値YYよりも小さいかを判断するS210。ここで、移動距離として絶対値を用いるのは、バーコードに沿って、光学的情報読取装置10を左右方向のいずれから近づける場合にも操作中と判断するためである。ここで、移動距離絶対値が所定閾値YYよりも大きい場合はS210:No、光学的情報読取装置10を水平方向へ操作中であるため、S216へ移行し、S216、S218の処理を経て、アドオンバーコード無しの判定を無効にするS220。他方、移動距離絶対値が所定閾値YYよりも小さい場合はS210:Yes、光学的情報読取装置10に対する左右方向の操作が終了または操作していないと判断するS212。ここで、位置で操作中の判断処理2での処理について、更に、図16A~Cを参照して具体的に説明する。図16Aに示す位置P4は、光学的情報読取装置10を図左方向からバーコードへ水平に近づけて行き、第1コードのデコードが成功した位置を表している。図16Bに示す位置P5は、上述したS206での一定時間経過後に、第1コードのデコードが成功した位置を表している。ここで、位置P4と位置P5との差が、所定閾値YYよりも大きくなる場合には、アドオンバーコード無しの判定が無効となり、例えば、図16Cに示す位置P6で、第1コードと第2コードとのデコードが成功するまで、デコード結果のコンピュータへの出力が待機されることになる。当該位置で操作中の判断処理2の処理後、図9に示すS82で更に水平方向への操作中かの判断がなされる。ここで、水平方向への操作中と判断されるとS82:Yes、操作中であることをブザー44の鳴動、LED43の点灯により操作者に告知し、アドオンバーコードの読み取りができるまで待機していることを知らしめるS84。一方、水平方向への操作中でない場合にはS82:No、S76でのアドオンバーコードでないとの判断を生かし、第1コードのデコード結果をコンピュータ側へ出力するS86。上述した図9のS64で、7本のバーの幅の加算値Yが上記許容範囲内にある場合にはS64Yes、アドオンバーコードがあると想定判断し、その想定が誤っているか否かについて、第1コードの配列方向に対する読取口62の傾きを考慮して、アドオンバーコードがあるか否か上記想定の正誤について判断するS300。S300のアドオンバーコード有無判断処理について、当該処理のサブルーチンを示す図12と図17~図19を参照して説明する。図17Aは、角度閾値θtを説明するための説明図であり、図17Bは、垂線長閾値Dtを説明するための説明図である。図18Aは、傾斜角度θが角度閾値θt以下である状態を説明するための説明図であり、図18Bは、垂線長Dが所定の垂線長閾値Dt以下である状態を説明するための説明図である。図19は、傾斜角度θが角度閾値θt以下でなくかつ垂線長Dが所定の垂線長閾値Dt以下でない状態を説明するための説明図である。まず、第1コードを構成する各バーの幅を合計して当該第1コードの幅値を実測幅値A1として算出するS302。次に、読取ラインL1とバーコードの配列方向L2との傾斜角度θを算出するS304。具体的には、まず、S102にて算出した深度Hから第1コードの規定上の幅値を想定することができるため、この想定される第1コードの幅値を想定幅値A2として求める。この想定幅値A2は、傾斜角度θが0°のときの実測幅値A1に相当するため、傾斜角度θは、以下の式5により算出することができる。θ=cos-1A2/A1...5なお、傾斜角度θは、特許請求の範囲に記載の第1コードの配列方向と読取ラインとの角度の一例に相当し得る。なお、S304および後述するS308を実行する制御回路40は、特許請求の範囲に記載の算出手段の一例に相当し得る。続いて、上述のように算出された傾斜角度θが所定の角度閾値θt以下であるか否かを判断するS306。ここで、角度閾値θtは、図17Aに示すように、メインバーコードBmの配列方向L2に沿う配列線L2’を当該メインバーコードBmの中央に通すとき、この配列線L2’とメインバーコードBmの中央左端図17Aで符号Paにて示すにて交差する読取ラインL1がアドオンバーコードBaの右隅を通る場合の、読取ラインL1と配列線L2’との傾斜角度に等しくなるように設定されている。このため、図18Aに例示するように、傾斜角度θが所定の角度閾値θt以下であるならばS306:Yes、読取口62が配列方向L2に対して大きく傾いていない状態でバーコードが読み取られており、アドオンバーコードBaが存在するとして、S300のアドオンバーコード有無判断処理を終了する。なお、S306および後述するS310を実行する制御回路40は、特許請求の範囲に記載の判定手段の一例に相当し得る。一方、傾斜角度θが所定の角度閾値θt以下でない場合にはS306:No、S308へ移行し、アドオンバーコードBaが存在する場合のその左端と読取ラインL1とが交差する点から配列方向L2に沿う配列線L2に下ろした垂線の長さである垂線長Dを算出する。この垂線長Dは、第2コードと第1コードとの配列方向に直交する方向における距離に相当する。そして、上述のように算出された垂線長Dが所定の垂線長閾値Dt以下であるか否かを判断するS310。ここで、垂線長閾値Dtは、図17Bに示すように、配列線L2をメインバーコードBmの下端に通すとき、この配列線L2とメインバーコードBmの下方左端図17Bで符号Pbにて示すにて交差する読取ラインL1がアドオンバーコードBaの右隅を通る場合の、アドオンバーコードBaの左端と読取ラインL1とが交差する点から配列線L2に下ろした垂線の長さに等しくなるように設定されている。このため、図18Bに例示するように、垂線長Dが所定の垂線長閾値Dt以下であるならばS310:Yes、読取口62が配列方向L2に対して大きく傾いていない状態でバーコードが読み取られており、アドオンバーコードBaが存在するとして、S300のアドオンバーコード有無判断処理を終了する。上述のようにS306にてYesと判定されるかS310にてYesと判定されてS300のアドオンバーコード有無判断処理が終了すると、制御回路40は、第2コードがアドオンバーコードBaであると判定しS66、そして、第2コードをデコードしてメモリ35のRAMに記憶するS68。次いで、第1コードおよび第2コードのデコードデータをメインバーコードBmおよびアドオンバーコードBaのデコードデータとして上位機器コンピュータに転送しS70、エンドとなる。一方、図19に例示するように、傾斜角度θが所定の角度閾値θt以下でなくS306:Noかつ垂線長Dが所定の垂線長閾値Dt以下でない場合にはS310:No、アドオンバーコードと異なるバーコードや模様等が読取ラインL1上に表示されているとして、S300のアドオンバーコード有無判断処理を終了し、S86に移行して、第1コードのデコードデータを上位機器に転送し、エンドとなる。図20Aは、アドオンバーコードBaの一部が読取口62から外れた状態を示す図であり、図20Bは、第2コードの左端のバーが異常に太い状態を示す図であり、図20Cは第1コードと第2コードとが離れ過ぎている状態を示す図である。なお、本実施形態では、図20Aに示すように、アドオンバーコードBaがメインバーコードBmに付加されていたが、そのアドオンバーコードBaが読取口62内に完全に入っておらず、右側部分のバーを光学的に読み取ることができなかった場合には、S38、S42、S46、S52、S56、S60のいずれか:Noと判断される可能性がある。そこで、上記のようにブザー44を鳴動させれば、使用者は、ブザー音をバーコードが読取口62から外れていることの注意報と理解し、読取口62の中にメインバーコードとアドオンバーコードとが入るように光学的情報読取装置10を動かし、そしてトリガースイッチ18により読取動作を再スタートさせるようになる。これにより、上述のようにして第1コードおよび第2コードをメインバーコードBaおよびアドオンバーコードBaとを上位機器コンピュータに転送することができる。また、図20Bに示すように、アドオン側のバーコードである第2コードは、左端のバーの幅が極端に幅広く、このようなものはアドオンバーコードではない。ところが、第1コードの最終キャラクタの幅と第2コードの第1キャラクタの幅とを比較する従来方法では、左端の幅広のバーの幅は考慮しないので、図20Bの場合、右側の縞模様をアドオンバーコードと誤判断してしまう。これに対し、本実施形態では、第2コードの左端から7本目までのバーの幅の加算値Yを基準値Xと比較するので、第1コードの右側は、縞模様等でありアドオンバーコードではないと正しく判断し、無駄なデコード処理のために多くの時間を費やすことを防止できる。また、図20Cのように、メイン側のバーコードと、その右側に存在するバーコードとの間には大きなギャップが存在しており、このような大きなギャップを存しているバーコードはアドオンバーコードではない。本実施形態では、メイン側のバーコードとアドオン側のバーコードとの間のギャップ幅GがXと比較して広過ぎる場合、アドオンバーコードではないと判断するので、無駄なデコード処理のために多くの時間を費やすことを防止できる。以上説明したように、本実施形態に係る光学的情報読取装置10では、受光信号に第1コードと第2コードの2つの一次元コードが含まれる場合に、第1コードの配列方向L2と読取ラインL1との傾斜角度θか、第2コードと第1コードとの配列方向L2に直交する方向における距離である垂線長Dが算出される。そして、第1コードと第2コードとの読取ラインL1に沿う方向における間隔であるギャップ幅Gが第2コードをアドオンバーコードとみなし得る閾値である基準値Xの120以上でありS64にてYesと判定され、傾斜角度θが角度閾値θt以下か垂線長Dが垂線長閾値Dt以下である場合に、第2コードがアドオンバーコードBaであると判定される。そして、第2コードがアドオンバーコードBaであると判定される場合に、第1コードがメインバーコードBmであり、第2コードをアドオンバーコードBaとしてデコード処理が行われる。このように、傾斜角度θと垂線長Dとのいずれかに応じて、第2コードがアドオンバーコードであるか否かについて判定されるため、当該装置の読取口62が第1コードの配列方向L2に対して傾いた状態で第1コード等が読み取られる場合でも、アドオンバーコードがあると誤判断する確率を低くすることができる。したがって、読取口62が第1コードの配列方向L2に対して傾いた状態で読み取る場合でも、アドオンバーコードの存在有無に関する判定の正確性を向上させることができる。さらに、傾斜角度θと垂線長Dの双方を用いて第2コードがアドオンバーコードであるか否かについて判定するため、アドオンバーコードの存在有無に関する判定の正確性をさらに向上させることができる。特に、角度閾値θtは、メインバーコードBm第1コードの中央を通る配列線L2に基づいて設定され、垂線長閾値Dtは、メインバーコードBmの下端を通る配列線L2に基づいて設定されている。このため、傾斜角度θが角度閾値θt以下となる第1コードと第2コードとの位置関係では、常に、垂線長Dが垂線長閾値Dt以下となるので、傾斜角度θを用いて第2コードがアドオンバーコードBaであると判定される場合には、常に、垂線長Dを用いて第2コードがアドオンバーコードBaであると判定される。したがって、2つの観点である傾斜角度θおよび垂線長Dを用いてアドオンバーコードの存在有無を判定する構成でも、傾斜角度θが角度閾値θt以下となれば垂線長Dの算出が不要となるので、常に傾斜角度θおよび垂線長Dを算出する場合と比較して処理負荷や処理時間を軽減することができる。また、本実施形態では、傾斜角度θは、S102にて算出した深度Hと受光信号から求められる当該第1コードの幅値である実測幅値A1とから算出されるためS304、新たな測定手段を別途用意することなく上記角度を容易に算出することができる。なお、S102にて算出した深度Hは、ラインセンサ32から第1コードまでの離間距離としてみなすことができる。ここで、S308において、垂線長Dは、ギャップ幅Gおよび傾斜角度θから算出することができる。このように垂線長Dを算出することで、S308にて述べたようにアドオンバーコードBaが存在する場合のその左端と読取ラインL1とが交差する点から配列方向L2に沿う配列線L2に下ろした垂線の長さとして垂線長Dを算出する場合と同様に、新たな測定手段を別途用意することなく上記距離を容易に算出することができる。なお、本発明は上記実施形態に限定されるものではなく、以下のように具体化してもよい。1バーコード読取専用の光学的情報読取装置に本発明の構成を適用した例を挙げたが、バーコード等の一次元コードと共に二次元コードも読み取り可能な光学情報読取装置に本願発明の構成を適用してもよい。2S304において、S102にて算出した深度Hから想定幅値A2を求めることに限らず、別途距離センサを設けて深度Hに相当する距離を実測するなど他の測定方法により想定幅値A2または傾斜角度θを求めてもよい。3S300のアドオンバーコード有無判断処理において、S308,S310を廃止して、傾斜角度θのみに基づいて第2コードがアドオンバーコードがあるか否かについて判断してもよいし、S304,S306を廃止して、垂線長Dのみに基づいて第2コードがアドオンバーコードがあるか否かについて判断してもよい。4S300のアドオンバーコード有無判断処理において、S308,S310の処理を実施した後にS304,S306の処理を実施してもよい。この場合、垂線長閾値Dtは、例えば、メインバーコードBm第1コードの中央を通る配列線L2に基づいて設定され、例えば、角度閾値θtは、メインバーコードBmの下端を通る配列線L2に基づいて設定される。このため、垂線長Dが垂線長閾値Dt以下となる第1コードと第2コードとの位置関係では、常に、傾斜角度θが角度閾値θt以下となるので、垂線長Dを用いて第2コードがアドオンバーコードBaであると判定される場合には、常に、傾斜角度θを用いて第2コードがアドオンバーコードBaであると判定される。このようにしても、2つの観点である傾斜角度θおよび垂線長Dを用いてアドオンバーコードの存在有無を判定する構成でも、垂線長Dが垂線長閾値Dt以下となれば傾斜角度θの算出が不要となるので、常に傾斜角度θおよび垂線長Dを算出する場合と比較して処理負荷や処理時間を軽減することができる。"