記録装置、記録装置の制御方法、及び、プログラム
【課題】制御装置に対する改変を行うことなく、記録ヘッドと切断部とのギャップに起因して発生するマージンをできるだけ縮小する。
【解決手段】プリンター2の記録制御部60は、先頭画像情報記憶部61により記憶した先頭画像データ72に基づいて、感熱ロール紙の切断位置の搬送方向上流側に、記録ヘッド24により先頭画像を記録させつつ、感熱ロール紙22の切断位置がカッターユニットのカット位置に至るまで感熱ロール紙22を搬送させて、感熱ロール紙を切断する。
【解決手段】プリンター2の記録制御部60は、先頭画像情報記憶部61により記憶した先頭画像データ72に基づいて、感熱ロール紙の切断位置の搬送方向上流側に、記録ヘッド24により先頭画像を記録させつつ、感熱ロール紙22の切断位置がカッターユニットのカット位置に至るまで感熱ロール紙22を搬送させて、感熱ロール紙を切断する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置に接続可能な記録装置、当該記録装置の制御方法、及び、当該記録装置を制御するためのプログラムに関する。
【背景技術】
【0002】
従来、制御装置(ホストPC)に接続可能に構成され、記録ヘッド(印字ヘッド)と、この記録ヘッドの搬送方向下流側に配置された切断部(切断装置)とを備えた記録装置(プリンター)が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−59502号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した記録装置では、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンをできるだけ縮小し、記録媒体の無駄な消費を抑制したいとするニーズがある。特に、制御装置に、当該ニーズに応えるための特別な動作をさせたり、また、通常と異なる特別な制御コマンドを記録装置に出力させたりすることなく当該ニーズに応えることにより、制御装置に実装されたプログラム、各種機構の改変をできるだけ避けたいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、制御装置に対する改変を行うことなく、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンをできるだけ縮小することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明は、制御装置に接続可能な記録装置であって、記録ヘッドと、記録媒体を搬送方向に搬送する搬送部と、前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部と、前記制御装置から、少なくとも前記記録媒体に記録すべき画像の情報を含む記録データを含む制御コマンドを受信する受信部と、前記受信部により受信した前記制御コマンドに基づいて、前記記録ヘッド、前記搬送部、及び、前記切断部を制御して、前記記録媒体への記録、前記記録媒体の搬送、及び、前記記録媒体の切断を行う記録制御部と、前記受信部により前記制御コマンドを受信した場合、前記記録データに含まれる画像の情報に基づいて、前記記録媒体に記録すべき画像のうち、前記記録媒体の先端部の所定の範囲に記録される画像である先頭画像の情報を抽出し、記憶する先頭画像情報記憶部と、を備え、前記記録制御部は、前記切断部により前記記録媒体を切断する場合、前記先頭画像情報記憶部により記憶した前記先頭画像の情報に基づいて、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断すること、を特徴とする。
この構成によれば、記録装置は、制御装置から入力された制御コマンドに含まれる記録データから、先頭画像の情報を抽出して記憶しておき、記録媒体を切断する際は、切断のための搬送と併せて、記録媒体における切断位置の搬送方向上流側に先頭画像を記録するため、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンをできるだけ縮小することが可能となる。
特に、制御装置は、記録装置に対して通常の制御コマンドを出力すれば、記録装置側で、自動で、先頭画像の情報が記憶され、以後は、当該先頭画像の情報に基づいて、記録媒体の切断のための搬送に伴う先頭画像の記録が実行されるため、制御装置に係るプログラムや、各種機構に対して改変を行う必要がない。
【0006】
また、上記発明の記録装置であって、本発明は、前記先頭画像情報記憶部は、前記先頭画像の情報が記憶されていない状態のときに前記受信部により前記制御コマンドを受信した場合、前記先頭画像の情報を記憶することを特徴とする。
この構成によれば、先頭画像の情報が記憶されていない状態のときに、制御コマンドに基づく先頭画像の情報の記憶が行われ、以後は、記憶した先頭画像の情報に基づく先頭画像の記録が行われることとなり、先頭画像の情報の記録に係る処理の回数を削減でき、処理効率が向上する。
なお、先頭画像の情報が記憶されていない場合としては、例えば、記録装置が初めて制御コマンドを受信した場合や、先頭画像の情報をRAM等の不揮発性メモリーに記憶する構成としたときに、電源をオフした後、再投入する場合等が想定されている。
【0007】
また、上記発明の記録装置であって、本発明は、前記記録制御部は、前記記録媒体の切断のための搬送に伴って前記先頭画像を記録した後、前記受信部により新たに前記制御コマンドを受信した場合、新たな前記制御コマンドの前記記録データに含まれる画像の情報のうち、前記先頭画像情報記憶部により記憶した前記先頭画像の情報以外の情報に基づいて、前記先頭画像に続けて画像の記録を行うことを特徴とする。
この構成によれば、記憶した先頭画像の情報に基づいて、切断のための搬送に伴う先頭画像の記録を実行した後に、新たな制御コマンドを受信した場合に、既に記録された先頭画像を重複して記録することなく、記録すべき画像を過不足なく記録可能となる。
【0008】
また、上記発明の記録装置であって、本発明は、前記記録制御部は、1の制御コマンドに係る前記記録媒体の切断を開始する前に、当該1の制御コマンドの次の前記制御コマンドを前記受信部により受信している場合であって、当該次の制御コマンドが所定の条件を満たす場合は、前記先頭画像の情報に基づく前記先頭画像の記録を伴わずに前記記録媒体を搬送し、切断した後、当該次の制御コマンドに従って記録媒体への記録を行うことを特徴とする。
この構成によれば、無条件に切断のための搬送に伴う先頭画像の記録を行うのではなく、所定の条件の場合は、当該先頭画像の記録を行わないことが可能となるため、記録装置に状況に応じた処理を行わせることが可能となる。
【0009】
また、上記発明の記録装置であって、本発明は、前記先頭画像の情報は、文字列を含んで構成される情報であり、前記先頭画像情報記憶部は、前記記録データに含まれる画像の情報から、予め設定された所定の文字列であるキーワード文字列を検出し、当該情報の先頭から前記キーワード文字列に至るまでの情報を抽出して前記先頭画像の情報として記憶することを特徴とする。
この構成によれば、設定されたキーワード文字列を利用して、記録データに含まれる画像の情報から、先頭画像の情報を具体的に特定することが可能となる。特に、記録データに含まれる画像の情報から、キーワード文字列を検出し、当該情報の先頭からキーワード文字列に至るまでの情報を抽出する、という非常に簡易な手段で、先頭画像の情報を特定できる。
【0010】
また、上記発明の記録装置であって、本発明は、前記先頭画像の情報は、1又は複数の行の文字列を含んで構成される情報であり、前記記録制御部は、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させる際、いずれかの行の文字列に基づく画像の記録が完了し、かつ、次の文字列が存在する場合は当該次の文字列に基づく画像の記録が開始されていない状態で、前記記録媒体の切断位置が前記切断部に対応する位置に至って切断が行われるように、前記切断部による切断の前に記録を行うべき文字列の行を決定することを特徴とする。
ここで、記録媒体を切断する際は、記録媒体の搬送や、記録ヘッドによる記録媒体への記録を停止する必要があるが、記録媒体に文字に係る画像を記録する場合において、文字を記録している途中で、記録媒体の切断が行われ、これに伴って文字の記録を一時的に中断し、切断後、文字の記録を再開した場合、上記一時的な中断が記録された文字の白スジ、ドットずれの要因となり、印刷品質の低下を招く可能性がある。
これを踏まえ、上記構成によれば、いずれかの行の文字列に基づく画像の記録が完了し、かつ、次の文字列が存在する場合は当該次の文字列に基づく画像の記録が開始されていない状態で、記録媒体の切断位置が切断部に対応する位置に至って切断が行われることとなるため、上述した要因による印刷品質の低下を効果的に抑制することが可能となる。
【0011】
また、上記発明の記録装置であって、本発明は、前記先頭画像情報記憶部は、前記記録データに、前記先頭画像を構成する文字列の装飾に係る付加情報が含まれている場合は、前記先頭画像の情報と併せて前記付加情報を記憶することを特徴とする。
ここで、文字列の装飾とは、文字列の拡大、縮小、回転、強調、太字化、装飾文字又は装飾記号の付加、文字列の移動、その他の文字列に対して施される描画に関する何らかの処理のことである。
そして、上記構成によれば、先頭画像に施すことが想定された装飾を適切に施した上で、切断のための搬送に伴って先頭画像を記録することが可能となる。
【0012】
また、上記発明の記録装置であって、本発明は、前記制御装置は、前記キーワード文字列の変更を入力可能に構成されると共に、当該入力に基づいて、前記キーワード文字列の設定を変更するためのキーワード設定コマンドを出力可能に構成され、前記制御装置から入力された前記キーワード設定コマンドに基づいて、設定された前記キーワード文字列を変更するキーワード文字列設定部をさらに備えることを特徴とする。
この構成によれば、制御装置に対して、キーワード文字列の変更を入力することにより、設定されたキーワード文字列を変更することが可能となり、利便性が向上する。
【0013】
また、上記発明の記録装置であって、本発明は、前記先頭画像情報記憶部は、前記記録データに含まれる画像の情報から、前記切断部に対応する位置に前記記録媒体の先端が位置しているとした場合に前記切断部と前記記録ヘッドとで挟まれた領域に対応する画像の情報を抽出し、前記先頭画像の情報として記憶することを特徴とする。
ここで、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンを縮小するという目的を達成するためには、先頭画像の情報として、少なくとも、切断部に対応する位置に記録媒体の先端が位置しているとした場合に切断部と記録ヘッドとで挟まれた領域に対応する画像の情報を記憶しておき、当該情報に基づいて、切断のための搬送を開始した後、記録媒体の切断位置が切断部に対応する位置に至るまでの間、画像を記録する必要がある。
これを踏まえ、上記構成によれば、先頭画像として記憶しておく必要がある情報を確実に記憶することが可能となる。
【0014】
また、上記発明の記録装置であって、本発明は、前記先頭画像情報記憶部は、前記記録データに画像の装飾に係る付加情報が含まれている場合は、前記付加情報に基づく画像の装飾を反映して、前記領域に対応する画像の情報の抽出を行うことを特徴とする。
この構成によれば、装飾を反映して適切に、切断部に対応する位置に記録媒体の先端が位置しているとした場合に切断部と記録ヘッドとで挟まれた領域に対応する画像の情報を抽出することが可能となる。
【0015】
また、上記目的を達成するために、本発明は、制御装置に接続可能に構成され、記録ヘッドと、記録媒体を搬送方向に搬送する搬送部と、前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部と、前記制御装置から、少なくとも前記記録媒体に記録すべき画像の情報を含む記録データを含む制御コマンドを受信する受信部と、を備える記録装置の制御方法であって、前記受信部により前記制御コマンドを受信した場合、前記記録データに含まれる画像の情報に基づいて、前記記録媒体に記録すべき画像のうち、前記記録媒体の先端部の所定の範囲に記録される画像である先頭画像の情報を抽出して記憶し、前記切断部により前記記録媒体を切断する場合、記憶した前記先頭画像の情報に基づいて、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断すること、を特徴とする。
この制御方法によれば、記録装置は、制御装置から入力された制御コマンドに含まれる記録データから、先頭画像の情報を抽出して記憶しておき、記録媒体を切断する際は、切断のための搬送と併せて、記録媒体における切断位置の搬送方向上流側に先頭画像を記録するため、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンをできるだけ縮小することが可能となる。
特に、制御装置は、記録装置に対して通常の制御コマンドを出力すれば、記録装置側で、自動で、先頭画像の情報が記憶され、以後は、当該先頭画像の情報に基づいて、記録媒体の切断のための搬送に伴う先頭画像の記録が実行されるため、制御装置に係るプログラムや、各種機構に対して改変を行う必要がない。
【0016】
また、上記目的を達成するために、本発明は、制御装置に接続可能に構成され、記録ヘッドと、記録媒体を搬送方向に搬送する搬送部と、前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部と、前記制御装置から、少なくとも前記記録媒体に記録すべき画像の情報を含む記録データを含む制御コマンドを受信する受信部と、を備える記録装置の各部を制御する制御部により実行されるプログラムであって、前記制御部を、前記受信部により前記制御コマンドを受信した場合、前記記録データに含まれる画像の情報に基づいて、前記記録媒体に記録すべき画像のうち、前記記録媒体の先端部の所定の範囲に記録される画像である先頭画像の情報を抽出し、記憶する先頭画像情報記憶部と、前記受信部により受信した前記制御コマンドに基づいて、前記記録ヘッド、前記搬送部、及び、前記切断部を制御して、前記記録媒体への記録、前記記録媒体の搬送、及び、前記記録媒体の切断を行い、前記切断部により前記記録媒体を切断する場合、前記先頭画像情報記憶部により記憶した前記先頭画像の情報に基づいて、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断する記録制御部と、として機能させることを特徴とする。
このプログラムを実行すれば、記録装置は、制御装置から入力された制御コマンドに含まれる記録データから、先頭画像の情報を抽出して記憶しておき、記録媒体を切断する際は、切断のための搬送と併せて、記録媒体における切断位置の搬送方向上流側に先頭画像を記録するため、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンをできるだけ縮小することが可能となる。
特に、制御装置は、記録装置に対して通常の制御コマンドを出力すれば、記録装置側で、自動で、先頭画像の情報が記憶され、以後は、当該先頭画像の情報に基づいて、記録媒体の切断のための搬送に伴う先頭画像の記録が実行されるため、制御装置に係るプログラムや、各種機構に対して改変を行う必要がない。
【発明の効果】
【0017】
本発明によれば、制御装置に対する改変を行うことなく、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンをできるだけ縮小できる。
【図面の簡単な説明】
【0018】
【図1】第1実施形態に係るPOS端末の概略構成を示す図である。
【図2】プリンターの本体内部の構成を模式的に示す図である。
【図3】POS端末の機能的構成を示すブロック図である。
【図4】記録データ、及び、レシートを模式的に示す図である。
【図5】従来のホストコンピューターとプリンターとのシーケンス図である。
【図6】記録ヘッドと、カッターユニットとの関係を模式的に示す図である。
【図7】レシートの様子を模式的に示す図である。
【図8】ホストコンピューターとプリンターとの動作を示すフローチャート。
【図9】レシートと先頭画像との関係を模式的に示す図である。
【図10】先頭画像に係る描画データを所定の座標系に展開した様子を示す図。
【図11】第2実施形態に係るPOS端末の機能的構成を示すブロック図である。
【図12】プリンターの動作を示すフローチャートである。
【図13】記録データが示す画像に係る描画データを所定の座標系に展開した図。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施形態について説明する。
<第1実施形態>
図1は、本発明を適用した実施形態に係るPOS端末1の概略構成を示す図である。
また、図2は、POS端末1が備えるプリンター2(記録装置)の本体内部の構成を模式的に示す図である。
図1に示すPOS端末1は、スーパーマーケットやコンビニエンスストア等の店舗に構築された販売時点管理システム(POSシステム)上に設けられた端末であり、売上登録処理及び精算処理を行うホストコンピューター3と、このホストコンピューター3に接続され、ホストコンピューター3の制御の下、レシート10を発行するプリンター2と、を備えている。
ホストコンピューター3は、売上登録処理及び精算処理の処理内容を表示するディスプレー12、売上登録処理時に商品に付されたバーコードを読み取るバーコードスキャナー13、売上登録キー等の各種キーを備えたキー入力部14、精算用の現金を収容するキャッシュドロワー15等を備えている。また、ホストコンピューター3には、売上登録した情報を収集するPOSサーバー16が接続されている。
レシート10の発行に際し、ホストコンピューター3は、バーコードスキャナー13からの入力値や、キー入力部14からの入力値に基づいて、適宜、POSサーバー16にアクセスしてレシート10を発行するために必要な情報を取得し、プリンター2にレシート10の発行に係る各種動作を行わせる制御コマンドを生成し、プリンター2に出力する。プリンター2は、ホストコンピューター3から入力された制御コマンドに基づいて、各部を動作させ、レシート10を発行する。
【0020】
また、図1及び図2に示すように、記録装置としてのプリンター2は、本体20に記録媒体としての感熱ロール紙22を収容し、感熱ロール紙22を搬送するローラー形状のプラテン23(搬送部)と、プラテン23に対向配置された記録ヘッド24と、感熱ロール紙22を切断するカッターユニット25(切断部)とを備えている。
プリンター2は、搬送モーター26(図3)を駆動して、プラテン23を回転して、感熱ロール紙22を搬送方向Y1に搬送しながら、発熱素子が並べて設けられた記録ヘッド24によって、感熱ロール紙22の記録面に熱を与えて、感熱ロール紙22の記録面にドットを形成することにより、画像を記録するサーマルラインプリンターである。
画像が記録された感熱ロール紙22は、本体20の上面に形成された排紙口28から外に向けて搬送され、この排紙口28よりも搬送方向Y1上流側でカッターユニット25により切断され、レシート10となる。
【0021】
図2に示すように、プリンター2が備えるカッターユニット25は、感熱ロール紙22の搬送路の一方側に配置された固定刃30と、この固定刃30に対向して感熱ロール紙22の搬送路の他方側に配置された可動刃31と、可動刃31を固定刃30に向けてスライドさせるカッター駆動モーター32とを備え、カッター駆動モーター32の駆動力により、駆動機構(図示略)を介して可動刃31がカッター駆動モーター32に向けて移動され、固定刃30と可動刃31との間に印刷後の感熱ロール紙22が挟まれ、切断される。
また、図1に示すように、プリンター2の本体20には開閉可能なカバー35が設けられる。本体20には、カバー35を開くためのレバー36が設けられ、カバー35を開くと、感熱ロール紙22を収容する空間が露出し、感熱ロール紙22の補充や交換が可能になる。また、本体20には、プリンター2の電源をオン/オフさせる電源スイッチ37、手動による感熱ロール紙22の搬送等の操作を行うための紙送りスイッチ38、及び、所定の態様で点灯/消灯することによりプリンター2の状態や、エラーの発生の有無等を表示するLED39が設けられている。
【0022】
図3は、POS端末1の機能的構成を示すブロック図である。
図3に示すように、ホストコンピューター3は、ホスト側制御部40と、ホスト側入力部41と、ホスト側表示部42と、ホスト側記憶部43と、ホスト側インターフェイス部44と、を備えている。
ホスト側制御部40は、ホストコンピューター3を中枢的に制御するものであり、各種プログラムを実行するCPU、CPUにより実行される基本制御プログラム等を記憶するROM、CPUが実行するプログラムや処理対象のデータ等を一時的に記憶するワークエリアを形成するRAM、その他周辺回路等を備えている。ホスト側制御部40は、POSアプリケーション実行部40aと、プリンタードライバー実行部40bと、を備えているが、これらについては後述する。
ホスト側入力部41は、上述したキー入力部14を含めた各種入力デバイスに接続され、入力デバイスに対する操作を検出し、ホスト側制御部40に出力する。
ホスト側表示部42は、上述したディスプレー12に接続され、ホスト側制御部40の制御の下、売上登録処理及び精算処理の処理内容等の各種情報をディスプレー12に表示する。
なお、上述したように、ホストコンピューター3は、バーコードスキャナー13や、キャッシュドロワー等の各種レジスター周辺デバイスが接続されているが、ホストコンピューター3には、これらデバイスを接続するためのインターフェイスが実装されると共に、これらデバイスを制御するためのデバイスドライバーが予めインストールされている。
ホスト側記憶部43は、ハードディスクや、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に、不揮発的に記憶する。
ホスト側インターフェイス部44は、ホスト側制御部40の制御の下、プリンター2との間で通信規格に準拠した通信を行う。
【0023】
プリンター2は、上述したようにレシート10を発行するサーマルラインプリンターであり、図3に示すように、制御部50と、プリントエンジン51と、入力部52と、表示部53と、記憶部54と、インターフェイス部55と、を備えている。
制御部50は、プリンター2の各部を中枢的に制御するものであり、上述したホスト側制御部40と同様、CPUや、ROM、RAM、その他の周辺回路等を備えている。
プリントエンジン51は、制御部50が備える記録制御部60の制御の下、記録ヘッド24や、搬送モーター26、カッター駆動モーター32等を動作させて、感熱ロール紙22に画像を記録し、画像を記録した感熱ロール紙22を切断することによりレシート10を発行する。この記録制御部60の機能は、CPUや、ファームウェアとのプログラムを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
入力部52は、電源スイッチ37、及び、紙送りスイッチ38に接続され、これら操作スイッチに対する操作を検出し、制御部50に出力する。
表示部53は、制御部50の制御の下、LED39に駆動信号を出力し、所定の態様でLED39を点灯/消灯させる。
記憶部54は、EEPROMや、ハードディスク等の不揮発性メモリーを備え、各種データを書き換え可能に、不揮発的に記憶する。記憶部54に記憶される各データについては、後述する。
インターフェイス部55は、ホストコンピューター3との間で、通信規格に準拠した通信を行う。このインターフェイス部55と、制御部50とが協働して、ホストコンピューター3から制御コマンドを受信する受信部として機能する。
【0024】
次いで、POSアプリケーション実行部40a、及び、プリンタードライバー実行部40bの説明を通して、1つのレシート10を発行する際のPOS端末1の基本的な動作について説明する。
POSアプリケーション実行部40aは、ホストコンピューター3に予めインストールされたPOSアプリケーションを実行することにより、取引毎に、POSサーバー16にアクセスして必要な情報を取得した上で、購入された商品を示す情報や、商品の単価を示す情報、合計購入金額を示す情報等のレシート10(図4(B))に記載すべき情報を取得し、取得した情報に基づいて、レシート10に記録すべき画像の情報を含む印刷データを生成し、プリンタードライバー実行部40bに出力する。
プリンタードライバー実行部40bは、ホストコンピューター3に予めインストールされたプリンタードライバーを実行することにより、POSアプリケーション実行部40aから入力された印刷データに基づいて、プリンター2のコマンド仕様に対応した制御コマンドを生成し、プリンター2に出力する。
制御コマンドとは、プリンター2にレシート10の発行に係る各種動作を行わせるためのコマンド群のことであり、所定の搬送量だけ感熱ロール紙22の搬送を指示する搬送指示コマンドHCや、カッターユニット25によるによる切断を指示する切断指示コマンドSCのほか、記録データ80が含まれている。
記録データ80(図4(A))とは、感熱ロール紙22に記録すべき画像の情報、具体的には、記録すべき画像の内容(文字列や、所定のグラフィック、バーコード等)や、その順序を具体的に指定し、記録させる情報のことである。この記録データ80の具体的な態様については、後に詳述する。
ホストコンピューター3からプリンター2に出力された制御コマンドは、順次、受信バッファー56に格納される。プリンター2の制御部50の記録制御部60は、受信バッファー56に格納された制御コマンドを、順次、読み出して実行することにより、プリントエンジン51を制御して、レシート10の発行に係る各種動作を実行する。特に、記録制御部60は、記録データ80に基づいてプリントエンジン51を制御することにより、感熱ロール紙22への所定の画像の記録、及び、画像の記録に伴う必要な搬送を行う。
【0025】
次いで、記録データ80、及び、記録データ80に基づいて画像が記録されたレシート10の具体例について、説明する。
【0026】
図4(A)は、記録データ80の内容の一例を示す図であり、図4(B)は、図4(A)の記録データ80に基づいて画像が記録されたレシート10の一例を示す図である。
図4(B)のレシート10では、図中上に向かう方向が、搬送方向Y1に対応する方向である。従って、レシート10の発行の際には、感熱ロール紙22が切断されて先端10aが形成された後、記録ヘッド24によってレシート10の先端10a側から後端10b側へ向かって、順次、ドットが形成されて画像が記録され、その後、感熱ロール紙22が切断されて後端10bが形成される。
【0027】
本実施形態では、プリンター2が発行するレシート10のレイアウトは、所定の例外を除き、いずれのレシート10についても基本的に同一である。
すなわち、図4(B)に示すように、レシート10では、先端10aから後端10bへ向かって順番に、換言すれば、記録ヘッド24による記録が行われる順番に、先頭画像エリアA1、レシート情報エリアA2、グラフィックエリアA3、及び、バーコードエリアA4が形成される。
先頭画像エリアA1には、所定の文字列が所定の態様で定型的に記録されるエリアである。図4(B)の例では、「AAA△Store」(△はスペース。以下同じ。)という文字列が、基準の大きさの2倍の大きさで、中央寄せ(レシート10の幅方向の中央部に文字列が記録されるようにすること。)で記録され、次の行に「at△BBB△Area」という文字列が、基準の大きさで、中央寄せで記憶される。
本実施形態では、所定の例外を除き、プリンター2が発行する全てのレシート10について、先頭画像エリアA1には、同一の文字列が同一の態様で記録される。以下、先頭画像エリアA1に記録される上記の2行の文字列のことを「先頭画像」と表現するものとする。すなわち、先頭画像とは、レシート10の先端部に定型的に記録される文字列に係る画像のことである。
レシート情報エリアA2は、レシート10を発行した日時や、購入した商品の名称、商品の単価、合計購入金額、その他の付加的な情報が文字列として記録されるエリアである。
グラフィックエリアA3は、所定のグラフィック画像が記録されるエリアである。グラフィック画像については、後述する。
バーコードエリアA4は、バーコードが記録されるエリアである。
【0028】
記録データ80は、上述したように、感熱ロール紙22に記録すべき画像の情報を含むデータであるが、具体的には、感熱ロール紙22に所定の画像を所定の態様で記録させることを指示するコマンドが、記録させる順番に並んで構成されたデータである。プリンター2の制御部50の記録制御部60は、記録データ80を構成する各コマンドを、順次、読み出して実行することにより、感熱ロール紙22への画像の記録、及び、画像の記録に伴う必要な搬送を行う。
図4(A)において、コマンド群H1は、レシート10の先頭画像を構成する2行の文字列のうち、「AAA△Store」の文字列を所定の態様で記録させるコマンド群であり、文字列装飾コマンドMS1、及び、文字列記録指示コマンドMK1の2つのコマンドが含まれている。
文字列装飾コマンドMS1は、「AAA△Store」の文字列に施す装飾を指定するコマンドであり、具体的には、当該文字列の大きさを基準の2倍の大きさとすること、及び、当該文字列を中央寄せすることを指定するコマンドである。なお、装飾とは、記録する文字列に対して描画に関する何らかの処理を行うことを意味し、例えば、上述した文字列の拡大や、文字列の位置の移動のほか、例えば、縮小、回転、強調、太字化、装飾文字又は装飾記号の付加等が装飾に該当する。
文字列記録指示コマンドMK1は、「AAA△Store」の文字列を記録することを指示するコマンドである。本実施形態では、基本的に、文字列記録指示コマンドは、命令コードと、所定の文字コード(例えば、アスキーコード。)で表現された文字の組み合わせからなる文字列と、が組み合わされて構成されている。例えば、文字列記録指示コマンドMK1は、「XXX△“AAA△Store”」(ただし、XXXは、文字列を記録することを指示する命令コード。また、ダブルクォーテーション内の文字列は、アスキーコードで表現された文字の組み合わせによって構成された文字列。)という構成となっている。
【0029】
記録制御部60は、プリントエンジン51を制御して、文字列装飾コマンドMS1により指定された装飾を施した上で、文字列記録指示コマンドMK1に記述された文字列を記録媒体に記録する。これにより、図4(B)に示すように、基準の2倍の大きさで、中央寄せされた「AAA△Store」の文字列が記録される。
詳述すると、プリンター2の記憶部54には、フォントテーブル70が記憶されている。フォントテーブル70とは、フォントデータを集合して記憶するテーブルであり、また、フォントデータとは、文字を感熱ロール紙22に記録可能な態様で表現する実データのことである。本実施形態では、フォントデータの態様は、ビットマップフォントデータである。フォントデータの態様としては、ビットマップデータのほか、スケイラブルフォントデータや、ベクトルフォントデータ、アウトラインフォントデータ等がある。
なお、本実施形態では、感熱ロール紙22に記録する「文字」は、言語で使用される意味を持った文字のみならず、記憶部54に記憶されたフォントデータに基づいて感熱ロール紙22に記録可能な「図形」の全てを指す概念である。
アスキーコードで表現された文字のそれぞれは、フォントテーブル70に記憶されたいずれかのフォントデータと対応関係にあり、この対応関係を示す情報が記憶部54に予め記憶されている。例えば、各アスキーコードと、各アスキーコードに対応するフォントデータの位置(フォントテーブル70における記憶領域のアドレス)とが対応づけて記憶されたテーブルが記憶部54に予め記憶されている。
そして、文字列装飾コマンドMS1、及び、文字列記録指示コマンドMK1に基づいて、「AAA△Store」の文字列を記録する際、記録制御部60は、フォントテーブル70、及び、アスキーコードとフォントデータとの対応関係を示す情報を参照して、当該文字列を構成する各文字のフォントデータを取得し、文字列装飾コマンドMS1が指定する装飾を反映した上で、取得したフォントデータに基づいて、プリントバッファー(不図示)に文字列に係る画像データ(ビットマップデータ)を展開する。次いで、記録制御部60は、プリントバッファーに展開した当該文字列に係る画像データに基づいて、記録ヘッド24や、搬送モーター26等を駆動して、感熱ロール紙22に文字列に係る画像を構成するドットを形成することにより、「AAA△Store」の文字列を記録する。
【0030】
コマンド群H1に続く、コマンド群H2は、「at△BBB△Area」の文字列を所定の態様で記録させるコマンド群であり、当該文字列の大きさを基準の大きさとすること、及び、当該文字列を中央寄せすることを指定する文字列装飾コマンドMS2、及び、「at△BBB△Area」の文字列を記録することを指示する文字列記録指示コマンドMK2を含んで構成されている。
記録制御部60は、コマンド群H2に含まれる各コマンドに基づいて、プリントエンジン51を制御して、図4(B)に示すように、基準の大きさで、中央寄せされた「at△BBB△Area」の文字列を記録する。
コマンド群H2の後には、2つの改行コマンドLFが続いている。これにより、図4(B)に示すように、「at△BBB△Area」の文字列の後には、改行が2つ挿入される。
【0031】
2つの改行コマンドLFの後には、コマンド群H3が続いている。このコマンド群H3は、レシート10のレシート情報エリアA2に画像を記録させるコマンド群であり、上述した文字列装飾コマンド、文字列記録指示コマンド、及び、改行コマンドが組み合わされて構成されている。このコマンド群H3の詳細については省略する。
【0032】
コマンド群H3の後には、グラフィック記録指示コマンドGSが続いている。
記録制御部60は、このグラフィック記録指示コマンドGSに基づいて感熱ロール紙22にグラフィック画像を記録する。
詳述すると、プリンター2の記憶部54には、登録グラフィックテーブル71が記憶されている。この登録グラフィックテーブル71では、複数のグラフィック画像データと、各グラフィック画像に一意に付与された識別コードとが対応づけて記憶されている。グラフィック画像データとは、フォントデータに基づいて記録される画像ではない、所定の画像(グラフィック画像)を表現するビットマップデータのことであり、例えば、図4(B)のレシート10のグラフィックエリアA3のグラフィック画像(強調用の飾り枠の中に「10%Off」という文字列が描画された画像)を表現するビットマップデータである。
そして、グラフィック記録指示コマンドGSには、記録すべきグラフィック画像の識別コードを特定する情報が含まれており、グラフィック記録指示コマンドGSに基づいてグラフィック画像を記録する際、記録制御部60は、登録グラフィックテーブル71を参照して、当該識別コードに対応するグラフィック画像データを取得し、取得したグラフィック画像データをプリントバッファーに展開し、展開したグラフィック画像データに基づいてプリントエンジン51を制御して、グラフィック画像の記録を行う。
なお、グラフィック記録指示コマンドGSを、グラフィックエリアA3に記録すべき画像のビットマップデータを含んだ構成とし、当該ビットマップデータに係る画像を記録させるコマンドとすること可能である。この場合、記録制御部60は、グラフィック記録指示コマンドGSに含まれるビットマップデータをプリントバッファーに展開して画像を記録する。
【0033】
グラフィック記録指示コマンドGSの後には、バーコード記録指示コマンドBSが続いている。
バーコード記録指示コマンドBSは、HRI文字に関する各種設定(HRI文字を記録するか否か、HRI文字をバーコードとの関係でどこに記録するか等)を指定するコマンドや、バーコードを記録する際のサイズを指定するコマンド、バーコードに変換しようとしている文字列(以下、「変換前文字列」という。)を指定すると共に当該変換前文字列に基づくバーコードの画像を記録することを指示するコマンド等が含まれて構成されている。
バーコード記録指示コマンドBSに基づいてバーコードを記録する際、記録制御部60は、バーコード記録指示コマンドBSに含まれる変換前文字列を取得し、取得した変換前文字列を、ファームウェアに実装された所定の機能により、画像としてのバーコードを表現するビットマップデータに変換し、HRI文字に関する各種設定や、バーコードのサイズに関する各種設定を反映した上で、画像としてのバーコードを表現するビットマップデータをプリントバッファーに展開し、展開したビットマップデータに基づいて、プリントエンジン51を制御して、バーコード、及び、HRI文字に係る画像を感熱ロール紙22に記録する。
【0034】
図5は、本願発明を適用する前の従来のPOS端末1におけるプリンター2、及び、ホストコンピューター3の動作を説明するためのシーケンス図である。
従来は、複数のレシート10を発行する場合、プリンター2、及び、ホストコンピューター3は、以下のような手順で各種処理を行っていた。
すなわち、図5に示すように、まず、ホストコンピューター3は、プリンター2に記録データ80を送信する(ステップSA1)。
次いで、プリンター2の記録制御部60は、受信した記録データ80に基づいて、感熱ロール紙22に記録データ80の内容に準拠した画像の記録を行う(ステップSA2)。
次いで、ホストコンピューター3は、感熱ロール紙22の切断位置(レシート10を発行すべく感熱ロール紙22を切断すべき位置であり、以下、「紙切断位置」という。)が、カッターユニット25のカット位置T2(カッターユニット25によって切断が行われる位置。すなわち、固定刃30と、可動刃31とが対峙した位置。)に至るまで、所定量だけ感熱ロール紙22を搬送することを指示する搬送指示コマンドHCをプリンター2に送信する(ステップSA3)。
【0035】
図6は、記録ヘッド24と、カッターユニット25との位置関係を説明するため、これら装置を模式的に示す図である。
図2、及び、図6に示すように、本実施形態では、感熱ロール紙22が搬送される搬送経路(図6)K上の所定の位置に記録ヘッド24が設けられ、この記録ヘッド24の搬送方向Y1下流に感熱ロール紙22を切断するためのカッターユニット25が設けられている。
図6に示すように、記録ヘッド24によって画像が記録される記録位置T1(発熱素子が配置された位置)と、カッターユニット25のカット位置T2との間には、ギャップGが形成されている。
【0036】
ステップSA3において、ホストコンピューター3からプリンター2に搬送指示コマンドHCが送信された後、プリンター2の記録制御部60は、受信した搬送指示コマンドHCに基づいて、プリントエンジン51を制御して、感熱ロール紙22を所定量だけ搬送する(ステップSA4)。
次いで、ホストコンピューター3は、カッターユニット25による感熱ロール紙22の切断を指示する切断指示コマンドSCをプリンター2に送信する(ステップSA5)。
次いで、プリンター2の記録制御部60は、受信した切断指示コマンドSCに基づいて、プリントエンジン51を制御して、感熱ロール紙22を切断する(ステップSA6)。
このようにして1のレシート10を発行した後、さらに、次のレシート10を発行する場合、ホストコンピューター3は、記録データ80、搬送指示コマンドHC、及び、切断指示コマンドSCを順次送信し、プリンター2は受信したコマンドを順次実行する(ステップSA7〜ステップSA12)。
【0037】
以上のようなシーケンスで、複数のレシート10を発行していた従来では、以下のような問題があった。
【0038】
図7(A)は、従来の問題点を説明するため、感熱ロール紙22を模式的に示す図である。
図6で説明したように、従来のシーケンスによれば、1のレシート10に係る記録データ80に基づく画像の記録が終了した後、感熱ロール紙22の紙切断位置が、カット位置T2に至るまで感熱ロール紙22が搬送された上で感熱ロール紙22が切断され、その後、次のレシート10に係る記録データ80に基づく画像の記録が開始されるという手順であった。このため、図7に示すように、記録ヘッド24の記録位置T1と、カッターユニット25のカット位置T2との搬送方向Y1におけるギャップGに起因して、レシート10の先端10aと、当該レシート10に記録される先頭画像の先端との間に形成されるマージンMが拡大化する傾向にあった。
【0039】
そして、このマージンMは、何ら画像が記録されない無駄な領域であるため、できるだけ当該マージンMを縮小し、感熱ロール紙22の無駄な消費を抑制したいとするニーズがある。
特に、ホストコンピューター3に対する改変、例えば、プログラム修正や、プログラムの書き換え、ホストコンピューター3自体の交換、各種機構の改変等を行うことなく、マージンMを縮小したいとするニーズがあった。これは、例えば、本発明をPOS端末1に適用する際に、ホストコンピューター3に対する改変が必要ない分、作業性がよいからである。さらに、ある店舗において、当該店舗に設置された既存のホストコンピューター3にプリンター2を接続することによりPOS端末1を構築するような状況の場合に、既存のホストコンピューター3に対する改変を行う必要がないため、プリンター2を購入し、導入する店舗側にとっては作業の容易性、接続の確実性の面でメリットがあり、また、プリンター2を販売、提供する主体(例えば、製造メーカー)にとっては、プリンター2の商品価値を向上できるという点でメリットがあるからである。
以上を踏まえ、本実施形態に係るプリンター2は、以下の動作を実行する。
【0040】
図8は、本実施形態に係るプリンター2、及び、ホストコンピューター3の動作を示すフローチャートであり、(A)はホストコンピューター3の動作を、(B)はプリンター2の動作をそれぞれ示している。
図8では、1つのレシート10を発行する場合におけるプリンター2、及び、ホストコンピューター3の動作を示している。
また、以下の説明において、制御部50、記録制御部60、及び、先頭画像情報記憶部61の機能は、CPUがファームウェア等のプログラムを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
図8に示すように、まず、ホストコンピューター3が記録データ80を送信する(ステップSB1)。
次いで、プリンター2は、ホストコンピューター3が送信した記録データ80を受信する(ステップSC1)。受信した記録データ80は、一旦、受信バッファー56に格納される。
次いで、先頭画像情報記憶部61は、記憶部54に先頭画像データ72(後述)が既に記憶されているか否かを判別する(ステップSC2)。
以下、まず、ステップSC2において先頭画像データ72(後述)が未だ記憶部54に記憶されていない場合(ステップSC2:NO)の、プリンター2の動作を説明する。
なお、ステップSC2で「NO」と判別される場合は、感熱ロール紙22の先端部に、先頭画像が記録されていない状態を想定している。従って、記憶部54に先頭画像データ72が記憶されていない場合のほか、感熱ロール紙22の交換のタイミングや、エラー等の何らかの原因により、先頭画像データ72が記憶部54に記憶されている場合であっても、感熱ロール紙22の先端部に、先頭画像が記録されていない状態である場合には、ステップSC2で「NO」と判別される。
先頭画像データ72が未だ記憶部54に記憶されていない場合(ステップSC2:NO)、先頭画像情報記憶部61は、記憶部54に記憶されたキーワード文字列データ73を参照し、キーワード文字列を取得する(ステップSC3)。キーワード文字列については後述する。
次いで、先頭画像情報記憶部61は、ステップSC3で取得したキーワード文字列を利用して、ステップSC1で受信した記録データ80に含まれる画像の情報から、先頭画像の情報を抽出する(ステップSC4)。
以下、ステップSC4の動作について図4を援用して詳述する。
【0041】
上述したように、本実施形態では、プリンター2によって発行される全てのレシート10について、レシート10の先端部(先頭)に、先頭画像として、所定の文字列が、所定の態様で記録される。具体的には、レシート10の先端部に「AAA△Store」の文字列と、当該文字列に続く「at△BBB△Area」の文字列とが定型的に記録される。
そして、キーワード文字列とは、先頭画像を構成する文字列の末尾に該当する文字列のことであり、上記例では、「Area」がこのキーワード文字列に該当する。
ステップSC4において、先頭画像情報記憶部61は、受信バッファー56に格納されている記録データ80を分析し、各文字列記録指示コマンド(所定の命令コードと、所定の文字コードからなる文字の組み合わせで表現された文字列とを含んで構成されるコマンド)に含まれた文字列の中から、キーワード文字列を検索する。上述したように、文字列記録指示コマンドにおいて、文字列は、所定の文字コードからなる文字の組み合わせによって表現されているため、既存の文字列検索用のアルゴリズムを用いて、記録データ80から、キーワード文字列の検索が可能である。
次いで、先頭画像情報記憶部61は、記録データ80に基づいて画像を記録した場合に、その先頭に記録される文字列から、検索されたキーワード文字列に至るまでの一連の文字列が、先頭画像、すなわち、レシート10の先端部に定型的に記録される文字列であるものとし、記録データ80から、当該一連の文字列の記録に係る一連のコマンドを抽出する。図4(A)の例では、「AAA△Store」の文字列の記録に係る一連のコマンドを含むコマンド群H1の各コマンド、及び、「at△BBB△Area」の文字列の記録に係る一連のコマンドを含むコマンド群H2の各コマンドを抽出する。このように、先頭画像情報記憶部61は、文字列記録指示コマンドのみならず、文字列に施す装飾を指定するコマンドである文字列装飾コマンドも併せて抽出する。
以上のようにして抽出した一連のコマンド(上記例では、コマンド群H1及びコマンド群H2に含まれるコマンド)が、「先頭画像の情報」に該当する。
【0042】
ステップSC4において先頭画像の情報を抽出した後、先頭画像情報記憶部61は、当該抽出した先頭画像の情報(一連のコマンド)を、先頭画像データ72として記憶部54に記憶する(ステップSC5)。
次いで、記録制御部60は、先頭画像を構成する文字列の行うち、切断のための搬送に伴って記録する文字列の行、換言すれば、切断のための搬送を開始した後、感熱ロール紙22が切断される前に、記録すべき文字列の行、及び、先頭画像に係る文字列の記録を開始する感熱ロール紙22における位置を決定する(ステップSC6)。
以下、ステップSC6の動作について詳述する。
【0043】
図9は、ステップSC6の動作を説明するために、所定の態様で、先頭画像を感熱ロール紙22に記録した様子を示す図である。
上述したように、本願発明は、記録ヘッド24の記録位置T1と、カッターユニット25のカット位置T2との搬送方向Y1におけるギャップGに起因して、レシート10の先端10aと、当該レシート10に記録される先頭画像の先端との間に形成されるマージンMを縮小することをその目的の1つとしている。
当該目的を達成するために、プリンター2は、図7(B)に示すように、記録データ80に基づく画像の記録が終了した後、感熱ロール紙22を切断するために、感熱ロール紙22を搬送方向Y1に搬送する際に、当該搬送と並行して、先頭画像を記録するにようにし、これによりマージンMを縮小する。
これを踏まえ、ギャップGと、感熱ロール紙22における先頭画像との関係が図9(A)のような状態であるものとする。この図9(A)では、感熱ロール紙22の先端と、先頭画像の先端との距離が、マージンMminとなっている。このマージンMminは、レシート10の枠と、画像とのバランスを考慮して、レシート10の見栄え上の観点から、最低限必要とされるマージンである。従って、マージンMをマージンMminとすれば、マージンMを最も縮小させることができる。
そして図9(A)に示す状態の場合、「at△BBB△Area」の文字列を感熱ロール紙22に記録している途中で、一旦記録が中断され、感熱ロール紙22の切断が行われ、切断の終了後、再び、「at△BBB△Area」の文字列の残りの部分の記録が行われることとなる。この場合、文字列の記録の一時的な中断が、記録された文字列の白スジ、ドットずれの要因となり、印刷品質の低下を招く可能性がある。特に、感熱ロール紙22の切断の際、カッターユニット25の物理的な接触に伴って感熱ロール紙22に一定の圧力が加わるため、切断の前後で、感熱ロール紙22に多少のずれが生じていることがあり、白スジやドットずれが生じる可能性があると言える。
【0044】
また、ギャップGと、感熱ロール紙22における先頭画像との関係が図9(B)のような状態であるものとする。
図9(B)では、「AAA△Store」の文字列と、「at△BBB△Area」の文字列との間が、記録データ80により想定されている離間量よりも大きい状態である。
この場合、図9(A)のような印刷品質の低下は生じないものの、「AAA△Store」の文字列と、「at△BBB△Area」の文字列との想定以上の離間に起因して、レシート10に記録された画像の見た目が悪くなる可能性がある。
また、ギャップGと、感熱ロール紙22における先頭画像との関係が図9(C)のような状態であるものとする。
この場合、図9(A)における印刷品質の低下を防止でき、かつ、図9(B)のような見た目の悪さを防止できる。
以上を踏まえ、ステップSC6では、先頭画像が図9(C)に示す態様で記録されるように、先頭画像を構成する複数行の文字列のうち、感熱ロール紙22の切断の前に記録すべき文字列の行、及び、先頭画像の記録を開始するタイミングを決定する。
以下、さらに詳述する。
【0045】
図10は、仮想的に、感熱ロール紙22の全域に、プリンター2の解像度に準拠した画素を配置したとした場合の各画素を、所定の座標系に展開した様子を示す図である。座標系において各画素は、感熱ロール紙22の形状に準拠してドットマトリクス上に配置されており、各画素は、原点に対する位置により特定可能である。
図9(C)、及び、図10を参照し、図9(C)における点Q0が、座標系の原点P0(0、0)に対応しており、また、点Q1がx軸上の点である点P1(x1、y1)に、点Q2がy軸上の点である点P2(x2、y2)に、点Q3が点P3(x3、y3)にそれぞれ対応している。点P1は、原点P0から、感熱ロール紙22の幅に対応するドット数分、x軸(+)方向に離間した点であり、点P2は、原点P0から、プリンター2における記録ヘッド24の記録位置T1と、カッターユニット25のカット位置T2との搬送方向Y1におけるギャップGに対応するドット数分、y軸(−)方向に離間した点である。また、点P3は、点P1からギャップGに対応するドット数分、y軸(−)方向に離間し、かつ、点P2から感熱ロール紙22の幅に対応するドット数分、x軸(+)方向に離間した点である。
ステップSC6において、まず、制御部50は、所定の記憶領域に図10に示す座標系を定義する。
次いで、制御部50は、以下の手順で、記憶部54に記憶された先頭画像データ72に基づいて、所定の装飾を施した先頭画像の画素のデータ(以下、「描画データ」という。)を座標系に展開する。
すなわち、制御部50は、定義した座標系において、文字列間のスペースのドット数を変更することなく、かつ、いずれの文字列の描画データも仮想直線KT2を跨がない状態(=いずれかの文字列の描画データと、当該文字列の次の文字列の描画データとの間に仮想直線KT2が延在している状態、又は、先頭画像を構成する複数行の文字列のうち、最後の行の文字列の描画データのy軸(−)方向の端よりも、y軸(−)方向側に仮想直線KT2が位置している状態)で、マージンMminに対応するドット数分x軸から離間した仮想直線KT1と、点P2と点P3とを結ぶ仮想直線KT2とで囲まれる範囲に、できるだけ多くの行の文字列の描画データが展開された状態となるように、座標系に先頭画像の描画データを展開する。
【0046】
例えば、先頭画像の描画データが、所定の装飾を施した「AAA△Store」の文字列に係る描画データと、当該描画データから予め定められたスペースに対応するドット数分離間した、所定の装飾を施した「at△BBB△Area」の文字列に係る描画データとからなる場合において、文字列間のスペースに対応するドット数を変更することなく、仮想直線KT1と仮想直線KT2とで囲まれる範囲に、全ての文字列に係る描画データを展開可能な場合は、当該範囲に、全ての文字列に係る描画データを展開する。一方、仮想直線KT1と仮想直線KT2とのy軸方向のドット数に比して、文字列間のスペースを含めた先頭画像の描画データのy軸方向のドット数が大きく、全ての文字列に係る描画データを仮想直線KT1と仮想直線KT2とで囲まれる範囲に展開することができず、かつ、仮想直線KT1と仮想直線KT2とのy軸方向のドット数に比して、「AAA△Store」の文字列に係る描画データのy軸方向のドット数が小さく、「AAA△Store」の文字列に係る描画データは当該範囲に展開可能な場合は、図10に示すように、「AAA△Store」の文字列に係る描画データと、「at△BBB△Area」の文字列に係る描画データとの間のスペースに、仮想直線KT2が延在するような状態で、各文字列に係る描画データを座標系に展開する。ここで、仮想直線KT1と仮想直線KT2とで挟まれた範囲に展開された文字列は、切断のための搬送の開始後、切断を行う前に、記録される文字列であり、仮想直線KT2よりy軸(−)方向に展開された文字列は、当該切断後に記録される文字列である。制御部50は、座標系を利用して、感熱ロール紙22の切断のための搬送の開始後、切断を行う前に、記録を完了することが可能な文字列について、できるだけ多くの文字列を記録するとした場合に、先頭画像を構成する文字列の行のうち、当該切断前に記録すべき行を特定している。
【0047】
次いで、制御部50は、座標系に展開した文字列に係る描画データのうち、先頭の文字列に係る描画データのy軸(+)側の端と、x軸との離間量D1(図10参照)のドット数を検出する。
図10の例では、「AAA△Store」の文字列に係る描画データと、「at△BBB△Area」の文字列に係る描画データとの間のスペースに仮想直線KT2が延在するような状態で、先頭画像に係る描画データが座標系に展開されているが、この場合、図9(C)に示すように、離間量D1に対応する距離L1分、感熱ロール紙22の切断位置(先端)から離間した位置から先頭画像の記録を始めれば、「AAA△Store」の文字列の記録が完了した後、「at△BBB△Area」の文字列の記録を開始する前に、カッターユニット25による感熱ロール紙22の切断が行われ、その後、「at△BBB△Area」の文字列の記録が開始されることとなり、図9(A)を用いて説明した印刷品質の低下を防止できる。
ステップSC6において、制御部50は、以上のようにして座標系に先頭画像に係る描画データを展開した後、仮想直線KT1と仮想直線KT2とで囲まれた範囲に展開した文字列の行を、切断のための搬送の開始後、切断前に感熱ロール紙22に記録する行と決定し、さらに、離間量D1(図10)に対応する距離L1(図9(C))だけ、感熱ロール紙22の先端から離間した位置を、先頭画像の記録を開始する位置(記録開始位置Z1、図9(C)参照)として決定する。
なお、座標系における離間量D1のドット数と、感熱ロール紙22における距離L1の長さとを対応づけて記憶するテーブルが事前に所定の記憶領域に記憶されており、制御部50は、当該テーブルに基づいて、離間量D1を距離L1へと変換する。距離L1の値は、例えば、搬送モーター26がステッピングモーターで構成されている場合において、ステップ数によって表現された値であっても良い。
【0048】
さて、前掲図8に戻り、先頭画像情報記憶部61は、ステップSC6で決定した、切断前に記録する文字列の行、及び、先頭画像の記録を開始する位置を示す情報を先頭画像データ72と対応づけて記憶する(ステップSC7)。
次いで、記録制御部60は、記録データ80に基づいて、プリントエンジン51を制御して、感熱ロール紙22に画像の記録を行う(ステップSC8)。
次いで、ホストコンピューター3は、従来と同様、搬送指示コマンドHCをプリンター2に送信する(ステップSB2)。プリンター2の記録制御部60は、受信した搬送指示コマンドHCを読み飛ばす(ステップSC9)。また、ホストコンピューター3は、切断指示コマンドSCをプリンター2に送信するが(ステップSB3)、プリンター2の記録制御部60は、受信した切断指示コマンドSCを読み飛ばす(ステップSC10)。
ホストコンピューター3には、何ら改変が加えられていないため、ホストコンピューター3は、従来と同様、記録データ80、搬送指示コマンドHC、切断指示コマンドSCの順に、順次、コマンドをプリンター2に送信するが、本実施形態に係るプリンター2は、ホストコンピューター3の制御によることなく、マージンMを縮小するための所定の手順により切断のための搬送、切断を実行するため、これらコマンドを読み飛ばしている。また、プリンター2側で、これらコマンドを読み飛ばすという処理を行うため、ホストコンピューター3は、従来と同様の手順でコマンドを送信すればよく、ホストコンピューター3に対する改変が必要ない。
【0049】
次いで、プリンター2の記録制御部60は、切断のための感熱ロール紙22の搬送を開始する(ステップSC11)。
感熱ロール紙22の搬送中、記録制御部60は、感熱ロール紙22における記録開始位置Z1(図9(C)参照)が、記録ヘッド24の記録位置T1に至ったか否かを監視する(ステップSC12)。なお、プリンター2では、感熱ロール紙22の搬送量を、例えば、ステッピングモーターとして構成された搬送モーター26のステップ数等により管理しており、この搬送量や、感熱ロール紙22の位置を検出する所定のセンター等の検出値に基づいて、記録開始位置Z1や、切断位置のプリンター2における位置を管理しており、記録開始位置Z1や切断位置が、記録位置T1やカット位置T2に至ったことを検出可能である。
感熱ロール紙22における記録開始位置Z1が、記録ヘッド24の記録位置T1に至った場合、記録制御部60は、記憶部54の先頭画像データ72、及び、ステップSC7において先頭画像データ72と対応づけて記憶された、切断前に記録すべき行の情報に基づいて、先頭画像を構成する複数行の文字列のうち、切断前に記録すべき行の文字列に係る制御コマンドを読み出して、実行することにより、当該行の文字列を記録する(ステップSC13)。
例えば、図9(C)を参照し、「AAA△Store」の文字列と、「at△BBB△Area」の文字列のうち、「AAA△Store」の文字列が、切断前に記録すべき行の文字列に該当する場合、記録制御部60は、記憶部54の先頭画像データ72に含まれるコマンドのうち、コマンド群H1に係るコマンドである文字列装飾コマンドMS1、及び、文字列記録指示コマンドMK1を取得し、これらコマンドを読み出して実行することにより、所定の装飾を施した上で、「AAA△Store」の文字列を感熱ロール紙22の搬送量に記録する。
【0050】
上記特定の行の文字列の記録が完了した後、感熱ロール紙22の切断位置が、カッターユニット25のカット位置T2に至ったタイミングで、記録制御部60は、感熱ロール紙22の搬送を停止し、カッターユニット25により感熱ロール紙22を切断する(ステップSC14)。
上述した手段により、記録開始位置Z1と、先頭画像のうち、記録すべき行が調整されているため、文字列を記録している途中ではなく、文字列の記録が完了した後に、感熱ロール紙22の切断位置が、カッターユニット25のカット位置T2に至ることとなる。
次いで、記録制御部60は、先頭画像のうち、未だ記録されていない行の文字列が存在するか否かを判別し(ステップSC15)、存在する場合(ステップSC15:YES)、先頭画像データ72における当該行の文字列に係る制御コマンドに基づいて、所定の装飾を施した上で、当該行の文字列を記録する(ステップSC16)。
【0051】
さて、ステップSC2に戻り、先頭画像データ72が記憶部54に既に記憶されている場合(ステップSC2:YES)について、説明する。
なお、ステップSC2で「YES」と判別される場合は、記憶部54に記憶された先頭画像データ72に基づいて、感熱ロール紙22の先端部に、既に、先頭画像が記録されている状態を想定している。感熱ロール紙22の切断のための搬送に伴って先頭画像が記録されているか否かをフラグによって管理したり、光学的な検出手段で検出するようにしたりするようにしても良い。これにより、感熱ロール紙22の交換のタイミングや、何らかのエラーにより感熱ロール紙22に先頭画像が記録されていない場合に、そのことを適切に検出可能である。
さて、先頭画像データ72が記憶部54に既に記憶されている場合(ステップSC2:YES)、記録制御部60は、受信バッファー56に記憶された記録データ80のうち、先頭画像に係るコマンドを除くコマンドに基づいて、画像の記録を行う(ステップSC17)。例えば、記録データ80の状態が、図4(A)が示す状態である場合、記録制御部60は、コマンド群H1、及び、コマンド群H2を除くコマンドを順次読み出して実行することにより、画像の記録を行う。これにより、先頭画像を重複して記録することなく、画像の記録を行うことができる。
なお、ステップSC17では、記録制御部60は、記憶部54に先頭画像データ72と、受信バッファー56記憶された記録データ80との比較結果に基づいて、記録データ80に含まれるコマンドのうち、先頭画像に係るコマンド以外のコマンドを特定する。
ステップSC17において、感熱ロール紙22に画像を記録した後、記録制御部60は、処理手順をステップSC9へ移行し、切断のための搬送に伴う先頭画像の記録を行う。
【0052】
以上説明したように、本実施形態によれば、先頭画像情報記憶部61は、ホストコンピューター3から制御コマンドを受信した場合、記録データ80に含まれる画像の情報に基づいて、記録媒体たる感熱ロール紙22に記録すべき画像のうち、先端部の所定の範囲に記録される画像である先頭画像の情報を抽出し、先頭画像データ72として記憶する。また、記録制御部60は、カッターユニット25により感熱ロール紙22を切断する場合、ホストコンピューター3から受信した、所定の搬送量の搬送を指示する搬送指示コマンドHC、及び、切断部による切断を指示する切断指示コマンドSCを読み捨てた上で、先頭画像情報記憶部61により記憶した先頭画像データ72に基づいて、感熱ロール紙22の切断位置の搬送方向上流側に、記録ヘッド24により先頭画像を記録させつつ、感熱ロール紙22の切断位置がカッターユニット25に対応する位置に至るまで感熱ロール紙22を搬送させて、カッターユニット25により感熱ロール紙22を切断する。
これによれば、プリンター2は、ホストコンピューター3から入力された制御コマンドに含まれる記録データ80から、先頭画像の情報を抽出して先頭画像データ72として記憶しておき、感熱ロール紙22を切断する際は、切断のための搬送と併せて、感熱ロール紙22における切断位置の搬送方向上流側に先頭画像を記録するため、記録ヘッド24の記録位置T1とカッターユニット25のカット位置T2との搬送方向における離間に起因して発生する感熱ロール紙22の先端と、感熱ロール紙22に記録される画像の先端とのマージンMをできるだけ縮小することが可能となる。
特に、ホストコンピューター3は、プリンター2に対して通常の制御コマンドを出力すれば、プリンター2側で、自動で、先頭画像の情報が先頭画像データ72として記憶され、以後は、先頭画像データ72に基づいて、感熱ロール紙22の切断のための搬送に伴う先頭画像の記録が実行されるため、ホストコンピューター3に対して改変を行う必要がない。
【0053】
また、本実施形態では、先頭画像情報記憶部61は、先頭画像データ72が記憶されていない状態のときに制御コマンドを受信した場合、先頭画像データ72を記憶する。
これによれば、先頭画像データ72が記憶されていない状態のときに、制御コマンドに基づく先頭画像データ72の記憶が行われ、以後は、記憶した先頭画像データ72に基づく先頭画像の記録が行われることとなり、先頭画像の情報の記録に係る処理の回数を削減でき、処理効率が向上する。
なお、先頭画像データ72が記憶されていない場合としては、例えば、初めて制御コマンドを受信した場合や、先頭画像データ72をRAM等の不揮発性メモリーに記憶する構成としたときに、電源をオフした後、再投入する場合等が想定されている。
【0054】
また、本実施形態では、記録制御部60は、感熱ロール紙22の切断に伴って先頭画像を記録した後、新たに前記制御コマンドを受信した場合、新たな制御コマンドの記録データ80に含まれるコマンド(画像の情報)のうち、先頭画像情報記憶部61により記憶した先頭画像データに含まれるコマンド以外のコマンドに基づいて、感熱ロール紙22への記録を行う。
これによれば、先頭画像データ72に基づいて、切断のための搬送に伴う先頭画像の記録を実行した後に、新たな制御コマンドを受信した場合に、既に記録された先頭画像を重複して記録することなく、記録すべき画像を過不足なく記録可能となる。
【0055】
また、本実施形態では、記録データ80における先頭画像の情報は、所定の文字コードからなる文字列を含んで構成される情報である。具体的には、記録データ80における先頭画像の情報は、記録すべき文字列を含んで構成される文字列記録指示コマンドを含んでいる。
そして、先頭画像情報記憶部61は、記録データ80から、予め設定された所定の文字列であるキーワード文字列を検出し、当該キーワード文字列に至るまでの情報を抽出して、先頭画像データ72として記憶部54に記憶する。
これによれば、設定されたキーワード文字列を利用して、記録データ80に含まれる画像の情報から、先頭画像の情報を具体的に特定することが可能となる。特に、記録データ80に含まれる画像の情報から、キーワード文字列を検出し、当該情報の先頭からキーワード文字列に至るまでの情報を抽出する、という非常に簡易な手段で、先頭画像の情報を特定できる。
つまり、本実施形態では、先頭画像が文字列で構成されている点、及び、記録データ80において、先頭画像を構成する文字列の各文字が所定の文字コードで表現されており、文字列検索が可能な点を活用し、容易な手段で、確実に、記録データ80における先頭画像の情報を特定可能である。
【0056】
また、本実施形態では、先頭画像は、1又は複数の行の文字列を含んで構成されている。
そして、記録制御部60は、感熱ロール紙22の切断位置の搬送方向上流側に、記録ヘッド24により先頭画像を記録させつつ、感熱ロール紙22の切断位置がカット位置T2に対応する位置に至るまで間寝るロール紙を搬送させる際、いずれかの行の文字列に基づく画像の記録が完了し、かつ、次の文字列が存在する場合は当該次の文字列に基づく画像の記録が開始されていない状態で、感熱ロール紙22の切断位置がカット位置T2に至るように、切断の前に記録を行うべき文字列の行を決定する。
これによれば、いずれかの行の文字列に基づく画像の記録が完了し、かつ、次の文字列が存在する場合は当該次の文字列に基づく画像の記録が開始されていない状態で、感熱ロール紙22の切断位置がカット位置T2に至って切断が行われることとなるため、印刷品質の低下を効果的に抑制することが可能となる。
【0057】
また、本実施形態では、先頭画像情報記憶部61は、記録データ80に、先頭画像を構成する文字列の装飾に係る文字列装飾コマンド(付加情報)が含まれている場合は、当該コマンドも併せて記憶する。
これによれば、先頭画像に施すことが想定された装飾を適切に施した上で、切断のための搬送に伴って先頭画像を記録することが可能となる。
【0058】
<第2実施形態>
次いで、第2実施形態について説明する。
【0059】
図11は、本実施形態に係るPOS端末1の機能的構成を示すブロック図である。
図11と、図3との比較で明らかなように、本実施形態に係るホストコンピューター3のプリンタードライバー実行部40bは、キーワード文字列変更部90を備え、また、プリンター2の制御部50は、キーワード文字列設定部91を備えている。
本実施形態に係るプリンター2は、上述した第1実施形態に係るプリンター2と同様、キーワード文字列を利用して、記録データ80のうち、先頭画像にかかる部分を抽出する。そして、第1実施形態に係るプリンター2では、キーワード文字列が、キーワード文字列データ73として、記憶部54に記憶されており、ホストコンピューター3側からその値を変更することができなかったが、本実施形態では、ユーザーが、ホストコンピューター3に対して所定の操作を行うことにより、プリンター2の記憶部54に記憶されたキーワード文字列の値を自由に変更可能である。
【0060】
詳述すると、ホストコンピューター3のキーワード文字列変更部90は、ユーザーが、変更したいキーワード文字列を入力するためのユーザーインターフェイスを提供する。当該ユーザーインターフェイスでは、ディスプレー12に、変更したいキーワード文字列を入力するための所定の表示画面が表示される。ユーザーは、キーワード文字列を変更する場合、ホストコンピューター3に対して所定の操作をすることにより、ディスプレー12に当該表示画面を表示させた上で、当該表示画面を参照しつつ、キー入力部14等の入力デバイスを操作して、キーワード文字列を入力する。
キーワード文字列が入力され、当該入力が確定したことを検出したキーワード文字列変更部90は、プリンター2の記憶部54に記憶されたキーワード文字列データ73の値を、入力されたキーワード文字列の値へと変更することを指示する専用のキーワード設定コマンドを生成し、プリンター2に出力する。
キーワード文字列変更部90の機能は、プリンタードライバーにより実現されるものである。
当該キーワード設定コマンドが入力されると、プリンター2の制御部50のキーワード文字列設定部91は、当該キーワード設定コマンドに基づいて、キーワード文字列データ73の値を書き換える。これにより、以後は、書き換え後のキーワード文字列データ73が示すキーワード文字列により、記録データ80のうち、先頭画像に係る部分を抽出する処理が行われる。
この場合、図8のステップSC2において、先頭画像データ72が記憶部54に既に記憶されているか否かの判別と併せて、直近にキーワード文字列データ73の書き換えが行われたか否かを判別し、直近にキーワード文字列データ73の書き換えが行われている場合は、処理手順をステップSC3へと移行し、行われていない場合は、処理手順をステップSC17へと移行し、記録データ80から新たに抽出した先頭画像に係るデータに基づいて、既存の先頭画像データ72を書き換えるようにすれば、キーワード文字列データ73の書き換えに応じて、適切に、先頭画像データ72を書き換えることが可能となる。
【0061】
本実施形態の場合、入力されたキーワード文字列の値へと変更することを指示するキーワード設定コマンドを生成し、プリンター2に出力する機能をホストコンピューター3に追加する必要が生じるものの、ホストコンピューター3を利用して簡易な手段で自由にキーワード文字列の内容を変更することが可能となり、非常に利便性が向上する。
【0062】
以上説明したように、本実施形態によれば、ホストコンピューター3は、キーワード文字列の変更を入力可能に構成されると共に、当該入力に基づいて、キーワード文字列の設定を変更するためのキーワード設定コマンドを出力可能に構成さている。
そして、プリンター2のキーワード文字列変更部90は、入力されたキーワード設定コマンドに基づいて、設定されたキーワード文字列を変更する。
これによれば、ホストコンピューター3に対して、キーワード文字列の変更を入力することにより、設定されたキーワード文字列を変更することが可能となり、利便性が向上する。
【0063】
<第3実施形態>
次いで、第3実施形態について説明する。
上述した第1実施形態に係るプリンター2は、記憶部54に先頭画像データ72が記憶されている場合は、当該先頭画像データ72に基づいて、切断のための搬送に伴う先頭画像の記録を実行していた。
しかしながら、本実施形態に係るプリンター2は、1の制御コマンドに基づいて、当該1の制御コマンドの次の制御コマンドを受信している場合において、当該次のコマンドが所定の条件を満たしている場合は、当該1の制御コマンドの記録データ80に基づいて画像を記録した後、切断のための搬送に伴う画像の記録を行わず、感熱ロール紙22を切断した後、当該次のコマンドの記録データ80に基づいて画像の記録を行う構成となっている。
【0064】
図12は、本実施形態に係るプリンター2の動作を説明するフローチャートである。
図12に示すように、プリンター2は、1の制御コマンドを受信し、当該1の制御コマンドを受信バッファー56に格納した後(ステップSD1)、連続して次の制御コマンドを受信し、受信バッファー56に格納する(ステップSD2)。
なお、ホストコンピューター3は、プリンター2側の処理の進み具合にかかわらず、生成したコマンドを順次、プリンター2に送信し、プリンター2側で、一旦、受信バッファー56に制御コマンドを格納し、制御コマンドに含まれる各コマンドを順次読み出して実行する構成のため、プリンター2は、複数の制御コマンドを連続して受信し、かつ、これら制御コマンドに基づいて、連続してレシート10を発行することが可能である。
次いで、プリンター2の記録制御部60は、次の制御コマンドが所定の条件を満たしているか否かを判別する(ステップSD3)。なお、このステップSD3の処理のタイミングは、1の制御コマンドに係るレシート10の発行における切断のための搬送が開始される前の任意のタイミングでよい。
所定の条件とは、1の制御コマンドに係るレシート10の発行に係る処理について、感熱ロール紙22の切断のための搬送に伴う先頭画像の記録を行わないと判別するために事前に設けられた条件である。
所定の条件としては、例えば、関連するレシート10を連続して発行する場合、先に発行するレシート10には、上述した定型の先頭画像を記録する一方、次に発行するレシート10には、定型の先頭画像に代えて、当該レシート10が前に発行したレシート10と関連性のあるレシート10である旨の文言やマークを記録するものと定められており、かつ、互いに関連するレシート10を連続して発行する場合には、1のレシート10の発行に係る1の制御コマンドの受信後、所定の経過時間以内に、次のレシート10の発行に係る次の制御コマンドの受信が開始されるものとされている場合において、1の制御コマンドの受信が完了してから、次の制御コマンドの受信が開始されるまでの時間が、上記所定の経過時間以内である場合等である。
また、所定の条件とは、次の制御コマンドにその旨を明示するコマンドや、所定のデータが含まれている場合等である。
【0065】
所定の条件が満たされている場合、記録制御部60は、1の制御コマンドに基づくレシート10の発行に際し、切断のための搬送に伴う先頭画像の記録を実行しないと判別する(ステップSD4)。
一方、所定の条件が満たされていない場合、記録制御部60は、1の制御コマンドに基づくレシート10の発行に際し、先頭画像データ72を利用した切断のための搬送に伴う先頭画像の記録を実行すると判別する(ステップSD5)
【0066】
以上説明したように、本実施形態では、記録制御部60は、1の制御コマンドに係る感熱ロール紙22の切断を開始する前に、当該1の制御コマンドの次の制御コマンドを受信している場合であって、当該次の制御コマンドが所定の条件を満たす場合は、先頭画像データ72に基づく先頭画像の記録を伴わずに感熱ロール紙22を切断した後、当該次の制御コマンドに従って感熱ロール紙22への記録を行う。
これによれば、無条件に切断のための搬送に伴う先頭画像の記録を行うのではなく、所定の条件の場合は、当該先頭画像の記録を行わないことが可能となるため、記録装置に状況に応じた処理を行わせることが可能となる。
【0067】
<第4実施形態>
次いで、第4実施形態について説明する。
上述した第1実施形態では、先頭画像情報記憶部61は、キーワード文字列を利用して、記録データ80から先頭画像の情報を抽出する構成であった。この場合、先頭画像が文字列で構成されているときは、適切に先頭画像の情報の抽出が可能であるものの、先頭画像がグラフィック画像である場合は、当該方法では、先頭画像の情報の抽出ができない、という問題があった。
以上を踏まえ、本実施形態に係る先頭画像情報記憶部61は、記録データ80から先頭画像の情報を抽出する際、以下の動作を実行する。
【0068】
図13は、図10と同様の座標系を示す図である。
まず、先頭画像情報記憶部61は、記録データ80に基づいて感熱ロール紙22に画像を記録した場合における、当該画像の描画データを、座標系に展開する。その際、グラフィック画像や、文字列に係る画像について、これら画像に施すべき装飾を反映した上で、描画データを座標系に展開する。
例えば、記録データ80に係る画像の描画データを座標系に展開した状態が、図13に示す状態であったものとする。
図13の例では、感熱ロール紙22の先端部に定型的に記録される先頭画像が、文字列に係る画像ではなく、グラフィック画像である。さらに、グラフィック画像たる先頭画像は、感熱ロール紙22の先端(切断位置)からマージンMmin離れた位置から、当該先端からギャップG離れた位置に挟まれた範囲に記録されるものと予め定められている。
記録データ80に係る画像の描画データを座標系に展開した後、先頭画像情報記憶部61は、座標系において、仮想直線KT1、及び、仮想直線KT2で挟まれた範囲に記録された画像を特定する。ここで特定された画像は、「先頭画像は、感熱ロール紙22の先端(切断位置)からマージンMmin離れた位置から、当該先端からギャップG離れた位置に挟まれた範囲に記録される」という前提のため、先頭画像に該当する。
さらに、先頭画像情報記憶部61は、記録データ80に含まれるコマンドのうち、特定した画像を記録するためのコマンド群を抽出し、抽出したコマンド群を先頭画像の情報たる先頭画像データ72として、記憶部54に記憶する。その際、上述した第1実施形態と同様に、先頭画像の装飾に係るコマンドが存在する場合は、先頭画像データ72に含めて記憶する。
そして、記録制御部60は、感熱ロール紙22を切断する際、切断のための搬送に伴って、先頭画像データ72に基づいて、グラフィック画像たる先頭画像を記録する。これにより、先頭画像データ72が文字列に構成されていない場合であっても、感熱ロール紙22の先端部に定型的に記録される先頭画像を、切断のための搬送に伴って記録することが可能となり、マージンMの縮小を図ることができる。
【0069】
以上説明したように、本実施形態では、先頭画像情報記憶部61は、記録データ80から、カット位置T2に感熱ロール紙22の先端が位置しているとした場合に、カット位置T2と記録位置T1とで挟まれた領域に対応するコマンド群を抽出し、先頭画像データ72として記憶する。
ここで、ギャップGに起因したマージンMを縮小するという目的を達成するためには、先頭画像の情報として、少なくとも、カット位置T2に感熱ロール紙22の先端が位置しているとした場合に、カット位置T2と記録位置T1とで挟まれた領域に対応する画像の情報を記憶しておき、当該情報に基づいて、当該画像を記録する必要がある。
これを踏まえ、上記構成によれば、先頭画像として記憶しておく必要がある情報を確実に記憶することが可能となる。
特に、本実施形態では、先頭画像がグラフィック画像であっても、先頭画像データ72を適切に記憶部54に記憶可能である。
【0070】
また、本実施形態では、先頭画像情報記憶部61は、記録データ80に画像の装飾に係る所定の装飾を反映して、記録データ80の画像に係る描画データを座標系に展開した上で、先頭画像に対応する描画データの特定を行っている。
これによれば、装飾を反映して適切に、先頭画像に対応する画像の特定、及び、記録データ80からの先頭画像の情報の抽出が可能となる。
【0071】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、図3や図11に示す各機能部はハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
また、上記実施形態では、プリンター2自身が記録制御部60や、先頭画像情報記憶部61、キーワード文字列設定部91等を有する制御部50を備えていたが、例えば、制御部50の機能を、プリンター2に外部接続される別の装置に持たせるようにしても良い。
また、本発明は、サーマル式のプリンターに限らず、インクジェット式プリンター、ドットインパクト式プリンター、レーザープリンター、熱昇華型プリンター等の任意の形式のプリンターに適用可能である。また、ATMにおけるプリンター等、他の装置に組み込まれるプリンターであってもよい。また、CDのレーベル面や、DVDのレーベル面等の紙以外の媒体に記録するものでもよい。
また、本発明を適用可能なプログラムは、ホストコンピューター3に搭載されるプリンタードライバーに含むものであってもよい。
また、上記のフローチャートの各ステップを実行するプログラムを、プリンター2の外部の記憶媒体に記憶させたものを読み出して、制御部50により実行させることもできる。
【符号の説明】
【0072】
2…プリンター(記録装置)、3…ホストコンピューター(制御装置)、10…レシート、22…感熱ロール紙(記録媒体)、24…記録ヘッド、25…カッターユニット(切断部)、40…ホスト側制御部、40a…POSアプリケーション実行部、40b…プリンタードライバー実行部、50…制御部、51…プリントエンジン、60…記録制御部、61…先頭画像情報記憶部、72…先頭画像データ(先頭画像の情報)、80…記録データ、90…キーワード文字列変更部、91…キーワード文字列設定部。
【技術分野】
【0001】
本発明は、制御装置に接続可能な記録装置、当該記録装置の制御方法、及び、当該記録装置を制御するためのプログラムに関する。
【背景技術】
【0002】
従来、制御装置(ホストPC)に接続可能に構成され、記録ヘッド(印字ヘッド)と、この記録ヘッドの搬送方向下流側に配置された切断部(切断装置)とを備えた記録装置(プリンター)が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−59502号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した記録装置では、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンをできるだけ縮小し、記録媒体の無駄な消費を抑制したいとするニーズがある。特に、制御装置に、当該ニーズに応えるための特別な動作をさせたり、また、通常と異なる特別な制御コマンドを記録装置に出力させたりすることなく当該ニーズに応えることにより、制御装置に実装されたプログラム、各種機構の改変をできるだけ避けたいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、制御装置に対する改変を行うことなく、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンをできるだけ縮小することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明は、制御装置に接続可能な記録装置であって、記録ヘッドと、記録媒体を搬送方向に搬送する搬送部と、前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部と、前記制御装置から、少なくとも前記記録媒体に記録すべき画像の情報を含む記録データを含む制御コマンドを受信する受信部と、前記受信部により受信した前記制御コマンドに基づいて、前記記録ヘッド、前記搬送部、及び、前記切断部を制御して、前記記録媒体への記録、前記記録媒体の搬送、及び、前記記録媒体の切断を行う記録制御部と、前記受信部により前記制御コマンドを受信した場合、前記記録データに含まれる画像の情報に基づいて、前記記録媒体に記録すべき画像のうち、前記記録媒体の先端部の所定の範囲に記録される画像である先頭画像の情報を抽出し、記憶する先頭画像情報記憶部と、を備え、前記記録制御部は、前記切断部により前記記録媒体を切断する場合、前記先頭画像情報記憶部により記憶した前記先頭画像の情報に基づいて、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断すること、を特徴とする。
この構成によれば、記録装置は、制御装置から入力された制御コマンドに含まれる記録データから、先頭画像の情報を抽出して記憶しておき、記録媒体を切断する際は、切断のための搬送と併せて、記録媒体における切断位置の搬送方向上流側に先頭画像を記録するため、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンをできるだけ縮小することが可能となる。
特に、制御装置は、記録装置に対して通常の制御コマンドを出力すれば、記録装置側で、自動で、先頭画像の情報が記憶され、以後は、当該先頭画像の情報に基づいて、記録媒体の切断のための搬送に伴う先頭画像の記録が実行されるため、制御装置に係るプログラムや、各種機構に対して改変を行う必要がない。
【0006】
また、上記発明の記録装置であって、本発明は、前記先頭画像情報記憶部は、前記先頭画像の情報が記憶されていない状態のときに前記受信部により前記制御コマンドを受信した場合、前記先頭画像の情報を記憶することを特徴とする。
この構成によれば、先頭画像の情報が記憶されていない状態のときに、制御コマンドに基づく先頭画像の情報の記憶が行われ、以後は、記憶した先頭画像の情報に基づく先頭画像の記録が行われることとなり、先頭画像の情報の記録に係る処理の回数を削減でき、処理効率が向上する。
なお、先頭画像の情報が記憶されていない場合としては、例えば、記録装置が初めて制御コマンドを受信した場合や、先頭画像の情報をRAM等の不揮発性メモリーに記憶する構成としたときに、電源をオフした後、再投入する場合等が想定されている。
【0007】
また、上記発明の記録装置であって、本発明は、前記記録制御部は、前記記録媒体の切断のための搬送に伴って前記先頭画像を記録した後、前記受信部により新たに前記制御コマンドを受信した場合、新たな前記制御コマンドの前記記録データに含まれる画像の情報のうち、前記先頭画像情報記憶部により記憶した前記先頭画像の情報以外の情報に基づいて、前記先頭画像に続けて画像の記録を行うことを特徴とする。
この構成によれば、記憶した先頭画像の情報に基づいて、切断のための搬送に伴う先頭画像の記録を実行した後に、新たな制御コマンドを受信した場合に、既に記録された先頭画像を重複して記録することなく、記録すべき画像を過不足なく記録可能となる。
【0008】
また、上記発明の記録装置であって、本発明は、前記記録制御部は、1の制御コマンドに係る前記記録媒体の切断を開始する前に、当該1の制御コマンドの次の前記制御コマンドを前記受信部により受信している場合であって、当該次の制御コマンドが所定の条件を満たす場合は、前記先頭画像の情報に基づく前記先頭画像の記録を伴わずに前記記録媒体を搬送し、切断した後、当該次の制御コマンドに従って記録媒体への記録を行うことを特徴とする。
この構成によれば、無条件に切断のための搬送に伴う先頭画像の記録を行うのではなく、所定の条件の場合は、当該先頭画像の記録を行わないことが可能となるため、記録装置に状況に応じた処理を行わせることが可能となる。
【0009】
また、上記発明の記録装置であって、本発明は、前記先頭画像の情報は、文字列を含んで構成される情報であり、前記先頭画像情報記憶部は、前記記録データに含まれる画像の情報から、予め設定された所定の文字列であるキーワード文字列を検出し、当該情報の先頭から前記キーワード文字列に至るまでの情報を抽出して前記先頭画像の情報として記憶することを特徴とする。
この構成によれば、設定されたキーワード文字列を利用して、記録データに含まれる画像の情報から、先頭画像の情報を具体的に特定することが可能となる。特に、記録データに含まれる画像の情報から、キーワード文字列を検出し、当該情報の先頭からキーワード文字列に至るまでの情報を抽出する、という非常に簡易な手段で、先頭画像の情報を特定できる。
【0010】
また、上記発明の記録装置であって、本発明は、前記先頭画像の情報は、1又は複数の行の文字列を含んで構成される情報であり、前記記録制御部は、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させる際、いずれかの行の文字列に基づく画像の記録が完了し、かつ、次の文字列が存在する場合は当該次の文字列に基づく画像の記録が開始されていない状態で、前記記録媒体の切断位置が前記切断部に対応する位置に至って切断が行われるように、前記切断部による切断の前に記録を行うべき文字列の行を決定することを特徴とする。
ここで、記録媒体を切断する際は、記録媒体の搬送や、記録ヘッドによる記録媒体への記録を停止する必要があるが、記録媒体に文字に係る画像を記録する場合において、文字を記録している途中で、記録媒体の切断が行われ、これに伴って文字の記録を一時的に中断し、切断後、文字の記録を再開した場合、上記一時的な中断が記録された文字の白スジ、ドットずれの要因となり、印刷品質の低下を招く可能性がある。
これを踏まえ、上記構成によれば、いずれかの行の文字列に基づく画像の記録が完了し、かつ、次の文字列が存在する場合は当該次の文字列に基づく画像の記録が開始されていない状態で、記録媒体の切断位置が切断部に対応する位置に至って切断が行われることとなるため、上述した要因による印刷品質の低下を効果的に抑制することが可能となる。
【0011】
また、上記発明の記録装置であって、本発明は、前記先頭画像情報記憶部は、前記記録データに、前記先頭画像を構成する文字列の装飾に係る付加情報が含まれている場合は、前記先頭画像の情報と併せて前記付加情報を記憶することを特徴とする。
ここで、文字列の装飾とは、文字列の拡大、縮小、回転、強調、太字化、装飾文字又は装飾記号の付加、文字列の移動、その他の文字列に対して施される描画に関する何らかの処理のことである。
そして、上記構成によれば、先頭画像に施すことが想定された装飾を適切に施した上で、切断のための搬送に伴って先頭画像を記録することが可能となる。
【0012】
また、上記発明の記録装置であって、本発明は、前記制御装置は、前記キーワード文字列の変更を入力可能に構成されると共に、当該入力に基づいて、前記キーワード文字列の設定を変更するためのキーワード設定コマンドを出力可能に構成され、前記制御装置から入力された前記キーワード設定コマンドに基づいて、設定された前記キーワード文字列を変更するキーワード文字列設定部をさらに備えることを特徴とする。
この構成によれば、制御装置に対して、キーワード文字列の変更を入力することにより、設定されたキーワード文字列を変更することが可能となり、利便性が向上する。
【0013】
また、上記発明の記録装置であって、本発明は、前記先頭画像情報記憶部は、前記記録データに含まれる画像の情報から、前記切断部に対応する位置に前記記録媒体の先端が位置しているとした場合に前記切断部と前記記録ヘッドとで挟まれた領域に対応する画像の情報を抽出し、前記先頭画像の情報として記憶することを特徴とする。
ここで、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンを縮小するという目的を達成するためには、先頭画像の情報として、少なくとも、切断部に対応する位置に記録媒体の先端が位置しているとした場合に切断部と記録ヘッドとで挟まれた領域に対応する画像の情報を記憶しておき、当該情報に基づいて、切断のための搬送を開始した後、記録媒体の切断位置が切断部に対応する位置に至るまでの間、画像を記録する必要がある。
これを踏まえ、上記構成によれば、先頭画像として記憶しておく必要がある情報を確実に記憶することが可能となる。
【0014】
また、上記発明の記録装置であって、本発明は、前記先頭画像情報記憶部は、前記記録データに画像の装飾に係る付加情報が含まれている場合は、前記付加情報に基づく画像の装飾を反映して、前記領域に対応する画像の情報の抽出を行うことを特徴とする。
この構成によれば、装飾を反映して適切に、切断部に対応する位置に記録媒体の先端が位置しているとした場合に切断部と記録ヘッドとで挟まれた領域に対応する画像の情報を抽出することが可能となる。
【0015】
また、上記目的を達成するために、本発明は、制御装置に接続可能に構成され、記録ヘッドと、記録媒体を搬送方向に搬送する搬送部と、前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部と、前記制御装置から、少なくとも前記記録媒体に記録すべき画像の情報を含む記録データを含む制御コマンドを受信する受信部と、を備える記録装置の制御方法であって、前記受信部により前記制御コマンドを受信した場合、前記記録データに含まれる画像の情報に基づいて、前記記録媒体に記録すべき画像のうち、前記記録媒体の先端部の所定の範囲に記録される画像である先頭画像の情報を抽出して記憶し、前記切断部により前記記録媒体を切断する場合、記憶した前記先頭画像の情報に基づいて、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断すること、を特徴とする。
この制御方法によれば、記録装置は、制御装置から入力された制御コマンドに含まれる記録データから、先頭画像の情報を抽出して記憶しておき、記録媒体を切断する際は、切断のための搬送と併せて、記録媒体における切断位置の搬送方向上流側に先頭画像を記録するため、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンをできるだけ縮小することが可能となる。
特に、制御装置は、記録装置に対して通常の制御コマンドを出力すれば、記録装置側で、自動で、先頭画像の情報が記憶され、以後は、当該先頭画像の情報に基づいて、記録媒体の切断のための搬送に伴う先頭画像の記録が実行されるため、制御装置に係るプログラムや、各種機構に対して改変を行う必要がない。
【0016】
また、上記目的を達成するために、本発明は、制御装置に接続可能に構成され、記録ヘッドと、記録媒体を搬送方向に搬送する搬送部と、前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部と、前記制御装置から、少なくとも前記記録媒体に記録すべき画像の情報を含む記録データを含む制御コマンドを受信する受信部と、を備える記録装置の各部を制御する制御部により実行されるプログラムであって、前記制御部を、前記受信部により前記制御コマンドを受信した場合、前記記録データに含まれる画像の情報に基づいて、前記記録媒体に記録すべき画像のうち、前記記録媒体の先端部の所定の範囲に記録される画像である先頭画像の情報を抽出し、記憶する先頭画像情報記憶部と、前記受信部により受信した前記制御コマンドに基づいて、前記記録ヘッド、前記搬送部、及び、前記切断部を制御して、前記記録媒体への記録、前記記録媒体の搬送、及び、前記記録媒体の切断を行い、前記切断部により前記記録媒体を切断する場合、前記先頭画像情報記憶部により記憶した前記先頭画像の情報に基づいて、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断する記録制御部と、として機能させることを特徴とする。
このプログラムを実行すれば、記録装置は、制御装置から入力された制御コマンドに含まれる記録データから、先頭画像の情報を抽出して記憶しておき、記録媒体を切断する際は、切断のための搬送と併せて、記録媒体における切断位置の搬送方向上流側に先頭画像を記録するため、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンをできるだけ縮小することが可能となる。
特に、制御装置は、記録装置に対して通常の制御コマンドを出力すれば、記録装置側で、自動で、先頭画像の情報が記憶され、以後は、当該先頭画像の情報に基づいて、記録媒体の切断のための搬送に伴う先頭画像の記録が実行されるため、制御装置に係るプログラムや、各種機構に対して改変を行う必要がない。
【発明の効果】
【0017】
本発明によれば、制御装置に対する改変を行うことなく、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンをできるだけ縮小できる。
【図面の簡単な説明】
【0018】
【図1】第1実施形態に係るPOS端末の概略構成を示す図である。
【図2】プリンターの本体内部の構成を模式的に示す図である。
【図3】POS端末の機能的構成を示すブロック図である。
【図4】記録データ、及び、レシートを模式的に示す図である。
【図5】従来のホストコンピューターとプリンターとのシーケンス図である。
【図6】記録ヘッドと、カッターユニットとの関係を模式的に示す図である。
【図7】レシートの様子を模式的に示す図である。
【図8】ホストコンピューターとプリンターとの動作を示すフローチャート。
【図9】レシートと先頭画像との関係を模式的に示す図である。
【図10】先頭画像に係る描画データを所定の座標系に展開した様子を示す図。
【図11】第2実施形態に係るPOS端末の機能的構成を示すブロック図である。
【図12】プリンターの動作を示すフローチャートである。
【図13】記録データが示す画像に係る描画データを所定の座標系に展開した図。
【発明を実施するための形態】
【0019】
以下、図面を参照して本発明の実施形態について説明する。
<第1実施形態>
図1は、本発明を適用した実施形態に係るPOS端末1の概略構成を示す図である。
また、図2は、POS端末1が備えるプリンター2(記録装置)の本体内部の構成を模式的に示す図である。
図1に示すPOS端末1は、スーパーマーケットやコンビニエンスストア等の店舗に構築された販売時点管理システム(POSシステム)上に設けられた端末であり、売上登録処理及び精算処理を行うホストコンピューター3と、このホストコンピューター3に接続され、ホストコンピューター3の制御の下、レシート10を発行するプリンター2と、を備えている。
ホストコンピューター3は、売上登録処理及び精算処理の処理内容を表示するディスプレー12、売上登録処理時に商品に付されたバーコードを読み取るバーコードスキャナー13、売上登録キー等の各種キーを備えたキー入力部14、精算用の現金を収容するキャッシュドロワー15等を備えている。また、ホストコンピューター3には、売上登録した情報を収集するPOSサーバー16が接続されている。
レシート10の発行に際し、ホストコンピューター3は、バーコードスキャナー13からの入力値や、キー入力部14からの入力値に基づいて、適宜、POSサーバー16にアクセスしてレシート10を発行するために必要な情報を取得し、プリンター2にレシート10の発行に係る各種動作を行わせる制御コマンドを生成し、プリンター2に出力する。プリンター2は、ホストコンピューター3から入力された制御コマンドに基づいて、各部を動作させ、レシート10を発行する。
【0020】
また、図1及び図2に示すように、記録装置としてのプリンター2は、本体20に記録媒体としての感熱ロール紙22を収容し、感熱ロール紙22を搬送するローラー形状のプラテン23(搬送部)と、プラテン23に対向配置された記録ヘッド24と、感熱ロール紙22を切断するカッターユニット25(切断部)とを備えている。
プリンター2は、搬送モーター26(図3)を駆動して、プラテン23を回転して、感熱ロール紙22を搬送方向Y1に搬送しながら、発熱素子が並べて設けられた記録ヘッド24によって、感熱ロール紙22の記録面に熱を与えて、感熱ロール紙22の記録面にドットを形成することにより、画像を記録するサーマルラインプリンターである。
画像が記録された感熱ロール紙22は、本体20の上面に形成された排紙口28から外に向けて搬送され、この排紙口28よりも搬送方向Y1上流側でカッターユニット25により切断され、レシート10となる。
【0021】
図2に示すように、プリンター2が備えるカッターユニット25は、感熱ロール紙22の搬送路の一方側に配置された固定刃30と、この固定刃30に対向して感熱ロール紙22の搬送路の他方側に配置された可動刃31と、可動刃31を固定刃30に向けてスライドさせるカッター駆動モーター32とを備え、カッター駆動モーター32の駆動力により、駆動機構(図示略)を介して可動刃31がカッター駆動モーター32に向けて移動され、固定刃30と可動刃31との間に印刷後の感熱ロール紙22が挟まれ、切断される。
また、図1に示すように、プリンター2の本体20には開閉可能なカバー35が設けられる。本体20には、カバー35を開くためのレバー36が設けられ、カバー35を開くと、感熱ロール紙22を収容する空間が露出し、感熱ロール紙22の補充や交換が可能になる。また、本体20には、プリンター2の電源をオン/オフさせる電源スイッチ37、手動による感熱ロール紙22の搬送等の操作を行うための紙送りスイッチ38、及び、所定の態様で点灯/消灯することによりプリンター2の状態や、エラーの発生の有無等を表示するLED39が設けられている。
【0022】
図3は、POS端末1の機能的構成を示すブロック図である。
図3に示すように、ホストコンピューター3は、ホスト側制御部40と、ホスト側入力部41と、ホスト側表示部42と、ホスト側記憶部43と、ホスト側インターフェイス部44と、を備えている。
ホスト側制御部40は、ホストコンピューター3を中枢的に制御するものであり、各種プログラムを実行するCPU、CPUにより実行される基本制御プログラム等を記憶するROM、CPUが実行するプログラムや処理対象のデータ等を一時的に記憶するワークエリアを形成するRAM、その他周辺回路等を備えている。ホスト側制御部40は、POSアプリケーション実行部40aと、プリンタードライバー実行部40bと、を備えているが、これらについては後述する。
ホスト側入力部41は、上述したキー入力部14を含めた各種入力デバイスに接続され、入力デバイスに対する操作を検出し、ホスト側制御部40に出力する。
ホスト側表示部42は、上述したディスプレー12に接続され、ホスト側制御部40の制御の下、売上登録処理及び精算処理の処理内容等の各種情報をディスプレー12に表示する。
なお、上述したように、ホストコンピューター3は、バーコードスキャナー13や、キャッシュドロワー等の各種レジスター周辺デバイスが接続されているが、ホストコンピューター3には、これらデバイスを接続するためのインターフェイスが実装されると共に、これらデバイスを制御するためのデバイスドライバーが予めインストールされている。
ホスト側記憶部43は、ハードディスクや、EEPROM等の不揮発性メモリーを備え、各種データを書き換え可能に、不揮発的に記憶する。
ホスト側インターフェイス部44は、ホスト側制御部40の制御の下、プリンター2との間で通信規格に準拠した通信を行う。
【0023】
プリンター2は、上述したようにレシート10を発行するサーマルラインプリンターであり、図3に示すように、制御部50と、プリントエンジン51と、入力部52と、表示部53と、記憶部54と、インターフェイス部55と、を備えている。
制御部50は、プリンター2の各部を中枢的に制御するものであり、上述したホスト側制御部40と同様、CPUや、ROM、RAM、その他の周辺回路等を備えている。
プリントエンジン51は、制御部50が備える記録制御部60の制御の下、記録ヘッド24や、搬送モーター26、カッター駆動モーター32等を動作させて、感熱ロール紙22に画像を記録し、画像を記録した感熱ロール紙22を切断することによりレシート10を発行する。この記録制御部60の機能は、CPUや、ファームウェアとのプログラムを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
入力部52は、電源スイッチ37、及び、紙送りスイッチ38に接続され、これら操作スイッチに対する操作を検出し、制御部50に出力する。
表示部53は、制御部50の制御の下、LED39に駆動信号を出力し、所定の態様でLED39を点灯/消灯させる。
記憶部54は、EEPROMや、ハードディスク等の不揮発性メモリーを備え、各種データを書き換え可能に、不揮発的に記憶する。記憶部54に記憶される各データについては、後述する。
インターフェイス部55は、ホストコンピューター3との間で、通信規格に準拠した通信を行う。このインターフェイス部55と、制御部50とが協働して、ホストコンピューター3から制御コマンドを受信する受信部として機能する。
【0024】
次いで、POSアプリケーション実行部40a、及び、プリンタードライバー実行部40bの説明を通して、1つのレシート10を発行する際のPOS端末1の基本的な動作について説明する。
POSアプリケーション実行部40aは、ホストコンピューター3に予めインストールされたPOSアプリケーションを実行することにより、取引毎に、POSサーバー16にアクセスして必要な情報を取得した上で、購入された商品を示す情報や、商品の単価を示す情報、合計購入金額を示す情報等のレシート10(図4(B))に記載すべき情報を取得し、取得した情報に基づいて、レシート10に記録すべき画像の情報を含む印刷データを生成し、プリンタードライバー実行部40bに出力する。
プリンタードライバー実行部40bは、ホストコンピューター3に予めインストールされたプリンタードライバーを実行することにより、POSアプリケーション実行部40aから入力された印刷データに基づいて、プリンター2のコマンド仕様に対応した制御コマンドを生成し、プリンター2に出力する。
制御コマンドとは、プリンター2にレシート10の発行に係る各種動作を行わせるためのコマンド群のことであり、所定の搬送量だけ感熱ロール紙22の搬送を指示する搬送指示コマンドHCや、カッターユニット25によるによる切断を指示する切断指示コマンドSCのほか、記録データ80が含まれている。
記録データ80(図4(A))とは、感熱ロール紙22に記録すべき画像の情報、具体的には、記録すべき画像の内容(文字列や、所定のグラフィック、バーコード等)や、その順序を具体的に指定し、記録させる情報のことである。この記録データ80の具体的な態様については、後に詳述する。
ホストコンピューター3からプリンター2に出力された制御コマンドは、順次、受信バッファー56に格納される。プリンター2の制御部50の記録制御部60は、受信バッファー56に格納された制御コマンドを、順次、読み出して実行することにより、プリントエンジン51を制御して、レシート10の発行に係る各種動作を実行する。特に、記録制御部60は、記録データ80に基づいてプリントエンジン51を制御することにより、感熱ロール紙22への所定の画像の記録、及び、画像の記録に伴う必要な搬送を行う。
【0025】
次いで、記録データ80、及び、記録データ80に基づいて画像が記録されたレシート10の具体例について、説明する。
【0026】
図4(A)は、記録データ80の内容の一例を示す図であり、図4(B)は、図4(A)の記録データ80に基づいて画像が記録されたレシート10の一例を示す図である。
図4(B)のレシート10では、図中上に向かう方向が、搬送方向Y1に対応する方向である。従って、レシート10の発行の際には、感熱ロール紙22が切断されて先端10aが形成された後、記録ヘッド24によってレシート10の先端10a側から後端10b側へ向かって、順次、ドットが形成されて画像が記録され、その後、感熱ロール紙22が切断されて後端10bが形成される。
【0027】
本実施形態では、プリンター2が発行するレシート10のレイアウトは、所定の例外を除き、いずれのレシート10についても基本的に同一である。
すなわち、図4(B)に示すように、レシート10では、先端10aから後端10bへ向かって順番に、換言すれば、記録ヘッド24による記録が行われる順番に、先頭画像エリアA1、レシート情報エリアA2、グラフィックエリアA3、及び、バーコードエリアA4が形成される。
先頭画像エリアA1には、所定の文字列が所定の態様で定型的に記録されるエリアである。図4(B)の例では、「AAA△Store」(△はスペース。以下同じ。)という文字列が、基準の大きさの2倍の大きさで、中央寄せ(レシート10の幅方向の中央部に文字列が記録されるようにすること。)で記録され、次の行に「at△BBB△Area」という文字列が、基準の大きさで、中央寄せで記憶される。
本実施形態では、所定の例外を除き、プリンター2が発行する全てのレシート10について、先頭画像エリアA1には、同一の文字列が同一の態様で記録される。以下、先頭画像エリアA1に記録される上記の2行の文字列のことを「先頭画像」と表現するものとする。すなわち、先頭画像とは、レシート10の先端部に定型的に記録される文字列に係る画像のことである。
レシート情報エリアA2は、レシート10を発行した日時や、購入した商品の名称、商品の単価、合計購入金額、その他の付加的な情報が文字列として記録されるエリアである。
グラフィックエリアA3は、所定のグラフィック画像が記録されるエリアである。グラフィック画像については、後述する。
バーコードエリアA4は、バーコードが記録されるエリアである。
【0028】
記録データ80は、上述したように、感熱ロール紙22に記録すべき画像の情報を含むデータであるが、具体的には、感熱ロール紙22に所定の画像を所定の態様で記録させることを指示するコマンドが、記録させる順番に並んで構成されたデータである。プリンター2の制御部50の記録制御部60は、記録データ80を構成する各コマンドを、順次、読み出して実行することにより、感熱ロール紙22への画像の記録、及び、画像の記録に伴う必要な搬送を行う。
図4(A)において、コマンド群H1は、レシート10の先頭画像を構成する2行の文字列のうち、「AAA△Store」の文字列を所定の態様で記録させるコマンド群であり、文字列装飾コマンドMS1、及び、文字列記録指示コマンドMK1の2つのコマンドが含まれている。
文字列装飾コマンドMS1は、「AAA△Store」の文字列に施す装飾を指定するコマンドであり、具体的には、当該文字列の大きさを基準の2倍の大きさとすること、及び、当該文字列を中央寄せすることを指定するコマンドである。なお、装飾とは、記録する文字列に対して描画に関する何らかの処理を行うことを意味し、例えば、上述した文字列の拡大や、文字列の位置の移動のほか、例えば、縮小、回転、強調、太字化、装飾文字又は装飾記号の付加等が装飾に該当する。
文字列記録指示コマンドMK1は、「AAA△Store」の文字列を記録することを指示するコマンドである。本実施形態では、基本的に、文字列記録指示コマンドは、命令コードと、所定の文字コード(例えば、アスキーコード。)で表現された文字の組み合わせからなる文字列と、が組み合わされて構成されている。例えば、文字列記録指示コマンドMK1は、「XXX△“AAA△Store”」(ただし、XXXは、文字列を記録することを指示する命令コード。また、ダブルクォーテーション内の文字列は、アスキーコードで表現された文字の組み合わせによって構成された文字列。)という構成となっている。
【0029】
記録制御部60は、プリントエンジン51を制御して、文字列装飾コマンドMS1により指定された装飾を施した上で、文字列記録指示コマンドMK1に記述された文字列を記録媒体に記録する。これにより、図4(B)に示すように、基準の2倍の大きさで、中央寄せされた「AAA△Store」の文字列が記録される。
詳述すると、プリンター2の記憶部54には、フォントテーブル70が記憶されている。フォントテーブル70とは、フォントデータを集合して記憶するテーブルであり、また、フォントデータとは、文字を感熱ロール紙22に記録可能な態様で表現する実データのことである。本実施形態では、フォントデータの態様は、ビットマップフォントデータである。フォントデータの態様としては、ビットマップデータのほか、スケイラブルフォントデータや、ベクトルフォントデータ、アウトラインフォントデータ等がある。
なお、本実施形態では、感熱ロール紙22に記録する「文字」は、言語で使用される意味を持った文字のみならず、記憶部54に記憶されたフォントデータに基づいて感熱ロール紙22に記録可能な「図形」の全てを指す概念である。
アスキーコードで表現された文字のそれぞれは、フォントテーブル70に記憶されたいずれかのフォントデータと対応関係にあり、この対応関係を示す情報が記憶部54に予め記憶されている。例えば、各アスキーコードと、各アスキーコードに対応するフォントデータの位置(フォントテーブル70における記憶領域のアドレス)とが対応づけて記憶されたテーブルが記憶部54に予め記憶されている。
そして、文字列装飾コマンドMS1、及び、文字列記録指示コマンドMK1に基づいて、「AAA△Store」の文字列を記録する際、記録制御部60は、フォントテーブル70、及び、アスキーコードとフォントデータとの対応関係を示す情報を参照して、当該文字列を構成する各文字のフォントデータを取得し、文字列装飾コマンドMS1が指定する装飾を反映した上で、取得したフォントデータに基づいて、プリントバッファー(不図示)に文字列に係る画像データ(ビットマップデータ)を展開する。次いで、記録制御部60は、プリントバッファーに展開した当該文字列に係る画像データに基づいて、記録ヘッド24や、搬送モーター26等を駆動して、感熱ロール紙22に文字列に係る画像を構成するドットを形成することにより、「AAA△Store」の文字列を記録する。
【0030】
コマンド群H1に続く、コマンド群H2は、「at△BBB△Area」の文字列を所定の態様で記録させるコマンド群であり、当該文字列の大きさを基準の大きさとすること、及び、当該文字列を中央寄せすることを指定する文字列装飾コマンドMS2、及び、「at△BBB△Area」の文字列を記録することを指示する文字列記録指示コマンドMK2を含んで構成されている。
記録制御部60は、コマンド群H2に含まれる各コマンドに基づいて、プリントエンジン51を制御して、図4(B)に示すように、基準の大きさで、中央寄せされた「at△BBB△Area」の文字列を記録する。
コマンド群H2の後には、2つの改行コマンドLFが続いている。これにより、図4(B)に示すように、「at△BBB△Area」の文字列の後には、改行が2つ挿入される。
【0031】
2つの改行コマンドLFの後には、コマンド群H3が続いている。このコマンド群H3は、レシート10のレシート情報エリアA2に画像を記録させるコマンド群であり、上述した文字列装飾コマンド、文字列記録指示コマンド、及び、改行コマンドが組み合わされて構成されている。このコマンド群H3の詳細については省略する。
【0032】
コマンド群H3の後には、グラフィック記録指示コマンドGSが続いている。
記録制御部60は、このグラフィック記録指示コマンドGSに基づいて感熱ロール紙22にグラフィック画像を記録する。
詳述すると、プリンター2の記憶部54には、登録グラフィックテーブル71が記憶されている。この登録グラフィックテーブル71では、複数のグラフィック画像データと、各グラフィック画像に一意に付与された識別コードとが対応づけて記憶されている。グラフィック画像データとは、フォントデータに基づいて記録される画像ではない、所定の画像(グラフィック画像)を表現するビットマップデータのことであり、例えば、図4(B)のレシート10のグラフィックエリアA3のグラフィック画像(強調用の飾り枠の中に「10%Off」という文字列が描画された画像)を表現するビットマップデータである。
そして、グラフィック記録指示コマンドGSには、記録すべきグラフィック画像の識別コードを特定する情報が含まれており、グラフィック記録指示コマンドGSに基づいてグラフィック画像を記録する際、記録制御部60は、登録グラフィックテーブル71を参照して、当該識別コードに対応するグラフィック画像データを取得し、取得したグラフィック画像データをプリントバッファーに展開し、展開したグラフィック画像データに基づいてプリントエンジン51を制御して、グラフィック画像の記録を行う。
なお、グラフィック記録指示コマンドGSを、グラフィックエリアA3に記録すべき画像のビットマップデータを含んだ構成とし、当該ビットマップデータに係る画像を記録させるコマンドとすること可能である。この場合、記録制御部60は、グラフィック記録指示コマンドGSに含まれるビットマップデータをプリントバッファーに展開して画像を記録する。
【0033】
グラフィック記録指示コマンドGSの後には、バーコード記録指示コマンドBSが続いている。
バーコード記録指示コマンドBSは、HRI文字に関する各種設定(HRI文字を記録するか否か、HRI文字をバーコードとの関係でどこに記録するか等)を指定するコマンドや、バーコードを記録する際のサイズを指定するコマンド、バーコードに変換しようとしている文字列(以下、「変換前文字列」という。)を指定すると共に当該変換前文字列に基づくバーコードの画像を記録することを指示するコマンド等が含まれて構成されている。
バーコード記録指示コマンドBSに基づいてバーコードを記録する際、記録制御部60は、バーコード記録指示コマンドBSに含まれる変換前文字列を取得し、取得した変換前文字列を、ファームウェアに実装された所定の機能により、画像としてのバーコードを表現するビットマップデータに変換し、HRI文字に関する各種設定や、バーコードのサイズに関する各種設定を反映した上で、画像としてのバーコードを表現するビットマップデータをプリントバッファーに展開し、展開したビットマップデータに基づいて、プリントエンジン51を制御して、バーコード、及び、HRI文字に係る画像を感熱ロール紙22に記録する。
【0034】
図5は、本願発明を適用する前の従来のPOS端末1におけるプリンター2、及び、ホストコンピューター3の動作を説明するためのシーケンス図である。
従来は、複数のレシート10を発行する場合、プリンター2、及び、ホストコンピューター3は、以下のような手順で各種処理を行っていた。
すなわち、図5に示すように、まず、ホストコンピューター3は、プリンター2に記録データ80を送信する(ステップSA1)。
次いで、プリンター2の記録制御部60は、受信した記録データ80に基づいて、感熱ロール紙22に記録データ80の内容に準拠した画像の記録を行う(ステップSA2)。
次いで、ホストコンピューター3は、感熱ロール紙22の切断位置(レシート10を発行すべく感熱ロール紙22を切断すべき位置であり、以下、「紙切断位置」という。)が、カッターユニット25のカット位置T2(カッターユニット25によって切断が行われる位置。すなわち、固定刃30と、可動刃31とが対峙した位置。)に至るまで、所定量だけ感熱ロール紙22を搬送することを指示する搬送指示コマンドHCをプリンター2に送信する(ステップSA3)。
【0035】
図6は、記録ヘッド24と、カッターユニット25との位置関係を説明するため、これら装置を模式的に示す図である。
図2、及び、図6に示すように、本実施形態では、感熱ロール紙22が搬送される搬送経路(図6)K上の所定の位置に記録ヘッド24が設けられ、この記録ヘッド24の搬送方向Y1下流に感熱ロール紙22を切断するためのカッターユニット25が設けられている。
図6に示すように、記録ヘッド24によって画像が記録される記録位置T1(発熱素子が配置された位置)と、カッターユニット25のカット位置T2との間には、ギャップGが形成されている。
【0036】
ステップSA3において、ホストコンピューター3からプリンター2に搬送指示コマンドHCが送信された後、プリンター2の記録制御部60は、受信した搬送指示コマンドHCに基づいて、プリントエンジン51を制御して、感熱ロール紙22を所定量だけ搬送する(ステップSA4)。
次いで、ホストコンピューター3は、カッターユニット25による感熱ロール紙22の切断を指示する切断指示コマンドSCをプリンター2に送信する(ステップSA5)。
次いで、プリンター2の記録制御部60は、受信した切断指示コマンドSCに基づいて、プリントエンジン51を制御して、感熱ロール紙22を切断する(ステップSA6)。
このようにして1のレシート10を発行した後、さらに、次のレシート10を発行する場合、ホストコンピューター3は、記録データ80、搬送指示コマンドHC、及び、切断指示コマンドSCを順次送信し、プリンター2は受信したコマンドを順次実行する(ステップSA7〜ステップSA12)。
【0037】
以上のようなシーケンスで、複数のレシート10を発行していた従来では、以下のような問題があった。
【0038】
図7(A)は、従来の問題点を説明するため、感熱ロール紙22を模式的に示す図である。
図6で説明したように、従来のシーケンスによれば、1のレシート10に係る記録データ80に基づく画像の記録が終了した後、感熱ロール紙22の紙切断位置が、カット位置T2に至るまで感熱ロール紙22が搬送された上で感熱ロール紙22が切断され、その後、次のレシート10に係る記録データ80に基づく画像の記録が開始されるという手順であった。このため、図7に示すように、記録ヘッド24の記録位置T1と、カッターユニット25のカット位置T2との搬送方向Y1におけるギャップGに起因して、レシート10の先端10aと、当該レシート10に記録される先頭画像の先端との間に形成されるマージンMが拡大化する傾向にあった。
【0039】
そして、このマージンMは、何ら画像が記録されない無駄な領域であるため、できるだけ当該マージンMを縮小し、感熱ロール紙22の無駄な消費を抑制したいとするニーズがある。
特に、ホストコンピューター3に対する改変、例えば、プログラム修正や、プログラムの書き換え、ホストコンピューター3自体の交換、各種機構の改変等を行うことなく、マージンMを縮小したいとするニーズがあった。これは、例えば、本発明をPOS端末1に適用する際に、ホストコンピューター3に対する改変が必要ない分、作業性がよいからである。さらに、ある店舗において、当該店舗に設置された既存のホストコンピューター3にプリンター2を接続することによりPOS端末1を構築するような状況の場合に、既存のホストコンピューター3に対する改変を行う必要がないため、プリンター2を購入し、導入する店舗側にとっては作業の容易性、接続の確実性の面でメリットがあり、また、プリンター2を販売、提供する主体(例えば、製造メーカー)にとっては、プリンター2の商品価値を向上できるという点でメリットがあるからである。
以上を踏まえ、本実施形態に係るプリンター2は、以下の動作を実行する。
【0040】
図8は、本実施形態に係るプリンター2、及び、ホストコンピューター3の動作を示すフローチャートであり、(A)はホストコンピューター3の動作を、(B)はプリンター2の動作をそれぞれ示している。
図8では、1つのレシート10を発行する場合におけるプリンター2、及び、ホストコンピューター3の動作を示している。
また、以下の説明において、制御部50、記録制御部60、及び、先頭画像情報記憶部61の機能は、CPUがファームウェア等のプログラムを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
図8に示すように、まず、ホストコンピューター3が記録データ80を送信する(ステップSB1)。
次いで、プリンター2は、ホストコンピューター3が送信した記録データ80を受信する(ステップSC1)。受信した記録データ80は、一旦、受信バッファー56に格納される。
次いで、先頭画像情報記憶部61は、記憶部54に先頭画像データ72(後述)が既に記憶されているか否かを判別する(ステップSC2)。
以下、まず、ステップSC2において先頭画像データ72(後述)が未だ記憶部54に記憶されていない場合(ステップSC2:NO)の、プリンター2の動作を説明する。
なお、ステップSC2で「NO」と判別される場合は、感熱ロール紙22の先端部に、先頭画像が記録されていない状態を想定している。従って、記憶部54に先頭画像データ72が記憶されていない場合のほか、感熱ロール紙22の交換のタイミングや、エラー等の何らかの原因により、先頭画像データ72が記憶部54に記憶されている場合であっても、感熱ロール紙22の先端部に、先頭画像が記録されていない状態である場合には、ステップSC2で「NO」と判別される。
先頭画像データ72が未だ記憶部54に記憶されていない場合(ステップSC2:NO)、先頭画像情報記憶部61は、記憶部54に記憶されたキーワード文字列データ73を参照し、キーワード文字列を取得する(ステップSC3)。キーワード文字列については後述する。
次いで、先頭画像情報記憶部61は、ステップSC3で取得したキーワード文字列を利用して、ステップSC1で受信した記録データ80に含まれる画像の情報から、先頭画像の情報を抽出する(ステップSC4)。
以下、ステップSC4の動作について図4を援用して詳述する。
【0041】
上述したように、本実施形態では、プリンター2によって発行される全てのレシート10について、レシート10の先端部(先頭)に、先頭画像として、所定の文字列が、所定の態様で記録される。具体的には、レシート10の先端部に「AAA△Store」の文字列と、当該文字列に続く「at△BBB△Area」の文字列とが定型的に記録される。
そして、キーワード文字列とは、先頭画像を構成する文字列の末尾に該当する文字列のことであり、上記例では、「Area」がこのキーワード文字列に該当する。
ステップSC4において、先頭画像情報記憶部61は、受信バッファー56に格納されている記録データ80を分析し、各文字列記録指示コマンド(所定の命令コードと、所定の文字コードからなる文字の組み合わせで表現された文字列とを含んで構成されるコマンド)に含まれた文字列の中から、キーワード文字列を検索する。上述したように、文字列記録指示コマンドにおいて、文字列は、所定の文字コードからなる文字の組み合わせによって表現されているため、既存の文字列検索用のアルゴリズムを用いて、記録データ80から、キーワード文字列の検索が可能である。
次いで、先頭画像情報記憶部61は、記録データ80に基づいて画像を記録した場合に、その先頭に記録される文字列から、検索されたキーワード文字列に至るまでの一連の文字列が、先頭画像、すなわち、レシート10の先端部に定型的に記録される文字列であるものとし、記録データ80から、当該一連の文字列の記録に係る一連のコマンドを抽出する。図4(A)の例では、「AAA△Store」の文字列の記録に係る一連のコマンドを含むコマンド群H1の各コマンド、及び、「at△BBB△Area」の文字列の記録に係る一連のコマンドを含むコマンド群H2の各コマンドを抽出する。このように、先頭画像情報記憶部61は、文字列記録指示コマンドのみならず、文字列に施す装飾を指定するコマンドである文字列装飾コマンドも併せて抽出する。
以上のようにして抽出した一連のコマンド(上記例では、コマンド群H1及びコマンド群H2に含まれるコマンド)が、「先頭画像の情報」に該当する。
【0042】
ステップSC4において先頭画像の情報を抽出した後、先頭画像情報記憶部61は、当該抽出した先頭画像の情報(一連のコマンド)を、先頭画像データ72として記憶部54に記憶する(ステップSC5)。
次いで、記録制御部60は、先頭画像を構成する文字列の行うち、切断のための搬送に伴って記録する文字列の行、換言すれば、切断のための搬送を開始した後、感熱ロール紙22が切断される前に、記録すべき文字列の行、及び、先頭画像に係る文字列の記録を開始する感熱ロール紙22における位置を決定する(ステップSC6)。
以下、ステップSC6の動作について詳述する。
【0043】
図9は、ステップSC6の動作を説明するために、所定の態様で、先頭画像を感熱ロール紙22に記録した様子を示す図である。
上述したように、本願発明は、記録ヘッド24の記録位置T1と、カッターユニット25のカット位置T2との搬送方向Y1におけるギャップGに起因して、レシート10の先端10aと、当該レシート10に記録される先頭画像の先端との間に形成されるマージンMを縮小することをその目的の1つとしている。
当該目的を達成するために、プリンター2は、図7(B)に示すように、記録データ80に基づく画像の記録が終了した後、感熱ロール紙22を切断するために、感熱ロール紙22を搬送方向Y1に搬送する際に、当該搬送と並行して、先頭画像を記録するにようにし、これによりマージンMを縮小する。
これを踏まえ、ギャップGと、感熱ロール紙22における先頭画像との関係が図9(A)のような状態であるものとする。この図9(A)では、感熱ロール紙22の先端と、先頭画像の先端との距離が、マージンMminとなっている。このマージンMminは、レシート10の枠と、画像とのバランスを考慮して、レシート10の見栄え上の観点から、最低限必要とされるマージンである。従って、マージンMをマージンMminとすれば、マージンMを最も縮小させることができる。
そして図9(A)に示す状態の場合、「at△BBB△Area」の文字列を感熱ロール紙22に記録している途中で、一旦記録が中断され、感熱ロール紙22の切断が行われ、切断の終了後、再び、「at△BBB△Area」の文字列の残りの部分の記録が行われることとなる。この場合、文字列の記録の一時的な中断が、記録された文字列の白スジ、ドットずれの要因となり、印刷品質の低下を招く可能性がある。特に、感熱ロール紙22の切断の際、カッターユニット25の物理的な接触に伴って感熱ロール紙22に一定の圧力が加わるため、切断の前後で、感熱ロール紙22に多少のずれが生じていることがあり、白スジやドットずれが生じる可能性があると言える。
【0044】
また、ギャップGと、感熱ロール紙22における先頭画像との関係が図9(B)のような状態であるものとする。
図9(B)では、「AAA△Store」の文字列と、「at△BBB△Area」の文字列との間が、記録データ80により想定されている離間量よりも大きい状態である。
この場合、図9(A)のような印刷品質の低下は生じないものの、「AAA△Store」の文字列と、「at△BBB△Area」の文字列との想定以上の離間に起因して、レシート10に記録された画像の見た目が悪くなる可能性がある。
また、ギャップGと、感熱ロール紙22における先頭画像との関係が図9(C)のような状態であるものとする。
この場合、図9(A)における印刷品質の低下を防止でき、かつ、図9(B)のような見た目の悪さを防止できる。
以上を踏まえ、ステップSC6では、先頭画像が図9(C)に示す態様で記録されるように、先頭画像を構成する複数行の文字列のうち、感熱ロール紙22の切断の前に記録すべき文字列の行、及び、先頭画像の記録を開始するタイミングを決定する。
以下、さらに詳述する。
【0045】
図10は、仮想的に、感熱ロール紙22の全域に、プリンター2の解像度に準拠した画素を配置したとした場合の各画素を、所定の座標系に展開した様子を示す図である。座標系において各画素は、感熱ロール紙22の形状に準拠してドットマトリクス上に配置されており、各画素は、原点に対する位置により特定可能である。
図9(C)、及び、図10を参照し、図9(C)における点Q0が、座標系の原点P0(0、0)に対応しており、また、点Q1がx軸上の点である点P1(x1、y1)に、点Q2がy軸上の点である点P2(x2、y2)に、点Q3が点P3(x3、y3)にそれぞれ対応している。点P1は、原点P0から、感熱ロール紙22の幅に対応するドット数分、x軸(+)方向に離間した点であり、点P2は、原点P0から、プリンター2における記録ヘッド24の記録位置T1と、カッターユニット25のカット位置T2との搬送方向Y1におけるギャップGに対応するドット数分、y軸(−)方向に離間した点である。また、点P3は、点P1からギャップGに対応するドット数分、y軸(−)方向に離間し、かつ、点P2から感熱ロール紙22の幅に対応するドット数分、x軸(+)方向に離間した点である。
ステップSC6において、まず、制御部50は、所定の記憶領域に図10に示す座標系を定義する。
次いで、制御部50は、以下の手順で、記憶部54に記憶された先頭画像データ72に基づいて、所定の装飾を施した先頭画像の画素のデータ(以下、「描画データ」という。)を座標系に展開する。
すなわち、制御部50は、定義した座標系において、文字列間のスペースのドット数を変更することなく、かつ、いずれの文字列の描画データも仮想直線KT2を跨がない状態(=いずれかの文字列の描画データと、当該文字列の次の文字列の描画データとの間に仮想直線KT2が延在している状態、又は、先頭画像を構成する複数行の文字列のうち、最後の行の文字列の描画データのy軸(−)方向の端よりも、y軸(−)方向側に仮想直線KT2が位置している状態)で、マージンMminに対応するドット数分x軸から離間した仮想直線KT1と、点P2と点P3とを結ぶ仮想直線KT2とで囲まれる範囲に、できるだけ多くの行の文字列の描画データが展開された状態となるように、座標系に先頭画像の描画データを展開する。
【0046】
例えば、先頭画像の描画データが、所定の装飾を施した「AAA△Store」の文字列に係る描画データと、当該描画データから予め定められたスペースに対応するドット数分離間した、所定の装飾を施した「at△BBB△Area」の文字列に係る描画データとからなる場合において、文字列間のスペースに対応するドット数を変更することなく、仮想直線KT1と仮想直線KT2とで囲まれる範囲に、全ての文字列に係る描画データを展開可能な場合は、当該範囲に、全ての文字列に係る描画データを展開する。一方、仮想直線KT1と仮想直線KT2とのy軸方向のドット数に比して、文字列間のスペースを含めた先頭画像の描画データのy軸方向のドット数が大きく、全ての文字列に係る描画データを仮想直線KT1と仮想直線KT2とで囲まれる範囲に展開することができず、かつ、仮想直線KT1と仮想直線KT2とのy軸方向のドット数に比して、「AAA△Store」の文字列に係る描画データのy軸方向のドット数が小さく、「AAA△Store」の文字列に係る描画データは当該範囲に展開可能な場合は、図10に示すように、「AAA△Store」の文字列に係る描画データと、「at△BBB△Area」の文字列に係る描画データとの間のスペースに、仮想直線KT2が延在するような状態で、各文字列に係る描画データを座標系に展開する。ここで、仮想直線KT1と仮想直線KT2とで挟まれた範囲に展開された文字列は、切断のための搬送の開始後、切断を行う前に、記録される文字列であり、仮想直線KT2よりy軸(−)方向に展開された文字列は、当該切断後に記録される文字列である。制御部50は、座標系を利用して、感熱ロール紙22の切断のための搬送の開始後、切断を行う前に、記録を完了することが可能な文字列について、できるだけ多くの文字列を記録するとした場合に、先頭画像を構成する文字列の行のうち、当該切断前に記録すべき行を特定している。
【0047】
次いで、制御部50は、座標系に展開した文字列に係る描画データのうち、先頭の文字列に係る描画データのy軸(+)側の端と、x軸との離間量D1(図10参照)のドット数を検出する。
図10の例では、「AAA△Store」の文字列に係る描画データと、「at△BBB△Area」の文字列に係る描画データとの間のスペースに仮想直線KT2が延在するような状態で、先頭画像に係る描画データが座標系に展開されているが、この場合、図9(C)に示すように、離間量D1に対応する距離L1分、感熱ロール紙22の切断位置(先端)から離間した位置から先頭画像の記録を始めれば、「AAA△Store」の文字列の記録が完了した後、「at△BBB△Area」の文字列の記録を開始する前に、カッターユニット25による感熱ロール紙22の切断が行われ、その後、「at△BBB△Area」の文字列の記録が開始されることとなり、図9(A)を用いて説明した印刷品質の低下を防止できる。
ステップSC6において、制御部50は、以上のようにして座標系に先頭画像に係る描画データを展開した後、仮想直線KT1と仮想直線KT2とで囲まれた範囲に展開した文字列の行を、切断のための搬送の開始後、切断前に感熱ロール紙22に記録する行と決定し、さらに、離間量D1(図10)に対応する距離L1(図9(C))だけ、感熱ロール紙22の先端から離間した位置を、先頭画像の記録を開始する位置(記録開始位置Z1、図9(C)参照)として決定する。
なお、座標系における離間量D1のドット数と、感熱ロール紙22における距離L1の長さとを対応づけて記憶するテーブルが事前に所定の記憶領域に記憶されており、制御部50は、当該テーブルに基づいて、離間量D1を距離L1へと変換する。距離L1の値は、例えば、搬送モーター26がステッピングモーターで構成されている場合において、ステップ数によって表現された値であっても良い。
【0048】
さて、前掲図8に戻り、先頭画像情報記憶部61は、ステップSC6で決定した、切断前に記録する文字列の行、及び、先頭画像の記録を開始する位置を示す情報を先頭画像データ72と対応づけて記憶する(ステップSC7)。
次いで、記録制御部60は、記録データ80に基づいて、プリントエンジン51を制御して、感熱ロール紙22に画像の記録を行う(ステップSC8)。
次いで、ホストコンピューター3は、従来と同様、搬送指示コマンドHCをプリンター2に送信する(ステップSB2)。プリンター2の記録制御部60は、受信した搬送指示コマンドHCを読み飛ばす(ステップSC9)。また、ホストコンピューター3は、切断指示コマンドSCをプリンター2に送信するが(ステップSB3)、プリンター2の記録制御部60は、受信した切断指示コマンドSCを読み飛ばす(ステップSC10)。
ホストコンピューター3には、何ら改変が加えられていないため、ホストコンピューター3は、従来と同様、記録データ80、搬送指示コマンドHC、切断指示コマンドSCの順に、順次、コマンドをプリンター2に送信するが、本実施形態に係るプリンター2は、ホストコンピューター3の制御によることなく、マージンMを縮小するための所定の手順により切断のための搬送、切断を実行するため、これらコマンドを読み飛ばしている。また、プリンター2側で、これらコマンドを読み飛ばすという処理を行うため、ホストコンピューター3は、従来と同様の手順でコマンドを送信すればよく、ホストコンピューター3に対する改変が必要ない。
【0049】
次いで、プリンター2の記録制御部60は、切断のための感熱ロール紙22の搬送を開始する(ステップSC11)。
感熱ロール紙22の搬送中、記録制御部60は、感熱ロール紙22における記録開始位置Z1(図9(C)参照)が、記録ヘッド24の記録位置T1に至ったか否かを監視する(ステップSC12)。なお、プリンター2では、感熱ロール紙22の搬送量を、例えば、ステッピングモーターとして構成された搬送モーター26のステップ数等により管理しており、この搬送量や、感熱ロール紙22の位置を検出する所定のセンター等の検出値に基づいて、記録開始位置Z1や、切断位置のプリンター2における位置を管理しており、記録開始位置Z1や切断位置が、記録位置T1やカット位置T2に至ったことを検出可能である。
感熱ロール紙22における記録開始位置Z1が、記録ヘッド24の記録位置T1に至った場合、記録制御部60は、記憶部54の先頭画像データ72、及び、ステップSC7において先頭画像データ72と対応づけて記憶された、切断前に記録すべき行の情報に基づいて、先頭画像を構成する複数行の文字列のうち、切断前に記録すべき行の文字列に係る制御コマンドを読み出して、実行することにより、当該行の文字列を記録する(ステップSC13)。
例えば、図9(C)を参照し、「AAA△Store」の文字列と、「at△BBB△Area」の文字列のうち、「AAA△Store」の文字列が、切断前に記録すべき行の文字列に該当する場合、記録制御部60は、記憶部54の先頭画像データ72に含まれるコマンドのうち、コマンド群H1に係るコマンドである文字列装飾コマンドMS1、及び、文字列記録指示コマンドMK1を取得し、これらコマンドを読み出して実行することにより、所定の装飾を施した上で、「AAA△Store」の文字列を感熱ロール紙22の搬送量に記録する。
【0050】
上記特定の行の文字列の記録が完了した後、感熱ロール紙22の切断位置が、カッターユニット25のカット位置T2に至ったタイミングで、記録制御部60は、感熱ロール紙22の搬送を停止し、カッターユニット25により感熱ロール紙22を切断する(ステップSC14)。
上述した手段により、記録開始位置Z1と、先頭画像のうち、記録すべき行が調整されているため、文字列を記録している途中ではなく、文字列の記録が完了した後に、感熱ロール紙22の切断位置が、カッターユニット25のカット位置T2に至ることとなる。
次いで、記録制御部60は、先頭画像のうち、未だ記録されていない行の文字列が存在するか否かを判別し(ステップSC15)、存在する場合(ステップSC15:YES)、先頭画像データ72における当該行の文字列に係る制御コマンドに基づいて、所定の装飾を施した上で、当該行の文字列を記録する(ステップSC16)。
【0051】
さて、ステップSC2に戻り、先頭画像データ72が記憶部54に既に記憶されている場合(ステップSC2:YES)について、説明する。
なお、ステップSC2で「YES」と判別される場合は、記憶部54に記憶された先頭画像データ72に基づいて、感熱ロール紙22の先端部に、既に、先頭画像が記録されている状態を想定している。感熱ロール紙22の切断のための搬送に伴って先頭画像が記録されているか否かをフラグによって管理したり、光学的な検出手段で検出するようにしたりするようにしても良い。これにより、感熱ロール紙22の交換のタイミングや、何らかのエラーにより感熱ロール紙22に先頭画像が記録されていない場合に、そのことを適切に検出可能である。
さて、先頭画像データ72が記憶部54に既に記憶されている場合(ステップSC2:YES)、記録制御部60は、受信バッファー56に記憶された記録データ80のうち、先頭画像に係るコマンドを除くコマンドに基づいて、画像の記録を行う(ステップSC17)。例えば、記録データ80の状態が、図4(A)が示す状態である場合、記録制御部60は、コマンド群H1、及び、コマンド群H2を除くコマンドを順次読み出して実行することにより、画像の記録を行う。これにより、先頭画像を重複して記録することなく、画像の記録を行うことができる。
なお、ステップSC17では、記録制御部60は、記憶部54に先頭画像データ72と、受信バッファー56記憶された記録データ80との比較結果に基づいて、記録データ80に含まれるコマンドのうち、先頭画像に係るコマンド以外のコマンドを特定する。
ステップSC17において、感熱ロール紙22に画像を記録した後、記録制御部60は、処理手順をステップSC9へ移行し、切断のための搬送に伴う先頭画像の記録を行う。
【0052】
以上説明したように、本実施形態によれば、先頭画像情報記憶部61は、ホストコンピューター3から制御コマンドを受信した場合、記録データ80に含まれる画像の情報に基づいて、記録媒体たる感熱ロール紙22に記録すべき画像のうち、先端部の所定の範囲に記録される画像である先頭画像の情報を抽出し、先頭画像データ72として記憶する。また、記録制御部60は、カッターユニット25により感熱ロール紙22を切断する場合、ホストコンピューター3から受信した、所定の搬送量の搬送を指示する搬送指示コマンドHC、及び、切断部による切断を指示する切断指示コマンドSCを読み捨てた上で、先頭画像情報記憶部61により記憶した先頭画像データ72に基づいて、感熱ロール紙22の切断位置の搬送方向上流側に、記録ヘッド24により先頭画像を記録させつつ、感熱ロール紙22の切断位置がカッターユニット25に対応する位置に至るまで感熱ロール紙22を搬送させて、カッターユニット25により感熱ロール紙22を切断する。
これによれば、プリンター2は、ホストコンピューター3から入力された制御コマンドに含まれる記録データ80から、先頭画像の情報を抽出して先頭画像データ72として記憶しておき、感熱ロール紙22を切断する際は、切断のための搬送と併せて、感熱ロール紙22における切断位置の搬送方向上流側に先頭画像を記録するため、記録ヘッド24の記録位置T1とカッターユニット25のカット位置T2との搬送方向における離間に起因して発生する感熱ロール紙22の先端と、感熱ロール紙22に記録される画像の先端とのマージンMをできるだけ縮小することが可能となる。
特に、ホストコンピューター3は、プリンター2に対して通常の制御コマンドを出力すれば、プリンター2側で、自動で、先頭画像の情報が先頭画像データ72として記憶され、以後は、先頭画像データ72に基づいて、感熱ロール紙22の切断のための搬送に伴う先頭画像の記録が実行されるため、ホストコンピューター3に対して改変を行う必要がない。
【0053】
また、本実施形態では、先頭画像情報記憶部61は、先頭画像データ72が記憶されていない状態のときに制御コマンドを受信した場合、先頭画像データ72を記憶する。
これによれば、先頭画像データ72が記憶されていない状態のときに、制御コマンドに基づく先頭画像データ72の記憶が行われ、以後は、記憶した先頭画像データ72に基づく先頭画像の記録が行われることとなり、先頭画像の情報の記録に係る処理の回数を削減でき、処理効率が向上する。
なお、先頭画像データ72が記憶されていない場合としては、例えば、初めて制御コマンドを受信した場合や、先頭画像データ72をRAM等の不揮発性メモリーに記憶する構成としたときに、電源をオフした後、再投入する場合等が想定されている。
【0054】
また、本実施形態では、記録制御部60は、感熱ロール紙22の切断に伴って先頭画像を記録した後、新たに前記制御コマンドを受信した場合、新たな制御コマンドの記録データ80に含まれるコマンド(画像の情報)のうち、先頭画像情報記憶部61により記憶した先頭画像データに含まれるコマンド以外のコマンドに基づいて、感熱ロール紙22への記録を行う。
これによれば、先頭画像データ72に基づいて、切断のための搬送に伴う先頭画像の記録を実行した後に、新たな制御コマンドを受信した場合に、既に記録された先頭画像を重複して記録することなく、記録すべき画像を過不足なく記録可能となる。
【0055】
また、本実施形態では、記録データ80における先頭画像の情報は、所定の文字コードからなる文字列を含んで構成される情報である。具体的には、記録データ80における先頭画像の情報は、記録すべき文字列を含んで構成される文字列記録指示コマンドを含んでいる。
そして、先頭画像情報記憶部61は、記録データ80から、予め設定された所定の文字列であるキーワード文字列を検出し、当該キーワード文字列に至るまでの情報を抽出して、先頭画像データ72として記憶部54に記憶する。
これによれば、設定されたキーワード文字列を利用して、記録データ80に含まれる画像の情報から、先頭画像の情報を具体的に特定することが可能となる。特に、記録データ80に含まれる画像の情報から、キーワード文字列を検出し、当該情報の先頭からキーワード文字列に至るまでの情報を抽出する、という非常に簡易な手段で、先頭画像の情報を特定できる。
つまり、本実施形態では、先頭画像が文字列で構成されている点、及び、記録データ80において、先頭画像を構成する文字列の各文字が所定の文字コードで表現されており、文字列検索が可能な点を活用し、容易な手段で、確実に、記録データ80における先頭画像の情報を特定可能である。
【0056】
また、本実施形態では、先頭画像は、1又は複数の行の文字列を含んで構成されている。
そして、記録制御部60は、感熱ロール紙22の切断位置の搬送方向上流側に、記録ヘッド24により先頭画像を記録させつつ、感熱ロール紙22の切断位置がカット位置T2に対応する位置に至るまで間寝るロール紙を搬送させる際、いずれかの行の文字列に基づく画像の記録が完了し、かつ、次の文字列が存在する場合は当該次の文字列に基づく画像の記録が開始されていない状態で、感熱ロール紙22の切断位置がカット位置T2に至るように、切断の前に記録を行うべき文字列の行を決定する。
これによれば、いずれかの行の文字列に基づく画像の記録が完了し、かつ、次の文字列が存在する場合は当該次の文字列に基づく画像の記録が開始されていない状態で、感熱ロール紙22の切断位置がカット位置T2に至って切断が行われることとなるため、印刷品質の低下を効果的に抑制することが可能となる。
【0057】
また、本実施形態では、先頭画像情報記憶部61は、記録データ80に、先頭画像を構成する文字列の装飾に係る文字列装飾コマンド(付加情報)が含まれている場合は、当該コマンドも併せて記憶する。
これによれば、先頭画像に施すことが想定された装飾を適切に施した上で、切断のための搬送に伴って先頭画像を記録することが可能となる。
【0058】
<第2実施形態>
次いで、第2実施形態について説明する。
【0059】
図11は、本実施形態に係るPOS端末1の機能的構成を示すブロック図である。
図11と、図3との比較で明らかなように、本実施形態に係るホストコンピューター3のプリンタードライバー実行部40bは、キーワード文字列変更部90を備え、また、プリンター2の制御部50は、キーワード文字列設定部91を備えている。
本実施形態に係るプリンター2は、上述した第1実施形態に係るプリンター2と同様、キーワード文字列を利用して、記録データ80のうち、先頭画像にかかる部分を抽出する。そして、第1実施形態に係るプリンター2では、キーワード文字列が、キーワード文字列データ73として、記憶部54に記憶されており、ホストコンピューター3側からその値を変更することができなかったが、本実施形態では、ユーザーが、ホストコンピューター3に対して所定の操作を行うことにより、プリンター2の記憶部54に記憶されたキーワード文字列の値を自由に変更可能である。
【0060】
詳述すると、ホストコンピューター3のキーワード文字列変更部90は、ユーザーが、変更したいキーワード文字列を入力するためのユーザーインターフェイスを提供する。当該ユーザーインターフェイスでは、ディスプレー12に、変更したいキーワード文字列を入力するための所定の表示画面が表示される。ユーザーは、キーワード文字列を変更する場合、ホストコンピューター3に対して所定の操作をすることにより、ディスプレー12に当該表示画面を表示させた上で、当該表示画面を参照しつつ、キー入力部14等の入力デバイスを操作して、キーワード文字列を入力する。
キーワード文字列が入力され、当該入力が確定したことを検出したキーワード文字列変更部90は、プリンター2の記憶部54に記憶されたキーワード文字列データ73の値を、入力されたキーワード文字列の値へと変更することを指示する専用のキーワード設定コマンドを生成し、プリンター2に出力する。
キーワード文字列変更部90の機能は、プリンタードライバーにより実現されるものである。
当該キーワード設定コマンドが入力されると、プリンター2の制御部50のキーワード文字列設定部91は、当該キーワード設定コマンドに基づいて、キーワード文字列データ73の値を書き換える。これにより、以後は、書き換え後のキーワード文字列データ73が示すキーワード文字列により、記録データ80のうち、先頭画像に係る部分を抽出する処理が行われる。
この場合、図8のステップSC2において、先頭画像データ72が記憶部54に既に記憶されているか否かの判別と併せて、直近にキーワード文字列データ73の書き換えが行われたか否かを判別し、直近にキーワード文字列データ73の書き換えが行われている場合は、処理手順をステップSC3へと移行し、行われていない場合は、処理手順をステップSC17へと移行し、記録データ80から新たに抽出した先頭画像に係るデータに基づいて、既存の先頭画像データ72を書き換えるようにすれば、キーワード文字列データ73の書き換えに応じて、適切に、先頭画像データ72を書き換えることが可能となる。
【0061】
本実施形態の場合、入力されたキーワード文字列の値へと変更することを指示するキーワード設定コマンドを生成し、プリンター2に出力する機能をホストコンピューター3に追加する必要が生じるものの、ホストコンピューター3を利用して簡易な手段で自由にキーワード文字列の内容を変更することが可能となり、非常に利便性が向上する。
【0062】
以上説明したように、本実施形態によれば、ホストコンピューター3は、キーワード文字列の変更を入力可能に構成されると共に、当該入力に基づいて、キーワード文字列の設定を変更するためのキーワード設定コマンドを出力可能に構成さている。
そして、プリンター2のキーワード文字列変更部90は、入力されたキーワード設定コマンドに基づいて、設定されたキーワード文字列を変更する。
これによれば、ホストコンピューター3に対して、キーワード文字列の変更を入力することにより、設定されたキーワード文字列を変更することが可能となり、利便性が向上する。
【0063】
<第3実施形態>
次いで、第3実施形態について説明する。
上述した第1実施形態に係るプリンター2は、記憶部54に先頭画像データ72が記憶されている場合は、当該先頭画像データ72に基づいて、切断のための搬送に伴う先頭画像の記録を実行していた。
しかしながら、本実施形態に係るプリンター2は、1の制御コマンドに基づいて、当該1の制御コマンドの次の制御コマンドを受信している場合において、当該次のコマンドが所定の条件を満たしている場合は、当該1の制御コマンドの記録データ80に基づいて画像を記録した後、切断のための搬送に伴う画像の記録を行わず、感熱ロール紙22を切断した後、当該次のコマンドの記録データ80に基づいて画像の記録を行う構成となっている。
【0064】
図12は、本実施形態に係るプリンター2の動作を説明するフローチャートである。
図12に示すように、プリンター2は、1の制御コマンドを受信し、当該1の制御コマンドを受信バッファー56に格納した後(ステップSD1)、連続して次の制御コマンドを受信し、受信バッファー56に格納する(ステップSD2)。
なお、ホストコンピューター3は、プリンター2側の処理の進み具合にかかわらず、生成したコマンドを順次、プリンター2に送信し、プリンター2側で、一旦、受信バッファー56に制御コマンドを格納し、制御コマンドに含まれる各コマンドを順次読み出して実行する構成のため、プリンター2は、複数の制御コマンドを連続して受信し、かつ、これら制御コマンドに基づいて、連続してレシート10を発行することが可能である。
次いで、プリンター2の記録制御部60は、次の制御コマンドが所定の条件を満たしているか否かを判別する(ステップSD3)。なお、このステップSD3の処理のタイミングは、1の制御コマンドに係るレシート10の発行における切断のための搬送が開始される前の任意のタイミングでよい。
所定の条件とは、1の制御コマンドに係るレシート10の発行に係る処理について、感熱ロール紙22の切断のための搬送に伴う先頭画像の記録を行わないと判別するために事前に設けられた条件である。
所定の条件としては、例えば、関連するレシート10を連続して発行する場合、先に発行するレシート10には、上述した定型の先頭画像を記録する一方、次に発行するレシート10には、定型の先頭画像に代えて、当該レシート10が前に発行したレシート10と関連性のあるレシート10である旨の文言やマークを記録するものと定められており、かつ、互いに関連するレシート10を連続して発行する場合には、1のレシート10の発行に係る1の制御コマンドの受信後、所定の経過時間以内に、次のレシート10の発行に係る次の制御コマンドの受信が開始されるものとされている場合において、1の制御コマンドの受信が完了してから、次の制御コマンドの受信が開始されるまでの時間が、上記所定の経過時間以内である場合等である。
また、所定の条件とは、次の制御コマンドにその旨を明示するコマンドや、所定のデータが含まれている場合等である。
【0065】
所定の条件が満たされている場合、記録制御部60は、1の制御コマンドに基づくレシート10の発行に際し、切断のための搬送に伴う先頭画像の記録を実行しないと判別する(ステップSD4)。
一方、所定の条件が満たされていない場合、記録制御部60は、1の制御コマンドに基づくレシート10の発行に際し、先頭画像データ72を利用した切断のための搬送に伴う先頭画像の記録を実行すると判別する(ステップSD5)
【0066】
以上説明したように、本実施形態では、記録制御部60は、1の制御コマンドに係る感熱ロール紙22の切断を開始する前に、当該1の制御コマンドの次の制御コマンドを受信している場合であって、当該次の制御コマンドが所定の条件を満たす場合は、先頭画像データ72に基づく先頭画像の記録を伴わずに感熱ロール紙22を切断した後、当該次の制御コマンドに従って感熱ロール紙22への記録を行う。
これによれば、無条件に切断のための搬送に伴う先頭画像の記録を行うのではなく、所定の条件の場合は、当該先頭画像の記録を行わないことが可能となるため、記録装置に状況に応じた処理を行わせることが可能となる。
【0067】
<第4実施形態>
次いで、第4実施形態について説明する。
上述した第1実施形態では、先頭画像情報記憶部61は、キーワード文字列を利用して、記録データ80から先頭画像の情報を抽出する構成であった。この場合、先頭画像が文字列で構成されているときは、適切に先頭画像の情報の抽出が可能であるものの、先頭画像がグラフィック画像である場合は、当該方法では、先頭画像の情報の抽出ができない、という問題があった。
以上を踏まえ、本実施形態に係る先頭画像情報記憶部61は、記録データ80から先頭画像の情報を抽出する際、以下の動作を実行する。
【0068】
図13は、図10と同様の座標系を示す図である。
まず、先頭画像情報記憶部61は、記録データ80に基づいて感熱ロール紙22に画像を記録した場合における、当該画像の描画データを、座標系に展開する。その際、グラフィック画像や、文字列に係る画像について、これら画像に施すべき装飾を反映した上で、描画データを座標系に展開する。
例えば、記録データ80に係る画像の描画データを座標系に展開した状態が、図13に示す状態であったものとする。
図13の例では、感熱ロール紙22の先端部に定型的に記録される先頭画像が、文字列に係る画像ではなく、グラフィック画像である。さらに、グラフィック画像たる先頭画像は、感熱ロール紙22の先端(切断位置)からマージンMmin離れた位置から、当該先端からギャップG離れた位置に挟まれた範囲に記録されるものと予め定められている。
記録データ80に係る画像の描画データを座標系に展開した後、先頭画像情報記憶部61は、座標系において、仮想直線KT1、及び、仮想直線KT2で挟まれた範囲に記録された画像を特定する。ここで特定された画像は、「先頭画像は、感熱ロール紙22の先端(切断位置)からマージンMmin離れた位置から、当該先端からギャップG離れた位置に挟まれた範囲に記録される」という前提のため、先頭画像に該当する。
さらに、先頭画像情報記憶部61は、記録データ80に含まれるコマンドのうち、特定した画像を記録するためのコマンド群を抽出し、抽出したコマンド群を先頭画像の情報たる先頭画像データ72として、記憶部54に記憶する。その際、上述した第1実施形態と同様に、先頭画像の装飾に係るコマンドが存在する場合は、先頭画像データ72に含めて記憶する。
そして、記録制御部60は、感熱ロール紙22を切断する際、切断のための搬送に伴って、先頭画像データ72に基づいて、グラフィック画像たる先頭画像を記録する。これにより、先頭画像データ72が文字列に構成されていない場合であっても、感熱ロール紙22の先端部に定型的に記録される先頭画像を、切断のための搬送に伴って記録することが可能となり、マージンMの縮小を図ることができる。
【0069】
以上説明したように、本実施形態では、先頭画像情報記憶部61は、記録データ80から、カット位置T2に感熱ロール紙22の先端が位置しているとした場合に、カット位置T2と記録位置T1とで挟まれた領域に対応するコマンド群を抽出し、先頭画像データ72として記憶する。
ここで、ギャップGに起因したマージンMを縮小するという目的を達成するためには、先頭画像の情報として、少なくとも、カット位置T2に感熱ロール紙22の先端が位置しているとした場合に、カット位置T2と記録位置T1とで挟まれた領域に対応する画像の情報を記憶しておき、当該情報に基づいて、当該画像を記録する必要がある。
これを踏まえ、上記構成によれば、先頭画像として記憶しておく必要がある情報を確実に記憶することが可能となる。
特に、本実施形態では、先頭画像がグラフィック画像であっても、先頭画像データ72を適切に記憶部54に記憶可能である。
【0070】
また、本実施形態では、先頭画像情報記憶部61は、記録データ80に画像の装飾に係る所定の装飾を反映して、記録データ80の画像に係る描画データを座標系に展開した上で、先頭画像に対応する描画データの特定を行っている。
これによれば、装飾を反映して適切に、先頭画像に対応する画像の特定、及び、記録データ80からの先頭画像の情報の抽出が可能となる。
【0071】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、図3や図11に示す各機能部はハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
また、上記実施形態では、プリンター2自身が記録制御部60や、先頭画像情報記憶部61、キーワード文字列設定部91等を有する制御部50を備えていたが、例えば、制御部50の機能を、プリンター2に外部接続される別の装置に持たせるようにしても良い。
また、本発明は、サーマル式のプリンターに限らず、インクジェット式プリンター、ドットインパクト式プリンター、レーザープリンター、熱昇華型プリンター等の任意の形式のプリンターに適用可能である。また、ATMにおけるプリンター等、他の装置に組み込まれるプリンターであってもよい。また、CDのレーベル面や、DVDのレーベル面等の紙以外の媒体に記録するものでもよい。
また、本発明を適用可能なプログラムは、ホストコンピューター3に搭載されるプリンタードライバーに含むものであってもよい。
また、上記のフローチャートの各ステップを実行するプログラムを、プリンター2の外部の記憶媒体に記憶させたものを読み出して、制御部50により実行させることもできる。
【符号の説明】
【0072】
2…プリンター(記録装置)、3…ホストコンピューター(制御装置)、10…レシート、22…感熱ロール紙(記録媒体)、24…記録ヘッド、25…カッターユニット(切断部)、40…ホスト側制御部、40a…POSアプリケーション実行部、40b…プリンタードライバー実行部、50…制御部、51…プリントエンジン、60…記録制御部、61…先頭画像情報記憶部、72…先頭画像データ(先頭画像の情報)、80…記録データ、90…キーワード文字列変更部、91…キーワード文字列設定部。
【特許請求の範囲】
【請求項1】
制御装置に接続可能な記録装置であって、
記録ヘッドと、
記録媒体を搬送方向に搬送する搬送部と、
前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部と、
前記制御装置から、少なくとも前記記録媒体に記録すべき画像の情報を含む記録データを含む制御コマンドを受信する受信部と、
前記受信部により受信した前記制御コマンドに基づいて、前記記録ヘッド、前記搬送部、及び、前記切断部を制御して、前記記録媒体への記録、前記記録媒体の搬送、及び、前記記録媒体の切断を行う記録制御部と、
前記受信部により前記制御コマンドを受信した場合、前記記録データに含まれる画像の情報に基づいて、前記記録媒体に記録すべき画像のうち、前記記録媒体の先端部の所定の範囲に記録される画像である先頭画像の情報を抽出し、記憶する先頭画像情報記憶部と、を備え、
前記記録制御部は、
前記切断部により前記記録媒体を切断する場合、
前記先頭画像情報記憶部により記憶した前記先頭画像の情報に基づいて、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断すること、
を特徴とする記録装置。
【請求項2】
前記先頭画像情報記憶部は、
前記先頭画像の情報が記憶されていない状態のときに前記受信部により前記制御コマンドを受信した場合、前記先頭画像の情報を記憶することを特徴とする請求項1に記載の記録装置。
【請求項3】
前記記録制御部は、
前記記録媒体の切断のための搬送に伴って前記先頭画像を記録した後、前記受信部により新たに前記制御コマンドを受信した場合、新たな前記制御コマンドの前記記録データに含まれる画像の情報のうち、前記先頭画像情報記憶部により記憶した前記先頭画像の情報以外の情報に基づいて、前記先頭画像に続けて画像の記録を行うことを特徴とする請求項1又は2に記載の記録装置。
【請求項4】
前記記録制御部は、
1の制御コマンドに係る前記記録媒体の切断を開始する前に、当該1の制御コマンドの次の前記制御コマンドを前記受信部により受信している場合であって、当該次の制御コマンドが所定の条件を満たす場合は、前記先頭画像の情報に基づく前記先頭画像の記録を伴わずに前記記録媒体を搬送し、切断した後、当該次の制御コマンドに従って記録媒体への記録を行うことを特徴とする請求項1ないし3のいずれかに記載の記録装置。
【請求項5】
前記先頭画像の情報は、文字列を含んで構成される情報であり、
前記先頭画像情報記憶部は、
前記記録データに含まれる画像の情報から、予め設定された所定の文字列であるキーワード文字列を検出し、当該情報の先頭から前記キーワード文字列に至るまでの情報を抽出して前記先頭画像の情報として記憶することを特徴とする請求項1ないし4のいずれかに記載の記録装置。
【請求項6】
前記先頭画像の情報は、1又は複数の行の文字列を含んで構成される情報であり、
前記記録制御部は、
前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させる際、
いずれかの行の文字列に基づく画像の記録が完了し、かつ、次の文字列が存在する場合は当該次の文字列に基づく画像の記録が開始されていない状態で、前記記録媒体の切断位置が前記切断部に対応する位置に至って切断が行われるように、前記切断部による切断の前に記録を行うべき文字列の行を決定することを特徴とする請求項5に記載の記録装置。
【請求項7】
前記先頭画像情報記憶部は、
前記記録データに、前記先頭画像を構成する文字列の装飾に係る付加情報が含まれている場合は、前記先頭画像の情報と併せて前記付加情報を記憶することを特徴とする請求項5又は6に記載の記録装置。
【請求項8】
前記制御装置は、前記キーワード文字列の変更を入力可能に構成されると共に、当該入力に基づいて、前記キーワード文字列の設定を変更するためのキーワード設定コマンドを出力可能に構成され、
前記制御装置から入力された前記キーワード設定コマンドに基づいて、設定された前記キーワード文字列を変更するキーワード文字列設定部をさらに備えることを特徴とする請求項5ないし7のいずれかに記載の記録装置。
【請求項9】
前記先頭画像情報記憶部は、
前記記録データに含まれる画像の情報から、前記切断部に対応する位置に前記記録媒体の先端が位置しているとした場合に前記切断部と前記記録ヘッドとで挟まれた領域に対応する画像の情報を抽出し、前記先頭画像の情報として記憶することを特徴とする請求項1ないし4のいずれかに記載の記録装置。
【請求項10】
前記先頭画像情報記憶部は、
前記記録データに画像の装飾に係る付加情報が含まれている場合は、前記付加情報に基づく画像の装飾を反映して、前記領域に対応する画像の情報の抽出を行うことを特徴とする請求項9に記載の記録装置。
【請求項11】
制御装置に接続可能に構成され、
記録ヘッドと、記録媒体を搬送方向に搬送する搬送部と、前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部と、前記制御装置から、少なくとも前記記録媒体に記録すべき画像の情報を含む記録データを含む制御コマンドを受信する受信部と、を備える記録装置の制御方法であって、
前記受信部により前記制御コマンドを受信した場合、前記記録データに含まれる画像の情報に基づいて、前記記録媒体に記録すべき画像のうち、前記記録媒体の先端部の所定の範囲に記録される画像である先頭画像の情報を抽出して記憶し、
前記切断部により前記記録媒体を切断する場合、
記憶した前記先頭画像の情報に基づいて、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断すること、
を特徴とする記録装置の制御方法。
【請求項12】
制御装置に接続可能に構成され、
記録ヘッドと、記録媒体を搬送方向に搬送する搬送部と、前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部と、前記制御装置から、少なくとも前記記録媒体に記録すべき画像の情報を含む記録データを含む制御コマンドを受信する受信部と、を備える記録装置の各部を制御する制御部により実行されるプログラムであって、
前記制御部を、
前記受信部により前記制御コマンドを受信した場合、前記記録データに含まれる画像の情報に基づいて、前記記録媒体に記録すべき画像のうち、前記記録媒体の先端部の所定の範囲に記録される画像である先頭画像の情報を抽出し、記憶する先頭画像情報記憶部と、
前記受信部により受信した前記制御コマンドに基づいて、前記記録ヘッド、前記搬送部、及び、前記切断部を制御して、前記記録媒体への記録、前記記録媒体の搬送、及び、前記記録媒体の切断を行い、
前記切断部により前記記録媒体を切断する場合、
前記先頭画像情報記憶部により記憶した前記先頭画像の情報に基づいて、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断する記録制御部と、
として機能させることを特徴とするプログラム。
【請求項1】
制御装置に接続可能な記録装置であって、
記録ヘッドと、
記録媒体を搬送方向に搬送する搬送部と、
前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部と、
前記制御装置から、少なくとも前記記録媒体に記録すべき画像の情報を含む記録データを含む制御コマンドを受信する受信部と、
前記受信部により受信した前記制御コマンドに基づいて、前記記録ヘッド、前記搬送部、及び、前記切断部を制御して、前記記録媒体への記録、前記記録媒体の搬送、及び、前記記録媒体の切断を行う記録制御部と、
前記受信部により前記制御コマンドを受信した場合、前記記録データに含まれる画像の情報に基づいて、前記記録媒体に記録すべき画像のうち、前記記録媒体の先端部の所定の範囲に記録される画像である先頭画像の情報を抽出し、記憶する先頭画像情報記憶部と、を備え、
前記記録制御部は、
前記切断部により前記記録媒体を切断する場合、
前記先頭画像情報記憶部により記憶した前記先頭画像の情報に基づいて、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断すること、
を特徴とする記録装置。
【請求項2】
前記先頭画像情報記憶部は、
前記先頭画像の情報が記憶されていない状態のときに前記受信部により前記制御コマンドを受信した場合、前記先頭画像の情報を記憶することを特徴とする請求項1に記載の記録装置。
【請求項3】
前記記録制御部は、
前記記録媒体の切断のための搬送に伴って前記先頭画像を記録した後、前記受信部により新たに前記制御コマンドを受信した場合、新たな前記制御コマンドの前記記録データに含まれる画像の情報のうち、前記先頭画像情報記憶部により記憶した前記先頭画像の情報以外の情報に基づいて、前記先頭画像に続けて画像の記録を行うことを特徴とする請求項1又は2に記載の記録装置。
【請求項4】
前記記録制御部は、
1の制御コマンドに係る前記記録媒体の切断を開始する前に、当該1の制御コマンドの次の前記制御コマンドを前記受信部により受信している場合であって、当該次の制御コマンドが所定の条件を満たす場合は、前記先頭画像の情報に基づく前記先頭画像の記録を伴わずに前記記録媒体を搬送し、切断した後、当該次の制御コマンドに従って記録媒体への記録を行うことを特徴とする請求項1ないし3のいずれかに記載の記録装置。
【請求項5】
前記先頭画像の情報は、文字列を含んで構成される情報であり、
前記先頭画像情報記憶部は、
前記記録データに含まれる画像の情報から、予め設定された所定の文字列であるキーワード文字列を検出し、当該情報の先頭から前記キーワード文字列に至るまでの情報を抽出して前記先頭画像の情報として記憶することを特徴とする請求項1ないし4のいずれかに記載の記録装置。
【請求項6】
前記先頭画像の情報は、1又は複数の行の文字列を含んで構成される情報であり、
前記記録制御部は、
前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させる際、
いずれかの行の文字列に基づく画像の記録が完了し、かつ、次の文字列が存在する場合は当該次の文字列に基づく画像の記録が開始されていない状態で、前記記録媒体の切断位置が前記切断部に対応する位置に至って切断が行われるように、前記切断部による切断の前に記録を行うべき文字列の行を決定することを特徴とする請求項5に記載の記録装置。
【請求項7】
前記先頭画像情報記憶部は、
前記記録データに、前記先頭画像を構成する文字列の装飾に係る付加情報が含まれている場合は、前記先頭画像の情報と併せて前記付加情報を記憶することを特徴とする請求項5又は6に記載の記録装置。
【請求項8】
前記制御装置は、前記キーワード文字列の変更を入力可能に構成されると共に、当該入力に基づいて、前記キーワード文字列の設定を変更するためのキーワード設定コマンドを出力可能に構成され、
前記制御装置から入力された前記キーワード設定コマンドに基づいて、設定された前記キーワード文字列を変更するキーワード文字列設定部をさらに備えることを特徴とする請求項5ないし7のいずれかに記載の記録装置。
【請求項9】
前記先頭画像情報記憶部は、
前記記録データに含まれる画像の情報から、前記切断部に対応する位置に前記記録媒体の先端が位置しているとした場合に前記切断部と前記記録ヘッドとで挟まれた領域に対応する画像の情報を抽出し、前記先頭画像の情報として記憶することを特徴とする請求項1ないし4のいずれかに記載の記録装置。
【請求項10】
前記先頭画像情報記憶部は、
前記記録データに画像の装飾に係る付加情報が含まれている場合は、前記付加情報に基づく画像の装飾を反映して、前記領域に対応する画像の情報の抽出を行うことを特徴とする請求項9に記載の記録装置。
【請求項11】
制御装置に接続可能に構成され、
記録ヘッドと、記録媒体を搬送方向に搬送する搬送部と、前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部と、前記制御装置から、少なくとも前記記録媒体に記録すべき画像の情報を含む記録データを含む制御コマンドを受信する受信部と、を備える記録装置の制御方法であって、
前記受信部により前記制御コマンドを受信した場合、前記記録データに含まれる画像の情報に基づいて、前記記録媒体に記録すべき画像のうち、前記記録媒体の先端部の所定の範囲に記録される画像である先頭画像の情報を抽出して記憶し、
前記切断部により前記記録媒体を切断する場合、
記憶した前記先頭画像の情報に基づいて、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断すること、
を特徴とする記録装置の制御方法。
【請求項12】
制御装置に接続可能に構成され、
記録ヘッドと、記録媒体を搬送方向に搬送する搬送部と、前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部と、前記制御装置から、少なくとも前記記録媒体に記録すべき画像の情報を含む記録データを含む制御コマンドを受信する受信部と、を備える記録装置の各部を制御する制御部により実行されるプログラムであって、
前記制御部を、
前記受信部により前記制御コマンドを受信した場合、前記記録データに含まれる画像の情報に基づいて、前記記録媒体に記録すべき画像のうち、前記記録媒体の先端部の所定の範囲に記録される画像である先頭画像の情報を抽出し、記憶する先頭画像情報記憶部と、
前記受信部により受信した前記制御コマンドに基づいて、前記記録ヘッド、前記搬送部、及び、前記切断部を制御して、前記記録媒体への記録、前記記録媒体の搬送、及び、前記記録媒体の切断を行い、
前記切断部により前記記録媒体を切断する場合、
前記先頭画像情報記憶部により記憶した前記先頭画像の情報に基づいて、前記記録媒体の切断位置の搬送方向上流側に、前記記録ヘッドにより前記先頭画像を記録させつつ、前記記録媒体の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断する記録制御部と、
として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【公開番号】特開2012−228847(P2012−228847A)
【公開日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願番号】特願2011−99826(P2011−99826)
【出願日】平成23年4月27日(2011.4.27)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成24年11月22日(2012.11.22)
【国際特許分類】
【出願日】平成23年4月27日(2011.4.27)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]