(57)【要約】【課題】情報処理装置によるテキストデータの分析に際し、ユーザーが行う操作を簡易化する。【解決手段】印刷媒体に印刷される情報をテキストで記述されたテキストデータとして取得し、取得したテキストデータに記述されたテキストを単語に分解し、選択可能な状態で表示させ、選択された１又は複数の単語に基づいて、テキストデータを分析する、制御サーバー制御部４０を備える制御サーバー１５。【選択図】図２
2018018464.tif 000002
【特許請求の範囲】
【請求項１】
印刷媒体に印刷される情報をテキストで記述されたテキストデータとして取得し、取得した前記テキストデータに記述されたテキストを単語に分解し、選択可能な状態で表示させ、選択された１又は複数の前記単語に基づいて、前記テキストデータを分析する、制御部を備える情報処理装置。
【請求項２】
前記テキストデータには、前記印刷媒体に情報が印刷されるレイアウトに準じてテキストが配置されており、
前記制御部は、
前記レイアウトに準じた状態で、前記単語に分解したテキストを表示させる請求項１に記載の情報処理装置。
【請求項３】
前記制御部は、
表示させている前記単語のうち、選択の候補となっている前記単語に対して、所定の装飾を施す請求項１又は２に記載の情報処理装置。
【請求項４】
前記制御部は、
１の単語が選択された場合、当該１の単語と同一行において、当該１の単語と連続する単語を選択可能な状態とする請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
レシートを発行可能な印刷装置に接続され、
前記制御部は、
前記印刷装置によって前記レシートに印刷された情報を前記テキストデータとして取得する請求項１から４のいずれか一項に記載の情報処理装置。
【請求項６】
前記制御部は、
空白を表す空白文字、及び、改行を表す改行文字を含む区切文字に基づいて、前記テキストデータに記述されたテキストを単語に分解する請求項１から５のいずれか一項に記載の情報処理装置。
【請求項７】
テキストは、予め定められた特殊文字、及び、前記区切文字と前記特殊文字とを除く普通文字を含み、
前記制御部は、
前記区切文字で区切られることなく連続する前記特殊文字、及び、前記区切文字で区切られることなく連続する前記普通文字を１つの単語とする請求項６に記載の情報処理装置。
【請求項８】
印刷媒体に印刷される情報をテキストで記述されたテキストデータとして取得し、
取得した前記テキストデータに記述されたテキストを単語に分解し、選択可能な状態で表示させ、
選択された１又は複数の前記単語に基づいて、前記テキストデータを分析する情報処理装置の制御方法。
【請求項９】
情報処理装置を制御する制御部により実行可能な制御プログラムであって、
前記制御部に、
印刷媒体に印刷される情報をテキストで記述されたテキストデータとして取得させ、取得させた前記テキストデータに記述されたテキストを単語に分解させ、選択可能な状態で表示させ、選択された１又は複数の前記単語に基づいて、前記テキストデータを分析する制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理装置の制御方法、及び、制御プログラムに関する。
【背景技術】
【０００２】
従来、ＰＯＳ端末内の会計処理部から出力された出力データを、外部装置が解釈可能な形式のデータに変換し、変換したデータを外部装置に送信し、送信したデータを外部装置で管理する技術が知られる（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１２−２７６３３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、上述した特許文献１に係るＰＯＳ端末のように会計に基づく処理を実行するＰＯＳ端末では、会計に応じて、ＰＯＳ端末が、又は、ＰＯＳ端末に接続された印刷装置が、レシートを発行する。レシートには、会計に関する情報等の様々な情報が印刷される。
そして、レシートに印刷される情報のように、印刷媒体に印刷される情報は、後に活用可能な有益な情報が含まれる場合がある。これを踏まえ、情報処理装置により、印刷媒体に印刷される情報がテキストとして記述されたテキストデータを分析することが行われている。このような分析に際し、ユーザーが行うことが必要な操作をできるだけ簡易化し、ユーザーの負担を軽減したいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、情報処理装置によるテキストデータの分析に際し、ユーザーが行う操作を簡易化することを目的とする。
【課題を解決するための手段】
【０００５】
上記課題を解決するために、本発明の情報処理装置は、印刷媒体に印刷される情報をテキストで記述されたテキストデータとして取得し、取得した前記テキストデータに記述されたテキストを単語に分解し、選択可能な状態で表示させ、選択された１又は複数の前記単語に基づいて、前記テキストデータを分析する、制御部を備える。
本発明によれば、情報処理装置によるテキストデータの分析に際し、ユーザーが行う操作が簡易化する。
【０００６】
また、本発明は、前記テキストデータには、前記印刷媒体に情報が印刷されるレイアウトに準じてテキストが配置されており、前記制御部は、前記レイアウトに準じた状態で、前記単語に分解したテキストを表示させる。
本発明によれば、ユーザーは、テキストデータに記述されたテキストの内容、及び、対応するレイアウトを簡易かつ直感的に把握することができ、的確に、１又は複数の単語を選択できる。
【０００７】
また、本発明は、前記制御部は、表示させている前記単語のうち、選択の候補となっている前記単語に対して、所定の装飾を施す。
本発明によれば、ユーザーは、単語が、選択の候補となったことを認識した上で、所望の単語を的確に選択できる。
【０００８】
また、本発明は、前記制御部は、１の単語が選択された場合、当該１の単語と同一行において、当該１の単語と連続する単語を選択可能な状態とする。
本発明によれば、複数の単語を選択する場合、同一行で連続する単語を選択可能な状況下において、ユーザーに、誤りなく単語を選択させることができる。
【０００９】
また、本発明は、レシートを発行可能な印刷装置に接続され、前記制御部は、前記印刷装置によって前記レシートに印刷された情報を前記テキストデータとして取得する。
本発明によれば、情報処理装置によるレシートに対応するテキストデータの分析に際し、ユーザーが行う操作が簡易化する。
【００１０】
また、本発明は、前記制御部は、空白を表す空白文字、及び、改行を表す改行文字を含む区切文字に基づいて、前記テキストデータに記述されたテキストを単語に分解する。
本発明によれば、情報処理装置は、空白文字、及び、改行文字を利用して、的確に、単語を分解できる。
【００１１】
また、本発明は、テキストは、予め定められた特殊文字、及び、前記区切文字と前記特殊文字とを除く普通文字を含み、前記制御部は、前記区切文字で区切られることなく連続する前記特殊文字、及び、前記区切文字で区切られることなく連続する前記普通文字を１つの単語とする。
本発明によれば、情報処理装置は、的確に、単語を分解できる。
【００１２】
また、上記課題を解決するため、本発明の情報処理装置の制御方法は、印刷媒体に印刷される情報をテキストで記述されたテキストデータとして取得し、取得した前記テキストデータに記述されたテキストを単語に分解し、選択可能な状態で表示させ、選択された１又は複数の前記単語に基づいて、前記テキストデータを分析する。
本発明によれば、情報処理装置によるテキストデータの分析に際し、ユーザーが行う操作が簡易化する。
【００１３】
また、上記課題を解決するため、本発明は、情報処理装置を制御する制御部により実行可能な制御プログラムであって、前記制御部に、印刷媒体に印刷される情報をテキストで記述されたテキストデータとして取得させ、取得させた前記テキストデータに記述されたテキストを単語に分解させ、選択可能な状態で表示させ、選択された１又は複数の前記単語に基づいて、前記テキストデータを分析する。
本発明によれば、情報処理装置によるテキストデータの分析に際し、ユーザーが行う操作が簡易化する。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る会計システムの構成を示す図。
【図２】会計システムの各装置の機能的構成を示すブロック図。
【図３】タブレット端末、印刷装置、制御サーバーの動作を示すフローチャート。
【図４】印刷データの一例を示す図。
【図５Ａ】レシートの一例を示す図。
【図５Ｂ】レシートの一例を示す図。
【図６Ａ】印刷テキストデータの一例を示す図。
【図６Ｂ】印刷テキストデータの一例を示す図。
【図７】パーサー管理データベースのレコードを示す図。
【図８】分析項目の説明に利用する図。
【図９】分析データの一例を示す図。
【図１０】分析データ管理データベースのレコードを示す図。
【図１１Ａ】第１ユーザーインターフェースを示す図。
【図１１Ｂ】第２ユーザーインターフェースを示す図。
【図１１Ｃ】第３ユーザーインターフェースを示す図。
【図１２】印刷装置管理データベースのレコードを示す図。
【図１３】第４ユーザーインターフェースを示す図。
【図１４Ａ】図６Ａの印刷テキストデータに含まれる単語を示す表。
【図１４Ｂ】図６Ｂの印刷テキストデータに含まれる単語を示す表である。
【図１５Ａ】図６Ｂの印刷テキストデータに基づくテキストが表示されたテキスト表示画面を示す図。
【図１５Ｂ】図６Ｂの印刷テキストデータに基づくテキストが表示されたテキスト表示画面を示す図。
【図１６】第４ユーザーインターフェースを示す図。
【図１７】第４ユーザーインターフェースを示す図。
【図１８】第４ユーザーインターフェースを示す図。
【図１９】第４ユーザーインターフェースを示す図。
【図２０】第４ユーザーインターフェースを示す図。
【図２１】第４ユーザーインターフェースを示す図。
【図２２】第４ユーザーインターフェースを示す図。
【図２３】制御サーバーの動作を示すフローチャート。
【図２４】第４ユーザーインターフェースを示す図。
【図２５】第４ユーザーインターフェースを示す図。
【図２６】第４ユーザーインターフェースを示す図。
【図２７】第４ユーザーインターフェースを示す図。
【図２８】第４ユーザーインターフェースを示す図。
【図２９】第４ユーザーインターフェースを示す図。
【図３０】第４ユーザーインターフェースを示す図。
【図３１】第４ユーザーインターフェースを示す図。
【図３２】第４ユーザーインターフェースを示す図。
【図３３】第４ユーザーインターフェースを示す図。
【図３４】第４ユーザーインターフェースを示す図。
【図３５】第４ユーザーインターフェースを示す図。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係る会計システム１（情報処理システム）の構成を示す図である。
図１に示すように、会計システム１は、複数の店舗システム１１を備える。店舗システム１１は、スーパーマーケットや、コンビニエンスストア、デパート、飲食店等の店舗に用いられるシステムである。店舗は、商品の提供が行われ、商品の提供に応じて、顧客による会計が行われる施設であればよい。本実施形態において、「商品」は、物体として顧客に引き渡される商品だけでなく、顧客に提供されるサービスや、顧客に提供される飲食物等、対価と引き換えに顧客に提供される対象を意味する。
店舗システム１１は、顧客が購入した商品に応じた会計を行う機能、会計に応じてレシートを発行する機能等を備える。
【００１６】
店舗システム１１が適用される店舗には、顧客が会計を行なうレジカウンターＬが設けられる。レジカウンターＬには、ロール紙（印刷媒体）に印刷する機能を有する印刷装置１２が設けられる。また、レジカウンターＬには、印刷装置１２と無線通信可能に接続され、印刷装置１２を制御するタブレット端末１３が設けられる。
レジカウンターＬにおける会計に際し、レジ担当者は、印刷装置１２に接続されたバーコードリーダーＢＲで商品や商品の包装に付されたバーコードを読み取り、また、タブレット端末１３に対して会計に対応する入力を行う。印刷装置１２は、バーコードリーダーＢＲによる読み取りに基づくデータを、タブレット端末１３に送信する。タブレット端末１３は、印刷装置１２から受信したバーコードリーダーＢＲの読み取りに基づくデータや、レジ担当者による会計に対応する入力に基づいて、印刷装置１２を制御し、印刷装置１２にレシートを発行させる。印刷装置１２により発行されたレシートは、レジ担当者により顧客に引き渡される。
印刷装置１２、及び、タブレット端末１３の構成、機能、及び、機能に基づく処理については後述する。
【００１７】
店舗システム１１は、ローカルエリアネットワークＬＮを備える。
ローカルエリアネットワークＬＮには、印刷装置１２が接続される。
また、ローカルエリアネットワークＬＮには、通信装置１４が接続される。通信装置１４は、ローカルエリアネットワークＬＮと、インターネット、電話網、その他の通信網を含むグローバルネットワークＧＮとを接続するインターフェース装置である。通信装置１４は、モデム（又は、ＯＮＵ（Optical Network Unit））に係る機能、ルーター機能、ＮＡＴ（Network Address Translation）機能、及び、ＤＨＣＰ（Dynamic Host Configuration Protocol）サーバー機能等を有する。通信装置１４は、ローカルエリアネットワークＬＮに接続された機器と、グローバルネットワークＧＮに接続された機器との間で行われる通信に際し、機器間で送受信されるデータを転送する。なお、図１では、通信装置１４を１つのブロックで表現するが、通信装置１４は、機能に応じた複数の装置を有する構成でもよい。
印刷装置１２は、通信装置１４を介して、グローバルネットワークＧＮにアクセス可能である。
【００１８】
グローバルネットワークＧＮには、制御サーバー１５（情報処理装置）が接続される。制御サーバー１５は、印刷装置１２と通信可能なサーバー装置である。すなわち、制御サーバー１５は、クライアントからの要求等をトリガーとして、所定の演算処理を実行する。制御サーバー１５は、必要に応じて、演算処理の結果に基づくデータを、クライアントに送信する。なお、図１では、制御サーバー１５を、１つのブロックによって表現するが、これは制御サーバー１５が単一のサーバー装置により構成されることを意味するものではない。例えば、制御サーバー１５は、複数のサーバー装置を含んで構成されたものでもよい。すなわち、制御サーバー１５は、後述する各種処理を実行可能な構成であれば、その形態を問わない。
【００１９】
図２は、会計システム１が備える各装置の機能的構成を示すブロック図である。
タブレット端末１３は、前面の広い領域にタッチパネル２２が設けられたタブレット型の（板状の）端末である。タブレット端末１３は、レジカウンターＬにおける会計に際し、会計に関する各種処理を実行して印刷装置１２を制御するホストコンピューターとして機能する。
図２に示すように、タブレット端末１３は、タブレット端末制御部２０と、タブレット端末通信部２１と、タッチパネル２２と、タブレット端末記憶部２３と、を備える。
【００２０】
タブレット端末制御部２０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、ＡＳＩＣ、信号処理回路等を備え、タブレット端末１３の各部を制御する。タブレット端末制御部２０は、例えばＣＰＵが、ＲＯＭに記憶されたプログラムをＲＡＭに読み出して処理を実行し、また例えばＡＳＩＣに実装された機能により処理を実行し、また例えば信号処理回路で信号処理を行って処理を実行する等、ハードウェア及びソフトウェアにより処理を実行する。タブレット端末１３には、所定のアプリケーションが事前にインストールされる。タブレット端末制御部２０は、当該所定のアプリケーション、当該所定のアプリケーションに付随するプログラム（ＯＳや、ＡＰＩ、プラグイン等。）、その他のプログラムを読み出して実行することにより、アプリケーション実行部２０１として機能する。
【００２１】
タブレット端末通信部２１は、タブレット端末制御部２０の制御で、所定の無線通信の規格に従って、印刷装置１２と通信する。タブレット端末１３と印刷装置１２との間で行われる通信の無線通信規格は、アドホックモードに対応する無線ＬＡＮに係る規格や、インフラストラクチャーモードに対応する無線ＬＡＮに係る規格、Bluetooth（登録商標）等の近距離無線通信に係る規格等、どのような規格でもよい。
【００２２】
タッチパネル２２は、液晶表示パネル等の表示パネルと、表示パネルに重ねて設けられたタッチセンサーとを備える。表示パネルは、タブレット端末制御部２０の制御で、各種画像を表示する。タッチセンサーは、タッチ操作を検出し、タブレット端末制御部２０に出力する。タブレット端末制御部２０は、タッチセンサーからの入力に基づいて、タッチ操作に対応する処理を実行する。
【００２３】
タブレット端末記憶部２３は、不揮発性メモリーを備え、各種データを記憶する。
【００２４】
印刷装置１２は、ロール紙を収容し、収容したロール紙にライン型のサーマルヘッドでドットを形成して画像を印刷するサーマルプリンターである。
なお、本実施形態に係る印刷装置１２の印刷方式はサーマル方式であるが、印刷装置１２の印刷方式は、サーマル方式に限らず、インクジェット方式等の他の印刷方式でもよい。また、印刷装置１２の印刷ヘッドは、ライン型に限らず、シリアル型でもよい。
図２に示すように、印刷装置１２は、印刷装置制御部３０と、印刷部３１と、印刷装置記憶部３２と、印刷装置通信部３３と、印刷装置ネットワーク通信部３４と、デバイス通信部３５と、を備える。
【００２５】
印刷装置制御部３０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、ＡＳＩＣ、信号処理回路等を備え、印刷装置１２の各部を制御する。印刷装置制御部３０は、例えばＣＰＵが、ＲＯＭに記憶されたプログラムをＲＡＭに読み出して処理を実行し、また例えばＡＳＩＣに実装された機能により処理を実行し、また例えば信号処理回路で信号処理を行って処理を実行する等、ハードウェア及びソフトウェアにより処理を実行する。
【００２６】
印刷部３１は、印刷装置１２の筐体に収容されたロール紙を搬送する搬送機構や、サーマルヘッドによってロール紙にドットを形成して画像を印刷する印刷機構、ロール紙を所定の位置で切断する切断機構等のロール紙への印刷に関する各種機構を備える。印刷部３１は、印刷装置制御部３０の制御で、搬送機構によりロール紙を搬送し、印刷機構によりロール紙にレシートに係る画像を印刷し、切断機構により所定の位置でロール紙を切断して、レシートを発行する。
【００２７】
印刷装置記憶部３２は、不揮発性メモリーを備え、各種データを記憶する。
【００２８】
印刷装置通信部３３は、印刷装置制御部３０の制御で、タブレット端末１３と所定の無線通信規格に従って通信する。タブレット端末１３と印刷装置１２との間で行われる通信の無線通信規格は、アドホックモードに対応する無線ＬＡＮに係る規格や、インフラストラクチャーモードに対応する無線ＬＡＮに係る規格、Bluetooth等の近距離無線通信に係る規格等、どのような規格でもよい。
【００２９】
印刷装置ネットワーク通信部３４は、印刷装置制御部３０の制御で、グローバルネットワークＧＮと接続する機器（制御サーバー１５を含む。）と所定の通信規格に従って通信する。印刷装置ネットワーク通信部３４が通信に用いる通信規格は、ＨＴＴＰや、ＷｅｂＳｏｃｋｅｔ等、どのような規格でもよい。
【００３０】
デバイス通信部３５は、ＵＳＢの規格に従ったポートや、ＵＳＢ以外のシリアル通信規格（ＲＳ２３２Ｃ等。）に従ったポート、パラレル通信規格（ＩＥＥＥ１２８４等。）に従ったポート、有線ＬＡＮに係る通信規格（イーサネット（登録商標）等。）に従ったポート、その他ポートを有するインターフェースボードを備える。各ポートには、デバイスが接続可能である。デバイス通信部３５は、印刷装置制御部３０の制御で、ポートを介して印刷装置１２に接続されたデバイスと通信する。
なお、デバイス通信部３５が、無線通信機能を備え、デバイスと無線通信する構成でもよい。
【００３１】
印刷装置１２には、デバイスとして、バーコードリーダーＢＲ、カスタマーディスプレーＣＤ、及び、自動釣銭機ＪＴが接続される。
バーコードリーダーＢＲは、商品や、商品の包装等に付されたバーコードを読み取り、読取結果を示すデータをデバイス通信部３５に出力する。デバイス通信部３５は、バーコードリーダーＢＲから入力されたデータを、印刷装置制御部３０に出力する。
カスタマーディスプレーＣＤは、印刷装置制御部３０の制御で、会計に関する情報を表示する。カスタマーディスプレーＣＤに表示された情報は、レジカウンターＬで会計を行う顧客が視認できる。
自動釣銭機ＪＴは、顧客から受け取った貨幣を投入する貨幣受取口と、釣銭に係る貨幣を排出する釣銭排出口とを備え、印刷装置制御部３０の制御で、貨幣受取口を介して貨幣が投入された場合、対応する釣銭を釣銭排出口から排出する。
【００３２】
制御サーバー１５は、サーバー装置である。
図２に示すように、制御サーバー１５は、制御サーバー制御部４０（制御部）と、制御サーバーネットワーク通信部４１と、制御サーバー記憶部４２と、制御サーバー表示部４３と、制御サーバー入力部４４とを備える。
【００３３】
制御サーバー制御部４０は、ＣＰＵや、ＲＯＭ、ＲＡＭ、ＡＳＩＣ、信号処理回路等を備え、制御サーバー１５の各部を制御する。制御サーバー制御部４０は、例えばＣＰＵが、ＲＯＭに記憶されたプログラムをＲＡＭに読み出して処理を実行し、また例えばＡＳＩＣに実装された機能により処理を実行し、また例えば信号処理回路で信号処理を行って処理を実行する等、ハードウェア及びソフトウェアにより処理を実行する。
【００３４】
制御サーバーネットワーク通信部４１は、制御サーバー制御部４０の制御で、グローバルネットワークＧＮと接続する機器（印刷装置１２を含む。）と所定の通信規格に従って通信する。制御サーバーネットワーク通信部４１が通信に用いる通信規格は、ＨＴＴＰや、ＷｅｂＳｏｃｋｅｔ等、どのような規格でもよい。
【００３５】
制御サーバー記憶部４２は、不揮発性メモリーを備え、各種データを記憶する。制御サーバー記憶部４２は、パーサー管理データベース４２１と、分析データ管理データベース４２２と、印刷装置管理データベース４２３とを記憶する。これらデータベースについては後述する。
【００３６】
制御サーバー表示部４３は、表示パネルを備え、制御サーバー制御部４０の制御で、表示パネルに各種情報を表示する。
【００３７】
制御サーバー入力部４４は、キーボード、マウス、その他の入力手段を備え、入力手段に対するユーザーの操作を検出し、制御サーバー制御部４０に出力する。制御サーバー制御部４０は、制御サーバー入力部４４からの入力に基づいて、入力手段に対するユーザーの操作に対応する処理を実行する。
【００３８】
次に、レジカウンターＬで顧客の会計が行われた場合の、タブレット端末１３、印刷装置１２、及び、制御サーバー１５の動作について説明する。
【００３９】
図３は、レジカウンターＬで会計が行われた場合のタブレット端末１３、印刷装置１２、及び、制御サーバー１５の動作を示すフローチャートである。図３のフローチャートＦＡはタブレット端末１３の動作を示し、フローチャートＦＢは印刷装置１２の動作を示し、フローチャートＦＣは制御サーバー１５の動作をそれぞれ示す。
【００４０】
図３のフローチャートＦＡに示すように、タブレット端末１３のタブレット端末制御部２０のアプリケーション実行部２０１は、顧客の会計に応じて会計処理（決済処理）を実行し、会計処理に基づいて印刷データを生成する（ステップＳＡ１）。
【００４１】
ステップＳＡ１の処理について詳述すると、アプリケーション実行部２０１は、タッチパネル２２に、会計に対応する入力が可能なユーザーインターフェースを表示させる。アプリケーション実行部２０１は、タッチパネル２２に対するレジ担当者の入力や、顧客の会計に伴う印刷装置１２からの入力に応じて、レシート情報を生成する。レシート情報とは、印刷装置１２に発行させるレシートに印刷される情報である。レシート情報の具体的な内容については、後に、例を挙げて説明する。
次いで、アプリケーション実行部２０１は、生成したレシート情報に基づいて、印刷データを生成する。印刷データは、所定のレイアウトでレシート情報が印刷されたレシートの発行を指示するデータである。印刷データは、印刷装置１２のコマンド体系に従った複数の制御コマンドを含んで構成される。
【００４２】
図４は、印刷データの一例である印刷データＤＴ１を示す図である。
図４の印刷データＤＴ１に示すように、印刷データには、グラフィック画像印刷指示コマンドＣＭ１と、文字列印刷関連コマンド群ＧＭと、改行コマンドＬＦと、カットコマンドＣＭ４とを含む。また、文字列印刷関連コマンド群ＧＭは、文字列装飾コマンドＣＭ２と、文字列印刷指示コマンドＣＭ３とを含む。
【００４３】
グラフィック画像印刷指示コマンドＣＭ１は、専用の命令コードと、ビットマップデータ等のイメージデータとを含み、イメージデータに基づくグラフィック画像の印刷を指示する制御コマンドである。イメージデータとは、ドットマトリックス状に配置されたドットについて、各ドットの色に関する情報を保持するデータである。グラフィック画像は、フォントデータに基づいて印刷される画像ではなく、ホストコンピューターとして機能する装置（本実施形態では、タブレット端末１３。）から受信したイメージデータに基づいて印刷される画像である。後述するロゴ情報Ｊ１は、グラフィック画像に相当する。
【００４４】
文字列印刷関連コマンド群ＧＭに含まれる文字列印刷指示コマンドＣＭ３は、１行分の文字列の印刷を指示する制御コマンドである。文字列印刷指示コマンドＣＭ３は、専用の命令コードと、印刷を指示する文字列の情報（文字列を構成する１又は複数の文字の文字コードの組み合わせ。）と、を含む。
文字列印刷関連コマンド群ＧＭに含まれる文字列装飾コマンドＣＭ２は、文字列印刷指示コマンドＣＭ３によって印刷が指示された文字列に施す装飾を指定する制御コマンドである。文字列に施す装飾は、例えば、右寄せ、中央寄せ、左寄せ、太字化、アンダーラインの付加、強調点の付加、白黒の反転、回転、拡大、縮小である。
【００４５】
ここで、印刷装置１２の印刷装置記憶部３２は、印刷可能な文字のそれぞれのフォントデータを記憶する。印刷装置１２の印刷装置制御部３０は、１の文字列印刷関連コマンド群ＧＭに基づいて文字列を印刷する場合、以下の処理を実行する。すなわち、印刷装置制御部３０は、所定の手段で、当該１の文字列印刷関連コマンド群ＧＭに含まれる文字列印刷指示コマンドＣＭ３に含まれる文字コードのそれぞれを、対応するフォントデータのそれぞれに変換する。次いで、印刷装置制御部３０は、フォントデータのそれぞれに、当該１の文字列印刷関連コマンド群ＧＭに含まれる文字列装飾コマンドＣＭ２が指定する装飾を施し、フォントデータのそれぞれを画像バッファーに展開する。次いで、印刷装置制御部３０は、画像バッファーに展開したフォントデータのそれぞれに基づいて印刷部３１を制御し、１行分の文字列を印刷する。
【００４６】
改行コマンドＬＦは、改行を指示するコマンドである。
【００４７】
カットコマンドＣＭ４は、ロール紙の切断を指示するコマンドである。
【００４８】
図３のフローチャートＦＡに示すように、ステップＳＡ１で印刷データを生成した後、アプリケーション実行部２０１は、タブレット端末通信部２１を制御して、生成した印刷データを、印刷装置１２に送信する（ステップＳＡ２）。
【００４９】
図３のフローチャートＦＢに示すように、印刷装置１２の印刷装置制御部３０は、印刷装置通信部３３を制御して、印刷データを受信する（ステップＳＢ１）。
【００５０】
次いで、印刷装置制御部３０は、ステップＳＢ１で受信した印刷データに基づいて、印刷部３１を制御して、レシートを発行する（ステップＳＢ２）。発行されたレシートは、顧客に引き渡される。
【００５１】
ここで、店舗において印刷装置１２により発行されるレシートには、以下の特徴がある。すなわち、１の印刷装置１２が発行するレシートのレイアウトは、タブレット端末１３にインストールされた所定のアプリケーションの変更がない限り、同じである。一方、印刷装置１２と通信するタブレット端末１３の違いによって、１の印刷装置１２と、他の印刷装置１２とでは、発行するレシートのレイアウトが、相互に異なる場合がある。
【００５２】
図５Ａは印刷データに基づいて印刷装置１２により発行されるレシートの一例であるレシートＲ１を示す。図５Ｂは、図５Ａで例示するレシートＲ１のレイアウトとは異なるレイアウトのレシートＲ２を示す。なお、図５Ａで例示するレシートＲ１に印刷された情報の内容と、図５Ｂで例示するレシートＲ２に印刷された情報の内容とは、同一性を有する。
【００５３】
なお、本実施形態では、文字コードが割り当てられた対象のことを「文字」と表現する。従って、文字には、文字コードが割り当てられた記号（「＠」や、「−」、「＄」、「￥」等。）や、文字コードが割り当てられた空白文字（スペースや、ブランクと呼ばれる場合もある。）が含まれる。以下、空白文字を、適宜、「△」で表す。
【００５４】
図５Ａで例示するレシートＲ１には、先頭に、店舗の名称を図案化したロゴ情報Ｊ１が印刷される。ロゴ情報Ｊ１は、上述したグラフィック画像印刷指示コマンドＣＭ１に基づいて印刷される。
【００５５】
レシートＲ１において、ロゴ情報Ｊ１の下方は、店舗の住所を文字列で表す店舗住所情報Ｊ２が一行で印刷される。店舗住所情報Ｊ２は、中央寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、店舗の住所を表す文字列の印刷を指示する文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。
レシートＲ１において、店舗住所情報Ｊ２の一行下には、店舗の電話番号を文字列で表す店舗電話番号情報Ｊ３が一行で印刷される。店舗電話番号情報Ｊ３は、中央寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、店舗の電話番号を表す文字列の印刷を指示する文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。
【００５６】
レシートＲ１において、店舗電話番号情報Ｊ３の一行下には、第１エリア分割情報ＳＫ１が印刷される。第１エリア分割情報ＳＫ１は、文字「−」が一行内で、所定の個数、連続して構成された文字列である。
レシートＲ１は、１つ目の第１エリア分割情報ＳＫ１によって印刷領域が区切られ、１つ目の第１エリア分割情報ＳＫ１よりも上方がエリア分けされる。以下、レシートＲ１において、第１エリア分割情報ＳＫ１よりも上方のエリアを「エリアＡＡ１」とする。
【００５７】
レシートＲ１において、１つ目の第１エリア分割情報ＳＫ１の一行下には、レシート識別関連情報Ｊ４が印刷される。レシート識別関連情報Ｊ４は、レシートを識別する識別情報を文字列で表すレシート識別情報Ｊ４２を有する。レシート識別情報Ｊ４２の値は、レシートごとに異なる。また、レシート識別関連情報Ｊ４は、レシート識別情報Ｊ４２の同一行において、レシート識別情報Ｊ４２の左方に印刷され、レシート識別情報Ｊ４２がレシートを識別する識別情報であることを明示する情報を文字列で表すレシート識別明示情報Ｊ４１を有する。図５Ａに示すように、レシートＲ１に係るレシート識別明示情報Ｊ４１は、文字列「Ｃｈｅｃｋ♯：」からなる情報である。
レシート識別関連情報Ｊ４は、中央寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、レシート識別明示情報Ｊ４１を表す文字列と、１つの空白文字と、レシート識別情報Ｊ４２を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。図５ＡのレシートＲ１では、「レシート識別明示情報Ｊ４１を表す文字列と、空白文字と、レシート識別情報Ｊ４２を表す文字列とが連続する文字列」は、文字列「Ｃｈｅｃｋ♯：△Ｃ０００１」である。
【００５８】
レシートＲ１において、レシート識別関連情報Ｊ４の一行下には、レシートが発行された日時を文字列で表す発行日時情報Ｊ５が印刷される。発行日時情報Ｊ５は、中央寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、レシートが発行された日時を表す文字列の印刷を指示する文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。
【００５９】
発行日時情報Ｊ５の一行下には、第１エリア分割情報ＳＫ１が印刷される。
レシートＲ１は、１つ目の第１エリア分割情報ＳＫ１と、２つ目の第１エリア分割情報ＳＫ１とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートＲ１において、１つ目の第１エリア分割情報ＳＫ１と、２つ目の第１エリア分割情報ＳＫ１とで囲まれたエリアを「エリアＡＡ２」とする。
【００６０】
レシートＲ１において、２つ目の第１エリア分割情報ＳＫ１の一行下には、１又は複数（図５Ａの例では「２個」。）の商品情報Ｊ６が印刷される。
商品情報Ｊ６は、顧客が購入した商品に関する情報である。商品情報Ｊ６は、顧客が購入した商品の種類ごとに、レシートＲ１に印刷される。従って、例えば、顧客が購入した商品の種類が３つである場合は、３つの種類の商品のそれぞれに対応する３つの商品情報Ｊ６が印刷される。レシートＲ１に複数の商品情報Ｊ６が印刷される場合、複数の商品情報Ｊ６は、異なる行に、１行ずつ連続して印刷される。
商品情報Ｊ６は、購入数量情報Ｊ６１と、商品名情報Ｊ６２と、単価情報Ｊ６３とを有する。購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３は、同一行に印刷される。購入数量情報Ｊ６１は、対応する商品の購入数量を文字列で表す情報である。商品名情報Ｊ６２は、対応する商品の名称を文字列で表す情報である。単価情報Ｊ６３は、対応する商品の単価を文字列で表す情報である。
レシートＲ１では、１行内で、右へ向かって購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３の順番で印刷される。
【００６１】
商品情報Ｊ６は、左寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、購入数量情報Ｊ６１を表す文字列と、１つの空白文字と、商品名情報Ｊ６２を表す文字列と、１個又は複数個の空白文字と、単価情報Ｊ６３を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。商品名情報Ｊ６２を表す文字列と、単価情報Ｊ６３を表す文字列との間に挿入される空白文字の個数は、単価情報Ｊ６３の位置が、「行」の末尾に位置するように、調整される。図５ＡのレシートＲ１に印刷される商品情報Ｊ６のうち、最上部に印刷される商品情報Ｊ６については、「購入数量情報Ｊ６１を表す文字列と、１つの空白文字と、商品名情報Ｊ６２を表す文字列と、１個又は複数個の空白文字と、単価情報Ｊ６３を表す文字列とが連続する文字列」は、文字列「１△Ｂｅｅｒ△△・・・△△１０．００」である。
【００６２】
レシートＲ１において、最下部に印刷される商品情報Ｊ６の一行下には、第２エリア分割情報ＳＫ２が印刷される。第２エリア分割情報ＳＫ２は、文字「〜」が一行内で複数連続して構成された文字列である。
レシートＲ１は、２つ目の第１エリア分割情報ＳＫ１と、１つ目の第２エリア分割情報ＳＫ２とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートＲ１において、２つ目の第１エリア分割情報ＳＫ１と、１つ目の第２エリア分割情報ＳＫ２とで囲まれたエリアを「エリアＡＡ３」とする。
【００６３】
レシートＲ１において、１つ目の第２エリア分割情報ＳＫ２の一行下には、小計関連情報Ｊ７が印刷される。小計関連情報Ｊ７は、小計を文字列で表す小計情報Ｊ７２を有する。また、小計関連情報Ｊ７は、小計情報Ｊ７２の同一行において、小計情報Ｊ７２の左方に印刷され、小計情報Ｊ７２が小計を示す情報であることを明示する情報を文字列によって表す小計明示情報Ｊ７１を有する。図５Ａに示すように、レシートＲ１に係る小計明示情報Ｊ７１は、８個の大文字のアルファベットの文字列「ＳＵＢＴＯＴＡＬ」からなる文字列である。
小計関連情報Ｊ７は、左寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、小計明示情報Ｊ７１を表す文字列と、１個又は複数個の空白文字と、小計情報Ｊ７２を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。小計明示情報Ｊ７１を表す文字列と、小計情報Ｊ７２を表す文字列との間に挿入される空白文字の個数は、小計情報Ｊ７２の位置が、「行」の末尾に位置するように、調整される。図５ＡのレシートＲ１では、「小計明示情報Ｊ７１を表す文字列と、１個又は複数個の空白文字と、小計情報Ｊ７２を表す文字列とが連続する文字列」は、文字列「ＳＵＢＴＯＴＡＬ△△・・・△△７０．００」である。
【００６４】
レシートＲ１において、小計関連情報Ｊ７の一行下には、税関連情報Ｊ８が印刷される。税関連情報Ｊ８は、税額を文字列で表す税額情報Ｊ８２を有する。また、税関連情報Ｊ８は、税額情報Ｊ８２の同一行において、税額情報Ｊ８２の左方に印刷され、税額情報Ｊ８２が税額を示す情報であることを明示する情報を文字列によって表す税明示情報Ｊ８１を有する。図５Ａに示すように、レシートＲ１に係る税明示情報Ｊ８１は、３個の大文字のアルファベットの文字列「ＴＡＸ」からなる文字列である。
税関連情報Ｊ８は、左寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、税明示情報Ｊ８１を表す文字列と、１個又は複数個の空白文字と、税額情報Ｊ８２を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。税明示情報Ｊ８１を表す文字列と、税額情報Ｊ８２を表す文字列との間に挿入される空白文字の個数は、税額情報Ｊ８２の位置が、「行」の末尾に位置するように、調整される。図５ＡのレシートＲ１では、「税明示情報Ｊ８１を表す文字列と、１個又は複数個の空白文字と、税額情報Ｊ８２を表す文字列とが連続する文字列」は、文字列「ＴＡＸ△△・・・△△６．１３」である。
【００６５】
レシートＲ１において、税関連情報Ｊ８の一行下には、合計金額関連情報Ｊ９が印刷される。合計金額関連情報Ｊ９は、合計金額を文字列で表す合計金額情報Ｊ９２を有する。また、合計金額関連情報Ｊ９は、合計金額情報Ｊ９２の同一行において、合計金額情報Ｊ９２の左方に印刷され、合計金額情報Ｊ９２が合計金額を示す情報であることを明示する情報を文字列によって表す合計金額明示情報Ｊ９１を有する。図５Ａに示すように、レシートＲ１に係る合計金額明示情報Ｊ９１は、５個の大文字のアルファベットの文字列「ＴＯＴＡＬ」からなる文字列である。
合計金額関連情報Ｊ９は、左寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、合計金額明示情報Ｊ９１と、１個又は複数個の空白文字と、合計金額情報Ｊ９２を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。合計金額明示情報Ｊ９１を表す文字列と、合計金額情報Ｊ９２を表す文字列との間に挿入される空白文字の個数は、合計金額情報Ｊ９２の位置が、「行」の末尾に位置するように、調整される。図５ＡのレシートＲ１では、「合計金額明示情報Ｊ９１と、１個又は複数個の空白文字と、合計金額情報Ｊ９２を表す文字列とが連続する文字列」は、文字列「ＴＯＴＡＬ△△・・・△△７６．１３」である。
【００６６】
以下の説明において、第１エリア分割情報ＳＫ１、第２エリア分割情報ＳＫ２、及び、後述する第３エリア分割情報ＳＫ３を、区別せずに表示する場合、「エリア分割情報」という。
【００６７】
このように、レシートＲ１は、以下のレイアウトで情報が印刷される。すなわち、印刷領域に３つのエリア分割情報が印刷され、これら３つのエリア分割情報により、印刷領域が、上から順番に、エリアＡＡ１、エリアＡＡ２、エリアＡＡ３、及び、エリアＡＡ４の４つのエリアに区分けされる。エリアＡＡ１には、ロゴ情報Ｊ１、店舗住所情報Ｊ２、及び、店舗電話番号情報Ｊ３がこの順番で印刷される。エリアＡＡ２には、レシート識別関連情報Ｊ４、及び、発行日時情報Ｊ５がこの順番で印刷される。エリアＡＡ３には、１又は複数の商品情報Ｊ６が印刷される。また、商品情報Ｊ６は、１行内で、右へ向かって購入数量情報Ｊ６１、商品名情報Ｊ６２、及び単価情報Ｊ６３の順番で印刷される。エリアＡＡ４には、小計関連情報Ｊ７、税関連情報Ｊ８、及び、合計金額関連情報Ｊ９がこの順番で印刷される。
【００６８】
上述したように、レシートＲ１に係る印刷装置１２が発行するレシートのレイアウトは、顧客が購入した商品の内容にかかわらず、レシートＲ１で示すレイアウトと同様である。
【００６９】
図５Ｂで例示するレシートＲ２には、先頭に、ロゴ情報Ｊ１が印刷される。
【００７０】
レシートＲ２において、ロゴ情報Ｊ１の下方には、レシート識別関連情報Ｊ４が印刷される。レシート識別関連情報Ｊ４は、レシート識別明示情報Ｊ４１と、レシート識別情報Ｊ４２とを有する。
図５Ｂに示すように、レシートＲ２に係るレシート識別明示情報Ｊ４１は、文字列「ＣｈｅｃｋＮＯ．」からなる情報であり、レシートＲ１に係るレシート識別明示情報Ｊ４１と文字列の態様が相違する。
レシートＲ２において、レシート識別関連情報Ｊ４は、中央寄せで印字される。また、レシートＲ２において、レシート識別明示情報Ｊ４１と、レシート識別情報Ｊ４２との間には、１つの空白文字が挿入される。
【００７１】
レシートＲ２において、レシート識別関連情報Ｊ４の一行下には、発行日時情報Ｊ５が印刷される。発行日時情報Ｊ５は、中央寄せで印刷される。
【００７２】
レシートＲ２において、発行日時情報Ｊ５の一行下には、第１エリア分割情報ＳＫ１が印刷される。
レシートＲ２は、１つ目の第１エリア分割情報ＳＫ１によって、第１エリア分割情報ＳＫ１より上方と、下方とが区切られ、エリア分けされる。以下、レシートＲ２において、第１エリア分割情報ＳＫ１よりも上方の情報のエリアを「エリアＡＢ１」とする。
【００７３】
レシートＲ２において、第１エリア分割情報ＳＫ１の一行下には、１個又は複数個（図５Ｂの例では「２個」。）の商品情報Ｊ６が、異なる行に、１行ずつ連続して印刷される。
レシートＲ２において、商品情報Ｊ６に含まれる購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３は、１行内で、右へ向かってこの順番で印刷される。
【００７４】
レシートＲ２において、商品情報Ｊ６は、左寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、商品名情報Ｊ６２を表す文字列と、１個又は複数個の空白文字と、購入数量情報Ｊ６１を表す文字列と、１個又は複数個の空白文字と、単価情報Ｊ６３を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。商品名情報Ｊ６２を表す文字列と、購入数量情報Ｊ６１を表す文字列との間に挿入される空白文字の個数は、購入数量情報Ｊ６１の位置が、「行」における所定の位置となるように調整される。また、購入数量情報Ｊ６１を表す文字列と、単価情報Ｊ６３を表す文字列との間に挿入される空白文字の個数は、単価情報Ｊ６３の位置が、「行」の末尾に位置するように調整される。図５ＢのレシートＲ２に印刷される商品情報Ｊ６のうち、最上部に印刷される商品情報Ｊ６については、「商品名情報Ｊ６２を表す文字列と、１個又は複数個の空白文字と、購入数量情報Ｊ６１を表す文字列と、１個又は複数個の空白文字と、単価情報Ｊ６３を表す文字列とが連続する文字列」は、文字列「Ｂｅｅｒ△△・・・△△１△△・・・△△１０．００」である。
【００７５】
レシートＲ２において、最下部に印刷される商品情報Ｊ６の一行下には、小計関連情報Ｊ７が印刷される。図５Ｂに示すように、レシートＲ２に係る小計明示情報Ｊ７１は、９個の小文字のアルファベットの「ｓｕｂ−ｔｏｔａｌ」からなる文字列であり、レシートＲ１に係る小計明示情報Ｊ７１と文字列の態様が相違する。
レシートＲ２において、小計関連情報Ｊ７は、左寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、小計明示情報Ｊ７１を表す文字列と、１個又は複数個の空白文字と、小計情報Ｊ７２を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。小計明示情報Ｊ７１を表す文字列と、小計情報Ｊ７２を表す文字列との間に挿入される空白文字の個数は、小計情報Ｊ７２の位置が、「行」の末尾に位置するように、調整される。図５ＢのレシートＲ２では、「小計明示情報Ｊ７１を表す文字列と、１個又は複数個の空白文字と、小計情報Ｊ７２を表す文字列とが連続する文字列」は、文字列「ｓｕｂ−ｔｏｔａｌ△△・・・△△７０．００」である。
【００７６】
レシートＲ２において、小計関連情報Ｊ７の一行下には、税関連情報Ｊ８が印刷される。図５Ｂに示すように、レシートＲ２に係る税明示情報Ｊ８１は、５個の小文字のアルファベットの「ｓａｌｅｓ」からなる文字列と、１つの空白文字と、３個の小文字のアルファベットの「ｔａｘ」からなる文字列とが連続する文字列「ｓａｌｅｓ△ｔａｘ」であり、レシートＲ１に係る税明示情報Ｊ８１と文字列の態様が相違する。
レシートＲ２において、税関連情報Ｊ８は、左寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、税明示情報Ｊ８１を表す文字列と、１個又は複数個の空白文字と、税額情報Ｊ８２を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。税明示情報Ｊ８１を表す文字列と、税額情報Ｊ８２を表す文字列との間に挿入される空白文字の個数は、税額情報Ｊ８２の位置が、「行」の末尾に位置するように、調整される。図５ＢのレシートＲ２では、「税明示情報Ｊ８１を表す文字列と、１個又は複数個の空白文字と、税額情報Ｊ８２を表す文字列とが連続する文字列」は、文字列「ｓａｌｅｓ△ｔａｘ△△・・・△△６．１３」である。
【００７７】
レシートＲ２において、税関連情報Ｊ８の一行下には、第３エリア分割情報ＳＫ３が印刷される。第３エリア分割情報ＳＫ３は、文字「＝」が一行内で複数連続して構成された文字列である。
レシートＲ２は、１つ目の第１エリア分割情報ＳＫ１と、１つ目の第３エリア分割情報ＳＫ３とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートＲ２において、１つ目の第１エリア分割情報ＳＫ１と、１つ目の第３エリア分割情報ＳＫ３とで囲まれたエリアを「エリアＡＢ２」とする。
【００７８】
レシートＲ２において、第３エリア分割情報ＳＫ３の一行下には、合計金額関連情報Ｊ９が印刷される。図５Ｂに示すように、レシートＲ２に係る合計金額明示情報Ｊ９１は、５個の小文字のアルファベットの「ｔｏｔａｌ」からなる文字列であり、レシートＲ１に係る合計金額明示情報Ｊ９１と文字列の態様が相違する。
レシートＲ２において、合計金額関連情報Ｊ９は、左寄せに係る装飾を指定する文字列装飾コマンドＣＭ２と、以下の文字列印刷指示コマンドＣＭ３とを含む文字列印刷関連コマンド群ＧＭに基づいて印刷される。文字列印刷指示コマンドＣＭ３は、合計金額明示情報Ｊ９１と、１個又は複数個の空白文字と、合計金額情報Ｊ９２を表す文字列とが連続する文字列の印刷を指示する制御コマンドである。合計金額明示情報Ｊ９１を表す文字列と、合計金額情報Ｊ９２を表す文字列との間に挿入される空白文字の個数は、合計金額情報Ｊ９２の位置が、「行」の末尾に位置するように、調整される。図５ＢのレシートＲ２では、「合計金額明示情報Ｊ９１と、１個又は複数個の空白文字と、合計金額情報Ｊ９２を表す文字列とが連続する文字列」は、文字列「ｔｏｔａｌ△△・・・△△７６．１３」である。
【００７９】
レシートＲ２において、合計金額関連情報Ｊ９の一行下には、２つ目の第１エリア分割情報ＳＫ１が印刷される。
レシートＲ２は、１つ目の第３エリア分割情報ＳＫ３と、２つ目の第１エリア分割情報ＳＫ１とによって印刷領域が区切られ、これら情報で囲まれた領域がエリア分けされる。以下、レシートＲ２において、１つ目の第３エリア分割情報ＳＫ３と、２つ目の第１エリア分割情報ＳＫ１とで囲まれたエリアを「エリアＡＢ３」とする。また、２つ目の第１エリア分割情報ＳＫ１より下方のエリアを「エリアＡＢ４」とする。
【００８０】
レシートＲ２において、２つ目の第１エリア分割情報ＳＫ１の一行下には、店舗電話番号情報Ｊ３が印刷される。店舗電話番号情報Ｊ３は、中央寄せで印刷される。
【００８１】
レシートＲ２において、店舗電話番号情報Ｊ３の一行下には、店舗住所情報Ｊ２が印刷される。店舗住所情報Ｊ２は、中央寄せで印刷される。
このように、レシートＲ２は、以下のレイアウトで情報が印刷される。すなわち、印刷領域に３つのエリア分割情報が印刷され、これら３つのエリア分割情報により、印刷領域が、上から順番に、エリアＡＢ１、エリアＡＢ２、エリアＡＢ３、及び、エリアＡＢ４の４つのエリアに区分けされる。エリアＡＢ１には、ロゴ情報Ｊ１、レシート識別関連情報Ｊ４、及び、発行日時情報Ｊ５がこの順番で印刷される。エリアＡＢ２には、１又は複数の商品情報Ｊ６、小計関連情報Ｊ７、及び、税関連情報Ｊ８がこの順番で印刷される。エリアＡＢ３には、合計金額関連情報Ｊ９が印刷される。エリアＡＢ４には、付加情報Ｊ１０、店舗電話番号情報Ｊ３、及び、店舗住所情報Ｊ２がこの順番で印刷される。
【００８２】
上述したように、レシートＲ２に係る印刷装置１２が発行するレシートのレイアウトは、顧客が購入した商品の内容にかかわらず、レシートＲ２で示すレイアウトと同様である。
【００８３】
また、図５Ａと、図５Ｂとの比較で明らかなとおり、レシートＲ１と、レシートＲ２とでは、レイアウトが異なる。
なお、レシートに印刷される情報のそれぞれが、「レシート情報」に相当する。図５ＡのレシートＲ１、及び、図５ＢのレシートＲ２で例示したように、レシートには、レシート情報が、所定のレイアウトに従って印刷される。
【００８４】
図３のフローチャートＦＢに示すように、ステップＳＢ２でレシートを発行した後、印刷装置制御部３０は、印刷データに基づいて、印刷テキストデータ（テキストデータ）を生成する（ステップＳＢ３）。以下、ステップＳＢ３の処理について詳述する。
【００８５】
印刷テキストデータは、印刷データに基づいてロール紙に印刷される情報のうち、文字として印刷される情報が、テキスト（文字コード）として記述されたテキストデータである。
ステップＳＢ３において、印刷装置制御部３０は、印刷データから、文字列の印刷に関する制御コマンドである文字列印刷指示コマンドＣＭ３、及び、改行コマンドＬＦを抽出する。次いで、印刷装置制御部３０は、抽出した制御コマンドに基づいて、レシートに文字として印刷される情報がテキストとして記述された印刷テキストデータを生成する。
印刷装置制御部３０は、印刷テキストデータに、印刷で行われる改行が反映された状態で情報を記述する。また、印刷装置制御部３０は、印刷テキストデータに、文字列装飾コマンドＣＭ２で指定された装飾を反映しない状態で情報を記述する。従って、文字列装飾コマンドＣＭ２によって、文字列に施す装飾として、中央寄せ、右寄せが指示された場合でも、印刷テキストデータへのテキストの記述に際し、これら装飾は反映されない。
【００８６】
図６Ａは、図５Ａで例示したレシートＲ１に係る印刷データに基づいて生成される印刷テキストデータである印刷テキストデータＴ１の内容を示す図である。図６Ａと、図５Ａとの比較で明らかなとおり、印刷テキストデータＴ１には、レシートＲ１に文字として印刷される情報が、印刷における順番、及び、印刷における改行を反映した状態で記述される。
図６Ｂは、図５Ｂで例示したレシートＲ２に係る印刷データに基づいて生成される印刷テキストデータである印刷テキストデータＴ２の内容を示す図である。図６Ｂと、図５Ｂとの比較で明らかなとおり、印刷テキストデータＴ２には、レシートＲ２に文字として印刷される情報が、印刷における順番、及び、印刷における改行を反映した状態で記述される。
なお、ロゴ情報Ｊ１は、グラフィック画像であるため、印刷テキストデータには、記述されない。すなわち、図６Ａ、及び、図６Ｂに示すように、文字コードに対応するフォントデータに基づいて印刷される文字以外の情報は、印刷テキストデータには記述されない。
【００８７】
図３のフローチャートＦＢに示すように、ステップＳＢ３で印刷テキストデータを生成した後、印刷装置制御部３０は、シリアル番号Ｊ１１、店舗識別情報Ｊ１２、ステップＳＢ１で受信した印刷データ、及び、ステップＳＢ３で生成した印刷テキストデータを、制御サーバー１５に送信する（ステップＳＢ４）。
シリアル番号Ｊ１１は、印刷装置１２の製造段階で、印刷装置１２に一意に割り当てられる識別情報であり、印刷装置記憶部３２の所定の記憶領域に記憶される。ステップＳＢ４において、印刷装置制御部３０は、印刷装置記憶部３２の所定の記憶領域に記憶されたシリアル番号Ｊ１１を取得する。
店舗識別情報Ｊ１２は、印刷装置１２が設けられた店舗を識別する識別情報であり、印刷装置記憶部３２の所定の記憶領域に記憶される。ステップＳＢ４において、印刷装置制御部３０は、印刷装置記憶部３２の所定の記憶領域に記憶された店舗識別情報Ｊ１２を取得する。
なお、ステップＳＢ４において、シリアル番号Ｊ１１等を送信するのに必要な通信に関する情報（送信先に関する情報や、通信に用いるプロトコル、送信するデータのフォーマット等）は、印刷装置１２に事前に登録される。
【００８８】
図３のフローチャートＦＣに示すように、制御サーバー１５の制御サーバー制御部４０は、制御サーバーネットワーク通信部４１を制御して、印刷装置１２が送信したシリアル番号Ｊ１１、店舗識別情報Ｊ１２、印刷データ、及び、印刷テキストデータを受信する（ステップＳＣ１）。
【００８９】
次いで、制御サーバー制御部４０は、パーサー管理データベース４２１（後述）を参照し、ステップＳＣ１で受信したシリアル番号Ｊ１１の値と同一の値のシリアル番号Ｊ１１と対応付けられたパーサーセットＰＳＳを取得する（ステップＳＣ２）。
【００９０】
図７は、パーサー管理データベース４２１の１件のレコードが有する情報を模式的に示す図である。
図７に示すように、パーサー管理データベース４２１の１件のレコードは、シリアル番号Ｊ１１と、パーサーセットＰＳＳとを有する。また、パーサーセットＰＳＳは、第１パーサーＰＳ１〜第１５パーサーＰＳ１５の１５個のパーサーＰＳを有する。パーサーＰＳ（第１パーサーＰＳ１〜第１５パーサーＰＳ１５。）については後述する。
【００９１】
次いで、制御サーバー制御部４０は、取得したパーサーセットＰＳＳに基づいてテキストデータ分析処理を実行する（ステップＳＣ３）。
ステップＳＣ３のテキストデータ分析処理は、パーサーセットＰＳＳに基づいて、印刷テキストデータを分析し、予め定められた複数の項目について、項目値を取得し、又は、項目値を取得できないことを検出する処理である。以下、ステップＳＣ３のテキストデータ分析処理において、項目値を取得する対象の項目を「レシート項目」という。
本実施形態では、レシート項目として、以下の１５個の項目がある。なお、以下の説明において、「プロパティー」とは、ＪＳＯＮ形式のデータ（後述する分析データや、応答データ等。）に項目が記述される場合の、対応するプロパティーを表す。なお、レシート項目の詳細については、後述する。
顧客識別情報項目（プロパティー「ｃｏｎｓｕｍｅｒ＿ｉｄ」）。
会計割引情報項目（プロパティー「ｄｉｓｃｏｕｎｔｓ」）。
顧客人数情報項目（プロパティー「ｇｕｅｓｔｓ」）。
払戻有無情報項目（プロパティー「ｉｓ＿ｒｅｆｕｎｄ」）。
取消有無情報項目（プロパティー「ｉｓ＿ｖｏｉｄ」）。
会員情報項目（プロパティー「ｍｅｍｂｅｒｓｈｉｐｓ」）。
支払方法情報項目（プロパティー「ｐａｙｍｅｎｔ＿ｍｅｔｈｏｄｓ」）。
発行日時情報項目（プロパティー「ｐｒｉｎｔｅｄ＿ａｔ」）。
商品情報項目（プロパティー「ｐｒｏｄｕｃｔｓ」）。
レシート識別情報項目（プロパティー「ｒｅｃｅｉｐｔ＿ｉｄ」）。
販売方法情報項目（プロパティー「ｓａｌｅ＿ｔｙｐｅ」）。
スタッフ情報項目（プロパティー「ｓｔａｆｆ」）。
小計情報項目（プロパティー「ｓｕｂｔｏｔａｌ」）。
税情報項目（プロパティー「ｔａｘｅｓ」）。
合計金額情報項目（プロパティー「ｔｏｔａｌ」）。
【００９２】
パーサーセットＰＳＳは、レシート項目のそれぞれに対応するパーサーＰＳを含んで構成される。１のレシート項目に対応するパーサーＰＳとは、印刷テキストデータを分析し、当該１のレシート項目の項目値を取得し、又は、取得できないことを検出する機能を有するプログラムである。本実施形態では、パーサーセットＰＳＳは、顧客識別情報項目の項目値を取得する機能を有する第１パーサーＰ１、会計割引情報項目の項目値を取得する機能を有する第２パーサーＰ２、顧客人数情報項目の項目値を取得する機能を有する第３パーサーＰ３、払戻有無情報項目の項目値を取得する機能を有する第４パーサーＰ４、取消有無情報項目の項目値を取得する機能を有する第５パーサーＰ５、会員情報項目の項目値を取得する機能を有する第６パーサーＰ６、支払方法情報項目の項目値を取得する機能を有する第７パーサーＰ７、発行日時情報項目の項目値を取得する機能を有する第８パーサーＰ８、商品情報項目の項目値を取得する機能を有する第９パーサーＰ９、レシート識別情報項目の項目値を取得する機能を有する第１０パーサーＰ１０、販売方法情報項目の項目値を取得する機能を有する第１１パーサーＰ１１、スタッフ情報項目の項目値を取得する機能を有する第１２パーサーＰ１２、小計情報項目の項目値を取得する機能を有する第１３パーサーＰ１３、税情報項目の項目値を取得する機能を有する第１４パーサーＰ１４、及び、合計金額情報項目の項目値を取得する機能を有する第１５パーサーＰ１５を含んで構成される。
【００９３】
なお、テキストデータ分析処理は、制御サーバー１５にインストールされた制御プログラム、及び、当該制御プログラムに付随するプログラムの機能により実行される。そして、第１パーサーＰ１〜第１５パーサーＰ１５は、当該所定のプログラムにより呼び出し可能なプログラムであり、所定のスクリプト言語によって記述される。
【００９４】
ステップＳＣ３のテキストデータ分析処理において、制御サーバー制御部４０は、パーサーセットＰＳＳに含まれる第１パーサーＰＳ１〜第１５パーサーＰＳ１５のそれぞれに基づいて、上述した１５個のレシート項目のそれぞれについて、項目値を取得し、又は、項目値が取得できないことを検出する。
【００９５】
次いで、制御サーバー制御部４０は、ステップＳＣ３のテキストデータ分析処理の処理結果に基づいて分析データを生成する（ステップＳＣ４）。
分析データは、上述したレシート項目のそれぞれ、及び、以下の項目のそれぞれと、項目値とが対応付けて記述されたＪＳＯＮ形式のデータである。
統括識別情報項目（プロパティー「ｇｕｉｄ」）。
シリアル番号項目（プロパティー「ｓｅｒｉａｌ＿ｎｏ」）。
店舗識別情報項目（プロパティー「ｓｈｏｐ＿ｉｄ」）。
【００９６】
以下、分析データに、プロパティーとして記述される項目（以下、「分析項目」という。）について詳述する。
図８は、分析項目のそれぞれの説明に利用する図である。
図９は、分析データの一例を示す図である。
【００９７】
図８に示すように、統括識別情報項目は、データ型：ｔｅｘｔのプロパティー「ｇｕｉｄ」に対応する項目である。統括識別情報項目の項目値は、分析データを一意に識別する識別情報（以下、「統括識別情報Ｊ１５」という。）である。制御サーバー制御部４０は、分析データの生成に際し、所定のルールに従って、データ型：ｔｅｘｔの統括識別情報Ｊ１５を生成し、統括識別情報項目と対応付けて分析データに記述する。
図９で例示する分析データにおいて、プロパティー「ｇｕｉｄ」は、領域Ａ１に記述される。
【００９８】
図８に示すように、シリアル番号項目は、データ型：ｔｅｘｔのプロパティー「ｓｅｉｒｉａｌ＿ｎｏ」に対応する項目である。シリアル番号項目の項目値は、シリアル番号Ｊ１１である。制御サーバー制御部４０は、分析データの生成に際し、ステップＳＣ１で受信したシリアル番号Ｊ１１を、必要に応じてデータ型をデータ型：ｔｅｘｔに変換し、シリアル番号項目と対応付けて分析データに記述する。
図９で例示する分析データにおいて、プロパティー「ｓｅｉｒｉａｌ＿ｎｏ」は、領域Ａ２に記述される。
【００９９】
図８に示すように、店舗識別情報項目は、データ型：ｉｎｔｅｇｅｒのプロパティー「ｓｈｏｐ＿ｉｄ」に対応する項目である。店舗識別情報項目の項目値は、店舗識別情報Ｊ１２である。制御サーバー制御部４０は、分析データの生成に際し、ステップＳＣ１で受信した店舗識別情報Ｊ１２を、必要に応じてデータ型をデータ型：ｉｎｔｅｇｅｒに変換し、店舗識別情報項目と対応付けて分析データに記述する。
図９で例示する分析データにおいて、プロパティー「ｓｈｏｐ＿ｉｄ」は、領域Ａ３に記述される。
【０１００】
図８に示すように、顧客識別情報項目は、データ型：ｔｅｘｔのプロパティー「ｃｏｎｓｕｍｅｒ＿ｉｄ」に対応する項目である。顧客識別情報項目の項目値は、会計を行った顧客を識別する識別情報（以下、「顧客識別情報Ｊ１６」という。）である。
会計において、顧客識別情報Ｊ１６が記録された顧客カードが読み取られ、レシートに顧客識別情報Ｊ１６が印刷される場合がある。この場合、レシート情報に顧客識別情報Ｊ１６が含まれ、印刷テキストデータに顧客識別情報Ｊ１６を示す文字列が記述される。
ステップＳＣ３のテキストデータ分析処理において、制御サーバー制御部４０は、第１パーサーＰＳ１の機能により、印刷テキストデータを分析し、顧客識別情報Ｊ１６を取得し、又は、取得できないことを検出する。制御サーバー制御部４０は、分析データの生成に際し、テキストデータ分析処理で顧客識別情報Ｊ１６を取得した場合、取得した顧客識別情報Ｊ１６を、顧客識別情報項目と対応付けて分析データに記述する。制御サーバー制御部４０は、分析データの生成に際し、テキストデータ分析処理で顧客識別情報Ｊ１６を取得できないことを検出した場合、顧客識別情報項目と対応付けてｎｕｌｌ値を分析データに記述する。
図９で例示する分析データにおいて、プロパティー「ｃｏｎｓｕｍｅｒ＿ｉｄ」は、領域Ａ４に記述される。
【０１０１】
図８に示すように、会計割引情報項目は、データ型：ａｒｒａｙのプロパティー「ｄｉｓｃｏｕｎｔｓ」に対応する項目である。会計割引情報項目には、会計割引名称情報項目と、会計割引額情報項目とが属する。
会計割引名称情報項目は、データ型：ｔｅｘｔのプロパティー「ｄｉｓｃｏｕｎｔｓ[]．ｎａｍｅ」に対応する項目である。会計割引名称情報項目の項目値は、会計に適用された割引の名称を示す情報（以下、「会計割引名称情報Ｊ１７」という。）である。
会計割引額情報項目は、データ型：ｆｌｏａｔのプロパティー「ｄｉｓｃｏｕｎｔｓ[]．ｖａｌｕｅ」に対応する項目である。会計割引額情報項目の項目値は、会計に適用された割引の金額を示す情報（以下、「会計割引額情報Ｊ１８」）である。
会計では、所定の割引が適用される場合がある。この場合において、レシートに、会計に適用された所定の割引に対応する会計割引名称情報Ｊ１７、及び、会計割引額情報Ｊ１８がレシートに印刷される場合がある。この場合、レシート情報に会計割引名称情報Ｊ１７、及び、会計割引額情報Ｊ１８が含まれ、印刷テキストデータに、会計割引名称情報Ｊ１７を示す文字列、及び、会計割引額情報Ｊ１８を示す文字列が記述される。
【０１０２】
ステップＳＣ３のテキストデータ分析処理において、制御サーバー制御部４０は、第２パーサーＰＳ２の機能により、印刷テキストデータを分析し、会計割引名称情報Ｊ１７、及び、会計割引額情報Ｊ１８を取得し、又は、取得できないことを検出する。
制御サーバー制御部４０は、分析データの生成に際し、テキストデータ分析処理で会計割引名称情報Ｊ１７を取得した場合、取得した会計割引名称情報Ｊ１７を、会計割引名称情報項目と対応付けて分析データに記述する。制御サーバー制御部４０は、分析データの生成に際し、テキストデータ分析処理で会計割引名称情報Ｊ１７を取得できないことを検出した場合、会計割引名称情報項目と対応付けてｎｕｌｌ値を分析データに記述する。
また、制御サーバー制御部４０は、分析データの生成に際し、テキストデータ分析処理で会計割引額情報Ｊ１８を取得した場合、取得した会計割引額情報Ｊ１８のデータ型をデータ型：ｆｌｏａｔに変換することを試みる。会計割引額情報Ｊ１８が、数字を表す文字や、所定の記号（小数点を表す記号等。）が所定の態様で組み合わされた情報ではない場合、データ型をデータ型：ｆｌｏａｔに変換することができない。制御サーバー制御部４０は、データ型を変換することができた場合、データ型を変換した後の会計割引額情報Ｊ１８を会計割引額情報項目と対応付けて分析データに記述する。制御サーバー制御部４０は、データ型を変換することができなかった場合、会計割引額情報項目と対応付けてｎｕｌｌ値を分析データに記述する。
また、制御サーバー制御部４０は、分析データの生成に際し、テキストデータ分析処理で会計割引額情報Ｊ１８を取得できないことを検出した場合、会計割引名称情報項目と対応付けてｎｕｌｌ値を分析データに記述する。
図９で例示する分析データにおいて、プロパティー「ｄｉｓｃｏｕｎｔｓ」は、領域Ａ５に記述される。
【０１０３】
図８に示すように、顧客人数情報項目は、データ型：ｉｎｔｅｇｅｒのプロパティー「ｇｕｅｓｔｓ」に対応する項目である。顧客人数情報項目の項目値は、会計を行った顧客の人数を示す情報（以下、「顧客人数情報Ｊ１９」という。）である。
顧客人数情報項目についての詳細な説明は省略する。
図９で例示する分析データにおいて、プロパティー「ｇｕｅｓｔｓ」は、領域Ａ６に記述される。
【０１０４】
図８に示すように、払戻有無情報項目は、データ型：ｂｏｏｌｅａｎのプロパティー「ｉｓ＿ｒｅｆｕｎｄ」に対応する項目である。払戻有無情報項目は、項目値として、会計において払い戻しがあったことを示すｔｒｕｅ値と、会計において払い戻しがなかったことを示すｆａｌｓｅ値とのいずれかをとる。
払戻有無情報項目に関し、制御サーバー制御部４０は、後述する取消有無情報項目に関する処理と同様の処理を実行する。払戻有無情報項目についての詳細な説明は省略する。
図９で例示する分析データにおいて、プロパティー「ｉｓ＿ｒｅｆｕｎｄ」は、領域Ａ７に記述される。
【０１０５】
図８に示すように、取消有無情報項目は、データ型：ｂｏｏｌｅａｎのプロパティー「ｉｓ＿ｖｏｉｄ」に対応する項目である。取消有無情報項目は、項目値として、会計が取り消されたことを示すｔｒｕｅ値と、会計が取り消されていないことを示すｆａｌｓｅ値とのいずれかをとる。
会計は、取り消される場合がある。この場合において、レシートに、会計が取り消されたことを示す情報が印刷される場合がある。この場合、印刷テキストデータに、会計が取り消されたことを示す情報を表す文字列が記述される。
ステップＳＣ３のテキストデータ分析処理において、制御サーバー制御部４０は、第５パーサーＰＳ５の機能により、印刷テキストデータを分析し、印刷テキストデータに、会計が取り消されたことを示す情報を表す文字列が記述されているか否かを判別する。当該文字列が記述されている場合、制御サーバー制御部４０は、取消有無情報項目の項目値として、ｔｒｕｅ値を取得する。当該文字列が記述されていない場合、制御サーバー制御部４０は、取消有無情報項目の項目値として、ｆａｌｓｅ値を取得する。
制御サーバー制御部４０は、分析データの生成に際し、取消有無情報項目と対応付けてｔｒｕｅ値、又は、ｆａｌｓｅ値を分析データに記述する。
図９で例示する分析データにおいて、プロパティー「ｉｓ＿ｖｏｉｄ」は、領域Ａ８に記述される。
【０１０６】
図８に示すように、会員情報項目は、データ型：ａｒｒａｙのプロパティー「ｍｅｍｂｅｒｓｈｉｐｓ」に対応する項目である。会員情報項目には、会員所属情報項目と、会員識別情報項目とが属する。
会員所属情報項目は、データ型：ｔｅｘｔのプロパティー「ｍｅｍｂｅｒｓｈｉｐｓ[]．ｎａｍｅ」に対応する項目である。会員所属情報項目の項目値は、顧客が所属するサービスプログラムの名称を示す情報（以下、「会員所属情報Ｊ２０」という。）である。
会員識別情報項目は、データ型：ｔｅｘｔのプロパティー「ｍｅｍｂｅｒｓｈｉｐｓ[]．ａｃｃｏｕｎｔ．ｎｏ」に対応する項目である。会員識別情報項目の項目値は、顧客が所属するサービスプログラムにおいて顧客を識別する識別情報（以下、「会員識別情報Ｊ２１」という。）である。
会員情報項目についての詳細な説明は省略する。
図９で例示する分析データにおいて、プロパティー「ｍｅｍｂｅｒｓｈｉｐｓ」は、領域Ａ９に記述される。
【０１０７】
図８に示すように、支払方法情報項目は、データ型：ａｒｒａｙのプロパティー「ｐａｙｍｅｎｔ＿ｍｅｔｈｏｄｓ」に対応する項目である。支払方法情報項目には、支払方法名称情報項目と、支払額情報項目とが属する。
支払方法名称情報項目は、データ型：ｔｅｘｔのプロパティー「ｐａｙｍｅｎｔ＿ｍｅｔｈｏｄｓ[]．ｎａｍｅ」に対応する項目である。支払方法名称情報項目の項目値は、支払い方法の名称を示す情報（以下、「支払方法名称情報Ｊ２２」という。）である。
支払額情報項目は、データ型：ｆｌｏａｔのプロパティー「ｐａｙｍｅｎｔ＿ｍｅｔｈｏｄｓ[]．ｖａｌｕｅ」に対応する項目である。支払額情報項目の項目値は、支払方法名称情報Ｊ２２に係る支払い方法で顧客が支払った金銭の額を示す情報（以下、「支払額情報Ｊ２３」という。）である。
支払方法情報項目についての詳細な説明は省略する。
図９で例示する分析データにおいて、プロパティー「ｐａｙｍｅｎｔ＿ｍｅｔｈｏｄｓ」は、領域Ａ１０に記述される。
【０１０８】
図８に示すように、発行日時情報項目は、データ型：ｄａｔｅｔｉｍｅ（フォーマットは、「ＹＹＹＹ−ＭＭ−ＤＤ」。）のプロパティー「ｐｒｉｎｔｅｄ＿ａｔ」に対応する項目である。発行日時情報項目の項目値は、発行日時情報Ｊ５である。
ステップＳＣ３のテキストデータ分析処理において、制御サーバー制御部４０は、第８パーサーＰＳ８の機能により、印刷テキストデータを分析し、発行日時情報Ｊ５を取得し、又は、取得できないことを検出する。制御サーバー制御部４０は、分析データの生成に際し、テキストデータ分析処理で発行日時情報Ｊ５を取得した場合において、データ型の変換が成功した場合、データ型を変換した後の発行日時情報Ｊ５を、発行日時情報項目と対応付けて分析データに記述する。制御サーバー制御部４０は、分析データの生成に際し、テキストデータ分析処理で発行日時情報Ｊ５を取得した場合において、データ型の変換が失敗した場合、発行日時情報項目と対応付けてｎｕｌｌ値を分析データに記述する。制御サーバー制御部４０は、分析データの生成に際し、テキストデータ分析処理で発行日時情報Ｊ５を取得できないことを検出した場合、発行日時情報項目と対応付けてｎｕｌｌ値を分析データに記述する。
図９で例示する分析データにおいて、プロパティー「ｐｒｉｎｔｅｄ＿ａｔ」は、領域Ａ１１に記述される。
【０１０９】
図８に示すように、商品情報項目は、データ型：ａｒｒａｙのプロパティー「ｐｕｒｏｄｕｃｔｓ」に対応する項目である。商品情報項目には、商品名情報項目と、購入数量情報項目と、単価情報項目とが属する。
商品名情報項目は、データ型：ｔｅｘｔのプロパティー「ｐｕｒｏｄｕｃｔｓ[]．ｎａｍｅ」に対応する項目である。商品名情報項目の項目値は、商品名情報Ｊ６２である。
購入数量情報項目は、データ型：ｔｅｘｔのプロパティー「ｐｕｒｏｄｕｃｔｓ[]．ｑｕａｎｔｉｔｙ」に対応する項目である。購入数量情報項目の項目値は、購入数量情報Ｊ６１である。
単価情報項目は、データ型：ｔｅｘｔのプロパティー「ｐｕｒｏｄｕｃｔｓ[]．ｐｒｉｃｅ」に対応する項目である。単価情報項目の項目値は、単価情報Ｊ６３である。
【０１１０】
商品名情報Ｊ６２、購入数量情報Ｊ６１、及び、単価情報Ｊ６３について、ステップＳＣ３のテキストデータ分析処理で、制御サーバー制御部４０は、第９パーサーＰＳ９の機能により、印刷テキストデータを分析し、各情報を取得し、又は、取得できないことを検出する。商品名情報Ｊ６２、購入数量情報Ｊ６１、及び、単価情報Ｊ６３について、制御サーバー制御部４０は、分析データの生成に際し、取得できた情報については対応する項目と対応付けて分析データに記述し、取得できなかった情報については対応する項目とｎｕｌｌ値と対応付けて分析データに記述する。
図９で例示する分析データにおいて、プロパティー「ｐｒｏｄｕｃｔｓ」は、領域Ａ１２に記述される。
【０１１１】
図８に示すように、レシート識別情報項目は、データ型：ｔｅｘｔのプロパティー「ｒｅｃｅｉｐｔ＿ｉｄ」に対応する項目である。レシート識別情報項目の項目値は、レシート識別情報Ｊ４２である。
レシート識別情報項目に関する処理について、制御サーバー制御部４０は、顧客識別情報項目に関する処理と同様の処理を実行する。レシート識別情報項目についての詳細な説明は省略する。
図９で例示する分析データにおいて、プロパティー「ｒｅｃｅｉｐｔ＿ｉｄ」は、領域Ａ１３に記述される。
【０１１２】
図８に示すように、販売方法情報項目は、データ型：ｔｅｘｔのプロパティー「ｓａｌｅ＿ｔｙｐｅ」に対応する項目である。販売方法情報項目の項目値は、商品の販売がどのような方法で行われたかを示す情報（以下、「販売方法情報Ｊ２４」という。）である。販売方法情報項目の詳細な説明は省略する。
図９で例示する分析データにおいて、プロパティー「ｓａｌｅ＿ｔｙｐｅ」は、領域Ａ１４に記述される。
【０１１３】
図８に示すように、スタッフ情報項目は、データ型：ｔｅｘｔのプロパティー「ｓｔａｆｆ」に対応する項目である。スタッフ情報項目の項目値は、店舗におけるスタッフの名前を示す情報、又は、スタップを識別する識別情報（以下、「スタッフ情報Ｊ２５」という。）である。スタッフとは、会計を担当した者や、店舗において顧客に対するサービスの提供を担当した者である。スタッフ情報項目についての詳細な説明は省略する。
図９で例示する分析データにおいて、プロパティー「ｓｔａｆｆ」は、領域Ａ１５に記述される。
【０１１４】
図８に示すように、小計情報項目は、データ型：ｆｌｏａｔのプロパティー「ｓｕｂｔｏｔａｌ」に対応する項目である。小計情報項目の項目値は、小計情報Ｊ７２である。
小計情報項目に関し、制御サーバー制御部４０は、後述する合計金額情報項目に関する処理と同様の処理を実行する。小計情報項目についての詳細な説明は省略する。
図９で例示する分析データにおいて、プロパティー「ｓｕｂｔｏｔａｌ」は、領域Ａ１６に記述される。
【０１１５】
図８に示すように、税情報項目は、データ型：ａｒｒａｙのプロパティー「ｔａｘｅｓ」に対応する項目である。税情報項目には、税名称情報項目と、税額情報項目とが属する。
税名称情報項目は、データ型：ｔｅｘｔのプロパティー「ｔａｘｅｓ[]．ｎａｍｅ」に対応する項目である。税名称情報項目の項目値は、税の名称を示す情報（以下、「税名称情報Ｊ２６」という。）である。レシートには、税名称情報Ｊ２６が印刷される場合がある。この場合、レシート情報に税名称情報Ｊ２６が含まれ、印刷テキストデータに税名称情報Ｊ２６を示す文字列が記述される。
税額情報項目は、データ型：ｆｌｏａｔのプロパティー「ｔａｘｅｓ．ｖａｌｕｅ」に対応する項目である。税額情報項目の項目値は、税額情報Ｊ８２である。
税情報項目に関する処理について、制御サーバー制御部４０は、上述した会計割引情報項目に関する処理と同様の処理を実行する。税額情報項目の詳細な説明は省略する。
図９で例示する分析データにおいて、プロパティー「ｔａｘｅｓ」は、領域Ａ１７に記述される。
【０１１６】
図８に示すように、合計金額情報項目は、データ型：ｆｌｏａｔのプロパティー「ｔｏｔａｌ」に対応する項目である。合計金額情報項目の項目値は、合計金額情報Ｊ９２である。
ステップＳＣ３のテキストデータ分析処理において、制御サーバー制御部４０は、第１５パーサーＰＳ１５の機能により、印刷テキストデータを分析し、合計金額情報Ｊ９２を取得し、又は、取得できないことを検出する。
制御サーバー制御部４０は、分析データの生成に際し、テキストデータ分析処理で合計金額情報Ｊ９２を取得した場合において、データ型の変換が成功した場合、データ型を変換した後の合計金額情報Ｊ９２を、合計金額情報項目と対応付けて分析データに記述する。制御サーバー制御部４０は、分析データの生成に際し、テキストデータ分析処理で合計金額情報Ｊ９２を取得した場合において、データ型の変換が失敗した場合、合計金額情報項目と対応付けてｎｕｌｌ値を分析データに記述する。制御サーバー制御部４０は、分析データの生成に際し、テキストデータ分析処理で合計金額情報Ｊ９２を取得できないことを検出した場合、合計金額情報項目と対応付けてｎｕｌｌ値を分析データに記述する。
図９で例示する分析データにおいて、プロパティー「ｔｏｔａｌ」は、領域Ａ１８に記述される。
【０１１７】
図３のフローチャートＦＣに示すように、ステップＳＣ４で分析データを生成した後、制御サーバー制御部４０は、分析データ管理データベース４２２に１件のレコードを登録する（ステップＳＣ５）。
図１０は、分析データ管理データベース４２２の１件のレコードが有する情報を模式的に示す図である。
図１０に示すように、分析データ管理データベース４２２の１件のレコードは、統括識別情報Ｊ１５、シリアル番号Ｊ１１、店舗識別情報Ｊ１２、発行日時情報Ｊ５、印刷データ、印刷テキストデータ、分析データを有する。
ステップＳＣ５において、制御サーバー制御部４０は、分析データに、対応する項目と対応付けて記述した統括識別情報Ｊ１５、シリアル番号Ｊ１１、店舗識別情報Ｊ１２、及び発行日時情報Ｊ５と、受信した印刷データ、及び印刷テキストデータと、生成した分析データとを有するレコードを、分析データ管理データベース４２２に登録する。
【０１１８】
ここで、制御サーバー１５には、複数のＷｅｂＡＰＩ（Application Programming Interface）が登録される。そして、制御サーバー１５は、外部の装置のブラウザーからの要求に応じて、分析データ管理データベース４２２に基づいて、登録されたＷｅｂＡＰＩにより処理を行って、ユーザーが必要とする情報を提供することができる。
例えば、制御サーバー１５の制御サーバー制御部４０は、外部の装置のブラウザーからの要求に応じて、分析データ管理データベース４２２の分析データを用いて、特定のレシートに係る合計金額情報Ｊ９２を提供する。
【０１１９】
以上のように、制御サーバー１５の制御サーバー制御部４０は、パーサーＰＳの機能により、印刷テキストデータを分析し、対応する項目の項目値を取得し、又は、対応する項目の項目値が取得できないことを検出する。上述したように、レシートのレイアウトは、印刷装置１２が異なると、異なる可能性がある。従って、１の印刷装置１２が送信した印刷テキストデータを分析するパーサーＰＳは、当該１の印刷装置１２のレイアウトを反映した処理を行って、対応する項目の項目値を取得することが求められる。
以上を踏まえ、本実施形態に係る制御サーバー１５は、以下の処理を実行することにより、印刷装置１２のレイアウトを反映して的確に項目値を取得する機能を有するパーサーＰＳを、ユーザーが簡易な操作を行って生成できるようにする。
【０１２０】
以下、１の印刷装置１２のパーサーＰＳのうち、以下のパーサーＰＳをユーザーの操作に基づいて生成する場合を例にして、制御サーバー１５の処理について、説明する。
第１５パーサーＰＳ１５（合計金額情報項目（プロパティー「ｔｏｔａｌ」）の項目値を取得するパーサーＰＳ。）。
第５パーサーＰＳ５（取消有無情報項目（プロパティー「ｉｓ＿ｖｏｉｄ」）の項目値を取得するパーサーＰＳ。）。
第９パーサーＰＳ９（商品情報項目（プロパティー「ｐｒｏｄｕｃｔｓ」）の項目値を取得するパーサーＰＳ。）。
【０１２１】
なお、以下の説明では、制御サーバー１５は、制御サーバー１５が備える入力手段に対する操作に応じて、制御サーバー１５が備える表示パネルにユーザーインターフェースを表示する。しかしながら、ユーザーが、制御サーバー１５と通信可能な外部の装置に対して所定の操作を行い、制御サーバー１５が、当該外部の装置からの要求に応じて、当該外部の装置にユーザーインターフェースを表示する構成でもよい。
【０１２２】
まず、パーサーＰＳを生成する場合、ユーザーは、制御サーバー１５の入力手段を操作して、第１ユーザーインターフェースＵＩ１の表示を指示する。制御サーバー制御部４０は、ユーザーの指示に応じて、制御サーバー表示部４３を制御して、表示パネルに第１ユーザーインターフェースＵＩ１を表示する。
【０１２３】
図１１Ａは、第１ユーザーインターフェースＵＩ１を示す図である。
図１１Ａに示すように、第１ユーザーインターフェースＵＩ１は、店舗識別情報Ｊ１２を入力する入力欄Ｎ１ａを有する。ユーザーは、パーサーＰＳを生成する対象とする印刷装置１２が設けられた店舗の店舗識別情報Ｊ１２を入力欄Ｎ１ａに入力し、入力を確定する。
入力の確定に応じて、制御サーバー制御部４０は、制御サーバー表示部４３を制御して、表示パネルに第２ユーザーインターフェースＵＩ２を表示する。
【０１２４】
図１１Ｂは、第２ユーザーインターフェースＵＩ２を示す図である。
図１１Ｂに示すように、第２ユーザーインターフェースＵＩ２には、ユーザーが入力した店舗識別情報Ｊ１２が表示される。
また、第２ユーザーインターフェースＵＩ２には、ユーザーが入力した店舗識別情報Ｊ１２の店舗に設けられた印刷装置１２のうち、必須項目（後述）の項目値の取得が完了していないものが１つでもある印刷装置１２について、シリアル番号Ｊ１１が一覧表示される。１の必須項目の項目値の取得が完了していないとは、当該１の必須項目に対応するパーサーＰＳの機能によって、当該１の必須項目の項目値が取得できないことを意味する。また、第２ユーザーインターフェースＵＩ２には、シリアル番号Ｊ１１のそれぞれと対応付けて、ラジオボタンが表示される。ユーザーは、ラジオボタンにより、いずれか１つのシリアル番号Ｊ１１を選択することができる。また、第２ユーザーインターフェースＵＩ２には、シリアル番号Ｊ１１のそれぞれと対応付けて、表示ボタンＢ２ａが設けられる。表示ボタンＢ２ａは、対応するシリアル番号Ｊ１１の印刷装置１２から受信した印刷テキストデータに記述されたテキストの表示を指示するボタンである。また、第２ユーザーインターフェースＵＩ２には、ラジオボタンによるシリアル番号Ｊ１１の選択を確定する確定ボタンＢ２ｂが設けられる。
【０１２５】
ここで、必須項目とは、レシート項目のうち、パーサーＰＳの機能により取得することが求められる項目のことである。すなわち、必須項目とは、印刷テキストデータに基づいて生成される分析データにおいて、ｎｕｌｌ値ではない項目値が対応付けて記述されることが求められる項目である。本実施形態では、発行日時情報項目（プロパティー「ｐｒｉｎｔｅｄ＿ａｔ」。）、商品情報項目（プロパティー「ｐｒｏｄｕｃｔｓ」。）、レシート識別情報項目（プロパティー「ｒｅｃｅｉｐｔ＿ｉｄ」。）、税情報項目（プロパティー「ｔａｘｅｓ」。）、及び、合計金額情報項目（プロパティー「ｔｏａｌ」。）が、必須項目である。
必須項目は、レシート情報のうち、レシートの発行に際して行われた会計を分析するときに重要か否かという観点から選択される。
【０１２６】
第２ユーザーインターフェースＵＩ２の表示に際し、制御サーバー制御部４０は、印刷装置管理データベース４２３を参照する。印刷装置管理データベース４２３は、印刷装置１２ごとに、レコードを有する。
図１２は、印刷装置管理データベース４２３の１件のレコードが有する情報を模式的に示す図である。
図１２に示すように、印刷装置管理データベース４２３の１件のレコードは、シリアル番号Ｊ１１と、店舗識別情報Ｊ１２と、取得完了管理フラグＪ２７（後述）とを有する。
印刷装置管理データベース４２３において、１の印刷装置１２に対応するレコードは、当該１の印刷装置１２のシリアル番号Ｊ１１と、当該１の印刷装置１２が設けられた店舗の店舗識別情報Ｊ１２と、当該１の印刷装置１２に対応する取得完了管理フラグＪ２７とを有する。当該１の印刷装置１２に対応する取得完了管理フラグＪ２７は、当該１の印刷装置１２に対応するパーサーＰＳの機能により、当該１の印刷装置１２が送信する印刷テキストデータに基づいて全ての必須項目が取得可能な状態の場合、そのことを示す値を有し、１つでも取得できない必須項目がある場合、そのことを示す値を有する。
制御サーバー制御部４０は、全ての必須項目が取得可能な状態か否かに応じて、所定の手段により、適宜、取得完了管理フラグＪ２７の値を書き換える。取得完了管理フラグＪ２７の値をユーザーが書き換える構成でもよい。
【０１２７】
第２ユーザーインターフェースＵＩ２の表示に際し、制御サーバー制御部４０は、印刷装置管理データベース４２３を参照し、ユーザーが入力した店舗識別情報Ｊ１２の店舗に設けられた印刷装置１２のうち、必須項目（後述）の項目値の取得が完了していないものが１つでもある印刷装置１２のシリアル番号Ｊ１１を取得し、一覧表示する。
また、第２ユーザーインターフェースＵＩ２のボタンＢ２ａが操作されたことを検出した場合、制御サーバー制御部４０は、制御サーバー表示部４３を制御して、表示パネルに第３ユーザーインターフェースＵＩ３を表示する。
【０１２８】
図１１Ｃは、第３ユーザーインターフェースＵＩ３を示す図である。
図１１Ｃに示すように、第３ユーザーインターフェースＵＩ３は、印刷テキストデータに基づくテキストが表示される。
第３ユーザーインターフェースＵＩ３の表示に際し、制御サーバー制御部４０は、分析データ管理データベース４２２を参照し、操作されたボタンＢ２ａに対応するシリアル番号Ｊ１１の印刷装置１２から受信した印刷テキストデータのうち、１つの印刷テキストデータを取得する。例えば、制御サーバー制御部４０は、直近で、印刷装置１２から受信した印刷テキストデータを取得する。次いで、制御サーバー制御部４０は、取得した印刷テキストデータに記述されたテキストが表示された第３ユーザーインターフェースＵＩ３を表示する。なお、制御サーバー制御部４０が、所定の手段で、印刷装置１２から受信した印刷テキストデータのうち、１つの印刷テキストデータをユーザーに選択させ、ユーザーに選択された印刷テキストデータを取得する構成でもよい。
ユーザーは、第３ユーザーインターフェースＵＩ３を参照することにより、印刷テキストデータに記述された情報の内容、及び、対応するレシートのレイアウトを把握することができる。
ユーザーは、第３ユーザーインターフェースＵＩ３に対して所定の操作を行うことにより、ユーザーインターフェースを第３ユーザーインターフェースＵＩ３から第２ユーザーインターフェースＵＩ２へ移行できる。
【０１２９】
第２ユーザーインターフェースＵＩ２の確定ボタンＢ２ｂが操作されたことを検出すると、制御サーバー制御部４０は、制御サーバー表示部４３を制御して、表示パネルに第４ユーザーインターフェースＵＩ４を表示する。
【０１３０】
図１３は、第４ユーザーインターフェースＵＩ４を示す図である。
図１３に示すように、第４ユーザーインターフェースＵＩ４は、その領域が、第１領域Ａ４１、第２領域Ａ４２、及び第３領域Ａ４３の３つに分かれる。
以下、第１領域Ａ４１、第３領域Ａ４３、第２領域Ａ４２の順番で、各領域に表示される画面、及び、画面を表示する際の制御サーバー制御部４０の処理について説明する。
【０１３１】
＜第１領域Ａ４１＞
第１領域Ａ４１について説明する。
第４ユーザーインターフェースＵＩ４の第１領域Ａ４１には、項目選択画面Ｇ４１が表示される。
図１３に示すように、項目選択画面Ｇ４１は、上述した１５個のレシート項目のそれぞれのプロパティー名が、選択可能に一覧表示される。
項目選択画面Ｇ４１において、項目選択画面Ｇ４１にプロパティー名が表示されたレシート項目のうち、必須項目については、レシート項目が必須項目であることを示すマークＭ４ａ（第１の付加情報）が、プロパティー名と対応付けて表示される。具体的には、「ｐｒｉｎｔｅｄ＿ａｔ」、「ｐｒｏｄｕｃｔｓ」、「ｒｅｃｅｉｐｔ＿ｉｄ」、「ｔａｘｅｓ」、及び、「ｔｏａｌ」のプロパティー名と対応付けて、米印からなるマークＭ４ａが表示される。
また、項目選択画面Ｇ４１において、項目選択画面Ｇ４１にプロパティー名が表示されたレシート項目のうち、項目値の取得が完了していない項目については、項目値の取得が完了していないことを示すマークＭ４ｂ（第２の付加情報）が、プロパティー名と対応付けて表示される。図１３の例では、「ｃｏｎｓｕｍｅｒ＿ｉｄ」、「ｄｉｓｃｏｕｎｔｓ」、「ｍｅｍｂｅｒｓｈｉｐｓ」、「ｐａｙｍｅｎｔ＿ｍｅｔｈｏｄｓ」、「ｐｒｏｄｕｃｔｓ」、「ｓａｌｅ＿ｔｙｐｅ」、及び、「ｓｕｂｔｏｔａｌ」のプロパティー名と対応付けて、×印が丸で囲まれたマークＭ４ｂが表示される。項目値の取得が完了していない項目とは、対応するパーサーＰＳの機能により分析データを生成した場合に、生成した分析データにおいて、項目と対応付けてｎｕｌｌ値が記述される項目である。なお、上述したように、分析データの生成に際し、データ型の変換に失敗した項目については、項目と対応付けてｎｕｌｌ値が記述される。このような項目についても、「項目値の取得ができなかった項目」に該当する。
なお、ユーザーは、項目選択画面Ｇ４１に表示された項目のうち、１の項目にカーソルを重ねて、所定の操作（例えば、マウスに対するダブルクリック。）を行うことにより、当該１の項目を選択することができる。ユーザーが選択した項目については、プロパティー名が矩形の枠で囲まれ、ユーザーが選択したことが明示される。なお、ユーザーは、マウス、キーボード、その他の入力デバイスを利用して、第４ユーザーインターフェースＵＩ４、その他のユーザーインターフェース上で、カーソルを動かすことができる。
【０１３２】
ユーザーは、項目選択画面Ｇ４１を参照することにより、必須項目を簡易かつ直感的に認識することができると共に、項目値の取得ができなかった項目を簡易かつ直感的に認識することができる。
【０１３３】
項目選択画面Ｇ４１の表示に際し、制御サーバー制御部４０は、分析データ管理データベース４２２を参照し、第２ユーザーインターフェースＵＩ２でユーザーが選択したシリアル番号Ｊ１１の印刷装置１２から受信した印刷テキストデータを取得する。その際、制御サーバー制御部４０は、第２ユーザーインターフェースＵＩ２の表示ボタンＢ２ａが操作された場合に、第３ユーザーインターフェースＵＩ３にテキストを表示する対象とする印刷テキストデータを取得する。
以下、第２ユーザーインターフェースＵＩ２でユーザーが選択したシリアル番号Ｊ１１の印刷装置１２を、「選択印刷装置」という。また、取得した印刷テキストデータを、「処理対象テキストデータ」という。
【０１３４】
次いで、制御サーバー制御部４０は、パーサー管理データベース４２１を参照し、選択印刷装置のパーサーセットＰＳＳを取得する。次いで、制御サーバー制御部４０は、取得したパーサーセットＰＳＳの機能により、処理対象テキストデータを分析し、レシート項目のそれぞれについて、項目値が取得できること、又は、項目値が取得できないことを判別する。なお、１の項目の項目値が取得できるとは、処理対象テキストデータの分析に基づいて生成される分析データにおいて、当該１の項目と対応付けてｎｕｌｌ値以外の値の項目値が記述されることを意味する。また、１の項目の項目値が取得できないとは、処理対象テキストデータの分析に基づいて生成される分析データにおいて、当該１の項目と対応付けてｎｕｌｌ値が記述されることを意味する。
次いで、制御サーバー制御部４０は、判別結果に基づいて、適切な位置にマークＭ４ｂが表示された項目選択画面Ｇ４１を、第１領域Ａ４１に表示する。
【０１３５】
＜第３領域Ａ４３＞
次いで、第３領域Ａ４３について説明する。
第４ユーザーインターフェースＵＩ４の第３領域Ａ４３には、テキスト表示画面Ｇ４３が表示される。テキスト表示画面Ｇ４３は、処理対象テキストデータに記述されたテキストが表示される画面である。
上述したように、処理対象テキストデータ（印刷テキストデータ）は、レシートに文字として印刷される情報が、印刷における順番、及び、印刷における改行を反映した状態で記述されたテキストデータである。従って、テキスト表示画面Ｇ４３に表示されるテキストには、情報が、レシートのレイアウトに従って配置される。ユーザーは、テキスト表示画面Ｇ４３を参照することにより、処理対象テキストデータに記述された情報の内容、及び、対応するレシートのレイアウトを簡易かつ直感的に把握することができる。
【０１３６】
また、テキスト表示画面Ｇ４３において、処理対象テキストデータに基づくテキストは、「単語」（後述）が、キーワード（後述）として選択可能な状態で表示される。
以下、「単語」について詳述する。なお、以下の説明において、改行を表す文字コードを「改行文字」と表現する。
【０１３７】
ここで、本実施形態では、文字の種類として、「区切文字」と、「特殊文字」と、「普通文字」とがある。
区切文字は、空白文字、及び、改行文字である。区切文字は、後述するように、単語と、単語との区切りの判別に利用される。
特殊文字は、記号のうち、予め定められた記号である。特殊文字は、エリア分割情報等、特殊な意味を持つ情報に使用する可能性がある記号とされる。本実施形態では、特殊文字は、文字「−」、文字「〜」、文字「＝」、及び、文字「：」を含む。
普通文字は、文字のうち、区切文字、及び、特殊文字を除く文字である。
【０１３８】
単語とは、（１）区切文字で区切られることなく連続する普通文字からなる文字列（１文字の場合もある。以下、１文字も、適宜、「文字列」と表現する。）、又は、（２）区切文字で区切られることなく連続する特殊文字からなる文字列である。
図１４Ａは、図６Ａの印刷テキストデータＴ１に含まれる単語を、「行」を明示して示す表である。
図１４Ｂは、図６Ｂの印刷テキストデータＴ２に含まれる単語を、「行」を明示して示す表である。
例えば、図６Ｂの印刷テキストデータＴ２の場合、レシート識別明示情報Ｊ４１に対応する文字列「ＣｈｅｃｋＮＯ．」、及び、レシート識別情報Ｊ４２に対応する文字列「Ｃ０００１」は、それぞれ、区切文字で区切られることなく連続する普通文字からなる文字列である。従って、これら文字列は、「単語」に該当する。
また例えば、図６Ｂの印刷テキストデータＴ２の場合、小計明示情報Ｊ７１を構成する文字列「ｓｕｂ」、文字列「−」、文字列「ｔｏｔａｌ」は、それぞれ、単語に相当する。すなわち、文字列「ｓｕｂ」は、区切文字で区切られることなく連続する普通文字からなる文字列である。また、文字列「−」は、区切文字で区切られることなく連続する特殊文字からなる文字列である。また、文字列「ｔｏｔａｌ」は、区切文字で区切られることなく連続する普通文字からなる文字列である。従って、小計明示情報Ｊ７１は、３つの単語が連続して構成された情報である。
また、エリア分割情報は、区切文字で区切られることなく連続する特殊文字からなる文字列である。従って、エリア分割情報は、「単語」に該当する。
【０１３９】
テキスト表示画面Ｇ４３の表示に際し、制御サーバー制御部４０は、処理対象テキストデータに含まれる情報を単語に分解する。次いで、制御サーバー制御部４０は、分解した単語のそれぞれ、及び、空白文字のそれぞれを、キーワード（後述）の選択に際し、独立して選択可能な状態で、処理対象テキストデータに記述されたテキストを、テキスト表示画面Ｇ４３に表示する。以下、詳述する。
ここで、後に明らかとなるように、本実施形態では、空白文字を、キーワードの一部として選択することができる。このことを踏まえ、以下では、空白文字は、単語に含まれるものとする。
【０１４０】
図１５Ａ、及び、図１５Ｂは、テキスト表示画面Ｇ４３の一例を、ユーザーが動かすことが可能なカーソルＣＳと共に示す図である。
制御サーバー制御部４０は、テキスト表示画面Ｇ４３において、単語又は空白文字の領域にカーソルＣＳが重なると、その単語又は空白文字の領域の背景の背景色を、所定の色（本実施形態では、黄色。）に変換する（所定の装飾を施す。）。
図１５Ａは、単語「ＳＵＢ」の領域にカーソルＣＳが重なった様子を示す。図１５Ａに示すように、単語「ＳＵＢ」の領域にカーソルＣＳが重なった場合、当該領域の背景色が黄色へと変化する。
図１５Ｂは、単語「ＳＵＢ」と、単語「ＴＯＴＡＬ」との間の、空白文字の領域にカーソルＣＳが重なった様子を示す。図１５Ｂに示すように、空白文字の領域にカーソルＣＳが重なった場合、当該領域の背景色が黄色へと変化する。
なお、カーソルＣＳが重なった単語（選択の候補となった単語。）に施される装飾は、背景色を変化させる装飾に限らない。単語に対応する文字列を太字化してもよく、強調点や、アンダーラインを引いてもよい。
【０１４１】
ここで、カーソルが重なった単語、又は、空白文字は、後述するキーワード（又は、後述するように、キーワードの一部。）の選択にあたり、キーワードとして選択する候補となった状態の単語、又は、空白文字である。ユーザーは、所望の単語、又は、空白文字にカーソルを重ねて、所望の単語、又は、空白文字の背景色が黄色となったことを確認することにより、単語又は空白文字がキーワードとして選択する候補となったことを確認した上で、選択を指示する所定の操作（例えば、マウスに対するダブルクリック。）を行うことで、所望の単語、又は、空白文字を確実に、キーワードとして選択できる。
【０１４２】
＜第２領域Ａ４２＞
次いで、第２領域Ａ４２について説明する。
以下の説明では、第１領域Ａ４１の項目選択画面Ｇ４１においてユーザーに選択されたレシート項目を、「選択レシート項目」という。
第４ユーザーインターフェースＵＩ４の第２領域Ａ４２には、選択レシート項目に対応するパーサーＰＳを生成するための情報を入力し、又は、当該情報を選択する画面が表示される。
ユーザーは、第２領域Ａ４２に表示された画面に対して、情報を選択し、又は、情報を入力することによって、選択レシート項目に対応するパーサーＰＳを生成できる。
以下、第１５パーサーＰＳ１５（選択レシート項目が、合計金額情報項目。）、第５パーサーＰＳ５（選択レシート項目が、取消有無情報項目。）、第９パーサーＰＳ９（選択レシート項目が、商品情報項目。）の場合を例にして、第２領域Ａ４２に表示される画面、及び、制御サーバー１５の処理について説明する。
【０１４３】
＜第１５パーサーＰＳ１５＞
第１５パーサーＰＳ１５を生成する場合、ユーザーは、項目選択画面Ｇ４１において、合計金額情報項目（プロパティー「ｔｏｔａｌ」。）を選択する。
図１６は、項目選択画面Ｇ４１で合計金額情報項目が選択された場合の第４ユーザーインターフェースＵＩ４を示す図である。
図１６に示すように、項目選択画面Ｇ４１で合計金額情報項目が選択された場合、第２領域Ａ４２には、取得項目値表示画面Ｇ４２１が表示される。取得項目値表示画面Ｇ４２１には、パーサー管理データベース４２１において選択印刷装置のシリアル番号Ｊ１１と対応付けられた第１５パーサーＰＳ１５で、処理対象テキストデータを分析したときの分析結果（分析データにおいて合計金額情報項目に対応付けて記述される値。）が表示される。図１６の例では、項目選択画面Ｇ４１には、ｎｕｌｌ値が表示され、これにより、現時点では、第１５パーサーＰＳ１５によって、合計金額情報Ｊ９２の取得ができない状態であることが明示される。
取得項目値表示画面Ｇ４２１の表示に際し、制御サーバー制御部４０は、パーサー管理データベース４２１を参照し、選択印刷装置に対応し、選択レシート項目に対応するパーサーＰＳを取得する。制御サーバー制御部４０は、取得したパーサーＰＳにより、処理対象テキストデータを分析し、分析結果に基づいて、取得項目値表示画面Ｇ４２１を表示する。
【０１４４】
本実施形態では、選択レシート項目にかかわらず、制御サーバー制御部４０は、第２領域Ａ４２に、取得項目値表示画面Ｇ４２１を表示し、パーサー管理データベース４２１に登録されたパーサーＰＳのうち、選択印刷装置に対応し、選択レシート項目に対応するパーサーＰＳの分析結果が表示される。これにより、以下の効果を奏する。
すなわち、ユーザーは、取得項目値表示画面Ｇ４２１を参照することにより、選択レシート項目に対応するパーサーＰＳの分析結果を簡易、かつ、直感的に認識できる。
さらに、第３領域Ａ４３のテキスト表示画面Ｇ４３と、第２領域Ａ４２の取得項目値表示画面Ｇ４２１とが、同一のユーザーインターフェースで同時に表示される。このため、ユーザーは、テキスト表示画面Ｇ４３と、取得項目値表示画面Ｇ４２１とを比較しながら参照することができる。このため、ユーザーは、テキスト表示画面Ｇ４３と、取得項目値表示画面Ｇ４２１とを比較することにより、選択レシート項目に対応するパーサーＰＳの分析結果の妥当性を判別できる。例えば、合計金額情報項目（プロパティー「ｔｏｔａｌ」）について、ユーザーは、取得項目値表示画面Ｇ４２１に表示された値と、テキスト表示画面Ｇ４３に表示された合計金額情報Ｊ９２の値とを比較し、対応するパーサーＰＳが、正しい合計金額情報Ｊ９２を取得できたか否かを判別できる。また、上述したように、販売方法情報Ｊ２４は、レシートのフォーマットによって、レシートに印刷される場合もあれば、レシートに印刷されない場合もある。そして、販売方法情報Ｊ２４が印刷されないフォーマットの場合、対応するパーサーＰＳの分析結果は、ｎｕｌｌ値が正しい。このように、対応するパーサーＰＳの分析結果がｎｕｌｌ値の場合であっても、ｎｕｌｌ値であることが正しい場合があり、このような場合に、ユーザーは、テキスト表示画面Ｇ４３と、取得項目値表示画面Ｇ４２１とを比較することにより、分析結果がｎｕｌｌ値であることの妥当性を判別できる。
【０１４５】
図１６に示すように、第２領域Ａ４２の取得項目値表示画面Ｇ４２１には、選択印刷装置に対応し、選択レシート項目に対応するパーサーＰＳの生成のための処理の開始を指示するパーサー生成開始ボタンＱＢが表示される。
パーサー生成開始ボタンＱＢが操作されたことを検出した場合、制御サーバー制御部４０は、第２領域Ａ４２に、取得項目値表示画面Ｇ４２１が表示された状態を維持して、フレーム選択画面Ｇ４２２を表示する。
【０１４６】
図１７は、第２領域Ａ４２にフレーム選択画面Ｇ４２２が表示された第４ユーザーインターフェースＵＩ４を示す図である。
フレーム選択画面Ｇ４２２は、選択レシート項目に対応する項目値について、印刷テキストデータにおける位置を特定するときのルールの種類を選択する画面である。
上述したように、レシートには、レシートのレイアウトに従って情報が印刷される。従って、印刷テキストデータには、１の項目の項目値に対応する情報が、レシートのレイアウトを反映した当該１の項目に対応するルールに従って記述される。このため、１の項目の項目値の印刷テキストデータにおける位置は、当該１の項目に対応するルールに基づいて特定することができる。
以下、印刷テキストデータにおける項目値の位置を特定するときに使用するルールを「検索ルール」という。
そして、検索ルールは、項目値の位置を特定する方法によって、複数の種類が存在する。例えば、１の項目の項目値が、所定のキーワードと同一行の右方に位置する場合は、検索ルールは、当該所定のキーワードの右方に項目値が位置することを指定する種類のルールである。一方、１の項目の項目値が、所定のキーワードと同一行の左方に位置する場合は、検索ルールは、当該所定のキーワードの左方に項目値が位置することを指定する種類のルールである。
本実施形態では、検索ルールの種類を「フレーム」という概念を使って管理する。従って、フレーム選択画面Ｇ４２２には、選択レシート項目に対応する１又は複数の検索ルールの種類に応じて、１又は複数のフレームが選択可能に表示される。
【０１４７】
ここで、レシートに係るレイアウトには、合計金額情報Ｊ９２と共に合計金額明示情報Ｊ９１が印刷され、かつ、合計金額明示情報Ｊ９１と合計金額情報Ｊ９２とは所定の位置関係にある、という特性がある。これを踏まえ、合計金額情報項目（プロパティー「ｔｏｔａｌ」）については、フレームとして、第１合計金額情報フレーム、及び、第２合計金額情報フレームが、選択可能である。
第１合計金額情報フレームは、合計金額情報Ｊ９２が、キーワードとしての合計金額明示情報Ｊ９１と同一行において、合計金額明示情報Ｊ９１の１つ右に位置するか、又は、当該同一行の末尾に位置することを指定する検索ルールに対応するフレームである。
「１の項目値が、キーワードと同一行において、当該キーワードの１つ右に位置する」とは、当該１の項目値が、当該キーワードに対して、１又は複数の空白文字を介して右方に位置することを意味する。また、「１の項目値が、キーワードと同一行の末尾に位置する」とは、当該１の項目値が、当該同一行の右端部に位置し、当該１の項目値の次の文字が改行文字であることを意味する。
【０１４８】
第２合計金額情報フレームは、上述した第１合計金額情報フレームに係る検索ルール以外の検索ルールであって、キーワードとしての合計金額明示情報Ｊ９１と合計金額情報Ｊ９２との位置関係により、合計金額情報Ｊ９２の位置を指定する検索ルールに対応するフレームである。
【０１４９】
図１７のフレーム選択画面Ｇ４２２には、第１合計金額情報フレームを説明するフレーム情報ＪＨ１７ａ、及び、第２合計金額情報フレームを説明するフレーム情報ＪＨ１７ｂが一覧表示される。フレーム情報ＪＨ１７ａ、及び、フレーム情報ＪＨ１７ｂに係る情報のそれぞれには、ラジオボタンが対応付けて表示される。ユーザーは、ラジオボタンにより、第１合計金額情報フレームと第２合計金額情報フレームとのいずれかを選択できる。ユーザーは、フレーム選択画面Ｇ４２２と同時に表示されるテキスト表示画面Ｇ４３を参照することにより、第１合計金額情報フレームと、第２合計金額情報フレームのうち、適用するフレームとして適切なフレームを認識でき、当該認識に基づいて、適切なフレームを選択できる。
図１７に示すように、フレーム選択画面Ｇ４２２には、フレームの選択を確定するフレーム確定ボタンＸＢが表示される。制御サーバー制御部４０は、フレーム確定ボタンＸＢが操作されたことを検出すると、フレーム選択画面Ｇ４２２を、ステップ対応画面Ｇ４２３へ遷移する。
【０１５０】
以下の説明では、ユーザーが選択したフレームを「選択フレーム」という。
【０１５１】
フレームごとに、１又は複数のステップが事前に用意される。ステップとは、フレームに対応する検索ルールに関する情報を選択し、又は、当該情報を入力することによって、検索ルールを指定する手順のことである。そして、フレームに対応する１又は複数のステップに対応して、１又は複数のステップ対応画面Ｇ４２３が用意される。なお、印刷テキストデータにおける項目値の位置は、複数の検索ルールに基づいて、特定可能な場合がある。このような場合、１つのフレームについて、複数のステップ対応画面Ｇ４２３が用意される。
後に明らかとなる通り、ユーザーは、フレームを選択した、１又は複数のステップ対応画面Ｇ４２３に情報を入力するという作業を行うことにより、選択レシート項目に対応する項目値を検索するために必要な１又は複数の検索ルールを指定できる。
以下、選択フレームが第１合計金額情報フレームと、選択フレームが第２合計金額情報フレームとの場合について、順次、説明する。
【０１５２】
＜第１合計金額情報フレーム＞
図１８は、図１７のフレーム選択画面Ｇ４２２で第１合計金額情報フレームが選択された場合に、フレーム選択画面Ｇ４２２に代えて第２領域Ａ４２に表示されるステップ対応画面Ｇ４２３を示す図である。
【０１５３】
図１８のステップ対応画面Ｇ４２３には、以下の２つの情報が表示される。（１）合計金額情報Ｊ９２（項目値）が、印刷テキストデータで最初に（最も上方に）出現するキーワードと同一行において、キーワードの１つ右に位置することを指定する検索ルールを示すルール情報ＪＨ１８ａ。（２）合計金額情報Ｊ９２（項目値）が、印刷テキストデータで最初に（最も上方に）出現するキーワードと同一行の末尾に位置することを指定する検索ルールを示すルール情報ＪＨ１８ｂ。また、２つのルール情報には、ラジオボタンが対応付けて表示され、ラジオボタンにより、いずれかのルール情報を選択できる。ユーザーは、いずれかのルール情報を選択することにより、検索ルールを指定する。
ユーザーは、ステップ対応画面Ｇ４２３と同時に表示されるテキスト表示画面Ｇ４３を参照することにより、合計金額情報Ｊ９２と、キーワード（合計金額明示情報Ｊ９１）との位置関係を認識し、ルール情報ＪＨ１８ａに対応する検索ルールと、ルール情報ＪＨ１８ｂに対応する検索ルールのうち、適切な情報を選択する。
【０１５４】
ルール情報ＪＨ１８ａ、及び、ルール情報ＪＨ１８ｂでは、キーワードが、文字列「‘Ｔｅｘｔ１’」によって表現される。そして、領域Ａ１８ｂの下方には、キーワードとして選択された単語が表示される領域Ａ１８ａが形成される。後に明らかとなるとおり、キーワードは、複数の単語（空白文字を含む。）の組み合わせとして構成される場合がある。領域Ａ１８ａには、文字列「‘Ｔｅｘｔ１’」が表示され、当該領域にキーワードとして選択された単語が表示されることが明示される。
【０１５５】
ユーザーは、第３領域Ａ４３のテキスト表示画面Ｇ４３を用いて、以下の方法でキーワードとする１又は複数の単語を選択できる。
以下、図１８に示す第４ユーザーインターフェースＵＩ４が表示されている状態で、ユーザーが、キーワードとして、単語「ＴＯＴＡＬ」と、単語「：」との組み合わせを選択する場合を例にして、ユーザーの操作、及び、制御サーバー制御部４０の処理について説明する。なお、キーワード「ＴＯＴＡＬ：」は、合計金額明示情報Ｊ９１に相当する。
以下の説明において、複数の単語の組み合わせを、適宜、「単語群」という。
【０１５６】
ユーザーは、テキスト表示画面Ｇ４３において、キーワードに含める単語（上述したように、空白文字を含む。）にカーソルを重ねる。上述したように、カーソルが重なった単語の背景色は、黄色になり、選択の候補となったことが明示される。
図１９は、単語「ＴＯＴＡＬ」が選択の候補となった様子を示す。
【０１５７】
ユーザーは、単語にカーソルを重ねた状態で所定の操作（例えば、ダブルクリック。）を行い、単語の選択を確定する。制御サーバー制御部４０は、ユーザーにより所定の操作が行われ、単語の選択が確定したことを検出すると、選択された単語を、領域Ａ１８ａに表示する。ユーザーは、領域Ａ１８ａを参照することにより、選択した単語を確認できる。
図２０は、単語「ＴＯＴＡＬ」の選択が確定し、領域Ａ１８ａに、単語「ＴＯＴＡＬ」が表示された様子を示す。
【０１５８】
単語「ＴＯＴＡＬ」の選択が確定した後、制御サーバー制御部４０は、さらに、以下の処理を実行する。すなわち、制御サーバー制御部４０は、直近で選択が確定した単語（本例では、単語「ＴＯＴＡＬ」。）と同一行において、当該単語に隣接し、当該単語の右方に位置する単語のみを選択可能な状態とし、選択可能な単語にアンダーラインを引く。図１８の例では、制御サーバー制御部４０は、単語「ＴＯＴＡＬ」に隣接する単語「：」のみを選択可能な状態とし、単語「：」にアンダーラインを引く。
図２１は、単語「：」が選択可能な状態とされ、単語「：」にアンダーラインが引かれた様子を示す。
ユーザーは、単語に引かれたアンダーラインを参照することにより、選択可能な単語を、簡易かつ直感的に認識することができる。
ユーザーは、単語「：」が選択可能であることを認識したうえで、単語「ＴＯＴＡＬ」と同様の手順で、単語「：」を選択する。
図２２は、単語「ＴＯＴＡＬ」に続いて、単語「：」が選択され、領域Ａ１８ｃに、キーワードとして、単語「ＴＯＴＡＬ」、及び、単語「：」が連続して表示された様子を示す。
【０１５９】
このように、制御サーバー制御部４０は、テキスト表示画面Ｇ４３に、印刷テキストデータに記述されたテキストを、単語（空白文字を含む。）を選択可能な状態で表示する。そして、制御サーバー制御部４０は、ユーザーにより選択された単語、又は、単語群をキーワードとして設定する。これにより、ユーザーがキーボードで文字を入力することによってキーワードを設定する場合に生じ得る入力ミスを確実に防止し、ユーザーに的確な単語、又は、単語群をキーワードとして選択させることができる。
【０１６０】
また、制御サーバー制御部４０は、キーワードの選択に際し、１の単語の選択が確定した後、当該１の単語に隣接し、当該１の単語の右方に位置する単語のみを選択可能な状態とする。これにより以下の効果を奏する。すなわち、レシートには、キーワードとして用いることが可能な単語群は、１行において連続する１又は複数の単語の組み合わせからなる、という特性がある。これを踏まえ、制御サーバー制御部４０が上述した処理を実行することにより、ユーザーが、キーワードとして単語群を選択する場合、１行において連続する単語を、順次、選択させることができる。特に、図６Ｂの印刷テキストデータＴ２の税明示情報Ｊ８１は、文字列「ｓａｌｅｓ△ｔａｘ」であり、単語「ｓａｌｅｓ」と、空白文字と、単語「ｔａｘ」の組み合わせにより構成される。そして、税明示情報Ｊ８１をキーワードとして選択する場合、空白文字もキーワードに含める必要があるが、空白文字については、ユーザーが、キーワードに含める必要があることを認識していない場合もあると想定される。このように、空白文字を含む単語群をキーワードとして選択する場合であっても、制御サーバー制御部４０が上述した処理を行うことにより、確実に、ユーザーに、キーワードの一部として空白文字を選択させることができる。
【０１６１】
図１８〜図２２に示すステップ対応画面Ｇ４２３は、ステップ確定ボタンＳＢと、コンファームボタンＣＢとを有する。
ステップ確定ボタンＳＢは、そのステップ確定ボタンＳＢが表示されたステップ対応画面Ｇ４２３への入力を確定する際の操作されるボタンである。
【０１６２】
コンファームボタンＣＢは、選択フレームに対応する１又は複数のステップ対応画面Ｇ４２３のうち、最後のステップ対応画面Ｇ４２３に表示される。コンファームボタンＣＢは、最後のステップ対応画面Ｇ４２３において、以下の場合に選択可能となる。すなわち、最後のステップ対応画面Ｇ４２３について必要な情報が選択され、入力された場合に、コンファームボタンＣＢは選択可能となる。なお、最後のステップ対応画面Ｇ４２３でコンファームボタンＣＢが操作されると、選択フレームに対応する全てのステップにおいて、検索ルールの指定が完了する。
コンファームボタンＣＢは、選択フレームに対応する全てのステップ対応画面Ｇ４２３（選択フレームに対応する全てのステップ）で指定された検索ルールに基づいて、印刷テキストデータから項目値を取得する処理を実行するパーサーＰＳの生成を指示するボタンである。
【０１６３】
制御サーバー制御部４０は、コンファームボタンＣＢが操作されたことを検出すると、以下の処理を実行する。
図２３のフローチャートＦＤは、コンファームボタンＣＢが操作されたことを検出したときの制御サーバー１５の動作を示すフローチャートである。
図２３のフローチャートＦＤに示すように、制御サーバー制御部４０は、選択フレームに対応する全てのステップ対応画面Ｇ４２３で指定された検索ルールを取得する（ステップＳＤ１）。
次いで、制御サーバー制御部４０は、取得した検索ルールのそれぞれに基づいて選択レシート項目の項目値を取得する処理を実行するパーサーＰＳを生成する（ステップＳＤ２）。ここで、制御サーバー１５には、１又は複数の検索ルールを入力とし、入力された１又は複数の検索ルールに従って項目値を検索し、取得する処理を実行する機能が実装されたパーサーＰＳを、入力された１又は複数の検索ルールに基づいて生成し、生成したパーサーＰＳを出力するエンジンがインストールされる。ステップＳＤ２において、制御サーバー制御部４０は、当該エンジンの機能により、パーサーＰＳを生成する。
例えば、ステップＳＤ１で取得した検索ルールが、ルール情報ＪＨ１８ａに対応する検索ルールであったとする。この場合、ステップＳＤ２において、制御サーバー制御部４０は、印刷テキストデータで最初に（最も上方に）出現するキーワード（本例では、キーワード「ＴＯＴＡＬ：」。）と同一行において、キーワードの１つ右に位置する情報を、項目値として取得する機能が実装されたパーサーＰＳを生成する。
【０１６４】
特に、パーサーＰＳは、項目値を、印刷テキストデータにおけるキーワードと項目値との位置関係に基づいて検索する場合、以下の処理を行う。すなわち、まず、パーサーＰＳは、文字列検索により、印刷テキストデータにおけるキーワードの位置を特定する。なお、後述するように、キーワードに対応する文字列が、複数、印刷テキストデータに記述された状態の場合は、処理のルールに従って、項目値の検索に使用すべきキーワードを特定する。次いで、パーサーＰＳは、位置を特定したキーワードと、キーワード及び項目値の位置関係とに基づいて、項目値の位置を特定する（項目値を検索する。）。
このように、パーサーＰＳは、文字列検索を利用して印刷テキストデータにおけるキーワードの位置を特定する。このため、キーワードは、印刷テキストデータに記述される文字列と正確に同一であることが求められる。本実施形態では、上述したように、ユーザーは、簡易な作業で、印刷テキストデータに記述される文字列と正確に同一なキーワードを指定できる。
【０１６５】
次いで、制御サーバー制御部４０は、第２領域Ａ４２に、分析結果確認画面Ｇ４２４を表示する（ステップＳＤ３）。
次いで、制御サーバー制御部４０は、新たに生成したパーサーＰＳの機能により、処理対象テキストデータを分析し、分析結果を第２領域Ａ４２の分析結果確認画面Ｇ４２４に表示する（ステップＳＤ４）。
【０１６６】
図２４は、第２領域Ａ４２に分析結果確認画面Ｇ４２４が表示された状態の第４ユーザーインターフェースＵＩ４を示す。
ユーザーは、分析結果確認画面Ｇ４２４の内容を確認することにより、新たに生成されたパーサーＰＳの分析結果の妥当性を確認できる。すなわち、ユーザーは、第３領域Ａ４３のテキスト表示画面Ｇ４３を参照し、パーサーＰＳが取得すべき正しい項目値を認識し、当該認識に基づいて新たに生成されたパーサーＰＳの分析結果の妥当性を確認できる。ユーザーは、分析結果確認画面Ｇ４２４に正しい項目値が表示されている場合は、パーサーＰＳの分析結果が妥当であると判別し、正しい項目値以外の値が表示されている場合は、パーサーＰＳの分析結果が妥当でないと判別する。
図２４に示すように、分析結果確認画面Ｇ４２４は、新たに生成されたパーサーＰＳを適用することを指示する上書ボタンＵＢと、新たに生成されたパーサーＰＳの適用をキャンセルするキャンセルボタンＣＣとを有する。ユーザーは、分析結果確認画面Ｇ４２４の内容を確認し、新たに生成されたパーサーＰＳの分析結果が妥当かどうかを判別し、妥当であれば上書ボタンＵＢを操作し、妥当でない場合はキャンセルボタンＣＣを操作する。
【０１６７】
図２３のフローチャートＦＤに示すように、分析結果確認画面Ｇ４２４に、新たに生成したパーサーＰＳの分析結果を表示した後、制御サーバー制御部４０は、キャンセルボタンＣＣが操作されたか否かを監視すると共に（ステップＳＤ５）、上書ボタンＵＢが操作されたか否かを監視する（ステップＳＤ６）。
上書ボタンＵＢが操作されたことを検出した場合（ステップＳＤ６：ＹＥＳ）、制御サーバー制御部４０は、以下の処理を実行する（ステップＳＤ７）。すなわち、ステップＳＤ７において、制御サーバー制御部４０は、パーサー管理データベース４２１を参照し、当該データベースにおいて、選択印刷装置のシリアル番号Ｊ１１と対応付けられた選択レシート項目に対応するパーサーＰＳを、新たに生成したパーサーＰＳにより、上書き更新する。
ステップＳＤ７の処理の結果、制御サーバー制御部４０は、選択印刷装置から印刷テキストデータを受信した場合、選択レシート項目については、項目値を取得する処理を、新たに生成したパーサーＰＳの機能に基づいて実行する。
次いで、制御サーバー制御部４０は、分析結果確認画面Ｇ４２４を閉じる（ステップＳＤ８）。
【０１６８】
一方、キャンセルボタンＣＣが操作されたことを検出した場合（ステップＳＤ５：ＹＥＳ）、制御サーバー制御部４０は、パーサー管理データベース４２１の更新を行うことなく、処理手順をステップＳＤ８へ移行し、分析結果確認画面Ｇ４２４を閉じる。
【０１６９】
なお、１の印刷装置１２について、パーサー管理データベース４２１にレコードが登録される場合、当該１の印刷装置１２のシリアル番号Ｊ１１と対応付けられるパーサーＰＳのそれぞれは、予め用意されたデフォルトのパーサーＰＳとされる。
【０１７０】
＜第２合計金額情報フレーム＞
図２５は、図１７のフレーム選択画面Ｇ４２２において、第２合計金額情報フレームが選択された後に、フレーム選択画面Ｇ４２２から遷移するステップ対応画面Ｇ４２３を示す図である。第２合計金額情報フレームは、複数のステップを有する。
図２５のステップ対応画面Ｇ４２３では、選択レシート項目（本例では、合計金額情報項目。）の項目値（本例では、合計金額情報Ｊ９２。）を検索する場合に使用するキーワードを入力することが可能である。ユーザーは、テキスト表示画面Ｇ４３を用いて、上述した方法で、キーワードとなる単語、又は、単語群を選択する。これにより、ユーザーは、キーワードが所定の単語、又は、単語群である、という検索ルールを指定する。
【０１７１】
図２５のステップ対応画面Ｇ４２３は、次に遷移可能なステップ対応画面Ｇ４２３が存在する。これを踏まえ、図２５のステップ対応画面Ｇ４２３には、コンファームボタンＣＢが表示されず、次のステップ対応画面Ｇ４２３への遷移を指示する遷移ボタンＮＢが表示される。
遷移ボタンＮＢが操作されたことを検出した場合、制御サーバー制御部４０は、次のステップ対応画面Ｇ４２３へ遷移する。
【０１７２】
図２６は、図２５のステップ対応画面Ｇ４２３の遷移ボタンＮＢが操作された場合に、図２５のステップ対応画面Ｇ４２３に代えて表示されるステップ対応画面Ｇ４２３を示す図である。
図２６のステップ対応画面Ｇ４２３では、キーワードと、検索対象の項目値との位置関係に応じて、７個のルール情報ＪＨ２６ａ〜ルール情報ＪＨ２６ｇが選択可能に一覧表示される。ユーザーは、テキスト表示画面Ｇ４３を参照し、ルール情報ＪＨ２６ａ〜ルール情報ＪＨ２６ｇのうち、適切な検索ルールに対応するルール情報を選択する。
【０１７３】
以下、ルール情報ＪＨ２６ａ〜ルール情報ＪＨ２６ｇのうち、ルール情報ＪＨ２６ｃについて説明する。
ルール情報ＪＨ２６ｃは、選択レシート項目に対応する項目値が、キーワードと同一行において、左からＮ番目（Ｎは、正の整数。）の単語であることを指定する検索ルールを示すルール情報である。１の「行」におけるＮ番目の単語とは、以下のことを意味する。すなわち、１の「行」におけるＮ番目の単語とは、当該１の「行」に記述された単語を、空白文字を除いて左から順番に数えたときに、左からＮ番目に位置する単語を意味する。例えば、図６Ｂの印刷テキストデータＴ２の４行目には、空白文字を除き、単語が、単語「Ｂｅｅｒ」、単語「１」、単語「１０．００」の順番で記述される。この場合、単語「Ｂｅｅｒ」は１番目の単語であり、単語「１」は２番目の単語であり、単語「１０．００」は３番目の単語である。また、単語「１０．００」は、印刷テキストデータＴ２の４行目において、最後の単語でもある。
【０１７４】
図２７は、図２６のステップ対応画面Ｇ４２３において、ラジオボタンにより、ルール情報ＪＨ２６ｃに対応する検索ルールが選択された場合のステップ対応画面Ｇ４２３を示す図である。
図２７に示すように、ルール情報ＪＨ２６ｃが選択された場合、ステップ対応画面Ｇ４２３の下部に、番号表示領域ＢＡが形成される。番号表示領域ＢＡは、ユーザーが選択した検索ルールが、Ｎ番目という情報を必要とする場合に、ユーザーにＮ番目の値を選択させると共に、ユーザーが選択したＮ番目の値を表示する領域である。図２７において、番号表示領域ＢＡに選択可能に表示される番号の値を、１つの行に存在する単語の数に対応させた値としてもよい。
このように、制御サーバー制御部４０は、検索ルールが、Ｎ番目という情報を必要とする場合、ユーザーにＮ番目を選択させ、選択されたＮ番目の値を表示する番号表示領域ＢＡを形成する。
【０１７５】
図２７に示すように、番号表示領域ＢＡは、入力欄Ｎ２７ａを有する。入力欄Ｎ２７ａには、プルダウンメニューからＮ番目の値を選択することによって、Ｎ番目の値を入力できる。ユーザーは、入力欄Ｎ２７ａに対応するプルダウンメニューから、適切な値を選択することによって、入力欄Ｎ２７ａに、Ｎ番目の値を入力する。
図２７に示すように、本実施形態では、ユーザーは、Ｎ番目の値として、１番目〜５番目のほか、「最後」、及び、「最後から２番目」を選択可能である。これは、所定の項目値は、所定の「行」において、「最後」、又は、「最後から２番目」に記述される場合があることに基づくものである。
【０１７６】
このように、本実施形態では、所定の項目値は、所定の「行」においてＮ番目に位置するというルールに従って印刷テキストデータに記述される場合がある、という特性を踏まえ、ユーザーが、簡易な作業を行って、このようなルールに対応する検索ルールを指定できる。
【０１７７】
図２７に示すステップ対応画面Ｇ４２３について、ユーザーは、７個のルール情報ＪＨ２６ａ〜ルール情報ＪＨ２６ｇに対応する検索ルールから１つの検索ルールを選択し、必要に応じて番号表示領域ＢＡを用いてＮ番目の値を選択した上で、遷移ボタンＮＢを操作して、検索ルールの指定を確定する。遷移ボタンＮＢが操作されたことを検出した場合、制御サーバー制御部４０は、次のステップ対応画面Ｇ４２３へ遷移する。
【０１７８】
図２８は、図２７のステップ対応画面Ｇ４２３において、ルール情報ＪＨ２６ｃに対応する検索ルールが選択され、Ｎ番目の値として「最後」が選択された後、遷移ボタンＮＢが操作された場合に、図２７のステップ対応画面Ｇ４２３に代えて表示されるステップ対応画面Ｇ４２３を示す図である。
図２８のステップ対応画面Ｇ４２３は、ユーザーが設定したキーワードが印刷テキストデータに、複数、記述される場合に、項目値の検索に使用するキーワードが、印刷テキストデータにおいてＮ番目に出現することを示す検索ルールを指定する画面である。
ここで、印刷テキストデータには、キーワードとして用いる文字列が、複数、記述される場合がある。例えば、文字列「ＴＯＴＡＬ」をキーワードとして用いる場合において、小計明示情報Ｊ７１、及び、合計金額明示情報Ｊ９１が、共に、文字列「ＴＯＴＡＬ」を含み、これに起因して、印刷テキストデータに、文字列「ＴＯＴＡＬ」が、複数、記述される場合がある。このような場合であっても、キーワードとして使用可能な文字列は、レシートのレイアウトに対応するルールに従って記述されるため、キーワードがＮ番目に出現することを指定することにより、所望のキーワードを特定可能である。
【０１７９】
図２８のステップ対応画面Ｇ４２３は、入力欄Ｎ２８ａを有する。入力欄Ｎ２８ａには、プルダウンメニューからＮ番目の値を選択することによって、Ｎ番目の値を入力できる。ユーザーは、入力欄Ｎ２８ａに対応するプルダウンメニューから、適切な値を選択することによって、入力欄Ｎ２８ａに、Ｎ番目の値を入力する。
図２８に示すように、本実施形態では、ユーザーは、Ｎ番目の値として、１番目〜５番目のほか、「最後」、及び、「最後から２番目」を選択可能である。これは、所定のキーワードの位置については、「最後」、又は、「最後から２番目」に出現することを指定することによって、適切に特定できる場合があることに由来する。図２８において、番号表示領域ＢＡに選択可能に表示される番号の値を、印刷テキストデータに出現するキーワードに対応する単語の数に対応させた値としてもよい。
図２８に示すステップ対応画面Ｇ４２３は、選択フレーム（本例では、第２合計金額情報フレーム。）に対応するステップ対応画面Ｇ４２３のうち、最後のステップ対応画面Ｇ４２３である。図２８に示すステップ対応画面Ｇ４２３について、ユーザーは、プルダウンメニューを利用して、入力欄Ｎ２８ａに、Ｎ番目の値を入力する。入力欄Ｎ２８ａへの入力後、ユーザーは、ステップ確定ボタンＳＢ、又は、コンファームボタンＣＢを操作する。これらボタンの何れかが操作された場合の制御サーバー制御部４０の処理は、上述したとおりである。
【０１８０】
このように、本実施形態では、キーワードとして指定する文字列は、レシートのレイアウトに対応するルールに従って、印刷テキストデータに、複数、記述される場合がある、という特性を踏まえ、ユーザーが、簡易な作業を行って、このようなルールに対応する検索ルールを指定できる。
【０１８１】
＜第５パーサーＰＳ５＞
第５パーサーＰＳ５を生成する場合について説明する。
第５パーサーＰＳ５を生成する場合、ユーザーは、項目選択画面Ｇ４１において、取消有無情報項目（プロパティー「ｉｓ＿ｖｏｉｄ」。）を選択する。
プロパティー「ｉｓ＿ｖｏｉｄ」（取消有無情報項目）は、データ型：ｂｏｏｌｅａｎのプロパティーであり、その点で、プロパティー「ｔｏｔａｌ」（合計金額情報項目）と異なる。
上述したように、会計は取り消される場合があり、その場合、会計で発行されるレシートに基づく印刷テキストデータには、取り消しが行われたことを示す情報（以下、「取消明示情報Ｊ２８」という。）が記述される。そして、取消明示情報Ｊ２８が印刷テキストデータに記述されている場合、取消有無情報項目の項目値は、ｔｒｕｅ値となり、取消明示情報Ｊ２８が記述されていない場合、取消有無情報項目の項目値は、ｆａｌｓｅ値となる。
印刷テキストデータに所定の情報が記述されているか否かに応じてｔｒｕｅ値、又は、ｆａｌｓｅ値のいずれかをとるデータ型：ｂｏｏｌｅａｎのプロパティーに対応するレシート項目を検索する機能を有するパーサーＰＳの生成に際し、制御サーバー制御部４０は、以下の処理を実行する。
【０１８２】
図２９は、項目選択画面Ｇ４１で取消有無情報項目が選択され、取消有無情報項目に係る取得項目値表示画面Ｇ４２１でパーサー生成開始ボタンＱＢが操作された場合に、第２領域Ａ４２に表示されるフレーム選択画面Ｇ４２２を示す図である。
取消有無情報項目について、対応するフレームの個数は、１つである。ユーザーは、取消有無情報項目に係るフレーム選択画面Ｇ４２２に表示されたフレーム確定ボタンＸＢを操作することにより、フレームの選択を確定する。フレーム確定ボタンＸＢが操作されたことを検出すると、制御サーバー制御部４０は、フレーム選択画面Ｇ４２２を、ステップ対応画面Ｇ４２３に遷移する。
【０１８３】
図３０は、図２９のフレーム選択画面Ｇ４２２から遷移するステップ対応画面Ｇ４２３を示す図である。取消有無情報項目に係るフレームは、１つのステップを有する。
図３０のステップ対応画面Ｇ４２３では、選択レシート項目（本例では、取消有無情報項目。）の項目値を取得する場合に使用するキーワードを入力することが可能である。取消有無情報項目の場合、キーワードは、取消明示情報Ｊ２８である。
ユーザーは、図３０のステップ対応画面Ｇ４２３により、キーワードが所定の単語、又は、単語群である、という検索ルールを指定する。
ユーザーは、テキスト表示画面Ｇ４３にテキストが表示された処理対象テキストデータに、取消明示情報Ｊ２８が記述されている場合、上述した方法で、キーワードとなる単語、又は、単語群を選択する。
一方、ユーザーは、テキスト表示画面Ｇ４３にテキストが表示された処理対象テキストデータに、取消明示情報Ｊ２８が記述されてない場合、以下の方法で、検索ルールを指定する。ユーザーは、会計の取り消しが行われた場合に、レシートに印刷される取消明示情報Ｊ２８を所定の手段で認識し、取消明示情報Ｊ２８を表す文字列を、キーボード等を利用して入力する。
ユーザーにより入力されたキーワードは、ステップ対応画面Ｇ４２３の所定の領域に表示される。
【０１８４】
図３０に示すステップ対応画面Ｇ４２３について、ユーザーは、キーワードを入力した後、ステップ確定ボタンＳＢ、又は、コンファームボタンＣＢを操作する。これらボタンの何れかが操作された場合の制御サーバー制御部４０の処理は、上述したとおりである。
【０１８５】
このように、本実施形態では、データ型：ｂｏｏｌｅａｎのプロパティーに対応するレシート項目の項目値を取得するパーサーＰＳについて、ユーザーが、簡易な作業を行って、パーサーＰＳを生成させることができる。
【０１８６】
＜第９パーサーＰＳ９＞
第９パーサーＰＳ９を生成する場合について説明する。
第９パーサーＰＳ９を生成する場合、ユーザーは、項目選択画面Ｇ４１において、商品情報項目（プロパティー「ｐｒｏｄｕｃｔｓ」。）を選択する。
上述したように、商品情報項目には、商品名情報項目、購入数量情報項目、及び、単価情報項目が属する。
第９パーサーＰＳ９は、購入数量情報項目、商品名情報項目、及び、単価情報項目のそれぞれの項目値を取得する処理を実行する機能を有するパーサーＰＳである。
【０１８７】
ここで、印刷テキストデータへの情報の記述に関し、購入数量情報Ｊ６１（購入数量情報項目の項目値。）、商品名情報Ｊ６２（商品情報項目の項目値。）、及び、単価情報Ｊ６３（単価情報項目の項目値）には、以下の特徴がある。
購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３は、印刷テキストデータへの記述に関し、何らかの特定の情報と対応付けて記述されない場合がある、という特徴がある。この場合、キーワードとの位置関係で、これら情報の位置を特定することはできない。
また、１の種類の商品に係る購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３について、これら情報は、レシートのレイアウトにかかわらず、一行内に印刷される場合があるという特徴がある。これら情報は、レシートに印刷されることが必須の情報であるからであり、また、これら情報を同一行に印刷することにより、これら情報が１つの種類の商品に関連する情報であることが明示されるからである。また、これら情報を同一行に印刷することにより、商品情報Ｊ６が、複数個（＝複数行）、レシートに印刷された場合に、購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３の対応関係が明確になるからである。
また、購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３を含む商品情報Ｊ６は、レシートにおいて、１の特定の文字列と、他の特定の文字列とで挟まれた領域に印刷される場合があるという特徴がある。この場合、これら情報は、印刷テキストデータにおいて、１の特定の文字列と、他の特定の文字列とで挟まれた領域に記述される。
これら特徴を踏まえ、第９パーサーＰＳ９の生成に際し、制御サーバー制御部４０は、以下の処理を実行する。
【０１８８】
図３１は、項目選択画面Ｇ４１で商品情報項目が選択され、商品情報項目に係る取得項目値表示画面Ｇ４２１でパーサー生成開始ボタンＱＢが操作された場合に、第２領域Ａ４２に表示されるフレーム選択画面Ｇ４２２を示す図である。
商品情報項目について、対応するフレームの個数は、第１商品情報フレーム、第２商品情報フレームの２つである。図３１に示すフレーム選択画面Ｇ４２２には、第１商品情報フレームを説明するフレーム情報ＪＨ３１ａ、及び、第２商品情報フレームを説明するフレーム情報ＪＨ３１ｂが一覧表示される。また、フレーム情報のそれぞれにはラジオボタンが対応付けて表示され、ユーザーは、ラジオボタンにより、フレームを選択できる。
【０１８９】
第１商品情報フレームは、購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３の１行における並び順（１行における出現形式。）に基づいて、これら情報の印刷テキストデータにおける位置を特定することを指定する検索ルールに対応するフレームである。
第２商品情報フレームは、購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３の１行における並び順、及び、これら情報が記述される領域に基づいて、これら情報の印刷テキストデータにおける位置を特定することを指定する検索ルールに対応するフレームである。
【０１９０】
ユーザーは、ラジオボタンによりフレームを選択した上で、商品情報項目に係るフレーム選択画面Ｇ４２２に表示されたフレーム確定ボタンＸＢを操作することにより、フレームの選択を確定する。フレーム確定ボタンＸＢが操作されたことを検出すると、制御サーバー制御部４０は、フレーム選択画面Ｇ４２２を、ステップ対応画面Ｇ４２３に遷移する。
以下、選択フレームが第１商品情報フレームの場合と、選択フレームが第２商品情報フレームの場合とについて、順次、説明する。
【０１９１】
＜第１商品情報フレーム＞
図３２は、第１商品情報フレームが選択された場合に、図３１のフレーム選択画面Ｇ４２２から遷移するステップ対応画面Ｇ４２３を示す図である。第１商品情報フレームは、１つのステップを有する。
ここで、購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３が同一行に印刷される場合において、これら情報の並び順は、右に向かって以下の６パターンある。
第１パターン：購入数量情報Ｊ６１、商品名情報Ｊ６２、単価情報Ｊ６３。
第２パターン：購入数量情報Ｊ６１、単価情報Ｊ６３、商品名情報Ｊ６２。
第３パターン：商品名情報Ｊ６２、購入数量情報Ｊ６１、単価情報Ｊ６３。
第４パターン：商品名情報Ｊ６２、単価情報Ｊ６３、購入数量情報Ｊ６１。
第５パターン：単価情報Ｊ６３、購入数量情報Ｊ６１、商品名情報Ｊ６２。
第６パターン：単価情報Ｊ６３、商品名情報Ｊ６２、購入数量情報Ｊ６１。
【０１９２】
これを踏まえ、図３２のステップ対応画面Ｇ４２３には、購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３が、第１パターンで印刷されることを指定する検索ルールを示すルール情報ＪＨ３２ａ、第２パターンで印刷されることを指定する検索ルールを示すルール情報ＪＨ３２ｂ、第３パターンで印刷されることを指定する検索ルールを示すルール情報ＪＨ３２ｃ、第４パターンで印刷されることを指定する検索ルールを示すルール情報ＪＨ３２ｄ、第５パターンで印刷されることを指定する検索ルールを示すルール情報ＪＨ３２ｅ、及び、第６パターンで印刷されることを指定する検索ルールを示すルール情報ＪＨ３２ｆが一覧表示される。これらルール情報のそれぞれには、ラジオボタンが対応付けて表示され、ラジオボタンにより、いずれかのルール情報を選択できる。ユーザーは、いずれかのルール情報を選択することにより、検索ルールを指定する。
【０１９３】
図３２に示すステップ対応画面Ｇ４２３について、ユーザーは、検索ルールを指定した後、ステップ確定ボタンＳＢ、又は、コンファームボタンＣＢを操作する。これらボタンの何れかが操作された場合の制御サーバー制御部４０の処理は、上述したとおりである。すなわち、制御サーバー制御部４０は、選択フレームに対応する全てのステップ対応画面Ｇ４２３で指定された検索ルールを取得する。次いで、制御サーバー制御部４０は、取得した検索ルールのそれぞれに基づいて選択レシート項目の項目値を取得する処理を実行するパーサーＰＳ（本例では、第９パーサーＰＳ）を生成する。以下、１つの行において情報が出現するパターンによって、第９パーサーＰＳが項目値を特定する方法について、具体例を挙げて説明する。
【０１９４】
ここで、第１商品情報フレームに係る第９パーサーＰＳ９の機能について、第１パターンに係る検索ルールに基づいて処理を実行する場合を例にして説明する。
購入数量情報Ｊ６１を表す文字列には、以下の特徴がある。すなわち、購入数量情報Ｊ６１を表す文字列を構成する文字には、数字を表す文字、及び、特定の文字が使用可能であり、他の文字が使用されないという特徴がある。購入数量情報Ｊ６１を表す文字列を構成する文字に使用可能な、特定の文字とは、例えば、単位当たりの個数を表すときに一般的に用いられる文字「＠」である。以下、これらの文字により構成される文字列で表される情報を、「個数型の情報」という。
また、単価情報Ｊ６３を表す文字列には、以下の特徴がある。すなわち、単価情報Ｊ６３を表す文字列を構成する文字には、数字を表す文字、小数点を表す文字、通貨記号（「￥」、「＄」等。）、プラス記号（「＋」）、マイナス記号（「−」）が使用可能であり、他の文字が使用されないという特徴がある。以下、これらの文字により構成される文字列で表される情報を、「数値型の情報」という。
以下、個数型の情報ではなく、かつ、数値型の情報ではない情報を、「任意型の情報」という。
これらのことを踏まえ、第１パターンの場合、購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３が記述された「行」には、情報が以下の態様で記述される。すなわち、情報が３つ存在し、各情報が、右に向かって、個数型の情報、任意型の情報、数値型の情報の順番で記述される。
このことを踏まえ、第９パーサーＰＳ９は、処理対象テキストデータにおける「行」のうち、３つの情報が記述されると共に、各情報が、右に向かって、個数型の情報、任意型の情報、数値型の情報の順番で記述された１又は複数の「行」を特定する。次いで、第９パーサーＰＳ９は、特定した「行」において、先頭に記述された情報を購入数量情報Ｊ６１（個数型の情報）として特定し、次に記述された情報を商品名情報Ｊ６２（任意型の情報）として特定し、その次に記述された情報を単価情報Ｊ６３（数値型の情報）として特定する。
【０１９５】
第１商品情報フレームは、購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３が記述される「行」以外の「行」に、個数型の情報、任意型の情報、数値型の情報が所定の順番で並ぶ「行」が存在しない場合に、有効である。
【０１９６】
＜第２商品情報フレーム＞
図３３は、第２商品情報フレームが選択された場合に、図３１のフレーム選択画面Ｇ４２２から遷移するステップ対応画面Ｇ４２３を示す図である。
図３３には、上述したルール情報ＪＨ３２ａ〜ルール情報ＪＨ３２ｆが一覧表示される。これらルール情報のそれぞれには、ラジオボタンが対応付けて表示され、ラジオボタンにより、いずれかのルール情報を選択できる。ユーザーは、いずれかのルール情報を選択することにより、検索ルールを指定する。
【０１９７】
図３３に示すステップ対応画面Ｇ４２３について、ユーザーは、検索ルールを指定した後、遷移ボタンＮＢを操作する。遷移ボタンＮＢが操作されたことを検出した場合、制御サーバー制御部４０は、図３３のステップ対応画面Ｇ４２３を、次のステップ対応画面Ｇ４２３へ遷移させる。
【０１９８】
図３４は、図３３のステップ対応画面Ｇ４２３の遷移ボタンＮＢが操作された場合に、図３３のステップ対応画面Ｇ４２３に代えて表示されるステップ対応画面Ｇ４２３を示す図である。
上述したように、商品情報Ｊ６は、１の特定の文字列と、他の特定の文字列とで挟まれた領域に記述されるというルールに従って、印刷テキストデータに記述される場合がある。以下、商品情報Ｊ６が記述される領域を規定する特定の文字列のうち、上方に位置する文字列を「領域先頭文字列」といい、下方に位置する文字列を「領域末尾文字列」という。そして、図３４のステップ対応画面Ｇ４２３では、領域先頭文字列を入力することが可能である。
ユーザーは、図３４のステップ対応画面Ｇ４２３により、領域先頭文字列が所定の単語、又は、単語群である、という検索ルールを指定する。
ユーザーは、テキスト表示画面Ｇ４３に表示された処理対象テキストデータに基づくテキストを利用して、上述した方法で、キーワードとなる単語、又は、単語群を選択する。
ユーザーにより入力された領域先頭文字列に係る単語、又は、単語群は、ステップ対応画面Ｇ４２３の所定の領域に表示される。図３４では、領域先頭文字列に係る単語群がステップ対応画面Ｇ４２３の所定の領域に表示された様子を示す。
【０１９９】
図３４に示すステップ対応画面Ｇ４２３について、ユーザーは、領域先頭文字列を入力した後、遷移ボタンＮＢを操作する。遷移ボタンＮＢが操作されたことを検出した場合、制御サーバー制御部４０は、図３４のステップ対応画面Ｇ４２３を、次のステップ対応画面Ｇ４２３へ遷移させる。
【０２００】
図３５は、図３４のステップ対応画面Ｇ４２３の遷移ボタンＮＢが操作された場合に、図３４のステップ対応画面Ｇ４２３に代えて表示されるステップ対応画面Ｇ４２３を示す図である。
図３５のステップ対応画面Ｇ４２３では、領域末尾文字列を入力することが可能である。
ユーザーは、図３５のステップ対応画面Ｇ４２３により、領域末尾文字列が所定の単語、又は、単語群である、という検索ルールを指定する。
ユーザーは、テキスト表示画面Ｇ４３に表示された処理対象テキストデータに基づくテキストを利用して、上述した方法で、キーワードとなる単語、又は、単語群を選択する。
ユーザーにより入力された領域末尾文字列に係る単語、又は、単語群は、ステップ対応画面Ｇ４２３の所定の領域に表示される。図３５では、領域末尾文字列に係る単語、又は、単語群がステップ対応画面Ｇ４２３の所定の領域に表示された様子を示す。
【０２０１】
図３５に示すステップ対応画面Ｇ４２３について、ユーザーは、キーワードを入力した後、ステップ確定ボタンＳＢ、又は、コンファームボタンＣＢを操作する。これらボタンの何れかが操作された場合の制御サーバー制御部４０の処理は、上述したとおりである。
【０２０２】
第２商品情報フレームに係る第９パーサーＰＳ９は、購入数量情報Ｊ６１、商品名情報Ｊ６２、及び、単価情報Ｊ６３の検索に際し、ユーザーに入力された領域先頭文字列と、領域末尾文字列とで挟まれる領域を特定する。次いで、第９パーサーＰＳ９は、特定した領域から、上述した方法で、これら情報の位置を特定する。例えば、第１パターンに係る検索ルールに基づいて処理を実行する場合、制御サーバー制御部４０は、以下の処理を実行する。制御サーバー制御部４０は、第９パーサーＰＳ９の機能により、特定した領域内で、処理対象テキストデータにおける「行」のうち、３つの情報が記述されると共に、各情報が、右に向かって、個数型の情報、任意型の情報、数値型の情報の順番で記述された１又は複数の「行」を特定する。次いで、第９パーサーＰＳ９は、特定した「行」において、先頭に記述された情報を購入数量情報Ｊ６１（個数型の情報）として特定し、次に記述された情報を商品名情報Ｊ６２（任意型の情報）として特定し、その次に記述された情報を単価情報Ｊ６３（数値型の）として特定する。
【０２０３】
以上説明したように、本実施形態によれば、制御サーバー制御部４０（制御部）は、印刷媒体に印刷される情報をテキストで記述された印刷テキストデータ（テキストデータ）として取得し、取得した印刷テキストデータに記述されたテキストを単語に分解し、選択可能な状態で表示させ、選択された１又は複数の単語に基づいて、印刷テキストデータを分析する。
この構成によれば、ユーザーは、印刷テキストデータに基づくテキストを参照しつつ、１又は複数の単語を選択する、という簡易な作業を行って、パーサーＰＳの生成に必要なキーワードを入力でき、簡易にパーサーＰＳを生成することが可能となる。すなわち、制御サーバー１５による印刷テキストデータの分析に際し、ユーザーが行う操作が簡易化する。
【０２０４】
また、本実施形態では、印刷テキストデータには、印刷媒体に情報が印刷されるレイアウトに準じてテキストが配置されており、制御サーバー制御部４０は、レイアウトに準じた状態で、単語に分解したテキストを表示させる。
この構成によれば、ユーザーは、印刷テキストデータに記述された情報の内容、及び、対応するレイアウトを簡易かつ直感的に把握することができ、的確に、キーワードとする１又は複数の単語を選択できる。
【０２０５】
また、本実施形態では、制御サーバー制御部４０は、表示した単語のうち、選択の候補となっている単語に対して、所定の装飾を施す。
この構成によれば、ユーザーは、単語が、選択の候補となったことを的確に認識した上で、所望の単語を的確にキーワードとして選択できる。
【０２０６】
また、本実施形態では、制御サーバー制御部４０は、１の単語が選択された場合、当該１の単語と同一行において、当該１の単語と連続する単語をキーワードとして選択可能な状態とする。
この構成によれば、キーワードとして複数の単語を選択する場合、同一行で連続する単語を選択可能な状況下において、ユーザーに、誤りなくキーワードとする単語を選択させることができる。
【０２０７】
また、本実施形態では、制御サーバー１５は、レシートを発行可能な印刷装置１２に接続される。制御サーバー制御部４０は、レシートに印刷された情報がテキストとして記述された印刷テキストデータを取得する。
この構成によれば、制御サーバー１５は、ユーザーは、簡易な作業を行うことにより、レシートに印刷される情報を分析するプログラム（パーサーＰＳ）を生成できる。すなわち、制御サーバー１５によるレシートに対応する印刷テキストデータの分析に際し、ユーザーが行う操作が簡易化する。
【０２０８】
また、以上説明したように、本実施形態によれば、制御サーバー制御部４０（制御部）は、印刷媒体に印刷される複数の項目の項目値を含む情報をテキストで記述された印刷テキストデータ（テキストデータ）として取得し記複数の項目を選択可能な第１領域Ａ４１（第１の領域）、および、第１領域Ａ４１で選択された項目に対応する項目値を印刷テキストデータから取得する際に使用するルールを指定可能な第２領域Ａ４２を表示させ、第２領域Ａ４２で指定されたルールに基づいて印刷テキストデータを分析し、分析対象となる項目に対応する項目値を取得する。
この構成によれば、第１領域Ａ４１で項目を選択し、第２領域で、選択した項目に対応するルールを指定するという簡易な作業を行って、パーサーＰＳを生成することができる。すなわち、制御サーバー１５による印刷テキストデータの分析に際し、ユーザーが行う操作が簡易化する。
【０２０９】
また、本実施形態では、制御サーバー制御部４０は、第１領域Ａ４１において、複数の項目のうち、項目に対応するルールに従って項目値を取得する処理を実行した場合に、項目値を取得できる状態とすることが求められる項目については、そのことを示すマークＭ４ａ（第１の付加情報）を対応付けて表示する。
この構成によれば、ユーザーは、項目値を取得できる状態とすることが求められる項目について、的確に認識できる。
【０２１０】
また、本実施形態では、制御サーバー制御部４０は、第１領域Ａ４１において、複数の項目のうち、項目に対応するルールに従って項目値を取得する処理を実行した場合に、項目値が取得できないことが検出される項目については、そのことを示すマークＭ４ｂ（第２の付加情報）を対応付けて表示する。
この構成によれば、ユーザーは、現時点で、項目値が取得できない状態の項目について、的確に認識できる。
【０２１１】
また、本実施形態では、第４ユーザーインターフェースＵＩ４は、印刷テキストデータに基づくテキストが表示された第３領域Ａ４３をさらに有する。
この構成によれば、ユーザーは、印刷テキストデータに基づくテキストを参照しつつ、的確に、第２領域Ａ４２への入力を行うことができる。
【０２１２】
また、本実施形態では、印刷テキストデータには、印刷媒体に情報が印刷されるレイアウトに準じてテキストが配置されており、制御サーバー制御部４０は、第３領域Ａ４３に、レイアウトに準じた状態で、印刷テキストデータに基づくテキストを表示させる。
この構成によれば、ユーザーは、印刷テキストデータに記述された情報の内容、及び、対応するレイアウトを簡易かつ直感的に把握できる。
【０２１３】
また、本実施形態では、制御サーバー１５は、レシートを発行可能な印刷装置１２に接続される。制御サーバー制御部４０は、レシートに印刷された情報がテキストとして記述された印刷テキストデータを取得する。
この構成によれば、ユーザーは、簡易な作業を行うことにより、レシートに印刷される情報を分析するプログラム（パーサーＰＳ）を生成できる。すなわち、制御サーバー１５よるレシートに対応する印刷テキストデータの分析に際し、ユーザーが行う操作が簡易化する。
【０２１４】
また、本実施形態では、パーサーＰＳにより取得する対象とする項目値は、レシートが発行されたときの会計における小計に関する情報（小計情報Ｊ７２）、合計に関する情報（合計金額情報Ｊ９２）、又は、購入された商品に関する情報（商品情報Ｊ６）を含む。
この構成によれば、ユーザーは、簡易な作業を行うことにより、レシートに印刷される小計情報Ｊ７２、合計金額情報Ｊ９２、及び、商品情報Ｊ６を取得する処理を実行するプログラム（パーサーＰＳ）を生成できる。
【０２１５】
また、以上説明したように、本実施形態では、制御サーバー制御部４０（制御部）は、印刷媒体に印刷される複数の項目の項目値を含む情報をテキストで記述されたテキストデータとして取得し、前記複数の項目のうちいずれか１つの項目を選択させ、選択された項目に対応する項目値を前記テキストデータから取得するプログラムを生成する際に使用するルールを指定可能な画面を表示させ、前記画面で指定された前記ルールに基づいて前記プログラムを生成する。
この構成によれば、ユーザーは、ステップ対応画面Ｇ４２３に情報を入力するという簡易な作業を行うことにより、パーサーＰＳを生成することができる。
【０２１６】
また、本実施形態では、制御サーバー制御部４０は、選択された項目について、選択された項目の項目値を取得する処理を実行するときに使用するフレーム（ルールの種類）を選択させ、フレームに応じて、選択された項目に対応するルールを指定するための情報を入力させるステップ対応画面Ｇ４２３を表示する。
この構成によれば、ユーザーは、フレームに対応するステップ対応画面Ｇ４２３に情報を入力するという簡易な作業を行うことにより、フレームに対応するパーサーＰＳを生成することができる。
【０２１７】
また、本実施形態では、制御サーバー制御部４０は、選択された項目について、選択された項目の項目値を取得する処理を実行するときに使用するルールが複数ある場合は、各ルールを指定するための情報を入力させるステップ対応画面Ｇ４２３を順番に表示し、ステップ対応画面Ｇ４２３のそれぞれに入力された情報に基づいて、複数のルールを取得し、取得した複数のルールに基づいてパーサーＰＳを生成する。
この構成によれば、ユーザーはステップ対応画面Ｇ４２３に、順次、情報を入力する、という簡易な作業を行うことにより、複数のルールに基づいて項目値を取得する処理を実行するパーサーＰＳを生成できる。
【０２１８】
また、本実施形態では、ステップ対応画面Ｇ４２３は、コンファームボタンＣＢ（所定のボタン。）を有する。制御サーバー制御部４０は、コンファームボタンＣＢが操作されたことを検出した場合、ステップ対応画面Ｇ４２３に入力された情報に基づいてパーサーＰＳを生成し、生成したパーサーＰＳの機能により印刷テキストデータを分析し、分析結果を表示する。
この構成によれば、ユーザーは、分析結果を確認することにより、生成されたパーサーＰＳの分析結果の妥当性を的確に判別できる。
【０２１９】
また、本実施形態では、制御サーバー１５は、レシートを発行可能な印刷装置１２に接続される。制御サーバー制御部４０は、レシートに印刷された情報がテキストとして記述された印刷テキストデータを取得する。
この構成によれば、ユーザーは、簡易な作業を行うことにより、レシートに印刷される情報を分析するプログラム（パーサーＰＳ）を生成できる。
【０２２０】
また、本実施形態では、パーサーＰＳにより取得する対象とする項目値は、レシートが発行されたときの会計における小計に関する情報（小計情報Ｊ７２）、合計に関する情報（合計金額情報Ｊ９２）、又は、購入された商品に関する情報（商品情報Ｊ６）を含む。
この構成によれば、ユーザーは、簡易な作業を行うことにより、レシートに印刷される小計情報Ｊ７２、合計金額情報Ｊ９２、及び、商品情報Ｊ６を取得する処理を実行するプログラム（パーサーＰＳ）を生成できる。
【０２２１】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
また例えば、上述した制御サーバー１５の制御方法（情報処理装置の制御方法）が、制御サーバー１５が備えるコンピューター、又は、制御サーバー１５に接続される外部装置を用いて実現される場合、本発明を、当該方法を実現するためにコンピューターが実行するプログラム、このプログラムをコンピューターで読み取り可能に記録した記録媒体、或いは、このプログラムを伝送する伝送媒体の態様で構成することも可能である。上記記録媒体としては、磁気的、光学的記録媒体又は半導体メモリーデバイスを用いることができる。具体的には、フレキシブルディスク、ＨＤＤ（Hard Disk Drive）、ＣＤ−ＲＯＭ（Compact Disk Read Only Memory）、ＤＶＤ（Digital Versatile Disk）、Ｂｌｕ−ｒａｙ（登録商標）Ｄｉｓｃ、光磁気ディスク、フラッシュメモリー、カード型記録媒体等の可搬型の、或いは固定式の記録媒体が挙げられる。また、上記記録媒体は、制御サーバー１５や、制御サーバー１５に接続された外部装置が備える内部記憶装置であるＲＡＭ（Random Access Memory）、ＲＯＭ（Read Only Memory）、ＨＤＤ等の不揮発性記憶装置でもよい。
また例えば、上述した実施形態では、会計に応じて、印刷装置１２が印刷データに基づいて印刷テキストデータを生成した。しかしながら、制御サーバー１５が、印刷装置１２から印刷データを受信し、受信した印刷データに基づいて印刷テキストデータを生成する構成でもよい。すなわち、印刷テキストデータ（テキストデータ）を生成する主体は、印刷装置１２に限らず、何でもよい。
また例えば、上述した実施形態では、印刷装置１２と、ホストコンピューターとして機能するタブレット端末１３とは、無線通信する構成であった。しかしながら、印刷装置１２とホストコンピューターとは、無線通信に限らず、有線ＬＡＮに係る通信規格や、ＵＳＢ、ＵＳＢ以外のシリアル通信に係る通信規格、パラレル通信に係る規格に従って有線通信する構成でもよい。また、ホストコンピューターは、タブレット端末１３のように、タブレット型の装置に限らず、例えば、据え置き型の装置でもよい。
また、図を用いて説明した各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
【符号の説明】
【０２２２】
１…会計システム、１２…印刷装置、１３…タブレット端末、１５…制御サーバー、２０…タブレット端末制御部、２１…タブレット端末通信部、２２…タッチパネル、２３…タブレット端末記憶部、３０…印刷装置制御部、３１…印刷部、３２…印刷装置記憶部、３３…印刷装置通信部、３４…印刷装置ネットワーク通信部、３５…デバイス通信部、４０…制御サーバー制御部、４１…制御サーバーネットワーク通信部、４２…制御サーバー記憶部、４３…制御サーバー表示部、４４…制御サーバー入力部、２０１…アプリケーション実行部、４２１…パーサー管理データベース、４２２…分析データ管理データベース、４２３…印刷装置管理データベース、ＢＲ…バーコードリーダー、ＣＤ…カスタマーディスプレー、ＪＴ…自動釣銭機。
【図１】
2018018464.tif 000003
【図２】
2018018464.tif 000004
【図３】
2018018464.tif 000005
【図４】
2018018464.tif 000006
【図５Ａ】
2018018464.tif 000007
【図５Ｂ】
2018018464.tif 000008
【図６Ａ】
2018018464.tif 000009
【図６Ｂ】
2018018464.tif 000010
【図７】
2018018464.tif 000011
【図８】
2018018464.tif 000012
【図９】
2018018464.tif 000013
【図１０】
2018018464.tif 000014
【図１１Ａ】
2018018464.tif 000015
【図１１Ｂ】
2018018464.tif 000016
【図１１Ｃ】
2018018464.tif 000017
【図１２】
2018018464.tif 000018
【図１３】
2018018464.tif 000019
【図１４Ａ】
2018018464.tif 000020
【図１４Ｂ】
2018018464.tif 000021
【図１５Ａ】
2018018464.tif 000022
【図１５Ｂ】
2018018464.tif 000023
【図１６】
2018018464.tif 000024
【図１７】
2018018464.tif 000025
【図１８】
2018018464.tif 000026
【図１９】
2018018464.tif 000027
【図２０】
2018018464.tif 000028
【図２１】
2018018464.tif 000029
【図２２】
2018018464.tif 000030
【図２３】
2018018464.tif 000031
【図２４】
2018018464.tif 000032
【図２５】
2018018464.tif 000033
【図２６】
2018018464.tif 000034
【図２７】
2018018464.tif 000035
【図２８】
2018018464.tif 000036
【図２９】
2018018464.tif 000037
【図３０】
2018018464.tif 000038
【図３１】
2018018464.tif 000039
【図３２】
2018018464.tif 000040
【図３３】
2018018464.tif 000041
【図３４】
2018018464.tif 000042
【図３５】
2018018464.tif 000043