(57)【要約】【課題】  文字列を意図しない範囲まで削除した場合であっても、煩雑な操作をすることなく、ユーザーが意図する範囲まで復元できるようにする。【解決手段】  本実施形態における文字入力装置は、入力位置に基づいて文字の入力及び削除を含む編集をする入力手段と、前記入力手段により入力された入力文字列を表示する表示手段と、前記入力文字列のなかで少なくとも１文字の削除が実行された後、前記削除の取消指示が入力された場合に、予め決められた文字既定集合単位で前記入力位置に基づいて文字を復元する復元手段と、を具備する。【選択図】図２
2015197697.tif 000002
【特許請求の範囲】
【請求項１】
入力位置に基づいて文字の入力及び削除を含む編集をする入力手段と、
前記入力手段により入力された入力文字列を表示する表示手段と、
前記入力文字列のなかで少なくとも１文字の削除が実行された後、前記削除の取消指示が入力された場合に、予め決められた文字既定集合単位で前記入力位置に基づいて文字を復元する復元手段と、
を具備したことを特徴とする文字入力装置。
【請求項２】
前記文字既定集合単位は、漢字、ひらがな、カタカナ、英字、数字、記号を少なくとも１つを含む文字種単位とすることを特徴とする請求項１記載の文字入力装置。
【請求項３】
前記文字既定集合単位は、形態素単位とすることを特徴とする請求項１記載の文字入力装置。
【請求項４】
入力位置に基づいて文字の入力及び削除を含む編集をする入力工程と、
前記入力工程により入力された入力文字列を表示する表示工程と、
前記入力文字列のなかで少なくとも１文字の削除が実行された後、前記削除の取消指示が入力された場合に、予め決められた文字既定集合単位で前記入力位置に基づいて文字を復元する復元工程と、
を有する文字入力方法。
【請求項５】
入力位置に基づいて文字の入力及び削除を含む編集をする入力工程と、
前記入力工程により入力された入力文字列を表示する表示工程と、
前記入力文字列のなかで少なくとも１文字の削除が実行された後、前記削除の取消指示が入力された場合に、予め決められた文字既定集合単位で前記入力位置に基づいて文字を復元する復元工程と、
をコンピュータに実行させる文字入力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列の入力、編集が可能な文字入力装置、文字入力方法、及び文字入力プログラムに関する。
【背景技術】
【０００２】
パーソナルコンピュータ（ＰＣ）の普及・発達に伴って、ＰＣを使って作業をする場面が多くなってきている。そのため、現在のＰＣにはユーザーの操作を補助する機能が多く備わっており、それを利用する事でユーザーは効率よく作業を行えるようになっている。その機能の一つとして、１つ前の操作を取り消す「Ｕｎｄｏ機能」というものがある。Ｕｎｄｏ機能を使用すれば、誤った操作をしてしまった場合でも、その操作を取り消して１つ前の状態に簡単に戻す事が可能である。
【０００３】
例えば、文書作成アプリケーションにより文章（文字列）の入力／編集時にも「Ｕｎｄｏ機能」を使用する事が可能であり、不要な文字を削除する際に誤って削除し過ぎてしまった場合でも、Ｕｎｄｏ機能を使用することで簡単に復元でき、効率よく文書作成が行える。
【０００４】
従来、ワードプロセッサ装置において、一度削除したり訂正したりして、画面から削除された文字のデータを、復元機能キーを操作することによって、いつでも復元できるようにする技術が考えられている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平８−２２４６５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従来では、文書作成アプリケーションにおいて、文字列を削除しすぎた場合にＵｎｄｏ機能を使用したとき、連続で文字を削除していた場合は、削除し始める前の文字列の状態まで復元してしまう。また、１文字ずつ削除していた場合は、Ｕｎｄｏ機能を使用しても直前の１文字しか復元しないため、所望する文字列の状態に戻すまでに何回かＵｎｄｏ機能を使用する操作を繰り返さなければならない。
【０００７】
すなわち、文字列を削除しすぎた場合にＵｎｄｏ機能を使用すると、ユーザーが意図しない範囲の文字が復元されることがあり、こうした場合には、改めて削除する操作をする、Ｕｎｄｏ機能を繰り返して所望する範囲まで復元するといった操作が必要となる。
【０００８】
あるいは、文字列を削除しすぎた場合にＵｎｄｏ機能を使用しないで入力し直すこともあるが、例えば漢字による熟語の途中まで誤って削除していた場合には、熟語単位で入力をするために熟語の残った文字（熟語全体）をさらに削除した上で入力し直したり（ひらがなで再入力）、残った文字を利用して文字単位で追加入力することで熟語にしたりするなど、煩雑な操作が必要となってしまう。
【０００９】
本発明は、前記のような課題に考慮してなされたもので、文字列を意図しない範囲まで削除した場合であっても、煩雑な操作をすることなく、ユーザーが意図する範囲まで復元することが可能な文字入力装置、文字入力方法、及び文字入力プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記の課題を解決するために、本発明の文字入力装置は、入力位置に基づいて文字の入力及び削除を含む編集をする入力手段と、前記入力手段により入力された入力文字列を表示する表示手段と、前記入力文字列のなかで少なくとも１文字の削除が実行された後、前記削除の取消指示が入力された場合に、予め決められた文字既定集合単位で前記入力位置から文字を復元する復元手段と、を具備したことを特徴とする。
【発明の効果】
【００１１】
本発明によれば、文字列を意図しない範囲まで削除した場合であっても、煩雑な操作をすることなく、ユーザーが意図する範囲に復元することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本実施形態における文字入力装置の構成を示すブロック図。
【図２】本実施形態における第１の方法について示すフローチャート。
【図３】本実施形態における第１の方法を説明するための図。
【図４】本実施形態における第２の方法について示すフローチャート。
【図５】本実施形態における第２の方法を説明するための図。
【発明を実施するための形態】
【００１３】
以下、図面により本発明の実施の形態について説明する。
図１は、本実施形態における文字入力装置の構成を示すブロック図である。本実施形態における文字入力装置は、例えばパーソナルコンピュータ（ＰＣ）において、文字入力／編集機能を有する文書作成アプリケーション２０を実行することにより実現できる。なお、文字入力装置は、ＰＣだけでなく、ワードプロセッサ装置、スマートフォンなど、文書作成（文字入力）する装置によって実現可能である。
【００１４】
図１に示すように、文字入力装置は、ＣＰＵ１０、入力部１１、表示部１２、記憶装置１３、及びメモリ１４を有している。
ＣＰＵ１０は、文字入力装置の全体の制御を司るもので、各種プログラムを実行することにより各種機能を実現する。ＣＰＵ１０は、メモリ１４に記憶された文書作成アプリケーション２０を実行することにより、ユーザーによる入力部１１への入力操作に応じて文書（文字列）を入力／編集する機能を実現する。
【００１５】
入力部１１は、例えばキーボード、タッチパネル、マウスなどの入力デバイスに対するユーザー操作を受け付ける。
【００１６】
表示部１２は、ＣＰＵ１０の制御もとで、各種の画面をＬＣＤ（Liquid Crystal Display）などのディスプレイに表示させる。表示部１２は、文書作成アプリケーション２０の実行時には、文書作成アプリケーション２０により入力／編集される文書（文字列）を表示する。
【００１７】
記憶装置１３は、各種プログラムやデータ等を不揮発性の記憶媒体に記憶する装置である。記憶装置１３には、基本制御プログラムの他、例えば文書を作成する文書作成アプリケーション、文書作成アプリケーションによって作成された文書ファイルなどが記憶される。
【００１８】
メモリ１４は、ＣＰＵ１０により実行されるプログラムやデータ等を一時的に記憶するためのワークメモリとして使用される。メモリ１４は、記憶装置１３から読み出されたプログラムやデータが記憶され、ＣＰＵ１０によりアクセスされる。メモリ１４には、ＯＳ（Operating System）の他、各種のアプリケーションプログラムが記憶される。アプリケーションプログラムには、例えば文書作成アプリケーション２０が含まれる。文書作成アプリケーション２０は、ユーザーによる入力部１１への入力操作に応じて文書（文字列）を入力／編集するための機能を提供する。文書作成アプリケーション２０は、読み（ひらがな）と変換先の単語（文字列）及び品詞とが対応づけられた辞書を有しており、ユーザー操作により入力された読みを、辞書を参照して変換し、表示部１２において表示させる。
【００１９】
また、メモリ１４には、文書作成アプリケーション２０が実行されるのに伴い、文字列データ２１、文字種データ２２、区切り位置データ２３が記憶される。文字列データ２１は、入力された各文字を示すデータ列（文字コード列等）である。文字種データ２２は、Ｕｎｄｏ機能による文字列の復元の処理（後述する第１の方法）に参照されるデータであり、入力された文字列の各文字の文字種を示すデータである。区切り位置データ２３は、Ｕｎｄｏ機能による文字列の復元の処理（後述する第２の方法）に参照されるデータであり、入力された文字列の形態素毎の区切り位置を示すデータである。
【００２０】
記憶装置１３は、各種プログラムやデータ等を不揮発性の記憶媒体に記憶する装置である。記憶装置１３には、基本制御プログラムの他、複数のアプリケーションプログラムが記憶される。複数のアプリケーションプログラムには、文書作成アプリケーション等が含まれる。また、記憶装置１３には、各アプリケーションを実行するために使用されるデータが記憶される。
【００２１】
次に、本実施形態における文字入力装置の動作について説明する。
本実施形態では、入力された文字列を入力位置に基づいて削除した後で、Ｕｎｄｏ機能により削除された文字の復元が指示された場合の復元の方法として、入力した文字列の文字種をもとに復元する範囲を決定する第１の方法、あるいは入力した文字列の形態素単位で復元する第２の方法を用いることができる。
【００２２】
まず、第１の方法について、図２に示すフローチャートを参照しながら説明する。図３は、第１の方法を説明するための図である。
【００２３】
ＣＰＵ１０は、文書作成アプリケーション２０を実行することにより、入力部１１に対するユーザー操作に応じて文字列を入力する。ＣＰＵ１０は、入力された文字列を示す文字列データ２１（文字コード列）をメモリ１４に記憶すると共に、入力された各文字の文字種を示す文字種データ２２をメモリ１４に記憶する。
【００２４】
図３（Ａ）は、入力された文字列の文字列データ（Ｓｔｒｉｎｇ［］）と、文字列に対応する文字種データ（Ｔｙｐｅ［］）の一例を示している。図３（Ａ）では、文字列（Ｓｔｒｉｎｇ［］）「２０１３年もお世話になりました。」に対して、文字種データ（Ｔｙｐｅ［］）として「３，３，３，３，１，０，０，１，１，０，０，０，０，０，０，４」が記憶されていることを示している。
【００２５】
図３（Ａ）に示す文字種データ（Ｔｙｐｅ［］）の数字は、「０」は「ひらがな」、「１」は「漢字」、「２」は「英字」、「３」は「数字」、「４」は「記号」のそれぞれの文字種を示している。従って、文字列データ「２０１３」に対して文字種データ「３，３，３，３」が記憶され、「世話」に対して文字種データ「１，１」が記憶されている。なお、文字種データには、その他の文字種（例えば「カタカナ」）を示すデータが含まれていても良い。
【００２６】
ここで、図３（Ｂ）に示すように、文字列の最後尾に入力位置を示すカーソルがある時に、文字の削除を指示するために、削除キー押下のユーザー操作があったものとする（ステップＡ１）。ＣＰＵ１０は、削除キー押下に応じて、削除前の文字列データ（Ｓｔｒｉｎｇ［］）と文字種データ（Ｔｙｐｅ［］）をメモリ１４に一時記憶する（ステップＡ２）（図３（Ａ）に示す各データ）。
【００２７】
削除キーの連続押下によって文字の連続削除が指示されると、ＣＰＵ１０は、ユーザー操作に応じて文字列を削除して、その文字列を表示部１２において表示させる。
【００２８】
図３（Ｃ）は、文字列の一部が連続削除の指示に応じて削除された状態を示している。図３（Ｃ）では、本来、ユーザーが「になりました。」の文字列を削除して、「２０１３年もお世話」の文字列にしようとしたところ、削除キーを押しすぎて「２０１３年もお世」まで誤って削除した状態を示している。
【００２９】
ここで、入力部１１に対する所定のユーザー操作により、Ｕｎｄｏ機能による文字列の復元が指示されたものとする（ステップＡ４）。ＣＰＵ１０は、現在のカーソルの位置（Ｘ）（ここでは、Ｘ＝８）、すなわち最後に削除した文字のカーソル位置（Ｘ）が「０」であるかを判別する（ステップＡ５，Ａ６）。なお、カーソル位置（Ｘ）は、文字列の先頭位置が「０」であり、先頭文字「２」の後ろが「１」、以下、１文字分毎に数値が大きくなる。従って、図３（Ｃ）に示す状態では、最後に削除した文字「話」のカーソル位置（Ｘ）は「８」となる。
【００３０】
この場合、カーソル位置が「０」ではないので（ステップＡ６、Ｎｏ）、ＣＰＵ１０は、カーソル位置（Ｘ＝８）に対応する文字種データ「Ｔｙｐｅ［８］」と、カーソル位置（Ｘ＝８）の１つ前（［Ｘ−１］）に対応する文字種データ「Ｔｙｐｅ［７］」とを比較して、一致しているかを判別する。すなわち、文字種が同じであるかを判別する。
【００３１】
文字種データ「Ｔｙｐｅ［７］」と文字種データ「Ｔｙｐｅ［８］」は、何れも漢字を示す「１」であるので一致すると判別される（ステップＡ７、Ｙｅｓ）。つまり、最後に削除した文字と、その直前の文字の文字種とが同じということは、現在のカーソル位置が例えば１つの単語（熟語）中にあり、文字列を復元する区切り位置ではないと判別する。
【００３２】
ＣＰＵ１０は、カーソルの位置（Ｘ）を１つ増やして（Ｘ＝Ｘ＋１）（ステップＡ８）、前述と同様にして、カーソル位置（Ｘ＝９）に対応する文字種データ「Ｔｙｐｅ［９］」と、カーソル位置（Ｘ＝８）に対応する文字種データ「Ｔｙｐｅ［８］」とを比較して、一致しているかを判別する。
【００３３】
ここで、文字種データ「Ｔｙｐｅ［８］」が漢字を示す「１」、文字種データ「Ｔｙｐｅ［９］」がひらがなを示す「０」であるので、文字種が一致しない判別される（ステップＡ７、Ｎｏ）。つまり、カーソル位置（Ｘ＝９）が単語（熟語）の区切り位置であると判別する。
【００３４】
この場合、ＣＰＵ１０は、文字種データの比較処理を終了し（図３（Ｄ））、文字列データ（Ｓｔｒｉｎｇ［Ｘ−１］）までの文字、すなわち文字列データ（Ｓｔｒｉｎｇ［８］）の文字「話」を復元する（ステップＡ９）。これにより、文字列（単語）の「世話」までが復元されることになる。
【００３５】
なお、ステップＡ６において、現在のカーソルの位置（Ｘ）（最後に削除した文字のカーソル位置（Ｘ））が「０」であると判別された場合には、文字列の先頭まで削除されたことになる。この場合、ＣＰＵ１０は、カーソル位置（Ｘ＝０）に対応する文字種データ「Ｔｙｐｅ［０］」と、カーソル位置（Ｘ＝０）の次の（［Ｘ＋１］）に対応する文字種データ「Ｔｙｐｅ［１］」とを比較して、一致しているかを判別する。すなわち、文字列の先頭にあった文字と次に続く文字の文字種が同じであるかを判別する。
【００３６】
例えば、図３（Ａ）に示す文字列の場合、先頭の文字「２」と次の文字「０」の文字種データは何れも数字を表す「Ｔｙｐｅ［３］」であるので、同じ文字種の文字が続くと判別される（ステップＡ１０、Ｙｅｓ）。
【００３７】
この場合、ＣＰＵ１０は、カーソルの位置（Ｘ）を１つ増やして（Ｘ＝Ｘ＋１）（ステップＡ１１）、前述と同様にして、カーソル位置（Ｘ＝１）に対応する文字種データ「Ｔｙｐｅ［３］」と、カーソル位置（Ｘ＝２）に対応する文字種データ「Ｔｙｐｅ［３］」とを比較して、一致しているかを判別する。以下、同様にして文字種データが一致しないと判別されるまで繰り返す（ステップＡ１０，Ａ１１）。
【００３８】
図３（Ａ）に示す文字列の場合には、文字列「２０１３」までは同じ文字種と判別され、４番目の文字「３」の文字種データ「Ｔｙｐｅ［４］」が数字を示す「３」、５番目の文字「年」の文字種データ「Ｔｙｐｅ［５］」が漢字を示す「１」であるので、文字種が一致しない判別される（ステップＡ１０、Ｎｏ）。つまり、カーソル位置（Ｘ＝４）が文字列の区切り位置であると判別する。
【００３９】
この場合、ＣＰＵ１０は、文字種データの比較処理を終了し、文字列データ（Ｓｔｒｉｎｇ［Ｘ］）までの文字、すなわち文字列「２」「０」「１」「３」を復元する（ステップＡ１２）。これにより、同じ文字種が並んでいる場合に、同じ文字種の文字列を単位に復元させることができる。
【００４０】
このようにして、第１の方法では、キーの連続押下もしくは連打による文字削除の際に削除前の状態（文字と文字種）を記憶しておき、Ｕｎｄｏ機能による文字の復元が指示された場合に、入力された文字の文字種を示す文字種データ２２を参照しながら、各文字の文字種（ひらがな、カタカナ、漢字、数字、英字等）を比較することで文字種の区切り位置を判別し、この区切り位置まで削除した文字を復元することができる。一般に、文字種が異なるところが文の区切りになる可能性が高いため、文字種単位で復元することにより、ユーザーが意図する位置まで文字を復元しやすくなる。
【００４１】
図３（Ｃ）に示すように、単語（熟語）の途中まで誤って削除した時、本実施形態におけるＵｎｄｏ機能による文字列の復元をしなければ、残った漢字を残して利用しようとすると、誤って削除した文字のみを入力しなければならず、単語（熟語）の読みとは異なる、例えば単漢字単位での読みを入力して変換するといった手間がかかってしまい、また、残った漢字を利用しない場合には、残った文字を（熟語自体を全て）削除してから、改めて単語（熟語）の読みを入力して変換するといった操作が必要となってしまう。本実施形態におけるＵｎｄｏ機能による文字列の復元であれば、こうした手間を省くことができるので効率的な文字列（文書）の作成が可能となる。
【００４２】
次に、第２の方法について、図４に示すフローチャートを参照しながら説明する。図５は、第２の方法を説明するための図である。
【００４３】
ＣＰＵ１０は、文書作成アプリケーション２０を実行することにより、入力部１１に対するユーザー操作に応じて文字列を入力する。ＣＰＵ１０は、入力された文字列を示す文字列データ２１（文字コード列）をメモリ１４に記憶すると共に、入力された文字列を形態素単位で分けたときの区切り位置を示す区切り位置データ２３をメモリ１４に記憶する。なお、形態素は、一般的には、意味を持つ最小の単位とされているが、ここでは厳密に形態素単位の区切り位置を求めるのではなく、形態素をもとにした意味のある文字列単位の区切り位置を求めて区切り位置データ２３を記録しても良い。
【００４４】
図５（Ａ）は、入力された文字列の文字列データ（Ｓｔｒｉｎｇ［］）と、文字列に対応する区切り位置データ（Ｓｐｌｉｔ［］）の一例を示している。図５（Ａ）では、文字列（Ｓｔｒｉｎｇ［］）「２０１３年もお世話になりました。」に対して、区切り位置データ（Ｓｐｌｉｔ［］）として「４，５，６，９，１０，１５，１６」が記憶されていることを示している。
【００４５】
図５（Ａ）に示す区切り位置データ（Ｓｐｌｉｔ［］）の数字は、文字列の先頭からのカーソル位置を示すもので、文字列の先頭位置を「０」とし、１文字分毎に数値が大きくなる。例えば、図５（Ａ）に示す文字列データ（Ｓｔｒｉｎｇ［］）では、文字列の先頭から４番目の文字までの文字列「２０１３」で区切られると判別され、区切り位置データ（Ｓｐｌｉｔ［］）として「４」が記憶されている。
【００４６】
ここで、図５（Ｂ）に示すように、文字列の最後尾にカーソルがある時に、文字列の削除を指示するために、削除キー押下のユーザー操作があったものとする（ステップＢ１）。ＣＰＵ１０は、削除キー押下に応じて、削除前の文字列データ（Ｓｔｒｉｎｇ［］）と区切り位置データ（Ｓｐｌｉｔ［］）をメモリ１４に一時記憶する（ステップＢ２）（図５（Ａ）に示す各データ）。
【００４７】
削除キーの連続押下によって文字の連続削除が指示されると、ＣＰＵ１０は、ユーザー操作に応じて文字列を削除して、その文字列を表示部１２において表示させる。
【００４８】
図５（Ｃ）は、文字列の一部が連続削除の指示に応じて削除された状態を示している。図５（Ｃ）では、本来、ユーザーが「になりました。」の文字列を削除して、「２０１３年もお世話」の文字列にしようとしたところ、削除キーを押しすぎて「２０１３年もお世」まで誤って削除した状態を示している。
【００４９】
ここで、入力部１１に対する所定のユーザー操作により、Ｕｎｄｏ機能による文字列の復元が指示されたものとする（ステップＢ４）。ＣＰＵ１０は、現在のカーソルの位置を「Ｘ」（ここでは、Ｘ＝８）として、また復元する文字列の区切り位置を検出するための繰り返し処理のループ変数ｉを初期値「０」にする（ステップＢ６）。
【００５０】
ＣＰＵ１０は、区切り位置データ「Ｓｐｌｉｔ［ｉ］」の値がカーソル位置「Ｘ」以下であり、かつ区切り位置データ「Ｓｐｌｉｔ［ｉ＋１］」の値がカーソル位置「Ｘ」以上であるかを判別し、この判別結果に基づいて復元する文字を特定する。
【００５１】
まず、ＣＰＵ１０は、区切り位置データ「Ｓｐｌｉｔ［０］」の値がカーソル位置「８」以下であり、かつ区切り位置データ「Ｓｐｌｉｔ［１］」の値がカーソル位置「８」以上であるかを判別する。ここで、「Ｓｐｌｉｔ［０］」は「４」であるためカーソル位置「８」以下であるが、区切り位置データ「Ｓｐｌｉｔ［１］」は「５」であるためカーソル位置「８」以上ではないと判別する（ステップＢ７、Ｎｏ）。
【００５２】
この場合、ＣＰＵ１０は、ループ変数ｉの値を（＋１）して（ステップＢ８）、区切り位置データ「Ｓｐｌｉｔ［ｉ］」の値がカーソル位置「Ｘ」以下であり、かつ区切り位置データ「Ｓｐｌｉｔ［ｉ＋１］」の値がカーソル位置「Ｘ」以上であるかを判別する。この場合、図５（Ｄ）に示すように、「Ｓｐｌｉｔ［１］」は「５」であるためカーソル位置「８」以下であるが、区切り位置データ「Ｓｐｌｉｔ［２］」は「６」であるためカーソル位置「８」以上ではないので、さらに前述と同様の処理を継続する（ステップＢ８，Ｂ７）。
【００５３】
この場合、図５（Ｄ）に示すように、ＣＰＵ１０は、「Ｓｐｌｉｔ［２］」は「６」であるためカーソル位置「８」以下であり、区切り位置データ「Ｓｐｌｉｔ［３］」は「９」であるためカーソル位置「８」以上であると判別する（ステップＢ７、Ｙｅｓ）。
【００５４】
この場合、ＣＰＵ１０は、区切り位置データとカーソル位置（Ｘ）とを比較する処理を終了し（図５（Ｄ））、文字列データ（Ｓｔｒｉｎｇ［Ｓｐｌｉｔ［ｉ＋１］］）の位置までの文字、すなわち区切り位置データ（Ｓｔｒｉｎｇ［３］＝９）の区切り位置までの文字「話」を復元する（ステップＢ９）。これにより、形態素の区切り位置で「お世話」までが復元されることになる。
【００５５】
このようにして、第２の方法では、キーの連続押下もしくは連打による文字削除の際に削除前の状態（文字列と形態素単位の区切り位置）を記憶しておき、Ｕｎｄｏ機能による文字列の復元が指示された場合に、入力された文字列の区切り位置を示す区切り位置データ２３を参照しながら、現在のカーソル位置「Ｘ」と形態素の区切り位置とを比較することで、カーソル位置「Ｘ」の直近にある形態素の区切り位置を判別し、この判別した区切り位置まで削除した文字を復元することができる。一般に、形態素の区切り位置が文の区切りになる可能性が高いため、形態素の区切り単位で復元することにより、ユーザーが意図する位置まで文字列を復元しやすくなる。
【００５６】
本実施形態における文字入力装置では、前述したように、入力された文字列の文字を削除する際の単位と、Ｕｎｄｏ機能による文字を復元する際の単位を予め決められた文字の集合である文字既定集合単位（第１実施例では同じ文字種が連続する文字列単位、第２実施例では形態素の区切り単位）とを変えている。これにより、誤操作で文字を削除しすぎてしまった場合でも、文の区切りの可能性が高い位置で復元させて、ユーザーの操作が２度手間にならないようにして、ユーザーの操作を軽減させることができる。
【００５７】
なお、前述した説明では、文字列の文字種あるいは形態素単位の区切り位置をもとに、Ｕｎｄｏ機能により復元する範囲を決定しているが（第１の方法、第２の方法）、その他の方法を用いることが可能である。
【００５８】
例えば、入力された文字列中の句読点の位置単位で、復元する範囲を決定するようにしても良い。この場合、文字列が削除される場合に、削除前の状態（文字列と句読点の位置）を記憶しておく。ユーザー操作によってＵｎｄｏ機能による文字列の復元が指示された場合、最後に削除された文字に最も近い句読点の位置を判別して、この句読点の位置まで文字列を復元する。通常、句読点は、文の切れ目や文中の意味の切れ目に挿入されるため、句読点の位置単位で復元することで、ユーザーが意図する位置で復元しやすくなる。
【００５９】
さらに、文書作成アプリケーション２０が入力された読みを変換するために参照する辞書に登録された登録単語単位で、復元する範囲を決定するようにしても良い。この場合、文字列が削除される場合に、削除前の状態（文字列と辞書を用いて変換された登録単語の区切り位置）を記憶しておく。ユーザー操作によってＵｎｄｏ機能による文字列の復元が指示された場合、最後に削除された文字を含む登録単語を判別して、この登録単語の区切り位置までの文字列を復元する。文書作成アプリケーション２０による入力文字列の変換に使用される辞書には、予め用意された辞書データだけでなく、ユーザーが読みと変換先の文字列とを対応づけて登録したユーザー辞書が含まれる。従って、登録単語単位で、削除を復元することにより、同様にしてユーザーが意図する位置で復元しやすくなる。
【００６０】
また、前述した説明では、Ｕｎｄｏ機能による文字列の復元が１回指示された場合について説明しているが、例えば、連続削除の指示に応じて多くの文字列が削除された状態にある時に、Ｕｎｄｏ機能による文字列の復元が繰り返して指示された場合には、この指示に応じて、前述した第１の方法、第２の方法、句読点の位置単位、登録単語単位で、文字列を順次復元することができる。また、第１の方法、第２の方法、句読点の位置単位、登録単語単位による復元方法を、たとえば第１の方法、第２の方法で復元を想定し、どちらか復元する文字の量が少ない方まで復元するなど、任意に組み合わせて実施することも可能である。さらに前述での削除キーはカーソル位置の１つ手前の文字を削除する機能のあるキーであったが、カーソル位置の文字を削除するタイプの削除キーに本願発明を適用してもよい。
【００６１】
また、実施形態において記載した手法、すなわち図２、図４のフローチャートに示す処理等の各手法は、コンピュータに実行させることができるプログラムとして、メモリカード（ＲＯＭカード、ＲＡＭカード等）、磁気ディスク（フレキシブルディスク、ハードディスク等）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤ等）、半導体メモリ等の記録媒体に格納して配布することができる。そして、コンピュータは、外部記録媒体に記録されたプログラムを読み込み、このプログラムによって動作が制御されることにより、実施形態において説明した機能と同様の処理を実現することができる。
【００６２】
また、各手法を実現するためのプログラムのデータは、プログラムコードの形態としてネットワーク（インターネット）上を伝送させることができ、このネットワーク（インターネット）に接続されたコンピュータ（サーバ装置等）からプログラムデータを取り込み、前述した実施形態と同様の機能を実現することもできる。
【００６３】
なお、本願発明は、実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。
【００６４】
以下に、本願出願の当初の特許請求の範囲に記載された発明を付記する。
【００６５】
［付記１］
入力位置に基づいて文字の入力及び削除を含む編集をする入力手段と、
前記入力手段により入力された入力文字列を表示する表示手段と、
前記入力文字列のなかで少なくとも１文字の削除が実行された後、前記削除の取消指示が入力された場合に、予め決められた文字既定集合単位で前記入力位置に基づいて文字を復元する復元手段と、
を具備したことを特徴とする文字入力装置。
【００６６】
［付記２］
前記文字既定集合単位は、漢字、ひらがな、カタカナ、英字、数字、記号を少なくとも１つを含む文字種単位とすることを特徴とする付記１記載の文字入力装置。
【００６７】
［付記３］
前記文字既定集合単位は、形態素単位とすることを特徴とする付記１記載の文字入力装置。
【００６８】
［付記４］
入力位置に基づいて文字の入力及び削除を含む編集をする入力工程と、
前記入力工程により入力された入力文字列を表示する表示工程と、
前記入力文字列のなかで少なくとも１文字の削除が実行された後、前記削除の取消指示が入力された場合に、予め決められた文字既定集合単位で前記入力位置に基づいて文字を復元する復元工程と、
を有する文字入力方法。
【００６９】
［付記５］
入力位置に基づいて文字の入力及び削除を含む編集をする入力手段と、
前記入力手段により入力された入力文字列を表示する表示手段と、
前記入力文字列のなかで少なくとも１文字の削除が実行された後、前記削除の取消指示が入力された場合に、予め決められた文字既定集合単位で前記入力位置に基づいて文字を復元する復元手段と、
をコンピュータに実行させる文字入力プログラム。
【符号の説明】
【００７０】
１０…ＣＰＵ、１１…入力部、１２…表示部、１３…記憶装置、１４…メモリ、２０…文書作成アプリケーション、２１…文字列データ、２２…文字種データ、２３…区切り位置データ。
【図１】
2015197697.tif 000003
【図２】
2015197697.tif 000004
【図３】
2015197697.tif 000005
【図４】
2015197697.tif 000006
【図５】
2015197697.tif 000007