説明

記録装置、記録装置の制御方法、及び、プログラム

【課題】事前に記憶すべき画像データのデータ量の増大を抑制しつつ、記録媒体の幅が変更された場合、制御装置に対する改変をできるだけ行うことなく、記録媒体の幅の変更に伴う文字のサイズを変更可能とする。
【解決手段】プリンター11は、前記幅検出部41により検出された記録媒体の幅が40mmである場合は、80mm用のフォントデータを縮小して、40mm用のフォントデータを生成し、記憶し、ホストコンピューター10から文字を記録させるコマンドが入力された場合、当該40mm用フォントデータに基づいて、縮小された文字を記録媒体に記録する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、制御装置に接続可能な記録装置、当該記録装置の制御方法、及び、当該記録装置を制御するためのプログラムに関する。
【背景技術】
【0002】
従来、文字を表現する実データ(例えば、ビットマップデータ)であるフォントデータ(画像データ)を事前に記憶し、記憶したフォントデータに基づいて各種文字を記録媒体に記録する記録装置が知られている(例えば、特許文献1参照)。
この種の記録装置は、所定の文字を記録させるコマンドが、ホストコンピューター等の制御装置から入力された場合、当該文字に係るフォントデータに基づいて、当該文字を記録媒体に記録する。
また、この種の記録装置では、幅の異なるロール紙(記録媒体)に記録可能に構成されたものがある。この場合、ロール紙の幅に応じて、文字のサイズを適宜変更できるように、異なるフォントサイズのフォントデータが記録装置に予め記憶されていた。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開平08−034142号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、上述した記録装置のように、異なるフォントサイズのフォントデータを予め記憶するようにした場合、事前に記憶すべきフォントデータのデータ量が増大し、確保すべき記憶領域の増大、これに伴う記憶媒体の高コスト化を招く可能性があった。
また、上述した記録装置は、ホストコンピューター等の制御装置から入力されたコマンドに基づいて、フォントデータを利用して、各種文字を記録媒体に記録するが、記録媒体の幅の変更に伴って記録媒体に記録する文字のサイズを変更する場合であっても、できるだけ制御装置から記録装置へ出力されるコマンドの内容が変更されないようにし、制御装置の処理の複雑化を抑制すると共に、制御装置に対する改変を抑制したいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、事前に記憶すべき画像データのデータ量の増大を抑制しつつ、記録媒体の幅が変更された場合、制御装置に対する改変をできるだけ行うことなく、記録媒体の幅の変更に伴う文字のサイズを変更可能とすることを目的とする。
【課題を解決するための手段】
【0005】
上記目的を達成するために、本発明は、制御装置に接続可能な記録装置であって、記録媒体に記録する画像の画像データを記憶する画像データ記憶部と、前記記録媒体の幅を検出する幅検出部と、前記画像データ記憶部に記憶された前記画像データに基づいて、前記幅検出部により検出された前記記録媒体の幅に応じた紙幅対応画像データを生成する紙幅対応画像データ生成部と、前記制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る前記紙幅対応画像データに基づいて前記記録媒体に記録する記録制御部と、を備えることを特徴とする。
この構成によれば、記録媒体の幅の種類に対応させて、複数のサイズの画像データを事前に記憶するのではなく、記録の対象の記録媒体の幅に応じて紙幅対応画像データを生成し、生成した当該データに基づいて記録を行う構成であるため、事前に記憶すべき画像データのデータ量の増大を抑制できる。さらに、制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る紙幅対応画像データに基づいて、当該所定の画像を記録媒体に記録する構成であるため、制御装置側で、例えば、文字を縮小、又は、拡大させる特殊なコマンドを生成し、出力することなく、記録装置側で、自動で、適切に画像のサイズを変更することができ、記録媒体の幅が変更された場合であっても、制御装置に対する改変をできるだけ行わないようにすることができる。
【0006】
上記目的を達成するために、本発明は、前記紙幅対応画像データ生成部は、前記幅検出部により検出された前記記録媒体の幅に応じて前記画像データ記憶部に記憶された前記画像データを縮小又は拡大して前記紙幅対応画像データを生成し、記憶し、前記記録制御部は、前記制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る前記紙幅対応画像データに基づいて、縮小又は拡大された当該所定の画像を前記記録媒体に記録することを特徴とする。
この構成によれば、記録媒体の幅の種類に対応させて、複数のサイズの画像データを事前に記憶するのではなく、記録の対象の記録媒体の幅に応じて紙幅対応画像データを生成し、生成した当該データに基づいて記録を行う構成であるため、事前に記憶すべき画像データのデータ量の増大を抑制できる。さらに、制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る紙幅対応画像データに基づいて、縮小又は拡大された当該所定の画像を記録媒体に記録する構成であるため、制御装置側で、文字を縮小、又は、拡大させる特殊なコマンドを生成し、出力することなく、記録装置側で、自動で、適切に画像の縮小又は拡大を実行でき、記録媒体の幅が変更された場合であっても、制御装置に対する改変をできるだけ行わないようにすることができる。
【0007】
また、上記発明の記録装置であって、本発明は、前記画像データは、白黒2値のビットマップデータであり、前記紙幅対応画像データ生成部は、前記画像データを縮小して、前記紙幅対応画像データを生成する際、前記画像データに対して、隣接するドットの論理和をとり、論理和の結果を反映して、当該隣接するドットに対応する前記紙幅対応画像データのドットの値を決定する一方、前記画像データにおける隣接するドットの態様が、前記紙幅対応画像データにおける黒潰れを防止すべく設定された所定の条件を満たす場合は、論理和の結果にかかわらず当該隣接するドットに対応する前記紙幅対応画像データのドットの値を所定の値とすることを特徴とする。
この構成によれば、隣接するドットの論理和のみを利用した単純な画像データの縮小が行われるのではなく、紙幅対応画像データにおける黒潰れを防止すべく設定された所定の条件を満たす場合は、隣接するドットに対応する紙幅対応画像データのドットの値が所定の値とされるため、紙幅対応画像データにおける黒潰れを効果的に抑制することが可能となる。
【0008】
また、上記発明の記録装置であって、本発明は、前記紙幅対応画像データ生成部は、前記画像データにおける隣接するドットについて、当該隣接するドットの値の組み合わせが所定の組み合わせであり、かつ、前記紙幅対応画像データにおける当該隣接するドットに対応するドットと、周辺の他のドットとの関係が所定の関係にある場合は、当該隣接するドットに対応する前記紙幅対応画像データのドットの値を白を示す値とすることを特徴とする。
この構成によれば、紙幅対応画像データにおける黒潰れを防止すべく設定された所定の条件として、客観的に判別可能な条件を用いて、紙幅対応画像トデータにおける黒潰れを効果的に抑制することが可能となる。
【0009】
また、上記発明の記録装置であって、本発明は、前記紙幅対応画像データ生成部は、前記記録装置の電源が投入されたこと、又は、前記記録装置の前記記録媒体が交換されたことをトリガーとして、前記紙幅対応画像データの生成を行うことを特徴とする。
この構成によれば、セットされた記録媒体の幅が変更された可能性がある適切なタイミングで、記録媒体の幅に対応した紙幅対応画像データを生成することが可能となる。
【0010】
また、上記目的を達成するために、本発明は、制御装置に接続可能であり、記録媒体に記録する画像の画像データを記憶する画像データ記憶部を備える記録装置の制御方法であって、前記記録媒体の幅を検出し、前記画像データ記憶部に記憶された前記画像データに基づいて、前記幅検出部により検出された前記記録媒体の幅に応じた紙幅対応画像データを生成し、前記制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る前記紙幅対応画像データに基づいて前記記録媒体に記録することを特徴とする。
この制御方法によれば、記録媒体の幅の種類に対応させて、複数のサイズの画像データを事前に記憶するのではなく、記録の対象の記録媒体の幅に応じて紙幅対応画像データを生成し、生成した当該データに基づいて記録を行う構成であるため、事前に記憶すべき画像データのデータ量の増大を抑制できる。さらに、制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る紙幅対応画像データに基づいて、当該所定の画像を記録媒体に記録する構成であるため、制御装置側で、例えば、文字を縮小、又は、拡大させる特殊なコマンドを生成し、出力することなく、記録装置側で、自動で、適切に画像のサイズを変更でき、記録媒体の幅が変更された場合であっても、制御装置に対する改変をできるだけ行わないようにすることができる。
【0011】
また、上記発明の記録装置の制御方法であって、本発明は、前記記録媒体の幅を検出し、検出した前記記録媒体の幅に応じて前記画像データ記憶部に記憶された前記画像データを縮小又は拡大して、紙幅対応画像データを生成し、記憶し、前記制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る前記紙幅対応画像データに基づいて、縮小又は拡大された当該所定の画像を前記記録媒体に記録することを特徴とする。
この制御方法によれば、記録媒体の幅の種類に対応させて、複数のサイズの画像データを事前に記憶するのではなく、記録の対象の記録媒体の幅に応じて紙幅対応画像データを生成し、生成した当該データに基づいて記録を行う構成であるため、事前に記憶すべき画像データのデータ量の増大を抑制できる。さらに、制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る紙幅対応画像データに基づいて、縮小又は拡大された当該所定の画像を記録媒体に記録する構成であるため、制御装置側で、文字を縮小、又は、拡大させる特殊なコマンドを生成し、出力することなく、記録装置側で、自動で、適切に画像の縮小又は拡大を実行でき、記録媒体の幅が変更された場合であっても、制御装置に対する改変をできるだけ行わないようにすることができる。
【0012】
また、上記目的を達成するために、本発明は、制御装置に接続可能であり、記録媒体に記録する画像の画像データを記憶する画像データ記憶部を備える記録装置の各部を制御する制御部により実行されるプログラムであって、前記制御部を、前記記録媒体の幅を検出する幅検出部と、前記画像データ記憶部に記憶された前記画像データに基づいて、前記幅検出部により検出された前記記録媒体の幅に応じた紙幅対応画像データを生成する紙幅対応画像データ生成部と、前記制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る前記紙幅対応画像データに基づいて前記記録媒体に記録する記録制御部と、として機能させることを特徴とする。
このプログラムを実行すれば、記録媒体の幅の種類に対応させて、複数のサイズの画像データを事前に記憶するのではなく、記録の対象の記録媒体の幅に応じて紙幅対応画像データを生成し、生成した当該データに基づいて記録を行う構成であるため、事前に記憶すべき画像データのデータ量の増大を抑制できる。さらに、制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る紙幅対応画像データに基づいて、当該所定の画像を記録媒体に記録する構成であるため、制御装置側で、例えば、文字を縮小、又は、拡大させる特殊なコマンドを生成し、出力することなく、記録装置側で、自動で、適切に画像のサイズを変更でき、記録媒体の幅が変更された場合であっても、制御装置に対する改変をできるだけ行わないようにすることができる。
【0013】
また、上記目的を達成するために、本発明は、制御装置に接続可能であり、記録媒体に記録する画像の画像データを記憶する画像データ記憶部を備える記録装置の各部を制御する制御部により実行されるプログラムであって、前記制御部を、前記記録媒体の幅を検出する幅検出部と、前記幅検出部により検出された前記記録媒体の幅に応じて前記画像データ記憶部に記憶された前記画像データを縮小又は拡大して、紙幅対応画像データを生成し、記憶する紙幅対応画像データ生成部と、前記制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る前記紙幅対応画像データに基づいて、縮小又は拡大された当該所定の画像を前記記録媒体に記録する記録制御部と、として機能させることを特徴とする。
このプログラムを実行すれば、記録媒体の幅の種類に対応させて、複数のサイズの画像データを事前に記憶するのではなく、記録の対象の記録媒体の幅に応じて紙幅対応画像データを生成し、生成した当該データに基づいて記録を行う構成であるため、事前に記憶すべき画像データのデータ量の増大を抑制できる。さらに、制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る紙幅対応画像データに基づいて、縮小又は拡大された当該所定の画像を記録媒体に記録する構成であるため、制御装置側で、文字を縮小、又は、拡大させる特殊なコマンドを生成し、出力することなく、記録装置側で、自動で、適切に画像の縮小又は拡大を実行でき、記録媒体の幅が変更された場合であっても、制御装置に対する改変をできるだけ行わないようにすることができる。
【発明の効果】
【0014】
本発明によれば、事前に記憶すべきフォントデータのデータ量の増大を抑制しつつ、記録媒体の幅が変更された場合、制御装置に対する変更をできるだけ行うことなく、記録媒体の幅の変更に伴う文字のサイズを変更可能となる。
【図面の簡単な説明】
【0015】
【図1】本実施形態に係る記録システムを示す図である。
【図2】全面ラベル用紙を示す図である。
【図3】記録システムの機能的構成を示す図である。
【図4】プリンターの動作を示すフローチャートである。
【図5】フォントデータが縮小される様子を示す図である。
【図6】第1縮小を説明するための図である。
【図7】第2縮小を説明するための図である。
【発明を実施するための形態】
【0016】
以下、図面を参照して本発明の実施形態について説明する。
図1は、本実施形態に係る記録システム1の使用態様の一例を示す図である。
図1では、来店した顧客に対し、ジュースやコーヒー等のドリンク、及び、ハンバーガーやフライドポテト等の食べ物を提供する店舗(いわゆるファーストフード店)に記録システム1が適用された様子を模式的に示している。
図1の店舗には、レジカウンターエリアRA、ドリンクエリアDA、及び、キッチンエリアKAの3つのエリアが形成されている。
【0017】
レジカウンターエリアRAには、顧客が商品の注文、及び、会計を行うための3つのレジカウンターRCが設けられている。
各レジカウンターRCには、レジスターとしての機能を有するホストコンピューター10(制御装置)と、このホストコンピューター10に接続され、このホストコンピューター10に制御されるレシート発行用のプリンター11(記録装置。以下、適宜、「レシートプリンターRP」と表現し、後述する他の用途で使用するプリンター11と区別する。)と、が設けられている。
ホストコンピューター10には、顧客による会計の際、顧客が支払うべき合計金額等の会計に係る各種情報を表示するディスプレーや、顧客が注文した商品を入力するためのタッチパネル、クーポンに記録されたバーコード等を読み取るためのバーコードスキャナー、会計に係る各種入力を行うためのキー入力部、現金を収容するキャッシュドロワー等が接続されている。
また、ホストコンピューター10は、顧客による会計ごとに、レシートプリンターRPを制御して、各会計に係るレシートをレシートプリンターRPに発行させる。レシートプリンターRPにより発行されたレシートは、各レジカウンターRCの担当者により顧客に引き渡される。
【0018】
レシートプリンターRPは、記録媒体を搬送方向に搬送しながら、発熱素子が並べて設けられた記録ヘッド15(図3)によって、記録媒体の記録面に熱を与えて、ロール紙の記録面にドットを形成することにより、画像を記録するサーマルプリンターである。
レシートプリンターRPは、記録媒体たる幅80mmのロール紙(後述する全面ラベル用紙16(図2)とは異なり、糊を含まない紙)に、ロゴや、会計に係る情報等を記録した後、切断機構(不図示)によりロール紙を切断して、レシートを発行する。このレシートプリンターRPは、少なくとも、幅40mmと、幅80mmとのいずれかのサイズのロール紙を収容し、かつ、収容したロール紙に対して画像を記録し、正常にレシートを発行可能な構成となっている。
レシートプリンターRPが、幅80mmのロール紙を使用してレシートを発行する理由は、レシートに記録すべき情報の量や、レシートが顧客に引き渡される紙片であることを考慮すると、ロール紙のサイズとして、幅80mmが適切だからである。
なお、レシートプリンターRPと、後述するドリンクプリンターDP、及び、キッチンプリンターKPとは、同一機種の記録装置である。従って、各プリンター11は、幅40mmと、幅80mmとのいずれのロール紙(後述する全面ラベル用紙16も含む)も収容可能に構成されており、かつ、いずれのサイズのロール紙に対しても正常に画像を記録可能である。
【0019】
ドリンクエリアDAには、顧客に提供する提供用ドリンクを作成するためのドリンクサーバー18が設けられている。なお、「提供用ドリンク」とは、所定の紙コップに、ジュースやコーヒー等の所望の飲み物が貯留され、かつ、紙コップの表面に後述するドリンクラベルが貼付され、顧客に提供可能な状態となっているものを言う。
各ドリンクサーバー18は、3つのレジカウンターRCに対応して、3つ設けられており、各レジカウンターRCの担当者は、それぞれ対応するドリンクサーバー18を使用して、予め用意された紙コップに、ドリンクサーバー18から所定の種類のジュース等を供給する。
各ドリンクサーバー18の近傍には、プリンター11(以下、適宜、「ドリンクプリンターDP」と表現し、他の用途で使用するプリンター11と区別する。)が設けられている。
ドリンクプリンターDPは、紙コップに貼付するラベルであって、ドリンクの種類(例えば、オレンジジュース)、及び、ドリンクのサイズを明示する情報が記録されたラベルである「ドリンクラベル」を発行するための記録装置である。
ドリンクプリンターDPのそれぞれは、対応するホストコンピューター10のそれぞれに接続されており、ホストコンピューター10の制御の下、幅40mmの全面ラベル用紙16にドリンクの種類や、ドリンクのサイズを示す情報を記録した後、切断機構(不図示)により全面ラベル用紙16を所定の位置で切断することにより、ドリンクラベルを発行する。
ホストコンピューター10は、レジカウンターRCの担当者によって、タッチパネル等を介してドリンクの注文が入力されると、対応するドリンクプリンターDPを制御して、注文されたドリンクの種類、及び、サイズを示す情報が記録されたドリンクラベルをドリンクプリンターDPに発行させる。発行されたドリンクラベルは、担当者によって、紙コップの適切な位置に貼付される。
【0020】
図2は、全面ラベル用紙16を模式的に示す図である。
図2に示すように、全面ラベル用紙16は、ロール状の剥離紙16aの全域に、略同一形状のシール16bが貼付されて形成された記録媒体である。シール16bは、剥離紙から取り剥がすことが可能であり、また、その記録面は、感熱紙となっている。
シール16bの表面には、等間隔でブラックマークBMが形成されている。
このブラックマークBMは、後述するブラックマークセンサー19(図3)により光学的に読み取られることが想定されたマークであり、プリンター11の制御部20は、ブラックマークセンサー19の検出値に基づいて、セットされている記録媒体が全面ラベル用紙16であることを検出し、また、全面ラベル用紙16の位置制御を行う。
上述したように、ドリンクプリンターDPは、幅40mmと、幅80mmとのいずれの全面ラベル用紙16にも正常に画像を記録可能であり、いずれの全面ラベル用紙16であってもドリンクラベルを正常に発行可能であるが、紙コップ自体のサイズや、ドリンクラベルに記録される情報の量等を考慮して、幅40mmの全面ラベル用紙16を利用してドリンクラベルを発行する。
【0021】
キッチンエリアKAは、ファーストフード店で提供する食べ物、例えば、ハンバーガーや、フライドポテト等を調理するエリアであり、調理を行うためのキッチンカウンターKCが設けられており、このキッチンカウンターKCには、2台のプリンター11(以下、「キッチンプリンターKP」と表現し、他の用途で使用するプリンター11と区別する。)が設けられている。
キッチンプリンターKPは、注文ラベルを発行する記録装置である。
注文ラベルとは、顧客から受けた注文の内容が記録されたラベルであり、キッチンエリアKAにて調理を担当する調理担当者は、この注文ラベルによって、注文を受けた食べ物について、提供が完了しているか否かを管理する。
詳述すると、2台のキッチンプリンターKPのうち、1台のキッチンプリンターKPは、フライドポテトを調理する場所の近傍に設置されており、一方、もう1台のキッチンプリンターKPは、ハンバーガーを調理する場所の近傍に設定されている。また、キッチンプリンターKPのそれぞれは、ホストコンピューター10のそれぞれに接続されている。
そして、例えば、レジカウンターRCの担当者によって、タッチパネル等を介して、フライドポテトの注文が入力されると、当該ホストコンピューター10は、フライドポテトを調理する場所の近傍に設けられたキッチンプリンターKPを制御して、注文の内容(この例では、フライドポテトが何個注文されたかを示す情報)が記録された注文ラベルをキッチンプリンターKPに発行させる。キッチンプリンターKPは、ホストコンピューター10の制御の下、幅80mmの全面ラベル用紙16に注文の内容を記録した後、切断機構(不図示)により全面ラベル用紙16を所定の位置で切断することにより、注文ラベルを発行する。
上述したように、キッチンプリンターKPは、幅40mmと、幅80mmとのいずれの全面ラベル用紙16にも正常に画像を記録可能であり、いずれの全面ラベル用紙16であっても注文ラベルを正常に発行可能であるが、調理担当者が視認すること等を考慮して、幅80mmの全面ラベル用紙16を利用して注文ラベルを発行する。
【0022】
図3は、記録システム1の機能的構成を示すブロック図である。上述したように、ホストコンピューター10は、複数台のプリンター11に接続されているが、各プリンター11と、各ホストコンピューター10とは、図3に示すように、論理的に一対一の関係で接続されており、各ホストコンピューター10は、自身に接続されたプリンター11のいずれかを占有的に制御して、記録媒体への記録を実行させることが可能である。
図3に示すように、ホストコンピューター10(制御装置)は、ホスト側制御部25と、ホスト側入力部26と、ホスト側表示部27と、ホスト側記憶部28と、ホスト側インターフェイス部29(I/F)と、を備えている。
ホスト側制御部25は、ホストコンピューター10を中枢的に制御するものであり、各種プログラムを実行するCPU、CPUにより実行される基本制御プログラム等を記憶するROM、CPUが実行するプログラムや処理対象のデータ等を一時的に記憶するワークエリアを形成するRAM、その他周辺回路等を備えている。
ホスト側制御部25は、アプリケーション実行部25aと、プリンタードライバー実行部25bと、を備えているが、これらについては、後述する。
ホスト側入力部26は、上述したタッチパネルや、キー入力部等の入力デバイスに接続され、これら入力デバイスに対する操作を検出し、ホスト側制御部25に出力する。
ホスト側入力部26は、上述したディスプレーに接続され、ホスト側制御部25の制御の下、ディスプレーに各種情報を表示する。
なお、上述したように、ホストコンピューター10は、バーコードスキャナーや、キャッシュドロワー等の各種レジスター周辺デバイスが接続されているが、ホストコンピューター10には、これらデバイスを接続するためのインターフェイスが実装されると共に、これらデバイスを制御するためのデバイスドライバーが予めインストールされている。
ホスト側記憶部28は、EEPROMや、ハードディスク等の不揮発性メモリーを備え、各種データを書き換え可能に、不揮発的に記憶する。
ホスト側インターフェイス部29(I/F)は、ホスト側制御部25の制御の下、プリンター11との間で通信規格に準拠した通信を行う。
【0023】
また、プリンター11(記録装置)は、ホストコンピューター10の制御の下、記録媒体であるロール紙や、全面ラベル用紙16を搬送機構(不図示)により搬送しつつ、記録ヘッド15によって、記録媒体の記録面に熱を与えて、当該記録面にドットを形成することにより、画像を記録し、切断機構(不図示)により所定の位置で記録媒体を切断することにより所定の紙片を発行するサーマル式の記録装置である。そして、プリンター11(記録装置)は、図3に示すように、制御部20と、入力部31と、表示部32と、プリントエンジン33と、検出回路34と、記憶部35(画像データ記憶部)と、インターフェイス部38(I/F)を備えている。
制御部20は、プリンター11の各部を中枢的に制御するものであり、上述したホスト側制御部25と同様、CPUや、ROM、RAM、その他の周辺回路等を備えている。
入力部31は、プリンター11に設けられた各種スイッチに接続され、スイッチに対する操作を検出し、制御部20に出力する。
表示部32は、複数のLEDを備え、制御部20の制御の下、LEDを所定の態様で点灯/消滅させて、プリンター11の状態や、エラーの発生の有無等、各種情報を報知する。
プリントエンジン33は、制御部20の制御の下、用紙端センサーや用紙残量センサー等の各種センサーの検出値を監視しながら、上述した記録ヘッド15のほか、記録媒体を搬送する搬送ローラーを駆動するための搬送モーターや、上述した切断機構が備えるカッターを駆動するためのカッター駆動モーターを動作させて、記録媒体に画像を記録し、画像を記録した記録媒体を切断することにより所定の紙片を発行する。
【0024】
検出回路34は、ブラックマークセンサー19、及び、紙幅センサー37に接続されている。
ブラックマークセンサー19は、全面ラベル用紙16の搬送経路上の所定の位置に設けられた光学式センサーであり、搬送経路上を搬送される全面ラベル用紙16に形成されたブラックマークBMを光学的に検出する。制御部20は、ブラックマークセンサー19の検出値に基づいて、当該センサーに対応する位置に、ブラックマークBMが至ったことを検出し、検出結果に基づいて、全面ラベル用紙16の位置の調整や、搬送に係る処理の調整を実行する。
紙幅センサー37は、セットされているロール紙又は全面ラベル用紙16の幅を検出するセンサーである。具体的には、紙幅センサー37は、押圧されたときにオンとなる2つのスイッチ型センサーを備えている。そして、40mmのロール紙又は全面ラベル用紙16がセットされている場合は、1つのセンサーがオン、他のセンサーがオフとなり、80mmのロール紙又は全面ラベル用紙16がセットされている場合は、双方のセンサーがオンとなるような位置にそれぞれのセンサーが設けられている。制御部20の幅検出部41は、2つのセンサーにおけるオン/オフを検出することにより、セットされたロール紙又は全面ラベル用紙16が40mmであるか、80mmであるかを判別する。
なお、本実施形態では、紙幅センサー37は、2つのスイッチ型センサーであるが、光学式センサー等の他の種類のセンサーを用いて紙幅を検出するようにしてもよい。
記憶部35(画像データ記憶部)は、EEPROMやハードディスク等の不揮発性メモリーを備え、各種データを書き換え可能に、不揮発的に記憶する。
インターフェイス部38(I/F)は、制御部20の制御の下、ホストコンピューター10との間で通信規格に準拠した通信を行う。
【0025】
次いで、アプリケーション実行部25a、及び、プリンタードライバー実行部25bの説明を通して、レシートプリンターRPがレシートを発行する際の、レシートプリンターRP、及び、ホストコンピューター10の動作について説明する。
アプリケーション実行部25aは、ホストコンピューター10に予めインストールされたアプリケーションを実行することにより、取引毎に、顧客が購入した商品(ドリンクや、食べ物)を示す情報や、商品の単価を示す情報、合計購入金額を示す情報等のレシートに記載すべき情報を取得し、取得した情報に基づいて、レシートに記録すべき画像の情報を含む印刷データを生成し、プリンタードライバー実行部25bに出力する。
プリンタードライバー実行部25bは、ホストコンピューター10に予めインストールされたプリンタードライバーを実行することにより、アプリケーション実行部25aから入力された印刷データに基づいて、レシートプリンターRPのコマンド仕様に対応した制御コマンドを生成し、レシートプリンターRPに出力する。
制御コマンドとは、プリンター11にレシートの発行に係る一連の動作を行わせるためのコマンド群のことであり、ロール紙に所定の文字列を記録することを指示する文字列記録指示コマンドや、ロール紙に所定のグラフィック画像を記録することを指示するグラフィック画像記録指示コマンド、所定の搬送量だけロール紙の搬送を指示する搬送指示コマンド、切断機構によるによるロール紙の切断を指示する切断指示コマンド等のコマンドが含まれている。
ホストコンピューター10からプリンター11に出力された制御コマンドは、順次、受信バッファー(不図示)に格納される。プリンター11の制御部20の記録制御部40は、受信バッファーに格納された制御コマンドを、順次、読み出して実行することにより、プリントエンジン33を制御して、ロール紙への画像の記録、必要な搬送、ロール紙の切断等のレシートの発行に係る各種動作を実行することにより、レシートを発行する。
特に、記録制御部40は、文字列の記録を指示する文字列記録指示コマンドに基づいて、以下のようにして、ロール紙に文字列を記録する。
【0026】
すなわち、文字列記録指示コマンドは、基本的に、命令コードと、所定の文字コード(例えば、アスキーコード。)で表現された文字の組み合わせからなる文字列と、が組み合わされて構成されている。例えば、文字列記録指示コマンドは、「XXX△“AAABBBCCC”」(ただし、XXXは、文字列を記録することを指示する命令コード。また、ダブルクォーテーション内の文字列は、アスキーコードで表現された文字の組み合わせによって構成された文字列。)という構成となっている。
また、プリンター11の記憶部35には、80mm用フォントテーブル35aが記憶されている。80mm用フォントテーブル35aとは、フォントデータを集合して記憶するテーブルである。フォントデータとは、文字を記録媒体に記録可能な態様で表現する実データのことである。本実施形態では、フォントデータの態様は、ビットマップフォントデータである。フォントデータの態様としては、ビットマップデータのほか、スケイラブルフォントデータや、ベクトルフォントデータ、アウトラインフォントデータ等がある。
特に、80mm用フォントテーブル35aに格納されたフォントデータのサイズは、80mmのロール紙又は全面ラベル用紙16に記録されるのに適したサイズとなっている。
従って、80mm用フォントテーブル35aに格納されたフォントデータに基づいて、40mmのロール紙又は全面ラベル用紙16に文字を記録した場合、幅と文字の大きさとの関係でバランスを欠くこととなるため、80mm用フォントテーブル35aに格納されたフォントデータに基づいて、40mmのロール紙又は全面ラベル用紙16に記録を行うことはできない。
なお、本実施形態では、記録媒体に記録する「文字」は、言語で使用される意味を持った文字のみならず、記憶部35に記憶されたフォントデータに基づいてロール紙又は全面ラベル用紙16に記録可能な「図形」の全てを指す概念である。
また、本実施形態では、80mm用フォントテーブル35aに格納された80mm用のフォントデータが、「画像データ」に該当する。
そして、文字列記録指示コマンドにおいて、所定の文字コードで表現された文字のそれぞれは、80mm用フォントテーブル35aに格納されたいずれかのフォントデータと対応関係にあり、この対応関係を示す情報が記憶部35に予め記憶されている。例えば、各文字コードと、各文字コードに対応するフォントデータの位置(80mm用フォントテーブル35aにおける記憶領域のアドレス)とが対応づけて記憶されたテーブルが記憶部35に予め記憶されている。
【0027】
文字列記録指示コマンドに基づいてロール紙に文字列を記録する際、記録制御部40は、80mm用フォントテーブル35a、及び、文字コードとフォントデータとの対応関係を示す情報を参照して、当該文字列を構成する各文字のフォントデータを取得し、所定の装飾を施すことが専用のコマンドにより指示されている場合は、当該装飾を反映した上で、取得したフォントデータに基づいて、プリントバッファー(不図示)に文字列に係る描画データ(ビットマップデータ)を展開する。
次いで、記録制御部40は、プリントバッファーに展開した当該文字列に係る描画データに基づいて、プリントエンジン33を制御して、ロール紙に文字列に係る画像を構成するドットを形成することにより、文字列記録指示コマンドが指定する文字列に係る画像を記録する。
【0028】
ところで、上述したように、本実施形態では、レシートプリンターRP、ドリンクプリンターDP、及び、キッチンプリンターKPのそれぞれは、同一機種のプリンター11である。
このように、用途にかかわらず、各プリンター11を同一機種とすることにより、以下のメリットがある。
すなわち、全てのプリンター11の操作方法が同一であるため操作性がよく、全てのプリンター11に対して、同様に、保守、メンテナンスをすればよいため、各プリンター11の管理が容易である。また、同一機種のプリンター11を、予備のプリンター11として補完しておけば、いずれのプリンター11が故障した場合であっても、対応可能であり、コストの面でもメリットがある。また、プリンター11を製造、販売する主体にとっても、複数のプリンター11を同時に販売することができ、メリットがある。
一方で、以下のようなデメリットある。
すなわち、レシートプリンターRPは80mmのロール紙を使用し、キッチンプリンターKPは80mmの全面ラベル用紙16を使用する一方、ドリンクプリンターDPは40mmの全面ラベル用紙16を使用しており、用途によって、使用する記録媒体の幅が異なっている。
そして、幅に応じて文字を記録する際に使用するフォントデータのサイズが異なるため、80mmの記録媒体用のフォントデータと、40mmの記録媒体用のフォントデータとのそれぞれを用意する必要がある。
これを踏まえ、従来は、80mm用フォントテーブル35aのほかに、40mmの記録媒体に記録する文字のフォントデータを格納するフォントテーブルを事前に記憶部35に記憶しておき、40mmの記録媒体に文字を記録する場合は、当該フォントテーブルに基づいて記録するようにしていた。
しかしながら、この場合、40mm用のフォントテーブルを記憶する分、事前に記憶部35に記憶すべきデータのデータ量が増大し、記憶部35が備える記憶媒体における記憶領域を確保する必要があり、コストの増大を招く可能性があった。
以上を踏まえ、本実施形態に係るプリンター11は、以下の動作を行うことにより、事前に記憶すべきフォントデータのデータ量の増大を抑制しつつ、記録媒体の幅が変更された場合、制御装置に対する改変をできるだけ行うことなく、記録媒体の幅の変更に伴う文字のサイズを変更可能としている。
【0029】
図4は、プリンター11の動作を示すフローチャートである。
図4のフローチャートは、プリンター11による記録媒体への画像の記録が行われる前に、所定の事象をトリガーとして行われる動作を示している。
以下の説明において、幅検出部41、及び、紙幅対応画像データ生成部42の機能は、CPUがファームウェアを実行する等、ハードウェアとソフトウェアとの協働により実現される。
まず、プリンター11の制御部20の紙幅対応画像データ生成部42は、プリンター11の電源がオンされたか、又は、セットされた記録媒体(ロール紙又は全面ラベル用紙16)の交換が行われたか否かを監視する(ステップSA1)。上記ステップSA1では、セットされた記録媒体の紙幅が変更された可能性があるか否かを判別しており、従って、ステップSA2以下の処理は、セットされた記録媒体の紙幅が変更された可能性がある場合に行われる処理である。
次いで、紙幅対応画像データ生成部42は、所定量だけ記録媒体を搬送し、搬送中のブラックマークセンサー19の検出値に基づいて、セットされている記録媒体が、ロール紙であるか、全面ラベル用紙16であるかを検出する(ステップSA2)。セットされている記録媒体がロール紙であれば、プリンター11はレシートプリンターRPであり、また、全面ラベル用紙16であれば、プリンター11はドリンクプリンターDPか、又は、キッチンプリンターKPである。
次いで、幅検出部41は、紙幅センサー37の検出値に基づいて、セットされている記録媒体の幅が、40mmであるか、80mmであるかを検出する(ステップSA3)。
セットされている記録媒体の幅が80mmである場合(ステップSA3:80mm)、紙幅対応画像データ生成部42は処理を終了する。この場合、文字列に係る画像を記録する際は、プリンター11の記録制御部40は、80mm用フォントテーブル35aに基づいて、文字列に係る画像を記録することとなる。
一方、セットされている記録媒体の幅が40mmである場合(ステップSA3:40mm)、紙幅対応画像データ生成部42は、40mm用フォントテーブルを生成し、RAMに記憶する(ステップSA4)。
以下、ステップSA4の処理について詳述する。
【0030】
40mm用フォントテーブルとは、40mmの記録媒体に記録される文字のフォントデータを格納するテーブルである。従って、40mm用フォントテーブルに格納されたフォントデータのそれぞれのサイズは、40mmの記録媒体に適したサイズである。
ここで、40mmの記録媒体は、80mmの記録媒体の1/2の幅であるが、本実施形態では、40mm用のフォントデータのサイズとしては、80mm用のフォントデータの縦横のドット数をそれぞれ1/2としたときのサイズが最も適していることが事前の実験、シミュレーションにより判明している。例えば、80mm用のフォントデータのサイズが、縦24ドット×横16ドットである場合、40mm用のフォントデータのサイズとしては、縦12ドット×横8ドットが、40mmの記録媒体に記録する文字に係るフォントデータのサイズとして、最適であることが判明している。
これを踏まえ、紙幅対応画像データ生成部42は、80mm用フォントテーブル35aに基づいて、40mm用フォントテーブルを以下のようにして生成する。
【0031】
図5は、ステップSA4における紙幅対応画像データ生成部42の処理を説明するための図である。
図5(A)は、80mm用のフォントデータの一例であり、図5(B)は、後述する第1縮小後のフォントデータの一例であり、図5(C)は、後述する第2縮小後のフォントデータ(40mm用のフォントデータ)の一例である。
以下、図5(A)に示す80mm用のフォントデータに基づいて、図5(C)に示す40mm用のフォントデータを生成する場合を例にして説明する。
図5(A)に示すように、80mm用のフォントデータは、白黒2値(黒を示すドットが値「1」、白を示すドットが値「0」)のビットマップデータであり、そのサイズは、縦24ドット、横16ドットである。
図5(A)に示すように、図5(A)の80mm用フォントデータ(以下、「縮小前フォントデータ」という。)では、上から下へ向かって順に行A1〜行A24の24個の行と、左から右へ向かって順に列A1〜列A16の16個の列とが形成されている。
また、図5(B)に示すように、第1縮小後のフォントデータ(以下、「第1フォントデータ」という)では、上から下へ向かって順に行B1〜行B24の24個の行と、左から右へ向かって順に列B1〜列B8の8個の列とが形成されている。
また、図5(C)に示すように、第2縮小後のフォントデータ(以下、「第2フォントデータ」という。40mm用フォントデータのことである。)では、上から下へ向かって順に行C1〜行C12の12個の行と、左から右へ向かって順に列C1〜列C8の8個の列とが形成されている。
【0032】
まず、紙幅対応画像データ生成部42は、以下のような方法で、第1縮小を行い、縮小前フォントデータに基づいて第1フォントデータを生成する。
詳述すると、第1縮小に係る処理において、まず、紙幅対応画像データ生成部42は、縮小前フォントデータの列A1と、列A2とにおける、左右方向に隣接する各ドットについて、論理和をとり、論理和の結果を、第1フォントデータの列B1における対応する各ドットの値とする。
具体的には、紙幅対応画像データ生成部42は、縮小前フォントデータの行A1、列A1のドット(値「0」)と、行A1、列A2のドット(値「0」)との論理和をとり、その結果(値「0」)を、第1フォントデータの行B1、列B1のドットの値とする。同様にして、紙幅対応画像データ生成部42は、縮小前フォントデータの行A2、列A1のドット(値「0」)と、行A2、列A2のドット(値「0」)との論理和をとり、その結果(値「0」)を、第1フォントデータの行B2、列B1のドットの値とする。このようにして、紙幅対応画像データ生成部42は、列A1の各ドット(行A1〜行A24、列A1の24個のドット)と、列A2の各ドット(行A1〜行A24、列A2の24個のドット)との論理和をとり、その結果を、第1フォントデータの列B1の各ドット(行B1〜行B24、列B1の24個のドット)の値とする。
次いで、紙幅対応画像データ生成部42は、列A3の各ドットと、列A4の各ドットの論理和をとり、論理和の結果を、第1フォントデータの列B2における対応する各ドットの値とする。
このようにして、紙幅対応画像データ生成部42は、縮小前フォントデータにおける2つの隣接する列ごとに、対応するドットの論理和をとり、その結果を第1フォントデータの対応する列における対応するドットの値とする。「縮小前フォントデータにおける2つの隣接する列ごとに」とは、具体的には、列A1と列A2、列A3と列A4、列A5と列A6・・・列A15と列A16である。
その際、紙幅対応画像データ生成部42は、論理和をとる対象となった左右に隣接するドットについて、条件1.縮小前フォントデータにおける隣接するドットの組み合わせが、左に配置されたドットの値が値「0」であり、かつ、右に配置されたドットの値が「1」である、条件2.当該隣接するドットに対応する第1フォントデータのドットについて、左隣に配置されたドットの値が値「1」である、という2つの条件を満たす場合は、論理和の結果にかかわらず、当該隣接するドットに対応する第1フォントデータのドットの値を値「0」とする。
【0033】
図6は、条件1、及び、条件2を説明するための図である。
図6(A)は、本願発明を適用した場合における縮小前フォントデータと、第1フォントデータとの関係を示す図であり、図6(A1)は、縮小前フォントデータにおける行A4、列A5〜列A10の6つのドットを示し、図6(A2)は、第1フォントデータにおける行B4、列B3のドット(縮小前フォントデータにおける行A4、列A5のドット、及び、行A4、列A6のドットの論理和の結果を反映してその値が決定されるドット)、行B4、列B4のドット(縮小前フォントデータにおける行A4、列A7のドット、及び、行A4、列A8のドットの論理和の結果を反映してその値が決定されるドット)、及び、行B4、列B5のドット(縮小前フォントデータにおける行A4、列9のドット、及び、行A4、列A10のドットの論理和の結果を反映してその値が決定されるドット)を示している。
図6(A1)の例では、行A4、列A7のドット、及び、行A4、列A8のドットが、上述した条件1、2を満たしている。具体的には、これら論理和をとる対象となった隣接するドットのうち、左に配置されたドットである行A4、列A7のドットの値が値「0」であり、かつ、右に配置されたドットである行A4、列A8のドットの値が「1」である。従って、条件1を満たしている。さらに、当該隣接するドットに対応する第1フォントデータのドットである行B4、列B4のドットについて、左隣に配置されたドットである行B4、列B3のドットの値が値「1」である。従って、条件2を満たしている。
そして、行A4、列A7のドット、及び、行A4、列A8のドットが、上述した条件1、2を満たしているため、紙幅対応画像データ生成部42は、これら隣接するドットについては、論理和の結果(値「1」)にかかわらず、第1フォントデータにおける対応するドット(行B4、列B4のドット)の値を値「0」とする。
【0034】
上述した例外的な処理を行うのは、以下の理由による。
図6(B)は、本願発明に係る上述した例外的な処理を行わない場合における縮小前フォントデータと、第1フォントデータとの関係を示す図である。
図6(B)に示すように、上述した例外的な処理を行わず、一律に、縮小前フォントデータにおける隣接するドットの論理和の結果を、第1フォントデータにおける対応するドットの値とした場合、縮小前フォントデータにおける行A4、列6のドット、及び、行A4、列A7のドットによって形成される白の部分が、第1フォントデータでは削除されてしまい、いわゆる黒潰れが発生する。
一方で、論理和をとる対象となった隣接するドットについて、条件1、及び、条件2を満たす場合は、論理和の結果にかかわらず第1フォントデータにおける対応するドットの値を値「0」とすることにより、図6(A)に示すように、縮小前フォントデータにおける行A4、列A7のドットが値「0」であることを反映して、第1フォントデータにおける行B4、列B4のドットが値「0」となり、黒潰れを効果的に防止できる。特に、条件2に示すように、第1フォントデータにおける左隣のドットの値が「1」の場合にのみ、上述した例外的な処理が行われるため、第1フォントデータにおいて値「1」のドットが隣接して配置される場合、すなわち、黒潰れが発生する場合にのみ、適切に、黒潰れを防止する処理が行われることとなる。
【0035】
以上のようにして、第1縮小を行い、図5(B)に示す第1フォントデータを生成した後、紙幅対応画像データ生成部42は、第2縮小を行い、生成した第1フォントデータに基づいて、図5(C)に示す第2フォントデータを生成する。この第2フォントデータが、40mm用のフォントデータに該当する。
第2縮小に係る処理において、まず、紙幅対応画像データ生成部42は、第1フォントデータの行B1と、行B2とにおける、上下方向に隣接する各ドットについて、論理和をとり、論理和の結果を、第2フォントデータの行C1における対応する各ドットの値とする。
具体的には、紙幅対応画像データ生成部42は、第1フォントデータの行B1、列B1のドット(値「0」)と、行B2、列B1のドット(値「0」)との論理和をとり、その結果(値「0」)を、第2フォントデータの行C1、列C1のドットの値とする。同様にして、紙幅対応画像データ生成部42は、第1フォントデータの行B1、列B2のドット(値「0」)と、行B2、列B2のドット(値「1」)との論理和をとり、その結果(値「1」)を、第2フォントデータの行C1、列C2のドットの値とする。このようにして、紙幅対応画像データ生成部42は、行B1の各ドット(行B1、列B1〜列B8の8個のドット)と、行B2の各ドット(行B2、列B1〜列B8の8個のドット)との論理和をとり、その結果を、第2フォントデータの行C1の各ドット(行C1、列C1〜列C8の8個のドット)の値とする。
次いで、紙幅対応画像データ生成部42は、第1フォンとデータについて、行B3の各ドットと、行B4の各ドットの論理和をとり、論理和の結果を、第2フォントデータの列C2における対応する各ドットの値とする。
このようにして、紙幅対応画像データ生成部42は、第1フォントデータにおける2つの隣接する行ごとに、対応するドットの論理和をとり、その結果を第2フォントデータの対応する行における対応するドットの値とする。「第1フォントデータにおける2つの隣接する行ごとに」とは、具体的には、行B1と行B2、行B3と行B4、行B5と行B6・・・行B23と行B24である。
その際、紙幅対応画像データ生成部42は、論理和をとる対象となった上下に隣接するドットについて、条件3.第1フォントデータにおける隣接するドットの組み合わせが、上に配置されたドットの値が値「0」であり、かつ、下に配置されたドットの値が「1」である、条件4.当該隣接するドットに対応する第2フォントデータのドットについて、上隣に配置されたドットの値が値「1」である、という2つの条件を満たす場合は、論理和の結果にかかわらず、当該隣接するドットに対応する第2フォントデータのドットの値を値「0」とする。条件3は、上述した条件1に対応する条件であり、条件4は、上述した条件2に対応する条件である。
【0036】
図7は、条件3、及び、条件4を説明するための図である。
図7は、本願発明を適用した場合における第1フォントデータと、第2フォントデータとの関係を示す図であり、図7(A)は、第1フォントデータにおける行B19〜行B24、列B7の6つのドットを示し、図7(B)は、第2フォントデータにおける行C10、列C7のドット(第1フォントデータにおける行B19、列B7のドット、及び、行B20、列B7のドットの論理和の結果を反映してその値が決定されるドット)、行C11、列C7のドット(第1フォントデータにおける行B21、列B7のドット、及び、行B22、列B7のドットの論理和の結果を反映してその値が決定されるドット)、及び、行C12、列C7のドット(第1フォントデータにおける行B23、列B7のドット、及び、行B24、列B7のドットの論理和の結果を反映してその値が決定されるドット)を示している。
図7(A)の例では、行B21、列B7のドット、及び、行B22、列B7のドットが、上述した条件3、4を満たしている。具体的には、これら隣接するドットのうち、上に配置されたドットである行B21、列B7のドットの値が値「0」であり、かつ、下に配置されたドットである行B22、列B7のドットの値が「1」である。従って、条件3を満たしている。さらに、当該隣接するドットに対応する第2フォントデータのドットである行C11、列C7のドットについて、上隣に配置されたドットである行C10、列C7のドットの値が値「1」である。従って、条件4を満たしている。
そして、行B21、列B7のドット、及び、行B22、列B7のドットが、上述した条件3、4を満たしているため、紙幅対応画像データ生成部42は、これら隣接するドットについては、論理和の結果(値「1」)にかかわらず、図7(B)に示すように、第2フォントデータにおける対応するドット(行C11、列C7のドット)の値を値「0」とする。
このような例外的な処理を行うのは、上述した第1縮小と同様、黒潰れを効果的に防止することを目的としている。
【0037】
以上のようにして、紙幅対応画像データ生成部42は、80mm用フォントテーブル35aに格納された80mm用のフォントデータのそれぞれに基づいて、40mm用のフォントデータを生成し、生成した40mm用のフォントデータのそれぞれを格納した40mm用フォントテーブル生成し、制御部20が備えるRAMに記憶する。生成された40mm用のフォントデータは、80mm用のフォントデータの縦、横のドット数がそれぞれ1/2となっており、40mm幅のロール紙、又は、全面ラベル用紙16に記録する文字のフォントデータのサイズとして適切なサイズである。
【0038】
さて、前掲図4に戻り、ステップSA4において、40mm用フォントテーブルを生成し、記憶した後、紙幅対応画像データ生成部42は、40mmフォントテーブルに格納された40mm用のフォントデータのそれぞれについて、文字コードとの対応関係を示す情報を生成し、生成した情報を制御部20のRAMに記憶する(ステップSA5)。40mm用のフォントデータと、文字コードとの対応付けは、80mm用フォントテーブル35aに格納された80mm用のフォントデータと、文字コードとの対応関係を踏まえて適切に行われる。
【0039】
以後、記録制御部40は、40mm用フォントテーブルがRAMに記憶されている場合、換言すれば、40mm幅のロール紙又は全面ラベル用紙16がセットされている場合は、文字の記録に際し、40mm用のフォントテーブルに基づいて文字の記録を実行する。詳述すると、40mmのロール紙又は全面ラベル用紙16がセットされており、従って、40mm用フォントテーブルがRAMに記憶されている場合において、ホストコンピューター10から入力された文字列記録指示コマンドを実行する場合、記録制御部40は、40mm用フォントテーブル、及び、文字コードと40mm用のフォントテーブルにおけるフォントデータとの対応関係を示す情報を参照して、当該文字列を構成する各文字のフォントデータを取得し、取得したフォントデータに基づいて文字列を記録する。
なお、本実施形態では、40m用フォントテーブルに格納された40mm用のフォントデータが、紙幅対応画像データに該当する。
【0040】
このように、本実施形態に係るプリンター11は、ステップSA3において40mm幅のロール紙又は全面ラベル用紙16がセットされていると判別された場合は、80mm用フォントテーブル35aに基づいて、40mm用フォントテーブルを生成し、RAMに記憶し、以後は、記録制御部40は、RAMに記憶された40mm用フォントテーブルに基づいて文字を記録する。これにより、以下の効果を得ることができる。
すなわち、上記構成によれば、40mmのロール紙又は全面ラベル用紙16がセットされている場合にはじめて、80mm用フォントテーブル35aに基づいて40mm用フォントテーブルが生成され、RAMに記憶される構成であるため、40mm用フォントテーブルを予め記憶部35に記憶させる必要がない。従って、40mm用フォントテーブルを予め記憶部35に記憶させる必要がない分、記憶部35の記憶媒体において確保すべき記憶容量を減少させることができる。
さらに、上述した実施形態では、ホストコンピューター10は、プリンター11にセットされているロール紙又は全面ラベル用紙16が40mmか80mmかによって、制御コマンドの態様を変える必要がない。なぜなら、40mm幅のロール紙又は全面ラベル用紙16がセットされている場合は、プリンター11側で、自動で、40mm用フォントテーブルが生成され記憶されると共に、文字コードと、40mm用のフォントテーブルにおける各フォントデータとの対応関係を示す情報が生成され記憶され、以後、記録制御部40は、文字列記録指示コマンドを実行する場合、40mm用フォントテーブルに基づいて文字列を記録するからである。このため、ホストコンピューター10に対する改変をできるだけ行いたくないとするニーズに応えることが可能である。
【0041】
以上説明したように、本実施形態に係るプリンター11は、80mm用フォントテーブル35aを記憶する記憶部35と、記録媒体たるロール紙又は全面ラベル用紙16の幅を検出する幅検出部41と、幅検出部41により検出された記録媒体の幅が40mmである場合には、記憶部35に記憶された80mm用フォントテーブル35aに格納されたフォントデータを縮小して、40mm用のフォントデータが格納された40mm用フォントテーブルを生成し、記憶する紙幅対応画像データ生成部42と、幅検出部41により検出された記録媒体の幅が40mmである場合において、ホストコンピューター10から所定の文字列を記録させる文字列記録指示コマンドが入力された場合、40mm用フォントテーブルに基づいて、当該所定の文字列を記録する記録制御部40と、を備えている。
これによれば、40mm用フォントテーブルを事前に記憶部35に記憶するのではなく、セットされた記録媒体の幅が40mmの場合に初めて、80mm用フォントテーブル35aに格納されたフォントデータのそれぞれを縮小して、40mm用フォントテーブルを生成してRAMに記憶し、記憶した40mm用のフォントテーブルに基づいて文字列を記録する構成であるため、事前に記憶部35に記憶すべきフォントデータのデータ量の増大を抑制できる。さらに、40mmの記録媒体がセットされている場合は、プリンター11側で、自動で、40mm用フォントテーブルを生成して、記憶し、以後、ホストコンピューター10から所定の文字列を記録させる文字列記録指示コマンドが入力された場合、当該40mm用フォントテーブルを用いて文字列を記録する構成であるため、例えば、ホストコンピューター10側で、文字を縮小させる特殊なコマンドを生成し出力することなく、記録媒体の幅に応じたサイズのフォントデータを用いて文字列の記録を実行でき、ホストコンピューター10に対する改変をできるだけ行わないようにすることができる。
【0042】
また、本実施形態では、紙幅対応画像データ生成部42は、電源が投入されたこと、又は、セットされた記録媒体の幅が変わったことをトリガーとして、40mm用フォントテーブルを生成する。
これによれば、セットされた記録媒体の幅が変更された可能性がある適切なタイミングで、記録媒体の幅に対応したフォントデータ生成することが可能となる。
【0043】
また、本実施形態では、80mm用のフォントデータは、白黒2値のビットマップデータである。そして、紙幅対応画像データ生成部42は、80mm用のフォントデータを縮小して、40mm用のフォントデータを生成する際、80mm用のフォントデータに対して、所定の規則で、隣接するドットの論理和をとり、論理和の結果を反映して、当該隣接するドットに対応する40mm用のフォントデータのドットの値を決定する一方、80mm用のフォントデータにおける隣接するドットの態様が、黒潰れを防止すべく設定された所定の条件を満たす場合は、論理和の結果にかかわらず当該隣接するドットに対応する40mm用のフォントデータのドットの値を所定の値とする。
より具体的には、紙幅対応画像データ生成部42は、隣接するドットについて、当該隣接するドットの値の組み合わせが所定の組み合わせであり(条件1、3)、かつ、40mmフォントデータにおける当該隣接するドットに対応するドットと、周辺の他のドットとの関係が所定の関係にある場合(条件2、4)は、当該隣接するドットに対応する前記紙幅対応フォントデータのドットの値を値「0」とする。
これによれば、上述したように、縮小後のフォントデータにおける黒潰れを効果的に抑制可能である。
【0044】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、80mm用のフォントデータを縮小して、40mm用のフォントデータを生成する場合を例にして発明を説明したが、フォントデータの縮小の態様はこれに限るものではない。例えば、80mm、40mmのロール紙又は全面ラベル用紙16のほかに、60mmのロール紙又は全面ラベル用紙16をセット可能な場合は、80mm用のフォントデータに基づいて、60mm用のフォントデータを生成し、RAMに記憶するようにしてもよい。この場合、80mm幅から60mm幅への幅の縮小率を踏まえて、既存のビットマップデータの縮小アルゴリズムを用いて、80mm用のフォントデータを縮小させて60mm用のフォントデータを生成するようにすればよい。
また、セットされた記録媒体の幅に応じて、記憶部35に記憶されたフォントデータを拡大して、セットされた記録媒体の幅に応じたサイズのフォントデータを生成し、RAMに記憶するようにしてもよい。例えば、40mm用のフォントデータを予め記憶部35に記憶しておき、80mmの記録媒体がセットされていることが検出された場合に初めて、既存のビットマップデータの拡大アルゴリズムを用いて、40mm用のフォントデータを拡大して、80mm用のフォントデータを生成しRAMに記憶するようにしてもよい。
また、上述した実施形態では、セットされたロール紙又は全面ラベル用紙16の幅に応じて、フォントデータを縮小(拡大でもよい)して、幅に応じたフォントデータを生成する構成であったが、縮小の対象となるデータは、フォントデータに限らない。例えば、所定のグラフィック画像の画像データを記憶部35に記憶しておき、当該所定のグラフィック画像を記録する場合、記憶部35に記憶した画像データに基づいて当該所定のグラフィック画像を記録する構成であるとした場合において、セットされたロール紙又は全面ラベル用紙16の幅に応じて、グラフィック画像の画像データを縮小(拡大でもよい)して、幅に応じた画像データを生成し、RAMに記憶し、以後は、RAMに記憶した画像データに基づいて、グラフィック画像を記録する構成であってもよい。この場合であっても、予め記憶部35に記憶させるべきデータのデータ容量を少なくすることができる。
【0045】
また、例えば、図3に示す各機能部はハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
また、上記実施形態では、プリンター11自体が制御部20を備えていたが、例えば、制御部20の機能を、プリンター11に外部接続される別の装置に持たせるようにしても良い。
また、本発明は、サーマル式のプリンターに限らず、インクジェット式プリンター、ドットインパクト式プリンター、レーザープリンター、熱昇華型プリンター等の任意の形式のプリンターに適用可能である。また、ATMにおけるプリンター等、他の装置に組み込まれるプリンターであってもよい。また、CDのレーベル面や、DVDのレーベル面等の紙以外の媒体に記録するものでもよい。
また、本発明を適用可能なプログラムは、ホストコンピューター10に搭載されるプリンタードライバーに含むものであってもよい。
また、上記のフローチャートの各ステップを実行するプログラムを、プリンター11の外部の記憶媒体に記憶させたものを読み出して、制御部20により実行させることもできる。
【符号の説明】
【0046】
1…記録システム、10…ホストコンピューター(制御装置)、11…プリンター(記録装置)、16…全面ラベル用紙(記録媒体)、20…制御部、33…プリントエンジン、35…記憶部(画像データ記憶部)、40…記録制御部、41…幅検出部、42…紙幅対応画像データ生成部。

【特許請求の範囲】
【請求項1】
制御装置に接続可能な記録装置であって、
記録媒体に記録する画像の画像データを記憶する画像データ記憶部と、
前記記録媒体の幅を検出する幅検出部と、
前記画像データ記憶部に記憶された前記画像データに基づいて、前記幅検出部により検出された前記記録媒体の幅に応じた紙幅対応画像データを生成する紙幅対応画像データ生成部と、
前記制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る前記紙幅対応画像データに基づいて前記記録媒体に記録する記録制御部と、を備えることを特徴とする記録装置。
【請求項2】
前記紙幅対応画像データ生成部は、前記幅検出部により検出された前記記録媒体の幅に応じて前記画像データ記憶部に記憶された前記画像データを縮小又は拡大して前記紙幅対応画像データを生成し、記憶し、
前記記録制御部は、
前記制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る前記紙幅対応画像データに基づいて、縮小又は拡大された当該所定の画像を前記記録媒体に記録することを特徴とする請求項1に記載の記録装置。
【請求項3】
前記画像データは、白黒2値のビットマップデータであり、
前記紙幅対応画像データ生成部は、
前記画像データを縮小して、前記紙幅対応画像データを生成する際、
前記画像データに対して、隣接するドットの論理和をとり、論理和の結果を反映して、当該隣接するドットに対応する前記紙幅対応画像データのドットの値を決定する一方、
前記画像データにおける隣接するドットの態様が、前記紙幅対応画像データにおける黒潰れを防止すべく設定された所定の条件を満たす場合は、論理和の結果にかかわらず当該隣接するドットに対応する前記紙幅対応画像データのドットの値を所定の値とすることを特徴とする請求項2に記載の記録装置。
【請求項4】
前記紙幅対応画像データ生成部は、
前記画像データにおける隣接するドットについて、
当該隣接するドットの値の組み合わせが所定の組み合わせであり、かつ、前記紙幅対応画像データにおける当該隣接するドットに対応するドットと、周辺の他のドットとの関係が所定の関係にある場合は、当該隣接するドットに対応する前記紙幅対応画像データのドットの値を白を示す値とすることを特徴とする請求項3に記載の記録装置。
【請求項5】
前記紙幅対応画像データ生成部は、
前記記録装置の電源が投入されたこと、又は、前記記録装置の前記記録媒体が交換されたことをトリガーとして、前記紙幅対応画像データの生成を行うことを特徴とする請求項1ないし4のいずれかに記載の記録装置。
【請求項6】
制御装置に接続可能であり、記録媒体に記録する画像の画像データを記憶する画像データ記憶部を備える記録装置の制御方法であって、
前記記録媒体の幅を検出し、前記画像データ記憶部に記憶された前記画像データに基づいて、前記幅検出部により検出された前記記録媒体の幅に応じた紙幅対応画像データを生成し、
前記制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る前記紙幅対応画像データに基づいて前記記録媒体に記録することを特徴とする記録装置の制御方法。
【請求項7】
前記記録媒体の幅を検出し、検出した前記記録媒体の幅に応じて前記画像データ記憶部に記憶された前記画像データを縮小又は拡大して、紙幅対応画像データを生成し、記憶し、
前記制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る前記紙幅対応画像データに基づいて、縮小又は拡大された当該所定の画像を前記記録媒体に記録することを特徴とする請求項6に記載の記録装置の制御方法。
【請求項8】
制御装置に接続可能であり、記録媒体に記録する画像の画像データを記憶する画像データ記憶部を備える記録装置の各部を制御する制御部により実行されるプログラムであって、
前記制御部を、
前記記録媒体の幅を検出する幅検出部と、
前記画像データ記憶部に記憶された前記画像データに基づいて、前記幅検出部により検出された前記記録媒体の幅に応じた紙幅対応画像データを生成する紙幅対応画像データ生成部と、
前記制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る前記紙幅対応画像データに基づいて前記記録媒体に記録する記録制御部と、として機能させることを特徴とするプログラム。
【請求項9】
制御装置に接続可能であり、記録媒体に記録する画像の画像データを記憶する画像データ記憶部を備える記録装置の各部を制御する制御部により実行されるプログラムであって、
前記制御部を、
前記記録媒体の幅を検出する幅検出部と、
前記幅検出部により検出された前記記録媒体の幅に応じて前記画像データ記憶部に記憶された前記画像データを縮小又は拡大して、紙幅対応画像データを生成し、記憶する紙幅対応画像データ生成部と、
前記制御装置から所定の画像を記録させるコマンドが入力された場合、当該所定の画像に係る前記紙幅対応画像データに基づいて、縮小又は拡大された当該所定の画像を前記記録媒体に記録する記録制御部と、として機能させることを特徴とするプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2012−245688(P2012−245688A)
【公開日】平成24年12月13日(2012.12.13)
【国際特許分類】
【出願番号】特願2011−118797(P2011−118797)
【出願日】平成23年5月27日(2011.5.27)
【出願人】(000002369)セイコーエプソン株式会社 (51,324)
【Fターム(参考)】