(57)【特許請求の範囲】
【請求項１】
光学情報を読み取るための読取手段と、
該読取手段にて読み取った光学情報の内容、あるいは読取作業に際して利用者へ報知する必要のある情報を表示するための表示手段と、
前記表示手段へ文字を表示するための文字毎のフォントパターンデータ、及び、指定された文字コードに対応する前記フォントパターンデータが割り付けられているアドレスを計算するアドレス計算関数を有するフォントファイルと、
指定された文字コードに対応するフォントパターンデータを、前記フォントファイルから読み出して前記表示手段へ表示する表示制御手段と、
を備える光学情報読取装置であって、
前記表示制御手段は、指定された文字コードを引数として前記フォントファイル中のアドレス計算関数を用いた計算の実行を指示し、その実行指示によって計算されたフォントパターンデータのアドレスに基づいて該当するフォントパターンデータを読み出すものであり、
前記フォントファイルの先頭には、少なくとも前記アドレス計算関数の相対的な割付アドレスを示すヘッダ情報が配置されており、当該ヘッダ情報に基づいて前記アドレス計算関数の絶対的な割付アドレスを特定し、記憶しておくこと、
を特徴とする光学情報読取装置。
【請求項２】
請求項１記載の光学情報読取装置において、
前記表示制御手段は、前記アドレス計算関数を用いた計算結果としてのアドレスが存在しない場合には、所定のエラー対応表示を実行すること、
を特徴とする光学情報読取装置。
【請求項３】
請求項１又は２記載の光学情報読取装置において、
複数のフォントファイルを備えていると共に、それらフォントファイル中のフォントパターンデータ同士は、文字コード体系は等しいが文字サイズあるいは字体の少なくともいずれかが異なったフォント属性を持っており、
前記表示制御手段は、指定された文字コードに対応するフォントパターンデータを、指定されたフォント属性用のフォントファイル中より読み出すこと、
を特徴とする光学情報読取装置。
【請求項４】
請求項１〜３のいずれか記載の光学情報読取装置において、
前記ヘッダ情報には、前記フォントパターンデータに関するバージョン情報あるいは言語種類の少なくともいずれかを示すデータが格納されていること、
を特徴とする光学情報読取装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バーコードや２次元コードなどの光学情報を読み取る光学情報読取装置に関し、特に読み取った光学情報の内容、あるいは読取作業に際して利用者へ報知する必要のある情報を表示する機能を有する装置に関する。
【０００２】
【従来の技術】
従来より、バーコードや２次元コードなどの光学情報を読み取る装置が知られており、さらに、その読み取った光学情報の内容（例えばバーコードなどが表している文字）や、あるいは読取作業に際して利用者へ報知する必要のある情報（例えば読み取り作業を円滑に進めるために利用者へ報知する次の動作指示などの各種案内）を表示することも考えられている。
【０００３】
そして、例えば日本語での表示をする場合には、表示したい文字のシフトＪＩＳコードを用いてフォントパターンデータを読み出し、それを表示手段に表示している。つまり、メモリに記憶されているフォントパターンデータから所望のデータを読み出す際には、指定された文字に対応する文字コードの判別、その文字コードに対応するフォントパターンデータの割付アドレスの計算をし、その計算されたアドレスから所望のフォントパターンデータを読み出すこととなる。
【０００４】
【発明が解決しようとする課題】
ところで、このような光学情報読取装置を日本語以外の言語を使用する地域に適用させるためには、文字コード体系が異なるため、上述のシフトＪＩＳコードによる割付アドレスの計算ができない。つまり、例えば同じ漢字「漢」を表示させたい場合であっても、日本語用のシフトＪＩＳコードでは「８ＡＢＦ」という文字コードにて割付アドレスを得ることができるが、中国語の場合には別のコード体系があるため、同じ文字コードにて同じ文字のフォントパターンデータを得ることはできない。
【０００５】
したがって、フォントパターンデータ自体を他国語用に変更するのはもちろん、表示制御を実行するためのシステムプログラム自体を変更しなくてはならず、プログラム管理等の点で問題である。そして、実際には、指定された文字コードに対応する割付アドレスを得る点が文字コード体系にて異なるだけであり、共通する他の処理が多くてもシステムプログラムそのものを複数種類準備しなくてはならないのは非合理的である。
【０００６】
そこで、本発明は、異なる文字コード体系に基づく文字表示を実現しながら、表示制御を実行する基本のシステムプログラムについては汎用化し、プログラム管理の点での利便向上や合理化を実現できるようにすることを目的とする。
【０００７】
【課題を解決するための手段及び発明の効果】
上記目的を達成するためになされた請求項１記載の光学情報読取装置によれば、読取手段によって光学情報を読み取り、その読み取った光学情報の内容、あるいは読取作業に際して利用者へ報知する必要のある情報を表示手段に表示することができる。なお、「読み取った光学情報の内容」とは、例えばバーコードなどが表している文字（英字、漢字、数字などを含む概念である。）などであり、「読取作業に際して利用者へ報知する必要のある情報」とは、例えば読み取り作業を円滑に進めるために利用者へ次の動作指示をしたりする、といった各種案内などである。
【０００８】
そして、本光学情報読取装置は、表示手段へ文字を表示するための文字毎のフォントパターンデータ、及び、指定された文字コードに対応するフォントパターンデータが割り付けられているアドレスを計算するアドレス計算関数を有するフォントファイルを備えており、表示制御手段が、指定された文字コードに対応するフォントパターンデータをフォントファイルから読み出して表示手段へ表示する。この表示制御に際して、表示制御手段は次のような手順でフォントパターンデータを読み出す。すなわち、指定された文字コードを引数としてフォントファイル中のアドレス計算関数を用いた計算の実行を指示する。その実行指示によって計算されたフォントパターンデータのアドレスに基づいて該当するフォントパターンデータをフォントファイル中から読み出すのである。
【０００９】
このようにしてフォントパターンデータを読み出すようにした結果、異なる文字コード体系に適用させる場合であっても、表示制御手段は同じシステムプログラムに基づいて制御を実行することができる。つまり、フォントパターンデータと、その割付アドレスの計算のための関数とを対にしてフォントファイルとして持ち、表示制御に際しては、そのフォントファイル中のアドレス計算関数を用いて指定文字コードに対応するフォントパターンデータのアドレスを計算するようにしたため、表示制御手段におけるシステムプログラムは汎用化される。
【００１０】
したがって、従来においては、上述したように文字コード体系の異なる複数の国などで使用する場合に、表示制御のためのシステムプログラム自体を改変しなくてはならなったものが、本発明によれば、フォントファイルだけをその文字コード体系用に変更すればよいだけとなる。つまり、異なる文字コード体系に基づく文字表示を実現しながら、表示制御を実行する基本のシステムプログラムについては汎用化することができるため、プログラム管理の点での利便向上や合理化を実現できる。
【００１１】
また、フォントファイルの構成に関しては、例えばフォントファイルの先頭から考えてどの位置にアドレス計算関数が配置されているかが固定されていれば、その配置場所を固定的に記憶しておけば装置側としても問題ないが、実際には固定的に配置されないことが多い。そこで、請求項１に示すように、フォントファイルの先頭に、少なくともアドレス計算関数の相対的な割付アドレスを示すヘッダ情報が配置しておき、そのヘッダ情報に基づいてアドレス計算関数の絶対的な割付アドレスを特定し、装置内に記憶しておくことが考えられる。このようにすれば、まずフォントファイルの先頭に配置されたヘッダ情報を読み取って、アドレス計算関数の相対的な割付アドレス、つまりフォントファイルの先頭からアドレス計算関数が配置されている部分までのオフセット値を取得し、そのオフセット値に基づいて、フォントファイルが格納されたメモリ内におけるアドレス計算関数の絶対的な割付アドレスを得ることができる。
なお、表示指定された文字コードを引数としてフォントファイル中のアドレス計算関数を用いた計算を実行しても、該当アドレスが存在しない場合も考えられるため、その場合の対処として、請求項２に示すように、表示制御手段が所定のエラー対応表示を実行することが考えられる。この場合には、エラーが生じていることが判ればよいので文字で表示する必要もなく、例えば図形的な表示であってもよい。
【００１２】
ところで、文字コードを引数としてフォントファイル中のアドレス計算関数を用いた計算を実行させるにあたっては、次のような状況において所定の考慮をする必要がある。つまり、複数のフォントファイルを備えていると共に、それらフォントファイル中のフォントパターンデータ同士は、文字コード体系は等しいが文字サイズあるいは字体の少なくともいずれかが異なったフォント属性を持っている場合である。例えば同じシフトＪＩＳコードであっても、サイズが１２ドットと１６ドットの場合のそれぞれに対応したフォントファイルを準備しておくような場合である。この場合には、どのフォントファイルを用いるかによって表示結果が異なるため、請求項３に示すように、表示制御手段は、指定された文字コードに対応するフォントパターンデータを、指定されたフォント属性用のフォントファイル中より読み出し、それを表示すればよい。
【００１４】
なお、請求項４に示すように、ヘッダ情報には、フォントパターンデータに関するバージョン情報あるいは言語種類の少なくともいずれかを示すデータを格納しておくことが考えられる。
【００１５】
【発明の実施の形態】
以下に、本発明の好適な実施例を図面に基づいて説明する。尚、本発明の実施の形態は、下記の実施例に何ら限定されるものではなく、本発明の技術的範囲に属する限り種々の形態を採り得ることはいうまでもない。
【００１６】
図１は一実施例としての光学情報読取装置１のブロック図を示す。本実施例の光学情報読取装置１は、いわゆるバーコードハンディターミナルとして構成されており、ＣＰＵ１０と、照明発光ダイオード（照明ＬＥＤ）１１と、ＣＣＤセンサ１２と、増幅回路１３と、２値化回路１４と、カウンタ１５と、クロックパルス発生回路１６と、ＲＡＭ２０と、フラッシュＲＯＭ２１と、読取スイッチ３０と、キーボード３１と、液晶表示器３２と、通信Ｉ／Ｆ回路３３とを中心にして構成されている。
【００１７】
照明ＬＥＤ１１は、読取対象であるバーコードに対して照明用の赤色光を照射するものである。
ＣＣＤセンサ１２は、１次元的に配列された複数の電荷結合素子（ＣＣＤ）を有しており、バーコードなどの光学情報が記録した面から反射した光を光電変換によって電気信号にして出力する。この出力信号は増幅回路１３によって増幅されて２値化回路１４に出力される。
【００１８】
増幅回路１３は、所定の増幅率で、ＣＣＤセンサ１２から出力された電気信号を増幅する。なお、ＣＰＵ１０から入力したゲインコントロール電圧に対応して増幅率を可変に構成することも可能である。
２値化回路１４は、増幅回路１３にて増幅された電気信号を２値化し、カウンタ１５に出力する。ＣＣＤセンサ１２からの出力は反射光の強弱に応じたアナログ信号であるため、２値化回路１４にて２値化信号とされた場合、その２値化信号は明暗いずれかに対応するパターンを形成することとなる。本発明では、暗パターンがバーコードの黒バーとなり、明パターンがバーコードの白バーとなるようにされている。そこで、カウンタ１５は、２値化回路１４から入力された２値化信号をクロックパルス発生回路１６から発生されてクロックパルスを単位として計数し、そのカウント値をＲＡＭ２０に出力する。このカウント値がバー幅に対応する。
【００１９】
読取スイッチ３０は、利用者が読取処理の開始を指示するためのスイッチであり、キーボード３１は、テンキーあるいは各種ファンクションキーを備え、情報入力のために用いられる。
液晶表示器３２は、例えば２階調表示のＬＣＤとして構成されており、読み取った光学情報の内容（例えばバーコードなどが表している文字）や、あるいは読取作業に際して利用者へ報知する必要のある情報（例えば読み取り作業を円滑に進めるために利用者へ報知する次の動作指示などの各種案内）を表示するためなどに用いられる。
【００２０】
通信Ｉ／Ｆ回路３３は、図示しない外部装置との間で通信を行うものであり、図示しない通信用発光素子を介してデータを外部装置に送信したり、図示しない通信用受光素子を介して外部装置からの信号（例えばシステムを動かすためのプログラムや送信を待機する命令等）を受信する。
【００２１】
ＣＰＵ１０は、フラッシュＲＯＭ２１に記憶されているプログラムに従って読取処理や表示処理等を実行し、光学情報読取装置１の各構成を制御している。
フラッシュＲＯＭ２１には、図２（ａ）に示すように、システムプログラム、フォントファイルなどが格納されており、ＲＡＭ２０には、アプリケーションプログラム、データファイルなどが格納されている。なお、アプリケーションプログラム、データファイルはフラッシュＲＯＭ２１に格納しておくことも可能である。
【００２２】
システムプログラムに基づいてＣＰＵ１０が行う処理内容としては、アプリケーションプログラムの解釈や実行をし、それに基づくハードウェアなどの制御が挙げられる。例えばバーコード読み取りに係るアプリケーションプログラムを実行する場合には、読取スイッチ３０やキーボード３１からの入力を受け付け、照明ＬＥＤ１１、ＣＣＤセンサ１２、クロックパルス発生回路１６に対する制御を行い、さらに液晶表示器３２に対する表示制御を行う。
【００２３】
この表示制御に関し、文字を表示する際には、フォントファイル中のフォントパターンデータを読み出して液晶表示器３２に出力して文字表示を行う。したがって、上述したように、例えばバーコードが表している文字（英字、漢字、数字などを含む。）や、読み取り作業を円滑に進めるために利用者へ次の動作指示を文字にて表示することができる。
【００２４】
ここで、フォントファイルの構成について簡単に説明しておく。図２（ａ）にその概略を示すように、フォントファイルは、文字毎のフォントパターンデータと、指定された文字コードに対応するフォントパターンデータが割り付けられているアドレスを計算するアドレス計算関数を備えている。例えば文字コードが２バイト（１６ビット）コードであった場合、６５５３６（＝２16）のフォントパターンデータを持っているわけではなく、各文字コード体系に応じたフォントで使用している部分だけをフォントパターンデータとして持つ。そのため、文字コードからフォントパターンデータが格納されているアドレスを各文字コード体系特有の計算によって求める必要がある。アドレス計算関数はそのためのものである。
【００２５】
なお、当然であるが、フォントファイル自体はフラッシュＲＯＭ２１のどの部分に格納されるかは判らない。そのため、アドレス計算関数が計算する割付アドレスは、フォントファイル中におけるフォントパターンデータのアドレス、つまり相対的な割付アドレスである。
【００２６】
その際、次のような手順でフォントパターンデータを読み出す。なお、図２（ａ）において（ａ１）〜（ａ６）としてこの手順を示した。また、以下の説明において、動作主体を示す「アプリケーションプログラムは…」という表現は、実際には「アプリケーションプログラムに基づいて実行される処理によれば…」という意味であり、記載簡略化のためにそのように表記する。同様に、「システムプログラムは…」という表現についても、実際は「システムプログラムに基づいて実行される処理によれば…」という意味である。
【００２７】
（ａ１）まず、アプリケーションプログラムがシステムプログラムに対して指定文字の表示指示を行う。上述したように、例えばバーコードが表している文字や、読み取り作業を円滑に進めるために利用者へ次の動作指示などを示すための文字である。例えばシフトＪＩＳコードにおいて「漢」という漢字を表示する指示がある場合には、アプリケーションプログラムから文字コード「８ＡＢＦ」を表示する旨の指示が来る。
【００２８】
（ａ２）次いで、その指示を受けたシステムプログラムは、指定文字に対応するフォントパターンデータのアドレス計算の指示を、アドレス計算関数に対して指示する。上述した「漢」という漢字の場合であれば、文字コード「８ＡＢＦ」を引数としてアドレス計算関数を用いた計算の実行を指示する。
【００２９】
（ａ３）そして、その戻り値として「漢」の文字のフォントパターンデータが格納されている先頭アドレスを取得する。なお、アドレス計算関数は、該当するフォントがある場合にはそのアドレスを返し、該当するフォントがない場合にはエラーコードを返す。
【００３０】
（ａ４）アドレス計算関数による計算結果としての戻り値を得たシステムプログラムは、その戻り値であるアドレスを指定してフォントパターンデータの読み出しを指示する。
（ａ５）その読出指示に応じた該当するフォントパターンデータが読み出されてシステムプログラム側へ送られる。
【００３１】
（ａ６）システムプログラムは、その送られたフォントパターンデータを液晶表示器（ＬＣＤ）３２へ送って表示させる。なお、（ａ３）にて、アドレス計算関数による計算結果としての戻り値がエラーコードであった場合には、指定した文字コードに対応するフォントパターンデータがないことを示しているので、その場合の対処としては、例えば所定のエラー対応表示をすればよい。この場合には、エラーが生じていることが判ればよいので文字で表示する必要もなく、例えば枠状の図形などの表示であってもよい。
【００３２】
本実施例においては、このようにしてフォントパターンデータを読み出すようにした結果、異なる文字コード体系に適用させる場合であっても、同じシステムプログラムに基づいて制御を実行することができることとなった。つまり、フォントパターンデータと、その割付アドレスの計算のための関数とを対にしてフォントファイルとして持ち、表示制御に際しては、そのフォントファイル中のアドレス計算関数を用いて指定文字コードに対応するフォントパターンデータのアドレスを計算するようにしたため、システムプログラムは汎用化される。
【００３３】
したがって、従来は、上述したように文字コード体系の異なる複数の国などで使用する場合に表示制御のためのシステムプログラム自体を改変しなくてはならなったものが、本実施例によれば、フォントファイルだけをその文字コード体系用に変更すればよいだけとなる。
【００３４】
ここで、図２（ｂ）に示した比較のための従来例における表示制御の手順を概説する。（ｂ１）にてアプリケーションプログラムがシステムプログラムに対して指定文字の表示指示を行うと、（ｂ２）にて、その指示を受けたシステムプログラムが指定文字に対応するフォントパターンデータのアドレスを計算する。つまり、図２（ａ）でいうところのアドレス計算関数がシステムプログラム中に含まれているため、そのアドレス計算関数を用いてアドレスを計算する。したがって、アプリケーションプログラムから文字コード「８ＡＢＦ」の表示指令がくれば、その８ＡＢＦのフォントパターンデータがどのアドレスに存在するかを計算した上で、読み出しを行う。そして、（ｂ３）にて該当するフォントパターンデータが読み出されてシステムプログラム側へ送られ、（ｂ４）では、システムプログラムが、その送られたフォントパターンデータをＬＣＤへ送って表示させることとなる。
【００３５】
この従来例の構成において異なる文字コード体系に基づく文字表示を実現するためには、フォントパターンデータはもちろん、システムプログラム自体までも変更する必要がある。これに対して、本実施例の場合には、図２（ａ）を参照して説明したように、フォントファイルのみ変更すればよく、基本のシステムプログラムについては変更しなくてもよい。適用する文字コード体系の種類が多くなればなるほど、この利点は顕著になる。このようにシステムプログラムを汎用化できるため、プログラム管理の点での利便向上や合理化を実現できる。
【００３６】
［別実施例］
（１）上述の実施例では、理解を容易にするため、フラッシュＲＯＭに格納されるフォントファイルについては、例えば使用言語に応じて交換するようなイメージにて説明した。但し、例えば日本語と中国語の２か国語で同時に表示させるといったアプリケーションも考えられるため、その場合には、文字コード体系自体が異なる日本語用のフォントファイル及び中国語用のフォントファイルというように２種類のフォントファイルを格納しておけばよい。そして、図２（ａ）のアプリケーションプログラムからの指定文字の表示指示（ａ１）において、日本語用の文字コードと中国語用の文字コードの両方を指示すればよい。
【００３７】
（２）また、このような文字コード体系自体が異なる場合ではなく、文字コード体系が同じ場合でも次のような場合にも工夫が必要である。つまり、複数のフォントファイルを備えているのではあるが、フォントパターンデータ同士は、文字コード体系は等しいが文字サイズあるいは字体の少なくともいずれかが異なったフォント属性を持っている場合も考えられる。例えば同じシフトＪＩＳコードであっても、サイズが１２ドットと１６ドットの場合のそれぞれに対応したフォントファイルを準備しておくような場合である。この場合には、どのフォントファイルを用いるかによって表示結果が異なるため、システムプログラムは、指定された文字コードに対応するフォントパターンデータを、指定されたフォント属性用のフォントファイル中より読み出し、それを表示する必要がある。したがって、その場合には、フォントファイル中のフォントパターンデータのフォント属性を区別できるようにしておく必要がある。
【００３８】
（３）一方、フォントファイルの構成に関しては、次の点についても考慮するとよい。つまり、アドレス計算関数に対して文字コードを指定する場合、フォントファイル中におけるアドレス計算関数自体のアドレスも判っている必要がある。例えばフォントファイルの先頭から考えてどの位置にアドレス計算関数が配置されているかが固定されていれば、その配置場所を固定的に記憶しておけば装置１側としても問題ないが、実際には固定的に配置されないことが多い。そのため、図２は図示していないが、フォントファイルの先頭に、少なくともアドレス計算関数の相対的な割付アドレスを示すヘッダ情報を配置しておき、そのヘッダ情報に基づいてアドレス計算関数の絶対的な割付アドレスを特定し、装置内に記憶しておくことも考えられる。
【００３９】
このようにすれば、まずフォントファイルの先頭に配置されたヘッダ情報を読み取って、アドレス計算関数の相対的な割付アドレス、つまりフォントファイルの先頭からアドレス計算関数が配置されている部分までのオフセット値を取得し、そのオフセット値に基づいて、フォントファイルが格納されたメモリ内におけるアドレス計算関数の絶対的な割付アドレスを得ることができる。
【００４０】
なお、その場合のヘッダ情報には、アドレス計算関数の相対的な割付アドレス以外にも、フォントパターンデータに関するバージョン情報あるいは言語種類の少なくともいずれかを示すデータを格納しておくことが考えられる。
（４）また、光学情報の読取機構に関し、上記実施例では図１に示すようにＣＣＤセンサ１２を用いたが、レーザ光にて走査する方式のものを採用してもよい。さらに、読取対象としてはバーコードには限られず、２次元コードであってもよい。
【図面の簡単な説明】
【図１】  実施例としての光学情報読取装置のブロック図である。
【図２】  （ａ）は実施例の表示制御に係る手順の概略を示す説明図であり、（ｂ）は従来例の表示制御に係る手順の概略を示す説明図である。
【符号の説明】
１…光学情報読取装置
１０…ＣＰＵ
１１…照明ＬＥＤ
１２…ＣＣＤセンサ
１３…増幅回路
１４…２値化回路
１５…カウンタ
１６…クロックパルス発生回路
２０…ＲＡＭ
２１…フラッシュＲＯＭ
３０…読取スイッチ
３１…キーボード
３２…液晶表示器
３３…通信Ｉ／Ｆ回路
【図１】
0004038913.tif 000002
【図２】
0004038913.tif 000003