以下、この発明による複数個の語句の表示制御方法の実施形態を、図を参照しながら説明する。以下に説明する実施形態では、この発明による複数個の語句の表示制御方法の実施形態が適用された電子機器が、例えばスマートフォンと呼ばれる高機能の携帯電話端末である場合を例に取る。すなわち、この例の携帯電話端末は、この発明による電子機器の一実施形態である。
図1は、この携帯電話端末10のハードウエア構成例を示すブロック図である。この携帯電話端末10は、コンピュータ装置からなる構成を備える。すなわち、図1に示すように、この例の携帯電話端末10においては、システムバス100に対してCPU(Central Processing Unit)101と、プログラム等を格納するROM(Read Only Memory)102と、ワークエリアとして働くRAM(Random Access Memory)103と、各種のデータを格納するメモリ104とが接続されている。
また、この例では、システムバス100には、さらに、通信処理部105と、ディスプレイインターフェース106と、タッチパネルインターフェース107と、表示制御部108と、操作部インターフェース109とが接続されている。
CPU101は、携帯電話端末10の全体の動作を制御するものである。ROM102には、携帯電話端末10における各種制御処理を実行するためのプログラムが記憶されている。CPU101は、RAM103をワークエリア用のメモリとして用いて、このROM102に格納されているプログラムにしたがった制御処理を実行する。
通信処理部105は、CPU101の制御に従い、アンテナ111を通じて携帯電話網を通じた通信を行う。なお、通信処理部105は、CPU101の制御に従い、携帯電話網を通じてインターネットにアクセスする機能も備える。
通信処理部105は、電話通信においては、CPU101の制御の下に、発信および着信の制御を行う。そして、通信処理部105は、アンテナ111を通じて受信した相手方からの受話音声信号をデコードしてスピーカ(受話器)112に供給し、受話音声を音響再生する。また、通信処理部105は、マイクロホン113により収音したユーザの送話音声を、相手方に送る送信信号にエンコードし、アンテナ111を通じて相手方に送信する。
また、通信処理部105は、インターネットへのアクセスの場合おいては、インターネットを通じた所定のサーバに接続するための処理を行うと共に、当該サーバへ検索要求やデータ取得要求を送り、それらの要求に対してサーバから送られてくる情報を取得する処理を行う。そして、通信処理部105で取得された情報は、CPU101の制御に従って、例えばメモリ104に格納したり、後述する表示制御部108の制御にしたがって表示デバイス114の表示画面に表示したりされる。
ディスプレイインターフェース106には、この例では平面型の表示デバイス114、例えばLCD(Liquid Crystal Display)が接続されている。そして、この実施の形態では、表示デバイス112の表示画面に重ねてタッチセンサ115が設けられている。このタッチセンサ115は、例えば静電容量方式の位置検出センサからなり、ユーザが指でタッチ操作した位置を検出し、その位置検出出力(座標出力)を出力する。このタッチセンサ115は、表示画面に重畳されて配置されているので、このタッチセンサ115の位置検出出力としての位置座標は、表示画面の位置座標に1対1に対応している。
そして、タッチセンサ115は、タッチセンサインターフェース107に接続されており、タッチセンサ115からの位置検出出力が、このタッチセンサインターフェース107を通じてシステムバス100に入力される。
CPU101および表示制御部108の制御の下に、表示デバイス114の表示画面に表示されている表示画像を、その表示画面の座標に対応して管理している。したがって、CPU101は、タッチセンサ115からの位置検出出力から、表示画面上のいずれの表示画像に対して操作指示がなされたかを判定し、その判定結果から、ユーザの操作指示がどのような操作指示であるかを判別して、その判別結果に応じた制御処理を実行するようにする。この制御処理には、表示制御部108に対する制御指示を含む。
表示制御部108は、CPU101の制御指示に従って、後述する複数の語句の表示制御を行う他、種々の制御指示を実行する。なお、この実施形態では、表示制御処理の理解を容易にするために、CPU101とは別個に表示制御部108を設けるようにしたが、この表示制御部108の機能は、ROM102に格納されているプログラムの一部に基づいてCPU101が実行するソフトウエア処理とすることができるものであることは言うまでもない。
操作部インターフェース109には、ボタン操作部110が接続されている。ボタン操作部110には、1または複数個の操作ボタンが含まれ、いずれかの操作ボタンがユーザにより操作されると、その操作信号が操作部インターフェース109を通じてシステムバス100に供給される。CPU101は、システムバス100に供給される操作信号を常に監視しており、操作信号を検知すると、いずれの操作ボタンがユーザにより操作されたかを判別して、その判別結果に応じた制御処理を実行する。
[複数の語句の表示制御処理の第1の実施形態]
上述の構成の携帯電話端末10における複数の語句の表示制御処理の第1の実施形態について、以下に説明する。以下に説明する例においては、携帯電話端末10のユーザが、タッチセンサ115を用いた操作により、インターネットを通じて所定のサーバに対して、所定の検索要求のアクセスを行い、その検索要求に対応する検索結果の情報を、前記サーバから取得してメモリ104に一時格納し、その一時格納した検索結果の情報を用いて、表示制御処理をする場合として説明する。
そして、この例においては、取得した検索結果の情報は、図2に示すような階層構造を有するものとしている。また、以下に説明する例では、表示対象の語句は、単語(ワード)の場合としている。
すなわち、図2に示すように、この例において表示制御対象となる情報は、最上位が複数個の「親ワード」からなる。そして、各「親ワード」の下位には、その「親ワード」に関連付けられる1または複数個の「子ワード」が存在するものとされている。そして、各「子ワード」のそれぞれについて関連する詳細情報(関連情報という)が1または複数個、存在するものとされている。
なお、表示制御対象となる情報の階層構造を、図2の例に限られるものではないことは言うまでもない。例えば、「子ワード」の下位に「孫ワード」がある構造や、「孫ワード」の下位に更に「曾孫ワード」がある構造であっても良い。また、最下位の情報は、図2の例のような関連情報である必要はなく、例えば「孫ワード」や「曾孫ワード」が最下位であっても良い。また、例えば場所に関連する情報の場合には、最下位の情報は、その上位の場所の地図情報などであっても良い。
次に、図2の例の場合の階層構造を有する情報の具体例を挙げる。例えば、世界中の国を対象とした検索を考え、所定のキーワードを設定し、そのキーワードに合致する場所についての検索を行ったとする。その検索結果は、地球全体を6個の地域に分けた各地域毎に得られ、且つ、それぞれの地域に含まれる各国毎にも、得られるものとする。そして、検索結果の詳細情報は、各国毎に紐付いた関連情報として得られるものとする。
このような具体例においては、「親ワード」は地球全体を6個の地域に分けた各地域の名称となる。この例では、「アジア」、「アフリカ」、「ヨーロッパ」、「北アメリカ」、「南アメリカ」、「オセアニア」の各文字列からなる6ワードが「親ワード」となる。
次に、6個の地域のそれぞれに属する国名が「子ワード」となる。したがって、例えば「親ワード」が「オセアニア」を例に取ると、「子ワード」となる国名は、「オーストラリア」、「ニュージーランド」、「トンガ」、「ツバル」、「パプアニューギニア」・・・などの文字列となる。
そして、「子ワード」となる各国について、検索結果として得られた1または複数の詳細情報が、関連情報となる。この関連情報としては、テキスト情報(文字列)からなるものに限られるものではなく、テキスト情報とイラストや画像情報と混合されたものであっても良いし、地図情報であっても良い。なお、後述するように、この例では、関連情報は、キーワードに関連する詳細な説明文のテキスト情報からなるものとする。
[複数の語句の表示制御方法の第1の実施形態の概要]
次に、この発明による複数の語句の表示制御方法の実施形態の概要を、以上のような階層構造の具体例の情報に対して、この発明による複数の語句の表示制御方法の実施形態を適用した場合について、図3〜図5の表示例を参照して説明する。
図3〜図5の例においては、携帯電話端末10の表示デバイス112の表示画面には、この例の表示制御の対象となる検索結果としての複数の語句を表示すべき所定の大きさの表示領域114Dが設定されており、この表示領域114D内に、この例の表示制御の対象となる検索結果の複数の語句が表示されるものである。なお、この例では、この表示領域114Dは、携帯電話端末10の表示デバイス112の表示画面のほぼ全画面領域に近い大きさの領域となっている。
この例の場合、当該表示領域114Dは、矩形領域であり、1または複数の文字列からなる語句の複数個が、横方向を行として、縦方向に複数行が表示される。そして、語句の文字列は、行に沿った方向、つまり、横方向に順次に並べることで、各行に表示するようにしている。そして、この例では、表示する語句毎の区切りは、それぞれの語句の文字列を文字列表示枠で囲むことで表現するようにしている。つまり、この例では、一つの文字列表示枠で囲まれた文字列が1つの語句である。
なお、表示する語句毎の区切りとしては、この例のように文字列表示枠で囲んで表現する方法に限られるものではない。例えば、文字列表示枠は生じせずに、所定の区切りマークを語句と語句の間に設ける、空白により語句と語句の区切りを示す、など、その他種々の方法を採用することができることは勿論である。
携帯電話端末10のCPU101は、検索結果の複数の語句を含む情報をサーバから受け取ると、先ず、「親ワード」のみを、図3(A)に示すように、表示領域113D内に、並べて一覧表示する。ここで、この例においては、検索結果の複数の語句のそれぞれには、キーワードに合致する件数が多い順に順位(ランク)が付随情報として付加されており、「親ワード」および後述する「子ワード」は、その順位(ランク)の順に表示されるようにされている。
図3〜図5の表示例において、「親ワード」の各地域名称の語句の前に付与されている数字は、「親ワード」の各地域名称の語句に付随する順位(ランク)の情報に基づき、キーワードに合致する件数が多い順に付与された順位番号であり、これは、検索結果の地域名称の語句に付随する属性情報である。なお、図3〜図5の表示例においては、「子ワード」には、順位を示す番号を付加しなかったが、「親ワード」と同様に、「子ワード」にも、順位を示す番号を付加するようにしても良い。
そして、図3〜図5に示すように、この例では、「親ワード」の地域名称の語句には、その属性情報、この例では順位(ランク)に応じた区別をするために、順位(ランク)に応じて、「親ワード」の語句の表示領域の大きさおよび文字の大きさを変更するようにしている。
すなわち、この例においては、図3(A)に示すように、順位(ランク)が1位の「親ワード」の地域名称の語句には、高さh1の文字列表示枠201が設定され、順位(ランク)が2位の「親ワード」の地域名称の語句には、高さh1よりも低い高さh2(<h1)の文字列表示枠202が設定され、順位(ランク)が3位以下の「親ワード」の地域名称には、高さh2よりも低い高さh3(<h2)の文字列表示枠203が設定される。
そして、「親ワード」の地域名称の語句は、図3(A)に示すように、表示領域114Dの一番上の行から順次に、文字列表示枠201,202または203で囲まれた語句の文字列を、各行に並べて表示する。この場合に、各1行には、その余白スペースが許す限り、複数個の語句を連続的に表示するようにする。そして、1行内の最後の語句について、その文字列の全てが表示できないときには、その語句の文字列のうちの当該行内に表示できるものは当該行内に表示し、表示できなかった残りの文字列は次の行に表示する。したがって、その語句の文字列表示枠201,202または203は、2行に渡ることになる。
この例の場合、高さの異なる文字列表示枠201〜203が設定され、図3(A)に示すように、それらが1行に表示される場合もある。その場合に、改行を、行の最後の語句の文字列表示枠の高さに基づいて実行すると、次の行の文字列表示枠と、前の行の文字列表示枠とが重なるおそれがある。そこで、この例においては、改行に当たっては、当該行に存在する文字列表示枠の最も高さが高いものを認識し、その認識した文字列表示枠の高さに基づいて改行を実行する。そして、改行後、文字列表示枠の高さは一旦リセットし、その後、改行後の行に文字列を表示する前に、表示する語句用の文字列表示枠の高さを設定するようにする。
このように改行の処理を行うことにより、この実施形態においては、次の行の文字列表示枠と、前の行の文字列表示枠とが重なるのを回避することができる。また、前の行の文字列表示枠で最も高さが高いものに距離dを加えた高さで改行を実行することで、表示領域114Dの左端の位置では、行と行との間の間隔dを常に保つことができ、異なる大きさの文字列表示枠の語句を整然として配列することができる。
以上の改行処理については、後述する「子ワード」についても、その順位(ランク)に応じて文字列表示枠の高さを変更する場合において、同様となる。
なお、行と行の間隔dの大きさは、常に一定とする必要はなく、例えば「親ワード」の行についての間隔dよりも、「子ワード」の行についての間隔d´を狭くするようにしても良い。
次に、具体的な表示例について説明するに、図3(A)においては、1行目には、文字列表示枠201の「1 アジア」に引き続いて、文字列表示枠202の「2 アフリカ」の一部「2 ア」が表示される。そして、改行後の2行目には、文字列表示枠202の「2 アフリカ」の残部「フリカ」が表示され、引き続いて、文字列表示枠203の「3 ヨーロッパ」の一部「3 ヨーロ」が表示される。そして、改行後の3行目には、文字列表示枠203の「3 ヨーロッパ」の残部「ッパ」が表示される。以下、同様にして、文字列表示枠203の「4 オセアニア」、「5 北アメリカ」、「6 南アメリカ」が、連続的に順次表示される。
以上のようにして、図3(A)に示すように、最上位階層の「親ワード」の表示制御が終了すると、携帯電話端末10は、タッチセンサ115の位置検出出力やボタン操作部からの操作信号を監視して、ユーザの指示入力を待つ状態になる。
このとき、前述したように、CPU101は、表示領域114Dに表示された「親ワード」の語句のそれぞれの文字列の文字列表示枠201,202および文字列表示枠203の、表示領域114D内での位置と、タッチセンサ115の位置検出出力で示される座標との対応関係を管理している。
したがって、ユーザが、タッチセンサ114に対して、表示領域114Dに表示されている「親ワード」のいずれかの文字列表示枠内にタッチして、その「親ワード」を選択指示する操作をしたときには、CPU101は、そのタッチされた文字列表示枠内に表示されている語句が何であるかを判定することができる。そして、CPU101は、その判定結果に応じた表示制御処理などを実行する。このことは、後述の「子ワード」や関連情報の表示画面についても同様である。
そして、図3(A)の表示領域114Dに表示されている「親ワード」の複数の語句のいずれかを、タッチセンサ115を通じてユーザが選択指示すると、CPU101は、次のような表示制御処理を実行する。
すなわち、CPU101は、図3(A)の表示領域114Dに表示されている「親ワード」の複数の語句のいずれかが、ユーザにより選択指示されたと判別すると、その選択指示された「親ワード」を含め、それよりも後に続く、この例では順位(ランク)の低い「親ワード」の語句の表示を一旦消去し、それよりも上位の「親ワード」の語句の表示はそのままとする。その後、CPU101は、選択指示された「親ワード」の語句を、表示されている上位の「親ワード」の語句の下の1行全体に、表示する。
引き続いて、CPU101は、その選択指示された「親ワード」の複数の「子ワード」をメモリ104から読み出して、選択指示された「親ワード」の語句を表示した1行の直下から、前述した複数の「親ワード」の表示制御処理と全く同様にして、表示する処理を実行する。
こうして、表示領域114Dには複数個の「子ワード」が表示されるが、いずれの「親ワード」の「子ワード」であるかは、その「親ワード」が1行全体に表示されることで、ユーザは認識することができる。そして、この例の場合、各「子ワード」の文字列表示枠204(図3(B)参照)の高さh4は、前述の文字列表示枠203の高さh3よりも低く、h4<h3とされて、「親ワード」と「子ワード」との区別ができるようにすることで、更に、ユーザが「親ワード」と「子ワード」の認識を容易にできるようにしている。
以上説明した、いずれかの「親ワード」の選択指示がなされたときの具体例について説明する。例えば、図3(A)の表示領域114Dに表示されている「4 オセアニア」が、ユーザによりタッチされて選択指示されたとする。すると、この「4 オセアニア」以下の「5 北アメリカ」および「6 南アメリカ」が、表示領域114Dから一旦消去される。
その後、図3(B)に示すように、ユーザにより選択指示された「親ワード」の「オセアニア」が、「3 ヨーロッパ」の一部「ッパ」が表示されている行の下の1行全体に渡る文字列表示枠205内に表示される。この例では、この文字列表示枠205の高さは、h3とされる。
図3(B)に示すように、1行全体の文字列表示枠205には、「親ワード」の語句「オセアニア」に加えて、「×」印が付加されているが、これは、当該1行全体の文字列表示枠205のユーザ選択操作は、選択指示を解除する「戻る」指示であることを意味している。
すなわち、ユーザが、この1行全体の文字列表示枠205を選択指示すると、CPU101は、1行全体の文字列表示枠205およびその下に表示されている表示事項の全てを消去し、「親ワード」を前述の表示制御処理に従い、再表示して、図3(A)に示す表示状態に戻す処理を行う。図3(B)の表示例であれば、ユーザが、「4 オセアニア ×」を選択指示すると、CPU101は、1行全体の文字列表示枠205の「4 オセアニア ×」およびその下位の階層の複数個の「子ワード」を消去し、「親ワード」の「4 オセアニア」、「5 北アメリカ」および「6 南アメリカ」を、前述の表示制御処理に従い、再表示して、図3(A)に示す表示状態に戻す。
1行全体の文字列表示枠205への文字列の表示処理に引き続いて、CPU101は、この1行の「4 オセアニア ×」の文字列表示枠205の直下の行から、当該「親ワード」の「オセアニア」の「子ワード」が、前述した検索結果の順位(ランク)に従った順位で、図3(B)に示すように、「親ワード」と同様の表示制御処理で表示する。
なお、図3(B)に示すように、「親ワード」の複数個の「子ワード」の全てを、表示領域114Dに表示することができない場合があるが、それらの「子ワード」は、表示領域114Dの表示画像を上方向にスクロールすることで観視することができる。すなわち、CPU101は、「親ワード」の複数個の「子ワード」の全てについて、前述の表示制御処理による表示のための計算を実行し、各「子ワード」の表示位置を予め決定し、そのうちの表示領域114Dに表示できるもののみを表示している。
なお、この例では、CPU101は、「親ワード」の「4 オセアニア」の選択に従い消去された「5 北アメリカ」および「6 南アメリカ」は、「4 オセアニア」の全ての「子ワード」の後に、改行して表示するように表示位置が計算されて保持されている。したがって、表示領域114Dに表示する画像を上方向にスクロールすることで、「4 オセアニア」の全ての「子ワード」の後に、それらの「親ワード」の「5 北アメリカ」および「6 南アメリカ」を観視することができる。
次に、図3(B)に示すような、選択された「親ワード」についてのすべての「子ワード」を表示している表示画面において、いずれかの「子ワード」がユーザにより選択されると、CPU101は、次のような表示制御処理を行う。
すなわち、例えば、図3(B)において、「子ワード」の「ツバル」が選択されたとする。すると、CPU101は、図4(A)に示すように、当該選択された「ツバル」を含め、それよりも下に表示されていた「子ワード」の全てを消去し、それよりも上位の「子ワード」の語句の表示はそのままとする。
その後、CPU101は、選択指示された「子ワード」の語句と、「戻る」を意味する「×」印を、表示されている上位の「子ワード」の語句の下の1行全体に、表示する。すなわち、図4(A)の例では、ユーザにより選択指示された「子ワード」の「ツバル」と「×」印が、語句「オーストラリア」の一部「リア」が表示されている行の下の1行全体に渡る文字列表示枠206内に表示される。この例では、この文字列表示枠206の高さは、h4とされる。
引き続いて、CPU101は、この1行の「ツバル ×」の文字列表示枠206の直下の行から、当該「子ワード」の「ツバル」に関連する関連情報(この例ではテキスト情報)をメモリ104から読み出し、図4(A)に示すように、行方向の全体と、所定の高さ(任意)を備える表示枠207内に表示する。この場合に、表示枠207の高さは、当該表示枠207内に表示する情報内容や情報量に応じたものとなる。関連情報が複数個ある場合には、表示枠207が、その関連情報のそれぞれ毎に設定され、それぞれの表示枠207内に、その関連情報が表示される。
なお、図4(A)に示すように、「子ワード」の複数個の関連情報の全てを、表示領域114Dに表示することができない場合があるが、それらの関連情報は、表示領域114Dの表示画像を上方向にスクロールすることで観視することができる。すなわち、CPU101は、「子ワード」の複数個の関連情報の全てについての表示のための計算を実行し、各関連情報の表示位置を予め決定し、そのうちの表示領域114Dに表示できるもののみを表示している。
なお、この例では、CPU101は、「子ワード」の選択に従い消去された複数個の「子ワード」は、選択された「子ワード」の関連情報の後に、改行して表示するように表示位置が計算されて保持されている。したがって、図4(A)の例であれば、表示領域114Dに表示する画像を上方向にスクロールすることで、「ツバル」の全ての関連情報の後に、それらの複数個の「子ワード」が表示され、ユーザは、それらの複数個の「子ワード」を観視することができる。
そして、ユーザが、選択された「子ワード」に、「戻る」を意味する「×」印が付加されている1行の文字列表示枠206を、選択指示すると、CPU101は、当該選択指示された1行全体の文字列表示枠206の表示およびその下に表示されている選択中の「子ワード」の下位の関連情報の表示枠207の全てを消去する。そして、CPU101は、選択された「子ワード」を1行表示の状態から元の文字列表示枠204内に文字列を表示する状態に戻すと共に、当該選択された「子ワード」以下の他の「子ワード」の全てを、前述の表示制御処理に従い、順次に再表示して、図4(B)に示すように、図3(B)の表示状態に戻す処理を実行する。図4(A)の例であれば、「ツバル ×」を選択指示すると、CPU101は、1行全体の文字列表示枠206の「ツバル ×」およびその複数個の関連情報を消去し、「ツバル」以下の「子ワード」の全てを、前述の表示制御処理に従い、順次に再表示して、図4(B)に示すように、図3(B)の表示状態に戻す。
[複数の語句の表示制御処理のフローチャート]
次に、以上説明した表示制御処理を実行するためのCPU101における処理の流れを、図5〜図8のフローチャートを参照して説明する。なお、以下の表示制御処理は、CPU101が、表示制御部108の処理機能をも、ソフトウエア処理として併せて実行する場合である。
先ず、CPU101は、語句の表示制御処理の起動要求があったか否か判別する(ステップS101)。この起動要求は、例えば検索要求に応じた検索結果の情報の受信や、メモリ104からの情報の読出し指示などに基づくものである。
このステップS101で、起動要求有りを検出していないと判別したときには、CPU101は、その他の処理を実行し(ステップS102)、その処理の実行終了後、ステップS101に戻る。
ステップS101で、起動要求有りを検知したと判別したときには、CPU101は、複数個の「親ワード」について、上述した語句を順次に表示する表示制御処理(以下、この処理を便宜上、ワード表示処理という)を実行する(ステップS103)。ワード表示処理の詳細な流れについては、後述する。
次に、CPU101は、表示されている複数の「親ワード」のうちの一つが選択指示されたか否か判別する(ステップS104)。CPU101は、このステップS104で「親ワード」のうちの一つが選択指示されてはいないと判別したときには、例えばボタン操作や他の操作指示により、当該表示処理の終了指示がなされたか否か判別し(ステップS105)、終了指示がなされていないと判別したときには、ステップS104に処理を戻し、終了指示がなされたと判別したときには、この表示処理のルーチンを終了する。
ステップS104で、「親ワード」のうちの一つが選択指示されたと判別したときには、CPU101は、前述の図3(B)に示したように、選択指示された「親ワード」と、それより後に表示されていた他の「親ワード」とを消去すると共に、選択指示された「親ワード」の語句の文字列に、戻る指示操作用マークを意味する「×」を付加した文字列が含まれる文字列表示枠205を、消去されずに表示されている上位の「親ワード」の文字列表示枠の最後の行の直下の1行全体に、表示する(ステップS106)。
次に、CPU101は、選択指示された「親ワード」の下位の階層の複数個の「子ワード」を、メモリ104から読み出して、選択指示された「親ワード」の文字列に、「戻る」を意味する「×」印を付加した文字列が表示された文字列表示枠205の1行の直下から、上述したように語句を順次に表示するワード表示処理を実行する(ステップS107)。
次に、CPU101は、選択指示された「親ワード」の語句の文字列に、戻る指示操作用マークが表示された1行の文字列表示枠205内が選択指示されたか否かにより、戻る指示操作がなされたか否か判別する(ステップS108)。
このステップS108で、戻る指示操作がなされたと判別したときには、CPU101は、選択指示された「親ワード」の語句の文字列に、戻る指示操作用マークが表示された1行の文字列表示枠205と、それより下に表示されている表示事項の全体を消去して、図3(A)に示したような複数の「親ワード」が表示された表示画面に戻す処理を実行する(ステップS109)。
CPU101は、このステップS109の後には、処理をステップS104に戻し、このステップS104以降の処理を繰り返す。
次に、ステップS108で、戻る指示操作がなされていないと判別したときには、CPU101は、表示されている複数個の「子ワード」のうちの一つが選択指示されたか否か判別する(図6のステップS111)。CPU101は、このステップS111で「子ワード」のうちの一つが選択指示されてはいないと判別したときには、例えばボタン操作や他の操作指示により、当該表示処理の終了指示がなされたか否か判別し(ステップS112)、終了指示がなされていないと判別したときには、処理をステップS108に戻し、終了指示がなされたと判別したときには、この表示処理のルーチンを終了する。
ステップS111で、「子ワード」のうちの一つが選択指示されたと判別したときには、CPU101は、前述の図4(A)に示したように、選択指示された「子ワード」と、それより後に表示されていた他の「子ワード」とを消去すると共に、選択指示された「子ワード」の語句の文字列に、戻る指示操作用マークを意味する「×」を付加した文字列が表示される文字列表示枠206を、消去されずに表示されている上位の「子ワード」の文字列表示枠204の最後の行の直下の1行全体に、表示する(ステップS113)。
次に、CPU101は、選択指示された「子ワード」の下位の階層の1個または複数個の関連情報を、メモリ104から読み出して、選択指示された「子ワード」の語句を表示した文字列表示枠206の1行の直下から、順次に表示する処理を実行する(ステップS114)。
次に、CPU101は、選択指示された「親ワード」の語句の文字列に、戻る指示操作用マークが表示された1行の文字列表示枠205内が選択指示されたか否かにより、戻る指示操作がなされたか否か判別する(ステップS115)。このステップS115で、戻る指示操作がなされたと判別したときには、CPU101は、処理をステップS109に戻し、このステップS109以降の処理を繰り返す。
ステップS115で、1行の文字列表示枠205内が選択指示されてはいないと判別したときには、CPU101は、選択指示された「子ワード」の語句の文字列に、戻る指示操作用マークが表示された1行の文字列表示枠206内が選択指示されたか否かにより、戻る指示操作がなされたか否か判別する(ステップS116)。
CPU101は、このステップS116で、1行の文字列表示枠206内が選択指示されてはおらず、戻る指示操作はなされていないと判別したときには、例えばボタン操作や他の操作指示により、当該表示処理の終了指示がなされたか否か判別し(ステップS118)、終了指示がなされていないと判別したときには、処理をステップS115に戻し、終了指示がなされたと判別したときには、この表示処理のルーチンを終了する。
ステップS116で、1行の文字列表示枠206内が選択指示されたため、戻る指示操作がなされたと判別したときには、CPU101は、当該選択指示された1行全体の文字列表示枠206の表示およびその下に表示されている表示事項の全てを消去し、選択された「子ワード」以下の「子ワード」の全てを、ワード表示処理に従い再表示して、選択されている「親ワード」の「子ワード」を順次に表示する表示状態に戻す処理を実行する(ステップS117)。CPU101は、このステップS117の次には、処理をステップS111に戻し、このステップS111以降の処理を繰り返す。
次に、前述したステップS103、ステップS107、ステップS109およびステップS117で実行されるワード表示処理の流れの例を、図7のフローチャートについて説明する。
CPU101は、先ず、表示すべき語句、すなわち、「親ワード」あるいは「子ワード」の文字列の情報を取得する(ステップS201)。次に、CPU101は、取得した語句の属性情報、この例では、語句は「親ワード」か、あるいは「子ワード」か、語句が「親ワード」であれば、検索結果の順位(ランク)は何か、を判定して、取得した語句を表示する文字列表示枠の高さおよび当該文字列表示枠に表示する文字の大きさを判定する(ステップS202)。
次に、CPU101は、語句の文字列を表示しようとする1行における余白の大きさを判定する(ステップS203)。表示領域114Dに、最初に表示しようとする場合には、1行の余白は、1行分の全部である。既に、語句の文字列を表示する文字列表示枠が、当該行に割り当てられている場合には、その文字列表示枠により使用された分の残りが余白となる。
次に、CPU101は、ステップS202で判定した余白内に、表示しようとする語句の文字列の全てが収まるか否か判別する(ステップS204)。このステップS204で、判定した余白内に、表示しようとする語句の文字列の全てが収まると判別したときには、CPU101は、その文字列を含む文字列表示枠を当該行に表示する(ステップS211)。
CPU101は、このステップS211の次には、ステップS209に進んで、ステップS211での表示の後の当該行の余白を計算する。次に、CPU101は、表示すべき次の語句の文字列があるか否か判別し(ステップS210)、表示すべき次の語句がないと判別したときには、この処理ルーチンを終了し、表示すべき次の語句があると判別したときには、処理をステップS201に戻し、このステップS201以降の処理を繰り返す。
そして、ステップS204で、判定した余白内に、表示しようとする語句の文字列の全ては収まらないと判別したときには、CPU101は、判定した余白内に、ステップS202で判定した大きさの文字が何文字入るかを計算し、その計算結果の文字数の文字列を、当該行の余白に、文字列表示枠と共に表示するようにする(ステップS205)。
そして、CPU101は、判定した余白内に入らない残りの文字列は、次の行に表示するために、改行処理を行う(ステップS206)。この改行処理については、後で詳述する。
次に、CPU101は、残りの文字列の全てが改行後の1行に収まるか否か判別する(ステップS207)。このステップS207で、残りの文字列の全てが改行後の1行に収まらないと判別したときには、CPU101は、処理をステップS205に戻し、このステップS205以降の処理を繰り返す。
また、ステップS207で、残りの文字列の全てが改行後の1行に収まると判別したときには、CPU101は、残りの文字列の全てを改行後の行に、文字列表示枠と共に表示する(ステップS208)。CPU101は、このステップS208の次には、ステップS209に進んで、ステップS211での表示の後の当該行の余白を計算する。そして、CPU101は、次に、表示すべき次の語句の文字列があるか否か判別し(ステップS210)、表示すべき次の語句がないと判別したときには、この処理ルーチンを終了し、表示すべき次の語句があると判別したときには、処理をステップS201に戻し、このステップS201以降の処理を繰り返す。
次に、図7のステップS206における改行処理の例を、図8のフローチャートについて説明する。
先ず、CPU101は、改行を実行するに先立ち、例えば図9に示すように、当該改行を実行する行に複数の語句の文字列表示枠200A,200B・・が表示されている場合に、それらのうちで、最も高さの高い文字列表示枠を認識し、その高さhを改行の基準として、改行を実行する(ステップS301)。すなわち、CPU101は、当該改行を実行する行の高さ方向の上位置Paを改行の基線位置としたときに、認識した最も高さの高い文字列表示枠の高さhに、行間距離dを加算した距離だけ、下の位置Pbを、改行後の行の高さ方向の上位置とするように改行を実行する。
次に、CPU101は、改行の基準とした高さhをリセットし、改行後の行に表示する語句の文字列を囲む文字列表示枠の高さh´と、それに表示する文字の大きさを設定し直す(ステップS302)。そして、図7のワード表示処理のメインルーチンに戻る。
[第1の実施形態の効果]
以上説明したように、この発明による複数個の語句の表示制御方法によれば、語句を1行毎に改行して表示するのではなく、1行に複数の語句を、連続的に詰めて表示すると共に、1つの語句の文字列の途中であっても、改行を行って、前の行で表示できなかった文字列は次の行に表示するようにするので、限られた表示領域に、多数個の語句を表示することができる。
また、1つの語句の文字列の途中であっても、改行を行って、前の行で表示できなかった文字列は次の行に表示するようにするので、語句を構成する文字数が多い場合であっても、それらの全ての文字数の文字列を表示することができる。
また、複数の語句のそれぞれの属性に応じて、それぞれの語句の文字列表示枠の高さおよび文字の大きさを変更するようにしているので、属性の異なる語句を容易に認識することができる。例えば、上述の例では、語句がいずれの階層に属するかを属性情報とし、階層が異なる語句は、文字列表示枠の高さおよび文字の大きさを変更するようにしている。このため、階層構造の語句について、各階層の語句を認識することが容易である。また、同じ階層にある語句であっても、順位などの属性に応じて、文字列表示枠の高さおよび文字の大きさを変更することができ、ユーザは、大きさの違いにより、順位などの語句の属性を把握することができる。
また、選択された語句は、1行に表示するように変更表示するので、いずれの語句が選択されているかを一目で把握することができる。そして、階層構造を有する語句の場合に、当該選択されて1行に表示されている語句の直下から、下位の階層の語句を表示するようにするので、階層構造が明確になる。
また、上述の実施形態においては、選択された語句の1行表示は、「前に戻る」を指示するための操作領域としているので、ユーザは、その選択された語句の1行表示の表示内容を確認しながら、その語句の選択前の表示状態に戻す指示操作を、容易に実行することができる。しかも、上述の実施形態では、選択された語句の1行表示には、「戻る」操作を意味する「×」印を併せて表示しているので、ユーザは、その「×」印から、当該1行表示を選択指示すれば、その前の表示状態に戻ることを容易に認識することができる。なお、「戻る」操作を意味するマークは、「×」印に限られるわけではなく、種々のマークや「戻る」の文字を用いるようにしても良い。
[第1の実施形態の変形例]
上述の第1の実施形態の説明では、「親ワード」や「子ワード」の一つを選択したときには、その選択した「親ワード」に「×」印を付加した1行表示や、「子ワード」に「×」印を付加した1行表示を選択指示することによる戻る操作した後、他の「親ワード」や「子ワード」の選択指示操作を受け付けるようにした。
これに対して、この第1の実施形態の変形例では、「親ワード」や「子ワード」は、他の「親ワード」や「子ワード」が選択された状態でも、その選択ができるようにしている。以下、この第1の実施形態の変形例における表示制御処理の動作例について、図10および図11のフローチャートを参照しながら説明する。
先ず、CPU101は、語句の表示制御処理の起動要求があったか否か判別する(ステップS121)。この起動要求は、例えば検索要求に応じた検索結果の情報の受信や、メモリ104からの情報の読出し指示などに基づくものである。
このステップS121で、起動要求有りを検出していないと判別したときには、CPU101は、その他の処理を実行し(ステップS122)、その処理の実行終了後、ステップS121に戻る。
ステップS121で、起動要求有りを検知したと判別したときには、CPU101は、複数個の「親ワード」について、上述した語句を順次に表示する表示制御処理(以下、この処理を便宜上、ワード表示処理という)を実行する(ステップS123)。
次に、CPU101は、表示されている複数の「親ワード」のうちの一つが選択指示されたか否か判別する(ステップS124)。CPU101は、このステップS124で「親ワード」のうちの一つが選択指示されたと判別したときには、前述の図3(B)に示したように、選択指示された「親ワード」と、それより後に表示されていた他の「親ワード」を含む表示事項を一旦消去すると共に、選択指示された「親ワード」の語句の文字列に、戻る指示操作用マークを意味する「×」を付加した文字列が含まれる文字列表示枠205を、消去されずに表示されている上位の「親ワード」の文字列表示枠203の最後の行の直下の1行全体に、表示する(ステップS125)。
次に、CPU101は、選択指示された「親ワード」の下位の階層の複数個の「子ワード」を、メモリ104から読み出して、選択指示された「親ワード」の文字列に、「戻る」を意味する「×」印を付加した文字列が表示された文字列表示枠205の1行の直下から、上述したように語句を順次に表示するワード表示処理を実行する(ステップS126)。
なお、この例では、このステップS126では、CPU101は、「親ワード」の選択に従い消去された事項は、選択された「親ワード」の下位の階層の全ての「子ワード」の後に、改行して表示するように表示位置が計算されている。したがって、「親ワード」の下位の階層の全ての「子ワード」の数が少なく、表示領域114Dの下方に余白がある場合には、当該表示領域114Dの余白には、それら一旦消去された事項の一部あるいは全部が、複数個の「子ワード」の下方において観視することができる。また、表示領域114Dに表示する画像を上方向にスクロールすることで、それらの全てを観視することもできる。
このステップS126の次には、CPU101は、処理をステップS124に戻し、このステップS124以降の処理を繰り返す。
次に、ステップS124で、「親ワード」が選択されてはいないと判別したときには、表示されている「子ワード」の一つが選択されたか否か判別する(ステップS127)。このステップS127で、「子ワード」の一つが選択されたと判別したときには、CPU101は、選択指示された「子ワード」と、それより後に表示されていた他の「子ワード」を含む表示事項を一旦消去すると共に、選択指示された「子ワード」の語句の文字列に、戻る指示操作用マークを意味する「×」を付加した文字列が含まれる文字列表示枠206を、消去されずに表示されている上位の「子ワード」の文字列表示枠204の最後の行の直下の1行全体に、表示する(ステップS128)。
次に、CPU101は、選択指示された「子ワード」の下位の階層の1または複数個の関連情報を、メモリ104から読み出して、選択指示された「子ワード」の文字列に、「戻る」を意味する「×」印を付加した文字列が表示された文字列表示枠206の1行の直下から表示する処理を実行する(ステップS129)。
なお、この例では、このステップS129では、CPU101は、「子ワード」の選択に従い消去された事項は、選択された「子ワード」の下位の階層の全ての関連情報の後に、改行して表示するように表示位置が計算されている。したがって、「子ワード」の下位の階層の全ての関連情報の数が少なく、表示領域114Dの下方に余白がある場合には、当該表示領域114Dの余白には、それら一旦消去された事項の一部あるいは全部が、複数個の「子ワード」の下方において観視することができる。また、表示領域114Dに表示する画像を上方向にスクロールすることで、それらの全てを観視することもできる。
このステップS129の次には、CPU101は、処理をステップS124に戻し、このステップS124以降の処理を繰り返す。
次に、ステップS127で、「子ワード」が選択されてはいないと判別したときには、CPU101は、選択指示された「親ワード」について、その選択を解除する指示、つまり、選択指示された「親ワード」の語句の文字列に、「×」が付加された文字列が含まれる文字列表示枠205が選択指示されたか否かを判別することにより、選択指示された「親ワード」についての「戻る」指示が有るか否か判別する(図11のステップS131)。
このステップS131で、選択指示された「親ワード」についての「戻る」指示が有ったと判別したときには、CPU101は、選択指示された「親ワード」の語句の文字列に、戻る指示操作用マークが表示された1行の文字列表示枠205と、それより下に表示されている選択された「親ワード」の下位の階層の情報を全て消去する(ステップS132)。ここで、「親ワード」の下位の階層の情報には、「子ワード」のみではなく、その「子ワード」の一つが選択されていて、その関連情報が表示されているときには、その関連情報も含む。
そして、選択が解除された「親ワード」を1行表示の状態から、元の文字列表示枠内に表示する状態に戻すと共に、ステップS126で、選択指示された「親ワード」の複数個の「子ワード」の下に表示するように計算されていた他の「親ワード」を含む表示事項について、元に戻した文字列表示枠に続けて表示するように処理を実行する(ステップS133)。
このステップS133の次には、CPU101は、処理をステップS124に戻し、このステップS124以降の処理を繰り返す。
また、ステップS131で、選択指示された「親ワード」についての「戻る」指示がなかったと判別したときには、CPU101は、選択指示された「子ワード」について、その選択を解除する指示、つまり、選択指示された「子ワード」の語句の文字列に、「×」が付加された文字列が含まれる文字列表示枠206が選択指示されたか否かを判別することにより、選択指示された「子ワード」についての「戻る」指示が有るか否か判別する(ステップS134)。
このステップS134で、選択指示された「子ワード」についての「戻る」指示が有ったと判別したときには、CPU101は、選択指示された「子ワード」の語句の文字列に、戻る指示操作用マークが表示された1行の文字列表示枠206と、それより下に表示されている選択された「子ワード」の1または複数個の関連情報を消去する(ステップS135)。
そして、選択が解除された「子ワード」を1行表示の状態から、元の文字列表示枠204内に表示する状態に戻すと共に、ステップS129で、選択指示された「子ワード」の1または複数個の関連情報の下に表示するように計算されていた他の「子ワード」を含む表示事項について、元に戻した文字列表示枠204に続けて表示するように処理を実行する(ステップS136)。
このステップS136の次には、CPU101は、処理をステップS124に戻し、このステップS124以降の処理を繰り返す。
ステップS134で、選択指示された「子ワード」についての「戻る」指示がなかったと判別したときには、CPU101は、終了指示操作があったかい判別し(ステップS137)、終了指示操作がなかったと判別したときには、処理をステップS124に戻し、このステップS124以降の処理を繰り返す。また、ステップS137で、終了指示操作があったと判別したときには、CPU101は、この表示制御処理ルーチンを終了する。
この第1の実施形態の変形例によれば、一つの「親ワード」や「子ワード」を選択した後、その「親ワード」や「子ワード」の選択を解除することなく、他の「親ワード」や「子ワード」を選択指示することができ、便利である。
[複数の語句の表示制御処理の第2の実施形態]
この第2の実施形態は、上述した第1の実施形態の変形例あるいは発展例である。この第2の実施形態では、ユーザが、「親ワード」や「子ワード」を選択操作したり、1行表示を選択指示して「戻る指示」をしたりしたときに、前記選択操作がなされた表示画面から目的の表示画面に単に切り替えるのではなく、その切り替わりの間に動きのあるアニメーションを表示するようにして、よりエンターテインメント性を高めるようにしている。
この第2の実施形態においては、アニメーション処理以外の、複数の語句の表示制御処理およびワード表示処理については、上述した第1の実施形態と同様である。
すなわち、第1の実施形態においては、例えば図3(A),(B)に示したように、「親ワード」の一つを選択指示したときには、即座に、選択された「親ワード」を1行表示すると共に、当該選択された「親ワード」の下位の階層の複数個の「子ワード」を表示する画面に切り替えるようにした。また、図4(A),(B)に示したように、「子ワード」の一つを選択指示したときには、即座に、選択された「子ワード」を1行表示すると共に、当該選択された「子ワード」の下位の階層の関連情報を表示する画面に切り替えるようにした。
これに対して、この第2の実施形態では、図3(A)と図3(B)との間での表示画面の切り替えの間、また、図3(B)から図4(A)への表示画面の切り替えの間、更に、図4(A)から図4(B)への表示画面の切り替えの間に、アニメーション動画を、表示するようにする。
図12〜図14に、図3(A)の表示画面から、図3(B)の表示画面への切り替えの間の表示するアニメーション動画の例を示す。
すなわち、図12(A)は、図3(A)と同一の表示画面であり、表示領域114D内に、複数の「親ワード」を、実施形態のワード表示処理により表示した表示画面の例である。
この図12(A)の表示画面において、ユーザが「親ワード」の一つ、例えば前述の第1の実施形態の場合と同様にして、「4 オセアニア」を選択指示したときには、第2の実施形態の場合には、図12(B)に示すように、当該選択指示された「親ワード」である「4 オセアニア」の文字列が表示された文字列表示枠およびその下に表示されていた「親ワード」である「5 北アメリカ」および「6 南アメリカ」の文字列が表示された文字列表示枠203の部分を、表示領域114Dの下方に落下させてゆくアニメーションを、CPU101の制御により表示するようにする。
次に、CPU101は、「4 オセアニア」の文字列が表示された文字列表示枠203、「5 北アメリカ」および「6 南アメリカ」の文字列202が表示された文字列表示枠の落下後、図12(C)に示すように、「4 オセアニア ×」の文字列が表示された1行表示の文字列表示枠205を、「3 ヨーロッパ」の一部「ッパ」が表示されている行の下の1行全体に渡って表示する。
次に、図13(D),(E),(F)および図14(G)、(H)に示すように、CPU101は、選択された「親ワード」である「オセアニア」の下位の階層の「子ワード」が、検索結果の順位(ランク)順に、1語句毎に、順次に追加されてゆくアニメーションを実行し、最終的に、図14(H)に示す、図3(B)と同じ表示画面を表示するようにする。
図3(B)の表示画面から、図4(A)の表示画面への切り替え時においても、図示は省略するが、CPU101は、同様のアニメーション処理を行うようにする。すなわち、図3(B)の表示画面において、「子ワード」の一つ、例えば「ツバル」が選択指示されたときには、CPU101は、当該「ツバル」の文字列の文字列表示枠204および当該「ツバル」よりも後に表示された他の「子ワード」の文字列の文字列表示枠204の全てを、図12(B)の「親ワード」の場合と同様にして、表示領域114Dの下方に落下させるアニメーションを表示するようにする。
次に、CPU101は、「ツバル」の文字列が表示された文字列表示枠204および当該「ツバル」よりも後に表示された他の「子ワード」の文字列の文字列表示枠204の全てが落下後、「ツバル ×」の文字列が表示された1行表示の文字列表示枠206を、「オーストラリア」の一部「リア」が表示されている行の下の1行全体に渡って表示する。
次に、CPU101は、選択された「子ワード」である「ツバル」の下位の階層の関連情報が、順次に追加されてゆくアニメーションを実行し、最終的に、図4(A)と同じ表示画面を表示するようにする。
次に、図3(B)の表示画面において、選択された「親ワード」の1行表示の文字列表示枠205が、ユーザにより選択指示されて、図3(A)の表示画面の状態に戻るときのアニメーションについて説明する。図15(A),(B),(C)は、このときの表示画面の遷移を示すものであり、図15(A)は、図3(B)と同一の表示画面の状態を示しており、図15(C)は、図3(A)と同一の表示画面の状態を示している。
そして、この第2の実施形態においては、図15(A)の表示画面において、選択された「親ワード」の1行表示の例である「4 オセアニア ×」の文字列表示枠205がユーザにより選択指示されると、CPU101は、図15(B)に示すように、当該選択指示された「4 オセアニア ×」の文字列表示枠205および当該選択された「親ワード」の複数個の「子ワード」の文字列が表示された文字列表示枠204の全てを、順番に落下させてゆくアニメーションを実行する。
そして、「4 オセアニア ×」の文字列表示枠205および複数個の「子ワード」の文字列が表示された文字列表示枠204が落下するアニメーションの後、CPU101は、その時点で表示されていない「親ワード」である「4 オセアニア」、「5 北アメリカ」、「6 南アメリカ」を、図13〜図14に示したようにして、一つずつ順次に追加するように表示制御し、最終的に、図15(C)に示す、元の複数の「親ワード」が順次に表示される表示画面に復帰させる。
次に、図4(A)の表示画面において、選択された「子ワード」の1行表示の文字列表示枠206が、ユーザにより選択指示されて、図4(B)の表示画面の状態に戻るときのアニメーションについて説明する。図16(A),(B),(C)は、このときの表示画面の遷移を示すものであり、図16(A)は、図4(A)と同一の表示画面の状態を示しており、図16(C)は、図4(B)と同一の表示画面の状態を示している。
そして、この第2の実施形態においては、図16(A)の表示画面において、選択された「子ワード」の1行表示の例である「ツバル ×」の文字列表示枠206がユーザにより選択指示されると、CPU101は、図16(B)に示すように、当該選択指示された「ツバル ×」の文字列表示枠206および当該「子ワード」の「ツバル」に関連する関連情報が表示された表示枠207の全てを、順番に落下させてゆくアニメーションを表示する。
そして、CPU101は、「ツバル ×」の文字列表示枠206および「ツバル」に関連する関連情報の表示枠207が落下するアニメーションの後、その時点で表示されていない「子ワード」から、順次、図13〜図14に示したようにして、一つずつ追加するようにして、最終的に、図16(C)に示す、元の複数の「子ワード」が順次に表示される表示画面に復帰させるようにする。
上述した文字列表示枠を表示領域114Dの下方への落下のアニメーションは、落下させる文字列表示枠および文字列の表示座標のY座標のみを、その落下速度に応じて変更する処理をすることで実現できる。また、図13〜図14に示した語句の一つずつの追加処理は、図7のワード表示処理を、1つの語句を表示したら、ユーザが、視覚的に語句が追加されることを認識できる所定時間経過後に、次の語句のワード表示処理を行うようにすることで、実現できる。
この第2の実施形態の場合における複数の語句の表示制御処理の流れの例を、図17〜図19のフローチャートを参照しながら説明する。
図17において、ステップS401からステップS405までの処理は、図5に示したフローチャートにおけるステップS101からステップS105までの処理と全く同じであるので、ここでは、その説明を省略する。
この第2の実施形態においては、図17において、ステップS404で、「親ワード」のうちの一つが選択指示されたと判別したときには、CPU101は、図12(B)に示したように、選択指示された「親ワード」と、それより後に表示された他の「親ワード」とを表示領域114Dの下方に落下させるアニメーションを表示する(ステップS406)。
次に、CPU101は、選択指示された「親ワード」の語句の文字列に、戻る指示操作用マークを意味する「×」を付加した文字列が含まれる文字列表示枠205を、消去されずに表示されている上位の「親ワード」の文字列表示枠203の最後の行の直下の1行全体に、表示する(ステップS407)。
次に、CPU101は、選択指示された「親ワード」の下位の階層の複数個の「子ワード」を、メモリ104から順次に読み出して、選択指示された「親ワード」の文字列に、「戻る」を意味する「×」印を付加した文字列が表示された文字列表示枠205の1行の直下から、上述の図13〜図14に示したように、1語句ずつを、順次に表示するワード表示処理を実行する(ステップS408)。
次に、CPU101は、選択指示された「親ワード」の語句の文字列に、戻る指示操作用マークが表示された1行の文字列表示枠205内が選択指示されたか否かにより、戻る指示操作がなされたか否か判別する(図18のステップS411)。
このステップS411で、戻る指示操作がなされたと判別したときには、CPU101は、選択指示された「親ワード」の語句の文字列に、戻る指示操作用マークが表示された1行の文字列表示枠205と、その行より下に表示されていた「子ワード」の全てを落下させるアニメーションを表示し(ステップS412)、その後、図15(C)に示したような複数の「親ワード」が表示された表示画面に戻す処理を実行する(ステップS413)。
CPU101は、このステップS413の後には、処理をステップS404に戻し、このステップS404以降の処理を繰り返す。
次に、ステップS411で、戻る指示操作がなされていないと判別したときには、CPU101は、表示されている複数個の「子ワード」のうちの一つが選択指示されたか否か判別する(ステップS414)。CPU101は、このステップS414で「子ワード」のうちの一つが選択指示されてはいないと判別したときには、例えばボタン操作や他の操作指示により、当該表示処理の終了指示がなされたか否か判別し(ステップS415)、終了指示がなされていないと判別したときには、処理をステップS411に戻し、終了指示がなされたと判別したときには、この表示処理のルーチンを終了する。
ステップS414で、「子ワード」のうちの一つが選択指示されたと判別したときには、CPU101は、選択指示された「子ワード」と、それより後に表示されていた他の「子ワード」とを表示領域114Dの下方に落下させるアニメーションを表示する(ステップS416)。
次に、CPU101は、選択指示された「子ワード」の語句の文字列に、戻る指示操作用マークを意味する「×」を付加した文字列が表示される文字列表示枠206を、消去されずに表示されている上位の「子ワード」の文字列表示枠204の最後の行の直下の1行全体に、表示する(ステップS417)。
次に、CPU101は、選択指示された「子ワード」の下位の階層の1個または複数個の関連情報を、メモリ104から読み出して、選択指示された「子ワード」の語句を表示した文字列表示枠206の1行の直下から、順次に表示する処理を実行する(ステップS418)。
次に、CPU101は、選択指示された「親ワード」の語句の文字列に、戻る指示操作用マークが表示された1行の文字列表示枠205内が選択指示されたか否かにより、戻る指示操作がなされたか否か判別する(図19のステップS421)。このステップS421で、戻る指示操作がなされたと判別したときには、CPU101は、処理をステップS412に戻し、このステップS412以降の処理を繰り返す。
ステップS421で、1行の文字列表示枠205内が選択指示されてはいないと判別したときには、CPU101は、選択指示された「子ワード」の語句の文字列に、戻る指示操作用マークが表示された1行の文字列表示枠206内が選択指示されたか否かにより、戻る指示操作がなされたか否か判別する(ステップS422)。
CPU101は、このステップS422で、1行の文字列表示枠206内が選択指示されてはおらず、戻る指示操作はなされていないと判別したときには、例えばボタン操作や他の操作指示により、当該表示処理の終了指示がなされたか否か判別し(ステップS423)、終了指示がなされていないと判別したときには、処理をステップS421に戻し、終了指示がなされたと判別したときには、この表示処理のルーチンを終了する。
ステップS422で、1行の文字列表示枠206内が選択指示されたため、戻る指示操作がなされたと判別したときには、CPU101は、当該選択指示された1行全体の文字列表示枠206の表示およびその下に表示されている表示事項の全てを表示領域114Dの下方に落下させるアニメーションを表示する(ステップS424)。次に、CPU101は、選択された「子ワード」以下の表示されていない「子ワード」の全てを、ワード表示処理に従い、1語句ずつ追加表示して、選択されている「親ワード」の「子ワード」を順次に表示する表示状態に戻す処理を実行する(ステップS425)。CPU101は、このステップS425の次には、処理をステップS414に戻し、このステップS414以降の処理を繰り返す。
以上説明したように、第2の実施形態では、ユーザが所定の指示操作をしたことに起因して、表示画面が切り替わるときに、アニメーション表示が、その切り替え前後の表示画面に間に表示されるので、エンターテインメント性を高めたグラフィカル・ユーザ・インターフェースを実現することができる。
そして、この第2の実施形態におい「親ワード」や「子ワード」などは、表示領域から落下するアニメーションとするようにしたが、このアニメーションは、ユーザに、落下した表示項目は、表示領域外の下方に表示されていることを暗示するアニメーションとなり、使い勝手が良い。
すなわち、第1の実施形態で説明したように、所定の「親ワード」を選択したときに、その選択された「親ワード」の下位の階層の複数の「子ワード」が表示される。そして、表示領域114Dの表示画面を上方にスクロールすると、複数の「子ワード」の次に、落下した「親ワード」が表示されるのを観視することができる。前記アニメーションは、このスクロールすることで、落下した「親ワード」を観視することができることを暗示するものとなり、便利である。「子ワード」に関しても、同様である。
[第2の実施形態の変形例]
図12〜図14を用いて説明した第2の実施形態においては、文字列表示枠201〜203内に文字列がそれぞれ表示された複数の「親ワード」の一つ、あるいは文字列表示枠204内に文字列がそれぞれ表示された複数の「子ワード」の一つをユーザが選択指示したときには、その選択指示された「親ワード」や「子ワード」の文字列表示枠201,202,203や203の部分も、表示領域114Dの下方に落下させるようにアニメーションを行うようにした。同様に、「親ワード」や「子ワード」の一つが選択された後に表示される当該「親ワード」や「子ワード」の文字列に「×」印が付加されて1行表示された文字列表示枠205や206の部分も、それが選択指示されたときに、表示領域114Dの下方に落下させるようにアニメーションを行うようにした。
しかし、その選択指示された「親ワード」や「子ワード」の文字列表示枠201,202,203または204の部分や、「親ワード」や「子ワード」の文字列に「×」印が付加されて1行表示された文字列表示枠205や206の部分は落下させずに、アニメーションを行うにしても良い。
すなわち、例えば、図20(A)に示すように、表示領域114D内に複数の「親ワード」が表示されていたときに、文字列「4 オセアニア」が表示された文字列表示枠203内がユーザにより選択指示されたときには、図20(B)に示すように、「親ワード」の「オセアニア」よりの後に表示されている5 北アメリカ」および「6 南アメリカ」の文字列表示枠203の部分のみが落下してゆくアニメーションが表示する。
次に、「5 北アメリカ」および「6 南アメリカ」の文字列が表示された文字列表示枠203の落下後、図20(C)に示すように、「4 オセアニア ×」の文字列が表示された1行表示の文字列表示枠205が、「3 ヨーロッパ」の一部「ッパ」が表示されている行の下の1行全体に渡って表示される。その後、図13(D),(E),(F)および図14(G)、(H)に示したように、選択された「親ワード」である「オセアニア」の下位の階層の「子ワード」が、検索結果の順位(ランク)順に、1語句毎に、順次に追加されてゆくアニメーションが表示され、最終的に、図14(H)に示す、図3(B)と同じ表示画面が表示される。
また、図21(A)に示すように、一つの「親ワード」が選択指示されて、その「親ワード」の下位の階層の複数個の全ての「子ワード」が表示されているときに、選択された「親ワード」の1行表示の例である「4 オセアニア ×」の文字列表示枠205がユーザにより選択指示された場合には、図21(B)に示すように、「4 オセアニア ×」の文字列表示枠205の文字列は落下させずに、複数個の「子ワード」の文字列表示枠204の全てを落下させるアニメーションを表示する。そして、その後、「4 オセアニア ×」の文字列表示枠205を消去し、更に、「親ワード」について、「4 オセアニア」、「5 北アメリカ」、「6 南アメリカ」が、一つずつ順次に追加されるようにされて、最終的に、図21(C)に示す、元の複数の「親ワード」が順次に表示される表示画面に復帰する。
更に、図22(A)の表示画面において、選択された「子ワード」の1行表示の例である「ツバル ×」の文字列表示枠206がユーザにより選択指示されると、CPU101は、図22(B)に示すように、当該選択指示された「ツバル ×」の文字列表示枠206は落下させずに、「子ワード」の「ツバル」に関連する関連情報が表示された表示枠207の全てを、順番に落下させてゆくアニメーションを表示する。
そして、CPU101は、「ツバル」に関連する関連情報の表示枠207が落下するアニメーションの後、「ツバル ×」の文字列表示枠206を消去し、さらに、「子ワード」の「ツバル」から後に表示されていた全ての「子ワード」を、一つずつ追加するようにして、最終的に、図22(C)に示す、元の複数の「子ワード」が順次に表示される表示画面に復帰させるようにする。
なお、以上の第2の実施形態のアニメーションにおける落下のアニメーションは、矩形の文字列表示枠201〜206および表示枠207の部分を、そのまま垂直に落下させるようにした。しかし、矩形の文字列表示枠201〜206および表示枠207を、傾けながら、落下させるようなアニメーションとするようにしても良い。
すなわち、図23は、そのようなアニメーション表示の例を示す図である。この図23の例は、例えば図14(H)に示すように、「親ワード」の「オセアニア」が選択されて、当該「オセアニア」の下位の階層の複数個の「子ワード」が表示されている状態において、特定の一つの「子ワード」、図23の例では、「ツバル」が選択されたときのアニメーションの例である。
図23(A)は、「ツバル」が選択された直後の表示例であり、CPU101は、先ず、「子ワード」の「ツバル」よりも後に表示されている「子ワード」の文字列が表示されている文字列表示枠204の全てを、表示領域114Dの縦方向の中心線(表示領域114Dの横方向の中心を結んだ線)に向かうように傾ける。すなわち、CPU101は、表示領域114Dの横方向の左側にある「子ワード」の文字列が表示されている文字列表示枠204の全ては、右下がりに傾け、表示領域114Dの横方向の右側にある「子ワード」の文字列が表示されている文字列表示枠204の全ては、左下がりに傾ける。
次に、CPU101は、図23(B)に示すように、それら傾けた「子ワード」の文字列が表示されている文字列表示枠204の全てを、その傾いた状態で落下させるようにする。
そして、図示は省略するが、CPU101は、その後、「子ワード」の「ツバル」の下位の階層の関連情報を表示するようにする(例えば図22(A)参照)。
[その他の実施形態または変形例]
なお、表示対象の語句は、以上の例のような単語ではなく、単語と前置詞や接続詞や助詞などとを組み合わせた句(フレーズ)であっても良いし、文であっても良い。
また、上述の例では、表示制御対象の情報は、インターネットを通じて所定のサーバに要求して取得した情報としたが、メモリ104に予め格納されている情報であっても、勿論良い。要は、図2の例のような階層構造を有する情報であれば、この例の表示制御の対象となる情報となりえる。
なお、上述の例では、表示領域は矩形領域としたが、矩形領域に限られるものではなく、三角領域、5角形領域、6角形領域、平行四辺形領域、台形領域であっても良い。
なお、上述の実施形態では、語句の属性情報としては、検索キーワードに合致した件数の多い順の順位情報としたが、語句の属性情報としては、これに限られるものではない。例えば、地域や国の大きさを属性情報として、当該地域や国の大きさに応じて、語句の文字列表示枠の大きさや文字の大きさを変更するようにしても良い。語句の文字列表示枠の大きさや文字の大きさを変更する基礎となる属性情報としては、その他種々の属性情報が採用できる。
また、「親ワード」の地域名称の語句には、その属性情報、この例では順位(ランク)に応じた区別をするために、その語句の文字列表示枠の大きさおよび文字の大きさを、順位(ランク)に応じて変更するようにしたが、属性に応じた区別のためには、大きさを変更する方法のみではなく、例えば表示色を変える、二重枠と一重枠とで変更するなど表示枠の形状などを変更する、など、種々の変更方法を採用することができる。
また、上述の実施形態では、文字列は、文字列表示枠で囲んで示す例を示した。しかし、文字列表示枠は必ずしも表示する必要はない。例えば、枠表示するのではなく、枠で囲んだ領域に対応する部分を灰色などの諧調で表示して、その周囲と区別できるようにすることで、視覚的に、枠で囲んだのと同等の表示をすることもできる。
また、上述の第2の実施形態では、複数の「子ワード」を順次に、1個ずつ追加表示するようなアニメーションの例を示したが、語句が追加表示されるアニメーションとしては、このような例に限られるものではない。例えば、行に沿う方向の、例えば右側から、語句が移動してきて、1語句ずつ追加されるようなアニメーションとするようにしても良いし、その他、種々の語句の追加のアニメーション表示が可能である。例えば、複数個の語句を、表示領域内の或る一点(例えば、消去しようとする複数の語句群の中心位置)を中心として放射状に拡散するように移動させて、表示領域から消えるようなアニメーションとするようにしても良い。
また、上述の実施形態では、「親ワード」や「子ワード」を選択指示したときには、その「親ワード」や「子ワード」の文字列に「戻る」を示す「×」印などのマークを付加した1行を、行方向の全体に渡って表示するようした。しかし、当該「親ワード」や「子ワード」の文字列に「戻る」を示すマークなどを付加した行は、行方向の全体に渡って表示する必要はなく、1行の途中までの表示としても良いことは言うまでもない。ただし、その場合においても、当該行の余白には、他の文字列などは表示しないようにするものである。
また、以上の実施形態では、電子機器は、表示画面が小型の携帯電話端末の場合を例に取ったが、この発明が適用される電子機器は、携帯電話端末などの表示画面が小型の電子機器に限られるものではなく、表示画面を備え、この表示画面内の所定の表示領域に複数個の語句を並べて表示するようにする電子機器であれば、パッド型端末やパーソナルコンピュータ、その他のどのような電子機器であっても、この発明は適用可能である。