(57)【要約】【課題】タッチパネルを備える情報処理装置において、ユーザが入力した文字列を視認しやすく、選択された文字列に対する処理を行うためのメニューを表示すること。【解決手段】本発明における情報処理装置は、ユーザによって文字列の入力を受け付けることで、文書を作成するための情報処理装置であって、ユーザからの文字列の選択を受け付け、選択を受け付けた文字列の配列方向を特定する。特定した方向にメニューを表示させないよう、メニューの表示を制御する。メニューによって文字列が覆われることなく、文字列を視認しながらメニューを選択することができる。【選択図】図１０
2016181053.tif 000002
【特許請求の範囲】
【請求項１】
ユーザから文字列の選択を受け付ける選択受け付け手段と、
選択受け付け手段で選択を受け付けた文字列の配列方向を特定する方向特定手段と、
前記方向特定手段で特定した配列方向にユーザから操作を受け付けることが可能なメニューを表示させず、当該配列方向以外の方向にはメニューを表示するよう制御するメニュー表示制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記選択受け付け手段で選択を受け付けた文字列の、前記情報処理装置の表示領域の位置を特定する位置特定手段を更に備え、
前記メニュー表示制御手段は、前記位置特定手段で特定した前記表示領域の位置に応じて表示するメニューを制御すること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記メニュー表示制御手段は、選択した文字列を中心として放射状にメニューを表示させること
を特徴とする請求項１または２に記載の情報処理装置。
【請求項４】
情報処理装置の選択受け付け手段が、ユーザから文字列の選択を受け付ける選択受け付けステップと、
前記情報処理装置の方向特定手段が、前記選択受け付けステップで選択を受け付けた文字列の配列方向を特定する方向特定ステップと、
前記情報処理装置のメニュー表示制御手段が、前記方向特定ステップで特定した配列方向にユーザから操作を受け付けることが可能なメニューを表示させず、当該配列方向以外の方向にはメニューを表示するよう制御するメニュー表示制御ステップと
を備えることを特徴とする情報処理装置の制御方法。
【請求項５】
情報処理装置を、
ユーザから文字列の選択を受け付ける選択受け付け手段と、
選択受け付け手段で選択を受け付けた文字列の配列方向を特定する方向特定手段と、
前記方向特定手段で特定した配列方向にユーザから操作を受け付けることが可能なメニューを表示させず、当該配列方向以外の方向にはメニューを表示するよう制御するメニュー表示制御手段と
として機能させることを特徴とする情報処理装置で実行可能なプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
ユーザが入力した文字を視認しやすいメニューを表示することの可能な情報処理装置、その制御方法、及びプログラムに関する。
【背景技術】
【０００２】
スマートフォンやタブレット端末をはじめとするタッチパネルを備える携帯型の情報処理装置では、物理的なボタンを介した操作ではなく、タッチパネル上に表示されたボタンのタッチを受け付けることでユーザからの操作を受け付けている。例えば、物理的なキーボードではなく、タッチパネル上に表示されたソフトウェアキーボードに対するタッチ操作を受け付けることで文字入力を受け付けることを可能としている。
【０００３】
物理的な入力用のキーボードを備えるクライアントＰＣで従来行われていた文書作成が、近年では上述したスマートフォンやタブレット端末などのタッチパネルを備える携帯型の情報処理装置を用いて行われることが多くなっている。
【０００４】
そのため、タッチパネルへのタッチ操作による文書作成を補助するための仕組みが様々に考えられている。
【０００５】
例えば、下記の特許文献１には、文字列の変換候補として推測する複数の変換候補を表示する仕組みであり、ユーザが閉曲線状の軌跡の入力を行うと、１つの変換候補を順次入れ替えながら表示することの可能な仕組みが開示されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１１−１１８５０７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記特許文献１で開示されている仕組みでは、変換を行っている文字列以外の文字列が上記の複数の候補文字列で覆われてしまう。そのため、文字列の複数の変換候補（メニュー）を表示している際に、文字列の選択範囲を変更しようとユーザが思っても表示されたメニューが邪魔となってしまい文字列の選択範囲を変更することができない。
【０００８】
また、メニューを表示していても文字列の選択を可能とするために、文字列が表示されている領域以外の領域に変換候補などのメニューを表示させたいが、上述した携帯型の情報処理装置はマウスなどの入力装置を備えるクライアントＰＣに比べて表示画面が小さい。そのうえ、ユーザから文字の入力を受け付けるためにタッチパネル上にソフトウェアキーボードを表示しなければならないため、タッチパネルにメニューを表示することの可能な領域を確保することが難しい。
【０００９】
そこで、本発明は、ユーザが入力した文字列を視認しやすいメニューを表示することを目的とする。
【課題を解決するための手段】
【００１０】
そこで、本発明の情報処理装置は、ユーザから文字列の選択を受け付ける選択受け付け手段と、選択受け付け手段で選択を受け付けた文字列の配列方向を特定する方向特定手段と、前記方向特定手段で特定した配列方向にユーザから操作を受け付けることが可能なメニューを表示させず、当該配列方向以外の方向にはメニューを表示するよう制御するメニュー表示制御手段とを備えることを特徴とする。
【発明の効果】
【００１１】
本発明によれば、ユーザが入力した文字列を視認しやすいメニューを表示することができる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態における情報処理装置１００のハードウェア構成の一例を示すブロック図である。
【図２】本発明の実施形態における機能ブロック図である。
【図３】本発明の実施形態における一連の処理の流れを示すフローチャートである。
【図４】図３に引き続き本発明の実施形態における一連の処理の流れを示すフローチャートである。
【図５】文字列選択画面５００の一例を示す図である。
【図６】メニュー表示画面６００の一例を示す図である。
【図７】メニュー選択画面７００の一例を示す図である。
【図８】反映後画面８００の一例を示す図である。
【図９】メニューデータイメージ横書き版９００の一例を示す図である。
【図１０】メニューデータイメージ縦書き版１０００の一例を示す図である。
【図１１】メニューテーブル１１００の一例を示すデータテーブルである。
【図１２】編集エリアテーブル１２００の一例を示すデータテーブルである。
【図１３】タッチ位置管理テーブル１３００の一例を示すデータテーブルである。
【図１４】メニュー定義テーブル１４００の一例を示すデータテーブルである。
【発明を実施するための形態】
【００１３】
以下、図面を参照して本発明の実施形態を詳細に説明する。
【００１４】
図１は、情報処理装置１００のハードウェア構成を示す図である。尚、図１に示すハードウェア構成はあくまで一例であってこれに限定されない。
【００１５】
情報処理装置１００はタッチパネルを備える装置である。本実施形態では、いわゆるスマートフォンやタブレット端末のような装置を想定して説明を行うが、これに限定されない。タッチパネルを備える装置であれば、パーソナルコンピュータであってもよいし、カメラ等で取得した画像を解析することによってユーザのジェスチャーを認識することでユーザが操作可能なコンピュータであってもよい。
【００１６】
ＣＰＵ１０１は、システムバスを介してメモリやコントローラを統括的に制御する。ＲＯＭ１０２あるいはフラッシュメモリ１１４には、ＣＰＵ１０１の制御プログラムであるＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  ／  ＯｕｔｐｕｔＳｙｓｔｅｍ）やオペレーティングシステム２００が記憶されている。更には、情報処理装置１００が実行する機能を実現するために必要な、後述する各種プログラム等が記憶されている。
【００１７】
ＲＡＭ１０３は、ＣＰＵ１０１の主メモリ、ワークエリア等として機能する。ＣＰＵ１０１は、処理の実行に際して必要なプログラム等をＲＡＭ１０３にロードして、プログラムを実行することで各種動作を実現するものである。
【００１８】
ディスプレイコントローラ１０４は、ディスプレイ１１０等の表示装置への表示を制御する。ディスプレイ１１０は例えば液晶ディスプレイである。また、ディスプレイ１１０の表面にはタッチパネル１１１が備えられている。タッチパネル１１１に対するタッチ操作の検知をタッチパネルコントローラ１０５が制御する。タッチパネルコントローラ１０５は、タッチパネル１１１に対する複数の箇所に対するタッチ操作（以下、マルチタッチという。）も検知することが可能である。
【００１９】
カメラコントローラ１０６は、カメラ１１２における撮影を制御する。カメラ１１２はデジタルカメラであり、カメラコントローラ１０６からの制御で撮像した画像を撮像素子でデジタルデータに変換する。カメラ１１２は静止画と動画を撮影することが可能である。
【００２０】
センサコントローラ１０７は、情報処理装置１００が備える各種センサ１１３からの入力を制御する。情報処理装置１００のセンサ１１３には様々なセンサが存在し、例えば方位センサ、加速度センサ等である。
【００２１】
ネットワークコントローラ１０８は、ネットワークを介して、外部機器と接続・通信するものであり、ネットワークでの通信制御処理を実行する。例えば、ＴＣＰ／ＩＰを用いたインターネット通信等が可能である。
【００２２】
フラッシュメモリコントローラ１０９は、ブートプログラム、ブラウザソフトウエア、各種のアプリケーション、フォントデータ、ユーザファイル、編集ファイル、各種データ等を記憶するフラッシュメモリ１１４へのアクセスを制御する。本実施形態においては、フラッシュメモリとして説明を行うが、ハードディスクやフレキシブルディスク、或いはＰＣＭＣＩＡカードスロットにアダプタを介して接続されるカード型メモリ等の記憶媒体であってもよい。
【００２３】
前述したＣＰＵ１０１、各メモリ、各コントローラは、１つのチップ１１５に統合されている。いわゆるＳｏＣ（Ｓｙｓｔｅｍ  ｏｎ  Ｃｈｉｐ）の形態で情報処理装置１００の内部に備えられている。
【００２４】
尚、ＣＰＵ１０１は、例えばＲＡＭ１０３内の表示情報用領域へアウトラインフォントの展開（ラスタライズ）処理を実行することにより、ディスプレイ１１０での表示を可能としている。
【００２５】
本発明の情報処理装置１００が後述する各種処理を実行するために用いられる各種プログラム等はフラッシュメモリ１１４に記録されており、必要に応じてＲＡＭ１０３にロードされることによりＣＰＵ１０１によって実行されるものである。さらに、本発明に係わるプログラムが用いる定義ファイルや各種情報テーブルはフラッシュメモリ１１４に格納されている。以上が、本実施形態におけるハードウェア構成である。
【００２６】
図２は、本発明の実施形態における情報処理装置１００の機能ブロックを説明する図である。
【００２７】
情報処理装置１００の機能部として、記憶部２０１、表示制御部２０２、及び操作検知部２０３を備えている。これらはオペレーティングシステム２００において動作する機能部である。
【００２８】
記憶部２０１は、後述する各種テーブルの情報や各種画面、カメラ１１２で撮影することにより生成された画像データ等を構成する情報をＲＡＭ１０３やフラッシュメモリ１１４に記憶するための機能部である。必要に応じて、情報の追加・更新・削除を行う。また、後述する文書作成アプリ２１０からの要求があった場合も同様に動作する。
【００２９】
表示制御部２０２は、ディスプレイ１１０の表示を制御するための機能部である。表示制御部２０２から画面等の表示指示がなされると、ディスプレイコントローラ１０４を介してディスプレイ１１０に表示指示が送信される。そして、ディスプレイ１１０はこの指示を受信すると、指示に従って画面等を表示する。
【００３０】
操作検知部２０３は、タッチパネル１１１に対するタッチ操作を検知するための機能部である。タッチパネル１１１に対するタッチ操作の位置、タッチ操作された数等を検知することができる。
【００３１】
また、情報処理装置１００は、オペレーティングシステム２００において動作可能な文書作成アプリ２１０がインストールされている。文書作成アプリ２１０は、文書データ管理部２１１、表示制御指示部２１２、操作特定部２１３、文字入力受け付け部２１４、文字列方向特定部２１５、文字列選択位置特定部２１６、メニュー管理部２１７を備えている。
【００３２】
文書データ管理部２１１はユーザの作成した文書データを管理する機能部である。表示制御指示部２１２は操作特定部２１３で特定したユーザの操作に基づいて表示制御部２０２に対して表示制御を行うよう指示を行う機能部である。操作特定部２１３は操作検知部２０３で検知した操作に基づいて、操作内容を特定する機能部である。文字入力受け付け部２１４は操作検知部２０３で検知した操作に応じて文字入力を受け付ける機能部である。文字列方向特定部２１５は、文字列の配列方向を特定する機能部である。配列方向とは例えば左から右にというように文字列の配列方向を示す方向である。文字列選択位置特定部２１６はユーザが選択をした文字列の入力画面上の位置を特定する機能部である。メニュー管理部２１７は入力画面に表示するメニューを管理する機能部である。
【００３３】
以上で情報処理装置１００の機能部の説明を終了する。なお、上述した機能ブロックは一例であってこれに限定されない。
【００３４】
図３は、本発明の実施形態である一連の処理の流れを説明するフローチャートである。
【００３５】
ステップＳ３０１では、情報処理装置１００のＣＰＵ１０１が、文書を作成するためのアプリケーションである文書作成アプリ２１０をユーザからの指示に従って起動する。
【００３６】
ステップＳ３０２では、情報処理装置１００のＣＰＵ１０１が、ユーザから新規に文書を作成する指示を受け付ける。この際、作成する文書の文字列の配列方向の指示も併せて受け付ける。具体的には文字列の配列方向が上から下の向きの文書を作成するという指示を受け付けると、文字列の配列方向が上から下となる文書の作成が可能になる。
【００３７】
ステップＳ３０３では、情報処理装置１００のＣＰＵ１０１が、文字入力を受け付けることの可能な画面である文字入力受け付け画面を表示する。文字入力受け付け画面で文字入力を受け付けた後の状態（ステップＳ３０４の後）が、例えば図５に示す文字列選択画面５００である。文字列選択画面５００には編集エリア５０２（表示領域に相当する）があり、この編集エリア５０２内に文字列を表示させる。編集エリア５０２の大きさは図１２に示す編集エリアテーブル１２００に記憶されている。編集エリアテーブル１２００には編集エリアのＸ座標であるｘｘとＹ座標であるｙｙとが記憶されている（編集エリアの大きさ１２０１）。
【００３８】
ステップＳ３０４では、情報処理装置１００のＣＰＵ１０１が、例えばディスプレイ１１０上に表示されるソフトウェアキーボードに対するタッチ操作により文字列の入力を受け付ける。文字列の入力の受け付け方法は、これ以外に音声認識による文字入力であっても構わない。
【００３９】
ステップＳ３０５では、情報処理装置１００のＣＰＵ１０１が、タッチパネル１１１に対するタッチ操作であるタッチ（軽くタッチパネル１１１に指が触れること）のイベントを操作検知部２０３から受信したか否かを判定する。タッチのイベントを受信したと判定した場合は処理をステップＳ３０７に進め、タッチのイベントを受信しない場合は、タッチのイベントを受信するまで待機する。
【００４０】
ステップＳ３０６では、情報処理装置１００のＣＰＵ１０１が、タッチされた編集エリア５０２上の座標であるタッチされた位置１３０１をタッチ位置管理テーブル１３００に格納する。例えば図１３に示すタッチ位置管理テーブル１３００である。ここでいう座標とは、ステップＳ３０３で表示した文字入力受け付け画面の編集エリア５０２における座標であり、編集エリア５０２の左上を原点とする座標である。
【００４１】
ステップＳ３０７では、情報処理装置１００のＣＰＵ１０１が、ステップＳ３０６で記憶したタッチされた位置１３０１が文字列の上にあるか否かを判定する。文字列の上にあると判定した場合は処理をステップＳ３０８に進め、文字列の上にないと判定した場合はステップＳ３０５に処理を戻す。タッチの位置が文字列の上でない場合は、文書を作成するアプリケーションのボタンをタッチし、対応する機能を実行させる場合などがあるが本実施形態での説明は省略する。文字はそれぞれ１文字ずつ領域を持っていて、その領域の上にタッチされた位置１３０１が存在するか否かによって判定する。
【００４２】
ステップＳ３０８では、情報処理装置１００のＣＰＵ１０１が、ドラッグ動作を検知したか否かを判定する。ドラッグ動作を検知したと判定した場合は処理をステップＳ３０９に進め、そうでない場合は処理をステップＳ３０５に戻す。
【００４３】
ステップＳ３０９では、情報処理装置１００のＣＰＵ１０１が、文字範囲の選択を開始する。ドラッグ動作中のタッチの位置をタッチ位置管理テーブル１３００のドラッグ位置１３０２に記憶しており、ドラッグ動作を行った始点（タッチされた位置１３０１）とドラッグ位置１３０２が示す位置の範囲に含まれる文字列を選択する。（選択受け付け手段に相当する）ユーザに文字列の選択状態を視認可能にするため、選択された文字列の背景をグレーにする処理（図５の５０１）が文字範囲の選択である。文字範囲の選択を行った例が例えば図５に示す文字列選択画面５００であり、選択された文字列が５０１である。ステップＳ３０９〜３１３は文字列選択を受け付けるための処理を示している。
【００４４】
ステップＳ３１０では、情報処理装置１００のＣＰＵ１０１が、タッチ操作を検出しないか否かを判定する。タッチ操作を検出すると判定した場合は処理をステップＳ３１１に進め、そうでなければ処理をステップＳ３０５に戻す。すなわち、タッチ操作を検出しない場合は、ユーザが文字列の選択をやめたと判断することができる。
【００４５】
ステップＳ３１１では、情報処理装置１００のＣＰＵ１０１が、ドラッグ位置１３０２が示す位置と、ステップＳ３０６で記憶したタッチされた位置１３０１を比較した結果、位置が異なると判定した場合はステップＳ３１２に処理を進め、位置が異ならないと判定した場合はステップＳ３１３に処理を進める。位置が異ならない場合、文字を選択していないと判断することができる。
【００４６】
ステップＳ３１２では、情報処理装置１００のＣＰＵ１０１が、ドラッグ位置１３０２が示す位置と、ステップＳ３０６で記憶したタッチされた位置１３０１によって文字列選択の範囲を変更する。具体的には、文字ごとに所定の領域を持っており、ステップＳ３０６で記憶したタッチされた位置１３０１を前記領域に含む文字を文字列選択の始点として特定し（図５の「侵」）、ドラッグ位置１３０２の位置を前記領域に含む文字を文字列選択の終点（図５の「い」）とする。文字列の選択は行または列をまたぐことも可能である。文字列選択の範囲を変更したのち、処理をステップＳ３１０に処理を戻す。
【００４７】
ステップＳ３１３では、情報処理装置１００のＣＰＵ１０１が、所定時間ドラッグ動作が停止しているか否かを判定する。ドラッグ動作が停止するとは、ユーザによるタッチの移動がなくなり、同じ部分のタッチを受け付ける状態を示している。すなわち、ユーザがドラッグ動作により文字列の選択を終え、停止した状態である。所定時間はフラッシュメモリ１１４に事前に設定され記憶されているものとする。所定時間ドラッグ動作が停止していると判定した場合は処理をステップＳ３１４に進め、所定時間ドラッグ動作が停止していないと判定した場合は処理をステップＳ３１０に処理を戻す。
【００４８】
ステップＳ３１４では、情報処理装置１００のＣＰＵ１０１が、選択された文字列の範囲が、１文字以上か否かを判定する。１文字以上であると判定した場合処理を図４のステップＳ４０１に進め、１文字以上でないと判定した場合は処理をステップＳ３１０に戻す。このようにして、最低でも１文字は選択されている状態で、次の処理に進める。
【００４９】
以上で図３に示すフローチャートの説明を終了する。
【００５０】
次に図３のフローチャートの続きを図４のフローチャートを用いて説明する。
【００５１】
ステップＳ４０１では、情報処理装置１００のＣＰＵ１０１が、選択を受け付けた文字列の配列方向を特定する（方向特定手段に相当する）。例えばステップＳ３０２で受け付けた文書作成指示に含まれる文書の文字列の配列方向の情報を参照することで、選択を受け付けた文字列の配列方向を特定する。他にも情報処理装置１００の姿勢によって縦書きか横書きかを判断してもよい。具体的には、情報処理装置１００の姿勢が縦向きであれば縦書きであると判断し、情報処理装置１００の姿勢が横向きである場合には横書きであると判断してもよい。
【００５２】
ステップＳ４０２では、情報処理装置１００のＣＰＵ１０１が、ドラッグ位置１３０２を取得する（位置特定手段に相当する）。ここで取得するドラッグ位置１３０２は、ユーザが選択した文字列の編集エリア５０２上の位置であるので、編集エリア５０２のどこの文字列を選択したのかがわかる。
【００５３】
ステップＳ４０３では、情報処理装置１００のＣＰＵ１０１が、図１１に示すメニューテーブル１１００を取得する。メニューテーブル１１００はフォントの変更等が可能なメニューを管理するテーブルである。メニューテーブル１１００には、ｉｎｄｅｘ１１０１と座標データ１１０２とメニューデータ１１０３とが対応付けて記憶されている。ｉｎｄｅｘ１１０１は、メニューテーブル１１００のレコードを一意に識別するためのＩＤである。座標データ１１０２はメニューデータを決定するための編集エリア５０２上の範囲を示す条件式を示している。例えば、ｉｎｄｅｘ１１０１が「１」の座標データが示す編集エリア５０２上の範囲は、Ｘ座標が（０，０），（２０，２０）の範囲である。メニューデータ１１０３は、座標データ１１０２にドラッグ位置１３０２があるときに表示するためのメニューを一意に識別するためのメニューＩＤを記憶するものである。メニューデータには縦書き用の縦版と横書き用の横版がそれぞれある。
【００５４】
ステップＳ４０４では、情報処理装置１００のＣＰＵ１０１が、ステップＳ４０２で取得したドラッグ位置１３０２が含まれている座標データ１１０２を抽出することにより、ドラッグ位置１３０２に対応するｉｎｄｅｘ１１０１を特定する。具体的には、ドラッグ位置１３０２が（４５，３５）であった場合、Ｘ座標は２０〜８０に位置しており、かつ、Ｙ座標も２０〜８０に属しているので、対応する条件のｉｎｄｅｘ１１０１は「５」であると特定することができる。
【００５５】
ステップＳ４０５では、情報処理装置１００のＣＰＵ１０１が、ステップＳ４０４で特定したｉｎｄｅｘ１１０１のメニューデータ１１０３を、ステップＳ４０１で特定した文字列の配列方向に従って特定する。例えばステップＳ４０１で特定した文字列の配列方向が横書きだった場合は、横版のメニューデータ１１０３が「５」であると特定し、対応するメニューデータ１１０３を取得する（例えば図１１に示すメニューデータ１１０３）。
【００５６】
メニューデータ１１０３は、メニュー定義テーブル１４００にメニューの定義がされている。例えば図１４に示すメニュー定義テーブル１４００には、メニューＮｏ１４０１、機能１４０２、距離１４０３、角度１４０４が記憶されている。メニューＮｏ１４０１はメニューそれぞれの機能を一意に識別するためのＩＤである。機能１４０２はユーザに押下されることにより実行される機能を示すものであり機能を実行するためのプログラムのリンクが記憶される。距離１４０３は、ドラッグ位置１３０２からの距離を示すものである。メニューを表示する位置を距離１４０３と角度１４０４とドラッグ位置１３０２に基づいて決定する。角度１４０４は、ドラッグ位置１３０２を中心として１２時の方向を「０」として、メニューを表示するための角度を規定する。いずれも、放射状のメニューでありながら、文字列の配列方向にメニューを表示しないように設定がされている。これにより、ユーザが選択した文字列がメニューで隠されてしまうことを防ぐ効果がある。
【００５７】
ステップＳ４０６では、情報処理装置１００のＣＰＵ１０１が、ステップＳ４０５で取得したメニューを編集エリア５０２にステップＳ４０２で取得したドラッグ位置とステップＳ４０５で取得したメニューデータ１１０３のメニュー定義テーブル１４００に基づいて表示する（メニュー表示制御手段に相当する）。表示を行った例が図６に示すメニュー表示画面６００である。メニュー表示画面６００には、選択された文字列５０１とメニュー６０１が表示される。
【００５８】
図６に示すように、メニュー６０１は選択された文字列５０１の上にメニューが表示されないように設定されており、ユーザは自身が選択した文字列を視認するとともに、メニュー６０１も視認することが可能である。さらにユーザがドラッグ動作を行った編集エリア５０２の位置に応じてメニューを適切な形に切り替えることで、選択された文字列を視認することができ、かつ適切なユーザインタフェースを提供することを可能にする。具体的には、編集エリア５０２の左上の部分（図６の「今日はいい天気です」）を選択した場合には、ドラッグ位置１３０２を中心として全方向に対して放射状にメニューを表示するのではなく、メニューデータイメージ横書き版９００の『１』のメニューのように一定の範囲（１００°から１８０°の範囲）にすべてのメニューが入るように表示を行う。
【００５９】
メニューデータイメージ横書き版９００は、メニューテーブル１１００のメニューデータ１１０３（横版）を編集エリア５０２に表示した際のイメージを示している。図９に示すように、編集エリア５０２が条件によって区分けされており、区分けされた領域によって、メニューが切り替わる。いずれのメニューも文字列の配列方向にはメニューを表示させない。
【００６０】
縦書きの場合も同様である。図１０に示すメニューデータイメージ縦書き版１０００は、メニューテーブル１１００のメニューデータ１１０３（縦版）を編集エリア５０２に表示した際のイメージを示している。縦版でも、いずれのメニューは文字列の配列方向以外にメニューを表示させない。
【００６１】
ステップＳ４０７では、情報処理装置１００のＣＰＵ１０１が、次のイベントを受け付けるまで待機する。
【００６２】
ステップＳ４０８では、情報処理装置１００のＣＰＵ１０１が、選択がされたメニューがいずれの機能かを判定する。ステップＳ４０６でメニューが表示されたとき、ユーザから編集エリア５０２へのタッチを受け付けている状態（継続してタッチされている）なので、タッチしている指のドラッグ動作を受け付けることでユーザからの選択を受け付ける。例えば図６のサイズを選択する場合、左下方向のドラッグ動作を受け付けることでサイズの選択を受け付けることとする。このように表示されたメニューの選択にドラッグ動作を用いることで、文字列選択しメニューを表示させ、メニューを選択するという一連の動きとして文字列に対するメニューを選択させることを可能にする。
【００６３】
本実施例では、例としてサイズメニューと色メニュー、フォントメニューの説明を行う。サイズメニューの選択がされたと判定した場合は処理をステップＳ４０９に進める。色メニューの選択がされたと判定した場合は処理をステップＳ４１２に進める。フォントメニューの選択がされたと判定した場合には処理をステップＳ４１５に進める。メニュー以外の領域の選択がされたと判定した場合には、処理をステップＳ４１８に進める。
【００６４】
ステップＳ４０９では、情報処理装置１００のＣＰＵ１０１が、サイズ一覧のユーザインタフェース（ＵＩ）を編集エリア５０２に表示する。例えば図７に示すメニュー選択画面７００である。メニュー選択画面７００にはサイズメニューを選択されたことにより、サイズを変更することが可能なＵＩ７０１が表示されている。ユーザから更にドラッグ動作を受け付けることによりサイズの選択を受け付けることが可能である。
【００６５】
ステップＳ４１０では、情報処理装置１００のＣＰＵ１０１が、ステップＳ４０９で表示したＵＩ７０１の選択がされたか否かを判定する。ＵＩ７０１の選択がされたと判定した場合は処理をステップＳ４１１に進め、そうでない場合は、選択を受け付けるまで待機する。
【００６６】
ステップＳ４１１では、情報処理装置１００のＣＰＵ１０１が、ステップＳ４１０で選択されたと判定したサイズにステップＳ３０９〜３１２で選択された文字列に対して変更する処理を実行することにより反映する。図７で文字サイズの選択を受け付け、文字サイズの変更の反映をした後に画面の例が、図８に示す反映後画面８００である。反映後画面８００には文字サイズの変更がされた文字列８０１が表示されている。
【００６７】
ステップＳ４１２では、情報処理装置１００のＣＰＵ１０１が、ユーザから色の選択を受け付けることの可能な色一覧のＵＩを表示する。
【００６８】
ステップＳ４１３では、情報処理装置１００のＣＰＵ１０１が、ステップＳ４１２で表示されたＵＩで色が選択されたか否かを判定する。色が選択されたと判定した場合は処理をステップＳ４１４に進め、そうではなければ選択を受け付けるまで待機する。
【００６９】
ステップＳ４１４では、情報処理装置１００のＣＰＵ１０１が、ステップＳ４１３で選択された色にステップＳ３０９〜３１２で選択された文字列の色を変更する処理を行い、反映させる。
【００７０】
ステップＳ４１５では、情報処理装置１００のＣＰＵ１０１が、ユーザからフォントの選択を受け付けることの可能なフォント一覧のＵＩを表示する。
【００７１】
ステップＳ４１６では、情報処理装置１００のＣＰＵ１０１が、ステップＳ４１５で表示されたＵＩでフォントが選択されたか否かを判定する。フォントが選択されたと判定した場合は処理をステップＳ４１７に進め、そうでなければ選択を受け付けるまで待機する。
【００７２】
ステップＳ４１７では、情報処理装置１００のＣＰＵ１０１が、ステップＳ４１６で選択されたフォントに、ステップＳ３０９〜３１２で選択された文字列を変更する処理を行い、反映させる。
【００７３】
ステップＳ４１８では、情報処理装置１００のＣＰＵ１０１が、編集エリア５０２に表示されたメニューを非表示にする。メニューを非表示にすることで、例えば再度ユーザから文字列の選択を受け付けることが可能になる。
【００７４】
以上で図４に示すフローチャートの説明を終了する。
【００７５】
以上、本発明によればユーザが選択した文字列の画面上の位置に応じて放射状に表示されるメニューが切り替えることを可能にする。更に、文字列方向にはメニューを表示しないことにより、ユーザが入力した文字列を視認しやすくし、さらにユーザが再度選択することを容易にするという効果を生じる。
【００７６】
本発明は、例えば、システム、装置、方法、プログラム若しくは記憶媒体等としての実施形態も可能であり、具体的には、複数の機器から構成されるシステムに適用してもよいし、また、１つの機器からなる装置に適用してもよい。
【００７７】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接、或いは遠隔から供給するものを含む。そして、そのシステム或いは装置のコンピュータが前記供給されたプログラムコードを読み出して実行することによっても達成される場合も本発明に含まれる。
【００７８】
したがって、本発明の機能処理をコンピュータで実現するために、前記コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【００７９】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、ＯＳに供給するスクリプトデータ等の形態であってもよい。
【００８０】
プログラムを供給するための記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＭＯ、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＣＤ−ＲＷなどがある。また、磁気テープ、不揮発性のメモリカード、ＲＯＭ、ＤＶＤ（ＤＶＤ−ＲＯＭ，ＤＶＤ−Ｒ）などもある。
【００８１】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続する。そして、前記ホームページから本発明のコンピュータプログラムそのもの、若しくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。
【００８２】
また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるＷＷＷサーバも、本発明に含まれるものである。
【００８３】
また、本発明のプログラムを暗号化してＣＤ−ＲＯＭ等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせる。そして、ダウンロードした鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【００８４】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される。その他、そのプログラムの指示に基づき、コンピュータ上で稼動しているＯＳなどが、実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現され得る。
【００８５】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれる。その後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によっても前述した実施形態の機能が実現される。
【００８６】
なお、前述した実施形態は、本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。即ち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
【符号の説明】
【００８７】
１００  情報処理装置
１０１  ＣＰＵ
１０２  ＲＯＭ
１０３  ＲＡＭ
１０４  ディスプレイコントローラ
１０５  タッチパネルコントローラ
１０６  カメラコントローラ
１０７  センサコントローラ
１０８  ネットワークコントローラ
１０９  フラッシュメモリコントローラ
１１０  ディスプレイ
１１１  タッチパネル
１１２  カメラ
１１３  センサ
１１４  フラッシュメモリ
【図１】
2016181053.tif 000003
【図２】
2016181053.tif 000004
【図３】
2016181053.tif 000005
【図４】
2016181053.tif 000006
【図５】
2016181053.tif 000007
【図６】
2016181053.tif 000008
【図７】
2016181053.tif 000009
【図８】
2016181053.tif 000010
【図９】
2016181053.tif 000011
【図１０】
2016181053.tif 000012
【図１１】
2016181053.tif 000013
【図１２】
2016181053.tif 000014
【図１３】
2016181053.tif 000015
【図１４】
2016181053.tif 000016