(57)【特許請求の範囲】
【請求項１】
印刷媒体に印刷する印刷部と、
前記印刷部を制御する制御部と、を備え、
前記制御部は、
文字を示す文字情報および前記文字の装飾を示す装飾情報を含む印刷データを取得すると、前記文字情報に対応するフォントデータを行単位で展開した展開データを生成し、
前記展開データにおいて、行方向の上部または下部に所定の余白データを含み、前記装飾情報による文字の装飾を含むときには、前記所定の余白データを削除しないで、前記印刷部による印刷を行い、
前記展開データにおいて、行方向の上部または下部に前記所定の余白データを含み、前記装飾情報による文字の装飾を含まないときには、前記所定の余白データを削除して、前記印刷部による印刷を行い、
前記所定の余白データを削除する場合には、前記フォントデータを構成するドット単位で少なくとも１ドット以上の余白データを残して削除する、印刷装置。
【請求項２】
前記所定の余白データは、前記フォントデータを規定するドット単位で、２ドット以上の余白である請求項１に記載の印刷装置。
【請求項３】
前記装飾情報は、前記展開データの行方向の上部または下部への装飾を指示する情報であり、
前記下部への装飾を指示する前記情報は、下線を指示する情報を含む請求項１又は２に記載の印刷装置。
【請求項４】
前記文字情報に対応する前記フォントデータを記憶する記憶部を備え、
前記制御部は、前記文字情報に対応する前記フォントデータを前記記憶部から読み出して、前記展開データを生成する請求項１から３のいずれかに記載の印刷装置。
【請求項５】
前記制御部は、
前記展開データにおいて、ベースラインよりも上のアセンダ、または、ベースラインよりも下のディセンダに前記所定の余白データが含まれ、前記装飾情報による文字の装飾が含まれないときには、前記アセンダまたは前記ディセンダに対応する前記所定の余白データを削除して、前記印刷部による印刷を行う、請求項１から４のいずれかに記載の印刷装置。
【請求項６】
外部装置から文字コードとコマンドを受信可能な受信部と、
前記文字コードに対応するフォントデータを記憶する記憶部と、
受信した前記文字コードに対応する前記フォントデータを前記記憶部から読み出して、
行単位で展開データとして生成する制御部と、
前記展開データに基づいて印刷する印刷部と、を備え、
前記制御部は、
前記展開データの行方向の上部または下部に余白データを含む場合、前記フォントデータを構成するドット単位で少なくとも１ドット以上の余白データを残して、余白データの削除を行い、
前記文字コードに係る装飾コマンドを受信した場合、前記フォントデータに装飾を施して前記行単位で前記展開データを生成し、前記展開データの行方向の上部または下部に余白データを含む場合であっても、前記余白データの削除を行わない、印刷装置。
【請求項７】
前記文字コードは、１バイトで構成したものか、又は、アルファニューメリックの文字に係るものである、請求項６に記載の印刷装置。
【請求項８】
外部装置と接続可能な印刷装置の制御方法であって、
前記外部装置から文字コードを受信し、前記文字コードに対応するフォントデータを行単位で展開データとして生成して印刷し、
前記展開データの行方向の上部または下部に余白データを含む場合、前記フォントデータを構成するドット単位で少なくとも１ドット以上の余白データを残して、余白データの削除を行い、
前記文字コードに係る装飾コマンドを受信した場合、前記フォントデータに装飾を施して前記行単位で前記展開データを生成し、前記展開データの行方向の上部または下部に余白データを含む場合であっても、前記余白データの削除を行わない、印刷装置の制御方法。
【請求項９】
前記文字コードは、１バイトで構成したものか、又は、アルファニューメリックの文字に係るものである、請求項８に記載の印刷装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、及び印刷装置の制御方法に関する。
【背景技術】
【０００２】
従来、印刷媒体の使用量を削減する機能を備えた印刷装置が知られている（例えば、特許文献１参照）。特許文献１記載の印刷装置は、上下に隣接する２つの行の間隔を詰めるか詰めないかを決定する行間隔決定手段を備える。この行間隔決定手段は、上下に隣接する２つの行のうちの上部の行に含まれる各桁の下部の段に内容があるか否かと、下部の行に含まれる各桁の上部の段に内容があるか否かを調べる。そして、行間隔決定手段は、調べた結果に基づいて、前記上下に隣接する２つの行の間隔を詰めるか詰めないか、詰める場合にはどの程度詰めるかを決定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１３−２０６１２５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、従来の構成は、各行に１以上の桁を含む特殊な言語（タイ語）のみを印刷する技術である。一方、複数行の汎用的な文字を、下線等の文字装飾を適宜に施して印刷する印刷装置においては、文字装飾の視認性を確保しつつ、印刷媒体の使用量をより抑制することが臨まれる。
そこで、本発明は、汎用的な文字にも対応可能であり、印刷媒体の使用量の抑制と、文字装飾の視認性確保とを両立可能にすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、印刷装置であって、印刷媒体に印刷する印刷部と、少なくとも一行以上で印刷される一以上の文字を示す文字情報を含み、いずれかの前記文字の装飾を示す装飾情報を選択的に含む印刷データを取得する取得部と、前記印刷データに基づく印刷画像を前記印刷部に印刷させる印刷制御部と、を備え、前記印刷制御部は、前記印刷データの前記文字情報の各文字に対応するフォントデータを、行単位で展開した展開データに基づき、行単位で、行方向の上下の少なくともいずれかに所定の余白が前記展開データにあるか否かを判定し、前記行単位で前記展開データの前記所定の余白を削減し、前記印刷部に印刷させる処理と、前記印刷データに、前記装飾情報のうちの所定の装飾情報が存在する場合、少なくとも前記所定の装飾情報に対応付けられる文字を含む行については、前記行単位で前記所定の余白を削減せずに前記印刷媒体に印刷させる処理とを行うことを特徴とする。
【０００６】
本発明によれば、行単位で所定の余白を削減して（削除して、詰めて）印刷するので、印刷媒体の使用量を効率よく抑制できる。また、所定の装飾情報に対応付けられる文字については、所定の余白を削減せずに印刷するので、文字及び文字装飾の視認性を確保できる。これらにより、汎用的な文字にも対応可能であり、印刷媒体の使用量の抑制と、文字装飾の視認性確保とを両立できる。
【０００７】
また、本発明は、上記構成において、前記所定の余白は、前記フォントデータを規定するドット単位で、２ドット以上の予め定めたドット数の余白である。
本発明によれば、予め定めたドット数以上の余白だけを詰めて印刷することができる。
【０００８】
また、本発明は、上記構成において、前記所定の装飾情報は、文字の上部又は下部の少なくともいずれかへの装飾を指示する情報であり、前記文字の下部への装飾を指示する情報の場合、少なくとも下線を指示する情報を含むものである。
本発明によれば、上下いずれかの余白が詰められることによって装飾そのもの、或いは装飾された文字が見難くなる事態を回避できる。
【０００９】
また、本発明は、上記構成において、前記文字情報に対応する前記フォントデータを記憶する記憶部を備え、前記印刷制御部は、前記取得部が取得した前記文字情報に対応する前記フォントデータを前記記憶部から読み出して前記展開データを生成する。
本発明によれば、いわゆる内蔵のフォントデータを用いる場合に、印刷媒体の使用量の抑制と、文字装飾の視認性確保とを両立できる。
【００１０】
また、本発明の印刷装置は、外部装置から文字コードとコマンドを受信する受信部と、前記文字コードに対応するフォントデータを記憶する記憶部と、前記受信部が受信した前記文字コードに対応する前記フォントデータを前記記憶部から読み出して、行単位で展開データとして生成する制御部と、前記展開データを印刷する印刷部と、を備え、前記制御部は、前記展開データの行方向の上部または下部に余白データがある場合、所定の前記余白データを残す範囲で前記余白データを削除し、前記受信部が前記文字コードに係る所定の装飾コマンドを受信した場合、前記フォントデータに装飾を施して前記行単位で前記展開データを生成し、前記展開データの行方向の上部または下部に前記余白データがあっても、前記余白データを削除しない、ことを特徴とする。
本発明によれば、汎用的な文字の文字コードに対応するフォントデータに基づき行単位で印刷する際、行の上下方向の余白データを所定量削減して隣接する行間を短くし、文字の視認性を確保しつつ、印刷媒体の使用量の抑制できる。また、所定の装飾コマンドを受信し、上述の削減対象となる余白データの位置にある文字（行）の上部または下部文字に装飾を施す場合は、余白データを削減しないので、装飾した文字の視認性を確保できる。
【００１１】
また、本発明は、上記構成において、前記制御部は、前記余白データを削減する場合、前記フォントデータを構成するドット単位で少なくとも１ドット以上の前記余白データを残して削減し、前記文字コードは、１バイトで構成されるか、またはアルファニューメリックの文字に係るものである。
本発明によれば、１バイトで構成されるか、またはアルファニューメリックの文字に係るような汎用的な文字の文字コードに対応でき、また文字コードに対応するフォントデータを１ドット以上の前記余白データを残して削減するので、行間に文字の視認性を確保できる余白が構成される。
【００１２】
また、本発明は、外部装置と接続可能な印刷装置の制御方法であって、外部装置から文字コードを受信し、前記文字コードに対応するフォントデータを行単位で展開データとして生成して印刷し、前記展開データを生成する際、前記展開データの行方向の上部または下部に余白データがある場合、所定の前記余白データを残す範囲で前記余白データを削除し、前記文字コードに係る所定の装飾コマンドを受信した場合は、前記フォントデータに所定の装飾を施して前記行単位で前記展開データを生成し、前記展開データの行方向の上部または下部に前記余白データがあっても、前記余白データを削除しないことを特徴とする。
【００１３】
本発明によれば、汎用的な文字の文字コードに対応するフォントデータに基づき行単位で印刷する際、行の上下方向の余白データを所定量削減して隣接する行間を短くし、文字の視認性を確保しつつ、印刷媒体の使用量の抑制できる。また、所定の装飾コマンドを受信し、上述の削減対象となる余白データの位置にある文字（行）の上部または下部文字に装飾を施す場合は、余白データを削減しないので、装飾した文字の視認性を確保できる。
【００１４】
また、本発明は、上記制御方法において、前記余白データを削除する場合、前記フォントデータを構成するドット単位で少なくとも１ドット以上の前記余白データを残して削除し、前記文字コードは、１バイトで構成されるか、またはアルファニューメリックの文字に係るものである。
本発明によれば、１バイトで構成されるか、またはアルファニューメリックの文字に係るような汎用的な文字の文字コードに対応でき、また文字コードに対応するフォントデータを１ドット以上の前記余白データを残して削減するので、行間に文字の視認性を確保できる余白が構成される。
【図面の簡単な説明】
【００１５】
【図１】本発明を適用した実施形態に係る印刷システムの構成を示す図。
【図２】（Ａ）は印刷データの一例を示した図、（Ｂ）は図２（Ａ）の印刷データに対応する展開データを生成し、レシートに画像として印刷した図。
【図３】フォントデータの一例を示した図。
【図４】使用量削減機能が有効の場合の印刷動作を示すフローチャート。
【図５】（Ａ）は各行に「ＡＢＣＤ」を印刷する場合を示した図、（Ｂ）は各行に「ａｃｅｇ」を印刷する場合を示した図、図５（Ｃ）は各行に「ＡＢＣＤ」を下線付きで印刷する場合を示した図。
【図６】（Ａ）は余白削減処理を行わない場合のレシートの印刷例を示した図、（Ｂ）は余白削減処理を行った場合のレシートの印刷例を示した図。
【発明を実施するための形態】
【００１６】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本発明を適用した実施形態に係る印刷システム１の構成を示す図である。
印刷システム１は、会計用の印刷装置１００と、ホストコンピューター（情報処理装置、外部装置）２００とを備え、印刷装置１００とホストＰＣ２００とが互いに通信可能なネットワークシステムを構成している。以下、ホストコンピューター２００を、ホストＰＣ２００と表記する。
この印刷システム１は、ホストＰＣ２００からの印刷データＤ１に基づき印刷装置１００がレシートＲＴ（後述する図６（Ｂ））を印刷（発行）するので、レシート発行システムとも言う。この印刷システム１は、スーパーマーケット又はコンビニエンスストア等の店舗に構築されたＰＯＳシステムの一部を構成し、ホストＰＣ２００は不図示のＰＯＳサーバーからレシートＲＴ等に関する各種情報を取得する。
【００１７】
ホストＰＣ（情報処理装置）２００は、ホスト側入力部２１０と、ホスト側表示部２２０と、ホスト側記憶部２３０と、接続部２４０と、ホスト側制御部２５０とを備える。
ホスト側入力部２１０は、バーコードスキャナー及び操作キー等の入力デバイスに接続され、入力デバイスに対するユーザー操作を検出し、ホスト側制御部２５０に出力する。ホスト側表示部２２０は、液晶表示装置等の表示デバイスに接続され、ホスト側制御部２５０の制御の下、各種の情報を表示デバイスに表示させる。
ホスト側入力部２１０は、所定の通信ネットワークを介してＰＯＳサーバーと接続され、ＰＯＳサーバー等からレシートＲＴに関する情報（レシート情報）を取得するレシート情報取得部としても機能する。
【００１８】
接続部２４０は、印刷装置１００が接続されるインターフェースであり、ＵＳＢ（Universal Serial Bus）、ＲＳ−２３２Ｃ、ＩＥＥＥ１２８４、Bluetooth（登録商標）、Ethernet（登録商標）、又は無線ＬＡＮ等の通信インターフェースである。
ホスト側記憶部２３０は、ホストＰＣ２００の制御プログラム等の各種データを記憶する。このホストＰＣ２００には、ホスト側入力部２１０及びホスト側表示部２２０に接続されるデバイスに対応するデバイスドライバー、及び印刷装置１００に対応するプリンタードライバー等が予めインストールされている。
【００１９】
ホスト側制御部２５０は、ホスト側記憶部２３０に記憶される制御プログラムに従ってホストＰＣ２００の各部を制御することにより、レシート発行処理を含む公知のＰＯＳ端末が行う各種処理を実行する。
ホスト側制御部２５０は、ＰＯＳアプリケーション実行部２５１と、プリンタードライバー実行部２５３とを備える。ＰＯＳアプリケーション実行部２５１は、レシートＲＴを発行する場合、ＰＯＳサーバーにアクセスし、レシート情報に関する情報の一部又は全てを取得し、取得した情報をプリンタードライバー実行部２５３に出力する。この場合、ＰＯＳアプリケーション実行部２５１は、購入された商品、商品毎の購入額、及び合計購入金額等を示す情報等を取得し、プリンタードライバー実行部２５３に出力する。
【００２０】
ここで、レシート情報は、レシートＲＴの印刷内容を示す情報であり、会計に関する会計情報と、会計情報以外の非会計情報とを含んでいる。
具体例を挙げると、会計情報は、購入された商品、商品の単価、商品の数量、及び合計購入金額等を示す情報であり、文字（記号及び数字を含むテキスト）を示す情報である。非会計情報は、店舗ロゴ及びレシートの発行番号を示すバーコード等を示す情報である。なお、これらの会計情報及び非会計情報は、店舗側の希望等に従った仕様に応じて適宜に変更される。
【００２１】
プリンタードライバー実行部２５３は、ＰＯＳアプリケーション実行部２５１から入力した情報に基づき、レシートＲＴを印刷させる印刷データＤ１を生成し、印刷装置１００に出力する。会計用の印刷装置１００に出力される印刷データＤ１の構造については具体例を挙げて後述する。
【００２２】
印刷装置１００は、ホストＰＣ２００が接続される接続部１１０（通信部）と、印刷装置１００の各部を制御する制御部１２０とを備える。接続部１１０は、ホストＰＣ２００が有する接続部２４０と共通の仕様の通信インターフェースであり、制御部１２０の制御の下、印刷データＤ１を取得する取得部として機能する。
制御部１２０は、接続部１１０に接続されたホストＰＣ２００と通信する通信制御部１２３と、印刷に関する制御を行う印刷制御部１２５とを備える。
【００２３】
通信制御部１２３は、所定の通信プロトコルに従って接続部１１０に接続されたホストＰＣ２００との間の通信を確立する。つまり、通信制御部１２３は、ホストＰＣ２００との間で、印刷データＤ１等を送受信する通信部として機能する。
印刷制御部１２５は、ホストＰＣ２００から受信した印刷データＤ１に基づいて展開データを生成し、印刷装置１００が備える印刷部１３４を制御して、印刷データＤ１に対応する展開データを、印刷媒体（レシート用紙）に印刷する。印刷媒体は、例えば、感熱ロール紙である。
【００２４】
制御部１２０は、演算処理を行うプロセッサー（図示略）と周辺回路（図示略）とで構成され、具体的には、マイコン、ＳＯＣ（System-on-a-chip）又はＣＰＵ等で構成される。この場合、マイコン、ＳＯＣ又はＣＰＵが複数のプロセッサーコアを有し、各プロセッサーコアが、通信制御部１２３と、印刷制御部１２５として機能しても良い。また、一つのプロセッサーコアが、通信制御部１２３と、印刷制御部１２５とのいずれか２つ以上を兼用しても良い。
なお、ホストＰＣ２００のホスト側制御部２５０についても、演算処理を行うプロセッサー（図示略）と周辺回路（図示略）とで構成され、より具体的には、マイコン、ＳＯＣ又はＣＰＵ等で構成される。
【００２５】
図１に示すように、制御部１２０には、記憶部１３１と、入力部１３２と、用紙センサー１３３と、印刷部１３４とが接続される。記憶部１３１は、印刷装置１００に関する各種データを記憶する装置であり、不揮発性記憶部１４１と、揮発性記憶部１４２とを備える。
不揮発性記憶部１４１は、フラッシュメモリーで構成され、印刷装置１００の制御プログラム、及び文字コードに対応するフォントデータ等の各種のデータを記憶する。
揮発性記憶部１４２は、ＲＡＭ（Random Access Memory）で構成され、制御部１２０が実行する各種のデータを一時的に記憶するワークエリア（印刷データを展開した展開データを記憶するプリンタバッファ）として機能する。
【００２６】
入力部１３２は、印刷装置１００が備える操作パネルのスイッチ等に接続される。制御部１２０は、入力部１３２を介してスイッチ操作等のユーザー指示を入力する。
用紙センサー１３３は、印刷媒体の有無を検出する光学式センサーである。制御部１２０（印刷制御部１２５）は、用紙センサー１３３の検出値を取得することにより、印刷媒体の有無を検出する。
【００２７】
印刷部１３４は、印刷媒体に印刷する装置であり、搬送モーター１３５と、印刷ヘッド１３６と、搬送モーター１３５と印刷ヘッド１３６とをそれぞれ駆動するドライバー回路１３７、１３８とを備える。
ドライバー回路１３７は、印刷制御部１２５の制御に従って、搬送モーター１３５に駆動電流を供給し、搬送モーター１３５を回転駆動する。搬送モーター１３５は、印刷媒体を搬送させる駆動源であり、ステッピングモーターで構成することができる。この場合、ドライバー回路１３７は、搬送モーター１３５に対して駆動パルス及び駆動電流を出力することによって印刷媒体を搬送させる。
【００２８】
ドライバー回路１３８は、印刷制御部１２５の制御に従って、印刷ヘッド１３６を駆動する。印刷ヘッド１３６は、Ｘ方向に並ぶ複数の発熱素子（ドット印字部）１３６Ａにより印刷媒体にドットを形成して画像を印刷するラインサーマルヘッドである。なお、Ｘ方向は、レシートＲＴの搬送方向（図２（Ｂ）に示すＹ方向）に交わる方向であり、レシートＲＴの行方向と同じである。なお、印刷ヘッド１３６はインクジェット方式等のシリアルヘッドでもよく、印刷ヘッド１３６を搭載したキャリッジがＸ方向に移動しながら行単位で記録し、その後、搬送モーター１３５が行単位でＹ方向に紙送りをする。
【００２９】
印刷装置１００は、ホストＰＣ２００から印刷データＤ１を入力すると、印刷データＤ１に基づき展開データを生成し、ワークエリアである揮発性記憶部１４２に記憶し、記憶した展開データを印刷部１３４により印刷媒体に印刷させ、画像を形成する。
図２（Ａ）は印刷データＤ１の一例を示した図、図２（Ｂ）は図２（Ａ）の印刷データＤ１に対応する展開データを生成し、レシートＲＴに画像として印刷した図である。
レシートＲＴの画像を示した図である。なお、図２（Ｂ）中、Ｙ方向がレシートＲＴの搬送方向（＝印刷媒体の搬送方向）であり、Ｘ方向がレシートＲＴの行方向である。本実施形態ではＸ方向がＹ方向と直交している。
【００３０】
図２（Ａ）に示すように、印刷データＤ１は、印刷装置１００のコマンド仕様に対応した制御コマンド（コマンド）と文字情報等で構成される。印刷装置１００の制御部１２０は、印刷データＤ１中の各コマンドと文字情報等を順に読み出し展開データを生成することによって、レシートＲＴの先端から末端に向かって順番に各画像を印刷させる。文字情報の場合はこれらを行単位で行う。
レシートＲＴのレイアウトは、基本的に同一である。図２（Ｂ）の例では、レシートＲＴの先端から順に、先頭画像エリアＡ１、レシート情報エリアＡ２、バーコードエリアＡ３、及び末端画像エリアＡ４が形成される。このうち、レシート情報エリアＡ２が会計情報を記録するエリアであり、それ以外のエリアＡ１、Ａ３及びＡ４が非会計情報を記録するエリアである。
【００３１】
先頭画像エリアＡ１には、図２（Ａ）に示すグラフィック記録指示コマンドＧＳによって、店舗ロゴ等の店舗に関する画像が定型的に記録されるとともに、コマンド群Ｈ１によって、店舗連絡先等の店舗情報の画像が定型的に記録される。
ここで、店舗ログを含む複数のグラフィック画像のデータは、予め印刷装置１００の不揮発性記憶部１４１に記憶されており、グラフィック記録指示コマンドＧＳは、記録対象のグラフィック画像を指示するコマンドである。グラフィック記録指示コマンドＧＳに続きグラフィック画像のデータを送り印刷するようにしてもよい。
【００３２】
コマンド群Ｈ１は、店舗情報の文字列（文字情報、THE  STORE・・・）を含むコマンド群である。より具体的には、コマンド群Ｈ１は、少なくともいずれかの文字の装飾を指定する文字列装飾コマンドＭＳと、記録対象の１以上の文字を含む文字列ＭＫとを含む。
文字の装飾とは、文字の大きさ、文字の位置（左寄せ等）、下線の付与及び太字化等である。また、文字列ＭＫは、文字コードを利用して１以上の文字を指定する。
【００３３】
文字列は一つ以上の文字であれば良く、文字は、英字、数字、記号を含む。本実施形態ではアルファニューメリックでもよい。実施例では、１バイトで指定される後述のアスキーコードのような文字コード（英字、数字、記号）を使用している。２バイトで構成される漢字コード（ＪＩＳコード）でもよい。
ここで、記号は、罫線を文字の組み合わせで表記可能な文字（例えば、図２に符号ＫＸで示す「−」）を含んでいる。より具体的には、記号は、一般的なレシートＲＴに使用される罫線（直線に連続する横罫、破線を構成するミシン罫、波線を構成する波罫等）を表記可能にする文字を含み、例えば、「−」、「─」、「〜」等の横罫用の文字を含む。なお、記号は、横罫用の文字以外に、縦罫用の文字等の他の記号を含んでも良い。
ここで、横罫用の文字のうち「−」、「─」、「〜」は、横方向（方向に相当）に延びると共に上下の少なくともいずれかに比較的大きい余白が空く文字であり、本発明では、この条件を満たす横罫用の文字を「横罫用文字ＫＸ」と表記する。
【００３４】
改行コマンドＬＦは、印刷と改行を指示するコマンドであり、図２（Ａ）の例では、先頭画像エリアＡ１の途中、及び各画像エリアＡ１〜Ａ４間に対応する位置に設けられる。これによって、図２（Ｂ）に示すように、レシートＲＴの対応する箇所に改行が挿入される。文字（文字コード）の場合は改行コマンドＬＦで区切られて行単位で展開データの生成と印刷がされる。
レシート情報エリアＡ２には、図２（Ａ）に示すコマンド群Ｈ２によって、会計情報が記録される。コマンド群Ｈ２は、コマンド群Ｈ１と同様のコマンド群で構成され、会計情報を示す文字（文字コード）（商品情報、商品毎の購入額、合計購入金額等）を含む記録を指示する。  なお、コマンド群Ｈ２は、会計情報を視認し易くする罫線として機能する文字列（図２（Ｂ）の例では、”−−−−−−・・・”、”＊”）も含んでいる。このコマンド群Ｈ２によって会計情報が予め定めたフォーマットで記録（印刷）される。
【００３５】
バーコードエリアＡ３には、図２（Ａ）に示すバーコード記録指示コマンドＢＳによって、伝票番号等の所定情報を示すバーコードが記録される。このバーコード記録指示コマンドＢＳは、バーコードのサイズを指定するコマンド、及びバーコードに変換する文字列を指定するコマンド等を含んだ情報である。
図２（Ｂ）では、搬送方向Ｙに延びるバーを有する１次元コードのバーコードを記録する場合を示す。なお、２次元バーコードを適用しても良い。
【００３６】
末端画像エリアＡ４には、図２（Ａ）に示す文字コードの列を含むコマンド群Ｈ３によって、非会計情報を示す文字列が定型的に記録される。図２（Ｂ）の例では、店舗ＵＲＬを示す文字列が記録された場合を示す。このコマンド群Ｈ３は、コマンド群Ｈ１と同様のコマンド群で構成される。
このようにして、レシートＲＴの印刷データＤ１は、制御コマンドによって各画像エリアＡ１〜Ａ４の画像内容、及び各画像エリアＡ１〜Ａ４の画像位置を指定している。
【００３７】
文字列ＭＫに含まれる文字コードは、英字、数字及び記号を含む文字を示す文字情報として機能し、換言すると、印刷装置１００が内蔵するフォントデータを指定するフォント指定情報として機能する。
文字コードは、アスキーコード、ＪＩＳコード及びＥＵＣ等の公知の文字コードのいずれかが適用され、本実施形態ではアスキーコードが適用される。なお、アスキーコードは、ＪＩＳコード、ＥＵＣ等の複数の文字コードを含んだ文字コード・セットである。
【００３８】
フォントデータは、印刷ヘッド１３６により文字を記録媒体に印字可能な態様で表現する実データである。フォントデータは、ビットマップフォントデータ、スケイラブルフォントデータ、ベクトルフォントデータ、アウトラインフォントデータ等の公知のフォントデータのいずれかが適用される。本実施形態では、ビットマップフォントデータが適用される。また、印刷装置１００の不揮発性記憶部１４１には、文字コードとフォントデータとを対応付けたテーブルデータが記憶される。
【００３９】
文字コードを受信すると、印刷制御部１２５は、不揮発性記憶部１４１に記憶されたテーブルデータに基づき文字コードに対応するフォントデータを特定する。そして、印刷制御部１２５は、特定したフォントデータを、不揮発性記憶部１４１から読み出し、当該フォントデータを、ワークエリアである揮発性記憶部１４２に展開データとして行単位で展開し（記憶し）、展開データを印刷部１３４によって印刷媒体に印刷させる。これにより、文字コードに対応するフォントデータを画像として行単位で印刷することができる。
【００４０】
図３はフォントデータの一例を示した図である。なお、図３は横１２ドット×縦２４ドットのフォントデータの場合の「Ａ」と「ｇ」を示している。
フォントデータは、文字に応じて文字の上下（上部と下部）に余白（余白データ）を有している。図３の例では、アルファベットの大文字「Ａ」の上には、１ドットの余白（上余白ＵＭ１、上余白データ）があり、下には３ドットの余白（下余白ＬＭ１、下余白データ）がある。また、アルファベットの小文字「ｇ」の上には６ドットの余白（上余白ＵＭ２）がある。なお、「ｇ」の下の余白（下余白）は零である。
一般に、アルファベット等の文字は、ベースラインＬ０（図３）を基準として上がアセンダと称され、下がディセンダと称される。文字によってアセンダ又はディセンダに空白（空白データ、余白データ）を含むので、「Ａ」等のディセンダが空白を含む文字は上余白を有し、「ｇ」等のアセンダが空白を含む文字は下余白を有する。なお、ベースラインＬ０は、大文字の下部に想像的に引かれる線である。
【００４１】
本構成の印刷システム１は、印刷媒体の使用量を削減する使用量削減機能を有し、使用量削減を設定するコマンド又はディップスイッチやメモリースイッチの設定等により、使用量削減機能の有効／無効、削減量を切り替えることができる。例えば、コマンド又はディップスイッチやメモリースイッチにより印刷装置１００の設定を変更することによって、使用量削減機能の有効／無効、削減量を切り替えることができる。
使用量削減機能が有効の場合、印刷装置１００の印刷制御部１２５は、フォントデータ等に含まれる行方向の上余白又は下余白を行単位で詰めて（上余白データ又は下余白データを削減して）印刷する余白削減処理を行う。これによって、余白を詰めた分だけ印刷媒体の使用量が削減される。なお、使用量削減機能が無効の場合には、余白削減処理は行われず、従来と同様の印刷媒体の使用量となる。
しかし、常に余白を削減すると、文字装飾等の視認性が劣化することがある。そこで、本構成では、使用量削減機能が有効の場合でも、文字列装飾コマンドＭＳに規定される装飾情報等に応じて、余白削減処理をスキップ（不実行）するようにしている。
【００４２】
図４は、使用量削減機能が有効の場合の印刷動作を示すフローチャートである。
図４に示すように、印刷装置１００の印刷制御部１２５は、通信制御部１２３を介してレシートＲＴの印刷データＤ１を入力すると、印刷データＤ１に含まれる文字コードに対応するフォントデータを展開データとして（制御コマンドを含む場合はフォントデータに対し制御コマンドを実行した展開データとして）生成し、行単位で展開（記憶）する（ステップＳ１１）。これによって、印刷制御部１２５は、文字コードに対応するフォントデータに基づき、展開データを行単位で生成し、ワークエリアである揮発性記憶部１４２に行単位で展開する。
【００４３】
この場合、制御コマンドがグラフィック記録指示コマンドＧＳであれば、印刷制御部１２５は、このコマンドＧＳによって指示されるグラフィック画像のデータを不揮発性記憶部１４１から読み出して、揮発性記憶部１４２に展開する。
また、制御コマンドが文字列装飾コマンドＭＳであれば、印刷制御部１２５は、１文字以上の文字で１行以上の行である文字列ＭＫによって指示される文字情報の各文字コードに対応するフォントデータを、不揮発性記憶部１４１から読み出す。また、印刷制御部１２５は、読み出したフォントデータに対し、文字列装飾コマンドＭＳに従って装飾を施した展開データを行単位で生成し、揮発性記憶部１４２に行単位で展開する。これによって、下線の付与、或いは太字化等の装飾が施された文字の展開データが揮発性記憶部１４２に展開される。
このとき、文字列ＭＫによって指示される文字情報が、横罫用文字ＫＸを含む場合は、横罫用文字ＫＸを含む文字のフォントデータが展開データとして、揮発性記憶部１４２に展開される。
【００４４】
次に、印刷制御部１２５は、文字列装飾コマンドＭＳに基づき、上下いずれかの余白削減処理をスキップするか否かを判定する（ステップＳ１２）。
詳述すると、印刷制御部１２５は、文字の上下の少なくともいずれかへの装飾を指示する文字列装飾コマンドＭＳ（装飾情報）が存在するか否かを判定し、存在しない場合（ステップＳ１２；NO）、ステップＳ１３の処理に移行する。また、グラフィック記録指示コマンドＧＳの場合も、印刷制御部１２５はステップＳ１３の処理へ移行する。
【００４５】
文字の上下の少なくともいずれかへの装飾を指示する文字列装飾コマンドＭＳは、例えば、下線の付与を指示する文字列装飾コマンドＭＳであり、フォントデータの下部に下線のデータを重ね合わせて、又は追加して展開データを生成する。従って、下線の付与を指示する文字列装飾コマンドＭＳが存在する場合、及びグラフィック記録指示コマンドＧＳに該当する場合、ステップＳ１２の判定が否定結果となり、印刷制御部１２５は、ステップＳ１３の処理に移行する。
【００４６】
ステップＳ１３の処理では、印刷制御部１２５は、揮発性記憶部１４２に展開した画像（展開データ）に基づき、行単位で、行方向の上下の少なくともいずれかに所定の余白があるか否かを判定する。
ここで、所定の余白とは、予め定めた下限余白（本実施形態では１ドットの余白）を超え、且つ、行全体に渡って連続する余白である。つまり、印刷制御部１２５は、行全体に渡って２ドット以上の上余白又は下余白があるか否かを判定する。
【００４７】
２ドット以上の上余白又は下余白があり、ステップＳ１３の判定が肯定結果の場合（ステップＳ１３；YES）、印刷制御部１２５は、２ドット以上の上余白又は下余白を予め定めた下限余白（１ドット）に詰めて（残して）展開データを生成し、印刷させる（ステップＳ１４:余白削減処理）。
これに対し、２ドット以上の上余白又は下余白がなく、ステップＳ１３の判定が否定結果の場合（ステップＳ１３；NO）、ステップＳ１５の処理に移行する。
ステップＳ１５の処理では、印刷制御部１２５は、揮発性記憶部１４２に展開した展開データを、印刷部１３４によって印刷させる。つまり、従来の会計用の印刷装置と同じ印刷（通常印刷）を行う。これにより、行全体に渡って連続する行方向の上下の余白が１ドット、或いは零ドットのときは、そのまま印刷される。
【００４８】
図５は余白削減処理の具体例を示した図である。図５（Ａ）は各行に「ＡＢＣＤ」を印刷する場合の図、図５（Ｂ）は各行に「ａｃｅｇ」を印刷する場合の図、図５（Ｃ）は各行に「ＡＢＣＤ」を下線付きで印刷する場合の図である。
図５（Ａ）も左側に示すように、余白の削減前においては、各行（「ＡＢＣＤ」）の全体に渡って行方向に１ドットの上余白が存在し、３ドットの下余白が存在する。従って、ステップＳ１４の余白削減処理により、図５（Ａ）の右側に示すように、行単位で行方向に３ドットの下余白が１ドットの余白に詰めて印刷され、下余白は１ドットに維持される。
これにより、上下を１ドットの余白に狭める分、印刷媒体の使用量を削減できる。また、上下の文字との間に行単位で行方向に隙間が確保されるので、上下の文字の視認性を確保できる。
【００４９】
図５（Ｂ）では、余白の削減前においては、各行（「ａｃｅｇ」）の全体に渡って６ドットの上余白が行単位で行方向に存在する。文字ｇは、元々、下余白が零（無い）の文字であるので、行全体に渡る下余白も零（無い）である。この場合、ステップＳ１４の余白削減処理により、６ドットの上余白が１ドットの余白に詰めて印刷され、下余白はそのまま変更せずに印刷される。
これにより、印刷媒体の使用量を削減できる。また、文字ｇは、元々、下余白が零の文字であるので、元々意図した文字配置（下余白が零）で印刷され、文字の視認性は悪化しない。
【００５０】
一方、図４に示すステップＳ１２の判定において、下線の付与を指示する文字列装飾コマンドＭＳ（装飾情報）が存在する場合、印刷制御部１２５は、肯定結果と判定し（ステップＳ１２；YES）、ステップＳ２１の処理に移行する。
ステップＳ２１の処理では、印刷制御部１２５は、本来は下余白を削減する対象であるところ、文字列装飾コマンドＭＳが指示する装飾の位置に対応する余白を削減せずに印刷させる。
具体的には、図５（Ｃ）に示すように、各行の少なくとも一部に下線が付される場合、印刷制御部１２５は、下余白を削減せずに印刷させる。なお、上余白については、行単位で行方向に２ドット以上の上余白がある場合に限って削減対象として１ドットに詰めて印刷され、１ドット未満（１ドットと零ドット）の場合には、上余白を詰めずに印刷される。なお、図５（Ｃ）では、行全体に下線を付与する場合と、行の一部に下線を付与する場合を示しているが、いずれも余白削減処理は同一である。
これにより、文字装飾の位置に対応する余白（下余白）は削除されず、文字及び文字装飾の視認性を確保することができる。
【００５１】
図６（Ａ）は余白削減処理を無効にした場合のレシートＲＴの印刷例（従来のレシートの印刷例に相当）を示した図、図６（Ｂ）は上記余白削減処理を行った場合のレシートＲＴの印刷例を示した図である。また、図６（Ｂ）中、符号ＬＳは、レシートＲＴの長さの差（短縮長さ）を示す。
図６（Ｂ）に示すように、本実施形態のレシートＲＴは、図６（Ａ）のレシートＲＴと比べて、各行の文字列の上下の余白が詰めて印刷されるので、レシートＲＴを短縮できる。従って、例えば、購入商品が多く、レシート情報エリアＡ２の行数が多くなるほど、図６（Ａ）の場合と比べてレシートＲＴを効率良く短縮できる。
【００５２】
しかも、先頭画像エリアＡ１とレシート情報エリアＡ２との間、及び、レシート情報エリアＡ２内に印刷される横罫用文字ＫＸ（図２中、「−」）については、上下に空く比較的大きい余白が下限余白に詰めて印刷される。これによっても、レシートＲＴを効率良く短縮できる。
さらに、先頭画像エリアＡ１等に印刷されるグラフィック画像についても、行単位で上下の余白が詰めて印刷されるので、レシートＲＴをより短縮できる。これらにより、レシートＲＴに印刷される文字列、罫線、及びグラフィック画像の上下に空く隙間を詰めて印刷でき、印刷媒体の使用量を効率良く抑制できる。
【００５３】
以上説明したように、本実施形態に係る印刷装置１００は、少なくとも一行以上で印刷される一以上の文字を示す文字情報を含み、いずれかの文字の装飾を示す装飾情報を選択的に含む印刷データＤ１を取得する。そして、印刷制御部１２５は、印刷データＤ１の文字情報の各文字コードに対応するフォントデータを、行単位で展開した展開データを生成する。続いて、印刷制御部１２５は、展開データに基づき、行単位で、行方向の上下の少なくともいずれかに所定の余白が展開データにあるか否かを判定し、行単位で展開データの所定の余白を削減し、印刷部１３４に印刷させる処理を行う。また、印刷制御部１２５は、印刷データＤ１に、所定の装飾情報として、文字の上下の少なくともいずれかへの装飾を指示する文字列装飾コマンドＭＳ（装飾情報）が存在するか否かを判定する。そして、その文字列装飾コマンドＭＳが存在する場合、印刷制御部１２５は、その文字列装飾コマンドＭＳに対応付けられる文字を含む行については、行単位で所定の余白を削減せずに印刷させる。
【００５４】
この印刷装置１００の構成、及び印刷装置１００の制御方法によれば、行単位で所定の余白を削減して（削除して、詰めて）印刷するので、印刷媒体の使用量を効率よく抑制できる。しかも、行方向の文字の上下の少なくともいずれかへの装飾を指示する文字列装飾コマンドＭＳが存在する場合、その文字列装飾コマンドＭＳに対応付けられる文字を含む行については、行単位で所定の余白を削減せずに印刷するので、文字及び文字装飾の視認性を確保できる。
換言すると、汎用的な文字の文字コードに対応するフォントデータに基づき行単位で印刷する際、行の上下方向の余白データを所定量削減して隣接する行間を短くし、文字の視認性を確保しつつ、印刷媒体の使用量の抑制できる。また、所定の装飾コマンドを受信し、上述の削減対象となる余白データの位置にある文字（行）の上部または下部文字に装飾を施す場合は、余白データを削減しないので、装飾した文字の視認性を確保できる。
これらにより、１バイトで構成されるか、またはアルファニューメリックの文字に係るような汎用的な文字の文字コードに対応可能であり、印刷媒体の使用量の抑制と、文字装飾の視認性確保とを両立可能になる。
【００５５】
また、所定の余白は、フォントデータを規定するドット単位で、２ドット以上の予め定めたドット数の余白であるので、予め定めたドット数以上の余白だけを詰めて印刷することができる。本実施形態では、２ドット以上の余白を詰めて印刷する場合を説明したが、２ドット以上に限らず、例えば、４ドット以上の余白だけを詰めるようにしても良い。この予め定めたドット数はユーザー等が任意に設定できるようにしても良い。
【００５６】
また、所定の装飾情報は、文字の上部又は下部の少なくともいずれかへの装飾を指示する文字列装飾コマンドＭＳなので、上下いずれかの余白が詰められることによって装飾そのもの、或いは装飾された文字が見難くなる事態を回避できる。文字の下部への装飾を指示する文字列装飾コマンドＭＳの場合、少なくとも、文字の直下に付される下線を指示する文字列装飾コマンドＭＳを含むので、下線そのもの、或いは、下線が付された文字が見難くなる事態を避けることができる。
【００５７】
また、上記フォントデータは、印刷装置１００が予め記憶するフォントデータであるので、いわゆる内蔵のフォントデータを用いる場合に、印刷媒体の使用量の抑制と、文字装飾の視認性確保とを両立可能になる。例えば、外部のフォントデータを使用する場合は、そのフォントデータをそのまま使用した印刷を行うようにしても良い。但し、外部のフォントデータを使用する場合にも、上記の余白削減処理により、行単位で所定の余白を詰めて印刷するようにしても良い。
【００５８】
なお、上述した実施形態は、本発明の好適な実施形態を示すものであり、本発明を限定するものではなく、本発明の要旨を逸脱しない範囲内において種々の変形実施が可能である。
例えば、上記実施形態において、印刷制御部１２５が、文字列装飾コマンドＭＳに、上下の余白を除く文字部分が相対的に小さい所定の文字情報（例えば、「−」、「─」、「〜」等の横罫用文字ＫＸ等）しか存在しない行の有無を判定しても良い。そして、印刷制御部１２５は、上記行が有った場合、その行については、上下の余白を予め定めた下限値に詰めた印刷画像を印刷部１３４に印刷させても良い。
【００５９】
この場合、予め定めた下限値を、文字に応じた値に設定することにより、文字に応じた余白に調整することができる。これにより、例えば、上下いずれかの余白が相対的に多い横罫用文字ＫＸは、上下の余白を３ドット程度の複数ドット数に詰め、他の文字は、上下の余白を１ドットに詰める、といったことが可能になる。従って、罫線と上下の文字との間の隙間を見易く詰めることが可能となり、視認性向上により有利となる。
また、上記実施形態では、所定の装飾情報（文字列装飾コマンドＭＳ）が存在する場合、その装飾情報に対応する装飾の位置に対応する所定の余白を行全体に渡って削減せずに印刷させる場合を説明したが、これに限らない。少なくとも装飾情報に対応付けられる文字について、所定の余白を詰めずに印刷させるようにすれば、文字及び文字装飾の視認性を確保できる。
【００６０】
また、上記実施形態では、グラフィック画像についても、行単位で上下の余白を詰めて印刷させる場合を説明したが、グラフィック画像については上下の余白を詰めずに印刷しても良い。この場合、グラフィック画像の上下の隙間が過度に狭くなる事態を避けることができる。
【００６１】
上記実施形態では、印刷装置１００が、レシートＲＴを印刷する印刷装置の場合を説明したが、これに限らない。また、印刷装置１００は、サーマルプリンターに限らず、インクジェットプリンター又はレーザープリンター等の他のプリンターでも良い。要は、少なくとも一行以上で印刷される一以上の文字を示す文字情報を含み、いずれかの文字の装飾を示す装飾情報を選択的に含む印刷データＤ１を取得して印刷する印刷装置１００に本発明を適用可能である。
【００６２】
上記実施形態では、印刷制御部１２５は、印刷データＤ１の文字情報の各文字コードに対応するフォントデータを、行単位で展開した展開データを生成してから、行単位で、行方向の上下の少なくともいずれかに所定の余白が展開データにあるか否かを判定し、所定の余白がある場合に、行単位で展開データの所定の余白を削減して、印刷部１３４に印刷させる処理を行っていた。印刷制御部１２５は、印刷データＤ１の文字情報の各文字コードに対応するフォントデータを、行単位で展開した展開データを生成してから、行単位で、行方向の上下の少なくともいずれかに所定の余白が展開データにあるか否かを判定し、所定の余白がある場合に、行単位で展開データの所定の余白を削減した展開データを作成し、不揮発性記憶部１４１に記憶させてから、記憶した所定の余白を削減した展開データを読み出して印刷部１３４に印刷させる処理を行うようにしてもよい。記憶する処理が増えるが、印刷時の処理が軽減される。
【００６３】
また、図１に示す各機能ブロックは、ハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
【符号の説明】
【００６４】
１…印刷システム、１００…印刷装置、１１０…接続部（取得部）、１２０…制御部、１２３…通信制御部、１２５…印刷制御部、１３４…印刷部、１３６…印刷ヘッド、２００…ホストコンピューター（情報処理装置）、Ｄ１…印刷データ、ＲＴ…レシート。
【図１】
0006682865.tif 000002
【図２】
0006682865.tif 000003
【図３】
0006682865.tif 000004
【図４】
0006682865.tif 000005
【図５】
0006682865.tif 000006
【図６】
0006682865.tif 000007