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