(57)【要約】【課題】ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、用紙幅が小さな用紙に、印字体裁を保った視認性の良い印刷を実施できるプリンタを提供することである。【解決手段】ホストコンピュータ３から送信された印刷データ５に基づき印刷処理を実行するプリンタ１の制御方法であって、印刷データ５に含まれる各行データｑ０〜ｑ４が予め設定されている縮小幅に収まるか否かを判定するステップＳ１０１と、収まらないと判定した場合に（ステップＳ１０１：Ｎｏ）、行データを構成する各構成データのデータ属性に応じて縮小できる商品名ｓａのフォントサイズを縮小し、縮小後の縮小構成データｓａ１と他の構成データである金額データｓｃ１とによって縮小幅に収まるよう短縮された縮小行データｑｓ１,ｑｓ２を生成するステップＳ１０４と、縮小行データｑｓ１,ｑｓ２に基づき印刷処理を実行するステップＳ１０２と、を有する。【選択図】図３
2010006022.tif 000002
【特許請求の範囲】
【請求項１】
ホストコンピュータから送信された印刷データに基づき印刷するプリンタであって、
前記印刷データを印刷する場合、予め設定されている印刷範囲に収まるか否かを判定し、収まらない場合は、前記印刷データのデータ属性に応じて所定の前記印刷データのフォントサイズを縮小して、実印刷データを生成するデータ展開部と、
前記実印刷データを前記印刷範囲に印刷する印刷実行部と、を有することを特徴とするプリンタ。
【請求項２】
前記データ展開部は、縮小する前記フォントサイズを、前記印刷範囲に収まる範囲で最大のものとすることを特徴とする請求項１に記載のプリンタ。
【請求項３】
前記データ展開部は、所定の前記印刷データのフォントサイズを縮小しても前記印刷範囲に収まらない場合は、前記印刷データの属性に応じて前記印刷データの一部を省略することを特徴とする請求項１に記載のプリンタ。
【請求項４】
前記データ展開部は、前記印刷範囲を印刷幅とすることを特徴とする請求項１から３の何れかに記載のプリンタ。
【請求項５】
前記フォントサイズを縮小する所定の前記印刷データは、少なくとも数字を示すデータ属性を有するものを除く印刷データであることを特徴とする請求項１から４の何れかに記載のプリンタ。
【請求項６】
ホストコンピュータから送信された印刷データに基づき印刷処理を実行するプリンタの制御方法であって、
前記印刷データを印刷する場合、予め設定されている印刷範囲に収まるか否かを判定するステップと、
収まらないと判定した場合に、前記印刷データのデータ属性に応じて所定の前記印刷データのフォントサイズを縮小して、実印刷データを生成するステップと、
前記実印刷データを前記印刷範囲に印刷するステップと、を有することを特徴とするプリンタの制御方法。
【請求項７】
送信された印刷データに基づき印刷するプリンタが接続されるコンピュータに、
前記印刷データを印刷する場合、予め設定されている印刷範囲に収まるか否かを判定するステップと、
収まらないと判定した場合に、前記印刷データのデータ属性に応じて所定の前記印刷データのフォントサイズを縮小して、実印刷データを生成するステップと、
前記実印刷データを前記印刷範囲に印刷するステップと、を実行させることを特徴とするプリンタの動作制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ホストコンピュータから送信された印刷データに基づき印刷処理を実行するプリンタ、プリンタの制御方法及び動作制御プログラムに関する。
【背景技術】
【０００２】
近年、各種の販売店では、レジ打ち作業を軽減するとともに、仕入・棚卸と販売実績を結びつけた在庫管理・発注管理の精度向上を計ることを目的として、ＰＯＳシステムを導入している店舗が多くなっている。
このＰＯＳシステムでは、例えば、販売店の会計場所に設置されているＰＯＳ用のレジスター（ＰＯＳ端末）に、顧客が購入する商品に付与されているバーコードを読み取らせると、その商品の販売情報（商品名、数量、販売金額、販売合計金額、販売時刻など）が記録される一方で、その商品の販売金額等を記載したレシートが発行されるようになっている。
【０００３】
通常、ＰＯＳ端末が読み取った商品の販売情報は、ＰＯＳ端末からホストコンピュータに通知され、ホストコンピュータ側で分析されて、在庫管理・発注管理等に利用される。
また、ＰＯＳシステムでは、ＰＯＳ端末から商品の販売情報を受けたホストコンピュータが、その販売情報を所定の印刷用紙幅に収まるように配置したレシート印刷データを生成し、生成したレシート印刷データをプリンタに出力することで、レシートの発行を行う。
ホストコンピュータには、ＰＯＳ端末から受けた商品の販売情報に基づいて販売情報に含まれる各種のデータの配置を指定したレシート印刷データを生成するレシート印刷用のアプリケーションプログラムと、このアプリケーションプログラムが生成したレシート印刷データをプリンタに出力するプリンタドライバとが、搭載されている。
【０００４】
また、レシート印刷データには、通常、販売店舗名、店舗の連絡先、販売日時、販売した商品名、販売数量、商品毎の販売金額、販売合計金額、店舗の広告用の文章などのデータが含まれる。レシート印刷データを生成するアプリケーションプログラムは、レシート印刷データを構成する各種データを、データ種毎に体裁を整えて配置設定をする。
【０００５】
近年では、印刷用紙の節約を目的として、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを改良して、例えば印刷する文字のフォントサイズを縮小することにより、印刷幅を短縮した縮小印刷データを生成して、より小さな用紙幅の印刷用紙への印刷を実現する技術が各種提案されている（特許文献１参照）。
【０００６】
また、従来のＰＯＳシステムで使用されるプリンタは、収容する用紙幅が固定である場合が多い。このため、用紙の節約等のためにレシート用紙を用紙幅が小さなものに変更するには、プリンタ自体を、その用紙幅に対応するプリンタに置き換える必要がある。そして、プリンタを置き換えた場合には、変更された用紙幅に対応したレシート印刷データをホストコンピュータがプリンタに出力できるように、ホストコンピュータ側に搭載するアプリケーションプログラムやプリンタドライバの変更を行う必要がある。このため、ホストコンピュータへの新しいプログラムの導入等の保守作業に手間がかかる場合がある。
【０００７】
これに対応すべく、上位装置（ホストコンピュータ）から送信される印字データの印字範囲を計算し、要求されている印字範囲に合致するように印字情報（移動、縮小、拡大等）を作成することにより、印字時にその印字情報をもとに印字範囲を変更して印字することにより、要求されている印字範囲の印字する印字装置（プリンタ）が提案されている（特許文献２参照）。このような構成によると、上位装置から送信されるデータが固定範囲の印字データであっても、自動的に印字範囲を合わせて印字することができる。
【０００８】
【特許文献１】特開平０９−２２０８２９号公報
【特許文献２】特開平０５−０００５５２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
特許文献２に記載の印字装置では、印字データを一律に移動、縮小、拡大等している。このため、例えばレシート印刷を行うプリンタに適用して印字データを一律に縮小すると、レシートに印刷される文字サイズが小さくなり過ぎて、レシートに記載される購入商品や購入数量や金額等の各種情報の視認性が低下する虞がある。
具体的には、図５に示すように（ａ）の印刷データを一律に縮小すると、（ｂ）のように、購入商品や購入数量や金額等の各種情報が全体的に小さな文字で印刷されるため、視認性が低下する。
【００１０】
特に、金額データ１０２のような情報は、顧客にとって重要な情報であるため視認性を低下させることなく印刷したい。また、店名１０１のような情報は、縮小せずに１行に収まるデータであるため縮小処理を行う必要がない。このように、縮小処理を行うか否かは、データ属性に応じて異なる場合がある。
【００１１】
本発明の目的は、上記課題を解決するためになされたものであって、プリンタを小さな用紙幅の機種に変更した場合に、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、用紙幅が小さな用紙に、印字体裁を保った視認性の良い印刷を実施でき、小さな用紙幅の用紙の採用による用紙の節約を実現できるプリンタ、プリンタの制御方法及び動作制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決することのできる本発明は、ホストコンピュータから送信された印刷データに基づき印刷するプリンタであって、
前記印刷データを印刷する場合、予め設定されている印刷範囲に収まるか否かを判定し、収まらない場合は、前記印刷データのデータ属性に応じて所定の前記印刷データのフォントサイズを縮小して、実印刷データを生成するデータ展開部と、
前記実印刷データを前記印刷範囲に印刷する印刷実行部と、を有することを特徴とする。
【００１３】
上記構成によれば、ホストコンピュータから送信された印刷データは、プリンタ側のデータ展開部によって、予め設定されている印刷範囲に、所定の前記印刷データのフォントサイズを縮小して実印刷データが生成される。したがって、例えばＰＯＳシステム等において、プリンタを小さな用紙幅の機種に変更した場合に、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、プリンタ側だけで、用紙幅が小さな用紙に印刷することができる。この場合、実印刷データとは実際にプリンタのヘッドで印刷するドットに展開したデータである。
これにより、プリンタの導入時に、ホストコンピュータ側のアプリケーションプログラムやプリンタドライバを変更しなければならないという不便を回避でき、プリンタの導入時における取り扱い性を向上させることができる。さらに、プリンタの変更による小幅の用紙の採用によって、用紙の節約を実現することができる。
また、フォントサイズの縮小は、データ属性に応じて所定の印刷データだけを縮小するので、顧客にとって重要な情報や縮小する必要のない情報は縮小せずに印刷することができる。したがって、小幅の用紙に印字体裁を保った視認性の良い印刷を実施でき、視認性の低下を招くことがない良好な印字体裁の出力結果を提供することができる。
【００１４】
また、本発明のプリンタにおいて、前記データ展開部は、縮小する前記フォントサイズを、前記印刷範囲に収まる範囲で最大のものとすることを特徴とする。
【００１５】
上記構成によれば、印刷データが印刷範囲に収まる範囲まで、フォントサイズを縮小していくことができる。すなわち、プリンタが保持しているフォントサイズの範囲で徐々に縮小していき、実印刷データが印刷範囲に収まる最大のフォントサイズが自動的に指定される。したがって、印刷範囲に収まる範囲内で最大のフォントサイズを指定することができるので、文字サイズが小さくなり過ぎて、内容を確認し難いという不都合が発生しない。また、文字サイズが小さくなり過ぎて、行間等の印字体裁が崩れることも防止できる。
【００１６】
また、本発明のプリンタにおいて、前記データ展開部は、所定の前記印刷データのフォントサイズを縮小しても前記印刷範囲に収まらない場合は、前記印刷データの属性に応じて前記印刷データの一部を省略することを特徴とする。
【００１７】
上記構成によれば、フォントサイズを縮小する所定の前記印刷データをプリンタが保持している最小のフォントサイズに縮小しても、実印刷データが印刷範囲に収まらない場合は、印刷データの一部を省略する。一方、所定の印刷データ以外の他の印刷データは省略することがないため、顧客にとって重要な情報や縮小する必要のない情報からなる印刷データは省略せずに印刷することができるので、視認性の低下を招くことがない良好な印刷体裁の出力結果を提供することができる。
【００１８】
また、本発明のプリンタにおいて、前記データ展開部は、前記印刷範囲を印刷幅とすることを特徴とする。このような構成によれば、プリンタを小さな用紙幅の機種に変更した場合に、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、プリンタ側だけで、用紙幅が小さな用紙に印刷することができる。
また、本発明のプリンタにおいて、前記フォントサイズを縮小する所定の前記印刷データは、少なくとも数字を示すデータ属性を有するものを除く印刷データであることを特徴とする。
【００１９】
印刷データがレシート印刷データである場合、そのデータ中において、販売した商品名、販売数量、商品毎の販売金額等の商品情報は、顧客が購入した商品の内容確認を容易にできるように、なるべく、大きなフォントサイズを使って、視認性に優れた印字体裁にすることが望まれる。特に、顧客にとって販売金額は重要な情報である。上記構成によれば、少なくとも数字を示すデータ属性を有する金額データは縮小できる印刷データではないため、縮小したり省略する印刷データに含まれない。このため金額データが縮小されたり省略されることがない。したがって、顧客にとって購入商品の金額が視認しづらくなることがない。数字に限らず、商品名など所望の特性のデータ特性としてもよい。
【００２０】
また、上記課題を解決することのできる本発明は、ホストコンピュータから送信された印刷データに基づき印刷処理を実行するプリンタの制御方法であって、
前記印刷データを印刷する場合、予め設定されている印刷範囲に収まるか否かを判定するステップと、収まらないと判定した場合に、前記印刷データのデータ属性に応じて所定の前記印刷データのフォントサイズを縮小して、実印刷データを生成するステップと、前記実印刷データを前記印刷範囲に印刷するステップと、を有することを特徴とする。
【００２１】
上記構成によれば、プリンタを小さな用紙幅の機種に変更した場合に、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、プリンタ側において、上記ステップを実行させるだけで、用紙幅が小さな用紙に印刷することが可能になる。したがって、プリンタの導入時に、ホストコンピュータ側のアプリケーションプログラムやプリンタドライバを変更しなければならないという不便を回避でき、プリンタの導入時における取り扱い性を向上させることができる。そして、プリンタの変更による小幅の用紙の採用によって、用紙の節約を実現することができる。
【００２２】
また、上記課題を解決することのできる本発明の動作制御プログラムは、送信された印刷データに基づき印刷するプリンタが接続されるコンピュータに、
前記印刷データを印刷する場合、予め設定されている印刷範囲に収まるか否かを判定するステップと、収まらないと判定した場合に、前記印刷データのデータ属性に応じて所定の前記印刷データのフォントサイズを縮小して、実印刷データを生成するステップと、前記実印刷データを前記印刷範囲に印刷するステップと、を実行させることを特徴とする。
【００２３】
上記構成によれば、動作制御プログラムをファームウエアとしてプリンタに搭載することによって、ホストコンピュータに搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、プリンタ側において、上記ステップを実行させて、用紙幅が小さな用紙に印刷することが可能になる。
したがって、プリンタの導入時に、ホストコンピュータ側のアプリケーションプログラムやプリンタドライバを変更しなければならないという不便を回避でき、プリンタの導入時における取り扱い性を向上させることができる。そして、上記動作制御プログラムを搭載したプリンタを採用することによって、用紙の節約を実現することができる。
【発明を実施するための最良の形態】
【００２４】
以下、本発明に係るプリンタ、およびそのプリンタの制御方法及び動作制御プログラムの実施形態について、図面を参照して詳細に説明する。
図１は本発明に係るプリンタの一実施の形態の構成を示すブロック図、図２（ａ）は図１に示したプリンタがホストコンピュータから送信されたレシート印刷データの構成図、図２（ｂ）は図１に示したプリンタが生成したレシート印刷データの構成図、図２（ｃ）は図１に示したプリンタが生成したレシート印刷データの他の構成図、図３は本実施形態のプリンタで実行する縮小行データの生成と印刷処理を説明するためのフローチャート、図４は図３の縮小処理の詳細を説明するためのフローチャートである。
【００２５】
図１に示したプリンタ１は、ＰＯＳシステムにおいてレシートの発行を行うプリンタで、ホストコンピュータ３から送信された印刷データ５（図２（ａ）参照）に基づき印刷処理を実行する。なお、本実施形態のホストコンピュータ３は、ＰＯＳシステムにおけるＰＯＳ端末の機能を含めた構成となっている。
【００２６】
印刷データ５は、ホストコンピュータ３にインストールされているレシート印刷用のアプリケーションプログラム７が、ＰＯＳ端末から送信された販売商品情報に基づいて作成したレシート印刷データである。レシート印刷データは、ホストコンピュータ３にインストールされているプリンタドライバ９を介してプリンタ１に送信される。
【００２７】
レシート印刷データである印刷データ５には、図２（ａ）に示すように、販売店情報欄Ｄ１、商品情報欄Ｄ２、集計欄Ｄ３が上方から順に配列されている。
販売店情報欄Ｄ１には、販売店舗名ｐ１が設定されている。本実施形態では示していないが、販売店舗名ｐ１の他に販売店舗の連絡先（電話番号）、売り場責任者名、販売日時などの情報がそれぞれ行をずらして設定されてもよい。また、本実施形態では販売店情報欄Ｄ１は販売店舗名ｐ１を含んだ１行分の行データｑ０によって構成されている。
【００２８】
商品情報欄Ｄ２には、販売した各商品に設定される行データｑ１，ｑ２，ｑ３……が配置されている。各行データを構成するデータ種（データ属性）は、商品名ｓａ（所定の印刷データ）、販売金額ｓｃなどであり、用紙幅方向に位置をずらして設定されている。また、集計欄Ｄ３との境界を示す特定の文字列（図２（ａ）の例では、‘−’（ハイフン）が連続した文字列Ｗが設定されている。
【００２９】
商品情報欄Ｄ２の各行データに記載される商品情報の内、商品名ｓａは各行データ間で先頭文字が揃うように該当するデータ領域内での配置が指定される。販売金額ｓｃは、末尾桁が揃うようにそれぞれのデータ領域内での配置が指定される。
【００３０】
また、集計欄Ｄ３には、販売合計金額ｒ１が設定されている。本実施形態では示していないが、販売合計金額ｒ１の他に税額、税別の販売合計金額、販売商品総数や、店舗の広告用の文章などのその他のデータが行をずらして設定されてもよい。また、本実施形態では集計欄Ｄ３は販売合計金額ｒ１を含んだ１行分の行データｑ４によって構成されている。
なお、印刷データ５は、８０ｍｍ幅の印刷用紙用に各行データのデータ領域を配置したものである。
【００３１】
本実施形態のプリンタ１は、ホストコンピュータ３からプリンタドライバ９を介して送信された印刷データ５を、通信インタフェース１１を介して受信して、受信バッファ１３に格納する。
このプリンタ１には、受信バッファ１３に格納された印刷データ５を予め設定した縮小幅に縮小した縮小印刷データ５１（図２（ｂ）（ｃ）参照）に変換してプリントバッファ１４に出力する主制御部１５と、プリントバッファ１４に出力された縮小印刷データ５１（実印刷データ）に基づいて印字ヘッド１７を作動させて印刷処理を実行する印刷実行部１９とが備えられている。印刷実行部１９は、プリンタ１による一連の処理の中で、後述するデータ展開部１５ａが生成する縮小行データｑｓ０〜ｑｓ４を含む縮小印刷データ５１に基づいて印刷処理を実行する。
【００３２】
また、プリンタ１はフォント情報を保持するフォント情報保持部２３を備えている。フォント情報保持部２３には、予め複数サイズのフォントを保持しており、各構成データのフォントサイズを縮小する場合に読み出される。本実施形態では、フォント情報としてフォントＡ（１文字分のサイズが縦２４dot×横１２dot）、フォントＢ（１文字分のサイズが縦１７dot×横９dot）、フォントＣ（１文字分のサイズが縦１７dot×横７dot）を保持している。
【００３３】
本実施形態のプリンタ１は、８０ｍｍ幅に設定された各行データｑ０〜ｑ４が、予め設定されている縮小幅（５８ｍｍ）に収まるか否かを判定する。縮小幅（印刷範囲）に収まらない行データｑ１,ｑ２,ｑ３は、各行データを構成する商品名ｓａ、販売金額ｓｃ、文字列Ｗ等のデータ属性に応じて縮小できる構成データのフォントサイズを縮小する。ここでは、縮小できる構成データは、商品名ｓａ、文字列Ｗである。そして、縮小後の縮小構成データｓａ１,ｓａ２と、他の構成データ（販売金額ｓｃ１,ｓｃ２）と、によって５８ｍｍの縮小幅に収まるよう短縮された縮小行データｑｓ１,ｑｓ２を生成する。また、縮小後の縮小構成データＷｓによって５８ｍｍの縮小幅に収まるよう短縮された縮小行データｑｓ３を生成する。
一方、印字桁が縮小幅に収まる行データｑ０,ｑ４は、構成データ（販売店舗名ｐ１、販売合計金額ｒ１）の縮小処理を行わず、５８ｍｍの縮小幅に収まるよう短縮された縮小行データｑｓ０,ｑｓ４が生成される。
【００３４】
印刷データ５から縮小行データｑｓ０,ｑｓ１,ｑｓ２,ｑｓ３,ｑｓ４を含む縮小印刷データ５１を生成する処理は、主制御部１５のデータ展開部１５ａが行う。
このデータ展開部１５ａは、プリンタ内のプログラム格納部２１に格納されている動作制御プログラム２２に基づいて、印刷データ５を処理する。具体的には、図３及び図４に示す手順で、プリンタ１の印刷動作を制御するものである。以下では、プリンタ１が実行する縮小印刷データの生成方法について詳細に説明する。
【００３５】
ホストコンピュータ３から送信された印刷データ５が受信バッファ１３に一時的に記憶されると、主制御部１５は受信バッファ１３から印刷データ５を構成しているデータを取り出し、改行契機の有無を判定することで１行分ずつのデータ配列を取得する。
まず、行データｑ０を取得すると、設定されている縮小幅５８ｍｍにおいて、行データｑ０の印字桁が１行に収まるか否かを判定する（ステップＳ１０１）。ここでは、行データｑ０の構成データである販売店舗名ｐ１の印字桁は、縮小幅５８ｍｍにおいて１行に収まるため（ステップＳ１０１：Ｙｅｓ）、データ展開部１５ａは、５８ｍｍの縮小幅に収まるよう短縮された縮小行データｑｓ０を生成し、プリントバッファ１４に送る。プリントバッファ１４に送られた縮小行データｑｓ０は、印字契機に応じて印刷ヘッドに送られて印刷実行部１９の制御のもと印刷処理が実行される（ステップＳ１０２）。
【００３６】
データ展開部１５ａは、次の行データｑ１を取得すると、設定されている縮小幅５８ｍｍにおいて、行データｑ１の印字桁が１行に収まるか否かを判定する（ステップＳ１０１）。ここでは、行データｑ１の印字桁は、縮小幅５８ｍｍにおいて１行に収まらないため（ステップＳ１０１：Ｎｏ）、構成データである商品名ｓａ、販売金額ｓｃのフォントサイズを縮小できるか判定する（ステップＳ１０３）。例えば、商品名ｓａ、販売金額ｓｃのフォントとしてフォントＡが指示された場合は、他に縮小フォントとしてフォントＢあるいはフォントＣを保持しているため、フォントサイズの縮小が可能である（ステップＳ１０３：Ｙｅｓ）。ステップＳ１０４において、文字サイズの縮小処理を実行する。
【００３７】
文字サイズの縮小処理については、図４を参照して説明する。
データ展開部１５ａは、行データｑ１を探索し（ステップＳ２０１）、構成データが金額データであるか否かを判定する（ステップＳ２０２）。構成データのうち商品名ｓａは、金額データではないため（ステップＳ２０２：Ｎｏ）、商品名ｓａの文字サイズを縮小する（ステップＳ２０３）。すなわち、指示されたフォントＡをフォントＢに切り替えてフォントサイズを縮小する。
【００３８】
行データｑ１の探索が終了していない場合は（ステップＳ２０４：Ｎｏ）、ステップＳ２０１に戻り、行データの探索を続ける。次の構成データ販売金額ｓｃは、金額データであるため（ステップＳ２０２：Ｙｅｓ）、文字サイズの縮小を行わず行データの探索を終了して（ステップＳ２０４：Ｙｅｓ）、文字サイズの縮小処理を終了する。
【００３９】
なお、ステップＳ２０２において、構成データが金額データであるか否かを判定する方法としては、例えば次の（Ａ）〜（Ｃ）の方法を採用することができる。
（Ａ）行データの終端を金額データの終端と見なす方法。
（Ｂ）ASCIIコードの数字0x31〜0x39（数字の０〜９）で構成されている文字列を、数量や金額の文字列と見なす方法。
（Ｃ）ASCIIコードの数字0x31〜0x39（数字の０〜９）と、金額記号の0x24（＄）又は0x2F（￥）との組み合わせ、小数点記号の0x2E(．）との組み合わせで、金額データと見なす方法。
【００４０】
図３に戻り、商品名ｓａの文字サイズをフォントＡからフォントＢに切り替えた後の行データｑｓ１の印字桁が、１行に収まるかを判定する（ステップＳ１０１）。つまり、フォントＢに切り替えた商品名ｓａ１に続いてフォントＡの販売金額ｓｃ１からなる縮小行データｑｓ１の印字桁が、縮小幅５８ｍｍにおいて１行に収まると判定した場合は（ステップＳ１０１：Ｙｅｓ）、縮小行データｑｓ１をプリントバッファ１４に送る。プリントバッファ１４に送られた縮小行データｑｓ１は、印字契機に応じて印刷ヘッドに送られて印刷実行部１９の制御のもと印刷処理が実行される（ステップＳ１０２：図２（ｂ）参照）。
【００４１】
一方、フォントＢに切り替えた商品名ｓａ１に続いてフォントＡの販売金額ｓｃ１からなる縮小行データｑｓ１の印字桁が、縮小幅５８ｍｍにおいて１行に収まらない場合は（ステップＳ１０１：Ｎｏ）、さらにフォントサイズの縮小が可能か否かを判定する（ステップＳ１０３）。具体的には、商品名ｓａ１のフォントがフォントＢに切り替えられても、他に縮小フォントとしてフォントＣを保持しているため、フォントサイズの更なる縮小が可能である（ステップＳ１０３：Ｙｅｓ）。したがって、ステップＳ１０４において、再び文字サイズの縮小処理を実行することができる。文字サイズの縮小処理については上記説明と重複するため省略する。
【００４２】
商品名ｓａ１の文字サイズをフォントＢからフォントＣに切り替えた場合も行データｑｓ１の印字桁が、１行に収まるかを判定する（ステップＳ１０１）。つまり、フォントＣに切り替えた商品名ｓａ１に続いてフォントＡの販売金額ｓｃ１からなる縮小行データｑｓ１の印字桁が、縮小幅５８ｍｍにおいて１行に収まると判定した場合は（ステップＳ１０１：Ｙｅｓ）、縮小行データｑｓ１をプリントバッファ１４に送り印字契機に応じて印刷ヘッドに送られて印刷実行部１９の制御のもと印刷処理が実行される（ステップＳ１０２）。一方、フォントＣに切り替えた商品名ｓａ１に続いてフォントＡの販売金額ｓｃ１からなる縮小行データｑｓ１の印字桁が、縮小幅５８ｍｍにおいて１行に収まらない場合は（ステップＳ１０１：Ｎｏ）さらにフォントサイズを縮小できるか判定する（ステップＳ１０３）。
【００４３】
ところが、プリンタ１はフォントＣより縮小可能なフォントを備えていないため、フォントサイズの更なる縮小は不可能であると判定し（ステップＳ１０３：Ｎｏ）、フォントＣに切り替えた商品名ｓａ１の一部を省略する（ステップＳ１０５、図２（３）参照）。つまり、フォントＣに切り替えた商品名ｓａ１の最後を表略表示「・・・」によって置き換え、続いてフォントＡの販売金額ｓｃ１からなる縮小行データｑｓ１をプリントバッファ１４に送る。印字契機に応じて印刷ヘッドに送られて印刷実行部１９の制御のもと印刷処理が実行される（ステップＳ１０２：図２（ｃ）参照）。
【００４４】
データ展開部１５ａは、上記処理を行データｑ２についても同様に行う。
次に、データ展開部１５ａは行データｑ３を取得すると、設定されている縮小幅５８ｍｍにおいて、行データｑ３の印字桁が１行に収まるか否かを判定する（ステップＳ１０１）。ここでは、行データｑ３の構成データである文字列Ｗ（ハイフン「−」）の印字桁は、縮小幅５８ｍｍにおいて１行に収まらないため（ステップＳ１０１：Ｎｏ）、文字列Ｗのフォントサイズを縮小できるか判定する（ステップＳ１０３）。文字列Ｗの縮小フォントがある場合は、ステップＳ１０４で縮小処理を実行する。縮小した文字列Ｗｓから構成される縮小行データｑｓ３の印字桁が１行に収まるまで縮小し、縮小行データｑｓ３をプリントバッファ１４に送り、印字契機に応じて印刷ヘッドに送られて印刷実行部１９の制御のもと印刷処理が実行される（ステップＳ１０２：図２（ｂ）,（ｃ）参照）。
【００４５】
次に、データ展開部１５ａは行データｑ４を取得すると、設定されている縮小幅５８ｍｍにおいて、行データｑ４の印字桁が１行に収まるか否かを判定する（ステップＳ１０１）。ここでは、行データｑ４の構成データである販売合計金額ｒ１の印字桁は、縮小幅５８ｍｍにおいて１行に収まるため（ステップＳ１０１：Ｙｅｓ）、データ展開部１５ａは、５８ｍｍの縮小幅に収まるよう短縮された縮小行データｑｓ４を生成し、プリントバッファ１４に送る。プリントバッファ１４に送られた縮小行データｑｓ４は、印字契機に応じて印刷ヘッドに送られて印刷実行部１９の制御のもと印刷処理が実行される（ステップＳ１０２）。
【００４６】
以上に説明した処理により、図２（ｂ）あるいは図２（ｃ）に示した縮小印刷データ５１の各行データが作成され印刷される。
【００４７】
このように、本実施形態のプリンタ１及びその制御方法によれば、ホストコンピュータ３から送信された印刷データ５に含まれる各行データｑ０〜ｑ４は、印刷データ５を受け取るプリンタ１側のデータ展開部１５ａによって、予め設定されている縮小幅に短縮され縮小行データｑｓ０〜ｑｓ４が生成される。したがって、ＰＯＳシステムにおいて、プリンタ１を小さな用紙幅の機種に変更した場合に、ホストコンピュータ３に搭載されるアプリケーションプログラムやプリンタドライバを変更せずとも、プリンタ１側だけで、用紙幅が小さな用紙に印刷することができる。
また、フォントサイズの縮小は、各構成データのデータ属性に応じて、縮小できる構成データ（商品名ｓａ）だけを縮小するので、少なくとも数字を示すデータ属性を有する販売金額ｓｃ等のように顧客にとって重要な情報や、販売店舗名ｐ１等のように縮小する必要のない情報は縮小せずに印刷することができる。このため、小幅の用紙に印字体裁を保った視認性の良い印刷を実施でき、視認性の低下を招くことがない良好な印字体裁の出力結果を提供することができる。
【００４８】
また、本実施の形態のプリンタ１及びその制御方法によれば、縮小行データｑｓ０〜ｑｓ４が縮小幅に収まるまで、フォントサイズをさらに縮小していくことができる。すなわち、プリンタ１が保持しているフォントサイズ（フォントＡ,フォントＢ,フォントＣ）の範囲で構成データを徐々に縮小していき、縮小行データｑｓ０〜ｑｓ４が縮小幅に収まるときのフォントサイズが自動的に指定される。したがって、縮小幅に収まる範囲内で最大のフォントサイズを指定することができるので、文字サイズが小さくなり過ぎて、内容を確認し難いという不都合が発生しづらい。また、文字サイズが小さくなり過ぎて、行間等の印字体裁が崩れることも防止できる。
【００４９】
また、本実施の形態のプリンタ１及びその制御方法によれば、商品名ｓａをプリンタ１に保持している最小のフォントサイズであるフォントＣに縮小しても、縮小行データｑｓ１,ｑｓ２が縮小幅に収まらない場合は、商品名ｓａ１,商品名ｓａ２の一部を省略する。一方、商品名ｓａ１,商品名ｓａ２以外の他の構成データである販売金額ｓｃ１,ｓｃ２は省略することがないため、顧客にとって重要な情報や縮小する必要のない情報からなる構成データは省略せずに印刷することができるので、視認性の低下を招くことがない良好な印字体裁の出力結果を提供することができる。
【００５０】
なお、上記実施形態では、行データｑ１及び行データｑ２を構成する構成データは、商品名ｓａと商品金額ｓｃとによって構成されたが、これに限定するものではない。例えば、商品名ｓａと商品金額ｓｃのほかに商品数量を含めた行データに基づき縮小処理を行うこともできる。この場合は、商品名ｓａだけを縮小あるいは省略表示してもよいし、商品名ｓａ及び商品数量を縮小あるいは省略するよう構成してもよい。
【００５１】
なお、上記実施形態では、一例として、８０ｍｍの印刷用紙を想定した印刷データ５を、５８ｍｍの印刷用紙に縮小印刷する場合を示した。しかし、本発明に係るプリンタ及びその制御方法において、縮小幅は上記実施の形態の例に限定しない。本発明に係るプリンタ及びその制御方法は、更に小幅な用紙に印刷する場合にも応用可能である。
【００５２】
また、本発明に係るプリンタの用途は、ＰＯＳシステム用に限定するものではない。使用する印刷用紙幅が制限されている各種のプリンタに応用可能である。
【図面の簡単な説明】
【００５３】
【図１】本発明に係るプリンタの一実施の形態の構成を示すブロック図である。
【図２】（ａ）は図１に示したプリンタがホストコンピュータから送信されたレシート印刷データの構成図、（ｂ）は図１に示したプリンタが生成したレシート印刷データの構成図、（ｃ）は図１に示したプリンタが生成したレシート印刷データの他の構成図である。
【図３】本実施形態のプリンタで実行する縮小行データの生成と印刷処理を説明するためのフローチャートである。
【図４】図３の縮小処理の詳細を説明するためのフローチャートである。
【図５】（ａ）は従来の縮小処理前の印刷データの構成図、（ｂ）は従来の縮小処理によって縮小された縮小印刷データの構成図である。
【符号の説明】
【００５４】
１：プリンタ、３：ホストコンピュータ、５：印刷データ、７：アプリケーションプログラム、９：プリンタドライバ、１３：受信バッファ、１４：プリントバッファ、１５：主制御部、１５ａ：データ展開部、１７：印字ヘッド、１９：印刷実行部、２１：プログラム格納部、２２：動作制御プログラム、２３：フォント情報保持部、５１：縮小印刷データ、Ｄ１：販売店情報欄、Ｄ２：商品情報欄、Ｄ３：集計欄、ｑ０〜ｑ４：行データ、ｑｓ０〜ｑｓ４：縮小行データ、ｓａ：商品名、ｓｃ：販売金額
【図１】
2010006022.tif 000003
【図２】
2010006022.tif 000004
【図３】
2010006022.tif 000005
【図４】
2010006022.tif 000006
【図５】
2010006022.tif 000007