以下、本発明の実施形態について、図面を参照して説明する。なお、以下の説明において、図1の上側、下側、右斜め上側、左斜め下側、左斜め上側、及び、右斜め下側を、夫々、印刷装置1の前側、後側、上側、下側、左側、及び右側とする。図1に示すように、印刷装置1は、ユーザが手で持って操作することが可能なハンドヘルド型の電子機器である。印刷装置1は、キーボード5及びタッチパネル7に対する入力操作に応じて、表示部4に表示された文字列の編集を行うことが可能である。印刷装置1は、表示部4に表示された文字列に基づいて印刷データを作成し、作成した印刷データに基づいて、印刷媒体であるテープに複数のドットを形成させて印刷を行いラベルを作成することが可能である。
印刷装置1は、装置本体2及びカバー3を備える。装置本体2は、上下方向に長い略直方体形状を有する。装置本体2は、表示部4、キーボード5、カット操作レバー6、及び、タッチパネル7を有する。表示部4及びキーボード5は、装置本体2の前面に設けられ、カット操作レバー6は、装置本体2の左側面に設けられる。表示部4は、印刷対象の文字を表示可能な液晶ディスプレイである。表示部4の形状は、平面視横長の長方形である。タッチパネル7は、表示部4の表面に設けられる。キーボード5は、表示部4の下側に設けられる。キーボード5は、入力キー及び機能キーを含む。入力キーは、文字キー(文字、数字等)、方向キー(上下左右)、削除キー(「Delete」キー、「Back Space」キー)を含む。機能キーは、Functionキー(以下、「Fnキー」という。)、及び印刷実行キーを含む。カット操作レバー6は、押下されたことに応じて、カッタによってテープを切断し、テープのうち印刷が行われた部分を切り離す。
装置本体2は、後側にカセット装着部(図示外)を備える。カセット装着部にはテープカセットを装着可能である。カバー3は、カセット装着部の後側に設けられる。カバー3は開閉可能である。カバー3は、閉じた状態でテープカセットを覆う。ユーザは、カバー3を開いた状態で、テープカセットを交換可能である。テープカセットは、インクリボンロール、基材テープロール、及び、カバーフィルムロールを備える。
印刷装置1は、テープカセットのインクリボンロール、基材テープロール、及び、カバーフィルムロールの夫々から、インクリボン、基材テープ、及び、カバーフィルムを引き出す。印刷装置1は、サーマルヘッド10(図2参照)によってインクリボンを加熱し、カバーフィルムに印刷を行う。印刷装置1は、印刷されたカバーフィルムに基材テープを貼付する。以上によって印刷装置1は、印刷されたカバーフィルム及び基材テープが貼付されたラベルを作成する。
図2を参照し、印刷装置1の電気的構成について説明する。印刷装置1は制御回路400を備える。制御回路400は、装置本体2(図1参)内に固定された制御基板上に形成される。制御回路400は、CPU401、ROM402、EEPROM403、RAM404、フラッシュROM405、及び、入出力インタフェイス410を含む。CPU401、ROM402、EEPROM403、RAM404、フラッシュROM405、及び、入出力インタフェイス410は、バス414を介して電気的に接続する。
CPU401は、印刷装置1全体を制御する。ROM402には、CPU401が実行可能な第1メイン処理(図4参照)及び第2メイン処理(図5参照)のプログラムを記憶する。CPU401は、ROM402に記憶されたプログラムに基づいて各種演算を行う。EEPROM403には、文字、数字、記号、及び、バーコードを印刷するための印刷用ドットパターンデータが、書式やサイズ毎に分類され、コードデータに対応させて記憶されている。
RAM404には、一時的なデータが記憶される。一時的なデータの具体例として、第2値(図3参照)、先頭位置(図3参照)、第1移動値(図3参照)、第2移動値(図3参照)、減算値(図3参照)、文字列バッファ、及び、カーソル表示位置(図3参照)が挙げられる。夫々のデータの詳細は後述する。フラッシュROM405には、作成された印刷データが記憶される。又、フラッシュROM405には、第1値(図3参照)、第3値(図3参照)、第4値(図3参照)、及び、所定値(図3参照)が記憶される。夫々の値の詳細は後述する。
入出力インタフェイス410には、キーボード5、タッチパネル7、駆動回路406、407、408、外部インタフェイス409が接続される。駆動回路406は、表示部4に画像を表示させるためのビデオRAM(図示外)を有し、表示部4の表示制御を行う。キーボード5は、選択されたキーの種別を示す情報を、入出力インタフェイス410に出力する。タッチパネル7は、接触された位置を示す座標情報を、入出力インタフェイス410に出力する。駆動回路407は、サーマルヘッド10の発熱素子を通電させる。駆動回路408は、モータ231、241を回転駆動する。モータ231はプラテンローラ23に接続する。プラテンローラ23は、モータ231が回転駆動することに応じて、カバーフィルム及びインクリボンをサーマルヘッド10に押し当てながら回転する。モータ241は押圧ローラ24に接続する。押圧ローラ24は、モータ241が回転駆動することに応じて、印刷されたカバーフィルムに基材テープを押し当てながら回転する。外部インタフェイス409は、外部機器9と通信を行うための通信ICである。外部機器9は、汎用のPCである。
図3の<状態1>を参照し、表示部4に表示される編集画面について説明する。編集画面は、テープに印刷を行う文字列の編集を開始させるための操作がキーボード5を介して入力された場合に、表示部4に表示される。編集画面には、文字列40、カーソル41、様式設定42、テープ長43、及び、仕切り線44が含まれる。仕切り線44は、表示部4の上下中央よりも上側を横方向に延びる。以下、表示部4のうち仕切り線44の下側の領域を、「第1表示領域4A」ともいい、表示部4のうち仕切り線44の上側の領域を、「第2表示領域4B」ともいう。
文字列40は、第1表示領域4Aに表示される。文字列40は、印刷対象となる文字列である。編集画面に表示可能な文字列40の最大行数は1行である。文字列40は複数の文字40Aを含む。複数の文字40Aは左右方向に並ぶ。表示部4に表示可能な文字40Aの最大文字数は20文字である。文字列40は左詰めで表示される。
カーソル41は、文字列40が編集される場合の編集対象の位置を特定可能なマークである。カーソル41は、縦方向に延びる直線状の線分である。カーソル41の縦方向の長さは、複数の文字40Aの夫々の縦方向の長さと略等しい。カーソル41は周期的に点滅する。カーソル41は、複数の文字40Aの何れかの左側又は右側に配置される。
例えば、キーボード5の文字キーが押下された場合、押下された文字キーに対応する文字は、文字列40のうちカーソル41の右側に追加されて表示される。この場合、カーソル41の右側の位置が、文字が追加される追加位置として特定される。なお、追加位置に文字が追加された場合、カーソル41は、追加された文字の右側に移動する。又、例えば、キーボード5の削除キーのうち「Delete」キーが押下された場合、文字列40の複数の文字40Aのうちカーソル41の右側の文字40Aが削除される。この場合、カーソル41の右側の位置が、文字40Aが削除される削除位置として特定される。なお、「Delete」キーの押下によって文字40Aが削除された場合、カーソル41は移動しない。又、例えば、キーボード5の削除キーのうち「Back Space」キーが押下された場合、文字列40の複数の文字40Aのうちカーソル41の左側の文字40Aが削除される。この場合、カーソル41の左側の位置が、文字が削除される削除位置として特定される。なお、「Back Space」キーの押下によって文字が削除された場合、カーソル41は、削除した文字40Aに対して左側に位置する文字40Aの右側に移動する。又、カーソル41は、キーボード5の方向キーが押下されたることに応じて、左右何れかの方向に移動する。
なお上記のように、表示部4に一度に表示可能な文字列40の行数、及び、複数の文字40Aの文字数には制約がある。その理由は、印刷装置1は手で持って操作されることを前提としており、据え置き型の印刷装置と比較して大きさが小さいので、表示部4の解像度も低いためである。このため、CPU401は、文字列40の複数の文字40Aの総数が最大文字数(20文字)よりも大きい場合、文字列40の複数の文字40Aの全てを表示部4に一度に表示させることができない。この場合、CPU401は、カーソル41が表示部4に常に表示されるように、文字列40を左方向に移動(スクロール)させる。
なお、カーソル41の形状、及び、カーソル41に対する追加位置及び削除位置は、上記の例に限定されない。例えば、カーソル41の形状は、複数の文字40Aの夫々を覆うことが可能な大きさの長方形であってもよい。この場合、カーソル41は、文字列40の複数の文字40Aのうち左端(先頭)の文字40Aの左側、右端(末尾)の文字40Aの右側、及び、複数の文字40Aの何れかの位置に配置可能としてもよい。又、この場合、カーソル41の位置が追加位置及び削除位置として特定されてもよい。
様式設定42及びテープ長43は、第2表示領域4Bに表示される。様式設定42は、書体421及び文字サイズ422を含む。文字サイズ422の図柄(Aが3つ重なった図柄)は、テープの幅にあわせて文字サイズが自動的に調整される動作モードであることを示している。テープ長43は、印刷装置1によって印刷されるテープの長さを示す。
キーボード5のFnキーが押下された場合について、図3の<状態2>を参照して具体的に説明する。Fnキーが押下された場合、表示部4のうち第1表示領域4A内、且つ、表示部4の左右方向の中心よりも右側に、選択画像46が表示される。選択画像46の全体形状は、左右方向を長手方向とする長方形である。選択画像46の左右方向の長さは、表示部4の左右方向の長さの半分よりも短い。選択画像46の上下方向の長さは、第1表示領域4Aの上下方向の長さよりも僅かに短い。選択画像46の上端の位置は、仕切り線44の位置と一致する。選択画像46の下端は、表示部4の下端よりも上側に配置される。選択画像46の左端は、表示部4の左右方向の中心よりも右側に配置される。選択画像46の右端は、表示部4の右端よりも左側に配置される。
選択画像46は、文字列40及びカーソル41よりも優先的に表示される。従って、文字列40及びカーソル41と選択画像46とが重複するように選択画像46が表示される場合、重複部分では選択画像46が優先的に表示され、文字列40及びカーソル41は表示されない。
選択画像46内は、複数の編集方法「記号入力」「バーコード入力」「タブ入力」及び「削除」の夫々の文字が示されたメニュー画像461、462、463、464に区分されている。メニュー画像461〜464は縦方向に並ぶ。CPU401は、選択画像46のメニュー画像461〜464のうち何れかの位置をタッチする選択操作を、タッチパネル7を介して検出した場合、対応する編集方法によって文字列40を編集する。
メニュー画像461(記号入力)は、キーボード5に含まれない記号を文字列40に追加する編集方法に対応する。CPU401は、メニュー画像461をタッチする選択操作を、タッチパネル7を介して検出した場合、追加可能な複数の記号の一覧を、「記号入力」の文字の代わりにメニュー画像461内に表示させる。CPU401は、複数の記号の何れかの位置をタッチする選択操作を、タッチパネル7を介して検出した場合、文字列40のうちカーソル41の右側の追加位置に、対応する記号を追加して表示させる。
メニュー画像462(バーコード入力)は、バーコードを文字列40に追加する編集方法に対応する。CPU401は、メニュー画像462をタッチする選択操作を、タッチパネル7を介して検出した場合、複数桁の数字を入力可能な入力画面を、「バーコード入力」の文字の代わりにメニュー画像462に表示させる。CPU401は、複数桁の数字の入力操作を、キーボード5を介して検出した場合、検出した複数桁の数字を示すバーコードを作成する。CPU401は、文字列40のうちカーソル41の右側の追加位置に、作成したバーコードを追加して表示させる。
メニュー画像463(タブ入力)は、タブを入力する編集方法に対応する。CPU401は、メニュー画像463をタッチする選択操作を、タッチパネル7を介して検出した場合、文字列40のうちカーソル41の右側の追加位置に、タブを追加して表示させる。
メニュー画像464(削除)は、文字列40の複数の文字40Aの何れかを削除する編集方法に対応する。CPU401は、メニュー画像464をタッチする選択操作を、タッチパネル7を介して検出した場合、文字列40のうちカーソル41の左側の削除位置の文字40Aを削除する。メニュー画像464(削除)による編集方法は、キーボード5の「Back Space」キーが押下された場合の編集方法と同一である。
なお、選択画像46には上記以外の他のメニュー画像が含まれていてもよい。又、選択画像46には、複数のメニュー画像の何れかが選択的に表示されるように、スクロールバーが設けられていてもよい。
図3の<状態1>の状態で、Fnキーが押下され、選択画像46が表示される場合を例に挙げる。<状態1>の場合、「Brother indust」の文字列40が表示されており、末尾の「t」の文字40Aの右側にカーソル41が表示されている。カーソル41の位置は、表示部4の左右方向の中心よりも右側である。<状態1>の文字列40の位置を維持しつつ選択画像46が表示されたと仮定した場合、文字列40の一部及びカーソル41と選択画像46とが重複し、文字列40の一部及びカーソル41は見えなくなる。これに対して、CPU401は、<状態2>に示すように、表示された選択画像46にカーソル41が重複しない位置、より詳細には、表示された選択画像46の左端から1文字分左側の位置にカーソル41が配置されるまで、文字列40及びカーソル41を左側に移動させる(矢印51)。このためユーザは、選択画像46が表示された後でも、文字列40に対するカーソル41の位置、及び、カーソル41によって示される追加位置又は削除位置を確認できる。従ってユーザは、文字列40に対する追加位置又は削除位置を、選択画像46が表示された後も認識できるので、メニュー画像461〜464の何れかを選択することによる文字列40の編集を容易に行うことができる。なお、文字列40の移動によって、文字列40のうち左端(先頭)側の複数の文字40Aの一部は、表示部4に表示されなくなる。
図3の<状態2>の状態で、選択画像46のメニュー画像463(タブ入力)を選択する操作が行われた場合を例に挙げる。この場合、はじめにCPU401は、文字列40に対する追加位置にタブを追加し、追加したタブの右側にカーソル41を移動させる。次にCPU401は、図3の<状態3>に示すように、タブが追加された後のカーソル41が選択画像46に重複しない位置、より詳細には、表示された選択画像46の左端から1文字分左側の位置にカーソル41が配置されるまで、文字列40を更に左側に移動させる(矢印52)。このためユーザは、選択画像46のメニュー画像463を選択して文字列40の編集を行った後も、文字列40に対するカーソル41の位置、及び、カーソル41によって示される追加位置又は削除位置を継続して確認できる。なお、詳細な説明は省略するが、メニュー画像461(記号入力)、462(バーコード入力)の何れかを選択する操作が行われた場合も、CPU401は、カーソル41が選択画像46に重複しない位置まで文字列40を左側に移動させる。従ってユーザは、メニュー画像461〜463の何れかに対応する編集方法に応じた文字列40の編集が行われた後も、文字列40に対する追加位置又は削除位置を継続して認識できる。
図3の<状態3>の状態で、選択画像46のメニュー画像464(削除)を選択する操作が行われた場合を例に挙げる。この場合、はじめにCPU401は、文字列40のうちカーソル41の左側の削除位置のタブを削除し、削除したタブの左側の文字40A「t」の右側にカーソル41を移動させる。次にCPU401は、メニュー画像463(タブ入力)の選択によってタブを追加した場合に文字列40を左側に移動させた(矢印52)ときの移動量分、文字列40を右側に移動させる。結果、編集画面は図3の<状態2>の状態に戻る。文字列40は、選択画像46の左端から1文字分左側の位置にカーソル41が配置されるまで、文字列40を右側に移動させたことになる。この場合、ユーザは、カーソル41の位置を確認して文字列40に対する追加位置又は削除位置を継続して認識しつつ、文字列40に含まれるより多くの数の文字40Aを認識できる。
図3の<状態2>又は<状態3>の状態で、Fnキーが再び押下された場合、選択画像46は消去され、編集画面は元の<状態1>に戻る。又、図3の<状態1>〜<状態3>の状態で、キーボード5の「印刷実行」キーが押下された場合、CPU401は、文字列40をテープに印刷するための印刷データを作成する。CPU401は、作成された印刷データに基づいて、文字列40をテープに印刷し、ラベルを作成する。
上記の文字列40の編集動作を実現するためにCPU401が実行する具体的な処理について説明する。第1メイン処理(図4参照)、及び、第2メイン処理(図5参照)は、文字列40の編集を開始させるための操作がキーボード5を介して行われた場合に、ROM402に記憶されたプログラムをCPU401が実行することによって開始される。第1メイン処理は、キーボード5の文字キーの押下による文字列40の編集処理に対応する。第2メイン処理は、選択画像46のメニュー画像461〜464(図3参照)の何れかを選択することによる文字列40の編集処理に対応する。第1メイン処理及び第2メイン処理は、並列して実行される。
CPU401によって第1メイン処理及び第2メイン処理が実行される場合に使用される文字列バッファについて説明する。文字列バッファには、キーボード5の文字キーの押下、又は、選択画像46のメニュー画像461〜464の何れかの選択に応じて、文字列40の複数の文字40A(図3参照)が順番に記憶される。なお、複数の文字40Aには、記号、バーコード、タブが含まれる。
CPU401によって第1メイン処理及び第2メイン処理が実行される場合に使用される変数について、図3を参照して説明する。変数は、具体的にはカーソル表示位置、第1値、第2値、第3値、第4値、減算値、所定値、先頭位置、第1移動値、及び第2移動値である。変数は、表示部4に表示される1文字分の文字の左右方向の長さを1単位とする。又、本実施形態では、第1表示領域4Aに表示される文字列40の複数の文字40Aは、全て全角文字であることを前提とする。
カーソル表示位置は、カーソル41の表示位置を、表示部4の左端からカーソル41の位置までの間の左右方向の長さによって示す。第1値は、表示部4に選択画像46が表示された状態における、表示部4の左端から選択画像46の左端までの間の左右方向の長さを示す。第2値は、文字列40の左端(先頭)からカーソル41の位置までの間の左右方向の長さを示す。第3値は、表示部4の左右方向の長さを示す。第4値は、選択画像46の左右方向の長さを示す。なお、第1値〜第4値のうち、第1値、第3値、及び第4値は、表示部4の大きさ、又は、選択画像46の大きさによって特定されるので、固定値である。一方、第2値は、文字列40の複数の文字40Aの文字数に応じて変化するので、可変値である。
減算値は、表示部4に選択画像46が表示された状態における選択画像46の左端と、表示部4に文字列40が左端(先頭)から順番に表示されたと仮定した場合におけるカーソル41の位置との間の長さを示す。即ち、減算値は、表示部4に選択画像46が表示された場合に、カーソル41を選択画像46の左側に配置させるために文字列40を左側に移動させるときの最低限の移動量を示す。減算値は、第2値から第1値を減算することによって算出される。所定値は、あらかじめ定められた所定の値を示し、本実施形態の場合、「1」である。
先頭位置は、文字列40のうち表示部4に表示される部分の左端の文字40Aの位置を、文字列40の左端(先頭)からの長さによって示す。第1移動値は、表示部4に選択画像46が表示された場合に、選択画像46の左側にカーソル41を配置させるために文字列40及びカーソル41を左側に移動させるときの実際の移動量を示す。第1移動値は、減算値と所定値とを加算する(減算値+所定値)ことによって算出される。従って、第1移動値は、減算値よりも所定値分常に大きくなる。第2移動値は、選択画像46が表示された状態から表示されない状態に切り替わるときに文字列40を右側に移動させる場合の実際の移動量を示す。第2移動値は、第2値から、第1値から所定値を減算した値を減算する(第2値−(第1値−所定値))ことによって算出される。なお、算出結果が負の値の場合、第2移動値は0に設定される。
図4を参照し、第1メイン処理について説明する。CPU401は、RAM404の文字列バッファ、第2値、及び、カーソル表示位置に「0」を設定して初期化する(S9)。CPU401は、キーボード5の入力キー(文字キー、方向キー、及び、削除キーの何れか)を押下する操作を検出したか判断する(S11)。CPU401は、入力キーを押下する操作を検出しないと判断した場合(S11:NO)、処理をS11に戻す。CPU401は、入力キーの押下を継続して待ち受ける。CPU401は、入力キーを押下する操作を検出したと判断した場合(S11:YES)、文字列バッファに記憶された文字列40の複数の文字40Aのうち、第2値の左側又は右側を、押下された入力キーに対応する編集方法によって編集する(S13)。又、CPU401は、文字40Aの追加を行った場合、カーソル41を右側に1文字分移動させるために、第2値及びカーソル表示位置に1を加算して更新する(S13)。又、CPU401は、「Back Space」キー押下による文字40Aの削除を行った場合、カーソル41を1文字分左側に移動させるために、第2値及びカーソル表示位置から1を減算して更新する(S13)。
例えばCPU401は、文字列40「Brothe」の複数の文字40A「B」「r」「o」「t」「h」「e」が文字列バッファに記憶され、且つ、カーソル位置が「6」(「e」の右側)である状態で、入力キー「r」の押下を検出した場合、文字列バッファに文字40A「r」を記憶して文字列40「Brother」とする。又、CPU401は、第2値及びカーソル表示位置「6」に1加算して「7」に更新する。又、例えばCPU401は、この状態で削除キー「Back Space」の押下を検出した場合、文字列バッファの文字40A「r」を削除して文字列40「Brothe」とする。又、CPU401は、第2値及びカーソル表示位置「7」から1減算して「6」に更新する。
編集する。
CPU401は、第2値が第3値以上であるか判断する(S15)。第2値が第3値以上である場合、文字列40を左端(先頭)から表示部4に全て表示させたと仮定した場合に、カーソル41の位置は、表示部4の右端よりも右側に位置することになる。CPU401は、第2値が第3値以上であると判断した場合(S15:YES)、第2値から第3値を減算した値を、先頭位置(第2値−第3値)として算出する。CPU401は、文字列バッファに記憶された文字列40の左端(先頭)から、算出した先頭位置分右側(末尾側)に移動した位置を、文字列40のうち表示部4の左端に表示させる位置として設定する。CPU401は、文字列40のうち先頭位置よりも右側(末尾側)の部分の複数の文字40Aを、表示部4に左詰めで表示させる(S17)。CPU401は、カーソル表示位置から先頭位置を減算し、カーソル表示位置を更新する。CPU401は更新後のカーソル表示位置にカーソル41を表示させる(S17)。なお、更新前のカーソル表示位置は第2値と等しいので、更新後のカーソル表示位置は第3値となる。従ってカーソル41は、表示部4の右端に表示される。CPU401は処理をS23に進める。
一方、第2値が第3値以上でない場合、文字列40を左端(先頭)から表示部4に全て表示させたと仮定した場合に、カーソル41の位置は、表示部4の右端よりも左側に位置することになる。CPU401は、第2値が第3値以上でないと判断した場合(S15:NO)、文字列バッファに記憶された文字列40の左端(先頭)を、文字列40のうち表示部4の左端に表示させる位置として設定するために、先頭位置を「0」に設定する。CPU401は、表示部4に文字列40を表示させる(S19)。これによって、文字列バッファに記憶された全ての文字列40は、表示部4に左詰めで先頭から全て表示される。CPU401は、カーソル表示位置にカーソル41を表示させる(S19)。CPU401は処理をS23に進める。
CPU401は、キーボード5の「印刷実行」キーを押下する操作を検出したか判断する(S23)。CPU401は、「印刷実行」キーを押下する操作を検出しないと判断した場合(S23:NO)、処理をS11に戻す。CPU401は、入力キーの押下を継続して待ち受ける。CPU401は、「印刷実行」キーを押下する操作を検出したと判断した場合(S23:YES)、文字列バッファに記憶された文字列40を、第2表示領域4Bに表示された印刷条件でテープに印刷するための印刷データを作成し、フラッシュROM405に記憶する(S25)。CPU401は、フラッシュROM405に記憶した印刷データに基づき、文字列40をカバーフィルムに印刷する(S27)。CPU401は、印刷されたカバーフィルムと基材テープとを貼付させることによって、ラベルを作成する。CPU401は第1メイン処理を終了させる。
図5を参照し、第2メイン処理について説明する。CPU401は、Fnキーを押下する操作を検出したか判断する(S41)。CPU401は、Fnキーを押下する操作を検出しないと判断した場合(S41:NO)、処理をS41に戻す。CPU401は、Fnキーの押下を継続して待ち受ける。CPU401は、Fnキーを押下する操作を検出したと判断した場合(S41:YES)、表示部4に選択画像46を表示させる(S43)。CPU401は処理をS45に進める。
CPU401は、第1値から所定値を減算した値を、閾値として算出する。CPU401は、第2値が閾値以上であるか判断する(S45)。第2値が閾値以上の場合、表示部4に文字列40が全て表示された状態を維持しつつ選択画像46を表示部4に表示させたと仮定した場合に、カーソル41は、選択画像46の左端の1文字分左側の位置よりも右側に表示される。この場合、カーソル41の位置、又は、カーソル41によって示される追加位置又は削除位置をユーザは確認できなくなる。CPU401は、第2値が閾値以上であると判断した場合(S45:YES)、次の演算を行う。CPU401は、第2値から第1値を減算することによって、減算値を算出する。CPU401は、算出した減算値に所定値「1」を加算した値を、第1移動値として算出する。CPU401は、表示部4に表示された文字列40及びカーソル41を、第1移動値分左側に移動させる(S47)。CPU401は処理をS49に進める。
S47の処理は、具体的には次の通りである。CPU401は、先頭位置に第1移動値を設定し、先頭位置を更新する。CPU401は、文字列バッファに記憶された文字列40の左端(先頭)から、更新後の先頭位置分右側(末尾側)に移動した位置を、文字列40のうち表示部4の左端に表示させる位置として設定する。CPU401は、文字列40のうち更新後の先頭位置よりも右側(末尾側)の部分の複数の文字40Aを、表示部4に左詰めで表示させる(S47)。又、CPU401は、第2値から第1移動値を減算した値を、カーソル表示位置として設定し、カーソル表示位置を更新する。CPU401は、更新後のカーソル表示位置にカーソル41を表示させる(S47)。なお、カーソル41は、選択画像46の左端の1文字分左側の位置に表示される。
一方、第2値が閾値以上でない場合、文字列40が全て表示部4に表示された状態を維持しつつ選択画像46を表示部4に表示させたと仮定した場合に、カーソル41は、選択画像46の左端の1文字分左側の位置か、又は、選択画像46の左端の1文字分左側の位置よりも左側に表示される。この場合、表示部4に表示された文字列40を左側に移動させない場合でも、文字列40に対するカーソル41の位置、又は、カーソル41によって示される追加位置又は削除位置をユーザは確認できる。CPU401は、第2値が閾値以上でないと判断した場合(S45:NO)、処理をS49に進める。
CPU401は、表示部4に表示させた選択画像46のメニュー画像461〜464の何れかを選択する操作を検出したか判断する(S49)。CPU401は、メニュー画像461〜464を選択する操作を検出しないと判断した場合(S49:NO)、処理をS55に進める。CPU401は、メニュー画像461〜464の何れかを選択する操作を検出したと判断した場合(S49:YES)、以下に示すように、選択されたメニュー画像461〜464の何れかに応じた処理を行う(S51、S53)。CPU401は処理をS55に進める。
S51、S53の処理を具体的に説明する。メニュー画像461(記号入力)を選択する操作が検出された場合を例に挙げる。この場合、CPU401は、文字列バッファに記憶された文字列40のうち第2値の右側に、記号を1文字分追加する(S51)。又、CPU401は、第2値、カーソル表示位置、及び先頭位置に1加算して更新する(S51)。CPU401は、文字列バッファに記憶された文字列40の左端(先頭)から、更新後の先頭位置分右側(末尾側)に移動した位置を、文字列40のうち表示部4の左端に表示させる位置として設定する。CPU401は、文字列40のうち更新後の先頭位置よりも右側(末尾側)の部分の複数の文字40Aを、表示部4に左詰めで表示させる。この場合、表示部4に表示された文字列40は、1文字分左側に移動する(S53)。又、CPU401は、更新後のカーソル表示位置にカーソル41を表示させる(S53)。なお、カーソル41は、選択画像46の左端よりも1文字分左側の位置のまま変化しない。
メニュー画像462(バーコード入力)を選択する操作が検出された場合を例に挙げる。この場合、CPU401は、文字列バッファに記憶された文字列40のうち第2値の右側に、バーコードを追加する(S51)。又、CPU401は、追加したバーコードの左右方向の長さ(以下、「X」と表記する。)を、第2値、カーソル表示位置、及び先頭位置に加算して更新する(S51)。CPU401は、文字列バッファに記憶された文字列40の左端(先頭)から、更新後の先頭位置分右側(末尾側)に移動した位置を、文字列40のうち表示部4の左端に表示させる位置として設定する。CPU401は、文字列40のうち更新後の先頭位置よりも右側(末尾側)の部分の複数の文字40Aを、表示部4に左詰めで表示させる。この場合、表示部4に表示された文字列40は、X文字分左側に移動する(S53)。又、CPU401は、更新後のカーソル表示位置にカーソル41を表示させる(S53)。なお、カーソル41は、選択画像46の左端よりも1文字分左側の位置のまま変化しない。
メニュー画像463(タブ入力)を選択する操作が検出された場合を例に挙げる。この場合、CPU401は、文字列バッファに記憶された文字列40のうち第2値の右側に、タブを追加する(S51)。又、CPU401は、追加したタブの左右方向の長さ(以下、「Y」と表記する。)を、第2値、カーソル表示位置、及び先頭位置に加算して更新する(S51)。CPU401は、文字列バッファに記憶された文字列40の左端(先頭)から、更新後の先頭位置分右側(末尾側)に移動した位置を、文字列40のうち表示部4の左端に表示させる位置として設定する。CPU401は、文字列40のうち更新後の先頭位置よりも右側(末尾側)の部分の複数の文字40Aを、表示部4に左詰めで表示させる。この場合、表示部4に表示された文字列40は、Y文字分左側に移動する(S53)。又、CPU401は、更新後のカーソル表示位置にカーソル41を表示させる(S53)。なお、カーソル41は、選択画像46の左端よりも1文字分左側の位置のまま変化しない。
メニュー画像464(削除)を選択する操作が検出された場合を例に挙げる。この場合、CPU401は、文字列バッファに記憶された文字列40のうち第2値の左側の文字を削除する(S51)。又、CPU401は、第2値、カーソル表示位置、及び先頭位置から1減算して更新する(S51)。CPU401は、文字列バッファに記憶された文字列40の左端(先頭)から、更新後の先頭位置分右側(末尾側)に移動した位置を、文字列40のうち表示部4の左端に表示させる位置として設定する。CPU401は、文字列40のうち更新後の先頭位置よりも右側(末尾側)の部分の複数の文字40Aを、表示部4に左詰めで表示させる。この場合、表示部4に表示された文字列40は、1文字分右側に移動する(S53)。なお、カーソル41は、選択画像46の左端よりも1文字分左側の位置のまま変化しない。
CPU401は、Fnキーを再び押下する操作を検出したか判断する(S55)。CPU401は、Fnキーを押下する操作を検出しないと判断した場合(S55:NO)、処理をS49に戻す。CPU401は、メニュー画像461〜464の何れかを選択する操作を継続して待ち受ける。CPU401は、Fnキーを再び押下する操作を検出したと判断した場合(S55:YES)、表示部4に表示された選択画像46を消去させる(S57)。CPU401は、第1値から所定値「1」を減算した値を、第2値から減算し、第2移動値を算出する。なお、第2移動値が負の値となった場合、第2移動値として「0」が設定される。CPU401は、表示部4に表示された文字列40及びカーソル41を、算出した第2移動値分右側に移動させる(S59)。
具体的には次の通りである。CPU401は、先頭位置及びカーソル表示位置の夫々から第2移動値を減算し、先頭位置及びカーソル表示位置の夫々を更新する。CPU401は、文字列バッファに記憶された文字列40の左端(先頭)から、更新後の先頭位置分右側(末尾側)に移動した位置を、文字列40のうち表示部4の左端に表示させる位置として設定する。CPU401は、文字列40のうち設定した位置よりも右側(末尾側)の部分の複数の文字40Aを、表示部4に左詰めで表示させる(S59)。又、CPU401は、更新後のカーソル表示位置にカーソル41を表示させる(S59)。CPU401は処理をS61に進める。
CPU401は、第1メイン処理(図4参照)のS27の処理が実行され、印刷が行われたか判断する(S61)。CPU401は、印刷が行われていないと判断した場合(S61:NO)、処理をS41に戻す。CPU401は、Fnキーを押下する操作を継続して待ち受ける。CPU401は、印刷が行われたと判断した場合(S61:YES)、第2メイン処理を終了させる。
以上説明したように、印刷装置1のCPU401は、表示部4の左右方向の中心よりも右側に選択画像46を表示させた場合(S43)、選択画像46の左端よりも1文字(所定値)分左側の位置にカーソル41が表示されるまで、文字列40及びカーソル41を左側に移動させる(S47)。これによって、選択画像46の表示によってカーソル41が見えなくなることを抑止できるので、ユーザは、文字列40のうちカーソル41によって示される追加位置又は削除位置を適切に把握しながら文字列40を編集できる。又、ユーザは、編集した文字列40のテープへの印刷を印刷装置1に実行させることで、編集された文字列40が印刷されたラベルを印刷装置1に作成させることができる。
CPU401は、第1値から所定値「1」を減算した閾値と第2値との関係に応じて、選択画像46の表示によってカーソル41が見えなくなるか否かを判断する(S45)。このため、CPU401は、文字列40のうちカーソル41によって示される追加位置又は削除位置を、選択画像46の表示後にユーザが把握可能か否かを容易に判断できる。従って、CPU401は、文字列40を左側に移動させる必要があるか否かを適切に判断できる。
CPU401は、表示部4に選択画像46を表示させた場合、選択画像46の左端よりも1文字(所定値)分左側にカーソル41が表示されるまで、文字列40及びカーソル41を左側に移動させる(S47)。従って、ユーザは、文字列40に対するカーソル41の位置だけでなく、文字列40のうち追加位置(カーソル41の右側)又は削除位置(カーソル41の左側又は右側)も容易に認識して文字列40の編集を行うことができる。
CPU401は、選択画像46のメニュー画像461〜464の何れかを選択する操作を検出した場合(S49:YES)、選択されたメニュー画像461〜464に応じた編集方法で文字列40を編集する(S51)。又、CPU401は、編集が行われた後のカーソル41が選択画像46の左端よりも1文字(所定値)分左側に表示されるまで、文字列40及びカーソル41を左側又は右側に移動させる(S53)。これによって、CPU401は、メニュー画像461〜464の何れかが選択されたことに応じて文字列40が編集された後のカーソル41が、選択画像46によって見えなくなることを抑止できる。
なお、S17、S19の処理を行うCPU401は本発明の「第1表示手段」の一例である。S43の処理を行うCPU401は本発明の「第2表示手段」の一例である。S45の処理を行うCPU401は本発明の「第1判断手段」の一例である。S47の処理を行うCPU401は本発明の「第1移動手段」の一例である。S49の処理を行うCPU401は本発明の「受付手段」の一例である。S53の処理を行うCPU401は本発明の「第2移動手段」の一例である。
なお、本発明は上記実施形態に限定されず、種々の変更が可能である。上記実施形態において、CPU401は、表示部4の左右方向の中心よりも右側に選択画像46を表示させた。CPU401は、表示部4の左右方向の中心よりも左側に選択画像46を表示させてもよい。図6を参照して具体的に説明する。<状態4>では、文字列40「brother indust」が表示部4に表示され、且つ、文字列40中「brother」末尾の文字40A「r」の右側にカーソル41が表示されている。この状態で、Fnキーが押下された場合を例に挙げる。上記実施形態と異なり、<状態5>に示すように、表示部4のうち第1表示領域4A内、且つ、表示部4の左右方向の中心よりも左側に、選択画像46が表示される。文字列40の左右方向の位置が維持されつつ選択画像46が表示されたと仮定した場合、選択画像46は、<状態4>のカーソル41の位置と重複する位置に表示される。
このような場合、CPU401は、表示された選択画像46にカーソル41が重複しない位置、より詳細には、表示された選択画像46の右端から1文字分右側の位置にカーソル41が配置されるまで、文字列40を右側に移動させる(矢印53)。このためユーザは、選択画像46が表示された後でも、文字列40に対するカーソル41の位置、及び、カーソル41によって示される追加位置(カーソル41の右側(スペース))又は削除位置(カーソル41の右側又は左側(文字40A「r」))を確認できる。
図6の<状態5>の状態で、選択画像46のメニュー画像464(削除)を選択する操作が行われた場合を例に挙げる。この場合、はじめにCPU401は、文字列40のうちカーソル41の左側の文字40A「r」を削除し、削除した文字40Aの左側の文字40A「e」の右側にカーソル41を移動させる。次にCPU401は、図6の<状態6>に示すように、移動後のカーソル41が、選択画像46の右端から1文字分右側の位置に配置されるまで、文字列40を右側に移動させる(矢印54)。このためユーザは、選択画像46のメニュー画像464を選択して文字列40の編集を行った後も、カーソル41の位置、及び、カーソル41によって示される追加位置(カーソル41の右側(スペース))又は削除位置(カーソル41の右側又は左側(文字40A「e」))を継続して確認できる。
上記実施形態において、CPU401は、表示部4に選択画像46を表示させた場合、選択画像46の左端よりも1文字分左側の位置にカーソル41が表示されるまで、文字列40を左側に移動させた。具体的には、CPU401は、S47の処理によって、減算値に所定値「1」を加算して第1移動値を算出し、表示部4に表示された文字列40及びカーソル41を第1移動値分左側に移動させた。これに対して、所定値は「0」であってもよい。即ち、CPU401は、減算値を第1移動値として特定し、表示部4に表示された文字列40及びカーソル41を第1移動値分左側に移動させてもよい。この場合、表示部4に表示された文字列40は、選択画像46の左端と同じ位置にカーソル41が表示されるまで左側に移動する。この場合、文字列40の移動量は最小限に抑えられるので、文字列40は第1表示領域4Aに最大数表示可能となる。このためユーザは、より多くの文字数の文字列40を認識できる。
上記実施形態における所定値の具体的な値「1」は、2以上の他の値(以下、「Z」と表記する。)にも変更できる。この場合、選択画像46が表示された場合のカーソル41の位置は、選択画像46の左端よりもZ文字分左側の位置に表示される。
上記実施形態において、選択画像46の右端は、表示部4の右端よりも右側に表示された。これに対し、選択画像46の右端は、表示部4の右端と同一位置に表示されてもよい。又、選択画像46の下端は、表示部4の下端よりも上側に表示された。これに対し、選択画像46の下端は、表示部4の下端と同一位置に表示されてもよい。
上記実施形態において、選択画像46の左右方向の長さを、表示部4の左右方向の長さよりも短くした。又、選択画像46は、表示部4の左右方向の中心よりも右側(図3参照)又は左側(図6参照)に表示された。これに対し、選択画像46の左右方向の長さを、表示部4の左右方向の長さの半分よりも長くしてもよい。この場合、選択画像46は、表示部4の左右方向の中心に対して左右両側に配置されることになる。CPU401は、左右方向の長さが上記実施形態と比較して大きい選択画像46の左端よりも左側にカーソル41が表示されるように、文字列40及びカーソル41を左側に移動させてもよい。又は、CPU401は、左右方向の長さが上記実施形態と比較して大きい選択画像46の右端よりも右側にカーソル41が表示されるように、文字列40及びカーソル41を右側に移動させてもよい。
上記実施形態において、選択画像46は、表示部4の左右方向の中心よりも右側(図3参照)又は左側(図6参照)に固定的に表示された。これに対して、CPU401は、Fnキーの種別に応じて、選択画像46を右側に表示させるか、又は左側に表示させるかを切り替えてもよい。又、CPU401は、Fnキーの種別に応じて、選択画像46に含めるメニュー画像461〜464を切り替えてもよい。又、CPU401は、選択画像46に含めるメニュー画像461〜464によって示される編集方法に応じて、所定値を切り替えてもよい。