(57)【要約】【課題】制御装置について、改変を抑制しつつ、レシートと、クーポンとを別個に発行できるようにする。【解決手段】ホストコンピューター１２は、レシートプリンター１０にレシートを発行させるレシート用制御コマンドを生成して出力する印刷制御部４０と、印刷制御部４０が生成したレシート用制御コマンドに、クーポン画像印刷指示コマンドが含まれているか否かを判別し、含まれていると判別された場合、クーポン画像印刷指示コマンドを抜き出した処理後レシート用制御コマンドを生成してレシートプリンター１０に出力すると共に、クーポン画像印刷指示コマンドに基づいて、クーポンの画像を印刷させるクーポン用制御コマンドを生成して、クーポンプリンター１１に出力するデータ処理部４１と、を備える。【選択図】図２
2015005161.tif 000002
【特許請求の範囲】
【請求項１】
レシート発行用の第１印刷装置に接続されると共に、前記第１印刷装置とは異なる第２印刷装置が接続された制御装置であって、
前記第１印刷装置にレシートを発行させるレシート用制御コマンドを生成して出力する印刷制御部と、
前記印刷制御部が生成した前記レシート用制御コマンドに、画像データに基づく画像の印刷を指示する画像印刷指示コマンドであってクーポン画像の印刷を指示するクーポン画像印刷指示コマンドが含まれているか否かを判別し、
含まれていると判別された場合、前記クーポン画像印刷指示コマンドを抜き出したレシート用制御コマンドを生成して前記第１印刷装置に出力すると共に、前記クーポン画像印刷指示コマンドに基づいて、クーポン画像を印刷させるクーポン用制御コマンドを生成して前記第２印刷装置に出力するデータ処理部と、
を備えることを特徴とする制御装置。
【請求項２】
前記データ処理部は、
前記レシート用制御コマンドの中から前記画像印刷指示コマンドを抽出すると共に、抽出した前記画像印刷指示コマンドに含まれる画像データを、予め記憶したテンプレートデータと比較し、これらデータが対応している場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別する
ことを特徴とする請求項１に記載の制御装置。
【請求項３】
前記データ処理部は、
前記レシート用制御コマンドの中から前記画像印刷指示コマンドを抽出すると共に、抽出した前記画像印刷指示コマンドに含まれる画像データの文字を認識し、予め定められた所定の文字列が含まれている場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別する
ことを特徴とする請求項１に記載の制御装置。
【請求項４】
前記データ処理部は、
前記レシート用制御コマンドの中から前記画像印刷指示コマンドを抽出すると共に、抽出した前記画像印刷指示コマンドに含まれる画像データの少なくとも一部が、予め定められた所定のデータ列によって構成されている場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別する
ことを特徴とする請求項１に記載の制御装置。
【請求項５】
前記データ処理部は、
前記レシート用制御コマンドの中から前記画像印刷指示コマンドを抽出すると共に、抽出した前記画像印刷指示コマンドに含まれる画像データの誤り検出符号、または、ハッシュ値が、予め定められた所定の値と一致する場合に、抽出した前記画像印刷指示コマンドが、前記クーポン画像印刷指示コマンドであると判別し、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別する
ことを特徴とする請求項１に記載の制御装置。
【請求項６】
前記印刷制御部は、
発行しようとしているレシートに係る会計に関する所定の条件が成立した場合に、成立した条件に対応するクーポンに係る前記クーポン画像印刷指示コマンドを前記レシート用制御コマンドに含め、
前記データ処理部は、
前記レシート用制御コマンドに基づいて、発行しようとしているレシートに係る会計に関する所定の条件が成立しているか否かを判別し、成立している場合、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別することを特徴とする請求項１に記載の制御装置。
【請求項７】
レシート発行用の第１印刷装置に接続されると共に、前記第１印刷装置とは異なる第２印刷装置が接続された制御装置の制御方法であって、
前記第１印刷装置にレシートを発行させるレシート用制御コマンドを生成し、
前記レシート用制御コマンドに、画像データに基づく画像の印刷を指示する画像印刷指示コマンドであってクーポン画像の印刷を指示するクーポン画像印刷指示コマンドが含まれているか否かを判別し、
含まれていると判別された場合、前記クーポン画像印刷指示コマンドを抜き出したレシート用制御コマンドを生成して前記第１印刷装置に出力すると共に、前記クーポン画像印刷指示コマンドに基づいて、クーポン画像を印刷させるクーポン用制御コマンドを生成して前記第２印刷装置に出力する
ことを特徴とする制御装置の制御方法。
【請求項８】
レシート発行用の第１印刷装置に接続されると共に、前記第１印刷装置とは異なる第２印刷装置が接続された制御装置を制御する制御部により実行されるプログラムであって、
前記制御部を、
前記第１印刷装置にレシートを発行させるレシート用制御コマンドを生成して出力する印刷制御部と、
前記印刷制御部が生成した前記レシート用制御コマンドに、画像データに基づく画像の印刷を指示する画像印刷指示コマンドであってクーポン画像の印刷を指示するクーポン画像印刷指示コマンドが含まれているか否かを判別し、
含まれていると判別された場合、前記クーポン画像印刷指示コマンドを抜き出したレシート用制御コマンドを生成して前記第１印刷装置に出力すると共に、前記クーポン画像印刷指示コマンドに基づいて、クーポン画像を印刷させるクーポン用制御コマンドを生成して前記第２印刷装置に出力するデータ処理部と、
として機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、レシート発行用の印刷装置に接続された制御装置、当該制御装置の制御方法、および、当該制御装置の制御に係るプログラムに関する。
【背景技術】
【０００２】
従来、レシートや、クーポンを発行するシステムが知られている（例えば、特許文献１参照）。
この種のシステムでは、制御装置の制御の下、印刷装置によりレシートにクーポンの画像を印刷するものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−１２９０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
上述したシステムのようにレシートにクーポンの画像を印刷するシステムでは、レシートにクーポンの画像を印刷するのではなく、レシートと、クーポンとを別個に発行することが求められる場合がある。その際、既存の制御装置について、できるだけ改変を行うことなく、レシートと、クーポンとを別個に発行できるようになれば、システムの変更に係る作業が容易化すると共に、コストの面でも有利である。
本発明は、上述した事情に鑑みてなされたものであり、制御装置について、改変を抑制しつつ、レシートと、クーポンとを別個に発行することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、レシート発行用の第１印刷装置に接続されると共に、前記第１印刷装置とは異なる第２印刷装置が接続された制御装置であって、前記第１印刷装置にレシートを発行させるレシート用制御コマンドを生成して出力する印刷制御部と、前記印刷制御部が生成した前記レシート用制御コマンドに、画像データに基づく画像の印刷を指示する画像印刷指示コマンドであってクーポン画像の印刷を指示するクーポン画像印刷指示コマンドが含まれているか否かを判別し、含まれていると判別された場合、前記クーポン画像印刷指示コマンドを抜き出したレシート用制御コマンドを生成して前記第１印刷装置に出力すると共に、前記クーポン画像印刷指示コマンドに基づいて、クーポン画像を印刷させるクーポン用制御コマンドを生成して前記第２印刷装置に出力するデータ処理部と、を備えることを特徴とする。
この構成によれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれているか否か判別した上で、含まれている場合、クーポン画像印刷指示コマンドが抜き出されたレシート用制御コマンドが第１印刷装置に出力され、クーポン画像印刷指示コマンドに基づくクーポン用制御コマンドが第２印刷装置に出力される。この結果、第１印刷装置によりクーポンの画像が印刷されていないレシートが発行され、第２印刷装置によりクーポンが発行される。そして、レシートとクーポンとを別個に発行する際に印刷制御部が出力する制御コマンドは、レシート上にクーポンの画像を印刷するときの制御コマンドと同じであるため、印刷制御部の機能を実現するプログラムの改変が必要ない。すなわち、制御装置に対する改変を抑制できる。
【０００６】
また、本発明は、前記データ処理部は、前記レシート用制御コマンドの中から前記画像印刷指示コマンドを抽出すると共に、抽出した前記画像印刷指示コマンドに含まれる画像データを、予め記憶したテンプレートデータと比較し、これらデータが対応している場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別することを特徴とする。
ここで、レシートに印刷される予定であったクーポンの画像は、その都度生成されるものではなく、予め定められた画像が選択されたものである、という特性がある。そして、上記構成によれば、上記特性を踏まえ、レシート用制御コマンドから抽出した画像印刷指示コマンドに含まれる画像データと、予め記憶したテンプレートデータとの比較結果に基づいて、抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
【０００７】
また、本発明は、前記データ処理部は、前記レシート用制御コマンドの中から前記画像印刷指示コマンドを抽出すると共に、抽出した前記画像印刷指示コマンドに含まれる画像データの文字を認識し、予め定められた所定の文字列が含まれている場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別することを特徴とする。
ここで、レシートに印刷される予定であったクーポンの画像には、特定の文字列が含まれているという特性がある。そして、上記構成によれば、上記特性を踏まえ、文字認識の結果に基づいて、抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
【０００８】
また、本発明は、前記データ処理部は、前記レシート用制御コマンドの中から前記画像印刷指示コマンドを抽出すると共に、抽出した前記画像印刷指示コマンドに含まれる画像データの少なくとも一部が、予め定められた所定のデータ列によって構成されている場合に、抽出した前記画像印刷指示コマンドが前記クーポン画像印刷指示コマンドであると判別し、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別することを特徴とする。
ここで、レシートに印刷される予定であったクーポンの画像は、その都度生成されるものではなく、予め定められた画像が選択されたものであり、ある１の画像の一部は、特定のデータ列によって構成されている、という特性がある。そして、上記構成によれば、上記特性を踏まえ、抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
【０００９】
また、本発明は、前記データ処理部は、前記レシート用制御コマンドの中から前記画像印刷指示コマンドを抽出すると共に、抽出した前記画像印刷指示コマンドに含まれる画像データの誤り検出符号、または、ハッシュ値が、予め定められた所定の値と一致する場合に、抽出した前記画像印刷指示コマンドが、前記クーポン画像印刷指示コマンドであると判別し、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別することを特徴とする。
ここで、レシートに印刷される予定であったクーポンの画像は、その都度生成されるものではなく、予め定められた画像が選択されたものであり、ある１の画像の誤り検出符号、または、ハッシュ値は、特定の値である、という特性がある。そして、上記構成によれば、上記特性を踏まえ、誤り検出符号、または、ハッシュ値を利用して抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
【００１０】
また、本発明は、前記印刷制御部は、発行しようとしているレシートに係る会計に関する所定の条件が成立した場合に、成立した条件に対応するクーポンに係る前記クーポン画像印刷指示コマンドを前記レシート用制御コマンドに含め、前記データ処理部は、前記レシート用制御コマンドに基づいて、発行しようとしているレシートに係る会計に関する所定の条件が成立しているか否かを判別し、成立している場合、前記クーポン画像印刷指示コマンドが前記レシート用制御コマンドに含まれていると判別することを特徴とする。
この構成によれば、条件が成立した場合に、条件に対応するクーポン画像印刷指示コマンドがレシート用制御コマンドに含まれることを踏まえ、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれているか否かを的確に判別できる。
【００１１】
また、上記目的を達成するために、本発明は、レシート発行用の第１印刷装置に接続されると共に、前記第１印刷装置とは異なる第２印刷装置が接続された制御装置の制御方法であって、前記第１印刷装置にレシートを発行させるレシート用制御コマンドを生成し、前記レシート用制御コマンドに、画像データに基づく画像の印刷を指示する画像印刷指示コマンドであってクーポン画像の印刷を指示するクーポン画像印刷指示コマンドが含まれているか否かを判別し、含まれていると判別された場合、前記クーポン画像印刷指示コマンドを抜き出したレシート用制御コマンドを生成して前記第１印刷装置に出力すると共に、前記クーポン画像印刷指示コマンドに基づいて、クーポン画像を印刷させるクーポン用制御コマンドを生成して前記第２印刷装置に出力することを特徴とする。
この制御方法によれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれているか否か判別した上で、含まれている場合、クーポン画像印刷指示コマンドが抜き出されたレシート用制御コマンドが第１印刷装置に出力され、クーポン画像印刷指示コマンドに基づくクーポン用制御コマンドが第２印刷装置に出力される。この結果、第１印刷装置によりクーポンの画像が印刷されていないレシートが発行され、第２印刷装置によりクーポンが発行される。そして、レシートとクーポンとを別個に発行する際に印刷制御部が出力する制御コマンドは、レシート上にクーポンの画像を印刷するときの制御コマンドと同じであるため、印刷制御部の機能を実現するプログラムの改変が必要ない。すなわち、制御装置に対する改変を抑制できる。
【００１２】
また、上記目的を達成するために、本発明は、レシート発行用の第１印刷装置に接続されると共に、前記第１印刷装置とは異なる第２印刷装置が接続された制御装置を制御する制御部により実行されるプログラムであって、前記制御部を、前記第１印刷装置にレシートを発行させるレシート用制御コマンドを生成して出力する印刷制御部と、前記印刷制御部が生成した前記レシート用制御コマンドに、画像データに基づく画像の印刷を指示する画像印刷指示コマンドであってクーポン画像の印刷を指示するクーポン画像印刷指示コマンドが含まれているか否かを判別し、含まれていると判別された場合、前記クーポン画像印刷指示コマンドを抜き出したレシート用制御コマンドを生成して前記第１印刷装置に出力すると共に、前記クーポン画像印刷指示コマンドに基づいて、クーポン画像を印刷させるクーポン用制御コマンドを生成して前記第２印刷装置に出力するデータ処理部と、として機能させることを特徴とする。
このプログラムによれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれているか否か判別した上で、含まれている場合、クーポン画像印刷指示コマンドが抜き出されたレシート用制御コマンドが第１印刷装置に出力され、クーポン画像印刷指示コマンドに基づくクーポン用制御コマンドが第２印刷装置に出力される。この結果、第１印刷装置によりクーポンの画像が印刷されていないレシートが発行され、第２印刷装置によりクーポンが発行される。そして、レシートとクーポンとを別個に発行する際に印刷制御部が出力する制御コマンドは、レシート上にクーポンの画像を印刷するときの制御コマンドと同じであるため、印刷制御部の機能を実現するプログラムの改変が必要ない。すなわち、制御装置に対する改変を抑制できる。
【発明の効果】
【００１３】
本発明によれば、制御装置について、改変を抑制しつつ、レシートと、クーポンとを別個に発行できる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る制御システムの機能的構成を示すブロック図である。
【図２】ホストコンピューターの機能的構成を詳細に示すブロック図である。
【図３】ホストコンピューターの動作を示すフローチャートである。
【図４】（Ａ）はレシート用制御コマンドの内容を示す図であり、（Ｂ）はレシート用制御コマンドに基づいて発行されるレシートを示す図である。
【図５】（Ａ）は発行されるレシートを示す図であり、（Ｂ）は発行されるクーポンを示す図である。
【図６】第２実施形態に係るホストコンピューターの構成を示すブロック図。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態について説明する。
＜第１実施形態＞
図１は、本実施形態に係る制御システム１の機能的構成を示すブロック図である。
制御システム１は、スーパーマーケットや、コンビニエンスストア等の店舗に適用され、店舗における商品の販売の状況や、売上の状況、在庫の状況等を管理するいわゆるＰＯＳシステムの一部である。制御システム１は、少なくとも、店舗に来店した顧客の会計に応じてレシートを発行する機能、および、レシートの発行に応じて適宜クーポンを発行する機能を有している。
制御システム１が適用される店舗では、複数のレジカウンターＬが設けられている。レジカウンターＬのそれぞれには、レシート発行用のプリンターであるレシートプリンター１０（第１印刷装置）と、クーポン発行用のプリンターであるクーポンプリンター１１（第２印刷装置）と、これらプリンターを制御するホストコンピューター１２（制御装置）とが設けられている。
レシートプリンター１０は、モノクロ印刷、または、グレースケール印刷が可能なサーマルプリンターであり、対応するホストコンピューター１２の制御の下、感熱ロール紙の印刷面にサーマルヘッドによって熱を与えて画像を印刷した上で、所定の位置で感熱ロール紙を切断することにより、レシートを発行する。
また、クーポンプリンター１１は、カラー印刷が可能なインクジェットプリンターであり、対応するホストコンピューター１２の制御の下、ロール紙の印刷面にインクジェットヘッドによってインクを吐出して画像を印刷した上で、所定の位置でロール紙を切断することにより、クーポンを発行する。
【００１６】
図１における図示は省略したが、ホストコンピューター１２には、ＬＡＮや、インターネット等のネットワークを介して、ＰＯＳ管理サーバーが接続されている。ＰＯＳ管理サーバーは、商品マスターや、顧客マスター、在庫マスター等の各種データベースを記憶し、制御システム１を統括的に管理する。ホストコンピューター１２は、レシートの発行に際し、適宜、ＰＯＳ管理サーバーにアクセスして必要な情報を取得する。
制御システム１は、図１に示す構成をとる以前は、ホストコンピューター１２に、クーポンプリンター１１が接続されず、レシートプリンター１０のみが接続されていた。そして、クーポンの発行については、クーポンの画像が印刷されたレシートをレシートプリンター１０に発行させていた。
そして、本実施形態に係る制御システム１は、サーマルプリンターよりもダイナミックな印字結果を得ることが可能なインクジェットプリンターたるクーポンプリンター１１を新たに接続し、このクーポンプリンター１１によってクーポンを発行し、これにより、レシートと、クーポンとを個別に発行することを目的の１つとしている。そして、このようなシステムの変更に際し、ホストコンピューター１２に対するソフトウェア的な改変をできるだけ抑制し、システムの変更に係る作業を容易にすることにより、システムの変更に係るコストを削減している。
以下、ホストコンピューター１２にレシートプリンター１０のみが接続され、レシートにクーポンの画像を印刷していたシステムを、便宜的に、従来システムＱという。
【００１７】
図１に示すように、ホストコンピューター１２は、ホスト制御部２０（制御部）と、ホスト入力部２１と、ホスト表示部２２と、ホスト記憶部２３と、レシートプリンター通信部２４と、クーポンプリンター通信部２５と、デバイス通信部２６と、ネットワーク通信部２７と、を備えている。
ホスト制御部２０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の周辺回路等を備え、ホストコンピューター１２の各部を制御する。ホスト制御部２０は、機能ブロックとして、印刷制御部４０と、データ処理部４１と、を備えているが、これらについては後述する。ホスト入力部２１は、マウスや、キーボード等の入力デバイスに接続され、入力デバイスに対する入力を検出し、ホスト制御部２０に当該入力データを出力する。ホスト表示部２２は、液晶表示パネル等の表示パネルに接続され、ホスト制御部２０の制御の下、各種データを表示パネルに表示する。ホスト記憶部２３は、ハードディスクやＥＥＰＲＯＭ等のメモリーを備え、各種データを不揮発的に書き換え可能に記憶する。ホスト記憶部２３には、ＰＯＳアプリケーションＡＰ、および、サーマルプリンタードライバーＳＰＤが記憶（インストール）されると共に、クーポン画像データベースＤＢ１が記憶されているが、これについては後述する。レシートプリンター通信部２４は、ホスト制御部２０の制御の下、所定の通信規格に準拠して、レシートプリンター１０と通信する。クーポンプリンター通信部２５は、ホスト制御部２０の制御の下、所定の通信規格に準拠して、クーポンプリンター１１と通信する。デバイス通信部２６は、商品やその包装に付されたバーコードを読み取るバーコードリーダーや、会員カード等のカードに記録された情報を読み取るカードリーダー、紙幣や硬貨を収容するレジスター等の各デバイスに接続される。デバイス通信部１４は、ホスト制御部２０の制御の下、各デバイスと通信する。ネットワーク通信部２７は、ホスト制御部２０の制御の下、所定の通信規格に準拠して、ネットワークを介して、ネットワーク上の外部機器（例えば、上述したＰＯＳ管理サーバー）と通信する。
【００１８】
また、図１に示すように、レシートプリンター１０は、レシートプリンター制御部３０と、レシートプリンター印刷部３１とを備えている。レシートプリンター制御部３０は、ＣＰＵ等を備え、レシートプリンター１０の各部を制御する。レシートプリンター印刷部３１は、サーマルヘッドや、記録媒体の搬送機構、記録媒体を切断する切断機構等を備えている。
また、図１に示すように、クーポンプリンター１１は、クーポンプリンター制御部３２と、クーポンプリンター印刷部３３とを備えている。クーポンプリンター制御部３２は、ＣＰＵ等を備え、クーポンプリンター１１の各部を制御する。クーポンプリンター印刷部３３は、インクジェットヘッドや、ヘッドを走査させるキャリッジ、記録媒体の搬送機構、記録媒体を切断する切断機構等を備えている。インクジェットヘッドは、複数の色のインクカートリッジからインクの供給を受ける構成となっており、クーポンプリンター１１は、カラー印刷が可能である。
【００１９】
図２は、ホストコンピューター１２の機能的構成をより詳細に示す図である。
図２では、説明の便宜のため、機能ブロックや、プログラム、ソフトウェア的（論理的）なポート、物理的な装置等を、同等のブロックで表現している。
なお、以下で説明する機能ブロックのそれぞれの機能は、ＣＰＵがプログラムを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
ホスト制御部２０が備える印刷制御部４０は、サーマルプリンターであるレシートプリンター１０（第１印刷装置）に対応した制御コマンドを生成して出力する機能、および、レシートプリンター１０から入力されたデータを処理する機能を少なくとも有する機能ブロックである。
印刷制御部４０の機能は、ＰＯＳアプリケーションＡＰ、サーマルプリンタードライバーＳＰＤ、および、これらに付随するプログラムによって実現される。
ＰＯＳアプリケーションＡＰは、レシートの発行に際し、レシートの発行に必要な情報を含んだデータ（以下、「印刷データ」という。）を生成し、サーマルプリンタードライバーＳＰＤに対して出力する機能を有している。
また、サーマルプリンタードライバーＳＰＤは、入力された印刷データに基づいて、レシートプリンター１０のコマンド体系に準拠した制御コマンドを生成し、ソフトウェア的（論理的）なポートとして開放されている仮想ポートＫＰに出力する。
なお、所定の出力データについては、ＰＯＳアプリケーションＡＰにより生成された後、直接、仮想ポートＫＰに出力され、また、所定の入力データについては、仮想ポートＫＰを介して、直接、ＰＯＳアプリケーションＡＰに入力される。
【００２０】
ここで、上述した従来システムＱでは、クーポンを発行する場合、レシートにクーポンの画像を印刷していた。後に明らかとなるとおり、本実施形態に係る制御システム１は、レシートとクーポンとの発行を別個に行うが、そうするために、ＰＯＳアプリケーションＡＰ、および、サーマルプリンタードライバーＳＰＤに対する改変が行われない。従って、クーポンの発行にあたり、印刷制御部４０が出力する制御コマンドは、従来の制御コマンドと同一である。
以下、印刷制御部４０が出力する制御コマンドを「レシート用制御コマンド」という。
【００２１】
印刷制御部４０により仮想ポートＫＰに出力されたレシート用制御コマンドは、データ処理部４１が備えるポートハンドラー４５に引き渡される。すなわち、印刷制御部４０は、生成したレシート用制御コマンドを、仮想ポートＫＰを介してデータ処理部４１に出力する。
データ処理部４１は、ホスト制御部２０が備える機能ブロックであり、図２に示すように、機能ブロックとして、ポートハンドラー４５と、クーポン判別部４６と、コマンド処理部４７と、を備えている。このデータ処理部４１は、ＰＯＳアプリケーションＡＰ、および、サーマルプリンタードライバーＳＰＤの機能を拡張することを１つの目的としている。後に明らかとなるとおり、本実施形態では、ＰＯＳアプリケーションＡＰ、および、サーマルプリンタードライバーＳＰＤに対する改変を伴うことなく、システムの変更が行われているが、これは、データ処理部４１の機能により実現されている。
データ処理部４１が備えるポートハンドラー４５は、物理的なポートである第１通信ポートＴＰ１、および、第２通信ポートＴＰ２との間でデータの入出力が可能である。これら通信ポートは、例えば、ＵＳＢの通信規格に係る通信ポートである。第１通信ポートＴＰ１には、対応する通信規格に準拠した通信ケーブルを介してレシートプリンター１０が接続されている。また、第２通信ポートＴＰ２には、対応する通信規格に準拠した通信ケーブルを介してクーポンプリンター１１が接続されている。
【００２２】
ポートハンドラー４５は、少なくとも、以下の機能を有している。
ポートハンドラー４５の１つの機能は、仮想ポートＫＰを介して入力されたデータ（例えば、レシート用制御コマンド）をクーポン判別部４６に出力する機能である。
ポートハンドラー４５の別の機能は、コマンド処理部４７（後述）から入力されたデータを、コマンド処理部４７からの指示に応じて、第１通信ポートＴＰ１、または、第２通信ポートＴＰ２に出力する機能である。出力に際し、ポートハンドラー４５は、ＰＣＳ（Port Communication Service）の機能により、出力するポートに対応したデータ変換を行う。
ＰＣＳとは、サーマルプリンタードライバーＳＰＤを含むプログラムから呼び出し可能な関数であり、インターフェースの規格（ＲＳ２３２Ｃや、ＵＳＢ等の規格）に対応したデータ変換を行なう機能を有している。ＰＣＳにより、各種インターフェースの規格の差異が吸収され、ＰＯＳアプリケーションＡＰや、サーマルプリンタードライバーＳＰＤに対して各種インターフェースの規格の差異に起因したソフトウェア的な改変を行なう必要が無くなる。
データ処理部４１が備えるクーポン判別部４６、および、コマンド処理部４７は、協働して、以下の処理を行う。すなわち、印刷制御部４０から入力されたレシート用制御コマンドに基づいて、処理後レシート用制御コマンド、および、クーポン用制御コマンドを生成し、出力する処理を行う。これら機能ブロックの処理については、後に詳述する。
クーポン判別部４６、および、コマンド処理部４７の機能は、ＯＰＯＳや、ＵＰＯＳが提供するＡＰＩ関数を利用して作成されたプログラムによって実現される。そして、これら機能ブロックに係るプログラムは、同じくＯＰＯＳや、ＵＰＯＳの規格に準拠したサーマルプリンタードライバーＳＰＤによって、適宜、呼び出し可能な構成となっている。
【００２３】
レシートプリンター通信部２４は、ポートハンドラー４５から第１通信ポートＴＰ１に入力されたデータについて、対応する通信規格に準拠して、レシートプリンター１０に送信する。
また、クーポンプリンター通信部２５は、ポートハンドラー４５から第２通信ポートＴＰ２に入力されたデータについて、対応する通信規格に準拠して、クーポンプリンター１１に送信する。
【００２４】
なお、階層型のオペレーティングシステムにおいて、印刷制御部４０、および、データ処理部４１はアプリケーション層Ｓ１に位置し、また、仮想ポートＫＰはカーネル層Ｓ２に位置し、また、第１通信ポートＴＰ１、および、第２通信ポートＴＰ２は物理層Ｓ３に位置する。
【００２５】
次に、制御システム１により、レシート、および、クーポンを発行する場合のホストコンピューターの動作、特に、印刷制御部４０、および、データ処理部４１の動作について説明する。
図３は、上記動作時の各機能ブロックの動作を示すフローチャートであり、（Ａ）は印刷制御部４０の動作を、（Ｂ）はデータ処理部４１の動作をそれぞれ示している。
なお、以下の説明では、印刷制御部４０が出力するレシート用制御コマンドは、クーポンの画像が印刷されたレシートを発行するためのコマンドであるものとする。
印刷制御部４０は、レシートプリンター１０のコマンド体系に準拠したレシート用制御コマンドを生成し（ステップＳＡ１）、仮想ポートＫＰを介して、データ処理部４１のポートハンドラー４５に出力する（ステップＳＡ２）。
クーポンの画像の画像データは、ＰＯＳアプリケーションＡＰがアクセス可能な記憶領域に記憶されている。ステップＳＡ１において、ＰＯＳアプリケーションＡＰは、記憶された複数のクーポンの画像データのうち、適切な画像データを選択し、選択した画像データを含む印刷データをサーマルプリンタードライバーＳＰＤに出力する。
【００２６】
図４（Ａ）は、レシート用制御コマンドの内容の一例を示す図であり、図４（Ｂ）は、図４（Ａ）のレシートに基づいて、従来システムＱで発行されるレシート（クーポンの画像が印刷されたレシート）を示す図である。
図４（Ａ）に示すように、レシート用制御コマンドは複数のコマンドを含んで構成されており、その先頭には、トップロゴ印刷指示コマンドＣ１が記述されている。
トップロゴ印刷指示コマンドＣ１は、トップロゴ画像Ｒ１（図４（Ｂ））の印刷を指示するコマンドであり、画像印刷指示コマンドＧＣを含んで構成されている。画像印刷指示コマンドＧＣは、グラフィック画像の印刷を指示する命令コードと、印刷すべき画像の画像データと、を含んで構成されている。
画像データとは、ビットマップデータや、ラスターデータ等の、画像を構成する画素ごとに、色に関する情報を例えば階調値として保持するデータのことである。本実施形態では、画像印刷指示コマンドＧＣは、「ＸＸＸ“画像データ”」（ただし、「ＸＸＸ」は、画像データに基づく画像の印刷を指示する命令コード。）という構成となっている。トップロゴ印刷指示コマンドＣ１に係る画像印刷指示コマンドＧＣは、「ＸＸＸ“トップロゴ画像Ｒ１の画像データ”」という構成となっている。
トップロゴ印刷指示コマンドＣ１の次には、発行日時印刷指示コマンドＣ２が記述されている。この発行日時印刷指示コマンドＣ２は、発行日時画像Ｒ２（図４（Ｂ））の印刷を指示するコマンドであり、文字列印刷指示コマンドＭＣ、および、改行コマンドＬＦを含んで構成されている。
文字列印刷指示コマンドＭＣは、文字列を指定すると共に、指定した文字列の印刷を指示するコマンドである。文字列印刷指示コマンドＭＣは、文字列の印刷を指示する命令コードと、文字列を指定するデータ部と、を含んで構成されている。データ部には、所定の文字コード（例えば、Ｕｎｉｃｏｄｅや、アスキーコード）によって表現された文字の組み合わせが記述される。発行日時印刷指示コマンドＣ２に係る文字列印刷指示コマンドＭＣは、「ＹＹＹ“２０１３／１／１／１２：００”」（ただし、「ＹＹＹ」は、文字列の記録を指示する命令コード。ダブルクォーテーション内は、データ部であり印刷すべき文字列が指定されている。）という構成となっている。
改行コマンドＬＦは、改行を指示するコマンドである。
【００２７】
発行日時印刷指示コマンドＣ２の次には、明細印刷指示コマンドＣ３が記述されている。明細印刷指示コマンドＣ３は、明細画像Ｒ３（図４（Ｂ））の印刷を指示するコマンドであり、商品の名称、商品の単価、購入数量、および、購入金額を表わす文字列の印刷を指示する文字列印刷指示コマンドＭＣと、改行コマンドＬＦとを含んで構成されている。明細印刷指示コマンドＣ３は、複数種類の商品が購入された場合には、複数存在する。
明細印刷指示コマンドＣ３の次には、合計金額印刷指示コマンドＣ４が記述されている。合計金額印刷指示コマンドＣ４は、合計金額画像Ｒ４（図４（Ｂ））の印刷を指示するコマンドであり、「Ｔｏｔａｌ」という文字列、および、合計金額を示す文字列の印刷を指示する文字列印刷指示コマンドＭＣと、改行コマンドＬＦとを含んで構成されている。
【００２８】
合計金額印刷指示コマンドＣ４の次には、クーポン画像印刷指示コマンドＣ５が記述されている。クーポン画像印刷指示コマンドＣ５は、クーポン画像Ｒ５（図４（Ｂ））の印刷を指示するコマンドである。クーポン画像印刷指示コマンドＣ５は、クーポン画像Ｒ５の画像データ（以下、「クーポン画像データ」という。）を含み、当該クーポン画像データに基づいてクーポン画像Ｒ５の印刷を指示する画像印刷指示コマンドＧＣを含んで構成されている。クーポン画像印刷指示コマンドＣ５に係る画像印刷指示コマンドＧＣは、「ＸＸＸ“クーポン画像データ”」という構成となっている。
このように、クーポン画像印刷指示コマンドＣ５は、クーポン画像データに基づいて画像の印刷を指示する画像印刷指示コマンドＧＣである。
クーポン画像印刷指示コマンドＣ５の次には、ボトムロゴ印刷指示コマンドＣ６が記述されている。ボトムロゴ印刷指示コマンドＣ６は、ボトムロゴ画像Ｒ６（図４（Ｂ））の印刷を指示するコマンドである。ボトムロゴ印刷指示コマンドＣ６は、ボトムロゴ画像Ｒ６の画像データを含み、当該画像データに基づいてボトムロゴ画像Ｒ６の印刷を指示する画像印刷指示コマンドＧＣを含んで構成されている。
レシート用制御コマンドにおいて、ボトムロゴ印刷指示コマンドＣ６の次には、切断指示コマンドＳＳが記述されている。この切断指示コマンドＳＳは、ロール紙の切断を指示するコマンドである。レシート用制御コマンドにおいて、この切断指示コマンドＳＳが必ず最後のコマンドとなる。
【００２９】
さて、図３に戻り、データ処理部４１のポートハンドラー４５は、入力されたレシート用制御コマンドをクーポン判別部４６に出力する（ステップＳＢ１）。
データ処理部４１のクーポン判別部４６は、入力されたレシート用制御コマンドを解析し、レシート用制御コマンドにクーポン画像印刷指示コマンドＣ５が含まれているか否かを判別する（ステップＳＢ２）。
以下、ステップＳＢ２の処理について詳述する。
図４（Ａ）を用いて例示したように、レシート用制御コマンドには、クーポン画像Ｒ５の印刷を指示する画像印刷指示コマンドＧＣのほかにも、トップロゴ画像Ｒ１や、ボトムロゴ画像Ｒ６等のグラフィック画像の印刷を指示する画像印刷指示コマンドＧＣが含まれている。そして、各画像に係る画像印刷指示コマンドＧＣは、それぞれデータ構造が同様であり、ある１つの画像印刷指示コマンドＧＣが、クーポン画像Ｒ５の印刷を指示するコマンド（クーポン画像印刷指示コマンド）であるのか否かは、データ構造のみからでは判別することはできない。
以上を踏まえ、クーポン判別部４６は、以下の４つの方法のいずれかで、レシート用制御コマンドにクーポン画像印刷指示コマンドＣ５が含まれているか否かを判別する。
【００３０】
（方法１）
クーポン判別部４６は、レシート用制御コマンドに含まれる画像印刷指示コマンドＧＣを抽出する。画像印刷指示コマンドＧＣは、特定の命令コード（本例では、ＸＸＸ）を含んで構成されているため、このことを利用して、クーポン判別部４６は、画像印刷指示コマンドＧＣの抽出を行う。
方法１では、事前に、ＰＯＳアプリケーションＡＰが選択可能なクーポン画像データの全て、換言すれば、レシートに印刷される可能性のあるクーポン画像のクーポン画像データの全てが、ホスト記憶部２３の所定の記憶領域に記憶されている。以下、ホスト記憶部２３に記憶されたクーポン画像データを、「テンプレートクーポン画像データ」という。テンプレートクーポン画像データのそれぞれは、ビットマップデータであるものとする。テンプレートクーポン画像データは、「テンプレートデータ」に該当する。ホスト記憶部２３において、テンプレートクーポン画像データのそれぞれは、クーポンを一意に識別するための識別情報であるクーポン識別情報と対応付けて記憶されている。
【００３１】
そして、クーポン判別部４６は、抽出した画像印刷指示コマンドＧＣから、当該コマンドに含まれる画像データを抽出し、ビットマップデータとしてワークエリア上に定義された所定の座標系に展開する。例えば、画像データがラスターデータの場合、クーポン判別部４６は、適切なデータ整形を行った上で、ラスターデータに基づいて画像データの展開を実行する。
次いで、クーポン判別部４６は、展開した画像データについて、テンプレートクーポン画像データをテンプレートとして、全てのテンプレートクーポン画像データとの間でパターンマッチング（比較）する。パターンマッチングは、存在するどのような方法で行ってもよい。
パターンマッチングの結果、１つでも一致するものがあれば、クーポン判別部４６は、抽出した画像印刷指示コマンドＧＣは、クーポンの画像の印刷を指示するクーポン画像印刷指示コマンドであると判別する。当該画像印刷指示コマンドＧＣに含まれる画像データがクーポン画像データであるからである。
なお、一致した場合、クーポン判別部４６は、一致したテンプレートクーポン画像データに対応付けられたクーポン識別情報を取得する。
一方、パターンマッチングの結果、１つも一致するものがなければ、クーポン判別部４６は、抽出した画像印刷指示コマンドＧＣは、クーポン画像印刷指示コマンドではないと判別する。当該画像印刷指示コマンドＧＣに含まれる画像データがクーポン画像データではないからである。
なお、パターンマッチングは、データの一部について行ってもよい。また、テンプレートクーポン画像データと、比較対象の画像データとが対応するデータであり、これらデータが完全に一致しない構成となっている場合は、所定の閾値を上回る強さで近似していれば、一致するとみなしてもよい。
【００３２】
クーポン判別部４６は、レシート用制御コマンドに含まれる全ての画像印刷指示コマンドＧＣを抽出し、抽出した画像印刷指示コマンドＧＣのそれぞれについて、上述した方法で、クーポン画像印刷指示コマンドであるか否かを判別する。そして、１つでもクーポン画像印刷指示コマンドであると判別したものがあれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていると判別する。一方で、クーポン画像印刷指示コマンドであると判別したものが１つも無い場合は、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていないと判別する。
【００３３】
（方法２）
クーポン判別部４６は、レシート用制御コマンドに含まれる画像印刷指示コマンドＧＣを抽出する。
方法２では、事前に、全てのクーポン（クーポン画像データ）について、クーポンごとに、各クーポンの画像に含まれている文字列が特定され、各文字列が、クーポン識別情報と対応付けてホスト記憶部２３の所定の記憶領域に記憶されている。以下、ホスト記憶部２３に記憶された文字列を、「比較対象文字列」という。例えば、クーポンＡの画像に文字列「商品ＡＡ１０％割引」という文字列が含まれ、他のクーポンの画像に当該文字列が含まれていない場合は、比較対象文字列として、この文字列「商品ＡＡ１０％割引」が選択的に特定され、クーポン識別情報と対応付けて記憶される。
【００３４】
そして、クーポン判別部４６は、抽出した画像印刷指示コマンドＧＣから、当該コマンドに含まれる画像データを抽出し、ビットマップデータとしてワークエリア上に定義された所定の座標系に展開する。
次いで、クーポン判別部４６は、展開した画像データについて、文字認識し、画像データに係る画像に含まれる文字列を抽出する。文字認識は、存在するどのような方法で行ってもよい。
次いで、クーポン判別部４６は、比較対象文字列の中に、抽出した文字列に含まれているものがあるか否かを判別する。当該判別は、文字列検索等の存在する技術のいずれを利用して行われてもよい。
比較対象文字列のいずれかが、抽出した文字列に含まれている場合、クーポン判別部４６は、抽出した画像印刷指示コマンドＧＣは、クーポンの画像の印刷を指示するクーポン画像印刷指示コマンドであると判別する。当該画像印刷指示コマンドＧＣに含まれる画像データがクーポン画像データであるからである。この場合、クーポン判別部４６は、抽出した文字列に含まれている比較対象文字列に対応付けられたクーポン識別情報を取得する。
比較対象文字列のいずれも、抽出した文字列に含まれていない場合、クーポン判別部４６は、抽出した画像印刷指示コマンドＧＣは、クーポン画像印刷指示コマンドではないと判別する。当該画像印刷指示コマンドＧＣに含まれる画像データがクーポン画像データではないからである。
【００３５】
クーポン判別部４６は、レシート用制御コマンドに含まれる全ての画像印刷指示コマンドＧＣを抽出し、抽出した画像印刷指示コマンドＧＣのそれぞれについて、上述した方法で、クーポン画像印刷指示コマンドであるか否かを判別する。そして、１つでもクーポン画像印刷指示コマンドであると判別したものがあれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていると判別する。一方で、クーポン画像印刷指示コマンドであると判別したものが１つも無い場合は、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていないと判別する。
【００３６】
（方法３）
クーポン判別部４６は、レシート用制御コマンドに含まれる画像印刷指示コマンドＧＣを抽出する。
方法３では、事前に、ＰＯＳアプリケーションＡＰが選択可能なクーポン画像データの全て、換言すれば、レシートに印刷される可能性のあるクーポン画像のクーポン画像データの全てについて、以下のデータがホスト記憶部２３の所定の記憶領域に記憶されている。すなわち、各クーポン画像データの特定の行の特定のビット列（データ列）である。特定の行は、複数であってもよく、また、ビット列は、１行分の全てのビットではなく、一部分であってもよい。
各クーポンのビット列は、それぞれ、クーポン識別情報と対応付けてホスト記憶部２３の所定の記憶領域に記憶されている。以下、ホスト記憶部２３に記憶されたビット列を、「比較対象ビット列」という。
【００３７】
そして、クーポン判別部４６は、抽出した画像印刷指示コマンドＧＣから、当該コマンドに含まれる画像データを抽出し、ビットマップデータとしてワークエリア上に定義された所定の座標系に展開する。
次いで、クーポン判別部４６は、展開した画像データについて、特定の行の特定のビット列を抽出する。
次いで、クーポン判別部４６は、抽出したビット列と、記憶した比較対象ビット列のそれぞれとを比較する。
比較の結果、比較対象ビット列のいずれかが、抽出したビット列と一致した場合、クーポン判別部４６は、抽出した画像印刷指示コマンドＧＣは、クーポンの画像の印刷を指示するクーポン画像印刷指示コマンドであると判別する。当該画像印刷指示コマンドＧＣに含まれる画像データがクーポン画像データであるからである。この場合、クーポン判別部４６は、一致した比較対象ビット列に対応付けられたクーポン識別情報を取得する。
比較の結果、比較対象ビット列のいずれも、抽出したビット列と一致しない場合、クーポン判別部４６は、抽出した画像印刷指示コマンドＧＣは、クーポン画像印刷指示コマンドではないと判別する。当該画像印刷指示コマンドＧＣに含まれる画像データがクーポン画像データではないからである。
【００３８】
クーポン判別部４６は、レシート用制御コマンドに含まれる全ての画像印刷指示コマンドＧＣを抽出し、抽出した画像印刷指示コマンドＧＣのそれぞれについて、上述した方法で、クーポン画像印刷指示コマンドであるか否かを判別する。そして、１つでもクーポン画像印刷指示コマンドであると判別したものがあれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていると判別する。一方で、クーポン画像印刷指示コマンドであると判別したものが１つも無い場合は、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていないと判別する。
【００３９】
（方法４）
クーポン判別部４６は、レシート用制御コマンドに含まれる画像印刷指示コマンドＧＣを抽出する。
方法４では、事前に、ＰＯＳアプリケーションＡＰが選択可能なクーポン画像データの全て、換言すれば、レシートに印刷される可能性のあるクーポン画像のクーポン画像データの全てについて、所定の方式の誤り検出符号、又は、予め定められたハッシュ関数を用いたハッシュ値がホスト記憶部２３の所定の記憶領域に記憶されている。以下、誤り検出符号、および、ハッシュ値を総称して、「データ由来値」という。
各クーポンのデータ由来値は、それぞれ、クーポン識別情報と対応付けてホスト記憶部２３の所定の記憶領域に記憶されている。以下、ホスト記憶部２３に記憶されたデータ由来値を、「比較対象由来値」という。
【００４０】
そして、クーポン判別部４６は、抽出した画像印刷指示コマンドＧＣから、当該コマンドに含まれる画像データを抽出し、ビットマップデータとしてワークエリア上に定義された所定の座標系に展開する。
次いで、クーポン判別部４６は、展開した画像データについて、データ由来値を算出する。データ由来値が誤り検出符号の場合は、所定の方式に従って誤り検出符号を算出し、データ由来値がハッシュ値の場合は、所定のハッシュ関数を用いてハッシュ値を算出する。
次いで、クーポン判別部４６は、算出したデータ由来値と、記憶した比較対象由来値のそれぞれとを比較する。
比較の結果、比較対象由来値のいずれかが、算出したデータ由来値と一致した場合、クーポン判別部４６は、抽出した画像印刷指示コマンドＧＣは、クーポンの画像の印刷を指示するクーポン画像印刷指示コマンドであると判別する。当該画像印刷指示コマンドＧＣに含まれる画像データがクーポン画像データであるからである。この場合、クーポン判別部４６は、一致した比較対象由来値に対応付けられたクーポン識別情報を取得する。
比較の結果、比較対象由来値のいずれも、算出したデータ由来値と一致しない場合、クーポン判別部４６は、抽出した画像印刷指示コマンドＧＣは、クーポン画像印刷指示コマンドではないと判別する。当該画像印刷指示コマンドＧＣに含まれる画像データがクーポン画像データではないからである。
【００４１】
クーポン判別部４６は、レシート用制御コマンドに含まれる全ての画像印刷指示コマンドＧＣを抽出し、抽出した画像印刷指示コマンドＧＣのそれぞれについて、上述した方法で、クーポン画像印刷指示コマンドであるか否かを判別する。そして、１つでもクーポン画像印刷指示コマンドであると判別したものがあれば、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていると判別する。一方で、クーポン画像印刷指示コマンドであると判別したものが１つも無い場合は、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていないと判別する。
【００４２】
以上、４つの方法について説明したが、いずれの方法であっても、レシート用制御コマンドにクーポン画像印刷指示コマンドＣ５が含まれている場合は、クーポン判別部４６は、当該クーポン画像印刷指示コマンドＣ５によって印刷が指示されたクーポン画像Ｒ５のクーポン識別情報を取得する。
【００４３】
さて、前掲図３に戻り、ステップＳＢ２において、クーポン判別部４６は、上述した４つの方法のいずれかで、レシート用制御コマンドにクーポン画像印刷指示コマンドＣ５が含まれているか否かを判別する。
含まれていない場合（ステップＳＢ２：ＮＯ）、通常の方法によりレシートの発行が行われる（ステップＳＢ３）。ステップＳＢ３の処理の詳細は省略する。
一方、含まれている場合（ステップＳＢ２：ＹＥＳ）、クーポン判別部４６は、レシート用制御コマンドをコマンド処理部４７に出力する（ステップＳＢ４）。
コマンド処理部４７は、入力されたレシート用制御コマンドからクーポン画像印刷指示コマンドＣ５を抜き出すと共に、整合性を保つために必要なデータ処理を行って、処理後レシート用制御コマンドを生成する（ステップＳＢ５）。つまり、処理後レシート用制御コマンドは、クーポン画像印刷指示コマンドＣ５が記述されておらず、従って、処理後レシート用制御コマンドに基づいて画像を印刷した場合、クーポン画像Ｒ５の印刷は行われない。
次いで、コマンド処理部４７は、出力先のポートとして第１通信ポートＴＰ１を指定する情報と共に、処理後レシート用制御コマンドをポートハンドラー４５に出力する（ステップＳＢ６）。
ポートハンドラー４５は、指定された第１通信ポートＴＰ１に応じたデータ処理を実行すると共に、第１通信ポートＴＰ１に、処理後レシート用制御コマンドを出力する（ステップＳＢ７）。これにより、処理後レシート用制御コマンドがレシートプリンター１０に送信される。レシートプリンター１０のレシートプリンター制御部３０は、処理後レシート用制御コマンドに基づいて各種処理を実行して、レシートを発行する。
図５（Ａ）は、発行されたレシートの一例を示す図である。図５（Ａ）と、図４（Ｂ）との比較で明らかなとおり、処理後レシート用制御コマンドに基づいて発行されたレシートにはクーポン画像Ｒ５が印刷されない。
【００４４】
さらに、コマンド処理部４７は、クーポン判別部４６によってクーポン画像印刷指示コマンドＣ５であると判別されたコマンドに基づいて、クーポン用制御コマンドを生成する（ステップＳＢ８）。
詳述すると、上述したように、ホストコンピューター１２のホスト記憶部２３には、クーポン画像データベースＤＢ１が記憶されている。このクーポン画像データベースＤＢ１では、発行可能なクーポンのそれぞれについて、クーポンプリンター１１に対応した画像データ（以下、「印刷用クーポン画像データ」という。）と、クーポン識別情報と、が対応付けて記憶されている。クーポンプリンター１１に対応した画像データとは、当該プリンターの解像度や、印刷方式に対応しており、クーポンプリンター１１によって当該画像データに基づく画像の印刷が可能なものをいう。
そして、コマンド処理部４７は、クーポン判別部４６が取得したクーポン識別情報を取得する。このクーポン識別情報は、レシートに印刷されるはずだったクーポン画像Ｒ５のクーポン識別情報である。次いで、コマンド処理部４７は、クーポン画像データベースＤＢ１を参照し、取得したクーポン識別情報と対応付けられた印刷用クーポン画像データを取得する。
次いで、コマンド処理部４７は、クーポンプリンター１１のコマンド体系に準拠した制御コマンドであって、取得した印刷用クーポン画像データに基づく画像の印刷を指示する制御コマンドであるクーポン用制御コマンドを生成する。
【００４５】
クーポン用制御コマンドの生成後、コマンド処理部４７は、出力先のポートとして第２通信ポートＴＰ２を指定する情報と共に、クーポン用制御コマンドをポートハンドラー４５に出力する（ステップＳＢ９）。
ポートハンドラー４５は、指定された第２通信ポートＴＰ２に応じたデータ処理を実行すると共に、第２通信ポートＴＰ２に、クーポン用制御コマンドを出力する（ステップＳＢ１０）。これにより、クーポン用制御コマンドがクーポンプリンター１１に送信される。クーポンプリンター１１のクーポンプリンター制御部３２は、クーポン用制御コマンドに基づいて各種処理を実行して、クーポンを発行する。
図５（Ｂ）は、発行されたクーポンの一例を示す図である。図５（Ｂ）と、図４（Ｂ）との比較で明らかなとおり、クーポンには、従来システムＱでレシートに印刷されていたクーポン画像Ｒ５に対応する画像が印刷される。
【００４６】
以上説明したように、本実施形態に係るホストコンピューター１２は、レシートプリンター１０（第１印刷装置）にレシートを発行させるレシート用制御コマンドを生成して出力する印刷制御部４０を備えている。さらに、ホストコンピューター１２は、印刷制御部４０が生成したレシート用制御コマンドに、クーポン画像印刷指示コマンドが含まれているか否かを判別し、含まれていると判別された場合、クーポン画像印刷指示コマンドを抜き出して生成した処理後レシート用制御コマンドをレシートプリンター１０に出力すると共に、クーポン画像印刷指示コマンドに基づいて、クーポンの画像を印刷させるクーポン用制御コマンドを生成し、クーポンプリンター１１に出力するデータ処理部４１、を備える。
この構成によれば、レシートプリンター１０によりクーポンの画像が印刷されていないレシートが発行され、クーポンプリンター１１によりクーポンが発行される。そして、レシートとクーポンとを別個に発行する際に印刷制御部４０が出力するレシート用制御コマンドは、従来システムＱにおけるものと同じであるため、印刷制御部４０の機能を実現するプログラムについて改変が必要ない。すなわち、ホストコンピューター１２に対する改変を抑制できる。
【００４７】
また、本実施形態では、データ処理部４１は、レシート用制御コマンドの中から画像印刷指示コマンドを抽出すると共に、抽出した画像印刷指示コマンドに含まれる画像データを、予め記憶したテンプレートデータと比較し、これらデータが対応している場合に、抽出した画像印刷指示コマンドが、クーポン画像印刷指示コマンドであると判別し、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれていると判別する。
ここで、レシートに印刷される予定であったクーポンの画像は、その都度生成されるものではなく、予め定められた画像が選択されたものである、という特性がある。そして、上記構成によれば、上記特性を踏まえ、レシート用制御コマンドから抽出した画像印刷指示コマンドに含まれる画像データと、予め記憶したテンプレートデータとの比較結果に基づいて、抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
【００４８】
また、本実施形態では、データ処理部４１は、レシート用制御コマンドの中から画像印刷指示コマンドを抽出すると共に、抽出した画像印刷指示コマンドに含まれる画像データの文字を認識し、予め定められた所定の文字列が含まれている場合に、抽出した画像印刷指示コマンドが、クーポン画像印刷指示コマンドであると判別し、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれていると判別する。
ここで、レシートに印刷される予定であったクーポンの画像には、特定の文字列が含まれているという特性がある。そして、上記構成によれば、上記特性を踏まえ、文字認識の結果に基づいて、抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
【００４９】
また、本実施形態では、データ処理部４１は、レシート用制御コマンドの中から画像印刷指示コマンドを抽出すると共に、抽出した画像印刷指示コマンドに含まれる画像データの少なくとも一部が、予め定められた所定のデータ列によって構成されている場合に、抽出した画像印刷指示コマンドが、クーポン画像印刷指示コマンドであると判別し、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれていると判別する。
ここで、レシートに印刷される予定であったクーポンの画像は、その都度生成されるものではなく、予め定められた画像が選択されたものであり、ある１の画像の一部は、特定のデータ列によって構成されている、という特性がある。そして、上記構成によれば、上記特性を踏まえ、抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
【００５０】
また、本実施形態では、データ処理部４１は、レシート用制御コマンドの中から画像印刷指示コマンドを抽出すると共に、抽出した画像印刷指示コマンドに含まれる画像データの誤り検出符号、または、ハッシュ値が、予め定められた所定の値と一致する場合に、抽出した画像印刷指示コマンドが、クーポン画像印刷指示コマンドであると判別し、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれていると判別する。
ここで、レシートに印刷される予定であったクーポンの画像は、その都度生成されるものではなく、予め定められた画像が選択されたものであり、ある１の画像の誤り検出符号、または、ハッシュ値は、特定の値である、という特性がある。そして、上記構成によれば、上記特性を踏まえ、誤り検出符号、または、ハッシュ値を利用して抽出した画像印刷指示コマンドがクーポン画像印刷指示コマンドであるか否かを的確に判別できる。
【００５１】
＜第２実施形態＞
次いで、第２実施形態について説明する。
図６は、第２実施形態に係るホストコンピューター１２の機能的構成を示すブロック図である。以下の説明において、第１実施形態と同一の構成要素については、同一の符号を付し、その説明を省略する。
図２と、図６との比較によって明らかなとおり、本実施形態では、条件データベースＤＢ２がホスト記憶部２３（図６では図示を省略）に記憶されている点が第１実施形態と異なっている。
条件データベース５１ａには、従来システムＱにおいて、クーポンの画像をレシートに印刷する条件と、条件が成立した場合に印刷するクーポンのクーポン識別情報とが対応付けて記憶されている。条件は、複数存在してもよい。
条件は、例えば、以下のようなものである。すなわち、レシートの発行に係る会計において、所定の商品名の商品が購入されていること、所定の商品名の商品を、所定の個数以上購入したこと、を条件としてもよい。また、合計金額が予め定められた所定の金額を上回ったこと、が条件の一例である。
なお、条件は、時間帯や、会員によって動的に変更する構成であってもよい。すなわち、条件とは、レシートに印刷される情報に基づいて、その成否が決定するものであれば、どのようなものであってもよい。
【００５２】
次いで、レシート、および、クーポンを別個に発行する場合の処理について説明する。
印刷制御部４０は、レシートを発行する際、ＰＯＳアプリケーションＡＰの機能により、条件データベースＤＢ２にアクセスし、成立した条件が存在するか否かを判別する。
成立した条件が存在する場合、印刷制御部４０は、条件に対応付けられたクーポン識別情報のクーポンの画像をレシートに印刷することを指示するレシート用制御コマンド（図４（Ａ）で例示したコマンド）を生成し、ポートハンドラー４５に出力する。
上述したように、印刷制御部４０が生成するレシート用制御コマンドには、クーポン画像印刷指示コマンドが含まれている。
ポートハンドラー４５は、入力されたレシート用制御コマンドをクーポン判別部４６に出力する。クーポン判別部４６は、入力されたレシート用制御コマンドを分析すると共に、適宜、条件データベースＤＢ２にアクセスし、成立した条件があるか否かを判別する。詳述すると、クーポン判別部４６は、レシート用制御コマンドを分析し、購入された商品の商品名や、個数、合計金額等の条件の成否を決定するために必要な情報を取得する。その上で、クーポン判別部４６は、条件データベースＤＢ２にアクセスし、当該データベースに格納された条件のそれぞれについて、その成否を判別する。
成立した条件が存在する場合、クーポン判別部４６は、レシート用制御コマンドにクーポン画像印刷指示コマンドが含まれていると判別する。次いで、クーポン判別部４６は、レシート用制御コマンドの中から、クーポン画像印刷指示コマンドを特定する。当該特定は、どのような方法で行われてもよい。例えば、他の画像との関係でクーポン画像Ｒ５の位置が予め定められている場合、クーポン判別部４６は、他の画像との位置関係を踏まえて、クーポン画像印刷指示コマンドを特定する。
その後、第１実施形態と同様の手法により、コマンド処理部４７は、処理後レシート用制御コマンドを生成して、レシートプリンター１０に出力させると共に、クーポン用制御コマンドを生成して、クーポンプリンター１１に出力させる。
以上により、印刷制御部４０の機能を実現するためのプログラムに改変を加えることなく、レシートとクーポンとが別個に発行される。
【００５３】
以上説明したように、本実施形態では、印刷制御部４０は、発行しようとしているレシートに係る会計に関する所定の条件が成立した場合に、成立した条件に対応するクーポンに係るクーポン画像印刷指示コマンドをレシート用制御コマンドに含める。そして、データ処理部４１は、レシート用制御コマンドに基づいて、発行しようとしているレシートに係る会計に関する所定の条件が成立しているか否かを判別し、成立している場合、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれていると判別する。
この構成によれば、条件が成立した場合に、条件に対応するクーポン画像印刷指示コマンドがレシート用制御コマンドに含まれることを踏まえ、クーポン画像印刷指示コマンドがレシート用制御コマンドに含まれているか否かを的確に判別できる。
【００５４】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、第１印刷装置がサーマル方式のプリンターであり、第２印刷装置がインクジェット方式のプリンターであったが、プリンターの形式は何でもよい。
また、図１、２、６に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、ホストコンピューター１２の各機能を、これら装置に外部接続される別の装置に持たせてもよい。また、ホストコンピューター１２は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、各種動作を実行してもよい。
【符号の説明】
【００５５】
１…制御システム、１０…レシートプリンター（第１印刷装置）、１１…クーポンプリンター（第２印刷装置）、１２…ホストコンピューター（制御装置）、２０…ホスト制御部（制御部）、４０…印刷制御部、４１…データ処理部、４５…ポートハンドラー、４６…クーポン判別部、４７…コマンド処理部。
【図１】
2015005161.tif 000003
【図２】
2015005161.tif 000004
【図３】
2015005161.tif 000005
【図４】
2015005161.tif 000006
【図５】
2015005161.tif 000007
【図６】
2015005161.tif 000008