(57)【特許請求の範囲】
【請求項１】
制御装置に接続可能な記録装置であって、
記録媒体に画像を記録可能な領域の幅方向のサイズを示す記録可能領域に係る設定データ、及び特定のフォントに係るフォントテーブル、が不揮発に記憶される記憶部と、
前記設定データを一時記憶領域に展開し、前記一時記憶領域に展開された前記設定データに基づいて前記記録媒体に記録を実行する記録制御部と、を備え、
前記記録制御部は、
前記制御装置からフォント指定コマンドを含む制御コマンドを受信した場合において、
前記フォント指定コマンドによって指定されたフォントが前記特定のフォントであると判別したときは、前記一時記憶領域に展開された前記設定データに基づいて前記特定のフォントに係る前記フォントテーブルを参照して記録を実行し、
前記フォント指定コマンドによって指定されたフォントが前記特定のフォントではないと判別したときは、前記一時記憶領域に展開された前記設定データを前記フォント指定コマンドが指定するフォントの幅方向のサイズで除することによって１行に記録可能な桁数である記録可能桁数を算出し、前記一時記憶領域に展開された前記設定データを、前記算出した記録可能桁数に前記特定のフォントの幅方向のサイズを乗じることによって算出した値に変更し、前記変更後の前記設定データに基づいて前記特定のフォントに係る前記フォントテーブルを参照して記録を実行することを特徴とする記録装置。
【請求項２】
前記制御装置から前記記録可能領域に係る前記設定データについての問い合わせがあった場合は、前記変更後の前記設定データも含め、前記一時記憶領域に展開した前記設定データを応答することを特徴とする請求項１に記載の記録装置。
【請求項３】
前記特定のフォント、及び、前記フォント指定コマンドによって指定されたフォントは、それぞれ所定のフォントサイズを有するビットマップフォントであることを特徴とする請求項１又は２に記載の記録装置。
【請求項４】
制御装置に接続可能に構成され、
記録媒体に画像を記録可能な領域の幅方向のサイズを示す記録可能領域に係る設定データ、及び特定のフォントに係るフォントテーブル、が不揮発に記憶される記憶部を備える記録装置の制御方法であって、
前記設定データを一時記憶領域に展開し、前記一時記憶領域に展開された前記設定データに基づいて前記記録媒体に記録を実行するステップを有し、
前記ステップは、前記制御装置からフォント指定コマンドを含む制御コマンドを受信した場合において、
前記フォント指定コマンドによって指定されたフォントが前記特定のフォントであると判別したときは、前記一時記憶領域に展開された前記設定データに基づいて前記特定のフォントに係る前記フォントテーブルを参照して記録を実行し、
前記フォント指定コマンドによって指定されたフォントが前記特定のフォントではないと判別したときは、前記一時記憶領域に展開された前記設定データを前記フォント指定コマンドが指定するフォントの幅方向のサイズで除することによって１行に記録可能な桁数である記録可能桁数を算出し、前記一時記憶領域に展開された前記設定データを、前記算出した記録可能桁数に前記特定のフォントの幅方向のサイズで乗じることによって算出した値に変更し、前記変更後の前記設定データに基づいて前記特定のフォントに係る前記フォントテーブルを参照して記録を実行することを特徴とする記録装置の制御方法。
【請求項５】
制御装置に接続可能に構成され、
記録媒体に画像を記録可能な領域の幅方向のサイズを示す記録可能領域に係る設定データ、及び特定のフォントに係るフォントテーブル、が不揮発に記憶される記憶部を備える記録装置の各部を制御する制御部により実行されるプログラムであって、
前記制御部を、
前記設定データを一時記憶領域に展開し、前記一時記憶領域に展開された前記設定データに基づいて前記記録媒体に記録を実行する記録制御部として機能させ、
前記記録制御部を、
前記制御装置からフォント指定コマンドを含む制御コマンドを受信した場合において、
前記フォント指定コマンドによって指定されたフォントが前記特定のフォントであると判別したときは、前記一時記憶領域に展開された前記設定データに基づいて前記特定のフォントに係る前記フォントテーブルを参照して記録を実行させ、
前記フォント指定コマンドによって指定されたフォントが前記特定のフォントではないと判別したときは、前記一時記憶領域に展開された前記設定データを前記フォント指定コマンドが指定するフォントの幅方向のサイズで除することによって１行に記録可能な桁数である記録可能桁数を算出し、前記一時記憶領域に展開された前記設定データを、前記算出した記録可能桁数に前記特定のフォントの幅方向のサイズを乗じることによって算出した値に変更し、前記変更後の前記設定データに基づいて前記特定のフォントに係る前記フォントテーブルを参照して記録を実行させることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、制御装置に接続可能に構成され、設定値を参照しつつ記録を行う記録装置、当該記録装置の制御方法、及び、当該記録装置を制御するためのプログラムに関する。
【背景技術】
【０００２】
従来、記録に関する各種設定の設定値を記憶し、これら設定値を参照しつつ、記録に係る各種動作を実行する記録装置（印刷制御装置）が知られている（例えば、特許文献１参照）。
一般に、この種の記録装置を制御する制御装置（例えば、ホストコンピューター）は、各種設定について記録装置に問い合わせる機能が実装されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２０３９２６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、各種設定の中には、記録装置による記録の実行に際し、所定の態様で記録を行うために、その設定値が一時的に変更されるものがある。そして、記録装置について、制御装置から設定についての問い合わせがあった場合に、一時的に設定値が変更される設定があることを踏まえた適切な応答ができるようにしたいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、記録の際に一時的に設定値が変更される設定があることを踏まえ、制御装置からの設定に関する問い合わせについて適切な応答をすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明は、制御装置に接続可能な記録装置であって、記録媒体への記録に関する設定に係る設定値が記述された設定データが記憶される記憶部と、前記設定データを参照して前記設定値を一時記憶領域に展開し、当該一時記憶領域に展開した前記設定値を参照して前記記録媒体に記録を実行させる記録制御部と、を備え、前記記録制御部は、前記制御装置から制御コマンドを受信した場合、当該制御コマンドの内容に応じて前記一時記憶領域に展開した所定の設定に係る設定値を変更し、当該所定の設定については変更後の前記設定値を参照して記録を実行させ、前記制御装置から設定値を変更した設定についての問い合わせがあった場合は、変更後の前記設定値を応答することを特徴とする。
この構成によれば、記録装置は、設定値を一時的に変更した設定について、制御装置から問い合わせがあった場合、設定データに記述された設定値ではなく、一時記憶領域に記憶された変更後の設定値を応答する。ここで、一時記憶領域に記憶された設定値が、記録に係る処理に際して実際に使用される設定値であるため、上記構成により、記録装置は、制御装置から設定に関する問い合わせがあった場合、記録の際に一時的に設定値が変更される設定があることを踏まえ、設定値が変更された設定については、記録に際して実際に使用される設定値を適切に応答することが可能となる。
【０００６】
また、本発明は、前記設定データには、記録可能領域に係る設定値が記述され、前記記録制御部は、前記制御装置から制御コマンドを受信した場合、当該制御コマンドの内容に応じて、前記一時記憶領域に展開した記録可能領域に係る設定値を変更し、前記記録可能領域については、変更後の前記記録可能領域に係る設定値を参照して記録を実行させ、前記制御装置から前記記録可能領域についての問い合わせがあった場合は、変更後の前記記録可能領域に係る設定値を応答することを特徴とする。
ここで、記録装置は、記録に際し、設定データに記述された記録可能領域の設定値について、所定の記録結果を得るために、その値を拡大し、又は、縮小することがある。そして、上記構成によれば、記録可能領域の設定値について一時的な変更が行われた場合において、制御装置から記録可能領域についての問い合わせがあった場合、記録装置は、一時的な変更後の記録可能領域の設定値を応答するため、記録に際して実際に使用する記録可能領域の設定値を適切に応答可能となる。
【０００７】
また、本発明は、前記記録制御部は、前記制御装置から１行分の文字の記録を指示する制御コマンドを受信した場合、当該制御コマンドの内容に応じて、１行に記録される文字の記録可能桁数が所定の値となるように前記一時記憶領域に展開した前記記録可能領域に係る設定値を変更し、前記記録可能領域については、変更後の前記記録可能領域に係る設定値を参照して記録を実行させ、前記制御装置から前記記録可能領域についての問い合わせがあった場合は、変更後の前記記録可能領域に係る設定値を応答することを特徴とする。
ここで、１行に記録される文字の記録可能桁数によって、記録結果（記録媒体の見た目）は大きく変わる場合がある。従って、記録装置は、所定の記録結果を得るために、記録可能領域の設定値を変更することにより、１行に記録される文字の記録可能桁数を調整する場合がある。そして、上記構成によれば、記録可能桁数の調整のために記録可能領域の設定値について一時的な変更が行われた場合において、制御装置から記録可能領域についての問い合わせがあった場合、記録装置は、一時的な変更後の記録可能領域の設定値を応答するため、記録に際して実際に使用する記録可能領域の設定値を適切に応答可能となる。
【０００８】
また、本発明は、前記記憶部には、フォントデータがさらに記憶され、前記記録制御部は、前記制御装置から１行分の所定のフォントの文字の記録を指示する制御コマンドを受信した場合、当該制御コマンドの内容に応じて、当該所定のフォントで１行に文字を記録したときの記録可能桁数と、他の特定のフォントで１行に文字を記録したときの記録可能桁数が一致するように前記一時記憶領域に展開した前記記録可能領域に係る設定値を変更し、前記記録可能領域については、変更後の前記記録可能領域に係る設定値を参照して記録を実行させ、前記制御装置から前記記録可能領域についての問い合わせがあった場合は、変更後の前記記録可能領域に係る設定値を応答することを特徴とする。
ここで、記録装置は、１行分の文字を記録する場合において、所定のフォントで記録した場合と、他の特定のフォントで記録した場合との記録結果を近似させるべく、当該処置のフォントで１行に文字を記録したときの記録可能桁数と、他の特定のフォントで１行に文字を記録したときの記録可能桁数とが一致するように、記録可能領域の設定値を一時的に変更する場合がある。そして、上記構成によれば、記録可能桁数の調整のために記録可能領域の設定値について一時的な変更が行われた場合において、制御装置から記録可能領域についての問い合わせがあった場合、記録装置は、一時的な変更後の記録可能領域の設定値を負うとするため、記録に際して実際に使用する記録可能領域の設定値を適切に応答可能となる。
【０００９】
また、上記目的を達成するために、本発明は、制御装置に接続可能に構成され、記録媒体への記録に関する各種設定に係る設定値が記述された設定データが記憶される記憶部を備える記録装置の制御方法であって、前記設定データに記述された前記設定値を一時記憶領域に展開し、当該一時記憶領域に展開した設定値を参照して前記記録媒体に記録を実行し、当該制御コマンドの内容に応じて前記一時記憶領域に展開した所定の設定に係る設定値を変更し、当該所定の設定については、変更後の前記設定値を参照して記録を実行し、前記制御装置から設定値を変更した設定についての問い合わせがあった場合は、変更後の前記設定値を応答することを特徴とする。
この制御方法によれば、記録装置は、制御装置から設定に関する問い合わせがあった場合、記録の際に一時的に設定値が変更される設定があることを踏まえ、設定値が変更された設定については、記録に際して実際に使用される設定値を適切に応答することが可能となる。
【００１０】
また、上記目的を達成するために、制御装置に接続可能に構成され、記録媒体への記録に関する設定に係る設定値が記述された設定データが記憶される記憶部を備える記録装置を制御する制御部により実行されるプログラムであって、前記制御部を、前記設定データに記述された前記設定値を一時記憶領域に展開し、当該一時記憶領域に展開した前記設定値を参照して前記記録媒体に記録を実行させる記録制御部として機能させ、前記記録制御部は、前記制御装置から前記制御コマンドを受信した場合、当該制御コマンドの内容に応じて前記一時記憶領域に展開した所定の設定に係る設定値を変更し、当該所定の設定については、変更後の前記設定値を参照して記録を実行させ、前記制御装置から設定値を変更した設定についての問い合わせがあった場合は、変更後の前記設定値を応答することを特徴とする。
このプログラムによれば、記録装置は、制御装置から設定に関する問い合わせがあった場合、記録の際に一時的に設定値が変更される設定があることを踏まえ、設定値が変更された設定については、記録に際して実際に使用される設定値を適切に応答することが可能となる。
【発明の効果】
【００１１】
本発明によれば、記録の際に一時的に設定値が変更される設定があることを踏まえ、制御装置からの設定に関する問い合わせについて適切な応答をすることができる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態に係る記録システムの機能的構成を示すブロック図である。
【図２】（Ａ）はフォントサイズを示し、（Ｂ）は設定データの内容を示す。
【図３】制御コマンドと、制御コマンドに基づく記録結果の一例を示す図である。
【図４】行バッファーにフォントデータが展開される様子を示す図である。
【図５】プリンターの動作を示すフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係る記録システム１の機能的構成を示すブロック図である。
記録システム１は、ホストコンピューター１０（制御装置）と、プリンター１１（記録装置）とを備え、ホストコンピューター１０の制御の下、プリンター１１により記録媒体に記録するシステムである。特に、本実施形態に係る記録システム１では、ホストコンピューター１０と、プリンター１１とが協働して、レシートを発行可能である。レシートを発行する際のホストコンピューター１０、及び、プリンター１１の動作については、後述する。
【００１４】
図１に示すように、ホストコンピューター１０は、ホスト側制御部１５と、ホスト側表示部１６と、ホスト側入力部１７と、ホスト側インターフェイス（Ｉ／Ｆ）部１８と、ホスト側記憶部１９と、を備えている。
ホスト側制御部１５は、ホストコンピューター１０の各部を中枢的に制御するものであり、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の周辺回路等を備えている。ホスト側制御部１５は、アプリケーション実行部２０と、プリンタードライバー実行部２１と、を備えているが、これらについては後述する。ホスト側表示部１６は、液晶ディスプレーパネル等の表示パネルを備え、ホスト側制御部１５の制御の下、表示パネルに各種情報を表示する。ホスト側入力部１７は、各種入力デバイスに接続され、これら入力デバイスに対する操作を検出し、ホスト側制御部１５に出力する。ホスト側インターフェイス部１８は、ホスト側制御部１５の制御の下、プリンター１１との間で通信規格に準拠した通信を行う。ホスト側記憶部１９は、ハードディスクや、ＥＥＰＲＯＭ等の記憶装置を備え、各種データを書き換え可能に記憶する。
【００１５】
一方、プリンター１１は、発熱素子が並べて設けられた記録ヘッド２３を備え、この記録ヘッド２３によって、感熱ロール紙２４（記録媒体）の記録面に熱を与えて画素を形成することにより、画像を記録するサーマルプリンターである。特に、プリンター１１は、感熱ロール紙２４に所定の画像を記録した後、所定の位置で感熱ロール紙２４を切断することにより、レシートを発行可能である。
図１に示すように、プリンター１１は、制御部３０と、表示部３１と、入力部３２と、プリントエンジン３３と、記憶部３５と、インターフェイス部（Ｉ／Ｆ）３６と、を備えている。
制御部３０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の周辺回路を備え、プリンター１１の各部を中枢的に制御する。制御部３０は、記録制御部３７を備えているが、これについては後述する。表示部３１は、プリンター１１の動作状態等の各種情報を表示する液晶パネル等の表示パネルや、ＬＥＤを備え、制御部３０の制御の下、当該表示パネルに各種情報を表示し、また、ＬＥＤを所定の態様で点灯／消灯する。入力部３２は、プリンター１１に設けられた各種操作スイッチに接続され、操作スイッチに対する操作を検出し操作信号として制御部３０に出力する。
プリントエンジン３３は、上述した記録ヘッド２３のほか、感熱ロール紙２４を搬送する搬送機構、感熱ロール紙２４を切断する切断機構等を備えている。制御部３０の記録制御部３７は、ファームウェアを読み出して実行することにより、ホストコンピューター１０から受信した制御コマンドに基づいて、各種センサーの検出値を監視しながら、記録ヘッド２３や、各種モーターを制御して、感熱ロール紙２４に所定の画像を記録し、所定の位置で感熱ロール紙２４を切断することにより、所定の画像が記録された紙片であるレシートを発行する。この記録制御部３７の機能は、ＣＰＵがファームウェアを読み出して実行する等、ハードウェアとソフトウェアとの協働により実現される。
インターフェイス部３６は、制御部３０の制御の下、ホストコンピューター１０との間で通信規格に準拠した通信を行う。記憶部３５は、ＥＥＰＲＯＭや、ハードディスク等の不揮発性メモリーを備え、各種データを書き換え可能に不揮発的に記憶する。記憶部３５には、プリンター１１の動作を制御するためのファームウェアが記憶されている。また、記憶部３５には、フォントＡテーブル４０、及び、設定データ４１が記憶されるが、これらについては後述する。
【００１６】
次いで、アプリケーション実行部２０及びプリンタードライバー実行部２１の説明を通して、記録システム１がレシートを発行する際の基本的な動作について説明する。
アプリケーション実行部２０は、ホストコンピューター１０に予めインストールされたアプリケーションを実行することにより、レシートに記録すべき画像に関する各種情報を含む画像情報データを生成し、プリンタードライバー実行部２１に出力する。
プリンタードライバー実行部２１は、ホストコンピューター１０に予めインストールされたプリンタードライバーを実行することにより、アプリケーション実行部２０から入力された画像情報データに基づいて、プリンター１１のコマンド仕様に対応した制御コマンドを生成し、プリンター１１に出力する。
制御コマンドとは、プリンター１１にレシートの発行に係る各種動作を行わせるためのコマンド群のことであり、画像の記録を指示するコマンドや、所定の搬送量、感熱ロール紙２４を搬送することを指示するコマンド、感熱ロール紙２４の切断を指示するコマンド等が含まれている。ホストコンピューター１０からプリンター１１に出力された制御コマンドは、順次、受信バッファー（不図示）に格納される。プリンター１１の制御部３０の記録制御部３７は、受信バッファーに格納された制御コマンドを、順次、読み出して実行することにより、プリントエンジン３３を制御して、レシートの発行に係る各種動作を実行し、レシートを発行する。
【００１７】
次に、感熱ロール紙２４への文字の記録について説明する。
図２（Ａ）は、フォントＡ、及び、フォントＡ’のフォントサイズを示す図である。
プリンター１１は、フォントの１種類であるフォントＡに対応しており、フォントＡに係るフォントテーブルであるフォントＡテーブル４０が記憶部３５に記憶されている。フォントテーブルとは、フォントデータを集合して記憶するテーブルであり、また、フォントデータとは、文字を感熱ロール紙２４に記録可能な態様で表現する実データのことである。本実施形態では、フォントデータの態様は、ビットマップフォントデータである。図２（Ａ）に示すように、フォントＡのフォントサイズは、横１２ドット×縦２４ドットである。
図２（Ｂ）は、記憶部３５に記憶された設定データ４１に記述された設定値のうち、本願発明に係る設定値について、模式的に示す図である。設定データ４１とは、記録に関する各種設定に係る設定値が集合的に記述されたデータである。各種設定に係る設定値とは、感熱ロール紙２４への記録を含むレシートの発行に際して利用される設定や、条件等の具体的な値のことであり、例えば、設定として記録速度が存在する場合の記録速度の値（例えば、高速、中速、及び、低速のうちいずれかを示す値）や、設定として記録濃度が存在する場合の記録濃度の値、セットされている感熱ロール紙２４の紙幅を示す値、左右のマージンを示す値等である。本実施形態では、設定データ４１における各種設定の設定値の記述、書き換えは、ホストコンピューター１０のプリンタードライバーによって提供されるユーザーインターフェイスを介して、ユーザーが任意に行える構成となっている。
図２（Ｂ）に示すように、本実施形態では、プリンター１１の設定として、記録可能領域が少なくとも存在する。記録可能領域とは、感熱ロール紙２４に画像を記録する際に、実際に画像を記録することが可能な領域の幅方向の長さのことである。図２（Ｂ）の例では、記録可能領域に係る設定値は４００ドットである。上述したように、記録可能領域に係る設定値は、ユーザーが任意に設定可能である。
【００１８】
次いで、プリンター１１が、文字列を記録する際の基本的な動作について説明する。
図３のＡは、所定の文字列の記録を指示する制御コマンドの一例を模式的に示す図であり、具体的には、フォントＡによって文字列「ＡＡＡ・・・Ａ」（文字「Ａ」が３４個連続した文字列。以下同じ。）を記録することを指示するコマンド群ＣＧを示している。また、図３のＢは、図３のＡに示すコマンド群ＣＧを実行することによって文字列が記録された感熱ロール紙２４の様子を模式的に示す図である。
図３のＡに示すように、コマンド群ＣＧは、フォント指定コマンドＦＣと、文字列記録指示コマンドＭＣとを含んでいる。
フォント指定コマンドＦＣは、文字列を記録するときのフォントを指定するコマンドであり、図３のＡのフォント指定コマンドＦＣは、文字列を記録するときのフォントとしてフォントＡを指定している。
また、文字列記録指示コマンドＭＣとは、文字列を記録することを指示するコマンドである。文字列記録指示コマンドＭＣは、命令コードと、所定の文字コード（例えば、アスキーコード。）で表現された文字の組み合わせからなる文字列と、が組み合わされて構成されている。図３のＡの文字列記録指示コマンドＭＣは、例えば、「ＸＸＸ“ＡＡＡ・・・Ａ”」（ただし、ＸＸＸは、文字列を記録することを指示する命令コード。また、ダブルクォーテーション内の文字列は、アスキーコードで表現された文字の組み合わせによって構成された文字列。）という構成となっている。
【００１９】
以下、コマンド群ＣＧに基づいて、フォントＡで文字列「ＡＡＡ・・・Ａ」を記録する場合のプリンター１１の動作について説明する。
まず、ホストコンピューター１０のプリンタードライバー実行部２１は、コマンド群ＣＧを生成し、プリンター１１に送信する。プリンター１１において、ホストコンピューター１０から受信したコマンド群ＣＧに含まれる制御コマンドは、受信バッファーに一時的に格納される。
プリンター１１の制御部３０の記録制御部３７は、受信バッファーに格納されたフォント指定コマンドＦＣ、及び、文字列記録指示コマンドＭＣを読み出す。次いで、記録制御部３７は、文字列記録指示コマンドＭＣが指定する文字列「ＡＡＡ・・・Ａ」を構成する各文字を順番に取得し、フォント指定コマンドＦＣが指定するフォント（フォントＡ）のフォントテーブル（フォントＡテーブル４０）を参照して、取得した文字をフォントデータに変換し、行バッファー４５に順次展開していく。ここで、アスキーコードで表現された文字のそれぞれは、フォントＡテーブル４０に記憶されたいずれかのフォントデータと対応関係にあり、この対応関係を示す情報が記憶部３５に予め記憶されている。
【００２０】
図４は、行バッファー４５にフォントデータが展開される様子を示す図である。
行バッファー４５とは、制御部３０のＲＡＭの所定の記憶領域に形成された、１行分のプリントバッファーのことである。本実施形態では、文字列の記録は、行ごとに行われる構成となっており、感熱ロール紙２４に１行分の文字列を記録する場合、記録制御部３７は、当該文字列を構成する全ての文字のフォントデータを、行バッファー４５に展開した後、行バッファー４５に展開されているデータに基づいて、画像を記録する。
行バッファー４５にフォントＡに係るフォントデータが展開される動作を具体的に説明すると、記録制御部３７は、まず、ＲＡＭに横４００ドット、縦２４ドットの行バッファー４５を形成する。行バッファー４５の横のサイズは、プリンター１１の記録可能領域に係る設定値によって規定され、縦のサイズは、展開するフォントデータの縦方向のフォントサイズによって規定される。次いで、記録制御部３７は、図４のＡに示すように、行バッファー４５において、文字列「ＡＡＡ・・・Ａ」を構成する各文字のうち、処理対象となっている１つの文字を取得し、取得した文字をフォントデータに変換し、変換したフォントデータを行バッファー４５に展開する、という動作を順番に行うことにより、文字列「ＡＡＡ・・・Ａ」を構成する各文字のフォントデータを、矢印Ｙ１方向に向かって、順次、行バッファー４５に展開する。
ここで、文字列「ＡＡＡ・・・Ａ」のそれぞれの文字のフォントデータを行バッファー４５に順次展開していった場合、行バッファー４５の横のサイズが４００ドットであり、フォントＡに係るフォントデータの横のサイズが１２ドットであるため、３３個目の文字「Ａ」のフォントデータを展開した後は、３４個目の文字「Ａ」のフォントデータを行バッファー４５に展開できない状態となる。この状態が現出した場合、記録制御部３７は、行バッファー４５がフルになったと判別し、行バッファー４５に展開されたデータに基づいて、３３個分の文字「Ａ」によって構成された文字列の記録を行う。次いで、記録制御部３７は、行バッファー４５をバッファークリアし、残りの文字のフォントデータを行バッファー４５の先頭から順次展開する。具体的には、３４個目の文字「Ａ」のフォントデータを行バッファー４５に展開する（図４のＢ）。次いで、記録制御部３７は、行バッファー４５に展開されたデータに基づいて、３４個目の文字「Ａ」を記録する。
以上の動作が行われることにより、図３のＡのコマンド群ＣＧに基づいて、図３のＢに示す態様で、感熱ロール紙２４に文字列「ＡＡＡ・・・Ａ」が記録される。
【００２１】
ここで、記録可能桁数とは、１行に記録可能な文字の桁数のことであり、記録可能領域に係る設定値と、文字のフォントデータの横のサイズとの関係によって規定される。上記例で言えば、記録可能領域の設定値が４００ドットであり、文字のフォントデータの横のサイズが１２ドットであるため、記録可能桁数は、３３桁（４００÷１２＝３３．３・・・）となる。この記録可能桁数は、換言すれば、ＲＡＭに形成した行バッファー４５に展開可能なフォントデータの数の最大値ことである。そして、本実施形態では、記録制御部３７は、記録可能桁数以上の桁数を有する文字列の記録が指示された場合は、上述した動作を実行することにより、１行に記録可能桁数分の文字を記録した後、改行し、残りの文字を記録する。
【００２２】
ところで、ホストコンピューター１０は、プリンター１１に文字列を記録させる場合、上述したように、フォント指定コマンドＦＣによりフォントを指定する。しかしながら、プリンター１１が、ホストコンピューター１０が指定するフォントに対応していない（当該フォントのフォントテーブルを有していない）場合がある。この場合、プリンター１１は、自身が対応しているフォントにより文字列を記録することとなるが、その際、ホストコンピューター１０が指定したフォントで文字列を記録したときの記録結果と、プリンター１１が対応しているフォントで文字列を記録したときの記録結果とが近似した状態となることが求められる場合がある。特に、レシートは、発行された後に顧客に引き渡されるものであるため、フォントに対応しているか否かにかかわらず、記録結果が近似した状態となることが求められる。そして、記録結果を近似した状態とするためには、少なくとも、ホストコンピューター１０が指定したフォントで文字列を記録したときの記録可能桁数と、プリンター１１が対応しているフォントで文字列を記録したときの記録可能桁数とを一致させる必要がある。これは、記録可能桁数が異なると、文字列の改行位置や、レシートにおいて文字列が記録される位置のバランスが異なる要因となり、記録結果が著しく相違する要因となり得るからである。
このことを踏まえ、本実施形態に係るプリンター１１は、以下の動作を実行すると共に、さらに、ホストコンピューター１０からの設定に関する問い合わせに対して、以下の動作を行うことを踏まえた適切な動作をする。
以下、ホストコンピューター１０が、フォントＡ’を指定して、文字列の記録を指示する場合、すなわち、フォントＡ’を指定するフォント指定コマンドＦＣ、及び、文字列記録指示コマンドＭＣを含むコマンド群ＣＧをプリンター１１に出力する場合を例として、プリンター１１の動作について説明する。図２（Ａ）に示すとおり、フォントＡ’のサイズは、横１３ドット×縦２６ドットである。
【００２３】
図５は、プリンター１１の動作を示すフローチャートである。
まず、プリンター１１の制御部３０の記録制御部３７は、フォントＡ’を指定するフォント指定コマンドＦＣ、及び、文字列記録指示コマンドＭＣを含むコマンド群ＣＧを受信する（ステップＳＡ１）。コマンド群ＣＧを受信すると、記録制御部３７は、レシートの発行を行うための準備に係る処理として、記憶部３５に記憶された設定データ４１を参照し、各種設定の設定値を、ファームウェア上に定義された対応する変数に格納する（ステップＳＡ２）。設定データ４１に記述された各種設定の設定値を、プログラム上に定義された変数に格納するという処理は、具体的には、ＲＡＭ等に形成されたワークエリア（一時記憶領域）の適切な記憶領域に、設定に係る設定値を展開するという処理であり、「設定データに記述された各種設定に係る設定値を一時記憶領域に記憶する」という処理に該当する。このように設定値を変数に格納することにより、記録制御部３７は、設定値を参照しつつレシートの発行に係る各種処理を実行可能となる。特に、ステップＳＡ２では、変数Ｈ１に、記録可能領域に係る設定値（本例では、４００ドット）が格納される。
次いで、記録制御部３７は、フォント指定コマンドＦＣによって指定されたフォントが、プリンター１１が対応しているフォントＡであるか否かを判別する（ステップＳＡ３）。フォントＡである場合（ステップＳＡ３：ＹＥＳ）、記録制御部３７は、フォントＡテーブル４０を利用して通常どおり記録に係る処理を実行する（ステップＳＡ４）。
一方、フォントＡではない場合は、記録制御部３７は、自身が対応しているフォントＡによって文字を記録する必要がある。そして、ステップＳＡ３において、フォント指定コマンドＦＣによって指定されたフォントが、プリンター１１が対応しているフォントＡではないと判別した場合（ステップＳＡ３：ＮＯ）、記録制御部３７は、フォント指定コマンドＦＣが指定するフォントで文字を記録したとした場合の記録可能桁数を算出する（ステップＳＡ５）。
【００２４】
ステップＳＡ５の処理について詳述する。上述したように、記録可能桁数は、記録可能領域に係る設定値と、文字のフォントデータの横のサイズとの関係によって規定される。そして、本例では、記録可能領域に係る設定値は４００ドットであり、フォント指定コマンドＦＣによって指定されたフォントＡ’の横のサイズは、１３ドットであるため、ステップＳＡ５において記録制御部３７によって算出される記録可能桁数は、３０桁（４００÷１３＝３０．７・・・）である。つまり、ホストコンピューター１０は、記録可能桁数が３０桁であることを前提として文字列の記録を指示しており、この記録可能桁数に準じて文字列を記録する必要がある。なお、フォント指定コマンドＦＣにフォントＡ’の横のサイズを示す情報が含まれている場合は、記録制御部３７は、当該情報に基づいてフォントＡ’の横のサイズを取得してもよく、また、フォントＡ’の横のサイズを示す情報が事前に記憶されている場合はこれを利用して当該情報を取得してもよく、また、プリンター１１と所定のタイミングで所定のプロトコルに準じて通信を行い、当該情報を取得してもよい。すなわち、フォントＡ’の横のサイズを示す情報の取得手段は任意である。
【００２５】
次いで、記録制御部３７は、フォントＡで１行に文字を記録したとした場合の記録可能桁数が、ステップＳＡ５で算出した記録可能桁数（３０桁）となるような、記録可能領域の設定値を算出する（ステップＳＡ６）。詳述すると、フォントＡの横のサイズは、１２ドットである。従って、フォントＡで１行に文字を記録したとした場合の記録可能桁数を３０桁とするためには、記録可能領域の設定値を３６０ドット（１２ドット×３０桁）とすればよい。これにより、行バッファー４５を形成するときの横のサイズが、３６０ドットとなり、行バッファー４５に展開可能なフォントＡのフォントデータの最大数（＝記録可能桁数）が「３０」となる。以上を踏まえ、ステップＳＡ６において、記録制御部３７は、ステップＳＡ５で算出した記録可能桁数に、フォントＡの横のサイズを乗じることによって、記録可能領域の設定値を算出する。
次いで、記録制御部３７は、ステップＳＡ６にて算出した記録可能領域の設定値によって、変数Ｈ１に格納された値を変更する（ステップＳＡ７）。
次いで、記録制御部３７は、所定の記憶領域に、行バッファー４５を形成する（ステップＳＡ８）。行バッファー４５の横のサイズは、変数Ｈ１に格納された変更後の記録可能領域の設定値に基づいて規定される。このように、各種処理の実行に際し、実際に使用される設定値は、設定データ４１に記述されているものではなく、プログラム上の各種変数に格納されているものである。
次いで、記録制御部３７は、文字列記録指示コマンドＭＣ、及び、フォントＡテーブル４０に基づいて、記録すべき文字列を構成する各文字のフォントＡのフォントデータを、順次、行バッファー４５に展開し（ステップＳＡ９）、行バッファー４５に展開したデータに基づいて文字列の記録を実行する（ステップＳＡ１０）。上述したように、行バッファー４５は、記録可能桁数が３０桁となるようなサイズであるため、記録可能桁数が３０桁となるような態様で記録が実行される。つまり、フォントＡ’で文字を記録したときの記録可能桁数と、フォントＡで文字を記録したときの記録可能桁数が、共に、３０桁であり、各フォントで記録したときの記録結果が近似する。
【００２６】
次いで、記録制御部３７は、ホストコンピューター１０からいずれかの設定の設定値について、問い合わせがあったか否かを監視する（ステップＳＡ１１）。この問い合わせは、記録の実行後に自動で行われるものであってもよく、ユーザーによる明示的な指示に基づいて行われるものであってもよい。また、問い合わせは、所定のプロトコルに準拠した制御コマンドであって、設定の設定値について応答を要求する制御コマンドにより行われる。
ステップＳＡ１１において、ホストコンピューター１０からいずれかの設定の設定値について問い合わせがあった場合（ステップＳＡ１１：ＹＥＳ）、記録制御部３７は、以下の処理を行う（ステップＳＡ１２）。なお、以下の説明では、説明の明確化のため、ステップＳＡ１１において、ホストコンピューター１０から、記録可能領域についての問い合わせがあったものとする。
すなわち、ホストコンピューター１０から記録可能領域について問い合わせがあった場合、記録制御部３７は、設定データ４１を参照するのではなく、記録可能領域の設定値が格納された変数Ｈ１に格納された値を取得し、記録可能領域の設定値として応答する。
これにより、以下の効果を奏することが可能である。すなわち、記録可能領域の設定値については、設定データ４１に記述された値ではなく、変数Ｈ１に格納されている値こそが、行バッファー４５の形成や、その他の記録に係る処理に際して実際に参照される値である。そして、ホストコンピューター１０から記録可能領域について問い合わせがあった場合、従来のように設定データ４１に記述された値を応答するのではなく、変数Ｈ１に格納された値を応答することにより、制御コマンドの内容に応じて記録可能領域の設定値を変更して使用することを踏まえて、実際に使用する設定値を適切に応答することが可能となる。
【００２７】
以上説明したように、本実施形態によれば、プリンター１１は、感熱ロール紙２４への記録に関する各種設定に係る設定値が記述された設定データ４１が記憶される記憶部３５と、設定データ４１に記述された各種設定に係る設定値を、プログラム上で定義された変数への格納という形で一時記憶領域に記憶し、ホストコンピューター１０から受信した制御コマンドに基づいて、変数に格納した設定値を参照しつつ、感熱ロール紙２４に記録する記録制御部３７と、を備えている。そして、記録制御部３７は、ホストコンピューター１０から制御コマンドを受信した場合、当該制御コマンドの内容に応じて変数に格納した所定の設定に係る設定値を変更し、当該所定の設定については、変更後の設定値を参照しつつ記録を行い、ホストコンピューター１０から設定値を変更した設定についての問い合わせがあった場合は、変更後の設定値を応答する。
より具体的には、記録制御部３７は、ホストコンピューター１０から制御コマンドを受信した場合、当該制御コマンドの内容に応じて変数Ｈ１に格納した記録可能領域に係る設定値を変更し、記録可能領域については、変更後の記録可能領域に係る設定値を参照しつつ記録を行い、ホストコンピューター１０から記録可能領域についての問い合わせがあった場合は、変数Ｈ１に格納された変更後の前記記録可能領域に係る設定値を応答する。
この構成によれば、記録可能領域の設定値について、所定の態様にて記録を行うため、一時的な変更が行われた場合において、ホストコンピューター１０から記録可能領域についての問い合わせがあった場合、プリンター１１の記録制御部３７は、一時的な変更後の記録可能領域の設定値を応答するため、記録に際して実際に使用する記録可能領域の設定値を適切に応答可能となる。
【００２８】
また、本実施形態では、記録制御部３７は、ホストコンピューター１０から１行分の文字の記録を指示する制御コマンドを受信した場合、当該制御コマンドの内容に応じて、１行に記録される文字の記録可能桁数が所定の値となるように変数Ｈ１に格納した記録可能領域に係る設定値を変更し、記録可能領域については、変更後の記録可能領域に係る設定値を参照しつつ記録を行い、ホストコンピューター１０から記録可能領域についての問い合わせがあった場合は、変数Ｈ１に格納された変更後の記録可能領域に係る設定値を応答する。
より具体的には、記録制御部３７は、ホストコンピューター１０からコマンド群ＣＧを受信した場合、当該コマンド群ＣＧにおけるフォント指定コマンドＦＣが指定するフォントの種類に応じて、指定されたフォント（上記例ではフォントＡ’）で１行に文字を記録したときの記録可能桁数と、プリンター１１が対応しているフォント（上記例ではフォントＡ）で１行に文字を記録したときの記録可能桁数が一致するように、変数Ｈ１に格納した記録可能領域に係る設定値を変更し、記録可能領域については、変更後の記録可能領域に係る設定値を参照しつつ記録を行い、ホストコンピューター１０から記録可能領域についての問い合わせがあった場合は、変更後の記録可能領域に係る設定値を応答する。
この構成によれば、記録可能桁数の調整のために、変数Ｈ１に格納した記録可能領域の設定値について一時的に変更した場合において、ホストコンピューター１０から記録可能領域についての問い合わせがあった場合、記録制御部３７は、一時的な変更後の記録可能領域の設定値を応答するため、記録に際して実際に使用する記録可能領域の設定値を適切に応答可能となる。
【００２９】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
すなわち、上述した実施形態では、「設定」の一例として、「記録可能領域」を挙げたが、「設定」は、「記録可能領域」に限らず、例えば記録速度や、記録濃度、左右のマージン等であってもよい。一例として、ホストコンピューター１０から受信した制御コマンドの内容に応じて、一時的に左マージンの設定値を変更する構成の場合において、ホストコンピューター１０から左マージンの設定値についての問い合わせがあった場合、記録制御部３７は、一時的な変更後の左マージンの設定値を応答する。このような動作が行われることにより、上述した効果と同様の効果を奏することができる。
また例えば、プリンター１１はサーマル式の記録装置であったが記録方式はこれに限らずインクジェット式、ドットインパクト式など何であってもよい。また例えば、図１に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、プリンター１１の各機能ブロックの機能を、プリンター１１に外部接続される別の装置に持たせるようにしてもよい。また、プリンター１１は、外部接続される記憶媒体に記憶させたプログラムを実行することにより、図５のフローチャートに係る動作を含む各種動作を実行するようにしてもよい。
【符号の説明】
【００３０】
１…記録システム、１０…ホストコンピューター（制御装置）、１１…プリンター（記録装置）、３０…制御部、３７…記録制御部、４１…設定データ。
【図１】
0005987389.tif 000002
【図２】
0005987389.tif 000003
【図３】
0005987389.tif 000004
【図４】
0005987389.tif 000005
【図５】
0005987389.tif 000006