(57)【要約】【課題】ユーザーの手間がかかることなく、ユーザーの所望する様式で印刷できるようにすることを目的とする。【解決手段】プリンター２は、タブ位置により区切られた行の領域を示す区切り領域ごとに文字列のスタイルを設定可能な設定コマンドと、タブ位置への移動を実行するタブコマンドと当該タブコマンドにより区切られたき切り文字列とを受信する印刷装置通信部２５と、スタイルデータを記憶する印刷装置記憶部２１と、区切り文字列に対して対応する区切り領域のスタイルに基づいて処理を実行する印刷装置制御部２０と、印刷装置制御部２０により処理された文字列を印刷する印刷部２２と、を備える。【選択図】図１
2018130916.tif 000002
【特許請求の範囲】
【請求項１】
タブ位置により区切られた行の領域を示す区切り領域ごとに文字列のスタイルを設定可能な設定コマンドと、前記タブ位置への移動を実行するタブコマンドと当該タブコマンドにより区切られた区切り文字列とを受信する通信部と、
前記スタイルを示す情報を記憶する記憶部と、
前記区切り文字列に対して、対応する前記区切り領域の前記スタイルに基づいて処理を実行する制御部と、
前記制御部により処理された前記文字列を印刷する印刷部と、を備える
印刷装置。
【請求項２】
前記制御部は、
設定された前記タブ位置に基づき、前記行の始端から最初のタブ位置までの前記区切り領域を、最初の前記区切り領域とし、また、最後の前記タブ位置から前記行の終端までの前記区切り領域を、最後の前記区切り領域として、前記スタイルに基づく処理を実行する
請求項１に記載の印刷装置。
【請求項３】
前記制御部は、
前記タブ位置が設定されていない場合、前記行の始端から終端までの領域を、前記区切り領域として、前記スタイルに基づく処理を実行する
請求項１又は２に記載の印刷装置。
【請求項４】
前記スタイルを示す情報は、少なくとも、位置揃え、マージン、文字装飾、及び文字サイズのいずれかを設定する情報である
請求項１から３のいずれか一項に記載の印刷装置。
【請求項５】
前記スタイルを示す情報は、少なくとも、文字列のトリミング、及び数値フォーマットのいずれかを設定する情報である
請求項１から４のいずれか一項に記載の印刷装置。
【請求項６】
前記制御部は、
１行の印刷可能桁数を上回る位置に前記タブ位置が設定されている場合、前記印刷部による印刷結果が複数の行となるように処理を実行する
請求項１から５のいずれか一項に記載の印刷装置。
【請求項７】
前記印刷部は、
印刷媒体を切断するカッターを有し、前記カッターにより切断した前記印刷媒体をレシートとして発行する
請求項１から６のいずれか一項に記載の印刷装置。
【請求項８】
スタイルを示す情報を記憶する記憶部を備える印刷装置の制御方法であって、
タブ位置により区切られた行の領域を示す区切り領域ごとに文字列のスタイルを設定可能な設定コマンドと、前記タブ位置への移動を実行するタブコマンドと当該タブコマンドにより区切られた区切り文字列とを受信するステップと、
前記区切り文字列に対して、対応する前記区切り領域の前記スタイルに基づいて処理を実行するステップと、
処理された前記文字列を印刷するステップと、を備える
印刷装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、及び、印刷装置の制御方法に関する。
【背景技術】
【０００２】
従来、外部装置から受信するデータに基づいて印刷を実行する印刷装置が知られている(例えば、特許文献１参照)。特許文献１では、上位装置から印字範囲指定コマンドを受信し、上位装置から受信したデータの印字位置と、印字範囲指定コマンドによって指定される印字範囲とを比較し、印字範囲内のデータのみ印字するプリンターを開示する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開平６−１５５８０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
一般に、特許文献１に記載のような印刷装置は、例えば、レシート等の印刷において、ユーザー（アプリケーション）が所望する様式で印刷を実行することを望まれる。しかしながら、ユーザーの所望する様式とするためには、印刷する文字の位置を設定するだけでは不十分である。そこで、当該様式で印刷を実行するための各種設定が必要となるが、ユーザーの手間がかかる可能性があった。
そこで、本発明は、ユーザーの手間がかかることなく、ユーザーの所望する様式で印刷できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明は、タブ位置により区切られた行の領域を示す区切り領域ごとに文字列のスタイルを設定可能な設定コマンドと、前記タブ位置への移動を実行するタブコマンドと当該タブコマンドにより区切られた区切り文字列とを受信する通信部と、前記スタイルを示す情報を記憶する記憶部と、前記区切り文字列に対して、対応する前記区切り領域の前記スタイルに基づいて処理を実行する制御部と、前記制御部により処理された前記文字列を印刷する印刷部と、を備える。
本発明によれば、区切り領域ごとに、区切り領域に対応する区切り文字列に対して、設定されたスタイルに基づいて処理を実行し、処理が実行された文字列を印刷するため、ユーザーの手間がかかることなく、ユーザーの所望する様式で印刷できる。
【０００６】
また、本発明は、前記制御部は、設定された前記タブ位置に基づき、前記行の始端から最初のタブ位置までの前記区切り領域を、最初の前記区切り領域とし、また、最後の前記タブ位置から前記行の終端までの前記区切り領域を、最後の前記区切り領域として、前記スタイルに基づく処理を実行する。
本発明によれば、行の始端から最初のタブ位置までの区切り領域を、最初の区切り領域とし、最後タブ位置から行の終端までの区切り領域を、最後の区切り領域として、スタイルに基づく処理を実行するため、１行で印刷すべき文字列を１行で印刷でき、ユーザーの所望する様式で印刷できる。
【０００７】
また、本発明は、前記制御部は、前記タブ位置が設定されていない場合、前記行の始端から終端までの領域を、前記区切り領域として、前記スタイルに基づく処理を実行する。
本発明によれば、タブ位置が設定されていない場合、行の始端から終端までの領域を、区切り領域として、スタイルに基づく処理を実行するため、タブ位置が設定しないことにより、ユーザーの所望する様式で印刷できる。
【０００８】
また、本発明は、前記スタイルを示す情報は、少なくとも、位置揃え、マージン、文字装飾、及び文字サイズのいずれかを設定する情報である。
本発明によれば、スタイルを示す情報は、少なくとも、位置揃え、マージン、文字装飾、及び文字サイズのいずれかを設定する情報であるため、区切り領域ごとに、区切り領域に対応する区切り文字列に対して、位置揃え、マージン、文字装飾、及び文字サイズのいずれかを設定でき、ユーザーの所望する様式で印刷できる。
【０００９】
また、本発明は、前記スタイルを示す情報は、少なくとも、文字列のトリミング、及び数値フォーマットのいずれかを設定する情報である。
本発明によれば、スタイルを示す情報は、少なくとも、文字列のトリミング、及び、数値フォーマットのいずれかを設定する情報であるため、区切り領域ごとに、区切り領域に対応する文字列に対して、少なくとも、文字列のトリミング、及び数値フォーマットのいずれかを設定でき、ユーザーの所望する様式で印刷できる。
【００１０】
また、本発明は、前記制御部は、１行の印刷可能桁数を上回る位置に前記タブ位置が設定されている場合、前記印刷部による印刷結果が複数の行となるように処理を実行する。
本発明によれば、１行の印刷可能桁数を上回る位置にタブ位置が設定されている場合、印刷部による印刷結果が複数の行となるように処理を実行するため、タブ位置を１行の印刷可能桁数を上回る位置に設定することで、１行を複数の行で印刷でき、ユーザーの所望する様式で印刷できる。
【００１１】
また、本発明は、前記印刷部は、印刷媒体を切断するカッターを有し、前記カッターにより切断した前記印刷媒体をレシートとして発行する。
本発明によれば、印刷部が印刷媒体をレシートとして発行するため、ユーザーの手間がかかることなく、ユーザーの所望する様式でレシートを発行できる。
【００１２】
また、上記課題を解決するために、本発明は、スタイルを示す情報を記憶する記憶部を備える印刷装置の制御方法であって、タブ位置により区切られた行の領域を示す区切り領域ごとに文字列のスタイルを設定可能な設定コマンドと、前記タブ位置への移動を実行するタブコマンドと当該タブコマンドにより区切られた区切り文字列とを受信するステップと、前記区切り文字列に対して、対応する前記区切り領域の前記スタイルに基づいて処理を実行するステップと、処理された前記文字列を印刷するステップと、を備える。
本発明によれば、区切り領域ごとに、区切り領域に対応する区切り文字列に対して、設定されたスタイルに基づいて処理を実行し、処理が実行された文字列を印刷するため、ユーザーの手間がかかることなく、ユーザーの所望する様式で印刷できる。
【図面の簡単な説明】
【００１３】
【図１】印刷システムの構成を示す図。
【図２】プリンターの動作を示すフローチャート。
【図３】印刷データの一例を示す図。
【図４】タブ位置設定コマンドの一例を示す図。
【図５】設定コマンドの一例を示す図。
【図６】印刷結果の一例を示す図。
【図７】印刷データの一例を示す図。
【図８】印刷データの一例を示す図。
【図９】タブ位置設定コマンドの一例を示す図。
【図１０】設定コマンドの一例を示す図。
【図１１】印刷結果の一例を示す図。
【図１２】印刷データの一例を示す図。
【図１３】タブ位置設定コマンドの一例を示す図。
【図１４】印刷データの一例を示す図。
【図１５】印刷結果の一例を示す図。
【発明を実施するための形態】
【００１４】
図１は、印刷システム１の構成を示す図である。
【００１５】
印刷システム１は、例えば、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗に用いられるシステムである。例えば、印刷システム１は、顧客が購入した商品に応じた会計を行う機能、会計に応じてレシートを発行する機能等を備える。
【００１６】
図１に示すように、印刷システム１は、プリンター２（印刷装置）と、タブレット端末装置３とを備える。
【００１７】
プリンター２は、ロール紙（印刷媒体）を収容し、収容したロール紙にライン型のサーマルヘッドでドットを形成して文字や画像等を印刷するサーマルプリンターである。
【００１８】
なお、本実施形態に係るプリンター２の印刷方式はサーマル方式であるが、プリンター２の印刷方式は、サーマル方式に限らず、インクジェット方式等の他の印刷方式でもよい。また、プリンター２の印刷ヘッドは、ライン型に限らず、シリアル型でもよい。
【００１９】
図１に示すように、プリンター２は、印刷装置制御部２０（制御部）と、印刷装置記憶部２１（記憶部）と、印刷部２２と、プリントバッファー２３と、受信バッファー２４と、印刷装置通信部２５（通信部）と、デバイス通信部２６と、報知部２７と、を備える。
【００２０】
印刷装置制御部２０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の制御回路等を備え、プリンター２の各部を制御する。
【００２１】
印刷装置記憶部２１は、ハードディスクや、ＥＥＰＲＯＭ等の不揮発性メモリーを備え、データを書き換え可能に記憶する。印刷装置記憶部２１は、印刷装置制御部２０のＣＰＵが読み出して実行する制御プログラムのほか、スタイルデータベース２１０、フォント情報２１１を記憶する。スタイルデータベース２１０、及び、フォント情報２１１については、後述する。
【００２２】
印刷部２２は、プリンター２の筐体に収容されたロール紙を搬送する搬送機構、サーマルヘッドによってロール紙にドットを形成して文字や画像等を印刷する印刷機構、及び、ロール紙を所定の位置で切断するカッターを備える。印刷部２２は、印刷装置制御部２０の制御で、搬送機構によりロール紙を搬送し、印刷機構によりロール紙にレシートに係る文字や画像等を印刷し、カッターにより所定の位置でロール紙を切断して、レシートを発行する。
【００２３】
プリントバッファー２３は、ＲＡＭと呼ばれる一時記憶領域であり、例えば半導体記憶デバイスで構成される。プリントバッファー２３は、印刷装置制御部２０の制御で、ロール紙に印刷される文字や画像等の画像データを記憶する。なお、プリントバッファー２３は、印刷装置制御部２０のＲＡＭの所定の記憶領域に形成する構成としてもよい。
【００２４】
受信バッファー２４は、ＲＡＭと呼ばれる一時記憶領域であり、例えば半導体記憶デバイスで構成される。受信バッファー２４は、印刷装置制御部２０の制御で、外部から受信したデータを記憶する。本実施形態において、受信バッファー２４は、印刷装置通信部２５によりタブレット端末装置３から受信したデータを記憶する。
【００２５】
印刷装置通信部２５、印刷装置制御部２０の制御で、所定の無線通信の規格に従って、タブレット端末装置３と通信する。プリンター２とタブレット端末装置３との間で行われる通信の無線通信規格は、アドホックモードに対応する無線ＬＡＮに係る規格や、インフラストラクチャーモードに対応する無線ＬＡＮに係る規格、Bluetooth（登録商標）等の近距離無線通信に係る規格等、どのような規格でもよい。
【００２６】
デバイス通信部２６は、ＵＳＢの規格に従ったポートや、ＵＳＢ以外のシリアル通信規格（ＲＳ２３２Ｃ等）に従ったポート、パラレル通信規格（ＩＥＥＥ１２８４等）に従ったポート、有線ＬＡＮに係る通信規格（イーサネット（登録商標）等）に従ったポート、その他ポートを有するインターフェースボードを備える。各ポートには、デバイスが接続可能である。デバイス通信部２６は、印刷装置制御部２０の制御で、ポートを介してプリンター２に接続されたデバイスと通信する。なお、デバイス通信部２６が、無線通信機能を備え、デバイスと無線通信する構成でもよい。
【００２７】
プリンター２には、デバイスとして、バーコードリーダーＢＲ、カスタマーディスプレーＣＤ、及び、ドロワーＤＲが接続される。
バーコードリーダーＢＲは、商品や、商品の包装等に付されたバーコードを読み取り、読取結果を示すデータをデバイス通信部２６に出力する。デバイス通信部２６は、バーコードリーダーＢＲから入力されたデータを、印刷装置制御部２０に出力する。
カスタマーディスプレーＣＤは、印刷装置制御部２０の制御で、会計に関する情報を表示する。カスタマーディスプレーＣＤに表示された情報は、会計を行う顧客が視認できる。
ドロワーＤＲは、現金等を収容するトレイ、及び、トレイをドロワーＤＲの本体に対して引き出し可能な機構を備える装置である。
【００２８】
報知部２７は、ＬＥＤや、液晶表示パネル等を備え、印刷装置制御部２０の制御で、各種情報を報知する。例えば、報知部２７は、１又は複数のＬＥＤを所定の態様で点灯、及び、消灯することにより、各種情報を報知する。なお、報知部２７は、音声を示す音声情報を出力する構成でもよい。
【００２９】
次に、タブレット端末装置３について説明する。
【００３０】
タブレット端末装置３は、前面の広い領域にタッチパネル３２が設けられたタブレット型の（板状の）端末装置である。タブレット端末装置３は、例えば、会計に際し、会計に関する各種処理を実行してプリンター２を制御するホストコンピューターとして機能する。
【００３１】
図２に示すように、タブレット端末装置３は、端末装置制御部３０と、端末装置通信部３１と、タッチパネル３２と、端末装置記憶部３３と、を備える。
【００３２】
端末装置制御部３０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の制御回路等を備え、タブレット端末装置３の各部を制御する。
【００３３】
端末装置通信部３１は、端末装置制御部３０の制御で、所定の無線通信の規格に従って、プリンター２と通信する。
【００３４】
タッチパネル３２は、液晶表示パネル等の表示パネルと、表示パネルに重ねて設けられたタッチセンサーとを備える。表示パネルは、端末装置制御部３０の制御で、各種画像を表示する。タッチセンサーは、タッチ操作を検出し、端末装置制御部３０に出力する。端末装置制御部３０は、タッチセンサーからの入力に基づいて、タッチ操作に対応する処理を実行する。
【００３５】
端末装置記憶部３３は、ハードディスクや、ＥＥＰＲＯＭ等の不揮発性メモリーを備え、データを書き換え可能に記憶する。
【００３６】
ここで、一般的な、印刷システム１を構成するプリンター２、及び、タブレット端末装置３の動作を説明する。なお、ここでの説明では、タブレット端末装置３には、予めプリンタードライバーがインストールされていることを前提とする。
【００３７】
タブレット端末装置３の端末装置制御部３０は、タブレット端末装置３に予めインストールされるアプリケーション（ブラウザ等）を読み出して実行することにより、プリンター２が収容するロール紙に印刷すべき文字や画像等に係る情報を含む印刷データを生成する。ここで、印刷データは、少なくとも、ロール紙に印刷されるべき文字列が含まれる。文字列に含まれる各文字は、所定の文字コードとして表現される。
【００３８】
次いで、端末装置制御部３０は、タブレット端末装置３に予めインストールされたプリンタードライバーを読み出して実行することにより、アプリケーションの機能により生成した印刷データに基づいて、プリンター２のコマンド体系に対応した制御コマンドを生成する。ここで、制御コマンドは、少なくとも、印刷データが含む文字列情報の印刷の実行を指示するコマンドを含む。このコマンドは、印刷データが含む文字列の中に挿入され、所定の位置に所定の態様で所定の文字列が印刷されるようサーマルヘッドや、搬送機構を駆動させるコマンドである。端末装置制御部３０は、印刷データと制御コマンドとをプリンター２に送信する。
【００３９】
プリンター２の印刷装置制御部２０は、印刷装置通信部２５により、印刷データと制御コマンドとを受信し、制御コマンドが指示する処理を実行することにより、ロール紙に印刷データに基づく印刷を実行する。
【００４０】
ここで、例えば、以下に挙げる態様の場合、プリンター２は、ユーザーの所望する印刷を実行しない場合がある。
【００４１】
当該態様の１つとして、タブレット端末装置３がプリンタードライバーをインストールしていない場合が挙げられる。
【００４２】
前述した通り、一般的な、印刷システム１を構成するプリンター２、及び、タブレット端末装置３の動作では、タブレット端末装置３に予めプリンタードライバーがインストールされていることが前提である。しかしながら、タブレット端末装置３によっては、プリンタードライバーがインストールされない場合がある。この場合、タブレット端末装置３は、プリンタードライバーがインストールされていないため、制御コマンドを生成することができず、制御コマンドなしで印刷データをプリンター２に送信することになる。これでは、プリンター２は、ユーザーが所望する様式で印刷を実行できない可能性がある。
【００４３】
また、他の態様の１つとして、タブレット端末装置３にインストールされるプリンタードライバーを介さず、アプリケーション（ブラウザ等）で生成した印刷データをそのままプリンター２に送信する場合が挙げられる。
【００４４】
前者の態様の場合、ユーザーがタブレット端末装置３にプリンタードライバーをインストールすることで、ユーザーの所望する印刷が実行可能となるが、プリンタードライバーをインストールする知識が乏しいユーザーには、プリンタードライバーのインストールが容易でないし、インストールの手間がかかる。
【００４５】
また、前者の態様、及び、後者の態様の場合、ユーザーがタブレット端末装置３のアプリケーションが、印刷データに制御コマンドを挿入することで、プリンター２は、ユーザーが所望する様式で印刷が実行可能となる。しかしながら、アプリケーション側で、印刷データに制御コマンドを挿入することは、難しく手間がかかる。仮に、アプリケーション側で、制御コマンドを印刷データに挿入したとしても、後から制御コマンドや印刷データが含む文字列を変更する際にさらに手間がかかってしまう。
【００４６】
ところで、レシートに印刷される文字列は、内容（属性）によって、文字列が印刷される印刷面において、一般に、印刷位置が予め定まっていることが多い。例えば、レシートに印刷される文字列のうち、金額を示す文字列は、印刷面に対し右寄りに印刷される。また、何に対する金額であるかの名称（例えば、商品名や、合計等を示す名称）を示す文字列は、印刷面に対し左寄り、又は、中央寄りに印刷される。また、商品の個数を示す文字列は、商品名の右側に印刷される。そこで、上述したようにタブレット端末装置３がプリンタードライバーをインストールしていない場合でも、又は、プリンタードライバーを介さず印刷データを送信する場合でも、印刷を開始する位置を示すタブ位置を設定することで、文字列の印刷位置をレシートの様式に整えることが可能となる。しかしながら、レシートに印刷される文字列は、文字のサイズが横２倍角（本実施形態では、行方向に対する半角のサイズの２倍）や半角等で印刷されたり、文字列のトリミングが行われて印刷されたり、位置揃えが行われて印刷されたり等の種々の処理が施される。したがって、文字列の印刷位置を設定するだけでは、レシートの様式が、ユーザーの所望する様式とならない可能性がある。しかしながら、前述したように、アプリケーション側で、種々の処理が施されるように印刷データを変更することは、ユーザーの手間がかかってしまう。
【００４７】
そこで、本実施形態のプリンター２は、以下に示す動作を実行する。
【００４８】
図２は、プリンター２の動作を示すフローチャートである。
【００４９】
タブレット端末装置３の端末装置制御部３０は、設定コマンドと印刷データとをプリンター２に送信する。設定コマンドは、後に例を挙げて詳述するが、予めタブ位置設定コマンド（後述）によって設定されたタブ位置により区切られた行の領域を示す区切り領域ごとに、文字列のスタイル（すなわち、様式）を設定可能なコマンドである。なお、本実施形態では、１つの文字も文字列に相当する。
【００５０】
プリンター２の印刷装置制御部２０は、印刷装置通信部２５により、タブレット端末装置３から設定コマンド、及び、印刷データを受信したか否かを判別する（ステップＳＡ１）。受信される印刷データは、受信バッファー２４に格納される。
【００５１】
印刷装置制御部２０は、タブレット端末装置３から設定コマンド、及び、印刷データを受信したと判別した場合（ステップＳＡ１：ＹＥＳ）、設定コマンドに基づいて、設定コマンドが指定する区切り領域ごとにスタイルデータ（スタイルを示す情報）を、印刷装置記憶部２１のスタイルデータベース２１０に記憶する（ステップＳ２）。スタイルデータベース２１０とは、区切り領域とそれに対応するスタイルデータを複数格納するデータベースである。
【００５２】
スタイルデータとは、後に例示しつつ詳述するが、印刷に係る様式を指定するデータである。スタイルデータは、通常使用される印刷に係る様式を指定するコマンドで構成されていてもよい。この場合、印刷装置制御部２０のＣＰＵは、スタイルデータベース２１０に記憶されているスタイルデータであるコマンドを読み出して実行し、画像データを生成してプリントバッファー２３に記憶し、印刷部２２により印刷を実行させる。印刷に係る様式としては、本実施形態において、位置揃え、文字装飾、数値フォーマット、マージン、文字サイズ、及び、文字列のトリミングである。位置揃えとは、区切り文字列を所定の方向に揃えることを示す。また、文字装飾は、区切り文字列に対して、アンダーライン等の装飾を施すことを示す。数値フォーマットは、区切り文字列が数値であって、当該数値を印刷する際のフォーマットである。マージンは、区切り文字列の先頭又は末尾に余白を付加することを示す。文字サイズは、区切り文字列の各文字のサイズを示す。文字列のトリミングとは、区切り文字列に対し所定の文字数分、削除することを示す。
【００５３】
次いで、印刷装置制御部２０は、タブレット端末装置３から受信した印刷データを受信バッファー２４から読み出す（ステップＳ３）。
【００５４】
本実施形態においてプリンター２が受信する印刷データは、図３に示すような印刷データである。
【００５５】
図３は、印刷データの一例を示す図である。
【００５６】
図３に示す印刷データＩＤ１は、行印刷データＩＤ１１と、行印刷データＩＤ１２と、行印刷データＩＤ１３と、行印刷データＩＤ１４とを含む。行印刷データＩＤ１１〜行印刷データＩＤ１４のそれぞれは、ロール紙に文字列を印刷する際における１行分の印刷データである。
【００５７】
行印刷データＩＤ１１〜行印刷データＩＤ１４のそれぞれは、タブ位置設定コマンド（後述）により設定されたタブ位置まで印刷位置を移動させることを実行するタブコマンドと、改行を実行する改行コマンドと含む。図３では、タブコマンドは、「＜ＨＴ＞」（horizontal tab）と表記される。また、改行コマンドは、「＜ＬＦ＞」(line feed)と表記される。
【００５８】
行印刷データＩＤ１１は、「ＱＴＹ」を示す文字列ＭＪ１１１と、「ＩＴＥＭ」を示す文字列ＭＪ１１２と、「ＡＭＯＵＮＴ」を示す文字列ＭＪ１１３とを含む。文字列ＭＪ１１１と、文字列ＭＪ１１２と、文字列ＭＪ１１３とは、タブコマンドにより区切られている。したがって、文字列ＭＪ１１１と、文字列ＭＪ１１２と、文字列ＭＪ１１３とのそれぞれは、行印刷データＩＤ１１が示す文字列がタブコマンドにより区切られた区切り文字列に相当する。なお、行印刷データＩＤ１１が示す文字列とは、文字列ＭＪ１１１と、文字列ＭＪ１１２と、文字列ＭＪ１１３とを含む文字列のことである。
【００５９】
行印刷データＩＤ１２は、「２」を示す文字列ＭＪ１２１と、「ＡＡＡＡ，ＢＢＢＢＢＢＢ，ａｎｄ  ＣＣＣＣＣＣ  Ｂｕｒｇｅｒ」を示す文字列ＭＪ１２２と、「１２」を示す文字列ＭＪ１２３とを含む。文字列ＭＪ１２１と、文字列ＭＪ１２２と、文字列ＭＪ１２３とは、タブコマンドにより区切られている。したがって、文字列ＭＪ１２１と、文字列ＭＪ１２２と、文字列ＭＪ１２３とのそれぞれは、行印刷データＩＤ１２が示す文字列がタブコマンドにより区切られた区切り文字列に相当する。なお、行印刷データＩＤ１２が示す文字列とは、文字列ＭＪ１２１と、文字列ＭＪ１２２と、文字列ＭＪ１２３とを含む文字列のことである。
【００６０】
行印刷データＩＤ１３は、「１」を示す文字列ＭＪ１３１と、「Ｆｒｅｓｈ  Ｓｑｕｅｅｚｅｄ  ＡＡＡＡＡＡ  Ｊｕｉｃｅ」を示す文字列ＭＪ１３２と、「６」を示す文字列ＭＪ１３３とを含む。文字列ＭＪ１３１と、文字列ＭＪ１３２と、文字列ＭＪ１３３とは、タブコマンドにより区切られている。したがって、文字列ＭＪ１３１と、文字列ＭＪ１３２と、文字列ＭＪ１３３とのそれぞれは、行印刷データＩＤ１３が示す文字列がタブコマンドにより区切られた区切り文字列に相当する。なお、行印刷データＩＤ１３が示す文字列とは、文字列ＭＪ１３１と、文字列ＭＪ１３２と、文字列ＭＪ１３３とを含む文字列のことである。
【００６１】
行印刷データＩＤ１４は、「Ｓｕｂｔｏｔａｌ」を示す文字列ＭＪ１４１と、「１８」を示す文字列ＭＪ１４２とを含む。文字列ＭＪ１４１と文字列ＭＪ１４２とは、タブコマンドにより区切られている。したがって、文字列ＭＪ１４１と、文字列ＭＪ１４２とのそれぞれは、行印刷データＩＤ１４が示す文字列がタブコマンドにより区切られた区切り文字に相当する。なお、行印刷データＩＤ１４が示す文字列とは、文字列ＭＪ１４１と、文字列ＭＪ１４２とを含む文字列のことである。
【００６２】
このように、本実施形態のプリンター２は、１又は複数の行印刷データを有し、１の行印刷データが、タブコマンドにより区切られた区切り文字列を有する印刷データを受信する。なお、区切り文字列の各文字は、所定の文字コードで表現されている。なお、本実施形態では、タブレット端末装置３から印刷データを受信することは、タブレット端末装置３から文字列を受信することに相当する。
【００６３】
図２に示すフローチャートの説明に戻り、印刷装置制御部２０は、受信した印刷データを受信バッファー２４から読み出すと、ステップＳ５〜ステップＳ７の処理の対象となる行印刷データを特定する（ステップＳ４）。
【００６４】
次いで、印刷装置制御部２０は、ステップＳ４で特定した行印刷データ、ステップＳ２で記憶したスタイルデータ、及び、フォント情報２１１に基づいて、プリントバッファー２３に画像データを展開する（ステップＳ５）。フォント情報２１１とは、文字をロール紙に印刷可能な態様で表現する実データのことであり、例えば、ビットマップフォントデータが挙げられる。フォント情報２１１は、文字ごとに、実データと、文字コードとが対応付く。印刷装置制御部２０は、行印刷データの区切り文字列の各文字について、フォント情報２１１を参照し、対応するスタイルデータに基づく処理を施し、画像データをプリントバッファー２３に展開する。そして、印刷装置制御部２０は、印刷部２２により、展開した画像データに基づいて、１行分の印刷を実行する（ステップＳ６）。次いで、印刷装置制御部２０は、１行分の印刷を実行すると、プリントバッファー２３に展開した画像データを消去する（ステップＳ７）。
【００６５】
次いで、印刷装置制御部２０は、受信した印刷データが含む１又は複数の行印刷データの全てを対象として、画像データを生成し印刷を実行したか否かを判別する（ステップＳ８）。
【００６６】
印刷装置制御部２０は、受信した印刷データが含む１又は複数の行印刷データの全てを対象として、画像データを生成して印刷を実行してないと判別した場合（ステップＳ８：ＮＯ）、処理をステップＳ３に移行させる。一方、印刷装置制御部２０は、受信した印刷データが含む１又は複数の行印刷データの全てを対象として、画像データを生成して印刷を実行したと判別した場合（ステップＳ８：ＹＥＳ）、ロール紙を適切な位置でカットする（ステップＳ９）。これにより、印刷装置制御部２０は、レシートを発行する。
【００６７】
ここで、複数の例を挙げて、プリンター２の動作をより詳細に説明する。
【００６８】
＜例１＞
例１では、図３に示す印刷データＩＤ１、図４に示すタブ位置設定コマンドＴＣ１、及び、図５に示す設定コマンドＳＴＣ１に基づいて、図６に示すレシートＲ１を発行する場合を例示する。なお、例１では、ロール紙の印刷面において１行に印刷可能な桁数を４２桁とする。
【００６９】
図４は、タブ位置を設定するタブ位置設定コマンドの一例を示す図である。
【００７０】
図４に示すタブ位置設定コマンドＴＣ１は、ロール紙の印刷面の１行分の領域において、行の左端（始端）から設定するタブ位置までの桁数を示す設定値を含む。ここでの桁数は、文字を半角で印刷する場合の桁数である。図２に示す通り、タブ位置設定コマンドＴＣ１は、「５」を示す設定値ＳＴ１と、「３１」を示す設定値ＳＴ２とを含む。つまり、図２に示すタブ位置設定コマンドＴＣ１は、タブ位置を、印刷面に行の左端から５桁目に設定すること、及び、行の左端から３１桁目に設定することを指示するコマンドである。つまり、図４に示すタブ位置設定コマンドＴＣ１は、例１において１行に印刷可能な桁数が４２桁であるため、行の領域を、１桁から４桁までの領域と、５桁から３０桁までの領域と、３１桁から４２桁までの領域との３つ領域に区切ることを指示するコマンドに相当する。この区切られた領域は、タブ位置により区切られた行の領域を示す区切り領域に相当する。
【００７１】
図５は、設定コマンドの一例を示す図である。
【００７２】
図５に示す設定コマンドＳＴＣ１は、タブ位置設定コマンドが設定したタブ位置により区切られた区切り領域ごとに、区切り領域に対応する区切り文字列に対して処理するスタイルデータを指定する設定値を示すスタイル設定値を含む。図５に示す設定コマンドＳＴＣ１は、「Ｒ１Ｉ」を示すスタイル設定値ＳＳ１と、「Ｌ０Ｓ」を示すスタイル設定値ＳＳ２と、「Ｒ２＄」を示すスタイル設定値ＳＳ３とを含む。
【００７３】
「Ｒ１Ｉ」を示すスタイル設定値ＳＳ１は、複数のスタイル設定値により構成される。すなわち、「Ｒ１Ｉ」を示すスタイル設定値ＳＳ１は、「Ｒ」を示すスタイル設定値と、「１」を示すスタイル設定値と、「Ｉ」を示すスタイル設定値とにより構成される。「Ｒ」を示すスタイル設定値は、区切り文字列を区切り領域において、右揃えに設定するスタイルデータ（以下、「右揃えスタイルデータ」と表現する）を指定する設定値である。また、「１」を示すスタイル設定値は、区切り領域において、区切り文字列の末尾にマージン（すなわち、余白）を１桁分設定するスタイルデータ（以下、「１マージンスタイルデータ」と表現する）を指定する設定値である。また、「Ｉ」を示すスタイル設定値は、区切り文字列が数字である場合、この数字を区切り領域において、整数のフォーマットに設定するスタイルデータ（以下、「整数フォーマットスタイルデータ」と表現する）を指定する設定値である。
【００７４】
「Ｌ０Ｓ」を示すスタイル設定値ＳＳ２は、複数のスタイル設定値により構成される。すなわち、「Ｌ０Ｓ」を示すスタイル設定値ＳＳ２は、「Ｌ」を示すスタイル設定値と、「０」を示すスタイル設定値と、「Ｓ」を示すスタイル設定値とにより構成される。「Ｌ」を示すスタイル設定値は、区切り文字列を区切り領域において、左揃えに設定するスタイルデータ（以下、「左揃えスタイルデータ」と表現する）を指定する設定値である。また、「０」を示すスタイル設定値は、区切り領域において、区切り文字列の先頭又は末尾にマージンを入れないことを設定するスタイルデータ（以下、「マージン無スタイルデータ」と表現する）を指定する設定値である。また、「Ｓ」を示すスタイル設定値は、区切り領域において、区切り文字列の桁数が、区切り領域に印刷可能な文字の桁数以下となるように、区切り文字列をトリミングすることを設定するスタイルデータ（以下、「トリミングスタイルデータ」と表現する）を指定する設定値である。
【００７５】
「Ｒ２＄」を示すスタイル設定値ＳＳ３は、複数のスタイル設定値により構成される。すなわち、「Ｒ２＄」を示すスタイル設定値ＳＳ３は、「Ｒ」を示すスタイル設定値と、「２」を示すスタイル設定値と、「＄」を示すスタイル設定値とにより構成される。「Ｒ」を示すスタイル設定値は、上述したスタイル設定値と同じである。また、「２」を示すスタイル設定値は、区切り領域において、区切り文字列の末尾にマージン（すなわち、余白）を２桁分設定するスタイルデータ（以下、「２マージンスタイルデータ」と表現する）を指定する設定値である。また、「＄」を示すスタイル設定値は、区切り文字列が数字である場合、区切り領域において、当該数字を米国通貨のフォーマットに設定するスタイルデータ（以下、「米国通貨スタイルデータ」と表現する）を指定する設定値である。
【００７６】
図５に示す設定コマンドＳＴＣ１が示す通り、スタイル設定値ＳＳ１と、スタイル設定値ＳＳ２と、スタイル設定値ＳＳ３とは、「；」で区切られている。「；」はタブ位置設定コマンドＴＣ２により設定されるタブ位置に対応するものである。これは、スタイル設定値ＳＳ１が、タブ位置設定コマンドにより区切られる区切り領域のうち、最初の区切り領域に対応する区切り文字列のスタイルデータを指定することを示している。また、これは、スタイル設定値ＳＳ２が、タブ位置設定コマンドにより区切られる区切り領域のうち、中央の区切り領域に対応する区切り文字列のスタイルデータを指定することを示している。また、これは、スタイル設定値ＳＳ３が、タブ位置設定コマンドにより区切られる区切り領域のうち、最後の区切り領域に対応する区切り文字列のスタイルデータを指定することを示している。最初の区切り領域と、中央の区切り領域、及び、最後の区切り領域については、後述する。
【００７７】
印刷装置制御部２０は、タブレット端末装置３から設定コマンドＳＴＣ１と、印刷データＩＤ１とを受信すると（ステップＳ１：ＹＥＳ）、設定コマンドＳＴＣ１が指定するスタイルデータをそれぞれ印刷装置記憶部２１に記憶されているタブ位置情報と対応付けて記憶する（ステップＳ２）。この場合、予めタブ位置設定コマンドＴＣ１を受信してもよい。タブ位置設定コマンドＴＣ１により設定されたタブ位置情報は印刷装置記憶部２１に記憶されている。なお、印刷装置記憶部２１には、予めタブ位置の初期値の情報が記憶されている。前述した通り、設定コマンドＳＴＣ１は、スタイル設定値ＳＳ１と、スタイル設定値ＳＳ２と、スタイル設定値ＳＳ３とを含む。
【００７８】
したがって、印刷装置制御部２０は、スタイル設定値ＳＳ１に基づいて、右揃えスタイルデータと、１マージンスタイルデータと、整数フォーマットスタイルデータとを、印刷装置記憶部２１が記憶するスタイルデータベース２１０から対応するタブ位置情報と共に読み出して取得する。また、印刷装置制御部２０は、スタイル設定値ＳＳ２に基づいて、左揃えスタイルデータと、マージン無スタイルデータと、トリミングスタイルデータとを、印刷装置記憶部２１が記憶するスタイルデータベース２１０から対応するタブ位置情報と共に読み出して取得する。また、印刷装置制御部２０は、スタイル設定値ＳＳ３に基づいて、右揃えスタイルデータと、２マージンスタイルデータと、米国通貨スタイルデータとを対応するタブ位置と共に読み出して取得する。
【００７９】
印刷装置制御部２０は、タブレット端末装置３から受信した印刷データＩＤ１を受信バッファー２４から読み出す（ステップＳ３）と、印刷データＩＤ１が有する行印刷データＩＤ１１〜行印刷データＩＤ１４のうち、ステップＳ５〜ステップＳ７の処理の対象となる行印刷データを特定する（ステップＳ４）。
【００８０】
印刷装置制御部２０は、印刷データＩＤ１を受信バッファー２４から読み出してから、初めて行印刷データを特定する場合、まず、行印刷データＩＤ１１を特定する。
【００８１】
次いで、印刷装置制御部２０は、タブ位置設定コマンドＴＣ１に基づき印刷装置記憶部２１に記憶されているタブ位置情報、設定コマンドＳＴＣ１に基づきスタイルデータベース２１０に記憶されているスタイルデータ、ステップＳ４で特定したタブコマンドを含む行印刷データＩＤ１１、及び、行印刷データＩＤ１１の文字コードに対応するフォント情報２１１に基づいて、画像データを生成しプリントバッファー２３に展開する（ステップＳ５）。
【００８２】
ここでステップＳ５について、詳述する。
【００８３】
図６は、印刷結果の一例を示す図であり、特に、図３に示す印刷データＩＤ１、図４に示すタブ位置設定コマンドＴＣ１、及び、図５に示す設定コマンドＳＴＣ１に基づく印刷結果を示す図である。
【００８４】
印刷装置制御部２０は、タブ位置設定コマンドＴＣ１に基づいて、最初の区切り領域と、中央の区切り領域、及び、最後の区切り領域とを特定する。前述した通り、タブ位置設定コマンドＴＣ１は、タブ位置を、行の左端から５桁目と、行の左端から３１桁目とに設定することを指示するコマンドであり、設定されたタブ位置情報は印刷装置記憶部２１に記憶される。なお、行の左端とは、ロール紙の印刷面における行の左端である。印刷装置制御部２０は、行の始端である左端から４桁目まで、すなわち、行の左端から最初のタブ位置までを、最初の区切り領域として特定する。図６の場合、印刷装置制御部２０は、領域Ａ１を最初の区切り領域として特定する。また、印刷装置制御部２０は、行の５桁目から３０桁目までを、中央の区切り領域として特定する。図６の場合、印刷装置制御部２０は、領域Ａ２を中央の区切り領域として特定する。また、印刷装置制御部２０は、行の３１桁目から行の右端まで、すなわち、最後のタブ位置から行の終端までを、最後の区切り領域として特定する。なお、行の右端とは、ロール紙の印刷面における行の右端である。図６の場合、印刷装置制御部２０は、領域Ａ３を最後の区切り領域として特定する。
【００８５】
次いで、印刷装置制御部２０は、最初の区切り領域である領域Ａ１に印刷する文字列を行印刷データＩＤ１１から特定する。図３に示す通り、行印刷データＩＤ１１は、印刷装置記憶部２１に記憶されているタブ位置情報に基づき、印刷位置を順に移動させるタブコマンドにより区切られている。印刷装置制御部２０は、タブコマンドによりプリントバッファー２３に展開する位置を順に移動させ、印刷結果に反映させている。また、タブ位置情報は、行の中で次の印刷位置の基準となる位置を規定している。この区切り領域は、タブ位置設定コマンドＴＣ１により設定され記憶されたタブ位置情報で区切られる範囲と対応している。そのため、印刷装置制御部２０は、最初の区切り領域である領域Ａ１に印刷する文字列として、行印刷データＩＤ１１から文字列ＭＪ１１１を特定する。
【００８６】
印刷装置制御部２０は、最初の区切り領域である領域Ａ１に印刷する文字列として、文字列ＭＪ１１１を特定すると、設定コマンドＳＴＣ１が指定しスタイルデータベース２１０に記憶されている、最初の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ１１１を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ１が指定する、最初の区切り領域に対応する区切り文字列のスタイルデータは、右揃えスタイルデータ、１マージンスタイルデータ、及び、整数フォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ１１１について、領域Ａ１において右揃えで、且つ、文字列ＭＪ１１１の末尾に１桁分の余白ＹＫを設定することで、領域Ａ１において文字列ＭＪ１１１が図６に示す文字列ＭＪ１１ａとなるように処理する。そして、印刷装置制御部２０は、「ＱＴＹ」を示す文字列ＭＪ１１ａを示す画像データをプリントバッファー２３に展開する。
【００８７】
また、印刷装置制御部２０は、中央の区切り領域である領域Ａ２に印刷する文字列を行印刷データＩＤ１１から特定する。図３に示す通り、行印刷データＩＤ１１は、タブコマンドにより区切られている。また、前述した通り、この区切りは、タブ位置設定コマンドによる行の区切りと対応している。そのため、印刷装置制御部２０は、中央の区切り領域である領域Ａ２に印刷する文字列として、行印刷データＩＤ１１から文字列ＭＪ１１２を特定する。
【００８８】
印刷装置制御部２０は、中央の区切り領域である領域Ａ２に印刷する文字列として、文字列ＭＪ１１２を特定すると、設定コマンドＳＴＣ１が指定しスタイルデータベース２１０に記憶されている、中央の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ１１２を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ１が指定する、中央の区切り領域に対応する区切り文字列のスタイルデータは、左揃えスタイルデータ、マージン無スタイルデータ、及び、トリミングフォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ１１２について、領域Ａ２において左揃えで、且つ、余白ＹＫが設定せず、領域Ａ２の桁数以下となるようにトリミングすることで、領域Ａ２において、文字列ＭＪ１１２が図６に示す文字列ＭＪ１１ｂとなるように処理する。そして、印刷装置制御部２０は、「ＩＴＭＥ」を示す文字列ＭＪ１１ｂを示す画像データをプリントバッファー２３に展開する。
【００８９】
また、印刷装置制御部２０は、最後の区切り領域である領域Ａ３に印刷する文字列を行印刷データＩＤ１１から特定する。印刷装置制御部２０は、最後の区切り領域である領域Ａ３に印刷する文字列として、行印刷データＩＤ１１から文字列ＭＪ１１３を特定する。
【００９０】
印刷装置制御部２０は、最後の区切り領域である領域Ａ３に印刷する文字列として、文字列ＭＪ１１３を特定すると、設定コマンドＳＴＣ１が指定しスタイルデータベース２１０に記憶されている、最後の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ１１３を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ１が指定する、最後の区切り領域に対応する区切り文字列のスタイルデータは、右揃えスタイルデータ、２マージンスタイルデータ、及び、米国通貨フォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ１１３について、領域Ａ２において左揃えで、且つ、余白ＹＫが２つ末尾に設定することで、領域Ａ３において、文字列ＭＪ１１３が図６に示す文字列ＭＪ１１ｃとなるように処理する。そして、印刷装置制御部２０は、「ＡＭＯＵＮＴ」を示す文字列ＭＪ１１ｃを示す画像データをプリントバッファー２３に展開する。
【００９１】
印刷装置制御部２０は、行印刷データＩＤ１１について、タブ位置設定コマンドＴＣ１、及び、設定コマンドＳＴＣ１による設定に基づいて画像データをプリントバッファー２３に展開すると（ステップＳ５）、展開された画像データに基づいてロール紙に印刷を実行する（ステップＳ６）。これにより、ロール紙の１行に、文字列ＭＪ１１ａと、文字列ＭＪ１１ｂと、文字列ＭＪ１１ｃとを含む文字列ＭＪ１１ｆが、図６に示す様式で印刷される。
【００９２】
印刷装置制御部２０は、プリントバッファー２３に展開された画像データに基づいて印刷を実行すると、プリントバッファー２３に展開した画像データを消去する（ステップＳ７）。
【００９３】
印刷装置制御部２０は、行印刷データＩＤ１１について印刷を実行すると、印刷データが含む１又は複数の行印刷データの全てを対象にしていないと判別し（ステップＳ８：ＮＯ）、所定をステップＳ４に戻して、行印刷データＩＤ１２を特定する。
【００９４】
印刷装置制御部２０は、行印刷データＩＤ１２を特定すると、最初の区切り領域である領域Ａ１に印刷する文字列を行印刷データＩＤ１２から特定する。図３に示す通り、行印刷データＩＤ１２は、タブコマンドにより区切られている。この区切りは、タブ位置設定コマンドＴＣ１による行の区切りと対応している。そのため、印刷装置制御部２０は、最初の区切り領域である領域Ａ１に印刷する文字列として、行印刷データＩＤ１２から文字列ＭＪ１２１を特定する。
【００９５】
印刷装置制御部２０は、最初の区切り領域である領域Ａ１に印刷する文字列として、文字列ＭＪ１２１を特定すると、設定コマンドＳＴＣ１が指定する、最初の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ１２１を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ１が指定しスタイルデータベース２１０に記憶されている、最初の区切り領域に対応する区切り文字列のスタイルデータは、右揃えスタイルデータ、１マージンスタイルデータ、及び、整数フォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ１２１について、領域Ａ１において右揃えで、且つ、文字列ＭＪ１２１の末尾に１桁分の余白ＹＫを設定し、且つ、整数のフォーマットとなるように設定することで、領域Ａ１において、文字列ＭＪ１２１を図６に示す文字列ＭＪ１２ａとなるように処理する。そして、印刷装置制御部２０は、「２」を示す文字列ＭＪ１２ａを示す画像データをプリントバッファー２３に展開する。
【００９６】
また、印刷装置制御部２０は、中央の区切り領域である領域Ａ２に印刷する文字列を行印刷データＩＤ１２から特定する。印刷装置制御部２０は、中央の区切り領域である領域Ａ２に印刷する文字列として、行印刷データＩＤ１２から文字列ＭＪ１２２を特定する。
【００９７】
印刷装置制御部２０は、中央の区切り領域である領域Ａ２に印刷する文字列として、文字列ＭＪ１２２を特定すると、設定コマンドＳＴＣ１が指定しスタイルデータベース２１０に記憶されている、中央の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ１２２を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ１が指定する、中央の区切り領域に対応する区切り文字列のスタイルデータは、左揃えスタイルデータ、マージン無スタイルデータ、及び、トリミングフォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ１２２について、領域Ａ２において左揃えで、且つ、余白ＹＫが設定せず、領域Ａ２の桁数以下となるようにトリミングすることで、領域Ａ２において、文字列ＭＪ１２２を図６に示す文字列ＭＪ１２ｂとなるように処理する。そして、印刷装置制御部２０は、「ＡＡＡＡ、ＢＢＢＢＢＢＢ、ａｎｄ  ＣＣＣＣＣＣ」を示す文字列ＭＪ１２ｂの画像データをプリントバッファー２３に展開する。
【００９８】
また、印刷装置制御部２０は、最後の区切り領域である領域Ａ３に印刷する文字列を行印刷データＩＤ１２から特定する。印刷装置制御部２０は、最後の区切り領域である領域Ａ３に印刷する文字列として、行印刷データＩＤ１２から文字列ＭＪ１２３を特定する。
【００９９】
印刷装置制御部２０は、最後の区切り領域である領域Ａ３に印刷する文字列として、文字列ＭＪ１２３を特定すると、設定コマンドＳＴＣ１が指定しスタイルデータベース２１０記憶されている、最後の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ１２３を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ１が指定する、最後の区切り領域に対応する区切り文字列のスタイルデータは、右揃えスタイルデータ、２マージンスタイルデータ、及び、米国通貨フォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ１２３について、領域Ａ２において左揃えで、且つ、余白ＹＫが２つ末尾に設定し、且つ、数値が米国通貨のフォーマットとなるよう設定することで、領域Ａ３において文字列ＭＪ１２３が図６に示す文字列ＭＪ１２ｃとなるように処理する。そして、印刷装置制御部２０は、「１２．００」を示す文字列ＭＪ１２ｃの画像データをプリントバッファー２３に展開する。
【０１００】
印刷装置制御部２０は、行印刷データＩＤ１２について、タブ位置設定コマンドＴＣ１、及び、設定コマンドＳＴＣ１による設定に基づいて画像データをプリントバッファー２３に展開すると（ステップＳ５）、展開された画像データに基づいてロール紙に印刷を実行する（ステップＳ６）。これにより、ロール紙の１行に、文字列ＭＪ１２ａと、文字列ＭＪ１２ｂと、文字列ＭＪ１２ｃとを含む文字列ＭＪ１２ｆが、図６に示す様式で印刷される。
【０１０１】
印刷装置制御部２０は、プリントバッファー２３に展開された画像データに基づいて印刷を実行すると、プリントバッファー２３に展開した画像データを消去する（ステップＳ７）。
【０１０２】
印刷装置制御部２０は、行印刷データＩＤ１２について印刷を実行すると、印刷データが含む１又は複数の行印刷データの全てを対象にしていないと判別し（ステップＳ８：ＮＯ）、所定をステップＳ４に戻して、行印刷データＩＤ１３を特定する。
【０１０３】
印刷装置制御部２０は、行印刷データＩＤ１３を特定すると、最初の区切り領域である領域Ａ１に印刷する文字列を行印刷データＩＤ１３から特定する。図３に示す通り、行印刷データＩＤ１３は、タブコマンドにより区切られている。この区切りは、タブ位置設定コマンドＴＣ１による行の区切りと対応している。そのため、印刷装置制御部２０は、最初の区切り領域である領域Ａ１に印刷する文字列として、行印刷データＩＤ１３から文字列ＭＪ１３１を特定する。
【０１０４】
印刷装置制御部２０は、最初の区切り領域である領域Ａ１に印刷する文字列として、文字列ＭＪ１３１を特定すると、設定コマンドＳＴＣ１が指定する、最初の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ１３１を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ１が指定しスタイルデータベース２１０記憶されている、最初の区切り領域に対応する区切り文字列のスタイルデータは、右揃えスタイルデータ、１マージンスタイルデータ、及び、整数フォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ１３１について、領域Ａ１において右揃えで、且つ、文字列ＭＪ１３１の末尾に１桁分の余白ＹＫを設定し、且つ、整数のフォーマットとなるように設定することで、領域Ａ１において、文字列ＭＪ１３１が図６に示す文字列ＭＪ１３ａとなるように処理する。そして、印刷装置制御部２０は、「１」を示す文字列ＭＪ１３ａの画像データをプリントバッファー２３に展開する。
【０１０５】
また、印刷装置制御部２０は、中央の区切り領域である領域Ａ２に印刷する文字列を行印刷データＩＤ１３から特定する。印刷装置制御部２０は、中央の区切り領域である領域Ａ２に印刷する文字列として、行印刷データＩＤ１３から文字列ＭＪ１３２を特定する。
【０１０６】
印刷装置制御部２０は、中央の区切り領域である領域Ａ２に印刷する文字列として、文字列ＭＪ１３２を特定すると、設定コマンドＳＴＣ１が指定しスタイルデータベース２１０記憶されている、中央の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ１３２を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ１が指定する、中央の区切り領域に対応する区切り文字列のスタイルデータは、左揃えスタイルデータ、マージン無スタイルデータ、及び、トリミングフォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ１３２について、領域Ａ２において左揃えで、且つ、余白ＹＫを設定せず、領域Ａ２の桁数以下となるようにトリミングすることで、領域Ａ２において文字列ＭＪ１３２が図６に示す文字列ＭＪ１３ｂとなるように処理する。そして、印刷装置制御部２０は、「Ｆｒｅｓｈ  Ｓｑｕｅｅｚｅｄ  ＡＡＡＡＡＡ  Ｊｕｉｃ」を示す文字列ＭＪ１３ｂの画像データをプリントバッファー２３に展開する。
【０１０７】
また、印刷装置制御部２０は、最後の区切り領域である領域Ａ３に印刷する文字列を行印刷データＩＤ１３から特定する。印刷装置制御部２０は、最後の区切り領域である領域Ａ３に印刷する文字列として、行印刷データＩＤ１３から文字列ＭＪ１３３を特定する。
【０１０８】
印刷装置制御部２０は、最後の区切り領域である領域Ａ３に印刷する文字列として、文字列ＭＪ１３３を特定すると、設定コマンドＳＴＣ１が指定しスタイルデータベース２１０記憶されている、最後の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ１３３を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ１が指定する、最後の区切り領域に対応する区切り文字列のスタイルデータは、右揃えスタイルデータ、２マージンスタイルデータ、及び、米国通貨フォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ１３３について、領域Ａ２において左揃えで、且つ、余白ＹＫを２つ末尾に設定し、且つ、数値が米国通貨のフォーマットとなるように設定することで、領域Ａ３において文字列ＭＪ１３３が図６に示す文字列ＭＪ１３ｃとなるように処理する。そして、印刷装置制御部２０は、「６．００」を示す文字列ＭＪ１３ｃの画像データをプリントバッファー２３に展開する。
【０１０９】
印刷装置制御部２０は、行印刷データＩＤ１３について、タブ位置設定コマンドＴＣ１、及び、設定コマンドＳＴＣ１の設定に基づいて画像データをプリントバッファー２３に展開すると（ステップＳ５）、展開された画像データに基づいてロール紙に印刷を実行する（ステップＳ６）。これにより、ロール紙の１行に、文字列ＭＪ１３ａと、文字列ＭＪ１３ｂと、文字列ＭＪ１３ｃとを含む文字列ＭＪ１３ｆが、図６に示す様式で印刷される。
【０１１０】
印刷装置制御部２０は、プリントバッファー２３に展開された画像データに基づいて印刷を実行すると、プリントバッファー２３に展開した画像データを消去する（ステップＳ７）。
【０１１１】
印刷装置制御部２０は、行印刷データＩＤ１３について印刷を実行すると、印刷データが含む１又は複数の行印刷データの全てを対象にしていないと判別し（ステップＳ８：ＮＯ）、所定をステップＳ４に戻して、行印刷データＩＤ１４を特定する。
【０１１２】
印刷装置制御部２０は、行印刷データＩＤ１４を特定すると、最初の区切り領域である領域Ａ１に印刷する文字列を行印刷データＩＤ１４から特定する。図３に示す通り、行印刷データＩＤ１４は、タブコマンドにより区切られている。この区切りは、タブ位置設定コマンドＴＣ１による行の区切りと対応している。図３に示す通り、行印刷データＩＤ１４は、最初の区切り領域である領域Ａ１に印刷する文字列を有していない。そのため、印刷装置制御部２０は、最初の区切り領域である領域Ａ１に印刷する文字列が行印刷データＩＤ１４にないと特定する。
【０１１３】
印刷装置制御部２０は、最初の区切り領域である領域Ａ１に印刷する文字列が行印刷データＩＤ１４にないと特定すると、中央の区切り領域である領域Ａ２に印刷する文字列を行印刷データＩＤ１４から特定する。印刷装置制御部２０は、中央の区切り領域である領域Ａ２に印刷する文字列として、行印刷データＩＤ１４から文字列ＭＪ１４１を特定する。
【０１１４】
印刷装置制御部２０は、中央の区切り領域である領域Ａ２に印刷する文字列として、文字列ＭＪ１４１を特定すると、設定コマンドＳＴＣ１が指定しスタイルデータベース２１０記憶されている、中央の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ１４１を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ１が指定する、中央の区切り領域に対応する区切り文字列のスタイルデータは、左揃えスタイルデータ、マージン無スタイルデータ、及び、トリミングフォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ１４１について、領域Ａ２において左揃えで、且つ、余白ＹＫを設定せず、領域Ａ２の桁数以下となるようにトリミングすることで、領域Ａ２において文字列ＭＪ１４１を図６に示す文字列ＭＪ１４ａとなるように処理する。そして、印刷装置制御部２０は、「Ｓｕｂｔｏｔａｌ」を示す文字列ＭＪ１４ａの画像データがプリントバッファー２３に展開する。
【０１１５】
また、印刷装置制御部２０は、最後の区切り領域である領域Ａ３に印刷する文字列を行印刷データＩＤ１４から特定する。印刷装置制御部２０は、最後の区切り領域である領域Ａ３に印刷する文字列として、行印刷データＩＤ１４から文字列ＭＪ１４２を特定する。
【０１１６】
印刷装置制御部２０は、最後の区切り領域である領域Ａ３に印刷する文字列として、文字列ＭＪ１４２を特定すると、設定コマンドＳＴＣ１が指定しスタイルデータベース２１０記憶されている、最後の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ１４２を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ１が指定する、最後の区切り領域に対応する区切り文字列のスタイルデータは、右揃えスタイルデータ、２マージンスタイルデータ、及び、米国通貨フォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ１４２について、領域Ａ２において左揃えで、且つ、余白ＹＫを２つ末尾に設定し、且つ、数値が米国通貨のフォーマットとなるように設定することで、領域Ａ３において文字列ＭＪ１４２が図６に示す文字列ＭＪ１４ｂとなるように処理する。そして、印刷装置制御部２０は、「１８．００」を示す文字列ＭＪ１４ｂの画像データをプリントバッファー２３に展開する。
【０１１７】
印刷装置制御部２０は、行印刷データＩＤ１４について、タブ位置設定コマンドＴＣ１、及び、設定コマンドＳＴＣ１の設定に基づいて画像データをプリントバッファー２３に展開すると（ステップＳ５）、展開された画像データに基づいてロール紙に印刷を実行する（ステップＳ６）。これにより、ロール紙の１行に、文字列ＭＪ１４ａと、文字列ＭＪ１４ｂとを含む文字列ＭＪ１４ｆが、図６に示す様式で印刷される。
【０１１８】
印刷装置制御部２０は、プリントバッファー２３に展開された画像データに基づいて印刷を実行すると、プリントバッファー２３に展開した画像データを消去する（ステップＳ７）。
【０１１９】
印刷装置制御部２０は、行印刷データＩＤ１４について印刷を実行すると、印刷データが含む１又は複数の行印刷データの全てを対象にしたと判別し（ステップＳ８：ＹＥＳ）、ロール紙を適切な位置でカットし（ステップＳ９）、図６に示すレシートＲ１を発行する。
【０１２０】
このように、図６に示すレシートＲ１の発行をユーザーが所望する際、タブレット端末装置３にプリンタードライバーがインストールされていない場合、又は、プリンタードライバーを介さず、印刷データをタブレット端末装置３が送信する場合、アプリケー側では、図３に示す印刷データＩＤ１を図７に示す印刷データＩＤ２に変更する必要がある。
【０１２１】
図７は、印刷データの一例を示す図である。
【０１２２】
図７に示す印刷データＩＤ２は、行印刷データＩＤ２１と、行印刷データＩＤ２２と、行印刷データＩＤ２３と、行印刷データＩＤ２４とを含む。
【０１２３】
行印刷データＩＤ２１〜行印刷データＩＤ２４のそれぞれは、タブコマンドと、改行コマンドと含む。図７では、タブコマンドは、「＜ＨＴ＞」と表記される。また、改行コマンドは、「＜ＬＦ＞」と表記される。
【０１２４】
行印刷データＩＤ２１は、「ＱＴＹ△」を示す文字列ＭＪ２１１と、「ＩＴＥＭ」を示す文字列ＭＪ２１２と、「△△△△ＡＭＯＵＮＴ△△」を示す文字列ＭＪ２１３とを含む。文字列ＭＪ２１１と、文字列ＭＪ２１２と、文字列ＭＪ２１３とは、タブコマンドにより区切られている。図７において「△」は、空白を示す。
【０１２５】
行印刷データＩＤ２２は、「△△２△」を示す文字列ＭＪ２２１と、「ＡＡＡＡ，ＢＢＢＢＢＢＢ，ａｎｄ  ＣＣＣＣＣＣ」を示す文字列ＭＪ２２２と、「△△△△１２．００△△」を示す文字列ＭＪ２２３とを含む。文字列ＭＪ２２１と、文字列ＭＪ２２２と、文字列ＭＪ２２３とは、タブコマンドにより区切られている。
【０１２６】
行印刷データＩＤ２３は、「△△１△」を示す文字列ＭＪ２３１と、「Ｆｒｅｓｈ  Ｓｑｕｅｅｚｅｄ  ＡＡＡＡＡＡ  Ｊｕｉｃ」を示す文字列ＭＪ２３２と、「△△△△△６．００△△」を示す文字列ＭＪ２３３とを含む。文字列ＭＪ２３１と、文字列ＭＪ２３２と、文字列ＭＪ２３３とは、タブコマンドにより区切られている。
【０１２７】
行印刷データＩＤ２４は、「Ｓｕｂｔｏｔａｌ」を示す文字列ＭＪ２４１と、「△△△△１８．００△△」を示す文字列ＭＪ２４２とを含む。文字列ＭＪ２４１と文字列ＭＪ２４２とは、タブコマンドにより区切られている。
【０１２８】
このように、図６に示す印刷結果となるためには、図３に示す印刷データＩＤ１を図７に示す印刷データＩＤ２に変更することが必要となる。すなわち、領域Ａ１に文字列ＭＪ１１１と文字列ＭＪ１２１と文字列ＭＪ１３１とが右揃えとなり、且つ、文字列の末尾にマージンを設定するためには、文字列ＭＪ２１１と文字列ＭＪ２２１と文字列ＭＪ２３１とに示すように、空白を適切に設定する必要がある。また、文字列ＭＪ１２２と文字列ＭＪ１３２とが領域Ａ２の桁数に対する文字列とするためには、文字列ＭＪ２２２と文字列ＭＪ２３２とのように文字列をトリミングする必要がある。また、領域Ａ３に文字列ＭＪ１１３と文字列ＭＪ１２３と文字列ＭＪ１３３と文字列ＭＪ１４２とが右揃えであって、且つ、文字列の末尾にマージンを設定し、所定のフォーマットとなるためには、文字列ＭＪ２１１と文字列ＭＪ２２１と文字列ＭＪ２３１とに示すように、空白を適切に設定し、且つ、フォーマットも設定する必要がある。これでは、アプリケーション側で、ユーザーの手間がかかる。
【０１２９】
そこで、プリンター２は、区切り領域ごとの順に区切り文字列のスタイルを設定可能な設定コマンドＳＴＣ１によりスタイルデータベース２１０に記憶したスタイルデータに基づいて、印刷データＩＤ１をタブコマンドの順に区切った区切り文字列に対応させて処理することにより、ユーザーの手間がかかることなく、ユーザーの所望する様式でレシートＲ１を発行できる。
【０１３０】
次に、別の例を挙げて説明する。
【０１３１】
＜例２＞
例２では、図８に示す印刷データＩＤ３、図９に示すタブ位置設定コマンドＴＣ２、及び、図１０に示す設定コマンドＳＴＣ２に基づいて、図１１に示すレシートＲ２を発行する場合を例示する。なお、例２では、ロール紙の印刷面において１行に印刷可能な桁数を３０桁とする。
【０１３２】
図８は、印刷データの一例を示す図である。
【０１３３】
図８に示す印刷データＩＤ３は、行印刷データＩＤ３１と、行印刷データＩＤ３２と、行印刷データＩＤ３３とを含む。
【０１３４】
行印刷データＩＤ３１〜行印刷データＩＤ３３のそれぞれは、タブコマンドと、改行コマンドと含む。図８では、タブコマンドは、「＜ＨＴ＞」と表記される。また、改行コマンドは、「＜ＬＦ＞」と表記される。
【０１３５】
行印刷データＩＤ３１は、「ＡＡＡＡＢＢＢＣＣＣバーガー」を示す文字列ＭＪ３１１と、「１２００」を示す文字列ＭＪ３１２とを含む。文字列ＭＪ３１１と、文字列ＭＪ３１２とは、タブコマンドにより区切られている。したがって、文字列ＭＪ３１１と、文字列ＭＪ３１２とのそれぞれは、行印刷データＩＤ３１が示す文字列がタブコマンドにより区切られた区切り文字列に相当する。なお、行印刷データＩＤ３１が示す文字列とは、文字列ＭＪ３１１と、文字列ＭＪ３１２とを含む文字列のことである。
【０１３６】
行印刷データＩＤ３２は、「セットドリンクＭ」を示す文字列ＭＪ３２１と、「３００」を示す文字列ＭＪ３２２とを含む。文字列ＭＪ３２１と、文字列ＭＪ３２２とは、タブコマンドにより区切られている。したがって、文字列ＭＪ３２１と、文字列ＭＪ３２２とのそれぞれは、行印刷データＩＤ３２が示す文字列がタブコマンドにより区切られた区切り文字列に相当する。なお、行印刷データＩＤ３２が示す文字列とは、文字列ＭＪ３２１と、文字列ＭＪ３２２とを含む文字列のことである。
【０１３７】
行印刷データＩＤ３３は、「合計」を示す文字列ＭＪ３３１と、「１５００」を示す文字列ＭＪ３３２とを含む。文字列ＭＪ３３１と、文字列ＭＪ３３２とは、タブコマンドにより区切られている。したがって、文字列ＭＪ３３１と、文字列ＭＪ３３２とのそれぞれは、行印刷データＩＤ３３が示す文字列がタブコマンドにより区切られた区切り文字列に相当する。なお、行印刷データＩＤ３３が示す文字列とは、文字列ＭＪ３３１と、文字列ＭＪ３３２とを含む文字列のことである。
【０１３８】
図９は、タブ位置設定コマンドの一例を示す図である。
【０１３９】
図９に示すタブ位置設定コマンドＴＣ２は、ロール紙の印刷面の１行分の領域において、行の左端から設定するタブ位置までの桁数を示す設定値を含む。ここでの桁数は、文字を半角で印刷する場合の桁数である。図９に示す通り、タブ位置設定コマンドＴＣ２は、「２１」を示す設定値ＳＴ３を含む。つまり、図９に示すタブ位置設定コマンドＴＣ２は、タブ位置を、印刷面における１行分の領域において、行の左端から２１桁目に設定することを指示するコマンドである。つまり、図９に示すタブ位置設定コマンドＴＣ２は、例２において１行に印刷可能な桁数が３０桁であるため、１桁目から２０桁目までの領域と、２１桁目から３０桁目までの領域とに区切ることを指示するコマンドに相当する。この区切られた領域は、タブ位置により区切られた行の領域を示す区切り領域に相当する。
【０１４０】
図１０は、設定コマンドの一例を示す図である。
【０１４１】
図１０に示す設定コマンドＳＴＣ２は、スタイル設定値を含む。図１０に示す設定コマンドＳＴＣ２は、「ＬＮ（２Ｙ）（１Ｔ）Ｓ」を示すスタイル設定値ＳＳ４と、「ＲＥ（１Ｙ）（１Ｙ）￥」を示すスタイル設定値ＳＳ５とを含む。
【０１４２】
「ＬＮ（２Ｙ）（１Ｔ）Ｓ」を示すスタイル設定値ＳＳ４は、複数のスタイル設定値により構成される。すなわち、「ＬＮ（２Ｙ）（１Ｔ）Ｓ」を示すスタイル設定値ＳＳ４は、「Ｌ」を示すスタイル設定値と、「Ｎ」を示すスタイル設定値と、「２Ｙ」を示すスタイル設定値と、「１Ｔ」を示すスタイル設定値と、「Ｓ」を示すスタイル設定値とにより構成される。「Ｌ」を示すスタイル設定値は、左揃えスタイルデータを指定する設定値である。また、「Ｎ」を示すスタイル設定値は、区切り領域において、区切り文字列に所定の装飾を施さないスタイルデータ（以下、「装飾無スタイルデータ」と表現する）を指定する設定値である。また、「２Ｙ」を示すスタイル設定値は、区切り領域において、区切り文字列の文字サイズを横２倍角に設定するスタイルデータ（以下、「横２倍角スタイルデータ」と表現する）を指定する設定値である。なお、横２倍角とは、文字のサイズを、行方向に半角のサイズの２倍にすることである。「１Ｔ」を示すスタイル設定値は、区切り領域において、区切り文字列の文字サイズを縦１倍角に設定するスタイルデータ（以下、「縦１倍角スタイルデータ」と表現する）を指定する設定値である。なお、縦１倍角とは、文字のサイズを、行方向と直交する方向に半角のサイズの１倍にすることである。「Ｓ」を示すスタイル設定値は、トリミングスタイルデータを指定する設定値である。
【０１４３】
「ＲＥ（１Ｙ）（１Ｙ）￥」を示すスタイル設定値ＳＳ５は、複数のスタイル設定値により構成される。すなわち、「ＲＥ（１Ｙ）（１Ｙ）￥」を示すスタイル設定値ＳＳ５は、「Ｒ」を示すスタイル設定値と、「Ｅ」を示すスタイル設定値と、「１Ｙ」を示すスタイル設定値と、「１Ｔ」を示すスタイル設定値と、「￥」を示すスタイル設定値とにより構成される。「Ｒ」を示すスタイル設定値は、右揃えスタイルデータを指定する設定値である。また、「Ｅ」を示すスタイル設定値は、区切り領域において、区切り文字列に所定の強調を施すスタイルデータ（以下、「強調スタイルデータ」と表現する）を指定する設定値である。また、「１Ｙ」を示すスタイル設定値は、区切り領域において、区切り文字列の文字サイズを横１倍角に設定するスタイルデータ（以下、「横１倍角スタイルデータ」と表現する）を指定する設定値である。なお、横１倍角とは、文字のサイズを、行方向に半角のサイズの１倍にすることである。「１Ｔ」を示すスタイル設定値は、縦１倍角スタイルデータを指定する設定値である。「￥」を示すスタイル設定値は、区切り文字列が数字である場合、区切り領域において、当該数字を日本通貨のフォーマットに設定するスタイルデータ（以下、「日本通貨スタイルデータ」と表現する）を指定する設定値である。
【０１４４】
図１０に示す設定コマンドＳＴＣ２が示す通り、スタイル設定値ＳＳ４と、スタイル設定値ＳＳ５とは、「；」で区切られている。「；」はタブ位置設定コマンドＴＣ２により設定されるタブ位置に対応するものである。これは、スタイル設定値ＳＳ４が、タブ位置設定コマンドＴＣ２により区切られる区切り領域のうち、最初の区切り領域に対応する区切り文字列のスタイルデータを指定することを示している。また、これは、スタイル設定値ＳＳ５が、タブ位置設定コマンドＴＣ２により区切られる区切り領域のうち、最後の区切り領域に対応する区切り文字列のスタイルデータを指定することを示している。
【０１４５】
印刷装置制御部２０は、タブレット端末装置３から設定コマンドＳＴＣ２と、印刷データＩＤ３とを受信すると（ステップＳ１：ＹＥＳ）、設定コマンドＳＴＣ２が指定するスタイルデータをそれぞれ印刷装置記憶部２１に記憶されているタブ位置と対応付けて記憶する（ステップＳ２）。この場合、最初にタブ位置設定コマンドＴＣ１を受信してもよい。タブ位置設定コマンドＴＣ１により設定されたタブ位置の情報は印刷装置記憶部２１に記憶される。なお、印刷装置記憶部２１には予めタブ位置の初期値の情報が記憶されている。前述した通り、設定コマンドＳＴＣ２は、スタイル設定値ＳＳ４と、スタイル設定値ＳＳ５を含む。
【０１４６】
したがって、印刷装置制御部２０は、スタイル設定値ＳＳ４に基づいて、左揃えスタイルデータと、装飾無タイルデータと、横２倍角スタイルデータと、縦１倍角スタイルデータと、トリミングスタイルデータとを、印刷装置記憶部２１が記憶するスタイルデータベース２１０から対応するタブ位置情報と共に読み出して取得する。また、印刷装置制御部２０は、スタイル設定値ＳＳ５に基づいて、右揃えスタイルデータと、強調スタイルデータと、横１倍角スタイルデータと、縦１倍角スタイルデータと、日本通貨スタイルデータとを、印刷装置記憶部２１が記憶するスタイルデータベース２１０から対応するタブ位置情報と共に読み出して取得する。
【０１４７】
印刷装置制御部２０は、タブレット端末装置３から受信した印刷データＩＤ３を受信バッファー２４から読み出す（ステップＳ３）と、印刷データＩＤ３が有する行印刷データＩＤ３１〜行印刷データＩＤ３３のうち、ステップＳ５〜ステップＳ７の処理の対象となる行印刷データを特定する（ステップＳ４）。
【０１４８】
印刷装置制御部２０は、印刷データＩＤ３を受信バッファー２４から読み出してから、初めて行印刷データを特定する場合、まず、行印刷データＩＤ３１を特定する。
【０１４９】
次いで、印刷装置制御部２０は、タブ位置設定コマンドＴＣ２により印刷装置記憶部２１に記憶されているタブ位置情報、設定コマンドＳＴＣ２によりスタイルデータベース２１０に記憶されているスタイルデータ、及び、ステップＳ４で特定したタブコマンドを含む行印刷データＩＤ３１に基づいて、画像データを生成しプリントバッファー２３に展開する（ステップＳ５）。
【０１５０】
ここでステップＳ５について、詳述する。
【０１５１】
図１１は、印刷結果の一例を示す図であり、特に、図８に示す印刷データＩＤ３、図９に示すタブ位置設定コマンドＴＣ２、及び、図１０に示す設定コマンドＳＴＣ２に基づく印刷結果を示す図である。
【０１５２】
印刷装置制御部２０は、タブ位置設定コマンドＴＣ２に基づいて、最初の区切り領域と、及び、最後の区切り領域とを特定する。前述した通り、タブ位置設定コマンドＴＣ２は、タブ位置を、行の左端から２１桁目に設定することを指示するコマンドであり、タブ位置情報は印刷装置記憶部２１に記憶される。印刷装置制御部２０は、行の始端である左端から２０桁目まで、すなわち、行の始端から最初のタブ位置までを、最初の区切り領域として特定する。図１１の場合、印刷装置制御部２０は、領域Ａ４を最初の区切り領域として特定する。また、印刷装置制御部２０は、行の２１桁目から行の右端まで、すなわち、最初のタブ位置から行の終端までを、最後の区切り領域として特定する。この場合、最初のタブ位置は、最後のタブ位置に相当する。図１０の場合、印刷装置制御部２０は、領域Ａ５を最後の区切り領域として特定する。
【０１５３】
次いで、印刷装置制御部２０は、最初の区切り領域である領域Ａ１に印刷する文字列を行印刷データＩＤ３１から特定する。図３に示す通り、行印刷データＩＤ３１は、印刷装置記憶部２１に記憶されているタブ位置情報に基づき、印刷位置を順に移動させるタブコマンドにより区切られている。印刷装置制御部２０は、タブコマンドによりプリントバッファー２３に展開する位置を順に移動させ、印刷結果に反映させている。この区切りは、タブ位置設定コマンドによる行の区切りと対応している。そのため、印刷装置制御部２０は、最初の区切り領域である領域Ａ４に印刷する文字列として、行印刷データＩＤ３１から文字列ＭＪ３１１を特定する。
【０１５４】
印刷装置制御部２０は、最初の区切り領域である領域Ａ４に印刷する文字列として、文字列ＭＪ３１１を特定すると、設定コマンドＳＴＣ２が指定しスタイルデータベース２１０に記憶されている、最初の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ３１１を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ２が指定する、最初の区切り領域に対応する区切り文字列のスタイルデータは、左揃えスタイルデータ、装飾無スタイルデータ、横２倍角スタイルデータ、縦１倍角スタイルデータ、及び、トリミングスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ３１１について、左揃えで、且つ、所定の装飾が施されず、且つ、文字サイズが横２倍角の縦１倍角であり、且つ、文字サイズを横２倍角の縦１倍角にした場合において領域Ａ４に印刷可能な桁数以下となるようにトリミングを行うことで、領域Ａ４において文字列ＭＪ３１１が図１１の「ＡＡＡＡＢ」を示す文字列ＭＪ３１ａとなるように処理する。そして、印刷装置制御部２０は、文字列ＭＪ３１ａの画像データをプリントバッファー２３に展開する。
【０１５５】
また、印刷装置制御部２０は、最後の区切り領域である領域Ａ５に印刷する文字列を行印刷データＩＤ３１から特定する。印刷装置制御部２０は、最後の区切り領域である領域Ａ５に印刷する文字列として、行印刷データＩＤ３１から文字列ＭＪ３１２を特定する。
【０１５６】
印刷装置制御部２０は、最後の区切り領域である領域Ａ５に印刷する文字列として、文字列ＭＪ３１２を特定すると、設定コマンドＳＴＣ２が指定しスタイルデータベース２１０に記憶されている、最後の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ３１２を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ２が指定する、最後の区切り領域に対応する区切り文字列のスタイルデータは、右揃えスタイルデータ、強調スタイルデータ、横１倍角スタイルデータ、縦１倍角スタイルデータ、及び、日本通貨フォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ３１２について、右揃えで、且つ、所定の強調が施され、且つ、文字サイズが横１倍角の縦１倍角であり、且つ、日本円のフォーマットとなるように設定することで、領域Ａ５において文字列ＭＪ３１２が、図１１に示す文字列ＭＪ３１ｂとなるように処理する。そして、印刷装置制御部２０は、「￥１，２００」を示す文字列３１ｂの画像データをプリントバッファー２３に展開する。
【０１５７】
印刷装置制御部２０は、行印刷データＩＤ３１について、タブ位置設定コマンドＴＣ２、及び、設定コマンドＳＴＣ２による設定に基づいて画像データをプリントバッファー２３に展開すると（ステップＳ５）、展開された画像データに基づいてロール紙に印刷を実行する（ステップＳ６）。これにより、ロール紙の１行に、文字列ＭＪ３１ａと、文字列ＭＪ３１ｂとを含む文字列ＭＪ３１ｆが、図１１に示す様式で印刷される。
【０１５８】
印刷装置制御部２０は、プリントバッファー２３に展開された画像データに基づいて印刷を実行すると、プリントバッファー２３に展開した画像データを消去する（ステップＳ７）。
【０１５９】
印刷装置制御部２０は、行印刷データＩＤ３１について印刷を実行すると、印刷データが含む１又は複数の行印刷データの全てを対象にしていないと判別し（ステップＳ８：ＮＯ）、所定をステップＳ４に戻して、行印刷データＩＤ３２を特定する。
【０１６０】
印刷装置制御部２０は、行印刷データＩＤ３２を特定すると、最初の区切り領域である領域Ａ４に印刷する文字列を行印刷データＩＤ３２から特定する。図８に示す通り、行印刷データＩＤ３２は、タブコマンドにより区切られている。この区切りは、タブ位置設定コマンドによる行の区切りと対応している。そのため、印刷装置制御部２０は、最初の区切り領域である領域Ａ４に印刷する文字列として、行印刷データＩＤ３２から文字列ＭＪ３２１を特定する。
【０１６１】
印刷装置制御部２０は、最初の区切り領域である領域Ａ４に印刷する文字列として、文字列ＭＪ３２１を特定すると、設定コマンドＳＴＣ２が指定する、最初の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ３２１を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ２が指定しスタイルデータベース２１０に記憶されている、最初の区切り領域に対応する区切り文字列のスタイルデータは、左揃えスタイルデータ、装飾無スタイルデータ、横２倍角スタイルデータ、縦１倍角スタイルデータ、及び、トリミングスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ３２１について、左揃えで、且つ、所定の装飾が施されず、且つ、文字サイズが横２倍角の縦１倍角であり、且つ、文字サイズを横２倍角の縦１倍角にした場合において領域Ａ４に印刷可能な桁数以下となるようにトリミングを行うことで、領域Ａ４において文字列ＭＪ３２１が図１１の「セットドリ」を示す文字列ＭＪ３２ａとなるように処理する。そして、印刷装置制御部２０は、文字列ＭＪ３２ａの画像データをプリントバッファー２３に展開する。
【０１６２】
また、印刷装置制御部２０は、最後の区切り領域である領域Ａ５に印刷する文字列を行印刷データＩＤ３２から特定する。印刷装置制御部２０は、最後の区切り領域である領域Ａ５に印刷する文字列として、行印刷データＩＤ３２から文字列ＭＪ３２２を特定する。
【０１６３】
印刷装置制御部２０は、最後の区切り領域である領域Ａ５に印刷する文字列として、文字列ＭＪ３２２を特定すると、設定コマンドＳＴＣ２が指定しスタイルデータベース２１０に記憶されている、最後の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ３２２を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ２が指定する、最後の区切り領域に対応する区切り文字列のスタイルデータは、右揃えスタイルデータ、強調スタイルデータ、横１倍角スタイルデータ、縦１倍角スタイルデータ、及び、日本通貨フォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ３２２について、右揃えで、且つ、所定の強調が施され、且つ、文字サイズが横１倍角の縦１倍角であり、且つ、日本円のフォーマットとなるように設定することで、領域Ａ５において文字列ＭＪ３２２が図１１の「￥３００」を示す文字列ＭＪ３２ｂとなるように処理する。そして、印刷装置制御部２０は、文字列３２ｂの画像データをプリントバッファー２３に展開する。
【０１６４】
印刷装置制御部２０は、行印刷データＩＤ３２について、タブ位置設定コマンドＴＣ２、及び、設定コマンドＳＴＣ２の設定に基づいて画像データをプリントバッファー２３に展開すると（ステップＳ５）、展開された画像データに基づいてロール紙に印刷を実行する（ステップＳ６）。これにより、ロール紙の１行に、文字列ＭＪ３２ａと、文字列ＭＪ３２ｂとを含む文字列ＭＪ３２ｆが、図１１に示す様式で印刷される。
【０１６５】
印刷装置制御部２０は、プリントバッファー２３に展開された画像データに基づいて印刷を実行すると、プリントバッファー２３に展開した画像データを消去する（ステップＳ７）。
【０１６６】
印刷装置制御部２０は、行印刷データＩＤ３２について印刷を実行すると、印刷データが含む１又は複数の行印刷データの全てを対象にしていないと判別し（ステップＳ８：ＮＯ）、所定をステップＳ４に戻して、行印刷データＩＤ３３を特定する。
【０１６７】
印刷装置制御部２０は、行印刷データＩＤ３３を特定すると、最初の区切り領域である領域Ａ４に印刷する文字列を行印刷データＩＤ３３から特定する。図８に示す通り、行印刷データＩＤ３３は、タブコマンドにより区切られている。この区切りは、タブ位置設定コマンドによる行の区切りと対応している。そのため、印刷装置制御部２０は、最初の区切り領域である領域Ａ４に印刷する文字列として、行印刷データＩＤ３３から文字列ＭＪ３３１を特定する。
【０１６８】
印刷装置制御部２０は、最初の区切り領域である領域Ａ４に印刷する文字列として、文字列ＭＪ３３１を特定すると、設定コマンドＳＴＣ２が指定しスタイルデータベース２１０に記憶されている、最初の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ３３１を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ２が指定する、最初の区切り領域に対応する区切り文字列のスタイルデータは、左揃えスタイルデータ、装飾無スタイルデータ、横２倍角スタイルデータ、縦１倍角スタイルデータ、及び、トリミングスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ３３１について、左揃えで、且つ、所定の装飾が施されず、且つ、文字サイズが横２倍角の縦１倍角であり、且つ、文字サイズを横２倍角の縦１倍角にした場合において領域Ａ４に印刷可能な桁数以下となるようにトリミングを行うことで、領域Ａ４において文字列ＭＪ３３１が図１１の「合計」を示す文字列ＭＪ３３ａとなるように処理する。そして、印刷装置制御部２０は、文字列ＭＪ３３ａの画像データをプリントバッファー２３に展開する。
【０１６９】
また、印刷装置制御部２０は、最後の区切り領域である領域Ａ５に印刷する文字列を行印刷データＩＤ３３から特定する。印刷装置制御部２０は、最後の区切り領域である領域Ａ５に印刷する文字列として、行印刷データＩＤ３３から文字列ＭＪ３３２を特定する。
【０１７０】
印刷装置制御部２０は、最後の区切り領域である領域Ａ５に印刷する文字列として、文字列ＭＪ３３２を特定すると、設定コマンドＳＴＣ２が指定しスタイルデータベース２１０に記憶されている、最後の区切り領域に対応する区切り文字列のスタイルデータに基づいて、文字列ＭＪ３３２を処理し、処理した画像データをプリントバッファー２３に展開する。前述した通り、設定コマンドＳＴＣ２が指定する、最後の区切り領域に対応する区切り文字列のスタイルデータは、右揃えスタイルデータ、強調スタイルデータ、横１倍角スタイルデータ、縦１倍角スタイルデータ、及び、日本通貨フォーマットスタイルデータである。したがって、印刷装置制御部２０は、文字列ＭＪ３３２について、右揃えで、且つ、所定の強調が施され、且つ、文字サイズが横１倍角の縦１倍角であり、且つ、日本円のフォーマットとなるように設定することで、領域Ａ５において文字列ＭＪ３３２が図１１の「￥１、５００」を示す文字列ＭＪ３３ｂとなるように処理する。そして、印刷装置制御部２０は、文字列３３ｂの画像データをプリントバッファー２３に展開する。
【０１７１】
印刷装置制御部２０は、行印刷データＩＤ３３について、タブ位置設定コマンドＴＣ２、及び、設定コマンドＳＴＣ２の設定に基づいて画像データをプリントバッファー２３に展開すると（ステップＳ５）、展開された画像データに基づいてロール紙に印刷を実行する（ステップＳ６）。これにより、ロール紙の１行に、文字列ＭＪ３３ａと、文字列ＭＪ３３ｂとを含む文字列ＭＪ３３ｆが、図１１に示す様式で印刷される。
【０１７２】
印刷装置制御部２０は、プリントバッファー２３に展開された画像データに基づいて印刷を実行すると、プリントバッファー２３に展開した画像データを消去する（ステップＳ７）。
【０１７３】
印刷装置制御部２０は、行印刷データＩＤ３３について印刷を実行すると、印刷データＩＤ３が含む１又は複数の行印刷データの全てを対象にしたと判別し（ステップＳ８：ＹＥＳ）、ロール紙を適切な位置でカットし（ステップＳ９）、図１１に示すレシートＲ２を発行する。
【０１７４】
このように、図１１に示すレシートＲ２の発行をユーザーが所望する際、タブレット端末装置３にプリンタードライバーがインストールされていない場合、又は、プリンタードライバーを介さず、印刷データをタブレット端末装置３が送信する場合、アプリケー側では、図８に示す印刷データＩＤ３を図１２に示す印刷データＩＤ４に変更する必要がある。
【０１７５】
図１２は、印刷データの一例を示す図である。
【０１７６】
図１２に示す印刷データＩＤ４は、行印刷データＩＤ４１と、行印刷データＩＤ４２と、行印刷データＩＤ４３とを含む。
【０１７７】
行印刷データＩＤ４１〜行印刷データＩＤ４３のそれぞれは、タブコマンドと、改行コマンドと含む。図９では、タブコマンドは、「＜ＨＴ＞」と表記される。また、改行コマンドは、「＜ＬＦ＞」と表記される。
【０１７８】
行印刷データＩＤ４１は、「ＡＡＡＡＢ」を示す文字列ＭＪ４１１と、「△△△△￥１、２００」を示す文字列ＭＪ４１２とを含む。文字列ＭＪ４１１と、文字列ＭＪ４１２とは、タブコマンドにより区切られている。図１２において「△」は、空白を示す。また、行印刷データＩＤ４１は、文字のサイズを設定する文字サイズ設定コマンドＳＨＣを含む。行印刷データＩＤ４１が含む文字サイズ設定コマンドＳＨＣは、文字列ＭＪ４１１を横２倍角で印刷することを指示するコマンドである。また、行印刷データＩＤ４１は、文字を強調して印刷することを示す強調コマンドＫＣを含む。行印刷データＩＤ４１が含む強調コマンドＫＣは、文字列ＭＪ４１２に対して所定の強調を施すことを指示するコマンドである。
【０１７９】
行印刷データＩＤ４２は、「セットドリ」を示す文字列ＭＪ４２１と、「△△△△△△￥３００」を示す文字列ＭＪ４２２とを含む。文字列ＭＪ４２１と、文字列ＭＪ４２２とは、タブコマンドにより区切られている。また、行印刷データＩＤ４２は、文字サイズ設定コマンドＳＨＣを含む。行印刷データＩＤ４２が含む文字サイズ設定コマンドＳＨＣは、文字列ＭＪ４２１を横２倍角で印刷することを指示するコマンドである。また、行印刷データＩＤ４２は、強調コマンドＫＣを含む。行印刷データＩＤ４２が含む強調コマンドＫＣは、文字列ＭＪ４２２に対して所定の強調を施すことを指示するコマンドである。
【０１８０】
行印刷データＩＤ４３は、「合計」を示す文字列ＭＪ４３１と、「△△△△￥１、５０００」を示す文字列ＭＪ４３２とを含む。文字列ＭＪ４３１と、文字列ＭＪ４３２とは、タブコマンドにより区切られている。また、行印刷データＩＤ４３は、文字サイズ設定コマンドＳＨＣを含む。行印刷データＩＤ４３が含む文字サイズ設定コマンドＳＨＣは、文字列ＭＪ４３１を横２倍角で印刷することを指示するコマンドである。また、行印刷データＩＤ４３は、強調コマンドＫＣを含む。行印刷データＩＤ４３が含む強調コマンドＫＣは、文字列ＭＪ４３２に対して所定の強調を施すことを指示するコマンドである。
【０１８１】
このように、図１２に示す印刷結果となるためには、図８に示す印刷データを図１２に示す印刷データに変更することが必要となる。すなわち、領域Ａ４に文字列ＭＪ３１１と文字列ＭＪ３２１と文字列ＭＪ３３１とが横２倍角で且つ領域Ａ４の桁数に対応する文字列とするためには、文字列ＭＪ４１１と文字列ＭＪ４２１とのように文字列をトリミングし、文字サイズ設定コマンドＳＨＣを行印刷データＩＤ４１〜行印刷データＩＤ４３のそれぞれに挿入する必要がある。また、領域Ａ５に文字列ＭＪ３１２と文字列ＭＪ３２２と文字列ＭＪ３３２とが右揃えであって、且つ、日本通貨のフォーマットとなり、且つ、所定の強調を施すためには、文字列ＭＪ４１２と文字列ＭＪ４２２と文字列ＭＪ４３２とに示すように、空白を適切に設定し、且つ、日本通貨のフォーマットとなるよう文字列を設定し、且つ、強調コマンドＫＣを行印刷データＩＤ４１〜行印刷データＩＤ４３のそれぞれに挿入する必要がある。これでは、アプリケーション側で行ごとに行う必要があり、ユーザーの手間がかかる。
【０１８２】
そこで、プリンター２は、区切り領域ごとに区切り文字列のスタイルを設定可能な設定コマンドＳＴＣ２により記憶したスタイルデータに基づいて、所望する区切り領域を指定するタブコマンドを挿入した印刷データＩＤ３を処理することにより、ユーザーの手間がかかることなく、ユーザーの所望する様式でレシートＲ２を発行できる。一度、設定コマンドＳＴＣ２を送信するだけでよく、以降はタブコマンドを挿入した印刷データＩＤ３を送信すれば、所望のスタイルで印刷できる。
【０１８３】
＜例１＞及び＜例２＞で説明したように、プリンター２は、区切り文字列のスタイル（様式）を設定可能な設定コマンドによりスタイルデータを記憶し、印刷データと印刷データに挿入されているタブコマンドに基づいて、対応する区切り領域ごとに印刷データを処理することで、ユーザーの所望する様式でレシートを発行できる。特に、アプリケーションは、タブレット端末装置３をユーザーが操作して入力した商品コードから商品マスターを参照して取得した商品名や、個数などの文字列に、タブコマンドを挿入してプリンター２へ送信するだけでよい。予めタブ位置設定コマンドにより所望する位置にタブを設定しておき、設定コマンドにより対応する位置と範囲において設定された、所望する様式となって印刷できる。アプリケーション（ユーザー）で行ごとにスタイルを指定するコマンドを送るといった手間をかける必要がない。また、タブ位置設定コマンドに対応する設定コマンドとは、タブ位置設定コマンドによりタブ位置を設定し、このタブ位置により区切られて構成される区切り領域のそれぞれに対応するスタイルを設定する設定コマンドのことである。したがって、タブレット端末装置３にプリンタードライバーがインストールされていない場合、又は、タブレット端末装置３がプリンタードライバーを介さず印刷データを送信する場合でも、ユーザーの手間がかかることなく、ユーザーが所望する様式でレシートを発行できる。
【０１８４】
また、＜例１＞及び＜例２＞で説明したように、印刷装置制御部２０は、タブ位置設定コマンドにより設定されたタブ位置に基づいて、行の左端から最初のタブ位置までを最初の区切り領域として、最後のタブ位置から行の右端までを最後の区切り領域としている。このように、印刷装置制御部２０は、最初の区切り領域と、最後の区切り領域とを設定することで、１行に印刷すべき行印刷データを適切に１行に印刷でき、ユーザーの所望する様式で印刷できる。例えば、最初の区切り領域を設定しない場合、印刷装置制御部２０は、最初の区切り領域がどの区切り領域であるかの判別が容易でなくなり、例えば、１の区切り領域分空けて印刷を開始してしまい、行印刷データが含む文字列が１行に入りきらない等、ユーザーの所望する様式と異なる様式で印刷を実行する可能性がある。また、最後の区切り領域を設定しない場合、印刷装置制御部２０は、最後の区切り領域がどの区切り領域であるかの判別が容易でなくなり、例えば、本来１行で印刷すべき行印刷データを複数の行で印刷してしまう等、ユーザーの所望する様式と異なる様式で印刷を実行する可能性がある。このように、区切り領域ごとに、区切り文字列をスタイルデータで処理する構成において、最初の区切り領域と最後の区切り領域とを設定することで、１行で印刷すべき行印刷データを適切に１行で印刷でき、ユーザーの所望する様式で印刷できる。
【０１８５】
なお、上述したように、レシートにおいて、金額を示す文字列は、ロール紙の印刷面の右寄り印刷され、商品名など何の金額であるかを示す文字列は、ロール紙の印刷面の左寄りに印刷される。しかしながら、文字列によっては、ロール紙の印刷面の右寄りや、左寄り、中央寄り等の指定がなく印刷されてもよいものがある。このような文字列としては、例えば、レシートを発行する業態の名前や、レシートを発行するプリンターが載置されるレジの担当者名、所定の告知情報等を示す文字列が挙げられる。
【０１８６】
そこで、印刷装置制御部２０は、タブ位置設定コマンドによりタブ位置が設定されていない場合、行の左端から右端までの区切り領域として、スタイルデータに基づく処理を実行する。これにより、タブ位置設定コマンドでタブ位置を設定しないようにすれば、ロール紙の印刷面の右寄りや、左寄り、中央寄り等の指定がなく印刷されてよい文字列を、行に対して印刷できる。したがって、ユーザーは、タブ位置を設定しないだけで、スタイルデータに基づいて処理されたこのような文字列を、ロール紙に印刷できる。つまり、印刷装置制御部２０は、タブ位置が設定されていない場合、行の左端から右端までを区切り領域として、スタイルデータに基づく処理を実行することで、ユーザーの手間がかかることなく、ユーザーの所望する様式で印刷できる。
【０１８７】
また、タブ位置設定コマンドによっては、１行の印刷可能な桁数（印刷可能桁数）を上回る位置にタブ位置が設定されることが考えられる。このような場合、印刷装置制御部２０は、印刷結果が複数の行となるように処理を実行する。
【０１８８】
このことについて詳述する。ここで、１行に印刷可能な桁数を、３０桁として詳述する。
【０１８９】
図１３は、タブ位置設定コマンドの一例を示す図である。
【０１９０】
図１３に示すタブ位置設定コマンドＴＣ３は、ロール紙の印刷面の１行分の領域において、行の左端から設定するタブ位置までの桁数を示す設定値を含む。ここでの桁数は、文字を半角で印刷する場合の桁数である。図１３に示す通り、タブ位置設定コマンドＴＣ３は、「２１」を示す設定値ＳＴ４と、「５１」を示す設定値ＳＴ５とを含む。つまり、図１３に示すタブ位置設定コマンドＴＣ３は、タブ位置を、印刷面における１行分の領域の左端から、２１桁目と、５１桁目とに設定することを指示するコマンドである。
【０１９１】
しかしながら、１行に印刷可能な桁数を３０桁としているため、設定値ＳＴ５が示すタブ位置は、１行の印刷可能桁数を上回った位置に設定されていることになる。この場合、印刷装置制御部２０は、２行を区切り領域を設定する行とする。すなわち、１行目の１桁から２０桁までを最初の区切り領域し、１行目の２１桁目から３０桁目、及び、２行目の１桁目から２０桁目までを中央の区切り領域とし、２行目の２１桁目から３０桁目までを最後の区切り領域とする。なお、２行を１行として換算した場合、２行目の２１桁目は、１行の５０桁目に相当する。
【０１９２】
このようなタブ位置設定コマンドＴＣ３と、図１４に示す印刷データＩＤ４とに基づいて印刷を実行すると、印刷装置制御部２０は、図１５に示す印刷結果を出力する。
【０１９３】
図１４は、印刷データの一例を示す図である。
【０１９４】
図１４に示す印刷データＩＤ５は、行印刷データＩＤ５１を含む。
【０１９５】
行印刷データＩＤ５１は、タブコマンドと、改行コマンドと含む。図１５では、タブコマンドは、「＜ＨＴ＞」と表記される。また、改行コマンドは、「＜ＬＦ＞」と表記される。
【０１９６】
行印刷データＩＤ５１は、「ＡＡＡＡＢＢＢＢＣＣＣＣＤＤＤＤ」を示す文字列ＭＪ５１１と、「ＡＡＡＡＢＢＢＢＣＣＣＣバーガー」を示す文字列ＭＪ５１２と、「５００」を示す文字列ＭＪ５１３とを含む。文字列ＭＪ５１１と、文字列ＭＪ５１２と、文字列ＭＪ５１３とは、タブコマンドにより区切られている。したがって、文字列ＭＪ５１１と、文字列ＭＪ５１２と、文字列ＭＪ５１３とのそれぞれは、行印刷データＩＤ５１が示す文字列がタブコマンドにより区切られた区切り文字列に相当する。なお、行印刷データＩＤ５１が示す文字列とは、文字列ＭＪ５１１と、文字列ＭＪ５１２と、文字列ＭＪ５１３とを含む文字列のことである。
【０１９７】
図１５は、印刷結果の一例を示す図である。
【０１９８】
前述した通り、タブ位置が１行の印刷可能桁数を上回った位置に設定されている場合、印刷装置制御部２０は、２行を、区切り領域を設定する行とする。すなわち、印刷装置制御部２０は、１行目の１桁から２０桁までを最初の区切り領域し、１行目の２１桁目から３０桁目、及び、２行目の１桁目から２０桁目までを中央の区切り領域とし、２行目の２１桁目から３０桁目までを最後の区切り領域とする。
【０１９９】
そのため、図１５に示すように、印刷装置制御部２０は、印刷データＩＤ５の文字列ＭＪ５１１を、１行目の１桁目から２０桁目までの領域に印刷する。また、印刷装置制御部２０は、印刷データＩＤ５の文字列ＭＪ５１２を、１行目の２１桁目から３０桁目の領域、及び、２行目の１桁目から２０桁目までの領域に分けて印刷する。また、印刷データＩＤ５の文字列ＭＪ５１３を、２行目の２１桁目から３０桁目までの領域に印刷する。
【０２００】
このように、タブ位置設定コマンドにより、１行の印刷可能桁数を上回る位置にタブ位置が設定される場合、印刷装置制御部２０は、印刷結果が複数の行となるように処理を実行する。ところで、ユーザーによっては、レシートに、金額を示す文字列、商品名を示す文字列、及び、商品のシリアル番号を示す文字列等のように、１の内容に対して種々の文字列をトリミングすることなく印刷を望む場合がある。このような場合、タブ位置を１行に印刷可能な桁数を上回る位置に設定することで、印刷装置制御部２０は、印刷結果を複数の行で印刷するため、ユーザーの所望する様式で印刷できる。
【０２０１】
以上、説明したように、プリンター２（印刷装置）は、タブ位置により区切られた行の領域を示す区切り領域ごとに文字列のスタイルを設定可能な設定コマンドと、タブ位置への移動を実行するタブコマンドと当該タブコマンドにより区切られた区切り文字列を受信する印刷装置通信部２５（通信部）と、スタイルデータ（スタイルを示す情報）を記憶する印刷装置記憶部２１（記憶部）と、区切り文字列に対して対応する区切り領域のスタイルに基づいて処理を実行する印刷装置制御部２０（制御部）と、印刷装置制御部２０により処理された文字列を印刷する印刷部２２と、を備える。
【０２０２】
これにより、印刷装置制御部２０は、区切り領域ごとに、区切り領域に対応する区切り文字列に対して、設定されたスタイルに基づいて処理を実行し、処理が実行された文字列を印刷するため、ユーザーの手間がかかることなく、ユーザーの所望する様式で印刷できる。そのため、タブレット端末装置３にプリンタードライバーがインストールされていない場合や、プリンタードライバーを介すことなく、印刷データを送信した場合であっても、プリンター２は、ユーザーが所望する様式で印刷できる。つまり、プリンタードライバーを使用しない環境であっても、プリンター２は、タブコマンドで区切られた区切り文字列を含む印刷データを受信すれば、ユーザーの所望する様式で印刷できる。したがって、ユーザーは、タブ位置設定コマンドに対応する設定コマンドを適切に設定するだけでよく、アプリケーション側でコマンドを挿入したり変更したりといった操作を行わなくてもよい。また、本実施形態では、印刷データは、文字列がタブコマンドで区切られたデータであり、簡易なデータである。したがって、ユーザーは、容易に印刷データの編集が可能となる。
【０２０３】
また、印刷装置制御部２０は、設定されたタブ位置に基づき、行の左端（始端）から最初のタブ位置までの区切り領域を、最初の前記区切り領域とし、また、最後の前記タブ位置から行の右端（終端）までの区切り領域を、最後の前記区切り領域として、スタイルに基づく処理を実行する。
【０２０４】
前述した通り、最初の区切り領域を設定しない場合、印刷装置制御部２０は、最初の区切り領域がどの区切り領域であるかの判別が容易でなくなり、例えば、１の区切り領域分空けて印刷を開始してしまい、行印刷データが含む文字列が１行に入りきらない等、ユーザーの所望する様式と異なる様式で印刷を実行する可能性がある。また、最後の区切り領域を設定しない場合、印刷装置制御部２０は、最後の区切り領域がどの区切り領域であるかの判別が容易でなくなり、例えば、本来１行で印刷すべき行印刷データを複数の行で印刷してしまう等、ユーザーの所望する様式と異なる様式で印刷を実行する可能性がある。そこで、このように、区切り領域ごとに、区切り文字列をスタイルデータで処理する構成において、最初の区切り領域と最後の区切り領域とを設定することで、１行で印刷すべき行印刷データを適切に１行で印刷でき、ユーザーの所望する様式で印刷できる。
【０２０５】
また、印刷装置制御部２０は、タブ位置が設定されていない場合、行の左端から右端までの領域を、区切り領域として、スタイルに基づいて処理を実行する。
【０２０６】
前述した通り、文字列によっては、ロール紙の印刷面の右寄りや、左寄り、中央寄り等の指定がなく印刷されてもよいものがある。そこで、印刷装置制御部２０は、タブ位置設定コマンドによりタブ位置が設定されていない場合、行の左端から右端までの区切り領域として、スタイルデータに基づく処理を実行する。これにより、タブ位置設定コマンドでタブ位置を設定しないようにすれば、ロール紙の印刷面の右寄りや、左寄り、中央寄り等の指定がなく印刷されてよい文字列を、行に対して印刷できる。したがって、ユーザーは、タブ位置を設定しないだけで、スタイルデータに基づいて処理されたこのような文字列を、印刷位置を指定することなく、ロール紙に印刷できる。つまり、印刷装置制御部２０は、ユーザーの手間がかかることなく、ユーザーの所望する様式で印刷できる。
【０２０７】
スタイルデータは、少なくとも、位置揃え、マージン、文字装飾、及び文字サイズのいずれかを設定する情報である。
【０２０８】
このように、スタイルデータは、少なくとも、位置揃え、マージン、文字装飾、及び文字サイズのいずれかを設定する情報であるため、印刷装置制御部２０は、区切り領域ごとに、区切り領域に対応する区切り文字列に対して、位置揃え、マージン、文字装飾、及び文字サイズのいずれかを設定でき、ユーザーの所望する様式で印刷できる。
【０２０９】
また、スタイルデータは、少なくとも、文字列のトリミング、及び、数値フォーマットのいずれかを設定する情報である。
【０２１０】
このように、スタイルデータは、少なくとも、文字列のトリミング、及び、数値フォーマットのいずれかを設定する情報であるため、印刷装置制御部２０は、区切り領域ごとに、区切り領域に対応する区切り文字列に対して、少なくとも、文字列のトリミング、及び数値フォーマットのいずれかを設定でき、ユーザーの所望する様式で印刷できる。
【０２１１】
また、印刷装置制御部２０は、１行に印刷可能な桁数（印刷可能桁数）を上回る位置にタブ位置が設定されている場合、印刷部２２による印刷結果が複数の行となるように処理を実行する。
【０２１２】
前述した通り、ユーザーによっては、レシートに、金額を示す文字列、商品名を示す文字列、及び、商品のシリアル番号を示す文字列等のように、１の内容に対して種々の文字列をトリミングすることなく印刷を望む場合がある。このような場合、タブ位置を１行に印刷可能な桁数を上回る位置に設定することで、印刷装置制御部２０は、印刷結果を複数の行で印刷するため、１の内容に対して種々の文字列をトリミングすることなく印刷が実行でき、ユーザーの所望する様式で印刷できる。
【０２１３】
また、印刷部は、ロール紙（印刷媒体）を切断するカッターを有し、カッターにより切断したロール紙をレシートとして発行する。
【０２１４】
これにより、印刷装置制御部２０は、印刷部２２がロール紙をレシートとして発行するため、ユーザーの手間がかかることなく、ユーザーの所望する様式でレシートを発行できる。
【０２１５】
なお、上述した実施形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形及び応用が可能である。
【０２１６】
例えば、プリンター２は、タブ位置設定コマンドＴＣ１〜ＴＣ３のそれぞれを印刷装置記憶部２１が記憶している構成でもよく、タブ位置設定コマンドＴＣ１〜ＴＣ３のそれぞれをタブレット端末装置３から取得する構成でもよい。
【０２１７】
また、例えば、上述したプリンター２の制御方法（印刷装置の制御方法）が、プリンター２が備えるコンピューターを用いて実現される場合、本発明を、上記制御方法を実現するためにコンピューターが実行するプログラム、このプログラムを前記コンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。上記記録媒体としては、磁気的、光学的記録媒体又は半導体メモリーデバイスを用いることができる。具体的には、フレキシブルディスク、ＨＤＤ（Hard Disk Drive）、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、Ｂｌｕ−ｒａｙ（登録商標）  Ｄｉｓｃ、光磁気ディスク、フラッシュメモリー、カード型記録媒体等の可搬型の、或いは固定式の記録媒体が挙げられる。また、上記記録媒体は、プリンター２が備える内部記憶装置であるＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ等の不揮発性記憶装置であってもよい。
【０２１８】
また、例えば、図２の処理単位は、プリンター２の処理を理解容易にするために、主な処理内容に応じて分割したものであり、処理単位の分割の仕方や名称によって、本発明が限定されることはない。プリンター２の処理は、処理内容に応じて、されに多くの処理単位に分割してもよい。また、１つの処理単位がさらに多くの処理を含むように分割してもよい。
【０２１９】
また、図１に示した各機能部は機能的構成を示すものであって、具体的な実装形態は特に限定されない。つまり、必ずしも各機能部に個別に対応するハードウェアが実装される必要はなく、一つのプロセッサーがプログラムを実行することで複数の機能部の機能を実現する構成とすることも勿論可能である。また、上述した実施形態においてソフトウェアで実現される機能の一部をハードウェアとしてもよく、或いは、ハードウェアで実現される機能の一部をソフトウェアで実現してもよい。その他、プリンター２、及び、タブレット端末装置３の他の各部の具体的な細部構成についても、本発明の趣旨を逸脱しない範囲で任意に変更可能である。
【符号の説明】
【０２２０】
２…プリンター（印刷装置）、３…タブレット端末装置、２０…印刷装置制御部（制御部）、２１…印刷装置記憶部（記憶部）、２２…印刷部、２３…プリントバッファー、２４…受信バッファー、２５…印刷装置通信部（通信部）、２６…デバイス通信部、２７…報知部、３０…端末装置制御部、３１…端末装置通信部、３２…タッチパネル、３３…端末装置記憶部、２１０…スタイルデータベース、２１１…フォント情報、Ａ１〜Ａ５…領域（区切り領域）、ＢＲ…バーコードリーダー、ＣＤ…カスタマーディスプレー、ＤＲ…ドロワー、Ｒ１〜Ｒ２…レシート。
【図１】
2018130916.tif 000003
【図２】
2018130916.tif 000004
【図３】
2018130916.tif 000005
【図４】
2018130916.tif 000006
【図５】
2018130916.tif 000007
【図６】
2018130916.tif 000008
【図７】
2018130916.tif 000009
【図８】
2018130916.tif 000010
【図９】
2018130916.tif 000011
【図１０】
2018130916.tif 000012
【図１１】
2018130916.tif 000013
【図１２】
2018130916.tif 000014
【図１３】
2018130916.tif 000015
【図１４】
2018130916.tif 000016
【図１５】
2018130916.tif 000017