JPH0668774B2 - バ−コ−ド読取方法 - Google Patents
バ−コ−ド読取方法Info
- Publication number
- JPH0668774B2 JPH0668774B2 JP60188615A JP18861585A JPH0668774B2 JP H0668774 B2 JPH0668774 B2 JP H0668774B2 JP 60188615 A JP60188615 A JP 60188615A JP 18861585 A JP18861585 A JP 18861585A JP H0668774 B2 JPH0668774 B2 JP H0668774B2
- Authority
- JP
- Japan
- Prior art keywords
- character
- value
- bar
- space
- comparison
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Description
【発明の詳細な説明】 (発明の利用分野) 本発明はバーコード読取方法に関するもので、特に所定
の規則から外れた特殊キャラクタのバーコードを読取る
ことができる方法に関する。
の規則から外れた特殊キャラクタのバーコードを読取る
ことができる方法に関する。
(従来技術) バーコードには種々の形式のものがあり、その形式によ
って夫々所定の規則が存在している。
って夫々所定の規則が存在している。
これらのバーコード形式の代表的なものの一つとして、
「NW−7」と称されるコード形式のものがある。このコ
ードは第13図のコード表に示される如く、各キャラクタ
共に4個のバー(黒バー)と3個のスペース(白バー)
からなっていて、通常は「0」〜「9」の数字のみがデ
ータとして使用される。上記コード表から明らかなよう
に各数字キャラクタと「¥」および「−」は、4個のバ
ーのうち1個のみが幅広であり、かつ3個のスペースの
うち1個のみが幅広になっている。また、主にスタート
コード,ストップコードとして使用される「a」,
「b」・・・等の特殊キャラクタは4個のバーのうち1
個のみが幅広であり、かつ3個のスペースのうち2個が
幅広になっている。さらに、「.」,「+」・・・等の
特殊キャラクタは4個のバーのうち3個が幅広であり、
かつ3個のスペースは全て幅狭になっている。そして、
バーおよびスペース共に幅広のものが二進値「1」を意
味し、幅狭のものが二進値「0」を意味するように定義
付けられている。
「NW−7」と称されるコード形式のものがある。このコ
ードは第13図のコード表に示される如く、各キャラクタ
共に4個のバー(黒バー)と3個のスペース(白バー)
からなっていて、通常は「0」〜「9」の数字のみがデ
ータとして使用される。上記コード表から明らかなよう
に各数字キャラクタと「¥」および「−」は、4個のバ
ーのうち1個のみが幅広であり、かつ3個のスペースの
うち1個のみが幅広になっている。また、主にスタート
コード,ストップコードとして使用される「a」,
「b」・・・等の特殊キャラクタは4個のバーのうち1
個のみが幅広であり、かつ3個のスペースのうち2個が
幅広になっている。さらに、「.」,「+」・・・等の
特殊キャラクタは4個のバーのうち3個が幅広であり、
かつ3個のスペースは全て幅狭になっている。そして、
バーおよびスペース共に幅広のものが二進値「1」を意
味し、幅狭のものが二進値「0」を意味するように定義
付けられている。
上記のようなバーコードを読取る方法としては従来より
種々のものが提案されているが、本出願人は読取器の走
査スピードの変化や、バーおよびスペースの多少の幅変
化等に対しても極力正確な読取を行ない得るようなバー
コード読取方法を既に出願している。
種々のものが提案されているが、本出願人は読取器の走
査スピードの変化や、バーおよびスペースの多少の幅変
化等に対しても極力正確な読取を行ない得るようなバー
コード読取方法を既に出願している。
第一の方法は、特願昭59−221970(特開昭61−101880)
として出願されていて、読取器によってバーコードを走
査することによりバーおよびスペースからなる各領域の
幅に相当する値を記憶し、この記憶された各領域の幅に
相当する値に基づいて比較基準値を算出し、この算出さ
れた比較基準値と上記各領域の幅に相当する値とを比較
してその大小関係に従って上記各領域の幅を判定する方
法である。
として出願されていて、読取器によってバーコードを走
査することによりバーおよびスペースからなる各領域の
幅に相当する値を記憶し、この記憶された各領域の幅に
相当する値に基づいて比較基準値を算出し、この算出さ
れた比較基準値と上記各領域の幅に相当する値とを比較
してその大小関係に従って上記各領域の幅を判定する方
法である。
また第二の方法は、特願昭60−121570(特開昭62−9077
6)として出願されていて、読取器によってバーコード
を走査することによりバーおよびスペースからなる各領
域の幅に相当する値を記憶し、この記憶された各領域の
幅に相当する値のうち所定数の値を合計して合計値を算
出し、この算出された合計値と上記各領域の幅に相当す
る値との商を算出してこの算出値とあらかじめ設定され
ている比較値とを比較し、その大小関係に従って上記各
領域の幅を判定する方法である。
6)として出願されていて、読取器によってバーコード
を走査することによりバーおよびスペースからなる各領
域の幅に相当する値を記憶し、この記憶された各領域の
幅に相当する値のうち所定数の値を合計して合計値を算
出し、この算出された合計値と上記各領域の幅に相当す
る値との商を算出してこの算出値とあらかじめ設定され
ている比較値とを比較し、その大小関係に従って上記各
領域の幅を判定する方法である。
上記第一,第二の読取方法の具体的内容については後述
する本発明の実施例中において詳細に説明するが、読取
器の走査スピードの変化や、バーおよびスペースの多少
の幅変化等に対しても正確な読取を行ない得るという利
点を有している反面、特に上述した「.」,「+」・・
・等からなる特殊キャラクタの読取ができないという問
題が残されていた。これはキャラクタ毎にバーおよびス
ペースの幅に相当する値に基づいて比較基準値または合
計値を算出し、その算出した比較基準値や合計値を用い
て各バーおよびスペースからなる領域幅の大小を判定す
る方法を採用している為である。
する本発明の実施例中において詳細に説明するが、読取
器の走査スピードの変化や、バーおよびスペースの多少
の幅変化等に対しても正確な読取を行ない得るという利
点を有している反面、特に上述した「.」,「+」・・
・等からなる特殊キャラクタの読取ができないという問
題が残されていた。これはキャラクタ毎にバーおよびス
ペースの幅に相当する値に基づいて比較基準値または合
計値を算出し、その算出した比較基準値や合計値を用い
て各バーおよびスペースからなる領域幅の大小を判定す
る方法を採用している為である。
(発明の目的) 本発明は上述した問題点に鑑みてなされたもので、基本
的には上記第一,第二の読取方法を採用することにより
読取器の走査スピードの変化や、バーおよびスペースの
多少の幅変化に対応できるようにし、かつ特殊キャラク
タの読取りも可能としたバーコード読取方法を提供する
ことを目的とする。
的には上記第一,第二の読取方法を採用することにより
読取器の走査スピードの変化や、バーおよびスペースの
多少の幅変化に対応できるようにし、かつ特殊キャラク
タの読取りも可能としたバーコード読取方法を提供する
ことを目的とする。
(発明の概要) 本発明においては、読取器によってバーコードを走査す
ることによりバーおよびスペースからなる各領域幅に相
当する値を記憶し、この記憶された各領域幅の値に基づ
いて標準キャラクタデコード過程にてキャラクタ毎にデ
コードを行ない、この標準キャラクタデコード過程にて
デコードエラーとなったキャラクタについては特殊キャ
ラクタデコード過程にて再度デコードされるようにした
ものである。
ることによりバーおよびスペースからなる各領域幅に相
当する値を記憶し、この記憶された各領域幅の値に基づ
いて標準キャラクタデコード過程にてキャラクタ毎にデ
コードを行ない、この標準キャラクタデコード過程にて
デコードエラーとなったキャラクタについては特殊キャ
ラクタデコード過程にて再度デコードされるようにした
ものである。
(実施例) 以下、第1図〜第13図を参照して、本発明によるバーコ
ード読取方法の実施例について詳述する。
ード読取方法の実施例について詳述する。
第1図は読取装置の回路図を示すもので、CPU2はバスラ
イン1によってプログラム記憶回路3,データ記憶回路4,
デジタル入出力回路5,および表示制御回路6に夫々接続
されている。このCPU2は、ROMによって構成されたプロ
グラム記憶回路3のプログラムに従って全体の動作を制
御するようになっている。また、RAMによって構成され
たデータ記憶回路4は、領域幅記憶部M1,基準値あるい
は合計値を記憶する記憶部M2,読取データ記憶部M3,一時
記憶部M4,およびその他のデータを記憶する記憶部M5を
有している。
イン1によってプログラム記憶回路3,データ記憶回路4,
デジタル入出力回路5,および表示制御回路6に夫々接続
されている。このCPU2は、ROMによって構成されたプロ
グラム記憶回路3のプログラムに従って全体の動作を制
御するようになっている。また、RAMによって構成され
たデータ記憶回路4は、領域幅記憶部M1,基準値あるい
は合計値を記憶する記憶部M2,読取データ記憶部M3,一時
記憶部M4,およびその他のデータを記憶する記憶部M5を
有している。
デジタル入出力回路5にはバーコードを走査する手動式
の光学的読取器7が接続されており、このデジタル入出
力回路5は読取器7がバーの領域を走査中であるかスペ
ースの領域を走査中であるかを検出して、その状態を二
値信号でバスライン1に出力するように構成されてい
る。表示制御回路6は、読取データ記憶部M3に記憶され
ているバーコードの読取データに基づいて変換された表
示データにしたがってCRTディスプレイ等からなる表示
部8にその内容を表示するためのものである。
の光学的読取器7が接続されており、このデジタル入出
力回路5は読取器7がバーの領域を走査中であるかスペ
ースの領域を走査中であるかを検出して、その状態を二
値信号でバスライン1に出力するように構成されてい
る。表示制御回路6は、読取データ記憶部M3に記憶され
ているバーコードの読取データに基づいて変換された表
示データにしたがってCRTディスプレイ等からなる表示
部8にその内容を表示するためのものである。
次に、上記回路を備えた読取装置によって第12図に示さ
れるようなバーコードを読取る方法について説明する。
このバーコードは、第13図の表に示される形式のもので
あり、かつバーおよびスペース共に幅広のものと幅狭の
ものとの比が3:1になっているものとする。
れるようなバーコードを読取る方法について説明する。
このバーコードは、第13図の表に示される形式のもので
あり、かつバーおよびスペース共に幅広のものと幅狭の
ものとの比が3:1になっているものとする。
最初に、前述した第一の読取方法を改良してなるバーコ
ード読取方法について説明する。
ード読取方法について説明する。
第2図には全体の動作が示されており、まず計数動作が
開始される。この計数動作は読取器7が第12図に示され
るバーコードを走査することにより、バーおよびスペー
スからなる各領域の幅に相当する値を計数して記憶する
動作を示すものである。この計数動作の詳細について第
3図を参照して説明する。
開始される。この計数動作は読取器7が第12図に示され
るバーコードを走査することにより、バーおよびスペー
スからなる各領域の幅に相当する値を計数して記憶する
動作を示すものである。この計数動作の詳細について第
3図を参照して説明する。
第1図に示される各回路がイニシャルセットされた後、
読取器7によって第12図にL1で示すスタートマージンに
相当する空白部が走査されたかどうかの判断がなされ
る。あらかじめ設定されているスタートマージンL1の走
査が完了するとスタートマージンL1が終了したかどうか
の判断がなされ、終了したらステップ3−4にて読取器
7がバーの走査を行なっているかどうかの判断がなされ
る。スタートマージンL1が終了していれば読取器7は当
然にバーの走査に入っており、記憶部M5の所定番地に設
定されているバーの計数値Bを1だけ加算する。読取器
7が一番目のバーBA1を走査している間ステップ3−4
と3−5が繰り返され、この一番目のバーBA1の幅に相
当する値が計数される。読取器7が一番目のバーBA1の
走査を終了すると記憶部M5に記憶されているバーの計数
値Bを領域幅記憶部M1にストアする。
読取器7によって第12図にL1で示すスタートマージンに
相当する空白部が走査されたかどうかの判断がなされ
る。あらかじめ設定されているスタートマージンL1の走
査が完了するとスタートマージンL1が終了したかどうか
の判断がなされ、終了したらステップ3−4にて読取器
7がバーの走査を行なっているかどうかの判断がなされ
る。スタートマージンL1が終了していれば読取器7は当
然にバーの走査に入っており、記憶部M5の所定番地に設
定されているバーの計数値Bを1だけ加算する。読取器
7が一番目のバーBA1を走査している間ステップ3−4
と3−5が繰り返され、この一番目のバーBA1の幅に相
当する値が計数される。読取器7が一番目のバーBA1の
走査を終了すると記憶部M5に記憶されているバーの計数
値Bを領域幅記憶部M1にストアする。
次に読取器7がスペースの走査中であるかどうかの判断
がなされ、スペースの走査がなされている場合はスペー
スの計数値を1だけ加算して記憶部M5の所定番地にセッ
トする。そしてこのスペースの計数値が第12図にL2で示
すストップマージンに相当する幅の値に達したか否かの
判断がなされ、達していない場合はステップ3−7から
ステップ3−9の動作が繰り返され一番目のスペースSP
1の幅に相当する値が計数される。読取器7が一番目の
スペースSP1の走査を終了すると記憶部M5にセットされ
ているスペースの計数値Sを領域幅記憶部M1にストアし
た後ステップ3−4に戻る。
がなされ、スペースの走査がなされている場合はスペー
スの計数値を1だけ加算して記憶部M5の所定番地にセッ
トする。そしてこのスペースの計数値が第12図にL2で示
すストップマージンに相当する幅の値に達したか否かの
判断がなされ、達していない場合はステップ3−7から
ステップ3−9の動作が繰り返され一番目のスペースSP
1の幅に相当する値が計数される。読取器7が一番目の
スペースSP1の走査を終了すると記憶部M5にセットされ
ているスペースの計数値Sを領域幅記憶部M1にストアし
た後ステップ3−4に戻る。
以下同様にして、ステップ3−4からステップ3−6に
よって二番目以降のバーBA2,BA3,BA4・・・・の幅に相
当する値が計数されて領域幅記憶部M1にストアされ、か
つステップ3−7からステップ3−10によって二番目以
降のスペースSP2,SP3・・・・の幅に相当する値が計数
されて領域幅記憶部M1に夫々ストアされることによりバ
ーコード全体のバーおよびスペースからなる領域幅に相
当する値が計数される。読取器7が第12図に示されるス
トップマージンL2の領域幅に相当する値を計数した場合
は、バーコードの走査は完了したものとみなし、基準値
計算に移る。なお、バーについては3−4,3−5の2ス
テップにより1だけカウントアップし、スペースについ
ては3−7,3−8,3−9の3ステップにより1だけカウン
トアップしており両者の計数条件が異なる。このため、
ステップ3−5の次に意味のない疑似的なステップを付
加することにより、バーとスペースの計数条件を均等に
することが好ましい。
よって二番目以降のバーBA2,BA3,BA4・・・・の幅に相
当する値が計数されて領域幅記憶部M1にストアされ、か
つステップ3−7からステップ3−10によって二番目以
降のスペースSP2,SP3・・・・の幅に相当する値が計数
されて領域幅記憶部M1に夫々ストアされることによりバ
ーコード全体のバーおよびスペースからなる領域幅に相
当する値が計数される。読取器7が第12図に示されるス
トップマージンL2の領域幅に相当する値を計数した場合
は、バーコードの走査は完了したものとみなし、基準値
計算に移る。なお、バーについては3−4,3−5の2ス
テップにより1だけカウントアップし、スペースについ
ては3−7,3−8,3−9の3ステップにより1だけカウン
トアップしており両者の計数条件が異なる。このため、
ステップ3−5の次に意味のない疑似的なステップを付
加することにより、バーとスペースの計数条件を均等に
することが好ましい。
上記計数動作によって、第12図に示されるバーコード全
体の各バーおよびスペースからなる領域の幅に相当する
値が領域幅記憶部M1に記憶された状態になる。次に、第
2図にステップ2−2で示す標準キャラクタの基準値計
算に入る。この基準値計算動作の詳細について第4図を
参照して説明する。
体の各バーおよびスペースからなる領域の幅に相当する
値が領域幅記憶部M1に記憶された状態になる。次に、第
2図にステップ2−2で示す標準キャラクタの基準値計
算に入る。この基準値計算動作の詳細について第4図を
参照して説明する。
まず、ステップ4−1ではバーコード全体のキャラクタ
の桁数Aが求められる。このキャラクタの桁数Aは、バ
ーコード全体が何個のキャラクタによって構成されてい
るかということを表わすものであり、求められた桁数A
(第12図の例では桁数A=5)は記憶部M5の所定番地に
セットされる。
の桁数Aが求められる。このキャラクタの桁数Aは、バ
ーコード全体が何個のキャラクタによって構成されてい
るかということを表わすものであり、求められた桁数A
(第12図の例では桁数A=5)は記憶部M5の所定番地に
セットされる。
そして、一番目の1キャラクタ分に相当する四個のバー
の計数値を合計し、この合計値をプログラム記憶回路3
に記憶されているあらかじめ設定された定数K1で割るこ
とにより最初のキャラクタのバーに相当する比較基準値
N1として記憶部M2にストアする。次に最初のキャラクタ
分の三個のスペースの計数値を合計し、この合計値をプ
ログラム記憶回路3に記憶されているあらかじめ設定さ
れた定数K2で割ることにより最初のキャラクタ分に相当
するスペースの比較基準値N2として記憶部M2にストアす
る。なお、比較基準値N1は幅狭バーに相当する計数値と
幅広バーに相当する計数値との略中間値となるように上
記定数K1を3に設定し、かつ比較基準値N2は幅狭スペー
スに相当する計数値と幅広スペースに相当する計数値と
の略中間値となるように上記定数K2を2.5に設定してい
る。
の計数値を合計し、この合計値をプログラム記憶回路3
に記憶されているあらかじめ設定された定数K1で割るこ
とにより最初のキャラクタのバーに相当する比較基準値
N1として記憶部M2にストアする。次に最初のキャラクタ
分の三個のスペースの計数値を合計し、この合計値をプ
ログラム記憶回路3に記憶されているあらかじめ設定さ
れた定数K2で割ることにより最初のキャラクタ分に相当
するスペースの比較基準値N2として記憶部M2にストアす
る。なお、比較基準値N1は幅狭バーに相当する計数値と
幅広バーに相当する計数値との略中間値となるように上
記定数K1を3に設定し、かつ比較基準値N2は幅狭スペー
スに相当する計数値と幅広スペースに相当する計数値と
の略中間値となるように上記定数K2を2.5に設定してい
る。
これで最初のキャラクタ分のバーおよびスペースに相当
する基準値N1,N2の計算が終了し、キャラクタの桁数A
が1だけ減算される。そして、この桁数Aが0になった
かどうかの判断がなされ、0でない場合はステップ4−
3からステップ4−10が繰り返されて以後のキャラクタ
分に担当するバーおよびスペースの基準値計算がなされ
て夫々記憶部M2にストアされる。また、桁数Aが0であ
ると判断された場合は、バーコード全体のバーおよびス
ペースに相当する基準値計算が終了したものとみなされ
る。基準値計算が終了すると、第2図にステップ2−3
で示す標準キャラクタのデータ比較に移る。次に、この
データ比較動作の詳細について第5図を参照して説明す
る。
する基準値N1,N2の計算が終了し、キャラクタの桁数A
が1だけ減算される。そして、この桁数Aが0になった
かどうかの判断がなされ、0でない場合はステップ4−
3からステップ4−10が繰り返されて以後のキャラクタ
分に担当するバーおよびスペースの基準値計算がなされ
て夫々記憶部M2にストアされる。また、桁数Aが0であ
ると判断された場合は、バーコード全体のバーおよびス
ペースに相当する基準値計算が終了したものとみなされ
る。基準値計算が終了すると、第2図にステップ2−3
で示す標準キャラクタのデータ比較に移る。次に、この
データ比較動作の詳細について第5図を参照して説明す
る。
まず、ステップ5−1においてキャラクタの桁数Aを再
びセットし、さらに最初のキャラクタの基準値N1,N2が
格納されている記憶部M2の番地を記憶部M5にセットす
る。このセットが完了すると、ステップ5−3において
1キャラクタ分のバーおよびスペースの合計数D=8を
記憶部M5の所定番地にセットする。なお、バーとスペー
スの合計数は第12図に示されるように実際には7である
が、これにキャラクタ間スペースCSが加わるため合計数
Dは8にセットしておくものである。
びセットし、さらに最初のキャラクタの基準値N1,N2が
格納されている記憶部M2の番地を記憶部M5にセットす
る。このセットが完了すると、ステップ5−3において
1キャラクタ分のバーおよびスペースの合計数D=8を
記憶部M5の所定番地にセットする。なお、バーとスペー
スの合計数は第12図に示されるように実際には7である
が、これにキャラクタ間スペースCSが加わるため合計数
Dは8にセットしておくものである。
そしてステップ5−4にて、領域幅記憶部M1に記憶され
ている一番目の計数値がバーであるかスペースであるか
の判断がなされる。バーである場合には記憶部M5にセッ
トされている最初のキャラクタの比較基準値の番地を参
照し記憶部M2に記憶されている最初のキャラクタのバー
の比較基準値N1をCPU2内のレジスタD・Ereg内にセット
する。次にステップ5−6において、領域幅記憶部M1に
記憶されている一番目のバーBA1の計数値とステップ5
−5においてレジスタD・Eregにセットされた最初のキ
ャラクタのバーの比較基準値N1との大小比較がなされ、
計数値が比較基準値N1より大きい場合は一番目のバーは
二進値「1」と判断され、計数値が比較基準値N1より大
きくない場合は二進値「0」と判断される。これらの二
進値「1」または「0」のデータは一時記憶部M4にスト
アされる。第12図の例では一番目のバーBA1が幅狭であ
り、その計数値は比較基準値N1より小さくなるため二進
値「0」がストアされる。
ている一番目の計数値がバーであるかスペースであるか
の判断がなされる。バーである場合には記憶部M5にセッ
トされている最初のキャラクタの比較基準値の番地を参
照し記憶部M2に記憶されている最初のキャラクタのバー
の比較基準値N1をCPU2内のレジスタD・Ereg内にセット
する。次にステップ5−6において、領域幅記憶部M1に
記憶されている一番目のバーBA1の計数値とステップ5
−5においてレジスタD・Eregにセットされた最初のキ
ャラクタのバーの比較基準値N1との大小比較がなされ、
計数値が比較基準値N1より大きい場合は一番目のバーは
二進値「1」と判断され、計数値が比較基準値N1より大
きくない場合は二進値「0」と判断される。これらの二
進値「1」または「0」のデータは一時記憶部M4にスト
アされる。第12図の例では一番目のバーBA1が幅狭であ
り、その計数値は比較基準値N1より小さくなるため二進
値「0」がストアされる。
そして、Dが1だけ減算された後ステップ5−9におい
てD=0かどうかの判断がなされた後、0でない場合は
ステップ5−4に戻る。そこで領域幅記憶部M1の二番目
には一番目のスペースSP1の計数値が記憶されているた
め、記憶部M5にセットされている最初のキャラクタのス
ペースに相当する比較基準値N2の番地を参照して記憶部
M2より最初のキャラクタのスペースの比較基準値N2をCP
U2内のレジスタD・Eregにセットする。そして、領域幅
記憶部M1に記憶されている二番目のデータすなわち一番
目のスペースSP1の幅に相当する計数値とレジスタD・E
regにセットされたスペースの比較基準値N2と大小関係
とを比較する。この比較の結果スペースSP1の計数値が
比較基準値N2より大きい場合は二進値「1」と判断され
大きくない場合は二進値「0」と判断される。その結
果、二進値「1」または「0」が一時記憶部M4にストア
される。第12の例では一番目のスペースSP1が幅狭であ
り、その計数値は比較基準値N2により大きくないため二
進値「0」がストアされる。そして、Dの値が1だけ減
算された後ステップ5−9に移る。この動作が繰り返さ
れることにより最初のキャラクタ分のバーおよびスペー
スとキャラクタ間スペースのデータ比較が行なわれる。
てD=0かどうかの判断がなされた後、0でない場合は
ステップ5−4に戻る。そこで領域幅記憶部M1の二番目
には一番目のスペースSP1の計数値が記憶されているた
め、記憶部M5にセットされている最初のキャラクタのス
ペースに相当する比較基準値N2の番地を参照して記憶部
M2より最初のキャラクタのスペースの比較基準値N2をCP
U2内のレジスタD・Eregにセットする。そして、領域幅
記憶部M1に記憶されている二番目のデータすなわち一番
目のスペースSP1の幅に相当する計数値とレジスタD・E
regにセットされたスペースの比較基準値N2と大小関係
とを比較する。この比較の結果スペースSP1の計数値が
比較基準値N2より大きい場合は二進値「1」と判断され
大きくない場合は二進値「0」と判断される。その結
果、二進値「1」または「0」が一時記憶部M4にストア
される。第12の例では一番目のスペースSP1が幅狭であ
り、その計数値は比較基準値N2により大きくないため二
進値「0」がストアされる。そして、Dの値が1だけ減
算された後ステップ5−9に移る。この動作が繰り返さ
れることにより最初のキャラクタ分のバーおよびスペー
スとキャラクタ間スペースのデータ比較が行なわれる。
また、ステップ5−9においてD=0と判断された時、
ステップ5−12において一時記憶部M4にストアされた1
キャラクタ分のデータのうち最初の7ビット分、すなわ
ちキャラクタ間スペースCSを除いたバーおよびスペース
のデータに相当する内容を読取データ記憶部M3にストア
する。そしてステップ5−13にて、記憶部M5にセットさ
れている最初のキャラクタの比較基準値の番地データを
クリアして次のキャラクタの比較基準値の番地データを
セットし、かつステップ5−14にてキャラクタの桁数A
を1だけ減算する。次に、ステップ5−15においてこの
桁数Aが0かどうかの判断がなされ、0でない場合には
ステップ5−3からステップ5−15を繰り返すことによ
り順次各キャラクタ分のバーおよびスペースのデータ比
較を行なう。また、この比較の結果によって得られたデ
ータは、読取データ記憶部M3に所定の順序にてストアさ
れる。なお、最終キャラクタにはキャラクタ間スペース
CSがなくバーおよびスペースの合計数Dは7となるた
め、ステップ5−6にて判定される八番目の二進値につ
いては全く意味のないものとなるが、ステップ5−12に
てこの八番目の二進値は放棄されるので問題は生じな
い。
ステップ5−12において一時記憶部M4にストアされた1
キャラクタ分のデータのうち最初の7ビット分、すなわ
ちキャラクタ間スペースCSを除いたバーおよびスペース
のデータに相当する内容を読取データ記憶部M3にストア
する。そしてステップ5−13にて、記憶部M5にセットさ
れている最初のキャラクタの比較基準値の番地データを
クリアして次のキャラクタの比較基準値の番地データを
セットし、かつステップ5−14にてキャラクタの桁数A
を1だけ減算する。次に、ステップ5−15においてこの
桁数Aが0かどうかの判断がなされ、0でない場合には
ステップ5−3からステップ5−15を繰り返すことによ
り順次各キャラクタ分のバーおよびスペースのデータ比
較を行なう。また、この比較の結果によって得られたデ
ータは、読取データ記憶部M3に所定の順序にてストアさ
れる。なお、最終キャラクタにはキャラクタ間スペース
CSがなくバーおよびスペースの合計数Dは7となるた
め、ステップ5−6にて判定される八番目の二進値につ
いては全く意味のないものとなるが、ステップ5−12に
てこの八番目の二進値は放棄されるので問題は生じな
い。
このようにしてすべてのキャラクタ分のバーおよびスペ
ースのデータ比較および比較結果のデータストアが完了
するとキャラクタの桁数Aが0となり、第2図のステッ
プ2−4に移る。
ースのデータ比較および比較結果のデータストアが完了
するとキャラクタの桁数Aが0となり、第2図のステッ
プ2−4に移る。
このステップ2−4においては、読取データ記憶部M3に
ストアされている最初のキャラクタに相当する7ビット
分のデータがCPU2内のレジスタAregにセットされる。そ
して、ステップ2−5においては、第13図に示される
「¥」に相当する7ビットのコード「0011000」がプロ
グラム記憶回路3から呼び出されてCPU2内のレジスタBr
egにセットされる。
ストアされている最初のキャラクタに相当する7ビット
分のデータがCPU2内のレジスタAregにセットされる。そ
して、ステップ2−5においては、第13図に示される
「¥」に相当する7ビットのコード「0011000」がプロ
グラム記憶回路3から呼び出されてCPU2内のレジスタBr
egにセットされる。
次に、ステップ2−6にてAregの内容とBregの内容との
比較、すなわち最初のキャラクタが「¥」であるか否か
の判断がなされる。実際には、レジスタAregにセットさ
れているデータは「1」に相当する内容であるため、Ar
eg=Bregではないと判断されてステップ2−7に移り、
第13図に示される全てのコードとの比較が完了したかど
うかの判断がなされる。全てのコードとの比較が完了し
ていない場合は、次の「−」に相当するコードをBregに
セットした後再びAreg=Bregの比較が行なわれる。この
ような動作が繰り返されることによりBregに「000001
1」がセットされた状態でAreg=Bregの条件が満足さ
れ、ステップ2−9にてBregにセットされているコード
に対応するキャラクタ「1」が記憶部M5の所定番地にセ
ットされる。
比較、すなわち最初のキャラクタが「¥」であるか否か
の判断がなされる。実際には、レジスタAregにセットさ
れているデータは「1」に相当する内容であるため、Ar
eg=Bregではないと判断されてステップ2−7に移り、
第13図に示される全てのコードとの比較が完了したかど
うかの判断がなされる。全てのコードとの比較が完了し
ていない場合は、次の「−」に相当するコードをBregに
セットした後再びAreg=Bregの比較が行なわれる。この
ような動作が繰り返されることによりBregに「000001
1」がセットされた状態でAreg=Bregの条件が満足さ
れ、ステップ2−9にてBregにセットされているコード
に対応するキャラクタ「1」が記憶部M5の所定番地にセ
ットされる。
次に、記憶部M5の所定番地に設定されているフラグをク
リアした後、ステップ2−11にて全てのキャラクタのデ
コードが終了したかどうかの判断を行ない、終了してい
ない場合は読取データ記憶部M3にストアされている二番
目のキャラクタに相当する7ビット分のデータがレジス
タAregにセットされる。この二番目のキャラクタについ
ても上述した最初のキャラクタと同様にして判断され、
キャラクタ「2」が記憶部M5の所定番地にセットされ
る。
リアした後、ステップ2−11にて全てのキャラクタのデ
コードが終了したかどうかの判断を行ない、終了してい
ない場合は読取データ記憶部M3にストアされている二番
目のキャラクタに相当する7ビット分のデータがレジス
タAregにセットされる。この二番目のキャラクタについ
ても上述した最初のキャラクタと同様にして判断され、
キャラクタ「2」が記憶部M5の所定番地にセットされ
る。
次に、三番目のキャラクタに相当する7ビット分のデー
タがレジスタAregにセットされ、レジスタBregに順次セ
ットされる「¥」以下のコードとの比較が行なわれる。
しかしながら、三番目の「/」については4個のバーの
うち3個が幅広でかつ3個のスペースは全て幅狭という
特殊キャラクタであり、数字等からなる標準キャラクタ
とは構成が異なっている。したがって、第4図に示す標
準キャラクタの基準値計算において正確な基準値が算出
されていないため、三番目の「/」に相当する7ビット
のデータは第13図に示すような「1010001」とはならず
「0000000」になってしまう。
タがレジスタAregにセットされ、レジスタBregに順次セ
ットされる「¥」以下のコードとの比較が行なわれる。
しかしながら、三番目の「/」については4個のバーの
うち3個が幅広でかつ3個のスペースは全て幅狭という
特殊キャラクタであり、数字等からなる標準キャラクタ
とは構成が異なっている。したがって、第4図に示す標
準キャラクタの基準値計算において正確な基準値が算出
されていないため、三番目の「/」に相当する7ビット
のデータは第13図に示すような「1010001」とはならず
「0000000」になってしまう。
このようにデータが「0000000」となっている場合は、
第2図のステップ2−6〜2−8が繰り返されて全ての
コードとの比較動作が終了してもAregとBregの内容は一
致せず、デコードエラーと判断される。デコードエラー
となった場合は、ステップ2−13にて記憶部M5内のフラ
グが「1」かどうかをチェックすることにより、特殊キ
ャラクタのデコードを行なったかどうかの判断を行な
う。行なっていないと判断された場合には、ステップ2
−14の特殊キャラクタの基準値計算を開始する。次に、
この特殊キャラクタの基準値計算について第6図を参照
して説明する。
第2図のステップ2−6〜2−8が繰り返されて全ての
コードとの比較動作が終了してもAregとBregの内容は一
致せず、デコードエラーと判断される。デコードエラー
となった場合は、ステップ2−13にて記憶部M5内のフラ
グが「1」かどうかをチェックすることにより、特殊キ
ャラクタのデコードを行なったかどうかの判断を行な
う。行なっていないと判断された場合には、ステップ2
−14の特殊キャラクタの基準値計算を開始する。次に、
この特殊キャラクタの基準値計算について第6図を参照
して説明する。
まず、ステップ6−1では現在デコード中のキャラクタ
分に相当する4個のバーの計数値を合計する。そして、
この合計値をプログラム記憶回路3に記憶されているあ
らかじめ設定された定数K3で割ることにより現在デコー
ド中のキャラクタのバーに相当する比較基準値N3を算出
し、記憶部M2にストアする。次に、3個のスペースの計
数値を合計し、この合計値をプログラム記憶回路3に記
憶されているあらかじめ設定された定数K4で割ることに
よりスペースの比較基準値N4として記憶部M2にストアす
る。上記比較基準値N3は、「.」〜「/」の幅狭バーに
相当する計数値と幅広バーに相当する計数値との略中間
値となるように上記定数K3を5に設定し、かつ比較基準
値N4は幅狭スペースに相当する計数値と幅広スペースに
相当する計数値との略中間値となるように上記定数K4を
1.5に設定している。
分に相当する4個のバーの計数値を合計する。そして、
この合計値をプログラム記憶回路3に記憶されているあ
らかじめ設定された定数K3で割ることにより現在デコー
ド中のキャラクタのバーに相当する比較基準値N3を算出
し、記憶部M2にストアする。次に、3個のスペースの計
数値を合計し、この合計値をプログラム記憶回路3に記
憶されているあらかじめ設定された定数K4で割ることに
よりスペースの比較基準値N4として記憶部M2にストアす
る。上記比較基準値N3は、「.」〜「/」の幅狭バーに
相当する計数値と幅広バーに相当する計数値との略中間
値となるように上記定数K3を5に設定し、かつ比較基準
値N4は幅狭スペースに相当する計数値と幅広スペースに
相当する計数値との略中間値となるように上記定数K4を
1.5に設定している。
このようにして特殊キャラクタの基準値計算が終了する
と、第7図に示されるような特殊キャラクタのデータ比
較が行なわれる。
と、第7図に示されるような特殊キャラクタのデータ比
較が行なわれる。
このデータ比較においては、まずステップ7−1におい
て、1キャラクタ分のバーおよびスペースの合計数D=
8の記憶部M5の所定番地にセットする。そしてステップ
7−2にて、領域幅記憶部M1に記憶されている現在デコ
ード中のキャラクタの一番目の計数値がバーであるかス
ペースであるかの判断がなされる。バーである場合に
は、記憶部M2に記憶されているバーの比較基準値N3をCP
U2内のレジスタD・Ereg内にセットする。次にステップ
7−4において、領域幅記憶部M1に記憶されている現在
デコード中のキャラクタの一番目のバーの計数値とステ
ップ7−3においてレジスタD・Eregにセットされたバ
ーの比較基準値N3と大小比較がなされ計数値が比較基準
値N3より大きい場合は一番目のバーは二進値「1」と判
断され、計数値が比較基準値N3より大きくない場合は二
進値「0」と判断される。これらの二進値「1」または
「0」のデータは一時記憶部M4にストアされる。そし
て、Dが1だけ減算された後ステップ7−7においてD
=0かどうかの判断がなされた後、0でない場合はステ
ップ7−2に戻る。
て、1キャラクタ分のバーおよびスペースの合計数D=
8の記憶部M5の所定番地にセットする。そしてステップ
7−2にて、領域幅記憶部M1に記憶されている現在デコ
ード中のキャラクタの一番目の計数値がバーであるかス
ペースであるかの判断がなされる。バーである場合に
は、記憶部M2に記憶されているバーの比較基準値N3をCP
U2内のレジスタD・Ereg内にセットする。次にステップ
7−4において、領域幅記憶部M1に記憶されている現在
デコード中のキャラクタの一番目のバーの計数値とステ
ップ7−3においてレジスタD・Eregにセットされたバ
ーの比較基準値N3と大小比較がなされ計数値が比較基準
値N3より大きい場合は一番目のバーは二進値「1」と判
断され、計数値が比較基準値N3より大きくない場合は二
進値「0」と判断される。これらの二進値「1」または
「0」のデータは一時記憶部M4にストアされる。そし
て、Dが1だけ減算された後ステップ7−7においてD
=0かどうかの判断がなされた後、0でない場合はステ
ップ7−2に戻る。
次に、ステップ7−2にて二番目の計数値がスペースで
あると判断され、記憶部M2よりスペースの比較基準値N4
をCPU2内の所定レジスタD・Eregにセットする。そし
て、領域幅記憶部M1に記憶されている二番目の計数値す
なわち一番目のスペースの幅に相当する計数値とレジス
タD・Eregにセットされたスペースの比較基準値N4との
大小関係とを比較する。この比較の結果スペースの計数
値が比較基準値N4より大きい場合は二進値「1」と判断
され大きくない場合は二進値「0」と判断される。その
結果、二進値「1」または「0」が一時記憶部M4にスト
アされる。そしてDの値が1だけ減算された後ステップ
7−7に移る。この動作が繰り返されることにより現在
デコード中のキャラクタ分のバーおよびスペースとキャ
ラクタ間スペースのデータ比較が行なわれる。また、ス
テップ7−7においてD=0と判断された場合はデータ
比較が完了したものとみなされて、第2図に示されるス
テップ2−16に移る。
あると判断され、記憶部M2よりスペースの比較基準値N4
をCPU2内の所定レジスタD・Eregにセットする。そし
て、領域幅記憶部M1に記憶されている二番目の計数値す
なわち一番目のスペースの幅に相当する計数値とレジス
タD・Eregにセットされたスペースの比較基準値N4との
大小関係とを比較する。この比較の結果スペースの計数
値が比較基準値N4より大きい場合は二進値「1」と判断
され大きくない場合は二進値「0」と判断される。その
結果、二進値「1」または「0」が一時記憶部M4にスト
アされる。そしてDの値が1だけ減算された後ステップ
7−7に移る。この動作が繰り返されることにより現在
デコード中のキャラクタ分のバーおよびスペースとキャ
ラクタ間スペースのデータ比較が行なわれる。また、ス
テップ7−7においてD=0と判断された場合はデータ
比較が完了したものとみなされて、第2図に示されるス
テップ2−16に移る。
ステップ2−16では一時記憶部M4にストアされている上
記特殊キャラクタ分のデータのうち最初の7ビット分、
すなわちキャラクタ間スペースCSを除いたバーおよびス
ペースのデータに相当する内容をCPU2内のレジスタAreg
セットする。そして、フラグを「1」にセットし、かつ
Bregに最初のコードをセットした後、ステップ2−6〜
ステップ2−8を繰り返すことにより現在デコード中の
キャラクタ即ち第12図に示される三番目のキャラクタは
「/」であることが認識され、ステップ2−9にてその
内容がM5にセットされる。
記特殊キャラクタ分のデータのうち最初の7ビット分、
すなわちキャラクタ間スペースCSを除いたバーおよびス
ペースのデータに相当する内容をCPU2内のレジスタAreg
セットする。そして、フラグを「1」にセットし、かつ
Bregに最初のコードをセットした後、ステップ2−6〜
ステップ2−8を繰り返すことにより現在デコード中の
キャラクタ即ち第12図に示される三番目のキャラクタは
「/」であることが認識され、ステップ2−9にてその
内容がM5にセットされる。
上記セットが完了するとフラグはクリアされ、Aregに次
のキャラクタデータ即ち四番目のキャラクタデータがセ
ットされる。四番目および五番目のキャラクタデータに
ついては一番目および二番目のキャラクタデータと同様
にしてデコードされる。このようにして第12図に示され
る五個のキャラクタのデコードが全て終了するとステッ
プ2−11にて全キャラクタ終了の判断がなされ、そのデ
コードされた内容「12/23」は第1図に示される表示制
御回路6を介して表示部8に表示される。
のキャラクタデータ即ち四番目のキャラクタデータがセ
ットされる。四番目および五番目のキャラクタデータに
ついては一番目および二番目のキャラクタデータと同様
にしてデコードされる。このようにして第12図に示され
る五個のキャラクタのデコードが全て終了するとステッ
プ2−11にて全キャラクタ終了の判断がなされ、そのデ
コードされた内容「12/23」は第1図に示される表示制
御回路6を介して表示部8に表示される。
また、特殊キャラクタのデコードを行なってもキャラク
タの認識ができない場合、即ち全コードの比較が終了し
たにもかかわらずフラグが「1」である場合に読取りエ
ラーとしてステップ2−19にて表示部8にエラー表示
し、かつフラグをクリアした後ステップ2−1に戻る。
タの認識ができない場合、即ち全コードの比較が終了し
たにもかかわらずフラグが「1」である場合に読取りエ
ラーとしてステップ2−19にて表示部8にエラー表示
し、かつフラグをクリアした後ステップ2−1に戻る。
以上のようにして、「¥」,「−」,「数字」等からな
る標準キャラクタ、および「.」〜「/」からなる特殊
キャラクタの読取りを正確に行なうことができる。
る標準キャラクタ、および「.」〜「/」からなる特殊
キャラクタの読取りを正確に行なうことができる。
なお、「a」〜「e」については、標準キャラクタに比
べて幅広のスペースが一個多いだけであるため標準キャ
ラクタのデコード過程にて読取ることが可能であるが、
上述した「.」〜「/」と同様にして最も好適な特別の
定数を用いて比較基準値を算出してデコードすることも
できる。特に、これらの「a」〜「e」については、一
般にスタートコードおよびエンドコードとして使用され
ることが多いため、最初と最後のキャラクタのみ強制的
に上記特別の定数を用いて比較基準値を算出することも
可能である。
べて幅広のスペースが一個多いだけであるため標準キャ
ラクタのデコード過程にて読取ることが可能であるが、
上述した「.」〜「/」と同様にして最も好適な特別の
定数を用いて比較基準値を算出してデコードすることも
できる。特に、これらの「a」〜「e」については、一
般にスタートコードおよびエンドコードとして使用され
ることが多いため、最初と最後のキャラクタのみ強制的
に上記特別の定数を用いて比較基準値を算出することも
可能である。
次に、前述した第二の読取方法を改良してなるバーコー
ド読取方法について説明する。
ド読取方法について説明する。
第8図のステップ8−1において、バーコードの各バー
およびスペースの領域幅に相当する値の計数が行なわれ
る。この計数動作については、上記第3図を用いて説明
した前述の実施例と同様であるため説明を省略する。
およびスペースの領域幅に相当する値の計数が行なわれ
る。この計数動作については、上記第3図を用いて説明
した前述の実施例と同様であるため説明を省略する。
上記計数動作によって、第12図に示されるようなバーコ
ード全体の各バーおよびスペースからなる領域に幅に相
当する値が領域幅記憶部M1に記憶された状態になってい
る。計数動作が完了すると、第8図にステップ8−2で
示される標準キャラクタの合計値計算に移る。
ード全体の各バーおよびスペースからなる領域に幅に相
当する値が領域幅記憶部M1に記憶された状態になってい
る。計数動作が完了すると、第8図にステップ8−2で
示される標準キャラクタの合計値計算に移る。
この合計値計算について第9図を参照して説明すると、
まずステップ9−1ではバーコード全体のキャラクタの
桁数Aが求められる。このキャラクタの桁数Aは、バー
コード全体が何個のキャラクタによって構成されている
かということを表わすものであり、求められた桁数Aは
記憶部M5の所定番地にセットされる。
まずステップ9−1ではバーコード全体のキャラクタの
桁数Aが求められる。このキャラクタの桁数Aは、バー
コード全体が何個のキャラクタによって構成されている
かということを表わすものであり、求められた桁数Aは
記憶部M5の所定番地にセットされる。
そして、一番目の1キャラクタ分に相当する4個のバー
の計数値を合計し、この合計値P1を記憶部M2にストアす
る。次に最初のキャラクタ分の3個のスペースの計数値
を合計し、この合計値P2を記憶部M2にストアする。
の計数値を合計し、この合計値P1を記憶部M2にストアす
る。次に最初のキャラクタ分の3個のスペースの計数値
を合計し、この合計値P2を記憶部M2にストアする。
これで最初のキャラクタ分のバーおよびスペースに相当
する合計値P1,P2の計算が終了し、キャラクタの桁数A
が1だけ減算される。そして、この桁数Aが0になった
かどうかの判断がなされ、0でない場合はステップ9−
3からステップ9−8が繰り返されて以後のキャラクタ
分に相当するバーおよびスペースの合計値計算がなされ
て夫々記憶部M2にストアされる。また、桁数Aが0であ
ると判断された場合には、バーコード全体のバーおよび
スペースに相当する合計値計算が終了したものとみな
し、ステップ8−3で示される標準キャラクタのデータ
比較に移る。
する合計値P1,P2の計算が終了し、キャラクタの桁数A
が1だけ減算される。そして、この桁数Aが0になった
かどうかの判断がなされ、0でない場合はステップ9−
3からステップ9−8が繰り返されて以後のキャラクタ
分に相当するバーおよびスペースの合計値計算がなされ
て夫々記憶部M2にストアされる。また、桁数Aが0であ
ると判断された場合には、バーコード全体のバーおよび
スペースに相当する合計値計算が終了したものとみな
し、ステップ8−3で示される標準キャラクタのデータ
比較に移る。
次に、上記のようにして算出された合計値P1,P2を用い
て、各バーおよびスペースのデータ比較を行なう動作に
ついて第10図を参照して説明する。
て、各バーおよびスペースのデータ比較を行なう動作に
ついて第10図を参照して説明する。
まず、ステップ10−1においてキャラクタの桁数Aを再
びセットし、さらに最初のキャラクタの合計値P1,P2が
格納されている記憶部M2の番地を記憶部M5にセットす
る。このセットが完了すると、ステップ10−3において
キャラクタ間スペースCSを含む1キャラクタ分のバーお
よびスペースの合計数D=8を記憶部M5の所定番地にセ
ットする。
びセットし、さらに最初のキャラクタの合計値P1,P2が
格納されている記憶部M2の番地を記憶部M5にセットす
る。このセットが完了すると、ステップ10−3において
キャラクタ間スペースCSを含む1キャラクタ分のバーお
よびスペースの合計数D=8を記憶部M5の所定番地にセ
ットする。
そしてステップ10−4にて、記憶部M2に記憶されている
一番目の合計値がバーであるかスペースであるかの判断
がなされる。バーである場合には記憶部M5にセットされ
ている最初のキャラクタの合計値の番地を参照して記憶
部M2に記憶されている最初のキャラクタのバーの合計値
P1をCPU2内のレジスタD・Eregにセットし、かつステッ
プ10−6において、プログラム記憶回路3にあらかじめ
記憶されているバーの比較値Q1をCPU2内のレジスタH・
Lregにセットする。
一番目の合計値がバーであるかスペースであるかの判断
がなされる。バーである場合には記憶部M5にセットされ
ている最初のキャラクタの合計値の番地を参照して記憶
部M2に記憶されている最初のキャラクタのバーの合計値
P1をCPU2内のレジスタD・Eregにセットし、かつステッ
プ10−6において、プログラム記憶回路3にあらかじめ
記憶されているバーの比較値Q1をCPU2内のレジスタH・
Lregにセットする。
比較値Q1のセットが完了すると、ステップ10−7にて最
初のキャラクタのバーの合計値P1を一番目のバーBA1の
計数値で割ることにより商を算出し、この算出値とバー
の比較値Q1との大小比較がなされる。比較の結果、算出
値が比較値Q1より大きい場合は一番目のバーは二進値
「0」と判定され、算出値が比較値Q1より大きくない場
合は二進値「1」と判定される。これらの二進値「1」
または「0」のデータは、一時記憶部M4にストアされ
る。第12図の例では一番目のバーBA1が幅狭であり、そ
の算出値は比較値Q1より大きいため二進値「0」がスト
アされる。
初のキャラクタのバーの合計値P1を一番目のバーBA1の
計数値で割ることにより商を算出し、この算出値とバー
の比較値Q1との大小比較がなされる。比較の結果、算出
値が比較値Q1より大きい場合は一番目のバーは二進値
「0」と判定され、算出値が比較値Q1より大きくない場
合は二進値「1」と判定される。これらの二進値「1」
または「0」のデータは、一時記憶部M4にストアされ
る。第12図の例では一番目のバーBA1が幅狭であり、そ
の算出値は比較値Q1より大きいため二進値「0」がスト
アされる。
そして、Dが1だけ減算された後ステップ10−10におい
てD=0かどうかの判断がなされた後、0でない場合は
ステップ10−4に戻る。そこで領域幅記憶部M1の二番目
には一番目のスペースSP1の計数値が記憶されているた
め、記憶部M2より最初のキャラクタ分のスペースの合計
値P2をレジスタD・Eregにセットし、かつステップ10−
12にてプログラム記憶回路3にあらかじめ記憶されてい
るスペースの比較値Q2をレジスタH・Lregにセットす
る。
てD=0かどうかの判断がなされた後、0でない場合は
ステップ10−4に戻る。そこで領域幅記憶部M1の二番目
には一番目のスペースSP1の計数値が記憶されているた
め、記憶部M2より最初のキャラクタ分のスペースの合計
値P2をレジスタD・Eregにセットし、かつステップ10−
12にてプログラム記憶回路3にあらかじめ記憶されてい
るスペースの比較値Q2をレジスタH・Lregにセットす
る。
これらのセットが完了すると、ステップ10−7にて最初
のキャラクタのスペースの合計値P2を一番目のスペース
SP1の計数値で割ることにより商を算出し、この算出値
と比較値Q2との大小比較がなされる。この比較の結果、
算出値が比較値Q2より大きい場合は二進値「0」と判定
され、大きくない場合は二進値「1」と判定される。そ
の結果、二進値「1」または「0」が一時記憶部M4にス
トアされる。第12図の例では一番目のスペースSP1が幅
狭であり、その算出値は比較値Q2より大きいため二進値
「0」がストアされる。そして、Dの値が1だけ減算さ
れた後ステップ10−10に移る。この動作が繰り返される
ことにより最初のキャラクタ分のバーおよびスペースと
キャラクタ間スペースのデータ比較が行なわれる。
のキャラクタのスペースの合計値P2を一番目のスペース
SP1の計数値で割ることにより商を算出し、この算出値
と比較値Q2との大小比較がなされる。この比較の結果、
算出値が比較値Q2より大きい場合は二進値「0」と判定
され、大きくない場合は二進値「1」と判定される。そ
の結果、二進値「1」または「0」が一時記憶部M4にス
トアされる。第12図の例では一番目のスペースSP1が幅
狭であり、その算出値は比較値Q2より大きいため二進値
「0」がストアされる。そして、Dの値が1だけ減算さ
れた後ステップ10−10に移る。この動作が繰り返される
ことにより最初のキャラクタ分のバーおよびスペースと
キャラクタ間スペースのデータ比較が行なわれる。
なお、比較値Q1はバーの合計値を幅狭バーの計数値で割
った値と幅広バーの計数値で割った値との略中間値に設
定され、また比較値Q2はスペースの合計値を幅狭スペー
スの計数値で割った値と幅広スペースの計数値で割った
値との略中間値に設定されている。
った値と幅広バーの計数値で割った値との略中間値に設
定され、また比較値Q2はスペースの合計値を幅狭スペー
スの計数値で割った値と幅広スペースの計数値で割った
値との略中間値に設定されている。
1キャラクタ分のバーおよびスペースのデータ比較が終
了してステップ10−10にてD=0と判断された後、ステ
ップ10−14において一時記憶部M4にストアされた1キャ
ラクタ分のデータのうち最初の7ビット分、すなわちキ
ャラクタ間スペースCSを除いたバーおよびスペースのデ
ータに相当する内容を読取データ記憶部M3にストアす
る。そしてステップ10−15にて、記憶部M5にセットされ
ている最初のキャラクタの合計値の番地データをクリア
して次のキャラクタの合計値の番地データをセットし、
かつステップ10−16にてキャラクタの桁数Aを1だけ減
算する。次に、ステップ10−17においてこの桁数Aが0
かどうかの判断がなされ、0でない場合にはステップ10
−3からステップ10−17を繰り返すことにより順次各キ
ャラクタ分のバーおよびスペースのデータ比較を行な
う。また、この比較の結果によって得られたデータは、
読取データ記憶部M3に所定の順序にてストアされる。な
お、最終キャラクタにはキャラクタ間スペースCSがなく
バーおよびスペースの合計数Dは7となるため、ステッ
プ10−7にて判定される八番目の二進値については全く
意味のないものとなるが、ステップ10−14にてこの八番
目の二進値は放棄されるので問題は生じない。
了してステップ10−10にてD=0と判断された後、ステ
ップ10−14において一時記憶部M4にストアされた1キャ
ラクタ分のデータのうち最初の7ビット分、すなわちキ
ャラクタ間スペースCSを除いたバーおよびスペースのデ
ータに相当する内容を読取データ記憶部M3にストアす
る。そしてステップ10−15にて、記憶部M5にセットされ
ている最初のキャラクタの合計値の番地データをクリア
して次のキャラクタの合計値の番地データをセットし、
かつステップ10−16にてキャラクタの桁数Aを1だけ減
算する。次に、ステップ10−17においてこの桁数Aが0
かどうかの判断がなされ、0でない場合にはステップ10
−3からステップ10−17を繰り返すことにより順次各キ
ャラクタ分のバーおよびスペースのデータ比較を行な
う。また、この比較の結果によって得られたデータは、
読取データ記憶部M3に所定の順序にてストアされる。な
お、最終キャラクタにはキャラクタ間スペースCSがなく
バーおよびスペースの合計数Dは7となるため、ステッ
プ10−7にて判定される八番目の二進値については全く
意味のないものとなるが、ステップ10−14にてこの八番
目の二進値は放棄されるので問題は生じない。
このようにしてすべてのキャラクタ分のバーおよびスペ
ースのデータ比較および比較結果のデータストアが完了
するとキャラクタの桁数Aが0となり、第8図のステッ
プ8−4に移る。
ースのデータ比較および比較結果のデータストアが完了
するとキャラクタの桁数Aが0となり、第8図のステッ
プ8−4に移る。
このステップ8−4においては、読取データ記憶部M3に
ストアされている最初のキャラクタに相当する7ビット
分のデータがCPU2内のレジスタAregにセットされる。そ
して、ステップ8−5においては、第13図に示される
「¥」に相当する7ビットのコード「0011000」がプロ
グラム記憶回路3から呼び出されてCPU2内のレジスタBr
egにセットされる。
ストアされている最初のキャラクタに相当する7ビット
分のデータがCPU2内のレジスタAregにセットされる。そ
して、ステップ8−5においては、第13図に示される
「¥」に相当する7ビットのコード「0011000」がプロ
グラム記憶回路3から呼び出されてCPU2内のレジスタBr
egにセットされる。
次に、ステップ8−6にてAregの内容とBregの内容との
比較、すなわち最初のキャラクタが「¥」であるか否か
の判断がなされる。実際には、レジスタAregにセットさ
れているデータは「1」に相当する内容であるため、Ar
eg=Bregではないと判断されてステップ8−7に移り、
第13図に示される全てのコードとの比較が完了したかど
うかの判断がなされる。全てのコードとの比較が完了し
ていない場合は、次の「−」に相当するコードをBregに
セットした後Areg=Bregの比較が行なわれる。このよう
な動作が繰り返されることによりBregに「0000011」が
セットされた状態でAreg=Bregの条件が満足され、ステ
ップ8−9にてBregにセットされているコードに対応す
るキャラクタ「1」が記憶部M5の所定番地にセットされ
る。
比較、すなわち最初のキャラクタが「¥」であるか否か
の判断がなされる。実際には、レジスタAregにセットさ
れているデータは「1」に相当する内容であるため、Ar
eg=Bregではないと判断されてステップ8−7に移り、
第13図に示される全てのコードとの比較が完了したかど
うかの判断がなされる。全てのコードとの比較が完了し
ていない場合は、次の「−」に相当するコードをBregに
セットした後Areg=Bregの比較が行なわれる。このよう
な動作が繰り返されることによりBregに「0000011」が
セットされた状態でAreg=Bregの条件が満足され、ステ
ップ8−9にてBregにセットされているコードに対応す
るキャラクタ「1」が記憶部M5の所定番地にセットされ
る。
次に、記憶部M5内のフラグをクリアした後、ステップ8
−11にて全てのキャラクタのデコードが終了したかどう
かの判断を行ない、終了していない場合は読取データ記
憶部M3にストアされている三番目のキャラクタに相当す
る7ビット分のデータがレジスタAregにセットされる。
この二番目のキャラクタについても上述した最初のキャ
ラクタと同様にして判断され、キャラクタ「2」が記憶
部M5の所定番地にセットされる。
−11にて全てのキャラクタのデコードが終了したかどう
かの判断を行ない、終了していない場合は読取データ記
憶部M3にストアされている三番目のキャラクタに相当す
る7ビット分のデータがレジスタAregにセットされる。
この二番目のキャラクタについても上述した最初のキャ
ラクタと同様にして判断され、キャラクタ「2」が記憶
部M5の所定番地にセットされる。
次に、三番目のキャラクタに相当する7ビット分のデー
タがレジスタAregにセットされ、レジスタBregに順次セ
ットされるコードとの比較が行なわれる。しかしなが
ら、三番目の「/」については4個のバーのうち3個が
幅広でかつ3個のスペースは全て幅狭という特殊キャラ
クタであり、数字等からなる標準キャラクタとは構成が
異なっている。したがって、第10図に示す標準キャラク
タのデータ比較において正確なデータが作成されていな
いため、三番目の「/」に相当する7ビットのデータは
第13図に示すような「1010001」とはならず「1111011」
等のように誤ったものとなってしまう。
タがレジスタAregにセットされ、レジスタBregに順次セ
ットされるコードとの比較が行なわれる。しかしなが
ら、三番目の「/」については4個のバーのうち3個が
幅広でかつ3個のスペースは全て幅狭という特殊キャラ
クタであり、数字等からなる標準キャラクタとは構成が
異なっている。したがって、第10図に示す標準キャラク
タのデータ比較において正確なデータが作成されていな
いため、三番目の「/」に相当する7ビットのデータは
第13図に示すような「1010001」とはならず「1111011」
等のように誤ったものとなってしまう。
このようにデータが「1111011」となっている場合は、
第8図のステップ8−6〜8−8が繰り返されて全ての
コードとの比較動作が終了してもAregとBregの内容は一
致せずデコードエラーと判断される。デコードエラーと
なった場合は、ステップ8−13にて記憶部M5内のフラグ
が「1」かどうかをチェックすることにより、特殊キャ
ラクタのデコードを行なったかどうかの判断を行なう。
行なっていないと判断された場合には、ステップ8−14
の特殊キャラクタのデータ比較を開始する。
第8図のステップ8−6〜8−8が繰り返されて全ての
コードとの比較動作が終了してもAregとBregの内容は一
致せずデコードエラーと判断される。デコードエラーと
なった場合は、ステップ8−13にて記憶部M5内のフラグ
が「1」かどうかをチェックすることにより、特殊キャ
ラクタのデコードを行なったかどうかの判断を行なう。
行なっていないと判断された場合には、ステップ8−14
の特殊キャラクタのデータ比較を開始する。
次に、この特殊キャラクタのデータ比較について第11図
を参照して説明する。
を参照して説明する。
まず、ステップ11−1において1キャラクタ分のバーお
よびスペースの合計数D=8を記憶部M5の所定番地にセ
ットする。そしてステップ11−2にて、領域幅記憶部M1
に記憶されている現在デコード中のキャラクタの一番目
の計数値がバーであるかスペースであるかの判断がなさ
れる。バーである場合には記憶部M2に記憶されている現
在デコード中のキャラクタのバーの合計値P1をレジスタ
D・Eregにセットし、かつステップ11−4において、プ
ログラム記憶回路3にあらかじめ記憶されている特殊キ
ャラクタ用のバーの比較値Q3をレジスタH・Lregにセッ
トする。
よびスペースの合計数D=8を記憶部M5の所定番地にセ
ットする。そしてステップ11−2にて、領域幅記憶部M1
に記憶されている現在デコード中のキャラクタの一番目
の計数値がバーであるかスペースであるかの判断がなさ
れる。バーである場合には記憶部M2に記憶されている現
在デコード中のキャラクタのバーの合計値P1をレジスタ
D・Eregにセットし、かつステップ11−4において、プ
ログラム記憶回路3にあらかじめ記憶されている特殊キ
ャラクタ用のバーの比較値Q3をレジスタH・Lregにセッ
トする。
これらのセットが完了すると、ステップ11−5にて現在
デコード中のキャラクタのバーの合計値P1を一番目のバ
ーの計数値で割ることにより商を算出し、この算出値と
バーの比較値Q3との大小比較がなされる。比較の結果、
算出値が比較値Q3より大きい場合は一番目のバーは二進
値「0」と判定され、算出値が比較値Q3より大きくない
場合は二進値「1」と判定される。これらの二進値
「1」または「0」のデータは一時記憶部M4にストアさ
れる。第12図の例では一番目のバーが幅広であり、その
算出値は比較値Q3より大きくないため二進値「1」がス
トアされる。
デコード中のキャラクタのバーの合計値P1を一番目のバ
ーの計数値で割ることにより商を算出し、この算出値と
バーの比較値Q3との大小比較がなされる。比較の結果、
算出値が比較値Q3より大きい場合は一番目のバーは二進
値「0」と判定され、算出値が比較値Q3より大きくない
場合は二進値「1」と判定される。これらの二進値
「1」または「0」のデータは一時記憶部M4にストアさ
れる。第12図の例では一番目のバーが幅広であり、その
算出値は比較値Q3より大きくないため二進値「1」がス
トアされる。
そして、Dが1だけ減算された後ステップ11−8におい
てD=0かどうかの判断がなされた後、0でない場合は
ステップ11−2に戻る。そこで、二番目の計数値がスペ
ースであると判断されると、記憶部M2より現在デコード
中のキャラクタのスペースの合計値P2をレジスタD・Er
egにセットし、かつステップ11−10にてプログラム記憶
回路3にあらかじめ記憶されている特殊キャラクタ用の
スペースの比較値Q4をレジスタH・Lregにセットする。
てD=0かどうかの判断がなされた後、0でない場合は
ステップ11−2に戻る。そこで、二番目の計数値がスペ
ースであると判断されると、記憶部M2より現在デコード
中のキャラクタのスペースの合計値P2をレジスタD・Er
egにセットし、かつステップ11−10にてプログラム記憶
回路3にあらかじめ記憶されている特殊キャラクタ用の
スペースの比較値Q4をレジスタH・Lregにセットする。
そして、ステップ11−5にてスペースの合計値P2を現在
デコード中の一番目のスペースの計数値で割ることによ
り商を算出し、この算出値と比較値Q4との大小比較がな
される。この比較の結果、算出値が比較値Q4より大きい
場合は二進値「0」と判定され、大きくない場合は二進
値「1」と判定される。その結果、二進値「1」または
「0」が一時記憶部M4にストアされる。第12図の例では
一番目のスペースが幅狭であり、その算出値は比較値Q4
より大きいため二進値「0」がストアされる。そして、
Dの値が1だけ減算された後ステップ11−8に移る。こ
の動作が繰り返されることにより、最初のキャラクタ分
のバーおよびスペースとキャラクタ間スペースのデータ
比較が行なわれる。
デコード中の一番目のスペースの計数値で割ることによ
り商を算出し、この算出値と比較値Q4との大小比較がな
される。この比較の結果、算出値が比較値Q4より大きい
場合は二進値「0」と判定され、大きくない場合は二進
値「1」と判定される。その結果、二進値「1」または
「0」が一時記憶部M4にストアされる。第12図の例では
一番目のスペースが幅狭であり、その算出値は比較値Q4
より大きいため二進値「0」がストアされる。そして、
Dの値が1だけ減算された後ステップ11−8に移る。こ
の動作が繰り返されることにより、最初のキャラクタ分
のバーおよびスペースとキャラクタ間スペースのデータ
比較が行なわれる。
なお、比較値Q3は特殊キャラクタにおけるバーの合計値
を幅狭バーの計数値で割った値と幅広バーの計数値で割
った値との略中間値に設定され、また比較値Q4は特殊キ
ャラクタにおけるスペースの合計値を幅狭スペースの計
数値で割った値と幅広スペースの計数値で割った値との
略中間値に設定されている。
を幅狭バーの計数値で割った値と幅広バーの計数値で割
った値との略中間値に設定され、また比較値Q4は特殊キ
ャラクタにおけるスペースの合計値を幅狭スペースの計
数値で割った値と幅広スペースの計数値で割った値との
略中間値に設定されている。
上記のようにしてステップ11−8にてD=0と判断され
た場合はデータ比較が完了したものとみなされて、第8
図に示されるステップ8−15に移る。
た場合はデータ比較が完了したものとみなされて、第8
図に示されるステップ8−15に移る。
ステップ8−15では、一時記憶部M4にストアされている
上記特殊キャラクタ分のデータのうち最初の7ビット
分、すなわちキャラクタ間スペースCSを除いたバーおよ
びスペースのデータに相当する内容をCPU2内のレジスタ
Aregにセットする。そして、フラグを「1」にセットし
かつBregに最初のコードをセットした後、ステップ8−
6〜8−8を繰り返すことにより現在デコード中のキャ
ラクタ即ち第12図に示される三番目のキャラクタは
「/」であることが認識され、ステップ8−9にてその
内容がM5にセットされる。
上記特殊キャラクタ分のデータのうち最初の7ビット
分、すなわちキャラクタ間スペースCSを除いたバーおよ
びスペースのデータに相当する内容をCPU2内のレジスタ
Aregにセットする。そして、フラグを「1」にセットし
かつBregに最初のコードをセットした後、ステップ8−
6〜8−8を繰り返すことにより現在デコード中のキャ
ラクタ即ち第12図に示される三番目のキャラクタは
「/」であることが認識され、ステップ8−9にてその
内容がM5にセットされる。
上記セットが完了するとフラグはクリアされ、Aregに次
のキャラクタデータ即ち四番目のキャラクタデータがセ
ットされる。四番目および五番目のキャラクタデータに
ついては一番目および二番目のキャラクタデータと同様
にしてデコードされる。このようにして第12図に示され
る五個のキャラクタのデコードが全て終了するとステッ
プ8−11にて全キャラクタ終了の判断がなされ、そのデ
コードされた内容「12/23」は第1図に示される表示制
御回路6を介して表示部8に表示される。
のキャラクタデータ即ち四番目のキャラクタデータがセ
ットされる。四番目および五番目のキャラクタデータに
ついては一番目および二番目のキャラクタデータと同様
にしてデコードされる。このようにして第12図に示され
る五個のキャラクタのデコードが全て終了するとステッ
プ8−11にて全キャラクタ終了の判断がなされ、そのデ
コードされた内容「12/23」は第1図に示される表示制
御回路6を介して表示部8に表示される。
なお、特殊キャラクタのデコードを行なってもキャラク
タの認識ができない場合、即ち全コードの比較が終了し
たにもかかわらずフラグが「1」である場合は読取りエ
ラーとしてステップ8−18にて表示部8にエラー表示
し、かつフラグをクリアした後ステップ8−1に戻る。
タの認識ができない場合、即ち全コードの比較が終了し
たにもかかわらずフラグが「1」である場合は読取りエ
ラーとしてステップ8−18にて表示部8にエラー表示
し、かつフラグをクリアした後ステップ8−1に戻る。
以上のようにして、「¥」,「−」,「数字」等からな
る標準キャラクタ、および「.」〜「/」からなる特殊
キャラクタの読取りを正確に行なうことができる。ま
た、「a」〜「e」についても、上記「.」〜「/」と
同様に最も好適な比較値を用意して、「.」〜「/」と
は別の特殊キャラクタデコード過程にてデコードするこ
とができる。
る標準キャラクタ、および「.」〜「/」からなる特殊
キャラクタの読取りを正確に行なうことができる。ま
た、「a」〜「e」についても、上記「.」〜「/」と
同様に最も好適な比較値を用意して、「.」〜「/」と
は別の特殊キャラクタデコード過程にてデコードするこ
とができる。
なお、上記実施例においては、「NW−7」と称されるコ
ードの読取りについてのみ説明したが、各キャラクタが
5個のバーと4個のスペースとからなる「コード39」と
称されるコード等についても適用することができる。こ
の「コード39」は、標準キャラクタは幅広のバーが2個
で幅広のスペースが1個設定されているが、特殊キャラ
クタについては幅広のバーがなく幅広のスペースが3個
からなっている。
ードの読取りについてのみ説明したが、各キャラクタが
5個のバーと4個のスペースとからなる「コード39」と
称されるコード等についても適用することができる。こ
の「コード39」は、標準キャラクタは幅広のバーが2個
で幅広のスペースが1個設定されているが、特殊キャラ
クタについては幅広のバーがなく幅広のスペースが3個
からなっている。
(効果) 上述の如く、本発明においては、読取器によってバーコ
ードを操作することによりバーおよびスペースからなる
各領域に相当する値を記憶し、この記憶された各領域幅
の値に基づいて標準キャラクタデコード過程にてキャラ
クタ毎にデコードを行ない、この標準キャラクタデコー
ド過程にてデコードエラーとなったキャラクタについて
は特殊キャラクタデコード過程にて再度デコードされる
ように構成されている。従って、標準キャラクタのみな
らず特殊キャラクタも確実に読取ることが可能でありか
つデコードするキャラクタが標準キャラクタであるか特
殊キャラクタであるかという複雑な判断をあらかじめ行
なう必要が全くない。さらに、キャラクタ数に関係な
く、標準キャラクタと特殊キャラクタとを識別可能であ
る。
ードを操作することによりバーおよびスペースからなる
各領域に相当する値を記憶し、この記憶された各領域幅
の値に基づいて標準キャラクタデコード過程にてキャラ
クタ毎にデコードを行ない、この標準キャラクタデコー
ド過程にてデコードエラーとなったキャラクタについて
は特殊キャラクタデコード過程にて再度デコードされる
ように構成されている。従って、標準キャラクタのみな
らず特殊キャラクタも確実に読取ることが可能でありか
つデコードするキャラクタが標準キャラクタであるか特
殊キャラクタであるかという複雑な判断をあらかじめ行
なう必要が全くない。さらに、キャラクタ数に関係な
く、標準キャラクタと特殊キャラクタとを識別可能であ
る。
各図面は本発明の実施例を示すもので、第1図は読取装
置の回路図を示すブロック図、第2図〜第7図は第一の
実施例を示すもので、第2図は読取動作全体を示すフロ
ーチャート図、第3図は計数動作を示すフローチャート
図、第4図は標準キャラクタの基準値計算動作を示すフ
ローチャート図、第5図は標準キャラクタのデータ比較
動作を示すフローチャート図、第6図は特殊キャラクタ
の基準値計算動作を示すフローチャート図、第7図は特
殊キャラクタのデータ比較動作を示すフローチャート
図、第8図〜第11図は第二の実施例を示すもので、第8
図は読取動作全体を示すフローチャート図、第9図は標
準キャラクタの合計値計算動作を示すフローチャート
図、第10図は標準キャラクタのデータ比較動作を示すフ
ローチャート図、第11図は特殊キャラクタのデータ比較
動作を示すフローチャート図、第12図はバーコードの一
例を示す図、第13図は第12図に示すバーコードのコード
表である。 図面中、 2……CPU、3……プログラム記憶回路 4……データ記憶回路、6……読取器 8……表示部
置の回路図を示すブロック図、第2図〜第7図は第一の
実施例を示すもので、第2図は読取動作全体を示すフロ
ーチャート図、第3図は計数動作を示すフローチャート
図、第4図は標準キャラクタの基準値計算動作を示すフ
ローチャート図、第5図は標準キャラクタのデータ比較
動作を示すフローチャート図、第6図は特殊キャラクタ
の基準値計算動作を示すフローチャート図、第7図は特
殊キャラクタのデータ比較動作を示すフローチャート
図、第8図〜第11図は第二の実施例を示すもので、第8
図は読取動作全体を示すフローチャート図、第9図は標
準キャラクタの合計値計算動作を示すフローチャート
図、第10図は標準キャラクタのデータ比較動作を示すフ
ローチャート図、第11図は特殊キャラクタのデータ比較
動作を示すフローチャート図、第12図はバーコードの一
例を示す図、第13図は第12図に示すバーコードのコード
表である。 図面中、 2……CPU、3……プログラム記憶回路 4……データ記憶回路、6……読取器 8……表示部
Claims (1)
- 【請求項1】交互に配列されたバーとスペースのうち少
なくとも一方が二種類以上の幅からなっていてこの幅の
大小によってビット値を表現するとともに、標準キャラ
クタと、この標準キャラクタと同じコード形式ではある
が幅広バーおよび幅狭バーならびに幅広スペースおよび
幅狭スペースに関する本数比が該標準キャラクタのそれ
とは異なる特殊キャラクタを表現するように構成された
バーコードを読取るバーコード読取方法において、 読取器によって前記バーコードを走査することにより前
記バーおよびスペースからなる各領域の幅に相当する値
をすべて記憶し、 この記憶された各領域幅の値に基づいて、前記標準キャ
ラクタの構成に応じた比較基準値を用いる標準キャラク
タデコード過程にてキャラクタ毎にデコードを行ない、
このデコードしたコードと記憶してあるコードとを比較
することによりすべてのキャラクタについてエラー判断
を行ない、 この標準キャラクタデコード過程にてデコードエラーと
なったキャラクタについては、前記特殊キャラクタの構
成に応じた比較基準値を用いる特殊キャラクタデコード
過程にてこれを再度デコードするとともに、 この特殊キャラクタデコード過程にて最終的に読取りエ
ラーの判断を行なうことを特徴とするバーコード読取
法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60188615A JPH0668774B2 (ja) | 1985-08-29 | 1985-08-29 | バ−コ−ド読取方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP60188615A JPH0668774B2 (ja) | 1985-08-29 | 1985-08-29 | バ−コ−ド読取方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPS6249579A JPS6249579A (ja) | 1987-03-04 |
| JPH0668774B2 true JPH0668774B2 (ja) | 1994-08-31 |
Family
ID=16226776
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP60188615A Expired - Lifetime JPH0668774B2 (ja) | 1985-08-29 | 1985-08-29 | バ−コ−ド読取方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JPH0668774B2 (ja) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4636105B2 (ja) * | 2008-03-25 | 2011-02-23 | 株式会社デンソーウェーブ | バーコード読取方法及びバーコード読取装置並びにコンピュータプログラム |
| JP4636104B2 (ja) * | 2008-03-25 | 2011-02-23 | 株式会社デンソーウェーブ | バーコード読取方法及びバーコード読取装置並びにコンピュータプログラム |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5299713A (en) * | 1976-02-17 | 1977-08-22 | Omron Tateisi Electronics Co | Code reading device |
| JPS593589A (ja) * | 1982-06-30 | 1984-01-10 | Casio Comput Co Ltd | バ−コ−ド読取装置 |
-
1985
- 1985-08-29 JP JP60188615A patent/JPH0668774B2/ja not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPS6249579A (ja) | 1987-03-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4646250A (en) | Data entry screen | |
| US4389707A (en) | Electronic cash register | |
| US5377330A (en) | Document editing apparatus for editing document data and image data | |
| JPH0581473A (ja) | プログラムの作成方法 | |
| US5233672A (en) | Character reader and recognizer with a specialized editing function | |
| JP2568180B2 (ja) | 画像処理方法 | |
| EP0339654A2 (en) | Printing device | |
| JPS6249579A (ja) | バ−コ−ド読取方法 | |
| JPS61245256A (ja) | 情報格納方式 | |
| JP2849308B2 (ja) | 図面入力管理方法 | |
| JP3860341B2 (ja) | 文字認識装置 | |
| JPS62298885A (ja) | 光学文字読取り方式 | |
| JP2784004B2 (ja) | 文字認識装置 | |
| JPS62127980A (ja) | 光学的文字読取装置 | |
| JP3256990B2 (ja) | 文書処理装置 | |
| JPH07295468A (ja) | マークシート式答案の汎用的採点方法 | |
| JP3005386B2 (ja) | 突合チェック方式 | |
| JPS59183464A (ja) | 電子式キヤツシユレジスタ | |
| JP3270551B2 (ja) | 文字認識装置および文字認識方法 | |
| JP2758778B2 (ja) | 印字データ出力方式 | |
| JP2560344Y2 (ja) | 小型電子式計算機 | |
| JP2858322B2 (ja) | 表データ処理装置 | |
| JPS61133487A (ja) | 文字認識装置 | |
| JP2789105B2 (ja) | Cad出力図面の承認処理方式 | |
| JPH08249371A (ja) | Cad図面自動作成方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |