(57)【要約】【課題】コンテンツのレイアウトを変化させずに拡大表示を行う。【解決手段】タイトル表示ブロック４１、画像表示ブロック４２、テキスト表示ブロック４３−１、およびテキスト表示ブロック４３−２は、それぞれブロック単位で処理が行われる。例えば、拡大の処理が行われた場合、それぞれのブロックに対して順次拡大の処理が行われる。各ブロックの表示位置は、前のブロックの表示位置に依存しているため、拡大などの処理が行われても、その表示の順番が変更されることはない。また、一定の拡大率の範囲内なら、そのレイアウトが変更されることもない。本発明は、電子書籍を扱う装置に適用できる。【選択図】　　　図３
2004118478.tif 000002
【特許請求の範囲】
【請求項１】
複数のブロックに分割されたコンテンツのコンテンツデータであり、連続して表示すべき前記ブロックに関し、前のブロックの位置から相対的に求められる位置を次のブロックの表示位置とするための位置データを含む前記コンテンツデータを記憶する記憶手段と、
前記記憶手段に記憶されている前記コンテンツデータと、そのコンテンツデータに含まれる前記位置データに基づき、所定のブロックの所定の位置への表示を前記ブロック毎に順次制御することにより、前記コンテンツの表示を制御する表示制御手段と、
前記表示制御手段により制御され、前記コンテンツを表示する表示手段と
を含み、
前記表示制御手段は、
前記コンテンツ内の所定の前記ブロックを拡大した表示が指示された場合、前記コンテンツが縦方向にスクロールされることにより全体が参照されるように前記ブロックが配置されているとき、前記表示手段の表示領域の横方向に、拡大後の前記ブロックの一部がはみ出すようなことがないか否かを判断し、前記コンテンツが横方向にスクロールされることにより全体が参照されるように前記ブロックが配置されているとき、前記表示手段の表示領域の縦方向に、拡大後の前記ブロックの一部がはみ出すようなことがないか否かを判断する判断手段と、
前記判断手段により、前記表示領域の横方向または縦方向に拡大後の前記ブロックの一部がはみ出してしまうと判断された場合、前記ブロックに設定され、前記コンテンツデータに含まれるデータに基づいて、前記ブロックを変形する変形手段と
を含むことを特徴とする情報処理装置。
【請求項２】
前記表示制御手段は、前記表示領域を１ページとし、前記ブロック内に表示される前記コンテンツが画像である場合、その画像を表示するブロックが、連続して表示される前のブロックと同一のページに収まるか否かを判断し、前記同一のページに収まらないと判断されたとき、前記同一のページとは別のページとして前記画像を表示するブロックが表示されるように表示を制御する
ことを特徴とする請求項１に記載の情報処理装置。
【請求項３】
複数のブロックに分割されたコンテンツのコンテンツデータであり、連続して表示すべき前記ブロックに関し、前のブロックの位置から相対的に求められる位置を次のブロックの表示位置とするための位置データを含む前記コンテンツデータの記憶を制御する記憶制御ステップと、
前記記憶制御ステップの処理で記憶が制御された前記コンテンツデータと、そのコンテンツデータに含まれる前記位置データに基づき、所定のブロックの所定の位置への表示を前記ブロック毎に順次制御することにより、前記コンテンツの表示を制御する表示制御ステップと
を含み、
前記表示制御ステップは、
前記コンテンツ内の所定の前記ブロックを拡大した表示が指示された場合、前記コンテンツが縦方向にスクロールされることにより全体が参照されるように前記ブロックが配置されているとき、制御する表示領域の横方向に、拡大後の前記ブロックの一部がはみ出すようなことがないか否かを判断し、前記コンテンツが横方向にスクロールされることにより全体が参照されるように前記ブロックが配置されているとき、前記表示領域の縦方向に、拡大後の前記ブロックの一部がはみ出すようなことがないか否かを判断する判断ステップと、
前記判断ステップにより、前記表示領域の横方向または縦方向に拡大後の前記ブロックの一部がはみ出してしまうと判断された場合、前記ブロックに設定され、前記コンテンツデータに含まれるデータに基づいて、前記ブロックを変形する変形ステップと
を含むことを特徴とする情報処理方法。
【請求項４】
複数のブロックに分割されたコンテンツのコンテンツデータであり、連続して表示すべき前記ブロックに関し、前のブロックの位置から相対的に求められる位置を次のブロックの表示位置とするための位置データを含む前記コンテンツデータの記憶を制御する記憶制御ステップと、
前記記憶制御ステップの処理で記憶が制御された前記コンテンツデータと、そのコンテンツデータに含まれる前記位置データに基づき、所定のブロックの所定の位置への表示を前記ブロック毎に順次制御することにより、前記コンテンツの表示を制御する表示制御ステップと
を含み、
前記表示制御ステップは、
前記コンテンツ内の所定の前記ブロックを拡大した表示が指示された場合、前記コンテンツが縦方向にスクロールされることにより全体が参照されるように前記ブロックが配置されているとき、制御する表示領域の横方向に、拡大後の前記ブロックの一部がはみ出すようなことがないか否かを判断し、前記コンテンツが横方向にスクロールされることにより全体が参照されるように前記ブロックが配置されているとき、前記表示領域の縦方向に、拡大後の前記ブロックの一部がはみ出すようなことがないか否かを判断する判断ステップと、
前記判断ステップにより、前記表示領域の横方向または縦方向に拡大後の前記ブロックの一部がはみ出してしまうと判断された場合、前記ブロックに設定され、前記コンテンツデータに含まれるデータに基づいて、前記ブロックを変形する変形ステップと
を含むことを特徴とするコンピュータが読み取り可能なプログラムが記録されている記録媒体。
【請求項５】
複数のブロックに分割されたコンテンツのコンテンツデータであり、連続して表示すべき前記ブロックに関し、前のブロックの位置から相対的に求められる位置を次のブロックの表示位置とするための位置データを含む前記コンテンツデータの記憶を制御する記憶制御ステップと、
前記記憶制御ステップの処理で記憶が制御された前記コンテンツデータと、そのコンテンツデータに含まれる前記位置データに基づき、所定のブロックの所定の位置への表示を前記ブロック毎に順次制御することにより、前記コンテンツの表示を制御する表示制御ステップと
を含み、
前記表示制御ステップは、
前記コンテンツ内の所定の前記ブロックを拡大した表示が指示された場合、前記コンテンツが縦方向にスクロールされることにより全体が参照されるように前記ブロックが配置されているとき、制御する表示領域の横方向に、拡大後の前記ブロックの一部がはみ出すようなことがないか否かを判断し、前記コンテンツが横方向にスクロールされることにより全体が参照されるように前記ブロックが配置されているとき、前記表示領域の縦方向に、拡大後の前記ブロックの一部がはみ出すようなことがないか否かを判断する判断ステップと、
前記判断ステップにより、前記表示領域の横方向または縦方向に拡大後の前記ブロックの一部がはみ出してしまうと判断された場合、前記ブロックに設定され、前記コンテンツデータに含まれるデータに基づいて、前記ブロックを変形する変形ステップと
をコンピュータに実行させることを特徴とするプログラム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置および方法、記録媒体、並びにプログラムに関し、特に、テキストデータや画像データを扱う装置に用いて好適な情報処理装置および方法、記録媒体、並びにプログラムに関する。
【０００２】
【従来の技術】
テキストデータから構成される電子書籍が一般に普及しつつある。電子書籍は、紙の書籍（以下、紙書籍と称する）で、一般に活字として記録されている情報をテキストデータの情報として、所定の電子書籍用の端末装置により、あたかも紙書籍によりページが見開きの状態となっているように表示されるものである。電子書籍は、所定のボタンにより１ページ分の画像がスライドして表示されることにより、あたかも紙書籍を広げて、１ページずつ捲っているかのように表示される。
【０００３】
従来の電子書籍用の端末装置は、読みやすい表示を行うために、表示部が一時に表示し得る最大の文字数分の範囲内において、書籍用のテキストデータを、予め設定されている区切りに関するファイルに規定されている条件に基づいて、順次区切り、区切った各区切り単位のテキストデータを表示部に順次表示させるようにしている（例えば、特許文献１参照）。
【０００４】
【特許文献１】
特開２００２―１９７０８８号公報
【０００５】
【発明が解決しようとする課題】
電子書籍用の端末装置は、ユーザが携帯可能な大きさに設計さている。そのために、その端末装置のテキストデータを表示する表示部の大きさには制限があり、必ずしも、その大きさが全てのユーザにとって最適なものであるとは限らない。例えば、ユーザにより、同じ領域に同じ大きさで同じ文字が表示されていても、その見やすさには差異がある。
【０００６】
そこで、限られた表示領域の中で、テキストデータを見やすくするために、上述した特開２００２―１９７０８８号公報に開示されているようなことが提案されている。しかしながら、特開２００２−１９７０８８号公報においては、表示部が一時に表示し得る最大の文字数分の範囲内において、書籍用のテキストデータを、予め設定されている区切りに関するファイルに規定されている条件に基づいて、順次区切り、区切った各区切り単位のテキストデータを表示部に順次表示させるようにしているが、その文字の大きさが適切なものであるとは限らない。
【０００７】
例えば、視力の良いユーザは、与えられた文字の大きさで読みやすいかもしれないが、視力の悪いユーザは、与えられた文字の大きさよりもさらに大きい文字の方が読みやすいと思うこともあるであろうと考えられる。すなわち、ユーザの好みの文字の大きさで表示させることができないといった問題があった。
【０００８】
また、表示部に表示できる最大の文字数で表示を行うということは、小説のような文字の羅列だけで構成されているようなテキストデータの場合はまだ良いが、新聞や雑誌などの静止画像が含まれ、コンテンツの全体としてのレイアウト自体にも特徴があるもの、文字の羅列だけだが、レイアウト自体に特徴を有するようなもの（例えば、脚本のようなセリフ毎に段落を変えた方が良いようなもの）などには、適していない。
【０００９】
すなわち、静止画やテキストのレイアウト自体もユーザに提供することは、ユーザにとってもそのコンテンツをより楽しめる要因となり、また、コンテンツを作成した作成者の意志も尊重でき、好ましい状態であるが、これらのことは上述した特開２００２−１９７０８８号公報などで開示されている方法では解決できない問題であった。
【００１０】
本発明はこのような状況に鑑みてなされたものであり、ユーザに適切な大きさの文字や画像を提供できるようにし、レイアウトなどの著作権者の意志を反映したコンテンツの表示を提供することを目的とする。
【００１１】
【課題を解決するための手段】
本発明の情報処理装置は、複数のブロックに分割されたコンテンツのコンテンツデータであり、連続して表示すべきブロックに関し、前のブロックの位置から相対的に求められる位置を次のブロックの表示位置とするための位置データを含むコンテンツデータを記憶する記憶手段と、記憶手段に記憶されているコンテンツデータと、そのコンテンツデータに含まれる位置データに基づき、所定のブロックの所定の位置への表示をブロック毎に順次制御することにより、コンテンツの表示を制御する表示制御手段と、表示制御手段により制御され、コンテンツを表示する表示手段とを含み、表示制御手段は、コンテンツ内の所定のブロックを拡大した表示が指示された場合、コンテンツが縦方向にスクロールされることにより全体が参照されるようにブロックが配置されているとき、表示手段の表示領域の横方向に、拡大後のブロックの一部がはみ出すようなことがないか否かを判断し、コンテンツが横方向にスクロールされることにより全体が参照されるようにブロックが配置されているとき、表示手段の表示領域の縦方向に、拡大後のブロックの一部がはみ出すようなことがないか否かを判断する判断手段と、判断手段により、表示領域の横方向または縦方向に拡大後のブロックの一部がはみ出してしまうと判断された場合、ブロックに設定され、コンテンツデータに含まれるデータに基づいて、ブロックを変形する変形手段とを含むことを特徴とする。
【００１２】
前記表示制御手段は、表示領域を１ページとし、ブロック内に表示されるコンテンツが画像である場合、その画像を表示するブロックが、連続して表示される前のブロックと同一のページに収まるか否かを判断し、同一のページに収まらないと判断されたとき、同一のページとは別のページとして画像を表示するブロックが表示されるように表示を制御するようにすることができる。
【００１３】
本発明の情報処理方法は、複数のブロックに分割されたコンテンツのコンテンツデータであり、連続して表示すべきブロックに関し、前のブロックの位置から相対的に求められる位置を次のブロックの表示位置とするための位置データを含むコンテンツデータの記憶を制御する記憶制御ステップと、記憶制御ステップの処理で記憶が制御されたコンテンツデータと、そのコンテンツデータに含まれる位置データに基づき、所定のブロックの所定の位置への表示をブロック毎に順次制御することにより、コンテンツの表示を制御する表示制御ステップとを含み、表示制御ステップは、コンテンツ内の所定のブロックを拡大した表示が指示された場合、コンテンツが縦方向にスクロールされることにより全体が参照されるようにブロックが配置されているとき、制御する表示領域の横方向に、拡大後のブロックの一部がはみ出すようなことがないか否かを判断し、コンテンツが横方向にスクロールされることにより全体が参照されるようにブロックが配置されているとき、表示領域の縦方向に、拡大後のブロックの一部がはみ出すようなことがないか否かを判断する判断ステップと、判断ステップにより、表示領域の横方向または縦方向に拡大後のブロックの一部がはみ出してしまうと判断された場合、ブロックに設定され、コンテンツデータに含まれるデータに基づいて、ブロックを変形する変形ステップとを含むことを特徴とする。
【００１４】
本発明の記録媒体のプログラムは、複数のブロックに分割されたコンテンツのコンテンツデータであり、連続して表示すべきブロックに関し、前のブロックの位置から相対的に求められる位置を次のブロックの表示位置とするための位置データを含むコンテンツデータの記憶を制御する記憶制御ステップと、記憶制御ステップの処理で記憶が制御されたコンテンツデータと、そのコンテンツデータに含まれる位置データに基づき、所定のブロックの所定の位置への表示をブロック毎に順次制御することにより、コンテンツの表示を制御する表示制御ステップとを含み、表示制御ステップは、コンテンツ内の所定のブロックを拡大した表示が指示された場合、コンテンツが縦方向にスクロールされることにより全体が参照されるようにブロックが配置されているとき、制御する表示領域の横方向に、拡大後のブロックの一部がはみ出すようなことがないか否かを判断し、コンテンツが横方向にスクロールされることにより全体が参照されるようにブロックが配置されているとき、表示領域の縦方向に、拡大後のブロックの一部がはみ出すようなことがないか否かを判断する判断ステップと、判断ステップにより、表示領域の横方向または縦方向に拡大後のブロックの一部がはみ出してしまうと判断された場合、ブロックに設定され、コンテンツデータに含まれるデータに基づいて、ブロックを変形する変形ステップとを含むことを特徴とする。
【００１５】
本発明のプログラムは、複数のブロックに分割されたコンテンツのコンテンツデータであり、連続して表示すべきブロックに関し、前のブロックの位置から相対的に求められる位置を次のブロックの表示位置とするための位置データを含むコンテンツデータの記憶を制御する記憶制御ステップと、記憶制御ステップの処理で記憶が制御されたコンテンツデータと、そのコンテンツデータに含まれる位置データに基づき、所定のブロックの所定の位置への表示をブロック毎に順次制御することにより、コンテンツの表示を制御する表示制御ステップとを含み、表示制御ステップは、コンテンツ内の所定のブロックを拡大した表示が指示された場合、コンテンツが縦方向にスクロールされることにより全体が参照されるようにブロックが配置されているとき、制御する表示領域の横方向に、拡大後のブロックの一部がはみ出すようなことがないか否かを判断し、コンテンツが横方向にスクロールされることにより全体が参照されるようにブロックが配置されているとき、表示領域の縦方向に、拡大後のブロックの一部がはみ出すようなことがないか否かを判断する判断ステップと、判断ステップにより、表示領域の横方向または縦方向に拡大後のブロックの一部がはみ出してしまうと判断された場合、ブロックに設定され、コンテンツデータに含まれるデータに基づいて、ブロックを変形する変形ステップとをコンピュータに実行させることを特徴とする。
【００１６】
本発明の情報処理装置および方法、並びにプログラムにおいては、コンテンツが複数のブロックに分割され、各ブロックは、前後関係が規定されており、その規定により表示される順が規定される。拡大が指示された際、ブロック毎に拡大の処理が実行され、拡大されることにより、１ページとして表示されないようなときには、２ページに分割されて表示が行われる。
【００１７】
【発明の実施の形態】
以下に、本発明の実施の形態について図面を参照して説明する。図１は、本発明の情報処理装置としての電子書籍を扱うユーザ端末の一実施の形態の外観の構成を示す図である。ユーザ端末１には、表示部２が設けられている。この表示部２には、文字や画像が表示される。
【００１８】
表示部２の下側には、表示部２に表示されている文字や画像を拡大または縮小する際に操作される拡大ボタン３−１と縮小ボタン３−２が設けられている。また、表示部２の下側には、表示部２に表示されているカーソル（不図示）を所望の位置に移動させるためのボタン４−１乃至４−４が設けられている。以下の説明において、ボタン４−１乃至４−４を個々に区別する必要がない場合、単にボタン４と記述する。また、他の部分も同様に記述する。
【００１９】
ユーザ端末１の側面には、ドライブ５が設けられており、そのドライブ５から種々のデータを読み込めるようになっている。
【００２０】
ここでは、以下の説明において必要とされるボタンなどしか示さないが、図１に示した外観の構成に本実施の形態が限定されるものではない。例えば、拡大ボタン３−１や縮小ボタン３−２などをジョグダイアル（商標）などで構成するようにしても良いし、ドライブ５の位置は、ユーザ端末１の下側などに設けられるようにしても良い。
【００２１】
またここでは、ボタン４を設けるようにし、そのボタン４により表示されているカーソルが操作されるとして説明するが、例えば、タッチペンなどを設け、カーソルを移動させる代わりに、そのタッチペンにより直接表示部２に表示されている画像などを選択できるようにしても良いし、外部接続されるマウスなどでカーソルが操作されるようにしても良い。
【００２２】
また、図１に示したユーザ端末１には、外観の構成として、他の装置とデータの授受を行うための通信部を示していないが、ユーザ端末１は、インターネットなどのネットワークを介して電子書籍のデータをダウンロードできるようになっており、その通信を行うための通信部も設けられている。
【００２３】
図２は、ユーザ端末１の内部構成例を示す図である。端末２のＣＰＵ（Ｃｅｎｔｒａｌ　Ｐｒｏｃｅｓｓｉｎｇ　Ｕｎｉｔ）１１は、ＲＯＭ（Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ）１２に記憶されているプログラムに従って各種の処理を実行する。ＲＡＭ（Ｒａｎｄｏｍ　Ａｃｃｅｓｓ　Ｍｅｍｏｒｙ）１３には、ＣＰＵ１１が各種の処理を実行する上において必要なデータやプログラムなどが適宜記憶される。入出力インタフェース１５は、拡大ボタン３−１、縮小ボタン３−２、ボタン４―１乃至４−４から構成される入力部１６が接続され、入力部１６に入力された信号をＣＰＵ１１に出力する。
【００２４】
また、入出力インタフェース１５には、表示部２も接続されている。さらに、入出力インタフェース１５には、ハードディスクなどから構成される記憶部１７、および、インターネットなどのネットワークを介して他の装置とデータの授受を行う通信部１８も接続されている。ドライブ５は、磁気ディスク２１、光ディスク２２、光磁気ディスク２３、半導体メモリ２４などの記録媒体からデータを読み出したり、データを書き込んだりするときに用いられる。
【００２５】
他の装置から提供され、通信部１８により受信されたデータは、記憶部１７に記憶され、その記憶されたデータに基づくテキストや画像が、表示部２に表示される。または、ドライブ５によりセットされた磁気ディスク２１、光ディスク２２、光磁気ディスク２３、または、半導体メモリ２４などの記録媒体に記録されているデータが読み出され、その読み出されたデータに基づくテキストや画像が、表示部２に表示される。以下の説明においては、表示部２に表示されるテキストや画像を、適宜、コンテンツと称し、そのコンテンツに関わるデータをコンテンツデータと称する。
【００２６】
図３は、表示部２に表示されるコンテンツの一例を示す図である。図３に示した例では、表示部２の上側に、コンテンツのタイトルが表示されるタイトル表示ブロック４１が表示されている。そのタイトル表示ブロック４１の下側の、左側には、画像が表示される画像表示ブロック４２が表示されており、その右側には、テキストが表示されるテキスト表示ブロック４３−１が表示されている。
【００２７】
さらに表示部２の下側には、テキストを表示するテキスト表示ブロック４３−２が表示されている。以下の説明においてはタイトル表示ブロック４１、画像表示ブロック４２、テキスト表示ブロック４３−１，４３−２を、適宜、ブロックと総称する。
【００２８】
図３に示した表示部２に表示されるコンテンツは、一例であり、限定を示すものではない。すなわち、レイアウトなどは、コンテンツにより変更されるし、説明の都合上、例えば、タイトルが表示されるタイトル表示ブロック４１が表示されるとして示したが、タイトルがないコンテンツにおいては、タイトル表示ブロック４１は表示されないし、タイトルが表示されるときであっても、その位置は、表示部２の上側に限定されなくても良い。
【００２９】
さらに付言するに、これらの表示ブロック４１乃至４３は、予め表示部２に設定されている領域ではなく、換言すれば、例えば、タイトル表示ブロック４１というブロックが予め設定されているのではなく、説明のために付したものであり、上述したように、これらのブロックの表示される位置や内容は、記憶部１７や記録媒体に記憶されているデータなどに基づき決定されるものである。
【００３０】
従って、例えば、小説のようなコンテンツが表示される場合、表示部２には、テキストしか表示されない。このような場合、テキスト表示ブロック４３が表示部２上に設けられ（付言するが、このようなテキスト表示ブロック４３というブロックがデータとして設定されているのではなく、説明の都合上、このように名称を付し、設けられていると記述している）、その設けられた（領域として確保された）テキスト表示ブロック４３内に、テキストが表示される。
【００３１】
図４は、図３に示したようなコンテンツを表示部２上に表示させるためのコンテンツデータの一例を示す図である。また、図５は、図４に示したようなコンテンツデータ５１内のコマンドの意味を説明するための図であり、適宜参照して説明する。図４に示したコンテンツデータ５１のうち、左側に付した行番号は、説明のために付したものであり、実際のコンテンツデータに付す必要はない。
【００３２】
コンテンツデータ５１の１行目には、“Ｏｂｊ”という、オブジェクトであることを宣言するコマンドが記述されている。このコマンドには、オブジェクトの属性（タイプ）を指定するための“Ｔｙｐｅ”というコマンドが対になって用いられる。１行目には、図３に示したようなコンテンツを表示するためのデータの開始であることを示すコマンド、すなわち、図３に示したような１ページを表示するためのデータの開始であることを示すコマンドが記述されており、オブジェクトナンバーが１であること、属性がＰａｇｅ（ページ）であることが記述されている。
【００３３】
２行目の“Ｒｅｆｅｒｔｏ”というコマンドで、参照するオブジェクトナンバーが記述されている。図４に示した２行目では、オブジェクトナンバー２を参照するように記述されている。オブジェクトナンバー２のオブジェクトは、１３乃至１７行目に記述されている。１３行目に記述があるように、オブジェクトのタイプは“Ｂｌｏｃｋ”（ブロック）であることが宣言されている。
【００３４】
本実施の形態においては、このブロック単位で拡大や縮小といった処理が行われる。ブロックとは、ここでは、表示部２に表示されたときの表示領域の大きさを示し、その初期設定情報は、１４行目の“Ｉｎｉｔ”で記述されているオブジェクトナンバーに記述されている。１４行目では、初期設定情報は、オブジェクトナンバー２３のオブジェクト（不図示）に記述されていることが示されている。
【００３５】
１５行目において、“ＢｌｏｃｋＲｕｌｅ”（ブロックルール）が宣言されている。このブロックルールのところで、そのブロックに対して拡大や縮小などが指示されたときに、どのように拡大や縮小を実現するかが規定されている。ブロックルールについて、図６Ａ乃至図６Ｃと図７Ａ乃至図７Ｃを参照して説明する。なお、以下の説明においては、拡大の場合を例に挙げて説明するが、縮小の場合には、逆の処理を行えば良いだけで、同じルールを用いることが可能である。
【００３６】
図６Ａは、ブロックルール１を説明する図である。ブロックルール１は、主に、横書きのテキストに対して適用されるルールであり、拡大が指示された場合、拡大前のブロックの横幅を維持し、縦方向に拡大するというルールである。図６Ｂは、ブロックルール２を説明する図である。ブロックルール２は、主に、縦書きのテキストに対して適用されるルールであり、拡大が指示された場合、拡大前のブロックの縦幅を維持し、横方向に拡大するというルールである。
【００３７】
図６Ｃは、ブロックルール３を説明する図である。ブロックルール３は、主に、横書きのテキストに対して適用されるルールであり、拡大が指示された場合、まず、縦方向を拡大するが、描画可能領域（前後のブロックの関係などから、表示部２の表示領域のうち、このブロックが占有することができる領域であり、後述する処理により、算出される領域である）に収まらないと判断されたとき、横方向にも拡大するというルールである。
【００３８】
図７Ａは、ブロックルール４を説明する図である。ブロックルール４は、主に、縦書きのテキストに対して適用されるルールであり、拡大が指示された場合、まず、横方向を拡大するが、描画可能領域に収まらないと判断されたとき、縦方向にも拡大するというルールである。
【００３９】
図７Ｂは、ブロックルール５を説明する図である。ブロックルール５は、主に、画像に対して適用されるルールであり、拡大が指示された場合、縦方向と横方向を同等な比率で拡大するというルールである。図７Ｃは、ブロックルール６を説明する図である。ブロックルール６は、主に、画像に対して適用されるルールであり、拡大が指示されても、その大きさを変化させないというルールである。このように、画像に対しては、ブロックルール５またはブロックルール６を適用することにより、拡大の処理により、画像に歪みなどが生じてしまうような、コンテンツの作成者が意図してない画像になってしまうようなことを防ぐことができる。
【００４０】
図４に示したコンテンツデータ５１の説明に戻り、１５行目に規定されているブロックルールは、拡大が指示されたときに利用される情報であるため、図３に示したようなコンテンツを表示する上では、無視される情報である。次に１６行目で、オブジェクトナンバー１２を参照することが宣言されている。
【００４１】
オブジェクトナンバー１２のオブジェクトに関しては、３３乃至３８行目に記述されている。３３行目において、オブジェクトの属性が“Ｔｅｘｔ”（テキスト）であることが宣言され、そのテキストの内容が、３６行目で記述されている。このような流れにより、オブジェクトナンバー１２までのオブジェクトが順次処理されることにより、図３に示したタイトル表示ブロック４１のブロックが処理されたことになる。
【００４２】
３３乃至３８行目には、“Ｒｅｆｅｒｔｏ”として参照しているオブジェクトがなく、３３行目から順次行毎に処理が行われると、３８行目で、オブジェクトナンバー１２のオブジェクトの終了が宣言されている。終了が宣言されている場合、このオブジェクトに来る前のオブジェクト、この場合、オブジェクトナンバー２に処理が戻される。
【００４３】
オブジェクトナンバー２のオブジェクトにおいては、１６行目まで処理が終了されており、１７行目で、オブジェクトナンバー２のオブジェクトの終了が宣言されているため、このオブジェクトナンバー２の前に処理対象とされていたオブジェクトであるオブジェクトナンバー１のオブジェクトに処理が戻される。
【００４４】
オブジェクトナンバー１のオブジェクトにおいては、２行目まで処理が終了されており、３行目から処理が開始される。３行目において、“Ｙｓｐａｃｅ”として、次のブロックの描画の開始点をＹ軸方向（図８に示すように、Ｙ軸方向は、図中上下方向とし、上側がＹ軸の０ポイントとする）に移動させるコマンドが記述されている。この“Ｙｓｐａｃｅ”は、前のブロックのＹ方向の終了点から、“Ｙｓｐａｃｅ”で設定されている値だけＹ方向に、次のブロックの開始点をずらすということを規定するものである。
【００４５】
図８を参照して説明するに、タイトル表示ブロック４１のＹ軸方向の終了点６１が、図８に示した位置であると、３行目の＜Ｙｓｐａｃｅ　ｎｏ＝“２０”／＞というコマンドから、その終了点６１から２０だけＹ軸方向に移動した点が、次のブロック（この場合、画像表示ブロック４２）の描画が開始される開始点６２とされる。なお、２０だけＹ軸方向に移動するといった表現をしたが、単位は、例えば、２０ドット、２０ミリセンチメートルなどであり、設計段階で適宜決定される単位でよい。
【００４６】
開始点６２は、前のブロックとの相対的な位置としてＹ軸方向のみが規定されているが、Ｘ軸方向のみが規定されることもあるし、Ｘ軸方向とＹ軸方向の両方が規定されることもある。例えば、６行目では、“Ｘｓｐａｃｅ”として、Ｘ軸方向のみが規定されている。“Ｘｓｐａｃｅ”も、“Ｙｓｐａｃｅ”と同様に、新たなブロックの描画の開始点をＸ軸方向に移動させるためのコマンドであり、前のブロックのＸ方向の終了点から、“Ｘｓｐａｃｅ”で設定されている値だけＸ方向に、次のブロックの開始点をずらすということを規定するものである。なお、Ｘ方向は、図８に示したように、図中左右方向であり、図中左側を０ポイントとする。
【００４７】
ブロックの描画開始位置についてさらに説明するに、５行目に＜ＣｈａｎｇｅＳｔａｒｔ　ｎｏ＝“３”／＞とのコマンドがあるが、この“ＣｈａｎｇｅＳｔａｒｔ”は、描画開始基準点の変更を指示するコマンドである。描画開始基準点の変更とは、指定されたオブジェクトナンバーのオブジェクト（この場合指定されるオブジェクトの属性はブロックである）が描画された位置の描画開始点を、新たなブロックの描画位置の基準点と設定することを意味する。
【００４８】
図８の場合、“ＣｈａｎｇｅＳｔａｒｔ”により指定されたオブジェクトナンバーは“３”であり、オブジェクトナンバー３の描画開始点は、開始点６２である。この開始点６２が、新たなブロック、この場合、テキスト表示ブロック４３−１の描画開始点を決定するための基準点として設定される。その基準点から、Ｘ軸方向に５だけづらした点が、テキスト表示ブロック４３−１の描画の開始点６３として設定するということが、６行目で記述されている。
【００４９】
さらに、８行目で＜Ｒｅｓｅｔ／＞とのコマンドがあるが、この“Ｒｅｓｅｔ”は、描画開始基準点を描画可能なＹ軸上に移動させるためのコマンドである。図８を参照するに、既に、タイトル表示ブロック４１、画像表示ブロック４２、および、テキスト表示ブロック４３−１が表示されているため、これらのブロック以外の部分、すなわち、画像表示ブロック４２の下側の部分が、描画可能な領域である。
【００５０】
描画可能なＹ軸上とは、この場合、図８に示したように、画像表示ブロック４２の下側に位置する点６４にＹ軸方向で隣接する点となる。その隣接する点が、描画開始基準点とされる。その描画開始基準点から、９行目および１０行目のコマンドにより、テキスト表示ブロック４３−２の描画開始点６５が設定される。
【００５１】
このように、本実施の形態においては、ブロック単位で処理が行われ、各ブロックの表示位置は、前のブロックからの相対位置で規定されている。このように、前のブロックからの相対位置で表示位置を決定するということは、各ブロック間で、その表示順序が決定されるということである。すなわち、前のブロックが表示された後でないと、そのブロックの表示位置から相対的に表示位置が求められる後のブロックが表示されないため、結果として表示の順序を規定していることにもなる。
【００５２】
表示の順序が規定されるということは、ユーザにコンテンツが提供される際、ユーザがコンテンツを読む順序も規定される（通常、上から下、左から右に読むということを前提としている）ことになる。これにより、拡大などの処理が行われることにより、レイアウトが変更されてしまったような場合においても、表示される順序には変化がないため、結果として、ユーザがコンテンツを読む順序には変更がないということになる。
【００５３】
図４のコンテンツデータ５１に従って処理が行われることにより、図３に示したようなコンテンツが表示されるわけだが、この場合、その表示順序は、タイトル表示ブロック４１、画像表示ブロック４２、テキスト表示ブロック４３−１、テキスト表示ブロック４３−２の順になる。
【００５４】
このような図４に示したようなコンテンツデータ５１に記述されている各行のコマンドが順次処理されることにより、図３に示したようなコンテンツが表示部２に表示される。
【００５５】
次に、図９のフローチャートを参照し、図３に示したようなコンテンツが表示部２上に表示されるまでに、ユーザ端末１が行う処理について説明する。ステップＳ１１において、表示部２に表示させるコンテンツのコンテンツデータ５１が取得される。この取得は、例えば、通信部１８を介して他の装置から供給されることにより行われても良いし、ドライブ５にセットされた記録媒体から供給されることにより行われても良い。
【００５６】
ステップＳ１１において取得されたコンテンツデータ５１に基づいて、ステップＳ１２以下の処理が行われる。ステップＳ１２において、ページ表示に必要なデータの初期値の取得と反映の処理が行われる。このステップＳ１２において取得される初期値とは、ページの背景色、テキストを縦書きにするか横書きするかの情報、ヘッダ、フッタ、マージンなどがあるか否か、ある場合にはその大きさなどの情報に関する値である。
【００５７】
ステップＳ１３において、描画可能領域の算出が行われる。描画可能領域について、図１０を参照して説明する。ステップＳ１２において取得された初期値により、図１０に示したように、ヘッダ、フッタ、およびマージンの、それぞれの領域が設定された場合、それらの領域を除いた部分が描画可能領域となる。この描画可能領域内において、テキストや画像などのコンテンツが表示される。
【００５８】
また、拡大などが指示された場合、描画可能領域内に表示されているテキストや画像のみが拡大される。換言すれば、拡大などが指示された場合であっても、ヘッダ、フッタ、マージンは、拡大されず、その時点での大きさが維持される。
【００５９】
ステップＳ１４において、ブロックを参照しているか否かが判断される。この判断は、コンテンツデータ５１を用いて行われるわけだが、図４に示したコンテンツデータ５１を参照するに、処理しているコマンドが、例えば、１３行目の＜Ｏｂｊ　ｎｏ＝“２”Ｔｙｐｅ＝“Ｂｌｏｃｋ”＞というように、“Ｔｙｐｅ”が“Ｂｌｏｃｋ”である場合、ステップＳ１４においてブロックを参照していると判断される。
【００６０】
ステップＳ１４において、ブロックが参照されていると判断された場合、ステップＳ１５に進み、ブロックの成形処理が実行される。ブロックの成形処理とは、図４に示したコンテンツデータ５１において、例えば、１４行目の＜Ｉｎｉｔｎｏ＝“２２”／＞というように、“Ｉｎｉｔ”で指定されている先のオブジェクトナンバーのオブジェクトに従って行われる。
【００６１】
具体的には、ブロックのＹ軸方向の大きさ、Ｘ軸方向の大きさが決定されることにより、成形処理が行われる。ブロックの成形処理が終了されると、ステップＳ１６に進み、ブロックが指定された位置に配置される。ステップＳ１６の処理は、図８を参照して説明したように、“Ｘｓｐａｃｅ”、“Ｙｓｐａｃｅ”、“ＣｈａｎｇｅＳｔａｒｔ”、“Ｒｅｓｅｔ”といったコマンドに従って行われる。
【００６２】
このような処理が終了されると、ステップＳ１７において、ページ表示に必要な全てのブロックの配置が完了したか否かが判断される。この判断は、図４に示したコンテンツデータ５１において、オブジェクトナンバー１のオブジェクト（ＴｙｐｅがＰａｇｅであるオブジェクト）の処理が終了したか否かを判断することにより行われる。
【００６３】
ステップＳ１７において、ページ表示に必要な全てのブロックの配置は完了していないと判断された場合、ステップＳ１３に戻り、それ以降の処理が、次のブロックに対して行われ、ステップＳ１３以降の処理が繰り返され、完了したと判断された場合、図９に示したページの描画の処理は終了される。
【００６４】
一方、ステップＳ１４のブロックを参照しているか否かの判断において、ブロックを参照していないと判断された場合、ステップＳ１８に進む。ブロックを参照していないということは、図４に示したコンテンツデータ５１において、“Ｔｙｐｅ”が“Ｂｌｏｃｋ”でないオブジェクトであることを示し、例えば、３３行目のように、“Ｔｙｐｅ”が“Ｔｅｘｔ”であるような場合であると考えられる。
【００６５】
このような場合、テキストや画像など、ブロック内に表示されるコンテンツの内容を処理することになる。そこで、ステップＳ１８においては、Ｔｙｐｅで宣言されている属性に基づき、そのオブジェクトが処理される。
【００６６】
このようにして、図４に示したテキストデータ５１が処理されることにより、図３に示したようなコンテンツが、表示部２上に表示される。
【００６７】
ところで、表示部２上に、図３に示したようなコンテンツが表示された場合、ユーザが、そのコンテンツを見やすい（読みやすい）と必ずしも思うとは限らない。例えば、タイトルや静止画は見やすくても、解説記事などのテキストは、小さな文字で見づらいといったことがある。また、ユーザは、所定の部分だけを表示部２に表示させたい、例えば、テキスト表示ブロック４３−１に表示されている解説記事に関するテキストを拡大して、表示部２に表示させたいといったようなときがあると考えられる。
【００６８】
このようなコンテンツの一部分の拡大を行いたいとき、ユーザは、拡大ボタン３−１を操作する。拡大ボタン３−１が操作されると、ユーザにより指示されたブロックが、拡大されて表示される。ユーザにより指示されたブロックとは、例えば、各ブロック間を移動可能に設定されたカーソル（カーソルが位置するブロックは、他のブロックと区別が付くように表示される）を、ユーザが、ボタン４−１乃至４−４（図１）を操作し、移動させることにより選択したブロックである。
【００６９】
所定のブロックが選択され、拡大表示が指示されたときの、ユーザ端末１で行われる処理について、図１１のフローチャートを参照して説明する。ステップＳ３１において、ユーザによりブロックの拡大が指示されると、そのブロックの特定が行われる。入力部１６（図２）としての拡大ボタン３−１が操作されると、その情報は、ＣＰＵ１１に伝えられる。ＣＰＵ１１は、その情報を取得した時点で、カーソル（不図示）が位置するブロックを特定する。
【００７０】
特定されたブロックに関するオブジェクトが、ステップＳ３２により取得される。この場合、取得されるオブジェクトとしては、特定されたブロックに対応する“Ｔｙｐｅ”が“Ｂｌｏｃｋ”であるオブジェクトと、そのオブジェクトが“Ｒｅｆｅｒｔｏ”で参照しているオブジェクトである。
【００７１】
例えば、拡大が指示されたブロックがタイトル表示ブロック４１（図３）であると特定された場合、図４に示したコンテンツデータ５１において、１３乃至１７行目で示されるオブジェクトと、そのオブジェクトが参照している３３乃至３８行目のオブジェクトが、ステップＳ３２において取得される。
【００７２】
ステップＳ３３において、表示用の初期値を、拡大表示にあわせて変更という処理が実行される。この処理は、例えば、ユーザ端末１側でコンテンツを表示させるためのビューアに予め設定されている規則に従って行われる。例えば、ビューアで、“３０ポイントで表示されている文字は、それ以上拡大しない”、“２０ポイントで表示されている文字は、２５ポイントに拡大し、その後、さらに拡大が指示された場合、３０ポイントに拡大する”といったような規則が定められている。
【００７３】
このような規則が、ステップＳ３３における処理で取得され、取得された規則に基づいて、拡大するサイズが決定される。この拡大するサイズは、ブロックの大きさと、そのブロック内に表示されるコンテンツの大きさ（例えば、コンテンツが文字で構成されるテキストの場合、その文字の大きさ）が決定される。ブロックに関する大きさが決定される際、ブロックルール（ＢｌｏｃｋＲｕｌｅ）が参照される。ブロックルールは、上述したように、ブロックを拡大する際の規則である。
【００７４】
このようにして決定されたサイズに基づき、ステップＳ３４において、拡大表示用の領域に文字または画像が描画される。すなわち、ステップＳ３４においては、ステップＳ３３において決定されたサイズで、ステップＳ３２において取得されたオブジェクトに基づくコンテンツが、表示部２上に表示されるような処理が実行される。
【００７５】
図３に示したようなコンテンツが表示されているときに、ユーザにより、タイトル表示ブロック４１に対して拡大の表示の指示が出され、上述したような処理が実施されることにより、図１２に示したように、タイトル表示ブロック４１が拡大されて、表示部２上に表示される。
【００７６】
図１２に示した表示状態から、拡大ボタン３−１がさらに操作された場合、図１１のフローチャートの処理が再度実行され、さらに拡大されたコンテンツが表示されるようにしても良い。また、図１２に示した表示状態から、縮小ボタン３−２が操作された場合、図３に示した表示状態に戻るようにしても良い。
【００７７】
このように、１つのブロックに対して拡大の指示が出された場合、そのブロックが拡大表示されるので、ユーザは、所望のブロックを、コンテンツが見やすい大きさまで簡便に拡大させることができる。このような処理が簡便に行えるのは、ブロック単位で処理が実行されるためである。ブロック単位で処理が行えるため、コンテンツ内の所望の部分を抽出する、拡大するといった処理が容易に行える。
【００７８】
このように、ユーザは、１つのブロックに対して拡大の表示の指示を出し、その指示に対応して１つのブロックを拡大表示させることも可能であるが、ブロックを指定しないで、拡大の表示が指示された場合、コンテンツ（ページ）全体（複数のブロック）が拡大表示されるようにしても良い。
【００７９】
コンテンツ全体が拡大されるような場合、図１３に示すフローチャートに従って処理が行われる。ここでは、図３に示したようなコンテンツに対して拡大の指示が出されたとして説明する。図３に示したようなコンテンツに対して拡大の指示が出された場合、タイトル表示ブロック４１、画像表示ブロック４２、テキスト表示ブロック４３−１、テキスト表示ブロック４３−２の順で、図１３に示したようなフローチャートの処理が実行されることにより、各ブロックの拡大表示が行われる。
【００８０】
ステップＳ５１において、初期値と、拡大が指示された時の拡大率に基づいて、仮想描画領域が作成される。初期値は、図１１のフローチャートのステップＳ３３で取得される初期値と同様の値であり、ビューアに依存する値である。拡大率とは、例えば、１．５倍、２倍などであり、始めにコンテンツデータ５１が処理されたときの拡大率を１としたときに対する比率である。
【００８１】
仮想描画領域は、初期値と、拡大が指示されたときの拡大率に基づいて作成される、処理対象となっているブロックのサイズのことである。この仮想描画領域は、最終的に表示部２に表示されるブロックのサイズではなく、後段の処理で、この仮想描画領域で、実際に表示部２に表示が可能であるか否かを判断するために、仮想的に作成される領域である。
【００８２】
ステップＳ５２において、仮想描画領域が描画可能領域内に収まるか否かが判断される。描画可能領域とは、表示部２の表示領域で、既にブロックが配置された領域を除いた領域である。ステップＳ５２において、仮想描画領域が描画可能領域内に収まらないと判断されるのは、例えば、図１４に示すような状態になると判断されるときであり、仮想描画領域の一部分が、表示部２からはみ出してしまうような表示がされると想定されるときである。
【００８３】
ステップＳ５２において、仮想描画領域が描画可能領域内に収まると判断された場合、すなわち、設定したサイズで、表示部２からはみ出すようなことなく、処理しているブロックの表示を行うことができると判断された場合、ステップＳ５３に進む。ステップＳ５３において、ブロック内に描画されるオブジェクトのの取得が行われる。
【００８４】
そして、ステップＳ５４において、拡大表示用の領域（設定された仮想描画領域）に、取得されたオブジェクトに基づく文字または画像の描画の処理が行われる。ステップＳ５３とステップＳ５４の処理は、基本的に、図１１のフローチャートのステップＳ３３とステップＳ３４の処理と略同一である。
【００８５】
ステップＳ５５において、描画可能領域の更新の処理が行われる。ステップＳ５４までの処理が行われることにより、新たなブロックが追加されたため、描画可能領域は、その追加されたブロックの分だけ、小さい領域となっている。従って、新たに追加されたブロックの分を描画可能領域から差し引くことにより、描画可能領域の更新が行われる。
【００８６】
このような処理が終了されると、ステップＳ５６において、１ページ分の表示に必要なブロックの配置が完了したか否かが判断され、完了したと判断された場合、図１３に示した１ページ分の拡大処理に関わるフローチャートの処理は終了され、完了していないと判断された場合、ステップ５１に戻り、新たなブロックに対して同様の処理が繰り返される。
【００８７】
一方、ステップＳ５２において、仮想描画領域が描画可能領域内に収まらないと判断された場合、ステップＳ５７に進む。ステップＳ５７において、ブロックルールに基づき、仮想描画領域が変形される。このように変形された仮想描画領域に対して、ステップＳ５２以降の処理が再度実行され、表示部２から一部分でもはみ出してしまうようなブロックが存在してしまうようなことを防ぐ拡大処理が行われる。
【００８８】
このようにして、拡大処理がされたコンテンツの表示例を図１５と図１６に示す。なお、図１５と図１６に示した例は、表示部２に実際に表示される画面とは異なる。説明するに、図１５又は図１６に示した表示例は、図３に示したコンテンツの表示例を拡大したときの表示例である。
【００８９】
図３に示したコンテンツの表示例においては、表示部２の表示可能領域とほぼ同じ大きさの領域にコンテンツが表示されているが、その状態から、ページ全体に拡大の処理を行うと、表示部２には表示しきれないことになる。従って、図１５や図１６に示した表示例は、仮想的な表示領域に、仮想的に１ページを表示した場合の表示例であり、実際に、表示部２に表示されるのは、一部分である。表示部２に表示しきれていない部分は、スクロールなどの処理がされることにより参照できるようになっている。
【００９０】
なお、図１３のフローチャートを参照した説明においては、図１４に示したような、ブロックの一部分が、表示部２からはみ出さないように処理が行われると説明したが、その意味は、補足すると、以下のようになる。すなわち、拡大の処理を行うと、当然、１画面では表示部２に表示しきれない部分が発生する。しかしながら、例えば、図１５に示したように、縦方向にスクロールされるようにレイアウトされたコンテンツに対しては、横方向にスクロールすることが無いように、すなわち、横方向に関しては、ブロックが表示部２からはみ出してしまうようなことが無いように処理されるという意味である。
【００９１】
例えば、小説のように、縦書きのテキストの場合、横方向にスクロールがされるが、縦方向には、スクロールしなくても良いように図１３の処理が実行される。換言すれば、２方向にするクロールしなくては、ブロック内のコンテンツが参照できないような拡大の処理は行われない。
【００９２】
図１５に示した例では、拡大処理が施された後であっても、図３に示したコンテンツの表示例と同じく、各ブロックのレイアウトに変更はない。このように、レイアウトを変更せずに、拡大処理を行うことにより、コンテンツの作成者の意図を崩すようなことなく、ユーザにコンテンツを提供することが可能となる。
【００９３】
図１５に示したコンテンツの表示状態から、ユーザがさらに拡大ボタン３−１を操作した場合、図１３のフローチャートの処理が再度実行され、図１６に示したようなコンテンツの表示状態になる。図１６に示したコンテンツの表示状態は、図１５に示したコンテンツの表示状態と異なる部分として、テキスト表示ブロック４３−１が、画像表示ブロック４２の右隣から、下側に移動されている。
【００９４】
これは、まず、画像表示ブロック４２が拡大されることにより、画像表示ブロック４２の右側の描画可能領域が小さくなる。その後に、テキスト表示ブロック４３−１の拡大の処理が実行されるわけだが、小さい領域となった画像表示ブロック４２の右側の領域では、拡大されたテキスト表示ブロック４３−１を表示することができない。
【００９５】
すなわち、ステップＳ５２の処理により、テキスト表示ブロック４３−１を表示するための仮想描画領域は、描画可能領域内には収まらないと判断され、ステップＳ５７に処理が進む。ステップＳ５７において、テキスト表示ブロック４３−１のブロックルールが参照されて、この場合、図４におけるコンテンツデータ５１の２５行目が参照され、ブロックルールがブロックルール３であると判断される。このブロックルール３に基づいてブロックの変形が行われる。
【００９６】
この場合、図１５に示した縦長のテキスト表示ブロック４３−１から図１６に示した横長のテキスト表示ブロック４３−１の状態に、ブロックが変形される。変形されることにより、テキスト表示ブロック４３−１が、図１６に示した位置で、拡大された状態で、かつ、ブロックの一部分がはみだすようなことなく表示される。
【００９７】
このように、拡大されることにより、ユーザは、所望の大きさまでコンテンツを拡大することができる。図１６に示したようにコンテンツが表示されると、ブロックの表示位置は変更されることになるが、表示される順、換言すれば、コンテンツの作成者が、ユーザに参照してもらいたいと望んだ順に変更はない状態で、各ブロックが配置される。このようにすることにより、コンテンツのレイアウトが変更されたとしても、そのコンテンツの作成者の意図に、ほぼ基づいた表示を行うことが可能となる。
【００９８】
上述したように、図１５や図１６に示したコンテンツの表示状態は、仮想的な表示領域に、仮想的に１ページを表示した場合の表示例であり、実際に、表示部２に表示されるのは、図１５または図１６に示したコンテンツの一部分である。例えば、図１６に示したコンテンツが、表示部２に表示された場合の一例を、図１７に示す。
【００９９】
図１７に示したように、コンテンツが、拡大表示されたことにより、１つのブロック（図１７では、画像表示ブロック４２）が途中までしか表示されない場合があることが想定される。ブロック内に描画されるオブジェクトがテキストである場合、例えば、オブジェクトが小説などのテキストである場合、そのブロックが途中までしか表示されなくても、スクロールされることにより表示されれば、問題はないと考えられ、また、そのような状況は発生しやすいと考えられる。
【０１００】
しかしながら、ブロック内に描画されるオブジェクトが画像である場合、そのブロックが途中まで（一部しか）表示されないようなときには、たとえ、スクロールされることにより全体が参照できるようにしても、その画像全体を把握させることができず、好ましい状況ではなく、問題があると考えられる。
【０１０１】
そこで、ブロック内に描画されるオブジェクトがテキストである場合には、そのブロックが途中で切れてしまうような表示を許可し、ブロック内に描画されるオブジェクトが画像である場合には、そのブロックが途中で切れてしまうような表示を許可しないという仕組みを設けるようにしても良い。
【０１０２】
このような仕組みは、例えば、図１３に示したフローチャートの処理に、ステップを追加することにより実現することが可能である。そのような仕組みを設けた場合の処理について、図１８のフローチャートを参照して説明する。ステップＳ７１乃至Ｓ７３の処理は、図１３のステップＳ５１乃至Ｓ５３の処理と同様であるので、その説明は省略する。
【０１０３】
ステップＳ７３において、ブロック内に描画されるオブジェクト（コンテンツ）が取得されると、そのオブジェクトが画像に関するオブジェクトであるか否かが、ステップＳ７４において判断される。画像に関するオブジェクトであるか否かの判断は、取得されたオブジェクトの“Ｔｙｐｅ”を参照することにより行われる。
【０１０４】
例えば、図４のコンテンツデータ５１を参照するに、３３行目のように、“Ｔｙｐｅ＝“Ｔｅｘｔ””と記述されている場合、そのオブジェクトは、テキストであることを示し、３９行目のように、“Ｔｙｐｅ＝“Ｉｍａｇｅ””と記述されている場合、そのオブジェクトは、画像であることを示しているため、オブジェクトのＴｙｐｅを参照することにより、そのオブジェクトが画像であるか否かを判断することができる。
【０１０５】
ステップＳ７４において、取得されたオブジェクト（処理対象とされるオブジェクト）は、画像であると判断された場合、ステップＳ７５に進む。ステップＳ７５において、処理しているブロック（仮想描画領域）は、前のブロックと共に、１画面で、表示部２に表示できるか否かが判断される。
【０１０６】
この判断について図１７を再度参照して説明するに、処理しているブロックは、画像表示ブロック４２であり、その画像表示ブロック４２の前のブロックは、タイトル表示ブロック４１になる。従って、このタイトル表示ブロック４１と画像表示ブロック４２が、表示部２に同時に表示されきれるか否か、換言すれば、図１７に示したように、画像表示ブロック４２のブロックが、途中で切れて表示されてしまうようなことがないか否かが、ステップＳ７５において判断される。
【０１０７】
ステップＳ７５において、仮想描画領域が、前のブロックのオブジェクトと共に、１画面で、表示部２に表示できないと判断された場合、すなわち、同一画面で表示してしまうと、処理対象となっているブロックが途中で切れた状態で表示されてしまうと判断された場合、ステップＳ７６に進む。ステップＳ７６において、処理対象とされているブロックが、前のブロックと異なるページに表示されるように、処理対象とされているブロックは、次のページに表示されるように設定される。
【０１０８】
すなわち、前のブロックと処理対象とされているブロックの間に、所定の大きさの空欄が設けられる。
【０１０９】
一方、ステップＳ７４において、取得された（処理対象とされた）オブジェクトは、画像ではないと判断された場合、ステップＳ７５において、処理対象とされているブロックが前のブロックと同一画面に収まると判断された場合、または、ステップＳ７６において、処理対象とされているブロックを次のページに表示するという設定が終了された場合、ステップＳ７７に進む。
【０１１０】
ステップＳ７７乃至Ｓ８０は、図１３に示したフローチャートのステップＳ５４乃至Ｓ５７と略同一の処理なので、その説明は省略する。
【０１１１】
図１８に示したフローチャートの処理では、ステップＳ７４において、取得されたオブジェクトは、画像であるか否かが判断されるようにしたが、ブロックルールが５またはブロックルール６であるか否かが判断されるようにしても良い。ブロックルール５やブロックルール６は、主に画像に対して用いられるブロックルールであるため、画像であるか否かを判断するのであれば、ブロックルール５またはブロックルール６であるか否かを判断するようにしても、図１８に示したフローチャートの処理で、同様の処理を行うことができる。
【０１１２】
このような処理が行われることにより、画像などの、途中で切れた状態で表示されるようなことが好ましくないコンテンツは、途中で切れた状態になるようなことがないようにすることが可能となる。
【０１１３】
なお、このような、所定のオブジェクトが描画されるブロックが、途中で切れた状態で表示されるようなことが無いような処理が行われる場合、その所定のオブジェクト（上述した実施の形態においては画像）が描画されるブロックが、最大限に拡大された場合でも、表示部２の表示可能領域の大きさと略同一までの大きさに限定される必要がある。
【０１１４】
ところで、上述した実施の形態におけるユーザ端末１は、１画面の表示部２を有している場合を例に挙げて説明したが、２画面の表示部２を有するユーザ端末１に対しても本発明を適用することができる。図１９は、２画面の表示部２を有するユーザ端末１’（図１に示した１画面のユーザ端末１と区別するために、ダッシュを付す）の外観の構成例を示す図である。
【０１１５】
図１９に示したように、ユーザ端末１’は、左右に１画面づつ表示部２−１，２−２を有している。図中左側のは、図１に示したユーザ端末１と同様の構成を有し、拡大ボタン３−１などが備えられている。そのユーザ端末１と同一の構成の装置に対して、右側に新たに表示部２−２を追加した構成とされているのが、ユーザ端末１’である。ユーザ端末１’は、折りたためる構成とされていても良く、そのような構成にしたときには、図１９に示したユーザ端末１’は、開いた状態を示しているとする。
【０１１６】
このようなユーザ端末１’において図１６に示したような拡大されたコンテンツが表示される場合、例えば、図２０に示すように表示される。なお、図２０以下の図面には、表示部２−１と表示部２−２のみを図示し、拡大ボタン３−１などは図示を省略する。
【０１１７】
図２０に示したように、２画面を有するユーザ端末１’においては、例えば、表示部２−１には、タイトル表示ブロック４１と画像表示ブロック４２が表示され、表示部２−２には、テキスト表示ブロック４３−１とテキスト表示ブロック４３−２が表示されている。
【０１１８】
このように、２画面で表示することにより、拡大されたコンテンツにおいても、スクロールなど、ユーザの手を煩わすような処理が行われなくても、ユーザがコンテンツ全体を参照できるような表示を行うことが可能となる。
【０１１９】
ユーザ端末１’が２画面を有することにより図２１に示したような表示を行うことも可能となる。図２１に示したように、表示部２−１には、図３に示したコンテンツが表示され、表示部２−２には、そのコンテンツを拡大した図１５又は図１６に示したコンテンツの一部が表示されている。換言すれば、表示部２―１には、コンテンツを作成した作成者が意図するレイアウトが変更されること無くコンテンツが表示され、表示部２−２には、ユーザが参照しやすい大きさにまで拡大されたコンテンツが表示されている。
【０１２０】
このような表示を行うためにユーザ端末１’が行う処理について、図２２のフローチャートを参照して説明する。ステップＳ１０１において、表示部２−１（図２１）に所定のページが表示されているか否かが判断される。この判断は、後段の処理により、コンテンツ（ページ）の拡大が指示されるわけだが、その拡大が指示されるページは、表示部２−１に表示されているページが対象とされる。従って、ページが表示部２−１に表示されている状態でなければ、後段の処理に進めないため、ステップＳ１０１における処理が実行される。
【０１２１】
ステップＳ１０１において、表示部２−１にページは表示されていないと判断された場合、ステップＳ１０２に進み、指示されたページの描画の処理が行われる。このステップＳ１０２におけるページの描画処理は、図９のフローチャートの処理に従って行われる。図９のフローチャートの説明は既にしたので、ここではその説明を省略する。図９のフローチャートの処理が実行されることにより、表示部２−１には、図２１に示したような画面（図３に示した画面）が表示される。
【０１２２】
表示部２−１に所定のページが表示されている状態、すなわち、ステップＳ１０１において、表示部２−１に所定のページが表示されていると判断された場合、または、ステップＳ１０２における所定のページの描画処理が終了された場合、ステップＳ１０３に進む。ステップＳ１０３において、表示部２−１に表示されているページ（コンテンツ）に対して、拡大が指示されたか否かが判断される。この判断は、拡大ボタン３−１が操作されたか否かを判断することにより行われる。
【０１２３】
ステップＳ１０３において、拡大が指示されたと判断されると、ステップＳ１０４に進み、その指示された拡大は、表示部２−１に表示されているページ全体を対象とするものであるか、ページ内の一部分を対象とするものであるかが判断される。本実施の形態においては、上述したように、ブロック毎に拡大の指示を出すことが可能である。
【０１２４】
ブロック毎に拡大の指示が出される場合、ユーザは、例えば、表示されているカーソルを所望のブロック上に移動させることにより選択し、決定を示す所定の操作を実行することにより、所望のブロックの拡大を指示することができる。このような指示が出されたのか否かが、ステップＳ１０４において判断される。
【０１２５】
ステップＳ１０４において、ページ全体の拡大が指示されたと判断された場合、ステップＳ１０５に進み、ページ全体に対する拡大の処理が実行される。このステップＳ１０５において行われるページ全体に対する拡大処理は、図１３または図１８に示したフローチャートの処理に従って行われる。
【０１２６】
図１３または図１８に示したフローチャートの処理が実行されることにより、例えば、図１６に示したコンテンツの表示状態が、仮想的に作成され、その仮想的に作成された表示状態の一部が、表示部２−２に表示される。図２１に示した表示部２−２には、ページ全体に対して拡大の処理が指示され、図１６に示したような表示状態の一部分が表示されている例を示している。
【０１２７】
一方、ステップＳ１０４において、ページ全体の拡大が指示されたのではないと判断された場合、換言すれば、所定のブロックの拡大が指示されたと判断された場合、ステップＳ１０６に進み、部分拡大の処理が実行される。ステップＳ１０６において行われる部分拡大の処理は、図１１に示したフローチャートの処理に従って行われる。図１１に示したフローチャートの処理が、例えば、タイトル表示ブロック４１に対して実行されることにより、図１２に示したような画面が、表示部２−２に表示される。
【０１２８】
このように、ユーザは、表示部２−１に表示されているページを参照しながら、所望の部分（ブロック）を、表示部２−２で拡大された状態で参照することができる。従って、ユーザは、コンテンツの作成者が意図したレイアウトを表示部２−１の表示で楽しむことができると同時に、所望のコンテンツを表示部２−２で確認することが可能となる。
【０１２９】
表示部２−１に目次を表示し、その目次の中から所定の項目が選択されると、その選択された項目の内容が、表示部２−２に表示されるといったようなことができるようにしてもよい。
【０１３０】
上述した一連の処理は、それぞれの機能を有するハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０１３１】
記録媒体は、図２に示すように、ユーザ端末１としてのパーソナルコンピュータとは別に、ユーザにプログラムを提供するために配布される、プログラムが記録されている磁気ディスク２１（フレキシブルディスクを含む）、光ディスク２２（ＣＤ−ＲＯＭ（Ｃｏｍｐａｃｔ　Ｄｉｓｃ−Ｒｅａｄ　Ｏｎｌｙ　Ｍｅｍｏｒｙ），ＤＶＤ（Ｄｉｇｉｔａｌ　Ｖｅｒｓａｔｉｌｅ　Ｄｉｓｃ）を含む）、光磁気ディスク２３（ＭＤ（Ｍｉｎｉ−Ｄｉｓｃ）（登録商標）を含む）、若しくは半導体メモリ２４などよりなるパッケージメディアにより構成されるだけでなく、コンピュータに予め組み込まれた状態でユーザに提供される、プログラムが記憶されているＲＯＭ１２や記憶部１７が含まれるハードディスクなどで構成される。
【０１３２】
なお、本明細書において、媒体により提供されるプログラムを記述するステップは、記載された順序に従って、時系列的に行われる処理は勿論、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
【０１３３】
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
【０１３４】
【発明の効果】
本発明の情報処理装置および方法、並びにプログラムによれば、電子書籍などのコンテンツに適した表示を行うことが可能となる。
【０１３５】
また、本発明の情報処理装置および方法、並びにプログラムによれば、コンテンツの一部を所定の大きさに拡大することを容易に行うことができ、かつ、その拡大時に、コンテンツの作成者が意図していたレイアウトの順を変更せずにコンテンツを表示することが可能となる。
【図面の簡単な説明】
【図１】本発明を適用したユーザ端末１の一実施の形態の外観の構成を示す図である。
【図２】ユーザ端末１の内部構成例を示す図である。
【図３】表示部２に表示される画面の一例を示す図である。
【図４】コンテンツデータの一例を示す図である。
【図５】コンテンツデータ内のコマンドの説明をするための図である。
【図６】ブロックルールについて説明する図である。
【図７】ブロックルールについて説明する図である。
【図８】ブロックの配置について説明するための図である。
【図９】表示部２にページが表示されるまでの処理について説明するフローチャートである。
【図１０】ヘッダ、フッタ、およびマージンについて説明するための図である。
【図１１】部分拡大の処理について説明するフローチャートである。
【図１２】拡大された表示について説明するための図である。
【図１３】ページ全体に対する拡大の処理について説明するフローチャートである。
【図１４】仮想描画領域について説明するための図である。
【図１５】拡大されたコンテンツの表示状態について説明するための図である。
【図１６】拡大されたコンテンツの表示状態について説明するための図である。
【図１７】ブロックの表示について説明するための図である。
【図１８】ページ全体に対する拡大の処理について説明するフローチャートである。
【図１９】２画面を有するユーザ端末１’の外観の構成例を示す図である。
【図２０】ユーザ端末１’上に表示される画面について説明するための図である。
【図２１】ユーザ端末１’上に表示される画面について説明するための図である。
【図２２】図２１に示したような画面を表示するために行われる処理について説明するためのフローチャートである。
【符号の説明】
１　ユーザ端末，　２　表示部，　３―１　拡大ボタン，　３−２　縮小ボタン，　４１　タイトル表示ブロック，　４２　画像表示ブロック，　４３　テキスト表示ブロック，　５１　コンテンツデータ
【図１】
2004118478.tif 000003
【図２】
2004118478.tif 000004
【図３】
2004118478.tif 000005
【図４】
2004118478.tif 000006
【図５】
2004118478.tif 000007
【図６】
2004118478.tif 000008
【図７】
2004118478.tif 000009
【図８】
2004118478.tif 000010
【図９】
2004118478.tif 000011
【図１０】
2004118478.tif 000012
【図１１】
2004118478.tif 000013
【図１２】
2004118478.tif 000014
【図１３】
2004118478.tif 000015
【図１４】
2004118478.tif 000016
【図１５】
2004118478.tif 000017
【図１６】
2004118478.tif 000018
【図１７】
2004118478.tif 000019
【図１８】
2004118478.tif 000020
【図１９】
2004118478.tif 000021
【図２０】
2004118478.tif 000022
【図２１】
2004118478.tif 000023
【図２２】
2004118478.tif 000024