記録装置、記録装置の制御方法、及び、プログラム
【課題】制御装置に対する改変を行うことなく、できるだけ記録媒体の無駄な消費を抑制する。
【解決手段】プリンター2の記録制御部60は、文字列記録指示コマンドに基づいて文字列を記録する場合において、当該文字列が、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の端部にスペースが形成されたフォントデータに係る文字の繰り返しによって構成されている繰り返し文字列である場合は、当該繰り返し文字列を、当該繰り返し文字列を構成する各文字における当該スペースに対応する部位を詰めて形成された繰り返しパターンに変換して、記録する。
【解決手段】プリンター2の記録制御部60は、文字列記録指示コマンドに基づいて文字列を記録する場合において、当該文字列が、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の端部にスペースが形成されたフォントデータに係る文字の繰り返しによって構成されている繰り返し文字列である場合は、当該繰り返し文字列を、当該繰り返し文字列を構成する各文字における当該スペースに対応する部位を詰めて形成された繰り返しパターンに変換して、記録する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置に接続可能な記録装置、当該記録装置の制御方法、及び、プログラムに関する。
【背景技術】
【0002】
従来、制御装置(ホストPC)に接続可能に構成され、記録ヘッド(印字ヘッド)に記録媒体への記録を行う記録装置(プリンター)が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−59502号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した記録装置のように、記録媒体に記録を行うものでは、できるだけ記録媒体の無駄な消費を抑制し、コスト削減につなげたいとするニーズがある。そして、記録媒体の消費を抑制した動作を記録装置にさせる際に、制御装置に対する改変は、相当な煩雑な作業を伴う場合があったり、また、記録装置と制御装置との開発の主体が異なる等の理由により制御装置に改変を行えない場合があったりする等の理由のため、できるだけ避けたい、とするニーズがあった。
本発明は、上述した事情に鑑みてなされたものであり、制御装置に対する改変を行うことなく、できるだけ記録媒体の無駄な消費を抑制することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明は、制御装置に接続可能な記録装置であって、記録媒体に記録を行う記録ヘッドと、前記記録媒体を搬送方向に搬送する搬送部と、前記制御装置から、1以上の文字を含む文字列を受信する受信部と、前記受信部により受信した前記文字列に対応するフォントデータに基づいて前記記録媒体に記録する記録制御部と、を備え、前記記録制御部は、同一の行に配置される前記文字列が、前記搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側に、実際に前記記録ヘッドを駆動して記録しないスペースデータが含まれているフォントデータに対応する1又は複数の文字によって構成されている場合は、当該文字列を構成する各文字に対応するフォントデータを、前記搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、当該文字列を、行単位で、当該文字列に対応するフォントデータの前記搬送方向のサイズより、前記搬送方向のサイズが小さい画像データに変換した上で、当該文字列を前記記録ヘッドにより記録することを特徴とする。
この構成によれば、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方側にスペースが形成されたフォントデータに係る文字によって構成された文字列について、画像として記録媒体に記録する際、当該文字列を構成する各文字に対応するフォントデータを、搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、当該文字列を、行単位で、当該文字列に対応するフォントデータの搬送方向のサイズより、搬送方向のサイズが小さい画像データに変換した上で、当該文字列を記録ヘッドにより記録する構成のため、記録媒体に記録される文字列の搬送方向のサイズが小さくなり、記録媒体の無駄な消費が抑制できる。
特に、制御装置は、記録装置に対して通常どおり、文字列を送信すれば、記録装置側で、自動で、上記変換を実行する構成のため、制御装置に対して、プログラム修正等の改変を行う必要がない。
【0006】
また、上記発明の記録装置であって、本発明は、前記変換したフォントデータは、前記フォントデータに対し前記スペースデータの少なくとも一部を省いたものであり、前記変換した画像データは、前記フォントデータを並べて配置した行に対し当該行に含まれる前記スペースの少なくとも一部を省いたものであることを特徴とする。
ここで、スペースデータを省略したフォントデータに基づいて、文字を記録した場合であっても、文字に欠損が生じ得ず、従って、描画上の不具合が生じることはない。例えば、マイナスを示す「−」などを同一行に繰り返し配置し、区切り線として使用する場合、搬送方向側、及び、逆方向側のスペースを省いても区切り線として認識できる上、記録媒体の無駄も抑制できる。
以上を踏まえ、上記構成によれば、描画上の不具合や、認識に対する悪影響を防止した上で、記録媒体の無駄を抑制することが可能である。
【0007】
また、上記発明の記録装置であって、本発明は、前記記録制御部は、前記フォントデータに含まれるもので、実際に記録ヘッドを駆動して記録するための実データの前記搬送方向のデータ数と、前記スペースデータの前記搬送方向のデータ数を比較し、前記実データの方が少ない場合、いずれかの前記変換を行うことを特徴とする。
ここで、あるフォントデータについて、実データの搬送方向におけるデータ数よりも、スペースデータの搬送方向におけるデータ数の方が少ない場合、当該フォントデータにおけるスペースデータが占める割合が十分に大きく、従って、当該フォントデータに対応する文字によって構成される文字列について、上述した変換を行えば、記録媒体の無駄を抑制するという観点で、高い効果を発揮する。
以上を踏まえ、上記構成によれば、より効果的に記録媒体の無駄を抑制することが可能となる。
例えば、上述したマイナス「−」のように、横棒の部分である実際に記録される実データに対して、上下のスペースデータの領域が広い場合に、スペースデータを省くと効果が大きい。
【0008】
また、上記発明の記録装置であって、本発明は、前記記録制御部は、前記文字列が前記記録媒体における所定の位置に配置される場合に、いずれかの前記変換を行うことを特徴とする。
この構成によれば、無条件に上述した変換を行うのではなく、所定の位置に記録される文字列についてのみ、上述した変換を行うことが可能となるため、状況に応じて、適切に、上述した変換を行うことが可能となる。
【0009】
また、上記発明の記録装置であって、本発明は、前記記録媒体を切断する切断部をさらに備え、前記記録制御部は、前記切断部による前記記録媒体上の切断位置の搬送方向上流側、又は、搬送方向下流側の所定の範囲に前記文字列が配置される場合に、いずれかの前記変換を行うことを特徴とする。
ここで、記録媒体たるロール紙に画像を記録し、画像を記録したロール紙を切断して、レシートなどの紙片を生成する記録装置では、紙片の先端部、及び、後端部に定型的に所定の画像を記録する場合がある。例えば、レシート発行用の記録装置では、各レシートの先端部、及び、後端部に店舗のロゴや広告など共通の画像を記録するものがある。
そして、このような紙片の先端部や、後端部に、定型的に記録される画像の搬送方向に対応する方向における圧縮を実現できれば、ロール紙(記録媒体)の消費を非常に効果的に抑制できることとなる。
また、定型的に記録される文字列ではない文字列については、他の画像への置き換えを意図しておらず、そのままフォントデータを利用した画像の記録が望まれる場合もあり、また、各紙片に定型的に記録される文字列と比較して、出現率が低く、従って、ロール紙の消費の抑制への寄与が少ないと言えることから、上述した変換を行うべきではない状況もあり得る。
以上を踏まえ、上記構成によれば、先端部に定型的に記録されることが想定された画像が記録される範囲である記録媒体の切断位置の搬送方向上流側の所定の範囲、又は、後端部に定型的に記録されることが想定された画像が記録される範囲である記録媒体の切断位置の搬送方向下流側の所定の範囲に位置する文字列について、上述した変換が行われるため、記録媒体の消費を非常に効果的に抑制できる。
さらに、上記構成によれば、記録媒体の切断位置の搬送方向上、下流側の所定の範囲に位置せず、従って、定型的に記録される文字列ではない可能性が高い文字列については、上述した変換が行われず、他の画像への置き換えを意図しない文字列について、繰り返しパターンへの変換が行われることを防止できる。
【0010】
また、上記発明の記録装置であって、本発明は、前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部をさらに備え、前記記録制御部は、前記切断部により前記記録媒体を切断する場合、前記記録媒体上の切断位置の搬送方向上流側に、前記記録ヘッドにより画像を記録しつつ、前記記録媒体上の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断すると共に、切断のための搬送後、切断前に、前記記録媒体に記録すべき前記文字列について、いずれかの前記変換を行うことを特徴とする。
この構成によれば、記録媒体の切断に際し、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンを縮小した上で、さらに、以下の効果を奏することができる。
すなわち、記録媒体たるロール紙に画像を記録し、画像を記録したロール紙を切断して、紙片を生成する記録装置では、紙片の先端部に定型的に所定の画像を記録するものがある。例えば、レシート発行用の記録装置では、各レシートの先端部に共通の画像を記録する場合がある。そして、切断のための搬送後、切断前に、記録される画像は、紙片の最先端部に位置する画像であり、紙片の先端部に定型的に記録される画像である可能性が高い。このような紙片の先端部に定型的に記録される画像の搬送方向に対応する方向における圧縮を実現できれば、ロール紙(記録媒体)の消費を非常に効果的に抑制できることとなる。
以上を踏まえ、上記構成によれば、切断のための搬送後、切断前に、記録される画像、すなわち、紙片の先端部に定型的に記録される画像における文字列について、上述した変換が行われるため、記録媒体の消費を非常に効果的に抑制できる。
【0011】
また、上記発明の記録装置であって、本発明は、記録媒体における上述した変換を行う範囲を制御装置から受信したコマンドや、操作スイッチに対する操作などで選択可能であることを特徴とする。
この構成によれば、例えば、記録媒体における上述した変換を行う範囲を自由に設定できることとなり、利便性が向上する。
【0012】
また、上記目的を達成するために、本発明は、制御装置に接続可能であり、記録媒体に記録を行う記録ヘッドと、前記記録媒体を搬送方向に搬送する搬送部と、前記制御装置から、1以上の文字を含む文字列を受信する受信部と、前記受信部により受信した前記文字列に対応するフォントデータに基づいて前記記録媒体に記録する記録制御部と、を備える記録装置の制御方法であって、前記受信部により、前記制御装置から前記文字列を受信し、前記記録制御部により、受信した前記文字列が、同一の行に配置される場合であって、前記搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側に、実際に前記記録ヘッドを駆動して記録しないスペースデータが含まれているフォントデータに対応する1又は複数の文字によって構成されている場合は、当該文字列を構成する各文字に対応するフォントデータを、前記搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、当該文字列を、行単位で、当該文字列に対応するフォントデータの前記搬送方向のサイズより、前記搬送方向のサイズが小さい画像データに変換した上で、当該文字列を前記記録ヘッドにより記録することを特徴とする。
この制御方法によれば、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方側にスペースが形成されたフォントデータに係る文字によって構成された文字列について、画像として記録媒体に記録する際、当該文字列を構成する各文字に対応するフォントデータを、搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、当該文字列を、行単位で、当該文字列に対応するフォントデータの搬送方向のサイズより、搬送方向のサイズが小さい画像データに変換した上で、当該文字列を記録ヘッドにより記録する構成のため、記録媒体に記録される文字列の搬送方向のサイズが小さくなり、記録媒体の無駄な消費が抑制できる。
特に、制御装置は、記録装置に対して通常どおり、文字列を送信すれば、記録装置側で、自動で、上記変換を実行する構成のため、制御装置に対して、プログラム修正等の改変を行う必要がない。
【0013】
また、上記目的を達成するために、本発明は、制御装置に接続可能であり、記録媒体に記録を行う記録ヘッドと、前記記録媒体を搬送方向に搬送する搬送部と、前記制御装置から、1以上の文字を含む文字列を受信する受信部と、を備える記録装置の各部を制御する制御部により実行されるプログラムであって、前記制御部を、前記受信部により受信した前記文字列に対応するフォントデータに基づいて前記記録媒体に記録する一方、同一の行に配置される前記文字列が、前記搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側に、実際に前記記録ヘッドを駆動して記録しないスペースデータが含まれているフォントデータに対応する1又は複数の文字によって構成されている場合は、当該文字列を構成する各文字に対応するフォントデータを、前記搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、当該文字列を、行単位で、当該文字列に対応するフォントデータの前記搬送方向のサイズより、前記搬送方向のサイズが小さい画像データに変換した上で、当該文字列を前記記録ヘッドにより記録する記録制御部として機能させることを特徴とする。
このプログラムを実行すれば、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方側にスペースが形成されたフォントデータに係る文字によって構成された文字列について、画像として記録媒体に記録する際、当該文字列を構成する各文字に対応するフォントデータを、搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、当該文字列を、行単位で、当該文字列に対応するフォントデータの搬送方向のサイズより、搬送方向のサイズが小さい画像データに変換した上で、当該文字列を記録ヘッドにより記録する構成のため、記録媒体に記録される文字列の搬送方向のサイズが小さくなり、記録媒体の無駄な消費が抑制できる。
特に、制御装置は、記録装置に対して通常どおり、文字列を送信すれば、記録装置側で、自動で、上記変換を実行する構成のため、制御装置に対して、プログラム修正等の改変を行う必要がない。
【発明の効果】
【0014】
本発明によれば、制御装置に対する改変を行うことなく、できるだけ記録媒体の無駄な消費を抑制することが可能となる。
【図面の簡単な説明】
【0015】
【図1】第1実施形態に係るPOS端末の概略構成を示す図である。
【図2】プリンターの本体内部の構成を模式的に示す図である。
【図3】POS端末の機能的構成を示すブロック図である。
【図4】記録データ、及び、レシートを模式的に示す図である。
【図5】繰り返し文字列、及び、繰り返しパターンを説明するための図である。
【図6】本願発明を適用する前と、後のレシート10の相違を説明する図である。
【図7】プリンターの動作を示すフローチャートである。
【図8】繰り返しパターンテーブルのデータ構造を示す図である。
【図9】記録ヘッドと、カッターユニットとの関係を模式的に示す図である。
【図10】レシートの様子を模式的に示す図である。
【図11】第2実施形態に係るプリンターの動作を示すフローチャートである。
【図12】第3実施形態に係るプリンターの動作を示すフローチャートである。
【図13】有スペース文字テーブルのデータ構造を示す図である。
【図14】省スペースフォントデータを説明するための図である。
【図15】第4実施形態に係るプリンターの動作を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施形態について説明する。
<第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を発行する。
【0017】
また、図1及び図2に示すように、記録装置としてのプリンター2は、本体20に記録媒体としての感熱ロール紙22を収容し、感熱ロール紙22を搬送するローラー形状のプラテン23(搬送部)と、プラテン23に対向配置された記録ヘッド24と、感熱ロール紙22を切断するカッターユニット25(切断部)とを備えている。
プリンター2は、搬送モーター26(図3)を駆動して、プラテン23を回転して、感熱ロール紙22を搬送方向Y1に搬送しながら、発熱素子が並べて設けられた記録ヘッド24によって、感熱ロール紙22の記録面に熱を与えて、感熱ロール紙22の記録面にドットを形成することにより、画像を記録するサーマルラインプリンターである。後述する制御部50や、搬送モーター26、プラテン23等が協働して搬送部として機能する。
画像が記録された感熱ロール紙22は、本体20の上面に形成された排紙口28から外に向けて搬送され、この排紙口28よりも搬送方向Y1上流側でカッターユニット25により切断され、レシート10となる。
【0018】
図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が設けられている。
【0019】
図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との間で通信規格に準拠した通信を行う。
【0020】
プリンター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から制御コマンドを受信する受信部として機能する。
【0021】
次いで、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への所定の画像の記録、及び、画像の記録に伴う必要な搬送を行う。
【0022】
次いで、記録データ80、及び、記録データ80に基づいて画像が記録されたレシート10の具体例について、説明する。
【0023】
図4(A)は、記録データ80の内容の一例を示す図であり、図4(B)は、図4(A)の記録データ80に基づいて画像が記録されたレシート10の一例を示す図である。
なお、図4(B)のレシート10は、本願発明を適用せずに、図4(A)の記録データ80に基づいて画像を記録した場合のレシート10を示している。
図4(B)のレシート10では、図中上に向かう方向が、搬送方向Y1に対応する方向である。従って、レシート10の発行の際には、感熱ロール紙22が切断されて先端10aが形成された後、記録ヘッド24によってレシート10の先端10a側から末端10b側へ向かって、順次、ドットが形成されて画像が記録され、その後、感熱ロール紙22が切断されて末端10bが形成される。
【0024】
本実施形態では、プリンター2が発行するレシート10のレイアウトは、所定の例外を除き、いずれのレシート10についても基本的に同一である。
すなわち、図4(B)に示すように、レシート10では、先端10aから末端10bへ向かって順番に、換言すれば、記録ヘッド24による記録が行われる順番に、先頭画像エリアA1、レシート情報エリアA2、グラフィックエリアA3、バーコードエリアA4、末端画像エリアA5が形成される。
先頭画像エリアA1には、所定の文字列が所定の態様で定型的に記録されるエリアである。図4(B)の例では、「−−−〜−−」(「−」の文字が、記録可能桁数分、連続した文字列。記録可能桁数とは、文字を1行に連続して記録可能な桁数のことである。)の文字列が、基準の大きさで左寄せ(レシート10の幅方向の左端から順次文字列が記録されるようにすること。以下同じ。)で記録され、次の行に「AAA△Store」(△はスペース。以下同じ。)という文字列が、基準の大きさの2倍の大きさで、中央寄せ(レシート10の幅方向の中央部に文字列が記録されるようにすること。)で記録される。
本実施形態では、所定の例外を除き、プリンター2が発行する全てのレシート10について、先頭画像エリアA1には、同一の文字列が同一の態様で記録される。以下、先頭画像エリアA1に記録される上記の2行の文字列のことを「先頭画像」と表現するものとする。すなわち、先頭画像とは、レシート10の先端部に定型的に記録される文字列に係る画像のことである。
レシート情報エリアA2は、レシート10を発行した日時や、購入した商品の名称、商品の単価、合計購入金額、その他の付加的な情報が文字列として記録されるエリアである。このレシート情報エリアA2は、様々な態様で画像が記録されることが想定されたエリアであり、レシート10ごとにそのレイアウトが違ってもよい。従って、図4(B)のレシート10の例では、レシート情報エリアA2に、「−−−〜−−」の文字列が記録されているものの、この文字列は定型的に記録されるものではなく、POSアプリケーション実行部40aが出力する印刷データによっては、記録されない場合もある。
グラフィックエリアA3は、所定のグラフィック画像が記録されるエリアである。グラフィック画像については、後述する。
バーコードエリアA4は、バーコードが記録されるエリアである。
末端画像エリアA5は、所定の文字列が所定の態様で定型的に記録されるエリアである。図4(B)の例では、「−−−〜−−」の文字列が、基準の大きさで左寄せで記録される。
本実施形態では、所定の例外を除き、プリンター2が発行する全てのレシート10について、末端画像エリアA5には、同一の文字列が同一の態様で記録される。すなわち、「−−−〜−−」の文字列が記録される。
以下、末端画像エリアA5に記録される上記文字列のことを「末端画像」と表現するものとする。すなわち、末端画像とは、レシート10の末端部に定型的に記録される文字列に係る画像のことである。
【0025】
記録データ80は、上述したように、感熱ロール紙22に記録すべき画像の情報を含むデータであるが、具体的には、感熱ロール紙22に所定の画像を所定の態様で記録させることを指示するコマンドが、記録させる順番に並んで構成されたデータである。プリンター2の制御部50の記録制御部60は、記録データ80を構成する各コマンドを、順次、読み出して実行することにより、感熱ロール紙22への画像の記録、及び、画像の記録に伴う必要な搬送を行う。
図4(A)において、コマンド群H1は、レシート10の先頭画像を構成する2行の文字列のうち、「−−−〜−−」の文字列を所定の態様で記録させるコマンド群であり、文字列装飾コマンドMS1、及び、文字列記録指示コマンドMK1の2つのコマンドが含まれている。
文字列装飾コマンドMS1は、「−−−〜−−」の文字列に施す装飾を指定するコマンドであり、具体的には、当該文字列の大きさを基準の大きさとすること、及び、当該文字列を左寄せすることを指定するコマンドである。なお、装飾とは、記録する文字列に対して描画に関する何らかの処理を行うことを意味し、例えば、上述した文字列の拡大や、文字列の位置の移動のほか、例えば、縮小、回転、強調、太字化、装飾文字又は装飾記号の付加等が装飾に該当する。
文字列記録指示コマンドMK1は「−−−〜−−」の文字列を記録することを指示するコマンドである。本実施形態では、基本的に、文字列記録指示コマンドは、命令コードと、所定の文字コード(例えば、アスキーコード。)で表現された文字の組み合わせからなる文字列と、が組み合わされて構成されている。例えば、文字列記録指示コマンドMK1は、「XXX△“−−−〜−−”」(ただし、XXXは、文字列を記録することを指示する命令コード。また、ダブルクォーテーション内の文字列は、アスキーコードで表現された文字の組み合わせによって構成された文字列。)という構成となっている。
なお、本実施形態では、1行の文字列は、1つの文字列記録指示コマンドMKに基づいて記録される。従って、1つの文字列記録指示コマンドMKに基づいて記録される文字列は、同一の行に配置される文字からなる文字列である。
【0026】
記録制御部60は、プリントエンジン51を制御して、文字列装飾コマンドMS1により指定された装飾を施した上で、文字列記録指示コマンドMK1に記述された文字列を記録媒体に記録する。これにより、図4(B)に示すように、基準の大きさで、左寄せされた「−−−〜−−」の文字列が記録される。
詳述すると、プリンター2の記憶部54には、フォントテーブル70が記憶されている。フォントテーブル70とは、フォントデータを集合して記憶するテーブルであり、また、フォントデータとは、文字を感熱ロール紙22に記録可能な態様で表現するデータのことである。本実施形態では、フォントデータの態様は、ビットマップフォントデータである。フォントデータの態様としては、ビットマップデータのほか、スケイラブルフォントデータや、ベクトルフォントデータ、アウトラインフォントデータ等がある。
なお、本実施形態では、感熱ロール紙22に記録する「文字」は、言語で使用される意味を持った文字のみならず、記憶部54に記憶されたフォントデータに基づいて感熱ロール紙22に記録可能な「図形」の全てを指す概念である。
アスキーコードで表現された文字のそれぞれは、フォントテーブル70に記憶されたいずれかのフォントデータと対応関係にあり、この対応関係を示す情報が記憶部54に予め記憶されている。例えば、各アスキーコードと、各アスキーコードに対応するフォントデータの位置(フォントテーブル70における記憶領域のアドレス)とが対応づけて記憶されたテーブルが記憶部54に予め記憶されている。
そして、文字列装飾コマンドMS1、及び、文字列記録指示コマンドMK1に基づいて、「−−−〜−−」の文字列を記録する際、記録制御部60は、フォントテーブル70、及び、アスキーコードとフォントデータとの対応関係を示す情報を参照して、当該文字列を構成する各文字のフォントデータを取得し、文字列装飾コマンドMS1が指定する装飾を反映した上で、取得したフォントデータに基づいて、プリントバッファー(不図示)に文字列に係る描画データ(ビットマップデータ)を展開する。次いで、記録制御部60は、プリントバッファーに展開した当該文字列に係る描画データに基づいて、記録ヘッド24や、搬送モーター26等を駆動して、感熱ロール紙22に文字列に係る画像を構成するドットを形成することにより、「−−−〜−−」の文字列を記録する。
【0027】
コマンド群H1に続く、コマンド群H2は、「AAA△Store」の文字列を所定の態様で記録させるコマンド群であり、当該文字列の大きさを基準の大きさの2倍とすること、及び、当該文字列を中央寄せすることを指定する文字列装飾コマンドMS2、及び、「AAA△Store」の文字列を記録することを指示する文字列記録指示コマンドMK2を含んで構成されている。
記録制御部60は、コマンド群H2に含まれる各コマンドに基づいて、プリントエンジン51を制御して、図4(B)に示すように、基準の大きさの2倍で、中央寄せされた「AAA△Store」の文字列を記録する。
コマンド群H2の後には、2つの改行コマンドLFが続いている。これにより、図4(B)に示すように、「AAA△Store」の文字列の後には、改行が2つ挿入される。
【0028】
2つの改行コマンドLFの後には、レシート情報エリアA2の記録に係るコマンドが続く。
これらレシート情報エリアA2の記録に係るコマンドには、コマンド群H3が含まれている。
コマンド群H3は、レシート情報エリアA2において、「−−−〜−−」の文字列を記録するためのコマンド群であり、当該文字列の大きさを基準の大きさとすること、及び、当該文字列を左寄せすることを指定する文字列装飾コマンドMS3、及び「−−−〜−−」の文字列を記録することを指示する文字列記録指示コマンドMK3を含んで構成されている。
なお、レシート情報エリアA2は、上述したように、様々な態様で画像が記録されることが想定されたエリアであり、「−−−〜−−」の文字列が記録されない場合もある。この場合は、コマンド群H3は、存在しないこととなる。
【0029】
コマンド群H3の後には、グラフィック記録指示コマンドGSが続いている。
記録制御部60は、このグラフィック記録指示コマンドGSに基づいて感熱ロール紙22にグラフィック画像を記録する。
詳述すると、プリンター2の記憶部54には、登録グラフィックテーブル71が記憶されている。この登録グラフィックテーブル71では、複数のグラフィック画像データと、各グラフィック画像に一意に付与された識別コードとが対応づけて記憶されている。グラフィック画像データとは、フォントデータに基づいて記録される画像ではない、所定の画像(グラフィック画像)を表現するビットマップデータのことであり、例えば、図4(B)のレシート10のグラフィックエリアA3のグラフィック画像(強調用の飾り枠の中に「10%Off」という文字列が描画された画像)を表現するビットマップデータである。
そして、グラフィック記録指示コマンドGSには、記録すべきグラフィック画像の識別コードを特定する情報が含まれており、グラフィック記録指示コマンドGSに基づいてグラフィック画像を記録する際、記録制御部60は、登録グラフィックテーブル71を参照して、当該識別コードに対応するグラフィック画像データを取得し、取得したグラフィック画像データをプリントバッファーに展開し、展開したグラフィック画像データに基づいてプリントエンジン51を制御して、グラフィック画像の記録を行う。
なお、グラフィック記録指示コマンドGSを、グラフィックエリアA3に記録すべき画像のビットマップデータを含んだ構成とし、当該ビットマップデータに係る画像を記録させるコマンドとすること可能である。この場合、記録制御部60は、グラフィック記録指示コマンドGSに含まれるビットマップデータをプリントバッファーに展開して画像を記録する。
【0030】
グラフィック記録指示コマンドGSの後には、バーコード記録指示コマンドBSが続いている。
バーコード記録指示コマンドBSは、HRI文字に関する各種設定(HRI文字を記録するか否か、HRI文字をバーコードとの関係でどこに記録するか等)を指定するコマンドや、バーコードを記録する際のサイズを指定するコマンド、バーコードに変換しようとしている文字列(以下、「変換前文字列」という。)を指定すると共に当該変換前文字列に基づくバーコードの画像を記録することを指示するコマンド等が含まれて構成されている。
バーコード記録指示コマンドBSに基づいてバーコードを記録する際、記録制御部60は、バーコード記録指示コマンドBSに含まれる変換前文字列を取得し、取得した変換前文字列を、ファームウェアに実装された所定の機能により、画像としてのバーコードを表現するビットマップデータに変換し、HRI文字に関する各種設定や、バーコードのサイズに関する各種設定を反映した上で、画像としてのバーコードを表現するビットマップデータをプリントバッファーに展開し、展開したビットマップデータに基づいて、プリントエンジン51を制御して、バーコード、及び、HRI文字に係る画像を感熱ロール紙22に記録する。
【0031】
バーコード記録指示コマンドBSの後には、コマンド群H4が続いている。
コマンド群H3は、末端画像エリアA5において、「−−−〜−−」の文字列を記録するためのコマンド群であり、当該文字列の大きさを基準の大きさとすること、及び、当該文字列を左寄せすることを指定する文字列装飾コマンドMS4、及び「−−−〜−−」の文字列を記録することを指示する文字列記録指示コマンドMK4を含んで構成されている。
【0032】
ところで、本実施形態に係るプリンター2は、感熱ロール紙22に記録を行うものであるが、できるだけ感熱ロール紙22の無駄な消費を抑制し、コスト削減につなげたいとするニーズがある。
そして、感熱ロール紙22の消費を抑制した動作をプリンター2に行わせる際に、ホストコンピューター3に対する改変、例えば、プログラム修正や、プログラムの書き換え、ホストコンピューター3自体の交換、各種機構の改変等はできるだけ行いたくないとするニーズがある。これは、例えば、本発明をPOS端末1に適用する際に、ホストコンピューター3に対する改変が必要ない分、作業性がよいからである。さらに、ある店舗において、当該店舗に設置された既存のホストコンピューター3にプリンター2を接続することによりPOS端末1を構築するような状況の場合に、既存のホストコンピューター3に対する改変を行う必要がないため、プリンター2を購入し、導入する店舗側にとっては作業の容易性、接続の確実性の面でメリットがあり、また、プリンター2を販売、提供する主体(例えば、製造メーカー)にとっては、プリンター2の商品価値を向上できるという点でメリットがあるからである。
以上を踏まえ、本実施形態に係るプリンター2は、以下の動作を実行する。
【0033】
すなわち、本実施形態に係るプリンター2の制御部50の記録制御部60は、文字列記録指示コマンドMKに基づいて文字列を記録する場合において、当該文字列が、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側にスペースデータが形成されたフォントデータに係る文字の繰り返しによって構成されている繰り返し文字列である場合は、当該繰り返し文字列を、当該繰り返し文字列を構成する各文字における当該スペースに対応する部位を詰めて形成された繰り返しパターン(画像データ)に変換して、感熱ロール紙22に記録する。
【0034】
図5は、繰り返し文字列、及び、繰り返しパターンを説明するための図であり、(A)は、「−」の文字のフォントデータを示し、(B)は、「−−−〜−−」の文字列のフォントデータと、当該文字列に対応する繰り返しパターン(画像データ)とを模式的に示している。
図5(A)に示すように、フォントデータは、縦が24ドット、横が12ドットのフォントデータである。フォントデータを構成する各画素は、フォントデータに基づいて感熱ロール紙22に実際に記録される文字に係る画像を構成する各画素と対応しており、1のフォントデータに基づいて感熱ロール紙22に記録される文字は、拡大や縮小に係る装飾が行われない場合は、感熱ロール紙22において24ドット×12ドットの画素から構成される画像となる。
以下、説明の明確化のため、フォントデータを構成する各画素は、黒色の黒画素と、白色の白画素とのいずれかの形態をとり、黒画素の組み合わせによって文字が表現されるものとする。
【0035】
図5(A)に示すように、「−」の文字のフォントデータでは、「−」を、黒画素の組み合わせによって表現している。そして、当該フォントデータにおいて、「−」を表現する黒画素のかたまりの、搬送方向に対応する方向側の端部には、白画素のみによって構成されたスペースデータが形成され、同様に、「−」を表現する黒画素のかたまりの、搬送方向と逆方向(以下、単に「逆方向」という。)に対応する方向側の端部には、白画素のみによって構成されたスペースデータが形成されている。
なお、「搬送方向に対応する方向」とは、フォントデータに基づいて文字を記録した場合における搬送方向のことであり、また、「逆方向に対応する方向」とは、フォントデータに基づいて文字を記録した場合における逆方向のことである。
「−」の文字のフォントデータにおけるスペースデータは、実際に記録ヘッド24を駆動して記録しない部位である。そして、スペースデータは、黒画素が存在せず、実際に記録ヘッド24を駆動して記録しない部位であるため、これらスペースデータの少なくとも一部を省いたデータに基づいて、「−」の文字を記録した場合であっても、文字に欠損が生じ得ず、従って、描画上の不具合が生じることはない。また、文字の視認に悪影響を与えることはない。
また、以下の説明において、フォントデータにおいて、黒画素の組み合わせによって文字を表現している部位(例えば、「−」の文字のフォントデータにおいて、黒画素の組み合わせによって「−」表現している部位)のことを実データというものとする。実データは、フォントデータにおいて、実際に記録ヘッド24を駆動して記録する部位である。
また、以下の説明において、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の端部に白画素のみによって構成されたスペースデータが形成されているフォントデータを、「有スペースフォントデータ」という。
【0036】
以上を踏まえ、本実施形態に係るプリンター2の記録制御部60は、有スペースフォントデータである「−」の文字の繰り返しによって構成された「−−−〜−−」の文字列を記録する場合、スペースデータに対応する部位を詰めて形成された繰り返しパターンに変換し、当該繰り返しパターンに基づいて画像を記録する。
詳述すると、記録制御部60は、図5(B1)に示す「−−−〜−−」の文字列を記録する場合、当該文字列を、図5(B2)に示す繰り返しパターンに変換する。
図5(B2)の繰り返しパターンは、「−−−〜−−」の文字列を構成する各「−」の文字におけるスペースデータに対応する部位が詰めて形成されたビットマップデータである。
スペースデータが詰められることにより、図5(B)に示すように、変換前と比較して、感熱ロール紙22の搬送方向に対応する方向におけるドット数(サイズ)を小さくすることが可能となる。また、白画素のみからなるスペースデータを詰めて形成しているため、文字を表現する黒画素に欠損が生じ得ず、描画上の不具合はない。また、図5(B2)の繰り返しパターンは、1つの直線が幅方向に延在した画像が表現されたビットマップデータとなっている。これは、「−−−〜−−」の文字列は、フォントデータを利用して、1つの直線を表現しようとしたものであることを踏まえたものである。
このように、記録制御部60が、「−−−〜−−」の文字列について、行単位で、スペースデータを詰めて形成した繰り返しパターンに変換し、当該繰り返しパターンに基づいて記録を行うことにより、スペースデータを詰めた分、記録媒体の無駄な消費を抑制することが可能となる。
【0037】
図6は、所定の文字列について、繰り返しパターンに変換しないで記録する場合と、変換して記録する場合とを比較するための図であり、(A)は、変換しない場合のレシート10(図4(B)と同一のレシート10)を、(B)は、変換する場合のレシート10を示している。
図6(B)の例では、先頭画像エリアA1における「−−−〜−−」の文字列、及び、末端画像エリアA5における「−−−〜−−」の文字列が、行単位で、それぞれ繰り返しパターンに変換されている。これにより、変換後のレシート10の長手方向の長さが短くなり、感熱ロール紙22の消費の削減が実現されている。
なお、図6(B)の例では、レシート情報エリアA2における「−−−〜−−」の文字列については、繰り返しパターンに変換されていないが、これについては後述する。
【0038】
本実施形態では、「−−−〜−−」の文字列のみならず、他の所定の繰り返し文字列についても、行単位で、繰り返しパターンへ変換する構成となっている。
以下、所定の繰り返し文字列を、繰り返しパターンに変換する際の記録制御部60の動作について説明する。
【0039】
図7は、文字列記録指示コマンドMKを読み出して実行する際の記録制御部60の動作を示すフローチャートである。
以下の説明において、記録制御部60の機能は、CPUがファームウェア等のプログラムを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
まず、記録制御部60は、受信バッファー56から、文字列記録指示コマンドMKを読み出す(ステップSA1)。
次いで、記録制御部60は、ステップSA1で読み出した文字列記録指示コマンドMKを実行することによって記録される文字列の位置が、感熱ロール紙22を切断してレシート10を発行したときの先端10a(切断位置)の上流側の所定の範囲、又は、末端10b(切断位置)の下流側の所定の範囲に位置しているか否かを判別する(ステップSA2)。
このステップSA2の判別は、以下のことを目的として行われる処理である。
【0040】
すなわち、本実施形態では、レシート10の先端部に定型的に記録される画像である先頭画像に含まれる繰り返し文字列、及び、末端部に定型的に記録される画像である末端画像に含まれる繰り返し文字列については、繰り返しパターンへの変換を行う。これは、レシート10に定型的に記録される先頭画像や、末端画像の長手方向の長さを短くできれば感熱ロール紙22の消費を非常に効果的に抑制できることとなるからである。また、先頭画像や、末端画像に含まれる繰り返し文字列について、一律に、繰り返しパターンへの変換を行うことにより、各レシート10に統一感を与えることができるからである。
一方で、本実施形態では、先頭画像や、末端画像以外の繰り返し文字列については、繰り返しパターンへの変換を行わない。これは、定型的に記録される文字列ではない文字列については、他の画像への置き換えを意図しておらず、そのままフォントデータを利用した画像の記録が望まれる場合もあり、また、レシート10に定型的に記録される文字列と比較して、出現率が低く、従って、感熱ロール紙22の消費の抑制への寄与が少ないと言えることから、繰り返しパターンへの変換を行うべきではない状況もあり得るからである。
そして、感熱ロール紙22を切断してレシート10を発行したときの先端10a(切断位置)の上流側の所定の範囲が、先頭画像エリアA1に対応する範囲となり、また、末端10b(切断位置)の下流側の所定の範囲が、末端画像エリアA5に対応する範囲となるように、レシート10の実態に即して、所定の範囲の大きさが予め規定されている。
ステップSA2では、記録制御部60は、ステップSA1で読み出した文字列記録指示コマンドMKを実行することによって記録される文字列の位置が、感熱ロール紙22を切断してレシート10を発行したときの先端10a(切断位置)の上流側の所定の範囲、又は、末端10b(切断位置)の下流側の所定の範囲に位置しているか否かを判別することにより、文字列が、先頭画像、又は、末端画像のいずれかに含まれる画像であるか否かを判別している。
なお、プリンター2では、感熱ロール紙22の搬送量を、例えば、ステッピングモーターとして構成された搬送モーター26のステップ数等により管理しており、この搬送量や、感熱ロール紙22の位置を検出する所定のセンター等の検出値に基づいて、記録ヘッド24の位置に対する感熱ロール紙22の先端の位置(既に切断された位置)や、末端の位置(次に切断される位置)を管理しており、これら管理の内容に基づいて、文字列記録指示コマンドMKを実行することによって記録される文字列の位置が、上述した所定の範囲に位置しているか否かを判別可能である。
【0041】
ステップSA2において、文字列記録指示コマンドMKを実行することによって記録される文字列の位置が、上述した所定の範囲に位置していない場合(ステップSA2:NO)、記録制御部60は、文字列記録指示コマンドMKに基づいて、文字列の記録を通常通り実行する(ステップSA3)。
一方、文字列記録指示コマンドMKを実行することによって記録される文字列の位置が、上述した所定の範囲に位置している場合(ステップSA2:YES)、記録制御部60は、繰り返しパターンテーブル72を参照する(ステップSA4)。
【0042】
図8は、プリンター2の記憶部54に記憶された繰り返しパターンテーブル72のデータ構造を模式的に示す図である。
繰り返しパターンテーブル72は、繰り返し文字列と、繰り返しパターンとを対応づけて記憶するテーブルである。
例えば、繰り返しパターンテーブル72では、図7に示すように、「−−−〜−−」の文字列と、繰り返しパターンP1とが対応づけて記憶され、また、「・・・〜・・」の文字列と、繰り返しパターンP2とが対応づけて記憶されている。
繰り返しパターンテーブル72に記憶されている繰り返し文字列のそれぞれは、有スペースフォントデータに係る文字の繰り返しによって構成された文字列である。また、繰り返しパターンのそれぞれは、対応する繰り返し文字列のスペースデータに対応する部位を詰めて形成されたビットマップデータである。従って、繰り返しパターンテーブル72に記憶された繰り返し文字列については、フォントデータに基づいて文字列を記録した場合と比較して、対応する繰り返しパターンに変換して記録した場合の方が、当該文字列に係る画像の長手方向の長さが小さくなり(ドット数が小さくなり)、レシート10の搬送方向の長さの短縮化を実現でき、感熱ロール紙22の消費の抑制を図ることができる。
繰り返しパターンテーブル72には、繰り返しパターンへと変換することが想定された繰り返し文字列のそれぞれについて、繰り返しパターンと対応づけて記憶されている。
【0043】
なお、繰り返しパターンテーブル72に登録される繰り返し文字列は、少なくとも、以下の基準を満たしている。
すなわち、繰り返し文字列を構成する文字について、実データの搬送方向のドット数(データ数)の方が、スペースデータの搬送方向のドット数(データ数)よりも小さいという基準を満たした繰り返し文字列が、繰り返しパターンテーブル72に登録される。
例えば、図5(A)を参照し、「−−−〜−−」の文字列を構成する「−」の文字は、実データの搬送方向のドット数(L1)の方が、スペースデータの搬送方向のドット数(L2+L3)よりも小さい。
これは、以下の理由による。
すなわち、あるフォントデータについて、実データの搬送方向におけるドット(データ数)よりも、スペースデータの搬送方向におけるドット数(データ数)の方が少ない場合、当該フォントデータにおけるスペースデータが占める割合が十分に大きく、従って、当該フォントデータに対応する文字によって構成される文字列について、繰り返しパターンへの変換を行えば、感熱ロール紙22の無駄を抑制するという観点で、高い効果を発揮するからである。
【0044】
繰り返しパターンテーブル72を参照後、記録制御部60は、文字列記録指示コマンドMKが指定する文字列が、繰り返しパターンテーブル72に記憶された繰り返し文字列であるか否かを判別する(ステップSA5)。上述したように、文字列記録指示コマンドMKにおいて、文字列は、所定の文字コードからなる文字の組み合わせによって表現されているため、既存の文字列検索用のアルゴリズムを用いて、文字列記録指示コマンドMKが指定する文字列が、繰り返しパターンテーブル72に記憶された繰り返し文字列であるか否かを容易、かつ、迅速に、判別可能である。
文字列記録指示コマンドMKが指定する文字列が、繰り返しパターンテーブル72に記憶された繰り返し文字列ではない場合(ステップSA5:NO)、記録制御部60は、処理手順をステップSA3へ移行し、文字列記録指示コマンドMKに基づいて、通常通り文字列を記録する。
一方、文字列記録指示コマンドMKが指定する文字列が、繰り返しパターンテーブル72に記憶された繰り返し文字列である場合(ステップSA5:YES)、記録制御部60は、繰り返しパターンテーブル72を参照し、当該繰り返し文字列に対応する繰り返しパターンを取得する(ステップSA6)。
次いで、記録制御部60は、取得した繰り返しパターンに基づいて画像を記録する(ステップSA7)。
【0045】
このように本実施形態に係る記録制御部60は、上述した所定の範囲に属する繰り返し文字列については、行単位で、繰り返しパターンに変換して、記録し、記録媒体の消費の抑制を実現するが、記録媒体の消費の抑制の実現に際し、ホストコンピューター3に対する改変は必要ない。
すなわち、ホストコンピューター3は、繰り返し文字列を繰り返しパターンに変換して記録させる場合、通常通り、繰り返し文字列を指定して、当該繰り返し文字列を記録させる文字列記録指示コマンドMKを生成し、プリンター2に送信すればよい。そうすれば、プリンター2側で、繰り返しパターンテーブル72を参照して、上述した所定の条件を満たす場合は、自動で、繰り返しパターンへ変換する。
【0046】
以上説明したように、本実施形態では、記録制御部60は、文字列記録指示コマンドMKに基づいて文字列を記録する場合において、当該文字列が、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側にスペースデータが形成された有スペースフォントデータに係る文字の繰り返しによって構成されている場合は、当該文字列を、当該文字列を構成する各文字における当該スペースに対応する部位を詰めて形成された繰り返しパターン(画像データ)に変換して、記録する。
これによれば、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の端部にスペースデータが形成された有スペースフォントデータに係る文字の繰り返しによって構成された文字列について、画像として感熱ロール紙22に記録する際に、当該文字列を構成する各文字における当該スペースに対応する部位を詰めて形成された繰り返しパターンに変換して、記録する構成のため、スペースを詰めた分、感熱ロール紙22の無駄な消費が抑制できる。
特に、ホストコンピューター3は、プリンター2に対して通常どおり、文字列記録指示コマンドMKを送信すれば、プリンター2側で、自動で、繰り返しパターンへの変換が実行されるため、ホストコンピューター3に対して、プログラム修正等の改変を行う必要がない。
【0047】
また、本実施形態では、繰り返しパターン(画像データ)は、文字列を構成する文字のフォントデータを並べて配置した行に対し当該行に含まれるスペースデータの少なくとも一部を省いたものである。
ここで、スペースデータを省略したフォントデータに基づいて、文字を記録した場合であっても、文字に欠損が生じ得ず、従って、描画上の不具合が生じることはない。例えば、マイナスを示す「−」などを同一行に繰り返し配置し、区切り線として使用する場合、搬送方向側、及び、逆方向側のスペースを省いても区切り線として認識できる上、記録媒体の無駄も抑制できる。
以上を踏まえ、上記構成によれば、描画上の不具合や、認識に対する悪影響を防止した上で、記録媒体の無駄を抑制することが可能である。
【0048】
また、本実施形態では、記録制御部60は、文字列記録指示コマンドMKに基づいて、感熱ロール紙22における所定の位置に文字列を記録する場合に、繰り返しパターンへの変換を行う。
これによれば、無条件に繰り返しパターンへの変換を行うのではなく、所定の位置に記録される文字列についてのみ、繰り返しパターンへの変換を行うことが可能となるため、状況に応じて、適切に、繰り返しパターンへの変換が可能となる。
【0049】
また、本実施形態では、記録制御部60は、カッターユニット25による感熱ロール紙22の切断位置(レシート10の先端、及び、末端に該当する位置)の搬送方向上流側、及び、搬送方向下流側の所定の範囲に記録すべき繰り返し文字列について、繰り返しパターンへの変換を行う。
これによれば、先端部に定型的に記録されることが想定された画像が記録される範囲である感熱ロール紙22の切断位置(先端)の搬送方向上流側の所定の範囲、又は、後端部に定型的に記録されることが想定された画像が記録される範囲である感熱ロール紙22の切断位置(切断された場合にレシート10の末端に該当する位置)の搬送方向下流側の所定の範囲に位置する繰り返し文字列について、繰り返しパターンへの変換が行われるため、感熱ロール紙22の消費を非常に効果的に抑制できる。
さらに、上記によれば、定型的に記録される文字列ではない可能性が高い文字列については、繰り返しパターンへの変換が行われず、従って、他の画像への置き換えを意図しない繰り返し文字列について、繰り返しパターンへの変換が行われることを防止できる。
【0050】
<第2実施形態>
次いで、第2実施形態について説明する。
【0051】
図9は、記録ヘッド24と、カッターユニット25との位置関係を説明するため、これら装置を模式的に示す図である。
図10は、従来のプリンター2と、本実施形態に係るプリンター2とが発行するレシート10の違いを説明するため、レシート10を模式的に示す図である。
図2、及び、図9に示すように、本実施形態では、感熱ロール紙22が搬送される搬送経路K(図9)上の所定の位置に記録ヘッド24が設けられ、この記録ヘッド24の搬送方向Y1下流に感熱ロール紙22を切断するためのカッターユニット25が設けられている。
図9に示すように、記録ヘッド24によって画像が記録される記録位置T1(発熱素子が配置された位置)と、カッターユニット25のカット位置T2との間には、ギャップGが形成されている。
そして、従来のプリンター2は、1のレシート10に係る記録データ80に基づく画像の記録が終了した後、感熱ロール紙22の紙切断位置が、カット位置T2に至るまで感熱ロール紙22が搬送された上で感熱ロール紙22が切断され、その後、次のレシート10に係る記録データ80に基づく画像の記録が開始されるという手順でレシート10を発行していた。このため、図10(A)に示すように、記録ヘッド24の記録位置T1と、カッターユニット25のカット位置T2との搬送方向Y1におけるギャップGに起因して、レシート10の先端10aと、当該レシート10に記録される画像の先端との間に形成されるマージンMが拡大化する傾向にあった。
そして、このマージンMは、何ら画像が記録されない無駄な領域であるため、できるだけ当該マージンMを縮小し、感熱ロール紙22の無駄な消費を抑制したいとするニーズがある。
これを踏まえ、本実施形態に係るプリンター2は、図10(B)に示すように、1のレシート10に係る記録データ80に基づく画像の記録が終了した後、感熱ロール紙22を切断するために、感熱ロール紙22を搬送方向Y1に搬送する際に、当該搬送と並行して、次のレシート10に係る記録データ80に基づいて画像を記録し、これにより、マージンMを縮小している。
その際、以下の動作を実行している。
【0052】
図11は、本実施形態に係るプリンター2の動作を示すフローチャートである。
以下の説明の前提として、1のレシート10を発行するための一連の制御コマンド(記録データ80含む。)と、次のレシート10を発行するための一連の制御コマンド(記録データ80含む。)を既に受信しており、これら制御コマンドが受信バッファー56に格納されており、1のレシート10に係る記録データ80に基づいて画像が記録されている途中であるものとする。
プリンター2の記録データ80は、1のレシート10に係る記録データ80に基づく画像の記録が完了したか否かを監視する(ステップSB1)。
画像の記録が完了した場合、記録制御部60は、プリントエンジン51を制御して、感熱ロール紙22の切断のための搬送を開始する(ステップSB2)。
切断のための搬送の開始後、記録制御部60は、当該搬送と並行して、次のレシート10に係る記録データ80に基づいて、画像の記録を行う(ステップSB3)。
その際、記録制御部60は、以下の処理を行う。
すなわち、記録制御部60は、文字列記録指示コマンドMKを実行する際、所定の繰り返し文字列については、繰り返しパターンに変換して記録を行う。繰り返しパターンへの変換の方法は、第1実施形態と同様の方法である。
画像の記録の実行中、記録制御部60は、感熱ロール紙22の切断位置が、カッターユニット25のカット位置T2に至ったか否かを監視する(ステップSB4)。
感熱ロール紙22の切断位置が、カッターユニット25のカット位置T2に至った場合、記録制御部60は、画像の記録を中断し、プリントエンジン51を制御して、感熱ロール紙22を切断する(ステップSB5)。
次いで、記録制御部60は、記録データ80に基づいて、画像の記録を再開する(ステップSB6)。
その際、記録制御部60は、繰り返し文字列について、繰り返しパターンへの変換を行うことなく、フォントデータに基づいてそのまま記録する。
【0053】
このように、本実施形態に係るプリンター2は、切断のための搬送後、切断前に記録すべき繰り返し文字列については、繰り返しパターンへの変換を行う一方、それ以外の繰り返し文字については、繰り返しパターンへの変換を行わない。
これは、以下の理由による。
すなわち、上述した第1実施形態で説明したように、レシート10の先端部には、先頭画像が定型的に記録される。そして、切断のための搬送後、切断前に記録すべき繰り返し文字列は、レシート10の最先端部に記録される文字列であり、先頭画像を構成する文字列である可能性が非常に高い。そして、レシート10に定型的に記録される先頭画像の長手方向の長さを短くできれば感熱ロール紙22の消費を非常に効果的に抑制できることとなるからである。また、切断のための搬送後、切断前に記録すべき繰り返し文字列について、一律に、繰り返しパターンに変換することにより、各レシート10の統一感を向上することができる。
一方で、それ以外の繰り返し文字列については、定型的に記録されるものではない可能性があり、従って、他の画像への置き換えを意図しておらず、そのままフォントデータを利用した画像の記録が望まれる場合もあり、また、レシート10に定型的に記録される文字列と比較して、出現率が低く、従って、感熱ロール紙22の消費の抑制への寄与が少ないと言えることから、繰り返しパターンへの変換を行うべきではない状況もあり得るからである。
なお、本実施形態でも、上述した第1実施形態と同様、感熱ロール紙22の消費の抑制に際し、ホストコンピューター3に対する改変は必要ない。すなわち、ホストコンピューター3は、プリンター2に対し、通常通りの制御コマンドを送信すれば、プリンター2側で、自動で、上述した処理を行い、感熱ロール紙22の消費の抑制を実現する。
【0054】
以上説明したように、本実施形態では、記録制御部60は、カッターユニット25により感熱ロール紙22を切断する場合、感熱ロール紙22の切断位置の搬送方向上流側に、記録ヘッド24により画像を記録しつつ、感熱ロール紙22の切断位置がカッターユニット25のカット位置T2に対応する位置に至るまで感熱ロール紙22を搬送させて、カッターユニット25により感熱ロール紙22を切断すると共に、切断のための搬送後、切断前に、感熱ロール紙22に記録すべき繰り返し文字列について、繰り返しパターンへの変換を行う。
これによれば、感熱ロール紙22の切断に際し、記録ヘッド24の記録位置T1とカッターユニット25のカット位置T2との搬送方向におけるギャップGに起因して発生する感熱ロール紙22の先端と、感熱ロール紙22に記録される画像の先端とのマージンを縮小した上で、さらに、以下の効果を奏することができる。
すなわち、頭画像を構成する文字列である可能性が非常に高い繰り返し文字列について、繰り返しパターンに変換されることとなり、感熱ロール紙22の消費を非常に効果的に抑制できる。また、切断のための搬送後、切断前に記録すべき繰り返し文字列について、一律に、繰り返しパターンに変換することにより、各レシート10の統一感を向上することができる。
さらに、定型的に記録されるものではない可能性がある繰り返し文字列については、繰り返しパターンへの変換が行われず、これにより、他の画像への置き換えを意図しておらず、そのままフォントデータを利用した画像の記録が望まれる繰り返し文字列について、繰り返しパターンへの変換が行われることを防止できる。
【0055】
<第3実施形態>
次いで、第3実施形態について説明する。
上述した第1実施形態に係るプリンター2は、所定の繰り返し文字列を、行単位で、対応する繰り返しパターンに変換していた。
一方、本実施形態に係るプリンター2は、文字列を構成する各文字について、所定の条件が成立する場合は、各文字を対応する省スペースフォントデータ(後述)に変換し、変換した省スペースフォントデータに基づいて文字列の記録を行うことにより、記録媒体の無駄な消費を抑制する。
【0056】
図12は、本実施形態に係るプリンター2の動作を示すフローチャートである。
まず、記録制御部60は、受信バッファー56から、文字列記録指示コマンドMKを読み出す(ステップSC1)。
次いで、記録制御部60は、有スペース文字テーブル90を参照する(ステップSC2)。
【0057】
図13は、有スペース文字テーブル90のデータ構造を示す図である。
有スペース文字テーブル90は、有スペース文字と、省スペースフォントデータとを対応付けて記憶するテーブルである。
有スペース文字とは、上述した有スペースフォントデータに対応する文字のことである。すなわち、有スペース文字とは、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方に白画素のみによって構成されたスペースデータが形成されているフォントデータに対応する文字であり、例えば、「−」である。
また、省スペースフォントデータとは、対応する有スペース文字のフォントデータについて、スペースデータに対応する部位の少なくとも一部を省くことにより生成されたデータのことである。つまり、省スペースフォントデータとは、対応する有スペース文字のフォントデータよりも、搬送方向のフォントサイズが小さいデータである。
【0058】
図14は、省スペースフォントデータを説明するための図である。
図14(A)は、「−」の文字に対応するフォントデータであり、図14(B)は、「−」の文字に対応する省スペースフォントデータである。上述したように、「−」の文字に対応するフォントデータは、搬送方向に対応する方向と、その逆方向に対応する方向とのいずれにも白画素のみによって構成されたスペースデータが形成されている有スペースフォントデータである。
図14(A)と、図14(B)との比較において明らかなように、「−」の文字に対応する省スペースフォントデータは、「−」の文字に対応するフォントデータのスペースデータの少なくとも一部を省略して形成されたデータであり、「−」の文字に対応するフォントデータと比較して、搬送方向に対応する方向におけるサイズが小さい。
有スペース文字テーブル90には、複数の有スペース文字が登録されている。そして、有スペース文字テーブル90に登録されている有スペース文字は、少なくとも、以下の基準を満たしている。
すなわち、有スペース文字に対応するフォントデータについて、実データの搬送方向のドット数(データ数)の方が、スペースデータの搬送方向のドット数(データ数)よりも小さいという基準を満たした有スペース文字が、有スペース文字テーブル90に登録される。この理由は、繰り返しパターンテーブル72に登録される繰り返し文字列についての理由と同様である。
【0059】
さて、前掲図12に戻り、ステップSC2において有スペース文字テーブル90を参照した後、記録制御部60は、ステップSC1で読み出した文字列記録指示コマンドMKが指定する文字列を構成する文字の全てが、有スペース文字テーブル90に登録された有スペース文字のいずれかであるか否かを判別する(ステップSC3)。
例えば、文字列記録指示コマンドMKが指定する文字列が、「−」の文字と、「・」の文字とからなり、有スペース文字テーブル90に「−」の文字と、「・」の文字とのそれぞれが登録されている場合、ステップSC3の判別において、記録制御部60は、「ステップSC1で読み出した文字列記録指示コマンドMKが指定する文字列を構成する文字の全てが、有スペース文字テーブル90に登録された有スペース文字のいずれかである」(ステップSC3:YES)と、判別する。
ステップSC1で読み出した文字列記録指示コマンドMKが指定する文字列を構成する文字に1つでも、有スペース文字テーブル90に登録されていない文字が含まれている場合(ステップSC3:NO)、記録制御部60は、文字列記録指示コマンドMKに基づいて、通常どおり、文字列を記録する(ステップSC4)。
一方、ステップSC1で読み出した文字列記録指示コマンドMKが指定する文字列を構成する文字の全てが、有スペース文字テーブル90に登録された有スペース文字のいずれかである場合(ステップSC3:YES)、記録制御部60は、有スペース文字テーブル90に基づいて、各文字を対応する省スペースフォントデータに変換し(ステップSC5)、各省スペースフォントデータをプリントバッファーに展開して、文字列に係る画像を記録する(ステップSC6)。
なお、記録制御部60は、記録すべき文字列を構成する文字の省スペースフォントデータが複数種類ある場合であって、各省スペースフォントデータの搬送方向に対応する方向におけるドット数が一定でない場合は、必要な調整を行った上で、各省スペースフォントデータをプリントバッファーに展開する。
【0060】
このように、本実施形態では、記録制御部60は、同一行に配置される文字列の各文字が、所定の有スペースフォントデータに対応する文字である場合は、これら文字のそれぞれについて、省スペースフォントデータに変換した上で、文字列に係る画像を記録する。これにより、記録される文字列の搬送方向におけるドット数が小さくなり、感熱ロール紙22の無駄な消費を抑制することが可能となる。
【0061】
以上説明したように、本実施形態では、記録制御部60は、同一の行に配置される文字列が、有スペースフォントデータに対応する1又は複数の文字によって構成されている場合は、当該文字列を構成する各文字に対応するフォントデータを、スペースデータの少なくとも一部を省くことにより、搬送方向のフォントサイズが小くなったフォントデータに変換した上で、当該文字列を記録ヘッド24により記録する。
これによれば、感熱ロール紙22に記録される文字列の搬送方向のサイズが小さくなり、感熱ロール紙22を切断の無駄な消費が抑制できる。
特に、ホストコンピューター3は、プリンター2に対して通常どおり、文字列記録指示コマンドMKを送信すれば、プリンター2側で、自動で、上記変換を実行する構成のため、ホストコンピューター3に対して、プログラム修正等の改変を行う必要がない。
【0062】
<第4実施形態>
次いで、第4実施形態に説明する。
上述した各実施形態では、所定の文字、又は、文字列について、予め記憶されていた繰り返しパターンや、省スペースフォントデータに変換していた。
一方で、本実施形態に係るプリンター2は、変換後のデータを予め記憶せず、所定の条件が成立した文字について、所定の処理を施すことにより、変換を行う。
【0063】
図15は、本実施形態に係るプリンター2の動作を示すフローチャートである。
まず、プリンター2の記録制御部60は、文字列記録指示コマンドMKを読み出す(ステップSD1)。
次いで、記録制御部60は、ステップSD1で読み出した文字列記録指示コマンドMKが指定する文字列を構成する文字の全てについて、以下の条件が成立するか否かを判別する(ステップSD2)。
すなわち、記録制御部60は、文字の全てについて、対応するフォントデータにおける実データの搬送方向におけるドット数(データ数)の方が、スペースデータの搬送方向におけるドット数(データ数)よりも小さいという条件が成立するか否かを判別する。図5(A)を参照し、例えば、「−」の文字に対応するフォントデータでは、実データのドット数(L1)の方が、スペースデータのドット数(L2+L3)よりも小さいか否かを判別する。
【0064】
文字列記録指示コマンドMKが指定する文字列を構成する文字に、1つでも上記の条件を満たさない文字がある場合(ステップSD2:NO)、記録制御部60は、文字列記録指示コマンドMKに基づいて、通常どおり、文字列を記録する(ステップSD3)。
一方、文字列記録指示コマンドMKが指定する文字列を構成する全ての文字について、上記条件を満たす場合、記録制御部60は、各文字のフォントデータについて、スペースデータに対応する部分の少なくとも一部を省略したデータに変換する(ステップSD4)。
変換は、例えば、以下のようにして行われる。
すなわち、記録制御部60は、全ての文字のフォントデータについて、搬送方向に対応する方向側に形成されたスペースデータのドット数と、その逆方向に対応する方向側に形成されたスペースデータのドット数とを取得する。そして、全ての文字のフォントデータについて、搬送方向側に形成されたスペースデータのドット数が、8ドット以上あったとすると、記録制御部60は、各文字のフォントデータについて、8ドットから所定のマージン分のドットを差し引いた5ドット分のスペースデータを、一律に、削除する。逆方向側に形成されたスペースデータについても、同様にして、所定のドット数分のスペースデータを削除する。例えば以上のようにして、記録制御部60は、各文字の変換後のデータを生成する。
なお、変換の方法は、上記に限らないことは言うまでもない。すなわち、スペースデータに対応する部分を省略することにより、変換前のフォントデータの搬送方向のドット数よりも、搬送方向のドット数が小さいデータに変換すれば、その方法は問わない。
【0065】
次いで、記録制御部60は、変換したデータをプリントバッファーに展開して、文字列に係る画像を記録する(ステップSD5)。
このように、本実施形態では、記録制御部60は、同一行に配置される文字列の各文字について、対応するフォントデータにおける実データの搬送方向におけるドット数(データ数)の方が、スペースデータの搬送方向におけるドット数(データ数)よりも小さいという条件を満たす場合は、これら文字のそれぞれについて、スペースデータに対応する部位の少なくとも一部を省略して生成したデータに変換した上で、文字列に係る画像を記録する。これにより、記録される文字列の搬送方向におけるドット数が小さくなり、感熱ロール紙22の無駄な消費を抑制することが可能となる。
【0066】
なお、本実施形態では、文字列を構成する各文字について、所定の条件が成立する場合は、各文字を所定のデータに変換していたが、以下のような構成であってもよい。
すなわち、同一行に記録される文字列の全体について、文字列のフォントデータ(文字列を構成する各文字のフォントデータを配列したデータ)における実データの搬送方向のドット数と、スペースデータの搬送方向のドット数とを比較し、実データのドット数が小さい場合は、文字列のフォントデータ(文字列を構成する各文字のフォントデータを並べて配置したデータ)におけるスペースデータに対応する部位の少なくとも一部を省略した画像データを生成し(画像データに変換し)、当該画像データに基づいて、文字列に係る画像を記録するようにしてもよい。
この場合であっても、同様に、感熱ロール紙22の無駄な消費の抑制を実現できる。
【0067】
以上説明したように、本実施形態によれば、記録制御部60は、文字列を記録する場合、文字列を構成する各文字のフォントデータにおける実データの搬送方向のデータ数と、スペースデータの搬送方向のデータ数を比較し、実データの方が少ない場合、上述した所定の変換を行う。
ここで、あるフォントデータについて、実データの搬送方向におけるデータ数よりも、スペースデータの搬送方向におけるデータ数の方が少ない場合、当該フォントデータにおけるスペースデータが占める割合が十分に大きく、従って、当該フォントデータに対応する文字によって構成される文字列について、上述した変換を行えば、記録媒体の無駄を抑制するという観点で、高い効果を発揮する。
以上を踏まえ、上記構成によれば、より効果的に感熱ロール紙22の無駄を抑制することが可能となる。
【0068】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
【0069】
例えば、プリンター2を、記録媒体(感熱ロール紙22)において、文字列の変換を行う範囲をホストコンピューター3から受信したコマンドや、操作スイッチに対する操作などで選択可能に構成してもよい。
この構成によれば、例えば、記録媒体における上述した変換を行う範囲を自由に設定できることとなり、利便性が向上する。
【0070】
また例えば、図3に示す各機能部はハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
また、上記実施形態では、プリンター2自身が記録制御部60を有する制御部50を備えていたが、例えば、制御部50の機能を、プリンター2に外部接続される別の装置に持たせるようにしても良い。
また、本発明は、サーマル式のプリンターに限らず、インクジェット式プリンター、ドットインパクト式プリンター、レーザープリンター、熱昇華型プリンター等の任意の形式のプリンターに適用可能である。また、ATMにおけるプリンター等、他の装置に組み込まれるプリンターであってもよい。また、CDのレーベル面や、DVDのレーベル面等の紙以外の媒体に記録するものでもよい。
また、本発明を適用可能なプログラムは、ホストコンピューター3に搭載されるプリンタードライバーに含むものであってもよい。
また、上記のフローチャートの各ステップを実行するプログラムを、プリンター2の外部の記憶媒体に記憶させたものを読み出して、制御部50により実行させることもできる。
【符号の説明】
【0071】
2…プリンター(記録装置)、3…ホストコンピューター(制御装置)、10…レシート(記録媒体)、22…感熱ロール紙(記録媒体)、23…プラテン(搬送部)、24…記録ヘッド、25…カッターユニット(切断部)、26…搬送モーター(搬送部)、50…制御部、60…記録制御部、80…記録データ。
【技術分野】
【0001】
本発明は、制御装置に接続可能な記録装置、当該記録装置の制御方法、及び、プログラムに関する。
【背景技術】
【0002】
従来、制御装置(ホストPC)に接続可能に構成され、記録ヘッド(印字ヘッド)に記録媒体への記録を行う記録装置(プリンター)が知られている(例えば、特許文献1参照)。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−59502号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
上述した記録装置のように、記録媒体に記録を行うものでは、できるだけ記録媒体の無駄な消費を抑制し、コスト削減につなげたいとするニーズがある。そして、記録媒体の消費を抑制した動作を記録装置にさせる際に、制御装置に対する改変は、相当な煩雑な作業を伴う場合があったり、また、記録装置と制御装置との開発の主体が異なる等の理由により制御装置に改変を行えない場合があったりする等の理由のため、できるだけ避けたい、とするニーズがあった。
本発明は、上述した事情に鑑みてなされたものであり、制御装置に対する改変を行うことなく、できるだけ記録媒体の無駄な消費を抑制することを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明は、制御装置に接続可能な記録装置であって、記録媒体に記録を行う記録ヘッドと、前記記録媒体を搬送方向に搬送する搬送部と、前記制御装置から、1以上の文字を含む文字列を受信する受信部と、前記受信部により受信した前記文字列に対応するフォントデータに基づいて前記記録媒体に記録する記録制御部と、を備え、前記記録制御部は、同一の行に配置される前記文字列が、前記搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側に、実際に前記記録ヘッドを駆動して記録しないスペースデータが含まれているフォントデータに対応する1又は複数の文字によって構成されている場合は、当該文字列を構成する各文字に対応するフォントデータを、前記搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、当該文字列を、行単位で、当該文字列に対応するフォントデータの前記搬送方向のサイズより、前記搬送方向のサイズが小さい画像データに変換した上で、当該文字列を前記記録ヘッドにより記録することを特徴とする。
この構成によれば、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方側にスペースが形成されたフォントデータに係る文字によって構成された文字列について、画像として記録媒体に記録する際、当該文字列を構成する各文字に対応するフォントデータを、搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、当該文字列を、行単位で、当該文字列に対応するフォントデータの搬送方向のサイズより、搬送方向のサイズが小さい画像データに変換した上で、当該文字列を記録ヘッドにより記録する構成のため、記録媒体に記録される文字列の搬送方向のサイズが小さくなり、記録媒体の無駄な消費が抑制できる。
特に、制御装置は、記録装置に対して通常どおり、文字列を送信すれば、記録装置側で、自動で、上記変換を実行する構成のため、制御装置に対して、プログラム修正等の改変を行う必要がない。
【0006】
また、上記発明の記録装置であって、本発明は、前記変換したフォントデータは、前記フォントデータに対し前記スペースデータの少なくとも一部を省いたものであり、前記変換した画像データは、前記フォントデータを並べて配置した行に対し当該行に含まれる前記スペースの少なくとも一部を省いたものであることを特徴とする。
ここで、スペースデータを省略したフォントデータに基づいて、文字を記録した場合であっても、文字に欠損が生じ得ず、従って、描画上の不具合が生じることはない。例えば、マイナスを示す「−」などを同一行に繰り返し配置し、区切り線として使用する場合、搬送方向側、及び、逆方向側のスペースを省いても区切り線として認識できる上、記録媒体の無駄も抑制できる。
以上を踏まえ、上記構成によれば、描画上の不具合や、認識に対する悪影響を防止した上で、記録媒体の無駄を抑制することが可能である。
【0007】
また、上記発明の記録装置であって、本発明は、前記記録制御部は、前記フォントデータに含まれるもので、実際に記録ヘッドを駆動して記録するための実データの前記搬送方向のデータ数と、前記スペースデータの前記搬送方向のデータ数を比較し、前記実データの方が少ない場合、いずれかの前記変換を行うことを特徴とする。
ここで、あるフォントデータについて、実データの搬送方向におけるデータ数よりも、スペースデータの搬送方向におけるデータ数の方が少ない場合、当該フォントデータにおけるスペースデータが占める割合が十分に大きく、従って、当該フォントデータに対応する文字によって構成される文字列について、上述した変換を行えば、記録媒体の無駄を抑制するという観点で、高い効果を発揮する。
以上を踏まえ、上記構成によれば、より効果的に記録媒体の無駄を抑制することが可能となる。
例えば、上述したマイナス「−」のように、横棒の部分である実際に記録される実データに対して、上下のスペースデータの領域が広い場合に、スペースデータを省くと効果が大きい。
【0008】
また、上記発明の記録装置であって、本発明は、前記記録制御部は、前記文字列が前記記録媒体における所定の位置に配置される場合に、いずれかの前記変換を行うことを特徴とする。
この構成によれば、無条件に上述した変換を行うのではなく、所定の位置に記録される文字列についてのみ、上述した変換を行うことが可能となるため、状況に応じて、適切に、上述した変換を行うことが可能となる。
【0009】
また、上記発明の記録装置であって、本発明は、前記記録媒体を切断する切断部をさらに備え、前記記録制御部は、前記切断部による前記記録媒体上の切断位置の搬送方向上流側、又は、搬送方向下流側の所定の範囲に前記文字列が配置される場合に、いずれかの前記変換を行うことを特徴とする。
ここで、記録媒体たるロール紙に画像を記録し、画像を記録したロール紙を切断して、レシートなどの紙片を生成する記録装置では、紙片の先端部、及び、後端部に定型的に所定の画像を記録する場合がある。例えば、レシート発行用の記録装置では、各レシートの先端部、及び、後端部に店舗のロゴや広告など共通の画像を記録するものがある。
そして、このような紙片の先端部や、後端部に、定型的に記録される画像の搬送方向に対応する方向における圧縮を実現できれば、ロール紙(記録媒体)の消費を非常に効果的に抑制できることとなる。
また、定型的に記録される文字列ではない文字列については、他の画像への置き換えを意図しておらず、そのままフォントデータを利用した画像の記録が望まれる場合もあり、また、各紙片に定型的に記録される文字列と比較して、出現率が低く、従って、ロール紙の消費の抑制への寄与が少ないと言えることから、上述した変換を行うべきではない状況もあり得る。
以上を踏まえ、上記構成によれば、先端部に定型的に記録されることが想定された画像が記録される範囲である記録媒体の切断位置の搬送方向上流側の所定の範囲、又は、後端部に定型的に記録されることが想定された画像が記録される範囲である記録媒体の切断位置の搬送方向下流側の所定の範囲に位置する文字列について、上述した変換が行われるため、記録媒体の消費を非常に効果的に抑制できる。
さらに、上記構成によれば、記録媒体の切断位置の搬送方向上、下流側の所定の範囲に位置せず、従って、定型的に記録される文字列ではない可能性が高い文字列については、上述した変換が行われず、他の画像への置き換えを意図しない文字列について、繰り返しパターンへの変換が行われることを防止できる。
【0010】
また、上記発明の記録装置であって、本発明は、前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部をさらに備え、前記記録制御部は、前記切断部により前記記録媒体を切断する場合、前記記録媒体上の切断位置の搬送方向上流側に、前記記録ヘッドにより画像を記録しつつ、前記記録媒体上の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断すると共に、切断のための搬送後、切断前に、前記記録媒体に記録すべき前記文字列について、いずれかの前記変換を行うことを特徴とする。
この構成によれば、記録媒体の切断に際し、記録ヘッドと切断部との搬送方向における離間に起因して発生する記録媒体の先端と、記録媒体に記録される画像の先端とのマージンを縮小した上で、さらに、以下の効果を奏することができる。
すなわち、記録媒体たるロール紙に画像を記録し、画像を記録したロール紙を切断して、紙片を生成する記録装置では、紙片の先端部に定型的に所定の画像を記録するものがある。例えば、レシート発行用の記録装置では、各レシートの先端部に共通の画像を記録する場合がある。そして、切断のための搬送後、切断前に、記録される画像は、紙片の最先端部に位置する画像であり、紙片の先端部に定型的に記録される画像である可能性が高い。このような紙片の先端部に定型的に記録される画像の搬送方向に対応する方向における圧縮を実現できれば、ロール紙(記録媒体)の消費を非常に効果的に抑制できることとなる。
以上を踏まえ、上記構成によれば、切断のための搬送後、切断前に、記録される画像、すなわち、紙片の先端部に定型的に記録される画像における文字列について、上述した変換が行われるため、記録媒体の消費を非常に効果的に抑制できる。
【0011】
また、上記発明の記録装置であって、本発明は、記録媒体における上述した変換を行う範囲を制御装置から受信したコマンドや、操作スイッチに対する操作などで選択可能であることを特徴とする。
この構成によれば、例えば、記録媒体における上述した変換を行う範囲を自由に設定できることとなり、利便性が向上する。
【0012】
また、上記目的を達成するために、本発明は、制御装置に接続可能であり、記録媒体に記録を行う記録ヘッドと、前記記録媒体を搬送方向に搬送する搬送部と、前記制御装置から、1以上の文字を含む文字列を受信する受信部と、前記受信部により受信した前記文字列に対応するフォントデータに基づいて前記記録媒体に記録する記録制御部と、を備える記録装置の制御方法であって、前記受信部により、前記制御装置から前記文字列を受信し、前記記録制御部により、受信した前記文字列が、同一の行に配置される場合であって、前記搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側に、実際に前記記録ヘッドを駆動して記録しないスペースデータが含まれているフォントデータに対応する1又は複数の文字によって構成されている場合は、当該文字列を構成する各文字に対応するフォントデータを、前記搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、当該文字列を、行単位で、当該文字列に対応するフォントデータの前記搬送方向のサイズより、前記搬送方向のサイズが小さい画像データに変換した上で、当該文字列を前記記録ヘッドにより記録することを特徴とする。
この制御方法によれば、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方側にスペースが形成されたフォントデータに係る文字によって構成された文字列について、画像として記録媒体に記録する際、当該文字列を構成する各文字に対応するフォントデータを、搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、当該文字列を、行単位で、当該文字列に対応するフォントデータの搬送方向のサイズより、搬送方向のサイズが小さい画像データに変換した上で、当該文字列を記録ヘッドにより記録する構成のため、記録媒体に記録される文字列の搬送方向のサイズが小さくなり、記録媒体の無駄な消費が抑制できる。
特に、制御装置は、記録装置に対して通常どおり、文字列を送信すれば、記録装置側で、自動で、上記変換を実行する構成のため、制御装置に対して、プログラム修正等の改変を行う必要がない。
【0013】
また、上記目的を達成するために、本発明は、制御装置に接続可能であり、記録媒体に記録を行う記録ヘッドと、前記記録媒体を搬送方向に搬送する搬送部と、前記制御装置から、1以上の文字を含む文字列を受信する受信部と、を備える記録装置の各部を制御する制御部により実行されるプログラムであって、前記制御部を、前記受信部により受信した前記文字列に対応するフォントデータに基づいて前記記録媒体に記録する一方、同一の行に配置される前記文字列が、前記搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側に、実際に前記記録ヘッドを駆動して記録しないスペースデータが含まれているフォントデータに対応する1又は複数の文字によって構成されている場合は、当該文字列を構成する各文字に対応するフォントデータを、前記搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、当該文字列を、行単位で、当該文字列に対応するフォントデータの前記搬送方向のサイズより、前記搬送方向のサイズが小さい画像データに変換した上で、当該文字列を前記記録ヘッドにより記録する記録制御部として機能させることを特徴とする。
このプログラムを実行すれば、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方側にスペースが形成されたフォントデータに係る文字によって構成された文字列について、画像として記録媒体に記録する際、当該文字列を構成する各文字に対応するフォントデータを、搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、当該文字列を、行単位で、当該文字列に対応するフォントデータの搬送方向のサイズより、搬送方向のサイズが小さい画像データに変換した上で、当該文字列を記録ヘッドにより記録する構成のため、記録媒体に記録される文字列の搬送方向のサイズが小さくなり、記録媒体の無駄な消費が抑制できる。
特に、制御装置は、記録装置に対して通常どおり、文字列を送信すれば、記録装置側で、自動で、上記変換を実行する構成のため、制御装置に対して、プログラム修正等の改変を行う必要がない。
【発明の効果】
【0014】
本発明によれば、制御装置に対する改変を行うことなく、できるだけ記録媒体の無駄な消費を抑制することが可能となる。
【図面の簡単な説明】
【0015】
【図1】第1実施形態に係るPOS端末の概略構成を示す図である。
【図2】プリンターの本体内部の構成を模式的に示す図である。
【図3】POS端末の機能的構成を示すブロック図である。
【図4】記録データ、及び、レシートを模式的に示す図である。
【図5】繰り返し文字列、及び、繰り返しパターンを説明するための図である。
【図6】本願発明を適用する前と、後のレシート10の相違を説明する図である。
【図7】プリンターの動作を示すフローチャートである。
【図8】繰り返しパターンテーブルのデータ構造を示す図である。
【図9】記録ヘッドと、カッターユニットとの関係を模式的に示す図である。
【図10】レシートの様子を模式的に示す図である。
【図11】第2実施形態に係るプリンターの動作を示すフローチャートである。
【図12】第3実施形態に係るプリンターの動作を示すフローチャートである。
【図13】有スペース文字テーブルのデータ構造を示す図である。
【図14】省スペースフォントデータを説明するための図である。
【図15】第4実施形態に係るプリンターの動作を示すフローチャートである。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施形態について説明する。
<第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を発行する。
【0017】
また、図1及び図2に示すように、記録装置としてのプリンター2は、本体20に記録媒体としての感熱ロール紙22を収容し、感熱ロール紙22を搬送するローラー形状のプラテン23(搬送部)と、プラテン23に対向配置された記録ヘッド24と、感熱ロール紙22を切断するカッターユニット25(切断部)とを備えている。
プリンター2は、搬送モーター26(図3)を駆動して、プラテン23を回転して、感熱ロール紙22を搬送方向Y1に搬送しながら、発熱素子が並べて設けられた記録ヘッド24によって、感熱ロール紙22の記録面に熱を与えて、感熱ロール紙22の記録面にドットを形成することにより、画像を記録するサーマルラインプリンターである。後述する制御部50や、搬送モーター26、プラテン23等が協働して搬送部として機能する。
画像が記録された感熱ロール紙22は、本体20の上面に形成された排紙口28から外に向けて搬送され、この排紙口28よりも搬送方向Y1上流側でカッターユニット25により切断され、レシート10となる。
【0018】
図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が設けられている。
【0019】
図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との間で通信規格に準拠した通信を行う。
【0020】
プリンター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から制御コマンドを受信する受信部として機能する。
【0021】
次いで、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への所定の画像の記録、及び、画像の記録に伴う必要な搬送を行う。
【0022】
次いで、記録データ80、及び、記録データ80に基づいて画像が記録されたレシート10の具体例について、説明する。
【0023】
図4(A)は、記録データ80の内容の一例を示す図であり、図4(B)は、図4(A)の記録データ80に基づいて画像が記録されたレシート10の一例を示す図である。
なお、図4(B)のレシート10は、本願発明を適用せずに、図4(A)の記録データ80に基づいて画像を記録した場合のレシート10を示している。
図4(B)のレシート10では、図中上に向かう方向が、搬送方向Y1に対応する方向である。従って、レシート10の発行の際には、感熱ロール紙22が切断されて先端10aが形成された後、記録ヘッド24によってレシート10の先端10a側から末端10b側へ向かって、順次、ドットが形成されて画像が記録され、その後、感熱ロール紙22が切断されて末端10bが形成される。
【0024】
本実施形態では、プリンター2が発行するレシート10のレイアウトは、所定の例外を除き、いずれのレシート10についても基本的に同一である。
すなわち、図4(B)に示すように、レシート10では、先端10aから末端10bへ向かって順番に、換言すれば、記録ヘッド24による記録が行われる順番に、先頭画像エリアA1、レシート情報エリアA2、グラフィックエリアA3、バーコードエリアA4、末端画像エリアA5が形成される。
先頭画像エリアA1には、所定の文字列が所定の態様で定型的に記録されるエリアである。図4(B)の例では、「−−−〜−−」(「−」の文字が、記録可能桁数分、連続した文字列。記録可能桁数とは、文字を1行に連続して記録可能な桁数のことである。)の文字列が、基準の大きさで左寄せ(レシート10の幅方向の左端から順次文字列が記録されるようにすること。以下同じ。)で記録され、次の行に「AAA△Store」(△はスペース。以下同じ。)という文字列が、基準の大きさの2倍の大きさで、中央寄せ(レシート10の幅方向の中央部に文字列が記録されるようにすること。)で記録される。
本実施形態では、所定の例外を除き、プリンター2が発行する全てのレシート10について、先頭画像エリアA1には、同一の文字列が同一の態様で記録される。以下、先頭画像エリアA1に記録される上記の2行の文字列のことを「先頭画像」と表現するものとする。すなわち、先頭画像とは、レシート10の先端部に定型的に記録される文字列に係る画像のことである。
レシート情報エリアA2は、レシート10を発行した日時や、購入した商品の名称、商品の単価、合計購入金額、その他の付加的な情報が文字列として記録されるエリアである。このレシート情報エリアA2は、様々な態様で画像が記録されることが想定されたエリアであり、レシート10ごとにそのレイアウトが違ってもよい。従って、図4(B)のレシート10の例では、レシート情報エリアA2に、「−−−〜−−」の文字列が記録されているものの、この文字列は定型的に記録されるものではなく、POSアプリケーション実行部40aが出力する印刷データによっては、記録されない場合もある。
グラフィックエリアA3は、所定のグラフィック画像が記録されるエリアである。グラフィック画像については、後述する。
バーコードエリアA4は、バーコードが記録されるエリアである。
末端画像エリアA5は、所定の文字列が所定の態様で定型的に記録されるエリアである。図4(B)の例では、「−−−〜−−」の文字列が、基準の大きさで左寄せで記録される。
本実施形態では、所定の例外を除き、プリンター2が発行する全てのレシート10について、末端画像エリアA5には、同一の文字列が同一の態様で記録される。すなわち、「−−−〜−−」の文字列が記録される。
以下、末端画像エリアA5に記録される上記文字列のことを「末端画像」と表現するものとする。すなわち、末端画像とは、レシート10の末端部に定型的に記録される文字列に係る画像のことである。
【0025】
記録データ80は、上述したように、感熱ロール紙22に記録すべき画像の情報を含むデータであるが、具体的には、感熱ロール紙22に所定の画像を所定の態様で記録させることを指示するコマンドが、記録させる順番に並んで構成されたデータである。プリンター2の制御部50の記録制御部60は、記録データ80を構成する各コマンドを、順次、読み出して実行することにより、感熱ロール紙22への画像の記録、及び、画像の記録に伴う必要な搬送を行う。
図4(A)において、コマンド群H1は、レシート10の先頭画像を構成する2行の文字列のうち、「−−−〜−−」の文字列を所定の態様で記録させるコマンド群であり、文字列装飾コマンドMS1、及び、文字列記録指示コマンドMK1の2つのコマンドが含まれている。
文字列装飾コマンドMS1は、「−−−〜−−」の文字列に施す装飾を指定するコマンドであり、具体的には、当該文字列の大きさを基準の大きさとすること、及び、当該文字列を左寄せすることを指定するコマンドである。なお、装飾とは、記録する文字列に対して描画に関する何らかの処理を行うことを意味し、例えば、上述した文字列の拡大や、文字列の位置の移動のほか、例えば、縮小、回転、強調、太字化、装飾文字又は装飾記号の付加等が装飾に該当する。
文字列記録指示コマンドMK1は「−−−〜−−」の文字列を記録することを指示するコマンドである。本実施形態では、基本的に、文字列記録指示コマンドは、命令コードと、所定の文字コード(例えば、アスキーコード。)で表現された文字の組み合わせからなる文字列と、が組み合わされて構成されている。例えば、文字列記録指示コマンドMK1は、「XXX△“−−−〜−−”」(ただし、XXXは、文字列を記録することを指示する命令コード。また、ダブルクォーテーション内の文字列は、アスキーコードで表現された文字の組み合わせによって構成された文字列。)という構成となっている。
なお、本実施形態では、1行の文字列は、1つの文字列記録指示コマンドMKに基づいて記録される。従って、1つの文字列記録指示コマンドMKに基づいて記録される文字列は、同一の行に配置される文字からなる文字列である。
【0026】
記録制御部60は、プリントエンジン51を制御して、文字列装飾コマンドMS1により指定された装飾を施した上で、文字列記録指示コマンドMK1に記述された文字列を記録媒体に記録する。これにより、図4(B)に示すように、基準の大きさで、左寄せされた「−−−〜−−」の文字列が記録される。
詳述すると、プリンター2の記憶部54には、フォントテーブル70が記憶されている。フォントテーブル70とは、フォントデータを集合して記憶するテーブルであり、また、フォントデータとは、文字を感熱ロール紙22に記録可能な態様で表現するデータのことである。本実施形態では、フォントデータの態様は、ビットマップフォントデータである。フォントデータの態様としては、ビットマップデータのほか、スケイラブルフォントデータや、ベクトルフォントデータ、アウトラインフォントデータ等がある。
なお、本実施形態では、感熱ロール紙22に記録する「文字」は、言語で使用される意味を持った文字のみならず、記憶部54に記憶されたフォントデータに基づいて感熱ロール紙22に記録可能な「図形」の全てを指す概念である。
アスキーコードで表現された文字のそれぞれは、フォントテーブル70に記憶されたいずれかのフォントデータと対応関係にあり、この対応関係を示す情報が記憶部54に予め記憶されている。例えば、各アスキーコードと、各アスキーコードに対応するフォントデータの位置(フォントテーブル70における記憶領域のアドレス)とが対応づけて記憶されたテーブルが記憶部54に予め記憶されている。
そして、文字列装飾コマンドMS1、及び、文字列記録指示コマンドMK1に基づいて、「−−−〜−−」の文字列を記録する際、記録制御部60は、フォントテーブル70、及び、アスキーコードとフォントデータとの対応関係を示す情報を参照して、当該文字列を構成する各文字のフォントデータを取得し、文字列装飾コマンドMS1が指定する装飾を反映した上で、取得したフォントデータに基づいて、プリントバッファー(不図示)に文字列に係る描画データ(ビットマップデータ)を展開する。次いで、記録制御部60は、プリントバッファーに展開した当該文字列に係る描画データに基づいて、記録ヘッド24や、搬送モーター26等を駆動して、感熱ロール紙22に文字列に係る画像を構成するドットを形成することにより、「−−−〜−−」の文字列を記録する。
【0027】
コマンド群H1に続く、コマンド群H2は、「AAA△Store」の文字列を所定の態様で記録させるコマンド群であり、当該文字列の大きさを基準の大きさの2倍とすること、及び、当該文字列を中央寄せすることを指定する文字列装飾コマンドMS2、及び、「AAA△Store」の文字列を記録することを指示する文字列記録指示コマンドMK2を含んで構成されている。
記録制御部60は、コマンド群H2に含まれる各コマンドに基づいて、プリントエンジン51を制御して、図4(B)に示すように、基準の大きさの2倍で、中央寄せされた「AAA△Store」の文字列を記録する。
コマンド群H2の後には、2つの改行コマンドLFが続いている。これにより、図4(B)に示すように、「AAA△Store」の文字列の後には、改行が2つ挿入される。
【0028】
2つの改行コマンドLFの後には、レシート情報エリアA2の記録に係るコマンドが続く。
これらレシート情報エリアA2の記録に係るコマンドには、コマンド群H3が含まれている。
コマンド群H3は、レシート情報エリアA2において、「−−−〜−−」の文字列を記録するためのコマンド群であり、当該文字列の大きさを基準の大きさとすること、及び、当該文字列を左寄せすることを指定する文字列装飾コマンドMS3、及び「−−−〜−−」の文字列を記録することを指示する文字列記録指示コマンドMK3を含んで構成されている。
なお、レシート情報エリアA2は、上述したように、様々な態様で画像が記録されることが想定されたエリアであり、「−−−〜−−」の文字列が記録されない場合もある。この場合は、コマンド群H3は、存在しないこととなる。
【0029】
コマンド群H3の後には、グラフィック記録指示コマンドGSが続いている。
記録制御部60は、このグラフィック記録指示コマンドGSに基づいて感熱ロール紙22にグラフィック画像を記録する。
詳述すると、プリンター2の記憶部54には、登録グラフィックテーブル71が記憶されている。この登録グラフィックテーブル71では、複数のグラフィック画像データと、各グラフィック画像に一意に付与された識別コードとが対応づけて記憶されている。グラフィック画像データとは、フォントデータに基づいて記録される画像ではない、所定の画像(グラフィック画像)を表現するビットマップデータのことであり、例えば、図4(B)のレシート10のグラフィックエリアA3のグラフィック画像(強調用の飾り枠の中に「10%Off」という文字列が描画された画像)を表現するビットマップデータである。
そして、グラフィック記録指示コマンドGSには、記録すべきグラフィック画像の識別コードを特定する情報が含まれており、グラフィック記録指示コマンドGSに基づいてグラフィック画像を記録する際、記録制御部60は、登録グラフィックテーブル71を参照して、当該識別コードに対応するグラフィック画像データを取得し、取得したグラフィック画像データをプリントバッファーに展開し、展開したグラフィック画像データに基づいてプリントエンジン51を制御して、グラフィック画像の記録を行う。
なお、グラフィック記録指示コマンドGSを、グラフィックエリアA3に記録すべき画像のビットマップデータを含んだ構成とし、当該ビットマップデータに係る画像を記録させるコマンドとすること可能である。この場合、記録制御部60は、グラフィック記録指示コマンドGSに含まれるビットマップデータをプリントバッファーに展開して画像を記録する。
【0030】
グラフィック記録指示コマンドGSの後には、バーコード記録指示コマンドBSが続いている。
バーコード記録指示コマンドBSは、HRI文字に関する各種設定(HRI文字を記録するか否か、HRI文字をバーコードとの関係でどこに記録するか等)を指定するコマンドや、バーコードを記録する際のサイズを指定するコマンド、バーコードに変換しようとしている文字列(以下、「変換前文字列」という。)を指定すると共に当該変換前文字列に基づくバーコードの画像を記録することを指示するコマンド等が含まれて構成されている。
バーコード記録指示コマンドBSに基づいてバーコードを記録する際、記録制御部60は、バーコード記録指示コマンドBSに含まれる変換前文字列を取得し、取得した変換前文字列を、ファームウェアに実装された所定の機能により、画像としてのバーコードを表現するビットマップデータに変換し、HRI文字に関する各種設定や、バーコードのサイズに関する各種設定を反映した上で、画像としてのバーコードを表現するビットマップデータをプリントバッファーに展開し、展開したビットマップデータに基づいて、プリントエンジン51を制御して、バーコード、及び、HRI文字に係る画像を感熱ロール紙22に記録する。
【0031】
バーコード記録指示コマンドBSの後には、コマンド群H4が続いている。
コマンド群H3は、末端画像エリアA5において、「−−−〜−−」の文字列を記録するためのコマンド群であり、当該文字列の大きさを基準の大きさとすること、及び、当該文字列を左寄せすることを指定する文字列装飾コマンドMS4、及び「−−−〜−−」の文字列を記録することを指示する文字列記録指示コマンドMK4を含んで構成されている。
【0032】
ところで、本実施形態に係るプリンター2は、感熱ロール紙22に記録を行うものであるが、できるだけ感熱ロール紙22の無駄な消費を抑制し、コスト削減につなげたいとするニーズがある。
そして、感熱ロール紙22の消費を抑制した動作をプリンター2に行わせる際に、ホストコンピューター3に対する改変、例えば、プログラム修正や、プログラムの書き換え、ホストコンピューター3自体の交換、各種機構の改変等はできるだけ行いたくないとするニーズがある。これは、例えば、本発明をPOS端末1に適用する際に、ホストコンピューター3に対する改変が必要ない分、作業性がよいからである。さらに、ある店舗において、当該店舗に設置された既存のホストコンピューター3にプリンター2を接続することによりPOS端末1を構築するような状況の場合に、既存のホストコンピューター3に対する改変を行う必要がないため、プリンター2を購入し、導入する店舗側にとっては作業の容易性、接続の確実性の面でメリットがあり、また、プリンター2を販売、提供する主体(例えば、製造メーカー)にとっては、プリンター2の商品価値を向上できるという点でメリットがあるからである。
以上を踏まえ、本実施形態に係るプリンター2は、以下の動作を実行する。
【0033】
すなわち、本実施形態に係るプリンター2の制御部50の記録制御部60は、文字列記録指示コマンドMKに基づいて文字列を記録する場合において、当該文字列が、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側にスペースデータが形成されたフォントデータに係る文字の繰り返しによって構成されている繰り返し文字列である場合は、当該繰り返し文字列を、当該繰り返し文字列を構成する各文字における当該スペースに対応する部位を詰めて形成された繰り返しパターン(画像データ)に変換して、感熱ロール紙22に記録する。
【0034】
図5は、繰り返し文字列、及び、繰り返しパターンを説明するための図であり、(A)は、「−」の文字のフォントデータを示し、(B)は、「−−−〜−−」の文字列のフォントデータと、当該文字列に対応する繰り返しパターン(画像データ)とを模式的に示している。
図5(A)に示すように、フォントデータは、縦が24ドット、横が12ドットのフォントデータである。フォントデータを構成する各画素は、フォントデータに基づいて感熱ロール紙22に実際に記録される文字に係る画像を構成する各画素と対応しており、1のフォントデータに基づいて感熱ロール紙22に記録される文字は、拡大や縮小に係る装飾が行われない場合は、感熱ロール紙22において24ドット×12ドットの画素から構成される画像となる。
以下、説明の明確化のため、フォントデータを構成する各画素は、黒色の黒画素と、白色の白画素とのいずれかの形態をとり、黒画素の組み合わせによって文字が表現されるものとする。
【0035】
図5(A)に示すように、「−」の文字のフォントデータでは、「−」を、黒画素の組み合わせによって表現している。そして、当該フォントデータにおいて、「−」を表現する黒画素のかたまりの、搬送方向に対応する方向側の端部には、白画素のみによって構成されたスペースデータが形成され、同様に、「−」を表現する黒画素のかたまりの、搬送方向と逆方向(以下、単に「逆方向」という。)に対応する方向側の端部には、白画素のみによって構成されたスペースデータが形成されている。
なお、「搬送方向に対応する方向」とは、フォントデータに基づいて文字を記録した場合における搬送方向のことであり、また、「逆方向に対応する方向」とは、フォントデータに基づいて文字を記録した場合における逆方向のことである。
「−」の文字のフォントデータにおけるスペースデータは、実際に記録ヘッド24を駆動して記録しない部位である。そして、スペースデータは、黒画素が存在せず、実際に記録ヘッド24を駆動して記録しない部位であるため、これらスペースデータの少なくとも一部を省いたデータに基づいて、「−」の文字を記録した場合であっても、文字に欠損が生じ得ず、従って、描画上の不具合が生じることはない。また、文字の視認に悪影響を与えることはない。
また、以下の説明において、フォントデータにおいて、黒画素の組み合わせによって文字を表現している部位(例えば、「−」の文字のフォントデータにおいて、黒画素の組み合わせによって「−」表現している部位)のことを実データというものとする。実データは、フォントデータにおいて、実際に記録ヘッド24を駆動して記録する部位である。
また、以下の説明において、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の端部に白画素のみによって構成されたスペースデータが形成されているフォントデータを、「有スペースフォントデータ」という。
【0036】
以上を踏まえ、本実施形態に係るプリンター2の記録制御部60は、有スペースフォントデータである「−」の文字の繰り返しによって構成された「−−−〜−−」の文字列を記録する場合、スペースデータに対応する部位を詰めて形成された繰り返しパターンに変換し、当該繰り返しパターンに基づいて画像を記録する。
詳述すると、記録制御部60は、図5(B1)に示す「−−−〜−−」の文字列を記録する場合、当該文字列を、図5(B2)に示す繰り返しパターンに変換する。
図5(B2)の繰り返しパターンは、「−−−〜−−」の文字列を構成する各「−」の文字におけるスペースデータに対応する部位が詰めて形成されたビットマップデータである。
スペースデータが詰められることにより、図5(B)に示すように、変換前と比較して、感熱ロール紙22の搬送方向に対応する方向におけるドット数(サイズ)を小さくすることが可能となる。また、白画素のみからなるスペースデータを詰めて形成しているため、文字を表現する黒画素に欠損が生じ得ず、描画上の不具合はない。また、図5(B2)の繰り返しパターンは、1つの直線が幅方向に延在した画像が表現されたビットマップデータとなっている。これは、「−−−〜−−」の文字列は、フォントデータを利用して、1つの直線を表現しようとしたものであることを踏まえたものである。
このように、記録制御部60が、「−−−〜−−」の文字列について、行単位で、スペースデータを詰めて形成した繰り返しパターンに変換し、当該繰り返しパターンに基づいて記録を行うことにより、スペースデータを詰めた分、記録媒体の無駄な消費を抑制することが可能となる。
【0037】
図6は、所定の文字列について、繰り返しパターンに変換しないで記録する場合と、変換して記録する場合とを比較するための図であり、(A)は、変換しない場合のレシート10(図4(B)と同一のレシート10)を、(B)は、変換する場合のレシート10を示している。
図6(B)の例では、先頭画像エリアA1における「−−−〜−−」の文字列、及び、末端画像エリアA5における「−−−〜−−」の文字列が、行単位で、それぞれ繰り返しパターンに変換されている。これにより、変換後のレシート10の長手方向の長さが短くなり、感熱ロール紙22の消費の削減が実現されている。
なお、図6(B)の例では、レシート情報エリアA2における「−−−〜−−」の文字列については、繰り返しパターンに変換されていないが、これについては後述する。
【0038】
本実施形態では、「−−−〜−−」の文字列のみならず、他の所定の繰り返し文字列についても、行単位で、繰り返しパターンへ変換する構成となっている。
以下、所定の繰り返し文字列を、繰り返しパターンに変換する際の記録制御部60の動作について説明する。
【0039】
図7は、文字列記録指示コマンドMKを読み出して実行する際の記録制御部60の動作を示すフローチャートである。
以下の説明において、記録制御部60の機能は、CPUがファームウェア等のプログラムを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
まず、記録制御部60は、受信バッファー56から、文字列記録指示コマンドMKを読み出す(ステップSA1)。
次いで、記録制御部60は、ステップSA1で読み出した文字列記録指示コマンドMKを実行することによって記録される文字列の位置が、感熱ロール紙22を切断してレシート10を発行したときの先端10a(切断位置)の上流側の所定の範囲、又は、末端10b(切断位置)の下流側の所定の範囲に位置しているか否かを判別する(ステップSA2)。
このステップSA2の判別は、以下のことを目的として行われる処理である。
【0040】
すなわち、本実施形態では、レシート10の先端部に定型的に記録される画像である先頭画像に含まれる繰り返し文字列、及び、末端部に定型的に記録される画像である末端画像に含まれる繰り返し文字列については、繰り返しパターンへの変換を行う。これは、レシート10に定型的に記録される先頭画像や、末端画像の長手方向の長さを短くできれば感熱ロール紙22の消費を非常に効果的に抑制できることとなるからである。また、先頭画像や、末端画像に含まれる繰り返し文字列について、一律に、繰り返しパターンへの変換を行うことにより、各レシート10に統一感を与えることができるからである。
一方で、本実施形態では、先頭画像や、末端画像以外の繰り返し文字列については、繰り返しパターンへの変換を行わない。これは、定型的に記録される文字列ではない文字列については、他の画像への置き換えを意図しておらず、そのままフォントデータを利用した画像の記録が望まれる場合もあり、また、レシート10に定型的に記録される文字列と比較して、出現率が低く、従って、感熱ロール紙22の消費の抑制への寄与が少ないと言えることから、繰り返しパターンへの変換を行うべきではない状況もあり得るからである。
そして、感熱ロール紙22を切断してレシート10を発行したときの先端10a(切断位置)の上流側の所定の範囲が、先頭画像エリアA1に対応する範囲となり、また、末端10b(切断位置)の下流側の所定の範囲が、末端画像エリアA5に対応する範囲となるように、レシート10の実態に即して、所定の範囲の大きさが予め規定されている。
ステップSA2では、記録制御部60は、ステップSA1で読み出した文字列記録指示コマンドMKを実行することによって記録される文字列の位置が、感熱ロール紙22を切断してレシート10を発行したときの先端10a(切断位置)の上流側の所定の範囲、又は、末端10b(切断位置)の下流側の所定の範囲に位置しているか否かを判別することにより、文字列が、先頭画像、又は、末端画像のいずれかに含まれる画像であるか否かを判別している。
なお、プリンター2では、感熱ロール紙22の搬送量を、例えば、ステッピングモーターとして構成された搬送モーター26のステップ数等により管理しており、この搬送量や、感熱ロール紙22の位置を検出する所定のセンター等の検出値に基づいて、記録ヘッド24の位置に対する感熱ロール紙22の先端の位置(既に切断された位置)や、末端の位置(次に切断される位置)を管理しており、これら管理の内容に基づいて、文字列記録指示コマンドMKを実行することによって記録される文字列の位置が、上述した所定の範囲に位置しているか否かを判別可能である。
【0041】
ステップSA2において、文字列記録指示コマンドMKを実行することによって記録される文字列の位置が、上述した所定の範囲に位置していない場合(ステップSA2:NO)、記録制御部60は、文字列記録指示コマンドMKに基づいて、文字列の記録を通常通り実行する(ステップSA3)。
一方、文字列記録指示コマンドMKを実行することによって記録される文字列の位置が、上述した所定の範囲に位置している場合(ステップSA2:YES)、記録制御部60は、繰り返しパターンテーブル72を参照する(ステップSA4)。
【0042】
図8は、プリンター2の記憶部54に記憶された繰り返しパターンテーブル72のデータ構造を模式的に示す図である。
繰り返しパターンテーブル72は、繰り返し文字列と、繰り返しパターンとを対応づけて記憶するテーブルである。
例えば、繰り返しパターンテーブル72では、図7に示すように、「−−−〜−−」の文字列と、繰り返しパターンP1とが対応づけて記憶され、また、「・・・〜・・」の文字列と、繰り返しパターンP2とが対応づけて記憶されている。
繰り返しパターンテーブル72に記憶されている繰り返し文字列のそれぞれは、有スペースフォントデータに係る文字の繰り返しによって構成された文字列である。また、繰り返しパターンのそれぞれは、対応する繰り返し文字列のスペースデータに対応する部位を詰めて形成されたビットマップデータである。従って、繰り返しパターンテーブル72に記憶された繰り返し文字列については、フォントデータに基づいて文字列を記録した場合と比較して、対応する繰り返しパターンに変換して記録した場合の方が、当該文字列に係る画像の長手方向の長さが小さくなり(ドット数が小さくなり)、レシート10の搬送方向の長さの短縮化を実現でき、感熱ロール紙22の消費の抑制を図ることができる。
繰り返しパターンテーブル72には、繰り返しパターンへと変換することが想定された繰り返し文字列のそれぞれについて、繰り返しパターンと対応づけて記憶されている。
【0043】
なお、繰り返しパターンテーブル72に登録される繰り返し文字列は、少なくとも、以下の基準を満たしている。
すなわち、繰り返し文字列を構成する文字について、実データの搬送方向のドット数(データ数)の方が、スペースデータの搬送方向のドット数(データ数)よりも小さいという基準を満たした繰り返し文字列が、繰り返しパターンテーブル72に登録される。
例えば、図5(A)を参照し、「−−−〜−−」の文字列を構成する「−」の文字は、実データの搬送方向のドット数(L1)の方が、スペースデータの搬送方向のドット数(L2+L3)よりも小さい。
これは、以下の理由による。
すなわち、あるフォントデータについて、実データの搬送方向におけるドット(データ数)よりも、スペースデータの搬送方向におけるドット数(データ数)の方が少ない場合、当該フォントデータにおけるスペースデータが占める割合が十分に大きく、従って、当該フォントデータに対応する文字によって構成される文字列について、繰り返しパターンへの変換を行えば、感熱ロール紙22の無駄を抑制するという観点で、高い効果を発揮するからである。
【0044】
繰り返しパターンテーブル72を参照後、記録制御部60は、文字列記録指示コマンドMKが指定する文字列が、繰り返しパターンテーブル72に記憶された繰り返し文字列であるか否かを判別する(ステップSA5)。上述したように、文字列記録指示コマンドMKにおいて、文字列は、所定の文字コードからなる文字の組み合わせによって表現されているため、既存の文字列検索用のアルゴリズムを用いて、文字列記録指示コマンドMKが指定する文字列が、繰り返しパターンテーブル72に記憶された繰り返し文字列であるか否かを容易、かつ、迅速に、判別可能である。
文字列記録指示コマンドMKが指定する文字列が、繰り返しパターンテーブル72に記憶された繰り返し文字列ではない場合(ステップSA5:NO)、記録制御部60は、処理手順をステップSA3へ移行し、文字列記録指示コマンドMKに基づいて、通常通り文字列を記録する。
一方、文字列記録指示コマンドMKが指定する文字列が、繰り返しパターンテーブル72に記憶された繰り返し文字列である場合(ステップSA5:YES)、記録制御部60は、繰り返しパターンテーブル72を参照し、当該繰り返し文字列に対応する繰り返しパターンを取得する(ステップSA6)。
次いで、記録制御部60は、取得した繰り返しパターンに基づいて画像を記録する(ステップSA7)。
【0045】
このように本実施形態に係る記録制御部60は、上述した所定の範囲に属する繰り返し文字列については、行単位で、繰り返しパターンに変換して、記録し、記録媒体の消費の抑制を実現するが、記録媒体の消費の抑制の実現に際し、ホストコンピューター3に対する改変は必要ない。
すなわち、ホストコンピューター3は、繰り返し文字列を繰り返しパターンに変換して記録させる場合、通常通り、繰り返し文字列を指定して、当該繰り返し文字列を記録させる文字列記録指示コマンドMKを生成し、プリンター2に送信すればよい。そうすれば、プリンター2側で、繰り返しパターンテーブル72を参照して、上述した所定の条件を満たす場合は、自動で、繰り返しパターンへ変換する。
【0046】
以上説明したように、本実施形態では、記録制御部60は、文字列記録指示コマンドMKに基づいて文字列を記録する場合において、当該文字列が、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側にスペースデータが形成された有スペースフォントデータに係る文字の繰り返しによって構成されている場合は、当該文字列を、当該文字列を構成する各文字における当該スペースに対応する部位を詰めて形成された繰り返しパターン(画像データ)に変換して、記録する。
これによれば、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の端部にスペースデータが形成された有スペースフォントデータに係る文字の繰り返しによって構成された文字列について、画像として感熱ロール紙22に記録する際に、当該文字列を構成する各文字における当該スペースに対応する部位を詰めて形成された繰り返しパターンに変換して、記録する構成のため、スペースを詰めた分、感熱ロール紙22の無駄な消費が抑制できる。
特に、ホストコンピューター3は、プリンター2に対して通常どおり、文字列記録指示コマンドMKを送信すれば、プリンター2側で、自動で、繰り返しパターンへの変換が実行されるため、ホストコンピューター3に対して、プログラム修正等の改変を行う必要がない。
【0047】
また、本実施形態では、繰り返しパターン(画像データ)は、文字列を構成する文字のフォントデータを並べて配置した行に対し当該行に含まれるスペースデータの少なくとも一部を省いたものである。
ここで、スペースデータを省略したフォントデータに基づいて、文字を記録した場合であっても、文字に欠損が生じ得ず、従って、描画上の不具合が生じることはない。例えば、マイナスを示す「−」などを同一行に繰り返し配置し、区切り線として使用する場合、搬送方向側、及び、逆方向側のスペースを省いても区切り線として認識できる上、記録媒体の無駄も抑制できる。
以上を踏まえ、上記構成によれば、描画上の不具合や、認識に対する悪影響を防止した上で、記録媒体の無駄を抑制することが可能である。
【0048】
また、本実施形態では、記録制御部60は、文字列記録指示コマンドMKに基づいて、感熱ロール紙22における所定の位置に文字列を記録する場合に、繰り返しパターンへの変換を行う。
これによれば、無条件に繰り返しパターンへの変換を行うのではなく、所定の位置に記録される文字列についてのみ、繰り返しパターンへの変換を行うことが可能となるため、状況に応じて、適切に、繰り返しパターンへの変換が可能となる。
【0049】
また、本実施形態では、記録制御部60は、カッターユニット25による感熱ロール紙22の切断位置(レシート10の先端、及び、末端に該当する位置)の搬送方向上流側、及び、搬送方向下流側の所定の範囲に記録すべき繰り返し文字列について、繰り返しパターンへの変換を行う。
これによれば、先端部に定型的に記録されることが想定された画像が記録される範囲である感熱ロール紙22の切断位置(先端)の搬送方向上流側の所定の範囲、又は、後端部に定型的に記録されることが想定された画像が記録される範囲である感熱ロール紙22の切断位置(切断された場合にレシート10の末端に該当する位置)の搬送方向下流側の所定の範囲に位置する繰り返し文字列について、繰り返しパターンへの変換が行われるため、感熱ロール紙22の消費を非常に効果的に抑制できる。
さらに、上記によれば、定型的に記録される文字列ではない可能性が高い文字列については、繰り返しパターンへの変換が行われず、従って、他の画像への置き換えを意図しない繰り返し文字列について、繰り返しパターンへの変換が行われることを防止できる。
【0050】
<第2実施形態>
次いで、第2実施形態について説明する。
【0051】
図9は、記録ヘッド24と、カッターユニット25との位置関係を説明するため、これら装置を模式的に示す図である。
図10は、従来のプリンター2と、本実施形態に係るプリンター2とが発行するレシート10の違いを説明するため、レシート10を模式的に示す図である。
図2、及び、図9に示すように、本実施形態では、感熱ロール紙22が搬送される搬送経路K(図9)上の所定の位置に記録ヘッド24が設けられ、この記録ヘッド24の搬送方向Y1下流に感熱ロール紙22を切断するためのカッターユニット25が設けられている。
図9に示すように、記録ヘッド24によって画像が記録される記録位置T1(発熱素子が配置された位置)と、カッターユニット25のカット位置T2との間には、ギャップGが形成されている。
そして、従来のプリンター2は、1のレシート10に係る記録データ80に基づく画像の記録が終了した後、感熱ロール紙22の紙切断位置が、カット位置T2に至るまで感熱ロール紙22が搬送された上で感熱ロール紙22が切断され、その後、次のレシート10に係る記録データ80に基づく画像の記録が開始されるという手順でレシート10を発行していた。このため、図10(A)に示すように、記録ヘッド24の記録位置T1と、カッターユニット25のカット位置T2との搬送方向Y1におけるギャップGに起因して、レシート10の先端10aと、当該レシート10に記録される画像の先端との間に形成されるマージンMが拡大化する傾向にあった。
そして、このマージンMは、何ら画像が記録されない無駄な領域であるため、できるだけ当該マージンMを縮小し、感熱ロール紙22の無駄な消費を抑制したいとするニーズがある。
これを踏まえ、本実施形態に係るプリンター2は、図10(B)に示すように、1のレシート10に係る記録データ80に基づく画像の記録が終了した後、感熱ロール紙22を切断するために、感熱ロール紙22を搬送方向Y1に搬送する際に、当該搬送と並行して、次のレシート10に係る記録データ80に基づいて画像を記録し、これにより、マージンMを縮小している。
その際、以下の動作を実行している。
【0052】
図11は、本実施形態に係るプリンター2の動作を示すフローチャートである。
以下の説明の前提として、1のレシート10を発行するための一連の制御コマンド(記録データ80含む。)と、次のレシート10を発行するための一連の制御コマンド(記録データ80含む。)を既に受信しており、これら制御コマンドが受信バッファー56に格納されており、1のレシート10に係る記録データ80に基づいて画像が記録されている途中であるものとする。
プリンター2の記録データ80は、1のレシート10に係る記録データ80に基づく画像の記録が完了したか否かを監視する(ステップSB1)。
画像の記録が完了した場合、記録制御部60は、プリントエンジン51を制御して、感熱ロール紙22の切断のための搬送を開始する(ステップSB2)。
切断のための搬送の開始後、記録制御部60は、当該搬送と並行して、次のレシート10に係る記録データ80に基づいて、画像の記録を行う(ステップSB3)。
その際、記録制御部60は、以下の処理を行う。
すなわち、記録制御部60は、文字列記録指示コマンドMKを実行する際、所定の繰り返し文字列については、繰り返しパターンに変換して記録を行う。繰り返しパターンへの変換の方法は、第1実施形態と同様の方法である。
画像の記録の実行中、記録制御部60は、感熱ロール紙22の切断位置が、カッターユニット25のカット位置T2に至ったか否かを監視する(ステップSB4)。
感熱ロール紙22の切断位置が、カッターユニット25のカット位置T2に至った場合、記録制御部60は、画像の記録を中断し、プリントエンジン51を制御して、感熱ロール紙22を切断する(ステップSB5)。
次いで、記録制御部60は、記録データ80に基づいて、画像の記録を再開する(ステップSB6)。
その際、記録制御部60は、繰り返し文字列について、繰り返しパターンへの変換を行うことなく、フォントデータに基づいてそのまま記録する。
【0053】
このように、本実施形態に係るプリンター2は、切断のための搬送後、切断前に記録すべき繰り返し文字列については、繰り返しパターンへの変換を行う一方、それ以外の繰り返し文字については、繰り返しパターンへの変換を行わない。
これは、以下の理由による。
すなわち、上述した第1実施形態で説明したように、レシート10の先端部には、先頭画像が定型的に記録される。そして、切断のための搬送後、切断前に記録すべき繰り返し文字列は、レシート10の最先端部に記録される文字列であり、先頭画像を構成する文字列である可能性が非常に高い。そして、レシート10に定型的に記録される先頭画像の長手方向の長さを短くできれば感熱ロール紙22の消費を非常に効果的に抑制できることとなるからである。また、切断のための搬送後、切断前に記録すべき繰り返し文字列について、一律に、繰り返しパターンに変換することにより、各レシート10の統一感を向上することができる。
一方で、それ以外の繰り返し文字列については、定型的に記録されるものではない可能性があり、従って、他の画像への置き換えを意図しておらず、そのままフォントデータを利用した画像の記録が望まれる場合もあり、また、レシート10に定型的に記録される文字列と比較して、出現率が低く、従って、感熱ロール紙22の消費の抑制への寄与が少ないと言えることから、繰り返しパターンへの変換を行うべきではない状況もあり得るからである。
なお、本実施形態でも、上述した第1実施形態と同様、感熱ロール紙22の消費の抑制に際し、ホストコンピューター3に対する改変は必要ない。すなわち、ホストコンピューター3は、プリンター2に対し、通常通りの制御コマンドを送信すれば、プリンター2側で、自動で、上述した処理を行い、感熱ロール紙22の消費の抑制を実現する。
【0054】
以上説明したように、本実施形態では、記録制御部60は、カッターユニット25により感熱ロール紙22を切断する場合、感熱ロール紙22の切断位置の搬送方向上流側に、記録ヘッド24により画像を記録しつつ、感熱ロール紙22の切断位置がカッターユニット25のカット位置T2に対応する位置に至るまで感熱ロール紙22を搬送させて、カッターユニット25により感熱ロール紙22を切断すると共に、切断のための搬送後、切断前に、感熱ロール紙22に記録すべき繰り返し文字列について、繰り返しパターンへの変換を行う。
これによれば、感熱ロール紙22の切断に際し、記録ヘッド24の記録位置T1とカッターユニット25のカット位置T2との搬送方向におけるギャップGに起因して発生する感熱ロール紙22の先端と、感熱ロール紙22に記録される画像の先端とのマージンを縮小した上で、さらに、以下の効果を奏することができる。
すなわち、頭画像を構成する文字列である可能性が非常に高い繰り返し文字列について、繰り返しパターンに変換されることとなり、感熱ロール紙22の消費を非常に効果的に抑制できる。また、切断のための搬送後、切断前に記録すべき繰り返し文字列について、一律に、繰り返しパターンに変換することにより、各レシート10の統一感を向上することができる。
さらに、定型的に記録されるものではない可能性がある繰り返し文字列については、繰り返しパターンへの変換が行われず、これにより、他の画像への置き換えを意図しておらず、そのままフォントデータを利用した画像の記録が望まれる繰り返し文字列について、繰り返しパターンへの変換が行われることを防止できる。
【0055】
<第3実施形態>
次いで、第3実施形態について説明する。
上述した第1実施形態に係るプリンター2は、所定の繰り返し文字列を、行単位で、対応する繰り返しパターンに変換していた。
一方、本実施形態に係るプリンター2は、文字列を構成する各文字について、所定の条件が成立する場合は、各文字を対応する省スペースフォントデータ(後述)に変換し、変換した省スペースフォントデータに基づいて文字列の記録を行うことにより、記録媒体の無駄な消費を抑制する。
【0056】
図12は、本実施形態に係るプリンター2の動作を示すフローチャートである。
まず、記録制御部60は、受信バッファー56から、文字列記録指示コマンドMKを読み出す(ステップSC1)。
次いで、記録制御部60は、有スペース文字テーブル90を参照する(ステップSC2)。
【0057】
図13は、有スペース文字テーブル90のデータ構造を示す図である。
有スペース文字テーブル90は、有スペース文字と、省スペースフォントデータとを対応付けて記憶するテーブルである。
有スペース文字とは、上述した有スペースフォントデータに対応する文字のことである。すなわち、有スペース文字とは、搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方に白画素のみによって構成されたスペースデータが形成されているフォントデータに対応する文字であり、例えば、「−」である。
また、省スペースフォントデータとは、対応する有スペース文字のフォントデータについて、スペースデータに対応する部位の少なくとも一部を省くことにより生成されたデータのことである。つまり、省スペースフォントデータとは、対応する有スペース文字のフォントデータよりも、搬送方向のフォントサイズが小さいデータである。
【0058】
図14は、省スペースフォントデータを説明するための図である。
図14(A)は、「−」の文字に対応するフォントデータであり、図14(B)は、「−」の文字に対応する省スペースフォントデータである。上述したように、「−」の文字に対応するフォントデータは、搬送方向に対応する方向と、その逆方向に対応する方向とのいずれにも白画素のみによって構成されたスペースデータが形成されている有スペースフォントデータである。
図14(A)と、図14(B)との比較において明らかなように、「−」の文字に対応する省スペースフォントデータは、「−」の文字に対応するフォントデータのスペースデータの少なくとも一部を省略して形成されたデータであり、「−」の文字に対応するフォントデータと比較して、搬送方向に対応する方向におけるサイズが小さい。
有スペース文字テーブル90には、複数の有スペース文字が登録されている。そして、有スペース文字テーブル90に登録されている有スペース文字は、少なくとも、以下の基準を満たしている。
すなわち、有スペース文字に対応するフォントデータについて、実データの搬送方向のドット数(データ数)の方が、スペースデータの搬送方向のドット数(データ数)よりも小さいという基準を満たした有スペース文字が、有スペース文字テーブル90に登録される。この理由は、繰り返しパターンテーブル72に登録される繰り返し文字列についての理由と同様である。
【0059】
さて、前掲図12に戻り、ステップSC2において有スペース文字テーブル90を参照した後、記録制御部60は、ステップSC1で読み出した文字列記録指示コマンドMKが指定する文字列を構成する文字の全てが、有スペース文字テーブル90に登録された有スペース文字のいずれかであるか否かを判別する(ステップSC3)。
例えば、文字列記録指示コマンドMKが指定する文字列が、「−」の文字と、「・」の文字とからなり、有スペース文字テーブル90に「−」の文字と、「・」の文字とのそれぞれが登録されている場合、ステップSC3の判別において、記録制御部60は、「ステップSC1で読み出した文字列記録指示コマンドMKが指定する文字列を構成する文字の全てが、有スペース文字テーブル90に登録された有スペース文字のいずれかである」(ステップSC3:YES)と、判別する。
ステップSC1で読み出した文字列記録指示コマンドMKが指定する文字列を構成する文字に1つでも、有スペース文字テーブル90に登録されていない文字が含まれている場合(ステップSC3:NO)、記録制御部60は、文字列記録指示コマンドMKに基づいて、通常どおり、文字列を記録する(ステップSC4)。
一方、ステップSC1で読み出した文字列記録指示コマンドMKが指定する文字列を構成する文字の全てが、有スペース文字テーブル90に登録された有スペース文字のいずれかである場合(ステップSC3:YES)、記録制御部60は、有スペース文字テーブル90に基づいて、各文字を対応する省スペースフォントデータに変換し(ステップSC5)、各省スペースフォントデータをプリントバッファーに展開して、文字列に係る画像を記録する(ステップSC6)。
なお、記録制御部60は、記録すべき文字列を構成する文字の省スペースフォントデータが複数種類ある場合であって、各省スペースフォントデータの搬送方向に対応する方向におけるドット数が一定でない場合は、必要な調整を行った上で、各省スペースフォントデータをプリントバッファーに展開する。
【0060】
このように、本実施形態では、記録制御部60は、同一行に配置される文字列の各文字が、所定の有スペースフォントデータに対応する文字である場合は、これら文字のそれぞれについて、省スペースフォントデータに変換した上で、文字列に係る画像を記録する。これにより、記録される文字列の搬送方向におけるドット数が小さくなり、感熱ロール紙22の無駄な消費を抑制することが可能となる。
【0061】
以上説明したように、本実施形態では、記録制御部60は、同一の行に配置される文字列が、有スペースフォントデータに対応する1又は複数の文字によって構成されている場合は、当該文字列を構成する各文字に対応するフォントデータを、スペースデータの少なくとも一部を省くことにより、搬送方向のフォントサイズが小くなったフォントデータに変換した上で、当該文字列を記録ヘッド24により記録する。
これによれば、感熱ロール紙22に記録される文字列の搬送方向のサイズが小さくなり、感熱ロール紙22を切断の無駄な消費が抑制できる。
特に、ホストコンピューター3は、プリンター2に対して通常どおり、文字列記録指示コマンドMKを送信すれば、プリンター2側で、自動で、上記変換を実行する構成のため、ホストコンピューター3に対して、プログラム修正等の改変を行う必要がない。
【0062】
<第4実施形態>
次いで、第4実施形態に説明する。
上述した各実施形態では、所定の文字、又は、文字列について、予め記憶されていた繰り返しパターンや、省スペースフォントデータに変換していた。
一方で、本実施形態に係るプリンター2は、変換後のデータを予め記憶せず、所定の条件が成立した文字について、所定の処理を施すことにより、変換を行う。
【0063】
図15は、本実施形態に係るプリンター2の動作を示すフローチャートである。
まず、プリンター2の記録制御部60は、文字列記録指示コマンドMKを読み出す(ステップSD1)。
次いで、記録制御部60は、ステップSD1で読み出した文字列記録指示コマンドMKが指定する文字列を構成する文字の全てについて、以下の条件が成立するか否かを判別する(ステップSD2)。
すなわち、記録制御部60は、文字の全てについて、対応するフォントデータにおける実データの搬送方向におけるドット数(データ数)の方が、スペースデータの搬送方向におけるドット数(データ数)よりも小さいという条件が成立するか否かを判別する。図5(A)を参照し、例えば、「−」の文字に対応するフォントデータでは、実データのドット数(L1)の方が、スペースデータのドット数(L2+L3)よりも小さいか否かを判別する。
【0064】
文字列記録指示コマンドMKが指定する文字列を構成する文字に、1つでも上記の条件を満たさない文字がある場合(ステップSD2:NO)、記録制御部60は、文字列記録指示コマンドMKに基づいて、通常どおり、文字列を記録する(ステップSD3)。
一方、文字列記録指示コマンドMKが指定する文字列を構成する全ての文字について、上記条件を満たす場合、記録制御部60は、各文字のフォントデータについて、スペースデータに対応する部分の少なくとも一部を省略したデータに変換する(ステップSD4)。
変換は、例えば、以下のようにして行われる。
すなわち、記録制御部60は、全ての文字のフォントデータについて、搬送方向に対応する方向側に形成されたスペースデータのドット数と、その逆方向に対応する方向側に形成されたスペースデータのドット数とを取得する。そして、全ての文字のフォントデータについて、搬送方向側に形成されたスペースデータのドット数が、8ドット以上あったとすると、記録制御部60は、各文字のフォントデータについて、8ドットから所定のマージン分のドットを差し引いた5ドット分のスペースデータを、一律に、削除する。逆方向側に形成されたスペースデータについても、同様にして、所定のドット数分のスペースデータを削除する。例えば以上のようにして、記録制御部60は、各文字の変換後のデータを生成する。
なお、変換の方法は、上記に限らないことは言うまでもない。すなわち、スペースデータに対応する部分を省略することにより、変換前のフォントデータの搬送方向のドット数よりも、搬送方向のドット数が小さいデータに変換すれば、その方法は問わない。
【0065】
次いで、記録制御部60は、変換したデータをプリントバッファーに展開して、文字列に係る画像を記録する(ステップSD5)。
このように、本実施形態では、記録制御部60は、同一行に配置される文字列の各文字について、対応するフォントデータにおける実データの搬送方向におけるドット数(データ数)の方が、スペースデータの搬送方向におけるドット数(データ数)よりも小さいという条件を満たす場合は、これら文字のそれぞれについて、スペースデータに対応する部位の少なくとも一部を省略して生成したデータに変換した上で、文字列に係る画像を記録する。これにより、記録される文字列の搬送方向におけるドット数が小さくなり、感熱ロール紙22の無駄な消費を抑制することが可能となる。
【0066】
なお、本実施形態では、文字列を構成する各文字について、所定の条件が成立する場合は、各文字を所定のデータに変換していたが、以下のような構成であってもよい。
すなわち、同一行に記録される文字列の全体について、文字列のフォントデータ(文字列を構成する各文字のフォントデータを配列したデータ)における実データの搬送方向のドット数と、スペースデータの搬送方向のドット数とを比較し、実データのドット数が小さい場合は、文字列のフォントデータ(文字列を構成する各文字のフォントデータを並べて配置したデータ)におけるスペースデータに対応する部位の少なくとも一部を省略した画像データを生成し(画像データに変換し)、当該画像データに基づいて、文字列に係る画像を記録するようにしてもよい。
この場合であっても、同様に、感熱ロール紙22の無駄な消費の抑制を実現できる。
【0067】
以上説明したように、本実施形態によれば、記録制御部60は、文字列を記録する場合、文字列を構成する各文字のフォントデータにおける実データの搬送方向のデータ数と、スペースデータの搬送方向のデータ数を比較し、実データの方が少ない場合、上述した所定の変換を行う。
ここで、あるフォントデータについて、実データの搬送方向におけるデータ数よりも、スペースデータの搬送方向におけるデータ数の方が少ない場合、当該フォントデータにおけるスペースデータが占める割合が十分に大きく、従って、当該フォントデータに対応する文字によって構成される文字列について、上述した変換を行えば、記録媒体の無駄を抑制するという観点で、高い効果を発揮する。
以上を踏まえ、上記構成によれば、より効果的に感熱ロール紙22の無駄を抑制することが可能となる。
【0068】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
【0069】
例えば、プリンター2を、記録媒体(感熱ロール紙22)において、文字列の変換を行う範囲をホストコンピューター3から受信したコマンドや、操作スイッチに対する操作などで選択可能に構成してもよい。
この構成によれば、例えば、記録媒体における上述した変換を行う範囲を自由に設定できることとなり、利便性が向上する。
【0070】
また例えば、図3に示す各機能部はハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
また、上記実施形態では、プリンター2自身が記録制御部60を有する制御部50を備えていたが、例えば、制御部50の機能を、プリンター2に外部接続される別の装置に持たせるようにしても良い。
また、本発明は、サーマル式のプリンターに限らず、インクジェット式プリンター、ドットインパクト式プリンター、レーザープリンター、熱昇華型プリンター等の任意の形式のプリンターに適用可能である。また、ATMにおけるプリンター等、他の装置に組み込まれるプリンターであってもよい。また、CDのレーベル面や、DVDのレーベル面等の紙以外の媒体に記録するものでもよい。
また、本発明を適用可能なプログラムは、ホストコンピューター3に搭載されるプリンタードライバーに含むものであってもよい。
また、上記のフローチャートの各ステップを実行するプログラムを、プリンター2の外部の記憶媒体に記憶させたものを読み出して、制御部50により実行させることもできる。
【符号の説明】
【0071】
2…プリンター(記録装置)、3…ホストコンピューター(制御装置)、10…レシート(記録媒体)、22…感熱ロール紙(記録媒体)、23…プラテン(搬送部)、24…記録ヘッド、25…カッターユニット(切断部)、26…搬送モーター(搬送部)、50…制御部、60…記録制御部、80…記録データ。
【特許請求の範囲】
【請求項1】
制御装置に接続可能な記録装置であって、
記録媒体に記録を行う記録ヘッドと、
前記記録媒体を搬送方向に搬送する搬送部と、
前記制御装置から、1以上の文字を含む文字列を受信する受信部と、
前記受信部により受信した前記文字列に対応するフォントデータに基づいて前記記録媒体に記録する記録制御部と、を備え、
前記記録制御部は、
同一の行に配置される前記文字列が、前記搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側に、実際に前記記録ヘッドを駆動して記録しないスペースデータが含まれているフォントデータに対応する1又は複数の文字によって構成されている場合は、
当該文字列を構成する各文字に対応するフォントデータを、前記搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、
当該文字列を、行単位で、当該文字列に対応するフォントデータの前記搬送方向のサイズより、前記搬送方向のサイズが小さい画像データに変換した上で、
当該文字列を前記記録ヘッドにより記録することを特徴とする記録装置。
【請求項2】
前記変換したフォントデータは、前記フォントデータに対し前記スペースデータの少なくとも一部を省いたものであり、
前記変換した画像データは、前記フォントデータを並べて配置した行に対し当該行に含まれる前記スペースの少なくとも一部を省いたものであることを特徴とする請求項1に記載の記録装置。
【請求項3】
前記記録制御部は、
前記フォントデータに含まれるもので、実際に記録ヘッドを駆動して記録するための実データの前記搬送方向のデータ数と、前記スペースデータの前記搬送方向のデータ数を比較し、前記実データの方が少ない場合、いずれかの前記変換を行うことを特徴とする請求項1または2に記載の記録装置。
【請求項4】
前記記録制御部は、
前記文字列が前記記録媒体における所定の位置に配置される場合に、いずれかの前記変換を行うことを特徴とする請求項1ないし3のいずれかに記載の記録装置。
【請求項5】
前記記録媒体を切断する切断部をさらに備え、
前記記録制御部は、
前記切断部による前記記録媒体上の切断位置の搬送方向上流側、又は、搬送方向下流側の所定の範囲に前記文字列が配置される場合に、いずれかの前記変換を行うことを特徴とする請求項4に記載の記録装置。
【請求項6】
前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部をさらに備え、
前記記録制御部は、
前記切断部により前記記録媒体を切断する場合、
前記記録媒体上の切断位置の搬送方向上流側に、前記記録ヘッドにより画像を記録しつつ、前記記録媒体上の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断すると共に、
切断のための搬送後、切断前に、前記記録媒体に記録すべき前記文字列について、いずれかの前記変換を行うことを特徴とする請求項4に記載の記録装置。
【請求項7】
制御装置に接続可能であり、記録媒体に記録を行う記録ヘッドと、前記記録媒体を搬送方向に搬送する搬送部と、前記制御装置から、1以上の文字を含む文字列を受信する受信部と、前記受信部により受信した前記文字列に対応するフォントデータに基づいて前記記録媒体に記録する記録制御部と、を備える記録装置の制御方法であって、
前記受信部により、前記制御装置から前記文字列を受信し、
前記記録制御部により、受信した前記文字列が、同一の行に配置される場合であって、前記搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側に、実際に前記記録ヘッドを駆動して記録しないスペースデータが含まれているフォントデータに対応する1又は複数の文字によって構成されている場合は、
当該文字列を構成する各文字に対応するフォントデータを、前記搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、
当該文字列を、行単位で、当該文字列に対応するフォントデータの前記搬送方向のサイズより、前記搬送方向のサイズが小さい画像データに変換した上で、
当該文字列を前記記録ヘッドにより記録することを特徴とする記録装置の制御方法。
【請求項8】
制御装置に接続可能であり、記録媒体に記録を行う記録ヘッドと、前記記録媒体を搬送方向に搬送する搬送部と、前記制御装置から、1以上の文字を含む文字列を受信する受信部と、を備える記録装置の各部を制御する制御部により実行されるプログラムであって、
前記制御部を、
前記受信部により受信した前記文字列に対応するフォントデータに基づいて前記記録媒体に記録する一方、
同一の行に配置される前記文字列が、前記搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側に、実際に前記記録ヘッドを駆動して記録しないスペースデータが含まれているフォントデータに対応する1又は複数の文字によって構成されている場合は、
当該文字列を構成する各文字に対応するフォントデータを、前記搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、
当該文字列を、行単位で、当該文字列に対応するフォントデータの前記搬送方向のサイズより、前記搬送方向のサイズが小さい画像データに変換した上で、
当該文字列を前記記録ヘッドにより記録する記録制御部として機能させることを特徴とするプログラム。
【請求項1】
制御装置に接続可能な記録装置であって、
記録媒体に記録を行う記録ヘッドと、
前記記録媒体を搬送方向に搬送する搬送部と、
前記制御装置から、1以上の文字を含む文字列を受信する受信部と、
前記受信部により受信した前記文字列に対応するフォントデータに基づいて前記記録媒体に記録する記録制御部と、を備え、
前記記録制御部は、
同一の行に配置される前記文字列が、前記搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側に、実際に前記記録ヘッドを駆動して記録しないスペースデータが含まれているフォントデータに対応する1又は複数の文字によって構成されている場合は、
当該文字列を構成する各文字に対応するフォントデータを、前記搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、
当該文字列を、行単位で、当該文字列に対応するフォントデータの前記搬送方向のサイズより、前記搬送方向のサイズが小さい画像データに変換した上で、
当該文字列を前記記録ヘッドにより記録することを特徴とする記録装置。
【請求項2】
前記変換したフォントデータは、前記フォントデータに対し前記スペースデータの少なくとも一部を省いたものであり、
前記変換した画像データは、前記フォントデータを並べて配置した行に対し当該行に含まれる前記スペースの少なくとも一部を省いたものであることを特徴とする請求項1に記載の記録装置。
【請求項3】
前記記録制御部は、
前記フォントデータに含まれるもので、実際に記録ヘッドを駆動して記録するための実データの前記搬送方向のデータ数と、前記スペースデータの前記搬送方向のデータ数を比較し、前記実データの方が少ない場合、いずれかの前記変換を行うことを特徴とする請求項1または2に記載の記録装置。
【請求項4】
前記記録制御部は、
前記文字列が前記記録媒体における所定の位置に配置される場合に、いずれかの前記変換を行うことを特徴とする請求項1ないし3のいずれかに記載の記録装置。
【請求項5】
前記記録媒体を切断する切断部をさらに備え、
前記記録制御部は、
前記切断部による前記記録媒体上の切断位置の搬送方向上流側、又は、搬送方向下流側の所定の範囲に前記文字列が配置される場合に、いずれかの前記変換を行うことを特徴とする請求項4に記載の記録装置。
【請求項6】
前記記録ヘッドの搬送方向下流に配置され、前記記録媒体を切断する切断部をさらに備え、
前記記録制御部は、
前記切断部により前記記録媒体を切断する場合、
前記記録媒体上の切断位置の搬送方向上流側に、前記記録ヘッドにより画像を記録しつつ、前記記録媒体上の切断位置が前記切断部に対応する位置に至るまで前記搬送部により前記記録媒体を搬送させて、前記切断部により前記記録媒体を切断すると共に、
切断のための搬送後、切断前に、前記記録媒体に記録すべき前記文字列について、いずれかの前記変換を行うことを特徴とする請求項4に記載の記録装置。
【請求項7】
制御装置に接続可能であり、記録媒体に記録を行う記録ヘッドと、前記記録媒体を搬送方向に搬送する搬送部と、前記制御装置から、1以上の文字を含む文字列を受信する受信部と、前記受信部により受信した前記文字列に対応するフォントデータに基づいて前記記録媒体に記録する記録制御部と、を備える記録装置の制御方法であって、
前記受信部により、前記制御装置から前記文字列を受信し、
前記記録制御部により、受信した前記文字列が、同一の行に配置される場合であって、前記搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側に、実際に前記記録ヘッドを駆動して記録しないスペースデータが含まれているフォントデータに対応する1又は複数の文字によって構成されている場合は、
当該文字列を構成する各文字に対応するフォントデータを、前記搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、
当該文字列を、行単位で、当該文字列に対応するフォントデータの前記搬送方向のサイズより、前記搬送方向のサイズが小さい画像データに変換した上で、
当該文字列を前記記録ヘッドにより記録することを特徴とする記録装置の制御方法。
【請求項8】
制御装置に接続可能であり、記録媒体に記録を行う記録ヘッドと、前記記録媒体を搬送方向に搬送する搬送部と、前記制御装置から、1以上の文字を含む文字列を受信する受信部と、を備える記録装置の各部を制御する制御部により実行されるプログラムであって、
前記制御部を、
前記受信部により受信した前記文字列に対応するフォントデータに基づいて前記記録媒体に記録する一方、
同一の行に配置される前記文字列が、前記搬送方向に対応する方向と、その逆方向に対応する方向との少なくともいずれか一方の側に、実際に前記記録ヘッドを駆動して記録しないスペースデータが含まれているフォントデータに対応する1又は複数の文字によって構成されている場合は、
当該文字列を構成する各文字に対応するフォントデータを、前記搬送方向のフォントサイズが小さいフォントデータに変換するか、又は、
当該文字列を、行単位で、当該文字列に対応するフォントデータの前記搬送方向のサイズより、前記搬送方向のサイズが小さい画像データに変換した上で、
当該文字列を前記記録ヘッドにより記録する記録制御部として機能させることを特徴とするプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2012−232458(P2012−232458A)
【公開日】平成24年11月29日(2012.11.29)
【国際特許分類】
【出願番号】特願2011−101688(P2011−101688)
【出願日】平成23年4月28日(2011.4.28)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
【公開日】平成24年11月29日(2012.11.29)
【国際特許分類】
【出願日】平成23年4月28日(2011.4.28)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】
[ Back to top ]