(57)【要約】【課題】受信データの構成が不明であっても、その受信データに含まれる印刷データがテンプレートの入力項目に適切に入力された状態にする印刷装置を提供すること。【解決手段】印刷装置１では、ホスト３９からの受信データ５１に含まれているデリミタの個数が、テンプレート４０の各入力項目４１〜４４の個数よりも１つ少ないことを鑑みて、３個と計算する。その個数分と同等な３回に渡って、受信データ５１で周期的に繰り返される文字列を取得して、デリミタの候補とする。さらに、受信データ５１で最後のデリミタの候補以降に位置するデータ群から印刷開始文字列の候補を取得する。そして、仮決定されたデリミタの候補と印刷開始文字列の候補を使用して、受信データ５１に含まれる４個の項目データを推定し、それらの４個の項目データをテンプレート４０の各入力項目４１〜４４に入力された状態の印刷プレビュー６１をＬＣＤ２３に表示する。【選択図】図１
2008114461.tif 000002
【特許請求の範囲】
【請求項１】
複数の入力項目で構成されたテンプレートが記憶されるテンプレート記憶手段と、
受信データを受信する受信手段と、
前記受信データを複数の範囲に区切るための限定データの候補を前記テンプレートの入力項目の個数に基づいて前記受信データから少なくとも１つ取得する限定データ候補取得手段と、
前記限定データの候補に基づいて仮決定を行うデータ候補仮決定手段と、
前記データ候補仮決定手段の仮決定に基づいて前記受信データを複数の区切データに区切りながら当該各区切データを前記テンプレートの各入力項目に入力することにより第１印刷データを作成する第１印刷データ作成手段と、
前記第１印刷データの印刷イメージが表示される表示手段と、を備えたこと、を特徴とする印刷装置。
【請求項２】
請求項１に記載する印刷装置であって、
前記限定データと前記各区切データとはそれぞれ種類が異なること、を特徴とする印刷装置。
【請求項３】
請求項１又は請求項２に記載する印刷装置であって、
第１印刷手段と、
前記表示手段に表示されている第１印刷データの印刷イメージを前記第１印刷手段に印刷させることをユーザが指示する第１入力手段と、を備えたこと、を特徴とする印刷装置。
【請求項４】
請求項１又は請求項２に記載する印刷装置であって、
前記限定データを特定する限定データ特定手段と、
前記表示手段に印刷イメージが表示されている第１印刷データを作成した仮決定に基づき前記限定データ特定手段に対して前記限定データを特定させることをユーザが指示する第２入力手段と、
前記限定データに基づいて前記受信データを複数の区切データに区切りながら当該各区切データを前記テンプレートの各入力項目に入力することにより第２印刷データを作成する第２印刷データ作成手段と、
前記第２印刷データの印刷イメージを印刷する第２印刷手段と、を備えたこと、を特徴とする印刷装置。
【請求項５】
請求項１に記載する印刷装置であって、
前記受信データの終了を示す終了データの候補を前記限定データの候補に基づいて前記受信データから少なくとも１つ取得する終了データ候補取得手段を備え、
前記データ候補仮決定手段は、前記限定データの候補に加えて前記終了データの候補に基づいて仮決定を行うこと、を特徴とする印刷装置。
【請求項６】
請求項５に記載する印刷装置であって、
前記限定データと前記終了データと前記各区切データとはそれぞれ種類が異なること、を特徴とする印刷装置。
【請求項７】
請求項５又は請求項６に記載する印刷装置であって、
第１印刷手段と、
前記表示手段に表示されている第１印刷データの印刷イメージを前記第１印刷手段に印刷させることをユーザが指示する第１入力手段と、を備えたこと、を特徴とする印刷装置。
【請求項８】
請求項５又は請求項６に記載する印刷装置であって、
前記限定データを特定する限定データ特定手段と、
前記終了データを特定する終了データ特定手段と、
前記表示手段に印刷イメージが表示されている第１印刷データを作成した仮決定に基づき前記限定データ特定手段に対して前記限定データを特定させるとともに前記終了データ特定手段に対して前記終了データを特定させることをユーザが指示する第３入力手段と、
前記限定データと前記終了データに基づいて前記受信データを複数の区切データに区切りながら当該各区切データを前記テンプレートの各入力項目に入力することにより第３印刷データを作成する第３印刷データ作成手段と、
前記第３印刷データの印刷イメージを印刷する第３印刷手段と、を備えたこと、を特徴とする印刷装置。
【請求項９】
請求項１乃至請求項８のいずれか一つに記載する印刷装置であって、
前記データ候補仮決定手段に対して仮決定を更新させることをユーザが指示する第４入力手段を備えたこと、を特徴とする印刷装置。
【請求項１０】
請求項１乃至請求項９のいずれか一つに記載する印刷装置であって、
前記第１印刷データ作成手段は、前記区切データの個数が前記テンプレートの入力項目の個数未満であっても前記第１印刷データを作成すること、を特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、受信データが入力項目に入力された状態のテンプレートを印刷する印刷装置に関するものである。
【背景技術】
【０００２】
従来より、印刷装置には、秤、バーコード・リーダ、医療機器などのホストからデータを受信すると、その受信データに含まれる項目データをテンプレートの各入力項目に入力して印刷するものがある。この点、ホストからの受信データには、項目データやデリミタや印刷開始コマンドなどが含まれている。従って、印刷装置では、ホストからの受信データから、項目データやデリミタや印刷開始コマンドなどを自動的に解析させるために、そのホストが使用するデリミタ文字や印刷開始文字などをユーザが予め登録していた。そして、印刷装置では、このような初期設定が行われれば、ホストからデータを受信する度に、その受信データに含まれる項目データやデリミタや印刷開始コマンドなどを自動的に解析できるので、その受信データに含まれる項目データが入力項目に入力されたテンプレートを適切な状態にすることができる。
【０００３】
尚、コンピュータであるホストからの受信データを印刷装置が自動的に解析する技術には、以下に指摘する特許文献１や特許文献２などがある。
【特許文献１】特開平５−１９９９９０号公報
【特許文献２】特開２００４−３３０６８８号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、ホストからの受信データの構成がユーザにとって不明である場合には、そのホストが使用するデリミタ文字や印刷開始文字などをユーザが予め登録することは困難であるので、ホストからのデータを印刷装置が受信しても、その受信データに含まれる項目データやデリミタや印刷開始コマンドなどを正しく区別することができず、その受信データに含まれる項目データが入力項目に入力されたテンプレートを適切な状態にすることができない。
【０００５】
そこで、本発明は、上述した点を鑑みてなされたものであり、印刷装置の受信データの構成がユーザにとって不明であっても、その受信データに含まれる項目データがテンプレートの入力項目に適切に入力された状態にすることが可能な印刷装置を提供することを課題とする。
【課題を解決するための手段】
【０００６】
この課題を解決するために成された請求項１に係る発明は、印刷装置であって、複数の入力項目で構成されたテンプレートが記憶されるテンプレート記憶手段と、受信データを受信する受信手段と、前記受信データを複数の範囲に区切るための限定データの候補を前記テンプレートの入力項目の個数に基づいて前記受信データから少なくとも１つ取得する限定データ候補取得手段と、前記限定データの候補に基づいて仮決定を行うデータ候補仮決定手段と、前記データ候補仮決定手段の仮決定に基づいて前記受信データを複数の区切データに区切りながら当該各区切データを前記テンプレートの各入力項目に入力することにより第１印刷データを作成する第１印刷データ作成手段と、前記第１印刷データの印刷イメージが表示される表示手段と、を備えたこと、を特徴とする。
【０００７】
また、請求項２に係る発明は、請求項１に記載する印刷装置であって、前記限定データと前記各区切データとはそれぞれ種類が異なること、を特徴とする。
【０００８】
また、請求項３に係る発明は、請求項１又は請求項２に記載する印刷装置であって、第１印刷手段と、前記表示手段に表示されている第１印刷データの印刷イメージを前記第１印刷手段に印刷させることをユーザが指示する第１入力手段と、を備えたこと、を特徴とする。
【０００９】
また、請求項４に係る発明は、請求項１又は請求項２に記載する印刷装置であって、前記限定データを特定する限定データ特定手段と、前記表示手段に印刷イメージが表示されている第１印刷データを作成した仮決定に基づき前記限定データ特定手段に対して前記限定データを特定させることをユーザが指示する第２入力手段と、前記限定データに基づいて前記受信データを複数の区切データに区切りながら当該各区切データを前記テンプレートの各入力項目に入力することにより第２印刷データを作成する第２印刷データ作成手段と、前記第２印刷データの印刷イメージを印刷する第２印刷手段と、を備えたこと、を特徴とする。
【００１０】
また、請求項５に係る発明は、請求項１に記載する印刷装置であって、前記受信データの終了を示す終了データの候補を前記限定データの候補に基づいて前記受信データから少なくとも１つ取得する終了データ候補取得手段を備え、前記データ候補仮決定手段は、前記限定データの候補に加えて前記終了データの候補に基づいて仮決定を行うこと、を特徴とする。
【００１１】
また、請求項６に係る発明は、請求項５に記載する印刷装置であって、前記限定データと前記終了データと前記各区切データとはそれぞれ種類が異なること、を特徴とする。
【００１２】
また、請求項７に係る発明は、請求項５又は請求項６に記載する印刷装置であって、第１印刷手段と、前記表示手段に表示されている第１印刷データの印刷イメージを前記第１印刷手段に印刷させることをユーザが指示する第１入力手段と、を備えたこと、を特徴とする。
【００１３】
また、請求項８に係る発明は、請求項５又は請求項６に記載する印刷装置であって、前記限定データを特定する限定データ特定手段と、前記終了データを特定する終了データ特定手段と、前記表示手段に印刷イメージが表示されている第１印刷データを作成した仮決定に基づき前記限定データ特定手段に対して前記限定データを特定させるとともに前記終了データ特定手段に対して前記終了データを特定させることをユーザが指示する第３入力手段と、前記限定データと前記終了データに基づいて前記受信データを複数の区切データに区切りながら当該各区切データを前記テンプレートの各入力項目に入力することにより第３印刷データを作成する第３印刷データ作成手段と、前記第３印刷データの印刷イメージを印刷する第３印刷手段と、を備えたこと、を特徴とする。
【００１４】
また、請求項９に係る発明は、請求項１乃至請求項８のいずれか一つに記載する印刷装置であって、前記データ候補仮決定手段に対して仮決定を更新させることをユーザが指示する第４入力手段を備えたこと、を特徴とする。
【００１５】
また、請求項１０に係る発明は、請求項１乃至請求項９のいずれか一つに記載する印刷装置であって、前記第１印刷データ作成手段は、前記区切データの個数が前記テンプレートの入力項目の個数未満であっても前記第１印刷データを作成すること、を特徴とする。
【発明の効果】
【００１６】
すなわち、本発明の印刷装置では、受信データを受信すると、その受信データを複数の範囲に区切るための限定データの候補がテンプレートの入力項目の個数に基づいてその受信データから少なくとも１つ取得され、その限定データの候補に基づいて仮決定が行われ、その仮決定に基づいてその受信データを複数の区切データに区切りながら当該各区切データをテンプレートの各入力項目に入力することにより第１印刷データが作成され、その第１印刷データの印刷イメージが表示される。従って、その受信データに含まれる各区切データが各入力項目に入力されたテンプレートの印刷イメージをユーザが見ることができるので、その受信データに含まれる各区切データが各入力項目に入力されたテンプレートが適切な状態にあるか否かをユーザが確認することができる。
【００１７】
また、限定データと各区切データとが異なる種類のデータからなるので、限定データと区切データとの区別が明確になり、区別の処理も簡略化できる。限定データの候補の個数を少なくできる可能性がある。
【００１８】
また、本発明の印刷装置において、表示されている第１印刷データの印刷イメージを印刷させることをユーザの指示により行うようにすれば、ユーザは、印刷イメージの確認結果が良好であることを条件としてその指示を行うことにより、その受信データに含まれる各区切データが各入力項目に適切に入力されたテンプレートを印刷させることが可能となる。
【００１９】
また、本発明の印刷装置において、表示されている第１印刷データの印刷イメージを作成した仮決定に基づき限定データを特定させることをユーザの指示により行うようにし、その限定データに基づいてその受信データを複数の区切データに区切りながら当該各区切データをテンプレートの各入力項目に入力することにより第２印刷データを作成するようにし、その第２印刷データの印刷イメージを印刷するようにすれば、ユーザは、１度第２入力手段により限定データを特定した場合、以後の受信データに対し、限定データを特定する操作を繰り返すことなく、その受信データに含まれる各区切データが各入力項目に適切に入力されたテンプレートを印刷させることが可能となる。
【００２０】
さらに、本発明の印刷装置において、受信データの終了を示す終了データの候補をその限定データの候補に基づいてその受信データから少なくとも１つ取得し、その限定データの候補やその終了データの候補に基づいて仮決定を行えば、その仮決定に基づいてその受信データを複数の区切データに区切りながら当該各区切データをテンプレートの各入力項目に入力することにより第１印刷データが作成される。従って、その受信データに含まれる各区切データからその終了データの候補を除くことができるので、その受信データに終了データが含まれていれば、その受信データに含まれる各区切データがテンプレートの各入力項目に適切に入力された状態にある可能性が高くなる。
【００２１】
また、限定データと終了データと各区切データとが異なる種類のデータからなるので、各データ同士の区別が明確になり、区別の処理も簡略化できる。限定データの候補の個数及び、終了データの候補の個数を少なくできる可能性がある。
【００２２】
また、本発明の印刷装置において、表示されている第１印刷データの印刷イメージを印刷させることをユーザの指示により行うようにすれば、ユーザは、印刷イメージの確認結果が良好であることを条件としてその指示を行うことにより、その受信データに含まれる各区切データが各入力項目に適切に入力されたテンプレートを印刷させることが可能となる。
【００２３】
また、本発明の印刷装置において、表示されている第１印刷データの印刷イメージを作成した仮決定に基づき限定データと終了データを特定させることをユーザの指示により行うようにし、その限定データとその終了データに基づいてその受信データを複数の区切データに区切りながら当該各区切データをテンプレートの各入力項目に入力することにより第３印刷データを作成するようにし、その第３印刷データの印刷イメージを印刷するようにすれば、ユーザは、１度第３入力手段により限定データ及び終了データを特定した場合、以後の受信データに対し、限定データ及び終了データを特定する操作を繰り返すことなく、その受信データに含まれる各区切データが各入力項目に適切に入力されたテンプレートを印刷させることが可能となる。
【００２４】
また、本発明の印刷装置において、仮決定を更新させることをユーザの指示により行うようにすれば、ユーザは、印刷イメージの確認結果が良好でないときにその指示を行うことにより、その更新後の仮決定に基づいて作成された第１印刷データの印刷イメージを表示させることができるので、確認結果が良好である印刷イメージを表示させる可能性が高くなる。
【００２５】
尚、本発明の印刷装置において、区切データの個数がテンプレートの入力項目の個数未満であっても第１印刷データが作成されるようにすれば、テンプレートの入力項目に既に入力されているデータなどを活用することができる。
【発明を実施するための最良の形態】
【００２６】
以下、本発明の実施の形態を図面を参照にして説明する。図１は、本発明の一実施形態である印刷装置の特徴を示した図である。図１に示すように、本実施形態の印刷装置１では、４個の入力項目４１、４２、４３、４４を有するテンプレート４０がＦｌａｓｈ ＲＯＭ１４に記憶されており、ホスト３９からの受信データ５１がテンプレート４０の各入力項目４１、４２、４３、４４に入力された状態の印刷プレビュー６１がＬＣＤ２３に表示される。
【００２７】
この点、ホスト３９からの受信データ５１（具体的には、「１００／５０／２００／３５０ＣＲ」）には、テンプレート４０の各入力項目４１、４２、４３、４４にそれぞれ入力される４個の項目データ（具体的には、「１００」「５０」「２００」「３５０」）に加えて、それらの各項目データを限定する３個のデリミタ（具体的には、「／」「／」「／」）や、印刷開始コマンドに相当する印刷開始文字列（具体的には、「ＣＲ」）が含まれている。尚、「ＣＲ」は、キャリッジ・リターン・コードの略号であり、これで１つのコードを示している。ＡＳＣＩＩコードにおける制御コードの１つである。
【００２８】
但し、本実施形態の印刷装置１では、ホスト３９からの受信データ５１に含まれているデリミタや印刷開始文字列を判定できない。そこで、本実施形態の印刷装置１では、ホスト３９からの受信データ５１に含まれているデリミタの個数が、テンプレート４０の各入力項目４１、４２、４３、４４の個数よりも１つ少ないことを鑑みて、ホスト３９からの受信データ５１にデリミタが３個含まれていると計算する。そして、その３個分と同等の３回に渡って、ホスト３９からの受信データ５１で周期的に繰り返される文字列（具体的には、「／」「０／」）を取得して、デリミタの候補とする。さらに、ホスト３９からの受信データ５１で最後のデリミタの候補以降に位置するデータ群（具体的には、「３５０ＣＲ」）から印刷開始文字列の候補（具体的には、「ＣＲ」「０ＣＲ」「５０ＣＲ」「３５０ＣＲ」）を取得する。
【００２９】
そして、デリミタの候補と印刷開始文字列の候補とをそれぞれ仮決定し、その仮決定されたデリミタの候補と印刷開始文字列の候補を使用して、ホスト３９からの受信データ５１に含まれる４個の項目データを推定し、それらの４個の項目データをテンプレート４０の各入力項目４１、４２、４３、４４に入力された状態の印刷プレビュー６１をＬＣＤ２３に表示させる。
【００３０】
このとき、ＬＣＤ２３に表示された印刷プレビュー６１が適切な状態にあれば、操作キー２１をユーザが操作することにより、印刷プレビュー６１のイメージ通りに印字テープ５２を印刷する。
【００３１】
尚、仮決定されるデリミタの候補と印刷開始文字列の候補の組合せは、ここでは、デリミタの候補（具体的には、「／」「０／」）が２個で印刷開始文字列の候補（具体的には、「ＣＲ」「０ＣＲ」「５０ＣＲ」「３５０ＣＲ」）が４個であるから、合計８個（＝２個×４個）となる。従って、ＬＣＤ２３に表示される印刷プレビューも８通りあることになる。そこで、図２に、８通りの印刷プレビューを示した。
【００３２】
印刷プレビュー６１Ａは、デリミタの候補として「／」が印刷開始文字列の候補として「ＣＲ」がそれぞれ仮決定された場合にＬＣＤ２３に表示される。図１に示された印刷プレビュー６１である。
印刷プレビュー６１Ｂは、デリミタの候補として「／」が印刷開始文字列の候補として「０ＣＲ」がそれぞれ仮決定された場合にＬＣＤ２３に表示される。
印刷プレビュー６１Ｃは、デリミタの候補として「／」が印刷開始文字列の候補として「５０ＣＲ」がそれぞれ仮決定された場合にＬＣＤ２３に表示される。
印刷プレビュー６１Ｄは、デリミタの候補として「／」が印刷開始文字列の候補として「３５０ＣＲ」がそれぞれ仮決定された場合にＬＣＤ２３に表示される。
【００３３】
印刷プレビュー６１Ｅは、デリミタの候補として「０／」が印刷開始文字列の候補として「ＣＲ」がそれぞれ仮決定された場合にＬＣＤ２３に表示される。
印刷プレビュー６１Ｆは、デリミタの候補として「０／」が印刷開始文字列の候補として「０ＣＲ」がそれぞれ仮決定された場合にＬＣＤ２３に表示される。
印刷プレビュー６１Ｇは、デリミタの候補として「０／」が印刷開始文字列の候補として「５０ＣＲ」がそれぞれ仮決定された場合にＬＣＤ２３に表示される。
印刷プレビュー６１Ｈは、デリミタの候補として「０／」が印刷開始文字列の候補として「３５０ＣＲ」がそれぞれ仮決定された場合にＬＣＤ２３に表示される。
【００３４】
この点、図１に示した印刷装置１では、操作キー２１をユーザが操作すれば、仮決定されるデリミタの候補と印刷開始文字列の候補の組合せが更新される。従って、操作キー２１の操作をユーザが繰り返せば、８通りの印刷プレビュー６１を一つずつ順番でＬＣＤ２３に表示させることができる。そして、ＬＣＤ２３に表示された印刷プレビュー６１が適切な状態にあれば、操作キー２１をユーザが操作することにより、その適切な状態にある印刷プレビュー６１のイメージ通りの印字テープ５２を印刷することができる。
【００３５】
尚、各印刷プレビュー６１の上端部には、それぞれの印刷プレビュー６１を特定するための分数表示がなされている。例えば、印刷プレビュー６１Ａの上端部に分数表示されている「１／８」とは、８通りの中の１通り目の印刷プレビューであることを示している。また、印刷プレビュー６１Ｂの上端部に分数表示されている「２／８」とは、８通りの中の２通り目の印刷プレビューであることを示している。以下、印刷プレビュー６１Ｃ、６１Ｄ、６１Ｅ、６１Ｆ、６１Ｇ、６１Ｈの上端部にそれぞれ分数表示されている「３／８」、「４／８」、「５／８」、「６／８」、「７／８」、「８／８」についても、同様である。
【００３６】
次に、本実施形態の印刷装置１の構成について説明する。図３は、本実施形態の印刷装置１の外観斜視図である。図３に示すように、本実施形態の印刷装置１は、ハンディタイプのラベルプリンタであって、本体筐体２に対して、指令キー３や、上キー４、下キー５、複数のキーからなる編集キー６、印字テープ５２をカットする手動レバー７、ホスト３９と接続するケーブルのコネクタが差し込まれる接続ポート８等が設けられている。尚、指令キー３や、上キー４、下キー５、編集キー６により、操作キー２１が構成される。
【００３７】
図４は、本実施形態の印刷装置１の制御系を示した図である。本実施形態の印刷装置１では、入出力インターフェース１１に対して、後述する各プログラムなどを実行するＣＰＵ１２や、ＲＯＭ１３、Ｆｌａｓｈ ＲＯＭ１４、ＲＡＭ１５等が接続されている。
【００３８】
この点、ＲＯＭ１３には、後述する各プログラムなどが記憶される。また、Ｆｌａｓｈ ＲＯＭ１４には、テンプレート４０に関する情報などが記憶される。また、ＲＡＭ１５には、印刷バッファ１６及びテキストバッファ１７が確保されるとともに、ＣＰＵ１２が各プログラムなどを実行する際に使用するワークエリアも確保される。そのワークエリアには、モードフラグや、変数ｘ、変数ｙ、変数ｉ、変数ｊなどが設けられる。
【００３９】
また、本実施形態の印刷装置１では、入出力インターフェース１１に対して、操作キー２１や、ＬＣＤ２３に表示データを出力するための表示用ＲＡＭを備えたディスプレイコントローラ（以下、ＬＣＤＣという）２２、サーマルヘッド２５を駆動するための駆動回路２４、印字カセット内の印字テープ５２を外部に送り出すテープ送りモータ２７を駆動するための駆動回路２６等が接続されている。また、ホスト３９も、接続ポート８にコネクタが差し込まれたケーブルを介して、入出力インターフェース１１に接続される。
【００４０】
次に、本実施形態の印刷装置１の制御動作について説明する。図５は、メインプログラムのフローチャートを示した図である。
すなわち、ＣＰＵ１２は、メインプログラムを読み出して実行すると、図５に示すように、先ず、Ｓ１１において、ホスト３９からデータを受信したか否かを判定する。ここで、ホスト３９からデータを受信したと判定した場合には（Ｓ１１：ＹＥＳ）、後述するＳ１２のデータ処理を実行した後に、このＳ１１に戻る。尚、ＣＰＵ１２は、ホスト３９からの受信データ５１をＲＡＭ１５のワークエリアに記憶しておく。一方、ホスト３９からデータを受信していないと判定した場合には（Ｓ１１：ＮＯ）、Ｓ１３に進む。
【００４１】
Ｓ１３では、ＣＰＵ１２は、編集用キーがユーザにより操作されたか否かを判定する。この点、編集用キーとは、指令キー３を除いた操作キー２１をいう。ここで、編集用キーがユーザにより操作されたと判定した場合には（Ｓ１３：ＹＥＳ）、Ｓ１４に進んで、ユーザによる編集用キーの操作を介して文章入力が行われた後に、上述したＳ１１に戻る。尚、ユーザによる編集用キーの操作を介した文章入力は、印刷内容を入力・編集するものであるが、公知であるので、その詳細な説明は省略する。一方、編集用キーがユーザにより操作されていないと判定した場合には（Ｓ１３：ＮＯ）、Ｓ１５に進む。
【００４２】
Ｓ１５では、ＣＰＵ１２は、モードキーがユーザにより操作されたか否かを判定する。この点、モードキーとは、指令キー３をいう。ここで、モードキーがユーザにより操作されたと判定した場合には（Ｓ１５：ＹＥＳ）、後述するＳ１６のモード処理を実行した後に、上述したＳ１１に戻る。一方、モードキーがユーザにより操作されていないと判定した場合には（Ｓ１５：ＮＯ）、Ｓ１７に進んで、その他の処理を実行した後、上述したＳ１１に戻る。
【００４３】
次に、上述したＳ１６のモード処理について説明する。図６は、モード処理のフローチャートを示した図である。
すなわち、ＣＰＵ１２は、上記メインプログラムでＳ１６のモード処理を実行すると、図６に示すように、先ず、Ｓ２１において、モードフラグはＯＮであるか否かを判定する。モードフラグは、ＲＡＭ１５のワークエリアに確保され、初期状態はＯＦＦである。このとき、モードフラグはＯＮであると判定した場合には（Ｓ２１：ＹＥＳ）、Ｓ２２に進む。Ｓ２２では、ＣＰＵ１２は、モードフラグはＯＦＦとし、その後に、上記メインプログラムのＳ１１に戻る。一方、モードフラグはＯＮでないと判定した場合には（Ｓ２１：ＮＯ）、Ｓ２３に進む。Ｓ２３では、ＣＰＵ１２は、モードフラグはＯＮとし、その後に、上記メインプログラムのＳ１１に戻る。
【００４４】
次に、上記メインプログラムのＳ１２のデータ処理について説明する。図７は、データ処理のフローチャートを示した図である。
すなわち、ＣＰＵ１２は、上記メインプログラムでＳ１２のデータ処理を実行すると、図７に示すように、先ず、Ｓ３１において、モードフラグはＯＮであるか否かを判定する。
ここで、モードフラグはＯＮであると判定した場合には（Ｓ３１：ＹＥＳ）、Ｓ３２に進む。Ｓ３２では、ＣＰＵ１２は、後述する印刷コマンド解析処理を実行し、その後に、上記メインプログラムのＳ１１に戻る。一方、モードフラグはＯＮでないと判定した場合には（Ｓ３１：ＮＯ）、Ｓ３３に進む。Ｓ３３では、ＣＰＵ１２は、後述する印刷データ作成処理を実行し、その後に、Ｓ３４に進む。Ｓ３４では、ＣＰＵ１２は、通常印刷を行い、その後に、上記メインプログラムのＳ１１に戻る。尚、通常印刷では、ＣＰＵ１２は、駆動回路２６を介してテープ送りモータ２７を駆動させることによって印字カセット内の印字テープ５２を外部に送り出しつつ、駆動回路２４を介して駆動させたサーマルヘッド２５によって、印字カセット内の印字テープ５２に対し印刷バッファに１６に展開された印刷イメージを印刷させる。
【００４５】
次に、上記図７のデータ処理におけるＳ３２の印刷コマンド解析処理について説明する。図８は、印刷コマンド解析処理のフローチャートを示した図である。
すなわち、ＣＰＵ１２は、上記図７のデータ処理におけるＳ３２の印刷コマンド解析処理を実行すると、図８に示すように、先ず、Ｓ４１において、テンプレート４０からデリミタの個数を取得する。図１の場合では、ＣＰＵ１２は、テンプレート４０の入力項目４１、４２、４３、４４の個数（４個）よりも１個少ない個数（３個）を、ホスト３０からの受信データ５１に含まれるデリミタの個数とする。
【００４６】
尚、テンプレート４０は、上記図５のメインプログラムにおけるＳ１７のその他の処理において選択される。
【００４７】
その後、ＣＰＵ１２は、Ｓ４２に進んで、デリミタの個数が２個以上であるか否かを判定する。ここで、デリミタの個数が２個未満であると判定した場合には（Ｓ４２：ＮＯ）、後述するＳ４６のデリミタ文字列候補決定処理に進む。一方、デリミタの個数が２個以上であると判定した場合には（Ｓ４２：ＹＥＳ）、Ｓ４３に進む。図１の場合では、ホスト３０からの受信データ５１は、上記Ｓ４１によりデリミタの個数が３個とされるので、Ｓ４３に進むことになる。
【００４８】
Ｓ４３では、ＣＰＵ１２は、ホスト３０からの受信データ５１において、デリミタの個数だけの文字列が周期的に存在するか否かを判定する。ここで、デリミタの個数だけの文字列が周期的に存在すると判定した場合には（Ｓ４３：ＹＥＳ）、後述するＳ４６のデリミタ文字列候補決定処理に進む。図１の場合では、「／」又は「０／」の文字列が該当するので、後述するＳ４６のデリミタ文字列候補決定処理に進むことになる。一方、デリミタの個数だけの文字列が周期的に存在しないと判定した場合には（Ｓ４３：ＮＯ）、Ｓ４４に進む。
【００４９】
Ｓ４４では、ＣＰＵ１２は、ＬＣＤ２３にエラー表示を行う。その後は、ＣＰＵ１２は、Ｓ４５において、操作キー２１を構成するいずれかのキーが押下されたと判定するまで待機し（Ｓ４５：ＮＯ）、操作キー２１を構成するいずれかのキーが押下されたと判定した場合には（Ｓ４５：ＹＥＳ）、上記メインプログラムのＳ１１に戻る。
【００５０】
一方、上記Ｓ４２でデリミタの個数が２個未満であると判定した場合や（Ｓ４２：ＮＯ）、上記Ｓ４３でデリミタの個数だけの文字列が周期的に存在すると判定した場合には（Ｓ４３：ＹＥＳ）、Ｓ４６のデリミタ文字列候補決定処理に進む。そこで、Ｓ４６のデリミタ文字列候補決定処理について説明する。図９は、デリミタ文字列候補決定処理のフローチャートを示した図である。
【００５１】
すなわち、ＣＰＵ１２は、Ｓ４６のデリミタ文字列候補決定処理を実行すると、図９に示すように、Ｓ６１において、デリミタの候補を検索してＲＡＭ１５のワークエリアに記憶するとともに、検索されたデリミタの候補の個数を、ＲＡＭ１５のワークエリアに確保された変数ｘに格納する。尚、デリミタの候補は、上記図８のＳ４３で判定の対象とされる文字列である。従って、図１の場合では、「／」又は「０／」がデリミタの候補であり、その個数は２個である。
【００５２】
その後に、ＣＰＵ１２は、上記図８の印刷コマンド解析処理に戻って、Ｓ４７の印刷開始文字列候補決定処理に進む。そこで、Ｓ４７の印刷開始文字列候補決定処理について説明する。図１０は、印刷開始文字列候補決定処理のフローチャートを示した図である。
【００５３】
すなわち、ＣＰＵ１２は、Ｓ４７の印刷開始文字列候補決定処理を実行すると、図１０に示すように、Ｓ７１において、印刷開始文字列の候補を検索してＲＡＭ１５のワークエリアに記憶するとともに、検索された印刷開始文字列の個数を、ＲＡＭ１５のワークエリアに確保された変数ｙに格納する。尚、印刷開始文字列の候補は、上述したように、受信データにおいて最後のデリミタの候補以降に位置するデータ群から取得される。この点、図１の場合では、「／」又は「０／」がデリミタの候補であることを考慮すると、「ＣＲ」「０ＣＲ」「５０ＣＲ」「３５０ＣＲ」が印刷開始文字列の候補であり、その個数は４個である。
【００５４】
その後は、ＣＰＵ１２は、上記図８の印刷コマンド解析処理に戻って、Ｓ４８の表示変数初期化処理に進む。そこで、Ｓ４８の表示変数初期化処理について説明する。図１１は、表示変数初期化処理のフローチャートを示した図である。
【００５５】
すなわち、ＣＰＵ１２は、Ｓ４８の表示変数初期化処理を実行すると、図１１に示すように、先ず、Ｓ８１において、ＲＡＭ１５のワークエリアに確保された変数ｉを初期化する。このとき、ＣＰＵ１２は、デリミタの候補と変数ｉの対応関係を定義し、ＲＡＭ１５のワークエリアに記憶する。図１の場合では、例えば、デリミタの候補「／」に対して「０」を変数ｉの値として対応させ、デリミタの候補「０／」に対して「１」を変数ｉの値として対応させる。次に、ＣＰＵ１２は、Ｓ８２に進むと、ＲＡＭ１５のワークエリアに確保された変数ｊを初期化する。このとき、ＣＰＵ１２は、印刷開始文字列の候補と変数ｊの対応関係を定義し、ＲＡＭ１５のワークエリアに記憶する。図１の場合では、例えば、印刷開始文字列の候補「ＣＲ」に対して「０」を変数ｊの値として対応させ、印刷開始文字列の候補「０ＣＲ」に対して「１」を変数ｊの値として対応させ、印刷開始文字列の候補「５０ＣＲ」に対して「２」を変数ｊの値として対応させ、印刷開始文字列の候補「３５０ＣＲ」に対して「３」を変数ｊの値として対応させる。
尚、変数ｉと変数ｊは初期化されると、「０」が代入される。
【００５６】
また、変数ｉと変数ｊの値は、印刷プレビュー６１の上端部での分数表示（図２参照）を行う際にも活用される。
【００５７】
その後は、ＣＰＵ１２は、上記図８の印刷コマンド解析処理に戻って、Ｓ４９の印刷プレビュー表示処理に進む。そこで、Ｓ４９の印刷プレビュー表示処理について説明する。図１２は、印刷プレビュー表示処理のフローチャートを示した図である。
【００５８】
すなわち、ＣＰＵ１２は、Ｓ４９の印刷プレビュー表示処理を実行すると、図１２に示すように、Ｓ９１において、デリミタと印刷開始文字列の仮決定を行う。ここでは、変数ｉの値に対応するデリミタの候補を仮決定するとともに、変数ｊの値に対応する印刷開始文字列の候補を仮決定する。例えば、変数ｉの値が「０」である場合には、それに対応する「／」のデリミタの候補が仮決定される。また、変数ｊの値が「０」である場合には、それに対応する「ＣＲ」の印刷開始文字列の候補が仮決定される。
【００５９】
そして、ＣＰＵ１２は、Ｓ９２に進むと、印刷データの作成を行う。すなわち、ＣＰＵ１２は、受信データをその先頭から順にテンプレート４０の入力項目４１に入力し、その入力は、仮決定されたデリミタの候補（１個目）の直前に位置するデータまで行う。そして、受信データをそのデリミタの候補（１個目）の直後のデータから順にテンプレート４０の入力項目４２に入力し、その入力は、仮決定されたデリミタの候補（２個目）の直前に位置するデータまで行う。そして、受信データをそのデリミタの候補（２個目）の直後のデータから順にテンプレート４０の入力項目４３に入力し、その入力は、仮決定されたデリミタの候補（３個目）の直前に位置するデータまで行う。さらに、受信データをそのデリミタの候補（３個目）の直後のデータから順にテンプレート４０の入力項目４３に入力し、その入力は、仮決定された印刷開始文字列の候補の直前に位置するデータまで行う。そして、ＣＰＵ１２は、このように作成した印刷データをテキストバッファ１７に格納する。その後、ＣＰＵ１２は、この印刷データに基づいて印刷イメージを印刷バッファ１６に展開する。
【００６０】
その後、ＣＰＵ１２は、Ｓ９３に進むと、印刷バッファ１６に展開された印刷イメージの印刷プレビューをＬＣＤ２３に表示する。
【００６１】
具体的に言えば、図１の場合において、「／」のデリミタの候補が仮決定され、「ＣＲ」の印刷開始文字列の候補が仮決定されたときには、ホスト３９からの受信データ５１（「１００／５０／２００／３５０ＣＲ」）をその先頭データの「１」から順にテンプレート４０の入力項目４１に入力し、その入力は、仮決定された「／」のデリミタの候補（１個目）の直前に位置するデータの「０」まで行う。その結果、テンプレート４０の入力項目４１には、「１００」のデータが入力される。そして、ホスト３９からの受信データ５１（「１００／５０／２００／３５０ＣＲ」）を、その「／」のデリミタの候補（１個目）の直後に位置するデータの「５」から順にテンプレート４０の入力項目４２に入力し、その入力は、仮決定された「／」のデリミタの候補（２個目）の直前に位置するデータの「０」まで行う。その結果、テンプレート４０の入力項目４２には、「５０」のデータが入力される。そして、ホスト３９からの受信データ５１（「１００／５０／２００／３５０ＣＲ」）を、その「／」のデリミタの候補（２個目）の直後に位置するデータの「２」から順にテンプレート４０の入力項目４３に入力し、その入力は、仮決定された「／」のデリミタの候補（３個目）の直前に位置するデータの「０」まで行う。その結果、テンプレート４０の入力項目４３には、「２００」のデータが入力される。さらに、ホスト３９からの受信データ５１（「１００／５０／２００／３５０ＣＲ」）を、その「／」のデリミタの候補（３個目）の直後に位置するデータの「３」から順にテンプレート４０の入力項目４３に入力し、その入力は、仮決定された「ＣＲ」の印刷開始文字列の候補の直前に位置するデータの「０」まで行う。その結果、テンプレート４０の入力項目４４には、「３５０」のデータが入力される。
そして、このように作成した印刷データがテキストバッファ１７に格納され、この印刷データに基づいて作成された印刷イメージが印刷バッファ１６に展開され、この印刷イメージの印刷プレビュー６１ＡがＬＣＤ２３に表示される。
【００６２】
その後は、ＣＰＵ１２は、上記図８の印刷コマンド解析処理に戻って、Ｓ５０に進む。Ｓ５０では、ＣＰＵ１２は、操作キー２１を構成するいずれかのキーが押下されたと判定するまで待機し（Ｓ５０：ＮＯ）、操作キー２１を構成するいずれかのキーが押下されたと判定した場合には（Ｓ５０：ＹＥＳ）、Ｓ５１に進む。
【００６３】
Ｓ５１では、ＣＰＵ１２は、上記Ｓ５０で押下された操作キー２１がＯＫキーであるか否かを判定する。ＯＫキーとは、指令キー３である（上記モードキーと併用）。ここで、上記Ｓ５０で押下された操作キー２１がＯＫキーでないと判定した場合には（Ｓ５１：ＮＯ）、Ｓ５２に進む。
【００６４】
Ｓ５２では、ＣＰＵ１２は、上キー４又は下キー５が押下されたか否かを判定する。ここで、上キー４及び下キー５のいずれも押下されていないと判定した場合には（Ｓ５２：ＮＯ）、上述したＳ４９に戻る。一方、上キー４又は下キー５のいずれかが押下されたと判定した場合には（Ｓ５２：ＹＥＳ）、Ｓ５３の表示更新処理に進む。
【００６５】
そこで、Ｓ５３の表示更新処理について説明する。図１３は、表示更新処理のフローチャートを示した図である。
【００６６】
すなわち、ＣＰＵ１２は、Ｓ５３の表示更新処理を実行すると、図１３に示すように、Ｓ１０１において、上キー４が押下されたか否かを判定する。ここで、上キー４が押下されたと判定した場合には（Ｓ１０１：ＹＥＳ）、Ｓ１０２に進む。Ｓ１０２では、ＣＰＵ１２は、変数ｘの値から「１」を減算した値より変数ｉの値が小さいか否かを判定する。ここで、変数ｘの値から「１」を減算した値より変数ｉの値が小さいと判定した場合には（Ｓ１０２：ＹＥＳ）、Ｓ１０３に進む。Ｓ１０３では、ＣＰＵ１２は、変数ｉをインクリメントし、その後に、上記図８の印刷コマンド解析処理に戻って、Ｓ４９の印刷プレビュー表示処理に進む。
【００６７】
一方、上記Ｓ１０２において、変数ｘの値から「１」を減算した値より変数ｉの値が等しい又は大きいと判定した場合には（Ｓ１０２：ＮＯ）、Ｓ１０４に進む。Ｓ１０４では、ＣＰＵ１２は、変数ｙの値から「１」を減算した値より変数ｊの値が小さいか否かを判定する。ここで、変数ｙの値から「１」を減算した値より変数ｊの値が小さいと判定した場合には（Ｓ１０４：ＹＥＳ）、Ｓ１０５に進む。Ｓ１０５では、ＣＰＵ１２は、変数ｉを初期化するとともに、変数ｊをインクリメントし、その後に、上記図８の印刷コマンド解析処理に戻って、Ｓ４９の印刷プレビュー表示処理に進む。
【００６８】
一方、上記Ｓ１０４において、変数ｙの値から「１」を減算した値より変数ｊの値が等しい又は大きいと判定した場合には（Ｓ１０４：ＮＯ）、Ｓ１０６に進む。Ｓ１０６では、ＣＰＵ１２は、変数ｉと変数ｊを初期化し、その後に、上記図８の印刷コマンド解析処理に戻って、Ｓ４９の印刷プレビュー表示処理に進む。
【００６９】
一方、上記Ｓ１０１において、上キー４が押下されていないと判定した場合には（Ｓ１０１：ＮＯ）、Ｓ１０７に進む。Ｓ１０７では、ＣＰＵ１２は、変数ｉの値が「０」より大きいか否かを判定する。ここで、変数ｉの値が「０」より大きいと判定した場合には（Ｓ１０７：ＹＥＳ）、Ｓ１０８に進む。Ｓ１０８では、ＣＰＵ１２は、変数ｉをデクリメントし、その後に、上記図８の印刷コマンド解析処理に戻って、Ｓ４９の印刷プレビュー表示処理に進む。
【００７０】
一方、上記Ｓ１０７において、変数ｉの値が「０」であると判定した場合には（Ｓ１０７：ＮＯ）、Ｓ１０９に進む。Ｓ１０９では、ＣＰＵ１２は、変数ｊの値が「０」より大きいか否かを判定する。ここで、変数ｊの値が「０」より大きいと判定した場合には（Ｓ１０９：ＹＥＳ）、Ｓ１１０に進む。Ｓ１１０では、ＣＰＵ１２は、変数ｘの値から「１」を減算した値を変数ｉに代入するとともに変数ｊをデクリメントし、その後に、上記図８の印刷コマンド解析処理に戻って、Ｓ４９の印刷プレビュー表示処理に進む。
【００７１】
一方、Ｓ１０９において、変数ｊの値が「０」であると判定した場合には（Ｓ１０９：ＮＯ）、Ｓ１１１に進む。Ｓ１１１では、ＣＰＵ１２は、変数ｘの値から「１」を減算した値を変数ｉに代入するとともに変数ｙの値から「１」を減算した値を変数ｊに代入し、その後に、上記図８の印刷コマンド解析処理に戻って、Ｓ４９の印刷プレビュー表示処理に進む。
【００７２】
従って、図１の場合において、この表示更新処理が実行されると、上キー４又は下キー５の押下を行うことにより、変数ｉと変数ｊの各値（ｉ、ｊ）が、（０、０）、（０、１）、（０、２）、（０、３）、（１、０）、（１、１）、（１、２）、（１、３）のいずれかの組合せになる。よって、この表示更新処理が実行されたことによって、変数ｉと変数ｊの各値（ｉ、ｊ）が変更され、その後に、上記図８の印刷コマンド解析処理に戻って、Ｓ４９の印刷プレビュー表示処理に進んで、図１２のＳ９１が実行されると、デリミタと印刷開始文字列の仮決定が更新される。
【００７３】
上記図８の印刷コマンド解析処理に戻り、上記Ｓ５１において、上記Ｓ５０で押下された操作キー２１がＯＫキーであると判定した場合には（Ｓ５１：ＹＥＳ）、Ｓ５４に進む。Ｓ５４では、ＣＰＵ１２は、現在仮決定されているデリミタの候補をデリミタとして設定するとともに、現在仮決定されている印刷開始文字列の候補を印刷開始文字列として設定する。その後は、上記図５のメインプログラムのＳ１１に戻る。
【００７４】
次に、上記図７のデータ処理におけるＳ３３の印刷データ作成処理について説明する。図１４は、印刷データ作成処理のフローチャートを示した図である。
すなわち、ＣＰＵ１２は、Ｓ３３の印刷データ作成処理を実行すると、図１４に示すように、先ず、Ｓ１２１において、デリミタと印刷開始文字列を取得する。このとき、取得されるデリミタと印刷開始文字列は、上記Ｓ５４で設定されたデリミタと印刷開始文字列である。
【００７５】
その後は、ＣＰＵ１２は、Ｓ１２２に進んで、印刷データの作成を行う。すなわち、ＣＰＵ１２は、受信データをその先頭から順にテンプレート４０の入力項目４１に入力し、その入力は、取得されたデリミタ（１個目）の直前に位置するデータまで行う。そして、受信データをそのデリミタ（１個目）の直後のデータから順にテンプレート４０の入力項目４２に入力し、その入力は、取得されたデリミタ（２個目）の直前に位置するデータまで行う。そして、受信データをそのデリミタ（２個目）の直後のデータから順にテンプレート４０の入力項目４３に入力し、その入力は、取得されたデリミタ（３個目）の直前に位置するデータまで行う。さらに、受信データをそのデリミタ（３個目）の直後のデータから順にテンプレート４０の入力項目４３に入力し、その入力は、取得された印刷開始文字列の直前に位置するデータまで行う。そして、ＣＰＵ１２は、このように作成した印刷データをテキストバッファ１７に格納する。その後、ＣＰＵ１２は、この印刷データに基づいて印刷イメージを印刷バッファ１６に展開する。
【００７６】
具体的に言えば、図１の場合において、「／」のデリミタが設定され、「ＣＲ」の印刷開始文字列が設定されたときには、ホスト３９からの受信データ５１（「１００／５０／２００／３５０ＣＲ」）をその先頭データの「１」から順にテンプレート４０の入力項目４１に入力し、その入力は、設定された「／」のデリミタ（１個目）の直前に位置するデータの「０」まで行う。その結果、テンプレート４０の入力項目４１には、「１００」のデータが入力される。そして、ホスト３９からの受信データ５１（「１００／５０／２００／３５０ＣＲ」）を、その「／」のデリミタ（１個目）の直後に位置するデータの「５」から順にテンプレート４０の入力項目４２に入力し、その入力は、設定された「／」のデリミタ（２個目）の直前に位置するデータの「０」まで行う。その結果、テンプレート４０の入力項目４２には、「５０」のデータが入力される。そして、ホスト３９からの受信データ５１（「１００／５０／２００／３５０ＣＲ」）を、その「／」のデリミタ（２個目）の直後に位置するデータの「２」から順にテンプレート４０の入力項目４３に入力し、その入力は、設定された「／」のデリミタ（３個目）の直前に位置するデータの「０」まで行う。その結果、テンプレート４０の入力項目４３には、「２００」のデータが入力される。さらに、ホスト３９からの受信データ５１（「１００／５０／２００／３５０ＣＲ」）を、その「／」のデリミタ（３個目）の直後に位置するデータの「３」から順にテンプレート４０の入力項目４３に入力し、その入力は、設定された「ＣＲ」の印刷開始文字列の直前に位置するデータの「０」まで行う。その結果、テンプレート４０の入力項目４４には、「３５０」のデータが入力される。そして、このように作成された印刷データは、テキストバッファ１７に格納され、この印刷データに基づいて作成された印刷イメージが印刷バッファ１６に展開される。
【００７７】
その後は、上記図７のデータ処理に戻って、Ｓ３４に進む。Ｓ３４では、上述したようにして、印刷バッファに１６に展開された印刷イメージが印字テープ５２に印刷される。その後は、上記図５のメインプログラムのＳ１１に戻る。
【００７８】
以上詳細に説明したように、本実施形態の印刷装置１においては、ホスト３９からの受信データ５１（具体的には、「１００／５０／２００／３５０ＣＲ」）があると（Ｓ１１：ＹＥＳ）、その受信データ５１を複数の範囲に区切るためのデリミタの候補が、その受信データ５１から取得される（Ｓ６１）。この点、その受信データ５１に含まれているデリミタの個数（３個）は、テンプレート４０の入力項目４１、４２、４３、４４の個数（４個）よりも１個少ないはずである。そこで、テンプレート４０の入力項目４１、４２、４３、４４の個数（４個）に基づいて算出されるデリミタの個数（３個）分と同等な回数（３回）だけ、その受信データ５１において周期的に繰り返される文字列（具体的には、「／」「０／」）が検索され、デリミタの候補とされる。
【００７９】
さらに、その受信データ５１の終了を示す印刷開始文字列の候補（具体的には、「ＣＲ」「０ＣＲ」「５０ＣＲ」「３５０ＣＲ」）が、その受信データ５１において最後のデリミタの候補以降に位置するデータ群（具体的には、「３５０ＣＲ」）から取得される（Ｓ７１）。その後、デリミタの候補と印刷開始文字列の候補がそれぞれ一つ仮決定される（Ｓ９１）。そして、それぞれ一つに仮決定されたデリミタの候補と印刷開始文字列の候補に基づいて、その受信データ５１が区切られながらテンプレート４０の入力項目４１、４２、４３、４４に入力されることにより、印刷データが作成される。その作成された印刷データから印刷イメージが作成され、この印刷イメージが印刷バッファ１６に展開される（Ｓ９２）。その印刷プレビュー６１がＬＣＤ２３に表示される（Ｓ９３）。
【００８０】
従って、ユーザは、ＬＣＤ２３に表示された印刷プレビュー６１を見れば、仮決定されたデリミタの候補と印刷開始文字列の候補に基づく印刷データの作成が適切であるか否かを確認することができる。
【００８１】
また、印刷開始文字列の候補に基づいて印刷データの作成が行われていることから、テンプレート４０の入力項目４１、４２、４３、４４に対し、受信データ５１の印刷開始文字列が入力されることはない。従って、作成された印字データは、その受信データ５１がテンプレート４０の入力項目４１、４２、４３、４４に適切に入力された状態にある可能性が高くなる。
【００８２】
また、本実施形態の印刷装置１においては、上キー４又は下キー５をユーザが押下すれば（Ｓ５２：ＹＥＳ）、デリミタの各候補に対応付けられた変数ｉの値又は印刷開始文字列の各候補に対応付けられた変数ｊの値が変更されることにより（Ｓ５３）、それぞれ一つに仮決定されたデリミタの候補又は印刷開始文字列の候補も変更される（Ｓ９１）。そして、この変更されたデリミタの候補又は印刷開始文字列の候補に基づいて新たな印刷データが作成される。その作成された新たな印刷データから印刷イメージが作成され、この印刷イメージが印刷バッファ１６に展開される（Ｓ９２）。その印刷プレビュー６１がＬＣＤ２３に表示される（Ｓ９３）。
【００８３】
従って、ユーザは、ＬＣＤ２３に表示された印刷プレビュー６１を見た結果、仮決定されたデリミタの候補と印刷開始文字列の候補に基づく印刷データの作成が適切でないと判断すれば、上キー４又は下キー５をユーザが押下すれば、デリミタの候補又は印刷開始文字列の候補が変更され、変更されたデリミタの候補又は印刷開始文字列の候補に基づく新たな印刷データの印刷プレビュー６１がＬＣＤ２３に表示されるので、デリミタの候補と印刷開始文字列の候補に基づく印刷データの作成が適切になるまで、デリミタの候補又は印刷開始文字列の候補を変更させることができる。
【００８４】
また、本実施形態の印刷装置１においては、指令キー３をユーザが押下すれば（Ｓ５１：ＹＥＳ）、現在のデリミタの候補がデリミタと設定されるとともに現在の印刷開始文字列の候補が印刷開始文字列と設定され（Ｓ５４）、この設定されたデリミタ及び印刷開始文字列に基づいて印刷データが作成される（Ｓ１２２）。その作成された印刷データはテキストバッファ１７に格納され、この印刷データに基づいて作成された印刷イメージは、印刷バッファ１６に展開され、印字テープ５２に印刷される（Ｓ３４）。
【００８５】
従って、ユーザは、ＬＣＤ２３に表示された印刷プレビュー６１を見た結果、デリミタの候補と印刷開始文字列の候補に基づく印刷データの作成が適切であると判断した場合には、指令キー３を押下すれば、受信データ５１を各入力項目４１、４２、４３、４４に適切に入力されたテンプレート４０を印字テープ５２に印刷させることができる。よって、ユーザは、受信データ５１に含まれるデリミタ及び印刷開始文字列を知る必要もないし、ましてや、受信データ５１に含まれるデリミタ及び印刷開始文字列を印刷装置１に予め設定する必要もない。さらに、１度指令キー３を押下すれば、印刷データの作成が適切となるデリミタの候補と印刷開始文字列の候補が特定されることから、指令キー３の押下を繰り返すことなく、受信データ５１を各入力項目４１、４２、４３、４４に適切に入力されたテンプレート４０を印字テープ５２に印刷させることができる。
【００８６】
尚、本発明は上記実施の形態に限定されるものでなく、その趣旨を逸脱しない範囲で様々な変更が可能である。
例えば、本実施形態の印刷装置１においては、図８の印刷コマンド解析処理や図１３の表示更新処理に代わって、図１５の印刷コマンド解析処理や図１６の表示更新処理としてもよい。そこで、以下に、図１５の印刷コマンド解析処理や図１６の表示更新処理を説明するが、図８の印刷コマンド解析処理や図１３の表示更新処理と共通な箇所は同じ符号を付して説明を省略し、異なる箇所のみ説明する。
【００８７】
図１５の印刷コマンド解析処理では、ＣＰＵ１２は、Ｓ４３において、デリミタの個数だけの文字列が周期的に存在しないと判定した場合には（Ｓ４３：ＮＯ）、Ｓ１３１に進む。Ｓ１３１では、ＣＰＵ１２は、デリミタの個数をデクリメントし、その後に、Ｓ４２に戻る。また、ＣＰＵ１２は、Ｓ５２において、上キー４又は下キー５のいずれかが押下されたと判定した場合には（Ｓ５２：ＹＥＳ）、Ｓ１３２の表示更新処理に進む。Ｓ１３２の表示更新処理とは、図１６の表示更新処理である。
【００８８】
図１６の表示更新処理では、ＣＰＵ１２は、Ｓ１０６で変数ｉと変数ｊを初期化すると、Ｓ１４１に進む。Ｓ１４１では、ＣＰＵ１２は、デリミタの個数が上限値であるか否かを判定する。尚、上限値とは、図１５の印刷コマンド解析処理のＳ４１で取得したデリミタの個数（３個）である。ここで、デリミタの個数が上限値であると判定した場合には（Ｓ１４１：ＹＥＳ）、Ｓ１４２に進む。Ｓ１４２では、ＣＰＵ１２は、デリミタの個数を「０」とし、その後に、上記図１５の印刷コマンド解析処理に戻って、後述するＳ１３３に進む。一方、上記Ｓ１４１において、デリミタの個数が上限値でないと判定した場合には（Ｓ１４１：ＮＯ）、Ｓ１４３に進む。Ｓ１４３では、ＣＰＵ１２は、デリミタの個数をインクリメントし、その後に、上記図１５の印刷コマンド解析処理に戻って、後述するＳ１３３に進む。
【００８９】
図１６の表示更新処理では、ＣＰＵ１２は、Ｓ１０９で変数ｊの値が「０」であると判定した場合には（Ｓ１０９：ＮＯ）、Ｓ１４４に進む。Ｓ１４４では、ＣＰＵ１２は、変数ｉと変数ｊを初期化し、その後に、Ｓ１４５に進む。Ｓ１４５では、ＣＰＵ１２は、デリミタの個数が下限値であるか否かを判定する。尚、下限値とは、「０」である。ここで、デリミタの個数が下限値であると判定した場合には（Ｓ１４５：ＹＥＳ）、Ｓ１４６に進む。Ｓ１４２では、ＣＰＵ１２は、デリミタの個数を最大値（上限値）とし、その後に、上記図１５の印刷コマンド解析処理に戻って、後述するＳ１３３に進む。一方、上記Ｓ１４５において、デリミタの個数が下限値でないと判定した場合には（Ｓ１４５：ＮＯ）、Ｓ１４７に進む。Ｓ１４７では、ＣＰＵ１２は、デリミタの個数をデクリメントし、その後に、上記図１５の印刷コマンド解析処理に戻って、後述するＳ１３３に進む。
【００９０】
そして、上記図１５の印刷コマンド解析処理に戻って、Ｓ１３３に進むと、ＣＰＵ１２は、デリミタの個数が変更されたか否かを判定する。ここでは、図１６の表示更新処理において、デリミタの個数が変更されたか否かが判定される。ここで、デリミタの個数が変更されたと判定した場合には（Ｓ１３３：ＹＥＳ）、Ｓ４２に戻る。一方、デリミタの個数が変更されていないと判定した場合には（Ｓ１３３：ＮＯ）、Ｓ４９に戻る。
【００９１】
そして、図１５の印刷コマンド解析処理や図１６の表示更新処理を実行すれば、テンプレート４０の入力項目４１、４２、４３、４４の個数（４個）に基づいて算出されるデリミタの個数（３個）よりも少ないデリミタの個数をもって、受信データ５１をテンプレート４０の入力項目４１、４２、４３、４４に入力させることができる。その結果、テンプレート４０の入力項目４１、４２、４３、４４には、受信データ５１が入力されないものがあるが、既に入力されているデータがそのまま維持されることによって、印刷データが作成されるので、既に入力されているデータが活用されることになる。
【００９２】
また、本実施形態の印刷装置１においては、図８や図１５の印刷コマンド解析処理のＳ５１において、上記Ｓ５０で押下された操作キー２１がＯＫキーであると判定した場合には（Ｓ５１：ＹＥＳ）、Ｓ５４を実行するのではなく、印刷バッファ１６に展開されている印刷イメージを印字テープ５２に印刷してもよい。このような場合でも、受信データ５１を各入力項目４１、４２、４３、４４に適切に入力されたテンプレート４０を印字テープ５２に印刷させることができるし、さらに、図５のメインプログラムにおけるモード関連の処理（Ｓ１５，Ｓ１６）を削除することができる。
【００９３】
また、本実施形態の印刷装置１においては、ホスト３９からの受信データ５１に含まれている項目データ、デリミタと印刷開始文字列が、種類の異なるデータで構成されていてもよい。具体的に言えば、「Ａ１ＢＣ２ＤＥＦ３４ＧＨＩＪＣＲ」の受信データ５１において、項目データ（「Ａ」「ＢＣ」「ＤＥＦ」「ＧＨＩＪ」）が英字で構成され、デリミタ（「１」「２」「３」「４」）が数字で構成され、印刷開始文字列（「ＣＲ」）がＡＳＣＩＩコードの制御コードで構成されているような場合である。尚、この例の場合、デリミタ「３」と「４」の間に項目データが存在しないと読み取ることが可能である。また、デリミタ「３」に続く項目データからデリミタ「３３」に続く項目データが存在しないと読み取ることも可能である。項目データ、デリミタ、印刷開始文字列を種類の異なるデータで構成することにより、項目データとデリミタ、項目データと印刷開始文字列、デリミタと印刷開始文字列において、互いの区別が明確となり、区別の処理を簡略化できる。また、デリミタ、または印刷開始文字列、またはその両方の候補の個数を、項目データ、デリミタ、印刷開始文字列の種類が不明または同一のデータで構成する場合に比べ、少なくできる可能性が高まる。または、候補は１通り、つまり、項目データ、デリミタ、印刷開始文字列の組合せが確定できる可能性が高まる。
【００９４】
また、本実施形態の印刷装置１においては、ホスト３９からの受信データ５１に印刷開始文字列が含まれていなくても対応することができる。この場合には、本実施形態の印刷装置１において、ホスト３９からの受信データ５１の末尾に架空の印刷開始文字列を追加させた後に、上述したメインプログラム等を実行してもよいし、あるいは、上述したメインプログラム等において、印刷開始文字列に関する処理を省くとともに、デリミタの候補のみに基づいて印刷データを作成してもよい。このような場合であっても、上述した効果を奏することが可能である。
【産業上の利用可能性】
【００９５】
本発明は、テンプレートの入力項目に受信データを自動的に入力する技術に適用し得る。
【図面の簡単な説明】
【００９６】
【図１】本実施の一形態である印刷装置の特徴を示した図である。
【図２】同印刷装置で表示される印刷プレビューの例を示した図である。
【図３】同印刷装置の外観斜視図である。
【図４】同印刷装置の制御系を示したブロック図である。
【図５】メインプログラムのフローチャートを示した図である。
【図６】モード処理のフローチャートを示した図である。
【図７】データ処理のフローチャートを示した図である。
【図８】印刷コマンド解析処理のフローチャートを示した図である。
【図９】デリミタ候補決定処理のフローチャートを示した図である。
【図１０】印刷開始文字列候補決定処理のフローチャートを示した図である。
【図１１】表示変数初期化処理のフローチャートを示した図である。
【図１２】印刷表示プレビュー処理のフローチャートを示した図である。
【図１３】表示更新処理のフローチャートを示した図である。
【図１４】印刷データ作成処理のフローチャートを示した図である。
【図１５】他の印刷コマンド解析処理のフローチャートを示した図である。
【図１６】他の表示更新処理のフローチャートを示した図である。
【符号の説明】
【００９７】
１  印刷装置
３  指令キー
４  上キー
５  下キー
８  接続ポート
１１  入出力インターフェース
１２  ＣＰＵ
１３  ＲＯＭ
１４  Ｆｌａｓｈ ＲＯＭ
１５  ＲＡＭ
１６  印刷バッファ
２１  操作キー
２３  ＬＣＤ
２５  サーマルヘッド
３９  ホスト
４０  テンプレート
４１、４２、４３、４４  入力項目
５１  受信データ
５２  印字テープ
６１Ａ、６１Ｂ、６１Ｃ、６１Ｄ、６１Ｅ、６１Ｆ、６１Ｇ、６１Ｈ  印刷プレビュー
【図１】
2008114461.tif 000003
【図２】
2008114461.tif 000004
【図３】
2008114461.tif 000005
【図４】
2008114461.tif 000006
【図５】
2008114461.tif 000007
【図６】
2008114461.tif 000008
【図７】
2008114461.tif 000009
【図８】
2008114461.tif 000010
【図９】
2008114461.tif 000011
【図１０】
2008114461.tif 000012
【図１１】
2008114461.tif 000013
【図１２】
2008114461.tif 000014
【図１３】
2008114461.tif 000015
【図１４】
2008114461.tif 000016
【図１５】
2008114461.tif 000017
【図１６】
2008114461.tif 000018