(57)【要約】【課題】ユーザが文字入力インタフェースでキャレットを移動させる際に、移動元と移動先の関係をユーザに通知することができる表示装置を提供する。【解決手段】表示装置は、表示画面に表示された文字列を編集する際の編集位置を示すキャレットを表示する。また、キャレットが示す編集位置（第１の位置）と、この編集位置を移動させる操作を受け付けたときの移動先位置（第２の位置）とを取得する。キャレットが第１の位置から第２の位置に移動するときのキャレットの表示方法を第１及び第２の位置に基づいて決定する。決定された表示方法に応じて、キャレットを移動させる際のキャレットの表示状態を制御する。【選択図】図３
2018169970.tif 000002
【特許請求の範囲】
【請求項１】
受け付けた文字情報を表示画面に表示する表示装置であって、
前記表示画面に表示された文字情報を編集する際の編集位置を示す指示手段と、
前記指示手段が示す編集位置を第１の位置として取得し、当該編集位置を移動させる操作を受け付けたときの当該指示手段の移動先を第２の位置として取得する取得手段と、
前記指示手段が前記第１の位置から前記第２の位置に移動するときの当該指示手段の表示方法を当該第１及び第２の位置に基づいて決定する決定手段と、
前記決定された表示方法に応じて、前記指示手段を移動させる際の当該指示手段の表示状態を制御する制御手段と、を有することを特徴とする、
表示装置。
【請求項２】
前記表示方法は、前記指示手段が前記第１の位置から前記第２の位置まで移動するときに当該指示手段の表示を変化させる表示方法であることを特徴とする、
請求項１に記載の表示装置。
【請求項３】
前記指示手段の表示を変化させる表示方法は、当該指示手段の透明度、又は、その色を変える表示方法であることを特徴とする、
請求項２に記載の表示装置。
【請求項４】
前記指示手段の表示を変化させる表示方法は、当該指示手段の形状を変える表示方法であることを特徴とする、
請求項２に記載の表示装置。
【請求項５】
前記文字情報は、書字方向が異なる文字を含む文字列であり、
前記決定手段は、前記第１の位置が存在する書字方向の文字列とは異なる書字方向の文字列に前記第２の位置が存在する場合、前記指示手段が前記第１の位置から前記第２の位置まで移動する間は当該指示手段の透明度を所定の割合に設定して表示させる表示方法に決定することを特徴とする、
請求項１に記載の表示装置。
【請求項６】
前記決定手段は、前記取得手段が取得した前記第１の位置と前記第２の位置が同じ位置である場合、当該第１又は第２の位置で前記指示手段の透明度を変化させる表示方法に決定することを特徴とする、
請求項１に記載の表示装置。
【請求項７】
前記文字情報は、前記表示画面上に複数行で表示される文字列であり、
前記決定手段は、前記第１の位置が存在する文字列の行に隣接する行の文字列に前記第２の位置が存在する場合、前記指示手段を表示した状態で当該第１の位置から当該第２の位置までこれらの行間を移動させる表示方法に決定することを特徴とする、
請求項１に記載の表示装置。
【請求項８】
前記文字情報は、前記表示画面上の複数の領域において表示される文字列であり、
前記決定手段は、前記第１の位置が存在する文字列の領域に隣接する領域の文字列に前記第２の位置が存在する場合、前記指示手段を表示した状態で当該第１の位置から当該第２の位置まで移動させる表示方法に決定することを特徴とする、
請求項１に記載の表示装置。
【請求項９】
前記指示手段は、前記表示画面上に表示されるキャレットであることを特徴とする、
請求項１乃至８いずれか一項に記載の表示装置。
【請求項１０】
表示装置の表示方法であって、
受け付けた文字情報を表示画面に表示する工程と、
前記表示画面に表示された文字情報を編集する際の編集位置を示す表示を前記表示画面上に表示する工程と、
前記表示が示す編集位置を第１の位置として取得し、当該編集位置を移動させる操作を受け付けたときの当該表示の移動先を第２の位置として取得する工程と、
前記表示が前記第１の位置から前記第２の位置に移動するときの当該表示の表示方法を当該第１及び第２の位置に基づいて決定する決定手段と、
前記決定された表示方法に応じて、前記表示を移動させる際の当該表示の表示状態を制御する工程と、を有することを特徴とする、
表示装置の表示方法。
【請求項１１】
表示画面を有するコンピュータを表示装置として動作させるためのコンピュータプログラムであって、
前記コンピュータを、
受け付けた文字情報を前記表示画面に表示する表示手段、
前記表示画面に表示された文字情報を編集する際の編集位置を示す指示手段、
前記指示手段が示す編集位置を第１の位置として取得し、当該編集位置を移動させる操作を受け付けたときの当該指示手段の移動先を第２の位置として取得する取得手段、
前記指示手段が前記第１の位置から前記第２の位置に移動するときの当該指示手段の表示方法を当該第１及び第２の位置に基づいて決定する決定手段、
前記決定された表示方法に応じて、前記指示手段を移動させる際の当該指示手段の表示状態を制御する制御手段、として機能させることを特徴とする、
コンピュータプログラム。
【請求項１２】
請求項１１に記載のコンピュータプログラムをコンピュータが読み取り可能に記憶した記憶媒体。
【請求項１３】
情報処理装置であって、
入力された文字情報を文字列として表示画面に表示する表示手段と、
前記表示画面に表示された文字列を編集する際の編集位置を示す指示手段と、
前記指示手段が示す編集位置を第１の位置として取得し、当該編集位置を移動させる操作を受け付けたときの当該指示手段の移動先を第２の位置として取得する取得手段と、
前記指示手段が前記第１の位置から前記第２の位置まで移動するときの当該指示手段の表示方法を当該第１及び第２の位置に基づいて決定する決定手段と、
前記決定された表示方法に応じて、前記指示手段が移動する際の当該指示手段の表示状態を制御する制御手段と、を有することを特徴とする、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文字列中にキャレットを表示する技術に関する。
【背景技術】
【０００２】
例えば、ユーザからの入力を受付可能に構成された各種機器のグラフィック・ユーザ・インタフェース（Ｇｒａｐｈｉｃａｌ Ｕｓｅｒ Ｉｎｔｅｒｆａｃｅ：以下、ＧＵＩと称す）には、任意の文字列が入力可能な文字入力インタフェースがある。この文字入力インタフェースでは、例えばユーザが文字列を編集する際に、この編集文字列中の編集位置（文字を挿入する文字挿入位置）を示すキャレットを表示するものがある。
【０００３】
例えば、キャレットの表示を切り替える際に文字列操作による結果を事前にユーザが判別しやすくするために、当該キャレットの形状を変更するものがある（例えば、特許文献１）。
具体的には、キャレットが表示された位置（以下、キャレット位置と称す）において、例えばＢａｃｋ Ｓｐａｃｅキーによって削除される文字の方向、Ｄｅｌｅｔｅキーによって削除される文字の方向を当該キャレットの形状を変更する。
これにより、キャレットの形状変更が通知されたユーザは、文字列操作による結果を事前判別しやすくなる、というものである。また、あるいはキャレット位置に文字が挿入可能であるか否かをキャレットの形状を変更することによってユーザに通知したりする。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２４５１７７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、ユーザは文字入力インタフェースを介してキャレットを移動させながら編集作業を行う際に、時としてキャレットがユーザにとって予想外の移動をすることがある。このような場合ユーザはキャレットを見失ってしまい、混乱してしまうことがある、という課題が残る。
【０００６】
例えば、アラビア語の文章中に英単語が含まれていた場合、アラビア語は書字方向が右から左、英単語は書字方向が左から右であり、書字方向が混在した文字列となる（双方向テキスト）。この場合、キャレットは通常書字方向に移動するがアラビア語と英単語の境界ではキャレットが大きく移動することがある。
また、段組み文書において編集を行う場合、キャレットが段を跨いで移動する際に当該キャレットが大きく移動する。このように、ユーザが注視している視野の中心から離れた位置にキャレットが大きく移動するとユーザはキャレットを見失う可能性が高まる、という問題が残る。
【０００７】
また、文字列中に制御文字や特殊な文字（ＺＷＳＰ：ゼロ幅スペース）が含まれている場合、その文字は描画されない。しかし、その文字の位置からキャレットの移動を指示した場合、キャレットが見た目にその場所で留まっているように見えるため移動しないことがある。この場合、ユーザは、キャレットが移動しなかったのはキャレット移動指示が伝わっていないのではないかと誤解を生じさせてしまう、という問題も残る。
【０００８】
本発明は、ユーザが文字入力インタフェースでキャレットを移動させる際に、移動元と移動先の関係をユーザに通知することができる表示装置を提供することを、主たる目的とする。
【課題を解決するための手段】
【０００９】
本発明は、受け付けた文字情報を表示画面に表示する表示装置であって、前記表示画面に表示された文字情報を編集する際の編集位置を示す指示手段と、前記指示手段が示す編集位置を第１の位置として取得し、当該編集位置を移動させる操作を受け付けたときの当該指示手段の移動先を第２の位置として取得する取得手段と、前記指示手段が前記第１の位置から前記第２の位置に移動するときの当該指示手段の表示方法を当該第１及び第２の位置に基づいて決定する決定手段と、前記決定された表示方法に応じて、前記指示手段を移動させる際の当該指示手段の表示状態を制御する制御手段と、を有することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、文字入力インタフェースでキャレットを移動させる際に、キャレットの移動元と移動先の関係を容易に把握することが可能となる。そのため、文字入力インタフェースの操作性を向上させることができる。
【図面の簡単な説明】
【００１１】
【図１】本実施形態に係る表示装置のハードウェア構成の一例を示す図。
【図２】表示装置の機構構成の一例を説明するための図。
【図３】表示装置が行う制御処理の手順の一例を示すフローチャート。
【図４】（ａ）、（ｂ）、（ｃ）は、文字入力インタフェースが１行入力機能有する文字入力インタフェースである場合のキャレットの表示とその移動の様子を説明するための図。
【図５】図３に示すステップＳ３０４の処理の詳細を説明するためのフローチャート。
【図６】（ａ）〜（ｅ）は、キャレットの移動に伴い、表示方法Ｃに基づいて当該キャレットの表示が制御される様子を説明するための図。
【図７】（ａ）〜（ｇ）は、キャレットの移動に伴い、表示方法Ｄに基づいて当該キャレットの表示が制御される様子を説明するための図。
【図８】（ａ）〜（ｆ）は、キャレットの移動に伴い、表示方法Ａに基づいて当該キャレットの表示が制御される様子を説明するための図。
【図９】（ａ）、（ｂ）、（ｃ）は、キャレットの移動に伴い、表示方法Ｂ、Ｅに基づいて当該キャレットの表示が制御される様子を説明するための図。
【発明を実施するための形態】
【００１２】
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に関る本発明を限定するものではなく、また、本実施の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。
【００１３】
［実施形態例］
図１は、本実施形態に係る表示装置のハードウェア構成の一例を示す図である。
表示装置１００は、バス１０１、ＣＰＵ（Central Processing Unit）１０２、ＲＯＭ（Read Only Memory）１０３、ＲＡＭ（Random Access Memory）１０４、文字入力インタフェース１０５を含んで構成される。
【００１４】
ＣＰＵ１０２は、表示装置１００が有する各構成機器を統括的に制御する。ＲＯＭ１０３は、オペレーティングシステム（ＯＳ）、ＣＰＵ１０２が実行する各種プログラム、パラメータなどを格納する。ＲＡＭ１０４は、例えばＳＤＲＡＭ、ＤＲＡＭなどによって構成され、外部装置などから供給されるプログラムやデータを一時記憶する。
【００１５】
文字入力インタフェース１０５は、例えばユーザがキーボードを介して入力した任意の文字、あるいは文字列等が表示されるディスプレイ（表示画面）である。文字入力インタフェース１０５は、文字やキャレット等が表示される表示手段として機能する。
なお、ＣＰＵ１０２、ＲＯＭ１０３、ＲＡＭ１０４、文字入力インタフェース１０５は、システムバスであるバス１０１を介して接続される。
【００１６】
また、本実施形態においては、本発明を表示装置１００に適用した場合を例に挙げて説明するが、例えば文字等を含む各種情報を表示する表示部を有する情報処理装置に本発明を適用することもできる。
【００１７】
図２は、表示装置１００の機構構成の一例を説明するための図である。
なお、表示装置１００が有する各機能部は、ＣＰＵ１０２がＲＯＭ１０３に格納されたプログラムをＲＡＭ１０４に展開して各種処理を実行することにより実現される。
また例えば、ＣＰＵ１０２を用いたソフトウェア処理の代替としてハードウェアを構成する場合には、ここで説明する各機能部の処理に対応させた演算部や回路を構成すればよい。
【００１８】
キャレット操作取得部２０１は、ユーザが行った操作に伴って、編集位置（文字を挿入する文字挿入位置））を示すキャレットの移動指示（キャレット操作）をイベント情報として取得する。なお、キャレットは、文字入力インタフェース上に表示された文字列（文字情報）を編集する際の編集位置を示す指示手段として機能する。
キャレット位置取得部２０２は、キャレットの現在位置（第１の位置）を表す位置情報を取得する。
キャレット移動先取得部２０３は、ユーザのキャレット操作に応じて当該キャレットの移動先位置（第２の位置）を表す位置情報を取得する。
キャレット表示方法決定部２０４は、キャレットの現在位置と移動先位置に基づいて、当該キャレットの表示方法を決定する。
キャレット表示実行部２０５は、決定された表示方法に基づいて文字入力インタフェース上にキャレットを表示する。
次に、表示装置１００の文字処理の処理手順について説明する。
【００１９】
図３は、表示装置１００が行う制御処理の手順の一例を示すフローチャートである。
以下、図３に示すフローチャートを用いて、表示装置１００が行う文字処理の詳細について説明する。なお、図３に示す各処理は、主としてＣＰＵ１０２により実行される。
【００２０】
また、図４は、文字入力インタフェース１０５が１行入力機能を有する文字入力インタフェース（以下、文字入力インタフェース４０１と称す）である場合のキャレット（図４に示すキャレット４０２）の表示とその移動の様子を説明するための図である。なお、図４（ａ）〜（ｃ）には、文字入力インタフェース４０１にアラビア語と数字が混在した文章が表示されている様子を示している。
【００２１】
図３に示すように、ＣＰＵ１０２は、キャレット操作取得部２０１を介して、ユーザが行ったキャレットの移動指示（キャレット操作）を取得する（Ｓ３０１）。
キャレット操作は、例えばユーザがキーボードの方向キー（カーソル移動キー）を押下する操作であり、この操作をＣＰＵ１０２はイベント情報として取得する。ここでは、キャレットを書字方向に移動させる操作（イベント情報）を取得したものとして説明を進める。
【００２２】
ＣＰＵ１０２は、キャレット位置取得部２０２を介して、キャレットの現在位置を表す位置情報（第１の位置情報）を取得する（Ｓ３０２）。
例えば、図４（ａ）に示すように、文字入力インタフェース４０１にアラビア語と数字が混在した文章が表示されているとする。先述したように、アラビア語では書字方向が右から左へと向かう。この場合、キャレットの位置が文章の先頭であるとすると、ステップＳ３０２の処理では図４（ａ）に示すキャレット４０２の位置を表す位置情報が取得されることになる。
【００２３】
ＣＰＵ１０２は、キャレット移動先取得部２０３を介して、ユーザのキャレット操作に応じて当該キャレットを移動させた際の移動先位置を表す位置情報（第２の位置情報）を取得する（Ｓ３０３）。
具体的には、ステップＳ３０３の処理において取得されるキャレットの移動先の位置情報は、図４（ｂ）に示すキャレット移動先４０３の位置情報となる。
【００２４】
ＣＰＵ１０２は、キャレット表示方法決定部２０４を介して、キャレットの現在位置（第１の位置）の位置情報と移動先位置（第２の位置）の位置情報に基づいて、当該キャレットの表示方法を決定する（Ｓ３０４）。以下、本処理の詳細については、図５を用いて説明する。
【００２５】
図５は、図３に示すステップＳ３０４の処理の詳細を説明するためのフローチャートである。
ＣＰＵ１０２は、キャレットの移動先が同一行の隣接する１文字分であるか否かを判別する（Ｓ５０１）。例えば、図４（ｂ）に示すような場合であれば、同一行で１文字分の移動となる。この場合、ＣＰＵ１０２は、キャレットの移動先が同一行の隣接する１文字分であると判別（Ｓ５０１：Ｙｅｓ）し、キャレットの表示方法をデフォルト表示方法に決定する（Ｓ５０２）。
【００２６】
なお、デフォルト表示方法とは、システムが提供しているキャレットの移動表示方法であってもよいし、アプリケーションの設計者が決定してもよい。一般的には、現在位置のキャレットを消去するとともに、移動先にキャレットを表示する方法が多くのシステムで用いられている。
【００２７】
ＣＰＵ１０２は、キャレットの移動先が同一行の隣接する１文字分ではないと判別した場合（Ｓ５０１：Ｎｏ）、キャレットの移動先が改行による移動であるか否かを判別する（Ｓ５０３）。改行による移動であると判別した場合（Ｓ５０３：Ｙｅｓ）、ＣＰＵ１０２は、キャレットの表示方法を後述する表示方法Ａ（図８参照）に決定する（Ｓ５０４）。
【００２８】
また、そうでない場合（Ｓ５０３：Ｎｏ）、ＣＰＵ１０２は、キャレットの移動先が段組みによる移動であるか否かを判別する（Ｓ５０５）。段組みによる移動であると判別した場合（Ｓ５０５：Ｙｅｓ）、ＣＰＵ１０２は、キャレットの表示方法を後述する表示方法Ｂ（図９参照）に決定する（Ｓ５０６）。
【００２９】
ＣＰＵ１０２は、キャレットの移動先が段組みによる移動でないと判別した場合（Ｓ５０５：Ｎｏ）、キャレットの移動先が双方向文字列の境界であるか否かを判別する（Ｓ５０７）。
なお、双方向文字列とは、例えばアラビア語の文章中に数字などが含まれている場合など、それぞれの書字方向が異なる文字を含む文字列である。
【００３０】
例えば、図４（ｃ）に示すように、アラビア語と数字が混在した文章中のキャレット４０２の現在位置が位置４０４であるとする。
なお、位置４０４に存在するキャレット４０２は、その左側に隣接する文字（数字）「０」の後ろに位置するキャレットであると解釈することも可能である。しかしながら、ここでは位置４０４に存在するキャレット４０２の右側に隣接するスペース文字４０６の後ろ（アラビア語では書字方向が右から左へと向かう）に位置するものとして説明を進める。
【００３１】
この場合、図３に示すステップＳ３０３の処理において取得されるキャレットの移動先は、書字方向（数字は書字方向が左から右）に進んだ文字の後ろの位置に移動する。そのため、位置４０４に存在するキャレット４０２の移動先位置は、図４（ｃ）に示すキャレット移動先４０５の位置が取得される。このような場合、ＣＰＵ１０２は、キャレットの移動先が双方向文字列の境界であると判別する。
【００３２】
図５の説明に戻り、ＣＰＵ１０２は、キャレットの移動先が双方向文字列の境界であると判別した場合（Ｓ５０７：Ｙｅｓ）、キャレットの表示方法を後述する表示方法Ｃ（図６参照）に決定する（Ｓ５０８）。
【００３３】
また、そうでない場合（Ｓ５０７：Ｎｏ）、ＣＰＵ１０２は、特殊な文字によりキャレットが移動しないものであるか否かを判別する（Ｓ５０９）。特殊な文字によりキャレットが移動しないと判別した場合（Ｓ５０９：Ｙｅｓ）、ＣＰＵ１０２は、キャレットの表示方法を後述する表示方法Ｄ（図７参照）に決定する（Ｓ５１０）。また、そうでない場合（Ｓ５０９：Ｎｏ）、ＣＰＵ１０２は、キャレットの表示方法を後述する表示方法Ｅに決定する（Ｓ５１１）。表示方法Ｄ、Ｅの詳細は後述する。
【００３４】
図３の説明に戻り、ＣＰＵ１０２は、キャレット表示実行部２０５を介して、ステップＳ３０４の処理において決定した表示方法に基づいて文字入力インタフェース４０１上にキャレットを表示する（Ｓ３０５）。
ＣＰＵ１０２は、文字列の編集が終了したか否かを判別する（Ｓ３０６）。終了していないと判別した場合（Ｓ３０６：Ｎｏ）、ステップＳ３０１に処理に戻る。また、そうでない場合（Ｓ３０６：Ｙｅｓ）、一連の処理を終了する。
【００３５】
ここで、先述した表示方法Ｃについて、図６を用いて説明する。
図６は、キャレットの移動に伴い、表示方法Ｃに基づいて当該キャレットの表示が制御される様子を説明するための図である。
図６（ａ）は、図３に示すステップＳ３０５の処理に進んだ時点におけるキャレット４０２の表示状態を示している。
なお、文字入力インタフェース４０１上に表示されるキャレット４０２は、初期状態では不透明色であるとする。また、図６（ａ）に示すキャレット４０２の現在位置（図４（ｃ）に示す位置４０４参照）から、図６（ｅ）に示すキャレット移動先６０３（図４（ｃ）に示すキャレット移動先４０５参照）の位置までキャレット４０２を移動させるものとする。
【００３６】
図６（ｂ）に示すように、図６（ａ）に示すキャレット４０２の現在位置から次の書字方向の文字（数字）「３」の前の位置（図中に示す位置６０２）まで、キャレット４０２の透明度を所定の割合（例えば５０［％］）に設定する。そして、透明度が所定の割合に設定されたキャレット４０２を平行移動させる。
位置６０２まで移動完了後にキャレット４０２の透明度を不透明に戻して（図６（ｃ）参照）、キャレット４０２の移動先である位置６０３まで平行移動させる（図６（ｄ）〜（ｅ）参照）。表示方法Ｃに基づくキャレット４０２の表示はこのように制御される。
【００３７】
このように文字入力インタフェース上に表示されるキャレットの移動に応じて当該キャレットの表示方法を変更することにより、ユーザがキャレットを見失ってしまう事が低減され、文字入力インタフェースの操作性が向上する。
また、キャレットの移動の仕方に応じて、例えば双方向文字列の境界によるキャレット移動であり、スペース文字の次は数字「３」で、数字「３」の後ろにキャレットが移動したことをなど、当該キャレットの移動の理由を容易に認識することができる。
【００３８】
図７は、キャレットの移動に伴い、表示方法Ｄに基づいて当該キャレットの表示が制御される様子を説明するための図である。なお、文字入力インタフェース４０１上に英語文章が表示されているものとして説明を進める。
図７（ａ）は、文字入力インタフェース４０１に英語文章が表示されている様子を示している。
図７（ｂ）は、文字入力インタフェース４０１に表示されている英語文章に含まれる各文字のコードポイントの一例を示している。図７（ｂ）に示す文字列の２文字目には、コードポイントが「Ｕ＋２００Ｂ」という特殊な文字が入っている。Ｕ＋２００Ｂの文字は、特殊な文字の一例である幅がない空白文字（ＺＷＳＰ：ゼロ幅スペース）である。
【００３９】
なお、この文章の場合、ゼロ幅スペースを除去した文字列（図７（ｃ）参照）を描画した場合の文字入力インタフェース４０１上の表示結果と、これを除去する前の文字列を描画した場合の文字入力インタフェース４０１上の表示結果とは同じ表示結果となる。
以下、キャレット４０２が表示方法Ｄに基づいて移動する様子について説明する。
【００４０】
図７（ｄ）は、図３に示すステップＳ３０５の処理に進んだ時点におけるキャレット４０２の表示状態を示している。
図７（ｄ）に示すように、位置７０２（文字列の先頭）にキャレット４０２が存在する。その後、ステップＳ３０１の処理において書字方向へのキャレット操作を取得したとする。この場合、キャレット４０２は、デフォルト表示方法に基づいて位置７０３に移動することになる（図７（ｅ）参照）。
【００４１】
そして、再びステップＳ３０１の処理において書字方向へのキャレット操作を取得したとする。この場合、ステップＳ３０３の処理において取得されるキャレット４０２の移動先は位置７０３となり現在位置と同じ位置となり、ステップＳ３０２の処理において取得されるキャレット４０２の現在位置と一致することになる。
この様な場合、図５に示すステップＳ５０９の処理結果が「Ｙｅｓ」となり、キャレットの表示方法が表示方法Ｄに決定される。
【００４２】
表示方法Ｄに基づくキャレット４０２の表示制御では、位置７０３においてキャレット４０２の透明度を上げ、透明度が１００［％］になり図７（ｆ）に示すような状態になったら、再び透明度を不透明（図７（ｇ）参照）になるまで下げるように制御する。
なお、キャレット４０２の透明度の変化は、例えばアニメーションを用いて表示することができる。このようにして、表示方法Ｄに基づくキャレット４０２の表示制御が行われる。
【００４３】
このように文字入力インタフェース上に表示されるキャレットの移動に応じて当該キャレットの表示方法を変更することにより、ユーザはキャレット操作が文字入力インタフェースに正しく伝わっていることを認識することができる。ユーザは、また、キャレット位置に不可視な文字が存在していることを認識することができる。そのため、文字入力インタフェースの操作性が向上する。
【００４４】
図８は、キャレットの移動に伴い、表示方法Ａに基づいて当該キャレットの表示が制御される様子を説明するための図である。
なお、ここでは複数行入力機能に対応した文字入力インタフェース（文字入力インタフェース８０１）を用いてユーザが文章を編集している場合を例に挙げて説明する。
【００４５】
図８（ａ）は、文字入力インタフェース８０１上に平仮名文章が表示されている様子を示している。なお、図３に示すステップＳ３０５の処理に進んだ時点におけるキャレット４０２の表示状態は、文字入力インタフェース８０１上の位置８０２の位置にキャレット４０２が表示されているものとする。
そして、図３に示すステップＳ３０１の処理において書字方向へのキャレット操作を取得したとする。この場合、ステップＳ３０３の処理において取得されるキャレット４０２の移動先は、図８（ｂ）に示す位置８０３となる。
【００４６】
この場合、図５に示すステップＳ５０３の処理結果が「Ｙｅｓ」となり、キャレットの表示方法が表示方法Ａに決定される。
表示方法Ａに基づくキャレット４０２の表示では、図８（ｂ）に示すキャレット４０２の表示状態から、図８（ｃ）に示すようにキャレット４０２を書字方向に平行となる向きに回転させて行間（１行目と２行目の間）の中央に平行移動させる。
さらに、平行移動後のキャレット４０２を左方向に向けて平行移動させる。図８（ｄ）は、キャレット４０２が平行移動している途中の状態を示している。
その後、位置８０３までキャレット４０２が到達したとき（図８（ｅ）参照）、位置８０３と重なるように、キャレット４０２を書字方向に垂直となる向きに回転させる。このようにして、表示方法Ａに基づくキャレット４０２の表示制御が行われる。
【００４７】
なお、行間の中央を平行移動させるのは、キャレットの見やすさを考慮したものである。この他にも、例えばキャレットの色を変えるなどして移動させるようにしても同様の効果を得ることができる。
また、行間が詰まっている場合、あるいは１行が非常に長い場合などには、ユーザが次の行を見つけるのが困難となるケースがある。また、１行の文字が複数のディスプレイに跨って表示されている場合、ディスプレイ間に表示されない領域があるためその場所で行が途切れてしまうことになる。
このような場合であっても、文字入力インタフェース上に表示されるキャレットの移動に応じて当該キャレットの表示方法を変更することにより、ユーザは改行によるキャレットの移動先を容易に見つけることができる。
【００４８】
なお、本実施形態では、改行のときの表示方法を一意に決定したが、先述のようにユーザが次の行を見つけるのが困難となるケースであるかどうかを判断し、困難でなければデフォルト表示方法に決定するように制御してもよい。
【００４９】
図９は、キャレットの移動に伴い、表示方法Ｂに基づいて当該キャレットの表示が制御される様子を説明するための図である。
なお、ここでは段組み機能に対応した文字入力インタフェース（文字入力インタフェース９０１）を用いてユーザが文章を編集している場合を例に挙げて説明する。
【００５０】
図９（ａ）は、文字入力インタフェース９０１上に日本語の文字列が表示されている様子を示している。なお、文字入力インタフェース９０１は、例えば２つの領域（領域９０５と領域９０６）を有しており段組みを構成しているものとする。また、文字入力インタフェースの段組み機能は２つの段組みに限るものではない。
【００５１】
また、図９（ａ）に示すように、図３に示すステップＳ３０５の処理に進んだ時点におけるキャレット４０２の表示状態は、文字入力インタフェース９０１上の位置９０３の位置にキャレット４０２が表示されているものとする。
なお、領域９０５の文字列の末尾と領域９０６の文字列の先頭は論理的につながっているものとする。
【００５２】
そして、図３に示すステップＳ３０１の処理において書字方向のキャレット操作を取得したとする。この場合、ステップＳ３０２の処理においてキャレット４０２の現在位置として位置９０３が取得される。
また、ステップＳ３０３の処理において取得されるキャレット４０２の移動先は位置９０４が取得される。つまり、キャレット４０２を位置９０３から位置９０４まで移動させることになる。
【００５３】
この場合、図５に示すステップＳ５０５の処理結果が「Ｙｅｓ」となり、キャレットの表示方法が表示方法Ｂに決定される。
表示方法Ｂに基づくキャレット４０２の表示では、図９（ａ）に示すキャレット４０２の表示状態から、キャレット４０２の表示を維持しつつ、図９（ｂ）に示すように文字入力インタフェース９０１上でキャレット４０２を移動させる。そして、図９（ｃ）に示すようにキャレット４０２が位置９０４に到達したときに当該キャレット４０２の移動を停止させる。
【００５４】
このように文字入力インタフェース上に表示されるキャレットの移動に応じて当該キャレットの表示方法を変更することにより、段組み表示の場合などキャレットの移動が大きいときでも当該キャレットの動きをユーザが追従できるようになる。そのため、ユーザがキャレットの動きを見失いにくくなり、操作性を向上させることができる。
【００５５】
なお、本実施形態では、ステップＳ３０１の処理において取得するキャレット操作を書字方向に向かう移動であるとして説明したが、キャレット操作の種類はこれに限るものではない。例えば、書字方向と逆方向であってもよい。
【００５６】
また、多くのハードウェアキーボードに搭載されているＨｏｍｅキー、Ｅｎｄキー、ＰａｇｅＵｐキー、ＰａｇｅＤｏｗｎキーによるキャレット操作であってもよい。
なお、この様なキャレット操作の場合、図５に示すステップＳ５０９の処理結果が「Ｎｏ」となり、キャレットの表示方法が表示方法Ｅに決定される。
これらのキーによるキャレット操作は、一般的に当該キャレットの移動距離が大きくなり移動先もそれぞれ異なる。そのため、表示方法Ｅでは、キャレット操作によるそれぞれのキャレット移動先位置と現在位置との関係に応じて表示方法を切り替えるように構成してもよい。
【００５７】
また、キャレットを移動させるキーを押し続けることにより当該キーの入力が連続入力された場合、キャレットの表示方法を切り替えるように構成してもよい。例えば、アニメーションの時間を短縮する、あるいはデフォルト表示方法に決定するなどとしてもよい。
なお、キャレット表示方法は、好適な例として示したものであるが、他の表示方法であってもよい。例えば、色を変化させるように構成してもよく、さらにキャレットの移動と組み合わせてもよい。また、キャレットの形状を変化させてもよい。
【００５８】
このように、本実施形態に係る表示装置１００では、文字入力インタフェース上でキャレットを移動させる際に、キャレットの移動元と移動先の関係を容易に把握することが可能となる。そのため、文字入力インタフェースの操作性を向上させることができる。
【００５９】
本発明は、上述の実施形態の１以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける１つ以上のプロセッサーがコンピュータプログラムを読出し実行する処理でも実現可能である。また、１以上の機能を実現する回路（例えば、ＡＳＩＣ）によっても実現可能である。
【００６０】
上記説明した実施形態は、本発明をより具体的に説明するためのものであり、本発明の範囲が、これらの例に限定されるものではない。
【図１】
2018169970.tif 000003
【図２】
2018169970.tif 000004
【図３】
2018169970.tif 000005
【図４】
2018169970.tif 000006
【図５】
2018169970.tif 000007
【図６】
2018169970.tif 000008
【図７】
2018169970.tif 000009
【図８】
2018169970.tif 000010
【図９】
2018169970.tif 000011