(57)【要約】【課題】  文字の入力を受け付けるアプリケーションの文字入力領域には、許容される文字の数や種類に制限が設けられていることがある。後段の処理におけるエラーの発生を避けることが優先され、制限を満たさない文字の入力を当初から受け付けない場合には、文字入力領域に入力できなかった文字をユーザが目視で確認することや、再利用することはできなかった。【解決手段】  上記の目的を達成するために、本発明は、許容される文字の制限が設定された入力領域３０１に対する文字の入力を受け付け、受け付けられた前記文字のうち、前記制限により前記入力領域への入力が許容されない文字を、前記入力領域とは独立した表示領域３０３に表示し、前記表示領域に対するユーザの指示に応じて、前記表示領域に表示された文字を、前記入力領域に対する文字の入力として再入力する。【選択図】  図３
2020087117.tif 000002
【特許請求の範囲】
【請求項１】
許容される文字の制限が設定された入力領域に対する文字の入力を受け付ける受付手段と、
受け付けられた前記文字のうち、前記制限により前記入力領域への入力が許容されない文字を、前記入力領域とは独立した表示領域に表示する制御を行う表示制御手段と、
前記表示領域に対するユーザの指示に応じて、前記表示領域に表示された文字を、前記入力領域に対する文字の入力として再入力する入力制御手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記表示制御手段は、前記入力制御手段によって再入力された前記文字のうち、前記制限により前記入力領域への入力が許容されない文字を、前記入力領域とは独立した前記表示領域に表示する制御を行うことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記表示制御手段は、前記受付手段によって受け付けられた文字のうち、前記入力領域への入力が許容された文字を、前記入力領域に表示する制御を行い、
前記受付手段は、前記入力領域に表示された文字に対する編集を受け付けることを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記入力領域に設定された制限とは、前記入力領域に許容される文字の数の制限であって、
前記表示制御手段は、前記編集により前記入力領域に表示された文字の数が減らされた後、前記入力制御手段によって再入力された前記文字のうち、前記入力領域への入力が許容された文字を、前記入力領域に追加して表示する制御を行うことを特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記入力領域に設定された制限とは、前記入力領域に許容される文字の形式の制限であることを特徴とする請求項１または２に記載の情報処理装置。
【請求項６】
前記表示制御手段は、所定のディスプレイに表示された前記入力領域及び前記表示領域に含まれない領域に対する前記ユーザの指示に応じて、前記表示領域に表示された文字を削除することを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項７】
前記表示制御手段は、前記表示領域を、前記入力領域に表示された文字に基づく位置に動的に表示する制御を行うことを特徴とする請求項１乃至５のいずれか１項に記載の情報処理装置。
【請求項８】
前記表示制御手段は、前記表示領域を、前記入力領域に表示された文字のうち、前記表示領域に表示された文字が再入力された場合に挿入される位置に対応づけて表示する制御を行うことを特徴とする請求項７に記載の情報処理装置。
【請求項９】
前記表示制御手段は、前記入力領域に対して入力される文字列のうち、複数の箇所に前記制限により前記入力領域への入力が許容されない文字が含まれる場合、複数の前記表示領域を、前記入力領域に対して入力される文字列のうち、複数の箇所に前記制限により前記入力領域への入力が許容されない文字が含まれた位置のそれぞれに対応づけて表示する制御を行うことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記表示制御手段は、所定のディスプレイに表示された前記入力領域及び前記表示領域に含まれない領域に対する前記ユーザの指示に応じて、前記表示領域を非表示とすることを特徴とする請求項７乃至９のいずれか１項に記載の情報処理装置。
【請求項１１】
前記受付手段は、さらに、前記表示領域に表示された文字に対する編集を受け付けることを特徴とする請求項１乃至１０のいずれか１項に記載の情報処理装置。
【請求項１２】
許容される文字の制限が設定された入力領域に対する文字列の入力を受け付ける受付手段と、
受け付けられた前記文字列のうち、前記制限により前記入力領域への入力が許容された文字を、前記入力領域に表示し、前記文字列のうち前記制限により前記入力領域への入力が許容されなかった文字が存在した箇所のそれぞれに対応づけて、前記入力領域とは独立した指標を表示する制御を行う表示制御手段と、
を備えることを特徴とする情報処理装置。
【請求項１３】
受付手段により、許容される文字の制限が設定された入力領域に対する文字の入力を受け付ける受付工程と、
表示制御手段により、受け付けられた前記文字のうち、前記制限により前記入力領域への入力が許容されない文字を、前記入力領域とは独立した表示領域に表示する制御を行う表示制御工程と、
前記表示領域に対するユーザの指示に応じて、入力制御手段により、前記表示領域に表示された文字を、前記入力領域に対する文字の入力として再入力する入力制御工程と、
を有することを特徴とする情報処理装置の制御方法。
【請求項１４】
受付手段により、許容される文字の制限が設定された入力領域に対する文字列の入力を受け付ける工程と、
表示制御手段により、受け付けられた前記文字列のうち、前記制限により前記入力領域への入力が許容された文字を、前記入力領域に表示し、前記文字列のうち前記制限により前記入力領域への入力が許容されなかった文字が存在した１以上の箇所のそれぞれに対応づけて、前記入力領域とは独立した１以上の指標を表示する制御を行う工程と、
を備えることを特徴とする情報処理装置の制御方法。
【請求項１５】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項１乃至１２のいずれか１項に記載の情報処理装置として機能させるプログラム。
【請求項１６】
請求項１５に記載されたプログラムを格納したことを特徴とするコンピュータが読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置の文字入力インタフェースに関する。
【背景技術】
【０００２】
パーソナルコンピュータやタブレット端末、スマートフォン等の情報処理装置において実行されるアプリケーションに対して、文字を入力することは一般的に行われている。文字の入力を受け付けるアプリケーションは、ユーザが操作したソフトウェア又はハードウェアのキーボードのキーに機縁する文字を、アプリケーションの画面内の文字入力領域に表示する。文字入力領域は許容される文字の数や種類に制限が設けられていることがある。
【０００３】
特許文献１では、文字列を印刷したテープを出力する場合に、文字入力を受け付けた後で文字数制限（テープの長さの制限）を超過した文字の数を算出し、文字の入力順序を最後から遡って、超過した文字数分の文字をそれ以外の文字と識別可能に表示する。これにより、ユーザはどの文字の入力に起因して、何文字が制限を満たさなくなったかを容易に把握することができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−１０１５２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、できるだけ文意を損なわずに文字列の文字数を減らす編集を行うため、一度は文字入力を受け付けた上で入力結果を見ながら任意の文字を削除することを可能としている。しかしながら、入力された文字を解析処理するアプリケーションでは、後段の処理におけるエラーの発生を避けることが優先され、制限を満たさない文字の入力を当初から受け付けない場合が多い。この場合、文字入力領域に入力できなかった文字をユーザが目視で確認することや、再利用することはできなかった。
【０００６】
本発明は上記課題に鑑みてなされたものであり、許容される文字が制限された入力領域に対する文字入力の利便性を向上させることを主な目的とする。
【課題を解決するための手段】
【０００７】
上記の目的を達成するために、本発明に係る情報処理装置は、許容される文字の制限が設定された入力領域に対する文字の入力を受け付ける受付手段と、受け付けられた前記文字のうち、前記制限により前記入力領域への入力が許容されない文字を、前記入力領域とは独立した表示領域に表示する制御を行う表示制御手段と、前記表示領域に対するユーザの指示に応じて、前記表示領域に表示された文字を、前記入力領域に対する文字の入力として再入力する入力制御手段と、を備えることを特徴とする。
【発明の効果】
【０００８】
本発明によれば、許容される文字が制限された入力領域に対する文字入力の利便性が向上する。
【図面の簡単な説明】
【０００９】
【図１】情報処理装置のハードウェア構成の一例を示す図。
【図２】文字入力を受け付ける処理の一例を表すフローチャート。
【図３】ディスプレイに表示される画像の一例を表す図。
【図４】ディスプレイに表示される画像の一例を表す図。
【図５】文字入力を受け付ける処理の一例を表すフローチャート。
【図６】文字入力を受け付ける処理の一例を表すフローチャート。
【図７】ディスプレイに表示される画像の一例を表す図。
【図８】文字入力を受け付ける処理の一例を表すフローチャート。
【発明を実施するための形態】
【００１０】
以下、添付図面を参照して本発明に係る実施の形態を詳細に説明する。ただし、この実施の形態に記載されている構成要素はあくまでも例示であり、本発明の範囲をそれらのみに限定する趣旨のものではない。
【００１１】
＜第１実施形態＞
図１は、本実施形態に係る情報処理装置１００のハードウェア構成の一例を示す図である。ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１０１は、各種処理のための演算や論理判断などを行い、システムバス１０５に接続された各構成要素を制御する。この情報処理装置１００には、プログラムメモリとデータメモリを含むメモリが搭載されている。ＲＯＭ（Ｒｅａｄ−Ｏｎｌｙ  Ｍｅｍｏｒｙ）１０２は、プログラムメモリであって、後述する各種処理手順を含むＣＰＵによる制御のためのプログラムを格納する。ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１０３は、データメモリであり、ＣＰＵ１０１の上記プログラムのワーク領域、エラー処理時のデータの退避領域、上記制御プログラムのロード領域などを有する。外部記憶装置などからＲＡＭ１０３にプログラムをロードすることで、プログラムメモリを実現しても構わない。ＨＤ１０４は、本実施形態に係るデータやプログラムを記憶しておくためのハードディスクである。同様の役割を果たすものとして、外部記憶装置を用いてもよい。本実施形態では、外部記憶装置は、メディア（記録媒体）と、当該メディアへのアクセスを実現するための外部記憶ドライブとでも外部記憶装置である。このようなメディアとしては、例えば、フレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤ、ＵＳＢメモリ、ＭＯ、フラッシュメモリ等が知られている。本実施形態において必要な情報は、ＲＡＭ１０３やＨＤ１０４、外部記憶装置に保持される。
【００１２】
ディスプレイ１０６は、表示領域に表示出力を行うデバイスである。入力デバイス１０７は、ＣＰＵ１０１に指示入力を行うキーボード／マウスなどのデバイスである。本実施形態では、少なくとも文字入力の指示が入力デバイス１０７を介して情報処理装置１００に入力される。なお、図１では、ディスプレイ１０６と入力デバイス１０７を独立したハードウェアとしているが、これらは一体化したハードウェアにより構成されてもよい。例えばタッチパネルディスプレイを用いることが可能である。また、ソフトウェアにより実現されディスプレイ１０６に表示されるソフトウェアキーボードのキーを、マウスやタブレットなどのポインティングデバイスにより指示する方式での文字入力を受け付けても構わない。
【００１３】
本実施形態では、ＣＰＵ１０１が、ＲＯＭ１０２に格納されたプログラムをＲＡＭ１０３に展開し、後述する各フローチャートに従った処理を実行することで、情報処理装置の機能部を実現する。しかし、一部の機能またはそれぞれ機能を、ハードウェアで構成することも可能である。その場合には、ソフトウェアの各処理に対応させて演算部や回路を構成すれば良い。
【００１４】
図２は、本実施形態の情報処理装置１００によって実行される、文字入力を受け付ける処理の一例を表すフローチャートである。本実施形態では、以下の処理は、情報処理装置１００において実行中の所定のアプリケーションによって実行され、アプリケーションの実行画面に含まれる文字入力領域にフォーカスが当たると、この処理が開始される。
【００１５】
ＣＰＵ１０１は、受付手段として機能し、入力デバイス１０７から入力されるキー情報か座標情報を受け付ける。情報の入力がない間は、それらの通知があるまで待機する（Ｓ２０１）。次にＣＰＵ１０１は、文字入力領域に設定された制限を満たさず、入力が許容されなかった文字の再入力が指示されたかを判定する（Ｓ２０２）。なお、入力が許容されなかった文字は、後述するＳ２１１においてディスプレイ１０６に表示出力される。従ってＳ２０２では、Ｓ２１１において表示された文字がある場合、Ｓ２０１で検知したキー情報か座標情報が、Ｓ２１１で表示した文字の文字入力領域への再入力の指示かどうかが判定される。
【００１６】
入力が許容されなかった文字の文字入力領域への再入力が指示されたと判定した場合（Ｓ２０２：Ｙ）、ＣＰＵ１０１は、入力制御手段として機能し、Ｓ２１１で表示した文字を文字入力領域に追加する指示を出す（Ｓ２０３）。入力が許容されなかった文字の再入力の文字入力領域への再入力が指示されていないと判定した場合（Ｓ２０２：Ｎ）、Ｓ２０１で検知したキー情報か座標情報が、文字入力領域への文字の追加の指示かどうかを判定する（Ｓ２０４）。
【００１７】
文字の追加の指示であると判定した場合（Ｓ２０４：Ｙ）、または全ての文字に対してＳ２０７の処理を実行していないと判定した場合（Ｓ２１０：Ｎ）、ＣＰＵ１０１は、追加を指示された１文字以上の文字列の先頭から順に１文字を取得する（Ｓ２０５）。ＣＰＵ１０１は、文字入力領域が持つ制限を取得する（Ｓ２０６）。ＣＰＵ１０１は、Ｓ２０５で取得した１文字が、Ｓ２０６で取得した文字入力領域の制限を満たすかどうかを判定する（Ｓ２０７）。文字入力領域の制限を満たすと判定した場合（Ｓ２０７：Ｙ）、ＣＰＵ１０１は、表示制御手段として機能し、Ｓ２０５で取得した１文字を文字入力領域に入力する（Ｓ２０８）。すなわち、文字入力領域に２０５で取得した１文字を表示する。文字入力領域の制限を満たさないと判定した場合（Ｓ２０７：Ｎ）、ＣＰＵ１０１は、Ｓ２０５で取得した１文字を文字入力領域に入力せず、ＲＡＭ１０３に情報を記憶する（Ｓ２０９）。
【００１８】
ＣＰＵ１０１は、追加を指示された１文字以上の文字列の全ての文字に対してＳ２０７の処理を実行したかどうかを判定する（Ｓ２１０）。全ての文字に対してＳ２０７の処理を実行したと判定した場合（Ｓ２１０：Ｙ）、ＣＰＵ１０１は、表示制御手段として機能し、Ｓ２０９で文字入力領域に入力できなかった文字をディスプレイ１０６に表示する（Ｓ２１１）。具体的には、文字入力領域に入力されずＲＡＭ１０３に記憶された全ての文字の情報を取得し、入力が許容されなかった文字のための文字表示領域にそれらの文字を表示する。そして処理はＳ２０１に戻る。
【００１９】
ＣＰＵ１０１は、文字の追加の指示でないと判定した場合（Ｓ２０４：Ｎ）、受付手段として機能し、Ｓ２０１で受け付けたキー情報か座標情報が、文字入力領域に入力済みの文字の削除の指示かどうかを判定する（Ｓ２１２）。文字の削除指示であると判定した場合（Ｓ２１２：Ｙ）、ＣＰＵ１０１は、文字入力領域に入力済みの文字からＳ２１２で削除を指示された分の文字を削除する（Ｓ２１３）。そして処理はＳ２０１に戻る。文字の削除指示でないと判定した場合（Ｓ２１２：Ｎ）、ＣＰＵ１０１は、受付手段として機能し、Ｓ２０１で検知したキー情報か座標情報が、文字入力領域の文字の追加削除位置の変更の指示かどうかを判定する（Ｓ２１４）。
【００２０】
ＣＰＵ１０１は、文字の追加削除位置の変更指示であると判定した場合（Ｓ２１４：Ｙ）、文字入力領域の文字の追加削除位置を変更する（Ｓ２１５）。そして処理はＳ２０１に戻る。文字の追加削除位置の変更指示でないと判定した場合（Ｓ２１４：Ｎ）、ＣＰＵ１０１は、受付手段として機能し、文字入力領域からフォーカスを外す指示かどうかを判定する（Ｓ２１６）。フォーカスを外す指示であると判定した場合（Ｓ２１６：Ｙ）、ＣＰＵ１０１は、文字入力領域からフォーカスを外し、Ｓ２１１で表示した文字を削除して本フローチャートの処理は終了する（Ｓ２１７）。フォーカスを外す指示でないと判定した場合（Ｓ２１６：Ｎ）、処理はＳ２０１に戻る。
【００２１】
次に、図３の（ａ）から（ｅ）を例に、文字列の入力処理を説明する。図３の（ａ）から（ｅ）は、文字入力領域の持つ制限として残文字数がある状態で、部署名を入力する場合の例である。図３（ａ）は、文字入力領域３０１にフォーカスが当たった直後の状態を表している。文字入力領域３０１に入力されている文字はなく、受け付ける残文字数は１０文字であるとする。キャレット３０２は、文字入力領域３０１における現在の追加削除位置を表している。破線矩形で示された文字表示領域３０３は、文字入力領域３０１に設定された制限により、入力が許容されなかった文字がある場合にそれらを表示するための領域である。文字表示領域３０３は、文字入力領域３０１とは独立したユーザインタフェースの要素として表示される。本実施形態では、例えば、ＷＥＢブラウザアプリケーションが、文字入力領域３０１および文字表示領域３０３を含むＷＥＢページを、アプリケーション実行画面に表示するとする。また例えば、ＷＥＢブラウザが、ＷＥＢページを読み込み、解析した結果、文字入力領域３０１に制限があることを検出したことに応じて、文字表示領域３０３を含むＷＥＢページを再構成して表示してもよい。文字入力領域３０１にフォーカスが当たったときの処理を図２のフローチャートに基づいて説明する。文字入力領域３０１にフォーカスが当たると、ＣＰＵ１０１は、入力デバイス１０７からキー情報か座標情報の入力を受け付ける（Ｓ２０１）。
【００２２】
図３（ｂ）は、図３（ａ）の状態からユーザが入力デバイス１０７で予めコピーしていた「デジタル制御技術開発部門」という文字列をペーストした状態を表している。この状態で実行される処理を図２のフローチャートに基づいて説明する。ユーザが入力デバイス１０７によって「デジタル制御技術開発部門」という文字列をペーストすると、ＣＰＵ１０１は、入力デバイス１０７からペースト処理を示すキー情報か座標情報を受け付ける。ＣＰＵ１０１は、入力された情報を解析し、文字入力領域３０１への再入力の指示でないと判定する（Ｓ２０２：Ｎ）。なお、この時点ではまだＳ２１１の処理が実行されておらず、文字表示領域３０３に表示した文字はない。ＣＰＵ１０１は、「デジタル制御技術開発部門」という文字列のペーストは、文字入力領域３０１への文字の追加の指示であると判定する（Ｓ２０４：Ｙ）。
【００２３】
ＣＰＵ１０１は、追加を指示された文字列「デジタル制御技術開発部門」の先頭から順の１文字「デ」を取得する（Ｓ２０５）。ＣＰＵ１０１は、文字入力領域３０１の制限である残文字数「１０」を取得する（Ｓ２０６）。ＣＰＵ１０１は、文字「デ」は、文字入力領域３０１の残文字数１０という制限を満たすと判定する（Ｓ２０７：Ｙ）。ＣＰＵ１０１は、文字「デ」を文字入力領域３０１に入力する（Ｓ２０８）。ＣＰＵ１０１は、まだ「デジタル制御技術開発部門」という文字列の全ての文字に対してＳ２０７の処理を実行していないと判定する（Ｓ２１０：Ｎ）。続いて、ＣＰＵ１０１は、追加を指示された文字列「デジタル制御技術開発部門」の先頭から順の１文字「ジ」を取得する（Ｓ２０５）。ＣＰＵ１０１は、文字入力領域３０１の制限である残文字数「９」を取得する（Ｓ２０６）。ＣＰＵ１０１は、文字「ジ」は、文字入力領域３０１の残文字数「９」という制限を満たすと判定する（Ｓ２０７：Ｙ）。ＣＰＵ１０１は、文字「ジ」を文字入力領域３０１に入力する（Ｓ２０８）。ＣＰＵ１０１は、「デジタル制御技術開発部門」という文字列の全ての文字に対してＳ２０７の処理を実行していないと判定する（Ｓ２１０：Ｎ）。以降、文字列「デジタル制御技術開発」が文字入力領域３０１に入力されるまでＳ２０５からＳ２１０までの同様の処理が繰り返され、ＣＰＵ１０１は、追加を指示された文字列「デジタル制御技術開発部門」の先頭から順の１文字「部」を取得する（Ｓ２０５）。
【００２４】
処理が進み、ＣＰＵ１０１は、文字入力領域３０１の制限である残文字数「０」を取得した場合（Ｓ２０６）、ＣＰＵ１０１は、文字「部」は、文字入力領域３０１の残文字数「０」という制限を満たさないと判定する（Ｓ２０７：Ｎ）。ＣＰＵ１０１は、文字「部」を文字入力領域３０１に入力しない（Ｓ２０９）。そして、文字「部」の情報を、入力が許容されなかった文字列としてＲＡＭ１０３に記憶する。ＣＰＵ１０１は、「デジタル制御技術開発部門」という文字列の全ての文字に対してＳ２０７の処理を実行していないと判定する（Ｓ２１０：Ｎ）。ＣＰＵ１０１は、追加を指示された文字列「デジタル制御技術開発部門」の先頭から順の１文字「門」を取得する（Ｓ２０５）。ＣＰＵ１０１は、文字「門」は、文字入力領域３０１の残文字数０という制限を満たさないと判定する（Ｓ２０７：Ｎ）。ＣＰＵ１０１は、文字「門」を文字入力領域３０１に入力しない（Ｓ２０９）。そして、文字「門」の情報を、ＲＡＭ１０３に記憶されている入力が許容されなかった文字列の情報に追加する。ＣＰＵ１０１は、「デジタル制御技術開発部門」という文字列の全ての文字に対してＳ２０７の処理を実行したと判定する（Ｓ２１０：Ｙ）。
【００２５】
ＣＰＵ１０１は、ＲＡＭ１０３に記憶されている入力が許容されなかった文字列の情報を参照し、文字入力領域３０１に入力できなかった文字「部門」を文字表示領域３０３に表示する（Ｓ２１１）。これにより、ユーザは文字入力領域３０１にペーストした文字列「デジタル制御技術開発部門」の一部が入力できなかったことのみならず、その文字列が「部門」であることを文字表示領域３０３で、目視で確認することができる。この例のように、クリップボードに予め記憶されていた情報をペーストすることによって文字列が入力される場合、ユーザは、必ずしも入力している文字列の文字数や、語尾を把握しているとは限らない。従って、文字表示領域３０３がなければ、文字数制限により入力できなかった文字があること、及びそれが「課」や「事業部」ではなく「部門」であったことを認識できない場合がある。本実施形態によれば、そのような問題は解消される。
【００２６】
次に、図３（ｃ）は、図３（ｂ）の状態からユーザが入力デバイス１０７でキャレット３０２を文字入力領域３０１に入力済みの文字列の先頭に移動し、文字列「デジタル制御技術」を削除し、文字列「ＤＳ」を追加した状態を表している。この状態で実行される処理を図２のフローチャートに基づいて説明する。なお、ここで情報処理装置１００が受け付ける具体的な操作の一例として、キーボードで「Ｈｏｍｅ」キーを押下すること及び「Ｅｎｄ」を押下することは、文字入力領域３０１の文字の追加削除位置の変更を指示する操作であるとする。
【００２７】
ユーザがキーモード上で「Ｈｏｍｅ」キーを押下すると、ＣＰＵ１０１は、入力デバイス１０７から「Ｈｏｍｅ」キー情報の情報を受け付ける（Ｓ２０１）。そしてＣＰＵ１０１は、文字表示領域３０３に文字「部門」があるが、「Ｈｏｍｅ」キー情報は文字「部門」の文字入力領域３０１への再入力の指示でないと判定する（Ｓ２０２：Ｎ）。また、ＣＰＵ１０１は、「Ｈｏｍｅ」キー情報は、文字入力領域３０１への文字の追加の指示でないと判定する（Ｓ２０４：Ｎ）。ＣＰＵ１０１は、「Ｈｏｍｅ」キー情報は、文字入力領域３０１に入力済みの文字の削除の指示でないと判定する（Ｓ２１２：Ｎ）。
【００２８】
ＣＰＵ１０１は、「Ｈｏｍｅ」キー情報は、文字入力領域３０１の文字の追加削除位置の変更の指示であると判定する（Ｓ２１４：Ｙ）。ＣＰＵ１０１は、文字入力領域３０１の文字の追加削除位置を先頭に変更する（Ｓ２１５）。続いて、ユーザがキーモードで「Ｄｅｌｅｔｅ」キーを押下すると、ＣＰＵ１０１は、入力デバイス１０７から送信される「Ｄｅｌｅｔｅ」キー情報を受け付ける（Ｓ２０１）。ＣＰＵ１０１は、文字表示領域３０３に文字「部門」があるが、「Ｄｅｌｅｔｅ」キー情報は文字「部門」の文字入力領域３０１への再入力の指示でないと判定する（Ｓ２０２：Ｎ）。ＣＰＵ１０１は、「Ｄｅｌｅｔｅ」キー情報は、文字入力領域３０１への文字の追加の指示でないと判定する（Ｓ２０４：Ｎ）。ＣＰＵ１０１は、「Ｄｅｌｅｔｅ」キー情報は、文字入力領域３０１に入力済みの文字の削除の指示であると判定する（Ｓ２１２：Ｙ）。ＣＰＵ１０１は、文字入力領域に入力済みの文字列「デジタル制御技術開発」から先頭１文字（つまり「デ」）を削除する（Ｓ２１３）。
【００２９】
さらにユーザがキーモードで続けて７回「Ｄｅｌｅｔｅ」キーを押下すると、同様にして、文字入力領域３０１に入力済みの文字列「ジタル制御技術開発」から「ジタル制御技術」が削除される。このように、文字入力領域３０１に入力された文字を削除する編集により、文字入力領域３０１内の文字の数は減少する。つまり、文字数の制限に対して余裕ができる。
【００３０】
続いて、ユーザがキーモードで「Ｄ」キーを押下すると、ＣＰＵ１０１は、入力デバイス１０７から「Ｄ」キー情報を受け付ける（Ｓ２０１）。そしてＣＰＵ１０１は、文字表示領域３０３に文字「部門」があるが、「Ｄ」キー情報は文字「部門」の文字入力領域３０１への再入力の指示でないと判定する（Ｓ２０２：Ｎ）。ＣＰＵ１０１は、「Ｄ」キー情報は、文字入力領域３０１への文字の追加の指示であると判定する（Ｓ２０４：Ｙ）。以降は図３（ｂ）の説明と同様にして、文字入力領域３０１に入力済みの文字列が「Ｄ開発」になる。ユーザが入力デバイス１０７で「Ｓ」キーを押下すると、同様にして、文字入力領域３０１に入力済みの文字列が「ＤＳ開発」になる。
【００３１】
図３（ｄ）は、図３（ｃ）の状態からユーザが入力デバイス１０７でキャレット３０２を文字入力領域３０１に入力済みの文字列の末尾に移動し、文字表示領域３０３に表示された文字列「部門」を再入力した状態を表している。この状態で実行される処理を図２のフローチャートに基づいて説明する。ユーザがキーモードで「Ｅｎｄ」キーを押下すると、ＣＰＵ１０１は、入力デバイス１０７から「Ｅｎｄ」キー情報を受け付ける（Ｓ２０１）。ＣＰＵ１０１は、文字表示領域３０３に文字「部門」があるが、「Ｅｎｄ」キー情報は文字「部門」の文字入力領域３０１への再入力の指示でないと判定する（Ｓ２０２：Ｎ）。ＣＰＵ１０１は、「Ｅｎｄ」キー情報は、文字入力領域３０１への文字の追加の指示でないと判定する（Ｓ２０４：Ｎ）。ＣＰＵ１０１は、「Ｅｎｄ」キー情報は、文字入力領域３０１に入力済みの文字の削除の指示でないと判定する（Ｓ２１２：Ｎ）。ＣＰＵ１０１は、「Ｅｎｄ」キー情報は、文字入力領域３０１の文字の追加削除位置の変更の指示であると判定する（Ｓ２１４：Ｙ）。ＣＰＵ１０１は、文字入力領域３０１の文字の追加削除位置を末尾に変更する（Ｓ２１５）。
【００３２】
さらにＣＰＵ１０１は、ユーザが入力デバイス１０７により、文字表示領域３０３をポインティングすると、ＣＰＵ１０１は、入力デバイス１０７から文字表示領域３０３の座標情報を受け付ける（Ｓ２０１）。ＣＰＵ１０１は、文字表示領域３０３に文字「部門」がある状態での文字表示領域３０３の座標情報は、文字「部門」の文字入力領域３０１への再入力の指示であると判定する（Ｓ２０２：Ｙ）。ＣＰＵ１０１は、文字表示領域３０３に表示された文字「部門」を文字入力領域に追加する指示を出す（Ｓ２０３）。ＣＰＵ１０１は、追加を指示された文字列「部門」の先頭から順の１文字「部」を取得する（Ｓ２０５）。以降は図３（ｂ）の説明と同様にして、文字入力領域３０１に入力済みの文字列が「ＤＳ開発部門」になる。これにより、ユーザは文字入力領域３０１に入力できなかった文字「部門」を、文字表示領域３０３のポインティングという１工程で再入力することができる。
【００３３】
図３（ｅ）は、図３（ｃ）の状態からユーザが入力デバイス１０７で文字入力領域３０１でも文字表示領域３０３でもない領域をクリックして、文字入力領域３０１からフォーカスが外れた状態を表している。この状態で実行される処理を図２のフローチャートに基づいて説明する。ユーザが入力デバイス１０７で、文字入力領域３０１及び文字表示領域３０３に含まれない領域をポインティングすると、ＣＰＵ１０１は、入力デバイス１０７から座標情報を受け付ける（Ｓ２０１）。ＣＰＵ１０１は、文字表示領域３０３に文字「部門」があるが、文字入力領域３０１及び文字表示領域３０３に含まれない領域の座標情報は文字「部門」の文字入力領域３０１への再入力の指示でないと判定する（Ｓ２０２：Ｎ）。さらにＣＰＵ１０１は、受け付けた座標情報は、文字入力領域３０１への文字の追加の指示でないと判定する（Ｓ２０４：Ｎ）。また、ＣＰＵ１０１は、受け付けた座標情報は文字入力領域３０１に入力済みの文字の削除の指示でないと判定する（Ｓ２１２：Ｎ）。さらに、受け付けた座標情報は、文字入力領域３０１の文字の追加削除位置の変更の指示でないと判定する（Ｓ２１４：Ｎ）。そして、ＣＰＵ１０１は、受け付けた座標情報は、文字入力領域３０１からフォーカスを外す指示であると判定する（Ｓ２１６：Ｙ）。ＣＰＵ１０１は、文字入力領域３０１からフォーカスを外し、文字表示領域３０３に表示した文字「部門」の情報をＲＡＭ１０３から削除するとともに、文字表示領域３０３からも削除する（Ｓ２１７）。
【００３４】
以上説明したように、本実施形態では、文字入力領域に設定された制限により、入力が受け付けられなかった文字を表示し、容易に再入力可能にする。これにより、ユーザは、制限付きの文字入力領域に対する文字入力において、制限を満たさない入力をしてしまった場合でも、速やかに再入力ができるため、全体にかかる工数を低減することができる。
【００３５】
なお、本実施形態の図３では文字列をペーストする例で説明したが、日本語や中国語や韓国語などのように変換を利用する場合や、予測入力を利用する場合にも有効である。また、文字列をペースト操作により一括で入力する場合のみならず、１文字を入力する場合であっても適用することができる。
【００３６】
＜変形例１＞
第１実施形態では、文字入力領域への入力が受け付けられなかった文字を表示し、容易に再入力可能とする例を説明した。変形例１では、文字入力領域に入力できなかった文字が再入力される場合に、文字入力領域内の文字列内のどの位置に挿入されるかを直観的に把握しやすいよう、文字入力領域に入力できなかった文字を動的な位置に表示するインタフェースの例を説明する。変形例１に係る情報処理装置１００のハードウェア構成は、図１のブロック図で示したものに準じるため、説明を省略する。
【００３７】
次に、図５のフローチャートを参照して、本実施形態においてＣＰＵ１０１がＲＡＭ１０３に展開して実行する具体的な処理を説明する。図２と同じ処理については説明を省略する。変形例１では、Ｓ２１１はＳ５０１に置き換わり、Ｓ２１３の処理が完了した後は、Ｓ２０１ではなくＳ５０１に進む。以下、図２と異なる点を中心に説明する。
【００３８】
図５のフローチャートでは、全ての文字に対してＳ２０７の処理を実行したと判定された場合（Ｓ２１０：Ｙ）、ＣＰＵ１０１は表示制御手段として機能し、文字入力領域に許容されない文字を、再入力した際に入力される位置に対応づけて表示する（Ｓ５０１）。入力できなかった文字を再入力した際に入力される位置とは、本実施形態の場合は、始めに文字入力領域への入力が指示された文字列内での他の文字との前後関係が維持される位置である。また、Ｓ２１２において、入力されたキー情報が文字の削除指示であると判定された場合（Ｓ２１２：Ｙ）、ＣＰＵ１０１は、文字入力領域に入力済みの文字からＳ２１２で削除を指示された分の文字を削除し（Ｓ２１３）、処理はＳ５０１に進む。
【００３９】
図３の（ｆ）から（ｊ）を例に、変形例１における文字列の入力を受け付ける処理を説明する。図３の（ｆ）から（ｊ）は、文字入力領域の持つ制限として残文字数がある状態で、部署名を入力する場合の例である。図３（ｆ）は、図３（ａ）と、文字表示領域３０３が表示されていない点が異なる。図３（ｇ）は、図３（ｆ）の状態からユーザが入力デバイス１０７で予めコピーしていた「デジタル制御技術開発部門」という文字列をペーストした状態を表している。この場合に実行される処理を、図５のフローチャートを参照し、かつ、図３（ｂ）と異なる部分を中心に説明する。ＣＰＵ１０１は、文字入力領域３０１に入力できなかった文字「部門」を、再入力した際に入力される位置（つまり、「発」の右）に対応付けられた文字表示領域３０３に表示する（Ｓ５０１）。本実施形態では、文字表示領域３０３は図３（ｂ）の破線矩形とは異なる吹き出しの形状で、再入力した際に入力される位置から吹き出している。ユーザは文字表示領域３０３を見れば、そこに表示された文字を再入力した際に入力される位置がわかる。
【００４０】
図３（ｈ）は、図３（ｇ）の状態からユーザが入力デバイス１０７でキャレット３０２を文字入力領域３０１に入力済みの文字列の先頭に移動し、文字列「デジタル制御技術」を削除し、文字列「ＤＳ」を追加した状態を表している。この状態で実行される処理を図５のフローチャートに基づいて、図３（ｃ）と異なる部分について説明する。文字列「デジタル制御技術」の削除及び、文字列「ＤＳ」の追加に伴い、ＣＰＵ１０１は、Ｓ２０９で文字入力領域に入力できなかった文字を、再入力した際に入力される位置に対応付けられた文字表示領域３０３に表示する（Ｓ５０１）。これによってユーザは、入力できなかった文字を、再入力した際に入力される位置を把握することができる。図３（ｈ）において、文字表示領域３０３は図３（ｇ）で表示された位置から移動している。
【００４１】
図３（ｉ）は、図３（ｈ）の状態からユーザが文字表示領域３０３に表示された文字列「部門」を再入力した状態を表している。図３（ｄ）とは異なり、ユーザは入力デバイス１０７でキャレット３０２を文字入力領域３０１に入力済みの文字列の末尾に移動していない。この状態で実行される処理を図２のフローチャートに基づいて説明する。ユーザが入力デバイス１０７で文字表示領域３０３をクリックすると、ＣＰＵ１０１は、入力デバイス１０７から文字表示領域３０３の座標情報が送信されたことを検知して、Ｓ２０２に進む。ＣＰＵ１０１は、文字表示領域３０３に文字「部門」がある状態での文字表示領域３０３の座標情報は、文字「部門」の文字入力領域３０１への再入力の指示であると判定する（Ｓ２０２：Ｙ）。ＣＰＵ１０１は、文字表示領域３０３に表示された文字「部門」を文字入力領域に追加する指示を出す（Ｓ２０３）。ＣＰＵ１０１は、追加を指示された文字列「部門」の先頭から順の１文字「部」を取得する（Ｓ２０５）。以降は図３（ｂ）の説明と同様にして、文字入力領域３０１に入力済みの文字列が「ＤＳ開発部門」になる。表示する文字の無くなった吹き出しの形状の文字表示領域３０３は非表示になる。この時、ＲＡＭ１０３に記憶されていた、入力が許容されなかった文字列の情報も削除される。これにより、実施例１の図３（ｄ）の説明であった、ユーザが「Ｅｎｄ」キーを押下する工程を削減することができる。
【００４２】
一方で、図３（ｊ）は、図３（ｈ）の状態からユーザが入力デバイス１０７で文字入力領域３０１及び文字表示領域３０３に含まれない領域をポインティングしたことを受け、文字入力領域３０１からフォーカスが外れた状態を表している。この処理は図３（ｅ）の説明と同様にして、ＣＰＵ１０１は、文字入力領域３０１からフォーカスを外し、文字表示領域３０３に表示した文字「部門」を削除する（Ｓ２１７）。表示する文字の無くなった吹き出しの形状の文字表示領域３０３は非表示になる。
【００４３】
以上説明したように、文字入力領域に入力できなかった文字を、文字入力領域に再入力した際に入力される位置に対応づけて表示する。これによってユーザは、入力できなかった文字を再入力した際に入力される位置を直感的に理解して、速やかに再入力するあるいは入力を中止することができる。
【００４４】
なお、図３の（ｆ）から（ｊ）では文字入力領域の制限が残文字数の場合について説明したが、本実施形態が適用される文字入力領域の制限は文字の数の場合に限られない。例えば、文字の種類（形式ともいう）の場合にも適用することができる。図４の（ａ）から（ｄ）は、文字入力領域の持つ制限として文字の種類がある状態で、住所を入力する場合の例である。図４（ａ）は、文字入力領域３０１にフォーカスが当たった直後の状態を表している。文字入力領域３０１に入力されている文字はなく、受け付ける文字の種類は「全角のみ」であるとする。キャレット３０２は、文字入力領域３０１における現在の追加削除位置を表している。文字入力領域３０１にフォーカスが当たったときの処理を図２のフローチャートに基づいて説明する。文字入力領域３０１にフォーカスが当たると、ＣＰＵ１０１は、入力デバイス１０７からのキー情報か座標情報の入力を待つ（Ｓ２０１）。
【００４５】
図４（ｂ）は、図４（ａ）の状態からユーザが入力デバイス１０７で予めコピーしていた「Ｓ丸子２丁目１８番１１号」という文字列をペーストした状態を表している。予めコピーした文字列中の全ての数字は半角であるとする。この状態で実行される処理を図２のフローチャートに基づいて説明する。ユーザが入力デバイス１０７で「Ｓ丸子２丁目１８番１１号」という文字列をペーストすると、ＣＰＵ１０１は、入力デバイス１０７からキー情報か座標情報が送信されたことを検知して、Ｓ２０２に進む。ＣＰＵ１０１は、まだＳ２１１の処理を実行しておらず、文字表示領域３０３に表示した文字はないため、文字入力領域３０１への再入力の指示でないと判定する（Ｓ２０２：Ｎ）。
【００４６】
ＣＰＵ１０１は、「Ｓ丸子２丁目１８番１１号」という文字列のペーストは、文字入力領域３０１への文字の追加の指示であると判定する（Ｓ２０４：Ｙ）。ＣＰＵ１０１は、追加を指示された文字列「Ｓ丸子２丁目１８番１１号」の先頭から順の１文字「Ｓ」を取得する（Ｓ２０５）。ＣＰＵ１０１は、文字入力領域３０１の制限である文字の種類「全角のみ」を取得する（Ｓ２０６）。ＣＰＵ１０１は、文字「Ｓ」は、文字入力領域３０１の文字の種類「全角のみ」という制限を満たすと判定する（Ｓ２０７：Ｙ）。ＣＰＵ１０１は、文字「Ｓ」を文字入力領域３０１に入力する（Ｓ２０８）。ＣＰＵ１０１は、「Ｓ丸子２丁目１８番１１号」という文字列の全ての文字に対してＳ２０７の処理を実行していないと判定する（Ｓ２１０：Ｎ）。以降、「Ｓ丸子」という文字列が文字入力領域３０１に入力されるまでＳ２０５からＳ２１０までの同様の処理を繰り返したのち、ＣＰＵ１０１は、追加を指示された文字列の次の１文字「２（半角）」を取得する（Ｓ２０５）。ＣＰＵ１０１は、文字入力領域３０１の制限である文字の種類「全角のみ」を取得する（Ｓ２０６）。ＣＰＵ１０１は、文字「２（半角）」は、文字入力領域３０１の文字の種類「全角のみ」という制限を満たさないと判定する（Ｓ２０７：Ｎ）。ＣＰＵ１０１は、文字「２（半角）」を文字入力領域３０１に入力しない（Ｓ２０９）。以降、「Ｓ丸子丁目番号」という文字列が文字入力領域３０１に入力されるまでＳ２０５からＳ２１０までの同様の処理を繰り返す。
【００４７】
ＣＰＵ１０１は、「Ｓ丸子２丁目１８番１１号」という文字列の全ての文字に対してＳ２０７の処理を実行したと判定する（Ｓ２１０：Ｙ）。ＣＰＵ１０１は、文字入力領域３０１に入力できなかった文字「２」「１８」「１１」を、再入力した際に入力される位置（つまり、「２」は「子」の右、「１８」は「目」の右、「１１」は「番」の右）がわかるように文字表示領域３０３に表示する（Ｓ５０１）。このように本実施形態では、入力文字列の複数の箇所に制限により入力が許容されない文字が含まれた場合は、文字入力領域３０１上で、入力が許容されなかった文字が存在した複数の箇所のそれぞれに対応づけて、文字表示領域３０３が表示される。複数の箇所のそれぞれに指標が表示されるので、ユーザは入力しようとした文字列のどこに制限に許容されない文字が含まれたかを直感的に理解できる。特に、本実施形態では、複数の箇所のそれぞれに対応づけて複数の文字表示領域３０３が表示され、許容されなかった文字が明示される。従ってユーザは、表示された文字表示領域３０３を確認しながら、図４（ｃ）のように、最適な位置に全角の数字を入力しなおすことができる。全角の数字を入力した段階で、文字入力領域３０１からフォーカスを外せば、図４（ｄ）のように、文字表示領域３０３の表示は非表示となり入力が完了する。
【００４８】
なお、本実施形態の図４（ａ）から（ｄ）では、半角の文字を文字表示領域３０３に表示し、それを見ながら全角の文字をユーザがする例を説明した。しかしながら、このように同じ文字（文字コード）に関して入力形式を定めるような制限であれば、半角全角変換テーブルを予め用意することで、半角の文字を自動で全角へと変換することが可能である。これにより、例えば文字表示領域３０３がクリックされたら半角の文字を全角に変換して再入力することができ、ユーザの文字入力にかかる工数を低減することができる。
【００４９】
＜変形例２＞
第１実施形態では、文字入力領域に入力できなかった文字を表示し再入力可能にすることで、ユーザの文字入力にかかる工数を低減する例を説明した。変形例２では、文字入力領域の制限に上限が存在し且つ上限に達していない場合に、表示した文字を文字入力領域に追加する指示を出す例を説明する。なお変形例２に係る情報処理装置１００のハードウェア構成は、図１のブロック図で示したものに準じるため、説明を省略する。次に、図６のフローチャートを参照して、本実施形態においてＣＰＵ１０１がＲＡＭ１０３に展開して実行する具体的な処理を説明する。図２と同じ処理については説明を省略し、異なる点を説明する。変形例２では、Ｓ６０１からＳ６０４が追加されており、Ｓ２１３の処理の後は、Ｓ２０１ではなくＳ６０１に進む。
【００５０】
変形例２において、ＣＰＵ１０１は、文字の削除指示であると判定した場合（Ｓ２１２：Ｙ）、文字入力領域に入力済みの文字からＳ２１２で削除を指示された分の文字を削除して（Ｓ２１３）、Ｓ６０１に進む。そしてＣＰＵ１０１は、文字入力領域に入力できなかった文字が表示されているかどうかを判定する（Ｓ６０１）。文字が表示されていたと判定した場合（Ｓ６０１：Ｙ）、ＣＰＵ１０１は、文字入力領域が持つ制限を取得する（Ｓ６０２）。さらにＣＰＵ１０１は、Ｓ６０２で取得した文字入力領域の制限に上限が存在するかどうかを判定する（Ｓ６０３）。文字入力領域の制限に上限が存在すると判定した場合（Ｓ６０３：Ｙ）、ＣＰＵ１０１は、文字入力領域の制限の上限に達しているかどうかを判定する（Ｓ６０４）。そして、文字入力領域の制限の上限に達していないと判定された場合（Ｓ６０４：Ｎ）、処理はＳ２０３に進む。
【００５１】
一方、ＣＰＵ１０１が、文字が表示されていないと判定した（Ｓ６０１：Ｎ）、または文字入力領域の制限に上限が存在しないと判定した（Ｓ６０３：Ｎ）、または文字入力領域の制限の上限に達していると判定した場合（Ｓ６０４：Ｙ）、処理はＳ２０１に進む。
【００５２】
次に、図７の（ａ）から（ｄ）を参照して、変形例２における文字入力の受付処理の具体例を説明する。図７の（ａ）から（ｄ）は、文字入力領域の持つ制限として残文字数がある状態で、部署名を入力する場合の例である。図７（ａ）は、図３（ａ）と同じ状態である。また図７（ｂ）は、図３（ｂ）と同じ状態である。
【００５３】
図７（ｃ）は、図７（ｂ）の状態からユーザが入力デバイス１０７でキャレット３０２を文字入力領域３０１に入力済みの文字列の先頭に移動し、文字列「デジタル制御技術開発」の先頭１文字を削除した状態を表している。このとき行われる処理を、図６のフローチャートに基づいて説明する。ただし、図３（ｃ）と同じ処理は省略し、異なる部分を中心に説明する。ＣＰＵ１０１は、文字入力領域に入力済みの文字列「デジタル制御技術開発」から先頭１文字（つまり「デ」）を削除する（Ｓ２１３）。ＣＰＵ１０１は、文字入力領域３０１に入力できなかった文字「部門」が文字表示領域３０３に表示されていると判定する（Ｓ６０１：Ｙ）。ＣＰＵ１０１は、文字入力領域３０１の制限である残文字数１を取得する（Ｓ６０２）。ＣＰＵ１０１は、文字入力領域３０１の残文字数という制限は上限があると判定する（Ｓ６０３：Ｙ）。ＣＰＵ１０１は、残文字数が１以上であれば文字入力領域に文字を入力することができるため、文字入力領域３０１の残文字数１という制限は上限に達していないと判定する（Ｓ６０４：Ｎ）。
【００５４】
ＣＰＵ１０１は、文字表示領域３０３に表示された文字「部門」を文字入力領域に追加する指示を出す（Ｓ２０３）。ＣＰＵ１０１は、文字表示領域３０３に表示された文字「部門」を文字入力領域に追加する指示を出す（Ｓ２０３）。以降は図３（ｂ）の説明と同様にして、文字入力領域３０１に入力済みの文字列が「ジタル制御技術開発部」になり、文字表示領域３０３に表示された文字列が「門」になる。このときＣＰＵ１０１は、再入力指示があった場合に文字入力する対象としてＲＡＭ１０３に記憶している文字列を更新する。
【００５５】
次に図７（ｄ）は、図７（ｃ）の状態からユーザが入力デバイス１０７で文字列「ジタル制御技術開発部」の先頭１文字を削除した状態を表している。図７（ｃ）の説明と同様にして、文字入力領域３０１に入力済みの文字列が「タル制御技術開発部門」になる。例えば、このような図７（ｄ）の状態から、ユーザがキーボードで「Ｄｅｌｅｔｅ」キーを６回押下すると、「タル制御技術」の文字列が削除され、結果的に、文字入力領域３０１には「開発部門」という文字列が入力された状態となる。そして、ユーザがキーボードで「Ｄ」キーを１回、「Ｓ」キーを１回ずつ押下すると、入力された文字列は「ＤＳ開発本部」となり、図３（ｄ）と同じ状態になる。このように、変形例２によれば、ユーザが入力デバイス１０７で文字表示領域３０３をポインティングする工程を省略した上で、文字入力領域に設定された制限により、一度は入力が許容されなかった文字の再入力が支援される。
【００５６】
以上説明したように、文字入力領域の制限に上限が存在し且つ上限に達していない場合に、表示した文字を文字入力領域に追加する指示を出すことで、ユーザの文字入力にかかる工数を低減することができる。
【００５７】
＜変形例３＞
第１実施形態では、文字入力領域に設定された制限により、入力が許容されなかった文字を表示し、容易に再入力可能とする例を説明した。変形例３では、入力が許容されなかった文字を表示した状態で編集可能とする例を説明する。ここでいう編集とは、文字の追加、文字の削除、または文字の追加削除位置の変更のいずれかの処理のことを差す。なお変形例３に係る情報処理装置１００のハードウェア構成は、図１のブロック図で示したものに準じるため、説明を省略する。
【００５８】
次に、図８のフローチャートを参照して、本実施形態においてＣＰＵ１０１がＲＡＭ１０３に展開して実行する具体的な処理を説明する。図２と同じ処理については説明を省略し、異なる点を中心に説明する。図８のフローチャートには、Ｓ８０１とＳ８０２が追加されており、Ｓ２０２の処理が完了した後、処理はＳ２０４ではなくＳ８０１に進む。
【００５９】
具体的には、Ｓ２０２において、ＣＰＵ１０１は、Ｓ２０１で検知したキー情報か座標情報がＳ２１１においてで表示した文字の文字入力領域への再入力の指示でないと判定した場合（Ｓ２０２：Ｎ）、表示した文字の編集の指示かどうかを判定する（Ｓ８０１）。表示した文字の編集の指示であると判定した場合（Ｓ８０１：Ｙ）、ＣＰＵ１０１は、受付手段として機能し、Ｓ２０１で検知したキー情報か座標情報に基づき、表示した文字を編集する（Ｓ８０２）。そして処理は、Ｓ２０１に戻る。表示した文字の編集の指示でないと判定した場合（Ｓ８０１：Ｎ）、ＣＰＵ１０１は、Ｓ２０１で検知したキー情報か座標情報が、文字入力領域への文字の追加の指示かどうかを判定する（Ｓ２０４）。
【００６０】
次に、図７の（ｅ）から（ｈ）を例に、文字列の入力処理を説明する。図７の（ｅ）から（ｈ）は、文字入力領域の持つ制限として残文字数がある状態で、部署名を入力する場合の例である。図７（ｅ）は、図３（ａ）と同じ状態である。また図７（ｆ）は、図３（ｂ）と同じ状態である。
【００６１】
図７（ｇ）は、図７（ｆ）の状態からユーザが入力デバイス１０７でキャレット３０２を文字表示領域３０３に移動した状態を表している。この状態で実行される処理を図２及び図８のフローチャートに基づいて説明する。ここで変形例３の情報処理装置１００が受け付ける具体的な操作の一例として、キーボードで「Ｔａｂ」キーを押下することは、文字表示領域３０３内の文字を文字編集の対象に設定することの指示操作であるとする。Ｓ２０１において、ＣＰＵ１０１が、ユーザがキーボードで「Ｔａｂ」キーを押下したことによる入力を受け付けると、処理はＳ２０２に進む。ＣＰＵ１０１は、文字表示領域３０３に文字「部門」があるが、「Ｔａｂ」キー情報は文字「部門」の文字入力領域３０１への再入力の指示でないと判定する（Ｓ２０２：Ｎ）。ＣＰＵ１０１は、「Ｔａｂ」キー情報は、表示した文字を編集の対象に設定する指示であると判定する（Ｓ８０１：Ｙ）。ＣＰＵ１０１は、文字の追加削除位置を表すキャレット３０２を文字入力領域３０１の末尾から文字表示領域３０３の先頭に変更する（Ｓ８０２）。そして処理はＳ２０１に戻る。
【００６２】
図７（ｈ）は、図７（ｇ）の状態からユーザが入力デバイス１０７で文字列「部」を削除した状態を表している。この場合の処理を図２及び図８のフローチャートに基づいて説明する。ユーザが、図７（ｇ）の状態においてキーボードで「Ｄｅｌｅｔｅ」キーを押下すると、ＣＰＵ１０１は、キーボードから「Ｄｅｌｅｔｅ」キー情報を受け付け（Ｓ２０１）、処理はＳ２０２に進む。ＣＰＵ１０１は、文字表示領域３０３に文字「部門」があるが、「Ｄｅｌｅｔｅ」キー情報は文字「部門」の文字入力領域３０１への再入力の指示でないと判定する（Ｓ２０２：Ｎ）。ＣＰＵ１０１は、「Ｄｅｌｅｔｅ」キー情報は、表示した文字の編集の指示であると判定する（Ｓ８０１：Ｙ）。ＣＰＵ１０１は、文字表示領域に表示した文字列「部門」から先頭１文字（つまり「部」）を削除する（Ｓ８０２）。ＣＰＵ１０１は、編集された文字列を改めてＲＡＭ１０３に記憶する。そして処理はＳ２０１に戻る。
【００６３】
このように、変形例３では、ユーザは文字表示領域３０３に表示した文字を文字入力領域３０１に再入力する前に、入力したい文字に変更することができる。このとき、文字入力領域３０１には文字数制限があるため、この中で文字を一時的でも増やすような編集は行えない。そこで、文字表示領域３０３の中で文字列の編集を受付可能とすることで、変形例３では、一旦、文字入力領域３０１の文字数を減らして文字列編集のためのスペースを確保するような複雑な手間が生じさせずに済む。従って、変形例３によれば、文字入力領域の制限に上限が存在し且つ上限に達していない場合に、表示した文字を文字入力領域に追加する指示を出すことで、ユーザの文字入力にかかる工数を低減することができる。
【００６４】
＜その他の実施形態＞
第１実施形態およびその変形例は、アプリケーションによって実行される処理として本発明を説明したが、これに限らない。例えば、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）があるいは文字入力支援ソフトウェアが、アプリケーションから文字入力領域に設定された制限情報を取得し、上述した処理を行ってもよい。この場合、文字表示領域３０３は、アプリケーション実行画面に埋め込まれる形式よりも、変形例１のように、文字入力領域３０１に関連付けて、アプリケーション画面に重畳表示される方が好適な場合がある。
【００６５】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【図１】
2020087117.tif 000003
【図２】
2020087117.tif 000004
【図３】
2020087117.tif 000005
【図４】
2020087117.tif 000006
【図５】
2020087117.tif 000007
【図６】
2020087117.tif 000008
【図７】
2020087117.tif 000009
【図８】
2020087117.tif 000010