説明

レイアウト機能付きブラウザプログラム

【課題】 Webページを小型画面用にレイアウト処理して表示させる。
【解決手段】 ブラウザ装置1のフレーム処理部131は,仮想的な標準画面と表示装置2の表示画面との幅の比率からフレーム縮小率を算出し,所定の縮小率限界値を超えないようにフレーム縮小率を調整してWebページのフレームを縮小する。テーブル処理部133は,テーブルの幅が表示画面の幅を超えないように,テーブルと表示画面との幅の比率からテーブル縮小率を算出し,テーブル全体を縮小する。テーブル縮小率が縮小限界値を超えるときは,セルのスパン情報をもとにテーブルのセルをブロック化し,ブロックの列方向の並びの幅が表示画面の幅を超えないようにテーブルをブロック単位で分割して配置する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は,HTML(HyperText Markup Language)データなどのマークアップ言語で記述されたデータを閲覧するブラウザに関する。さらに詳しくは,画面サイズに最適なレイアウト処理を行ってHTMLデータを表示処理するレイアウト機能付きブラウザプログラムに関する。
【背景技術】
【0002】
インターネット上で公開されているWebページなどのHTMLデータは,コンピュータ装置(PC)の表示装置のように,ある程度大きな表示画面で閲覧されることを想定して作成されていることが多い。そのようなWebページを,カーナビゲーション装置,携帯電話,PDA(Personal Digital Assistant)のような小型の表示画面で閲覧する場合には,ページの一部分が切り取られた状態で表示される。そのため,ページ内容全てを閲覧するためには画面上下のみならず左右のスクロール操作が必要となって,操作が煩雑になる。
【0003】
これを解決するために,Webページのコンテンツを蓄積するWebサーバ側においてPC用のコンテンツと携帯電話用の補完コンテンツとを備えておき,配信要求されたコンテンツが補完すべきコンテンツの内容を含むものである場合に,補完コンテンツを生成して配信要求した端末に配信するようにしていた。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2002−342222号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかし,同じような内容についてPC向けの一般的表示画面用のデータと携帯電話向けの小型画面用のデータとを用意しておくことは資源の無駄であるうえ,コンテンツの作成および維持・保管の観点からも負担が大きい。
【0006】
そのため,従来のようにカーナビゲーション装置や携帯電話などの小型画面専用のコンテンツを用意することなく,PC向けのコンテンツを小型画面でも最適に表示できるようにすることが望まれている。
【0007】
そこで,Webページを表示画面の横サイズ(幅)に納めて表示できるようにWebページの各要素をレイアウト処理することによって,上下のスクロールのみでWebページの閲覧ができるようにして,閲覧の操作性を改善する技術が,本発明者によって発明されている。
【0008】
このようなレイアウト処理において,フレーム分割が指定されたWebページやテーブルを含むWebページなどのサイズが,実際に表示する画面幅に納まらない場合に,単純にフレームサイズを縮小したり,テーブルを分解したりして表示しただけでは,以下のような状況が生じて適切なレイアウトが行えない場合があった。
【0009】
・ Webページをフレーム分割の指定どおりに分割すると,フレームの一部が表示されない場合や,フレームの幅が極端に狭くなる場合が生じてコンテンツを閲覧できないことがある。
【0010】
・ 表示サイズが大きい画像データを複数の画像データに分割し,テーブルを利用して1つのイメージとして表示するようなコンテンツを含むWebページを表示する場合に,1つのイメージを表示するための画像データ(イメージの部分)が,テーブルのセル単位での分割によってバラバラに配置され,イメージが分断されて表示されることがある。
【0011】
本発明の目的は,フレーム分割,テーブルを含むWebページのレイアウト・イメージを保持しつつ,小型画面での閲覧に適したレイアウト処理を行ってWebページを表示処理する技術を提供することである。
【課題を解決するための手段】
【0012】
本発明の一態様として開示するプログラムは,コンピュータを,マークアップ言語で記述されたデータを表示するブラウザであって,1)表示対象であるWebページのマークアップ言語で記述されたデータに対する表示用解析情報から,前記Webページに含まれるテーブルの横サイズを取得し,前記テーブルの横サイズが前記Webページを実際に表示する実画面の横サイズより大きい場合に,前記テーブルの横サイズと前記実画面の横サイズとの比率をもとにテーブル縮小率を算出する処理手段と,2)前記テーブル縮小率を用いて前記テーブルを構成するセルの全てを均等に縮小する処理手段として,機能させるためのプログラムである。
【0013】
上記プログラムでは,表示対象のWebページの表示用解析情報からWebページに含まれるテーブルの横サイズを取得し,テーブルの横サイズがWebページを実際に表示する表示画面の横サイズより大きい場合に,テーブルの横サイズと表示画面の横サイズとの比率をもとにテーブル縮小率を算出し,このテーブル縮小率を用いてテーブルを構成するセルの全てを均等に縮小することによって,小型表示画面に対するレイアウト処理を行う。
【0014】
これによって,小型の表示画面にテーブルを含むWebページを表示する場合に,テーブルを見やすく表示することができる。
【0015】
さらに,上記プログラムは,前記コンピュータを,さらに,3)前記テーブル縮小率が所定の縮小限界率を超える場合に,前記Webページの表示用解析情報から前記テーブルを構成するセルの大きさを示すスパン情報を取得して,前記スパン情報にもとづいて前記テーブルのセルを矩形ブロックに切り分ける処理手段と,4)前記テーブルを構成する矩形ブロックの列方向の並びによる横サイズが,前記表示画面の横サイズを超えない範囲となるように,前記テーブルを矩形ブロック単位で区切って配置する処理手段として機能させるためのものである。
【0016】
上記プログラムでは,テーブル縮小率が所定の縮小限界率を超える場合に,Webページの表示用解析情報からテーブルを構成するセルの大きさを示すスパン情報を取得して,このスパン情報にもとづいてテーブルのセルを矩形ブロックに切り分け,テーブルを構成する矩形ブロックの列方向の並びによる横サイズが,表示画面の横サイズを超えない範囲となるように,テーブルを矩形ブロック単位で区切って配置することによって,小型表示画面に対するレイアウト処理を行う。
【0017】
これによって,テーブルを利用して,1つの大きなイメージを複数の小さな画像データファイルを組み合わせて表示するようなWebページを,小型の表示画面に表示する場合に,イメージデータがバラバラに配置されてしまうことを防ぐことができる。
【0018】
さらに,本発明の関連発明の一態様として開示されるプログラムは,マークアップ言語で記述されたデータを,表示画面サイズに適したレイアウト処理を行って表示するブラウザ装置を構成する処理手段であって,1)表示対象のWebページの表示用解析情報から,前記Webページを表示する標準的な画面の大きさを仮想的に設定した標準画面の横サイズを取得し,前記標準画面の横サイズと前記Webページを実際に表示する表示画面の横サイズとの比率をもとにフレーム縮小率を算出する処理手段と,2)前記フレーム縮小率が所定の縮小率限界値を超える場合に,分割フレームを構成するフレームのうち実値によるサイズが指定される実サイズ指定フレームについて,前記フレーム縮小率によって縮小処理されたフレームの横サイズの値が前記実値に近づくように,前記フレーム分割のフレーム間の比率を変更する処理手段と,3)前記変更したフレーム間の比率および前記フレーム縮小率とを用いてフレーム分割のフレームを縮小する処理手段として,コンピュータを機能させるためのレイアウト機能付きブラウザプログラムである。
【0019】
上記の関連発明に係るプログラムでは,表示対象のWebページのHTMLデータ解析処理によって生成された表示用解析情報から,Webページを表示する標準的な画面の大きさを仮想的に設定した標準画面の横サイズを取得し,標準画面の横サイズとWebページを実際に表示する表示画面の横サイズとの比率をもとにフレーム縮小率を算出する。そして,このフレーム縮小率が所定の縮小率限界値を超える場合に,分割フレームを構成するフレームのうち実値によるサイズが指定される実サイズ指定フレームについて,フレーム縮小率によるフレームの横サイズの値が指定されている実値に近づくように,フレーム分割のフレーム間の比率を変更して調整する。そして,変更したフレーム間の比率およびフレーム縮小率を用いてフレーム分割のフレームを縮小することによって,小型表示画面に対するレイアウト処理を行う。
【0020】
これによって,小型の表示画面にWebページを表示する場合に,Webページで想定されているフレーム分割を保持しつつ見やすく表示することができる。
【0021】
さらに,上記の関連発明に係るプログラムでは,前記フレーム間の比率を変更する処理手段は,前記フレーム分割のフレーム間の比率を変更する場合に,前記実値によるサイズが指定されない実サイズ指定なしフレームに対するフレーム縮小率を,前記縮小率限界値を超えない範囲において変更することができる。
【0022】
さらに,上記の関連発明に係るプログラムでは,前記フレーム間の比率を変更する処理手段は,フレーム内部に表示するデータが存在しない実サイズ指定なしフレームについて,実サイズがゼロとなる範囲まで,フレーム縮小率を変更することができる。
【発明の効果】
【0023】
開示されたプログラムによれば,テーブルを分割して表示処理する場合に,テーブルを構成するセルをテーブルの全ての列で下端が揃うようなセルの集まりを見つけてブロック化し,ブロック単位で分割するようにレイアウト処理を行う。よって,例えば,大きなイメージを複数の部分イメージの画像ファイルを組み合わせて表示させるためにテーブルを利用するようなWebページを表示処理する場合に,部分イメージの画像ファイルがバラバラに配置されて意図したイメージが表示されないという状態を防ぎ,閲覧しやすいWebページを表示させることができる。
【0024】
さらに,関連発明に係るプログラムによれば,WebページなどのHTMLデータを小型画面に表示処理をする場合に,HTMLデータで指定されたフレーム分割の比率を考慮して各フレームを縮小するレイアウト処理を行う。よって,カーナビゲーション装置などの小型画面においても,元のWebページのレイアウト・イメージを保持しつつ横スクロール操作が生じる状況を抑制して,閲覧しやすいWebページを表示させることができる。
【図面の簡単な説明】
【0025】
【図1】本発明の最良の実施形態における構成例を示す図である。
【図2】表示対象となるフレーム分割を含むHTMLデータの例を示す図である。
【図3】図2に示すHTMLデータが標準画面で表示される場合のフレーム分割の表示例を示す図である。
【図4】図2に示すHTMLデータが,PDA向けの小型画面で表示される場合のフレーム分割の表示例を示す図である。
【図5】フレーム縮小率を用いて各フレームを縮小処理した場合のフレーム分割の表示例を示す図である。
【図6】縮小限界値を用いて各フレームを補整処理した場合のフレーム分割の表示例を示す図である。
【図7】フレーム分割処理の処理フローを示す図である。
【図8】フレーム縮小処理の処理フローを示す図である。
【図9】表示対象となるテーブルを含むHTMLデータの例を示す図である。
【図10】図9に示すHTMLデータがPC向けの標準画面で表示される場合のテーブルの表示例を示す図である。
【図11】従来処理によってテーブルがセル単位で分割されてレイアウトされた場合の表示例を示す図である。
【図12】テーブル縮小率で縮小したテーブルの表示例を示す図である。
【図13】表示対象となるテーブルを含むHTMLデータの例を示す図である。
【図14】図13に示すHTMLデータがPC向けの標準画面で表示される場合のテーブルの表示例を示す図である。
【図15】従来処理によってテーブルがセル単位で分割されてレイアウトされた場合の示例を示す図である。
【図16】テーブルのブロック化の例を示す図である。
【図17】本発明によってテーブルがブロック単位で分割されてレイアウトされた場合の示例を示す図である。
【図18】テーブル処理の処理フローを示す図である。
【図19】テーブル均等縮小処理の処理フローを示す図である。
【図20】テーブル分割処理の処理フローを示す図である。
【発明を実施するための形態】
【0026】
図1に,本発明の一態様として開示されるブラウザ装置の構成例を示す。
【0027】
ブラウザ装置1は,ブラウジング処理制御部110,通信処理部111,HTML解析処理部112,レイアウト処理部113,画像表示処理部114を備える。
【0028】
ブラウジング処理制御部110は,HTMLデータを取得して,表示装置2に表示するブラウジング処理に関する一連の処理手段を制御する処理手段である。
【0029】
通信処理部111は,HTTPプロトコルにしたがって,WebサイトのサーバからHTMLデータ(Webページ)を取得する処理手段である。
【0030】
HTML解析処理部112は,表示するHTMLデータを解析し,DOM(Document Object Model)と呼ばれる形式のデータに変換する処理手段である。DOMは,HTMLデータの要素およびその階層関係を示すものである。
【0031】
レイアウト処理部113は,HTML解析処理部112によって解析されたHTMLデータの解析情報に従って,表示装置2にWebページを表示するための各要素のレイアウト処理を行う処理手段である。なお,HTMLデータは,ウィジェット(Widget)と呼ばれるGUI(Graphical User Interface)用の表示部品で表現される。
【0032】
画像表示処理部114は,レイアウト処理されたWebページのウィジェットを表示装置2に表示する処理手段である。
【0033】
レイアウト処理部113は,表示装置2の小型画面に適した表示となるようにWebページのレイアウトを最適化する最適化レイアウト処理部130を備える。最適化レイアウト処理部130は,フレーム処理部131,テーブル処理部133,テキスト処理部135,画像/フォーム部品処理部137,フレーム縮小率記憶部141,テーブル解析情報記憶部143,テーブル縮小率記憶部145,およびセルブロック解析情報記憶部147を備える。
【0034】
フレーム処理部131は,表示対象のWebページがフレーム分割を含む場合に,フレーム縮小率記憶部141に記憶されたフレーム縮小率をもとにフレーム分割の各フレームを縮小し,フレームの縮小率が所定の限界値を超えた場合にフレーム間の比率を変更する処理手段であって,フレーム縮小率算出処理部1311を備える。
【0035】
フレーム縮小率算出処理部1311は,HTML解析処理部112によって解析されたWebページの解析情報を用いて,仮想的に設定した所定の標準的な画面(以下「標準画面」という)で表示されるフレームのサイズから,表示装置2の画面(以下「実画面」という)で表示されるフレームのサイズへの縮小率を示すフレーム縮小率を算出し,フレーム縮小率記憶部141へ格納する手段である。
【0036】
フレーム縮小率算出処理部1311は,標準画面のサイズと実画面のサイズとの比率を示すフレーム間比率を算出してフレーム縮小率とする。そして,フレーム分割の各フレームについて,フレームの横サイズ(以下「幅」という)および縦サイズ(以下「高さ」という)にそれぞれフレーム縮小率を掛け合わせて,縮小後のフレームの幅および高さの実サイズ値を算出する。
【0037】
そして,フレーム縮小率の限界を示す縮小限界値を予め設定しておき,算出したフレーム縮小率が縮小限界値を超えている場合には,フレーム分割のフレーム間の比率を変更して,縮小処理によって実サイズが小さくなりすぎたフレームを拡大補整する。そして,各フレームについて,補整後のフレーム縮小率,すなわち元のサイズから,処理後のフレームサイズすなわち縮小および補整された実画面での実サイズへの縮小率を,フレーム縮小率記憶部141へ格納する。
【0038】
テーブル処理部133は,表示対象のWebページがテーブルを含む場合に,テーブル縮小率記憶部145に記憶されたテーブル縮小率をもとに縮小し,または,セルブロック解析情報記憶部147に記憶されたセルブロック解析情報をもとにテーブルをブロック単位で分割する処理手段であって,テーブル均等縮小処理部1331およびテーブル分割処理部1333を備える。
【0039】
テーブル処理部133は,HTML解析処理部112によって解析されたWebページの解析情報からテーブルおよびセルの解析処理を行って,テーブルのサイズ(幅および高さ),セルの最大幅,セルの最小幅などのテーブル解析情報を取得し,テーブル解析情報記憶部143へ格納する。
【0040】
テーブル均等縮小処理部1331は,テーブル解析情報を用いて,テーブルの幅が実画面の幅を超えている場合に,テーブル幅および実画面幅をもとに,テーブルの各セルを均等に縮小する比率を示すテーブル縮小率を算出し,テーブル縮小率記憶部145に格納する処理手段である。
【0041】
テーブル分割処理部1333は,テーブル解析情報を用いて,テーブル縮小率が所定の縮小限界値を超えている場合に,テーブルを構成する各セルをブロック化して,ブロックを構成するセル,テーブル分割により配置位置を変更するブロックなどを示すセルブロック解析情報を生成し,セルブロック解析情報記憶部147ヘ格納する処理手段である。
【0042】
テキスト処理部135は,フレーム処理部131によって縮小されたフレーム,テーブル処理部133によって縮小またはブロック分割によって位置変更されたセルの表示領域に従って,所定のテキストの折り返しを設定する処理手段である。
【0043】
画像/フォーム部品処理部137は,フレーム処理部131によって縮小されたフレーム,テーブル処理部133によって縮小または位置変更されたセル内に表示される画像やフォーム部品などの要素を,対応する縮小率を用いて,要素の縦横の比率を保持して縮小する処理手段である。
【0044】
以下に,本発明のブラウザ装置1の処理をより詳しく説明する。
【0045】
ブラウザ装置1では,一般的なブラウジング処理として,ブラウジング処理制御部110の制御のもと,通信処理部111によってWebサイトのサーバからHTMLデータを取得し,HTML解析処理部112によって,取得したHTMLデータを解析処理し,解析情報を生成する。レイアウト処理部113によって,解析情報にしたがってWebページのフレームの設定,各要素のレイアウトなどを行って表示装置2の表示画面に合わせた表示部品を生成し,画像表示処理部114によって,Webページの表示部品を表示装置2に表示する。
【0046】
ここで,レイアウト処理部113は,取得したHTMLデータの解析情報をもとに,Webページを表示装置2の実画面サイズに対応する表示部品を生成するために,最適化レイアウト処理部130を起動する。
【0047】
最適化レイアウト処理部130は,表示装置2の実画面のサイズを考慮して,フレーム処理部131によって算出されたフレーム分割の各フレームのフレーム縮小率,テーブル処理部133によって生成されたテーブルのテーブル縮小率またはセルブロック解析情報,テキスト処理部135によって決定されたテキストの折り返し,画像/フォーム部品処理部137によって算出された画像データやフォーム部品の縮小率をもとに,フレーム分割またはテーブルを含むWebページのレイアウトを最適化する処理を行う。
【0048】
〔フレーム分割の最適化処理〕
図2に,表示対象となるフレーム分割を含むHTMLデータの例を示す。図2に示すように,HTMLデータ(Webページ)は,4つのフレームに分割され,フレームA(ナビゲーション・フレーム)は,高さ=指定なし(スクリプト中,「*」で示す)・幅=250ピクセルのフレームとして,フレームB(本文フレーム)は,高さ=200ピクセル・幅=指定なしのフレームとして,フレームC(本文フレーム)は,高さ・幅=指定なしのフレームとして,フレームD(本文フレーム)は,高さ=100ピクセル・幅=指定なしのフレームとして表示される。
【0049】
また,図3に,図2に示すHTMLデータがPC向けの標準画面(画面サイズ=800×600ピクセル)で表示される場合のフレーム分割の表示例を示す。標準画面において,横(幅)方向のフレーム分割(以下,「フレーム横分割」という)では,フレームB,C,Dの幅(550ピクセル)は,標準画面の幅−フレームAの幅で決定する。また,縦(高さ)方向のフレーム分割(以下,「フレーム縦分割」という)では,フレームCの高さ(300ピクセル)は,標準画面の高さ−(フレームBの高さ+フレームDの高さ)で決定する。
【0050】
図4に,図2に示すHTMLデータが,PDA向けの小型画面(画面サイズ=400×200ピクセル)で表示される場合のフレーム分割の表示例を示す。図4に示すように,HTMLデータでフレームAの幅が,例えば250ピクセルなど,実際の数値によって指定(実サイズ指定)されているため,フレームBの幅は,表示画面の幅(400)−フレームAの幅(250)で決定される(150ピクセル)。
【0051】
したがって,HTMLデータを通常のレイアウト処理によって表示すると,本文フレーム(フレームB)の表示幅の方がナビゲーション・フレーム(フレームA)の表示幅より狭くなることになる。また,小型画面から,表示すべきWebページのフレーム全体がはみ出してしまい,フレームC,フレームDが表示されなくなる。このように,小型画面に表示されたWebページは,コンテンツ作成者が意図したレイアウトやフレーム比率とは,大きく異なったものになってしまう。
【0052】
そのため,フレーム縮小率算出処理部1311は,フレーム分割が含まれるコンテンツを,できるだけ本来のレイアウト・イメージを保つようにフレーム分割の各フレームを縮小処理する。
【0053】
具体的には,まず,フレーム縮小率算出処理部1311は,仮想的に標準画面のサイズ(800×600ピクセル)を設定し,標準画面のサイズと実画面のサイズ(400×200ピクセル)とのフレーム間比率を算出して,フレーム縮小率とする。ここで,実画面サイズより標準画面サイズが小さい場合には,フレーム縮小率=1.0として,実画面サイズを標準画面サイズとする。図3に示すPC向けの標準画面のサイズを標準画面サイズとし,図4に示す小型画面のサイズを実画面サイズとする場合に,フレーム縮小率は,幅=50%,高さ=約33.3%となる。
【0054】
そして,フレーム縮小率算出処理部1311は,算出したフレーム縮小率をもとに,各フレームのサイズ(幅および高さ)に掛け合わせて,その結果をフレーム実サイズ(実フレーム幅/実フレーム高)とする。
【0055】
図5に,フレーム縮小率を用いて各フレームを縮小処理した場合のフレーム分割の表示例を示す。例えば,フレームAの実フレーム幅は250×50%=125ピクセルとなる。また,フレームB,C,Dの実フレーム幅は,400−125=275,または550×50%=275ピクセルとなり,各フレームの実フレーム高は,それぞれ,フレームBが200×33.3%=66ピクセル,フレームDが100×33.3%=33ピクセル,フレームCが200−(66+33)=101ピクセルとなる。
【0056】
さらに,フレーム縮小率算出処理部1311は,フレームが実サイズ指定か実サイズ指定なしであるかを調べる。実サイズ指定とは,パーセント指定のような相対指定ではなく,具体的数値によってサイズが指定されることをいう。実サイズ指定なしとは,サイズに対する指定がないことをいう。HTMLデータの記述において,「*」指定と示す。
【0057】
そして,実サイズ指定なしフレームについて,実フレーム幅を調整して,実サイズ指定されたフレームで指定された幅や高さをできる限り保持するように補整する。
【0058】
また,フレーム縮小率算出処理部1311は,所定の縮小限界値(幅縮小限界値/高さ縮小限界値)をもとに,実サイズ指定された値が,縮小限界値を超えて小さくならないように補整する。ここで,幅縮小限界値=60%,高さ縮小限界値=40%とする。
【0059】
図6に,縮小限界値を用いて各フレームを補整処理した場合のフレーム分割の表示例を示す。ここでは,フレームAの実フレーム幅およびフレームB,Dの実フレーム高が,それぞれ縮小限界値を超えているため,縮小限界値を用いて,実フレーム幅または実フレーム高をそれぞれ拡大補整して,フレームAの実フレーム幅を250×60%=150ピクセルとし,フレームBの実フレーム高を200×40%=80ピクセル,フレームDの実フレーム高を100×40%=40ピクセルとする。
【0060】
なお,フレーム縮小率算出処理部1311は,フレーム内に表示するデータが存在しない状態(空状態)のサイズ指定なしフレームについては,実フレーム幅/高を0まで変更できるようにしてもよい。
【0061】
また,フレーム縮小率算出処理部1311は,Webページを構成するフレーム数が所定値を超過していたり,フレームの実サイズが縮小限界値を超えたりしているなどの理由によって,実画面のサイズ内で補整処理し切れなかった場合には,従来処理と同様に,実画面のサイズを超えたフレームの一部または全部を表示しないようにしてもよい。
【0062】
フレーム縮小率算出処理部1311は,フレーム分割の各フレームの幅および高さについて,標準画面におけるフレームサイズから,縮小処理および補整処理によって決定した実サイズへの縮小率(フレーム縮小率)をフレーム縮小率記憶部141に格納する。
【0063】
図7に,フレーム分割処理の処理フローを示す。
【0064】
フレーム縮小率算出処理部1311は,仮想的な標準画面のサイズを設定し(ステップS10),HTML解析処理部112によって生成された解析情報をもとに,フレーム横分割があるか否かを判定する(ステップS11)。フレーム横分割がある場合にのみ(ステップS11のYES),フレームの幅についてフレーム縮小処理を行う(ステップS12)。さらに,フレーム縦分割があるか否かを判定して(ステップS13),フレーム縦分割がある場合にのみ(ステップS13のYES),フレームの高さについてフレーム縮小処理を行う(ステップS14)。なお,ステップS14の処理は,ステップS12の処理と同様の処理である。
【0065】
図8に,ステップS12およびステップS14のフレーム縮小処理の処理フローを示す。
【0066】
フレーム縮小率算出処理部1311は,実画面サイズと標準画面サイズから,フレーム間比率を算出し,フレーム縮小率とする(ステップS20)。そして,算出したフレーム縮小率を各フレームのサイズに掛け合わせて,フレーム実サイズとする(ステップS21)。
【0067】
フレームに,実サイズ指定なしフレーム(「*」指定)があるか否かを判定し(ステップS22),実サイズ指定なしフレームがある場合のみ(ステップS22のYES),実サイズ指定フレームについて,フレームのサイズにフレーム縮小率を掛けた結果(実フレームのサイズ)が,そのフレームの元のサイズを下回っているか否かを判定する(ステップS23)。
【0068】
縮小した実フレームのサイズが,元のサイズを下回っている場合のみ(ステップS23のYES),実サイズ指定なしフレームについて,その実フレームサイズが所定の縮小限界値を超えない範囲内で実フレームサイズを縮小し,実サイズ指定フレームについて,その元のサイズ(指定されたサイズ)を超えない範囲内で実フレームサイズを拡大して補整する(ステップS24)。
【0069】
そして,実サイズ指定フレームの算出された実フレームサイズが元のサイズの値を下回っていて,かつフレーム内が空状態の実サイズ指定なしフレームが存在するか否かをチェックする(ステップS25)。
【0070】
実サイズ指定フレームの算出された実フレームサイズが元のサイズの値を下回り,かつフレーム内が空状態の実サイズ指定なしフレームが存在する場合にのみ(ステップS25のYES),実サイズ指定フレームの算出された実フレームサイズが元のサイズの値に近くなるように,空状態の実サイズ指定なしフレームの実フレームサイズ分を利用して拡大補整する(ステップS26)。
【0071】
このように,フレーム分割のフレーム縮小処理を行ってレイアウト処理をすることによって,図2のようなPC向けにデザインされたフレーム分割されたコンテンツ(Webページ)を,PDA等の小型画面においてもできるかぎり意図されたフレーム分割のレイアウトを保持して表示することができる。
【0072】
〔テーブルの最適化処理〕
図9に,表示対象となるテーブルを含むHTMLデータの例を示す。また,図10に,図9に示すHTMLデータがPC向けの標準画面で表示される場合のテーブルの表示例を示す。
【0073】
図10に示すように,HTMLデータ(Webページ)は2つのテーブルT1,T2を含む。テーブルT1は,イメージA(画像Aファイル)とテキストで構成されている。イメージAの画像データとテキストデータは,それぞれテーブルT1の2つのセルに表示されるように設定されている。
【0074】
また,テーブルT2には,画像データB1,B2の2つのファイルで生成される1つのイメージBが表示される。画像データB1,B2は,それぞれテーブルT2の2つのセルに表示されるように設定されている。
【0075】
一般的に,効率よく画像データの読み込みを行うために,大きな画像ファイルを複数のファイルに分割し,テーブル構造を利用して表示する手法が採用される。しかし,図11に示すように,従来処理では,実画面の幅にテーブルが納まらない場合には,テーブルがセル単位で分割されてレイアウトされてしまうため,複数のセルに設定された複数の画像データによって1つのイメージを表示するテーブルでは,イメージが分裂して表示されることになる。
【0076】
テーブル処理部133は,テーブル内に画像イメージがある場合に,テーブルを構成するセル全てを均等に縮小して,できる限り本来のレイアウトを保持して,テーブルを利用して表示するイメージが分裂しないような均等縮小処理,または,テーブルを構成するセルをブロック化してテーブルの分割をブロック単位で行うようなテーブル分割処理を行う。
【0077】
具体的には,テーブル処理部133は,HTML解析処理部112の解析情報をもとに,データテーブルおよびセルの解析処理を行い,テーブルのサイズ,セルの最大幅および最小幅などのテーブル解析情報を取得して,テーブル解析情報記憶部143に格納する。
【0078】
そして,テーブル均等縮小処理部1331は,テーブル解析情報をもとに,テーブルの幅を実画面の幅と比べて,テーブルの幅が実画面の幅の範囲内であれば,テーブルをそのまま配置する。一方,テーブルの幅が実画面の幅を超えている場合は,実画面の幅とテーブル幅とをもとに,テーブル縮小率を算出する。
【0079】
そして,算出したテーブル縮小率が,所定の縮小限界値を超えていなければ,テーブルのセル全てについて,テーブル縮小率をもとにセルの幅を縮小する。また,セルの元の横・高さの比率,セル列内の比率を保持して,セルの高さやセル間のスペースを縮小する。
【0080】
画像/フォーム部品処理部137は,テーブルのセルが縮小処理された場合に,テキスト以外のデータ,例えばイメージデータやサイズ指定されたフォーム部品などのオブジェクトについて,縮小処理された縮小率と同率で幅を縮小し,元のサイズにおける幅および高さの比率を保持するようにして高さを縮小する。
【0081】
また,テキスト処理部135は,テーブルのセルが縮小処理された場合に,テキストを元の大きさのままで,縮小されたセルの幅に応じて折り返しを設定する。
【0082】
この場合に,テーブル処理部133は,図12に示すように,テーブル縮小率で縮小されたセルの幅でテキストの全文字を表示する行数を確保するために,セルの高さを拡大補整する。
【0083】
また,テーブル分割処理部1333は,テーブル縮小率が所定の縮小限界値を超えている場合に,テーブルを構成するセルをブロック化して,ブロック単位でテーブルを分割して配置位置を変更する。
【0084】
図13に,表示対象となるテーブルを含むHTMLデータの例を示す。また,図14に,図13に示すHTMLデータがPC向けの標準画面で表示される場合のテーブルの表示例を示す。
【0085】
図14に示すように,HTMLデータ(Webページ)のテーブルT3は,10個のセルca1〜cd3で構成されている。テーブルT3には,イメージC1を表示するために,イメージC1を分割した5つの画像ファイルが,5つのセルca1,ca2,cb1,cc1,cc2のそれぞれに表示される。また,イメージC3を表示するために,イメージC3を分割した3つの画像ファイルが,3つのセルcd1,cd2,ce1のそれぞれに表示される。また,イメージC2の画像ファイルがセルca3に,イメージC4の画像ファイルがセルcd3に,それぞれ表示される。
【0086】
テーブルの幅が実画面の幅を超えてしまう場合に,テーブルを分割して表示するが,従来処理では,テーブル分割の際に,テーブルの行や列のスパン情報(ROWSPAN属性,COLSPAN属性)を考慮せずに,セルが出現する順序に従って分割するセルを決定して配置位置を変更していた。そのため,図15に示すように,本来1つのイメージとして表示されるべきものがセル単位で分断されてしまい,元のイメージとかけ離れた状態で表示されることになる。
【0087】
テーブル分割処理部1333は,画像データを表示するテーブルの幅を縮小しても実画面の幅を超えて納まらないような場合に,テーブルを構成するセルのスパン情報にもとづいて関連するセル同士をブロック化し,分割するセルをブロック単位で決定して配置するようにして,できる限り1つのイメージが分断されないようなテーブル分割処理を行う。
【0088】
テーブル分割処理部1333は,テーブルを構成するセルのROWSPAN属性(セルの高さを行数で指定する属性),COLSPAN属性(セルの幅を列数で指定する属性)などのスパン情報を取得する。そして,これらのスパン情報を解析して,テーブルの全ての列において下端が同一の行となり,また全ての行において右端が同一の列となるセルのグループを1つのブロックとする。
【0089】
例えば,図14に示すテーブルにおいて,テーブルの左上端からのセルの出現順序に従って,解析情報のROWSPAN属性を用いて,そのセルの下端の行を調べる。すると,セルca1,セルca2,セルca3はそれぞれ下端の行が同じではなく,次に出現するセルcb1の下端の行は,セルca2と同じであるが,セルca3の下端の行と同じではない。次に出現するセルcc1,セルcc2の下端の行は,セルca3の下端の行と同じである。ここで,テーブルT3を構成する全ての列において,セルの下端の行が揃うため,セルcc1,cc2,ca3に共通する下端の行を分割ラインとする。
【0090】
さらに,解析情報のCOLSPAN属性を用いて,同様にして,全ての行においてセルの右端の列が同一であるかどうかを調べる。すると,セルca1,セルcb1,セルcc1,cd1とセルce1は右端が同じ列ではなく,次に出現するセルca2,cc2,cd2,ce1の右端が同じ列である。ここで,テーブルT3を構成する全ての行において,セルの右端の列が揃うため,セルca2,cc2,cd2,ce1に共通する列を分割ラインとする。このようにして,図16に示すように,セルca1,ca2,cb1,cc1,cc2の5つのセルをブロックB1,セルca3をブロックB2,セルcd1,cd2,ce1の3つのセルをブロックB3,セルcd3をブロックB4とする。
【0091】
そして,図17に示すように,テーブルのセルの列について,ブロックB1の右端が実画面の幅の範囲内にあるので,ブロックB1のセルの配置位置を解析情報で設定された位置とする。次に,ブロックB2の右端が実画面の幅の範囲内にないので,ブロックB2のセルの配置位置をブロックB1の下へ続く位置へ変更する。さらに,ブロックB3のセルの配置位置をブロックB2の下へ続く位置へ変更し,ブロックB4の右端が実画面の幅の範囲内にないので,ブロックB4のセルの配置位置をブロックB3の下へ続く位置へ変更する。
【0092】
図18に,テーブル処理の処理フローを示す。
【0093】
テーブル処理部133は,HTMLデータの解析情報をもとにテーブルおよびセルの解析処理を行い,テーブルサイズ,セル内の最大幅,最小幅を取得し,テーブル解析情報記憶部143に格納する(ステップS30)。
【0094】
テーブル均等縮小処理部1331は,テーブルの幅が実画面の幅を超えるか否かを判断する(ステップS31)。テーブルの幅が実画面の幅を超える場合には(ステップS31のYES),テーブルの幅と実画面の幅とをもとに,テーブル縮小率を算出する(ステップS32)。
【0095】
そして,テーブル縮小率が所定の縮小限界値を超えているか否かを判定し(ステップS33),テーブル縮小率が縮小限界値を超えていなければ(ステップS33のNO),テーブル均等縮小処理を行い(ステップS34),テーブル縮小率が縮小限界値を超えていれば(ステップS33のYES),テーブル分割処理を行う(ステップS35)。
【0096】
図19に,ステップS34のテーブル均等縮小処理の処理フローを示す。
【0097】
テーブル均等縮小処理部1331は,ステップS32の処理で算出したテーブル縮小率をもとに,各セルのサイズ(幅および高さ)を縮小する(ステップS341)。
【0098】
画像/フォーム部品処理部137は,テキスト以外の要素の幅をテーブル縮小率と同率で縮小する。さらに,テキスト以外の要素の高さを,要素の元の横および縦の比率を保持するように縮小する(ステップS342)。
【0099】
図20に,ステップS35のテーブル分割処理の処理フローを示す。
【0100】
テーブル分割処理部1333は,テーブルを構成する全ての列または行でセルの端(下端/右端)が揃うラインを見つけ,セルの端が揃うラインまでのセルをブロック化する(ステップS351)。
【0101】
そして,未処理ブロックがなくなるまで(ステップS352),未処理のブロックから,優先度の高いブロックを選び出す。ここでは,優先度として,テーブルの左上端からのセルの出現順序を用いる(ステップS353)。選択したブロックについて,ブロックの幅が実画面の幅の範囲を超えるか否かを判定し(ステップS354),ブロックの幅が実画面の幅の範囲内である場合には(ステップS354のNO),そのブロックのセルの解析情報で指定された位置を配置位置とする(ステップS355)。
【0102】
一方,ブロックの幅が実画面の幅の範囲を超えている場合には(ステップS354のYES),そのブロックのセルの配置位置をテーブルの最下行に続く位置へ変更する(ステップS356)。
【0103】
なお,ブロックを構成するセルが1つの列である場合に,セルの幅が実画面の幅の範囲を超えるときは,そのセル幅を実画面の幅の範囲内となるように縮小する。
【0104】
以上,本発明をその実施の形態により説明したが,本発明はその主旨の範囲において種々の変形が可能であることは当然である。
【0105】
例えば,本実施の形態において,テーブル均等縮小処理とテーブル分割処理とを別個に施す場合の例を説明したが,テーブル均等縮小処理と,セルのブロック化によるテーブル分割処理とを組み合わせて施してもよい。例えば,テーブルのあるブロックの幅と実画面の幅とをもとにテーブル均等縮小率を算出して,テーブルをブロック単位に分割し,かつ実画面の幅を超えるブロックとなるセルを実画面の幅の範囲内に納まるように縮小してレイアウトする。これによって,大きなテーブルをできるかぎりまとまった矩形で分割して縮小限界値の範囲内で表示させることができる。
【0106】
また,本発明は,コンピュータにより読み取られインストールされることによって,一定の目的のための処理をコンピュータに実行させるためのプログラムとして実施することができる。本発明を実現するプログラムは,コンピュータが読み取り可能な,可搬媒体メモリ,半導体メモリ,ハードディスクなどの適当な記録媒体に格納することができ,これらの記録媒体に記録して提供され,または,通信インタフェースを介して種々の通信網を利用した送受信により提供されるものである。
【0107】
本発明の形態および実施例の特徴を列記すると以下のとおりである。
【0108】
(付記1) マークアップ言語で記述されたデータを,表示画面サイズに適したレイアウト処理を行って表示するブラウザ装置を構成する処理手段であって,
表示対象のWebページの表示用解析情報から,前記Webページを表示する標準的な画面の大きさを仮想的に設定した標準画面の横サイズを取得し,前記標準画面の横サイズと前記Webページを実際に表示する表示画面の横サイズとの比率をもとにフレーム縮小率を算出する処理手段と,
前記フレーム縮小率が所定の縮小率限界値を超える場合に,分割フレームを構成するフレームのうち実値によるサイズが指定される実サイズ指定フレームについて,前記フレーム縮小率によって縮小処理されたフレームの横サイズの値が前記実値に近づくように,前記フレーム分割のフレーム間の比率を変更する処理手段と,
前記変更したフレーム間の比率および前記フレーム縮小率とを用いてフレーム分割のフレームを縮小する処理手段として,
コンピュータを機能させるためのレイアウト機能付きブラウザプログラム。
【0109】
(付記2) 前記フレーム間の比率を変更する処理手段は,前記フレーム分割のフレーム間の比率を変更する場合に,前記実値によるサイズが指定されない実サイズ指定なしフレームに対するフレーム縮小率を,前記縮小率限界値を超えない範囲において変更する
ことを特徴とする前記付記1記載のレイアウト機能付きブラウザプログラム。
【0110】
(付記3) 前記フレーム間の比率を変更する処理手段は,フレーム内部に表示するデータが存在しない実サイズ指定なしフレームについて,実サイズがゼロとなる範囲まで,フレーム縮小率を変更する
ことを特徴とする前記付記1記載のレイアウト機能付きブラウザプログラム。
【0111】
(付記4) マークアップ言語で記述されたデータを,表示画面サイズに適したレイアウト処理を行って表示するブラウザ装置を構成する処理手段であって,
表示対象のWebページの表示用解析情報から前記Webページに含まれるテーブルの横サイズを取得し,前記テーブルの横サイズが前記Webページを実際に表示する表示画面の横サイズより大きい場合に,前記テーブルの横サイズと前記表示画面の横サイズとの比率をもとにテーブル縮小率を算出する処理手段と,
前記テーブル縮小率を用いて前記テーブルを構成するセルの全てを均等に縮小する処理手段として,
コンピュータを機能させるためのレイアウト機能付きブラウザプログラム。
【0112】
(付記5) さらに,前記テーブル縮小率が所定の縮小限界率を超える場合に,前記Webページの表示用解析情報から前記テーブルを構成するセルの大きさを示すスパン情報を取得して,前記スパン情報にもとづいて前記テーブルのセルを矩形ブロックに切り分ける処理手段と,
前記テーブルを構成する矩形ブロックの列方向の並びによる横サイズが,前記表示画面の横サイズを超えない範囲となるように,前記テーブルを矩形ブロック単位で区切って配置する処理手段として,
前記コンピュータを機能させるための前記付記4記載のレイアウト機能付きブラウザプログラム。
【0113】
(付記6) マークアップ言語で記述されたデータを,表示画面サイズに適したレイアウト処理を行って表示するレイアウト処理方法であって,
表示対象のWebページの表示用解析情報から,前記Webページを表示する標準的な画面の大きさを仮想的に設定した標準画面の横サイズを取得し,
前記標準画面の横サイズと前記Webページを実際に表示する表示画面の横サイズとの比率をもとにフレーム縮小率を算出し,
前記フレーム縮小率とを用いてフレーム分割のフレームを縮小する
ことを特徴とするWebページのレイアウト処理方法。
【0114】
(付記7) マークアップ言語で記述されたデータを,表示画面サイズに適したレイアウト処理を行って表示するレイアウト処理方法であって,
表示対象のWebページの表示用解析情報から前記Webページに含まれるテーブルの横サイズを取得し,
前記テーブルの横サイズが前記Webページを実際に表示する表示画面の横サイズより大きい場合に,前記テーブルの横サイズと前記表示画面の横サイズとの比率をもとにテーブル縮小率を算出し,
前記テーブル縮小率を用いて前記テーブルを構成するセルの全てを均等に縮小する
ことを特徴とするWebページのレイアウト処理方法。
【0115】
(付記8) マークアップ言語で記述されたデータを,表示画面サイズに適したレイアウト処理を行って表示するレイアウト処理方法であって,
表示対象のWebページの表示用解析情報から前記Webページに含まれるテーブルの横サイズを取得し,
前記テーブルの横サイズが前記Webページを実際に表示する表示画面の横サイズより大きい場合に,前記テーブルの横サイズと前記表示画面の横サイズとの比率をもとにテーブル縮小率を算出し,
前記テーブル縮小率が所定の縮小限界率を超える場合に,前記Webページの表示用解析情報から前記テーブルを構成するセルの大きさを示すスパン情報を取得して,前記スパン情報にもとづいて前記テーブルのセルを矩形ブロックに切り分け,
前記テーブルを構成する矩形ブロックの列方向の並びによる横サイズが,前記表示画面の横サイズを超えない範囲となるように,前記テーブルを矩形ブロック単位で区切って配置する
ことを特徴とするWebページのレイアウト処理方法。
【符号の説明】
【0116】
1 ブラウザ装置
110 ブラウジング処理制御部
111 通信処理部
112 HTML解析処理部
113 レイアウト処理部
114 画像表示処理部
130 最適化レイアウト処理部
131 フレーム処理部
1311 フレーム縮小率算出処理部
133 テーブル処理部
1331 テーブル均等縮小処理部
1333 テーブル分割処理部
135 テキスト処理部
137 画像/フォーム部品処理部
141 フレーム縮小率記憶部
143 テーブル解析情報記憶部
145 テーブル縮小率記憶部
147 セルブロック解析情報記憶部
2 表示装置

【特許請求の範囲】
【請求項1】
コンピュータを,
マークアップ言語で記述されたデータを表示するブラウザであって,
表示対象であるWebページのマークアップ言語で記述されたデータに対する表示用解析情報から,前記Webページに含まれるテーブルの横サイズを取得し,前記テーブルの横サイズが前記Webページを実際に表示する実画面の横サイズより大きい場合に,前記テーブルの横サイズと前記実画面の横サイズとの比率をもとにテーブル縮小率を算出する処理手段と,
前記テーブル縮小率を用いて前記テーブルを構成するセルの全てを均等に縮小する処理手段として,
機能させるためのレイアウト機能付きブラウザプログラム。
【請求項2】
前記コンピュータを,
さらに,前記テーブル縮小率が所定の縮小限界率を超える場合に,前記Webページの表示用解析情報から前記テーブルを構成するセルの大きさを示すスパン情報を取得して,前記スパン情報にもとづいて前記テーブルのセルを矩形ブロックに切り分ける処理手段と,
前記テーブルを構成する矩形ブロックの列方向の並びによる横サイズが,前記表示画面の横サイズを超えない範囲となるように,前記テーブルを矩形ブロック単位で区切って配置する処理手段として
機能させるための請求項1記載のレイアウト機能付きブラウザプログラム。


【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate


【公開番号】特開2011−8797(P2011−8797A)
【公開日】平成23年1月13日(2011.1.13)
【国際特許分類】
【出願番号】特願2010−162570(P2010−162570)
【出願日】平成22年7月20日(2010.7.20)
【分割の表示】特願2005−184530(P2005−184530)の分割
【原出願日】平成17年6月24日(2005.6.24)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】