(57)【要約】【課題】  複数バイト文字を含む文字列を、容易にキーボードの操作データとして情報処理手段における情報処理に供することができるようにする。【解決手段】  文字列データが示す文字を入力するためのキーボードの操作データを生成して出力する場合において、複数バイト文字のコードを示す文字が配置された複数バイト文字領域とそれ以外の部分とを識別し（Ｓ１３）、複数バイト文字領域と対応する操作データとして、その領域の文字が示すコードの複数バイト文字の入力を所定のオペレーティングシステムに予め含まれるサービスプログラムに対して指示するためのキー操作を示す操作データを生成し（Ｓ１６，Ｓ１７）、複数バイト文字領域以外の部分と対応する操作データとして、その部分に配置された文字の入力を上記サービスプログラムに対して指示するための、その文字と対応するキーの操作を示す操作データを生成するようにした（Ｓ１４）。【選択図】        図５
2014006753.tif 000002
【特許請求の範囲】
【請求項１】
１バイト文字と複数バイト文字の文字コードが混在する文字列データを取得する文字列データ取得手段と、
前記文字列データ取得手段が取得した文字列データに含まれる文字コードに基づき、所定のオペレーティングシステムに対し該文字コードが示す文字の入力を指示するためのキーボードの操作データを生成する生成手段と、
前記生成手段が生成した操作データを情報処理手段へ出力する出力手段とを備えることを特徴とする操作データ出力装置。
【請求項２】
請求項１に記載のデータ出力装置であって、
前記出力手段は、前記文字列データのうち、１バイト文字の文字コードが含まれる部分と複数バイト文字の文字コードが含まれる部分とを識別し、１バイト文字と複数バイト文字とで、異なるアルゴリズムにより、該文字の入力を指示するための操作データを生成することを特徴とする操作データ出力装置。
【請求項３】
請求項２に記載の操作データ出力装置であって、
複数のオペレーティングシステムのそれぞれと対応する、複数バイト文字の文字コードに基づき該オペレーティングシステムに対し該文字コードが示す文字の入力を指示するための操作データを生成するためのアルゴリズムを取得可能なアルゴリズム取得手段と、
オペレーティングシステムの指定を受け付ける受付手段とを備え、
前記生成手段は、前記受付手段が指定を受け付けたオペレーティングシステムと対応するアルゴリズムにより、複数バイト文字の入力を指示するための操作データを生成することを特徴とする操作データ出力装置。
【請求項４】
請求項２又は３に記載の操作データ出力装置であって、
複数バイト文字の認識オンオフを切り替える手段を備え、
複数バイト文字の認識オフの場合には、前記生成手段は、前記文字列データ中に含まれる文字コードが全て１バイト文字の文字コードであるとして前記操作データを生成することを特徴とする操作データ出力装置。
【請求項５】
１バイト文字と複数バイト文字の文字コードが混在する文字列データを取得する文字列データ取得手段と、
前記文字列データ取得手段が取得した文字列データに含まれる文字コードに基づきキーボードの操作データを生成する生成手段と、
前記生成手段が生成した操作データを前記情報処理手段へ出力する出力手段とを備え、
前記生成手段が、前記文字列データ取得手段が取得した文字列データのうち、１バイト文字の文字コードが含まれる部分と複数バイト文字の文字コードが含まれる部分とを識別し、前記文字列データ中の、(a)複数バイト文字の文字コードと対応する操作データとして、特殊キーのメイクを示す操作データ、該文字コードを十進数に変換して得られる値の各桁の数字について、キーパッドの該当数字のキーのメイクとブレイクを示す操作データを最上位の桁から順に最下位の桁までそれぞれ、および特殊キーのブレイクを示す操作データを、この順で生成し、(b)１バイト文字の文字コードと対応する操作データとして、該文字コードと対応するキーの操作を示す操作データ及び、必要に応じてシフトキーの操作を示す操作データを生成することを特徴とする操作データ出力装置。
【請求項６】
１バイト文字と複数バイト文字の文字コードが混在する文字列データを取得する文字列データ取得手順と、
前記文字列データ取得手順で取得した文字列データに含まれる文字コードに基づき、所定のオペレーティングシステムに対し該文字コードが示す文字の入力を指示するためのキーボードの操作データを生成する生成手順と、
前記生成手順で生成した操作データを情報処理手段へ出力する出力手順とを備えることを特徴とする操作データ出力方法。
【請求項７】
請求項６に記載のデータ出力方法であって、
前記出力手順では、前記文字列データのうち、１バイト文字の文字コードが含まれる部分と複数バイト文字の文字コードが含まれる部分とを識別し、１バイト文字と複数バイト文字とで、異なるアルゴリズムにより、該文字の入力を指示するための操作データを生成することを特徴とする操作データ出力方法。
【請求項８】
請求項７に記載の操作データ出力方法であって、
複数のオペレーティングシステムのそれぞれと対応する、複数バイト文字の文字コードに基づき該オペレーティングシステムに対し該文字コードが示す文字の入力を指示するための操作データを生成するためのアルゴリズムを取得可能なアルゴリズム取得手順と、
オペレーティングシステムの指定を受け付ける受付手順とを備え、
前記生成手順では、前記受付手順で指定を受け付けたオペレーティングシステムと対応するアルゴリズムにより、複数バイト文字の入力を指示するための操作データを生成することを特徴とする操作データ出力方法。
【請求項９】
請求項７又は８に記載の操作データ出力方法であって、
複数バイト文字の認識オンオフを切り替える手順を備え、
複数バイト文字の認識オフの場合には、前記生成手順では、前記文字列データ中に含まれる文字コードが全て１バイト文字の文字コードであるとして前記操作データを生成することを特徴とする操作データ出力方法。
【請求項１０】
１バイト文字と複数バイト文字の文字コードが混在する文字列データを取得する文字列データ取得手順と、
前記文字列データ取得手段が取得した文字列データに含まれる文字コードに基づきキーボードの操作データを生成する生成手順と、
前記生成手順で生成した操作データを前記情報処理手段へ出力する出力手順とを備え、
前記生成手順で、前記文字列データ取得手段が取得した文字列データのうち、１バイト文字の文字コードが含まれる部分と複数バイト文字の文字コードが含まれる部分とを識別し、前記文字列データ中の、(a)複数バイト文字の文字コードと対応する操作データとして、特殊キーのメイクを示す操作データ、該文字コードを十進数に変換して得られる値の各桁の数字について、キーパッドの該当数字のキーのメイクとブレイクを示す操作データを最上位の桁から順に最下位の桁までそれぞれ、および特殊キーのブレイクを示す操作データを、この順で生成し、(b)１バイト文字の文字コードと対応する操作データとして、該文字コードと対応するキーの操作を示す操作データ及び、必要に応じてシフトキーの操作を示す操作データを生成することを特徴とする操作データ出力方法。
【請求項１１】
コンピュータに請求項６乃至１０のいずれか一項に記載の操作データ出力方法を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、文字列データを操作データに変換して情報処理手段に供給するための操作データ出力装置、操作データ出力方法及びプログラムに関する。
【背景技術】
【０００２】
従来から、コードリーダ等の読取装置において、コード記号をデコードして得た読取結果の文字列を、ＰＣ（パーソナルコンピュータ）等の情報処理装置に転送して、その情報処理装置において集計や編集等の処理を行う技術が知られている。
また、この転送に際して、読取装置を、情報処理装置のキーボード端子（ＵＳＢ(Universal Serial Bus)等の汎用端子でもよい）に接続し、読取装置から、読取結果の文字列と対応するキーボードのキー操作を示す操作データを出力する技術も知られている。
この技術を利用すれば、情報処理装置で動作するアプリケーションに対し、キーボードから文字を入力する場合と同じように読取結果の文字列を入力することができる。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
ところで、バーコード等のコード記号はもともと数値やアルファベットのみを記号化するために用いられていたため、近年のように意味のある情報そのものの記号化や漢字の利用が行われるようになってまだ歴史が浅く、その効率的な出力法についても、発展途上であると言える。従って、上記のように操作データを出力しようとする場合、以下のような問題があった。
【０００４】
まず、１バイト文字であれば、文字と操作すべきキーとの対応関係は比較的単純である。例えば、読取結果が数字の「1」であれば、それを入力するための操作は、キーボードの「１」のキーのmake（メイク：オン操作）とbreak（ブレイク：オフ操作）をこの順で行うものである。
【０００５】
しかし、複数バイト文字（例えばいわゆる全角の２バイト文字）の場合、該当する文字を入力するためのキー操作は、複雑であり、また情報処理装置側で動作している文字入力補助ソフトウェア（Ｗｉｎｄｏｗｓ（登録商標）の場合ＩＭＥ（Input Method Editor）と呼ばれる）によっても異なる。従って、複数バイト文字を入力するための操作データを適切に生成することは難しかった。
この問題を解決するためには、例えば情報処理装置側に、読取装置から送信されてくるキー操作データを処理するための専用の変換アプリケーションをインストールしておくことが考えられる。
【０００６】
図９を用いて、この構成における文字入力について説明する。
図９のＰＣ４００において、キーボードドライバ４０１は、キーボードからの操作データを受け取り、これをＯＳ（Operating System）４１０が処理可能な形式に変換してＯＳ４１０に渡す機能を有する。通常のキーボードに対応するキーボードドライバ４０１は、ＯＳ４１０と共に提供されるのが一般的である。
【０００７】
変換アプリケーション４０２は、読取装置３００のメーカーが提供するアプリケーションであり、キーボードドライバ４０１からＯＳ４１０に渡される操作データをキーボードフックにより途中で取得し、一部加工してＯＳ４１０に渡す機能を備える。すなわち、特定のキー操作の組み合わせを、複数バイト文字の入力を示すデータ（Ｗｉｎｄｏｗｓ（登録商標）の場合、WM_IME_CHARメッセージを用いることができる）に置き換えてＯＳ４１０に渡す。
【０００８】
ＯＳ４１０は、ＰＣ４００全体を管理する基本ソフトウェアであり、ハードウェアを制御して各種アプリケーションから利用可能な基本機能を提供するが、図９には、キーボードからの文字入力に関する機能を簡単に示している。
【０００９】
入力処理部４１１は、キーボードドライバ４０１から受け取った仮想キーコードに基づき、アクティブなアプリケーションに対し、入力内容を示す情報を渡す。例えば、「１」のキーが押下された場合には、１バイト文字の「1」が入力された旨の情報を渡す等である。図９の例では、読取結果の文字列を集計及び編集するアプリケーションであるエディタ４２０がアクティブであるとする。
また、入力処理部４１１は、複数バイト文字の入力を示す仮想キーコードやメッセージを受け取った場合、入力内容を示す情報を、エディタ４２０に直接渡すのではなく、文字入力補助部４１２に渡す。
【００１０】
文字入力補助部４１２は、上述の文字入力補助ソフトウェアによって実現される機能を示し、キー操作に基づき、かな漢字変換を始めとする、複数バイト文字の入力を補助する機能を提供する。そして、入力すべき文字が確定された場合に、その確定された入力内容を示す情報を、アクティブなアプリケーションに渡す。
また、入力処理部４１１は、例えば上述のWM_IME_CHARメッセージを文字入力補助部４１２に渡すことにより、直接（かな漢字変換を経ずに）文字コードを指定して複数バイト文字の入力を指示することも可能である。
【００１１】
このようなＰＣ４００に対し、コード記号を読み取ってデコードする機能を備えた読取装置３００は、読取結果の文字列データのうち、１バイト文字の文字コードが含まれる部分と、複数バイト（ここでは２バイト）文字の文字コードが含まれる部分とで、異なったアルゴリズムで操作データを出力する。
まず１バイト文字の場合、ＯＳ４１０に対して該当文字の入力を指示するための操作データとして、文字コードと対応するキーのmakeとbreakの操作データを順に出力する。例えば図９に示す「12A」の文字列が配置されていたとすると、そのうち「1」や「2」については、「１」あるいは「２」のキーについてmakeとbreakの操作データを順に出力すればよい。図中の「key 1」及び「key 2」はこの操作データを示す。
【００１２】
また、一部の文字についてはシフトキーの操作が必要である。この場合、シフトキーのmake→文字と対応するキーのmake→同じキーのbreak→シフトキーのbreakの順で操作データを出力すればよい。図９の例では「A」がこのケースに当たり、図中の「Shift + Key A」がこの操作データを示す。
【００１３】
ＰＣ４００側では、キーボードドライバ４０１から変換アプリケーション４０２へその操作データが渡る。変換アプリケーション４０２は、特に変換を指示する操作データが含まれていなければ、受け取った操作データをそのままＯＳ４１０の入力処理部４１１に渡す。そして、入力処理部４１１も、複数バイト文字の入力モードでなければ、受け取った操作データに複数バイト文字の入力を指示するデータが含まれていないため、操作されたキーと対応する文字の入力指示であると解釈して、該当文字が入力された旨の情報をエディタ４２０に渡す。この例では操作データに応じた入力文字列として「12A」を渡す。このことにより、エディタ４２０に対してその文字列を入力することができる。
【００１４】
一方、複数バイト文字の場合、読取装置３００は、まず変換アプリケーション４０２に対して複数バイト文字への変換を指示するためのキー操作データを送信してから、変換アプリケーション４０２に対して入力したい文字を指定するためのキー操作データを出力する。
前者の操作は、変換アプリケーション４０２の設計者が任意に定めることができ、ここではＡＬＴキーをオン操作しながらのＬキーのオン操作とする。具体的には、ＡＬＴキーのmake→Ｌキーのmake→Ｌキーのbreak→ＡＬＴキーのbreakである。「ALT + key L」はこの操作データを示す。
【００１５】
後者の操作も、変換アプリケーション４０２の設計者が任意に定めることができ、ここでは、入力したい文字のシフトＪＩＳの文字コードをテキストで入力する操作としている。例えば「雨」のシフトＪＩＳの文字コードは「0x89 0x4A」であるので、「雨」を入力したい場合、ここから「0x」を除いて各バイトを繋げた「894A」をタイプする操作データを送信する。
【００１６】
ＰＣ４００側では、１バイト文字の場合と同様に、キーボードドライバ４０１から変換アプリケーション４０２へその操作データが渡る。そして、変換アプリケーション４０２は、ALT + key Lの操作データを検出すると、以後の所定数のキー入力を、シフトＪＩＳの文字コードの入力であると解釈し、それらのキー操作データを、入力された文字コードを有する複数バイト文字の入力を示すデータに変換してＯＳ４１０に渡す。
すると、ＯＳ４１０の入力処理部は、受け取ったデータが複数バイト文字の入力を指示するデータであるので、文字入力補助部４１２に渡す。文字入力補助部４１２は、そのデータを、文字コードを指定した文字の入力指示であると解釈して、該当文字が入力された旨の情報をエディタ４２０に渡す。この例では入力文字列として「雨」を渡す。このことにより、エディタ４２０に対してその文字列を入力することができる。
【００１７】
以上により、読取装置３００は、１バイト文字も２バイト文字も、キーボードの操作データに変換してＰＣ４００に送信し、エディタ４２０にその文字を入力することができる。
しかしながら、図９に示した方式では、ＰＣ４００に、専用の変換アプリケーション４０２をインストールする必要がある。また、読取装置３００のメーカー側から見れば、変換アプリケーション４０２を開発し、ユーザに配布し、インストール方法を説明する必要がある。さらに、ユーザの環境によって変換アプリケーション４０２が動作しないような場合には、その問題を解決するためのアプリケーションの改変も必要となる可能性がある。
このため、図９に示した方式は、メーカーとユーザの双方にとって、手間のかかる方式であった。
【００１８】
また、一般論として、アプリケーションを追加インストールするとセキュリティ上の問題が発生する可能性があるし、ホストとの相性によって動作不安定を引き起こす可能性もある。このため、近年のセキュリティ意識の高まりに応じて、アプリケーションのインストールが好まれなかったり難しかったりするケースも出てきた。
なお、同様な問題は、コード記号の読み取り以外で得た文字列を情報処理装置に出力する場合にも、発生するものである。
【００１９】
この発明は、このような背景に鑑みてなされたものであり、複数バイト文字を含む文字列を、容易にキーボードの操作データとして情報処理手段における情報処理に供することができるようにすることを目的とする。
【課題を解決するための手段】
【００２０】
上記の目的を達成するため、この発明の操作データ出力装置は、１バイト文字と複数バイト文字の文字コードが混在する文字列データを取得する文字列データ取得手段と、上記文字列データ取得手段が取得した文字列データに含まれる文字コードに基づき、所定のオペレーティングシステムに対しその文字コードが示す文字の入力を指示するためのキーボードの操作データを生成する生成手段と、上記生成手段が生成した操作データを情報処理手段へ出力する出力手段とを設けたものである。
このようなデータ出力装置において、上記出力手段が、上記文字列データのうち、１バイト文字の文字コードが含まれる部分と複数バイト文字の文字コードが含まれる部分とを識別し、１バイト文字と複数バイト文字とで、異なるアルゴリズムにより、その文字の入力を指示するための操作データを生成するようにするとよい。
さらに、複数のオペレーティングシステムのそれぞれと対応する、複数バイト文字の文字コードに基づきそのオペレーティングシステムに対しその文字コードが示す文字の入力を指示するための操作データを生成するためのアルゴリズムを取得可能なアルゴリズム取得手段と、オペレーティングシステムの指定を受け付ける受付手段とを設け、上記生成手段が、上記受付手段が指定を受け付けたオペレーティングシステムと対応するアルゴリズムにより、複数バイト文字の入力を指示するための操作データを生成するようにするとよい。
さらに、複数バイト文字の認識オンオフを切り替える手段を設け、複数バイト文字の認識オフの場合には、上記生成手段が、上記文字列データ中に含まれる文字コードが全て１バイト文字の文字コードであるとして上記操作データを生成するようにするとよい。
また、この発明の別の操作データ出力装置は、１バイト文字と複数バイト文字の文字コードが混在する文字列データを取得する文字列データ取得手段と、上記文字列データ取得手段が取得した文字列データに含まれる文字コードに基づきキーボードの操作データを生成する生成手段と、上記生成手段が生成した操作データを上記情報処理手段へ出力する出力手段とを備え、上記生成手段が、上記文字列データ取得手段が取得した文字列データのうち、１バイト文字の文字コードが含まれる部分と複数バイト文字の文字コードが含まれる部分とを識別し、上記文字列データ中の、(a)複数バイト文字の文字コードと対応する操作データとして、特殊キーのメイクを示す操作データ、その文字コードを十進数に変換して得られる値の各桁の数字について、キーパッドのその当数字のキーのメイクとブレイクを示す操作データを最上位の桁から順に最下位の桁までそれぞれ、および特殊キーのブレイクを示す操作データを、この順で生成し、(b)１バイト文字の文字コードと対応する操作データとして、その文字コードと対応するキーの操作を示す操作データ及び、必要に応じてシフトキーの操作を示す操作データを生成するものである。
また、この発明は、装置として実現する他、システム、方法、プログラム、媒体等、任意の形で実現することができる。
【発明の効果】
【００２１】
以上のようなこの発明の操作データ出力装置及び操作データ出力方法によれば、複数バイト文字を含む文字列を、容易にキーボードの操作データとして情報処理手段における情報処理に供することができる。
また、この発明のプログラムによれば、コンピュータにプログラムを読み込ませて実行させることにより、同様な効果を得ることができる。
【図面の簡単な説明】
【００２２】
【図１】この発明の操作データ出力装置の一実施形態である読取装置を備えた情報処理システムの構成を示す図である。
【図２】図１に示した読取装置のハードウェア構成を示す図である。
【図３】図１に示した読取装置のうち、この実施形態の特徴に関連する部分の機能構成を示す図である。
【図４】読取装置が出力する操作データ及びＰＣ側でのその操作データの取り扱いについて説明するための図である。
【図５】コード記号のデコードが成功した場合の処理のフローチャートである。
【図６】図５に示した複数バイト文字出力処理のフローチャートである。
【図７】実施形態の変形例における読取装置の機能構成例を示す、図３と対応する図である。
【図８】別の変形例における制御装置の構成例を示す図である。
【図９】この発明の課題について説明するための、読取装置及びＰＣの機能構成例を示す図である。
【発明を実施するための形態】
【００２３】
以下、この発明を実施するための形態を図面に基づいて具体的に説明する。
まず、図１に、この発明の操作データ出力装置の一実施形態である読取装置を備えた情報処理システムの構成を示す。
図１に示す情報処理システムは、コード記号を読み取ってその読取結果を出力する読取装置１００と、読取装置１００が出力する読取結果を受信して蓄積及び分析する情報処理装置であるＰＣ（パーソナルコンピュータ）２００とを備える。
【００２４】
読取装置１００は、ＰＣ２００のキーボード端子（ＵＳＢ(Universal Serial Bus)等の汎用端子でもよい）に接続する。そして、コード記号を読み取ってそのデコードに成功すると、デコードで得られた読取結果の文字列を、該文字列をＰＣ２００に入力するためのキーボードの操作を示す操作データとして出力する。
【００２５】
次に、図２に、読取装置１００のハードウェア構成を示す。
この読取装置１００は、読み取り対象物上に設けられた、光反射率が周囲と異なるモジュールが配列されたコード記号を読み取る装置であり、光学ヘッド部１１０及びデコーダ部１２０を有する。これらに加え、ユーザの操作を受け付けるためのボタン等の操作部も有するが、その図示は省略する。なお、コード記号の形式は任意であり、１次元のバーコードや、２次元バーコード、ＱＲコード（登録商標、以下同様）等、デコーダ部１２０の設定に応じて任意の形式のコードを読み取り可能である。
【００２６】
また、光学ヘッド部１１０は、レンズ１１１、固体撮像素子の一例であるＣＭＯＳ
（Complementary Metal Oxide Semiconductor）イメージセンサ（以下単に「ＣＭＯＳ」という)１１２及び投光ＬＥＤ（発光ダイオード）１１３を備える。
レンズ１１１は例えば光学レンズであり、読取対象物の画像を光学ヘッド部１１０に取り入れ、ＣＭＯＳ１１２の撮像エリア上に結像させるためのものである。
【００２７】
ＣＭＯＳ１１２は、レンズ１１１が取り入れた読取対象物（コード記号を含むと想定される）からの反射光により、読取対象物を撮像し、その撮像で得たアナログの画像信号からデジタルの輝度値で表現される画像データを生成してデコーダ部１２０に出力する。
投光ＬＥＤ１１３は、照射する光により読取対象物を照明して、ＣＭＯＳ１１２により鮮明な画像を撮像できるようにするための照明手段である。ただし、装置の構造によっては投光ＬＥＤ１１３は設けなくてもよい。
【００２８】
次に、デコーダ部１２０は、第１入出力インタフェース（第１Ｉ／Ｏ）１２１，制御回路１２２，ＲＡＭ１２３，不揮発メモリ１２４，第２入出力インタフェース（第２Ｉ／Ｏ）１２５を備える。
このうち第１Ｉ／Ｏ１２１は、光学ヘッド部１１０とデコーダ部１２０との間で、制御信号やＣＭＯＳ１１２が出力する画像データなどを送受信するためのインタフェースである。
【００２９】
制御回路１２２は、ＣＭＯＳ１１２及び投光ＬＥＤ１１３の制御や、ＣＭＯＳ１１２から第１Ｉ／Ｏ１２１を介して入力される読取対象物の画像データに対し、ノイズ除去のためのフィルタ処理や、デコード準備のためのデータ加工処理、加工後の画像データに基づくコード記号のデコード処理、デコード後の読取結果の蓄積、加工及び出力処理等を行う。ハードウェアとしては、ＡＳＩＣ（Application Specific Integrated Circuit）やＣＰＵにより構成することができる。なお、デコード処理の詳細については、例えば特開２００５−２５４１７号公報に記載の手法など、公知の任意の手法を採用すればよい。
【００３０】
ＲＡＭ１２３は、ＣＭＯＳ１１２から入力される画像データを一時的に記憶したり、デコード準備のためのデータ加工処理の際にワークメモリとして用いたり、デコード後の読取結果を一時的に蓄積したり、その他読取装置１００の動作に必要なデータなど動的に変更するデータを記憶したりする記憶手段である。一部を不揮発性としてもよい。
【００３１】
不揮発メモリ１２４は、読取装置１００を起動させるプログラムや、制御回路１２２のＣＰＵに実行させるためのプログラムなどを記憶する不揮発性の記憶手段である。
第２Ｉ／Ｏ１２５は、情報処理装置２００等の外部装置とデータ通信を行うためのインタフェースであり、制御回路１２２によるデコード後の読取結果をキーボードの操作データとして第２Ｉ／Ｏ１２５を介して外部装置に出力することができる。
一方、ＰＣ２００は、ハードウェアとしては、ＣＰＵ、ＲＯＭ、ＲＡＭ、ＨＤＤ、通信インタフェース等を備える公知の構成でよい。ソフトウェアについても、読取装置１００から読取結果を入力するのみであれば、ＯＳに予め含まれるソフトウェアのみで足りる。
【００３２】
次に、図３に、読取装置１００のうち、この実施形態の特徴に関連する部分の機能構成を示す。
図３に示すように、読取装置１００は、読取部１３１、デコード部１３２、文字識別部１３３、１バイト文字対応操作データ生成部１３４、複数バイト文字対応操作データ生成部１３５、操作データ出力部１３６を備える。
【００３３】
これらのうち、読取部１３１は、コード記号を撮像又は走査してコード記号を読み取る機能を備える。
デコード部１３２は、読取部１３１が得た画像や波形のデータに基づきコード記号をデコードして読取結果の文字列データを得る機能を備える。
【００３４】
文字識別部１３３は、デコード部１３２によるデコード結果の文字列のうち、１バイト文字の文字コードが含まれる部分と複数バイト文字の文字コードが含まれる部分とを識別する機能を備える。例えば、デコード結果の文字列データの各バイトを先頭から順に参照して、１バイト文字では使用されない値のバイト（又は複数バイト文字で使用される値のバイト）があった場合に、そのバイトとそれに続くバイトが複数バイト文字の文字コードを示すバイトであると判断することができる。
この基準は、用いる文字コードの種類によって異なるので、文字識別部１３３には、どの種類の文字コードを用いるのかを、予め設定しておく。ユーザの操作に応じてあるいは自動的にこれを変更できるようにしてもよい。
【００３５】
１バイト文字対応操作データ生成部１３４は、文字識別部１３３の判定結果に従い、読取結果のうち１バイト文字の文字コードが含まれる部分の文字コードが示す文字の入力をＰＣ２００のＯＳに指示するためのキーボードの操作データを生成する機能を備える。
【００３６】
複数バイト文字対応操作データ生成部１３５は、文字識別部１３３の判定結果に従い、読取結果のうち複数バイト文字の文字コードが含まれる部分の文字コードが示す文字の入力をＰＣ２００のＯＳに指示するためのキーボードの操作データを生成する機能を備える。
これらの操作データの具体的な生成アルゴリズムについては後述する。
操作データ出力部１３６は、１バイト文字対応操作データ生成部１３４又は複数バイト文字対応操作データ生成部１３５が生成した操作データを、ＰＣ２００へ出力する機能を備える。
【００３７】
次に、図４を用いて、読取装置１００が出力する操作データ及びＰＣ２００側でのその操作データの取り扱いについて説明する。
図４に示すように、この実施形態において、ＰＣ２００側で操作データの取り扱いに関与するのは、キーボードドライバ２０１及びＯＳ２１０である。このキーボードドライバ２０１及びＯＳ２１０は、図９に示したキーボードドライバ４０１及びＯＳ４１０と同じものでよい。ただし、図９に示した変換アプリケーション４０２は必要ない。
またここでは、ＯＳ２１０はＷｉｎｄｏｗｓ（登録商標）であるとして説明する。
【００３８】
また、エディタ２２０は、読取結果の文字列を集計及び編集するアプリケーションである。最低限、文字列を入力可能なアプリケーションであれば、ＯＳに予め含まれるテキストエディタでも構わない。
また、文字入力補助部２１２は、使用する言語に合ったものを用いる。すなわち、例えば日本語を入力しようとする場合、日本語入力プログラムを用いる。
【００３９】
以上のＰＣ２００に対し、読取装置１００が出力する操作データは、１バイト文字については、図９で説明したものと同じである。すなわち、文字コードが示す文字の入力をＯＳ２１０に対して指示するための操作データである、文字コードと対応するキーの操作データである（１バイト文字対応操作データ生成部１３４が生成する）。
しかし、複数バイト文字についても、図９で説明したものと異なり、文字コードが示す文字の入力をＯＳ２１０に対して指示するための操作データを出力する（複数バイト文字対応操作データ生成部１３５が生成する）。
【００４０】
ここで、ＯＳがＷｉｎｄｏｗｓ（登録商標）の場合、ＯＳに予め含まれる入力処理部２１１には、特殊キーであるＡＬＴキーを押下しながら、１６進数の文字コードを１０進数に変換して得られる数値の最上位の桁から最下位の桁までの数字を順にキーパッド（テンキー）で入力し、ＡＬＴキーの押下を解除する操作を、その文字コードの複数バイト文字の入力操作として受け付ける機能を備えている。そして、入力処理部２１１は、この操作を示す操作データを受け付けると、文字入力補助部２１２に対して、操作データに代えて、その操作で指定された文字コードの複数バイト文字の入力を指示するデータを渡す。
【００４１】
従って、シフトＪＩＳ形式で「0x894A」の文字コードを持つ文字「雨」は、「0x894A」を１０進数にすると３５１４６であるので、ＡＬＴキーを押下しながらキーパッドの３、５、１、４、６、のキーをこの順で押下し、その後ＡＬＴキーの押下を解除するキー操作により、入力することができる。
読取装置１００は、この機能を利用してＯＳ２１０に対して所望の複数バイト文字の入力を指示するための操作データを出力する。
【００４２】
図４の例の場合、「894A」の文字コードを持つ文字「雨」を入力するために、ＡＬＴキーのmake→キーパッドの３キーのmakeとbreak（「keypad 3」はこのキー操作を示す）→同様にキーパッドの５、１、４、６キーのメイクとブレイク→ＡＬＴキーのbreakの順で操作データを出力する（複数バイト文字対応操作データ生成部１３５が生成する）。
複数バイト文字を２文字以上続けて入力すべき場合は、１文字毎に、ＡＬＴキーの押下、キーパッドでの数値入力およびＡＬＴキーの押下解除を示す操作データを出力する。
【００４３】
このようにすることにより、ＰＣ２００側に専用の変換アプリケーションをインストールすることなく、ＯＳが一般的なやり方でインストールされていればほぼ確実に備えている機能のみを利用して、読取装置１００が出力するキーボードの操作データにより複数バイト文字を入力することができる。
従って、専用アプリケーションの開発、配布、説明、インストール、アップデート等に係る手間がかからず、ユーザ側環境の影響も受けづらく、容易に複数バイト文字の入力を行うことができる。
【００４４】
次に、図４に示した操作データの出力を行うための処理について説明する。
図５に、コード記号のデコードが成功した場合に制御回路１２２のＣＰＵが実行する処理のフローチャートを示す。
光学ヘッド部１１０が読み取ったコード記号のデコードが制御回路１２２において完了すると、読取結果の文字列データが取得できる。そこで、制御回路１２２のＣＰＵは、その文字列データが示す文字列をＰＣ２００に入力するための操作データを生成すべく、図５のフローチャートに示す処理を開始する。
【００４５】
そして、この処理においてはまず、読取結果の１バイト目を処理対象とする（Ｓ１１）。
次に、複数バイト文字処理がＯＮに設定されているか否か判断する（Ｓ１２）。この設定は、複数バイト文字を考慮した操作データの出力を行うか否かの設定であり、ユーザが適当な操作部を操作することによりＯＮ／ＯＦＦを切り換えることができる。これがＯＦＦの場合、読取結果の文字列中データに複数バイト文字のコードが含まれていない、すなわち読取結果に含まれるのは全て１バイト文字であるとして操作データの生成及び出力を行う。
【００４６】
そこで、ステップＳ１２でＮＯの場合、処理対象バイトの値と対応するキーのmakeの操作データを生成して第２Ｉ／Ｏ１２５から出力し（Ｓ１６）、その後、処理対象バイトの値と対応するキーのbreakの操作データを生成して第２Ｉ／Ｏ１２５から出力する（Ｓ１７）。
これらの操作データは、処理対象バイトの文字コードが示す文字の入力をＯＳ２１０に対して指示するためのキー操作を示す操作データである。なお、入力すべき文字が大文字アルファベットや記号であって入力にシフトキーの操作が必要な場合、ステップＳ１６の前にシフトキーのmakeを、ステップＳ１７の後にシフトキーのbreakを生成及び出力するが、フローチャートの単純化のため、記載は省略した。
【００４７】
ステップＳ１７の後は、デコード結果の文字列データ全ての処理が完了したか否か判断し（Ｓ１５）、完了していれば処理を終了する。完了していなければ、読取結果の次のバイトを処理対象として（Ｓ１８）、ステップＳ１２に戻り、処理を繰り返す。
また、ステップＳ１２でＹＥＳであれば、処理対象のバイトが複数バイト文字を示すコードの一部であるか否か判断する（Ｓ１３）。この判断は、上述のように処理対象バイトの値により判別することができる。
【００４８】
そして、ステップＳ１３でＮＯの場合、すなわち処理対象バイトが１バイト文字の文字コードを示す場合、ステップＳ１６に進み、その文字コードが示す文字の入力をキーボードドライバ２０１に対して指示するためのキー操作を示す操作データの生成及び出力を行う。
ステップＳ１３でＹＥＳの場合は、図６に示す複数バイト文字出力処理を行った後（Ｓ１４）、ステップＳ１５の、デコード結果の文字列データ全ての処理が完了したか否かの判断に進む。
【００４９】
次に、図６に複数バイト文字出力処理のフローチャートを示す。
この処理では、制御回路１２２のＣＰＵはまず、処理対象のバイトを含む、複数バイト文字１文字分の文字コードが配置された箇所を特定する（Ｓ２１）。次に、その特定した箇所に示される複数バイト文字のコードを１０進数に変換する（Ｓ２２）。
【００５０】
次に、特殊キー（例えばＡＬＴキー）makeの操作データを生成して第２Ｉ／Ｏ１２５から出力する（Ｓ２３）。そして、ｉを１から増加させつつ、ステップＳ２２で得た１０進数の上からｉ桁目の数字ｎについて、キーパッドのその数字のキーのmakeとbreakの操作データを、順次生成及び出力する（Ｓ２４〜Ｓ２９）。そして、最上位の桁から最下位の桁まで順次出力した後（Ｓ２９のＮＯ）、特殊キーbreakの操作データを生成して出力する（Ｓ３０）。
【００５１】
ここで生成及び出力する操作データは、ステップＳ２１で特定した箇所に示されるコードの複数バイト文字の入力をＯＳ２１０に対して指示するためのキー操作を示す操作データである。
そして、ステップＳ３０の後は、デコード結果のうちステップＳ２１で特定した箇所を処理完了として（Ｓ３１）、図５の処理に戻る。この場合、図５のステップＳ１５からＳ１８に進むと、ステップＳ２１で特定した箇所の次のバイトを処理対象とすることになる。
【００５２】
以上の図５及び図６の処理により、制御回路１２２が取得した読取結果の文字列データについて、１バイト文字の文字コードが含まれる部分と複数バイト文字の文字コードが含まれる部分とを区別して、それぞれの文字コードが示す文字の入力をＯＳ２１０に指示するための操作データを生成してＰＣ２００へ出力することができる。
【００５３】
以上で実施形態の説明を終了するが、装置の構成や具体的な処理内容等が上述の実施形態で説明したものに限られないことはもちろんである。
例えば、上述した実施形態ではＰＣ２００で動作しているＯＳがＷｉｎｄｏｗｓであるとして説明したが、他のＯＳが動作しているＰＣとも接続できるようにしてもよい。この点につき、１バイト文字の入力をＯＳに対して指示するためのキー操作はどのＯＳでも基本的に変わらない。しかし、複数バイト文字の入力をＯＳに対して指示するためのキー操作は、ＯＳに依存して異なることが考えられる。
【００５４】
そこで、読取装置１００に、複数のＯＳのそれぞれと対応させて、複数バイト文字のコードに基づき該コードの複数バイト文字の入力をそのＯＳに対して指示するための操作データを生成するためのアルゴリズムを記憶させておくとよい。そして、ユーザからのＯＳの指定操作に応じて、複数バイト文字対応操作データ生成部１３５が操作データの生成に用いるアルゴリズムを、その指定操作により指定されたＯＳと対応するアルゴリズムに変更するようにするとよい。
【００５５】
すなわち、図７に示すように、ユーザからのＯＳの指定操作に応じてＯＳを選択するＯＳ指定部１３７を設け、複数バイト文字対応操作データ生成部１３５が、ＯＳ指定部により指定されたＯＳと対応するアルゴリズムを用いるようにするとよい。
このようにすれば、読取装置１００を、異なるＯＳを使用する複数のＰＣにつなぎ替えて使用する場合でも、接続先のＰＣに合った操作データを出力することができる。なお、ＯＳの指定は手動には限られない。何らかの手段で接続先ＰＣにて動作しているＯＳを検出して、自動で行うようにしてもよい。
【００５６】
また、上述した実施形態では、読取部１３１を備える読取装置１００が操作データを出力する例について説明したが、これに限られることはない。また、操作データを出力する読取装置１００が操作データの出力先であるＰＣ２００と別体である例について説明したが、これに限られることもない。
【００５７】
すなわち、図８に示す操作データ出力装置１００′のように、文字列データを入力するデータ入力部１４１を設け、デコード部１３２によるデコード結果に代えて、データ入力部１４１から入力した文字列データに基づき、操作データの生成を行うようにしてもよい。
データ入力部１４１に入力する文字列データは、外部装置からデータを受信する通信手段２４１により受信したもの、図３の読取部１３１及びデコード部１３２に相当する読取手段２４２により読み取ったもの、あるいはメモリ２４３に予め保存しておきそこから読み出したもの、等が考えられる。
【００５８】
また、図８に示すように、操作データ出力装置１００′を、操作データの出力先である制御装置２００′と一体の装置として設けることもできる。この場合、操作データ出力装置１００′をモジュールとして構成し、制御装置２００′においてＣＰＵを含む主制御部２１１を設ける基板上に搭載することが考えられる。この場合、操作データ出力装置１００′が操作データを主制御部２４１におけるＣＰＵへ内部バスを介して供給することが考えられる。
また、読取手段２４２と操作データ出力装置１００′を一体のモジュールとすることも考えられる。
【００５９】
また、上述した実施形態では、複数バイト文字の文字コードとしてシフトＪＩＳを用いる例について説明したが、ＧＢ１８０３０、Ｂｉｇ−５、ＥＵＣ−ＫＲ、ＵＴＦ−１６、ＵＴＦ−８等の他の任意の文字コードを用いる場合についても、この発明は適用可能である。
【００６０】
ＯＳがＷｉｎｄｏｗｓの場合、いずれの文字コードを用いる場合も、特殊キーのメイク→複数バイト文字領域の文字が示す複数バイト文字のコードを十進数に変換して得られる値の各桁の数字について、キーパッドの該当数字のキーのメイクとブレイクを、最上位の桁から順に最下位の桁まで→特殊キーのブレイクの順に並ぶ操作データにより、複数バイト文字領域の文字が示すコードの複数バイト文字の入力をサービスプログラムに対して指示することができる。すなわち、ＰＣ２００においてどの文字コードが使用されているかは意識せずに、同じアルゴリズムを用いて操作データを生成することができる。
ただし、文字コードの種類によって、１バイト文字の文字コードと複数バイト文字の文字コードとの識別に用いる基準が異なるため、どの文字コードを用いるかは、操作データ出力装置に予め設定しておく。
【００６１】
また、この発明のプログラムは、コンピュータに上述の操作データ出力処理を実行させるためのプログラムとして構成することができる。このようなプログラムは、予めコンピュータのメモリに記憶させておく他、記録媒体であるＣＤ−ＲＯＭあるいはフレキシブルディスク，ＳＲＡＭ，ＥＥＰＲＯＭ，メモリカード等の不揮発性記録媒体（メモリ）に記録したり、ネットワークを介してダウンロードできるようにしたりして提供することもできる。そして、そのプログラムをインストールしてＣＰＵに実行させるか、ＣＰＵにメモリあるいはダウンロードサーバからこのプログラムを取得させて実行させることにより、上述した各機能を実現させることができる。
また、以上述べてきた構成及び変形例は、矛盾しない範囲で適宜組み合わせて適用することも可能である。
【産業上の利用可能性】
【００６２】
以上の説明から明らかなように、この発明の操作データ出力装置、操作データ出力方法及びプログラムによれば、複数バイト文字を含む文字列を、容易にキーボードの操作データとして情報処理手段における情報処理に供することができる。
従って、この発明を適用することにより、制御装置の操作性を向上させることができる。
【符号の説明】
【００６３】
１００，３００…読取装置、１００′…操作データ出力装置、１１０…光学ヘッド部、１１１…レンズ、１１２…ＣＭＯＳ、１１３…投光ＬＥＤ、１２０…デコーダ部、１２１…第１Ｉ／Ｏ、１２２…制御回路、１２３…ＲＡＭ、１２４…不揮発メモリ、１２５…第２Ｉ／Ｏ、１３１…読取部、１３２…デコード部、１３３…文字識別部、１３４…１バイト文字対応操作データ生成部、１３５…複数バイト文字対応操作データ生成部、１３６…操作データ出力部、２００，４００…ＰＣ、２００′…制御装置、２０１，４０１…キーボードドライバ、２１０，４１０…ＯＳ、２１１，４１１…入力処理部、２１２，４１２…文字入力補助部、２２０，４２０…エディタ、２３１…主制御部、２４１…通信手段、２４２…読取手段、２４３…メモリ
【図１】
2014006753.tif 000003
【図２】
2014006753.tif 000004
【図３】
2014006753.tif 000005
【図４】
2014006753.tif 000006
【図５】
2014006753.tif 000007
【図６】
2014006753.tif 000008
【図７】
2014006753.tif 000009
【図８】
2014006753.tif 000010
【図９】
2014006753.tif 000011