(57)【特許請求の範囲】
【請求項１】
制御装置に接続可能な記録装置であって、
少なくとも２行の文字列を前記制御装置から受信するインターフェイス部と、
前記インターフェイス部で受信した順に、前記文字列を行ごとに展開して記憶する画像バッファーと、
前記画像バッファーに最初に展開された前記文字列の先頭行から前記画像バッファーに最後に展開された前記文字列の末尾行に向かって順に記録する記録ヘッドと、
前記記録ヘッドを制御して、記録を実行させる記録制御部と、を備え、
前記記録制御部は、
倒立記録を実行する設定となっている場合、前記画像バッファーに展開された文字列を前記先頭行から前記末尾行に向かって行ごとに倒立させ、倒立した画像データを生成し、前記倒立した画像データの前記末尾行から前記先頭行に向かって、前記画像バッファーに展開された行の入れ替えをし、前記記録ヘッドを制御して、行単位で前記倒立記録を実行させることを特徴とする記録装置。
【請求項２】
前記記録制御部は、
前記画像バッファーに展開された行の入れ替えの代わりに、
生成した前記倒立した画像データの前記末尾行から前記先頭行に向かって順番に読み出し、前記記録ヘッドを制御して、前記行単位で倒立記録を実行させることを特徴とする請求項１に記載の記録装置。
【請求項３】
前記倒立記録を実行する設定は、
前記制御装置から受信する前記倒立記録を指示するコマンドに基づいて設定されることを特徴とする請求項１又は２に記載の記録装置。
【請求項４】
前記記録制御部は、
前記倒立した画像データの生成に際し、前記文字列に加えて前記文字列に装飾を指示するコマンドを受信した場合は、前記装飾を反映して前記倒立した画像データを生成することを特徴とする請求項１ないし３のいずれかに記載の記録装置。
【請求項５】
前記記録制御部は、
複数の行のうち、所定の範囲に属する行について、前記倒立記録を実行させることを特徴とする請求項１ないし４のいずれかに記載の記録装置。
【請求項６】
前記倒立記録を実行する設定は、
前記倒立記録を指示するコマンドに代えて、ディップスイッチによって設定されることを特徴とする請求項３に記載の記録装置。
【請求項７】
制御装置に接続可能であって、
少なくとも２行の文字列を前記制御装置から受信するインターフェイス部と、
前記インターフェイス部で受信した順に、前記文字列を行ごとに展開して記憶する画像バッファーと、
前記画像バッファーに最初に展開された前記文字列の先頭行から前記画像バッファーに最後に展開された前記文字列の末尾行に向かって順に記録する記録ヘッドと、を備えた記録装置の制御方法であって、
倒立記録を実行する設定となっている場合、前記画像バッファーに展開された文字列を前記先頭行から前記末尾行に向かって行ごとに倒立させ、倒立した画像データを生成し、前記倒立した画像データの前記末尾行から前記先頭行に向かって、前記画像バッファーに展開された行の入れ替えをし、前記記録ヘッドを制御して、行単位で前記倒立記録を実行することを特徴とする記録装置の制御方法。
【請求項８】
制御装置に接続可能であって、
少なくとも２行の文字列を前記制御装置から受信するインターフェイス部と、
前記インターフェイス部で受信した順に、前記文字列を行ごとに展開して記憶する画像バッファーと、
前記画像バッファーに最初に展開された前記文字列の先頭行から前記画像バッファーに最後に展開された前記文字列の末尾行に向かって順に記録する記録ヘッドと、を備えた記録装置の各部を制御する制御部により実行されるプログラムであって、
倒立記録を実行する設定となっている場合、
前記制御部を、
前記画像バッファーに展開された文字列を前記先頭行から前記末尾行に向かって行ごとに倒立させ、倒立した画像データを生成し、前記倒立した画像データの前記末尾行から前記先頭行に向かって、前記画像バッファーに展開された行の入れ替えをし、前記記録ヘッドを制御して、行単位で前記倒立記録を実行するように機能させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に接続可能な記録装置、当該記録装置の制御方法、及び、当該記録装置を制御するためのプログラムに関する。
【背景技術】
【０００２】
従来、ロール紙を搬送しつつ、印字ヘッドによって順次画像を形成していく記録装置（サーマルプリンター）が知られている（例えば、特許文献１参照）。
この種の記録装置には、ホストコンピューター等の制御装置から、行ごとに、画像の記録の指示を受け、行ごとに、記録すべき画像の画像データを画像バッファーに展開して画像を記録していくものがある。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−６９７２２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで上述した記録装置では、画像の全体もしくは一部について、倒立して記録することが求められる場合がある。そして、できるだけ簡易な処理によって、画像を倒立して記録できるようにすることが、処理効率の向上、及び、開発容易性の観点から望ましい。
本発明は、上述した事情に鑑みてなされたものであり、行ごとに画像を記録する記録装置について、簡易な処理によって画像を倒立して記録できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、制御装置に接続可能な記録装置であって、記録媒体に画像を記録する記録ヘッドと、前記記録ヘッドを制御して、記録を実行させる記録制御部と、を備え、前記記録制御部は、前記制御装置から受信した制御コマンドに基づいて、行ごとに、記録すべき画像を倒立させた画像を示す画像データである倒立画像データを生成し、前記倒立させた画像を記録媒体に記録する倒立記録を実行させることを特徴とする。
また、本発明は、前記記録制御部は、前記制御装置から、行ごとに、画像の記録を指示する前記制御コマンドを受信することを特徴とする。
また、本発明は、前記記録制御部は、各行の前記倒立画像データに基づいて、末尾行から先頭行へ向かって順番に、各行に記録すべき画像を倒立させた画像を記録媒体に記録させることを特徴とする。
ここで、「行」とは、例えば、画像の記録に際し、所定の単位ごとに、画像データを画像バッファーに展開し、画像バッファーに展開した画像データに基づいて、所定の単位ごとに、順次、画像を記録していく記録装置にあっては、当該所定の単位を意味する。すなわち、「行」とは、所定の単位で画像を記録していく記録装置における、当該所定の単位を概念的に示すものであり、文字列の１行分だけを示しているのではない。従って、グラフィック画像を記録する場合において、当該グラフィック画像の画像データを画像バッファーに展開し、当該グラフィック画像を記録する場合は、当該グラフィック画像の記録に対応する単位が、「行」となる。
そして、上記構成によれば、記録制御部は、画像の記録を指示する制御コマンドを受信する度に、制御コマンドに基づいて倒立画像データを生成し、生成した倒立画像データについて、末尾行から先頭行へ向かって記録するという処理により記録すべき画像の倒立を実現する。このため、例えば、制御コマンドの全ての受信が完了した後、全ての制御コマンドを分析した上で、倒立記録を実行する場合と比較して、非常に簡易な手法により記録すべき画像の倒立を実現できる。
【０００６】
また、本発明は、前記記録制御部は、１の画像の前記倒立画像データの生成に際し、当該１の画像について装飾が指示されている場合は、当該装飾を反映して前記倒立画像データを生成することを特徴とする。
この構成によれば、各行の各画像について、指示された修飾が施された上で倒立画像データが生成されるため、各倒立画像データに基づいて記録される画像について、指示に応じた装飾が適切に施された状態とすることができる。
【０００７】
また、本発明は、前記記録制御部は、複数の行のうち、所定の範囲に属する行の画像について、前記倒立記録を実行することを特徴とする。
ここで、行ごとに画像を記録する記録装置にあっては、全ての行ではなく、所定の範囲に属する行に係る画像についてのみ倒立して記録させたいとするニーズが生じる場合があるが、上記構成によれば、当該ニーズに適切に応えることができる。
【０００８】
また、本発明は、前記倒立記録を実行するか否かを切り替え可能に構成されていることを特徴とする。
この構成によれば、記録装置の使用態様に応じて、倒立記録を実行するか否かを切り替えることができり、使い勝手がよい。
【０００９】
また、上記目的を達成するために、本発明は、制御装置に接続可能な記録装置の制御方法であって、前記制御装置から受信した制御コマンドに基づいて、行ごとに、記録すべき画像を倒立させた画像を示す画像データである倒立画像データを生成し、前記倒立させた画像を記録媒体に記録する倒立記録を実行することを特徴とする。
この制御方法によれば、記録装置は、画像の記録を指示する制御コマンドを受信する度に、制御コマンドに基づいて倒立画像データを生成し、生成した倒立画像データについて、末尾行から先頭行へ向かって記録するという処理により記録すべき画像の倒立を実現する。このため、例えば、制御コマンドの全ての受信が完了した後、全ての制御コマンドを分析した上で、倒立記録を実行する場合と比較して、非常に簡易な手法により記録すべき画像の倒立を実現できる。
【００１０】
また、上記目的を達成するために、本発明は、制御装置に接続可能な記録装置を制御する制御部により実行されるプログラムであって、前記制御部を、前記制御装置から受信した制御コマンドに基づいて、行ごとに、記録すべき画像を倒立させた画像を示す画像データである倒立画像データを生成し、前記倒立させた画像を記録媒体に記録する倒立記録を実行する記録制御部として機能させることを特徴とする。
このプログラムによれば、記録制御部は、画像の記録を指示する制御コマンドを受信する度に、制御コマンドに基づいて倒立画像データを生成し、生成した倒立画像データについて、末尾行から先頭行へ向かって記録するという処理により記録すべき画像の倒立を実現する。このため、例えば、制御コマンドの全ての受信が完了した後、全ての制御コマンドを分析した上で、倒立記録を実行する場合と比較して、非常に簡易な手法により記録すべき画像の倒立を実現できる。
【発明の効果】
【００１１】
本発明によれば、行ごとに画像を記録する記録装置について、簡易な処理によって画像を倒立して記録できるようにする。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る記録システムを模式的に示す図である。
【図２】ホストコンピューター及びプリンターの機能的構成を示すブロック図。
【図３】プリンターの設置態様を示す図である。
【図４】制御コマンド及び制御コマンドに基づいて記録される画像を示す図。
【図５】プリンターの動作を示すフローチャートである。
【図６】倒立記録の説明に利用する図である。
【図７】別の実施形態に係るプリンターによる倒立記録の説明に利用する図。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係る記録システム１を示す図である。この図１では、いわゆるファーストフード店等の飲食物を提供する店舗に記録システム１が適用された様子を模式的に示している。図１に示すように、本例の店舗には、レジカウンターエリアＲＡ、及び、キッチンエリアＫＡの２つのエリアが形成されている。
レジカウンターエリアＲＡには、顧客が飲食物の注文、及び、会計を行うための２つのレジカウンターＲＣが設けられている。各レジカウンターＲＣには、レジスターとしての機能を有するホストコンピューター１０（制御装置）と、ＬＡＮ等のネットワーク５を介してこのホストコンピューター１０に接続され、このホストコンピューター１０に制御されるレシート発行用のプリンター１１（記録装置）と、が設けられている。ホストコンピューター１０とプリンター１１との接続の態様は、ＬＡＮに限らず、シリアル通信、パラレル通信、無線通信等、何であってもよい。ホストコンピューター１０には、顧客による会計の際、顧客が支払うべき合計金額等の会計に係る各種情報を表示するディスプレーや、顧客が注文した商品を入力するためのタッチパネル、クーポンに記録されたバーコード等を読み取るためのバーコードスキャナー、会計に係る各種入力を行うためのキー入力部、現金を収容するキャッシュドロワー等が接続されている。また、ホストコンピューター１０は、顧客による会計ごとに、レシート発行用のプリンター１１を制御して、各会計に係るレシートをプリンター１１に発行させる。プリンター１１により発行されたレシートは、各レジカウンターＲＣの担当者により顧客に引き渡される。
【００１４】
キッチンエリアＫＡは、顧客に提供する食べ物等を調理するエリアである。キッチンエリアＫＡには、２台のプリンター１１（記録装置）が、壁に掛けられた状態で設けられている。キッチンエリアＫＡに設けられた２台のプリンター１１は、レジカウンターＲＣにおいて注文された飲食物を示す情報が記録された紙片（以下、「注文伝票」という）を適宜発行することにより、調理を担当する者に、注文の内容を報知することを目的として設けられたものである。ホストコンピューター１０は、レジカウンターＲＣにて飲食物の注文が入る度に、ネットワーク５を介してキッチンエリアＫＡに設けられたプリンター１１を制御して、プリンター１１により、感熱ロール紙Ｒに、注文された飲食物を示す情報を、所定の様式で記録させ、かつ、感熱ロール紙Ｒを切断させ、注文伝票を発行させる。
レジカウンターエリアＲＡに設けられたプリンター１１と、キッチンエリアＫＡに設けられたプリンター１１は、完全に互換性を有する同一機種の記録装置である。これにより、プリンター１１が故障したときのために補完する予備の記録装置が１種類の記録装置で済み、効率よく予備の記録装置を準備でき、かつ、コストを削減ができる。以下の説明では、適宜、レジカウンターエリアＲＡに設けられたプリンター１１をレシートプリンターＲＰと称し、キッチンエリアＫＡに設けられたプリンター１１をキッチンプリンターＫＰと称するものとする。
本実施形態では、レシートプリンターＲＰと、キッチンプリンターＫＰとは、その設置の態様が異なっており、キッチンプリンターＫＰは、設置の態様に応じた特徴的な動作を行う構成となっている。キッチンプリンターＫＰの動作については後に詳述する。
【００１５】
図２は、ホストコンピューター１０と、プリンター１１との機能的構成を示すブロック図である。
図２に示すように、ホストコンピューター１０は、ホスト側制御部１５と、ホスト側表示部１６と、ホスト側入力部１７と、ホスト側インターフェイス（Ｉ／Ｆ）部１８と、ホスト側記憶部１９と、を備えている。
ホスト側制御部１５は、ホストコンピューター１０の各部を中枢的に制御するものであり、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の周辺回路等を備えている。ホスト側制御部１５は、アプリケーション実行部２０と、プリンタードライバー実行部２１と、を備えているが、これらについては後述する。ホスト側表示部１６は、液晶ディスプレーパネル等の表示パネルを備え、ホスト側制御部１５の制御の下、表示パネルに各種情報を表示する。ホスト側入力部１７は、各種入力デバイスに接続され、これら入力デバイスに対する操作を検出し、ホスト側制御部１５に出力する。ホスト側インターフェイス部１８は、ホスト側制御部１５の制御の下、プリンター１１との間で通信規格に準拠した通信を行う。ホスト側記憶部１９は、ハードディスクや、ＥＥＰＲＯＭ等の記憶装置を備え、各種データを書き換え可能に記憶する。
【００１６】
一方、プリンター１１は、発熱素子が並べて設けられたサーマル式の記録ヘッド２３を備え、この記録ヘッド２３によって、感熱ロール紙Ｒ（記録媒体）の記録面に熱を与えて画素を形成することにより、画像を記録するサーマルプリンターである。特に、プリンター１１は、感熱ロール紙Ｒに所定の画像を記録した後、所定の位置で感熱ロール紙Ｒを切断することが可能である。
図２に示すように、プリンター１１は、制御部３０と、表示部３１と、入力部３２と、プリントエンジン３３と、記憶部３５と、インターフェイス（Ｉ／Ｆ）部３６と、を備えている。
制御部３０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の周辺回路を備え、プリンター１１の各部を中枢的に制御する。制御部３０は、記録制御部３７を備えているが、これについては後述する。表示部３１は、プリンター１１の動作状態等の各種情報を表示する液晶パネル等の表示パネルや、ＬＥＤを備え、制御部３０の制御の下、当該表示パネルに各種情報を表示し、また、ＬＥＤを所定の態様で点灯／消灯する。入力部３２は、プリンター１１に設けられた各種操作スイッチに接続され、操作スイッチに対する操作を検出し操作信号として制御部３０に出力する。
プリントエンジン３３は、上述した記録ヘッド２３のほか、感熱ロール紙Ｒを搬送する搬送機構、感熱ロール紙Ｒを切断する切断機構等を備えている。制御部３０の記録制御部３７は、ファームウェアを読み出して実行することにより、ホストコンピューター１０から受信した制御コマンドに基づいて、各種センサーの検出値を監視しながら、記録ヘッド２３や、各種モーターを制御して、感熱ロール紙Ｒに所定の画像を記録し、所定の位置で感熱ロール紙Ｒを切断する。この記録制御部３７の機能は、ＣＰＵがファームウェアを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
インターフェイス部３６は、制御部３０の制御の下、ホストコンピューター１０との間で通信規格に準拠した通信を行う。記憶部３５は、ＥＥＰＲＯＭや、ハードディスク等の不揮発性メモリーを備え、各種データを書き換え可能に不揮発的に記憶する。記憶部３５には、プリンター１１の動作を制御するためのファームウェアが記憶されている。
【００１７】
次いで、アプリケーション実行部２０及びプリンタードライバー実行部２１の説明を通して、記録システム１が感熱ロール紙Ｒに画像を記録し、切断して紙片を発行する際の基本的な動作について説明する。
アプリケーション実行部２０は、ホストコンピューター１０に予めインストールされたアプリケーションを実行することにより、レシートに記録すべき画像に関する各種情報を含む画像情報データを生成し、プリンタードライバー実行部２１に出力する。
プリンタードライバー実行部２１は、ホストコンピューター１０に予めインストールされたプリンタードライバーを実行することにより、アプリケーション実行部２０から入力された画像情報データに基づいて、プリンター１１のコマンド仕様に対応した制御コマンドを生成し、プリンター１１に出力する。制御コマンドとは、プリンター１１に画像の記録、及び、感熱ロール紙Ｒの切断等の各種動作を行わせるためのコマンド群のことであり、画像の記録を指示するコマンドや、所定の搬送量、感熱ロール紙Ｒを搬送することを指示するコマンド、感熱ロール紙Ｒの切断を指示するコマンド等が含まれている。ホストコンピューター１０からプリンター１１に出力された制御コマンドは、順次、受信バッファー（不図示）に格納される。プリンター１１の制御部３０の記録制御部３７は、受信バッファーに格納された制御コマンドを、順次、読み出して実行することにより、プリントエンジン３３を制御して、感熱ロール紙Ｒに画像を記録し、所定の位置で感熱ロール紙Ｒを切断する。
【００１８】
図３は、プリンター１１が設置された様子を模式的に示す図であり、（Ａ）はレジカウンターエリアＲＡに設けられたレシートプリンターＲＰの様子を、（Ｂ）はキッチンエリアＫＡに設けられたキッチンプリンターＫＰの様子を、それぞれ模式的に示す図である。なお、図３では、説明の便宜のため、プリンター１１の形を単純化している。
図３の各図に示すように、プリンター１１は、筐体１１ａと、筐体１１ａの一面に形成された、感熱ロール紙Ｒを排出するための排出口１１ｂとを備えている。そして、図３（Ａ）に示すように、レジカウンターエリアＲＡでは、排出口１１ｂが形成された面が上面となるような状態で、レシートプリンターＲＰが設置される。レシートプリンターＲＰによりレシートを発行する際は、図３（Ａ）において矢印で示す搬送方向Ｙに、感熱ロール紙Ｒが搬送されつつ所定の画像が記録され、所定の位置で感熱ロール紙Ｒが切断される。レシートプリンターＲＰにより発行されるレシートにでは、搬送方向Ｙとの関係で、後述する図４のＡに示す態様で、画像が記録される。
一方で、図３（Ｂ）に示すように、キッチンエリアＫＡでは、排出口１１ｂが形成された面が一側面となるような状態で、壁に設けられた設置台にプリンター１１が載置される。そして、注文伝票が発行される際は、図３（Ｂ）において矢印で示す搬送方向Ｙに、感熱ロール紙Ｒが搬送されつつ所定の画像が記録され、所定の位置で感熱ロール紙Ｒが切断される。
キッチンプリンターＫＰが図３（Ｂ）に示す状態で設置される理由は以下である。すなわち、キッチンプリンターＫＰは、注文された飲食物を示す情報が記録された注文伝票を随時発行するが、上記状態でキッチンプリンターＫＰを設置することにより、感熱ロール紙Ｒの画像が記録される記録面Ｒａが上を向き、飲食物を調理する者にとって見やすい態様で露出した状態となり、調理の担当者が、感熱ロール紙Ｒに記録された内容を迅速かつ容易に把握可能となるからである。
【００１９】
キッチンプリンターＫＰが発行する注文伝票については、画像が、通常の状態から倒立した状態で記録されることが求められる。倒立とは、画像を１８０°回転された状態のことをいう。理由は以下である。
図４のＡは、画像を倒立させない場合に、キッチンプリンターＫＰが発行する注文伝票の一例を示す図である。図４のＡにおいて、矢印は、搬送方向Ｙ（図３（Ｂ）の矢印と対応する方向）を示している。
図４のＡに示す態様で注文伝票の画像が記録された場合、図３（Ｂ）に示す状態でキッチンプリンターＫＰが設けられていることとの関係上、調理の担当者が、プリンター１１の排出口１１ｂから排出される感熱ロール紙Ｒを見たときに、画像全体が図４のＡに示す状態の逆さまの状態で視認されることとなる。この場合、当該調理の担当者にとってその内容が把握しにくいこととなる。
一方で、図４のＢに示すように、搬送方向Ｙとの関係で、図４のＡに示す状態から倒立させた状態で感熱ロール紙Ｒに画像を記録した場合、調理の担当者が、プリンター１１の排出口１１ｂから排出される感熱ロール紙Ｒを見たときに、画像全体が正常な状態（見た目が逆さまになっていない状態）で視認されることとなり、当該調理の担当者は、その内容を迅速かつ容易に把握できる。
以上を踏まえ、本実施形態では、キッチンプリンターＫＰは、以下の動作を行って、画像を倒立させた状態で感熱ロール紙Ｒに記録する。以下、画像を倒立させた状態で感熱ロール紙Ｒに記録することを、適宜、「倒立記録」という。
【００２０】
まず、倒立記録の説明に先立って、図４のＸと、図４のＡとを用いて、ホストコンピューター１０とプリンター１１とが協働して、通常の記録を行う場合について説明する。
図４のＸは、図４のＡに示す注文伝票を発行する場合に、ホストコンピューター１０からプリンター１１に出力される制御コマンドの一例を模式的に示す図である。
図４のＡに示す注文伝票では、先頭行に、当該注文伝票が発行された日付を示す情報（文字列「２０１２／１／１」）が、右詰めで、かつ、通常の大きさで記録される。先頭行とは、倒立記録の対象となる画像において、１つのコマンド群に基づいて画像バッファーに展開され、記録される一連の画像のそれぞれのうち、最初に画像バッファーに展開されて記録される画像に対応する行のことである。次の行には、当該注文伝票を識別するための情報（文字列「Ｎｏ５３」）が、中央寄せ、かつ、通常の倍の大きさで記録される。次の行には、注文された飲食物の１つを示す情報（本例では、文字列「ハンバーガー」）が、中央寄せ、かつ、通常の大きさで記録される。同様に、その次の行（末尾行）には、注文された飲食物の１つを示す情報（本例では、文字列「ポテト」）が、中央寄せ、かつ、通常の大きさで記録される。末尾行とは、倒立記録の対象となる画像において、１つのコマンド群に基づいて画像バッファーに展開され、記録される一連の画像のそれぞれのうち、最後に画像バッファーに展開されて記録される画像に対応する行のことである。
【００２１】
一方、図４のＸにおいて、コマンド群Ｃ１は、１行目の文字列「２０１２／１／１」の記録を指示する制御コマンド群であり、文字列装飾コマンドＭＳ１と、文字列記録指示コマンドＭＫ１とを含んで構成されている。
文字列装飾コマンドとは、文字列の記録に際して、当該文字列に施すべき装飾を指定するコマンドである。装飾とは、記録する文字列に対して描画に関する何らかの処理を行うことを意味し、例えば、文字列の拡大や、文字列の位置の移動のほか、例えば、縮小、回転、強調、太字化、装飾文字又は装飾記号の付加等が装飾に該当する。コマンド群Ｃ１に含まれる文字列装飾コマンドＭＳ１は、文字列について右詰めの装飾を施すことを指定している。
文字列記録指示コマンドは文字列を指定し、指定した文字列を記録することを指示するコマンドである。本実施形態では、基本的に、文字列記録指示コマンドは、命令コードと、所定の文字コード（例えば、アスキーコード。）で表現された文字の組み合わせからなる文字列と、が組み合わされて構成されている。コマンド群Ｃ１に含まれる文字列記録指示コマンドＭＫ１は、文字列「２０１２／１／１」を記録することを指示するコマンドであるが、例えば、「ＸＸＸ“２０１２／１／１”」（ただし、ＸＸＸは、文字列を記録することを指示する命令コード。また、ダブルクォーテーション内の文字列は、アスキーコードで表現された文字の組み合わせによって構成された文字列。）という構成となっている。
同様に、コマンド群Ｃ２は、文字列に施すべき装飾として、中央寄せの装飾、及び、サイズを通常の２倍の大きさとする装飾を指定する文字列装飾コマンドＭＳ２、及び、文字列「Ｎｏ５３」の記録を指示する文字列記録指示コマンドＭＫ２を含んでいる。また、コマンド群Ｃ３は、文字列に施すべき装飾として、中央寄せの装飾を指定する文字列装飾コマンドＭＳ３、及び、文字列「ハンバーガー」の記録を指示する文字列記録指示コマンドＭＫ３を含んでいる。また、コマンド群Ｃ４は、文字列に施すべき装飾として、中央寄せの装飾を指定する文字列装飾コマンドＭＳ４、及び、文字列「ポテト」の記録を指示する文字列記録指示コマンドＭＫ４を含んでいる。
一連の制御コマンドの最後には、カットコマンドＣＣが位置している。カットコマンドＣＣは、感熱ロール紙Ｒの切断を指示する制御コマンドであり、カットコマンドＣＣに基づく感熱ロール紙Ｒの切断が実行されることにより、注文伝票の発行が完了する。
【００２２】
さて、図４のＸに示す各制御コマンドを受信したプリンター１１は、以下のようにして図４のＡに示す画像を記録する。
まず、受信したコマンド群Ｃ１を読み出すと、プリンター１１の制御部３０の記録制御部３７は、記憶部３５に記憶されたフォントテーブルを参照する。フォントテーブルとは、フォントデータを集合して記憶するテーブルであり、また、フォントデータとは、文字を感熱ロール紙Ｒに記録可能な態様で表現するデータのことである。本実施形態では、フォントデータの態様としては、ビットマップフォントデータや、スケイラブルフォントデータや、ベクトルフォントデータ、アウトラインフォントデータ等がある。なお、本実施形態では、感熱ロール紙Ｒに記録する「文字」は、言語で使用される意味を持った文字のみならず、記憶部３５に記憶されたフォントデータに基づいて感熱ロール紙Ｒに記録可能な「図形（スペースを含む）」の全てを指す概念である。文字列記録指示コマンドにおいて、アスキーコードで表現された文字のそれぞれは、フォントテーブルに記憶されたいずれかのフォントデータと対応関係にあり、この対応関係を示す情報が記憶部３５に予め記憶されている。
さて、コマンド群Ｃ１に基づいて、文字列「２０１２／１／１」を記録する際、記録制御部３７は、アスキーコードとフォントデータとの対応関係を示す情報に基づいて、フォントテーブルを参照して、当該文字列を構成する各文字のフォントデータを取得し、文字列装飾コマンドＭＳ１が指定する装飾（右詰め）を反映した上で、取得したフォントデータに基づいて、画像バッファー（不図示）に文字列に係るイメージデータを展開する。次いで、記録制御部３７は、画像バッファーに展開した当該文字列に係るイメージデータに基づいて、プリントエンジン３３の各機構を制御して、感熱ロール紙Ｒに文字列に係る画像を構成するドットを形成することにより、文字列「２０１２／１／１」の文字列を記録する。
同様にして、記録制御部３７は、コマンド群Ｃ２に基づいて、文字列「Ｎｏ５３」を中央寄せで２倍の大きさで記録し、また、コマンド群Ｃ３、Ｃ４に基づいて、文字列「ハンバーガー」、文字列「ポテト」をそれぞれ、中央寄せで記録する。
【００２３】
ここで、本実施形態における「行」の概念について説明する。
上述したように、本実施形態では、記録制御部３７は、文字列装飾コマンドと文字列記録指示コマンドとを含んで構成されるコマンド群に基づいて、画像バッファーに画像の画像データを展開し、画像を記録するが、１つのコマンド群に基づいて画像バッファーに展開され、記録される一連の画像の単位が「行」に該当する。例えば、コマンド群Ｃ１に基づいて、画像バッファーに展開されて記録される一連の画像である文字列「２０１２／１／１」は、１つの行に属する画像である。
従って、複数行の文字列からなる画像であっても、画像バッファーに展開された一連の画像データに基づいて記録される限り１つの行に属する画像である。また、文字列ではなくグラフィック画像についても、画像バッファーに展開された一連の画像データに基づいて記録された１つのグラフィック画像が、１つの行に属する画像である。
【００２４】
次に、倒立記録を実行する際のプリンター１１の動作について、図４のＸに示す制御コマンドと、同様の制御コマンドを受信した場合を例として説明する。
上述したように、倒立記録とは、記録すべき画像全体を１８０°回転させて記録させることを言い、具体的には、本来図４のＡの状態で記録される画像について、図４のＢの状態で記録することを言う。
図５は、倒立記録を実行する際のプリンター１１の動作を示すフローチャートである。
まず、プリンター１１の制御部３０の記録制御部３７は、ホストコンピューター１０から注文伝票の発行を指示する制御コマンドを受信したか否かを監視する（ステップＳＡ１）。以下の説明では、図４のＸに示す制御コマンドを受信したものとし、受信した制御コマンドが、順次、受信バッファー（不図示）に格納されるものとする。
以後の説明で明らかとなるとおり、本実施形態では、倒立記録を実行する場合と、実行しない場合とで、ホストコンピューター１０がプリンター１１に出力する制御コマンドの内容は、完全に同一である。つまり、倒立記録を実行するために、ホストコンピューター１０に対する改変、例えば、アプリケーションや、プリンタードライバーに対するプログラム修正、各種設定の変更等を一切行う必要がなく、ユーザーの利便性が高い。
ステップＳＡ１において制御コマンドを受信した場合（ステップＳＡ１：ＹＥＳ）、記録制御部３７は、倒立記録を行う設定となっているか否かを判別する（ステップＳＡ２）。本実施形態では、プリンター１１の制御基板に設けられたディップスイッチによって、倒立記録を行うか否かを切り替えることができる構成となっており、記録制御部３７は、ディップスイッチからのＣＰＵの所定のポートに対する入力に基づいて、倒立記録を行うか否かを判別する。このように、ディップスイッチによって倒立記録を行うか否かを切り替えることができるため、レシートプリンターＲＰとして用いられていたプリンター１１を、ディップスイッチの切り換えによって、キッチンプリンターＫＰとして用いることができ、また、その逆も可能である。特に、ディップスイッチの切り換え、という単純で確実な操作によって、倒立記録を実行するか否かを切り替え可能であるため、プリンター１１の仕様や操作方法を熟知していない者であっても、プリンター１１の設置場所に応じて、容易に、倒立記録を行わせ、また、行わないようにすることができる。なお、ディップスイッチ以外の手段により、倒立記録を行うか否かの切り換えを行えるようにしてもよいことは勿論であり、例えば、ホストコンピューター１０の制御コマンドによる明示的な指示に応じて上記切り換えを行うようにしても良い。
倒立印字を行う設定となっていない場合（ステップＳＡ２：ＮＯ）、記録制御部３７は、図４のＸ、及び、図４のＡを用いて説明した上記の方法により通常の画像の記録を実行し（ステップＳＡ３）、処理を終了する。
一方、倒立印字を行う設定となっている場合（ステップＳＡ３：ＹＥＳ）、記録制御部３７は、倒立記録を実行する（ステップＳＡ４）。
【００２５】
図６は、ステップＳＡ４において行われる倒立記録の詳細な説明に利用する図である。
図６のＡは、ステップＳＡ１で受信した制御コマンド（図４のＸと同様の制御コマンド）の内容を示している。
まず、記録制御部３７は、コマンド群Ｃ１を読み出し、コマンド群Ｃ１に基づいて、画像バッファーに展開すべきイメージデータを生成し、所定の記憶領域（例えば、ＲＡＭに形成されたワークエリア）に一時的に記憶する。ここで生成されたイメージデータは、文字列「２０１２／１／１」を示す画像を示すデータであって、コマンド群Ｃ１に含まれる文字列装飾コマンドＭＳ１が指定する装飾が反映されている。
次いで、記録制御部３７は、生成したイメージデータを、既存の画像処理アルゴリズムによって１８０°回転（倒立）したデータ（以下、「倒立画像データ」という）を生成する。図６のＢ１は、このようにして生成された倒立画像データを模式的に示している。Ｂ１に示すように、倒立画像データは、文字列「２０１２／１／１」について、右寄せの装飾が施された上で、１８０°回転された状態となっている。
文字列「２０１２／１／１」に係る倒立画像データを生成した後、記録制御部３７は、コマンド群Ｃ２、Ｃ３、及び、Ｃ４に基づいて、同様の手段により、文字列「ＮＯ５３」に係る倒立画像データ（図６のＢ２参照）、文字列「ハンバーガー」に係る倒立画像データ（図６のＢ３参照）、文字列「ポテト」に係る倒立画像データ（図６のＢ４参照）を、順番に生成する。これら倒立画像データのそれぞれには、各文字列に施すべき装飾が反映されている。
制御コマンドを順次読み出していく間、記録制御部３７は、感熱ロール紙Ｒの切断を指示するカットコマンドＣＣを読み出したか否かを監視する。上述したように、カットコマンドＣＣは、注文伝票の記録を指示する一連の制御コマンドの中で最後の制御コマンドに該当する。そして、読み出した制御コマンドがカットコマンドＣＣである場合、記録制御部３７は、末尾行から先頭行へ向かって順番に、各行の倒立画像データに基づいて、画像を記録していく。読み出した制御コマンドがカットコマンドＣＣである、ということは、画像の記録を指示する全てのコマンド群の読み出しが完了し、生成すべき全ての倒立画像データの生成が完了したということである。
【００２６】
詳述すると、まず、記録制御部３７は、末尾行に対応する文字列「ポテト」に係る倒立画像データ（図６のＢ４）を画像バッファーに展開し、画像を記録する。ここで記録される画像は、文字列「ポテト」を倒立（１８０°回転）させた画像であって、かつ、文字列「ポテト」について施すべき装飾である中央寄せの装飾が反映された画像である。
同様にして、記録制御部３７は、文字列「ハンバーガー」、文字列「Ｎｏ５３」、及び、先頭行に対応する文字列「２０１２／１／１」の順番に、対応する倒立画像データに基づいて画像を記録する。
図６のＣは、末尾行から先頭行へ向かって順番に、各行の倒立画像データに基づいて、画像が記録されていく様子を模式的に表している。図６のＣと、図４のＢとの比較で明らかなとおり、末尾行から先頭行へ向かって順番に、各行の倒立画像データに基づく画像が記録される結果、本来、感熱ロール紙Ｒに記録すべきであった画像（図４のＡに示す画像）の全体が、倒立（１８０°回転）された画像（図４のＢに示す画像）が感熱ロール紙Ｒに記録されることとなる。
このように、本実施形態では、記録制御部３７は、画像の記録を指示するコマンド群（制御コマンド）を読み出す度に、コマンド群に基づいて倒立画像データを生成し、画像の記録を指示するコマンド群の全ての読み出しが完了し、対応する全ての倒立画像データの生成が完了した段階で、生成した倒立画像データについて、末尾行から先頭行へ向かって記録するという処理を実行することによって、倒立画像を実現する。このため、倒立記録に際し、制御コマンドの全ての受信が完了した後、全ての制御コマンドを分析した上で、所定の態様で記録を行っていた従来の場合と比較して、非常に簡易な手法により記録すべき画像の倒立を実現できる。
【００２７】
さて、倒立記録を実行した後、記録制御部３７は、カットコマンドＣＣに基づいて、プリントエンジン３３を制御して、感熱ロール紙Ｒを切断する（ステップＳＡ５）。以上により、注文伝票の発行が完了する。
【００２８】
以上説明したように、本実施形態では、記録制御部３７は、ホストコンピューター１０から、行ごとに、画像の記録を指示するコマンド群Ｃ１〜Ｃ４（制御コマンド）を受信し、受信した各コマンド群に基づいて、行ごとに、記録すべき画像を倒立させた画像を示す画像データである倒立画像データを生成し、末尾行から先頭行へ向かって順番に、各行の倒立画像データに基づいて、各行に記録すべき画像を倒立させた画像を感熱ロール紙Ｒに記録することにより倒立記録を実行する。
この構成によれば、記録制御部３７は、画像の記録を指示する制御コマンドを受信する度に、制御コマンドに基づいて倒立画像データを生成し、生成した倒立画像データについて、末尾行から先頭行へ向かって記録するという処理により記録すべき画像の倒立を実現する。このため、例えば、制御コマンドの全ての受信が完了した後、全ての制御コマンドを分析した上で、倒立記録を実行する場合と比較して、非常に簡易な手法により記録すべき画像の倒立を実現できる。
【００２９】
また、本実施形態では、記録制御部３７は、１の画像の倒立画像データの生成に際し、当該１の画像について装飾が指示されている場合は、当該装飾を反映して倒立画像データを生成する。
この構成によれば、各行の各画像について、指示された修飾が施された上で倒立画像データが生成されるため、各倒立画像データに基づいて記録される画像について、指示に応じた装飾が適切に施された状態とすることができる。
【００３０】
また、本実施形態に係るプリンター１１は、倒立記録を実行するか否かを切り替え可能に構成されている。
この構成によれば、プリンター１１の設置場所（使用態様）に応じて、倒立記録を実行するか否かを切り替えることができり、使い勝手がよい。
【００３１】
次いで、別の実施形態について説明する。
この別の実施形態に係るプリンター１１は、複数の行のうち、所定の範囲に属する行の画像について、倒立記録を実行することが可能に構成されている。
図７のＡは、一部の行について倒立記録を行うときにホストコンピューター１０がプリンター１１に出力する制御コマンドの一例を示す図である。図７のＢは、図７のＡに基づいて感熱ロール紙Ｒに記録される画像の内容を模式的に示す図である。
図４のＸと、図７のＡとは、コマンド群Ｃ２とコマンド群Ｃ３との間に倒立開始コマンドＱ１が存在し、コマンド群Ｃ４の後に倒立終了コマンドＱ２が存在する点が、異なっている。
図７のＡに示す制御コマンドを受信すると、プリンター１１の制御部３０の記録制御部３７は、コマンド群Ｃ１、コマンド群Ｃ２に基づいて、対応する文字列を記録する。
そして、倒立開始コマンドＱ１を読み出すと、記録制御部３７は、以後、倒立終了コマンドＱ２を読み出すまでの間、倒立記録を実行する。すなわち、記録制御部３７は、倒立開始コマンドＱ１を読み出した後、コマンド群Ｃ３（先頭行に対応する画像の記録を指示する制御コマンドに該当）を読み出すと、コマンド群Ｃ３に基づいて対応する倒立画像データを生成し、次いで、コマンド群Ｃ４（末尾行に対応する画像の記録を指示する制御コマンドに該当）を読み出すと、コマンド群Ｃ４に基づいて対応する倒立画像データを生成する。次いで、記録制御部３７は、倒立終了コマンドＱ２を読み出したことをトリガーとして、コマンド群Ｃ４に係る倒立画像データに基づいて画像（末尾行の画像を倒立させた画像）を記録し、さらに、コマンド群Ｃ３に係る倒立画像データに基づいて画像（先頭行の画像を倒立させた画像）を記録することにより、倒立開始コマンドＱ１及び倒立終了コマンドＱ２で挟まれたコマンド群Ｃ３及びコマンド群Ｃ４に対応する各行の画像について、倒立記録を実行する。
【００３２】
以上のように、別の実施形態に係る記録制御部３７は、複数の行のうち、所定の範囲に属する行の画像について、倒立記録を実行する。
ここで、行ごとに画像を記録する記録装置にあっては、全ての行ではなく、所定の範囲に属する行に係る画像についてのみ倒立して記録させたいとするニーズが生じる場合があるが、上記構成によれば、当該ニーズに適切に応えることができる。
【００３３】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、プリンター１１はサーマル式の記録装置であったが記録方式はこれに限らずインクジェット式、ドットインパクト式など何であってもよい。すなわち、行ごとに画像を記録する記録装置に広く本発明を適用可能である。また例えば、図２に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、プリンター１１の各機能ブロックの機能を、プリンター１１に外部接続される別の装置に持たせるようにしてもよい。また、プリンター１１は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、図５のフローチャートに係る動作を含む各種動作を実行するようにしてもよい。
【符号の説明】
【００３４】
１…記録システム、１０…ホストコンピューター（制御装置）、１１…プリンター（記録装置）、３０…制御部、３７…記録制御部、６０…記録制御部。
【図１】
0006051559.tif 000002
【図２】
0006051559.tif 000003
【図３】
0006051559.tif 000004
【図４】
0006051559.tif 000005
【図５】
0006051559.tif 000006
【図６】
0006051559.tif 000007
【図７】
0006051559.tif 000008