(57)【特許請求の範囲】
【請求項１】
表示部に表示される表示領域に含まれる表示対象を選択するための選択モードに切り替える切替操作が検出された場合に、前記表示領域に表示されるカーソルとは異なるカーソルを前記表示領域に表示させるカーソル制御部と、
前記選択モードにおいて、前記表示領域を移動させる移動操作が検出された場合に、一方のカーソルを前記表示部における元の表示位置または元の表示位置周辺の所定の位置に維持した状態で、他方のカーソルとともに前記表示領域の表示位置を前記移動操作に応じて移動させる表示位置変更部と、
前記表示位置変更部によって前記表示領域の表示位置が移動された後における前記一方のカーソルと前記他方のカーソルとの間を選択範囲とする範囲選択部と、
を備えることを特徴とする情報処理装置。
【請求項２】
前記表示位置変更部は、前記表示部における第１の位置に一方のカーソルが表示され、かつ、前記表示領域における第２の位置に他方のカーソルが表示されている状態で、前記移動操作が検出された場合に、前記表示部における前記第１の位置に前記一方のカーソルを維持し、かつ、前記表示領域における前記第２の位置に前記他方のカーソルを維持した状態で、前記表示領域の表示位置を前記移動操作に応じて移動させる
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記カーソル制御部は、前記切替操作が検出された検出位置に、前記表示領域に表示されるカーソルとは異なるカーソルを表示する
ことを特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
前記カーソル制御部は、前記異なるカーソルを表示させた後に、前記表示領域の所定の位置を指定する操作を検出した場合に、指定された所定の位置に前記表示領域に表示されるカーソルのうちいずれか一方を移動させる
ことを特徴とする請求項１〜３のいずれか１つに記載の情報処理装置。
【請求項５】
前記表示位置変更部は、前記移動操作が検出された場合に、前記カーソル制御部によって移動されたカーソルを前記指定された所定の位置または前記指定された所定の位置周辺の所定の位置に維持した状態で、前記他方のカーソルとともに前記表示領域の表示位置を前記移動操作に応じて移動させる
ことを特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記表示位置変更部は、前記移動操作が終了した場合に、前記一方のカーソルおよび前記他方のカーソルとともに前記表示領域の表示位置を移動前の表示位置に戻す
ことを特徴とする請求項１〜５のいずれか１つに記載の情報処理装置。
【請求項７】
前記移動操作として、第１の移動操作または第２の移動操作を検出する移動操作検出部をさらに有し、
前記表示位置変更部は、前記第１の移動操作が終了した場合に、前記表示領域の表示位置を前記第１の移動操作に応じて移動させた後の表示位置のままとし、前記第２の移動操作が終了した場合に、前記一方のカーソルおよび前記他方のカーソルとともに前記表示領域の表示位置を移動前の表示位置に戻す
ことを特徴とする請求項１〜６のいずれか１つに記載の情報処理装置。
【請求項８】
前記表示位置変更部は、前記表示領域に含まれる文字における所定の位置に前記一方のカーソルが位置するように、前記表示領域の表示位置を前記移動操作に応じて移動させる
ことを特徴とする請求項１〜７のいずれか１つに記載の情報処理装置。
【請求項９】
前記表示位置変更部は、前記移動操作に応じた前記表示領域の移動量が所定値より大きい場合には、前記表示部における元の表示位置周辺または元の表示位置周辺の所定の位置であって、前記表示領域に含まれる形態素の間に前記一方のカーソルを維持した状態で、前記表示領域の表示位置を移動させる
ことを特徴とする請求項８に記載の情報処理装置。
【請求項１０】
前記表示位置変更部は、前記移動操作に応じた前記表示領域の移動量が所定値より小さい場合には、前記表示部における元の表示位置周辺または元の表示位置周辺の所定の位置であって、前記表示領域に含まれる各文字の間に前記一方のカーソルを維持した状態で、前記表示領域の表示位置を移動させる
ことを特徴とする請求項８または９に記載の情報処理装置。
【請求項１１】
表示部に表示される表示領域を移動させる移動操作を検出する移動操作検出部と、
前記移動操作検出部によって前記移動操作が検出された場合に、前記表示領域に表示されるカーソルを前記表示部における元の表示位置または元の表示位置周辺の所定の位置に維持した状態で、前記表示領域の表示位置を前記移動操作に応じて移動させる表示位置変更部と、
を備え、
前記表示位置変更部は、前記移動操作が終了した場合に、前記表示領域に表示されるカーソルとともに前記表示領域の表示位置を移動前の表示位置に戻す
ことを特徴とする情報処理装置。
【請求項１２】
前記移動操作検出部は、前記移動操作として、第１の移動操作または第２の移動操作を検出し、
前記表示位置変更部は、前記第１の移動操作が終了した場合に、前記表示領域の表示位置を前記第１の移動操作に応じて移動させた後の表示位置のままとし、前記第２の移動操作が終了した場合に、前記表示領域に表示されるカーソルとともに前記表示領域の表示位置を移動前の表示位置に戻す
ことを特徴とする請求項１１に記載の情報処理装置。
【請求項１３】
前記表示位置変更部は、前記表示領域に含まれる文字における所定の位置に前記表示領域に表示されるカーソルが位置するように、前記表示領域の表示位置を前記移動操作に応じて移動させる
ことを特徴とする請求項１１または１２に記載の情報処理装置。
【請求項１４】
前記表示位置変更部は、前記移動操作に応じた前記表示領域の移動量が所定値より大きい場合には、前記表示部における元の表示位置周辺または元の表示位置周辺の所定の位置であって、前記表示領域に含まれる形態素の間に前記表示領域に表示されるカーソルを維持した状態で、前記表示領域の表示位置を移動させる
ことを特徴とする請求項１３に記載の情報処理装置。
【請求項１５】
前記表示位置変更部は、前記移動操作に応じた前記表示領域の移動量が所定値より小さい場合には、前記表示部における元の表示位置周辺または元の表示位置周辺の所定の位置であって、前記表示領域に含まれる各文字の間に前記表示領域に表示されるカーソルを維持した状態で、前記表示領域の表示位置を移動させる
ことを特徴とする請求項１３または１４に記載の情報処理装置。
【請求項１６】
前記表示位置変更部は、前記表示領域の表示位置を前記移動操作に応じて移動させる場合に、前記表示部における元の表示位置周辺または元の表示位置周辺の所定の位置に維持させるカーソル周辺を強調表示する
ことを特徴とする請求項１〜１５のいずれか１つに記載の情報処理装置。
【請求項１７】
前記表示位置変更部は、前記表示部における元の表示位置周辺または元の表示位置周辺の所定の位置に維持させるカーソル周辺の文字を拡大することでカーソル周辺を強調表示する
ことを特徴とする請求項１６に記載の情報処理装置。
【請求項１８】
コンピュータに、
表示部に表示される表示領域に含まれる表示対象を選択するための選択モードに切り替える切替操作が検出された場合に、前記表示領域に表示されるカーソルとは異なるカーソルを前記表示領域に表示させるカーソル制御手順と、
前記選択モードにおいて、前記表示領域を移動させる移動操作が検出された場合に、一方のカーソルを前記表示部における元の表示位置または元の表示位置周辺の所定の位置に維持した状態で、他方のカーソルとともに前記表示領域の表示位置を前記移動操作に応じて移動させる表示位置変更手順と
前記表示位置変更手順によって前記表示領域の表示位置が移動された後における前記一方のカーソルと前記他方のカーソルとの間を選択範囲とする範囲選択手順と、
を実行させることを特徴とする情報表示プログラム。
【請求項１９】
コンピュータに、
表示部に表示される表示領域を移動させる移動操作を検出する移動操作検出手順と、
前記移動操作検出手順によって前記移動操作が検出された場合に、前記表示領域に表示されるカーソルを前記表示部における元の表示位置または元の表示位置周辺の所定の位置に維持した状態で、前記表示領域の表示位置を前記移動操作に応じて移動させる表示位置変更手順と、
前記移動操作が終了した場合に、前記表示領域に表示されるカーソルとともに前記表示領域の表示位置を移動前の表示位置に戻す前記表示位置変更手順と、
を実行させることを特徴とする情報表示プログラム。
【請求項２０】
コンピュータが実行する情報表示方法であって、
表示部に表示される表示領域に含まれる表示対象を選択するための選択モードに切り替える切替操作が検出された場合に、前記表示領域に表示されるカーソルとは異なるカーソルを前記表示領域に表示させるカーソル制御工程と、
前記選択モードにおいて、前記表示領域を移動させる移動操作が検出された場合に、一方のカーソルを前記表示部における元の表示位置または元の表示位置周辺の所定の位置に維持した状態で、他方のカーソルとともに前記表示領域の表示位置を前記移動操作に応じて移動させる表示位置変更工程と、
前記表示位置変更工程によって前記表示領域の表示位置が移動された後における前記一方のカーソルと前記他方のカーソルとの間を選択範囲とする範囲選択工程と、
を含むことを特徴とする情報表示方法。
【請求項２１】
コンピュータが実行する情報表示方法であって、
表示部に表示される表示領域を移動させる移動操作を検出する移動操作検出手順と、
前記移動操作検出手順によって前記移動操作が検出された場合に、前記表示領域に表示されるカーソルを前記表示部における元の表示位置または元の表示位置周辺の所定の位置に維持した状態で、前記表示領域の表示位置を前記移動操作に応じて移動させる表示位置変更手順と、
前記移動操作が終了した場合に、前記表示領域に表示されるカーソルとともに前記表示領域の表示位置を移動前の表示位置に戻す前記表示位置変更手順と、
を含むことを特徴とする情報表示方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報表示プログラムおよび情報表示方法に関する。
【背景技術】
【０００２】
情報処理装置として、例えば、スマートフォンやタブレット型端末が普及している。かかる情報処理装置では、例えば、表示部に表示されるテキスト上のタッチパネルを指等でタッチすることによりタッチした位置にカーソルを移動させたり、表示部の表示画面上を指等でなぞることによりテキストの一部を選択したりすることができる。
【０００３】
タッチパネルを用いたテキスト編集操作に関する技術として、ユーザが所望の位置をタッチしやすくなるようにテキストの一部を拡大表示する技術が知られている。例えば、テキストを編集中にタップ操作を受け付けると、文字の間隔を広げてテキストを表示する技術が知られている（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１４−３５６１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記従来技術は、テキストの一部を拡大表示する技術に過ぎず、例えば、テキストの所定部分を選択する際、表示画面上の文字が指に隠れてしまう等により、選択範囲を指定するための始点や終点にカーソルを上手く移動させることが困難な場合がある。このように、上記の従来技術は、ユーザビリティが高いとは限らなかった。
【０００６】
本願は、上記に鑑みてなされたものであって、ユーザビリティを向上させることができる情報処理装置、情報表示プログラムおよび情報表示方法を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本願にかかる情報処理装置は、表示部に表示される表示領域に含まれる表示対象を選択するための選択モードに切り替える切替操作が検出された場合に、前記表示領域に表示されるカーソルとは異なるカーソルを前記表示領域に表示させるカーソル制御部と、前記選択モードにおいて、前記表示領域を移動させる移動操作が検出された場合に、一方のカーソルを前記表示部における元の表示位置または元の表示位置周辺の所定の位置に維持した状態で、他方のカーソルとともに前記表示領域の表示位置を前記移動操作に応じて移動させる表示位置変更部と、前記表示位置変更部によって前記表示領域の表示位置が移動された後における前記一方のカーソルと前記他方のカーソルとの間を選択範囲とする範囲選択部と、を備えることを特徴とする。
【発明の効果】
【０００８】
実施形態の一態様によれば、ユーザビリティを向上させることができるといった効果を奏する。
【図面の簡単な説明】
【０００９】
【図１】図１は、実施形態にかかる範囲選択処理の一例を示す図である。
【図２】図２は、実施形態にかかる情報処理装置の構成例を示す図である。
【図３Ａ】図３Ａは、実施形態にかかる情報処理装置が表示する画面の一例を示す図である。
【図３Ｂ】図３Ｂは、実施形態にかかる情報処理装置が表示する画面の一例を示す図である。
【図４】図４は、実施形態にかかる範囲選択処理手順の一例を示すフローチャートである。
【図５】図５は、変形例にかかる範囲選択処理の処理の一例を示す図である。
【図６】図６は、変形例にかかる範囲選択処理の処理の一例を示す図である。
【図７】図７は、表示領域の移動態様の一例を示す図である。
【図８Ａ】図８Ａは、表示領域の移動に応じたカーソルの位置を説明する図である。
【図８Ｂ】図８Ｂは、表示領域の移動に応じたカーソルの位置を説明する図である。
【図９】図９は、カーソル周辺を強調表示する一例を示す図である。
【図１０】図１０は、実施形態にかかるカーソル移動処理の一例を示す図である。
【図１１】図１１は、情報処理装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１０】
以下に、本願にかかる情報処理装置、情報表示プログラムおよび情報表示方法を実施するための形態（以下、「実施形態」と呼ぶ）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願にかかる情報処理装置、情報表示プログラムおよび情報表示方法が限定されるものではない。
【００１１】
〔１．範囲選択処理〕
図１を用いて、実施形態にかかる範囲選択処理について説明する。図１は、実施形態にかかる範囲選択処理の一例を示す図である。実施形態にかかる範囲選択処理は、図１に示す情報処理装置１００によって行われる。情報処理装置１００は、例えば、タブレット型端末であり、液晶ディスプレイ等の表示部１３０を有する。
【００１２】
かかる情報処理装置１００は、タッチパネルが採用されており、表示部１３０上を指等でタッチされることにより各種操作を受け付ける。情報処理装置１００は、表示部１３０上を指等でなぞる移動操作（スライド操作、スワイプ操作等と呼ばれる）を受け付けた場合に、表示部１３０内のテキスト等を表示する表示領域ＡＲ１の表示位置を移動させるとともに、かかる移動に応じて２つのカーソルを制御することでテキストを選択可能する。この点について、図１を用いて説明する。
【００１３】
図１（ａ）に示すように、情報処理装置１００は、テキストを編集可能なアプリケーション等（ここでは、メモ帳アプリとする）を起動している状態であるものとする。このとき、情報処理装置１００は、表示部１３０内の表示領域ＡＲ１内にテキストを表示するとともに、文字が入力される位置を示すカーソルＣ１１を表示する。なお、本実施形態では、テキストは、メモ帳アプリによって表示されるものとするが、この例に限らず、メールソフト、文字入力ソフト、ウェブページ等によって表示されてもよい。また、本実施形態では、表示領域ＡＲ１に表示される表示対象は、文字（テキスト）であるものとするが、表示対象は文字以外であってもよい。例えば、表示対象は、絵文字や写真等であってもよい。
【００１４】
また、本実施形態では、ｘ軸およびｙ軸から成る座標系を表示部１３０における座標系とする。また、Ｘ軸およびＹ軸から成る座標系を表示領域ＡＲ１における座標系とする。すなわち、図１（ａ）では、表示部１３０内におけるカーソルＣ１１の位置は、位置（ｘ１、ｙ２）であり、表示領域ＡＲ１内におけるカーソルＣ１１の位置は、位置（Ｘ１、Ｙ２）である例を示している。
【００１５】
ここで、ユーザは、テキスト３行目の「Ｙ」からテキスト５行目の「Ｐ」までの文字を選択したいとする。このため、ユーザは、表示部１３０に対して、所定の操作を与えることで、表示領域に含まれる文字を選択するための選択モードに切り替えさせる。本実施形態では、情報処理装置１００を選択モードに切り替えさせる切替操作を、表示部１３０上の任意の箇所でのダブルタップであるものとする。
【００１６】
図１（ａ）に示すように、例えば、ユーザは、カーソルＣ１１がテキスト３行目の「Ｘ」と「Ｙ」の間に位置する状態で、任意の位置Ｐ０１をダブルタップしたとする。
【００１７】
情報処理装置１００は、選択モードに切り替えるための切替操作としてダブルタップを検出すると、図１（ｂ）に示すように、選択モードとして、カーソルＣ１１と同位置にカーソルＣ１１とは異なるカーソルＣ１２を表示する。この場合、カーソルＣ１１と同位置とは、表示部１３０内におけるカーソルＣ１１の位置（ｘ１、ｙ２）および表示領域ＡＲ１内におけるカーソルＣ１１の位置（Ｘ１、Ｙ２）の双方と同位置であることを示す。このため、ダブルタップにより選択モードに切り替えられた時点で、ユーザには、２つのカーソルが重なっているように見える。
【００１８】
図１（ｃ）に示すように、このような状態において、情報処理装置１００は、表示部１３０に対する任意の位置Ｐ０２から位置Ｐ０３までを指等でなぞる移動操作を検出したものとする。かかる場合に、情報処理装置１００は、図１（ｄ）に示すように、表示部１３０内における位置（ｘ１、ｙ２）にカーソルＣ１２を維持し、かつ、表示領域ＡＲ１内における位置（Ｘ１、Ｙ２）にカーソルＣ１１を維持した状態で、表示領域ＡＲ１の表示位置を移動操作に応じて移動させる。
【００１９】
このため、表示部１３０におけるカーソルＣ１２の位置は、図１（ｃ）と図１（ｄ）とで変化せず位置（ｘ１、ｙ２）のままである。一方、表示領域ＡＲ１におけるカーソルＣ１２の位置は、図１（ｃ）では、テキスト３行目の「Ｘ」と「Ｙ」の間の位置（Ｘ１、Ｙ２）にあるのに対し、図１（ｄ）では、テキスト５行目の「Ｐ」の位置（Ｘ３、Ｙ４）に移動する。
【００２０】
また、表示領域ＡＲ１におけるカーソルＣ１１の位置は、図１（ｃ）と図１（ｄ）とで変化せず、テキスト３行目の「Ｘ」と「Ｙ」の間の位置（Ｘ１、Ｙ２）のままである。一方、表示部１３０におけるカーソルＣ１１の位置は、図１（ｃ）では、位置（ｘ１、ｙ２）であるのに対し、図１（ｄ）では、位置（ｘ３、ｙ４）に移動する。
【００２１】
また、情報処理装置１００は、上記のようにカーソルＣ１１およびＣ１２の位置を制御しつつ、表示領域ＡＲ１の表示位置を移動操作に応じて移動させることにより、カーソルＣ１１およびＣ１２によって挟まれる領域を選択範囲とする。図１（ｄ）では、情報処理装置１００は、選択範囲内に表示される文字列の背景色を他の文字列の背景色と異ならせることで、選択範囲をユーザに提示する例を示している。
【００２２】
情報処理装置１００による上記のような処理により、ユーザは、カーソルＣ１１を選択範囲の始点として、テキストの任意に位置（例えば、テキスト３行目の「Ｘ」と「Ｙ」の間）に固定した状態で、表示領域ＡＲ１を移動させることで、選択範囲の終点となるカーソルＣ１２の位置が他の任意の位置（例えば、テキスト５行目の「Ｐ」の位置）にくるように調整することができる。
【００２３】
ここで、ユーザは、位置Ｐ０３まで移動操作したところで、表示部１３０上から指を離したとする。これにより、情報処理装置１００は、移動操作を検出しなくなると、表示領域ＡＲ１における位置（Ｘ３、Ｙ４）にカーソルＣ１２を維持し、かつ、表示領域ＡＲ１における位置（Ｘ１、Ｙ２）にカーソルＣ１１を維持した状態で表示領域ＡＲ１を移動前の元の表示位置に戻す。
【００２４】
このため、表示部１３０内におけるカーソルＣ１２の位置は、図１（ｄ）では、位置（ｘ１、ｙ２）であるのに対し、図１（ｅ）では、移動操作に応じて、位置（ｘ５、ｙ６）に移動する。一方、表示領域ＡＲ１におけるカーソルＣ１２の位置は、図１（ｄ）と図１（ｅ）とで変化せず位置（Ｘ３、Ｙ４）のまま、つまりテキスト５行目の「Ｐ」の位置のまま移動しない。
【００２５】
また、表示領域ＡＲ１におけるカーソルＣ１１の位置は、図１（ｄ）と図１（ｅ）とで変化せず、テキスト３行目の「Ｘ」と「Ｙ」の間の位置（Ｘ１、Ｙ２）のままである。一方、図１（ｄ）では、表示部１３０におけるカーソルＣ１１の位置は、位置（ｘ３、ｙ４）であるのに対し、図１（ｅ）では、表示部１３０におけるカーソルＣ１１の位置は、移動操作に応じて、位置（ｘ１、ｙ２）に移動している。つまり、表示部１３０における移動前の位置に戻る。
【００２６】
このように、情報処理装置１００は、表示部１３０におけるカーソルＣ１２の位置を維持し、かつ、表示領域ＡＲ１におけるカーソルＣ１１の位置を維持した状態で、表示領域ＡＲ１の表示位置を移動操作に応じて移動させる。そして、情報処理装置１００は、表示領域ＡＲ１の表示位置の移動により、カーソルＣ１１およびＣ１２によって挟まれる領域を選択範囲とする。
【００２７】
例えば、ユーザは、テキストの所定部分を選択する際、文字が指に隠れてしまう等により、選択範囲の終点としたい位置にカーソルを上手く移動させることが困難な場合がある。実施形態にかかる情報処理装置１００は、図１（ｄ）で説明したように、表示領域ＡＲ１を移動させて、終点となるカーソルＣ１２の位置を調整させることができるため、容易かつ正確に範囲選択させることができる。このため、情報処理装置１００では、テキスト選択操作に関するユーザビリティの向上を図ることができる。
【００２８】
〔２．情報処理装置の構成〕
次に、図２を用いて、情報処理装置１００について説明する。図２は、実施形態にかかる情報処理装置１００の構成例を示す図である。図２に示す情報処理装置１００は、タッチパネルを搭載している。情報処理装置１００は、例えば、タブレット型端末、ＰＣ（Personal  Computer）、携帯電話機、ＰＤＡ（Personal  Digital  Assistant）等である。情報処理装置１００は、図２に示すように、通信部１１０と、入力部１２０と、表示部１３０と、制御部１４０と、記憶部１７０とを有する。
【００２９】
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。そして、通信部１１０は、ネットワークと有線または無線で接続され、例えば、他の端末装置やサーバ装置との間で情報の送受信を行う。
【００３０】
入力部１２０は、例えば、タッチパネル、キーボードおよびマウス等である。表示部１３０は、各種情報を入力するための表示デバイスである。例えば、表示部１３０は、液晶ディスプレイ等によって実現される。実施形態にかかる情報処理装置１００は、入力部１２０としてタッチパネルを備えているものとする。このため、入力部１２０と表示部１３０の一部とは一体化される。
【００３１】
制御部１４０は、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、内部の記憶装置に記憶されているプログラム（情報処理プログラムの一例に相当）がＲＡＭ（Random  Access  Memory)等の内部メモリを作業領域として実現される。
【００３２】
制御部１４０は、図２に示すように、メモ帳アプリ制御部１５１と、ブラウザ制御部１５２等の各種アプリケーションを制御するためのアプリ制御部と、表示制御部１６０とを有する。
【００３３】
メモ帳アプリ制御部１５１は、所定のテキストを編集可能なアプリケーションを実行する。また、ブラウザ制御部１５２は、ウェブサイトを表示制御するアプリケーションを実行する。なお、制御部１４０は、図２に示したメモ帳アプリ制御部１５１やブラウザ制御部１５２以外にも、アプリ制御部として、例えば、メール機能を実行制御するアプリ制御部や文書作成機能を実行制御するアプリ制御部等を有してもよい。
【００３４】
表示制御部１６０は、図１を用いて説明した処理を実現するためのアプリケーションを実行制御する。表示制御部１６０は、図２に示すように、切替検出部１６１と、カーソル制御部１６２と、移動操作検出部１６３と、表示位置変更部１６４と、範囲選択部１６５とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、表示制御部１６０の内部構造は、図２に示した構造に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。
【００３５】
切替検出部１６１は、入力部１２０を介して、表示部１３０に与えられた所定の切替操作を検出し、検出した切替操作に応じて、選択モードに切り替える。具体的には、切替検出部１６１は、カーソルが表示されていない閲覧モードや、１つのカーソルが表示されており、そのカーソルを移動させることが可能なカーソル移動モード（例えば、図１（ａ）の状態）等から、表示領域ＡＲ１に含まれる表示対象を選択するための選択モードに切り替える切替操作を検出する。また、切替検出部１６１は、選択モードを解除し、所定のモードへ戻す操作も検出する。
【００３６】
例えば、切替検出部１６１は、選択モードへの切替操作として、表示部１３０に対するダブルタップを検出すると、上記各モードから選択モードへ切り替える。そして、切替検出部１６１により選択モードに切り替えられている場合に、後述する表示位置変更部１６４は、表示領域ＡＲ１を移動させる移動操作に応じて、表示領域ＡＲ１の表示位置を移動させるとともに、かかる移動に応じて、カーソルＣ１１およびＣ１２の位置を制御することでテキストを選択可能とさせることができる。
【００３７】
カーソル制御部１６２は、表示部１３０に対するユーザ操作や、後述する表示位置変更部１６４による指示に基づいて、カーソルを表示する各種制御を実行する。具体的には、カーソル制御部１６２は、切替検出部１６１によって選択モードに切り替えられた場合に、表示領域ＡＲ１内に表示されているカーソル（カーソルＣ１１）とは異なるカーソル（カーソルＣ１２）を表示領域ＡＲ１内に表示する。例えば、カーソル制御部１６２は、カーソルＣ１１と同位置にカーソルＣ１２を表示する。
【００３８】
また、カーソル制御部１６２は、カーソルＣ１２だけでなくカーソルＣ１１の制御も行ってよい。例えば、カーソル制御部１６２は、カーソルＣ１１しか表示していないカーソル移動モードである場合に、表示部１３０に表示されるテキスト上において、表示部１３０に対するタッチ操作を検出すると、タッチ操作を検出した位置から最も近い文字間にカーソルを表示する。
【００３９】
また、カーソル制御部１６２は、カーソルが表示されていない閲覧モード中に、切替検出部１６１によって切替操作が検出された場合には、例えば、切替操作が検出された位置に２つのカーソルを表示してもよい。
【００４０】
移動操作検出部１６３は、表示部１３０に表示される表示領域ＡＲ１の表示位置を移動させる移動操作を検出する。例えば、移動操作検出部１６３は、選択モードにおいて、表示部１３０上を指等でなぞる移動操作がされたら、かかる操作を表示領域ＡＲ１を移動させる移動操作として検出する。
【００４１】
表示位置変更部１６４は、移動操作検出部１６３によって移動操作が検出された場合に、移動操作に応じて、表示領域ＡＲ１の表示位置を移動させる。また、表示位置変更部１６４は、移動操作検出部１６３によって検出された移動操作が終了した場合に、表示領域ＡＲ１の表示位置を移動前の表示位置に戻す。
【００４２】
具体的には、選択モードにおいて、移動操作検出部１６３によって移動操作が検出された場合に、表示位置変更部１６４は、カーソルＣ１１およびＣ１２のうち、一方のカーソルを表示部１３０内の元の表示位置周辺に維持した状態で、他方のカーソルとともに表示領域ＡＲ１の表示位置を移動操作に応じて移動させる。また、表示位置変更部１６４は、移動操作が終了した場合に、表示領域ＡＲ１内に表示されるカーソルとともに表示領域ＡＲ１の表示位置を移動前の表示位置に戻す。
【００４３】
例えば、カーソルＣ１１およびＣ１２が、図１（ｂ）に示すように表示されている場合に、移動操作検出部１６３によって移動操作が検出されたとする。このとき、表示位置変更部１６４は、表示部１３０内における位置（ｘ１、ｙ２）にカーソルＣ１２を維持し、かつ、表示領域ＡＲ１内における位置（Ｘ１、Ｙ２）にカーソルＣ１１を維持した状態で、表示領域ＡＲ１の表示位置を移動操作に応じて移動させる。
【００４４】
そして、表示位置変更部１６４は、移動操作が終了した場合に、表示領域ＡＲ１内におけるカーソルＣ１２の位置を維持し、かつ、表示領域ＡＲ１内におけるカーソルＣ１１の位置を維持した状態で、表示領域ＡＲ１を移動前の元の表示位置に戻す。例えば、図１（ｄ）に示すように表示領域ＡＲ１を移動された時点で、移動操作が終了したとすると、表示位置変更部１６４は、表示領域ＡＲ１内における位置（Ｘ３、Ｙ４）にカーソルＣ１２を維持し、かつ、表示領域ＡＲ１内における位置（Ｘ１、Ｙ２）にカーソルＣ１１を維持した状態で、表示領域ＡＲ１を移動前の元の表示位置に戻す。
【００４５】
なお、本実施形態では、上述してきたように、移動操作に応じて表示領域ＡＲ１を移動させる場合、表示部１３０内における位置に維持するカーソルを、カーソル制御部１６２によって新たに表示されたカーソルＣ１２とし、表示領域ＡＲ１とともに移動されるカーソルをカーソルＣ１１とする。しかし、この例に限定される必要はなく、例えば、表示部１３０内における位置に維持するカーソルを、範囲選択モードに切り替えられる前から表示されているカーソルＣ１１とし、表示領域ＡＲ１とともに移動されるカーソルを、切替操作検出により新たに表示されるカーソルＣ１２としてもよい。
【００４６】
範囲選択部１６５は、表示位置変更部１６４による表示領域ＡＲ１の移動に応じて、テキストに対する選択範囲を決定する範囲選択処理を実行する。具体的には、範囲選択部１６５は、表示位置変更部１６４により表示領域ＡＲ１の表示位置が移動されたることに応じて、カーソルＣ１１とカーソルＣ１２との間の領域を選択範囲とする。そして、範囲選択部１６５は、選択範囲内に表示される文字列の背景色を他の文字列の背景色と異ならせることで、選択範囲をユーザに提示する。
【００４７】
記憶部１７０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子またはハードディスク、光ディスク等の記憶装置によって実現される。記憶部１７０は、表示部１３０に表示されるテキストデータ、画像データ、カーソル位置、範囲選択部１６５によって選択された選択範囲内の文字列等を記憶している。このような記憶部１７０は、テキスト記憶部１７１と、カーソル位置記憶部１７２と、選択範囲記憶部１７３とを有する。
【００４８】
テキスト記憶部１７１は、表示部１３０に表示されるテキストデータを記憶する。カーソル位置記憶部１７２は、表示部１３０に表示されるカーソルの位置を、表示部１３０および表示領域ＡＲ１のそれぞれと対応付けて記憶する。選択範囲記憶部１７３は、範囲選択部１６５によって決定される選択範囲を形成するカーソルＣ１１およびＣ１２の位置を記憶するとともに、選択範囲内の文字列を記憶する。
【００４９】
〔３．カーソル位置の説明（１）〕
図３を用いて、表示部１３０におけるカーソルの位置と表示領域ＡＲ１におけるカーソルの位置とについて説明する。図３Ａおよび３Ｂは、実施形態にかかる情報処理装置１００が表示する画面の一例を示す図である。
【００５０】
図３Ａに示すように、表示領域ＡＲ１の全領域を表示部１３０に表示している場合における表示領域ＡＲ１の左上角を原点とし、表示部１３０の水平方向をｘ軸、垂直方向をｙ軸とする座標系を表示座標系と称する。また、図３Ｂに示すように、表示領域ＡＲ１の左上角を原点とし、表示領域ＡＲ１の水平方向をＸ軸、垂直方向をＹ軸とする座標系を領域座標系と称する。表示座標系は、表示部１３０に対して移動しない固定座標系であり、領域座標系は、表示領域ＡＲ１の移動に応じて、表示部１３０に対して移動する移動座標系である。表示部１３０におけるカーソルの位置は、表示座標系で表される位置であり、表示領域ＡＲ１におけるカーソルの位置は、領域座標系で表される位置である。
【００５１】
次に、図１を用いて、範囲選択処理におけるカーソルの位置を表示座標系および領域座標系を用いて説明する。図１（ｂ）に示すように、切替操作が検出されたことにより、カーソル制御部１６２によりカーソルＣ１１およびＣ１２が表示されている場合、移動操作検出部１６３によって移動操作が検出されるまで、カーソル位置記憶部１７２は、表示部１３０内におけるカーソルＣ１１の位置を表示座標系で表される位置（ｘ１、ｙ２）として記憶し、表示領域ＡＲ１内におけるカーソルＣ１１の位置を領域座標系で表される位置（Ｘ１、Ｙ２）として記憶する。また、移動操作が検出されるまで、カーソル位置記憶部１７２は、表示部１３０内におけるカーソルＣ１２の位置を表示座標系で表される位置（ｘ１、ｙ２）として記憶し、表示領域ＡＲ１内におけるカーソルＣ１２の位置を領域座標系で表される位置（Ｘ１、Ｙ２）として記憶する。
【００５２】
移動操作検出部１６３によって移動操作が検出されるまでは、表示座標系の原点と領域座標系の原点とが一致するためカーソルＣ１１において位置（ｘ１、ｙ２）と位置（Ｘ１、Ｙ２）とは同じ位置となる。また、カーソルＣ１２においても位置（ｘ１、ｙ２）と位置（Ｘ１、Ｙ２）とは同じ位置となる。
【００５３】
続いて、図１（ｃ）に示すように、表示位置変更部１６４が表示領域ＡＲ１を位置Ｐ０２から位置Ｐ０３まで移動させる場合について説明する。表示位置変更部１６４は、表示領域ＡＲ１を移動させている間、表示領域ＡＲ１を移動させる前の表示部１３０内におけるカーソルＣ１２の位置（ｘ１、ｙ２）に基づき、表示部１３０にカーソルＣ１２を表示させる。一方、表示位置変更部１６４は、表示領域ＡＲ１を移動させている間、その移動量に応じて、表示部１３０におけるカーソルＣ１１の位置を連続的に算出し、算出した位置にカーソルＣ１１を随時表示させる。また、カーソル位置記憶部１７２は、表示領域ＡＲ１内におけるカーソルＣ１１の位置として領域座標系で表される位置（Ｘ１、Ｙ２）を記憶しておく。
【００５４】
また、表示位置変更部１６４は、表示領域ＡＲ１を位置Ｐ０３まで移動させた場合に、移動量に応じて、移動後の表示領域ＡＲ１内におけるカーソルＣ１２の位置を算出し、カーソル位置記憶部１７２に記憶させる。図１（ｄ）の例では、カーソル位置記憶部１７２は、表示領域ＡＲ１内におけるカーソルＣ１２の位置として領域座標系で表される位置（Ｘ３、Ｙ４）を記憶する。
【００５５】
なお、表示位置変更部１６４によって表示領域ＡＲ１の表示位置が移動されているため、カーソルＣ１２において位置（ｘ１、ｙ２）と位置（Ｘ３、Ｙ４）とは異なる位置となる。このため、表示領域ＡＲ１内におけるカーソルＣ１２の位置が移動することになる。また、カーソルＣ１１において位置（ｘ３、ｙ４）と位置（Ｘ１、Ｙ２）とは異なる位置となる。このため、表示部１３０内におけるカーソルＣ１１の位置が移動することになる。
【００５６】
次に、図１（ｅ）に示すように、表示位置変更部１６４が表示領域ＡＲ１を移動操作前の表示位置に戻す場合について説明する。この場合、表示位置変更部１６４は、表示領域ＡＲ１内におけるカーソルＣ１２の位置（Ｘ３、Ｙ４）を表示部１３０におけるカーソルＣ１２の位置としてカーソル位置記憶部１７２に記憶させる。カーソル位置記憶部１７２は、表示部１３０内におけるカーソルＣ１２の位置として、表示座標系で表される位置（ｘ５、ｙ６）を記憶する。そして、表示位置変更部１６４は、表示領域ＡＲ１を移動操作前の表示位置に戻すことにより、表示部１３０内における位置（ｘ５、ｙ６）にカーソルＣ１２を表示する。これにより、表示部１３０内におけるカーソルＣ１２の位置が位置（ｘ１、ｙ２）から位置（ｘ５、ｘ６）へと移動する。
【００５７】
また、表示位置変更部１６４は、表示領域ＡＲ１におけるカーソルＣ１１の位置（Ｘ１、Ｙ２）を表示部１３０におけるカーソルＣ１１の位置としてカーソル位置記憶部１７２に記憶させる。カーソル位置記憶部１７２は、表示部１３０におけるカーソルＣ１１の位置として、表示座標系で表される位置（ｘ１、ｙ２）を記憶する。そして、表示位置変更部１６４は、表示領域ＡＲ１を移動操作前の表示位置に戻すことにより、表示部１３０におけるカーソルＣ１１の位置（ｘ１、ｙ２）にカーソルＣ１１を表示する。これにより、表示部１３０内におけるカーソルＣ１１の位置が位置（ｘ３、ｙ４）から位置（ｘ１、ｙ２）へと移動する。
【００５８】
なお、移動操作の終了は、移動操作検出部１６３が検出し、表示位置変更部１６４に通知するようにすればよい。あるいは、移動操作検出部１６３は、移動操作を検出している間、連続的に移動操作を検出している旨の通知を行い、かかる通知を受信しなくなった場合に、表示位置変更部１６４が移動操作が終了したと判定してもよい。また、移動操作の開始と終了に関して、ユーザの指が表示部１３０に触れたときを移動操作の開始とし、ユーザの指が表示部１３０から離れたときを移動操作の終了としてもよい。あるいは、ユーザからタッチ操作等の所定の操作を受け付けた場合に、移動操作を開始または終了するようにしてもよい。
【００５９】
〔３．カーソル位置の説明（２）〕
さて、これまで、選択モードにおいて、表示領域ＡＲ１を移動させる場合、カーソルＣ１２の位置を表示部１３０内における移動前の元の表示位置に維持した状態で、カーソルＣ１１とともに表示領域ＡＲ１の表示位置を移動操作に応じて移動させる例を示した。しかし、表示位置変更部１６４は、表示領域ＡＲ１の表示位置を移動操作に応じて移動させる場合、厳密には、カーソルＣ１２の位置を表示部１３０内における移動前の元の表示位置に維持するのではなく、移動操作に応じて、わずかに移動させ、移動させた後、移動前の元の表示位置から最も近い文字間にカーソルＣ１２が位置するように表示領域ＡＲ１を移動させる。
【００６０】
このようなカーソル位置決め処理について、図１を用いて説明する。例えば、図１（ｃ）に示すように、表示位置変更部１６４は、表示領域ＡＲ１の表示位置を、左上方向への移動操作に応じて移動させる場合、カーソルＣ１２の位置を表示部１３０内における移動前の元の表示位置である位置（ｘ１、ｘ２）に維持するのではなく、左上方向への移動操作につられるように、左上方向へわずかに移動させる。具体的には、表示位置変更部１６４は、移動操作に応じて、表示領域ＡＲ１とともにカーソルＣ１２を左上方向へわずかに移動させ、移動させた後、元の表示位置である位置（ｘ１、ｘ２）から最も近い文字間にカーソルＣ１２が位置するように表示領域ＡＲ１を移動させる。
【００６１】
なお、表示領域ＡＲ１とともにカーソルＣ１２どれだけ移動させるかは情報処理装置１００に対して、予め所定の値が設定されてよい。例えば、表示位置変更部１６４は、表示領域ＡＲ１の移動方向に対してカーソルＣ１２に隣接して存在する文字の文字サイズの半分を超えるまでは、移動操作に応じて、表示領域ＡＲ１とともにカーソルＣ１２を移動させ、文字サイズの半分を超えた時点で、カーソルＣ１２が移動前の元の表示位置から最も近い文字間に位置するように表示領域ＡＲ１を移動させるといった処理を行ってよい。
【００６２】
以上により、本実施形態では、例えば、表示領域ＡＲ１を移動させる際に、表示部１３０におけるカーソルＣ１２（カーソルＣ１１でもよい）の位置を元の表示位置に維持するということは、その位置にカーソルＣ１２の位置を維持するという意味だけでなく、その位置から所定の範囲内あるいはその位置周辺の所定の位置にカーソルＣ１２の位置を維持するという概念を含むものである。
【００６３】
〔４．処理の手順〕
次に、図４を用いて、実施形態にかかる範囲選択処理の手順について説明する。図４は、実施形態にかかる範囲選択処理手順の一例を示すフローチャートである。
【００６４】
図４に示すように、切替検出部１６１は、例えば、カーソルＣ１１が表示されているカーソル移動モード中に、選択モードに切り替えるための所定の切替操作（例えば、表示部１３０に表示されるテキスト上でのダブルタップ）を検出したか否かを判定する（ステップＳ２０１）。切替検出部１６１は、切替操作を検出していない場合（ステップＳ２０１；Ｎｏ）、切替操作を検出するまで待機する。一方、切替検出部１６１は、切替操作を検出した場合（ステップＳ２０１；Ｙｅｓ）、カーソル移動モードから選択モードに切り替える（ステップＳ２０２）。例えば、切替検出部１６１は、切替操作を検出した場合、選択モードに切り替える処理として、切替操作を検出した旨をカーソル制御部１６２に通知する。また、切替検出部１６１は、選択モードとして、表示領域ＡＲ１を移動させる移動操作に応じて、表示位置変更部１６４が各カーソルの位置を制御しつつ、表示領域ＡＲ１を移動させることを可能な状態にさせる。
【００６５】
カーソル制御部１６２は、切替検出部１６１によって切替操作が検出された場合に、カーソルＣ１１と同位置にカーソルＣ１２をさらに表示する（ステップＳ２０３）。
【００６６】
このような状態において、移動操作検出部１６３は、表示領域ＡＲ１を移動させる移動操作を検出したか否かを判定する（ステップＳ２０４）。移動操作検出部１６３は、移動操作を検出していない場合（ステップＳ２０４；Ｎｏ）、移動操作を検出するまで待機する。一方、移動操作検出部１６３は、移動操作を検出した場合（ステップＳ２０４；Ｙｅｓ）、表示部１３０内におけるカーソルＣ１２の移動前の表示位置および表示領域ＡＲ１におけるカーソルＣ１１の移動前の表示位置をカーソル位置記憶部１７２に記憶させる（ステップＳ２０５）。なお、かかる処理は、表示位置変更部１６４によって行われてもよい。また、移動操作検出部１６３は、移動操作を検出している間は、移動動作を検出している旨を常時、表示位置変更部１６４に通知する。
【００６７】
表示位置変更部１６４は、表示部１３０におけるカーソルＣ１２の移動前の表示位置を維持した状態で、カーソルＣ１１とともに表示領域ＡＲ１の表示位置を移動操作に応じて移動させる（ステップＳ２０６）。このとき、表示位置変更部１６４は、移動操作に応じた移動量から表示部１３０におけるカーソルＣ１１の位置を連続的に算出することで、算出した位置にカーソルＣ１１を表示し、カーソルＣ１２については、表示部１３０内における移動前の表示位置に表示したままであるが、一方で、移動操作に応じた移動量から表示領域ＡＲ１におけるカーソルＣ１２の位置を連続的に算出してゆく。カーソル位置記憶部１７２は、このようにカーソルＣ１１およびＣ１２について算出された値を記憶する（ステップＳ２０７）。
【００６８】
また、範囲選択部１６５は、ステップＳ２０６に示す態様で、表示領域ＡＲ１の表示位置が移動されることに応じて、カーソルＣ１１の位置とカーソルＣ１２との間の領域を選択範囲として決定してゆく（ステップＳ２０８）。また、範囲選択部１６５は、選択範囲内に表示される文字列の背景色を他の文字列の背景色と異ならせることで、選択範囲を強調表示する。
【００６９】
移動操作検出部１６３は、移動操作が終了したか否かを判定する（ステップＳ２０９）。移動操作検出部１６３は、移動操作が終了していない場合（ステップＳ２０９；Ｎｏ）、ステップＳ２０６に戻る。一方、移動操作が終了した場合（ステップＳ２０９；Ｙｅｓ）、表示位置変更部１６４は、表示領域ＡＲ１におけるカーソルＣ１２の位置を、対応する表示部１３０におけるカーソルＣ１２の位置に変更し、また、表示領域ＡＲ１におけるカーソルＣ１１の位置を、対応する表示部１３０におけるカーソルＣ１１の位置に変更する。そして、表示位置変更部１６４は、変更後の位置にカーソルＣ１１およびＣ１２が表示されるよう表示領域ＡＲ１の表示位置を移動操作前の表示位置に戻す（ステップＳ２１０）。なお、範囲選択部１６５は、表示領域ＡＲ１の表示位置が移動操作前の表示位置に戻された場合においても、カーソルＣ１１の位置とカーソルＣ１２の位置との間の領域を選択したままとする。
【００７０】
〔５．変形例〕
上記実施形態にかかる情報処理装置１００は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、情報処理装置１００の他の実施形態について説明する。
【００７１】
〔５−１．範囲選択処理（１）〕
上記実施形態では、情報処理装置１００のカーソル制御部１６２が、選択モードへの切替操作が検出された場合に、切替操作が検出された検出位置に関わらず、表示領域ＡＲ１内に表示されているカーソルＣ１１と同位置にカーソルＣ１２をさらに表示する例を示した。しかし、カーソル制御部１６２は、切替操作が検出された場合に、切替操作が検出された位置である検出位置にカーソルＣ１２を表示してもよい。そして、表示位置変更部１６４は、表示領域ＡＲ１を移動させる移動操作が検出された場合に、切替操作が検出された検出位置であって、表示部１３０内における検出位置にカーソルＣ１２を維持した状態で、カーソルＣ１１とともに表示領域ＡＲ１の表示位置を移動操作に応じて移動させる。この点について、図５を用いて説明する。
【００７２】
図５は、変形例にかかる範囲選択処理の処理の一例を示す図である。図５（ａ）に示すように、テキスト３行目の「Ｘ」と「Ｙ」の間にカーソルＣ１１が表示されているとする。このとき、表示部１３０内におけるカーソルＣ１１の位置は、位置（ｘ１、ｙ２）であり、表示領域ＡＲ１内におけるカーソルＣ１１の位置は、位置（Ｘ１、Ｙ２）であるものとする。
【００７３】
ここで、ユーザは、テキスト５行目の「Ｃ」と「Ｄ」の間の位置に、選択モードに切り替えるための切替操作として、ダブルタップしたとする。切替操作検出部１６１は、ダブルタップを検出すると、選択モードに切り替えるとともに、ダブルタップを検出した検出位置Ｐ０４をカーソル制御部１６２に通知する。図５（ａ）に示すように、かかる検出位置Ｐ０４の表示部１３０内における位置を位置（ｘ７、ｙ８）、表示領域ＡＲ１内における位置を位置（ｘ７、ｙ８）とすると、例えば、切替操作検出部１６１は、検出位置Ｐ０４に関する情報として、表示部１３０内における位置（ｘ７、ｙ８）、表示領域ＡＲ１内における位置（ｘ７、ｙ８）の両方をカーソル制御部１６２に通知する。
【００７４】
カーソル制御部１６２は、検出位置を受け付けると、表示部１３０内における位置（ｘ７、ｙ８）にカーソルＣ１２を表示する。なお、この時点では、移動操作が加えられていないため、表示座標系の原点と領域座標系の原点とが一致する。このため位置（ｘ７、ｙ８）と位置（Ｘ７、Ｙ８）とは同じ位置となる。よって、カーソル制御部１６２は、検出位置を受け付けると、表示領域ＡＲ１内における位置（ｘ７、ｙ８）にカーソルＣ１２を表示してもよい。
【００７５】
また、このとき、範囲選択部１６５は、カーソルＣ１１とカーソルＣ１２によってはさまれる領域を選択範囲として決定するとともに、選択範囲内に表示される文字列の背景色を他の文字列の背景色と異ならせることで、選択範囲を強調表示する。
【００７６】
また、このような状態において、移動操作が検出されると、表示位置変更部１６４は、表示部１３０内における位置（ｘ７、ｙ８）にカーソルＣ１２を維持し、表示領域ＡＲ１内における位置（Ｘ１、Ｙ２）にカーソルＣ１１を維持した状態で、表示領域ＡＲ１の表示位置を移動動作に応じて移動させる。
【００７７】
このように、情報処理装置１００は、切替操作が検出された場合に、切替操作が検出された位置である検出位置に、表示領域ＡＲ１内に表示されているカーソル（カーソルＣ１１）とは異なるカーソル（カーソルＣ１２）を表示領域ＡＲ１内に表示する。
【００７８】
例えば、カーソルＣ１２がカーソルＣ１１と同位置に表示されると、これら２つのカーソルが完全に重なるため、ユーザにとっては、見た目上変化が起こっていないように感じられる場合がある。つまり、カーソルが２つになったことが認識しづらいために、範囲選択モードに切り替わっているか否かが認識しづらい場合がある。ここで、上記のような処理により、情報処理装置１００は、ユーザが触れた位置に２つ目のカーソルＣ１２を表示することができるため、ユーザに対し、範囲選択モードに切り替わっていることを容易に認識させることができる。また、情報処理装置１００は、ユーザの意図する箇所にカーソルＣ１２を表示することができるため、ユーザビリティを向上させることができる。
【００７９】
〔５−２．範囲選択処理（２）〕
また、カーソル制御部１６２は、表示領域ＡＲ１内に表示されるカーソルとは異なるカーソルを表示させた後に、表示領域ＡＲ１内に表示される２つのカーソルのうちいずれか一方を、表示領域ＡＲ１内においてユーザに指定された位置である指定位置に移動させてもよい。そして、表示制御部１６４は、表示領域ＡＲ１を移動させる移動操作が検出された場合に、ユーザに指定された位置である指定位置であって、表示部１３０内における指定位置または当該指定位置周辺の所定の位置に、移動させたカーソルを維持した状態で、もう一方のカーソルとともに表示領域ＡＲ１の表示位置を移動操作に応じて移動させる。この点について、図６を用いて説明する。
【００８０】
図６は、変形例にかかる範囲選択処理の処理の一例を示す図である。図６（ａ）は、カーソル制御部１６２が、選択モードへの切替操作が検出されたことにより、カーソルＣ１１と同位置にカーソルＣ１２を表示した状態を示す。なお、変形例５−１で説明したように、カーソル制御部１６２は、切替操作が検出された検出位置にカーソルＣ１２を表示していてもよい。
【００８１】
ここで、ユーザは、テキスト５行目の「Ｇ」と「Ｈ」の間の位置に触れることにより（例えば、シングルタップ操作）、かかる位置を指定したとする。これにより、カーソル制御部１６２は、ユーザに指定された位置である指定位置Ｐ０５の位置を特定する。図６（ａ）は、カーソル制御部１６２が、指定位置Ｐ０５として、表示部１３０内における位置（ｘ９、ｙ１０）および表示領域ＡＲ１における位置（Ｘ９、Ｙ１０）を特定したことを示す。
【００８２】
そして、カーソル制御部１６２は、特定した指定位置Ｐ０５として、例えば、表示部１３０内における位置（ｘ９、ｙ１０）にカーソルＣ１２を移動させる。なお、この時点では、移動操作が加えられていないため、表示座標系の原点と領域座標系の原点とが一致する。このため位置（ｘ９、ｙ１０）と位置（Ｘ９、Ｙ１０）とは同じ位置となる。よって、カーソル制御部１６２は、特定した指定位置Ｐ０５として、表示領域ＡＲ１における位置（Ｘ９、Ｙ１０）にカーソルＣ１２を移動させてもよい。なお、カーソル制御部１６２が、シングルタップされた位置にカーソルＣ１２を移動させる例を示したが、カーソルＣ１１を移動させてもよい。
【００８３】
また、このとき、範囲選択部１６５は、カーソルＣ１１とカーソルＣ１２によってはさまれる領域を選択範囲として決定するとともに、選択範囲内に表示される文字列の背景色を他の文字列の背景色と異ならせることで、選択範囲を強調表示する。
【００８４】
また、このような状態において、移動操作が検出されると、表示位置変更部１６４は、表示部１３０内における位置（ｘ９、ｙ１０）にカーソルＣ１２を維持し、表示領域ＡＲ１内における位置（Ｘ１、Ｙ２）にカーソルＣ１１を維持した状態で、表示領域ＡＲ１の表示位置を移動動作に応じて移動させる。
【００８５】
このように、情報処理装置１００は、選択モードである場合に、ユーザによって指定された位置にいずれか一方のカーソルを移動させる。このため、情報処理装置１００は、ユーザに対し、選択範囲の終点（かかる例では、カーソルＣ１２）を大まかな位置に移動させ、移動させた後、表示領域ＡＲ１の表示位置を動かすことで終点の位置を微調整させることができる。このため、情報処理装置１００は、ユーザビリティを向上させることができる。
【００８６】
なお、ユーザは、選択モードにおいて、かかる例のように、所定の位置を指定することによりカーソルＣ１２を移動させることで範囲選択したい場合と、表示領域ＡＲ１を移動させることにより、カーソルＣ１２を移動させて範囲選択したい場合がある。いずれの場合においても、始めは、表示部１３０に触れる操作が必要となる。このときの触れる操作が、カーソルＣ１２を移動させたい位置を指定するためのシングルタップ操作なのか、表示領域ＡＲ１を移動させるための初期操作なのかを情報処理装置１００は区別する必要がある。
【００８７】
情報処理装置１００は、このような区別を、例えば、ユーザが表示部１３０に触れている時間に基づいて行ってもよい。例えば、カーソル制御部１６２は、表示部１３０における所定の位置に触れられる操作が所定時間以内であれば、ユーザがその所定の位置にカーソルＣ１２を移動させたいものと判断し、その所定の位置にカーソルＣ１２を移動させる。また、移動操作検出部１６３は、表示部１３０における所定の位置に触れられる操作が所定時間以内であれば、かかる操作が表示領域ＡＲ１を移動させるための初期操作であると判定する。
【００８８】
また、このような例に限らず、例えば、カーソル制御部１６２は、選択モードとして、始めにカーソルＣ１１と同位置に表示されたカーソルＣ１２のみ、ユーザに触れられた位置に移動させるようにしてもよい。また、図６（ｂ）に示すように、既に範囲選択された状態で表示領域ＡＲ１が移動前の表示位置に戻されている場合には、カーソル制御部１６２は、位置指定によるカーソルＣ１２の移動を行わず、表示位置変更部１６４による移動操作に基づく表示領域ＡＲ１の移動でのみカーソルＣ１２を移動可能としてもよい。
【００８９】
〔５−３．範囲選択処理（３）〕
図７は、選択モードにおいて、表示領域ＡＲ１を移動させる一例を示す図である。上述してきた各実施形態では、表示領域ＡＲ１のサイズは、表示部１３０のサイズと同じである。ここでは、図７に示すように、表示領域ＡＲ１の縦サイズが表示部１３０より長い場ものとする。
【００９０】
そして、移動操作検出部１６３は、範囲選択モードにおいて、表示領域ＡＲ１を移動させる移動操作として、第１の移動操作と第２の移動操作とを区別して検出する。そして、表示位置変更部１６４は、第１の移動操作が検出された場合には、表示領域ＡＲ１を第１の移動操作に応じて移動させ、第１の移動操作が終了すると、表示領域ＡＲ１の表示位置を移動前の表示位置に戻すことなく、第１の移動操作が終了した時点での表示位置にとどめる。一方、表示位置変更部１６４は、第２の移動操作が検出された場合には、表示領域ＡＲ１を第２の移動操作に応じて移動させ、第２の移動操作が終了すると、表示領域ＡＲ１の表示位置を移動前の表示位置に戻す。この点について、図７を用いて説明する。なお、本実施形態では、第１の移動操作を２本の指（単に２本指と表記する場合がある）を用いた移動操作とし、第２の移動操作を１本の指を用いた移動操作とする。この点について、図７を用いて説明する。
【００９１】
図７は、表示領域ＡＲ１の移動態様の一例を示す図である。図７（ａ）は、選択モードへの切替操作が検出されたことにより、カーソル制御部１６２がカーソルＣ１１と同位置にカーソルＣ１２を表示している状態を示す。ここで、図７（ａ）に示すように、ユーザが、表示領域ＡＲ１を移動させるために、２本指で表示部１３０に触れている状態で位置Ｐ０６から位置Ｐ０７へのスライド操作を行ったとする。
【００９２】
移動操作検出部１６３は、表示部１３０に１本の指が触れているか、２本の指が触れているかを判定する。例えば、移動操作検出部１６３は、表示部１３０に触れているのが２本指であると判定した上で、さらに、かかる２本指による表示領域ＡＲ１を移動させる移動操作を検出すると、その旨を表示位置変更部１６４に通知する。図７（ａ）の例では、移動操作検出部１６３は、２本指による移動操作が行われた旨を表示位置変更部１６４に通知する。
【００９３】
これにより、表示位置変更部１６４は、２本指による移動操作に応じて、図７（ａ）に示す状態から、図７（ｂ）に示す状態へと表示領域ＡＲ１の表示位置を移動させたとする。そして、図７（ｂ）に示す状態へと表示領域ＡＲ１の表示位置を移動させたところで、２本指のうち少なくとも何れか一方が表示部１３０から離される等により、移動操作が終了したことが移動操作検出部１６３によって検出されたとする。
【００９４】
表示位置変更部１６４は、２本指による移動操作が終了すると、図７（ｃ）に示すように、表示領域ＡＲ１の表示位置を移動前の表示位置に戻すのではなく、表示領域ＡＲ１の表示位置を２本指による移動操作に応じて移動させた表示位置にとどめる。つまり、表示位置変更部１６４は、２本指による移動操作が終了しても表示領域ＡＲ１の表示位置を図７（ｂ）に示す状態で維持する。
【００９５】
一方、例えば、移動操作検出部１６３は、表示部１３０に触れているのが１本指であると判定した上で、さらに、かかる１本指による表示領域ＡＲ１を移動させる移動操作を検出すると、その旨を表示位置変更部１６４に通知する。
【００９６】
これにより、表示位置変更部１６４は、表示領域ＡＲ１の表示位置を１本指による移動操作に応じて移動させる。例えば、表示位置変更部１６４は、かかる１本指による移動操作に応じて、図７（ａ）に示す状態から、図７（ｂ）に示す状態へと表示領域ＡＲ１の表示位置を移動させたとする。図７（ｂ）に示す状態へと表示領域ＡＲ１の表示位置を移動させたところで、例えば、表示部１３０から指が離される等により、移動操作が終了したことが移動操作検出部１６３によって検出されたとすると、表示位置変更部１６４は、表示領域ＡＲ１の表示位置を移動前の表示位置に戻す。つまり、１本指で移動操作が行われた場合の情報処理装置１００による処理については、図１等を用いて説明してきたとおりである。
【００９７】
このように、情報処理装置１００は、第１の移動操作が終了した場合には、第１の移動操作に応じて移動させた表示領域ＡＲ１の表示位置を、移動前の表示位置に戻さず、移動後の表示位置に維持した状態とする。また、情報処理装置１００は、第２の移動操作が終了した場合には、第２に移動操作に応じて移動させた表示領域ＡＲ１の表示位置を移動前の表示位置に戻す。
【００９８】
例えば、ユーザは、表示領域ＡＲ１に表示されている文章を閲覧しながら、テキスト３行目の「Ｙ」からテキスト１８行目の「Ｊ」までを選択したいとする。この場合、ユーザは、図７（ａ）に示すカーソルＣ１２の位置に、位置Ｍ１が位置するまで、移動操作を複数回繰り返すことが考えられる。情報処理装置１００は、２本指による移動操作が行われた場合には、表示領域の表示位置を移動前の表示位置に戻すことなく、かかる移動操作による移動後の表示位置にとどめることができるため、複数回の移動操作を要するような広範囲なテキスト選択にも対応することができる。
【００９９】
すなわち、情報処理装置１００は、ユーザに対し、移動操作を使い分けさせることで、選択範囲を自在に設定させることができるとともに、選択モード中であっても、表示領域を移動前の表示位置に戻すことなく、自由にテキストを閲覧させることができる。
【０１００】
〔５−４．カーソルの位置設定〕
また、表示位置変更部１６４は、カーソルの位置が表示領域ＡＲ１内に含まれる文字における所定の位置に位置するように、表示領域ＡＲ１を移動操作に応じて移動させる。具体的には、表示位置変更部１６４は、移動操作に応じた表示領域ＡＲ１の移動量が所定値より大きい場合には、表示部１３０内の元の表示位置周辺であって、表示領域ＡＲ１内の形態素の間にカーソルが位置するように、表示領域ＡＲ１を移動させる。また、表示位置変更部１６４は、移動操作に応じた表示領域ＡＲ１の移動量が所定値より小さい場合には、表示部１３０内の元の表示位置周辺であって、表示領域ＡＲ１内の各文字間にカーソルが位置するように、表示領域ＡＲ１を移動させる。この点について、図８を用いて説明する。
【０１０１】
図８Ａおよび８Ｂは、表示領域ＡＲ１の移動に応じたカーソルの位置を説明する図である。図８Ａおよび８Ｂにおいて、同一アルファベットの集合（例えば、「ＡＡＡ」、「ＢＢＢ」等）を一つの形態素とする。図８Ａの（ａ）では、カーソルＣ１１がテキスト２行目における１番目「Ｂ」と２番目「Ｂ」との間に位置し、カーソルＣ１２がテキスト２行目の「Ｃ」と「Ｄ」との間に位置している例を示す。そして、表示部１３０内におけるカーソルＣ１２の位置を位置Ｐ１２ａとする。
【０１０２】
このような状態において、図８Ａの（ｂ）に示すように、ユーザが表示領域ＡＲ１の表示位置を左方向に移動させる移動操作を行ったとする。表示位置変更部１６４は、移動操作検出部１６３により、かかる移動操作が検出されることにより、表示部１３０内における位置Ｐ１２ａにカーソルＣ１２を維持した状態で、カーソルＣ１１とともに表示領域ＡＲ１の表示位置を移動操作に応じて移動させる。
【０１０３】
表示位置変更部１６４は、表示領域ＡＲ１の表示位置を移動させるとともに、表示領域ＡＲ１の移動量を連続的に算出し、算出する度に、算出した値が所定値より大きいか小さいかを判定する。なお、移動量とは、例えば、単位時間当たりの表示領域ＡＲ１の移動量、すなわち、表示領域ＡＲ１の移動速度であるものとする。
【０１０４】
図８Ａの（ｂ）に示すように、表示位置変更部１６４は、表示領域ＡＲ１の移動量として、「Ｆ１  （ｐｉｘｅｌ／ｍｉｎ）」を算出するとともに、算出した「Ｆ１  （ｐｉｘｅｌ／ｍｉｎ）」が所定値より大きいと判定したとする。ここで、「３．カーソル位置の説明（２）」で説明したように、表示位置変更部１６４は、厳密的には、表示部１３０内における位置Ｐ１２ａにカーソルＣ１２を維持するのではなく、図８Ａの（ｂ）に示すように、表示領域ＡＲ１の左方向への移動に応じて、表示領域ＡＲ１とともにカーソルＣ１２を表示部１３０内における位置Ｐ１２ｂまで移動させる。このときカーソルＣ１２を移動させる距離（位置Ｐ１２ａと位置Ｐ１２ｂ間の距離）は、予め決められた所定の値あるいは文字サイズの半分に相当する距離であってよい。
【０１０５】
そして、表示位置変更部１６４は、カーソルＣ１２を位置Ｐ１２ｂまで移動させた後、再び、位置Ｐ１２ａに戻す。このとき、表示位置変更部１６４は、図８Ａの（ｃ）に示すように、表示領域ＡＲ１の移動量「Ｆ１  （ｐｉｘｅｌ／ｍｉｎ）」が所定値より大きいと判定したことにより、カーソルＣ１２を位置Ｐ１２ａに戻すとともに、カーソルＣ１２が、形態素「ＤＤＤ」と、かかる形態素「ＤＤＤ」に連続する形態素「ＡＡＡ」との間に位置するように表示領域ＡＲ１を移動させる。
【０１０６】
図８Ａでは、表示領域ＡＲ１の移動量が所定値より大きい場合での、表示位置変更部１６４による処理について説明した。次に、図８Ｂを用いて、表示領域ＡＲ１の移動量が所定値より小さい場合での、表示位置変更部１６４による処理について説明する。
【０１０７】
図８Ｂの（ａ）では、カーソルＣ１１がテキスト２行目における１番目「Ｂ」と２番目「Ｂ」との間に位置し、カーソルＣ１２がテキスト２行目の「Ｃ」と「Ｄ」との間に位置している例を示す。そして、表示部１３０内においてカーソルＣ１２は、位置Ｐ１２ａにある。
【０１０８】
このような状態において、図８Ｂの（ｂ）に示すように、ユーザが表示領域ＡＲ１の表示位置を左方向に移動させる移動操作を行ったとする。表示位置変更部１６４は、表示領域ＡＲ１の表示位置を移動させるとともに、表示領域ＡＲ１の移動量を連続的に算出し、算出する度に、算出した値が所定値より大きいか小さいかを判定する。
【０１０９】
図８Ｂの（ｂ）に示すように、表示位置変更部１６４は、表示領域ＡＲ１の移動量として、「Ｆ２  （ｐｉｘｅｌ／ｍｉｎ）」を算出するとともに、算出した「Ｆ２  （ｐｉｘｅｌ／ｍｉｎ）」が所定値より小さいと判定したとする。
【０１１０】
表示位置変更部１６４は、表示部１３０内における位置Ｐ１２ａにカーソルＣ１２を維持するのではなく、図８Ｂの（ｂ）に示すように、表示領域ＡＲ１の左方向への移動に応じて、表示領域ＡＲ１とともにカーソルＣ１２を表示部１３０内における位置Ｐ１２ｂまでわずかに移動させる。
【０１１１】
そして、表示位置変更部１６４は、カーソルＣ１２を位置Ｐ１２ｂまで移動させた後、再び、位置Ｐ１２ａに戻す。このとき、表示位置変更部１６４は、図８Ｂの（ｃ）に示すように、表示領域ＡＲ１の移動量「Ｆ２  （ｐｉｘｅｌ／ｍｉｎ）」が所定値より小さいと判定したことにより、カーソルＣ１２を位置Ｐ１２ａに戻すとともに、移動前は「Ｃ」と「Ｄ」との間に位置していたカーソルＣ１２が１番目「Ｄ」と２番目「Ｄ」との間、つまり、１つの文字と１つの文字との間に位置するように表示領域ＡＲ１を移動させる。
【０１１２】
このように、情報処理装置１００は、移動操作に応じて移動させる表示領域ＡＲ１の移動量が所定値より大きい場合には、カーソルＣ１２を表示部１３０における移動前の表示位置に維持した状態で、表示領域ＡＲ１内の形態素間にカーソルＣ１２が位置するように表示領域ＡＲ１を移動させる。また、情報処理装置１００は、移動操作に応じて移動させる表示領域ＡＲ１の移動量が所定値より小さい場合には、カーソルＣ１２を表示部１３０における移動前の表示位置に維持した状態で、表示領域ＡＲ１内の各文字間にかかるカーソルＣ１２が位置するように表示領域ＡＲ１を移動させる。
【０１１３】
例えば、ユーザは、テキストを編集したい場合、単語や形態素単位で編集したい場合がある。情報処理装置１００は、表示領域ＡＲ１内の形態素毎にカーソルが位置するように、表示領域ＡＲ１を移動させることができるため、テキスト編集に対するユーザの満足度を高めることができる。また、例えば、ユーザは、テキストを編集したい場合、１文ずつ細かく編集したり、任意の文字列単位で編集したい場合がある。情報処理装置１００は、表示領域ＡＲ１内の文字毎にカーソルが位置するように、表示領域ＡＲ１を移動させることができるため、テキスト編集に対するユーザの満足度を高めることができる。
【０１１４】
〔５−５．強調表示〕
また、表示位置変更部１６４は、表示領域ＡＲ１の表示位置を移動操作に応じて移動させる場合に、表示領域ＡＲ１内のカーソルのうちいずれか一方のカーソル周辺を強調表示する。この点について、図９を用いて説明する。
【０１１５】
図９は、カーソル周辺を強調表示する一例を示す図である。図９に示すように、位置Ｐ０２から位置Ｐ０３へ表示領域ＡＲ１を移動させる移動操作に応じて、表示位置変更部１６４は、表示部１３０内における位置（ｘ１、ｙ２）にカーソルＣ１２を維持し、かつ、表示領域ＡＲ１内における位置（Ｘ１、Ｙ２）にカーソルＣ１１を維持した状態で、表示領域ＡＲ１の表示位置を移動させる。
【０１１６】
カーソルＣ１１は、常に、表示領域ＡＲ１内における位置（Ｘ１、Ｙ２）に維持されるため、ユーザは、範囲選択する場合、カーソルＣ１１を注視する必要はない。一方、カーソルＣ１２については、表示部１３０内における位置（ｘ１、ｙ２）に維持されるが、表示領域ＡＲ１内における位置は、表示領域ＡＲ１の移動とともに変化する。このため、ユーザは、カーソルＣ１２に注目し、カーソルＣ１２が任意の位置に移動するように、移動操作を行うことで選択範囲を決める。
【０１１７】
このような状況を踏まえて、表示位置変更部１６４は、図９に示すように、表示領域ＡＲ１に対する移動操作が検出されている間、カーソルＣ１２の周辺領域Ｓ１が強調されるよう、周辺領域Ｓ１を除く表示部１３０内の輝度を下げる、あるいは、周辺領域Ｓ１に対する周辺領域Ｓ１を除く表示部１３０のコントラストを下げる。これにより、ユーザは、範囲選択するうえで注目する必要があるカーソルＣ１２を見失うことがなくなる。
【０１１８】
なお、図示しないが、表示位置変更部１６４は、表示領域ＡＲ１に対する移動操作が検出されている間、カーソルＣ１２の周辺領域Ｓ１内に含まれる文字やカーソルＣ１２を拡大表示してもよいし、カーソルＣ１２上に矢印等を表示することにより、カーソルＣ１２の位置を明確化させてもよい。
【０１１９】
〔５−６．カーソル移動モード〕
上述してきた実施形態では、選択モードに切り替えるための切替操作が検出された場合に、カーソル制御部１６２が、表示領域ＡＲ１内に表示されているカーソルＣ１１とは異なるカーソルＣ１２をさらに表示する例を示した。以下では、選択モードに切り替える前に、範囲選択における始点となるカーソルＣ１１を移動させることにより、カーソルＣ１１の位置を決定する処理について説明する。そして、上述したように、カーソルＣ１１のみ表示されており、その移動を行うモードをカーソル移動モードとする。
【０１２０】
図１０は、変形例にかかるカーソル移動処理の一例を示す図である。図１０（ａ）に示すように、メモ帳アプリが起動されていることにより、情報処理装置１００は、表示領域ＡＲ１にテキストを表示するとともに、テキスト上にカーソルＣ１１を表示している。カーソルＣ１１は、テキスト３行目の「Ｑ」と「Ｒ」の間に位置している。このとき、表示部１３０におけるカーソルＣ１１の位置を位置（ｘ１１、ｙ１２）とする。また、表示領域ＡＲ１におけるカーソルＣ１１の位置を位置（Ｘ１１、Ｙ１２）とする。
【０１２１】
ここで、ユーザは、テキスト３行目の「Ｘ」と「Ｙ」の間にカーソルの位置を定めたいとする。このために、ユーザは、表示部１３０に対して、所定の操作を与えることで、情報処理装置１００をカーソル移動モードに切り替えさせる。言い換えると、情報処理装置１００は、表示部１３０に対する所定の操作を受け付けると、表示領域ＡＲ１を移動させることで、カーソルＣ１１を移動させるカーソル移動モードへと切り替える。本実施形態では、カーソル移動モードへと切り替える所定の操作を、表示部１３０に対する長押し操作とする。
【０１２２】
このような状態において、情報処理装置１００は、表示部１３０に対する任意の位置Ｐ０８から位置Ｐ０９までを指等でなぞる移動操作を検出したものとする。かかる場合に、情報処理装置１００は、図１０（ｂ）に示すように、表示部１３０における位置（ｘ１１、ｙ１２）にカーソルＣ１１を維持した状態で、表示領域ＡＲ１の表示位置を移動操作に応じて移動させる。
【０１２３】
表示部１３０における位置（ｘ１１、ｙ１２）にカーソルＣ１１を維持した状態で、表示領域ＡＲ１の表示位置を移動させるため、表示部１３０におけるカーソルＣ１１の位置は、図１０（ａ）と（ｂ）とで変化せず位置（ｘ１１、ｙ１２）のままである。一方、図１０（ａ）では、表示領域ＡＲ１におけるカーソルＣ１１の位置は、テキスト３行目の「め」と「も」の間の位置（Ｘ１１、Ｙ１２）であるのに対し、図１０（ｂ）では、表示領域ＡＲ１におけるカーソルＣ１１の位置は、移動操作に応じて、テキスト３行目の「Ｘ」と「Ｙ」の間の位置（Ｘ１３、Ｙ１４）に移動している。
【０１２４】
そして、ユーザは、位置Ｐ０９まで移動操作したところで、表示部１３０上から指を離したとする。これにより、情報処理装置１００は、移動操作を検出しなくなると、表示領域ＡＲ１における位置（Ｘ１３、Ｙ１４）にカーソルＣ１１を維持した状態で、表示領域ＡＲ１を移動前の元の表示位置に戻す。
【０１２５】
表示領域ＡＲ１における位置（Ｘ１３、Ｙ１４）にカーソルＣ１１を維持した状態で、表示領域ＡＲ１を移動前の元の表示位置に戻すため、図１０（ｃ）に示す表示部１３０におけるカーソルＣ１１の位置は、図１０（ｂ）に示す表示部１３０における位置（ｘ１１、ｙ１２）から位置（ｘ１３、ｙ１４）へと移動操作に応じて移動している。一方、図１０（ｃ）に示す表示領域ＡＲ１におけるカーソルＣ１１の位置は、図１０（ｂ）に示す表示領域ＡＲ１における位置（Ｘ１３、Ｙ１４）のまま、つまりテキスト３行目の「Ｘ」と「Ｙ」の間の位置のまま移動していない。
【０１２６】
このように、情報処理装置１００は、表示部１３０内におけるカーソルＣ１１の位置を維持した状態で、表示領域ＡＲ１の表示位置を移動操作に応じて移動させることで、表示領域ＡＲ１におけるカーソルＣ１１の位置を移動させることができる。
【０１２７】
例えば、ユーザは、テキスト上の任意の位置をタッチすることで、任意の位置にカーソルを移動させることがある。しかし、この場合、文字が指に隠れてしまう等により、カーソルを任意の位置に移動させることが困難な場合がある。情報処理装置１００は、このような状況を回避し、容易かつ正確にカーソルを任意の位置に移動させることができる。
【０１２８】
例えば、ユーザは、テキストの所定部分を選択する際、文字が指に隠れてしまう等により、選択範囲の始点および終点としたい位置にカーソルを上手く移動させることが困難な場合がある。実施形態にかかる情報処理装置１００は、図１０（ｂ）で説明したように、表示領域ＡＲ１を移動させて、始点となるカーソルＣ１１の位置を調整することができる。また、情報処理装置１００は、上述してきたように、表示領域ＡＲ１を移動させて、終点となるカーソルＣ１２の位置を調整することができる。これにより、情報処理装置１００は、容易かつ正確に範囲選択させることができるため、ユーザビリティが向上させることができる。
【０１２９】
以上のような、情報処理装置１００によるカーソル移動処理により、まず、ユーザはカーソルＣ１１を任意の位置へ移動させる。このような状態において、範囲選択モードに切り替えるための切替操作が検出された場合に、カーソル制御部１６２が、表示領域ＡＲ１内に表示されているカーソルＣ１１とは異なるカーソルＣ１２をさらに表示することで、上述してきた範囲選択処理が実現されてよい。この場合、図１０（ｃ）に示す状態は、図１（ａ）に示す状態に対応する。
【０１３０】
なお、図１０を用いて説明したカーソル移動処理にも、上記範囲選択処理で説明した各種処理を適用可能である。具体的には、カーソルＣ１１を移動前の元の表示位置周辺に維持する処理や、シングルタッチされた位置にカーソルＣ１１を移動させる処理や、表示領域ＡＲ１の移動量に応じて、カーソルＣ１１が形態素間や各文字間に位置するようにする処理等を適用可能である。
【０１３１】
〔５−７．構成〕
上記実施形態では、表示位置変更部１６４が、表示領域ＡＲ１を移動操作に応じて移動させる際に、カーソルＣ１１およびＣ１２の位置を制御する例を示した。例えば、表示位置変更部１６４が、カーソルＣ１２を表示部１３０内における元の表示位置周辺に維持した状態で、カーソルＣ１１とともに表示領域ＡＲ１の表示位置を移動操作に応じて移動させる例を示した。しかし、このようなカーソルの制御は、表示位置変更部１６４ではなく、カーソル制御部１６３によって行われてもよい。この場合、表示位置変更部１６４は、表示領域ＡＲ１の表示位置を移動させる際に、カーソルの表示位置や表示態様をどのようにするかをカーソル制御部１６２に随時指示する。また、例えば、カーソル制御部１６２と表示位置変更部１６４とは、一つの部位として構成されてもよい。
【０１３２】
〔５−８．選択対象〕
上記各実施形態では、表示領域ＡＲ１に表示される表示対象が、文字（テキスト）でることにより、文字が範囲選択される例を示した。しかし、表示対象は、文字以外、例えば、絵文字や写真等であってもよく、このような文字以外の表示対象が上記範囲選択処理により選択されてもよい。
【０１３３】
〔５−９．ハードウェア構成〕
上述してきた実施形態にかかる情報処理装置１００は、例えば、図１１に示すような構成のコンピュータ１０００によって実現される。図１１は、情報処理装置１００の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ１３００、ＨＤＤ１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０１３４】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に格納されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を格納する。
【０１３５】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を格納する。通信インターフェイス１５００は、通信網５０（ネットワークＮに対応）を介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータを通信網５０を介して他の機器へ送信する。
【０１３６】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、生成したデータを入出力インターフェイス１６００を介して出力装置へ出力する。
【０１３７】
メディアインターフェイス１７００は、記録媒体１８００に格納されたプログラム又はデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１３８】
例えば、コンピュータ１０００が実施形態にかかる情報処理装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部１４０の機能を実現する。また、ＨＤＤ１４００には、記憶部１７０内のデータが格納される。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置から通信網５０を介してこれらのプログラムを取得してもよい。
【０１３９】
〔６．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１４０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。
【０１４１】
また、上述してきた各実施形態は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１４２】
〔７．効果〕
実施形態にかかる情報処置装置１００は、カーソル制御部１６２と、表示位置変更部１６４と、範囲選択部１６５とを有する。カーソル制御部１６２は、表示部に表示される表示領域ＡＲ１に含まれる文字を選択するための選択モードに切り替える切替操作が検出された場合に、表示領域ＡＲ１に表示されるカーソルとは異なるカーソルを表示領域ＡＲ１に表示させる。表示位置変更部１６４は、選択モードにおいて、表示領域ＡＲ１を移動させる移動操作が検出された場合に、一方のカーソルを表示部における元の表示位置または元の表示位置周辺の所定の位置に維持した状態で、他方のカーソルとともに表示領域ＡＲ１の表示位置を移動操作に応じて移動させる。範囲選択部１６５は、表示位置変更部によって表示領域ＡＲ１の表示位置が移動された後におけるカーソル間を選択範囲とする。
【０１４３】
これにより、情報配信装置１００は、表示領域ＡＲ１を移動させて、終点となるカーソルＣ１２の位置を調整することができるため、容易かつ正確に範囲選択させることができる。このため、情報処理装置１００のユーザビリティが向上する。
【０１４４】
また、実施形態にかかる情報処置装置１００において表示位置変更部１６４は、表示部における第１の位置に一方のカーソルが表示され、かつ、表示領域ＡＲ１における第２の位置に他方のカーソルが表示されている状態で、移動操作が検出された場合に、表示部１３０における第１の位置に一方のカーソルを維持し、かつ、表示領域ＡＲ１における第２の位置に他方のカーソルを維持した状態で、表示領域ＡＲ１の表示位置を移動操作に応じて移動させる。
【０１４５】
これにより、情報配信装置１００は、表示領域ＡＲ１を移動させて、終点となるカーソルＣ１２の位置を調整することができるため、容易かつ正確に範囲選択させることができる。このため、情報処理装置１００のユーザビリティが向上する。
【０１４６】
また、実施形態にかかる情報処置装置１００においてカーソル制御部１６２は、切替操作が検出された検出位置に、表示領域ＡＲ１に表示されるカーソルとは異なるカーソルを表示する。
【０１４７】
これにより、情報処理装置１００は、ユーザが触れた位置に終点となるカーソル（カーソルＣ１２）を表示することができるため、ユーザに対し、選択モードに切り替わっていることを容易に認識させることができる。また、情報処理装置１００は、ユーザの意図する箇所に終点となるカーソル（カーソルＣ１２）を表示することができるため、ユーザビリティを向上させることができる。
【０１４８】
また、カーソル制御部１６２は、異なるカーソルを表示させた後に、表示領域ＡＲ１の所定の位置を指定する操作を検出した場合に、指定された所定の位置に表示領域ＡＲ１に表示されるカーソルのうちいずれか一方を移動させる。
【０１４９】
これにより、情報処理装置１００は、ユーザに対し、選択範囲の終点となるカーソル（カーソルＣ１２）を大まかな位置に移動させ、移動させた後、表示領域ＡＲ１の表示位置を動かすことで、終点となるカーソルの位置を微調整させることができる。このため、情報処理装置１００は、ユーザビリティを向上させることができる。
【０１５０】
また、表示位置変更部１６４は、移動操作が検出された場合に、カーソル制御部１６２によって移動されたカーソルを指定された所定の位置または指定された所定の位置周辺の所定の位置に維持した状態で、他方のカーソルとともに表示領域ＡＲ１の表示位置を移動操作に応じて移動させる。
【０１５１】
これにより、情報処理装置１００は、表示領域ＡＲ１の表示位置を動かすことで、終点となるカーソルの位置を微調整させることができるため、ユーザビリティを向上させることができる。
【０１５２】
また、実施形態にかかる情報処置装置１００において移動操作検出部１６３は、表示部に表示される表示領域ＡＲ１を移動させる移動操作を検出する。表示位置変更部１６４は、移動操作検出部によって移動操作が検出された場合に、表示領域ＡＲ１に表示されるカーソルを表示部１３０における元の表示位置または元の表示位置周辺の所定の位置に維持した状態で、表示領域の表示位置を移動操作に応じて移動させる。
【０１５３】
これにより、情報処理装置１００は、カーソルを容易かつ正確に移動させることができるため、ユーザビリティを向上させることができる。
【０１５４】
また、表示位置変更部１６４は、移動操作が終了した場合に、表示領域ＡＲ１に表示されるカーソルとともに表示領域ＡＲ１の表示位置を移動前の表示位置に戻す。
【０１５５】
これにより、情報処理装置１００は、表示領域ＡＲ１を移動されることで、表示部１３０に表示されなくなったテキストや選択範囲をユーザに再び視認させることができる。
【０１５６】
また、移動操作検出部１６３は、移動操作として、第１の移動操作または第２の移動操作を検出し、表示位置変更部１６４は、第１の移動操作が終了した場合に、表示領域ＡＲ１の表示位置を第１の移動操作に応じて移動させた後の表示位置のままとし、第２の移動操作が終了した場合に、表示領域ＡＲ１に表示されるカーソルとともに表示領域ＡＲ１の表示位置を移動前の表示位置に戻す。
【０１５７】
これにより、情報処理装置１００は、選択範囲を自在に設定させることができるとともに、選択モード中でも、自由にテキストを閲覧させることができる。
【０１５８】
また、表示位置変更部１６４は、表示領域ＡＲ１に含まれる文字における所定の位置にカーソルが位置するように、表示領域ＡＲ１の表示位置を移動操作に応じて移動させる。
【０１５９】
これにより、情報処理装置１００は、テキスト編集にかかるユーザの利便性を考慮して、カーソルを移動させることができるため、テキスト編集に対するユーザの満足度を高めることができる。
【０１６０】
また、表示位置変更部１６４は、移動操作に応じた表示領域ＡＲ１の移動量が所定値より大きい場合には、表示部１３０内の元の表示位置または元の表示位置周辺の所定の位置であって、表示領域ＡＲ１内に含まれる形態素の間にカーソルを維持した状態で、表示領域ＡＲ１の表示位置を移動させる。
【０１６１】
これにより、情報処理装置１００は、テキスト編集に対するユーザの満足度を高めることができる。
【０１６２】
また、表示位置変更部１６４は、移動操作に応じた表示領域ＡＲ１の移動量が所定値より小さい場合には、表示部１３０における元の表示位置または元の表示位置周辺の所定の位置であって、表示領域ＡＲ１に含まれる各文字の間にカーソルを維持した状態で、表示領域ＡＲ１の表示位置を移動させる。
【０１６３】
これにより、情報処理装置１００は、テキスト編集に対するユーザの満足度を高めることができる。
【０１６４】
また、表示位置変更部１６４は、表示領域ＡＲ１の表示位置を移動操作に応じて移動させる場合に、表示部１３０における元の表示位置または元の表示位置周辺の所定の位置に維持させるカーソル周辺を強調表示する。
【０１６５】
これにより、情報処理装置１００は、範囲選択において、終点となるカーソルをユーザが見失うことを防止することができる。
【０１６６】
また、表示位置変更部１６４は、表示部１３０における元の表示位置または元の表示位置周辺の所定の位置に維持させるカーソル周辺の文字を拡大することでカーソル周辺を強調表示する。
【０１６７】
これにより、情報処理装置１００は、範囲選択において、終点となるカーソルをユーザが見失うことを防止することができる。
【０１６８】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１６９】
また、上述してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、表示位置変更部は、表示位置変更手段や表示位置変更回路に読み替えることができる。
【符号の説明】
【０１７０】
１００  情報処理装置
１３０  表示部
１４０  制御部
１６０  表示制御部
１６１  切替検出部
１６２  カーソル制御部
１６３  移動操作検出部
１６４  表示位置変更部
１６５  範囲選択部
１７０  記憶部
１７２  カーソル位置記憶部
１７３  選択範囲記憶部
【要約】
【課題】ユーザビリティを向上させること。
【解決手段】本願にかかる情報処理装置は、カーソル制御部と、表示位置変更部と、範囲選択部とを有する。カーソル制御部は、表示部に表示される表示領域に含まれる文字を選択するための選択モードに切り替える切替操作が検出された場合に、表示領域に表示されるカーソルとは異なるカーソルを表示領域に表示させる。表示位置変更部は、選択モードにおいて、表示領域を移動させる移動操作が検出された場合に、一方のカーソルを表示部における元の表示位置または元の表示位置周辺の所定の位置に維持した状態で、他方のカーソルとともに表示領域の表示位置を移動操作に応じて移動させる。範囲選択部は、表示位置変更部によって表示領域の表示位置が移動された後における一方のカーソルと他方のカーソルとの間を選択範囲とする。
【選択図】図１【図２】
0005906344.tif 000002
【図４】
0005906344.tif 000003
【図５】
0005906344.tif 000004
【図６】
0005906344.tif 000005
【図８Ａ】
0005906344.tif 000006
【図８Ｂ】
0005906344.tif 000007
【図１１】
0005906344.tif 000008
【図１】
0005906344.tif 000009
【図３Ａ】
0005906344.tif 000010
【図３Ｂ】
0005906344.tif 000011
【図７】
0005906344.tif 000012
【図９】
0005906344.tif 000013
【図１０】
0005906344.tif 000014