(57)【要約】【課題】印刷装置に入力されるデータが適切な値でない場合であっても問題なく印刷を継続できるようにする。【解決手段】プリンター２６は、データ取得部５０と、コマンド解析部５１とを備える。データ取得部５０は、Ｉ／Ｆ４５を制御して、印刷するオブジェクトのデータと、パラメーターによりオブジェクトの印刷形態を定義するコマンドとを取得する。コマンド解析部５１は、処理対象のコマンドのパラメーターが適正範囲内の値でない場合に、処理対象のコマンドよりも前にデータ取得部５０によって取得された、処理対象のコマンドと同種のコマンドのパラメーターに基づき、処理対象のコマンドのパラメーターを変更する。【選択図】図１
2014188781.tif 000002
【特許請求の範囲】
【請求項１】
印刷するオブジェクトのデータと、パラメーターによりオブジェクトの印刷形態を定義するコマンドとを取得する取得手段と、
前記取得手段により取得された処理対象のコマンドのパラメーターが適正範囲内の値でない場合に、前記処理対象のコマンドよりも前に前記取得手段によって取得された、前記処理対象のコマンドと同種のコマンドのパラメーターに基づき、前記処理対象のコマンドのパラメーターを変更するパラメーター調整手段と、
を備えることを特徴とする印刷制御装置。
【請求項２】
前記取得手段によって取得されたコマンドとパラメーターとを対応づけて記憶する記憶手段を備え、
前記パラメーター調整手段は、前記記憶手段に記憶されたコマンドのうち前記処理対象のコマンドと同種のコマンドに対応するパラメーターに基づき、前記処理対象のコマンドのパラメーターを変更することを特徴とする請求項１記載の印刷制御装置。
【請求項３】
前記取得手段は、オブジェクトのデータとコマンドとを含む印刷データを取得し、前記記憶手段は、前記取得手段によって取得された印刷データのうちパラメーターが適正範囲内の印刷データ、及び、前記パラメーター調整手段によってパラメーターの値が変更されたパラメーターを含む印刷データの少なくともいずれかに該当する印刷データを記憶することを特徴とする請求項１または２記載の印刷制御装置。
【請求項４】
前記パラメーター調整手段は、前記取得手段によって取得された処理対象のコマンドのパラメーターが適正範囲内の値である場合に、前記処理対象のコマンドのパラメーターを変更しないことを特徴とする請求項１から３のいずれかに記載の印刷制御装置。
【請求項５】
印刷するオブジェクトのデータと、パラメーターによってオブジェクトの印刷形態を定義するコマンドとを取得する取得手段と、
前記取得手段により取得された処理対象のコマンドのパラメーターが適正範囲内の値でない場合に、前記処理対象のコマンドよりも前に前記取得手段によって取得された、前記処理対象のコマンドと同種のコマンドのパラメーターに基づき、前記処理対象のコマンドのパラメーターを変更するパラメーター調整手段と、
前記取得手段によって取得された、パラメーターが適正範囲内のコマンド、及び、前記パラメーター調整手段によってパラメーターの値が変更されたパラメーターを有するコマンドの少なくともいずれかに従って印刷する印刷手段と、
を備えることを特徴とする印刷装置。
【請求項６】
印刷するオブジェクトのデータと、パラメーターによってオブジェクトの印刷形態を定義するコマンドとを取得し、
取得された処理対象のコマンドのパラメーターが適正範囲内の値でない場合に、前記処理対象のコマンドよりも前に取得された、前記処理対象のコマンドと同種のコマンドのパラメーターに基づき、前記処理対象のコマンドのパラメーターを変更し、
適正範囲内のパラメーターを有するコマンドに従って印刷すること、
を特徴とする印刷装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷制御装置、印刷装置、及び、印刷装置の制御方法に関する。
【背景技術】
【０００２】
従来、他の装置から入力される印刷データに基づいて印刷する印刷装置において、入力されたデータに加えられた変更が正規の変更であるかを判定する装置が知られている（例えば、特許文献１参照）。特許文献１記載の装置は、入力されたデータに変更が加えられている場合に通知を行い、この変更が正規の変更でないと印刷指示者が入力した場合には、第三者による改ざんとして警告を発し、処理を中止する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−２１６２４０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、印刷データに適切でないデータが含まれる要因は、人為的な改ざんに限らない。例えば、印刷データを伝送する過程で通信エラーが発生し、このエラーが原因となってデータの一部の値が変わってしまうことも考えられる。このような場合、データが変わる毎に、正規の変更か否かを人が判断すると手間がかかってしまう。また、データの値が変わる毎に処理が中止されてしまう構成では、通信エラーによって一部の値が変わっただけで印刷装置を含むシステムの動作が停止してしまい、システムの可用性の低下を招くことが懸念される。
本発明は、上述した事情に鑑みてなされたものであり、印刷装置に入力されるデータが適切な値でない場合であっても問題なく印刷を継続できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、印刷するオブジェクトのデータと、パラメーターによってオブジェクトの印刷形態を定義するコマンドとを取得する取得手段と、前記取得手段により取得された処理対象のコマンドのパラメーターが適正範囲内の値でない場合に、前記処理対象のコマンドよりも前に前記取得手段によって取得された、前記処理対象のコマンドと同種のコマンドのパラメーターに基づき、前記処理対象のコマンドのパラメーターを変更するパラメーター調整手段と、を備えることを特徴とする。
本発明によれば、印刷形態を定義するパラメーターが適正範囲内の値でない場合に、このパラメーターの値を、このパラメーターよりも前に取得した別のパラメーターを用いて、適正範囲内の値に変更できる。このため、パラメーターが適正範囲内の値でない場合であっても、変更後のパラメーターに基づいて、印刷装置が正常に印刷を行える。従って、例えば通信エラーが原因でパラメーターの値が異常値となってしまっても、印刷の中断やオペレーターによる作業を要することなく、正常に印刷を実行できる。
【０００６】
上記構成において、前記取得手段によって取得されたコマンドとパラメーターとを対応づけて記憶する記憶手段を備え、前記パラメーター調整手段は、前記記憶手段に記憶されたコマンドのうち前記処理対象のコマンドと同種のコマンドに対応するパラメーターに基づき、前記処理対象のコマンドのパラメーターを変更してもよい。
この場合、取得したパラメーターが適正範囲内の値でない場合に、このパラメーターよりも前に取得されたコマンドのうち同種のコマンドのパラメーターを利用して、パラメーターを適正範囲内の値に変更できる。さらに、処理対象のコマンドと同種のコマンドのパラメーターに基づいてパラメーターを変更するので、パラメーターを変更しても印刷形態を乱す可能性が小さいことが期待できる。これにより、パラメーターを適正範囲内で、かつ適切な値に変更でき、望ましい印刷結果を得ることができる。
【０００７】
また、上記構成において、前記取得手段は、オブジェクトのデータとコマンドとを含む印刷データを取得し、前記記憶手段は、前記取得手段によって取得された印刷データのうちパラメーターが適正範囲内の印刷データ、及び、前記パラメーター調整手段によってパラメーターの値が変更されたパラメーターを含む印刷データの少なくともいずれかに該当する印刷データを記憶してもよい。
この場合、取得手段によって取得した印刷データに適正範囲内の値でないパラメーターが含まれる場合に、このパラメーターを適正範囲内の値に変更できる。また、適正範囲内の値となっているパラメーターを記憶して、パラメーターの変更に利用するので、パラメーターを常に適正範囲内の値に変更できる。
【０００８】
また、上記構成において、前記パラメーター調整手段は、前記取得手段によって取得された処理対象のコマンドのパラメーターが適正範囲内の値である場合に、前記処理対象のコマンドのパラメーターを変更しない構成としてもよい。
この場合、適正範囲内の値となっているパラメーターは変更されないので、不要な処理を実行することがなく処理の遅延等を防止できる。
【０００９】
また、上記目的を達成するために、本発明の印刷装置は、印刷するオブジェクトのデータと、パラメーターによってオブジェクトの印刷形態を定義するコマンドとを取得する取得手段と、前記取得手段により取得された処理対象のコマンドのパラメーターが適正範囲内の値でない場合に、前記処理対象のコマンドよりも前に前記取得手段によって取得された、前記処理対象のコマンドと同種のコマンドのパラメーターに基づき、前記処理対象のコマンドのパラメーターを変更するパラメーター調整手段と、前記取得手段によって取得された、パラメーターが適正範囲内のコマンド、及び、前記パラメーター調整手段によってパラメーターの値が変更されたパラメーターを有するコマンドの少なくともいずれかに従って印刷する印刷手段と、を備えることを特徴とする。
本発明によれば、印刷形態を定義するパラメーターが適正範囲内の値でない場合に、このパラメーターの値を、処理対象のコマンドよりも前に取得した適正範囲内のパラメーターを用いて、適正範囲内の値に変更できる。このため、パラメーターが適正範囲内の値でない場合であっても、変更後のパラメーターに基づいて、印刷装置が正常に印刷を行える。従って、例えば通信エラーが原因でパラメーターの値が異常値となってしまっても、印刷の中断やオペレーターによる作業を要することなく、正常に印刷を実行できる。
【００１０】
また、上記目的を達成するために、本発明の印刷装置の制御方法は、印刷するオブジェクトのデータと、パラメーターによってオブジェクトの印刷形態を定義するコマンドとを取得し、取得された処理対象のコマンドのパラメーターが適正範囲内の値でない場合に、前記処理対象のコマンドよりも前に取得された、前記処理対象のコマンドと同種のコマンドのパラメーターに基づき、前記処理対象のコマンドのパラメーターを変更し、適正範囲内のパラメーターを有するコマンドに従って印刷すること、を特徴とする。
本発明によれば、印刷形態を定義するパラメーターが適正範囲内の値でない場合に、このパラメーターの値を、それより前に取得した適正範囲内のパラメーターを用いて、適正範囲内の値に変更できる。このため、パラメーターが適正範囲内の値でない場合であっても、変更後のパラメーターに基づいて、印刷装置が正常に印刷を行える。従って、例えば通信エラーが原因でパラメーターの値が異常値となってしまっても、印刷の中断やオペレーターによる作業を要することなく、正常に印刷を実行できる。
【００１１】
また、本発明を、上記印刷装置と、上記印刷装置に対して印刷するオブジェクトのデータと、パラメーターによってオブジェクトの印刷形態を定義するコマンドとを出力するホストコンピューターとを備えた印刷システムとして構成してもよい。
【発明の効果】
【００１２】
本発明によれば、印刷形態の定義に関係するパラメーターの値が適正範囲内の値でない場合であっても、印刷の中断やオペレーターによる作業を要することなく、正常に印刷を実行できる。
【図面の簡単な説明】
【００１３】
【図１】本実施形態に係るＰＯＳシステムの機能的構成を示すブロック図である。
【図２】ＰＯＳシステムが印刷するレシートと印刷データの例を示す図である。
【図３】プリンターの動作を示すフローチャートである。
【図４】ＰＯＳシステムで印刷されるレシートの別の例を示す図である。
【発明を実施するための形態】
【００１４】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本発明を適用した実施形態に係るＰＯＳシステム１０の機能的構成を示すブロック図である。
ＰＯＳシステム１０（印刷システム）は、スーパーマーケットやコンビニエンスストア等の店舗に適用され、店舗に来店した顧客の代金の支払いに応じてレシートを発行するシステムである。ＰＯＳシステム１０は、ホストコンピューター１１と、プリンター２６（印刷装置）とを備えている。ホストコンピューター１１は、ＰＯＳレジスター端末として機能し、商品のバーコードを読み取るバーコードリーダー、現金を収容するキャッシュドロワー、クレジットカードを読み取るカードリーダー等を備えているが、ここでは図示しない。
【００１５】
また、ホストコンピューター１１は、通信回線を介して図示しないＰＯＳサーバーに接続されている。ＰＯＳサーバーは、ＰＯＳシステム１０が接地された店舗で販売している商品の商品コード、名称、金額等のレシートの発行のために必要となるデータをデータベースに記憶する。ホストコンピューター１１は、商品販売登録処理を実行する際に、必要に応じてＰＯＳサーバーのデータベースを参照して、データをＰＯＳサーバーから取得する。
【００１６】
ホストコンピューター１１は、ホスト側制御部２８と、ホスト側表示部２９と、ホスト側入力部３０と、Ｉ／Ｆ（インターフェイス）３１と、ホスト側記憶部３２と、を備えている。
ホスト側制御部２８は、ホストコンピューター１１の各部を中枢的に制御するものであり、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の周辺回路等を備えている。
ホスト側表示部２９は、液晶表示パネル等の表示パネルを備え、ホスト側制御部２８の制御に従って、表示パネルに各種情報を表示する。
ホスト側入力部３０は、キーボードや、マウス、バーコードリーダー、カードリーダー等の入力デバイスに接続され、これら入力デバイスの出力信号をホスト側制御部２８に出力する。
Ｉ／Ｆ３１（Ｉ／Ｆ）は、ホスト側制御部２８の制御に従って、プリンター２６との間で通信規格に準拠した通信を行う。
ホスト側記憶部３２は、ＥＥＰＲＯＭ等の不揮発性メモリーを備え、上述したプリンタードライバーや、その他のプログラム、各種データを書き換え可能に記憶する。
【００１７】
プリンター２６は、印刷媒体としての感熱ロール紙を搬送し、感熱ロール紙の記録面に熱を与えて文字や画像を印刷するサーマルプリンターである。プリンター２６は、印刷後の感熱ロール紙をカッターユニット３８によって所定の位置で切断して、レシートを発行する。プリンター２６は、プリンター側制御部４０と、プリンター側表示部４１と、プリンター側入力部４２と、プリントエンジン４３と、Ｉ／Ｆ（インターフェイス）４５と、を備える。プリンター２６の制御機能は印刷制御装置に対応する。
プリンター側制御部４０は、プリンター２６を中枢的に制御するものであり、ＣＰＵやＲＯＭ、ＲＡＭ、その他の周辺回路等を備える。プリンター側表示部４１は、プリンター２６の動作状態等の各種情報を表示する液晶表示パネル等の表示パネルを備え、プリンター側制御部４０の制御に従って、当該表示パネルに各種情報を表示する。また、プリンター側表示部４１は、ＬＥＤインジケーターを備えている。このＬＥＤインジケーターがプリンター側制御部４０の制御によって点灯、消灯または点滅して、プリンター２６の状態を報知する。プリンター側入力部４２は、プリンター２６に設けられた操作スイッチに接続される。プリンター側入力部４２は操作スイッチに対する操作を検出し、検出した操作を示す操作信号をプリンター側制御部４０に出力する。
プリンター側制御部４０は、後述するファームウェアを実行することにより、データ取得部５０、コマンド解析部５１（パラメーター調整手段）、及び印刷制御部５５として機能する。これらの各部については後述する。
【００１８】
プリントエンジン４３は、プリンター側制御部４０の制御に従って、サーマルヘッド３７、搬送モーター（図示略）、カッター駆動モーター（図示略）を動作させて、ロール紙に文字や画像を印刷し、レシートを発行する。また、プリントエンジン４３は、印刷動作中に用紙端センサーや用紙残量センサー等の各種センサーの検出値を監視する。本実施形態では、プリントエンジン４３と印刷制御部５５とが協働して印刷手段として機能する。
【００１９】
Ｉ／Ｆ４５は、プリンター側制御部４０の制御に従って、プリンター２６との間で通信規格に準拠した通信を行う。本実施形態では、プリンター側制御部４０と、Ｉ／Ｆ４５とが協働して取得手段として機能する。
【００２０】
プリンター２６は、データを記憶する受信バッファー６１、メモリー６２、及び記憶部６３（記憶手段）を備える。
受信バッファー６１は、ホストコンピューター１１から送信されたコマンドやデータを、受信順に、一時的に記憶する揮発性メモリーである。メモリー６２は、プリンター側制御部４０が処理するコマンドやデータを一時的に記憶する揮発性メモリーである。また、記憶部６３は、プログラムやデータを不揮発的に記憶する。記憶部６３は、プリンター側制御部４０が実行するプリンター２６のファームウェアを記憶しており、プリンター側制御部４０は記憶部６３からファームウェアを読み出して実行することにより、プリンター２６の各部を制御する。また、記憶部６３は、ホストコンピューター１１から送信されたレシートの印刷データである参照印刷データ６３Ａを記憶する。参照印刷データ６３Ａについては後述する。
【００２１】
プリンター２６は、ニアエンドセンサー５６を備えている。ニアエンドセンサー５６は、プリンター２６に収容されたロール紙について、ロール紙の残量が所定の閾値を下回ったこと（以下、「ロール紙のニアエンド」という。）を検出する。例えば、ニアエンドセンサー５６は、ロール紙の残量が所定の閾値を上回っている間はオフとなり、下回るとオンとなる透過型の光センサーである。プリンター２６は、カッター位置検出センサー５７を備えている。カッター位置検出センサー５７は、カッターユニット３８における可動刃が待機位置に位置しているか否かを検出する。カッター位置検出センサー５７は、例えば、可動刃が当該待機位置に位置している場合にオフ、位置していない場合にオンとなる透過型の光センサーである。
【００２２】
図２は、ＰＯＳシステム１０が印刷するレシート及び印刷データの例を示す図である。図２（Ａ）は印刷データＤの例を示し、図２（Ｂ）は図２（Ａ）の印刷データＤに従って印刷されるレシートＲの例を示す。
図２（Ａ）に示す印刷データＤは、印刷される文字のデータ（テキストデータ）と、印刷形態を指定するコマンドとによって構成され、コマンドはパラメーターを伴っている。印刷データＤは、複数のブロックＤ１〜Ｄ３で構成される。この図２（Ａ）及び（Ｂ）には、印刷されるオブジェクトとして文字を含む例を示すが、印刷されるオブジェクトに画像を含ませることも可能である。
【００２３】
本実施形態のＰＯＳシステム１０で使用されるコマンドは、大別して、レシートの形態（形）に関するコマンド、印刷するデータ、及び、文字装飾に関するコマンドがある。
レシートの印刷形態に関するコマンドとしては、例えば、「ＥＳＣ  “ａ”」コマンド、「ＥＳＣ  “＄”」コマンド、「ＧＳ  “Ｖ”  “Ａ”  ０」コマンドが挙げられる。「ＥＳＣ  “ａ”」コマンドは、文字の印刷位置の右揃え、左揃え、中央揃えを指定する。「ＥＳＣ  “＄”」コマンドは、印刷位置を絶対位置で指定する。また、「ＬＦ」コマンドは改行を指示し、「ＧＳ  “Ｖ”  “Ａ”  ０」コマンドは紙送りとカッターユニット３８によるカットを指示する。
印刷する文字のデータは、ＡＳＣＩＩコードを示す「“”」が付されて送信される。また、文字装飾を指定するコマンドとしては、例えば、強調文字印刷、縦倍印刷、横倍印刷を指定する「ＥＳＣ  “！”」コマンド、白黒反転を指定する「ＧＳ  “Ｂ”」コマンドが挙げられる。
【００２４】
コマンド「ＥＳＣ  “ａ”  ｎ」（ｎはパラメーターを示す）は、パラメーターにより文字の印刷位置の右揃え、左揃え、中央揃えを指定する。例えば、コマンド「ＥＳＣ  “ａ”  １」は、印刷位置の中央揃えを指定する。コマンド「ＥＳＣ  “ａ”  ｎ」のパラメーターの範囲は、プリンター２６における印刷位置の指定方法の数により決定される。本実施形態では、右揃え、左揃え、中央揃えの３通りに対応して、パラメーターとして設定可能な値の適正範囲は０〜２である。
コマンド「ＥＳＣ  “＄”  ｎ」（ｎはパラメーターを示す）は、パラメーターにより文字の印刷位置を絶対位置で指定する。例えば、コマンド「ＥＳＣ  “＄”  ０ｘＢ８  ０ｘ０１」は、桁方向（図中横方向）の印刷開始位置を０ｘＢ８  ０ｘ０１の位置に指定する。コマンド「ＥＳＣ  “＄”  ｎ」のパラメーターの範囲は、プリンター２６におけるロール紙のサイズ、解像度等により決定される。
コマンド「ＥＳＣ  “！”  ｎ」（ｎはパラメーターを示す）はパラメーターにより強調文字印刷、縦倍印刷、横倍印刷の有無を指示する。例えば、コマンド「ＥＳＣ  “！”  ５６」は、縦５倍、横６倍の文字サイズを指定する。また、コマンド「ＥＳＣ  “！”  ０」は、強調文字印刷、縦倍、横倍の設定の解除を指示する。コマンド「ＥＳＣ  “！”  ｎ」のパラメーターの範囲は、プリンター２６で印刷可能な文字サイズにより決定される。本実施形態では、パラメーターとして設定可能な値の適正範囲は０〜９９である。
コマンド「ＧＳ  “Ｂ”  ｎ」（ｎはパラメーターを示す）はパラメーターにより文字の白黒反転の実行と解除を指示する。例えば、コマンド「ＧＳ  “Ｂ”  １」は、白黒反転の実行を設定し、コマンド「ＧＳ  “Ｂ”  ０」は白黒反転の設定の解除を指示する。コマンド「ＧＳ  “Ｂ”  ｎ」のパラメーターの範囲は、白黒反転の実行／解除の２通りあればよいので、本実施形態ではパラメーターとして設定可能な値の適正範囲は０〜１である。
なお、これらのコマンドの種類及びパラメーターはあくまで一例を示すものであって、プリンター２６の仕様に応じて任意に変更可能である。
【００２５】
図２（Ａ）の印刷データＤに従ってプリントエンジン４３が印刷出力するレシートＲは、図２（Ｂ）に示す形態となる。レシートＲの上部には、コマンド「“ＡＡＡ  Ｍａｒｔ”」により指定された文字「ＡＡＡ  Ｍａｒｔ」が印刷される。この文字の文字サイズはコマンド「ＥＳＣ  “！”  ５６」により設定された縦５倍、横６倍であり、コマンド「ＧＳ  “Ｂ”  １」に従って白黒反転されている。また、文字「ＡＡＡ  Ｍａｒｔ」の印刷位置は、コマンド「ＥＳＣ  “ａ”  １」に従って中央揃えになっている。
【００２６】
このように、プリンター２６は、ホストコンピューター１１が送信する印刷データＤに含まれるコマンドとパラメーターにより指定された印刷形態で、印刷データＤに含まれるデータを印刷する。そして、印刷データＤに含まれるパラメーターには、コマンドの種類（コマンドにより指定される内容）に対応して値の適正範囲が定められている。従って、適正範囲から逸脱した値のパラメーターを伴うコマンドは無効であり、このようなコマンドに対してはエラーが発生する。例えば、白黒反転の設定に係るコマンドが「ＧＳ  “Ｂ”  ８」である場合、パラメーター「８」はコマンド「ＧＳ  “Ｂ”  ｎ」の適正範囲内の値ではないため、プリントエンジン４３を制御する印刷制御部５５は、白黒反転の設定を行うことができない。
【００２７】
このような場合、コマンドエラーを検出してプリンター側制御部４０は動作を停止することが考えられるが、ＰＯＳシステム１０が停止することにより店舗の業務が制限されてしまう。ＰＯＳシステム１０は商品販売を行う店舗にとって重要な装置であり、ＰＯＳシステム１０の可用性の低下は収益に影響する。また、レシートＲが印刷される前にＰＯＳシステム１０が停止すると、ＰＯＳシステム１０が商品販売の処理を行っていた顧客に不便を与える。
そこで、ＰＯＳシステム１０では、プリンター２６が取得したコマンドのパラメーターが適正範囲内の値でない場合に、このコマンドより前に取得した同種のコマンドのパラメーターを用いて、適正範囲内でないパラメーターの値を設定して、印刷を実行する。
【００２８】
図３は、プリンター２６の動作を示すフローチャートである。
プリンター側制御部４０が備えるデータ取得部５０は、ホストコンピューター１１から印刷データが送信されるまで待機する（ステップＳ１１）。ホストコンピューター１１から印刷データが送信されると、この印刷データはＩ／Ｆ４５により受信されて受信バッファー６１に記憶される。データ取得部５０は、受信バッファー６１に印刷データが記憶されたことを検出すると（ステップＳ１１；Ｙｅｓ）、受信バッファー６１から印刷データＤを読み出してメモリー６２に格納する（ステップＳ１２）。
【００２９】
コマンド解析部５１は、メモリー６２に格納された印刷データに含まれるコマンドを検索し、例えば印刷データの先頭から、一つのコマンドを処理対象コマンドとして選択する（ステップＳ１３）。ここで、コマンド解析部５１は、印刷データに含まれるコマンドの中から、パラメーターを伴うコマンドのみを抽出し、その中から処理対象のコマンドを選択してもよい。また、コマンド解析部５１は、印刷データに含まれるコマンドの中から文字装飾を指定するコマンドのみを抽出し、その中から処理対象のコマンドを選択してもよい。文字装飾を指定するコマンドは、レシートを印刷する毎に変更されることは少なく、この種のコマンドのパラメーターは一定であることが多いためである。
【００３０】
コマンド解析部５１は、記憶部６３に記憶された参照印刷データ６３Ａを読み出す（ステップＳ１４）。参照印刷データ６３Ａは、以前にプリンター２６が受信して印刷した印刷データである。プリンター側制御部４０は、印刷制御部５５が印刷データに従ってレシートを印刷した場合に、この印刷データを参照印刷データ６３Ａとして記憶させる。参照印刷データ６３Ａは、例えば、過去に印刷した印刷データのうち最も新しい印刷データである。また、参照印刷データ６３Ａとして複数の印刷データを記憶してもよい。この場合、プリンター側制御部４０は、印刷を実行した順に複数の参照印刷データ６３Ａを記憶させる。この場合には、コマンド解析部５１は印刷を実行した順に複数の参照印刷データ６３Ａを読み出してもよいし、全ての参照印刷データ６３Ａをまとめて読み出してもよい。プリンター側制御部４０は、印刷データに基づいて印刷制御部５５が印刷を実行する毎に、参照印刷データ６３Ａを上書きする。
【００３１】
コマンド解析部５１は、読み出した参照印刷データ６３Ａから、ステップＳ１３で選択した処理対象コマンドと同じ種類のコマンドを抽出する（ステップＳ１５）。例えば、処理対象コマンドが「ＧＳ  “Ｂ”  ２」であった場合、コマンド解析部５１は参照印刷データ６３Ａから「ＧＳ  “Ｂ”  ｎ」（ｎはパラメーター）を抽出する。
そして、コマンド解析部５１は、ステップＳ１３で選択した処理対象コマンドのパラメーターが適正範囲内の値であるか否かを判定する（ステップＳ１６）。コマンド解析部５１は、記憶部６３に記憶された、コマンドの種類毎にパラメーターの値の適正範囲を定めたデータに基づき、ステップＳ１６の判定を行う。
【００３２】
ステップＳ１３で選択した処理対象コマンドのパラメーターが適正範囲内の値でない場合（ステップＳ１７；Ｎｏ）、コマンド解析部５１は、このパラメーターを、ステップＳ１５で抽出したコマンドのパラメーターで置き換える（ステップＳ１８）。例えば、処理対象コマンドが「ＧＳ  “Ｂ”  ８」であり、ステップＳ１５で抽出したコマンドが「ＧＳ  “Ｂ”  ０」であった場合、コマンド解析部５１は処理対象コマンドのパラメーターを「０」に変更（設定）する。これにより、適正範囲から逸脱したパラメーターを伴うコマンド「ＧＳ  “Ｂ”  ８」は、「ＧＳ  “Ｂ”  ０」に補正される。
【００３３】
その後、プリンター側制御部４０は、ステップＳ１２で取得した印刷データに含まれる全てのコマンドが、処理対象コマンドとして選択され処理されたか否かを判別する（ステップＳ１９）。ステップＳ１３で、コマンド解析部５１がパラメーターを伴うコマンドのみを抽出し、その中から処理対象のコマンドを選択した場合には、パラメーターを伴う全てのコマンドが処理済みであるか否かを判別する。また、ステップＳ１３で、コマンド解析部５１が文字装飾を指定するコマンドのみを抽出し、その中から処理対象のコマンドを選択した場合には、文字装飾を指定する全てのコマンドが処理済みであるか否かを判別する。
また、処理対象のコマンドのパラメーターが適正範囲内の値であった場合（ステップＳ１７；Ｙｅｓ）、プリンター側制御部４０はステップＳ１８の処理を行わずにステップＳ１９に移行する。
【００３４】
未処理のコマンドがある場合（ステップＳ１９；Ｎｏ）、プリンター側制御部４０はステップＳ１３に移行して別のコマンドを選択する。また、全てのコマンドが処理済みの場合（ステップＳ１９；Ｙｅｓ）、印刷制御部５５は、パラメーターが適正範囲内の値となった印刷データに基づいて、プリントエンジン４３により印刷する（ステップＳ２０）。すなわち、印刷制御部５５は、ステップＳ１８でパラメーターが置き換えられた印刷データ、または、ステップＳ１７でパラメーターが適正範囲内の値であると判別された印刷データに基づき印刷を行う。また、プリンター側制御部４０は、印刷制御部５５が印刷に用いた印刷データを、参照印刷データ６３Ａとして新たに記憶させる。
【００３５】
以上説明したように、本発明を適用したＰＯＳシステム１０が備えるプリンター２６は、プリンター側制御部４０の機能として実現されるデータ取得部５０と、コマンド解析部５１とを備える。データ取得部５０は、Ｉ／Ｆ４５を制御して、印刷するオブジェクトのデータと、パラメーターによりオブジェクトの印刷形態を定義するコマンドとを取得する。コマンド解析部５１は、処理対象のコマンドのパラメーターが適正範囲内の値でない場合に、処理対象のコマンドのパラメーターを変更する。即ち、コマンド解析部５１は、処理対象のコマンドよりも前にデータ取得部５０によって取得された、処理対象のコマンドと同種のコマンドのパラメーターに基づき、パラメーターを変更する。
これにより、印刷形態を定義するパラメーターが適正範囲内の値でない場合に、このパラメーターの値を、このパラメーターよりも前に取得した別のパラメーターを用いて、適正範囲内の値に変更できる。このため、パラメーターが適正範囲内の値でない場合であっても、変更後のパラメーターに基づいて、印刷装置が正常に印刷を行える。従って、例えば通信エラーが原因でパラメーターの値が異常値となってしまっても、印刷の中断やオペレーターによる作業を要することなく、正常に印刷を実行できる。
【００３６】
また、記憶部６３は、データ取得部５０によって取得されたコマンドとパラメーターとを対応づけて記憶する。そして、コマンド解析部５１は、記憶部６３に記憶されたコマンドのうち処理対象のコマンドと同種のコマンドに対応するパラメーターに基づき、処理対象のコマンドのパラメーターを変更する。このため、適正範囲内の値でないパラメーターを、容易に適正範囲内の値に変更できる。さらに、処理対象のコマンドと同種のコマンドのパラメーターに基づいてパラメーターを変更するので、パラメーターを変更しても印刷形態を乱す可能性が小さいことが期待できる。これにより、パラメーターを適正範囲内で、かつ適切な値に変更でき、望ましい印刷結果を得ることができる。
【００３７】
また、コマンド解析部５１は、データ取得部５０により取得された処理対象のコマンドのパラメーターが適正範囲内の値である場合に、このパラメーターを変更しない。このため、不要な処理を実行することがなく処理の遅延等を防止できる。
【００３８】
なお、上記実施形態では、パラメーターの適正範囲は、プリンター２６の仕様に応じてコマンドの種類毎に定められ、記憶部６３に記憶されているものとして説明したが、本発明はこの例に限定されない。レシートＲにおけるコマンドの位置や機能に対応して、パラメーターの適正な値の範囲が定められてもよい。
さらに、上記実施形態では、適正範囲内の値でないパラメーターを、同種のコマンドのパラメーターを用いて変更する例を説明した。この実施形態では、同種のコマンドとは、コマンドを用いて設定可能な印刷形態のうち、同じ印刷形態を設定するコマンドである。より好ましくは、同一のコマンドである。例えば、コマンド「ＥＳＣ  “！”  ｐ」のパラメーターｐが適正範囲内の値でない場合、コマンド解析部５１は、パラメーターｐを、参照印刷データ６３Ａ中のコマンド「ＥＳＣ  “！”  ｐ´」のパラメーターｐ´に変更する。本発明はこの例に限定されず、処理対象のコマンドと同種のコマンドを、レシートＲにおけるコマンドの位置や機能の共通性をも加味して選択し、パラメーターの値の変更に用いてもよい。以下、変形例として説明する。
【００３９】
［変形例］
この変形例ではプリンター２６の動作の別の例について説明する。ＰＯＳシステム１０の各部の構成は上記実施形態と同様である。
コマンド解析部５１は、図２（Ａ）に示す印刷データＤを複数のブロックＤ１〜Ｄ４に分割する。図２（Ａ）の例では、図２（Ｂ）のレシートＲの上部に位置して、店舗名のロゴの印刷に関するデータを、ブロックＤ１とする。また、店舗の住所、電話番号、レシートＲの発行日時の印刷に関するデータを、ブロックＤ２とする。販売された商品名、商品区分、各商品の価格、合計金額、税額等の印刷に関するデータを、ブロックＤ３とする。また、レシートＲの紙送りとカットを指示するコマンドを含むデータを、ブロックＤ４とする。
【００４０】
ブロックの分割の方法の例を説明する。
コマンド解析部５１は、印刷データＤを、印刷する文字コードを伴う「“”」または改行を指示するコマンド「ＬＦ」の前後を別のブロックとするように分割する。次に、コマンド解析部５１は、隣り合うブロックにおいて、文字装飾に関するコマンドを比較する。隣り合うブ２つのロックが、同種または同一の文字装飾に関するコマンドを含む場合、コマンド解析部５１は、これら２つのブロックを一つのブロックとする。また、隣り合うブ２つのロックに含まれる文字装飾に関するコマンドの組み合わせが、共通または類似する場合に、コマンド解析部５１が、これら２つのブロックを一つのブロックにすることも可能である。
【００４１】
参照印刷データ６３Ａには、印刷データＤそのものだけでなく、印刷データＤを各ブロックに分割した状態を示すデータが、印刷データＤに対応づけて記憶される。例えば、印刷データＤを複数のブロックに分割した場合に、印刷データＤの各ブロックの冒頭に、ブロック名（例えば、Ｄ１〜Ｄ４）を示すデータが付加されて記憶される。また、印刷データＤに、ブロックの境界を示すデータが付加されて記憶されてもよい。或いは、印刷データＤとは別に、印刷データＤにおける各ブロックの境界または各ブロックの先頭位置を示すデータがコマンド解析部５１により生成され、印刷データＤに対応づけて記憶部６３に記憶されてもよい。
【００４２】
コマンド解析部５１は、図３のステップＳ１７で、処理対象のコマンドのパラメーターが適正範囲内の値でないと判別した場合に、処理対象のコマンドが属するブロックを特定する。コマンド解析部５１は、参照印刷データ６３Ａとして記憶されている印刷データＤにおいて、処理対象のコマンドと同じ位置のブロック、または近い位置にあるブロックから、同種のコマンドを抽出する。
【００４３】
図４（Ａ）及び（Ｂ）は、ＰＯＳシステム１０が印刷するレシートの別の例を示す図である。図４（Ｂ）に示すレシートＲ２は、図４（Ａ）に示すレシートＲ１の次に印刷されるレシートの例である。
通常、一つのＰＯＳシステムで印刷されるレシートは同じ形態である。
レシートＲ１は、店舗名のロゴが印刷された領域Ｒ１１、店舗の住所、電話番号、レシートＲ１の発行日時が印刷された領域Ｒ１２、及び、販売された商品名、商品の価格、合計金額、税額、合計支払金額が印刷された領域Ｒ１３に分割できる。これらの領域は、上述したブロックに対応している。
一方、レシートＲ２も同様に、店舗名のロゴが印刷された領域Ｒ２１、店舗の住所、電話番号、レシートＲ１の発行日時が印刷された領域Ｒ２２、及び、販売された商品名、商品の価格、合計金額、税額、合計支払金額が印刷された領域Ｒ２３に分割できる。これらの領域は、上述したブロックに対応している。
【００４４】
図４（Ｂ）には、レシートＲ２がレシートＲ１と異なる部分を下線で示す。レシートＲ１とレシートＲ２とを比較すると、領域Ｒ１２と領域Ｒ２２とに含まれる日時が相違し、領域Ｒ１３と領域Ｒ２３とに含まれる商品名、金額、行数が異なっている。その他の印刷内容（オブジェクト）は、一般的に、同じＰＯＳシステム１０、または同じ店舗に設置されたＰＯＳシステム１０において全てのレシートに共通である。領域Ｒ１３と領域Ｒ２３においても、文字や数値は変化するが、文字サイズ、印刷位置（右揃え、左揃え）、文字装飾等の印刷形態は共通である。
従って、ＰＯＳシステム１０が印刷するレシートＲの印刷データＤをブロックに分割した場合、どの印刷データＤも、同じようにブロックに分割できると期待してよい。つまり、処理対象のコマンドを含む印刷データＤと、参照印刷データ６３Ａとして記憶された印刷データとが、同じように複数のブロックに分割されていると期待できる。
【００４５】
コマンド解析部５１は、参照印刷データ６３Ａに含まれるブロックのうち、処理対象のコマンドを含むブロックに対応するブロックを特定することもできる。例えば、コマンド解析部５１は、印刷データ中で何番目のブロックかをカウントすることで、対応するブロックを特定してもよい。また、コマンド解析部５１は、各ブロックのコマンド「“”」に含まれるオブジェクトのデータを参照し、同じデータを含むブロックを、対応するブロックとして特定してもよい。さらに、コマンド解析部５１は、処理対象の印刷データＤと参照印刷データ６３Ａとにおいて、文字装飾に関するコマンドを比較してもよい。そして、同種または同一の文字装飾に関するコマンドを含むブロックを、対応するブロックと判定してもよい。さらにまた、文字装飾に関するコマンドの組み合わせが共通または類似するブロックを、対応するブロックと判定してもよい。
【００４６】
コマンド解析部５１は、参照印刷データ６３Ａにおいて、処理対象のコマンドを含むブロックに対応するブロックから、処理対象のコマンドと同種のコマンドを抽出し、このコマンドのパラメーターを用いて、処理対象のコマンドのパラメーターを変更する。この場合、変更後のパラメーターは、処理対象のコマンドに対応する適正範囲内の値である上に、印刷されるデータに適した値となっている。つまり、期待される印刷形態に合ったパラメーターとなっている可能性が高い。従って、パラメーターを変更しても印刷形態を乱す心配がなく、好ましい印刷結果を得ることができる。例えば、レシートの形態から逸脱した形で印刷をしてしまうことがない。
【００４７】
このように、ＰＯＳシステム１０は、変形例の動作を実行する場合に、適正範囲から逸脱したパラメーターを、参照印刷データ６３Ａにおいて、処理対象のコマンドを含むブロックに対応するブロックに含まれるパラメーターに基づいて変更する。言い換えれば、コマンド解析部５１は、レシートを印刷する際に同様の位置で同様の機能を果たすコマンドのパラメーターを用いて、処理対象のコマンドのパラメーターを変更する。或いは、コマンド解析部５１は、印刷データＤにおける処理対象のコマンドと同様の位置で、同種の印刷形態を定義するコマンドのパラメーターを用いて、処理対象のコマンドのパラメーターを変更するということができる。これにより、パラメーターを変更しても印刷形態を乱す心配がない。従って、好ましい印刷形態で印刷を実行できるように、適正範囲内の値でないパラメーターを、適正範囲内の値に変更できる。
【００４８】
なお、上記実施形態及び変形例は、本発明の一実施態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態及び変形例では、店舗に設置されるＰＯＳシステム１０と、このＰＯＳシステム１０においてレシートを印刷するプリンター２６を例に挙げて説明したが、本発明はこれに限定されるものではない。コマンドを含む印刷データに基づいて印刷を行うプリンターであれば、本発明を適用できる。また、プリンターはサーマルプリンターに限定されず、インクジェット式プリンター、ドットインパクト式プリンター、レーザープリンターにおいても勿論適用可能である。
また、図１に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
また例えば、プリンター２６のプリンター側制御部４０の機能を、プリンター２６に外部接続される別の装置に持たせるようにしてもよい。また、外部接続される記憶媒体に記憶させたプログラムを実行することにより、図３で示した各フローチャートの各ステップを実行するようにしてもよい。その他の細部構成についても任意に変更可能である。
【符号の説明】
【００４９】
１０…ＰＯＳシステム、１１…ホストコンピューター、２６…プリンター（印刷装置）、４０…プリンター側制御部、４３…プリントエンジン（印刷手段）、５０…データ取得部（取得手段）、５１…コマンド解析部（パラメーター調整手段）、５５…印刷制御部（印刷手段）、６３…記憶部（記憶手段）、６３Ａ…参照印刷データ、Ｄ…印刷データ。
【図１】
2014188781.tif 000003
【図２】
2014188781.tif 000004
【図３】
2014188781.tif 000005
【図４】
2014188781.tif 000006